多处理机指令是指在多处理机或多处理器系统中,为了管理共享的公共资源和相互通信的指令,一般设置“测试与设定”或“数据交换”指令,这些指令最主要的特点是在指令执行过程中不允许打断,用以防止多个处理器同时读取和修改共享数据区。
简介计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。一台计算机通常有几十条到几百条指令,根据指令完成的主要功能而对指令所进行的分类可分为:算术逻辑运算指令、 移位指令、 浮点运算指令、 十进制运算指令、 数据传送指令和多处理机指令等等。多处理机指令是指对公共资源(如共享内存)进行管理和用于多处理机之间相互通信的指令,如数据交换指令。这些指令执行过程不允许发生中断,主要是为了防止指令执行时,共享数据区中的数据被修改。数据交换是指为了满足不同处理机之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同处理机之间数据资源共享的过程。数据交换指令的功能是实现两个操作数据之间的位置互换,这两个操作数可以是两个寄存器操作数,或一个寄存器操作数与一个存储器操作数,或两个存储器操作数,在多处理机中,也可以是一个寄存器操作数和一个共享存储器操作数。数据交换指令实现了数据的双向传送。
多处理机多个处理机及存储器模块构成的并行处理机被称为多处理机1。在操作系统控制下,通过共主存或I/O系统或高速通信网络进行通信。产生多处理机的主要原因是:利用多台处理机进行多任务处理,协同解题以提高对复杂问题的求解速度;利用依靠处理机冗余提高系统可靠性、适用性和可用性。多处理机属于多指令流、多数据流系统,实现作业、任务之间的并行。因此要求多个处理机用多个指令部件分别控制,利用机间互连网络通信。充分挖掘算法的并行性,更多地依靠软件手段实现有效的资源分配和管理,如任务分配、处理机调度、进程同步和通信等。多处理机实现作业、任务、程序段的并行。结构灵活,可以适应多种算法。多处理机并行性存在于指令外部,实现任务间的并行。程序并行性识别较难,需利用算法、程序设计语言、编译程序、操作系统、指令、硬件实现。多处理机需有专门的指令或语句指明程序中各程序段的并发关系,可控制程序段的并发执行。多处理机实现指令、任务、作业级的并行,不同处理机实行不同指令,工作进程不需要保持一致。
共享内存共享内存指在多处理器的计算机系统中,可以被不同中央处理器访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存。由于其他处理器可能也要存取,任一缓存数据更新后,共享内存就需要立即更新,否则不同处理器可能用到不同的数据。
分布共享存储器。在松耦合多处理机中,为了减少存储器访问冲突,存储器被分割成多个模块,每个模块直接与单个处理机相连。这时的存储器模块称为本地存储器。当一个处理机访问自己的本地存储器时,不必通过互联网络,直接访问即可。这时所有存储器模块仍像紧耦合多处理机一样,采用统一的线性编址,被所有处理机共享,一个处理机除了可以访问本地存储器模块(本地存储器访问)之外,还可以通过互联网络访问其它处理机的存储器模块(远程存储器访问),但访问时间比起本地存储器的访问时间要长。
集中共享存储器。在紧耦合多处理机中,一个中央存储器系统为每个处理机提供相同的访问机制(访问时间相同),中央存储器通常被称为主存储器、共享存储器、全局存储器,或集中共享存储器。中央存储器系统可以是一个大容量的存储器模块,也可以是多个存储器模块。后者可以由多个处理机并行访问,从而减少存储器访问冲突,提高存储器的访问带宽。存储器访问冲突是指多个处理机同时访问同一个存储器模块,导致处理机的存储器访问时间变长。
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学