2 倍。
第 3 版 · OCR 辅助 · 原书检索 · 文字用于定位,公式与图表请回原页核验 · 本次导入快照
<!-- page: 360 -->
并行处理系统
储器,可以在一个线程块的线程之间进行高性能的通信和数据共享。核函数可以使用共享
变量和寄存器变量。若这两种变量不够,也会直接使用全局变量。CPU 首先将数据从主存
传送到GPU的全局存储器,计算完成后将结果从GPU的全局存储器再传送回CPU 的主
存。顺序执行的网格中的线程之间通过全局存储器进行数据通信。
在基于NVIDIA GPU的架构上,局部存储器和全局存储器都位于GPU芯片之外的显
存芯片中,可以是 GDDR3、GDDR4和 GDDR5等DRAM芯片。
CUDA编程模型在网格上类似于单程序多数据(SPMD)模型。每次调用核函数相当于
动态创建了一个新的网格,每个网格包含多个线程块,每个线程块处理一个数据块,因此,相
当于一个核函数在多个数据块上执行。程序员可以针对每个核函数选用适当的并行度,即,
每个网格所包含的线程块数目和每个线程块所包含的线程数都是可设置的,不需要将一个
应用的所有子任务对应的网格设置成相同的线程块数。例如,若一个应用被分成两个子任
务,分别对应核函数 kernelA和 kernelB,这两个核函数对应的网格之间有顺序关系,一定是
kernelA中的所有线程块全部执行完才能执行 kernelB中的线程,那么,在这两个核函数之
间必须设置同步栅。假定 kernelA包含6个一维线程块,每个线性块有32个线程,则调用
语句为kernelA<<<6,32>>>(params)。假定 kernelB包含6×4的二维线程块,每个
线程块包含8×3个线程,则调用语句为kernelB<<<(6,4),(8,3)>>>(params)。
CUDA程序的主机端代码与普通C语言程序相同,需要调用核函数时,主机端通过执
行CUDA的API函数来启动核函数,将设备端二进制代码传递给显卡。设备端二进制代
码主要包括网格的维度、线程块的维度、每个线程块使用的资源数量以及要运行的指令序
列。设备端根据这些信息将每个线程块的计算任务分配到相应的SM中。
计算任务的分配工作由专门的计算调度器(computer scheduler)完成,分配的单位是协
作线程阵列(collaborative thread arrays,CTA),它是线程块(block)对应的执行模型。因为
一个 block 中所有线程共享SM中的共享存储器,因此,一个CTA中的所有线程必须分配
到同一个 SM中,每个 CTA由若干 warp组成。一个 warp表示执行相同指令的一个并行
线程集合。它是分配在SM上的一个执行单位,CUDA将 warp的大小设置为32个线程,
因此,对于最多只能并发执行512个线程的SM来说,一个CTA最多可有16个 warp。
9.6本 章 小 结
根据Flynn分类法,并行处理计算系统有 SIMD和MIMD两种并行计算模式,其中,
SIMD是一种数据级并行模式,而MIMD是一种并行程度更高的线程级或以上的并行计算
模式。
MIMD系统可分为多处理器系统和多计算机系统。前者是共享存储多处理器系统的
简称,具有共享的单一地址空间,因此,每个处理器都可以通过load指令和store指令访问
系统中的存储器,也被称为共享存储系统;后者每个计算节点都具有各自私有的存储器,并
且各自具有独立的主存地址空间,通过消息传递方式进行数据传送,因此,也称为消息传递
系统。
多处理器系统有UMA、NUMA和CC-NUMA3类。UMA多处理器系统中,每个处
理器对所有存储单元的访问时间是均匀的,因此,UMA 多处理器就是对称多处理器
第9章
343
<!-- page: 361 -->
计算机组成与系统结构(第3版)
344
(SMP)。NUMA多处理器系统中共享的存储空间分布在不同的处理器节点上;处理器中
带有一致性高速缓存时被称为 CC-NUMA。
多个处理器核都要访问共享存储器,由于处理器核在执行程序中存在各种随机情况,从
而导致多个核的程序之间的访存顺序存在不确定性,因此,在多核处理器系统中必须确定存
储器一致性模型。3种代表性存储器模型是顺序一致性模型、宽松一致性模型和释放一致
性模型。
多计算机系统的典型代表是集群和网格。集群是采用局域网络连接的通过消息传递进
行通信的紧耦合多计算机系统。数据库系统、文件服务器、Web服务器等大型系统,都适合
采用集群系统。网格多计算机系统是利用互联网把分散在不同地理位置的多个异构的计算
机组成一台逻辑上的“虚拟超级计算机”。
SIMD称为数据级并行技术,主要通过 SIMD指令处理向量。向量计算机面向向量型
数据进行并行计算,在向量各分量上执行彼此无关、各自独立的数据。图形处理器GPU采
用了类似 SIMD的指令执行模式 SIMT,即单指令多线程模式。
针对不同特点的应用问题和不同的并行处理硬件结构,可以有不同的并行编程模型,主
要分为共享存储变量、消息传递、MapReduce 以及适合于 CPU+GPU的 CUDA 等几种编
程模型。
<!-- page: 362 -->
参 考 文 献
[1] PATTERSON D A,HENNESSY J L. Computer Organization and Design, Fifth Edition: The
Hardware/Software Interface[M]. San Francisco:Morgan Kaufmann Publishers Inc.,2013.
[2] BRYANT R E,O'HALLARON D R.深入理解计算机系统[M].龚奕利,贺莲,译.北京:机械工业出
版社,2016.
[3] 袁春风.计算机组成与系统结构[M].2版.北京:清华大学出版社,2015.
[4] 袁春风,余子濠.计算机系统基础[M].2版.北京:机械工业出版社,2018.
[5] PATTERSON D A,WATERMAN A.RISC-V手册[Z].包云岗,勾凌睿,黄成,等译.2018.
[6] WATERMAN A,ASANOVIC K.The RISC-V Instruction Set Manual Volume I:Unprivileged ISA
[Z]. 2019.
[7] WATERMAN A,ASANOVIC K.The RISC-V Instruction Set Manual Volume II:Privileged
Architecture[Z]. 2019.
[8] 胡振波.手把手教你设计CPU——RISC-V处理器篇[M].北京:人民邮电出版社,2018.
[9] STALLINGS W.计算机组成与体系结构性能设计[M].彭蔓蔓,吴强,任小西,等译.北京:机械工业
出版社,2011.
[10] TANENBAUM A S.现代操作系统[M].陈向群,马洪兵,译.北京:机械工业出版社,2009.
[11] PATTYN,PATELSJ.计算机系统概论[M].梁阿磊,蒋兴昌,林凌,译.北京:机械工业出版
社,2008.
[12] 黄宜华.深入理解大数据:大数据处理与编程实践[M].北京:机械工业出版社,2014.
[13] 张舒,褚艳利.GPU高性能运算之CUDA[M].北京:中国水利水电出版社,2009.
[14] 余子濠,刘志刚,李一苇,等.芯片敏捷开发实践:标签化RISC-V[J].计算机研究与发展,2019,56
(001):35-48.
<!-- page: 363 -->
图书资 源 支 持
感谢您一直以来对清华版图书的支持和爱护。为了配合本书的使用,本书
提供配套的资源,有需求的读者请扫描下方的“书圈”微信公众号二维码,在图
书专区下载,也可以拨打电话或发送电子邮件咨询。
如果您在使用本书的过程中遇到了什么问题,或者有相关图书出版计划,
也请您发邮件告诉我们,以便我们更好地为您服务。
我们的联系方式:
地 址:北京市海淀区双清路学研大厦A座714
邮 编:100084
电 话:010-83470236 010-83470237
客服邮箱:2301891038@qq.com
QQ:2301891038(请写明您的单位和姓名)
资源下载:关注公众号“书圈”下载配套资源。
资源下载、样书申请
图书案例
书圈
清华计算机学堂
观看课程直播
<!-- page: 364 -->
主 编 简 介
袁春风 南京大学计算机科学与技术系二级教授,中国计算机学会杰出教育奖和宝钢优秀教师
奖获得者,南京大学赵世良讲座教授。兼任中国开放指令生态(RISC-V)联盟人才发展组组
长、中国计算机学会体系结构专委会委员、江苏省计算机学会体系结构专委会副主任。主要研
究领域为大数据与并行处理技术、Web信息检索与文本挖掘技术等,在相关领域承担科研项目
50多项,发表科研论文100多篇,两次获江苏省科技进步二等奖,并获江苏省优秀软件一等
奖。先后主持国家级精品课程和国家级精品资源共享课“计算机组成原理”,主持的“计算机
系统基础”系列慕课中两门为国家级线上一流课程。出版《计算机组成与系统结构》及《计算
机组成与系统结构习题解答与教学指导》(“十二五”普通高等教育本科国家级规划教材,江苏省精品教材)、
《计算机系统基础》及《计算机系统基础习题解答与教学指导》(“十二五”江苏省重点建设教材,江苏省本科
培优教材)、《计算机组成与设计》(“十三五”江苏省重点建设教材)等计算机系统类教材;荣获国家级教学
成果二等奖、江苏省教学成果特等奖、江苏省优秀多媒体课件特等奖和江苏省网络课件大赛一等奖等。
本 书 特 色
本书集作者30多年相关课程教学之经验,汇国内外相关资料之精华,内容新颖、充实,结构清晰、完整,
文字通俗、简洁。本书既可作为“计算机组成原理”和“计算机组成与系统结构”等课程的教材,也可作为“计
算机组成原理实验”和“计算机系统结构”等课程的教学参考书。与国内外同类教材相比,本书主要特色如下。
● 强调软件和硬件的关联
将计算机组成和系统结构内容与程序设计、操作系统以吸编译器等软件内容有机结合,使读者能从
程序员角度深刻理解计算机组成和系统结构原理,以及硬件与软件的关系。
●细化流水线CPU设计内容
以MIPS体系为主线,建立高级语言→汇编语言→机器语言→CPU功能之间的转换关系,并以实际MPS
指令为目标,循序渐进地逐步细化流水线CPU设计内容。
●注重用实例图表阐述概念
用大量实例和图表详实阐述基本原理及其具体应用,使抽象的概念和内容易于理解和消化,并提
供形式多样、内容丰富的习题,用以进行课后练习。
● 提供丰富的教辅资源
教材配套网站提供了课堂电子教案、习题参考答案、动画视频以及其他各类丰富的教辅资料,以
帮助教师备课,辅助学生学习,并提供学习交流平台。
本书相关辅助教材及配套教学资源
《计算机组成与系统结构学习指导与习题解答(第3版)》(“十二五”普通高等教育本科国家级规划教材)
《计算机组成与系统结构(第3版)》电子教案(“十二五”普通高等教育本科国家级规划教材配套资源)
计算机组成与系统结构课程网站(“十二五”普通高等教育本科国家级规划教材配套资源)
文泉课堂
数字课程
作业系统
二 维 码
课件下载·样书申请
书 圈
清华大学出版社
官 方 微 信 号
1SBN 978-7-302-59988-3
917873021599883>
定价:65.00元