微机原理与接口技术课程设计计算机并行处理机制的研究.docx

上传人:b****1 文档编号:2001684 上传时间:2023-05-02 格式:DOCX 页数:18 大小:228.53KB
下载 相关 举报
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第1页
第1页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第2页
第2页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第3页
第3页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第4页
第4页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第5页
第5页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第6页
第6页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第7页
第7页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第8页
第8页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第9页
第9页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第10页
第10页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第11页
第11页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第12页
第12页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第13页
第13页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第14页
第14页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第15页
第15页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第16页
第16页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第17页
第17页 / 共18页
微机原理与接口技术课程设计计算机并行处理机制的研究.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理与接口技术课程设计计算机并行处理机制的研究.docx

《微机原理与接口技术课程设计计算机并行处理机制的研究.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计计算机并行处理机制的研究.docx(18页珍藏版)》请在冰点文库上搜索。

微机原理与接口技术课程设计计算机并行处理机制的研究.docx

微机原理与接口技术课程设计计算机并行处理机制的研究

 

计算机科学与技术学院

课程设计报告

2011—2012学年第1学期

 

课程名称微机原理与接口技术

设计题目计算机并行处理机制的研究

学生姓名

学号

专业班级

指导教师

 

2011年9月6日

一、概述

计算机从1946年的ENIAC机问世以来,至今已经历了五次更新换代。

每一代计算机的性能都成数量级倍的提高,计算机的体积、重量、价格、稳定性、可靠性、可维护性及功能的多样性等均有了显著的改善。

人们通常以电子管、晶体管、中小规模集成电路、大规模和超大规模集成电路等器件的变革作为计算机换代的标志。

但是,计算机系统实际上是器件、硬件、软件、算法、语言、系统结构以及通讯技术等的综合,所以计算机的换代也反映在上述各方面的巨大变革上。

促使计算机迅速发展和系统性能极大提高的因素是多方面的,其中,器件技术尤其是微电子技术的迅速发展无疑是最为关键的因素,它是计算机得以迅速发展的物质基础。

然而,应当看到,如果不能最合理地利用这些新器件、新设备,最大限度地发挥出它们的内在潜力,设计和构成综合性能指标最佳的计算机系统,只靠器件技术的变革是不行的,还需要硬件、软件、算法、语言、系统结构、通讯技术等多方面的发展变革才行。

在特定的时期里,器件的发展变化会因物理、工艺、价格等条件限制而有一定限度。

在同一种器件技术水平上,进一步提高计算机系统性能的有效途径就是在系统结构上使用并行处理技术,挖掘出系统固有的并行性潜力,提高其并行性操作的程度。

并行性在不同的处理级别中可表现为多种形式,如先行方式、流水方式、向量化、并发行、同时性、数据并行性、划分、交叉、重叠、多重性、重复、时间共享、空间共享、多任务处理、多道程序、多线程方式和分布式计算等。

二、并行的概念

2.1并行性

只要在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不同的工作,它们在时间上相互重叠,都体现了并行性。

也就是说,并行性包括同时性和并发性两重含义。

同时性(simultaneity)指的是两个或多个时间在同一时刻发生,并发性(concurrency)指的是两个或多个事件在同一时间间隔内发生。

2.2并行等级的划分

并行性可以划分为不同的等级,从不同的角度出发,等级的划分方法也不一样。

(1)从计算机系统内部执行程序的角度来划分

●指令内部——一条指令内部各种微操作之间的并行

●指令之间——多条指令在某一时刻或同一时间间隔内并行执行

●任务或进程之间——多个任务或程序段之间的并行执行

●作业或程序之间——多个作业或多道程序之间的并行执行

(2)从计算机系统中处理数据的并行性角度来看

●字串位串——同时只对一个字的一位进行处理,通常指传统的串行单处理机,没有并行性

●字串位并——同时对一个字的全部位进行并行处理,通常指传统的并行单处理机,开始出现并行性

●字并位串——同时对许多字的同一位进行处理,开始进入并行处理领域

●字并位并——同时对许多字的全部或部分位组进行处理。

(3)从计算机信息加工的各个步骤和阶段来看

●存储器操作并行——可以采用单体多字、多体单字或多体多字方式在一个存储周期内访问多个字,进而采用按内容访问方式在一个存储周期内用位串字并获全并行方式实现对存储器中大量字的高速并行比较、检索、更新、变换等操作。

