文档介绍:第四章指令系统
概述
寻址方式
指令系统
概述
指令:是指示计算机某种操作的命令。
微指令,机器指令,宏指令
指令系统:一台计算机中所有机器指令的集合。
它是机器硬件设计的依据,也是软件设计的基础。
它决定了一台计算机硬件的主要性能和基本功能。是硬件和软件间的界面。
系列计算机:有共同的指令集,相同的基本体系结构。
CISC和RISC
一个完善的指令系统应满足:
:指令丰富,功能齐全,使用方便。
:程序占空间小,执行速度快。
:对称性,匀齐性,指令格式和数据格式的一致性。
:
“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。
计算机语言与硬件结构的关系
高级语言的语句和用法与具体机器的指令系统无关;
低级语言分机器语言和汇编语言,他们和具体机器的指令系统密切相关。
汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。
概述
机器指令的要素
操作码
源操作数
目的操作数
下一条指令的引用
指令字(简称指令)即表示一条指令的机器字。
指令格式则是指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。
操作码
操作数
操作数
设计计算机时,对指令系统的每一条指令都要规定一个操作码。
指令操作码表示该指令进行什么性质的操作,
表征指令的操作特性与功能。
组成操作码字段的位数一般取决于计算机指令系统的规模。
例如,一个指令系统只有8条指令,则有3位操作码就够;如果有32条指令,那么就需要5位操作码。
地址码字段通常指定参与操作的操作数的地址。
根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。目前,二地址指令和一地址指令用的最多。
零地址指令
一地址指令
二地址指令
三地址指令
操作码
A1
操作码
A2
A1
操作码
A3
A2
A1
操作码
(1)零地址指令的指令字中只有操作码,而没有地址码。
(2)一地址指令常称为单操作数指令。
OP (A) -> A (AC) OP (A) -> AC
(3)二地址指令常称为双操作数指令。
(A1) OP (A2) -> A1
(4)三地址指令字中有三个操作数地址。
(A1) OP (A2) -> A3
OP表示操作性质;(AC)表示累加寄存器AC中的数;(A)表示内存中地址为A的存储单元中的数或运算器中地址为A的通用寄存器中的数;→表示把操作(运算)结果传送到指定的地方。
二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。
存储器-存储器(SS)型指令:操作时都是涉及内存单元,参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中,因此机器执行这种指令需要多次访问内存。
寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令,不需要访问内存。
寄存器-寄存器(RS)型指令:执行此类指令时,既要访问内存单元,又要访问寄存器。
一个指令字中包含二进制代码的位数,称为指令字长度。而机器字长是指计算机能直接处理的二进制数据的位数,与主存单元的位数一致,它决定了计算机的运算精度。
它们之间关系如上:其中L为指令字长度,N为机器字长度