- 博客(8)
- 收藏
- 关注
原创 计算机系统实验:Cache模拟器
可开发:牺牲Cache和L2统一Cache的实现(本人有试过多级Cache的实现,但引入脏位的替换实在是太复杂了,比如L1 Miss并且L2 Hit的情况下,你得先去让L1被替换的缓存行加载到L2,如果加载到L2上对应的缓存行也是脏位的话,你还得让L2这一段缓存行加载到主存,然后再进行L1到L2的缓存行替换;参考设计给出了一个直接映射的Data Cache实现,你可以首先尝试写一个全相联的Data Cache实现,然后开始实现一个组相联的Data Cache。2、1MB的L2统一Cache。
2025-04-23 08:53:32
330
2
原创 计算机系统实验:Y86-64指令模拟器
这里本程序处理的.COE文件默认第一行指令为最先执行的指令,所存储的地址为0x0,然后每一行只包含一条指令的机器码;1)利用多周期与流水线去实现(这个本人实在想不到怎么做,因为多周期和流水线部分模块会涉及同步执行,但python、C、C++都是异步执行的程序语言,所以想不到模拟同步执行的方法,qwq);1)大多数的博客上一个内存单元存储的是一整个指令机器码(1-10个字节)或者一个数据(8个字节),但本人这里模拟的是真实内存,每个内存数组存储的只有一个字节大小的数据;2)能够解释执行Y86-64指令。
2025-03-13 21:56:40
1058
4
原创 计算机系统实验:缓冲区炸弹
缓冲区是计算机内存中的一块临时存储区域,用于存放数据。它通常用于在程序的不同部分之间传递数据,或者用于临时存储从输入设备(如键盘、文件或网络)读取的数据。
2025-03-09 18:15:57
1081
4
原创 计算机系统实验:二进制炸弹
本人对网络安全这一方面比较感兴趣吧,正好最近布置的实验二进制炸弹和网安中的逆向工程比较有关系。在老师讲这方面的基础知识前,自己算是用了两天半,一边学习一边零基础解决了这个二进制炸弹。因为是小白,所以自己想用比较浅显不太专业的术语来分享自己解决这个二进制炸弹的过程吧,也顺便给其他快要或者想接触的小白分享下自己觉得比较有用的东西吧。
2025-02-25 19:07:15
1676
18
原创 数字逻辑实验:Vivado设计多周期RISC-V处理器
endendcasecase(sel)endendendendendendcaseendmoduledisplay_top.sv:跑板子所需的顶层模块//生成0.005s周期的时钟count<=0;endendend。
2025-02-24 20:52:14
524
2
原创 数字逻辑实验:Vivado设计单周期RISC-V处理器
(3)板子只会显示最后的计算结果,可以创新让板子显示出每一次迭代后求和的计算结果(在本人下一个“多周期RISC-V处理器实现”中有实现这个效果)(2)跑板子时将跑仿真图所需的两个模块(top.sv与testbench.sv)disable掉,跑仿真图时同理;(4)记得文件路径不要带中文,否则跑不了板子!(本人因为这个耗了一晚上时间捏)PS:(1)注意跑板子与跑仿真图之间切换时,imem.sv中的测试指令集机器码也要切换;以上是所必需的基本模块,下面的模块分别用于跑板子和跑simulation。
2025-02-24 20:00:20
287
原创 数字逻辑实验:利用python实现RISC-V汇编器
PS:因为RISC-V属于是当时课上的拓展模块,关于它的汇编器我们也只能自己找资料去了解它的汇编原理。和很多同学一起商讨,改了很多版,最后确定了这最后一版。附上对应的用于测试的RISC-V测试程序。
2025-02-24 13:18:46
195
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人