华中科技大学-Cache直接相联映射

实验目的:

1. 通过实验掌握下列知识:
2. 掌握cache实现的三个关键技术:数据查找,地址映射,替换算法
3. 熟悉译码器,多路选择器,编码器,寄存器的使用
4. 在Logisim平台中实现cache直接相联映射机制

设计思路:

Cache实验中提供了一个自动测试框架,如图所示,需要你实现绿色的cache子电路,注意为了简化实验,这里cache是一个只读的cache,类似CPU中的指令cache,不需要处理一致性问题和写入逻辑,cache一个数据块是四个字节。这个测试电路可以对实现的cache模块进行自动测试,判断正确性,并给出最终的命中率,右边那么这个是块交换逻辑,负责cache与二级存储器之间的数据交换 ,数据交换是以块为单位二级存储器以字节为单位进行访问,由于二级存储器相比cache慢很多,所以块交换逻辑要多次访问二级存储器得到一个数据块传递给cache,数据块通过BlkDin这根数据线传输给cache,准备好一个数据块需要若干个时钟周期这和实际cache类似。
你不需要过多的关心块交换内部的逻辑实现,只需要了解cache模块在发生缺失的时候,也就是这个Miss输出信号为1时候块交换逻辑开始进行工作,经过若干个时钟以后会将数据块通过blkin传送给cache,同时将blkready信号置1,表示块数据就绪,这是块数据准备好的应答信号。cache接收到这个BlkReady的信号以后,就可以将整块的数据从BlkDin写入到对应的cache行中,当写入完成后,由于数据变成命中,自然Miss信号会消失左侧模块主要是一个时钟计数器,依次从trace存储器中取出不同访问地址,访问数据。这个地址送到cache后,cache应该判断命中或缺失,并给出缺失信号。如果命中,相关数据可以立即输出到Dataout端,系统会自动累加计算校验和,这是cache访问只需要一个时钟周期,。如果缺失Miss信号为高电平,二级存储器开始漫长的访问数据块的操作,整个操作需要多个时钟周期,而计数器会停止工作等待数据命中,具体实现逻辑在这里,控制计数器的使能端,另外这里还有一个running信号,是由这边比较器产生的,控制内存访问次数,这里计数器停止工作等待命中和CPU在缺失时不能工作一样,当数据块ok后讲blkready置1,cache模块在时钟到来时讲数据写入合适 的cache行中,写入后cache命中。 我们可以利用ctrl+k驱动时钟自动运行,系统会进行自动测试,最终cache的命中率会显示在这里
在这里插入图片描述

具体逻辑实现:

假设cache有8行,每个数据块包括四个字,cache行中的查找信息包括valid和主存块地址标记字段主存地址,可细分为标记字段tag和行索引字段index和字偏移地址offset3部分,其中标记字段tag就是区地址首先需要实现数据查找的功能,对于直接相联映射,由于一个主存块只能对应到cache中的特定行,所以查找算法比较简单,我们只需要到指定cache行中查看valid和标记位即可知道数据是否命中从硬件逻辑的角度,只需要将行索引字段index送入到一个行索引译码器,得到8个行译码输出L0-L7
,其中输出为高电平的那一行就是指定的cache行,利用8个行译码输出信号控制8个三态门将所有行的有效位和标记字段输出到比较器,根据译码器的定义,只有当前主存地址对应的那一行的数据才会输出,将valid位和1进行比较,将tag位和主存地址中的tag进行比较,如果相等表示命中,否则表示缺失,对于直接相连映射的查找逻辑,这里只需要一个行译码器和一个比较器。
另外还可以用这8路译码信号控制cache块数据的输出,将所有cache行的数据块都通过三态门输出到数据总线slotdata上,三态门的控制端就是这8个译码信号,命中时,命中行的数据会输出到slotdata,具体选择数据块中的哪一个字由主存地址中的offset字段进行选择,这里可以利用一个多路选择器进行选择,注意命中信号直接连接多路选择器的使能端,缺失时输出高阻态。
最后再来看看整个cache的读取流程,给出一个主存地址,经过行索引译码器,假设L1译码输出,则第一行的数据,L0位高电平,第零行命中,L0控制对应的三态门将第零行的块数据输出到SlotData,再利用主存地址中的字偏移地址2选择当前块中的第2个字输出,就完成了cache的读操作。Cache读命中时间最短,现代cpu中取指令取操作数都是从cache得到,通常在一个时钟周期内完成,所以cache性能直接决定了cpu性能。
在这里插入图片描述在这里插入图片描述

思考与体会:

本次实验认识和掌握Cache直接相连的原理及其设计方法以及掌握Cache控制器的实现方法,代码实现方法。
对于cache的理解更加深入,工作的机制和原理比较清晰。
其中遇到了比较多的问题,逐一上网查询解决办法,并逐个进行尝试,并最终得到了解决,对于个人的信心有极大的提高。最后总的来说比较完整的完成实验。

具体资源字啊这里:

https://download.csdn.net/download/qq_46037206/87340347
  • 30
    点赞
  • 223
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Master乔治

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值