计算机体系结构分类—Flynn
体系结构类型 | 结构 | 关键特征 | 代表 |
单指令流单数据流 SISD | 控制部分:一个 处 理 器:一个 内存模块:一个 | 单处理器系统 | |
单指令流多数据流 SIMD | 控制部分:一个 处 理 器:多个 内存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机 阵列处理机 超级向量处理机 |
多指令流单数据流 MISD | 控制部分:多个 处 理 器:一个 内存模块:多个 | 被证明是不可能,至少是不实际 | 目前没有,有文献称流水线计算机为此类 |
多指令流多数据流 MIMD | 控制部分:多个 处 理 器:多个 内存模块:多个 | 能够实现作业、任务指令等各级全面运行 | 多处理机系统 多计算机 |
CISC与RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制基数(微码) | 研制周期长 |
RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单调期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
流水线—概念
流水线是指在程序执行多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的。它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
——>取指——>分析——>执行——>
1 | 2 | 3 | ||||||
1 | 2 | 3 | ||||||
1 | 2 | 3 |
未使用流水线执行指令情况
1 | 2 | 3 | ||||||
1 | 2 | 3 | ||||||
1 | 2 | 3 |
使用流水线执行指令情况
流水线-流水线的计算
以上单条流水线周期为2ns(取最长时间)
取指123为流水线建立周期(一条指令执行时间)、
理论公式(2+2+1)+(100-1)*2=203、
实践公式(由于ns细微忽略,所以都看成1ns):(3+100-1)*2=204
考试首先用到理论公式,理论公式无正确答案,再用到实践公式计算
流水线吞吐率计算
以上案例:流水线吞吐率:100/203 流水线最大吞吐率(理想状态:忽略流水线建立时间):1/^t
流水线的加速比
不使用流水线执行时间:(2+2+1)*100=500
s=500/203(加速比越高越好)
消耗时间片/未使用时间片 (^t+^t+^t+3^t)*4=占用时空区 15^t*4=总的时空区
每一个时长工作量相等效率最高