典型的例子就是并行存储器系统和以相联存储器为核心构成的相联处理机。

●处理机操作步骤并行——处理机操作步骤可以指一条指令的取指、分析、执行等操作步骤,也可指如浮点加法的求阶差、对阶、尾加、舍入、规格化等具体操作的执行步骤。

操作步骤并行就是将操作步骤或具体操作的执行步骤在时间上重叠流水地进行。

典型的例子就是流水线处理机。

●处理机操作并行——为支持向量、数组运算,可以通过重复设置大量处理单元,让它们在同一控制器控制下按照同一条指令的要求对多个数据组同时操作。

典型的例子就是并行处理机。

●指令、任务、作业并行——这是较高级的并行,虽然它也可包含如操作、操作步骤等较低等级的并行,但原则上与操作级并行是不同的。

指令级以上的并行是多个处理机同时对多条指令及有关的多数据组进行处理,而操作级并行是对同一条指令及其有关的多数据组进行处理。

因此,前者构成的是多指令流多数据流(MIMD)计算机,后者构成的则是单指令流多数据流(SIMD)计算机。

典型的例子是多处理机。

 

2.3实现并行处理的技术途径

实现并行处理的技术途径是各种各样的,其中主要有时间重叠、资源重复和资源共享等方法。

时间重叠在并行性概念中引入时间因素,使多个处理过程在时间上错开,轮流重叠地使用同一套硬件设备的不同部件,以加快硬件周转而赢得速度。

最典型的例子就是流水线工作方式。

时间重叠原则上不需要重复增加硬件设备就可提高系统的性能。

资源重复在并行性概念中引入空间因素,通过重复设置硬件资源,如处理机或外围设备等,来达到大幅度提高可靠性和处理速度的目的。

资源共享让多个用户按一定时间间隔轮流使用同一套资源,以提高系统的整体性能。

三、计算机内部并行处理机制

RISC处理机内部可以采用如下技术来增加其并行性:

(1)哈佛结构:

即设计分开的指令cache和数据cache,可以并行工作。

(2)多端口的寄存器堆。

如果一个寄存器堆有两个源操作数端口和一个目的操作数端口,那么两个源操作数可以同时取出,还可以写入或取出另一条指令的目的操作数。

(3)流水线。

(4)编译优化技术。

充分利用硬件资源、优化分配寄存器。

(5)超标量(superscalar)结构。

即设置多个执行部件。

(6)超流水线(superpipeline)结构。

(7)VLIW(VeryLongInstructionWord)

指令级并行处理(ILPP,InstructionLevelParallelProcessing)是实行低层机器操作的并行执行,如存、取、整数加和浮点乘等。

其中的流水线、超长指令字VLIW、超标量结构等技术都属于处理机指令级并行技术,下面将分别对其加以介绍。

3.1流水线

一条典型指令的执行基本上由取指、译码、执行和写回4个阶段组成。

由于不同阶段的执行由不同的功能部件来进行,因此可以使得指令的执行在时间上重迭起来。

流水线的基本思想就是重迭连续指令的执行以节省执行时间和增加吞吐率。

一般流水线结构如下图所示:

IPC(InstructionPerCycle)=1,但由于数据相关、转移相关和资源相关使得IPC<1。

3.2超标量结构

主要特点:

(1)配置多个处理部件,采用多条流水线并行处理;

(2)能同时对若干条指令进行译码,将可并行执行的指令送往不同的执行部件,从而达到每个周期启动多条指令的目的。

(3)在程序运行期间由硬件完成指令调度。

下图中,一个周期内同时发出三条指令,有多个执行部件,三条指令发到三个独立的执行部件去分别执行。

 

超标量的典型结构:

指令的执行部件:

●存储器操作部件:

执行Load、Store指令

●ALU:

整数运算

●转移控制部件:

执行转移指令

状态记录部件(调度部件):

●进行流水动态调度。

依靠硬件在程序运行过程中对可能出现的相关情况加以检测,从而保证流水线中的各个功能部件能最大限度的重叠工作。

●它对流水线中的各个功能部件的工作状态、进入流水线中的各条指令的工作状态、它们所使用的源寄存器和目的寄存器情况等进行集中的统一记录和调度。

●在译码阶段,状态记录部件根据所记录的状态决定是否将译码后的指令发送给有关功能部件进行处理。

状态记录部件主要检查:

