当前位置:文档之家› 第四章--指令系统(new)

第四章--指令系统(new)

• 有效地址(E):对形式地址进行一定计算而得到的 操作数的实际地址.
1.立即寻址(immediate addressing):所需的操作数 在指令中直接给出,即操作数包含在指令内,称为 立即数。 优点:取指令的同时操作数、操作码同时取出, 不必再次访问存储器,指令的执行速度快。 缺点:由于指令字的长度有限,限制了立即数 所能表示的数据范围,不能修改,适宜操作数固定 不变的场合。灵活性最差。一般情况下用于给某一 个寄存器或存储单元赋予一个初值或提供一个常数。 例如:Intel8086 中的立即寻址指令。
4.3 寻址方式
寻址方式:指令中如何提供操作数或操作数地址及指令地 址的方法。分为指令寻址方式和操作数寻址方式。
4.3.1 指令的寻址方式:确定本条指令地址及下条要执行指令地址的方法
1.顺序寻址方式 +1 PC 2.跳跃寻址方式 PC
地址
0 1 2
内存
LDA 200 ADD 201
INC
内存 地址 3 JMP 6 4 LDA 206 5 SUB 207 6 INC 7 LDA 20相加存入 累加器AX中
2.直接寻址(Memory direct addressing):指令的地址 码部分给出操作数的地址。 主存 直接寻址的逻辑表达式为: EA=A
… OP … A A 操作数 …
特点:只需一次访问内存,就能取到 操作数
特点: 简单、直观、硬件实现容易。只能访问固定的存储单元。 例: INTEL8086/8088指令:MOV AX,[1000H]的寻址方式为?
(1)三地址指令
操作码 A1
源操作数1
A2
源操作数2
A3
目的操作数
A1、A2、A3既可是存储单元地址,也可寄存器地址。
例如: ADD X,Y,Z 将x+y的结果存放在Z中。
指令功能: (A1) OP (A2) A3 下一条指令的地址由PC提供
(2)二地址指令
操作码 A1
目的操作数
A2
源操作数
指令功能: (A1) OP (A2) A1 下一条指令的地址由PC提供 例如:ADD X,Y 将X+Y的结果存放在A1中。
第四章 指令系统
指令(instruction): 计算机硬件能识别和执行 的操作命令(如加、减、传送、转移等),即机 器指令(Machine Instruction)。每条指令都明 确规定了计算机必须完成的一套操作。 指令系统:一台计算机或计算机系统能执行 的各种指令的集合。
指令系统既是计算机硬件设计的主要依据,又是计算机软 件设计的基础,所以,一台计算机指令系统的优劣直接影 响着计算机系统的性能。指令系统越丰富,处理功能越强。
(2)为缩小机器语言与高级语言的语义差异,便于操作 系统的优化和减轻编译程序的负担,采用了让机器指令 语义和功能向高级语言的语句靠拢,用一条功能更强的 指令代替一段程序的方法,使得指令本身功能不断增强, 指令系统规模不断加大。
3、70年代末期—随着LSI和VLSI的出现,计算机结构 愈加复杂,计算机指令系统多达几百条指令,称之为复 杂指令集计算机,简称CISC.
8
7
LDA 200
按顺序执行指令,用PC记录顺序号,顺序 号即指令在内存中的地址。
不按顺序执行指令,下条指令由本条给出,跳 转后按新的顺序执行,PC也作相应改变、跟踪 新的指令地址。条件转移或无条件转移。
4.3.2 操作数寻址方式(Addressing modes)
操作数寻址的目的:CPU根据指令约定的寻址 方式对地址字段的有关信息做出解释,以找到操 作数。 • 形式地址(D):也称偏移量,是指令地址字段中 给定的地址.
4.1 指令系统的发展与性能要求
一、指令系统的发展
1、50年代—计算机技术水平较低,使用的元件体 积大、功耗高、价格高,故硬件结构简单,指令系统 的功能也相对简单,其中只有加减及逻辑运算、数 据传送、转移等十几至几十条指令,寻址方式简单;
2、60年代后期--由于集成电路(IC) 出现,硬件结构越 加复杂,对指令系统功能的要求也越来越高,增设了 乘除运算、浮点运算、十进制运算、字符串处理等指 令,指令数目达一二百条,寻址方式趋于多样化,引入了 各种数据类型,指令系统不断扩大;
引入系列机的概念:基本指令相同、基本体系结构相同的 一系列计算机,如IBM 370系列、VAX-11系列、IBM PC 系列等。
(1)为软件兼容的需要,使已经开发的软件能够被继承, 在同一系统的计算机中,新开发机型的指令系统需要包 含先前开发的机器的所有指令和寻址方式。这样,导致 计算机指令系统越来越庞大,某些机器的指令系统包含 几百种指令,如DEC公司的VAX-11/780有18种寻址方式, 9种数据格式,303种指令。
(3)一地址指令
操作码 A
源操作数
指令功能: (AC) OP (A) AC 另一个操作数(目的操作数)隐含在累加器 AC中,操作结果存放在累加器中。
(4)零地址指令
操作码
指令中只有操作码,没有地址码,分两种:
1、不需要操作数的控制类指令,如空操作指令、停机指令。 2、隐含操作数的指令,如堆栈结构计算机运算指令等。
具体做法:在指令中有一个固定长度的字段表示 基本操作码,而对于一部分不需要某个地址码的 指令,把它们的操作码扩充到该地址字段,也称 扩展操作码技术。
例1:设某机器的指令字长为16位,包括基本操作码4 位和三个地址字段,每个地址字段长4位,其格式为: 15 12 11 8 7 4 3 0 OP A1 A2 A3
5.指令系统的性能要求:
(1) 完备性:指令系统提供的指令足够使用。指令系统丰富、 功能齐全、使用方便。 (2) 有效性:该指令系统编制的程序高效地运行。程序占空 间小,执行速度快。 (3) 规整性:包括指令的对称性、匀齐性、指令格式和数据格 式的一致性。
对称性指在指令系统中所有的数据存储单元(如寄存器、主存单元等) 被同等对待,所有的指令都可以使用各种寻址方式; 匀齐性指同一操作性质的指令可以支持各种数据结构,无须考虑数据 类型; 指令格式和数据格式的一致性指指令长度与数据长度有一定关系(指 令长度一般取字节的整数倍),以便于存取和处理。
例: 某机主存容量为 16MB,若按字节编址,其地址码为多少位? 解:16MB=224B ,所以地址码为24位.
3.寄存器寻址(Register direct addressing):指令的地 址码部分给出通用寄存器的地址,操作数就在的寄 存器中。 寄存器 EA= R
… OP … R R 操作数 …
例如:IBM 370的指令长度有16位(半字)、32位(单字)及 48位(一个半字).
2.指令格式分类
源操作数地址:指明源操作数存放处,不同指令所需源操作 数可能不同。 操作结果数地址:存放运算结果。 设计指令的地址码格式时需解决: • 一条指令中指明几个地址(与指令所涉及的操作数个数有 关 ); • 如何给出地址(显地址--地址信息明显地给出;隐地址--地址 信息依据某种事先约定, 用隐含的方式给出)。 • 地址码应选多长(与存储单元容量、编址单位大小和寻址方 式有关)。
(1)CISC特点:
• 指令系统复杂庞大,指令数目一般多达200-300条; • 寻址方式多; • 指令格式多; • 指令字长不固定; • 各种指令使用频率、执行时间相差很大; • 大多数采用微程序控制器
4.精简指令集计算机
(1)提出:20世纪70年代在美国加州大学伯克利分 校的RISC I、RISC II、斯坦福大学的MIPS机基础上诞 生了RISC。 (2)RISC目的: 希望用20%左右的简单指令来组合实现不常用的 80%指令的功能。不是简单地将指令系统简化,而 是通过简化指令系统,使计算机的结构更加简单合 理,从而提高处理速度。 (3) RISC特点:
特点:指令简单、存取速度快;缩短指令长度, 节省存储空间,提高指令执行速度。
4.间接寻址(Indirect addressing):地址码不是 操作数的地址,而是另一个地址的地址时, 称为间接寻址方式。 (1)存储器间接寻址:指令中给出存放操作数 地址的存储单元的地址,助记符为@。存放 操作数地址的存储单元称为间址单元,也叫 地址指针。EA=( D ) 主存
特点:简单规整,由于定长的操作码在指令字中所占的位数、位臵 固定,所以指令译码简单,有利于简化硬件设计。
(2) 扩展操作码:操作码长度可变,不同指令的操作码长度 不完全相同,操作码位数不固定,分散地位于指令字的不 同位臵上。 特点:可以在指令字长有限的前提下仍保持较丰富的指 令种类.但由于操作码的位数不固定且位臵分散,故增加了 指令译码与分析的难度,使硬件设计复杂化。
3.操作码格式
指令系统中的每一条指令都有一个唯一确定的操作 码,不同指令有不同的操作码。
若指令系统中有m位操作码,即指令系统中可包含 2m条指令。常见两种操作码编码方式:定长和扩展 操作码。
(1) 定长操作码:所有指令的操作码长度一致,均为n位操作码, 集中位 于指令字的固定字段中,最多能2n条指令。


CPU中通用寄存器数量较多以减少访存,一般至少32个; 为提高指令执行速度,以硬布线控制为主,不用或少用 微指令码控制; 除LOAD/STORE指令外,其他指令都以流水方式工作, 从而可在一个机器周期内完成。采用流水方式之后,下 一条指令不必等到上一条指令执行完毕才开始执行,而 是可以提前执行。 重视编译优化工作,高效地支持高级语言实现,生成优 化的机器指令代码。


简化的指令系统。具体表现为选取使用频率最高的一些简 单指令,以及很有用但不复杂的指令组成指令系统;指令 长度固定,指令格式种类少(2-3种),寻址方式种类少(2-3 种 ); 以寄存器-寄存器方式工作。只有取数/存数(LOAD/STORE) 指令访问存储器,其余指令的操作都在寄存器之间进行;
(3) RISC特点:
相关主题