计算机组成原理第四章指令系统
计算机组成原理第五版 白中英(详细)第4章习题参考答案
第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)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。
根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;(2)因为OP为4位,所以最多可以有16种操作。
《计算机组成原理》教程第4章指令系统
4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.
计算机原理 第四章指令系统
4. 寄存器间接寻址方式
指令给出寄存器号,寄存器中存放着操作数的地址。
优点:寄存器的位数 较长(一般为机器字 长),足以访问整个 内存空间,这样既有 效地压缩了指令长度, 又解决了寻址空间太 小的问题。
主存单元 例: ADD (R1),(R2) R0 1000H 1000H 3A00H
R1
2C00H+ 3B00H → 3000H单元 R2
计 算 机 组 成 原 理
指令扩展举例 1
16位指令字 三地址指令范围 xxxx
0000 1110 1111 1111 1111 1111 1111 1111
xxxx xxxx xxxx
A1 A1 0000 1110 1111 1111 1111 1111 A2 A2 A1 A1 0000 1110 1111 1111 A3 A3 A2 A2 A1 A1 0000 1111
2.变长操作码,定长指令码。
操作码长度不固定,但指令码的长度固定。这种设计当操作码变 长时,地址码就缩短(地址个数变少),但指令字总长不变。 〔例〕 设某机器的指令长度为16位,包括基本操作码4位和三个 地址字段,每个地址字段长4位,其格式为: 15 14 13 12 OP 11 10 9 8 AD1 7 6 5 4 AD2 3 2 AD3 1 0
第四章
§4.1 指令格式
指令系统
(P148)
§4.2
寻址方式
§4.3 指令类型 §4.4 § 4.5 CISC和RISC 实验模型机的指令系统汇总表
§4.1 指令格式
计算机指令是计算机硬件能够识别并直接执行的操作命令,又称为 机器指令。
一、指令格式
一条指令应包括两方面的信息:操作码信息和地址码信息。 操作码OP 地址码AD
全国硕士研究生入学统一考试408计算机学科专业基础综合章节题库-计算机组成原理第四章至第七章【圣才出
第4章指令系统一、单项选择题1.某计算机操作码采用固定长度方案,操作码位数是8位,其指令种类最多是()。
A.64种B.128种C.256种D.32种【答案】C【解析】由于操作码长度固定,指令种类数位由操作码位数决定,指令种类最多为:28=256种。
2.下列关于一地址指令的说法正确的是()。
A.可能是数据传送指令B.可能是实现单目运算的运算指令C.可能是实现双目运算的运算指令D.以上都有可能【答案】D【解析】一地址指令可能是实现单目运算的运算指令,也可能是数据传送指令或者实现双目运算的运算指令,其中一个操作数由指令地址码给出,另一个操作数为隐含寻址,通常由累加器ACC提供。
3.在关于一地址运算类指令的叙述中,正确的是()。
A.仅有一个操作数,其地址由指令的地址码提供B.可能有一个操作数,也可能有两个操作数C.一定有两个操作数,另一个是隐含的D.指令的地址码字段存放的一定是操作码【答案】B【解析】一地址运算类指令包括单操作数指令(如加1、减1指令)和双操作数指令(如加、减指令)两类。
对于单操作数指令只需要一个操作数,对于双操作数指令需要两个操作数,其中一个操作数的地址是显地址,另外一个操作数隐含在累加寄存器中。
因此答案选B。
4.一个计算机系统采用32位单字长指令,地址码为12位,如果定义了250条二地址指令,那么单地址指令的条数有()。
A.4KB.8KC.16KD.24K【答案】D【解析】二地址指令的操作码字段8位,现定义了250条二地址指令,采用扩展操作码技术,留下6个扩展窗口,每个扩展窗口可以扩展212=4K条一地址指令,故共可扩襞6×4K=24K条一地址指令。
5.指令周期是指()。
A.CPU从主存取出一条指令的时间间B.CPU执行一条指令的时间C.CPU从主存取出一条指令加上执行这条指令的时间D.时钟周期时间【答案】C【解析】CPU每取出并执行一条指令所需的全部时间成为指令周期。
在大多数情况下,CPU是按照:取指->执行->再取值->在执行…的顺序自动工作的。
第4章指令系统层习题参考解答-汇编语言与计算机组成原理 答案
1.什么是“程序可见”的寄存器?程序可见寄存器是指在用户程序中用到的寄存器,它们由指令来指定。
2. 80x86微处理器的基本结构寄存器组包括那些寄存器?各有何用途?基本结构寄存器组按用途分为通用寄存器、专用寄存器和段寄存器3类。
通用寄存器存放操作数或用作地址指针;专用寄存器有EIP和EFLAGS,分别存放将要执行的下一条指令的偏移地址和条件码标志、控制标志和系统标志;段寄存器存放段基址或段选择子。
3.80x86微处理器标志寄存器中各标志位有什么意义?常用的7位:CF进位标志: 在进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF置1;否则置0。
在移位类指令中,CF用来存放移出的代码(0或1)。
PF奇偶标志: 为机器中传送信息时可能产生的代码出错情况提供检验条件。
当操作结果的最低位字节中1的个数为偶数时置1,否则置0。
AF辅助进位标志: 在进行算术运算时,如低字节中低4位(第3位向第4位)产生进位或借位时,则AF置1;否则AF置0。
ZF零标志:如指令执行结果各位全为0时,则ZF置1;否则ZF置0。
SF符号标志:其值等于运算结果的最高位。
如果把指令执行结果看作带符号数,就是结果为负,SF置1;结果为正,SF置0。
OF溢出标志: 将参加算术运算的数看作带符号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1;否则OF置0。
DF方向标志: 用于串处理指令中控制处理信息的方向。
当DF位为1时,每次操作后使变址寄存器SI和DI减小;当DF位为0时,则使SI和DI增大,使串处理从低地址向高地址方向处理。
4.画出示意图,简述实模式下存储器寻址的过程。
20位物理地址如下计算(CPU中自动完成):10H×段基址+偏移地址=物理地址5. 画出示意图,简述保护模式下(无分页机制)存储器寻址的过程。
采用对用户程序透明的机制由选择子从描述子表中选择相应的描述子,得到欲访问段的段基址、段限等有关信息,再根据偏移地址访问目标存储单元。
计算机组成原理-第4章_指令系统
7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
计算机组成原理 第四章 微体系结构
一个短序列的微指令(对应一条机器指令)可 能位于CM的任何位置,而且不一定连续,但通过 NEXT-ADDRESS可以连续执行。 3.主循环微程序 主循环的起点是标号为Main1的行,一条微指令, 完成功能: PC+1,指向操作码之后的第一个字节(下一条 指令OP或本条指令的第二个字节) Fetch,取下一条指令OP或本条指令的第二个字节 Goto(MBR),Main1开始处的MBR指向的地址,因
MDR=SP+MDR H=H-MDR SP=MDR=SP+1 MAR=SP;rd MDR=H goto label (goto Main1) TOS=TOS Z=TOS if(Z) goto L1;else goto L2 Z=TOS;if(Z) goto L1;else goto L2 goto (MBR OR value) goto(MBR)
2)微指令格式 主要包括两部分 微操作码字段,又称为操作控制(控制命令) 字段,提供机器指令的一个执行步骤所需的微命令, 以控制各部件执行该步骤的操作。 微地址码字段,又称为顺序控制(下地址)字 段,用于指定后继微指令地址的形成方式,控制微 程序的自动连续执行(微程序设计的难点)
操作控制字段 顺序控制字段
4.1.2 微指令
Addr—下一条可能执行的微指令地址。 JAM—决定如何选择下一条微指令。 ALU—ALU和移位器的操作。 C—选择C总线的数据将要写入的寄存器。 Mem—内存操作。 B—选择B总线的数据来源,采用图示的编 码方式。
4.1.3微指令控制:Mic_1
JAM JAM JAM
000
过程(方法) 局部变量
4.2.2 IJVM 内存模型
4.2.3 IJVM 指令集
Hale Waihona Puke *※ ※∆ ∆ ∆ *
计算机组成原理(白中英)第4章指令系统
计算机组成原理(白中英)第4章指令系统指令系统概述寻址方式指令系统20XX年3月15日10时45分概述指令:是指示计算机某种操作的命令。
微指令,机器指令,宏指令指令系统:一台计算机中所有机器指令的集合。
它是机器硬件设计的依据,也是软件设计的基础。
它决定了一台计算机硬件的主要性能和基本功能。
是硬件和软件间的界面。
系列计算机:有共同的指令集,相同的基本体系结构。
CISC和*****X年3月15日10时45分2一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。
1.完备性:指令丰富,功能齐全,使用方便。
完备性 2.有效性程序占空间小,执行速度快。
有效性: 2.有效性:程序占空间小,执行速度快。
3.规整性对称性,匀齐性,规整性:3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。
据格式的一致性。
4.兼容性兼容性:4.兼容性:向上兼容”----系列机中低档机上运行“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。
的软件可以在高档机上运行。
20XX年3月15日10时45分计算机语言与硬件结构的关系高级语言的语句和用法与具体机器的指令系统无关;低级语言分机器语言和汇编语言,他们和具体机低级语言分机器语言和汇编语言,器的指令系统密切相关。
器的指令系统密切相关。
汇编语言与硬件的关系密切,编写的程序紧凑、汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。
编写与硬件没有直接关系的应用软件。
20XX年3月15日10时45分4概述机器指令的要素C C C C 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。
指令字(简称指令)即表示一条指令的机器字。
计算机组成原理第四章答案
第4章习题参考答案1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?答:不合理。
指令最好半字长或单字长,设16位比较合适。
一个字符的ASCII 是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。
2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。
答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。
双操作数指令3.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1) 单字长二XXX指令。
(2) 操作码字段OP可以指定26=64种操作。
(3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。
(4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。
4.指令格式结构如下所示,试分析指令格式及寻址方式特点。
15 10 9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1)双字长二XXX指令,用于访问存储器。
(2)操作码字段OP可以指定26=64种操作。
(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。
有效XXX可通过变址寻址求得,即有效XXX等于变址寄存器(选择16个之一)内容加上位移量。
5.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。
根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;(2)因为OP为4位,所以最多可以有16种操作。
计算机组成原理 指令系统
本章所讨论的指令,是机器指令
本章学习内容
4.1 指令格式 4.2 寻址技术 4.3 堆栈与堆栈操作 4.4 指令类型
本章学习要求
理解:指令的基本格式以及不同地址码(3、2、1 、0地址)的双操作数指令的区别 理解:规整型指令和非规整型指令的特点 掌握:扩展操作码的方法 理解:编址单位和指令中地址码的位数与主存容量 、最小寻址单位的关系 掌握:基本的数据寻址方式和有效地址EA的计算方 法 掌握:自底向上的存储器堆栈的概念及堆栈的进、 出栈操作 理解:常用指令的特点
当用一些硬件资源代替指令字中的地址码字段后
• 可扩大指令的寻址范围
• 可缩短指令字长 • 可减少访存次数 当指令的地址字段为寄存器时
三地址
二地址 一地址
OP R1, R2, R3
OP R1, R2 OP R1
• 可缩短指令字长 • 指令执行阶段不访存
EXP 某指令字长为16位,每个地址码为6位,扩 展操作码技术,设有14条二地址指令,100条一 地址指令,100条零地址指令: 1)画出扩展图 2)计算操作码平均长度 3)指令译码逻辑
1.规整型
操作码字段的位数和位置是固定的。 假定:指令系统共有m条指令,指令中操 作码字段的位数为N位,则有如下关系式: N≥log2 m 规整型编码对于简化硬件设计,减少指 令译码的时间是非常有利的。 IBM 370机(字长32位)的指令可分为 三种不同的长度,不论指令的长度为多少位,其 中操作码字段一律都是8位。
指令长度可以等于机器字长,也可以大于或 小于机器字长。 在一个指令系统中,若所有指令的长度都是 相等的,称为定长指令字结构;若各种指令的长 度随指令功能而异,称为变长指令字结构。
计算机组成原理_指令系统
4.1 指令系统的发展与性能要求 4.2 指令格式与 4.3 操作数类型 4.4 指令和数据的寻址方式 4.5 典型指令
返回
1
4.1 指令系统的发展与性能要求
1、指令在计算机系统中的地位 (1)是软件和硬件分界面的一个主要标志
– 硬件设计人员采用各种手段实现它;
– 软件设计人员则利Βιβλιοθήκη 它编制各种各样的系统软 件和应用软件
– 指令系统是表征一台计算机性能的重要因素,它的格式 与功能不仅直接影响到机器的硬件结构,而且也直接影
3
4.1 指令系统的发展与性能要求
3、发展情况 – 复杂指令系统计算机,简称CISC。但是如 此庞大的指令系统不但使计算机的研制 周期变长,难以保证正确性,不易调试 维护,而且由于采用了大量使用频率很 低的复杂指令而造成硬件资源浪费。 – 精简指令系统计算机:简称RISC,人们又 提出了便于VLSI技术实现的精简指令系统 计算机。
• Pentium数据类型(见P111表4.4)
– 常规数据类型 – 整数数据类型 – ……..
23
4.4 指令和数据的寻址方式
• 研究问题
– 确定本条指令中各操作数的地址 – 下一条指令的地址
• 寻址方式是指CPU根据指令中给出的地址码 字段寻找相应的操作数的方式,它与计算 机硬件结构紧密相关,而且对指令的格式 和功能有很大的影响。
30
2、立即寻址
• 特点:在取指令时,操作码和操作数被同时取出, 不必再次访问存储器,从而提高了指令的执行速 度。 • 但是,因为操作数是指令的一部分,不能被修改; • 而且对于定 长指令格式,操作数的大小将受到指 令长度的限制,所以这种寻址方式灵活性最差 • 通常用于给某一寄存器或主存单元赋初值,或者 用于提供一个常数。
计组第4章
CISC:
•复杂指令系统计算机。 •指令系统中指令数量多达几百条。
RISC:
•精简指令系统计算机。 •选取使用频率最高的简单指令,指令 条数少。
4.1.2 对指令系统性能的要求
一个完善的指令系统应满足如下 四方面的要求:
完备性 规整性
有效性
兼容性
完备性 是指用汇编语言编写各
种程序时,指令系统直接提 供的指令足够使用,而不必 用软件来实现。完备性要求 指令系统丰富、功能齐全、 使用方便。
《计算机组成原理》
第四章 指令系统
介绍几个基本概念
指令是指挥机器完成某种操作的命令。
指令系统是某台计算机能直接识别并正
确执行的所有指令的集合。
指令系统是表征一台计算机性能的重要
因素,是计算机软件与硬件的交界面。
主要内容
1. 2. 3. 4. 5. 指令系统的发展 指令的格式 寻址方式 指令的分类和功能 典型指令系统的模型
操作操作数指令操作码寄存器指令操作数寄存器直接寻址操作码存储器指令操作数直接寻址操作码操作数存储器寄存器指令存储器指令操作码操作数寄存器间接寻址存储器间接寻址操作码操作数pc指令存储器存储器寄存器指令操作码操作数变址寻址pc存储器寄存器指令操作码操作数存储器寄存器指令操作码操作数变址相对寻址间接变址寻址16位偏移量dop其中i为间接寻址标志位x为寻址模式字段d位偏移量字段
有效性是指利用该指令系统所编
写的程序能够高效率地运行。 高效率主要表现:
•
•
空间:在程序占据存储空间小;
时间:执行速度快。
规整性包括指令系统的对称性、匀齐性、
指令格式和数据格式的一致性。
• 对称性:指在指令系统中所有的寄存器 和存储器单元都可同等对待,所有的指 令都可使用各种寻址方式; • 匀齐性:指一种操作性质的指令可以支 持各种数据类型; • 指令格式和数据格式的一致性:指指令 长度和数据长度有一定的关系,以方便 处理和存取。通常都是字节的整数倍。
计算机组成原理第四章指令系统[一]
例如:Intel8086 中的立即寻址指令.
MOV Ax,2000H; 将立即数2000H存入累加器AX中
2.存储器直接寻址(Memory direct addressing):指令的地
4.1 指令格式
1.指令格式
操作码 地址码
• 操作码(Operation code):指明该指令执行 什么性质的操作,不同的指令有不同的操作 码.其位数反映了机器操作种类,即机器允许 的指令条数.
• 地址码:指明操作数所在的地址(Source operand reference),结果存放的地址(Result operand reference)以及下一条指令的地址 (Next instruction reference).
• 变长指令字结构:一个指令系统中,各种指令字 长度随功能而异.CISC采用变长指令字结构. 优点:使用灵活,充分利用指令的每一位,指令平均 长度短,码点冗余少,易于扩展; 缺点:指令格式不规整,取指令时需要多次访存,从 而导致不同指令的执行时间不同,硬件控制系统 复杂.
2.地址码结构
设计指令的地址码格式时需解决:
XXXX XXXX 0000 1 1 01 1110 1110 1110 1111 1111 1111 1111
YYYY YYYY YYYY YYYY 0000 0001 1111 0000 1110 1111 1111
ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ
ZZZZ 0000 1111
指令格式为:
设Data为操作数
计算机组成原理习题答案第四章
1.指令长度和机器字长有什么关系?半字长指令、单字长指令、双字长指令分别表示什么意思?解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。
通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。
2.零地址指令的操作数来自哪里?一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。
解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。
双操作数的一地址指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。
例如,前述零地址和一地址的加法指令。
3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。
若双操作数指令已有K 种,无操作数指令已有L种,问单操作数指令最多可能有多少种?上述三类指令各自允许的最大指令条数是多少?解:X =(24-K)×26-jL26k双操作数指令的最大指令数:24-1。
单操作数指令的最大指令数:15×26-1(假设双操作数指令仅1条,为无操作数指令留出1个扩展窗口)。
无操作数指令的最大指令数:216-212-26。
其中212为表示某条二地址指令占用的编码数,26为表示某条单地址指令占用的编码数。
此时双操作数和单操作数指令各仅有1条。
4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令。
解:4条三地址指令000XXX YYY ZZZ…011XXX YYY ZZZ8条二地址指令100000XXX YYY…100111XXX YYY180条单地址指令101000000XXX…111110011XXX5.指令格式同上题,能否构成:三地址指令4条,单地址指令255条,零地址指令64条?为什么?解:三地址指令4条000XXX YYY ZZZ…011XXX YYY ZZZ单地址指令255条100000000XXX…111111110YYY只能再扩展出零地址指令8条,所以不能构成这样的指令系统。
白中英计算机组成原理第四章答案
第4章 指令系统
第一页,编辑于星期日:四点 四十三分。
3、指令格式结构如下所示,试分析指令格
单字长单地址指令
寻址方式 寻址特征X 有效地址E
直接寻址方式
00
E=D
立即寻址方式
01
D=Imm
剩余8位作为形式地址; 变址寻址方式
10
E=(R)+D
设计方案:
相对寻址方式
11
E=(PC)+D
方案1:专用变址寄存器;
方案2:通用寄存器作为变址寄存器;
第五页,编辑于星期日:四点 四十三分。
方案1:专用变址寄存器
6位
2位
OP 寻址特征
8位 形式地址
各操作数的寻址范围: 立即数寻址方式
指令中的立即数不能超过8位;
直接寻址方式
直接地址为8位,可直接寻址范围为28个单元;
变址寻址方式
E=(R)+D,其中变址寄存器R为16位; 由于主存容量64K字,可直接寻址整个主存空间;
相对寻址方式
E=(PC)+D,可直接寻址整个主存空间;
4位
形式地址D 18位
64种操作
操作码占6位;
16个通用寄存器一个操作数和基址寄存器各占4位;
单字长指令 形式地址占32 – 6 – 4 – 4 = 18位;
操作数S的地址E =(R1)+D,其中R1为32位的;
若系统的地址总线≤32位,则可寻址整个主存;
若系统的地址总线>32位,则可寻址的最大存储空间为232+218
计算机组成原理指令
4.2.2 地址码
指令系统
根据一条指令中有几个操作数地址,可将该指令 单地址指令又称为单操作数指令。通常这种指令通常 三地址指令字中有三个操作数地址。 以运算器中累加寄存器 中的数据为被操作数,指令字的 (A1) AC OP (A2) → A3 称为几操作数指令或几地址指令。 地址码字段所指明的数为操作数,操作结果又放回累加寄 A1为被操作数地址,也称源操作数地址; A2为操作数 二地址指令常称为双操作数指令,它的两个地址码 存器 AC中。 地址,也称终点(目的)操作数地址; A3为存放结果的地址。 一般的操作数有被操作数、操作数及操作结果这 字段分别指明参与操作的两个数在内存中或运算 (AC) OP (A) → AC 同样, A1,A2,A3 既可以是内存中的单元地址,也可以是运算 三种数,因而就形成了三地址指令格式。在此基 器中通用寄存器的地址, A1又作存放操作结果的地址。 OP表示操作性质;( AC )表示累加寄存器 AC中的数; 器中通用寄存器的地址。 → 表示把操作(运算)结果传送到 (A1) OP (A2) → A1 ( A )表示内存中地址为 A 的存储单元中的数或运算器中地 指定的地方。 础上,后来又发展成二地址格式、一地址格式和零地 址为A的通用寄存器中的数;
下表列出了高级语言与低级语言的性能比较。 编译过程中对计算机资源 多 的要求
指令系统
计算机能够直接识别和执行的唯一语言是二进制语言,但 人们采用符号语言或高级语言编写程序。为此,必须借助汇编 程序或编译程序,把符号语言或高级语言翻译成二进制码组成 的机器语言。 汇编语言依赖于计算机的硬件结构和指令系统。不同的机 器有不同的指令,所以用汇编语言编写的程序不能在其他类型 的机器上运行。
数据长度有一定的关系,以方便处理和存取。
王道计算机组成原理第四章指令系统思维导图脑图
根据操作码的长度不同分类
定长操作码:指令系统中所有指令的操作码长度都相同 可变长操作码:指令系统中各指令的操作码长度可变
n位→2n 条指令 控制器的译码电路设计简单,但灵活性较低 控制器的译码电路设计复杂,但灵活性较高
LOAD 作用:把存储器中的数据放到寄存器中
1. 数据传送
STORE 作用:把寄存器中的数据放到存储器中
x86处理器中程序计数器PC通常被称为IP
选择语句的机器级表示
设计思路:一条指令完成一个复杂的基本功能。
代表:x86架构,主要用于笔记本、台式机等
设计思路:一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基 本功能
代表:ARM架构,主要用于手机、平板等
CISC: Complex Instruction Set Computer RISC: Reduced Instruction Set Computer
概念
存储字长:一个存储单元中的二进制代码位数(通常和MDR位数相同)
半字长指令、单字长指令、双字长指令 ——指令长度是机器字长的多少倍
根据指令长度分类
指令字长会影响取指令所需时间。如:机器字长=存储字长=16bit,则取一条双 字长指令需要两次访存
定长指令字结构:指令系统中所有指令的长度都相等
变长指令字结构:指令系统中各种指令的长度不等
隐含寻址
优点:有利于缩短指令字长 缺点:需增加存储操作数或隐含地址的硬件 形式地址A就是操作数本身,又称为立即数,一般采用补码形式
#表示立即寻址特征
一条指令的执行:取指令,访存1次;执行指令,访存0次;
暂不考虑存结果,共访存1次
优点:指令执行阶段不访问主存,指令执行时间最短
缺点:A的位数限制了立即数的范围,如A的位数为n,且立即数采用补码时,可 表示的数据范围为-2n−1 ~2n−1 -1
计算机组成原理(第三版)第 4 章 指令系统汇编
内存
有效地址 EA=[D]; [EA]= DATA; • 例如: ADD A,@[3050H] MOV A,@[3050H]
… EA … DATA
EA
INFO DEPT@ZUFE HANGZHOU.CHINA
5、寄存器寻址方式 ( Register Addressing )
寄存器寻址:操作数存放于指令的操作码所规定的寄存 器中即操作数位于寄存器中,操作数所在的寄存器编号 存放在指令的REG字段中。 • →速度快、指令短,操作数在CPU中; • 指令格式:
内存
有效地址 EA=[PC或IP]+D; [EA]=DATA (指令);
EA→
…
指令 …
D • 例如:JR SUB1-$
INFO DEPT@ZUFE HANGZHOU.CHINA
;
10、堆栈寻址 ( Stack Addressing )
• 操作数位于存储器中,操作数所在的存储器地址 EA由堆栈指针寄存器SP隐含指出,通常用于堆栈 指令。 • 堆栈是由若干个连续主存单元组成的先进后出( first in last out,即FILO)存储区,第一个放 入堆栈的数据存放在栈底,最近放入的数据存放 在栈顶。栈底是固定不变的,而栈顶是随着数据 的入栈和出栈在时刻变化。栈顶的地址由堆栈指 针SP指明。 • 一般计算机中,堆栈从高地址向低地址扩展,即 栈底的地址总是大于或等于栈顶的地址,称为堆 栈向上生成;堆栈寻址主要用来暂存中断和子程 序调用时现场数据及返回地址。
OP* MOD REG CPU 寄存器组
R0 … Ri
有效地址 EA=REG; [REG]= DATA; • 例如: EA→ ADD A, Ri ; MOV A, Ri ;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
50年代:指令系统只有定点加减、逻辑运算、数据传送、转移 指令系统只有定点加减、逻辑运算、数据传送、
等十几至几十条指令。 等十几至几十条指令。
60年代:增加了乘除运算、浮点运算、十进制运算、字符串处 增加了乘除运算、浮点运算、十进制运算、
理等指令,指令数目多达一二百条,寻址方式也趋多样化。60年 理等指令,指令数目多达一二百条,寻址方式也趋多样化。60年 代后期开始出现系列计算机(指基本指令系统相同、 代后期开始出现系列计算机(指基本指令系统相同、基本体系结构 相同的一系列计算机) 相同的一系列计算机) 统计算机(CISC)→精简指令系统计算机(RISC) 统计算机(CISC)→精简指令系统计算机(RISC) 精简指令系统计算机
目的/源 目的 源
SS型 型 RR型 型 RS型 型 16
(D1)θ (D1)θ(D2) 功能: 功能: (PC) + 1
D2/D1 PC
4.2.3 地址码 (4)一地址结构指令 (4)一地址结构指令 格式: 格式: θ D1
隐含约定
AC 功能: 功能: 双操作数:(D1)θ 双操作数:(D1)θ(AC) (PC) + 1 PC D1 单操作数: 单操作数:θ(D1) PC (PC) + 1 (5)零地址结构指令 (5)零地址结构指令 栈顶内容 格式: θ 格式:
27
S =((D))
4.3.2 操作数寻址方式 (2)寄存器间接寻址
地址指针
M
格式 操作码θ 寄存器号R 操作码θ 寄存器号R
S =((R))
间接地址
R=02 0040 0040
... ... ... ... S ... ...
M
R所占位数少;R可提供全字长地址码; 所占位数少; 可提供全字长地址码; 修改R内容比修改M内容快。 修改R内容比修改M内容快。
操作码字段
地址码字段
12
4.2.2 操作码格式
4.2.2 操作码格式
1. 定长操作码 各指令θ的位置、位数固定相同。 各指令θ的位置、位数固定相同。 2.扩展操作码 2.扩展操作码 各指令θ的位置、位数不固定,根据需要变化。 各指令θ的位置、位数不固定,根据需要变化。 不固定 关键在设置扩展标志。 关键在设置扩展标志。
第4章 章
第4章 章
指令系统
主要内容: 主要内容:
指令系统的基本概念 一般指令格式 常用寻址方式 面向用户指令类型
2
4.1 指令系统的发展与性能要求
微指令→ 微指令→微程序级命令
指令
机器指令→指令, 机器指令→指令,完成独立的算术逻辑运算
宏指令→若干机器组成的软件指令, 宏指令→若干机器组成的软件指令,属软件
有 较 少 不 要 独 立 易 短 较 长
有 较 多 要 不 独 难 较 长 立
2 3 4 5 6
短 少
8
多
4.2 指令格式
指令格式是指令字用二进制代码表示的结构形式。 指令格式是指令字用二进制代码表示的结构形式。
指令基本格式
一个
操作码θ 操作码θ 地址码 D
一个或多个地址
9
4.2 指令格式
4.2.1 指令字长
15
9
8
7
4
3
0
OP
……
源寄存器
目标寄存器
21
4.2
指令格式
4.2.5 指令格式举例
指令格式分析 [例2] 指令格式如下所示,其中OP为操作码,试分析指令格式 指令格式如下所示,其中OP为操作码 为操作码, 的特点(机器字长16位 的特点(机器字长16位)。
15 10 7 4 3 0
OP
-----------
栈顶下一 单元内容 新栈顶
功能: 功能:用于堆栈: 用于堆栈: ((SP))θ ((SP))θ((SP)+1) (SP)+1 17 指向新栈顶 (SP)+1 SP
4.2.3 地址码 例.某机指令系统中有加法指令ADD; 某机指令系统中有加法指令ADD; ADD
执行前: 执行前: SP 10 执行后: 执行后:
D的位数可覆盖 整个存储空间
26
操作数S =( 操作数S =(D)
4.3.2 操作数寻址方式 (2)寄存器直接寻址(寄存器寻址) 寄存器直接寻址(寄存器寻址)
格式 操作码θ 寄存器号R 操作码θ 寄存器号R
S = (R ) =(
R所占位数少; 所占位数少; 访问R比访问M 访问R比访问M快
用于访问固定的存储单元或寄存器。 用于访问固定的存储单元或寄存器。
例 单地址指令。隐式给出第二操作数地址,规定累加器AC作第二操作数地址。 单地址指令。隐式给出第二操作数地址,规定累加器AC作第二操作数地址 作第二操作数地址。
24
4.3.2 操作数寻址方式
2. 立即寻址
立即数(指令中数不能改变) 立即数(指令中数不能改变)
指令直接给出操作数。 指令直接给出操作数。
13
4.2 指令格式
4.2.3 地址码
存储单元地址码 (长) (短) 寄存器编号
指令中提供的地址数
1.指令提供地址的方式 1.指令提供地址的方式
显地址方式 隐地址方式
直接或间接给出
:指令中明显指明地址。 指令中明显指明地址。 :地址隐含约定,不出现在指令中。 地址隐含约定,不出现在指令中。
使用隐地址可以减少指令中的地址数,简化地址结构。 使用隐地址可以减少指令中的地址数,简化地址结构。 隐地址可以减少指令中的地址数
一个指令字中包含二进制代码的位数。 一个指令字中包含二进制代码的位数。 机器字长:计算机能直接处理的二进制数据位数,决定计算精度。 机器字长:计算机能直接处理的二进制数据位数,决定计算精度。 单字长指令 半字长指令 指令 双字长指令 多字长指令
10
4.2.1 指令字长
指令字长 定长指令格式 变长指令格式 便于控制 合理利用存储空间
源寄存器
变址寄存器
位移量(16位 位移量(16位)
22
4.3 寻址方式
寻址方式:是指寻找操作数地址或操作数的方式 寻找操作数地址或操作数的方式。 寻址方式:是指寻找操作数地址或操作数的方式。 4.3.1 指令的寻址方式
顺序寻址方式 跳跃寻址方式
23
4.3 寻址方式
4.3.2 操作数寻址方式
常用寻址方式 1. 隐含寻址: 隐含寻址: 操作数地址不显式给出,指令中隐含操作数地址。 操作数地址不显式给出,指令中隐含操作数地址。
70年代末:大多数计算机的指令系统多达几百条。复杂指令系 年代末:大多数计算机的指令系统多达几百条。
5
4.1 指令系统的发展与性能要求
4.1.2 对指令系统性能的要求
完备性 有效性 规整性 兼容性
6
4.1
指令系统的发展与性能要求
4.1 指令系统的发展与性能要求
4.1.3 低级语言与硬件结构的关系
北京化工大学 BUCT 信息科学与技术学院 本科课程教学 CSE32600D
计算机组成原理 Principles of Computer Organization
主讲教师: 韩阳 Michael 2008-102008-10-27
1 VERSION CSE32600D200601-03 COPYRIGHT 2006SIC&MIC 2008.9.1 ALL RIGHTS RESERVED.
计算机语言具有高级语言和低级语言之分。 计算机语言具有高级语言和低级语言之分。
7
表4.1 比 较 内
高级语言PK低级语言的性能 容
高 级 语 言 低 级 语 言
1
对程序员的训练要求 (1)通用算法 (1)通用算法 (2)语言规则 (2)语言规则 (3)硬件知识 (3)硬件知识 对机器独立的程度 编制程序的难易程度 编制程序所需时间 程序执行时间 编译过程中对计算机资源 的要求
指令系统是表征一台计算机性能的重要因素,其格式与功能不 指令系统是表征一台计算机性能的重要因素,
仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到 仅直接影响到机器的硬件结构,也直接影响到系统软件, 机器的适用范围。 机器的适用范围。
4
4.1 指令系统的发展与性能要求
4.1.1 指令系统的发展
指针不变(由指令指定) 指针内容可变, 指针不变(由指令指定),指针内容可变,使同一指 令可指向不同存储单元,以实现程序的循环 共享, 程序的循环、 令可指向不同存储单元,以实现程序的循环、共享, 提供转移地址。 并提供转移地址。
(3)堆栈寻址 (特殊寄存器间址) 特殊寄存器间址)
格式 操作码θ 堆栈指针SP 操作码θ 堆栈指针S
定长格式:操作码θ 立即数S 定长格式:操作码θ 立即数S 变长格式: 变长格式:基本指令 立即数S 立即数S
数在指令中, 数在指令中, 其长度固定、 其长度固定、 有限。 有限。
数在基本指令之 其长度可变。 后,其长度可变。
用来提供常数、设置初值等。 用来提供常数、设置初值等。
25
4.3.2 操作数寻址方式 3. 直接寻址
3
4.1 指令系统的发展与性能要求
4.1.1 指令系统的发展
一、何谓指令系统
一台计算机所能执行的全部机器指令的集合,称为该机的指令 一台计算机所能执行的全部机器指令的集合,称为该机的指令
系统。 系统。
指令系统是程序员编制程序的基础,用各种高级语言编写的程 指令系统是程序员编制程序的基础,
编译转换为机器可以识别与执行的指令序列 序需通过编译转换为机器可以识别与执行的指令序列。 序需通过编译转换为机器可以识别与执行的指令序列。
11
4.2 指令格式
4.2.2 操作码格式
操作码 指令字(简称指令)即表示一条指令的机器字。 指令字(简称指令)即表示一条指令的机器字。 指令格式则是指令字用二进制代码表示的结构形式, 指令格式则是指令字用二进制代码表示的结构形式, 由操作码字段和地址码字段组成。 由操作码字段和地址码字段组成。 操作码字段表征指令的操作特性与功能; 操作码字段表征指令的操作特性与功能;地址码字段 通常指定参与操作的操作数的地址。 通常指定参与操作的操作数的地址。