实验结果: 《计算机组成原理》实验报告 -5-
3.4 复杂模型机的设计与实现 一、实验目的 综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。 二、实验设备 Dais-CMX08+计算机组成原理教学实验系统一台,实验用导线若干。 三、数据格式及指令系统 1. 数据格式 模型机规定采用定点补码表示数据,且字长为8位,其格式如下: 7 符号 6 5 4 3 2 1 0 尾 数 2. 指令格式 模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。 ⑴ 算术逻辑运算指令 设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 7 6 5 4 OP-CODE 3 2 1 0 Rs Rd 其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定: Rs或Rd 00 01 10 11 选定的寄存器 R0 R1 R2 R3 ⑵ 访问指令及转移指令 模型机设计2条访问指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为: 7 6 5 4 0 0 M 3 2 2OP-CODE 1 0 Rd D(低八) ⑶ 停机指令 7 6 5 4 OP-CODE 3 2 0 0 1 0 0 0 其中“0 0 M ”为源码段,2OP-CODE为目的码段(LDA、STA指令使用)。D为十六位地址段(低八在前,高八随后),M为源寻址模式,其定义如下: 寻址模式M 有效地址E 说 明 00 E = D 直接寻址 01 E = (D) 10 E = (SP)+D 间接寻址11 E = (PC)+D SP变址寻址 《计算机组成原理》实验报告 -6-
相对寻址 ⑷ I/O指令 输入(IN)和输出(OUT)指令采用单字节指令,其格式如下: 7 6 5 4 1 1 0 M 3 2 2OP-CODE 1 0 Rd 格式中“1 1 0 M”为源码段,其中M=0为IN指令,M=1为OUT指令,Rd为源与目的寄存器。2OP-CODE为字与字节操作段。它的定义如下: 3 2 0 0 0 1 1 X 说明 偶递偶(字节) 奇递奇(字节) 字操作 3. 指令系统 本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4 条,输入输出指令2条,其它指令1条。下表列出了各条指令的格式、汇编符号、指令功能。助记符 LDA M,D,Rd 0 0 STA M,D,Rd 0 0 JMP M,D BZC M,D MOV Rd,Rs ADC Rd,Rs SBC Rd,Rs AND Rd,Rs CLR Rd INC Rd CPL Rd RRC Rd RLC Rd IN Rd,I/O 0 0 0 0 指令格式 M M M M 00 Rd E→Rd 01 Rd Rd→E 10 00 E→PC 11 00 当CY=1或Z=1时,E→PC 功 能 0 1 0 0 Rs Rd Rs→Rd 0 1 0 1 Rs Rd Rs+Rd+CY→Rd 0 1 1 0 Rs Rd Rs-Rd-CY→Rd 0 1 1 1 Rs Rd Rs∧Rd→Rd 1 0 0 0 00 Rd 0→Rd 1 0 0 1 00 Rd Rd+1→Rd 1 0 1 0 00 Rd Rd→Rd 1 0 1 1 00 Rd CY→Rd 1 1 0 0 00 Rd CY→Rd 1 1 0 1 00 Rd I/O→Rd OUT Rd,I/O 1 1 1 0 00 Rd Rd→I/O HALT 1 1 1 1 00 00 停机 《计算机组成原理》实验报告 -7-
图3-4-1 复杂模型机微程序流程图 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。 M23 M22 M21 M20 M19 M18 M17 M16 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0 E/M IP MWR R/M 目的编码 OP M CN S2 S1 S0 源编码 XP W ALU Iu IE IR Icz Ids 《计算机组成原理》实验报告 -8-
源编码 M10 M9 X2 1 1 1 1 0 0 0 0 X1 1 1 0 0 1 1 0 0 M8 X0 1 0 1 0 1 0 1 0 功能 禁止 ALU SP IOR MRD XRD RRD PC 目的编码 M19 M18 M17 O2 1 1 1 1 0 0 0 0 O1 1 1 0 0 1 1 0 0 O0 1 0 1 0 1 0 1 0 功能 禁止 MAR BX AX SP IOW XWR RWR 实验列举的机器指令程序: 地址 指令代码 助记符 IN RX0 IN R2 ADC R0,R2 MOV R1,R0 RLC R0 BZC 00H HALT 功能 I/O→R0 IO奇→R2 RS+RD→RD RS→RD RLC RD BZC 00H 停机 000 D0 001 D6 002 58 003 41 004 C0 005 0C 00 007 F0 四、实验环境判断与设置 在进入实验操作之前对实验环境作如下判别 1、若处“搭接”态,必须卸去实验连接,然后参阅本书P124页5.2.2小节,把实验环境设为“微控”、“在线”。 2、若处非“微控”态,参阅本书P124页5.2.2小节,把实验环境设为“微控”、“在线”。 五、实验方法 ㈠键盘操作 ⑴机器程序与对应的微控制程序的写入: 在待令状态下,键入数字键“4”,然后再键入【减址】命令键,实验装置自动装载复杂模型机代码程序及对应的微程序。 ⑵运行程序 ①单拍运行:每按一次【单拍】按钮模型机运行一拍,系统提供可变时序,非“取指”微周期它的节拍按→T1→T3→T4→ 次序循环,在取指微周期按→T1→T2→T3→T4→ 次序循环。 ②微单步:每按一次【单步】命令键运行一条微指令,对照微程序流程,观察微址是否和流程一致。对照微指令表,观察执行结果是否和理论值一致。 ③宏运行(指令单步或宏调用):每按动一次【宏运】命令键,运行一条机器指令。对照机器指令程序,观察PC地址是否和流程一致。 ④程序运行与暂停:按动【运行】命令键使模型机进入实时运行状态;在实时运行状态按左下方任一数字键即可暂停模型机程序的运行,以便实验者查看模型机现场。 《计算机组成原理》实验报告 -9-