指令系统的发展
计算机的程序是由一系列的机器指令组成
计算机的指令有微指令、机器指令、宏指令之分。
微指令是微程序级的命令,属于硬件;
宏指令是由若干机器指令组成的软件指令,属于软件;
机器指令介于微指令与宏指令之间,通常简称为指令
一台计算机上的所有机器指令的集合成为这台计算机的指令系统
有CISC和RISC之分,前者是复杂指令系统计算机,后者是精简指令系统计算机
指令系统的性能要求
(1)完备性:指令足够使用
(2)有效性:程序占据存储空间小、执行速度快
(3)规整性:包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性
(4)兼容性:系列机各机种之间具有相同的基本结构和共同的基本指令集
低级语言与硬件结构的关系:略
机器指令是用机器字来表示的。表示一条指令的机器字成为指令字,简称指令。
指令格式,是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成
操作码字段:OP;
地址码字段:A
操作码
OP表示该指令应进行什么性质的操作,如加、减、乘、除等。
一般来说,一个包含n位的操作码最多能够表示 2^n 条指令
地址码
根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令
有零地址指令、一地址指令、二地址指令和三地址指令
在二地址指令格式中,可以归结为三种类型:
(1)访问内存的指令格式,称为存储器-存储器(SS)型指令,这种操作时都是涉及内存单元
(2)访问寄存器的指令格式,称为寄存器-寄存器(RR)型指令
(3)寄存器-存储器(RS)型指令
指令字长度
一个指令字中包含二进制代码的位数,称为指令字长度。
机器字长是指计算机能直接处理的二进制数据的位数,决定了计算机的运算精度。机器字长通常与主存单元的位数一致。
指令字长度等于机器字长度的指令,称为单字长指令;等于半个机器字长的指令,称为半字长指令;等于两个机器字长度的指令,称为双字长指令
指令助记符
硬件只能识别1和0,操作码在机器上都有对应的二进制代码。便于书写和阅读,用英文的缩写代替,缩写码叫做指令助记符,如ADD、SUB、MOV、JMP等
例题:
指令格式如下,OP为操作码,试分析指令格式的特点 |15 9| |7 4|3 0| | OP | —— | 源寄存器 | 目标寄存器 | 解: (1)单字长的二地址指令 (2)操作码字段OP可以指定2^7=128条指令 (3)源寄存器和目标寄存器都是通用寄存器,可分别指定16个,RR型指令 (4)常用于算术逻辑运算类指令 指令格式如下,分析指令格式特点 |15 10| |7 4|3 0| | OP | —— | 源寄存器 | 变址寄存器 | | 位移量(16位) | 解: (1)双字长二地址指令,用于访问存储器 (2)OP为6位,可以指定64种指令 (3)一个操作数在源寄存器中,目标操作数在存储器中(由变址寄存器和位移量决定),RS型指令略
存储器既可以存放数据,也可以存放指令。
寻址方式分为两类,指令寻址方式和数据寻址方式。
冯.诺依曼型结构的计算机中,内存中指令的寻址与数据的寻址是交替进行的
哈佛型计算机中指令寻址和数据寻址是独立进行的
(1)指令的寻址方式
有顺序寻址和跳跃寻址之分
(2)操作数基本寻址方式
形成操作数的有效地址的方式,称为操作数的寻址方式
有 隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、偏移寻址(相对寻址(使用PC)、基址寻址、变址寻址)
段寻址方式 :基地址+偏移量
转载于:https://www.cnblogs.com/lambdaCheN/p/7766853.html