●该指令要使用的功能部件是否已被流水线中的其它指令占用(资源冲突);

●该指令的源操作数寄存器是否为其它指令的目的寄存器,或者它所要写入的目的寄存器又正好是前面其它指令所要读出的操作数,或是要写入的目的寄存器。

即检查是否存在RAW、WAR、WAW的数据相关。

 

3.3超流水线结构

下图中,一个流水段(一个周期)分成三个子段,每个子段取出的仍只有一条指令,但总体来看,一个周期内取出了三条指令,执行部件可以一套,每个部件在一个子段时间内完成。

超标量结构、超流水线结构一般采用指令窗方法,把一段指令取到窗口中,判断这段指令能否并行执行。

超标量和超流水线的比较

⏹超标量:

工作部件多,晶体管数目也多,每个部件的工作速度相对的可以低一些。

以空间换取时间。

⏹超流水线:

工作部件少,晶体管数目少了,每一个部件必须在一个子周期内执行,工作速度较高。

以时间换取了空间。

3.4VLIW(超长指令字)

1983年,Yale大学Fisher教授首先提出。

一条长指令来实现多个操作的并行执行,以减少对存储器的访问,这种长指令往往达上百位,甚至上千位。

如下面的图。

每拍启动一条长指令,执行3个操作,相当于3条指令,要求并行度为3。

主要特点:

●单一的控制流。

只有一个控制器,每个周期启动一条长指令。

●超长指令字被分成多个控制字段,每个字段直接独立的控制每个功能部件。

●含有大量的数据通路和功能部件,由于编译器在编译时间已经考虑可能出现的数据相关和资源相关,故控制硬件比较简单。

●在编译阶段完成超长指令中多个可并行执行操作的调度(超长指令字的生成是由编译器完成)。

VLIW机的结构框图

四、计算机间的并行处理机制

体系结构的并行性才是并行计算机真正的特点,下面主要介绍当代流行的几种主要的并行体系结构:

对称多处理机SMP,大规模并行处理机MPP,机群。

4.1对称多处理机SMP

4.1.1SMP的结构和特性

SMP机器结构图如下:

 

SMP结构具有以下特性:

(1)对称性系统中任何处理机都可以对称地访问任何存储单元和I/O设备,且具有相同的访存时间,所以也常叫均匀存储访问UMA结构

(2)单一物理地址空间所有处理器的存储单元按照单一地址空间编址

(3)高速缓存及其一致性多极高速缓存可支持数据局部性,且其一致性由硬件来实现

(4)低通信延迟处理机间的通信用简单的读/写指令来完成

正是这些特性使得对称处理机得到了广泛使用。

例如,由于存在单一物理地址空间,只需要一个OS副本驻留在共享存储器中,OS可以按工作负载情况在多个处理机上调度进程,从而易于达到动态负载平衡和有效地利用系统资源。

这一点使得它非常适合作为对吞吐率要求很高的服务器。

从分层角度来看,SMP机器的硬件直接支持共享地址空间变成模型。

由于存在类似于串行编程的单地址空间,任何处理机都可以用普通的读/写指令来高效地存取共享数据,并且共享数据在本地高速缓存间进行自动复制和移动,使得SMP对并行编程具有很大吸引力。

从可移植性的角度出发,在大部分SMP机器上也实现了消息传递编程模型。

这通常是通过一些运行库的支持,在这些运行库中将共享地址空间的一部分指派给每个进程,同时显式地给每个进程制定消息缓冲区,通过在缓冲区间拷贝数据来实现Send/Recv对。

由于它们不需要操作系统的干预,通常能获得比传统的分布式消息传递系统更好的消息传递性能,当然前提是共享总线不能成为通信瓶颈。

4.1.2多处理机中的扩展存储层次结构

在SMP中所有的通信和本地计算都将导致对存储器的读/写,因此从系统设计的角度出发,扩展存储器的组织就是一个关键的设计因素。

通常,随着规模的增大,多处理机中的存储结构分别属于如图所示的四种扩展存储层次结构,其中前三种是对称多处理机,而第四种不是。

在共享高速缓存的结构中,互连网络位于处理器和共享的一级高速缓存之间。

为了提高带宽,高速缓存和主存系统都是可以交叉存取的。

在20世纪80年代中期,这种结构常被用来连接一个主板上的多个处理器,现在这种结构可被用来实现单片多处理机(Multiprocessor-on-a-chip)。

