學習平行程式,一定要知道Flynn’s taxonomy的四種硬體架構。
In computing, SISD (single instruction, single data) is a term referring to a computer architecture in which a single processor, a uniprocessor, executes a single instruction stream, to operate on data stored in a single memory. This corresponds to the von Neumann architecture.
Single instruction, multiple data (SIMD), is a class of parallel computers in Flynn’s taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data simultaneously. Thus, such machines exploit data level parallelism.
In computing, MISD (multiple instruction, single data) is a type of parallel computing architecture where many functional units perform different operations on the same data. Pipeline architectures belong to this type, though a purist might say that the data is different after processing by each stage in the pipeline.
In computing, MIMD (multiple instruction, multiple data) is a technique employed to achieve parallelism. Machines using MIMD have a number of processors that function asynchronously and independently. At any time, different processors may be executing different instructions on different pieces of data. MIMD architectures may be used in a number of application areas such as computer-aided design/computer-aided manufacturing, simulation, modeling, and as communication switches.
自從電腦被發明出來,一直都是SISD的架構,就是von Neumann architecture,直到近十年來,CPU和GPU的核心數增加,SIMD架構開始熱門了起來,它可以讓工作平行化來加速運算,是所謂的data level parallelism。而最不常見的架構是MISD,因此很少有討論。至於MIMD,我也不太明白:P還是先瞭解前兩者吧!

隨意留個言吧:)~