多处理器系统的架构与构建
1. 流水线处理器与重叠处理
流水线处理器可以通过在从内存获取变量 A 的值的同时,从指令中获取变量 B 的地址来实现重叠处理。流水线计算机将指令填充到管道中,并同时开始处理所有指令,以最大化重叠效果。它们常被用作超级计算机,因为在这类计算机中,指令处理速度至关重要。然而,当故障发生时,如果不清楚具体正在执行哪条指令,调试工作将极具挑战性。
例如,早期的 IBM 370 model 195 就是一款流水线处理器。执行错误(称为程序中断)会被编码,以便程序员能判断发生的错误类型。错误通常会导致生成错误发生时的内存列表,即转储(dump),它是整个程序空间及其指令、数据和下一条待执行指令地址的十六进制列表。大多数情况下,只需在转储中找到出错的指令,并查看该指令正在操作的数据即可。但当出现不精确中断时,可能需要查看指示指令之前的十几条指令,因为从系统角度来看,这些指令都在执行中。
2. 多处理器的分类
在 20 世纪 60 年代末,M. J. Flynn 创建了一个简单的计算系统分类法,以区分众多的架构设计。他从 CPU 的角度关注指令和数据的访问,考虑有多少不同的访问路径。他提出的问题是:“CPU 的指令处理器能同时访问多少条指令,以及 CPU 的算术逻辑单元能同时访问多少块数据?”答案在这两种情况下都只有“一个”或“多个”,总共形成了四种不同的架构:
|架构类型|指令路径|数据路径|简称|
| ---- | ---- | ---- | ---- |
|单指令单数据|一条|一条|SISD|
|多指令多数据|多条|多条|MIMD|
|单指令多数据|一条|多条|SIMD|
|多指
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



