- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[简单计算机系统的基本构成和指令集设计
实验 1 简单计算机系统的基本构成和指令集设计一、实验目的1、掌握简单计算机系统的基本构成和设计步骤;2、掌握简单计算机系统的指令集;3、掌握简单计算机的基本模块;4、巩固 EDA 电路仿真和调试方法。二、实验任务1、初步的设计思路、进度,及调试手段。设计思路:遵循从上到下的设计思想,在明确主体功能后,进行电路模块的设计。设计寄存器组reg4_8、RAM 数据存储系统、I/O 端口及其映射、ROM 程序存储、8 位算术逻辑运算器 ALU、标志寄存器、控制单元和程序指针计数器 PC等模块电路,并按数据通路,加以必要的多路选择器进行连接,测试,完成。调试手段:基于分块调试的思想,用仿真验证和下载到FPGA运用板子资源验证相结合的手段,进行分模块的调试,最后在进行整体的调试。进度:第一次实验了解简单计算机系统的基本构成,掌握寄存器组reg4_8、RAM 数据存储系统、I/O 端口及其映射、ROM 程序存储、8 位算术逻辑运算器 ALU、标志寄存器等模块,并对各模块进行仿真。第二次实验了解不同指令类型的数据通路,完成控制单元和程序指针计数器 PC等模块电路,依据数据通路的运行机制,将设计的 ROM、 RAM、 ALU、控制器、 PC 程序指针计数器模块,集成为一个简单计算机系统A,并进行初步调试。第三次实验调试系统A完成后,进行系统B和系统C的设计与调试。第四次实验继续调试系统。若有时间尝试选作。2、练习指令编码。(1)理解其中的7条R型指令AND、OR、ADD、SUB、ADDC、SUBC、SLT,和2条I型指令的LW、SW。写出下表指令的编码和功能说明。助记符指令二进制机器码指令十六进制指令功能说明ADD R2,R3,R00010 1100 1000 00000x2C80R2=R3+R0(不带进位)SUBC R1,R2,R30101 1011 0100 00000x5B40R1=R2-R3-(1-C)(带进位)OR R2,R1,R30001 0111 1000 00000x1780R2=R1 or R3AND R1,R3,R20000 1110 0100 00000x0E40R1=R3 and R2LW R2,R1,0x201011 0110 0010 00000xB620R2=MEM[R1+0x20]SW R1,R3,0x221100 1101 0010 00100xCD22MEM[R3+0x22]=R1(2)理解其中5条I型指令的ANDI、ORI、ADDI、BEQ、BNE和1条I型指令JMP。写出下表指令的编码和功能说明。助记符指令二进制机器码指令十六进制指令功能说明ANDI R1,R1,01000 0101 0000 00000x8500R1=R1 and 0(将R1清零)ADDI R3,R3,0x221010 1111 0010 00100xAF22R3=R3+0x22BNE R1,R3,61110 0111 0000 01100xE706If R1≠R3,PC=PC+6+1;Else PC=PC+1JMP 00111 0000 0000 00000x7000PC=03、对各模块进行仿真。(1)寄存器组模块寄存器模块的功能主要在于读写数据。对上图的仿真结果进行分析如下:从波形仿真的结果可以看出,REG_WE=1时,每个CLK上升沿到达时ND对应的寄存器被写入输入信号DI。例如当输入DI=144,ND=0时,在CLK的上升沿将144写入寄存器R0。当输入DI=72,ND=1时,在CLK的上升沿将72写入寄存器R1。在REG_WE=0时,则不再写入。输出Q1、Q2由N1、N2控制,此控制是异步的,不因REG_WE信号和CLK信号影响。当REG_WE=0时,N1=1,N2=0,Q1和Q2分别输出R1中的数18和R0中存的数144.在清零信号RESET信号为1时,寄存器清零。模块功能正确。(2)RAM 数据存储系统模块从仿真波形可以看出,当wren=1时,遇到clock上升沿时,将data=3写入地址0x08。输出端q在下一个上升沿到达时将该数据读出。RAM模块的功能正常。(3)I/O 端口及其映射模块在RE=0,WE=1的情况下,io_write为1,io_read为0,IO0至IO7依地址信号addr依次为输入Din。在RE=1,WE=0的情况下,io_write为0,io_read为1,Dout依地址信号addr依次输出IO0至IO7的值。模块功能正确。(4) ROM 程序存储模块查看hex文件,其中的输入如下:仿真波形如下:从上图中我们可以看出,在clock的上升沿,地址信号address对应的数据被读出。对比hex文件,其值相符,模块正确。(5)8 位算术逻辑运算器 ALU 模块CS
文档评论(0)