简单计算机系统的基本构成和指令集设计

上传人:公**** 文档编号:564448841 上传时间:2022-11-01 格式:DOCX 页数:6 大小:351.21KB
返回 下载 相关 举报
简单计算机系统的基本构成和指令集设计_第1页
第1页 / 共6页
简单计算机系统的基本构成和指令集设计_第2页
第2页 / 共6页
简单计算机系统的基本构成和指令集设计_第3页
第3页 / 共6页
简单计算机系统的基本构成和指令集设计_第4页
第4页 / 共6页
简单计算机系统的基本构成和指令集设计_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《简单计算机系统的基本构成和指令集设计》由会员分享,可在线阅读,更多相关《简单计算机系统的基本构成和指令集设计(6页珍藏版)》请在金锄头文库上搜索。

1、实验 1 简单计算机系统的基本构成和指令集设计一、实验目的1、掌握简单计算机系统的基本构成和设计步骤;2、掌握简单计算机系统的指令集;3、掌握简单计算机的基本模块;4、巩固 EDA 电路仿真和调试方法。二、实验任务1、初步的设计思路、进度,及调试手段。设计思路:遵循从上到下的设计思想,在明确主体功能后,进行电路模块的 设计。设计寄存器组reg4_8、RAM数据存储系统、I/O端口及其映射、ROM程 序存储、8位算术逻辑运算器ALU、标志寄存器、控制单元和程序指针计数器PC 等模块电路,并按数据通路,加以必要的多路选择器进行连接,测试,完成。调试手段:基于分块调试的思想,用仿真验证和下载到FPG

2、A运用板子资源 验证相结合的手段,进行分模块的调试,最后在进行整体的调试。进度:第一次实验了解简单计算机系统的基本构成,掌握寄存器组reg4_8、 RAM 数据存储系统、 I/O 端口及其映射、 ROM 程序存储、 8 位算术逻辑运算器 ALU、标志寄存器等模块,并对各模块进行仿真。第二次实验了解不同指令类型 的数据通路,完成控制单元和程序指针计数器PC等模块电路,依据数据通路的 运行机制,将设计的ROM、RAM、ALU、控制器、PC程序指针计数器模块, 集成为一个简单计算机系统A,并进行初步调试。第三次实验调试系统A完成后, 进行系统B和系统C的设计与调试。第四次实验继续调试系统。若有时间尝

3、试选 作。2、练习指令编码。(1)理解其中的 7 条 R 型指令 AND、 OR、 ADD、 SUB、 ADDC、 SUBC、 SLT, 和2条I型指令的LW、SW。写出下表指令的编码和功能说明。助记符指令二进制机器码指令十六进制指令功能说明ADDR2,R3,RO0010 1100 1000 00000x2C80R2=R3+R0 (不带进位)SUBCR1,R2,R30101 1011 0100 00000x5B40R1=R2-R3-(1-C)(带进 位)ORR2,R1,R30001 0111 1000 00000x1780R2=R1 or R3ANDR1,R3,R20000 1110 0100

4、 00000x0E40R1=R3 and R2LWR2,R1,0x201011 0110 0010 00000xB620R2=MEMR1+0x20SWR1,R3,0x221100 1101 0010 00100xCD22MEMR3+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 0010

5、0xAF22R3=R3+0x22BNE R1,R3,61110 0111 0000 01100xE706If R1#3,PC=PC+6+1;Else PC=PC+1JMP 00111 0000 0000 00000x7000PC=03、对各模块进行仿真。(1)寄存器组模块i k-rLrLrLrLrLTrLrLrLrLrjLrLrLrjLTrLruLirjLrLnmrLrLrLrLTTLruLTrjLrLrLrjLTrLrLrL-Lruu:*X f A “a匚征攵。X*X:rXJXJi:1Xo(23a:oX:I2):!X3:p3、+1KU?SJ IE J0f0K H X曲XL-HJii:X出y0

6、寄存器模块的功能主要在于读写数据。对上图的仿真结果进行分析如下:从波形仿真的结果可以看出,REG_WE=1时,每个CLK上升沿到达时ND对 应的寄存器被写入输入信号DI。例如当输入Dl=144, ND=0时,在CLK的上升沿 将144写入寄存器R0。当输入Dl=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 时,寄存器清零。模块功能正确

