文章目录
1. 指令格式
1.1 指令的基本概念
一条指令通常
由操作码
和地址码
组成:(关机操作就只有操作码)
地址码:指令地址(控制类指令)
或数据地址(非控制类指令)
,包含参与程序的转移地址、被调用的子程序的入口地址 、运算的一个或多个地址、运算结果的保存地址 等
注:
- 一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。Eg:x86架构、ARM架构 上的软件不能互相在对方上直接运行。
- 指令系统是计算机
软件与硬件的交界处
,os是最靠近硬件的软件。- 指令译码是指对指令的操作码字段译码,而不是整条指令。
1.2 指令的分类
1.2.1 按地址码(操作数)长度/数目分类
注意:算访存次数时,记得加上取指令
1.2.2 按指令的长度分类
注意:是
指令字长 / 机器字长
而不是存储字长
1.2.3 按操作码长度分类
例题:
1.2.4 按操作类型分类
1.3 扩展操作码指令
1.3.1 扩展操作码的组成
目的:为了在保持指令长度不变,增加指令数量
。(操作码长度随地址码的减少而增加)
1.3.2 扩展操作码的设计
例题:
2. 指令的寻址方式
2.1 指令寻址和数据寻址
2.1.1 指令寻址(通过PC)
指令寻址的分类:
2.1.2 数据寻址
指令的地址码被细分成寻址特征 + 形式地址
。其中寻址特征就是用来区分寻址方式的。
采用不同寻址的目的:
2.1.2.1 直接寻址
2.1.2.2 间接寻址
注意:形式地址A是主存的地址
2.1.2.3 寄存器寻址
2.1.2.4 寄存器间接寻址
2.1.2.5 隐式寻址
注意:隐式寻址,是给出一个操作数的,隐藏另一个的。
2.1.2.6 立即寻址
2.1.2.7 基于偏移量进行寻址
2.1.2.7.1 基址寻址
注意:
- 基址寄存器的组成:
专业寄存器BR
通用寄存器
注意:如果采用的是通用寄存器的方式,则还需要在寻址特征与形式地址A之间让出几位用于标记是哪个通用寄存器。若是专用寄存器,则不需要。- 基址寻址用于实现
程序在内存中浮动
,有利于实现多道程序;- 基址寄存器是面向os的。其值由os决定,而哪个寄存器作为基址寄存器由用户决定。
基址寄存器 = 重定位寄存器
2.1.2.7.2 变址寻址
注意:
- 变址寄存器的组成:
专业寄存器IX
通用寄存器
如果采用的是通用寄存器的方式,则还需要在寻址特征与形式地址A之间让出几位用于标记是哪个通用寄存器。若是专用寄存器,则不需要。- 变址寄存器是面向用户的,其值由用户设置
- 变址寄存器常用来循环访问数组。
2.1.2.7.3 相对寻址
注意:相对寻址用于实现
程序段在内存
的浮动,也有利于实现多道程序,也有利于实现程序的转移/跳转
。【注意是转移不是浮动,程序的浮动是基址寻址的功能】
2.1.2.8 堆栈寻址
注意:
2.1.3 小结
注意:
综合例题:
2.1.4 条件转移指令
2.2 CISC vs RISC
3.2 知识点补充
1. 判断:指令系统是计算机软/硬件的界面。
正确。指令是系统位于软件和硬件的交界面上,是软件的最低级界面,是硬件的最高级界面(指令驱动硬件运行)。
2. 判断:指令系统和机器语言无关。
错误。指令系统是计算机硬件的语言系统,而机器语言与硬件息息相关,故指令系统与机器语言相关。
3. CPU执行过程中,指令的地址都是由PC给出。而无论是什么寻址,想改变程序执行的跳转,都是通过修改PC的值实现的。
4. 运算型指令的功能是取操作数,控制型指令的功能是改变程序执行的顺序。
常见的控制指令:循环指令、转换指令、条件转移指令、无条件转移指令、子程序调用指令、返回指令等
注意:中断指令是由硬件实现的,并不是指令系统中的指令。
5. 指令系统中采用不同寻址方式的原因是( )
A. 提供扩展操作码的可能并降低指令译码难度。
B. 可缩短指令字长、扩大寻址空间、提高编程的灵活性。
C. 实现程序的控制
D. 以上都正确。
选B。A中指令译码难度增加,因为寻址方式变多了。C,实现程序的控制是由靠转移指令而非寻址方式实现的。
B中采用立即寻址可缩短指令字长,采用寄存器寻址可扩大寻址空间,采用相对寻址可提高编程的灵活性。
6. 简化地址结构的基本方法是尽量采用( )
A. 寄存器寻址 B. 隐地址 C. 直接寻址 D. 间接寻址。
选B。只有B才能最大的缩短地址码位数。
8. 判断:
A. RISC机一定采用流水技术
B. 采用流水技术的一定是RISC机
C. RISC机的兼容性优于CISC机
D. CPU配置很少的通用寄存器
只有A正确。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84563.html