77范文网 - 专业文章范例文档资料分享平台

Cache控制器、简单模型机设计实验(2)

来源:网络收集 时间:2018-11-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

利用软件环境里的简单模型机数据通路图。操作实验箱,观测指令的执行过程,并观测软件中地址总线、数据总线以及微指令显示和下位机是否一致。

2、实验二

(1)实验原理

本实验采用的是直接方式,这种变换方式简单而直接,硬件实现很简单,访问速度也比较快,但是块的冲突率比较高。其主要原则是:主存中一块只能映象到Cache的一个特定的块中。 假设主存的块号为B,Cache的块号为b,则它们之间的映象关系可以表示为:b = B mod Cb其中,Cb是Cache的块容量。设主存的块容量为Mb,区容量为Me,则直接映象方法的关系如图3.19所示。把主存按Cache的大小分成区,一般主存容量为Cache容量的整数倍,主存每一个分区内的块数与Cache的总块数相等。直接映象方式只能把主存各个区中相对块号相同的那些块映象到Cache中同一块号的那个特定块中。例如,主存的块0只能映象到Cache 的块0中,主存的块1只能映象到Cache的块1中,同样,主存区1中的块Cb(在区1中的相对块号是0)也只能映象到Cache 的块0中。根据上面给出的地址映象规则,整个Cache 地址与主存地址的低位部分是完全相同的。

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

在程序执行过程中,当要访问Cache 时,为了实现主存块号到Cache 块号的变换,需要有一个存放主存区号的小容量存储器,这个存储器的容量与Cache 的块数相等,字长为主存地址中区号E 的长度,另外再加一个有效位。

在主存地址到Cache 地址的变换过程中,首先用主存地址中的块号去访问区号存储(按地址访问)。把读出来的区号与主存地址中的区号E 进行比较,根据比较结果和与区号在同一存储字中的有效位情况作出处理。如果区号比较结果相等,有效位为‘1’,则Cache 命中,表示要访问的那一块已经装入到Cache 中了,这时Cache 地址(与主存地址的低位部分完全相同)是正确的。用这个Cache 地址去访问Cache,把读出来的数据送往CPU。其他情况均为Cache 没有命中,或称为Cache 失效,表示要访问的那个块还没有装入到Cache 中,这时,要用主存地址去访问主存储器,把读出来的一个字送往CPU,同时,把包括被访问字在内的一块都从主存储器中读出来,送往Cache 的相应块。Cache 和CPU 以及存储器的连接如图3.21 所示,本实验要在FPGA 中实现Cache 及其地址变换逻辑(也叫Cache 控制器),采用直接相联地址变换,只考虑CPU 从Cache 读数据,不考虑CPU 写回数据的情况。

Cache 控制器顶层模块如图3.22 所示,主存地址为A7?A0,共8 位,区号E 取3 位,这样Cache 地址还剩5 位,所以Cache 容量为32 个单元,块号B 取3 位,那么Cache 分为8块,块内地址W 取2 位,则每块为4 个单元。图3.22 中,WCT 为写Cache 块表信号,CLR为系统总清零信号,A7?A0 为CPU 访问内存的地址,M 为Cache 失效信号,CA4?CA0 为Cache地址,MD7?MD0 为主存送Cache 的数据,D7?D0 为Cache 送CPU 数据,T2 为系统时钟,RD 为CPU 访问内存读信号,LA1 和LA0 为块内地址。

(2)主要步骤

①利用Quartus II软件完成对Cache控制器的设计,并且将其编译运行仿真。 ②连接实验箱,并完成实验连线。

③将编译仿真成功的文件,下载到实验箱内,测试运行,并观察实验现象。

四:实验结果与分析

1、实验一

(1)停机指令文件

; //*************************************// ; // // ; // CPU与简单模型机实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //*************************************//

; //***** Start Of Main Memory Data *****//

$P 00 20 ; START: IN R0 从IN单元读入数据送R0 $P 01 00 ; ADD R0,R0 R0和自身相加,结果送R0 $P 02 30 ; OUT R0 R0的值送OUT单元显示 $P 03 E0 ; JMP START 跳转至00H地址 $P 04 05 ;

$P 05 50 ; HLT 停机

; //***** End Of Main Memory Data *****//

; //** Start Of MicroController Data **//

$M 00 000001 ; NOP

$M 01 006D43 ; PC->AR,PC加1 $M 03 107070 ; MEM->IR, P<1> $M 04 002405 ; R0->B

$M 05 04B201 ; A加B->R0 $M 1D 105141 ; MEM->PC $M 30 001404 ; R0->A $M 32 183001 ; IN->R0 $M 33 280401 ; R0->OUT $M 35 000035 ; NOP

$M 3C 006D5D ; PC->AR,PC加1

; //** End Of MicroController Data **//

(2)CM3+环境显示

2、实验二

(1)Cache控制器设计原理图及其仿真波形

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Cache控制器、简单模型机设计实验(2)在线全文阅读。

Cache控制器、简单模型机设计实验(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/300726.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: