2020年计算机组成原理课程设计.docx
《2020年计算机组成原理课程设计.docx》由会员分享,可在线阅读,更多相关《2020年计算机组成原理课程设计.docx(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机组成原理课程设计计算机组成原理课程设计报告、课程设计目的1 .在实验机上设计实现机器指令及对应的微指 令(微程序)并验证,从而进一步掌握微程序设 计控制器的基本方法并了解指令系统与硬件结 构的对应关系;2 .经过控制器的微程序设计,综合理解计算机 组成原理课程的核心知识并进步建立整机系 统的概念;3 .培养综合实践及独立分析、解决问题的能力。二、课程设计的任务针对COP实验仪,从详细了解该模型机的 指令/微指令系统入手,以实现乘法和除法运算 功能为应用目标,在COP的集成开发环境下, 设计全新的指令系统并编写对应的微程序;之后 编写实现乘法和除法的程序进行设计的验证。三、课程设计使用的设
2、备(环境)1 .硬件 COP实验仪 PC机2 .软件 COP仿真软件四、课程设计的具体内容(步骤)L详细了解并掌握COP模型机的微程序控制 器原理,经过综合实验来实现该模型机指令系统的特点:总体概述COP模型机包括了一个标准CPU所具备所有 部件,这些部件包括:运算器ALU、累加器A、 工作寄存器W、左移门L、直通门D、右移门R、 寄存器组R0-R3、程序计数器PC、地址寄存器 MAR、堆栈寄存器ST、中断向量寄存器IA、输入 端口 IN、输出端口寄存器OUT、程序存储器EM、 指令寄存器IR、微程序计数器uPC、微程序存储 器uM,以及中断控制电路、跳转控制电路。其 中运算器和中断控制电路以
3、及跳转控制电路用 CPLD来实现,其它电路都是用离散的数字电路 组成。微程序控制部分也能够用组合逻辑控制来 代替。模型机的指令码为8位,根据指令类型的不同,能够有0到2个操作数。指令码的最低两位 用来选择R0-R3寄存器,在微程序控制方式中, 用指令码做为微地址来寻址微程序存储器,找到 执行该指令的微程序。而在组合逻辑控制方式 中,按时序用指令码产生相应的控制位。在本模 型机中,一条指令最多分四个状态周期,个状 态周期为个时钟脉冲,每个状态周期产生不同 的控制逻辑,实现模型机的各种功能。模型机有 24位控制位以控制寄存器的输入、输出,选择 运算器的运算功能,存储器的读写。模型机的缺省的指令集分
4、几大类:算术运算 指令、逻辑运算指令、移位指令、数据传输指令、 跳转指令、中断返回指令、输入/输出指令。模型机的寻址方式表1模型机的寻址方式模型机的 寻址方式寻址方式说 明指令举 例指令说明累加器寻操作数为累 加器ACPL A将累加器A 的值取反址隐含寻址累 加器AOUT将累加器A 的值输出到输出端口寄存器OUT寄存器寻 址参与运算的 数据在 R0R3的寄 存器中ADDA, RO将寄存器R0 的值加上累 加器A的值, 再存入累加 器A中参与运算的将寄存器R1数据在存储的值作为地寄存器间器EM中,数MOV址,把存储器接寻址据的地址在A, R1EM中该地址寄存器的内容送入R0-R3 中累加器A中存
5、储器直 接寻址参与运算的 数据在存储 器EM中,数 据的地址为 指令的操作 厶 数。ANDA, 40H将存储器EM 中40H单元 的数据与累 加器A的值 作逻辑与运 算,结果存入 累加器A立即数寻参与运算的SUB从累加器A址数据为指令A, #10H中减去立即的操作数。数10H,结果 存入累加器ACOP模型机指令的最低两位(IR0和IR1) 用来寻址R0-R3四个寄存器;IR2和!R3与ELP 微控制信号,Cy和Z两个程序状态信号配合, 控制PC的置数即程序的转移。各种转移的条件 判断逻辑如下所示:PC置数逻辑当ELP=1时,不允许PC被预置当ELP=0时当!R3=1时,无论Cy和Z什么状 态,
6、PC被预置当!R3=0时若IR2=0,则当Cy=l时PC被 预置若IR2=1,则当Z=!时PC被 预置本模型机时序控制采用不定长机器周期的 同步控制方式,一条指令最多分四个节拍。 系统提供的默认指令系统包括以下7类指令:W q片的出,鉅片田也她的任必叱左上出AADD A, R?AND A, R?MOV A, R?JC MMADD A, R?AND A, R?MOV A, R?JZ MMADD A, MMAND A, MMMOV A, MMJMP MMADD A, #11AND A, #11MOV A, #11CALL MM RETADDC A, R?OR A. R?MOV R?. Aadc移位
7、指令:中断皈口指输入/输出AD A, K rRR ARET IREAD MMADDC A, MMRL AWRITE MMADDC A, #11RRC AIN该模型机微指令系统的特点(包括其微 指令格式的说明等):总体概述该模型机的微命令是以直接表示法进行编码 的,其特点是操作控制字段中的每一位代表个 微命令。这种方法的优点是简单直观,其输出直 接用于控制。缺点是微指令字较长,因而使控制 存储器容量较大。微指令格式的说明模型机有24位控制位以控制寄存器的输 入、输出,选择运算器的运算功能,存储器的读写。微程序控制器由微程序给出24位控制信号, 而微程序的地址又是由指令码提供的,也就是说 24位控
8、制信号是由指令码确定的。该模型机的 微指令的长度为24位,其中微指令中只含有微 命令字段,没有微地址字段。其中微命令字段采 用直接按位的表示法,哪位为0,表示选中该微 操作,而微程序的地址则由指令码指定。这24 位操作控制信号的功能如表2所示:(按控制信 号从左到右的顺序依次说明)表2微指令控制信号的功能操作授 制信号控制信号的说明XRD外部设备读信号,当给出了外设的地址 后,输出此信号,从指定外设读数据。EMW R程序存储器EM写信号。EMRD程序存储器EM读信号。PCOE将程序计数器PC的值送到地址总 线 ABUS oEMEN将程序存储器EM与数据总线 DBUS 接通,由 EMWR 和 E
9、MRD决定是将DBUS数据写到EM中, 还是从EM读出数据送到DBUSoIREN将程序存储器EM读出的数据打入指 令寄存器!R和微指令计数器gPCoEINT中断返回时清除中断响应和中断 请求标志,便于下次中断。ELPPC打入允许,与指令寄存器的 IR3、IR2位结合,控制程序跳转。MAREN将数据总线DBUS上数据打入地址 寄存器MARoMAROE将地址寄存器MAR的值送到地址 总线ABUS 0OUTEN将数据总线DBUS上数据送到输出 端口寄存器OUT里。STEN将数据总线DBUS上数据存入堆栈 寄存器ST中。RRD读寄存器组RR3,寄存器R?的 选择由指令的最低两位决定。RWR写寄存器组R
10、R3,寄存器R?的 选择由指令的最低两位决定。CN决定运算器是否带进位移位, CN=1带进位,CN=0不带进位。FEN将标志位存入ALU内部的标志寄 存器。X2X2、XI、X0三位组合来译码选择 将数据送到DBUS上的寄存器。XIX0WEN将数据总线DBUS的值打入工作寄 存器W中。AEN将数据总线DBUS的值打入累加器 A中。S2S2、SI、SO三位组合决定ALU做 何种运算。S1SOCOP中有7个寄存器能够向数据总线输出数 据,但在某特定时刻只能有一个寄存器输出 数据.由X2, XI, X0决定那一个寄存器输出数 据。X2 XIX0输出寄存器000IN_OE外部输入门001IA_OE中断向
11、量010ST_OE堆栈寄存器011PC_OEPC寄存器! 0D_OE直通门101R_OE右移门1 10L_OE左移门1 11没有输出COP中的运算器由一片EPLD实现,有8种运 算,经过S2, SI, SO来选择。运算数据由寄存器 A及寄存器W给出,运算结果输出到直通门D。01aiwH或001A&W与110A+W+C带0进位加10A-W-C带1进位减11AA0取反11A输1出A2计算机中实现乘法和除法的原理(1)无符号乘法实例演示(即,列4位乘法具体例子演 算的算式):10 0 1;被乘数0 10 10 0 0 0;初始值(零)+0 10 1();乘数最低位为1,部分积加乘数,被乘数左移位,乘
12、 数右移 一位。0 10 1;部分积+0 0 0 0(1);乘数最低位为,部分积加,被乘数左5移 一位, 乘数右 移 位。0 0 10 1;部分积+0101(1);乘数最低位为1,部分积加被乘数,被乘数左一位,乘数 右移一位。01100 1;部分积+ 00 0 0();乘数最低位为,部分积加,被乘数左移一位,乘 数右移 一位。(0) 0 0 1 1 0 0 1;计算完毕,结果为0011001即:1001X0110=0011001 硬件原理框图:在模型机上实现无符号数乘法运算时,采 用“加法一移位”的重复运算方法。那么, 无符号乘法的硬件原理框图如图2所示。算法流程图:在模型机上实现无符号数乘法
13、运算时,采用 “加法一移位”的重复运算方法。因此,无符号 乘法的算法流程图如图3所示。算法流程图文档仅供参考,不当之处,请联系改正。(2)无符号除法实例演示(即,列4位除法具体例子演 算的算式):被除数为01100100 (二进制),即为十进制的 100;除数为1001 (二进制),即为十进制的9。 那么,能够经过笔算得到:01100100+1001=1011 0001即十进制运算结果为:1004-9=11-1无符号除法的实例演示如图4所示0 10 111 16- 1 1 ! ;被除数1001;除数;减去除数余数为负,C=l,商上01001 ; 商左移一位,除数右移 一位;加上 除数00011
14、;余数为正,C=0,商上11001;商左移一位,除数右移 一位;减去除数1111100;余数为负,C=l,商上100;商左移一位,除数右移一位;加上除数0 0 0 0 1 0 10;余数为正,商上11001;商左移位,除数右移一位;减去除数0 0 0 0 0 0 01;余数为正,C=0,商上1,余数为1;余数为正不用处理 硬件原理框图:图5无符号除法的硬件原理框图在模型机上实现无符号数除法运算时,釆 用“加减交替算法”的运算方法。那么,无 符号除法的硬件原理框图如图5所示。算法流程图:文档仅供参考,不当之处,请联系改正。3.对应于以上算法如何分配使用COP实验仪 中的硬件(初步分配,设计完成后
15、再将准确的使用情况填 写在此处)(1)无符号乘法符号乘法对应于COP实验仪的硬件具体分 配使用情况如下表所示:表3无符号乘法的硬件分配情况硬件名称实现算法功能描述寄存器R0计算时用来存放部分积和最后 的积寄存器R1 初始化时,用来存放被乘、数;在程序执行的过程中,用来 存放向左移位后的被乘数。寄存器R2 初始化时,用来存放乘数;在程序执行的过程中,用来 存放向右移位后的乘数。累加器A执行 ADDA, R?(加法)、SHL R? (左移一位)、SHR R?(右移一位)等命令时所必须使用的 寄存器。寄存器W执行 ADD A, R?(加法)、TEST R?,#H (测试R2的末位)等双 操作数命令时
16、所必须使用的寄 存器。左移门L用来实现相应数据左移一位的 运算,并能够控制该运算后的 结果是否输出到数据总线。直通门D用来控制ALU的执行结果是否输出到数据总线。右移门R用来实现相应数据右移一位的 运算,并能够控制该运算后的 结果是否输出到数据总线。程序计数 器PC控制程序按顺序正常执行;当执行转移指令时,从数据 线接收要跳转的地址,使程序 能够按需要自动执行。当要从EM中读取数据时, 由PC提供地址。存储器EM存储指令和数据。微程序计 数器uPC向微程序存储器UM提供相应 微指令的地址。微程序存 储器UM存储相应指令的微指令。输出寄存 器OUT能够将运算结果输出到输出寄 存器OUT (本实验
17、未用)。堆栈ST当存储于累加器A的值将要受 到破坏时,将其数据保存在堆 栈ST中,使程序能够正常地执 行。(2)无符号除法无符号除法对应于COP实验仪的硬件具体 分配使用情况如下表所示:表4无符号除法的硬件分配情况硬件名称实现算法功能描述寄存器R0初始化时,用来存放被除数和 计算后的余数。寄存器R1初始化时,用来存放除数;在程序执行的过程中,用来 存放向右移位后的除数。寄存器R2在程序执行过程中,用来保存 当前算得的商。寄存器R3当作计数器使用,用来控制程 序是否结束(初始值5)。累加器A计算时用来存放中间结果; 执行ADDA, R?(加法)、SUB A, R?(减法)等命令时所必须 使用的寄
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2020 计算机 组成 原理 课程设计
限制150内