北科大计组原理实验报告_简单模型机及cache控制器

上传人:第*** 文档编号:61718743 上传时间:2018-12-10 格式:DOC 页数:15 大小:945.50KB
返回 下载 相关 举报
北科大计组原理实验报告_简单模型机及cache控制器_第1页
第1页 / 共15页
北科大计组原理实验报告_简单模型机及cache控制器_第2页
第2页 / 共15页
北科大计组原理实验报告_简单模型机及cache控制器_第3页
第3页 / 共15页
北科大计组原理实验报告_简单模型机及cache控制器_第4页
第4页 / 共15页
北科大计组原理实验报告_简单模型机及cache控制器_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《北科大计组原理实验报告_简单模型机及cache控制器》由会员分享,可在线阅读,更多相关《北科大计组原理实验报告_简单模型机及cache控制器(15页珍藏版)》请在金锄头文库上搜索。

1、北京科技大学 计算机与通信工程学院实 验 报 告实验名称: 简单模型机与Cache控制器 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 实验成绩: 实验地点: 机电楼301 实验时间: 2015 年 6 月 10 日一、实验目的与实验要求1、实验目的(1)掌握一个简单CPU 的组成原理。(2)在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。 (3)为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。(4)掌握Cache 控制器的原理及其设计方法。 (5)熟悉FPGA应用设计及EDA 软件的使用。 (6)熟悉QuartusII软件的使用及FPG

2、A应用设计。 2、 实验要求(1) 验证性实验:简单模型机设计实验(2) 掌握cache控制器的原理和方法二、实验设备(环境)及要求实验箱,Window 8,Quartus软件三、实验内容与步骤1、实验1(1)实验原理 本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图3.32所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该

3、CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。 本模型机共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下表3.12所示(高4位为操作码): 其中,JMP为双字节指令,其余均为单字节指令,*为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。(2)实验步骤CPU采用微程序控制器作为控制器构建的简单模型机实验步骤如下:写入实验程序,并进行校验,分两种方式,手动写入和联机写入。(以下为联机写入)联机软件提供了微程序和机器程序下载功能,以代替手

4、动读写微程序和机器程序,但微程序和机器程序得以指定的格式写入到以TXT为后缀的文件中,微程序和机器程序的格式如下:; /* 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 00 ; $P 05 50 ; HLT 停机; /* End Of Main Memory Data */; /* Start Of Mic

5、roController Data */ $M 00 000001 ; NOP $M 01 006D43 ; PC-AR,PC加1 $M 03 107070 ; MEM-IR, P $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 */ (如

6、果要让程序不循坏,要把$P 04 00 ; 改成$P 04 05 ; )选择联机软件的“转储”-“装载”功能将该格式(*.TXT)文件装载入实验系统。选择联机软件的“转储”-“刷新指令区”可以读出下位机所有的机器指令和微指令,并在指令去显示。 根据对实验原理的描述给出实验接线图。运行微程序运行时也分两种情况:本机运行和联机运行。(以下为联机运行)将MC单元的编程开关置为“运行”档,MEM单元的编程开关也置为“运行”档,进入软件界面,选择菜单命令“实验”-“简单模型机”,打开简单模型机数据通路图。按动CON单元的总清零CLR,然后通过软件运行程序,选择相应的功能命令,即可联机运行、监控、调试程序

7、,当模型机执行完JMP指令后,检查OUT单元显示的数是否为IN单元值的2倍。2、 实验2(1)实验原理Cache是介于CPU和主存之间的小容量存储器,包括管理在内的全部功能由硬件实现,对程序员是透明的,在一定程度上解决了CPU和主存之间的速度差异。与主存容量相比,Cache的容量很小,它保存的内容只是内存内容的一个子集,且Cache与主存的数据交互以块为单位。把主存中的块放到Cache中时必须把主存地址映射到Cache中,即确定位置的对应关系,并采用硬件实现,以便CPU给出的访存地址能够自动变换成Cache地址。由于程序访问的局部性,使得主存的平均读出时间接近Cache的读出时间,大大提高了C

8、PU的访存效率。地址映射方式有全相联方式、直接相联方式、组相联方式,本实验采用的是直接方式,这种变换方式简单而直接,硬件实现很简单,访问速度也比较快,但是块的冲突率比较高。其主要原则是:主存中一块只能映象到Cache的一个特定的块中。 假设主存的块号为B,Cache的块号为b,则它们之间的映象关系可以表示为:b = B mod Cb其中,Cb是Cache的块容量。设主存的块容量为Mb,区容量为Me,则直接映象方法的关系如图3.19所示。把主存按Cache的大小分成区,一般主存容量为Cache容量的整数倍,主存每一个分区内的块数与Cache的总块数相等。直接映象方式只能把主存各个区中相对块号相同

9、的那些块映象到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 所

10、示,本实验要在FPGA 中实现Cache 及其地址变换逻辑(也叫Cache 控制器),采用直接相联地址变换,只考虑CPU 从Cache 读数据, 不考虑CPU 写回数据的情况。(2) 实验步骤; /* / ; / /; / Cache 控制器实验指令文件 / ; / /; / By TangDu CO.,LTD / ; / / ; /* / ; /* Start Of Main Memory Data * / $P 00 11 ; 数据 $P 01 22 $P 02 33 $P 03 44 $P 04 55 $P 05 66 $P 06 77 $P 07 88 $P 08 99 $P 09 A

11、A $P 0A BB $P 0B CC $P 0C DD $P 0D EE $P 0E FF $P 0F 00 ; /* End Of Main Memory Data * / 用联机软件的“转储”-“装载”功能将该格式(*.TXT)文件装载入实验系统。装入过程中,在软件的输出区的“结果”栏会显示装载信息,如当前正在装载的是机器指令还是微指令,还剩多少条指令等。 联机软件在启动时会读取所有机器指令和微指令,在指令区显示,软件启动后,也可以选择菜单命令“转储”-“刷新指令区”读取下位机指令,并在指令区显示。点击指令区的主存TAB 按钮,两列数据中显示了主存的所有数据,第一列为主存地址,第二列为该

12、地址中的数据。对上面文件检查机器程序是否正确,如果不正确,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的指令,单击需修改单元的数据,此时该单元变为编辑框,输入2 位数据并回车,编辑框消失,写入数据以红色显示。 CPU 访问主存地址由CON 单元的SD17SD10 模拟给出,如00000001。CPU 访问主存的读信号由CON 单元的K7 模拟给出,置K7 为低,可以观察到FPGA单元上的L8 指示灯亮,L0L7 指示灯灭,表示Cache 失效。此时按动KK+按钮四次,注意数据总线和地址总线上的指示灯的变化情况,地址会依次加一,数据总线上显示的是当前主存数据,按动四次KK+按

13、钮后,L8 指示灯变灭,L0L7 上显示的值即为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、讨论 几次实验下来,我对计算机组成原理这门课有了更深的了解。希望以后有更多的机会接触这类实验。六、教师评审教师评语实验成绩

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号