收藏 分销(赏)

计算机组成原理课程设计大纲.doc

上传人:s4****5z 文档编号:8656840 上传时间:2025-02-24 格式:DOC 页数:7 大小:146.50KB
下载 相关 举报
计算机组成原理课程设计大纲.doc_第1页
第1页 / 共7页
计算机组成原理课程设计大纲.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
《计算机组成原理》课程设计大纲 课 程 名 称:计算机组成原理课程设计   实验学时:1周/人 课 程 编 号:   学分:1 课 程 总 学 时:28  实验学时:28 课 程 总 学 分:1     适用专业及年级:计算机科学与技术三年级 课 程 负 责 人:许高攀     大 纲 主 撰 人:许高攀 编 写 日 期: 2006年9月  一、课程设计教学目的及基本要求 《计算机组成原理》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《计算机组成原理》课程后进行的一次全面的综合练习。其目的是综合运用所学计算机原理知识,设计并实现一台较为复杂的模型计算机,以便巩固所学的知识,提高分析问题和解决问题的能力。 二、课程设计内容及安排 根据COP2000模型机数据通路图实现80C51指令系统,画出微程序流程图,编写出微指令代码,以脱机方式在Cop2000实验平台下调试通过,最后以文件(.ins)的形式提交。 三、数据格式及指令系统 ⒈ 数据格式   模型机规定采用定点补码表示数据,且字长为8位,其格式如下: 7 6 5 4 3 2 1 0 符 号 尾 数   其中第7位为符号位,数值表示范围是:-1≤X<1。 ⒉ 指令格式   模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。   ⑴ 算术逻辑指令   设计10条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE Rs Rd 其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定: Rs或Rd 选定的寄存器 0 0 0 1 1 0 R0 R1 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为目的寄存器地址(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)和输出(OUT)指令采用单字节指令,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE 0 0 Rd   其中(IN)指令,选中"INPUT DEVICE"中的开关组作为输入设备,而(OUT)指令,选中"OUTPUT DEVICE"中的LED作为输出设备。    ⒊ 指令系统 模型机的缺省的指令集分几大类: 算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。用户可以通过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加入累加器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?的值 SUB A, @R? 001101xx 从累加器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? 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? 011100xx 将寄存器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?中 READ 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 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 未使用 111101xx 未使用 111110xx 未使用 111111xx 未使用 表1 指令系统 四、复杂模型机数数据通路框图 图1 复杂模型机数数据通路框图 五、总体设计 1、复杂模型机微程序流程图设计 根据图1 复杂模型机数据通路框图和表1指令系统要求,设计出图3所示结构的微程序流程图。确定实现机器指令功能的微程序段的入口微地址,同时确定微程序流程图中各微指令的微地址。 01 Pc→Ar Pc+1 02 Ram→Bus Bus→Ir P(1) 20 00(直接) 11(相对) IN RLC 20 26 28 2F 01 P(2) 08 Lad 1C Bzc 1F 01 Z=1 P(3) 01 0E 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,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用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位结合,控制程序跳转。 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三位组合来译码选择将数据送到DBUS上的寄存器。 X1: 见16页表。 X0: 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、课程设计收获。 7
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服