2022年计算机组成课程方案大纲.docx
精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用运算机组成原理课程设计大纲 课程名称:运算机组成原理课程设计试验学时:1 周/人 课程编号:学分: 1 课程总学时: 28 试验学时: 28 课程总学分: 1 适用专业及年级:运算机科学与技术三年级 课程负责人:许高攀 大纲主撰人:许高攀 编写日期: 2006 年 9 月 一、课程设计教案目的及基本要求运算机组成原理课程设计是运算机科学与技术专业集中实践性环节之一,是学习 完运算机组成原理课程后进行的一次全面的综合练习;其目的是综合运用所学运算机 原理学问,设计并实现一台较为复杂的模型运算机,以便巩固所学的学问,提高分析问题 和解决问题的才能;二、课程设计内容及支配依据 COP2000模型机数据通路图实现80C51 指令系统,画出微程序流程图,编写出微指令代码,以脱机方式在Cop2000 试验平台下调试通过,最终以文件<.ins )的形式提交;三、数据格式及指令系统 数据格式 模型机规定采纳定点补码表示数据,且字长为 8 位,其格式如下:7 6 5 4 3 2 1 0 符 号 尾 数其中第 7 位为符号位,数值表示范畴是:-1 X1; 指令格式模型机设计四大类指令共16 条,其中包括算术规律指令、I/O 指令、拜访及转移指令和停机指令; 算术规律指令 设计 10 条算术规律指令并用单字节表示,寻址方式采纳寄存器直接寻址,其格式如 下: 7 6 5 4 3 2 1 0 OP-CODE Rs Rd 其中, OP-CODE为操作码, Rs 为源寄存器, Rd为目的寄存器,并规定:名师归纳总结 Rs 或 Rd 选定的寄存器第 1 页,共 7 页0 0 R0 0 1 R1 1 0 R2 - - - - - - -精选学习资料 - - - - - - - - - 9 条算术规律指令的名称、功能和详细格式见表个人资料整理仅限学习使用1; 拜访指令及转移指令模型机设计 2 条拜访指令,即存数 <STA)、取数 <LDA), 2 条转移指令,即无条件转移<JMP)、结果为零转移指令 <JRZ),指令格式为: 7 6 5 4 3 2 1 0 M 0 OP-CODE Rd D 其中, OP-CODE为操作码, Rd 为目的寄存器地址 正负均可), M为寻址模式,其定义如下:<LDA、STA 指令使用); D 为位移量 < I/O指令寻址模式 M 有效地址 E 说明0 0 E= D 直接寻址0 1 E=<D)间接寻址1 0 E=<IR)+D RI 变址寻址1 1 E=<PC)+D 相对寻址本模型机规定变址寄存器RI 指定为寄存器R2;输入 <IN)和输出 <OUT)指令采纳单字节指令,其格式如下:7 6 5 4 3 2 1 0 OP-CODE 0 0 Rd 其中 IN> 指令,选中 "INPUT DEVICE" 中的开关组作为输入设备,而 <OUT)指令,选中"OUTPUT DEVICE"中的 LED作为输出设备; 指令系统模型机的缺省的指令集分几大类:算术运算指令、规律运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入 / 输出指令;用户可以通过 COP2000运算机组成原理试验软件或组成原理试验仪来设计自己的指令集;助记符机器码 1 机器码 2 注释0, _FATCH_ 000000xx 试验机占用,不行修改;复位后,全部寄存器清第一执行 _FATCH_ 指令取指名师归纳总结 ADD A, R. 000001xx MM 未使用第 2 页,共 7 页000010xx 未使用000011xx 未使用000100xx 将寄存器 R.的值加入累加器A中 ADD A, R. 000101xx 将间址储备器的值加入累加器A中 ADD A, MM 000110xx 将储备器 MM地址的值加入累加器A中 ADD A, #II 000111xx II 将立刻数 II 加入累加器 A中 ADDC A, R. 001000xx MM 将寄存器 R.的值加入累加器A中,带进位 ADDC A, R. 001001xx 将间址储备器的值加入累加器A中,带进位 ADDC A, MM 001010xx 将储备器 MM地址的值加入累加器A中,带进位 ADDC A, #II 001011xx II 将立刻数 II 加入累加器 A中,带进位 SUB A, R. 001100xx 从累加器 A中减去寄存器 R.的值- - - - - - -精选学习资料 - - - - - - - - - SUB A, R. 001101xx 个人资料整理仅限学习使用从累加器 A中减去间址储备器的值 SUB A, MM 001110xx MM 从累加器 A中减去储备器 MM地址的值 SUB A, #II 001111xx II 从累加器 A中减去立刻数 II 加入累加器 A中 SUBC A, R. 010000xx MM 从累加器 A中减去寄存器 R.的值,减进位 SUBC A, R. 010001xx 从累加器 A中减去间址储备器的值,减进位 SUBC A, MM 010010xx 从累加器 A中减去储备器 MM地址的值,减进位 SUBC A, #II 010011xx II 从累加器 A中减去立刻数 II ,减进位 AND A, R. 010100xx MM 累加器 A“ 与” 寄存器 R.的值 AND A, R. 010101xx 累加器 A“ 与” 间址储备器的值 AND A, MM 010110xx 累加器 A“ 与” 储备器 MM地址的值 AND A, #II 010111xx II 累加器 A“ 与” 立刻数 II OR A, R. 011000xx MM 累加器 A“ 或” 寄存器 R.的值 OR A, R. 011001xx 累加器 A“ 或” 间址储备器的值 OR A, MM 011010xx 累加器 A“ 或” 储备器 MM地址的值 OR A, #II 011011xx II 累加器 A“ 或” 立刻数 II MOV A, R. 011100xx MM 将寄存器 R.的值送到累加器A中 MOV A, R. 011101xx 将间址储备器的值送到累加器A中 MOV A, MM 011110xx 将储备器 MM地址的值送到累加器A中 MOV A, #II 011111xx II 将立刻数 II 送到累加器 A中 MOV R., A 100000xx MM 将累加器 A的值送到寄存器R.中 MOV R., A 100001xx 将累加器 A的值送到间址储备器中 MOV MM, A 100010xx 将累加器 A的值送到储备器MM地址中 MOV R., #II 100011xx II 将立刻数 II 送到寄存器 R.中READ MM 100100xx MM 从外部地址 MM读入数据,存入累加器A中WRITE MM 100101xx MM 将累加器 A中数据写到外部地址MM中 JC MM 100110xx MM 未使用100111xx 未使用101000xx 如进位标志置 1,跳转到 MM地址 JZ MM 101001xx MM 如零标志位置 1,跳转到 MM地址 JMP MM 101010xx MM 未使用101011xx 跳转到 MM地址 _INT_ 101100xx 未使用101101xx 未使用101110xx 试验机占用,不行修改;进入中断时,试验机硬件产生 _INT_ 指令 CALL MM 101111xx MM 调用 MM地址的子程序 IN 110000xx 从输入端口读入数据到累加器A中 OUT 110001xx 将累加器 A中数据输出到输出端口 RET 110010xx 未使用110011xx 子程序返回 RR A 110100xx 累加器 A右移 RL A 110101xx 累加器 A左移 RRC A 110110xx 累加器 A带进位右移 RLC A 110111xx 累加器 A带进位左移 NOP 111000xx 空指令 CPL A 111001xx 累加器 A取反,再存入累加器A中 RETI 111010xx 未使用111011xx 中断返回111100xx 未使用111101xx 未使用111110xx 未使用111111xx 未使用表 1 指令系统四、复杂模型机数数据通路框图名师归纳总结 - - - - - - -第 3 页,共 7 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用图 1 复杂模型机数数据通路框图五、总体设计1、复杂模型机微程序流程图设计依据图 1 复杂模型机数据通路框图和表1 指令系统要求,设计出图3 所示结构的微程序流程图;确定实现机器指令功能的微程序段的入口微地址,同时确定微程序流程图中各微指令的微地址; 01 Pc ArPc+1 02 Ram BusBus Ir 20 P1> 00<直接) 11< 相对) IN RLC 20 26 28 2F01 08 P2> 名师归纳总结 - - - - - - -第 4 页,共 7 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 Lad 1C Bzc 1F 01Z=1 01 NO P3> 0E 1E 0E 01 01 图 1-3 复杂模型机微程序流程框图2、编写微指令代码COP2000模型机包括了一个标准 CPU所具备全部部件,这些部件包括:运算器 ALU、累加器 A、工作寄存器 W、左移门 L、直通门 D、右移门 R、寄存器组 R0-R3、程序计数器PC、地址寄存器 MAR、堆栈寄存器 ST、中断向量寄存器 IA 、输入端口 IN 、输出端口寄存器OUT、程序储备器 EM、指令寄存器 IR、微程序计数器 uPC、微程序储备器 uM,以及中断控制电路、跳转掌握电路;其中运算器和中断掌握电路以及跳转掌握电路用 CPLD来实现,其它电路都是用离散的数字电路组成;微程序掌握部分也可以用组合规律掌握来代替;模型机为8 位机,数据总线、地址总线都为8 位,但其工作原理与16 位机相同;相比而言 8 位机试验削减了烦琐的连线,但其原理却更简单被同学懂得、吸取;模型机的指令码为 8 位,依据指令类型的不同,可以有 0 到 2 个操作数;指令码的最低两位用来挑选 R0-R3 寄存器,在微程序掌握方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序;而在组合规律掌握方式中,按时序用指令码产生相应的掌握位;在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的掌握规律,实现模型机的各种功能;模型机有 24 位掌握位以掌握寄存器的输入、输出,挑选运算器的运算功能,储备器的读写;下:24 位掌握位分别介绍如 XRD : 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据; EMWR: 程序储备器 EM写信号; EMRD : 程序储备器 EM读信号; PCOE : 将程序计数器 PC的值送到地址总线 ABUS上; EMEN : 将程序储备器 EM与数据总线 DBUS接通,由 EMWR和 EMRD打算是将 DBUS数据写到 EM中,仍是从 EM读出数据送到 DBUS; IREN : 将程序储备器 EM读出的数据打入指令寄存器 IR 和微指令计数器 uPC; EINT: 中断返回时清除中断响应和中断恳求标志,便于下次中断; ELP : PC 打入答应,与指令寄存器的IR3 、IR2 位结合,掌握程序跳转;名师归纳总结 - - - - - - -第 5 页,共 7 页精选学习资料 - - - - - - - - - MAREN:将数据总线个人资料整理仅限学习使用DBUS上数据打入地址寄存器MAR; MAROE:将地址寄存器 MAR的值送到地址总线 ABUS上; OUTEN :将数据总线 DBUS上数据送到输出端口寄存器 OUT里; STEN : 将数据总线 DBUS上数据存入堆栈寄存器 ST 中; RRD :读寄存器组 R0-R3,寄存器 R.的挑选由指令的最低两位打算; RWR :写寄存器组 R0-R3,寄存器 R.的挑选由指令的最低两位打算; CN :打算运算器是否带进位移位,CN=1带进位, CN=0不带进位; FEN :将标志位存入 ALU内部的标志寄存器; X2 : X2 、X1、X0 三位组合来译码挑选将数据送到 X1 :见 16 页表; X0 :DBUS上的寄存器; WEN :将数据总线 DBUS的值打入工作寄存器 W中; AEN : 将数据总线 DBUS的值打入累加器 A 中; S2 : S2 、S1、S0三位组合打算 ALU做何种运算; S1 :见 14 页表; S0 :3. 模型机寻址方式模型机的寻址方式分五种:累加器寻址:操作数为累加器 A,例如“CPL A ” 是将累加器 A 值取反,仍有些指令是隐含寻址累加器 A,例如“OUT” 是将累加器 A 的值输出到输出端口寄存器 OUT;寄存器寻址:参加运算的数据在 R0-R3 的寄存器中,例如“ ADD A,R0” 指令是将寄存器 R0的值加上累加器 A 的值,再存入累加器 A 中;寄存器间接寻址:参加运算的数据在储备器 EM中,数据的地址在寄存器 R0-R3 中,例如 “ MOV A,R1” 指令是将寄存器 R1 的值做为地址,把储备器 EM中该地址的内容送入累加器 A 中;储备器直接寻址:参加运算的数据在储备器EM 中,数据的地址为指令的操作数;例如立刻数寻址:“ AND A,40H” 指令是将储备器EM 中 40H 单元的数据与累加器A的值做规律与运算,结果存入累加器A;参加运算的数据为指令的操作数;例如“ SUB A, #10H” 是从累加器 A 中减去立刻数10H,结果存入累加器A;4、脱机调试(1)点击桌面 COP2000图标,进入集成试验环境;(2)挑选新建指令系统,进入编辑与调试窗口;六、课程设计报告要求 1、使用校发的统一课程设计报告用纸;<参考理论课教材);2、表达微程序掌握器原理、设计方法及步骤3、画出复杂模型机数据通路图;4、画出设计的复杂模型机微程序流程图;5、写出脱机操作时的十六进制格式文件;名师归纳总结 - - - - - - -第 6 页,共 7 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用6、调试情形;7、课程设计收成;名师归纳总结 - - - - - - -第 7 页,共 7 页