第四章 指令系统
1.指令操作码编码:固定长度操作码,扩展操作码。
①定长操作码编码
基本思想 指令的操作码部分采用固定长度的编码 如:假设操作码固定为6位,则系统最多可表示64种指令
特点 译码方便,但有信息冗余
举例 IBM360/370采用: 8位定长操作码,最多可有256条指令
只提供了183条指令,有73种编码为冗余信息
机器字长32位,按字节编址
有16个32位通用寄存器,基址器B和变址器X可用其中任意一个
看不懂,没关系,看例题吧,,
例:某计算机指令系统采用定长指令字格式,指令字长 16 位,每个 操作数的地址码长 6 位。指令分二地址、单地址和零地址 3 类。若二地址指令有k2条,零地址指令 有k0条,则单地址指令最多有多少条?
解:二地址操作数地址码共占用2*6=12位,所以只剩下4位可以作为操作码,共有2^4=16种状态,其中二地址指令以供用了k2条,那么就留下了(16-k2)种状态可以给一地址拓展来用;
设一地址有x条指令的话:一地址地址码有6位,操作码有10位,但是这10位中有4位是二地址指令里的没使用的(16-k2)种,所以一地址操作码还剩下6位,那么共有(16-k2)*2^6种状态,其中一地址指令用了x条,那么还剩下((16-k2)*2^6-x)种状态给零地址指令使用。
零地址指令有操作码16位,其中4位为二地址指令里的没使用的,6位为一地址指令里的没使用的共((16-k2)*2^6-x)种,所以操作码还剩下6位,那么零地址指令共有((16-k2)*2^6-x)*2^6=k0种。
解得:x=(16 − k2) × 2^6 − k0/2^6
②扩展(变长)操作码编码
基本思想 将操作码的编码长度分成几种固定长的格式。被大多数指令集采用。 PDP-11是典型的变长操作码机器。
种类 等长扩展法:4-8-12;3-6-9;…... / 不等长扩展法
举例说明如何扩展:
设某指令系统指令字是16位,每个地址码为6位。若二地址指令15条,一 地址指令34条,则剩下零地址指令最多有多少条? 解:操作码按短到长进行扩展编码 二地址指令: (0000 ~ 1110) 一地址指令: 11110 (00000 ~ 11111); 11111 (00000 ~ 00001) 零地址指令: 11111 (00010 ~ 11111) (000000 ~ 111111) 故零地址指令最多有 30x2^6=15x2^7 种
2.指令系统中采用不同灵活的寻址方式,使用尽量短的地址码访问尽可能大的寻址空间。 例如变址寻址的目标地址计算、相对寻址方式的计算。
什么是“寻址方式”? 指令或操作数地址的指定方式。即:根据地址找到指令或操作数的方法。
基本寻址方式 立即 / 直接 / 间接 / 寄存器 / 寄存器间接 / 偏移 / 堆栈
其中,偏移方式:将直接方式和寄存器间接方式结合起来。 有:相对 / 基址 / 变址三种
3.CISC与RISC的主要特点(尤其RISC特点,选择题角度出发,理解含义就可)。
CISC的英文全称为“Complex Instruction Set Computer”,即“复杂指令系统计算机”。桌面计算机流行的x86体系结构即使用CISC。微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel、AMD。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。CISC架构的服务器主要以IA-32架构(Intel Architecture,英特尔架构)为主,而且多数为中低档服务器所采用。
RISC的英文全称为“Reduced Instruction Set Computer”,即“精简指令集计算机”,是一种执行较少类型计算机指令的微处理器,RISC机中采用的微处理器统称RISC处理器。能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
指令系统
CISC:计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。
RISC:设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。
存储器操作
CISC:机器的存储器操作指令多,操作直接。
RISC:对存储器操作有限制,使控制简单化。
程序
CISC:汇编语言程序编程相对简单,科学计算及复杂操作的程序社设计相对容易,效率较高。
RISC:汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计。
中断
CISC:机器是在一条指令执行结束后响应中断。
RISC:机器在一条指令执行的适当地方可以响应中断。
CPU
CISC:CPU包含有丰富的电路单元,因而功能强、面积大、功耗大。
RISC:CPU包含有较少的单元电路,因而面积小、功耗低。
设计周期
CISC:微处理器结构复杂,设计周期长。
RISC:微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术。
用户使用
CISC:微处理器结构复杂,功能强大,实现特殊功能容易。
RISC:微处理器结构简单,指令规整,性能容易把握,易学易用。
应用范围
CISC:机器则更适合于通用机。
RISC:由于RISC指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机。
以上区别摘自CSDN博主「鸿鹄当高远」的原创文章
大家可以去仔细看一下
原文链接:https://blog.csdn.net/jukaiit/article/details/103710732
4.结合习题,学会C高级语言的MIPS机器代码表示,注意MIPS寄存器的使用约定。注意MIPS汇编语句的执行过程,例如算术移位、逻辑移位。
上题目吧