一、计算机系统基础知识
👉:传送门💖计算机系统基础知识💖
二、计算机体系结构
1.计算机体系结构
1.1计算机体系结构的分类
1.1.1 宏观上按处理机的数量分类
①单处理系统(Uni-processing System):利用一个处理单元与其他外部设备结合起来,实现存储、计算、通信、输入与输出等功能的系统
②并行处理与多处理系统(ParallelProcessingandMultiprocessingSystem):为了充分发挥问题求解过程中处理的并行性, 将两个以上的处理机互连起来, 彼此进行通信协调,以便共同求解一个大问题的计算机系统
③分布式处理系统(Distributed Processing System):指物理上远距离而松親合的多计算机系统。
其中,物理上的远距离意味着通信时间与处理时间相比己不可忽略, 在通信线路上的数据传输速率要比在处理机内部总线上传输慢得多, 这也正是松耦合的含义
🚩1.1.2 微观上按并行程度分类
🚩①Flynn分类法
1966年, MJ.Flynn提出按指令流和数据流的多少进行分类。
指令流为机器执行的指令序列, 数据流是由指令调用的数据序列。
体系结构类型 结构 关键特性 代表
单指令流单数据流SISD 控制部分:1个
处 理 器:1个
主存模块:1个 单处理器系统
单指令流多数据流SIMD 控制部分:1个
处 理 器:多个
主存模块:多个 各处理器以异步的形式执行同一条指令 并行处理机
阵列处理机
超级向量处理机
多指令流单数据流MISD 控制部分:多个
处 理 器:1个
主存模块:多个 被证明不可能,至少是不实际 目前没有,有文献称流水线计算机为此类
多指令流多数据流MIMD 控制部分:多个
处 理 器:多个
主存模块:多个 能够实现作业、任务、指令等各级全面并行 多处理机系统
多计算机
由上图可知,措令流由控制部分处理,每一个控制部分处理一条指令流,多指令流就有多个控制部分;数据流由处理器来处理,每一个处理器处理一条数据流,多数据流就有多个处理器;至于主存模块,是用来存储的,存储指令流或者数据流,因此,无论是多指令流还是多数据流,都需要多个主存模块来存储,对于主存模块,指令和数据都一样。
扩展:为何多指令流单数据流MISD不实际?
答: 依据计算机特性,是由指令来控制数据的传输,因此,一条指令可以控制一条或多条数据流,但一条数据流不能被多条指令控制否则会出错,就如同上级命令太多还互相冲突,不知道该执行哪个,因此多指令单数据MISD不可能。
②冯泽云分类法
③Handler分类法
④Kuck分类法
1.2 计算机指令
1.2.1 计算机指令的组成
一条指令由操作码和操作数 两部分组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。
在计算机中,操作要求和操作数地址都由二进制数码表示,分别称作操作码和地址码,整条指令以二进制编码的形式存放在存储器中。
1.2.2 计算机指令执行过程
计算机指令执行过程: 取指令——分析指令——执行指令
1️⃣将程序计数器PC中的指令地址取出,送入地址总线, CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;2️⃣由指令译码器进行分析,分析指令操作码;3️⃣执行指令,取出指令执行所需的源操作数
1.2.3 指令寻址方式
指令寻址:确定下一条要执行的指令的存放地址
顺序寻址方式: 当执行一段程序时,是一条指令接着一条指令地顺序执行
跳跃寻址方式: 指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。
程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。
1.2.4 指令操作数的寻址方式
1️⃣立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。
一条指令的执行:取指令访存1次,执行指令访存0次,共访存1次
2️⃣直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。
一条指令的执行:取指令访存1次,执行指令访存1次,共访存两次
3️⃣间接寻址方式:指令地址码字段所指向的存储单元中存储的是操作数的地址。
指令在执行阶段要多次访存(一次间址需两次访存)
4️⃣寄存器寻址方式:指令中的地址码是寄存器的编号。
一条指令的执行:取指令访存1次,执行指令访存0次,共访存1次
🚩1.3 指令系统CISC和RISC
CISC(Complex Instruction Set Computer,复杂指令集计算机)是复杂指令系统,兼容性强,指令繁多、长度可变,由微程序实现;
RISC(Reduced Instruction Set Computer,精简指令集计算机)是 精简指令系统,指令少,使用频率接近,主要依靠硬件实现(通用寄存器、硬布线逻辑控制)
二者的区别
指令系统类型
指令
寻址方式 🚩实现方式 其他
CISC(复杂) 数量多,使用频率差别大,可变长格式 支持多种 微程序控制技术(微码) 研制周期长
RISC(精简) 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 支持方式少 增加了通用寄存器;硬布线逻缉控制为主;适合采用流水线 优化编译,有效支持高级语言
🚩1.4 指令的流水处理
1.4.1流水线原理
将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段
🚩1.4.2流水线时间计算
1️⃣流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期
2️⃣流水线执行时间: 1条指令总执行时间+(总指令条数-1)*流水线周期
超标量流水线技术:常规流水线是度为1的,即每个流水线阶段只执行一个部分,当度大于1时,就是超标量技术,当度为3时,相当于3条流水线并行执行,即取指、分析、执行每个阶段都同时处理3条指令,因此,当题目提到度的概念时,计算时需要将:指令条数=指令条数/度。然后再套流水线执行时间的公式
🚩1.4.3流水线吞吐率计算
吞吐率: 单位时间内执行的指令条数
T P = 总 指 令 条 数 / 流 水 线 执 行 时 间 TP = 总指令条数 / 流水线执行时间TP=总指令条数/流水线执行时间
🚩1.4.4流水线的加速比计算
加速比: 使用流水线后的效率提升度,即比不使用流水线快了多少倍,越高表明流水线效率越高
S = 不 使 用 流 水 线 总 执 行 时 间 / 使 用 流 水 线 总 执 行 时 间 S=不使用流水线总执行时间 / 使用流水线总执行时间S=不使用流水线总执行时间/使用流水线总执行时间
🚩1.4.5流水线的效率
示例:
如上图,流水线的效率分母其实是一个面积,为整个流水段长方形的总面积,为4×15=60,而其中4个任务只占用了阴影小方块,总的是4×6=24,可以简单的理解为(一条指令的执行时间/整个流水线的执行时间)