计组课程设计报告
- 格式:doc
- 大小:1.42 MB
- 文档页数:18
《计算机组成原理与系统结构》课程设计实验报告课题:两个16位二进制数加法计算班级:成员:完成日期:2013年10月11日一:课程设计步骤1.确定设计目标综合考虑实验条件及自身能力水平,以及设计功能的可靠性和实用性,我们小组决定将设计目标定为“两个16位二进制数相加”。
分两次分别输入两个加数的低八位和高八位,输出两个16位二进制数相加的结果。
2.确定指令系统(1)数据格式8位,其格式如下:(2模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
①算术逻辑指令设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:②I/O指令输入(1N其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“INPUT DEVICE”中的数码块作为输入设备。
③访问指令及转移指令模型机设计两条访问指令,即存数(STA)、取数(LDA),两条颛臾指令,即。
D为位移量(正负均可),本模式机规定变址寄存器RI指定为寄存器R2④停机指令HALT(3)指令系统在这次模型机设计中,为了实现两个16位二进制数相加的功能,我们一共使用了XOR(新设计指令),ADC,INC,LDA,STA,JMP,BZC,IN,OUT,HALT共10个机器指3.总体结构和数据通路:总体结构和数据通路图请参见附录1。
4.微程序流程图:微程序流程图请参见附录2。
5.机器码及微程序:机器码及微程序请参见附录3。
二.课程设计总结这门课程是一门对综合能力和基础知识要求非常高的课程。
成功完成实验内容,需要熟悉《汇编语言》,《计算机组成原理》,《离散数学》和《数字逻辑》各门课程的基础知识,并且要加以拓展和熟练运用,这对我们整个小组来说是一个不小的挑战。
实验刚刚开始的阶段,我们参考了高年级同学的实验报告和设计过程,起初觉得束手无策,很多内容都不知道其中的含义和思考及设计的过程。
目录一、课程设计题目 (1)二、嵌入式CISC模型机数据通路框图 (1)三、操作控制器的逻辑框图 (1)四、模型机的指令系统和所有指令的指令格式 (2)五、设计时序产生器电路 (3)六、机器指令的微程序流程图 (4)七、嵌入式CISC模型计算机的顶层电路图 (4)八、汇编语言源程序 (5)九、机器语言源程序 (5)十、机器语言源程序的功能仿真波形图及结果分析 (5)十一、微命令格式和微指令代码表 (7)十二、故障现象与故障分析 (8)十三、心得体会 (8)十四、软件清单 (9)计算机组成原理课程设计说明书一、课程设计题目输入5个整数(有符号数),输出所有正数的平方和。
二、嵌入式CISC模型机数据通路框图三、操作控制器的逻辑框图说明:在T4内形成微指令的微地址,并访问控制存储器,在T2的上边沿到来时,将读出的微指令打入微指令寄存器,即图中的微命令寄存器和微地址寄存器。
四、模型机的指令系统和所有指令的指令格式本课设采用13条共计9类机器指令:MOV、IN、CMP、JS、MUL、ADD、DEC、JMP、OUT(10)指令助记符指令格式功能15--12 11 10 9 8 7-----------0IN Rd 0001 ××Rd ××××××××输入设备→RdMOV Rd,im 0010 ××Rd im 立即数→RdADD Rs,Rd 0100 Rs Rd ××××××××(Rs)+(Rd)→Rd,锁存标志位DEC Rd 0110 ××Rd ××××××××(Rd)-1→Rd,锁存标志位JMP addr 1001 ××××addr addr→PCOUT Rs 1010 Rs ××××××××××(Rs)→输出设备MUL Rd,Rd 1100 Rd Rd ××××××××(Rd) *(Rd)→Rd CMP Rs,Rd 1101 Rs Rd ××××××××(Rs)-(Rd),锁存SF和CF JS addr 1110 ××××addr 若小于,则addr→PC(11)其中对Rs和Rd的规定Rs 或 Rd 选定寄存器0 0 R00 1 R11 0 R21 1 R3(12)模型计算机规定数据的表示采用定点整数补码表示,单字长8位,其格式如下:7 6 5 4 3 2 1 0符号位尾数五、设计时序产生器电路六、机器指令的微程序流程图注:以结尾的后继微地址都是00 七、嵌入式CISC模型计算机的顶层电路图八、汇编语言源程序指令功能MOV R1,0 --R1置为0,用于判断正数;MOV R2,0 --R2置为0,用于存放平方和;MOV R3,4 --R3置为4,计输入次数;L1:IN R0 --输入数据存到R0;CMP R1,R0 —将R0与R1比较,判断正负;JS L2 --若为负数,跳到L2执行;MUL R0,R0 --若为正数,作平方运算存到R0;ADD R0,R2 --R0+R2结果存到R2;L2:DEC R3 --每输入一次,R3由4自减到0;CMP R3,R1 --判断次数;JS L1 --次数不到5次,返回L1继续输入数据;L3:OUT R2 --满5次,输出结果;JMP L3 --结束九、机器语言源程序地址汇编语言源程序机器语言00 MOV R1,0 001000010000000001 MOV R2,0 001000100000000002 MOV R3,4 001000110000010003 L1:IN R0 000100000000000004 CMP R1,R0 110101000000000005 JS L2 111000000000100006 MUL R0,R0 110000000000000007 ADD R0,R2 010000100000000008 L2:DEC R3 011000110000000009 CMP R3,R1 1101110100000000 0A JS L1 1110000000000011 0B L3:OUT R2 1010100000000000 0C JMP L3 1001000000001011十、机器语言源程序的功能仿真波形图及结果分析输入5个数据: 01,FF(-1),02,FE(-2),03结果应为: 0E最后的仿真图中,R2与OUTBUS 上数据均为0E,仿真测试成功。
计算机组成原理课程设计报告班级::学号:完成时间:一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令〔微程序〕并验证,从而进一步掌握微程序设计控制器的根本方法并了解指令系统与硬件构造的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进展设计的验证。
三、课程设计使用的设备〔环境〕1.硬件● COP2000实验仪● PC机2.软件●COP2000仿真软件四、课程设计的具体容〔步骤〕1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:1〕指令系统特点与设计模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3存放器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24位控制位以控制存放器的输入、输出,选择运算器的运算功能,存储器的读写。
指令系统包括以下七类:23〕指令格式该模型机微指令系统的特点〔包括其微指令格式的说明等〕:微指令格式2.计算机中实现乘法和除法的原理〔1〕无符号乘法①实例演示〔即,列4位乘法具体例子演算的算式〕:被乘数为1001〔二进制〕,即为十进制的9;乘数为0110〔二进制〕,即为十进制的6。
那么,可以通过笔算得到:1001×0110=00110110即十进制运算结果为:9×6=54无符号乘法的实例演示如图1所示:1 0 0 1 ;被乘数× 0 1 1 0 ;乘数0 0 0 0 ;初始值〔零〕+ 0 0 0 0 〔0〕;乘数最低位为0,局部积加0,被乘数左移一;位,乘数右移一位。
长治学院课程设计报告课程名称:计算机组成原理课程设计设计题目:设计一台性能简单的计算机系别:计算机系专业:计科1101班组别:第三组学生姓名: 学号:起止日期: 2013年7月4日~ 2013年7月10日****:***目录一、课程设计的目的 ----------------------------------1二、设计要求 ----------------------------------------1三、设计的方法及过程---------------------------------23.1整机设计 --------------------------------------23.1.1 根据设计要求正确设置正确设置多路开关-------23.1.2操作控制信号及其实现方式-------------------23.1.3根据接线表画出整机的线路图-----------------2 3.2.设计指令系统----------------------------------3 3.3.设计微指令及指令的微程序----------------------43.3.1设计微地址 --------------------------------4 3.3.2写出指令的执行流程-------------------------3 3.3.3编写指令的微程序---------------------------53.4.编写并执行应用程序----------------------------8四、心得体会-----------------------------------------7 一课程设计的目的通过课程设计更清楚地理解下列基本概念:(1)计算机的硬件基本组成;(2)计算机中机器指令的设计;(3)计算机中机器指令的执行过程;(4)微程序控制器的工作原理;(5)微指令的格式设计原理;二设计要求题一研制以台性能如下的实验计算机。
计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。
本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。
二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
通过该设计,我们可以掌握计算机系统的基本组成和工作原理,加深对计算机组成原理的理解。
三、设计方案1. CPU设计1.1 硬件设计CPU由控制单元和算术逻辑单元组成。
控制单元负责指令的解码和执行,算术逻辑单元负责算术和逻辑运算。
1.2 指令设计设计一套简单的指令集,包括算术运算指令、逻辑运算指令、数据传输指令等。
1.3 寄存器设计设计一组通用寄存器,用于存储数据和地址。
2. 存储器设计2.1 主存储器设计一块主存储器,用于存储指令和数据。
2.2 辅助存储器设计一个简单的辅助存储器,用于存储大容量的数据。
3. 输入输出设备设计3.1 键盘输入设备设计一个键盘输入设备,用于接收用户的输入。
3.2 显示器输出设备设计一个显示器输出设备,用于显示计算结果。
四、实施步骤1. CPU实现1.1 根据CPU的硬件设计,搭建电路原型。
1.2 编写控制单元的逻辑电路代码。
1.3 编写算术逻辑单元的逻辑电路代码。
1.4 进行仿真验证,确保电路的正确性。
2. 存储器实现2.1 设计主存储器的存储单元。
2.2 设计辅助存储器的存储单元。
2.3 编写存储器的读写操作代码。
2.4 进行存储器的功能测试,确保读写操作的正确性。
3. 输入输出设备实现3.1 设计键盘输入设备的接口电路。
3.2 设计显示器输出设备的接口电路。
3.3 编写输入输出设备的读写操作代码。
3.4 进行输入输出设备的功能测试,确保读写操作的正确性。
五、实验结果与分析通过对CPU、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。
计算机组成原理课程设计总结报告[优秀范文5篇]第一篇:计算机组成原理课程设计总结报告大庆师范学院计算机组成原理课程设计总结报告设计题目:基本模型机的模拟设计与实现子题目:外部中断控制流水灯、蜂鸣器学生姓名:院别:专业:班级:学号:指导教师:2011 年 7 月 5日大庆师范学院课程设计任务书题目基本模型机的模拟设计与实现主要内容:对基本模型机的设计与实现,能够自己设计机器指令并且能够翻译为微程序,并能将机器指令和微程序分别打入模拟机的内存和控制存储其中,并通过程序调试能将所编写的程序正确运行。
参考资料:《计算机组成原理》唐朔飞著《计算机组成原理》白中英著《计算机组成原理实验指导》完成期限:一周指导教师签名:2011年 7 月5日大庆师范学院本科毕业论文(设计)大庆师范学院本科毕业论文(设计)目录一、设计目标 (1)二、采用设备 (1)三、设计的原理 (1)3.1 单片机..............................................................................1 3.2中断方式...........................................................................2 3.3实现控制LED 和蜂鸣器的原理 (3)四、逻辑电路图 (3)4.1LED小灯原理图..................................................................... 3 4.2扬声器原理图..................................................................... 3 4.3单片机的独立按键原理图 (4)五、程序代码...........................................................................4 5.1C语言的特点及选择...............................................................4 5.2 程序代 (5)六、调试情况 (5)6.1在keil环境下,编写外部中断的程序…………………………………6 6.2软件调试的步骤 (6)七、心得体会 (6)八、参考文献 (7)大庆师范学院本科毕业论文(设计)摘要:本文介绍了在89c51单片机系统中设计外部中断流水灯、蜂鸣器的一种方法。
计组实验报告(共10篇)计组实验报告计算机组成原理实验报告一一、算术逻辑运算器1. 实验目的与要求:目的:①掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
②掌握简单运算器的数据传输通道。
③验算由74LS181等组合逻辑电路组成的运输功能发生器运输功能。
④能够按给定数据,完成实验指定的算术/逻辑运算。
要求:完成实验接线和所有练习题操作。
实验前,要求做好实验预习,掌握运算器的数据传送通道和ALU 的特性,并熟悉本实验中所用的模拟开关的作用和使用方法。
实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。
实验完成后,要求每个学生写出实验报告。
2. 实验方案:1.两片74LS181(每片4位)以并/串联形式构成字长为8为的运算器。
2.8为运算器的输出经过一个输入双向三态门(74LS245)与数据总线相连,运算器的两个数据输入端分别与两个8位寄存器(74LS273)DR1和DR2的输出端相连,DR1和DR2寄存器是用于保存参加运算的数据和运算的结果。
寄存器的输入端于数据总线相连。
3.8位数据D7~D0(在“INPUT DEVICE”中)用来产生参与运算的数据,并经过一个输出三态门(74LS245)与数据总线相连。
数据显示灯(BUS UNIT)已与数据总线相连,用来显示数据总线上所内容。
4.S3、S2、S1、S0是运算选择控制端,由它们决定运算器执行哪一种运算(16种算术运算或16种逻辑运算)。
5.M是算术/逻辑运算选择,M=0时,执行算术运算,M=1时,执行逻辑运算。
6.Cn是算术运算的进位控制端,Cn=0(低电平),表示有进位,运算时相当于在最低位上加进位1,Cn=1(高电平),表示无进位。
逻辑运算与进位无关。
7.ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上。
低电平有效。
目录第1章程序设计 (1)1.1程序设计的目的及要求 (1)1.1.1 程序设计的目的 (1)1.1.2程序设计的要求 (1)1.2程序设计基本原理 (1)1.2.1 实验模型机CPU结构 (1)1.2.2 机器指令的结构和功能 (3)第2章微程序设计 (5)2.1微程序设计流程图 (5)2.2二进制微代码表设计 (6)2.2.1 控制台指令代码与数据 (6)2.2.2 微指令 (7)2.2.3 机器指令与操作码 (7)第3章线路连接 (8)3.1实验线路连接 (8)3.2联机写入程序 (8)3.2.1 微指令的写入 (8)3.2.2 机器指令的写入与检查 (9)第4章程序实现 (11)4.1运行程序 (11)4.1.1 单步运行 (11)4.1.2 连续运行程序 (11)4.2设计新的机器指令 (11)4.3微指令代码 (11)第5章遇到问题及解决方法 (13)5.1所遇到的问题 (13)5.2对应问题的解决方法 (13)设计总结 (14)第1章程序设计1.1 程序设计的目的及要求1.1.1 程序设计的目的1.在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。
2.为其定义若干条机器指令,并编写相应的微程序,上机调试,掌握整机概念。
1.1.2 程序设计的要求1、掌握设计题目所要求的机器指令的操作功能,除了4条必做指令外,每组另外设计2条机器指令。
4条选做指令,供有能力的学生完成。
2、为要设计的机器指令设计操作码和操作数,并安排在RAM(6116芯片)中的地址,形成“机器指令表”。
3、分析并理解数据通路图。
根据数据通路图画出给定的机器指令的微程序流程图,并为其中的每条微指令分配地址。
4、根据微指令格式编写每条微指令的二进制代码,形成“二进制微指令代码表”。
5、全部微程序设计完毕后,按照课程设计指导书中给出的电路接线图连接线路。
6、将微程序中的各个微指令正确地写入2816芯片中,效验正确进行下一步。
计算机组成原理课程设计目录目录1 设计概述 (1)1.1设计题目 (1)1.2设计目的 (1)1.3设计器材 (1)2 设计原理 (2)2.1设计基本原理 (2)2.2需要执行的机器指令 (2)2.3数据通路图 (2)2.4微指令格式 (3)2.5微程序地址的转移 (4)2.6 机器指令的写入、读出和执行 (6)3 设计步骤 (8)3.1编写机器指令 (8)3.2绘制微程序流程图 (8)3.3 编写微指令代码 (10)3.4连接实验线路 (10)3.5写入微指令 (11)3.6写入机器指令 (11)3.7运行程序 (12)4 遇到的问题及解决方法 (13)4.1 遇到的问题 (13)4.2 解决的方法 (13)设计总结 (14)I计算机组成原理课程设计设计概述1 设计概述1.1设计题目基本模型机的设计与实现。
1.2设计目的1.在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。
2.为其定义若干条机器指令,并编写相应的微程序,上机调试,掌握整机概念。
1.3设计器材TDN-CM计算机组成原理教学实验系统一台,排线若干。
1计算机组成原理课程设计设计内容2 设计原理2.1设计基本原理前面的部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次设计将能在微程序控制下自动产生部件信号,实现特定指令功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本次系统使用两种外部设备,一种是二进制代码开关(DATA UNIT),它作为输入设备;另一种是发光二极管(BUS UNIT上的一组发光二极管),它作为输出设备。
例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到数据总线BUS上,驱动发光二极管显示。
2.2需要执行的机器指令本次设计采用六条机器指令;IN(输入)、OR(或运算)、ASR(两个数相减)、AND(二进制与操作)、OAD(混合运算)、OUT(输出),其指令格式如下表2.1所示。
计算机组成原理课程设计报告班级:11计算机、物联网班姓名:学号:完成时间:一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1.硬件●COP2000实验仪●PC机2.软件●COP2000仿真软件四、课程设计的具体内容(步骤)1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:该模型机微指令系统的特点(包括其微指令格式的说明等):2。
计算机中实现乘法和除法的原理(1)无符号乘法①实例演示(即,列4位乘法具体例子演算的算式):②硬件原理框图:③算法流程图:(2)无符号除法①实例演示(即,列4位除法具体例子演算的算式):②硬件原理框图:③算法流程图:3.对应于以上算法如何分配使用COP2000实验仪中的硬件(初步分配,设计完成后再将准确的使用情况填写在此处)4.在COP2000集成开发环境下设计全新的指令/微指令系统设计结果如表所示(可按需要增删表项)(1)新的指令集(设计两个不同指令集要分别列表)(2)新的微指令集5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序(1)乘法4位乘法的算法流程图与汇编语言程序清单:(2)除法4位除法的算法流程图与汇编语言程序清单:6.上述程序的运行情况(跟踪结果)按下表填写描述以上各程序运行情况的内容。
哈尔滨理工大学课程设计(计算机组成原理)题目:简单模型机指令系统的设计班级:计算机科学与技术2015-6姓名:指导教师:***系主任:林克正2017年03月10日目录1.课程设计的目的 (1)2.课程设计的任务 (1)3.课程设计所用设备及所需资料 (1)4.设计内容 (1)4.1设计原理 (1)4.2设计过程与步骤 (3)4.3设计结果及分析 (11)5心得体会 (16)- I-1.课程设计的目的1.在实验机上设计机器指令及对应的微指令(微程序),从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2. 通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3. 培养综合实践及独立分析、解决问题的能力。
2.课程设计的任务针对COP2000实验仪,首先通过综合实验了解该模型机微程序控制器原理(主要指熟悉该模型机指令/微指令系统的详细情况),然后以实现二进制乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;并编写并运行实现乘法和除法的程序进行设计的验证。
3.课程设计所用设备及所需资料1. COP2000实验系统2. PC机( COP2000仿真软件)3. COP2000计算机组成原理实验仪说明书4.设计内容4.1设计原理4.1.1模型机指令系统的特点:COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU,累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组RO-R3 ,程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT,程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。
相比言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。
模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最两位用来选择RO-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里。
STEM:将数据总线DBUS上数据存入堆栈寄存器ST中。
RRD:读寄存器组RO-R3,寄存器R?的选择由指令的最低两位决定。
RWR:写寄存器组RO-R3,寄存器R?的选择由指令的最低两位决定。
CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。
FEN:将标志位存入ALU内部的标志寄存器。
X2:X2, X1, XO二位组合来译码选择将数据送到DBUS上的寄存器。
X1:X0:WEN:将数据总线DBUS的值打入工作寄存器W中。
AEN: 将数据总线DBUS的值打入累加器A中。
S2: S2, S1, SO二位组合决定ALU做何种运算。
S1:S0:4.1.2模型机的寻址方式分五种:1)累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。
2)寄存器寻址:参与运算的数据在RO-R3的寄存器中,例如“ADD A, RO”指令是将寄存器RO的值加上累加器A的值,再存入累加器A中。
3)寄存器间接寻址:参与运算的数据在存储器EM中,数据的地址在寄存器RO-R3中,例如“MOV A, @R1”指令是将寄存器R1的值做为地址,把存储器EM中该地址的内容送入累加器A中。
4)存储器直接寻址:参与运算的数据在存储器EM中,数据的地址为指令的操作数。
例如"AND A, 40H”指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。
5)立即数寻址:参与运算的数据为指令的操作数。
例如“SUB A, #10H”是从累加器A中减去立即数lOH,结果存入累加器A。
4.13模型机指令集模型机的缺省的指令集分几大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。
用户可以通过cop2000计算机组成原理实验软件或组成原理实验仪来设计自己的指令集。
4.2设计过程与步骤4.2.1计算机中实现乘法和除法的算法流程原码一位乘乘法运算可用移位和加法来实现,两个8位数相乘,总共需要进行8次加法运算和8次移位。
由乘数的末位值确定被乘数是否与原部分积相加,然后右移一位,形成新的部分积;同时,乘数也右移一位,由次低位作为新的末位,空出最高位放部分积的最低位。
每次做加法时,被乘数仅仅与原部分积的高位相加,其低位被被移至乘数所空出的高位位置。
计算机很容易实现这种运算规则。
用一个寄存器存放被乘数,一个寄存器存放乘积的高位,另一个寄存器存放乘数及乘积的低位,再配上加法器及其他相应电路,就可组成乘法器。
又因加法只在部分积的高位进行,故不但节省了器材,而且还缩短了运算时间。
其中A,X,Q均为n+1位的寄存器,其中X存放被乘数的原码,Q存放乘数的原码。
移位和加控制电路受末位乘数Qn 的控制(当Qn=1时,A和X内容相加后,A,Q右移一位;当Qn=0时,只作A,Q右移一位的操作)。
计数器C用于控制逐位相乘的次数。
S存放乘积的符号。
GM为乘法标记。
原码一位乘控制流程图原码一位除流程图4.2.2分配寄存器定点数乘法:把乘数存寄存器R0里,把被乘数存寄存器R1里,把积的高位存在寄存器R2里,把积的高位存寄存器R3里。
被乘数与乘数都是8位,所以相乘的结果是16位。
每个寄存器的范围是8位,所以乘积的结果用两个寄存器来存储表示。
实验开始时将实验数据从实验箱的开关输入到R0、R1、R2、R3四个寄存器中,部分积存放在R2,8位乘数放在R0,8位被乘数放在R1,EM01H地址控制乘数与被乘数都是8位数。
在计算时,首先判断乘数末位上的值是1还是0,决定被乘数是否与部分积相加,然后判断部分积的末位,因为右移时部分积的末位会溢出,乘数右移时要接收由部分积溢出来的数,所以根据判断来决定乘数右移后的高位是1还是0。
运算结束时16位乘积结果的高8位从R2调出,低8位从R3调出,两个数据组成最终结果。
对于除法:R0寄存器存储被除数,R1寄存器存储除数,R2寄存器存储商,R3寄存器存储余数。
除法可以利用cop2000中的减法器和加法器完成,思路:用被除数减除数,减完的结果如果大于除数则继续减去除数,直到结果比除数小,此时为余数,减过的总共次数为商。
4.2.3在COP2000集成开发环境下设计新的指令/微指令系统新的指令/微指令表4.2.4用新指令集编写实现乘法、除法(除法为选作)功能的汇编语言程序。
乘法:MOV_ZK R0,#02HMOV_ZK R1,#09HMOV_ZK R2,#00HMOV_ZK A,R0MOV_ZKR3,AMOV_ZK A,#08HMOV_ZK 01H,ALOOP:MOV_ZK A,R3AND_ZK A,#01HJZ NEXTMOV_ZK A,R2ADD_ZK A,R1MOV_ZK R2,AAND_ZK A,#01HJZ NEXT1MOV_ZK A,R2RR AMOV_ZK R2,AMOV_ZK A,R3RR AOR A,#80HMOV_ZK R3,AJMP NEXT2NEXT1:MOV_ZK A,R2RR AMOV_ZK R2,AMOV_ZK A,R3RR AMOV_ZK R3,AJMP NEXT2NEXT:MOV_ZK A,R2 AND_ZK A,#01H JZ NEXT1MOV_ZK A,R2RR AMOV_ZK R2,A MOV_ZK A,R3RR AOR A,#80HMOV_ZK R3,A JMP NEXT2NEXT2:MOV_ZK A,01H SUB A,#01HOR A,#00HJZ NEXT3MOV_ZK 01H,A JMP LOOPNEXT3:JMP NEXT3除法:MOV_ZK R0 ,#23H MOV_ZK R1 ,#03H MOV_ZK R2 ,#00H MOV_ZK A,R0 MOV_ZK R3,Aloop:MOV_ZK A ,R2 ADD_ZK A ,#01H MOV_ZK R2 ,AMOV_ZK A ,R3 SUB A ,R1MOV_ZK R3 ,AJC loop1JMP looploop1:MOV_ZK A,R3ADD_ZK A,R1MOV_ZK R3,AMOV_ZK A,R2SUB A, #01HMOV_ZK R2,A4.3设计结果及分析下面是02H乘09H的结果,积为12,结果正确。
R0存储乘数,R1存储被乘数,R2存储积的高位,R3存储积的低位。
把移位次数08H存储在EM的01H地址中。
乘法的指令系统:乘法的微程序:乘法的跟踪:下图为除法结果23H除以03H,商为8H,余数为05H。
R0存储被除数,R1存储除数,R2存储商,R3存储余数。
除法的指令系统:除法的微程序:除法的跟踪:5心得体会通过这次设计我学习了如何进行原码一位乘和原码一位除的计算机操作。
经过实践我发现实际操作与学习书本知识还是有许多不同,只有加强实际训练才能更好的理解书本知识。
我想说本次课程设计不仅让我们复习了计算机组成原理的知识还让我们复习了算法设计与分析以及提前了解了汇编语言的一些内容。