《2022年计算机组成课程方案大纲》由会员分享,可在线阅读,更多相关《2022年计算机组成课程方案大纲(7页珍藏版)》请在金锄头文库上搜索。
1、个人资料整理仅限学习使用计算机组成原理课程设计大纲课程名称:计算机组成原理课程设计实验学时:1 周/人课程编号:学分: 1 课程总学时: 28实验学时: 28 课程总学分: 1 适用专业及年级:计算机科学与技术三年级课程负责人:许高攀大纲主撰人:许高攀编写日期: 2006年 9 月一、课程设计教案目的及基本要求计算机组成原理课程设计是计算机科学与技术专业集中实践性环节之一,是学习完计算机组成原理课程后进行的一次全面的综合练习。其目的是综合运用所学计算机原理知识,设计并实现一台较为复杂的模型计算机,以便巩固所学的知识,提高分析问题和解决问题的能力。二、课程设计内容及安排根据 COP2000模型机
2、数据通路图实现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
3、其中, OP-CODE 为操作码, Rs 为源寄存器, Rd为目的寄存器,并规定:Rs或 Rd 选定的寄存器0 0 0 1 1 0 R0 R1 R2 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 7 页个人资料整理仅限学习使用9 条算术逻辑指令的名称、功能和具体格式见表1。 访问指令及转移指令模型机设计2 条访问指令,即存数STA)、取数 LDA ), 2 条转移指令,即无条件转移JMP )、结果为零转移指令JRZ ),指令格式为: 7 6 5 4 3 2 1 0 M 0 OP-CODE Rd D 其中, OP-CODE 为操作码,
4、Rd 为目的寄存器地址LDA 、STA指令使用)。 D 为位移量 正负均可),M为寻址模式,其定义如下:寻址模式M 有效地址E 说明0 0 0 1 1 0 1 1 E= D E=D )E=IR)+D E=PC )+D 直接寻址间接寻址RI 变址寻址相对寻址本模型机规定变址寄存器RI 指定为寄存器R2。 I/O指令输入 IN)和输出 指令,选中INPUT DEVICE中的开关组作为输入设备,而OUT )指令,选中OUTPUT DEVICE中的 LED作为输出设备。 指令系统模型机的缺省的指令集分几大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/ 输出指令。
5、用户可以通过COP2000计算机组成原理实验软件或组成原理实验仪来设计自己的指令集。助记符机器码 1 机器码 2 注释 _FATCH_ 000000xx 实验机占用,不可修改。复位后,所有寄存器清0,首先执行 _FATCH_ 指令取指000001xx 未使用000010xx 未使用000011xx 未使用 ADD A, R? 000100xx 将寄存器 R? 的值加入累加器A中 ADD A, R? 000101xx 将间址存储器的值加入累加器A中 ADD A, MM 000110xx MM 将存储器 MM 地址的值加入累加器A中 ADD A, #II 000111xx II 将立即数 II 加
6、入累加器 A中 ADDC A, R? 001000xx 将寄存器 R? 的值加入累加器A中,带进位 ADDC A, R? 001001xx 将间址存储器的值加入累加器A中,带进位 ADDC A, MM 001010xx MM 将存储器 MM 地址的值加入累加器A中,带进位 ADDC A, #II 001011xx II 将立即数 II 加入累加器 A中,带进位 SUB A, R? 001100xx 从累加器 A中减去寄存器 R?的值精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 7 页个人资料整理仅限学习使用 SUB A, R? 001
7、101xx 从累加器 A中减去间址存储器的值 SUB A, MM 001110xx MM 从累加器 A中减去存储器 MM 地址的值 SUB A, #II 001111xx II 从累加器 A中减去立即数 II 加入累加器 A中 SUBC A, R? 010000xx 从累加器 A中减去寄存器 R?的值,减进位 SUBC A, R? 010001xx 从累加器 A中减去间址存储器的值,减进位 SUBC A, MM 010010xx MM 从累加器 A中减去存储器 MM 地址的值,减进位 SUBC A, #II 010011xx II 从累加器 A中减去立即数 II ,减进位 AND A, R?
8、010100xx 累加器 A“与”寄存器 R?的值 AND A, R? 010101xx 累加器 A“与”间址存储器的值 AND A, MM 010110xx MM 累加器 A“与”存储器 MM 地址的值 AND A, #II 010111xx II 累加器 A“与”立即数 II OR A, R? 011000xx 累加器 A“或”寄存器 R?的值 OR A, R? 011001xx 累加器 A“或”间址存储器的值 OR A, MM 011010xx MM 累加器 A“或”存储器 MM 地址的值 OR A, #II 011011xx II 累加器 A“或”立即数 II MOV A, R? 01
9、1100xx 将寄存器 R? 的值送到累加器A中 MOV A, R? 011101xx 将间址存储器的值送到累加器A中 MOV A, MM 011110xx MM 将存储器 MM 地址的值送到累加器A中 MOV A, #II 011111xx II 将立即数 II 送到累加器 A中 MOV R?, A 100000xx 将累加器 A的值送到寄存器R?中 MOV R?, A 100001xx 将累加器 A的值送到间址存储器中 MOV MM, A 100010xx MM 将累加器 A的值送到存储器MM 地址中 MOV R?, #II 100011xx II 将立即数 II 送到寄存器 R? 中RE
10、AD MM 100100xx MM 从外部地址 MM 读入数据,存入累加器A中WRITE MM 100101xx MM 将累加器 A中数据写到外部地址MM 中100110xx 未使用100111xx 未使用 JC MM 101000xx MM 若进位标志置 1,跳转到 MM 地址 JZ MM 101001xx MM 若零标志位置 1,跳转到 MM 地址101010xx 未使用 JMP MM 101011xx MM 跳转到 MM 地址101100xx 未使用101101xx 未使用 _INT_ 101110xx 实验机占用,不可修改。进入中断时,实验机硬件产生 _INT_ 指令 CALL MM
11、101111xx MM 调用 MM 地址的子程序 IN 110000xx 从输入端口读入数据到累加器A中 OUT 110001xx 将累加器 A中数据输出到输出端口110010xx 未使用 RET 110011xx 子程序返回 RR A 110100xx 累加器 A右移 RL A 110101xx 累加器 A左移 RRC A 110110xx 累加器 A带进位右移 RLC A 110111xx 累加器 A带进位左移 NOP 111000xx 空指令 CPL A 111001xx 累加器 A取反,再存入累加器A中111010xx 未使用 RETI 111011xx 中断返回111100xx 未使
12、用111101xx 未使用111110xx 未使用111111xx 未使用表 1 指令系统四、复杂模型机数数据通路框图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 7 页个人资料整理仅限学习使用图 1 复杂模型机数数据通路框图五、总体设计1、复杂模型机微程序流程图设计根据图 1 复杂模型机数据通路框图和表1 指令系统要求,设计出图3 所示结构的微程序流程图。确定实现机器指令功能的微程序段的入口微地址,同时确定微程序流程图中各微指令的微地址。 01 02 20 00直接) 11 P(2 精选学习资料 - - - - - - - - -
13、名师归纳总结 - - - - - - -第 4 页,共 7 页个人资料整理仅限学习使用 Lad 1C Bzc 1F 01010E NO 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 ,以及中断控制电路、跳转控制电路。其
14、中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。模型机为8 位机,数据总线、地址总线都为8 位,但其工作原理与16 位机相同。相比而言 8 位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。模型机的指令码为8 位,根据指令类型的不同,可以有0 到 2 个操作数。指令码的最低两位用来选择R0-R3 寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时
15、钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24 位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24 位控制位分别介绍如下: XRD : 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR: 程序存储器EM写信号。 EMRD: 程序存储器EM读信号。 PCOE : 将程序计数器PC的值送到地址总线ABUS上。 EMEN : 将程序存储器EM与数据总线DBUS 接通,由EMWR 和 EMRD 决定是将DBUS 数据写到 EM中,还是从EM读出数据送到DBUS 。 IREN : 将程序存储器EM读出的数据打入指令寄存器I
16、R 和微指令计数器uPC 。 EINT: 中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP : PC 打入允许,与指令寄存器的IR3、IR2 位结合,控制程序跳转。Z=1 P(3 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 7 页个人资料整理仅限学习使用 MAREN:将数据总线DBUS 上数据打入地址寄存器MAR 。 MAROE:将地址寄存器MAR 的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS 上数据送到输出端口寄存器OUT里。 STEN : 将数据总线DBUS 上数据存入堆栈寄存器ST中。 RRD :读
17、寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN :决定运算器是否带进位移位,CN=1带进位, CN=0不带进位。 FEN :将标志位存入ALU内部的标志寄存器。 X2 : X2 、X1、X0三位组合来译码选择将数据送到DBUS 上的寄存器。 X1 :见 16 页表。 X0 : WEN :将数据总线DBUS 的值打入工作寄存器W中。 AEN : 将数据总线DBUS的值打入累加器A中。 S2 : S2 、S1、S0三位组合决定ALU做何种运算。 S1 :见 14 页表。 S0 :3. 模型机寻址方式模型机的寻址
18、方式分五种:累加器寻址:操作数为累加器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”指
19、令是将存储器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 页