计算机模型机设计实验报告,计算机组成原理课程设计实验报告-基本模型机设计与实现...

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机组成原理课程设计实验报告-基本模型机设计与实现

(12页)

计算机模型机设计实验报告,计算机组成原理课程设计实验报告-基本模型机设计与实现..._第1张图片

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

14.90 积分

计 算 机 组 成 原 理实 验 报 告评 语:成绩教 师:年 月 日班 级: 1403011 学 号: 140301124 姓 名: 于梦鸽 地 点: EII-312 时 间: 第3批 计算机组成原理与体系结构课程设计 基本模型机设计与实现一.实验目的1.深入理解基本模型计算机的功能、组成知识;2.深入学习计算机各类典型指令的执行流程;3.学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微程序的设计方法,学会编写二进制微指令代码表。6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。二.实验原理本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(最高4位二进制数为操作码):1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。实验中,计算机数据通路的控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。2.指令格式(1)指令格式采用寄存器直接寻址方式,其格式如下:位 7654 3210功能OP-CODErsrd其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:Rs或rd选定的寄存器000110R0R1R2助记符机器指令码Addr地址码功能说明INADD addrSTA addrOUT addrJMP addr0 0H1 0H XX H2 0H XX H3 0H XX H4 0H XX H“INPUT”中的数据→R0R0+[addr] ->R0R0 -> [addr][addr] -> BUSaddr →PC其中IN为单字长(8位二进制),其余为双字长指令,XX H 为addr对应的十六进制地址码。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。图6-1 数据通路框图1,存储器读操作(KRD):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 0”时,可对RAM连续手动读入操作。2,存储器写操作(KWE):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 1”时,可对RAM连续手动写操作。3、启动程序(RP):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。SWBSWA控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP)根据以上要求设计数据通路框图,如图5-1所示。表6-1 24位微代码定义:24232221201918171615 14 1312 11 10987654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0 表6-2 A、B、C各字段功能说明:A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RS-B001P(1)010LDDR1010010011LDDR2011011100LDIR100100P(4)101LOAD101ALU-B101LDAR110LDAR110PC-B110LDPC24位微代码中各信号的功能(1) uA5—uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。(2) S3、S2、Sl、S0:由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。(3) M:微程序控制输出的ALU操作方式选择信号端。M=0执行算术操作;M=l执行逻辑操作。(4) Cn:微程序控制器输出的进位标志信号,Cn=0表示ALU运算时最低位有进位,Cn=1则表示无进位。 (5)WE:微程序控制器输出的RAM控制信号。当/CE=0时,如WE=0为存储器读;如WE=1为存储器写。 (6) A9、A8——译码后产生CS0、CS1、CS2信号,分别作为SW_B、RAM、LED的选通控制信号。 (7) A字段(15、14、13)——译码后产生与总线相连接的各单元的输入选通信号(见表6-1)。(8) B字段(12、11、10)——译码后产生与总线相连接的各单元的输出选通信号。(9) C字段(9、8、7) ——译码后产生分支判断测试信号P(1)~P(4)和LDPC信号。系统涉及到的微程序流程见图6-2。当执行“取指令”微指令时,该微指令的判断测试字段为P(1)测试。由于“取指令”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支(见图6-2左图)。用指令寄存器的高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。控制台操作为P(4)测试(见图6-2右图),它以控制台信号SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控制存储器的一个微地址单元,随意填写。注意:微程序流程图上的微地址为8进制!当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。表6-2 二进制微代码表微地址微指令S3 S2 S1 S0 M CN WE A9 A8ABCUA5—UA0000181100000000110000001000100000100ED820000000011101101100000100200C0480000000011000000010010000300E0040000000011100000000001000400B0050000000010110000000001010501A20600000001101000100000011006619A010110000110011010000000010700E00D0000000011100000000011011000101B0000000000010000000110111101ED830000000111101101100000111201ED870000000111101101100001111301ED8E0000000111101101100011101401ED960000000111101101100101101500B0170000000010110000000101111600E00F0000000011100000000011111700B0150000000010110000000101012001ED920000000111101101100100102101ED940000000111101101100101002201A01000000001101000000001000023018001000000011000000000000001240620110000011000100000000100012501A2190000000110100010000110012601A21A000000011010001000011010 2701A21800000001101000100001100030B99A0110111001100110100000000131E99A0111101001100110100000000132099A010000100110011010000000013301A21C00000001101000100001110034059A01000001011001101000000001指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试“P(1)”,通过节拍脉冲T4的控制,以便识别所要求的操作。 指令译码器: 根据指令中的操作码强置微控制器单元的微地址,使下一条微指令指向相应的微程序首地址。实验中LCD液晶显示屏可以用来显示模型机CPU中各组成单元的内容。将B100_C.sof文件下载到实验台后,按系统复位键,LCD液晶显示屏即显示CPU中各组成单元的内容。其功能说明如下:LCD液晶显示屏功能说明图6-4 LCD液晶显示屏名称作 用名称作用IN输入单元INPUTDR1暂存器DR1OUT输出单元OUTPUTDR2暂存器DR2ALU算术逻辑单元PC程序计数器BUS内部数据总线AR地址寄存器R0寄存器R0RAM程序/数据存储器R1寄存器R1IR指令寄存器R2寄存器R2MC微程序控制器图6-3 模型计算机电路原理图地址(16进制)内容(16进制)助记符说明0000INC自增0110SUB减法020A0320AND与040B0530OR或050C0740NOT非080009000A01自定0B000C02自定0D000E03自定3. 实验步骤 (做了两个程序,以下是第一个)1.微程序的输入:根据表6-2所对应的二进制微代码,编辑LPM_ROM配置文件ROM_11.mif(参考demoD_cpu5文件夹中的同名文件),并将其保存在与实验电路b100_c.bdf工程所在的文件夹中,与实验电路b100_c.bdf一同编译后,得到下载文件b100_c.sof。下载配置文件bus_c.sof下载到实验系统。实验板上的时钟clock0选择输入频率为1.5MHz。图6-3是示例原理图,详见b100_c.bdf。2.输入模型机的程序romRam3.自动配置LPM_RAM 如果程序量大,手动输入效率太低,可以在计算机上编译好代码文件,并随同模型CPU设计文件一同编译进SOF下载文件中,直接下载进入FPGA。(1)在QuartusII环境下,打开工程文件b100_c.bdf,修改b100_C.bdf中LPM_RAM_DQ的参数,将初始化文件LPM_FILE设置为:“./5_ram.mif”;打开“5_ram.mif”(在示例中已有此文件),根据“实验程序1”,在5_ram.mif中输入全部机器指令代码(示例中已经输入)。(2)将工程文件重新编译后,下载到实验台中,即完成LPM_RAM的配置。(3)根据以上的方法,复位信号RST(键8)=1;将控制开关SWB、SWA(键4、键3)设置为:0、0,按键7,每两个2次单步运行(产生2个正脉冲),检验配置进入FPGA中的程序代码。4.EAB在系统读写使用在系统EAB读写工具对模型CPU中的存放微程序的ROM和存放程序与数据的RAM进行观察和改写(图6-3)。5.用嵌入式逻辑分析仪了解CPU运行情况可以利用实验系统上的液晶屏上的数据显示和嵌入式逻辑分析仪同时了解CPU的每一单步运行情况(图6-4)。注意,图6-4的嵌入式逻辑分析仪设置情况:采用时钟使用CPU的工作时钟(CLK1=1.5MHz),采样深度64位,触发位置:Pre..,触发信号用单步控制信号:STEP;触发方式:上升沿。左侧的观察信号,data[1]是ALU;data[2]是RAM;P[10]是AR;P[12]是IR;(三)执行程序1. IN X2. X减34 3. X与344. X或345. X非 第二个1. MOV R0->DR12. 自加13. 自减14. 置05. 置1七.中各信号的功能说明(1) uA5—uA0 微程序控制器的微地址输出信号。 (2) IR7一IR5 指令寄存器IR7、IR6、IR5输出信号,输入至微程序控制器作为修改微地址的控制信号。 (3) CLK1——时钟信号源,输入频率为6~12MHz。(4) T1~T4——时序信号发生器提供的四个标准输出信号,可以采用单拍或连续两种方式输出。(5) s3、s2、sl、s0、——由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。(6) M—微程序控制输出的ALU操作方式选择信号端。M=0执行算术操作;M=l执行逻辑操作。八.思想体会通过本次课程设计实验的过程,我了解了如何设计一个ALU并且学会了如何设计指令并实现其功能,过程中在理解和实际操作上都遇到了一些困难,但通过与老师同学的交流和自己的研究也解决了很多问题,尽管由于时间原因还并不是了解的很透彻、做的很完美,但我还是学到了很多东西。 关 键 词: 计算机 组成 原理 课程设计 实验 报告 基本 模型 设计 实现

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

你可能感兴趣的:(计算机模型机设计实验报告)