本文主要是介绍《Computer Organization and Design》Chap.6 笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原本昨天应该看完的Chap.6,没想到大晚上居然停电了。Chap.6主要是介绍parallel processors,内容不深。
提要:
- SISD, MIMD, SIMD, SPMD和vector的原理。
- 硬件多线程技术。
- 多核&多处理器,多处理器网络拓扑。 (待再看)
6.10&6.11待看。
内容:
SISD, MIMD,SIMD的中文解释(引用百度百科)——
SISD(Single Instruction Single Data stream)单指令流单数据流(SISD):SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并且只对一个操作部件分配数据。
传统的顺序执行的计算机在同一时刻只能执行一条指令(即只有一个控制流)、处理一个数据(即只有一个数据流),因此被称为单指令流单数据流计算机(SingleInstructionSingleData,SISD)。而对于大多数并行计算机而言,多个处理单元都是根据不同的控制流程执行不同的操作,处理不同的数据,因此,它们被称作是多指令流多数据流计算机,即MIMD(MultipleInstructionMultipleData,MIMD)计算机。
单指令流多数据流(英语:Single Instruction Multiple Data,缩写:SIMD)是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。其典型代表是向量处理器(Vector Processor)和阵列处理器(Array Processor)。
wiki词条Flynn’s_taxonomy中给出了图解:
SPMD在书中的解释——
programmers normally write a single program that runs on all processors of a MIMD computer, relying on conditional statements when different processors should execute distinct sections of code. This style is called Single
Program Multiple Data (SPMD), but it is just the normal way to program a MIMD computer.
一图比较多线程之coarse MT, fine MT & SMT——
这篇关于《Computer Organization and Design》Chap.6 笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!