编译原理简明教程(第3版)-课件 第12、13章 并行编译技术、 软件构造.pptx

编译原理简明教程(第3版)-课件 第12、13章 并行编译技术、 软件构造.pptx

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

免费提供

编译原理

1

6

目录

第一章概述

第二章形式语言理论基础

第三章自动机理论基础

第四章词法分析

第五章语法分析—自顶向下分析方法

第六章语法分析—自底向上分析方法

第七章语义分析及中间代码的生成

第八章代码优化

第九章目标代码的生成

第十章符号表和出错处理

第十一章面向对象语言的编译

第十二章并行编译技术

第十三章软件构造

2

2024-11-6

3

学习目标

学习编译程序的概念

工作过程、体系结构

语言与编译程序的关系

了解开发技术

12.1并行计算机及其编译系统简介

12.2并行程序设计模型

12.3并行编译系统的构造

12.4自动并行化技术研究现状

12.5本章小结

4

5

为实现高性能并行计算,并行系统通常采用两种形式:

①程序设计人员编写常规的串行应用程序,由编译器将其转换为并行目标代码执行。

②按照某种并行语法规范编写相应的并行程序,由并行语言编译器将其编译转换为并行目标代码执行。

本章在介绍并行编译系统之前,先给出并行计算相关技术的一些介绍,然后再针对不同体系结构的目标机器介绍并行编译系统实现的分类及结构。

6

并行性:在同一时刻或同一时间间隔内完成两种或两种以上的任务。并行性有两种含义:同时性和并发性。

并行粒度:衡量软件进程所含计算量的尺度,一般用细、中、粗粒度来描述。

时延:机器各子系统间通信开销的时间量度,如存储时延和同步时延。

并行处理技术通过处理开发过程中的并行事件,使并行性达到较高水平,涉及并行结构、并行软件和并行算法等多个方面,这些方面相互联系,互为条件,互为保证。

7

并行等级的分类:

•从计算机信息加工的步骤和阶段的角度看:

存储器操作并行

处理器操作步骤并行

处理器操作并行

指令、任务、作业并行

•从开发程序的大小和并行粒度的角度看:

作业级

任务级

例行程序或子程序级

循环和迭代级

语句和指令级

粗粒度

中粒度

细粒度

通信需求与调度开销

并行

程度

8

并行处理:并行处理指的是在并行计算机上实现并行计算。

并行体系结构(基础)

并行软件系统

并行程序设计

向量计算机

共享存储器并行计算机

分布存储器并行计算机

并行系统软件

并行应用软件

并行体系结构

并行系统软件

并行程序设计语言

并行算法

9

并行编译系统的分类:

•不具有自动并行化功能的系统

•具有自动并行化功能的系统

并行编译系统的结构

向量编译技术

并行编译技术

并行运行库技术

并行编译技术

程序并行化技术

依赖关系分析技术

体系结构

内在特性

10

12.1.2并行编译系统的分类及结构

并行编译技术可按以下两种方法来分类:

11

12.2并行程序设计模型

如同汇编程序员必须熟悉机器指令集一样,在了解并行体系结构的基础上才能更好地理解和掌握并行程序设计模型以及并行编译系统。本节简要介绍并行计算机体系结构的三种类型以及相应并行编译系统需要解决的问题。

并行计算机体系结构大致可分为向量计算机、共享存储器多处理机以及分布式存储器并行计算机三类。

12

不同

体系结构

不同

程序并行

设计方法

并行程序设计模型是指在特定计算机硬件体系结构上实现并行算法的方式。

13

1.数据并行模型

•核心特征:以数据为中心,通过对数据的划分和并行处理来解决问题。

•编程方式:提供全局地址空间,编程者只需指明并行操作和对象,无需关心并行执行的具体方式。

•适用场景:适用于数据并行问题,如数组运算。

•实现方式:可以在SIMD(单指令流多数据流)计算模型和SPMD(单程序流多数据流)计算模型上实现。

•优势:编程相对简单,表达简洁。

•局限:仅适用于数据并行问题

14

2.消息传递模型

•核心特征:用户必须通过显式发送和接收消息来实现处理机间的数据交换。

•编程方式:每个并行实体有独立地址空间,远程访问必须通过显式消息传递实现。

•适用场景:适合开发大粒度的并行性,如分布式内存的并行机。

•实现方式:以消息传递库的形式实现,用户使用现有编程语言调用库函数进行消息传递。

•优势:灵活,可以解决广泛的问题。

•局限:增加了编程者的负担,编程级别较低。

15

3.共享存储模型

•核心特征:进程通过读/写共享存储器中的公共变量相互通信。

•编程方式:具有单一全局名字空间,数据为所有处理机所共享,进程间通信通过对全局

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档