系列计算机:指基本指令系统相同、基本体系结构相同的一系列计算机。
复杂指令系统计算机,简称CISC
精简指令系统计算机,简称RISC(2 8定律的原因)
一个完善的指令系统应该满足的四个要求:
- 完备性:是指用汇编语言编写的各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。
- 有效性:是指利用该指令系统所编写的程序能够高效率的运行。
- 规整性:是指包括指令系统的对称性、均匀性、指令格式和数据格式的一致性。
- 兼容性:系列机各种机种之间具有相同的基本结构结构和共同的基本指令集。
计算机能够识别和执行的唯一语言是二进制机器语言(汇编语言依赖于计算机的硬件结构和执行系统)
机器指令是用机器字来表示的,表示一条指令的机器字。就称为指令字,通常简称指令。
指令的格式,是指令字用二进制代码表示的结构形式,通常包括操作码字段和地址码字段组成。操作码字段表示指令的操作特性与功能,而地址码字段通常指定参与操作的操作数的地址。
操作码(OP):设计计算机时,对指令系统的每一条指令都要规定一个操作码。操作码OP表示该指令进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等。不同的指令用操作码字段的不用编码表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。对于一个机器的指令系统,在指令中操作码字段和地址字段长度通常是固定的。
地址码:根据一条指令中有几个操作数地址,将指令称为几操作数指令或几地址指令。
- 零地址指令:只有地址码没有地址码,如停机指令;
- 一地址指令:只有一个地址码,它指定一个操作数,另一个操作数地址是隐藏的。(AC<-(AC)op(A))
- 二地址指令:常称为双操作数指令,地址码A1和A2分别指明参与操作的两个数在内存或运算器中通用寄存器的地址,其中A1兼做存放操作结果的地址。(A1<-(A1)op(A2))
- 三地址指令:拥有三个操作数地址A1、A2、A3,这三个地址通常指定为运算器中通用计算器的地址。A1为被操作数地址,也称源操作数地址;A2位操作数地址,也称终点操作数地址;A3为存放操作结果的地址。(A3<-(A1)op(A2))
指令字长度:一个指令字中包含二进制代码的位数;
机器字长:是指计算机机能直接处理的二进制数据的位数,它决定了计算机的运算精度。
- 单字长指令:指令字长度等于机器字长
- 半字长指令:指令字长度等于半个机器字长
- 双字长指令:指令字长度等于两个机器字长
为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母表来表示,这种缩写的方式叫做指令助记符。
不同的计算机中,指令助记符的规定是不一样的。硬件只能识别二进制语言,因此助记符会通过汇编器转换成它们对应的二进制操作码。汇编器的作用就是相当于一个翻译。
典型指令 | 指令助记符 | 二进制操作码 |
加法 | ADD | 001 |
减法 | SUB | 010 |
传送 | MOV | 011 |
跳转 | JMP | 100 |
转移 | JSP | 101 |
存储 | STR | 110 |
读书 | LDA | 111 |
MIPS R4000 是20世纪80年代后期推出的RISC计算机系统,字长32位,字节寻址。指令格式简单,指令数量少,通用寄存器32个。
- 在MIPS中,所有的算术运算,数据必须放在通用寄存器中。此时的指令个数被称为R型(寄存器)指令。
- 在MIPS中,访问存储器(取数或存数)需要使用数据传送指令。此时的指令格式,称为I型指令。
MIPS(Million Instructions Per Second):单字长定点指令平均执行速度 Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。像是一个Intel80386 电脑可以每秒处理3百万到5百万机器语言指令,即我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。
指令 | 格式 | op | rs | rt | rd | shamt | funct | 常数或地址 |
add(加) | R | 0 | reg | reg | reg | 0 | 32 | |
sub(减) | R | 0 | reg | reg | reg | 0 | 34 | |
立即数加 | I | 8 | reg | reg | 常数 | |||
lw(取字) | I | 35 | reg | reg | address | |||
sw(存字) | I | 43 | reg | reg | address |
reg:0~31中间的一个寄存器号;
address:一个16位地址;
注意:加法和减法op相同通过funct确定操作类型;
ARM是字长32位的嵌入式处理机,具有世界上最流行的指令集。
ARM公司是苹果、诺基亚、Acorn、VLSI、Technology等公司的合资企业。英国ARM公司是全球领先的半导体知识产权(IP)提供商。全世界超过95%的智能手机和平板电脑都采用ARM架构。ARM设计了大量高性价比、耗能低的RISC处理器、相关技术及软件。
指令名称 | cond | F | I | opcode | S | Rn | Rd | operand2 |
add(加) | 14 | 0 | 0 | 4 | 0 | reg | reg | reg |
sub(减) | 14 | 0 | 0 | 2 | 0 | reg | reg | reg |
立即数加 | 14 | 0 | 1 | 4 | 0 | reg | reg | constant(12) |
ldr(取字) | 14 | 1 | 24 | reg | reg | address(12) | ||
str(存字) | 14 | 1 | 25 | reg | reg | address(12) |