·早期计算机系统是基于单个处理器的顺序处理机器,程序员编写串行执行的代码,让其在处理器上串行执行,每条指令的执行也是串行的(取指令、取
操作数、执行操作、存储结果)。
单指令流多数据流(SIMD):单条指令流控制多个处理单元同时执行,每个处理单元包括处理器和相关的数据存储,一条指令控制了不同的处理器对不同的数据进行操作。向量机和阵列机是这类计算机系统的代表 。
在一台SIMD计算机中,有一个控制部件(又称为
控制单元,control unit)和许多处理单元(processing unit)。大量的处理单元通常构成阵列,因此SIMD计算机有时也称为
阵列处理机。所有的处理单元在控制部件的统一控制下工作。控制部件向所有的处理单元广播同一条指令,所有的处理单元同时执行这条指令,但是每个处理单元操作的数据不同。控制部件可以有选择地屏蔽掉一些处理单元,被屏蔽掉的处理单元不
执行控制部件广播的指令。
·
多指令流单数据流(MISD):一个数据流被传送给一组处理器,通过这一组处理器上的不同指令操作最终得到处理结果。
·
多指令流多数据流(MIMD):多个处理器对各自不同的数据集同时执行不同的指令流。可以把MIMD系统划分为
共享内存紧密耦合MIMD系统和内存分布松散耦合MIMD系统两大类。
根据处理器分配策略,紧密耦合MIMD系统可以分为主从式系统MSP(Main/Slave Multiprocessor)和对称式系统SMP(Symmetric Multi-Processor)两类。
主从式系统基本思想是:在一个特别的处理器上运行
操作系统内核,其他处理器上则运行
用户程序和操作系统例行程序,内核负责分配和调度各个处理器,并向其他程序提供各种服务。
在
对称式多处理器系统中有两个或两个以上的处理器,
操作系统内核可以运行在任意一个处理器上。每个处理器都可以自我调度运行的进程和线程,单个进程的多个线程可在不同处理器上同时运行。
操作系统内核也被设计成
多进程或
多线程,内核的各个部分可以
并行执行。
在松散耦合MIMD系统中,每个处理单元都有一个独立的
内存储器,各个处理单元之间通过设定的线路或
网络通信,多计算机系统和集群(Cluster)系统都是松散耦合MIMD系统的例子。
计算机系统的处理器包括一组寄存器,其个数根据机型的不同而不同,它们构成了一级存储,比主存容量小,但访问速度快。这组寄存器所存储的信息与程序的执行有很大关系,构成了处理器现场。
·
控制寄存器:存放处理器的控制和状态信息,至少包括
程序计数器PC和
指令寄存器IR,中断寄存器以及用于
存储器和I/O模块控制的寄存器。还有存放将被访问的
存储单元地址的存储器地址寄存器,以及存放从存储器读出或欲写入的数据的存储器
数据寄存器。