854计算机基础——《计算机组成原理》考点汇总(六) 指令系统
来源:互联网 发布:网络摄像头怎么接线 编辑:程序博客网 时间:2024/04/30 08:04
人们习惯把每一条机器语言的语句称为机器指令,而又将全部机器指令的集合称为机器的指令系统
2. 地址码
4次访问存储器(取指令一次,取两个操作数两次,存放结果一次)
指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数.
确定本条指令的操作数地址,下一条欲执行指令的指令地址。
寻址方式:指令寻址、数据寻址
2)直接寻址
3)隐含寻址
如图,ADD即为加法指令的操作码,指令中只给出一个操作数地址,另一个操作数隐含在累加器ACC中。这样,累加器ACC成了另一个数的地址。
4)间接寻址
多次间接寻址时,可用存储字的首位来标志间接寻址是否结束。首位不能作为EA的组成部分,故一次间接寻址的寻址范围可达2^15.(A:8位,EA:7位)
间接寻址的缺点在于,指令的执行阶段需要访存两次(一次间接寻址)或多次(多次间接寻址),致使指令时间延长。
5)寄存器寻址
特点,节省存储空间,该方式在计算机中得到广泛应用。
6)寄存器间接寻址
7)基址寻址(略)
8)变址寻址(略)
9)相对寻址
特点,转移地址不固定,可随PC值的变化而变化。
10)堆栈寻址(略)
(三) 指令格式
设计时,应考虑的因素:
1、指令系统的兼容性(向上兼容)
2、其他因素
3、指令格式设计举例,(重点掌握课本P323 几道例题)
(一) 指令格式
1. 指令的基本格式
操作码(operation code)用来表示该指令所要完成的操作(如加,减,乘,除,数据传送等),其长度取决于指令系统中的指令条数.如操作码占7位,则该机器最多包含27=128条指令.
地址码用来描述该指令的操作对象,或直接给出操作数或指出操作数的存储器地址或寄存器地址(即寄存器名).2. 地址码
4次访问存储器(取指令一次,取两个操作数两次,存放结果一次)
指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数.
(二) 寻址方式
1. 概念确定本条指令的操作数地址,下一条欲执行指令的指令地址。
寻址方式:指令寻址、数据寻址
1)立即寻址
所需的操作数由指令的地址码部分直接给出,就称为立即数(或直接数)寻址方式.这种方式的特点是取指时,操作码和一个操作数同时被取出,不必再次访问存储器,提高了指令的执行速度.但是由于这一操作数是指令的一部分,不能修改,而一般情况下,指令所处理的数据都是在不断变化的(如上条指令的执行结果作为下条指令的操作数),故这种方式只能适用于操作数固定的情况.通常用于给某一寄存器或存储器单元赋初值或提供一个常数等.(图中“#”表示立即寻址的标记,A的位数限制了这类指令所能表述的立即数的范围)2)直接寻址
3)隐含寻址
如图,ADD即为加法指令的操作码,指令中只给出一个操作数地址,另一个操作数隐含在累加器ACC中。这样,累加器ACC成了另一个数的地址。
4)间接寻址
多次间接寻址时,可用存储字的首位来标志间接寻址是否结束。首位不能作为EA的组成部分,故一次间接寻址的寻址范围可达2^15.(A:8位,EA:7位)
间接寻址的缺点在于,指令的执行阶段需要访存两次(一次间接寻址)或多次(多次间接寻址),致使指令时间延长。
5)寄存器寻址
特点,节省存储空间,该方式在计算机中得到广泛应用。
6)寄存器间接寻址
7)基址寻址(略)
8)变址寻址(略)
9)相对寻址
特点,转移地址不固定,可随PC值的变化而变化。
10)堆栈寻址(略)
(三) 指令格式
设计时,应考虑的因素:
1、指令系统的兼容性(向上兼容)
2、其他因素
3、指令格式设计举例,(重点掌握课本P323 几道例题)
0 0
- 854计算机基础——《计算机组成原理》考点汇总(六) 指令系统
- 854计算机基础——《计算机组成原理》考点汇总(五) 计算机的运算方法
- 854计算机基础——《计算机组成原理》考点汇总(一)计算机系统概论
- 854计算机基础——《计算机组成原理》考点汇总(二) 系统总线
- 854计算机基础——《计算机组成原理》考点汇总(三) 存储器
- 854计算机基础——《计算机组成原理》考点汇总(四) IO系统
- 854计算机基础——《计算机组成原理》考点汇总(七) 控制单元的功能和两种设计方法
- 计算机组成原理——指令系统
- <计算机组成原理>——指令系统
- 计算机组成原理-指令系统
- 计算机组成原理-指令系统
- 计算机组成原理---考点
- 854计算机基础——备考建议+近年考点汇总
- 【计算机组成原理】指令系统体系结构
- 计算机组成复习——指令系统
- 854计算机基础——《数据结构与算法》考点汇总(一) 查找
- 408 《计算机组成原理》 第四章 指令系统
- 【计算机组成原理】第4章 指令系统
- empty、isset、isnull的区别
- phpMyAdmin查看创建表SQL语句的方法
- android Vulkan 图形新特性研究
- Android中静态方式破解某App实现所有视频app去除广告功能
- Func与Action委托泛型介绍
- 854计算机基础——《计算机组成原理》考点汇总(六) 指令系统
- Android Studio之dependencies
- Java并发包:ConcurrentMap
- MVC与MVVM区别?
- 黑色背景的DW代码配色方案 Colors.xml
- java中最常用jar包的用途说明,适合初学者
- av_seek_frame的调用
- 树莓派开机启动Qt程序
- 100天土鸡饲养计划(67)