计算机体系结构_计算机体系结构——并行度与并行架构的分类
本文翻译摘录自“ComputerArchitecture : A Quantitative Approach (6th Edition)”。
多种级别的并行度现在已经成为各类计算机设计的强有力的推动力量,能耗和成本则是最主要的约束。在应用程序中有以下两种并行度:
1. 数据级并行(Data Level Parallelism,DLP) ,该类并行度的出现是因为需要数据的操作会同时进行。
2. 任务级并行(Task Level Parallelism,TLP) ,该类并行度的出现是因为许多创建的任务能够独立操作且大量采用并行方式执行。
进一步探索,计算机硬件可以分为如下四种并行度:
1. 指令级并行(Instruction Level Parallelism,ILP) 在编译器的帮助下利用流水线的思想探索数据级并行,并利用推测执行的方式来探索中等级别的并行度。
2. 向量体系结构、图像处理单元和多媒体指令集(Vector Architecture,Graphic Processor Units,and Multimedia Instruction Sets) 通过将一条单独的指令应用于一个数据集合来开发数据级并行。
3. 线程级并行(Thread Level Parallelism,TLP) 在一种紧耦合的硬件模型中探索数据级并行或任务级并行,其允许并行线程之间进行交互。
4. 请求级并行(Request Level Parallesim,RLP) 是在程序员或操作系统指定的大量去耦合的任务之间探索并行。
当Flynn在二十世纪60年代研究并行计算效果的时候就提出了一种简单的分类方式,我们至今仍在使用。他通过观察多处理器中最受约束组件中的指令流及数据流的并行度,提出了4种计算机分类方式:
1. 单指令流、单数据流(SISD): 这个类型是单处理器。程序员将其视为一个标准的顺序计算机,但是可以探索利用指令级并行。
2. 单指令流、多数据流(SIMD): 同一条指令被多个处理器针对不同的数据流同时执行。SIMD计算机是通过将多个数据并行执行相同的操作来探索的数据级并行。每个处理器有其自己的数据存储器,但只有一个指令存储器和控制器,用来取指令和分派指令。
3. 多指令流、单数据流(MISD): 到目前为止没有这种类型的商用多处理器面世,只是这里列出来使这种简单的分类更加完整。
4. 多指令流、多数据流(MIMD): 每个处理器取其自己的指令并执行在自己的数据上,其目标是探索任务级并行。通常,MIMD比SIMD更加灵活,因此适用性就更强,但一般比SIMD价格昂贵。例如,MIMD计算机也可以探索数据并行,尽管开销要比SIMD计算机大一些。
End


