摘要: 我开P6是过P5了吗?笑死,P5又挂了,还是经典的blezalc指令,天知道原来我是不会写的,前近一个月每次branch类指令全都加错,而且是错得离谱。但都把重心放在课下debug上了,自以为不就是branch+jal嘛没什么大不了;考前自己练习加到一半就停了,没想到真考到发现还得拓展传递一条信号并 阅读全文
posted @ 2021-12-15 22:35 Elucidator_xrb 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 连续摸了4天鱼。有bug但过了enhanced的流水线是看也没再看过。虽说被禁考一周错因在我,但确实有被背刺的感觉很难受。 25号周四那天可以说是心情不好直接摆烂,但后面三天只能说是堤溃后欲罢不能地持续摸鱼了。高中那种边放纵边焦虑的破败感觉又回来了。曾经尝试放大学科的森然恢弘与未来可期刺激自己,不过 阅读全文
posted @ 2021-11-28 23:32 Elucidator_xrb 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 课下 Thinking_Log 1.为何不允许直接转发功能部件的输出 直接转发会使一些组合逻辑部件增加新的长短不一的操作延迟,不利于计算设置流水线是时钟频率(保证流水线吞吐量?)。 2.jal中将NPC+4/8存入$ra的操作为何需流过全级 不要因为beq指令提前得到结果完成跳转的事情乱了方寸。ja 阅读全文
posted @ 2021-11-20 00:10 Elucidator_xrb 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 自动化流程思路 1.C++/Python:生成大量包含指定指令的mips程序(A.asm) 2.命令行:导出该mips程序指令的机器码(A.txt) 3.魔改MARS:产生测试所需的IM、DM存入信息 4.命令行:导出该mips程序在魔改MARS运行产生的测试所需信息(B.txt) 5.Verilo 阅读全文
posted @ 2021-11-15 23:30 Elucidator_xrb 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 课下 Bug_Log 1.模块实例化的信号需先定义,且记得定义完备 其实testbench见过多次了,自己写的时候还想不清。 若实例化模块时使用的信号,若事先无声明,则会自动生成1bit此名称信号,自然在多位信号传输中便出错了。使用单位信号的模块到可以省略实现声明。 !由于mips.v的clk和re 阅读全文
posted @ 2021-11-14 23:33 Elucidator_xrb 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 最近在想,我究竟能从计组课程中学到什么。依葫芦画瓢地搭一个CPU不难,但稍微设想一下从无到有设计指令,构建数据通路控制器,再到优化为多周期、流水线,在权衡中各模块互相调节...整个过程复杂困难曲折到令人咋舌。(就比如流水线CPU的构想,要是我来设计,遇到数据冒险的问题后,估计直接放弃方案了) 搭建之 阅读全文
posted @ 2021-11-12 22:34 Elucidator_xrb 阅读(1235) 评论(0) 推荐(0) 编辑
摘要: 课上 T1 在n位数中删除N个数使剩下的(n-N)位数最大 写得似乎过于谨慎而慢了,没出现寄存器打错的问题,一遍过了 T2 拆分数字 将输入整数N拆分为几个数相加的形式,按拆分项数降序排列,每项按数字大小升序排列(giao记不清了) 输入 5 输出 1+1+1+1+1 1+1+1+2 1+1+3 1 阅读全文
posted @ 2021-11-04 12:55 Elucidator_xrb 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 很直接的dfs。递归+栈——不知道以后会不会生疏 进入一次dfs,相当于走一步,入栈;结束一次dfs,相当于这一步考虑结束,出栈 笑死,y1竟然是一个函数 突然发现写的有点槽,可以把dfs形式化为“走一格”,map的填充可以放在dfs的首尾,而不用在每个if里写一遍。有空再改一下。 题目描述 输入一 阅读全文
posted @ 2021-11-02 00:33 Elucidator_xrb 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 递归 递归直接翻译自我们自己书写全排列时的思路。 \(A_{n}^{n}\) 即为从第1位起到第n位中,每一位均按升序将排列内容遍历。 \[ \begin{align*} A_{n}^{n} & = n \cdot A_{n-1}^{n-1} \\ & = n \cdot (n-1) A_{n-2} 阅读全文
posted @ 2021-10-31 14:28 Elucidator_xrb 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 1..word使用 .word 0:63 并非划出了64个 4Byte 地址,而是63个,可从编译后Label窗口中查看 2.syscall读取字符 li $v0, 12 syscall 此时\n也会被读入,需考虑类似C中%c的处理手法。 输入时连续输入内容不加回车,或者每次读取调用两次syscal 阅读全文
posted @ 2021-10-30 20:21 Elucidator_xrb 阅读(34) 评论(0) 推荐(0) 编辑