7、。2)RAM 数据存储系统模块addre57 0从仿真波形可以看出,当 wren=1 时,遇到 clock 上升沿时,将 data=3 写入地址0x08。输出端q在下一个上升沿到达时将该数据读出。RAM模块的功能正 常。3)I/O 端口及其映射模块i IO_PORTL Din7,0 addr7 0JREWEIOO|7 0 一 loip.pj I02F0IO3f.QJIO4P.D i口M7| 一 1口时匕期 lOt? 0 心嗣to writeffl 1”4I/O端口及氏1映射模块封装结构图号 addr 依次为输入 Din。7 inslNaraQevbeBO日iUO吟|阳U HSS RjnrntE

8、 B14152在 RE=1, WE=O 的情况下,io_write 为 0, io_read 为 1, Dout 依地址信号 addr 依次输出IO0至107的值。模块功能正确。4) ROM 程序存储模块Ipm rom 256 16addres&7 0!clockq15 0 inst4图5 ROM程序存储系统模块封装结构图查看hex文件,其中的输入如下:Addr -HQ十l十2.+3+4+5+ 7ASCII000 EQO-OA05SS5-00A55A2isasaoo8500A 502008 61 CO5000C231C330SOODA05B8500A55A010 S1S0BOO&a&wA5d2

9、51CDsoooC233am0 IS心潞2SQM脚QA55A01 soSOJO5血Q20 A5020-1 COso-ooC2363G00C3345000A06EOS S50-0A55A11S08(G0850(A5U211C05000-00 C237000C33C30008500A502D1D5-4180-038 EFOOCE39CE13E1 088000A0SE5500A55An din J1 P-A厂mer-T-a 0口 e仃仃口 d an.CM EM Qr -1仿真波形如下:从上图中我们可以看出,在 clock 的上升沿,地址信号 address 对应的数据 被读出。对比hex文件,其值相

10、符,模块正确。5)8 位算术逻辑运算器 ALU 模块ALUCS2.Csp.oj1 data_ap.O)zero1 data_b7.Ocflrry_oiJtcarry_in1-5 ALU模块的封装结构图CS 值与对应的运算分别为:CS2.O运算名称000与101不带进位加001不带借位减100带进位加010带借位减110或011比较仿真结果如下:r-isfflEaLj atDps-PALLUPBJcarrJnB0匚曲心Bia liiau u閃ThB0L013HD0RESXTBOUO1303DZ55OB0CHrry_cijtBl5d2ue LQ-2U9 15-36W S.43US鬲H K 3Q,7

11、2dS 35J4W 軌95us 輻冃 SL.ZdS 56,32 W -5L,dS 6D1111OLLCQCillOg001011110X OMIRii 工 iLLOOZIHIPftWLO X OOLLLLil 一乂 DiOOLi 技 iOOOOiOOHX11A0D1MliDOaQ010C0111X KKWEHIO:fCQiTOQQQ鼬COOJ工 QWCOm 畑口馳烦口叩戈 口叩“打 工DOffijLLl jCS 为 000 时,进行“与”运算, 01111011 与 01011110 的结果为 01011010.CS 为 110 时,进行“或”运算, 10000100 或 01000111 的

12、结果为 11000111.CS 为 001 时,进行不带借位减运算,此时 carry_in 信号不起作用, 23-145 的结果为 134(存在向高位的借位,所以为 23+256-145=134.)CS 为 010 时,进行带借位减运算。当 carry_in 为 0 时,表示低位有借位,所以 231-230-1=0,zero 为 1,carry_out 为 1,表示无借位。当 carry_in 为 0 时,表 示地位无借位,所以 231-230=1,zero 为 0,carry_out 为 1,表示无借位。CS为011时,进行比较运算。138比74大,所以结果为0.CS为100时,进行带进位加

13、运算,当carry_in为0时,表示低位无进位,所 以63+217=24 (+256),carry_out为1,表示有进位。当carry_in为1时,表示地 位有进位,所以63+217+1=25(+256),carry_out为1,表示有进位。CS 为 101 时,进行不带进位加运算, 79+16=95.模块功能正确。6)标志寄存器模块仿真波形如下:BD.O ns160.D ns2. 0 ns3-2D.0ns40D.Q ns90iO ns0 psd p为 Jivalue at0p51DDD1D1D01000 LOO; Fl 日口 inresetB D1D00100B 模块在 reset 为 0 时,在 clk 的上升沿将 Flagin 写入模块,并通过 Flagout 输出 当 reset 为 1 时,将数据清零。可见功能正确。

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

当前位置:首页 > 学术论文 > 其它学术论文

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