摘要: 1.局部性与命中率 对于cache而言,其本质就是在高速寄存器与低速DRAM之间寻找一个平衡,拥有较大的存储空间与较快的速度,一般利用SRAM实现。为了实现高速的目的,我们希望cache中存储的数据可以包括一切cpu中需要用到的数据,从而避免重新回到DRAM导入数据,但cache的存储空间毕竟较小无 阅读全文
posted @ 2020-04-08 11:25 霍比特人长不高 阅读(1275) 评论(0) 推荐(0)
摘要: 经过前两篇文章的介绍,我们已经完成了对所有模块的设计,这里给出top文件 `timescale 1ns / 1ps module MIPSCpu( input clk, rst_n, input [31:0] ext_data,ext_data_addr, input ext_data_en, in 阅读全文
posted @ 2020-02-08 21:42 霍比特人长不高 阅读(383) 评论(0) 推荐(0)
摘要: 在本次设计的流水线中,存在一些冲突会使得电路不会向着我们希望的步骤运行。这些冲突分为两种:数据冲突和结构冲突。 1.数据冲突 我把数据冲突分为三个小类,存储单元的读写冲突、普通RAW(Read After Write)冲突、需要暂停流水线的RAW冲突。 1.1 对于其中第一小类冲突,可以不通过额外的 阅读全文
posted @ 2020-02-08 21:20 霍比特人长不高 阅读(1432) 评论(0) 推荐(0)
摘要: 在MICAS的这段时间,我深刻体会到了Linux系统与写脚本做仿真、做综合、做分析的重要性,对于一个硬件开发者而言,学会Linux系统的操作也是以编写脚本、运行脚本为目的的。这篇随笔我会记录一些最基本的Linux命令,以及四种脚本的使用方法以及一些实例。 想系统学习可以上这个网:https://ww 阅读全文
posted @ 2019-12-14 23:18 霍比特人长不高 阅读(846) 评论(0) 推荐(0)
摘要: ARM MIPS 安全性总览 基于trust zone构建,区分为一个安全世界与一个正常世界,正常世界不可以访问安全世界的存储空间等部件,正常世界信任安全世界,安全世界中的指令互相信任。 基于虚拟化CPU的硬件,允许存在多个域,并且每个域都是独立被保护的,互相不信任其他域中的软件或是数据,MIPS- 阅读全文
posted @ 2019-10-13 23:54 霍比特人长不高 阅读(3036) 评论(0) 推荐(0)
摘要: 此前在UCSB交换旁听了那边的ECE154b,课设是写MIPS+cache+branch prediction,个人感觉很有意思。现在就按照教授给的project guideline自己动手走一遍流程(见https://www.ece.ucsb.edu/~strukov/ece154bSpring2 阅读全文
posted @ 2019-10-11 01:00 霍比特人长不高 阅读(2792) 评论(0) 推荐(0)