IS
能够使CPU理解的完整的指令集合
指令可以用:机器码(二进制)、汇编程序
指令:
-
操作码:要执行什么指令
- 数据处理
- 数据存储 store
- 数据移动
- 程序控制
-
操作数:数据和所在地址
类型:- 立即操作数: mov ax,2000h
注:立即操作数只能作为源操作数,不能作为目的操作数 - 寄存器操作数:运算数据存放在寄存器中
mov ax,bx - 存储器操作数:运算数据存放在存储器中
[ ]里放操作数在内存中的偏移地址,mov ax,[2000h]
- 立即操作数: mov ax,2000h
-
当一条指令执行完,如何跳转到下一条指令
CS:IP 两个寄存器指示了 CPU 当前将要读取的指令的地址,其中 CS 为代码段寄存器,而 IP 为指令指针寄存器
ISA
软件子系统和硬件子系统的界面
一组直接由硬件执行的指令
特性:
- 向后兼容
- 成本低
指令要完成哪种操作,复杂性怎么样
数据的类型有哪些
指令的格式—操作码,如何编码
MIPS
CISC 复杂指令集
增强指令功能,用一条指令代替一串指令
问题:28定律:只有20%的指令占据80%的处理时间,其余80%的指令占20%
简化软件,硬件复杂
RISC 精简指令集
只保留功能简单的指令,功能较为复杂的指令用子程序来实现
适应VLSI的工艺要求,简单指令不需要微程序,直接硬布朗线连接
推荐文章:为什么CISC不用硬布线,而RISC不用微程序控制呢?
促进了MIPS的诞生
关键操作:流水线
特征:指令长度相同,简单统一格式的指令译码;CF:
CISC(复杂指令集)指令周期不同;
CISC需要较多的定址模式;
RISC需要ROM空间相对较大;
CISC的一条指令RISC要一串指令才能实现,但是RISC比CISC速度要快
思想:减少CPI
Q:为什么RISC要比CISC块?
TIME= CPI* T * CI
T: RISC 采用硬布线,快
CI:RISC比CISC长30%左右
CPI: CISC是RISC的4-6倍
为什么会减少CPI?
硬件:硬布线控制逻辑;减少寻址方式;使用固定格式;采用load/store结构;指令执行设置流水线
软件:强调优化编译的作用
注:load/store
在RISC-V指令集的体系中,只有两个指令可以访问存储器,就是load和store指令
Load/Store指令用于寄存器和内存间数据的传送。
Load 用于把内存中的数据装载到寄存器中。
Store用于把寄存器中的数据存入内存。
CPU并不会对内存中的数据进行操作,所有的计算都要求在寄存器中完成。而寄存器和内存的通信则由单独的指令来完成。而在CSIC中,CPU是可以直接对内存进行操作的,这也是一个比较特别的地方。
VLSI 超大规模集成电路
工艺要求规整性
VLIW 超长指令架构
The term VLIW refers to the size of each instruction that is carried out by a processor. This instruction is “very long” in comparison to the instruction word size utilized by most current mainstream (superscalar) processors.
VLIW是一条指令来实现多个操作的并行执行,之所以放到一条指令是为了减少内存访问。通常一条指令多达上百位,有若干操作数,每条指令可以做不同的几种运算。那些指令可以并行执行是由编译器来选择的。通常VLIW机只有一个控制器,每个周期启动一条长指令,长指令被分为几个字段,每个字段控制相应的部件。由于编译器需要考虑数据相关性,避免冲突,并且尽可能利用并行,完成指令调度,所以硬件结构较简单。
1、 VLIW简介
VLIW体系结构采用多个独立的功能部件,每一个指令周期在没有相关存在并符合硬件条件的情况下可以同时流出多条指令,可同时流出的操作类型与数目是确定的,所以指令调度是由编译器静态调度完成(在其它方法中均由硬件实现的)以减少硬件开销,因此指令可同时流出的最大数目越大,超长指令字的性能优势就越明显。但是,只要是并行处理,就一定会受到更多相关性的限制。这种相关是有程序本身造成的,分为控制相关和数据相关两种,指令在调度时,必须遵循它们之间的依赖关系,防止冲突发生。
2、VLIW的优缺点
优点:简化了处理器的结构,删除了处理器内部许多复杂的控制电路,这些电路通常是超标量芯片(CISC和RISC)协调并行工作时必须使用的,VLIW的结构简单,也能够使其芯片制造成本降低,价格低廉,能耗少,而且性能也要比超标量芯片高得多。VLIW是简化处理器的最新途径,VLIW芯片无需超标量芯片在运行时间协调并行执行时所必须使用的许多复杂的控制电路。而是将许多这类负担交给了编译器去承担。
缺点:基于VLIW指令集字的CPU芯片使得程式变得很大,需要更多的内存。更重要的是编译器必须更聪明,一个低劣的VLIW编译器对性能造成的负面影响远比一个低劣的RISC或CISC编译器造成的影响要大。目前基于这种指令架构的微处理器主要有Intel的IA-64和AMD的x86-64两种。