并行计算机访存模型 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并行计算机体系结构讲义
I、引入:
一、计算机系统结构的分类(从计算机系统结构的并行性能出发)
弗林(Flynn)分类法
1966年;而数据流是指令执行过程中的一串数据。)的不同组织方式,把计算机系统的结构分为以下4类:
1. 单指令流,单数据流(SISD)——这就是一个单处理器。
2.单指令流,多数据流(SIMD)——同一指令由多个处理器执行,这些处理器使用不同数据流,有各自的数据内存,但共享一个指令内存和控制处理器(负责存取和发送指令)。处理器通常是专用的,不要求通用性。
3. 多指令流,单数据流(MISD)——
4. 多指令流,多数据流(MIMD)——每个处理器存取自己的指令,操作自己的数据。处理器通常就采用普通的微处理器。
这是一个粗略的模型分类,许多机器是这些类型的混合体。SISD是传统的顺序处理计算机。SIMD以阵列处理机为代表。MISD在实际中代表何种计算机,存在着不同的看法。MIMD 的代表是多处理机。
二、并行性技术
一个理想的计算机系统结构应在处理速度、存储容量和I/O吞吐能力三者之间取得平衡。而并行性技术是实现这种平衡的主要手段。并行性技术包括时间并行、空间并行、时间并行+空间并行、资源共享4种方法。
也就是说, 计算机系统中提高并行性的措施就其基本思想而言,可归纳如下4条途径:
(1) 时间重叠:即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转时间而赢得速度。因此时间重叠可称为时间并行技术。
(2) 资源重复:在并行性概念中引入空间因素,以数量取胜的原则,通过重复设置硬件资源,大幅度提高计算机系统的性能。随着硬件价格的降低,这种方式在单处理机中广泛使用,而多处理机本身就是实施“资源重复”原理的结果。因此资源重复可称为空间并行技术。
(3) 时间重叠+资源重复:在计算机系统中同时运用时间并行和空间并行技术,这种方式在计算机系统中得到广泛使用,成为并行性主流技术。
(4) 资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。例如多道程序、分时系统就是遵循“资源共享”原理而产生的。资源共享既降低了成本,又提高了计算机设备的利用率。
II、讲授内容:
一、并行性的概念:
并行性,是指计算机系统具有可以同时进行运算或操作的特性,它包括同时性与并发性两种含义。
同时性——两个或两个以上的事件在同一时刻发生。
并发性——两个或两个以上的事件在同一时间间隔发生。
计算机系统中的并行性有不同的等级。从处理数据的角度看,并行性等级从低到高可分为:
(1)字串位串:同时只对一个字的一位进行处理。这是最基本的串行处理方式,不存在并行性。
(2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。这里已开始出现并行性。
(3)字并位串:同时对许多字的同一位进行处理。这种方式有较高的并行性。
(4)全并行:同时对许多字的全部位进行处理。这是最高一级的并行。
从执行程序的角度看,并行性等级从低到高可分为:
(1)指令内部并行:一条指令执行时各微操作之间的并行。
(2)指令级并行:并行执行两条或多条指令。
(3)任务级或过程级并行:并行执行两个以上过程或任务(程序段)。
(4)作业或程序级并行:并行执行两个以上作业或程序。
在单处理机系统中,这种并行性升到某一级别后(如任务级或作业级并行),则需要通过软件(如操作系统中的进程管理、作业管理)来实现。而在多处理机系统中,由于已有了完成各个任务或作业的处理机,其并行性是由硬件实现的。
在一个计算机系统中,可以采取多种并行性措施。既可以有数据处理方面的并行性,又可以有执行程序方面的并行性。当并行性提高到一定级别时,则称之为进入并行处理领域。
并行处理着重挖掘计算过程中的并行事件,使并行性达到较高的级别。因此,并行处理是系统结构、硬件、软件、算法、语言等多方面综合研究的领域。
二、单机系统中并行性的发展
在发展高性能单处理机过程中,起着主导作用的是时间重叠原理。实现时间重叠的物质基础是“部件功能专用化”,即把一件工作按功能分割为若干相互联系的部分,把每一部分指定给专门的部件完成;然后按时间重叠原理把各部分执行过程在时间上重叠起来,使所有部件依次分工完成一组同样的工作。例如解释指令的5个子过程分别需要5个专用部件,即取指令部件(IF)、指令译码部件(ID)、指令执行部件(EX)、访问存储器部件(M)、写回结果部件(WB)。将它们按流水方式连接起来,就满足时间重叠原理,从而使得处理机内部同时处理多条指令,提高了处理机的速度。显然,时间重叠技术开发了计算机系统中的指令级并行。
在单处理机中,资源重复原理的运用也已经十分普遍。例如不论是非流水线处理机,还是流水线处理机,多体存储器和多操作部件都是成功应用的结构形式。在多操作部件处理机中,通用部件被分解成若干个专用操作部件,如加法部件、乘法部件、除法部件、逻辑运算部件等。一条指令所需的操作部件只要空闲,就可以开始执行这条指令,这就是指令级并行。
在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。例如分时系统,在多终端情况下,每个终端上的用户感到好像自己有一台处理机一样。
三、多机系统中并行性的发展
多机系统也遵循时间重叠、资源重复、资源共享原理,向着三种不同的多处理机方向发展。但在采取的技术措施上与单处理机系统有些差别。
为了反映多机系统各机器之间物理连接的紧密程度与交互作用能力的强弱,使用了耦合度这样一个术语。多机系统的耦合度,分为紧耦合系统和松耦合系统两大类。
紧耦合系统又称直接耦合系统,指计算机间物理连接的频带较高,一般是通过总线或高速开关实现计算机间的互连,可以共亨主存。由于具有较高的信息传输率,因而可以快速并行处理作业或任务。
松耦合系统又称间接耦合系统,一般是通过通道或通信线路实现计算机间的互连,可以共享外存设备(磁盘、磁带等)。机器之间的相互作用是在文件或数据集一级上进行。松耦合系统表现为两种形式:一种是多台计算机和共享的外存设备连接,不同机器之间实现功能上的分工(功能专用化),机器处理的结果以文件或数据集的形式送到共享外存设备,供其他机器继续处理。另一种是计算机网,通过通信线路连接,以求得更大范围的资源共享。
多处理机中为了实现时间重叠,将处理功能分散给各专用处理机去完成,即功能专用化,各处理机之间则按时间重叠原理工作。许多主要功能,如数组运算、高级语言编译、数据库管理等,也逐渐分离出来,交由专用处理机完成,机间的耦合程度逐渐加强,从而发展成为异构型多处理机系统。