然而,这种结构中当多个对称处理器同时存取共享高速缓存时,对高速缓存的带宽要求很高;另外,对高速缓存数据的存取必须通过处理器和高速缓存间的互连网络,从而使得高速缓存存取延迟变大。

所以,这种方法的可扩展性很差,只适用于机器规模很小的情况,通常只支持2-8个处理器。

在基于总线的共享内存结构中,互连网络是处理器的私有高速缓存和共享内存系统间的共享总线。

这种结构被广泛地应用于小规模和中等规模的多处理机中,其处理器数目通常能达到20-30个。

受共享总线和内存系统的带宽限制,基于总线的共享内存方法的可扩展性也不是很好。

舞厅(Dancehall)结构把互连网络放在高速缓存和主存之间,但是互连网络是一个可扩展的点到点网络,同时内存被划分为许多逻辑模块,连到互连网络的不同连接点。

这种结构是对称的,所有的处理器到内存的距离是相同的,缺点是所有内存存取都要经过互连网络,当其规模较大时,内存存取延迟较大。

分布式内存的结构不是对称的,处理节点之间铜鼓哦一个可扩展的互连网络相连,每个节点有本地内存,对本地内存的存取比对远地内存的存取快得多。

通过利用数据分布的局部性原理,大多数的高速缓存的缺失的存取几乎都能在本地内存中得到满足。

这种结构对于设计可扩展的多处理器最具有吸引力。

4.2大规模并行处理机MPP

4.2.1MPP的结构和特性

MPP并行机体系结构模型如下图示:

 

MPP通常具有如下特点:

(1)在处理节点中使用通用微处理器,且每个节点有一个或多个微处理器

(2)在处理节点内使用物理上分布的存储器

(3)使用具有高通信带宽和低延迟的互连网络,节点间彼此紧密耦合

(4)能扩展成具有成百上千个处理器

(5)是一个异步多指令流多数据流MIMD机,进程同步采用锁方式消息传递操作,而不是用共享变量同步操作加以实现

(6)程序由多个进程组成,每个进程有自己的私有地址空间,通过显示的消息传递实现进程间互相通信,数据分布对于用户不是透明的。

MPP的主要应用是科学计算、工程模拟和信号处理等以计算为主的领域。

目前的MPP系统主要有两种获取大规模并行的不同途径,包括以CrayT3E系统为代表的无硬件支持的高速缓存一致性的分布式存储器NCC-NUMA体系结构,和以Intel/SandiaASCIOptionRed系统为代表的非远程存储访问的NORMA体系结构。

4.2.2当代MPP系统的公共体系结构

当代MPP系统的公共体系结构如图所示。

所有MPP都使用物理上分布的主存,并且越来越多的MPP使用了分布式I/O。

每个节点有一个或多个处理器和高速缓存(P/C)、一个局部存储器、有或没有磁盘。

节点内有一个本地互连网络,连接处理器、主存和I/O设备。

MPP采用如下技术来提高可扩展性:

(1)使用物理上分布式主存的体系结构,它比集中式主存体系结构提供了更高的总主存带宽,因此有潜在的更高可扩展性;

(2)平衡的处理能力和主存与I/O能力,若没有成比例的高速主存和I/O子系统,那么数据不能以足够的速度送入处理器,高速处理器就几乎毫无价值;

(3)平衡的计算能力和并行性与交互能力,如无此特征,则进程/线程管理及通信和同步的开销将是执行时间的主要部分。

MPP与机群的关键差别在于节点间的通信。

在机群中,节点通常通过标准局域网相连,而在MPP中,节点希由高带宽及低时延的高速专有网络互连,同时还提供专有通信软件,以实现高性能。

所有这些使得现有MPP在通信性能上超过机群,然而,由于标准网络技术的飞速发展,目前无法确定应用于MPP的连接技术,在未来多长时间内还将继续领先于应用于机群的网络技术。

MPP面临的主要问题:

(1)实际的性能差:

MPP实际的可用性能通常远低于其峰值性能;

(2)可编程性差:

并行程序的开发比较困难,串行程序向并行程序的自动转换效果不好,且不同平台间并行程序的有效移植也有一定的难度。

4.3机群

4.3.1机群的概念和特性

