北科大计组原理实验报告简单模型机及Cache控制器.docx
- 文档编号:13526825
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:14
- 大小:690.23KB
北科大计组原理实验报告简单模型机及Cache控制器.docx
《北科大计组原理实验报告简单模型机及Cache控制器.docx》由会员分享,可在线阅读,更多相关《北科大计组原理实验报告简单模型机及Cache控制器.docx(14页珍藏版)》请在冰点文库上搜索。
北科大计组原理实验报告简单模型机及Cache控制器
北京科技大学计算机与通信工程学院
实验报告
实验名称:
简单模型机与Cache控制器
学生姓名:
专业:
计算机科学与技术
班级:
学号:
指导教师:
实验成绩:
实验地点:
机电楼301
实验时间:
2015年6月10日
一、实验目的与实验要求
1、实验目的
(1)掌握一个简单CPU的组成原理。
(2)在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。
(3)为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。
(4)掌握Cache控制器的原理及其设计方法。
(5)熟悉FPGA应用设计及EDA软件的使用。
(6)熟悉QuartusII软件的使用及FPGA应用设计。
2、实验要求
(1)验证性实验:
简单模型机设计实验
(2)掌握cache控制器的原理和方法
二、实验设备(环境)及要求
实验箱,Window8,QuartusⅡ软件
三、实验内容与步骤
1、实验1
(1)实验原理
本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。
CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图3.32所示。
这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
本模型机共有五条指令:
IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下表3.12所示(高4位为操作码):
其中,JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。
微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。
(2)实验步骤
CPU采用微程序控制器作为控制器构建的简单模型机实验步骤如下:
①写入实验程序,并进行校验,分两种方式,手动写入和联机写入。
(以下为联机写入)
联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但微程序和机器程序得以指定的格式写入到以TXT为后缀的文件中,微程序和机器程序的格式如下:
;//*****StartOfMainMemoryData*****//
$P0020;START:
INR0从IN单元读入数据送R0
$P0100;ADDR0,R0R0和自身相加,结果送R0
$P0230;OUTR0R0的值送OUT单元显示
$P03E0;JMPSTART跳转至00H地址
$P0400;
$P0550;HLT停机
;//*****EndOfMainMemoryData*****//
;//**StartOfMicroControllerData**//
$M00000001;NOP
$M01006D43;PC->AR,PC加1
$M03107070;MEM->IR,P<1>
$M04002405;R0->B
$M0504B201;A加B->R0
$M1D105141;MEM->PC
$M30001404;R0->A
$M32183001;IN->R0
$M33280401;R0->OUT
$M35000035;NOP
$M3C006D5D;PC->AR,PC加1
;//**EndOfMicroControllerData**//
(如果要让程序不循坏,要把$P0400;改成$P0405;)
选择联机软件的“转储”->“装载”功能将该格式(*.TXT)文件装载入实验系统。
选择联机软件的“转储”->“刷新指令区”可以读出下位机所有的机器指令和微指令,并在指令去显示。
根据对实验原理的描述给出实验接线图。
②运行微程序
运行时也分两种情况:
本机运行和联机运行。
(以下为联机运行)
将MC单元的编程开关置为“运行”档,MEM单元的编程开关也置为“运行”档,进入软件界面,选择菜单命令“实验”->“简单模型机”,打开简单模型机数据通路图。
按动CON单元的总清零CLR,然后通过软件运行程序,选择相应的功能命令,即可联机运行、监控、调试程序,当模型机执行完JMP指令后,检查OUT单元显示的数是否为IN单元值的2倍。
2、实验2
(1)实验原理
Cache是介于CPU和主存之间的小容量存储器,包括管理在内的全部功能由硬件实现,对程序员是透明的,在一定程度上解决了CPU和主存之间的速度差异。
与主存容量相比,Cache的容量很小,它保存的内容只是内存内容的一个子集,且Cache与主存的数据交互以块为单位。
把主存中的块放到Cache中时必须把主存地址映射到Cache中,即确定位置的对应关系,并采用硬件实现,以便CPU给出的访存地址能够自动变换成Cache地址。
由于程序访问的局部性,使得主存的平均读出时间接近Cache的读出时间,大大提高了CPU的访存效率。
地址映射方式有全相联方式、直接相联方式、组相联方式,本实验采用的是直接方式,这种变换方式简单而直接,硬件实现很简单,访问速度也比较快,但是块的冲突率比较高。
其主要原则是:
主存中一块只能映象到Cache的一个特定的块中。
假设主存的块号为B,Cache的块号为b,则它们之间的映象关系可以表示为:
b=BmodCb其中,Cb是Cache的块容量。
设主存的块容量为Mb,区容量为Me,则直接映象方法的关系如图3.19所示。
把主存按Cache的大小分成区,一般主存容量为Cache容量的整数倍,主存每一个分区内的块数与Cache的总块数相等。
直接映象方式只能把主存各个区中相对块号相同的那些块映象到Cache中同一块号的那个特定块中。
例如,主存的块0只能映象到Cache的块0中,主存的块1只能映象到Cache的块1中,同样,主存区1中的块Cb(在区1中的相对块号是0)也只能映象到Cache的块0中。
根据上面给出的地址映象规则,整个Cache地址与主存地址的低位部分是完全相同的。
直接映象方式的地址变换过程如图3.20所示,主存地址中的块号B与Cache地址中的块号b是完全相同的。
同样,主存地址中的块内地址W与Cache地址中的块内地址w也是完全相同的,主存地址比Cache地址长出来的部分称为区号E。
Cache和CPU以及存储器的连接如图3.21所示,本实验要在FPGA中实现Cache及其地址变换逻辑(也叫Cache控制器),采用直接相联地址变换,只考虑CPU从Cache读数据,不考虑CPU写回数据的情况。
(2)实验步骤
;//**************************************//
;////
;//Cache控制器实验指令文件//
;////
;//ByTangDuCO.,LTD//
;////
;//**************************************//
;//*****StartOfMainMemoryData******//
$P0011;数据
$P0122
$P0233
$P0344
$P0455
$P0566
$P0677
$P0788
$P0899
$P09AA
$P0ABB
$P0BCC
$P0CDD
$P0DEE
$P0EFF
$P0F00
;//******EndOfMainMemoryData*******//
①用联机软件的“转储”->“装载”功能将该格式(*.TXT)文件装载入实验系统。
装入过程中,在软件的输出区的“结果”栏会显示装载信息,如当前正在装载的是机器指令还是微指令,还剩多少条指令等。
②联机软件在启动时会读取所有机器指令和微指令,在指令区显示,软件启动后,也可以选择菜单命令“转储”->“刷新指令区”读取下位机指令,并在指令区显示。
点击指令区的‘主存’TAB按钮,两列数据中显示了主存的所有数据,第一列为主存地址,第二列为该地址中的数据。
对上面文件检查机器程序是否正确,如果不正确,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的指令,单击需修改单元的数据,此时该单元变为编辑框,输入2位数据并回车,编辑框消失,写入数据以红色显示。
③CPU访问主存地址由CON单元的SD17…SD10模拟给出,如00000001。
CPU访问主存的读信号由CON单元的K7模拟给出,置K7为低,可以观察到FPGA单元上的L8指示灯亮,L0…L7指示灯灭,表示Cache失效。
此时按动KK+按钮四次,注意数据总线和地址总线上的指示灯的变化情况,地址会依次加一,数据总线上显示的是当前主存数据,按动四次KK+按钮后,L8指示灯变灭,L0…L7上显示的值即为Cache送往CPU的数据。
④重新给出主存访问地址,如00000011,L8指示灯变灭,表示Cache命中,说明第0块数据已写入Cache。
⑤记住01H单元的数据,然后通过联机软件,修改01H单元的数据,重新给出主存访问地址00000001,再次观察L0-L7指示灯表示的值是01H单元修改前的值,说明送往CPU的数据是由Cache给出的。
⑥重新给出大于03H地址,体会Cache控制器的工作过程。
四:
实验结果与分析
1、实验1
连接的实验线路:
IN指令:
ADD指令:
OUT指令:
停机指令:
2、实验2
五:
结论(讨论)
1、实验结论
(1)基本掌握了一个简单CPU的组成原理。
(2)基本掌握leCache控制器的原理及其设计方法。
(3)熟悉了FPGA应用设计及EDA软件的使用。
(4)熟悉了QuartusII软件的使用及FPGA应用设计。
2、讨论
几次实验下来,我对计算机组成原理这门课有了更深的了解。
希望以后有更多的机会接触这类实验。
六、教师评审
教师评语
实验成绩
签名:
日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大计 原理 实验 报告 简单 模型 Cache 控制器