竭诚为您提供优质文档/双击可除24位计算机组成原理微程序表模板
篇一:计算机组成原理微程序设计
计算机组成原理课程设计实验报告
学生姓名:专业:学号:班级:指导教师:
20xx年6月28日
一、实验时间:20xx/6/25-20xx/6/28二、实验地点:信工楼309三、实验题目:
1、编写程序将11h、12h、……、1Fh等数存入从11h 开始到1Fh的连续存储空间,然后将这些数按相反的顺序存储到从21h开始到2Fh的连续存储空间中。
2、采用模型机指令系统编写程序完成1到5的阶乘之和,将结果存放在指定的寄存器中。
3、给R0、R1、R2、R3各赋一初值,然后对它们进行一系列算术/逻辑运算,观察各寄存器的变化情况。
4、给R0、R1、R2、R3各赋一初值,然后对它们同立即数进行一系列算术/逻辑运算,观察各寄存器的变化情况。
5、给R0、R1、R2、R3各赋一初值,然后对它们进行一系列移位循环操作,观察各寄存器的变化情况。
四、实验目的:
1、通过实验例程,熟悉软件的操作。
2、熟悉模型机的指令系统,理解并掌握各条指令的功
能和用途。3、利用该指令系统,自行编写小程序,调试并
运行。
五、实验装置组成:
(一)硬件部分
实验装置是为计算机组成原理的工作流程专门设计的。它能够让学生通过手动和自动的操作弄清和掌握计算机工
作的基本原理。
实验模块由手动实验部分和程序实验部分组成。手动实验主要完成计算机各个组成部分的原理实验,包括数据流程、运算器执行、存储器和外设之间的数
据交换等部分,通过组合变化各个输入信号,进一步理解计算机各个部件的执行过程和工作原理,手动实验在本指导书的前面部分已经作了详细介绍。程序实验主要完成指令系统中每条指令的具体执行,包括取指、译码、执行过程中对应微指令的工作流程,并且还能观察各类指令执行的结果。操作过程在计算机上进行,可实现单拍、单步和连续执行,每个执行过程可以在计算机上显示,其执行结果和过程也可同步在实验板上显示,进一步观察对应指令在执行过程中的每个控制信号和数据流向。
(二)软件部分
软件系统由编辑程序、编译程序、程序执行、调式程序几个部分组成,完成由源程序输入、语法分析排错、指令汇编、应用程序调试的全过程。
软件系统采用集成化的窗口,各种软件功能分类设置在程序中,可以根据程序实验过程的需要随意组合使用。软件系统的主窗口界面如下图所示:
六、软件使用说明
:
图7-2界面说明标识
软件系统采用集成化的窗口,各种软件功能分类设置在程序中,软件系统的主窗口界面如上图所示,现将界面各组成部位说明如下:
1——寄存器在程序执行过程中,观察各寄存器的值2——存储器在程序执行过程中,观察各存储器的值3——信息显示当前指令对应的微程序
4——编辑源程序从汇编状态或运行状态返回到编辑源程序状态
5——汇编对编辑好的源程序进行汇编连接6——程序复位让程序指针指向程序的第一条指令
7——运行运行已通过汇编连接的程序8——停止停止程序的运行
9——单步单步运行程序(逐条指令执行)10——单拍单拍运行程序(逐条微指令执行)11——设置/取消断点设置/取消断点,调试程序时用12——连接/断开串行口连接/断开串行口,连通/断开程序和模型机通信
13——源程序编辑区在该区域内编辑源程序
14——寄存器/存储器显示区显示各寄存器/存储器的
值15——微程序显示区显示当前指令对应的微程序
七、指令系统汇编:
(一)模型机指令系统
(二)模型机指令码
1、指令码
篇二:计算机组成原理微程序设计
1.已知某机采用微程序控制方式,其存储器容量为512×48(位),微程序在整个控制存
储器中实现转移,可控制微程序的条件共4个,微指令采用水平型格式,后继微指令地址采用断定方式,如图所示:(1)微指令中的三个字段分别应多少位?
(2)画出对应这种微指令格式的微程序控制器逻辑框图。解:(1)假设判别测试字段中每一位为一个判别标志,那么由于有4个转移条件,故该字段
为4位,(如采用字段译码只需2位),下地址字段为9位,因为控制容量为512单元,微命令字段是(48–4-9)
=35位。
(2)对应上述微指令格式的微程序控制器逻辑框图b1.2如下:其中微地址寄存器对应下
地址字段,p字段即为判别测试字段,控制字段即为微命令子段,后两部分组成微指令寄存器。地址转移逻辑的输入是指令寄存器op码,各状态条件以及判别测试字段所给的判别标志(某一位为1),其输出修改微地址寄存器的适当位数,从而实现微程序的分支转移。
图b1.2
2.某计算机有8条微指令i1—i8,每条微指令所包含的微命令控制信号见下表,a—j分别对应10种不同性质的微命令信号。假设一条微指令的控制字段仅限8位,请安排微指令的控制字段格式。
a*(b,c,d,e,f,g,h,j)b*(c,d,e,h)c*(d,e,g,h)d*(e,f,g,h )e*(g,,i)f*(g)g*(i)h*(j)解:为了压缩指令字的长度,必须设法把一个微指令周期中的互斥性微命令信号组合在一个小组中,进行分组译码。经分析,(e,f,h)和(b,i,j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a,c,d,g四个微命令信号可进行直接控制,其整个控制字段组成如下:
01e01b直接控制10f10i
第6章 计算机的运算方法 2. 已知X=0.a1a2a3a4a5a6(ai 为0或1),讨论下列几种情况时ai 各取何值。 (1)2 1 X > (2)8 1X ≥ (3) 16 1 X 41> ≥ 解: (1)若要2 1 X > ,只要a1=1,a2~a6不全为0即可。 (2)若要8 1 X ≥,只要a1~a3不全为0即可。 (3)若要 16 1X 41>≥,只要a1=0,a2可任取0或1; 当a2=0时,若a3=0,则必须a4=1,且a5、a6不全为0; 若a3=1,则a4~a6可任取0或1; 当a2=1时, a3~a6均取0。 3. 设x 为整数,[x]补=1,x1x2x3x4x5,若要求 x < -16,试问 x1~x5 应取何值? 解:若要x < -16,需 x1=0,x2~x5 任意。(注:负数绝对值大的补码码值反而小。) 4. 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。 -13/64,29/128,100,-87 解:真值与不同机器码对应关系如下: 5. 已知[x]补,求[x]原和x 。 [x1]补=1.1100; [x2]补=1.1001; [x3]补=0.1110; [x4]补=1.0000; [x5]补=1,0101; [x6]补=1,1100; [x7]补=0,0111; [x8]补=1,0000; 解:[x]补与[x]原、x 的对应关系如下: 6. 设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x 为何值时,[x]补=[x]原成立。 解:当x 为小数时,若x ≥ 0,则 [x]补=[x]原成立; 若x < 0,当x= -1/2时,[x]补=[x]原=1.100 0000,则 [x]补=[x]原成立。 当x 为整数时,若x ≥0,则 [x]补=[x]原成立; 若x< 0,当x= -64时,[x]补=[x]原=1,100 0000,则 [x]补=[x]原成立。 7. 设x 为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。 解:当x 为真值,x*为绝对值时,[-x*]补=[-x]补不能成立。原因如下: (1)当x<0时,由于[-x*]补是一个负值,而[-x]补是一个正值,因此此时[-x*]补=[-x]补不成立; (2)当x ≥0时,由于-x*=-x ,因此此时 [-x*]补=[-x]补的结论成立。 8. 讨论若[x]补>[y]补,是否有x>y ?
第一章 1.比较数字计算机和模拟计算机的特点 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。两者主要区别见 P1 表 1.1 。 2.数字计算机如何分类?分类的依据是什么? 解:分类:数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、 中型机、小型机、微型机和单片机六类。分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。 通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、 指令系统规模和机器价格等因素。 3.数字计算机有那些主要应用?(略) 4.冯 . 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分? 解:冯 . 诺依曼型计算机的主要设计思想是:存储程序和程序控制。存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。 主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。 5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字? 解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB MB GB来度量,存储 容 量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地 址。 数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。 6.什么是指令?什么是程序? 解:指令:计算机所执行的每一个基本的操作。程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。 7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据? 解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。
第4章习题参考答案 1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么? 答:不合理。指令最好半字长或单字长,设16位比较合适。一个字符的ASCII 是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。 2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。 答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。 双操作数指令 单操作数指令 无操作数指令 3.指令格式结构如下所示,试分析指令格式及寻址方式特点。 答:该指令格式及寻址方式特点如下: (1) 单字长二地址指令。 (2) 操作码字段OP可以指定26=64种操作。 (3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。 (4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。 4.指令格式结构如下所示,试分析指令格式及寻址方式特点。 15 10 9 8 7 4 3 0 答:该指令格式及寻址方式特点如下: (1)双字长二地址指令,用于访问存储器。 (2)操作码字段OP可以指定26=64种操作。 (3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数 在主存中。有效地址可通过变址寻址求得,即有效地址等于变址寄存器(选择16个之一)内容加上位移量。
第5章习题参考答案 1.请在括号内填入适当答案。在CPU中: (1)保存当前正在执行的指令的寄存器是(IR ); (2)保存当前正在执行的指令地址的寄存器是(AR ) (3)算术逻辑运算结果通常放在(DR )和(通用寄存器)。 2.参见图5.15的数据通路。画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。 解: STO R1, (R2)的指令流程图及微操作信号序列如下:
STO R1, (R2) R/W=R DR O, G, IR i R2O, G, AR i R1O, G, DR i R/W=W 3.参见图5.15的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列。 解: LAD R3, (R0)的指令流程图及为操作信号序列如下:
PC O , G, AR i R/W=R DR O , G, IR i R 3O , G, AR i DR O , G, R 0i R/W=R LAD (R3), R0 4.假设主脉冲源频率为10MHz ,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。 解:
5.如果在一个CPU 周期中要产生3个节拍脉冲;T l =200ns ,T 2=400ns ,T 3=200ns ,试画出时序产生器逻辑图。 解:取节拍脉冲T l 、T 2、T 3的宽度为时钟周期或者是时钟周期的倍数即可。所以取时钟源提供的时钟周期为200ns ,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T 3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C 4外,还需要3个触发器——C l 、C 2、C 3;并令 211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下:
计算机组成原理第六 章答案
1. 写出下列各数的原码、反码、补码、移码(用8位二进制表示),其中MSB是最高位(符号位),LSB是最低位。如果是小数,则小数点在MSB之后;如果是整数,则小数点在LSB之后。 (1)-59/64 (2)27/128 (3)- 127/128 (4)用小数表示-1 (5)用整数表示-1 (6)- 127 (7)35 (8)-128 2. 设[x]补=x0.x1x2x3x4,其中x i取0或1,若要使x>-0.5,则x0、x1、x2、x3、x4的取值应满足什么条件? 3. 若32位定点小数的最高位为符号位,用补码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为;若32位定点整数的最高位为符号位,用原码表示,则所能表示的最大正数为,最小正数为,最大负数 为,最小负数为。 4. 若机器字长为32位,在浮点数据表示时阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码用移码表示,尾数用原码表示,则该浮点数格式所能表示的最大正数为,最小正数为,最大负数 为,最小负数为。 5. 某机浮点数字长为18位,格式如图2.35所示,已知阶码(含阶符)用补码表示,尾数(含数符)用原码表示。 (1)将(-1027)10表示成规格化浮点数; (2)浮点数(0EF43)16是否是规格化浮点数?它所表示的真值是多少? 图2.35 浮点数的表示格式 6. 有一个字长为32位的浮点数,格式如图2.36所示,已知数符占1位;阶码占8位,用移码表示;尾数值占23位,尾数用补码表示。
图2.36 浮点数的表示格式 请写出: (1)所能表示的最大正数; (2)所能表示的最小负数; (3)规格化数所能表示的数的范围。 7. 若浮点数x的IEEE754标准的32位存储格式为(8FEFC000)16,求其浮点数的十进制数值。 8. 将数(-7.28125)10转换成IEEE754标准的32位浮点数的二进制存储格式。 9. 已知x=-0.x1x2…x n,求证:[x]补=+0.00…01。 10. 已知[x]补=1.x1x2x3x4x5x6,求证:[x]原=+0.000001。 11. 已知x和y,用变形补码计算x+y,同时指出运算结果是否发生溢出。 (1)x=0.11011 y=-0.10101 (2)x=-10110 y=-00011 12. 已知x和y,用变形补码计算x-y,同时指出运算结果是否发生溢出。 (1)x=0.10111 y=0.11011 (2)x=11011 y=-10011 13. 已知[x]补=1.1011000,[y]补=1.0100110,用变形补码计算2[x]补 +1/2[y]补=?,同时指出结果是否发生溢出。 14. 已知x和y,用原码运算规则计算x+y,同时指出运算结果是否发生溢出。 (1)x=0.1011,y=-0.1110 (2)x=-1101,y=-1010
计算机组成原理第五版习题答案计算机组成原理第五版习题答案 第一章 (1) 第二章 (3) 第三章 (14) 第四章 (19) 第五章 (21) 第六章 (27) 第七章 (31) 第八章 (34) 第九章 (36)
1
计算机组成原理第五版习题答案第一章 1.模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0 和 1 表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。 2.数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。 3.科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。4.主要设计思想是:采用存储程序的方式,编制好的程序和数据存放在同一存储器中,计算机可以在无人干预的情况下自动完成逐条取出指令和执行指令的任务;在机器内部,指令和数据均以二进制码表示,指令在存储器中按执行顺序存放。主要组成部分有::运算器、逻辑器、存储器、输入设备和输出设备。 5.存储器所有存储单元的总数称为存储器的存储容量。每个存储单元都有编号,称为单元地址。如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。6.计算机硬件可直接执行的每一个基本的算术运算或逻辑运算操作称为一条指令,而解算某一问题的一串指令序列,称为程序。 7.取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是数据流。 8.半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。 9.计算机的系统软件包括系统程序和应用程序。系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能用用途;应用程序是用户利用计算机来解决某些问题而编制的程序。 10.在早期的计算机中,人们是直接用机器语言来编写程序的,这种程序称为手编程序或目的程序;后来,为了编写程序方便和提高使用效率,人们使用汇编语言来编写程序,称为汇编程序;为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序,源程序通过编译系统产生编译程序,也可通过解释系统进行解释执行;随着计算机技术的日益发展,人们又创造出操作系统;随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格,于是产生了数据库管理系统。 11.第一级是微程序设计级,这是一个实在的硬件级,它由机器硬件直接执行微指令; 第二级是一般机器级,也称为机器语言级,它由程序解释机器指令系统;第三级是操作系统级,它由操作系统实现;第四级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性;第五级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的。用一系列的级来组成计算机的接口对于掌握计算机是如何组成的提供了一种好的结构和体制,而且用这种分级的观点来设计计算机对保证产生一个良好的系统结构也是很有帮助的。
课程设计(大作业)报告 课程名称:计算机组成原理 设计题目:基本模型机设计与实现 院系:信息技术学院 班级:计算机科学与技术3班 设计者: 学号: 指导教师:________________________________ 设计时间: 昆明学院 信息技术学院 课程设计(大作业)任务书 姓名:院(系):信息技术学院 专业:计算机科学与技术学号:课程设计题目:基本模型机设计与设计课程设计要求: 本课程设计以ZYE1603E计算机组成原理及系统结构教学实验系统为平台,设计完成。 1. 按给定的数据格式和指令系统,设计一个微程序控制器。 2. 设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的为指令代码。 3. 连接逻辑电路完成启动、测试、编程、测试、效验和运行,并观测运行过程及结果。 4. 将微程序控制器模块与运算器模块,存储器模块联机,组成一台模型计算机。 5. 用微程序控制器控制模型机的数据通路。 6. 通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系, 建立计算机整机的概念,掌握计算机的控制机制。 7. 按指定的应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序。在PC机上编辑机器指令和微程序, 装载代码到ZYE1603B实验系统并运行,实现应用要求。 工作计划及安排:
2017年6月19日上午:集中进行课程设计题目的讲解和分解,提出学生需要掌握的硬件和软件方面的知识和要求;以及在课程设计期间的安全和纪律要求,熟悉开发环境 (ZYE1603B (4401 机房)。 2017年6月19日下午:查阅资料、确定题目,了解各人(小组)设计安排,就设计过程进行集中讲解,解决设计过程存在的问题。 2017年6月20日~6月22日:在机房进行系统的设计。 2017年6月23日上午:分组讨论,进行交流,了解学生的掌握情况,对本周的学习情况进行总结,对后续的设计提出要求;对存在的问题进行分析和解决。(机房)。 2017年6月23日下午:答辩,成绩评定。 指导教师签字_________________ 2017年6月19日
计算机组成原理第六章答案54731
第6章 计算机的运算方法 2. 已知X=0.a1a2a3a4a5a6(ai 为0或1),讨论下列几种情况时ai 各取何值。 (1)21X > (2)8 1X ≥ (3) 16 1X 41>≥ 解: (1)若要2 1 X > ,只要a1=1,a2~a6不全为0即可。 (2)若要8 1 X ≥,只要a1~a3不全为0即可。 (3)若要 16 1X 41>≥,只要a1=0,a2可任取0或1; 当a2=0时,若a3=0,则必须a4=1,且a5、a6不全为0; 若a3=1,则a4~a6可任取0或1; 当a2=1时, a3~a6均取0。 3. 设x 为整数,[x]补=1,x1x2x3x4x5,若要求 x < -16,试问 x1~x5 应取何值? 解:若要x < -16,需 x1=0,x2~x5 任意。(注:负数绝对值大的补码码值反而小。) 4. 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。 -13/64,29/128,100,-87 解:真值与不同机器码对应关系如下: 5. 已知[x]补,求[x]原和x 。 [x1]补=1.1100; [x2]补=1.1001; [x3]补=0.1110; [x4]补=1.0000; [x5]补=1,0101; [x6]补=1,1100; [x7]补=0,0111; [x8]补=1,0000; 解:[x]补与[x]原、x 的对应关系如下: 6. 设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x 为何值时,[x]补=[x]原成立。 解:当x 为小数时,若x ≥ 0,则 [x]补=[x]原成立; 若x < 0,当x= -1/2时,[x]补=[x]原=1.100 0000,则 [x]补=[x]原成立。 当x 为整数时,若x ≥0,则 [x]补=[x]原成立; 若x< 0,当x= -64时,[x]补=[x]原=1,100 0000,则 [x]补=[x]原成立。 7. 设x 为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。 解:当x 为真值,x*为绝对值时,[-x*]补=[-x]补不能成立。原因如下: (1)当x<0时,由于[-x*]补是一个负值,而[-x]补是一个正值,因此此时[-x*]补=[-x]补不成立; (2)当x ≥0时,由于-x*=-x ,因此此时 [-x*]补=[-x]补的结论成立。 8. 讨论若[x]补>[y]补,是否有x>y ? 解:若[x]补>[y]补,不一定有x>y 。 [x]补 > [y]补时 x > y 的结论只在 x > 0且y > 0,及 x<0且y<0时成立。
目录 摘要 (2) 前言 (3) 正文 (4) 一、设计目的和设计原理 (4) 1.1设计目的 (4) 1.2设计原理 (4) 二、总体设计 (7) 三、详细设计 (8) 3.1运算器的物理结构 (8) 3.2存储器系统的组成与说明 (11) 3.3指令系统的设计与指令分析 (12) 3.4微程序控制器的逻辑结构及功能 (14) 3.5微程序的设计与实现 (18) 四、系统调试 (27) 总结 (29) 参考文献 (30) 致谢 (31)
摘要 根据设计任务书要求,本设计要实现完成一个简单计算机的设计,主要设计部分有运算器,存储器,控制器以及微指令的设计。 其中运算器由运算芯片和寄存器来完成,存储器由总线和寄存器构成,使用硬布线的方式实现控制器,从而完成设计要求。 : 关键词:基本模型机的设计;运算器;存储器;控制器;
前言 计算机组成原理是计算机科学技术学科的一门核心专业基础课程。从课程的地位来说,它在先导课程和后续课程之间起着承上启下的作用。 计算机组成原理讲授单处理机系统的组成和工作原理,课程教学具有知识面广,内容多,难度大,更新快等特点。此次课程设计目的就是为了加深对计算机的时间和空间概念的理解, 增强对计算机硬件和计算机指令系统的更进一步了解。 计算机组成原理课程设计目的是为加深对计算机工作原理的理解以及计算机软硬件之间的交互关系。不仅能加深对计算机的时间和空间的关系的理解,更能增加如何实现计算机软件对硬件操作,让计算机有条不紊的工作。
正文 一、设计目的和设计原理 1.1设计目的 融会贯通计算机组成原理课程中各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对硬连线控制器的认识,建立清晰的整机概念。对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。 1.2设计原理 (1)运算器 设计中所用的运算器数据通路,其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,测试时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 算术逻辑运算功能发生器 74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,测试时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、
第 6 章习题答案 1 .控制器有哪几种控制方式?各有何特点? 解:控制器的控制方式可以分为3 种:同步控制方式、异步控制方式和联合控方式。同步控制方式的各项操作都由统一的时序信号控制,在每个机器周期中产生统一目的节拍电位和工作脉冲。这种控制方式设计简单,容易实现;但是对于许多简单指令说会有较多的空闲时间,造成较大数量的时间浪费,从而影响了指令的执行速度。 异步控制方式的各项操作不采用统一的时序信号控制,而根据指令或部件的具体况决定,需要多少时间,就占用多少时间。异步控制方式没有时间上的浪费,因而提高机器的效率,但是控制比较复杂。 联合控制方式是同步控制和异步控制相结合的方式。 2.什么是三级时序系统? 解:三级时序系统是指机器周期、节拍和工作脉冲。计算机中每个指令周期划分若干个机器周期,每个机器周期划分为若干个节拍,每个节拍中设置一个或几个工脉冲。3.控制器有哪些基本功能?它可分为哪几类?分类的依据是什么? 解:控制器的基本功能有: (1) 从主存中取出一条指令,并指出下一条指令在主存中的位置。 (2) 对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。 (3) 指挥并控制CPU主存和输入输出设备之间的数据流动。 控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型 3 类,分类的依据在于控制器的核心一一微操作信号发生器(控制单元CU)的实现方法不同。 4 .中央处理器有哪些功能?它由哪些基本部件所组成? 解:从程序运行的角度来看,CPU的基本功能就是对指令流和数据流在时间与空间上实施正确的控制。对于冯?诺依曼结构的计算机而言,数据流是根据指令流的操作而形成的,也就是说数据流是由指令流来驱动的。 中央处理器由运算器和控制器组成。 5 .中央处理器中有哪几个主要寄存器?试说明它们的结构和功能。 解:CPU中的寄存器是用来暂时保存运算和控制过程中的中间结果、最终结果及控制、状态信息的,它可分为通用寄存器和专用寄存器两大类。 通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、地址指针等。专用寄存器是专门用来完成某一种特殊功能的寄存器,如程序计数器PC指令 寄存器IR、存储器地址寄存器MAR存储器数据寄存器MDR状态标志寄存器PSWF等。 15 、什么是微命令和微操作?什么是微指令?微程序和机器指令有何关系?微程序和程序之间有何关系? 解:微命令是控制计算机各部件完成某个基本微操作的命令。微操作是指计算机中最基本的、不可再分解的操作。微命令和微操作是一一对应的,微命令是微操作的控制信号,微操作是微命令的操作过程。 微指令是若干个微命令的集合。微程序是机器指令的实时解释器,每一条机器指令都对应一个微程序。 微程序和程序是两个不同的概念。微程序是由微指令组成的,用于描述机器指令,实际上是机器指令的实时解释器,微程序是由计算机的设计者事先编制好并存放在控制储器中的,一般不提供给用户;程序是由机器指令组成的,由程序员事先编制好并存放在主存储器中。 16.什么是垂直型微指令?什么是水平型微指令?它们各有什么特点? 解:垂直型微指令是指一次只能执行一个微命令的微指令;水平型微指令是指一次能定义并能
淮海工学院计算机工程学院实验报告书 课程名:《计算机组成原理》 题目:实验四基本模型机实验 班级: 学号: 姓名:
1、目的与要求 1)在“微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机。 2)本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。2、实验设备 1) ZYE1601B计算机组成原理教学实验箱一台,排线若干。 2) PC机一台。 3、实验步骤与源程序 l) 根据该模型机的指令系统,编写一段程序。这里给出两个参考程序。 参考程序一: 本程序从输入设备(数码开关)取入数据,保存在内存单元08,然后从08单元送到输出设备(LED数码管)进行显示。然后程序停止(请实验者考虑:如何修改程序,使程序不断从输入设备取出数据,送到输出设备显示。每次循环过程中,可以使输入设备数据改变,考察输出显示的结果。)。 设计机器指令程序如下(机器码为十六进制数据)。 地址内容助记符说明 00 00 IN ;输入开关数据→R0 01 20 STA [08H] ;R0→[08] 02 08 ;地址 03 30 OUT [08H] ;[08H]→BUS 04 08 ;地址 05 40 JMP [00H] ;00H→PC 06 00 ;跳转地址 参考程序二: 本程序从输入设备(数码开关)读入数据,与0A单元的数据相加,然后送到输出设备(LED 数码管)进行显示。本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。 设计机器指令程序如下(机器码为十六进制数据)。 地址内容助记符说明 00 00 IN ;输入开关数据→R0,采集数据 01 10 ADD [0AH] ;R0+[0AH]→R0,输入数据与指定数据相加 02 0A ;地址 03 20 STA [0BH] ;R0→[0B] 04 0B ;地址 05 30 OUT [0BH] ;[0BH]→BUS,输出显示 06 0B ;地址 07 40 JMP [00H] ;00H→PC 08 00 ;跳转地址 0A 01 ;加数,可自定 0B ;求和结果保存在0B单元 2) 按图1连接实验线路。 3) 写程序: 对于本实验箱可以用两种方法来写入程序。 方法一:手动写入 (1)先将机器指令对应的微代码正确地写入2816中,由于在实验1.6微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2—2校验正确后就可使用。
第五章 1.请在括号内填入适当答案。在CPU中: (1) 保存当前正在执行的指令的寄存器是(指令寄存器IR); (2) 保存当前正要执行的指令地址的寄存器是(程序计数器PC); (3) 算术逻辑运算结果通常放在(通用寄存器)和(数据缓冲寄存器DR)。 2.参见下图(课本P166图5.15)的数据通路。画出存数指令"STA R1 ,(R2)"的指令周期 流程图,其含义是将寄存器R1的内容传送至(R2)为地址的主存单元中。标出各微操作信 号序列。 解:"STA R1 ,(R2)"指令是一条存数指令,其指令周期流程图如下图所示:
3.参见课本P166图5.15的数据通路,画出取数指令"LDA(R3),RO"的指令周期流程图, 其含义是将(R3)为地址的主存单元的内容取至寄存器R0中,标出各微操作控制信号序列。 5.如果在一个CPU周期中要产生3个脉冲 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,试画出 时序产生器逻辑图。 解:节拍脉冲T1 ,T2 ,T3 的宽度实际等于时钟脉冲的周期或是它的倍数,此时T1 = T3 =200ns , T2 = 400 ns ,所以主脉冲源的频率应为 f = 1 / T1 =5MHZ 。为了消除节拍脉冲上的毛刺,环 型脉冲发生器可采用移位寄存器形式。下图画出了题目要求的逻辑电路图和时序信号关系。根据关 系,节拍脉冲T1 ,T2 ,T3 的逻辑表达式如下:
T1 = C1·, T2 = , T3 = 6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指 令公用的。已知微指令长度为32位,请估算控制存储器容量。 解:微指令条数为:(4-1)×80+1=241条 取控存容量为:256×32位=1KB 7. 某ALU器件使用模式控制码M,S3,S2,S1,C来控制执行不同的算术运算和逻辑操作。 下表列出各条指令所要求的模式控制码,其中y为二进制变量,F为
武汉华夏理工学院 课程设计 课程名称计算机组成原理 题目模型机设计与实现 专业 班级 姓名 成绩 指导教师田小华 2016 年12 月27 日
武汉华夏理工学院信息工程系 课程设计任务书 课程名称:计算机组成原理指导教师:田小华 班级名称:开课教研室:软件与信息安全 一、课程设计目的与任务 理解计算机系统各个功能部件的功能、结构和工作原理,正确理解各功能部件之间的相互关系及其在计算机系统中所起的作用;掌握计算机系统各个功能部件的设计和分析技术,包括数据与指令的编码、存储器、运算器、输入输出接口等。 在此基础上,使学生通过理论与实践的结合,利用基本模型计算机的构建与调试实验,完整地建立计算机硬件的整机模型,掌握中央处理器的基本结构和控制流程,掌握机器指令执行的基本过程,熟悉微程序控制器的基本结构和微程序设计技术的主要技巧,理解一条机器指令与一段微程序的关系,明确高级语言指令与微指令的对应关系,充分理解控制信息流利用数据通路完成对数据流的加工处理的过程。 通过课程设计,使学生将所学专业知识综合运用,在实践活动中积累经验,增长才干,训练学生独立工作能力,激发学生的学习热情,培养学生的自主创新精神,养成务实严谨的工作作风。 二、课程设计的内容与基本要求 1.按给定的数据格式、机器指令格式和微指令格式,利用基本的数字逻辑器件,设计—台微程序控制的模型计算机。 2.设计五条机器指令:IN,ADD,STA,OUT,JMP,并用微指令编写微程序,实现每条机器指令的功能。 3.在TD-CMA教学实验平台上实现基本模型机方案: ⑴建立数据通路,定义开关SWA及SWB的功能;⑵确定微程序控制流程,掌握控制台操作;⑶输入编写的五条机器指令的微程序序列;⑷输入实验机器指令程序序列;⑸设计基本模型的物理连线;⑹完成微程序的调试,实现实验机器指令程序的功能。 完成模型机调试任务后,整理课程设计资料,撰写课程设计报告。课程设计报告内容包括: ①模型机数据通路图;②微程序控制器逻辑模块图;③微程序控制流程图;④元件排列图; ⑤设计说明书;⑥调试小结。 三、课程设计步骤及时间进度和场地安排 《计算机组成原理》课程设计将安排在第17周, 地点在信息系实验楼523教室。具体安排如下:1.第17周周1(1节)(12月26日) :集中讲解课程设计原理与方法,3-203教室 2.第17周周1(2--4节):完成模型机的实验线路连接
计算机组成原理第六章 答案 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]
1. 写出下列各数的原码、反码、补码、移码(用8位二进制表示),其中MSB是最高位(符号位),LSB是最低位。如果是小数,则小数点在MSB之后;如果是整数,则小数点在LSB之后。 (1)-59/64 (2)27/128 (3)-127/128 (4)用小数表示-1 (5)用整数表示-1 (6)-127 (7)35 (8)-128 2. 设[x]补=,其中x i取0或1,若要使x>-,则x0、x1、x2、x3、x4的取值应满足什么条件 3. 若32位定点小数的最高位为符号位,用补码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为;若32位定点整数的最高位为符号位,用原码表示,则所能表示的最大正数为,最小正数为,最大负数为,最小负数为。 4. 若机器字长为32位,在浮点数据表示时阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码用移码表示,尾数用原码表示,则该浮点数格式所能表示的最大正数为,最小正数为,最大负数为,最小负数为。 5. 某机浮点数字长为18位,格式如图所示,已知阶码(含阶符)用补码表示,尾数(含数符)用原码表示。 (1)将(-1027)10表示成规格化浮点数; (2)浮点数(0EF43)16是否是规格化浮点数它所表示的真值是多少 图浮点数的表示格式 6. 有一个字长为32位的浮点数,格式如图所示,已知数符占1位;阶码占8位,用移码表示;尾数值占23位,尾数用补码表示。 图浮点数的表示格式 请写出: (1)所能表示的最大正数; (2)所能表示的最小负数; (3)规格化数所能表示的数的范围。 7. 若浮点数x的IEEE754标准的32位存储格式为(8FEFC000)16,求其浮点数的十进制数值。 8. 将数10转换成IEEE754标准的32位浮点数的二进制存储格式。
实验六计算机系统综合设计与实现 一、实验目的 1、深入理解计算机系统工作的基本原理,建立整机概念。 2、融会贯通计算机组成原理课程的容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识。 3、培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。 二、实验要求 1、将已经设计的运算器、存储器和控制器连接,构建完整的计算机系统; 2、编写一段可以实现一定功能的指令程序,进行计算机整机系统功能的验证。 3、所有任务要求功能仿真和必要的验证。实验完成后,一周提交实验报告。 三、实验设备 PC机+ QuartusⅡ10.0 + FPGA(DE2-115)+TEC-8实验箱 四、计算机系统(TEC-8)综合逻辑框图 硬连线控制器控制信号切换电路ALU A端口B端口C Z R0 R1 R2 R3 IR PC AR 双端口RAM DBUS 五、实验任务 1、将实验二的运算器、实验三的存储器和实验五的控制器连接,构建完整的计算机系统;
2、计算机整机系统功能测试,进行功能仿真和时序仿真并在DE2-115上验证。 (1)根据指令系统,编写一段可以实现一定功能的程序,要求: 有一个合理的运算功能和逻辑关系; 指令数量:不少于8条; 指令类型:停机、跳转、RR、读存、写存、算术和逻辑运算; (2)将指令程序手工汇编成二进制代码; (3)理论上设置寄存器的初值,并计算程序执行后的结果; (4)将指令程序的二进制代码存入存储器RAM中; (5)将需要的运算数据初值存入寄存器R0-R3中; (6)进行程序连续运行的功能仿真和时序仿真,将仿真运算结果与理论计算结果进行比较。 六、实验步骤 实验电路图 子模块 (1)tri_74244
第六章 12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应的机器数。要求如下: (1)阶码和尾数均为原码。 (2)阶码和尾数均为补码。 (3)阶码为移码,尾数为补码。 解:据题意画出该浮点数的格式: 阶符1位阶码4位数符1位尾数10位 将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2-1 * 0.110 011B x2= -27/1024= -0.0000011011B = 2-5*(-0.11011B)则以上各数的浮点规格化数为: (1)[x1]浮=1,0001;0.110 011 000 0 [x2]浮=1,0101;1.110 110 000 0 (2)[x1]浮=1,1111;0.110 011 000 0 [x2]浮=1,1011;1.001 010 000 0 (3)[x1]浮=0,1111;0.110 011 000 0 [x2]浮=0,1011;1.001 010 000 0 16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。 (1)无符号数; (2)原码表示的定点小数。 (3)补码表示的定点小数。 (4)补码表示的定点整数。 (5)原码表示的定点整数。 (6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。 (7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。 解:(1)无符号整数:0 —— 216 - 1,即:0—— 65535; 无符号小数:0 —— 1 - 2-16,即:0 —— 0.99998; (2)原码定点小数:-1 + 2-15——1 - 2-15,即:-0.99997 —— 0.99997 (3)补码定点小数:- 1——1 - 2-15,即:-1——0.99997 (4)补码定点整数:-215——215 - 1 ,即:-32768——32767 (5)原码定点整数:-215 + 1——215 - 1,即:-32767——32767 (6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时: 最大负数= 1,11 111;1.000 000 001 ,即 -2-9?2-31 最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)?231 则负数表示范围为:-(1-2-9)?231 —— -2-9?2-31 最大正数= 0,11 111;0.111 111 111,即(1-2-9)?231 最小正数= 1,11 111;0.000 000 001,即 2-9?2-31
实验八 简单模型计算机实验 一、实验目的 1)通过实验分析简单模型机结构,了解计算机的工作原理。 2)掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程 二、实验原理 基本整机模型数据框图如图所示,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。 存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR 中。 存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。 数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。运算结果是通过三太门送到总线上。 三态门的控制时由微控制器来控制。
图:模型机的数据通路图 SW-G 三、实验过程 1.连线 按实验逻辑原理图连接以下控制信号。 1)时钟单元(CLOCK UNIT)的T1-T4接到微程序控制单元(MAIN CONTROL UNIT)
的T1-T4. 2)手动控制开关单元(MANUAL UNIT)的KA ,KB接到指令单元(INS UNIT) 的KA,KB。 3)指令单元(INS UNIT)的J(1)-J(5)、SE6-SE0、B-IR 接到的微程序控制单 元(MAIN CONTROL UNIT)的J(1)-J(5)、SE6-SE0、B-IR。 4)输入/输出单元(INPUT/OUTPUT UNIT)IO-W,IO-R接到微程序控制单元(MAIN CONTROL UNIT)的IO-W,IO-R,Ai接到地址单元(ADDRESS UNIT)的A0. 5)主存储器单元(MEM UNIT)M-W、M-R接到微程序控制单元(MAIN CONTROL UNIT)的M-W、M-R,A7-A0 接到地址单元(ADDRESS UNIT)的A7-A0. 6)地址单元(ADDRESS UNIT)的B-AR、B-PC、PC+1、PC-B接到微程序控制单元 (MAIN CONTROLUNIT)的B-AR、B-PC、PC+1、PC-B. 7)通用寄存器单元(REG UNIT)的B-R、R0-B 接到微程序控制单元(MAIN CONTROL UNIT)的B-DR、DR-B。 8)把算术逻辑单元(ALU UNIT)的B-DA1、B-A2、ALU-B、Cycn、CyNCn、S3-S0、 M、Ci接到微程序控制单元(MAIN CONTROL UNIT)的B-DA1、B-A2、ALU-B、Cycn、CyNCn、S3-S0、M、Ci。 2.写入、检验微代码 这项操作与实验七的操作过程相同 3.装入机器指令汇编程序操作 1)微程序控制单元(MAIN CONTROL UNIT)编程开关置于“RUN”状态。 2)手动控制开关单元(MANUAL UNIT)的“STEP/RUN”开关置于“STEP”状态。 3)手动控制开关单元(MANUAL UNIT)的KA,KB开关置于1、0写主存储器状 态。 4)拨动开关从11—0—1,产生一个负脉冲,清零程序计数器PC、微地址 寄存器。 5)拨动“START”按钮一次,从微程序控制存储器的00H微地址开始执行微指 令,暂停在0AH微地址处。 6)此时在输入数据开关上拨入实验用机器指令汇编程序表中对应00H地址的