机群是一组独立的计算机(节点)的集合体,节点间通过高性能的互连网络连接;各节点除了可以作为一个单一的计算资源供交互式用户使用外,还可以协同工作,并表现为一个单一的、集中的计算资源,供并行计算任务使用。

机群是一种造价低廉、易于构筑、并且具有较好可扩展性的体系结构。

机群具有如下重要特征:

(1)机群的各节点都是一个完整的系统,节点可以是工作站,也可以是PC机或SMP机器;

(2)互连网络通常使用标准局域网络,如以太网、FDDI、光纤通道等,部分商用机群也采用专用网络相连;

(3)网络接口与节点的I/O总线松耦合相连;

(4)各节点有本地磁盘;

(5)各节点有自己完整的操作系统。

MPP通常是一种无共享(Shared-Nothing)的体系结构,节点可以有多种硬件构成方式,不过大多数只有主存和处理器。

SMP可以认为是一种完全共享(Shared-Everything)的体系结构,所有的处理器共享所有可用的全局资源(总线、内存和I/O等)。

对于机群来说,机群的节点复杂度通常比MPP高,因为各机群节点都有自己的本地磁盘和完整的操作系统;MPP的节点通常没有磁盘,并且可能只是使用一个微内核,而不是一个完整的操作系统;SMP服务器则比一个机群节点要复杂,因为它有更多的外设终端,如终端、打印机和外部RAID等。

4.3.2机群的分类

根据不同的分类标准,有不同的分类方法。

(1)根据应用目标,可分为高性能机群(HighPerformanceCluster,HPCluster)和高可用性机群(HighAvailableCluster,HACluster)

(2)根据节点拥有情况,可以分为专用机群(DedicatedCluster)和非专用机群(NondedicatedCluster)。

专用机群中所有的资源是共享的,并行应用可以在整个机群上运行;而在非专用机群中,全局应用通过窃取CPU时间来获得运行,非专用机群中由于存在本地用户和远地用户对处理器的竞争,带来了进程迁移和负载平衡等问题

(3)根据节点的硬件构成,可以分为PC机群(ClusterofPCs,CoPC)、工作站机群(Clusterofworkstation,COW)和对称多处理机SMP机群(ClusterofSMPs,CLUMPs)

(4)根据节点的操作系统,可以分为Linux机群(如Beowulf)、Solaris机群(如BerkeleyNOW)、NT机群(如HPVM)、AIX机群(如IBMSP2)

(5)根据节点的配置,可以分为同构机群和异构机群。

同构机群中各节点有相似的体系,并且使用相同的操作系统,而异构机群中节点可以有不同的体系,运行的操作系统也可以不尽相同。

4.3.3机群的体系结构

机群节点连接方式

机群节点有三种连接方式,如下图所示。

无共享机群,节点间通过I/O总线连接;共享磁盘的体系常用于注重可用性的商用小规模及其上,在节点失效时能由其他节点承担失效节点的工作;共享存储器的集群节点间通过存储总线连接,由于比前两种机群难于实现,还没有得到广泛的应用。

机群的理想体系结构如下图所示:

五、总结与展望

在上一个学期的《微机原理与接口技术》的课程中,我们对微机的一些主要的原理技术进行了学习。

在学习的过程中上我们对微型计算机的各种体系结构和各种技术有了更深入的认识和了解。

这对我们今后进一步的学习打下了坚实的理论技术。

而通过本课程的上机实验,又使我们对本课程中的一些技术在应用层面的认识得到加深。

本文作为《微机原理与接口技术》的课程设计论文,主要从计算机内部的并行处理机制以及计算机间的并行处理机制给予探讨。

通过在编写本论文中,不断的搜集有关并行技术的资料以及对这些资料进行归类总结,是我对并行技术有了更进一步的认识以及领悟。

这对我今后的工作有很大的帮助。

现今比较流行的物联网技术中,少不了对并行技术的应用。

在整个物联网的系统中,各个应用的实现大多数是要实现实时响应的,这些应用中可能会同时要求系统对请求给予响应。

在此处,我们就可以看到了并行处理在此处应用的好处,它可以使系统能够同时对进程进行响应。

最后,感谢李长青老师的课程讲授以及辅导!

六、参考资料

[1]陈国良等著,《并行计算机体系结构》,高等教育出版社

[2]屈玉贵,梁晓雯著,《并行处理系统结构》,中国科学技术大学出版社

[3]李长青等,《微型计算机原理与接口技术》,中国矿业大学出版社

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2