导图社区 指令系统
指令系统的设计是计算机系统设计的核心问题,不仅与计算机的硬件结构紧密相关,而且直接关系到用户的使用需要
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
指令系统
概念
指令与指令系统的概念
指令
微指令:微程序级的命令,它属于硬件
宏指令:由若干机器指令组成的软件指令,它属于软件
机器指令:介于微指令与宏指令之间,通常简称为指令,每一条指令可以完成一个独立的算术运算或逻辑运算操作
表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围
对指令系统性能的要求
完备性:指令系统丰富、功能齐全、方便使用
有效性:利用指令系统编写的程序能够高效率地运行
对称性:所有指令可以使用各种寻址方式,寄存器和存储器单元 可以同等对待 匀齐性:一种操作性质的指令可以支持各种数据类型 指令格式和数据格式的一致性:指令长度和数据长度相关,以便 处理和存取
兼容性:系列机各机种上基本软件可以通用,但只能做到“向上兼容”
指令格式
指令字:表示一条指令的机器字,简称指令
指令格式:用二进制代码表示指令的结构形式
指令长度
一个指令字包含的二进制代码位数
字长与机器字长有关:单字长、双字长、半字长 指令字越长,地址码长度越长,可直接寻址空间越大 ·指令字越长,占用空间越大,取指令越慢
定长指令:结构简单,控制线路简单,如MIPS指令
变长指令:结构灵活,充分利用指令长度,控制复杂, 如X86指令
操作码
每条指令对应一个操作码
定长操作码:长度和位置都相对固定
变长操作码:操作码长度和位置都不固定,通常 采用扩展操作码技术实现
扩展操作码
4种指令操作码部分不得重叠,否则无法区分、译码
假设三操作数指令数为k,显然k<2^4
2^4-k为多余状态,可用于表示其他类型指令
可用于双操作数指令的条数=(2^4-k)*2^4,以此类推
指令和数据的寻址方式
指令的寻址方式
操作数的寻址方式
堆栈寻址
先进后出
寄存器堆栈和存储器堆栈
数据的存取都通过栈顶单元进行
堆栈操作
指令格式设计
指令编码格式:定长指令、变长指令、混合指令
操作码:根据指令规模及是否支持操作码扩展,确定操作码字段长度
地址吗:根据对操作数的要求确定地址码字段的个数
寻址方式:设置专门的寻址方式;寻址方式与操作码一起编码
MIPS指令系统
MIPS指令系统寻址方式
寄存器寻址(32个32位通用寄存器
变址寻址(寄存器相对寻址/基址寻址)
立即数寻址(16位立即数mm)
PC相对寻址beq reg1,reg2,offset PC+4+16位偏移地址左移两位 字地址变字节地址
伪直接寻址J addres