指令集结构不同的原因
Q:指令集结构都是相同的吗?如果不同,为什么不同?
不同的主要因素:CPU中用来存储操作数的存储单元的类型
为啥?那是因为CPU内部存储单元的 _类型_是不同的。
CPU存储操作数的存储单元有三种主要类型
指令集的结构分类
PS:因此我们把指令集结构也分为三种类型
还有两个不知从哪里冒出来毫无逻辑的知识点,小声bb
操作数的两种给出方式
- 显式给出:用指令字中的操作数字段给出
- 隐式给出:用事先约定好的存储单元
用人话讲,显式给出就是直接给你看到,隐式告诉你个地址,你也能找到
四种指令结构的操作数位置(指令放在哪)结果去向(执行完指令后结果存在哪)
对应四幅图(自己看链接ppt,不看也应该能明白)
堆栈结构:操作数放栈顶,结果存储在栈里(很显然啊,栈先进后出,你指令不放栈顶咋取?)
累加器结构:操作数和结果都在累加器中完成
通用寄存器(RM)结构通用寄存器(RR)结构的不同在于:
RM的操作数可以来自内存,RR必须来自寄存器。其他的都与前面的差不多,都在结构内部。
继续划分
分割线,后面都是再讲那个牛b的现代主流指令集结构以及深度划分( ̄ε(# ̄)
分析了四种之后,我们来介绍一下现代指令集结构的主流—— 通用寄存器结构
为什么可以成为主流?
- 访问速度快
- 对编译器友好
- 寄存器自己存变量不用访问存储器又快占地址位又少
根据 ALU指令的操作数的两个特征又可以对通用寄存器指令集结构进一步细分
不会有人不知道ALU是啥吧(算术逻辑单元)
- ALU指令的操作数个数
- 三个操作数的指令(两个源操作数、一个目的操作数)
- 两个操作数的指令(其中一个既是源操作数又是目的操作数) 可以看看例题C = A + B中的操作
- ALU存储器操作数个数(0~3)
通用寄存器又多了一种 存储器-存储器型(MM型),还有RM,RR型
三种各有优缺点,八股文自行查询(ง •_•)ง
康康图片康康PPT
Original: https://www.cnblogs.com/hhc-blog/p/15395334.html
Author: hcのBlog
Title: 2.1 指令集结构的分类
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/584624/
转载文章受原作者版权保护。转载请注明原作者出处!