基于双端口RAM的数据Cache的研究与实现
发布时间:2020-11-18 05:39
本论文研究内容来自西北工业大学航空微电子中心所承担的某预研课题,以参与的32位嵌入式微处理器“龙腾R2”的设计工作为基础,设计并实现了基于双端口RAM的数据Cache,该Cache应用于“龙腾R2”微处理器,能够实现数据同步侦听,提高多机环境下处理器的性能;并在双端口RAM基础上,对多端口数据Cache进行研究,提出一个16端口数据Cache的实现方案。 作者的主要工作如下: 1.对“龙腾R2”微处理器体系结构和双端口RAM特性进行了分析,在此基础上,设计并实现了适应PowerPC指令集系统结构的双端口数据Cache,并应用于“龙腾R2”微处理器中,经仿真分析,其功能和PowerPC750完全兼容。 2.研究了“龙腾R2”数据Cache一致性协议,在双端口RAM基础上,实现了“龙腾R2”数据Cache的同步侦听操作,解决了“龙腾R2”微处理器在多机系统下高速缓存一致性带来的冲突问题。 3.研究了目前流行的验证技术,总结出了一套适用于“龙腾R2”特性的验证方法。构建仿真验证平台,采用直接测试和随机测试的方法完成双端口数据Cache的验证,代码覆盖率和功能覆盖率都达到了100%。 4.对双端口数据Cache进行扩展研究,设计了一个16端口数据Cache,与单端口实现的16端口数据Cache相比,数据Cache平均访问时间降低了20%左右,且硬件实现相对简单,占用芯片面积少。 本文设计的基于双端口RAM的数据Cache应用到“龙腾R2”微处理器芯片中,该芯片目前已经流片成功,并通过了实时监控程序和嵌入式操作系统VxWorks的测试,其指令集和接口时序与PowerPC750处理器完全兼容。
【学位单位】:西北工业大学
【学位级别】:硕士
【学位年份】:2007
【中图分类】:TP332
【部分图文】:
而如果保持Cache的路数一定,那么就会导致Cache的组数减少,从而容量缺失增加。图2一3所示是在文献129]中,不同cache容量情况下,缺失率和行大小之间的关系。由这个图可以明显地得出,在增大Cache行大小的过程中,首先缺失率会随着Cache行大小的增加而减少,达到一定的程度以后,如果继续增加Cache行大小,Cache的缺失率就会上升。缺失率较低的情况是在行大小为32或64处。图2一3五种不同容量Cache的缺失率和行大小的关系文献130烤旨出数据cache的行大小应该是传输数据块大小的一倍或者两倍,“龙腾咫”采用总线60x支持32字节的突发式传送
一一二二二.二二二.二二留兽粤二个地址和某一特定的数据输入输出(1/0)端口相连的。通用的SRAM阵列和它的外围电路如图2一7所示,由二维实际存储单元构成。对小型存储器,每行可存储一个数据字(对于更大的存储器一行可存多个数据字)。呼呼督黔 黔 嘟嘟嘟嘟 嘟嘟窜 窜一…赢 赢 赢协燕甲一有尸尸,,,州龚胜:一 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;臀 臀 ......比 ::::::::::二泞叮吧尸卿邓炸醉卿介介 介一…器澳 澳、、、 、、 、、爪二”,写拼鱿户 户 户 户 lllllllll叮:_护.止、 、 、 、卜卜山山提列地址译码器 器 内内部时 时 时时时时时时时时时时时时时 时电源 源钟钟 钟 钟钟钟钟钟钟钟钟钟钟钟钟钟 钟开关 关列 列 列列地址寄存器 器 器 器图2一 7SRAM结构框图一个简单的CMOS一SRAM单元由两个交叉祸合的反相器构成,两个访问晶体管和这两个反相器连接作为互补的位线,如图2一8所示。位线O位线1二GND图2一 8SRAM存储单元执行读操作时,位线(hithne)被预充电到某一值(例如VDD)
较结果的命中信号和访问类型控制数据的操作。几gRAM也是双端口的,每个端口都有一套独立的译码电路、读写电路、比较电路和命中指示电路,彼此之间功能独立,其逻辑结构如图3一6所示。来自MNIU20位月瘫获第第彝路之奢位 位位第I路辛琴位 位位第娜欢位 位衰衰巍数据 据据嘛数据 据据饭点数据 :::嚼嚼墓墓 墓通夕撰琢纽 -----顾现龚 龚 龚补渭赘……理 理 理理灌舞 舞 舞架稼器澳 澳 澳 澳判判断选选 选·癸吐断选选 择 择 择 择 择 择 图3一6命中判断逻辑命中逻辑完成的功能:1、若是Load、Store和Cache控制操作,判断是否在Cache命中,还要根据当前访问的类型、命中情况、Cache的控制标志以及当前的MEI状态产生新的MEI状态等。2、判断侦听是否命中。3.2.4存储单元的实现对于数据Cache的DataRAM部分而言,每一路是深度为128,宽度为256(32个字节)的结构。用8个256x128SRAM实现数据Cache的DataRAM,读操作需要两拍,读出后拼接成256的数据。写DataRAM时,也需要两拍完成。DataRAM的结构组成如图3一7所示。数据Cache的8路组相联结构
【引证文献】
本文编号:2888374
【学位单位】:西北工业大学
【学位级别】:硕士
【学位年份】:2007
【中图分类】:TP332
【部分图文】:
而如果保持Cache的路数一定,那么就会导致Cache的组数减少,从而容量缺失增加。图2一3所示是在文献129]中,不同cache容量情况下,缺失率和行大小之间的关系。由这个图可以明显地得出,在增大Cache行大小的过程中,首先缺失率会随着Cache行大小的增加而减少,达到一定的程度以后,如果继续增加Cache行大小,Cache的缺失率就会上升。缺失率较低的情况是在行大小为32或64处。图2一3五种不同容量Cache的缺失率和行大小的关系文献130烤旨出数据cache的行大小应该是传输数据块大小的一倍或者两倍,“龙腾咫”采用总线60x支持32字节的突发式传送
一一二二二.二二二.二二留兽粤二个地址和某一特定的数据输入输出(1/0)端口相连的。通用的SRAM阵列和它的外围电路如图2一7所示,由二维实际存储单元构成。对小型存储器,每行可存储一个数据字(对于更大的存储器一行可存多个数据字)。呼呼督黔 黔 嘟嘟嘟嘟 嘟嘟窜 窜一…赢 赢 赢协燕甲一有尸尸,,,州龚胜:一 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;臀 臀 ......比 ::::::::::二泞叮吧尸卿邓炸醉卿介介 介一…器澳 澳、、、 、、 、、爪二”,写拼鱿户 户 户 户 lllllllll叮:_护.止、 、 、 、卜卜山山提列地址译码器 器 内内部时 时 时时时时时时时时时时时时时 时电源 源钟钟 钟 钟钟钟钟钟钟钟钟钟钟钟钟钟 钟开关 关列 列 列列地址寄存器 器 器 器图2一 7SRAM结构框图一个简单的CMOS一SRAM单元由两个交叉祸合的反相器构成,两个访问晶体管和这两个反相器连接作为互补的位线,如图2一8所示。位线O位线1二GND图2一 8SRAM存储单元执行读操作时,位线(hithne)被预充电到某一值(例如VDD)
较结果的命中信号和访问类型控制数据的操作。几gRAM也是双端口的,每个端口都有一套独立的译码电路、读写电路、比较电路和命中指示电路,彼此之间功能独立,其逻辑结构如图3一6所示。来自MNIU20位月瘫获第第彝路之奢位 位位第I路辛琴位 位位第娜欢位 位衰衰巍数据 据据嘛数据 据据饭点数据 :::嚼嚼墓墓 墓通夕撰琢纽 -----顾现龚 龚 龚补渭赘……理 理 理理灌舞 舞 舞架稼器澳 澳 澳 澳判判断选选 选·癸吐断选选 择 择 择 择 择 择 图3一6命中判断逻辑命中逻辑完成的功能:1、若是Load、Store和Cache控制操作,判断是否在Cache命中,还要根据当前访问的类型、命中情况、Cache的控制标志以及当前的MEI状态产生新的MEI状态等。2、判断侦听是否命中。3.2.4存储单元的实现对于数据Cache的DataRAM部分而言,每一路是深度为128,宽度为256(32个字节)的结构。用8个256x128SRAM实现数据Cache的DataRAM,读操作需要两拍,读出后拼接成256的数据。写DataRAM时,也需要两拍完成。DataRAM的结构组成如图3一7所示。数据Cache的8路组相联结构
【引证文献】
相关硕士学位论文 前2条
1 游夏;嵌入式多机交叉调试器的设计与实现[D];复旦大学;2008年
2 胡涛;面向存储器完整性验证的Cache设计[D];华中科技大学;2011年
本文编号:2888374
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2888374.html