In 1966, Michealflynn classified the architecture of the computer according to the concept of instruction and data flow, which is called the Flynn Taxonomy. Flynn divides the computer into four basic types, namely SISD, MIMD, SIMD, MISD.
Traditional sequential machines can execute only one instruction at a time (i.e., only one control flow), processing one data (i.e., only one data stream), so it is referred to as single instruction flow dataflow computer single instruction, SISD computer). For most parallel computers, multiple processing units perform different operations according to different control processes, processing different data, so they are referred to as multi-instruction-flow multi-dataflow computer, MIMD (multiple instruction multiple Data) computers.
Equipped, which has been the mainstream of super parallel computers for a long time, in addition to the scalar processing unit, the most important thing is to have a hardware unit capable of vector computing. When performing a vector operation, an instruction can operate on multiple data (consisting of a vector) at the same time, which is the concept of a single instruction stream multi-stream (instruction multiple DATA,SIMD). Therefore, we refer to the vector computer as an SIMD computer.
The fourth type is the so-called multi-instruction flow single data (multipleinstructionsingledata) computer. In this kind of computer, each processing unit composes a linear pattern, executes the different instruction flow respectively, and the same data flow passes through each processing unit in the array sequentially. This system structure is only applicable to certain specific algorithms.
In contrast, SIMD and MISD models are better suited for specialized computing. In commercial parallel computers, the MIMD model is the most versatile, SIMD second, and MISD at least.
Multiprocessor-parallel processing machines-pipeline processing machines
1. The "Parallel processing" should be understood:
a. Objective: To save time for solving large and complex problems.
b. Characteristics: The processor can work simultaneously in different aspects of the same program. --To use parallel processing, you first need to: (see C)
c. Prerequisites: The parallel processing of the program, that is, the work of the various parts assigned to different processing machines.
d. Note: Parallelism is a mutual dependency problem and cannot be implemented automatically. Therefore, parallelism does not guarantee acceleration. But: (see E)
e. Advantage: A program executed on n processing machines can be as fast as n times the speed of execution on a single processor.
2. Array processor and multiprocessor comparison: Array processor (parallel processing machine): Single control Unit (CU), multiple processing units (PU), shared main memory (can be divided into multiple) and all external devices, single instruction flow multi-dataflow computer (SIMD). To achieve the parallelism of the operation level, parallelism exists inside the instruction. Multiprocessor: Multiple control components, multiple processors (each processor has its own control unit); Share a main memory and all external devices; multi-instruction Flow multi-dataflow computer (MIMD). Implement jobs, task-level parallelism. Parallelism also exists outside of the directive.
3. The array processor and the single-machine system using the running water structure are compared: Array Processor: Single instruction stream multi-data stream, using resource repetition technology. Single-stream multi-data stream with flow structure and time repetition technology.
4. Multiprocessor: Multiprocessor system is composed of several separate processors, each of which can handle its own program independently. Classification by composition: Heterogeneous (asymmetric): consisting of multiple different types or processors capable of accomplishing different functions; Homogeneous type (symmetric type): consisting of multiple processors of the same type or equivalent function; Distributed Processor system: a plurality of processors with independent functions are connected together. According to the Inter-machine interconnection structure, divided into four kinds of multiprocessor structure: Bus-type structure: also divided into: Single bus, multi-bus, hierarchical bus, ring-type bus and many other. Cross-switch construction: Set up a set of crossbar arrays to connect the transverse processor p and I/O channels to the longitudinal memory m. MULTIPORT memory structure: the corresponding ports of multiple multiport memory are connected together, and each port connects to a processor p or an I/O Channel controller I/oc. Switch pivot structure: With multiple inputs and multiple outputs, between themswitch so that the input is selectively connected to the output terminal. An arbitration unit (which decomposes conflicting parts) and a switching unit (which can be switched between one input and multiple outputs) form a basic switching hub.
5. Array (parallel) Processor: Two typical structures: Parallel processor structure with distributed memory: There are two types of memory: one is attached to MPU, its resident operating system, and the other is local memory, which is distributed in various processing units to save the program and data. Parallel processor structure with shared memory: Several shared memories are shared through the internetwork ICN for all processing units of the entire parallel system.
2009-05-11
This article is from the "Five Corners" blog, please be sure to keep this source http://hi289.blog.51cto.com/4513812/1755007
Flynn Taxonomy of Architecture for SISD, MIMD, SIMD, MISD computers