计组实验Cache控制器设计

本文介绍了一个计组实验,旨在理解和实现Cache控制器,特别是直接相联地址变换方法。实验要求学生设计并实现Cache,包括读取和写入操作,以及处理Cache命中和未命中的情况。实验设备包括电脑和Xilinx ISE软件。通过Cache,可以提高CPU访问数据的效率,减少对内存的直接访问。
摘要由CSDN通过智能技术生成

一、实验目的

1. 认识和掌握Cache控制器的原理及其设计方法;

2. 掌握Cache控制器的实现方法,代码实现方法。

 

二、 实验内容

本实验要求采用直接相联地址变换,实现Cache(数据Cache)及其地址变换逻辑(也叫Cache控制器)。CPU从Cache读数据,读到就送CPU,若读不到,还必须考虑先从主存中读取数据,然后再将数据写到Cache中,之后,将数据送往CPU;其次,还要考虑CPU修改Cache和存储器数据的情况。

说明:CLK为系统时钟(用于计数器计数控制等操作),CLR为系统总清零信号(清区表存储器、计数器),WCT为写Cache区表存储器信号,AB31..AB0为CPU访问内存的地址(地址总线),RD(为0,读)为Cache的读信号,CMWr(为1,写)为Cache和主存的写信号,MRd(为0,读)为主存的读信号,CA17..CA0为Cache地址,MD31..MD0为主存与Cache的数据传送线,D31..D0为Cache和CPU的数据传送线,LA3...LA0为块内地址。

 

三、 实验原理

    本实验采用的地址变换是直接相联映象方式,这种变换方式简单而直接,硬件实现很简单,访问速度也比较快,但是块的冲突率比较高。其主要原则是:主存中一块只能映象到Cache的一个特定的块中。

假设主存的块号为B,Cache的块号为b,则它们之间的映象关系可以表示为:

b = B mod Cb

其中,Cb是Cache的块容量。设主存的块容量为Mb,区容量为Me,则直接映象方法的关系如图1所示。把主存按Cache的大小分成区,一般主存容量为Cache容量的整数倍,主存每一个分区内的块数与Cache的总块数相等。直接映象方式只能把主存各个区中相对块号相同的那些块映象到Cache中同一块号的那个特定块中。例如,主存的块0只能映象到Cache的块0中,主存的块1只能映象到Cache的块1中,同样,主存区1中的块Cb(在区1中的相对块号是0),也只能映象到Cache的块0中,看图1。根据上面给出的地址映象规则,整个Cache地址与主存地址的低位部分是完全相同的。

     

        

           直接映象方式的地址变换过程如图2 所示,主存地址分为三个部分:区号E、块号B和块内地址W;Cache地址分为两部分:块号b和块内地址w。主存地址中的块号B与Cache地址中的块号b是完全相同的。同样,主存地址中的块内地址W与Cache地址中的块内地址w也是完全相同的,主存地址比Cache地址长出来的部分称为区号E。

 

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值