计算机组成原理(十二条指令)
- 格式:doc
- 大小:1.15 MB
- 文档页数:33
2022年广西城市职业大学计算机网络技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、在对破坏性读出的存储器进行读/写操作时,为维持原存信息不变,必须辅以的操作是()。
A.刷新B.再生C.写保护D.主存校验2、在全相联映射、直接映射和组相联映射中,块冲突概率最小的是()。
A.全相联映射B.直接映射C.组相联映射D.不一定3、某计算机字长为32位,按字节编址,采用小端(Litle Endian)方式存放数据。
假定有一个double型变量,其机器数表示为1122334455667788H,存放在00008040H开始的连续存储单元中,则存储单元00008046H中存放的是()。
A.22HB.33HC.66HD.77H4、当定点运算发生溢出时,应()。
A.向左规格化B.向右规格化C.舍入处理D.发出出错信息5、用海明码对长度为8位的数据进行检/纠错时,若能纠正一位错,则校验位数至少为()。
A.2B.3C.4D.56、为了对n个设备使用总线的请求进行仲裁,如果使用独立请求方式,则需要()根控制线。
A.nB.log2n+2C.2nD.37、下列关于同步总线的说法中,正确的有()。
I.同步总线一般按最慢的部件来设置公共时钟II.同步总线一般不能很长III.同步总线一般采用应答方式进行通信IV.通常,CPU内部总线、处理器总线等采用同步总线A. I,IIB. I,II,IVC.III,IVD.II,III,IV8、计算机()负责指令译码。
A.算术逻辑单元B.控制单元(或者操作码译码器)C.存储器电路D.输入/输出译码电路9、假设基准程序A在某计算机上的运行时间为100s,其中90s为CPU时间,其余为/O 时间。
若CPU速度提高50%,V/O速度不变,则运行基准程序A所耗费的时间是()。
A.55sB.60sC.65 sD.70s10、CPU在中断周期中()A.执行中断服务程序B.执行中断隐指令C.与I/O设备传送数据D.处理异常情况11、计算机的外部设备指()A.输入/输出设备B.外存储器C.输入/输出设备和外存储器D.以上均不正确12、微程序控制器中,机器指令与微指令的关系是()。
计算机组成原理sub指令一、引言计算机指令是计算机执行各种操作的核心,而sub指令是计算机指令系统中的一种基本指令,用于执行减法运算。
sub指令在计算机组成原理中占据着重要的地位,它不仅在数据传送、算数运算、逻辑运算等方面有着广泛的应用,而且在控制流程、地址计算等方面也发挥着重要的作用。
二、sub指令的功能与实现sub指令的功能是将两个操作数相减,并将结果存储在一个寄存器中。
在实现上,sub指令通常采用加法器来实现减法运算,即将第一个操作数加负第二个操作数来实现减法。
如果两个操作数相减的结果为正数,则表示被减数大于减数,结果存储在寄存器中;如果结果为负数,则表示被减数小于减数,需要继续执行减法操作,直到结果为正数为止。
三、sub指令的应用sub指令在计算机组成原理中有着广泛的应用。
首先,它可以用于算术运算中,例如加减法运算、比较大小等。
其次,它可以用于逻辑运算中,例如判断两个数值之间的关系等。
此外,sub指令还可以用于控制流程中,例如跳转、循环等操作。
最后,sub指令还可以用于地址计算中,例如计算内存地址等。
四、sub指令的执行过程sub指令的执行过程可以分为以下几个步骤:1.取指阶段:从内存中读取指令和操作数数据;2.译码阶段:对指令进行译码,确定指令的操作和操作数;3.执行阶段:根据译码结果执行sub指令,将两个操作数相减并将结果存储在寄存器中;4.送回阶段:将结果返回给程序计数器或寄存器等。
五、sub指令的优化为了提高计算机的性能和效率,可以对sub指令进行优化。
例如,可以采用流水线技术来减少指令之间的等待时间;可以采用乱序执行技术来提高指令执行的顺序性;可以采用分支预测技术来减少分支跳转的时间和次数等。
六、总结sub指令是计算机组成原理中的基本指令之一,它在数据传送、算数运算、逻辑运算、控制流程、地址计算等方面有着广泛的应用。
通过对sub指令的学习和理解,可以更好地了解计算机的工作原理和性能优化方法。
一、选择题1.假定下列字符码中有奇偶校验位,但没有数据错误,采用偶校校验的字符码是______。
A 11001011B 11010110C 11000001 D110010012.8位定点字长的字,采用2的补码表示时,一个字所能表示的整数范围是______。
A .–128 ~ +127 B. –127 ~ +127 C. –129 ~ +128 D.-128~ +1283.下面浮点运算器的描述中正确的句子是:______。
a)浮点运算器可用阶码部件和尾数部件实现b)阶码部件可实现加、减、乘、除四种运算c)阶码部件只进行阶码相加、相减和比较操作d)尾数部件只进行乘法和减法运算4.某计算机字长16位,它的存贮容量是64KB,若按字编址,那么它的寻址范围是______A. 64KB. 32KC. 64KBD. 32 KB5.双端口存储器在______情况下会发生读/写冲突。
a)左端口与右端口的地址码不同b)左端口与右端口的地址码相同c)左端口与右端口的数据码不同d)左端口与右端口的数据码相同6.寄存器间接寻址方式中,操作数处在______。
A. 通用寄存器B. 主存单元C. 程序计数器D. 堆栈7.微程序控制器中,机器指令与微指令的关系是______。
a)每一条机器指令由一条微指令来执行b)每一条机器指令由一段微指令编写的微程序来解释执行c)每一条机器指令组成的程序可由一条微指令来执行d)一条微指令由若干条机器指令组8.按其数据流的传递过程和控制节拍来看,阵列乘法器可认为是______。
a)全串行运算的乘法器b)全并行运算的乘法器c)串—并行运算的乘法器d)并—串型运算的乘法器9.由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此机器周期通常用______来规定。
a)主存中读取一个指令字的最短时间b)主存中读取一个数据字的最长时间c)主存中写入一个数据字的平均时间d) 主存中读取一个数据字的平均时间10. 程序控制类指令的功能是______。
第一课时1、指令分为操作码和地址码,操作码指明了操作类型,地址码指明了对哪两个数进展操作。
2、CPU的时钟频率也即是CPU的主频。
3计算机系统构造:概念性构造和功能特性。
是指硬件子系统的概念性构造和功能特性。
由指令系统所规定的所有属性,所以也称指令集体系构造。
主要研究计算机系统软件和硬件的功能分配,以及如何最正确地实现分配给硬件的功能。
例如:指令系统中是否包括乘法指令?4、计算机组织:也称计算机组成:计算机主要部件的类型、数量、组成方式、控制方式和信息流动方式以及相互连接而构成的而系统。
主要研究数据和指令的组织,数据的存取、传送和加工处理。
数据流和指令流的控制方式根本运算的算法例如:如何实现乘法指令?5计算机实现:计算机功能的物理实现。
6、加法指令执行速度因为加法指令能反映乘除等运算,而其他指令的执行时间也大体与加法指令相当。
7、CP I,执行一条指令所需时钟周期数,是主频的倒数。
8、等效指令速度法9存储器不仅能存放数据,而且也能存放指令,两者在形式上没有区别,但计算机应能区分数据还是指令。
10 有时我们说某个特定的功能是由硬件实现的,但并不是说不要编写程序,如乘法功能可由乘法器这个硬件实现,但要启动这个硬件〔乘法器〕工作,必须先执行程序中的乘法指令。
11 指令译码器是译指令的操作码。
而是在读出之前就知道将要读的信息是数据还是指令了12 在计算机领域中,站在某一类用户的角度,如果感觉不到某个事物或属性的存在,即“看〞不到某个事物或属性,那么称为“对xxxx用户而言,某个事物或属性是透明的〞。
13程序控制器:〔PC〕是执行指令的机器。
14 机器字长定义为CPU中在同一时间内一次能够处理的二进制数的位数,实际上就是CPU中数据通路的位数15 浮点运算器的数据通路要宽得多。
16所以一般把定点运算器的数据通路宽度定为机器字长。
因为机器字长与内存单元的地址位数有关,而地址计算是在定点运算器中进展的。
17、一个字的宽度并不等于机器字长。
计算机学院计算机科学与技术专业《计算机组成原理课程设计》报告(2008/2009学年第一学期)学生姓名:闫全胜学生班级:计算机062202H学生学号: 200620030227指导教师:康葆荣2009年1月3日目录1 关于此次课程设计 (2)1.1 设计的目的: (2)1.2 设计内容及要求: (2)2 分析阶段 (3)2.1指令译码电路分析 (3)2.2 寄存器译码电路分析 (4)2.3 微指令格式分析 (5)2.4 时序分析 (6)3 初步设计阶段 (7)3.1 数据格式 (7)3.2指令描述 (7)3.3 存储器分区 (9)3.4 控制台微程序流程: (10)3.5 运行微程序 (11)4 详细设计阶段 (12)4.1控制台流程分解 (12)4.2 运行微程序子流程 (15)4.3 微程序总流程图 (24)5 实现阶段 (25)5.1 所用模型机数据通路的介绍 (25)5.2 微程序代码设计与编写 (26)微程序二进制代码表 (26)5.3 机器指令的输入及运行 (28)心得体会 (30)参考资料 (31)1 关于此次课程设计1.1 设计的目的:本课程设计是计算机科学与技术专业重要的实践性教学环节之一,是在学生学习完《计算机组成原理》课程后进行的一次全面的综合设计。
目的是通过一个完整的8位指令系统结构(ISA)的设计和实现,加深对计算机组成原理课程内容的理解,建立起整机系统的概念,掌握计算机设计的基本方法,培养学生科学的工作作风和分析、解决实际问题的工作能力。
1.2 设计内容及要求:基于TDN-CM++计算机组成原理实验教学系统,设计和实现一个8位指令系统结构(ISA),通过调试和运行,使设计的计算机系统能够完成指定的功能。
设计过程中要求考虑到以下各方面的问题:1、指令系统风格(寄存器-寄存器,寄存器-存储器,存储器-存储器);2、数据类型(无符号数,有符号数,整型,浮点型);3、存储器划分(指令,数据);4、寻址方式(立即数寻址,寄存器寻址,直接寻址等);5、指令格式(单字节,双字节,多字节);6、指令功能类别(算术/逻辑运算,存储器访问,寄存器操作,程序流控制,输入/输出);7、依据CPI值对指令系统进行性能分析。
要求学生综合运用计算机组成原理、数字逻辑和汇编语言等相关课程的知识,理解和熟悉计算机系统的组成原理,掌握计算机主要功能部件的工作原理和设计方法,掌握指令系统结构设计的一般方法,掌握并运用微程序设计(Microprogramming)思想,在设计过程中能够发现、分析和解决各种问题,自行设计自己的指令系统结构(ISA)。
2 分析阶段2.1指令译码电路分析 指令译码工作原理图:P(3)P(1)FZFC SW-A图2.1指令译码工作原理图根据上图得出指令译码器的逻辑表达式如下。
其中P(1) ~P(4)为低电平有效,当选用时该信号为零;I7 ~I2表示机器指令前六位;SE5 ~SE1为微控制器但愿位地址锁存器的强制端输出;SWA SWB 均为1(启动程序时)。
此设计中设定为P (1)有效,P (2) P (3)均无效,FC FZ T4无需考虑。
由算出的SE5 ~SE1可知操作码对应的入口微地址。
2.2 寄存器译码电路分析寄存器译码原理图如下:LDB0LDR1LDR2I1I0LDRiR0-BR1-BR2-BRD-BRS-BRI-BI3I2图2.2 寄存器译码原理图寄存器的输入、输出不仅决定于输入、输出开关,还与机器指令的后四位(即I3~I0)有关,由其决定哪个寄存器被选中。
2.2.1 寄存器的输入LDRi 为寄存器的输入开关,且为低电平有效(即LDRi=0),I1、I0对寄存器进行选择,决定数据进入哪个寄存器。
2.2.2 寄存器的输出RS-B、RD-B、RI-B为寄存器的输出开关,且为低电平有效;I3、I2对寄存器进行选择,决定从哪个寄存器输出指令;从原理图上可以得出R2-B的输出,若RI-B有效则无需关注I3、I2因而I3、I2可为任意状态。
2.3 微指令格式分析微代码格式如下(1)字段24~19控制运算器的控制端,通过改变S3~CN来决定对数据进行何种算术或逻辑运算。
本设计中全部为正逻辑运算。
(2)字段18为控制对主存W/R的开关(3)字段17、16控制24译码器的输出端,对Y0、Y1、Y2进行选择。
(4)字段15~7为A、B、C三个开关控制端。
A字段B字段C字段(5)字段6~1为该条微程序的八位二进制后继地址,其决定顺序执行哪条微程序。
2.4 时序分析T1、T2、T3、T4为节拍控制端,本设计用了T4节拍控制端,当指令通过译码器P (1)时,P(1)对操作码进行测试,通过节拍脉冲T4的控制,以便识别所要求的操作。
图2.4 时序信号图TS1时进行微程序控制器控制,TS2时进行微指令寄存器控制,TS时控制LDIR、LDAR,TS4时对P(1)、P(2)、P(3)、P(4)、AR、LOPC、LDRi、LDDR1、LDDR2进行控制。
3 初步设计阶段3.1 数据格式本设计中所有需要处理的数据全部采用定点无符号整数表示,8个bit位,格式如下:数据的范围是0~28-1,即0~255。
3.2指令描述3.3 存储器分区设计中将主存储器划分为两部分,地址单元00H~1DH为指令存储区,地址单元1FH~FFH为数据存储区,其中每个地址单元中能够保存一个八位二进制的数据。
划分如下图所示:3.4 控制台微程序流程:PC 计数器在用清零开关CLR 清零后,通过控制台开始进行机器指令的读写和执行,此处将00Q 的后继地址设为20Q(即010000)。
此时只有P(4)有效,即P(4)=0,P(1)=P(2)=P(3)=1。
且SEi 为1时无效,不能改变;只有SEi 为0时,才能对该位上的数进行改变;但只能由0变成1,而不能逆转。
3.4.1 强置写当进行机器指令写入时,将SWB,SWA 置成01状态,通过指令译码器的逻辑表达式即可算出入口地址。
SE5=1 SE4=1SE3=1SE2=1SE1=0SE5~SE2均无效,只有SE1有效,即可得出010000改变为010001,即强置写的入口地址为21Q。
3.4.2 强置读当进行机器指令写入时,将SWB,SWA置成00状态,通过指令译码器的逻辑表达式即可算出入口地址。
SE5=1SE4=1SE3=1SE2=1SE1=1SE5~SE1均无效,不能对 010000进行改变,即强置写的入口地址为20Q。
3.4.3 程序执行当进行机器指令写入时,将SWB,SWA置成11状态,通过指令译码器的逻辑表达式即可算出入口地址。
SE5=1SE4=1SE3=1SE2=0SE1=0SE5~SE3均无效,SE2和SE1有效,即可得出010000改变为010011,即强置写的入口地址为23Q。
3.5 运行微程序PC计数器在用清零开关CLR清零后,通过控制台进入机器指令执行状态,然后开始运行微程序。
此时只有P(1)有效,即P(1)=0,P(2)=P(3)=P(4)=1,且SWB,SWA仍为11。
此处将运行P(1)的上一步微指令的后继地址设为40Q(即100000),应用指令译码器的逻辑表达式对其进行改变得出微程序入口地址。
由于决定入口地址的只有机器指令的前四位(即I7~I4),则通过拟定其先得出入口地址,并检验拟定的前四位是否合理,如下表所示。
4 详细设计阶段4.1控制台流程分解4.1.1 公操作对机器进行总清零CLR 1-0-1。
选中P(4),通过译码形成入口地址。
4.1.2 强置写形成入口地址后,执行写操作。
1.(1)打开PC-B 将数据送到总线上; (2)打开LDAR 将数据从总线流到AR 中; (3)打开LDPC ,让自动加1的数据进入PC 中。
2.(1)打开SW-B 将数据送到总线上, (2)打开LDDR1将数据从总线流到DR1中。
3.(1)打开ALU-B 将数据送到总线上,其间DR1中的数据相当于在ALU中做F=A 的运算;(2)打开CE 、WE 置成01状态,将数据从总线流到主存相应地址单元中,完成数据写操作。
4.1.3 强置读形成入口地址后,执行读操作。
1.(1)打开PC-B 将数据送到总线上;(2)打开LDAR 将数据从总线流到AR 中; (3)打开LDPC ,让自动加1的数据进入PC 中。
2.(1)打开CE 、WE 置成00状态,将数据从主存送到总线上; (2)打开LDDR1将数据从总线流到DR1中。
3.(1)打开ALU-B 将数据送到总线上,其间DR1中的数据相当于在ALU 中做F=A 的运算; (2)打开LED-B ,数据从总线流到输出单元,在数码管上显示出来,完成数据读操作。
4.1.4执行程序形成入口地址后,开始执行程序。
所有都为空操作,只是要通过后继地址转入到运行微程序的流程中。
4..1.5控制台流程图由上可知控制台的总流程图为:4.2 运行微程序子流程 4.2.1 公操作所有的子流程都要运行取指的公操作,然后才能进行各自的操作。
运行微程序1.(1)打开PC-B ,将PC 中的数据(指令操作码地址)送到总线上;(2)打开LDAR 将数据从总线流到AR 中; (3)打开LDPC,让自动加1的数据进入PC 中。
2.(1)打开CE 、WE 置成00状态,对主存进行读操作,访问AR 中保存地址的地址单元中指令;(2)打开LDIR ,将主存中被访问的地址单元中指令送到IR ;(3)选中P(1),根据刚保存到IR 中的指令,通过指令译码器,形成执行该指令的微程序入口地址。
4.2.2 IN1指令操作完成公操作后,根据形成的入口地址运行IN1指令操作。
(1)打开SW-B,将“INPUT DEVICE ”中输入的数据流到总线上;(2)打开LDRi ,在T4脉冲作用下打开R0输入端据IN1机器指令的后两位决定让数据从总线上送入R0。
4.2.3 ADD 指令操作完成公操作后,根据形成的入口地址运行ADD 指令操作。
1.(1) 打开PC-B ,将PC 中的数据送到BUS ;(2) 打开LDAR ,在T3脉冲作用下将数据从总线流到AR 中; (3) 打开LDPC ,让自动加1的数据进入PC 中。
2.(1)打开CE 、WE 置成00状态,将数据从主存送到总线上; (2)打开LDAR ,在T3脉冲作用下将数据从总线流到AR 中。
3.(1)打开CE 、WE 置成00状态,据AR 中保存的指令地址码,在主存相同地址单元中,读出保存的操作数,并放置到总线上;(2)打开LDDR2,在T4脉冲作用下将数据从总线流到DR2中。
4.(1)打开RS-B ,即打开R0的输出,将数据送到总线上;(2)打开LDDR1,在T4脉冲作用下让操作数经由总线进入到DR1中。