计算机系统基础第二版课后答案_计算机组成原理第六版课后答案

计算机系统基础第二版课后答案_计算机组成原理第六版课后答案《计算机组成原理》课程笔记(五)——指令的组成与格式从这节开始,我们进入指令系统的讲解。首先讲解指令的格式。一、机器指令的格式1.机器指令的含义和组成:一条机器指令是一组有意义的二进制代码,是一串高低电平信号,用

《计算机组成原理》课程笔记(五)——指令的组成与格式   从这节开始,我们进入指令系统的讲解。首先讲解指令的格式。   一、机器指令的格式   1.机器指令的含义和组成:   一条机器指令是一组有意义的二进制代码,是一串高低电平信号,用来指挥计算机运作,表示计算机中的一条命令。   一条指令包含操作码和地址码两部分。操作码表示指令的操作和功能,用来告诉计算机来做什么操作,地址码表示操作数的地址或者操作数本身,用来告诉计算机操作的对象,以及这些对象的地址等信息。
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案图5-2 机器指令的组成   2.机器指令的长度:   一条机器指令的长度与机器字长没有固定关系。机器指令的长度可以等于机器字长,称为单字长指令;也可以等于半个机器字长,称为半字长指令;还可以等于两个机器字长,称为双字长指令。   几个概念:定长指令字结构:一个指令系统中的所有指令长度均相等,简单但不灵活。变长指令字结构:指令系统中指令的长短各异,灵活但复杂。
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案图5-3 几种指令在内存中的存储   二、指令的地址码结构   一般的计算机运算指令要包含以下这些内容:   第一个操作数或者其地址
A_1 ;   第二个操作数或者其地址
A_2 ;   需要对操作数进行的操作
OP ;   计算结果的存放地址
A_3 ;   下一条指令的地址
A_4 。   例如:我们让计算机执行一个1+2=3的指令。首先需要让计算机取出操作数1(
A_1 );然后再取出操作数2(
A_2 );之后将两者送到运算器中进行加和(
OP )运算;运算的结果放入主存的某个单中(
A_3 );之后再取出下一条指令(
A_4 ),这个过程一般可以表示为
(A_1)OP(A_2)\rightarrow A_3 。(我们约定,如果
A_x 中存储的是操作数的地址,则用
A_x 表示其地址,用
(A_x) 表示操作数本身;如果
A_x 中存储的是操作数本身,则直接用
A_x 表示操作数)   除了操作
OP 外,另外的4个地址信息均需要在地址码中体现。   下面有几种常用的地址码格式:   1.四地址指令:   上文提到的四个地址均有在地址码部分给出,这样的指令称为四地址指令。其指令格式如下图所示:
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案图5-4 四地址指令   表示为   
(A_1)OP(A_2)\rightarrow A_3   
A_4=下一条指令的地址   即对
A_1
A_2 内的数据进行操作后,结果存储到
A_3 中,然后执行
A_4 中的指令。   四地址指令需要访问4次内存:取指令一次,取第一操作数一次,取第二操作数一次,保存操作数一次。   2.三地址指令:   三地址指令省略了
A_4 :下一条指令的地址。由于大多数指令是按主存中的顺序执行的,因此可以采用一个程序计数器(
PC )来记录指令的地址,每当执行下一条指令时,
PC 的值自加1。这样的话,就可以省略掉第四个地址,得到三地址指令。如下图所示:
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案图5-5 三地址指令   表示为   
(A_1)OP(A_2)\rightarrow A_3   
(PC)+1\rightarrow PC (隐含)   即   即对
A_1
A_2 内的数据进行操作后,结果存储到
A_3 中,然后
PC 自加,顺序执行下一条指令。   例如,加操作:ADD A B X;(A+B送到X中)   与四地址指令相同,三地址指令也需要访问4次内存。   3.二地址指令:   如果第一个操作数地址与结果存放地址相同,即
A_1
A_3 相同,则可以省略掉
A_3 ,称为二地址指令。如下图所示:
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案图5-6 二地址指令   表示为   
(A_1)OP(A_2)\rightarrow A_1   
(PC)+1\rightarrow PC (隐含)   即对
A_1
A_2 内的数据进行操作后,结果仍然存储到
A_1 中,然后
PC 自加,顺序执行下一条指令。   同三地址指令相同,执行二地址指令同样也需要访问4次内存。   4.一地址指令:   如果我们进一步把另外一个操作数省略,那么就可以得到一地址指令。
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案图5-7 一地址指令   通常来说,一地址指令有如下两种情况:   (1)另一个被省略的操作数由内存外的累加寄存器
Acc ——一般用来暂存ALU运算的结果。   指令可以表示为   
(Acc)OP(A_1)\rightarrow Acc   
(PC)+1\rightarrow PC (隐含)   即
A_1 中的数据与
Acc 中的数据共同送到运算器中做运算,其运算的结果保存在
Acc 中。之后
PC 自增,继续顺序执行下一条指令。   这种类型的一地址指令通常只需要访问2次内存:存内存中取指令一次,从内存中取操作数一次,因为不需要把结果存入内存中,所以只需要访问两次。   (2)只是针对
A_1 内数据执行加一、减一、求反、求补等单操作数指令。   指令可以表示为   
OP(A_1)\rightarrow A_1   
(PC)+1\rightarrow PC (隐含)   即只对
A_1 中的数据进行操作,然后将结果存入
A_1 中。之后
PC 自增,继续顺序执行下一条指令。   这种类型的一地址指令需要访问3次内存:从内存中取指令一次,从内存中取操作数一次,将计算后的结果放入内存中一次。   5.零地址指令:   零地址指令只有操作码,没有地址码。
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案图5-8 零地址指令   零地址指令常用在堆栈的压入和弹出操作上,比如可以用
PUSH 操作码来表示将数据压入栈中,用
POP 操作码来表示将数据弹出栈。通过这些功能可以实现原有的三操作数命令。比如连续两次pop出的数据可以默认地进入算术逻辑单进行运算,然后运算的结果再次被push入栈中。   不同地址指令的长度、执行速度不一样,适用的场景也不一样。一般来说,访问主存的次数越少,执行速度越快。计算机中有大量的寄存器,访问寄存器要比访问主存速度快很多。因此,操作数蕴含在寄存器中的指令(一地址指令)执行速度会更快。   三、指令的操作码   1.规整型(定长编码):   定长编码操作码的长度和位置是固定的, 操作码位数越多,能够表示的指令条数越多。如果操作码位数为
N ,则最多能表示
2^N 条不同操作的指令。同样,如果想要表示
m 条不同操作的指令,则最少需要的操作码位数是
log_{2}^{m} 。例如,IBM370机的操作码为定长8位,最多可以表示256条指令,但IBM370只有183条指令有效,其他剩余的指令称为非法操作码。   2.非规整型(变长编码):   变长编码操作码的位数和位置不固定,可以使指令更加灵活,同时使得一定位数的操作码能够表示更多的指令。此外,由于当指令长度一定时,操作码和地址码的长度是相互制约的,此时就需要使得操作码能够更加灵活一些。   常用的变长编码方式有扩展操作码法:   假设指令的长度为固定的16位,且每个地址长度为4位。   则对于三地址指令来说,操作码只有4位。这时,我们可以使用0000~1110的15个操作码来表示15条不同操作的三地址指令。余下的1111用来扩展。   对于二地址指令来说,操作码有8位。我们利用前面剩下的1111来继续扩展操作码——使用1111 0000~1111 1110的操作码来表示15条不同操作的二地址指令。剩下的1111 1111同样用来扩展。   对于一地址指令来说,操作码为12位。我们继续利用前面剩下的1111 1111扩展操作码,使用1111 1111 0000~1111 1111 1110表是15条不同操作的一地址指令。剩下的1111 1111 1111同样用来扩展。   同理,对于零地址指令来说,操作码为16位,等于指令长度,我们使用前面剩下的1111 1111 1111来扩展,于是1111 1111 1111 0000~1111 1111 1111 1111可以表示16条不同操作的零地址指令。   如下图所示:
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案
计算机系统基础第二版课后答案_计算机组成原理第六版课后答案图5-9 扩展指令码   扩展指令码有一些规则:不允许短码是长码的前缀。各条指令的操作码不能重复。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/18835.html

(0)
上一篇 2024年 9月 16日 上午10:06
下一篇 2024年 9月 16日

相关推荐

关注微信