第五章重叠、流水和向量处理
计算机系统结构课程教学大纲
《计算机系统结构》课程教学大纲
一、课程性质与教学目的
《计算机系统结构》的教学对象为计算机应用专业的高年级本科生专业技术基础课程,目的是介绍计算机体系结构的概念、技术和最新动态,着重介绍软,硬件功能分配以及如何最佳、最合理地实现软、硬件功能分配。要求了解基本概念、基本原理、基本结构和基本分析方法。使学生对计算机系统结构、组成和实现有一个整体掌握。
二、基本要求
1.本课程的前续课程应为:计算机组成原理、汇编程序设计、高级语言程序设计、离散数学、数据结构、操作系统、编译原理等。
2.了解和掌握计算机的系统结构、组成和实现的相互关系、相互影响。
3.对计算机整体结构、软,硬件的功能分配和划分的理论及方法有一定的理解。
4.了解并行、体系方面的基本概念和技术,掌握系统结构中的一些分析方法
5.了解当前计算机系统结构的发展方向和主要的问题。
三、教学内容
1.计算机系统结构的基本概念
计算机系统结构、组成与实现、软硬取舍、并行性的发展及计算机系统的分类
2.指令与寻址
数据表示、寻址方式、指令系统的设计和改进
3.输入输出系统
总线设计、中断系统、通道处理机、外围处理机
4.存储体系
存储体系的形成与性能、虚拟存储器、高速缓冲存储器
5.重叠、流水和向量处理机
重叠解释方式、流水方式、流水线机器的相关处理和控制机构
6.多处理机
特点及主要技术问题、多处理机的硬件结构、程序并行性问题
四、学分及学时分配
学分:3
学时:总学时48 ,讲授学时48 ,实验(上机)学时0 ,建议学时分配如下:
五、主要教材及参考书:
教材:《计算机系统结构》--------- 李学干, 苏东庄编西安电子科技大学出版社
流水线技术-向量处理机
06
总结与展望
流水线技术-向量处理机的发展现状
硬件架构优化
随着计算需求的不断增长,向量 处理机的硬件架构也在不断优化,
以提高计Biblioteka Baidu性能和能效比。
并行计算能力提升
向量处理机通过并行计算技术,实 现了大规模数据的快速处理和计算 能力的提升。
软件生态建设
为了更好地支持向量处理机的应用, 需要构建完善的软件生态,包括编 译器、开发工具、应用软件等。
当两个或多个指令同时访问同一数据 时,会发生数据冲突。可以通过使用 互斥量、信号量或锁等机制来解决数 据冲突。
控制冲突
当两个或多个指令同时修改程序的控 制流时,会发生控制冲突。可以通过 使用条件语句、开关语句或异常处理 等方式来解决控制冲突。
04
向量处理机的性能优化
向量优化算法
向量化算法
将串行算法转换为向量算法,利用向量处理机的并行性,提高计算效率。
向量点乘
计算两个向量的点乘,得到一个标量值。
向量外积
计算两个向量的外积,得到一个新的向量。
向量存储器
寄存器
用于存储向量运算过程中的中间结果。
缓存
用于存储向量数据,提高数据访问速度。
内存
用于存储大规模的向量数据。
向量指令
01
加载指令
用于从存储器中加载向量数据到寄 存器。
计算机系统结构简答题
第 1 章系统结构的基本概念
1、为什么将计算机系统看成是多级机器构成的层次结构?P2
2、从机器(汇编)语言程序员的角度来看,以下哪些是不透明的?为什么?
条件码寄存器、磁盘外设、先行进位链、中断寄存器、移位器、I/O端口寄存器
3、就目前通用机来说,计算机系统结构的属性主要包括哪些(03.7)?P3
4、设计指令系统时,以乘法运算为例,简述系统结构设计、计算机组成设计、计算机实现
各应考虑的问题(09.4)。P4
5、简述在设计主存系统时,计算机系统结构、计算机组成、计算机实现各需要考虑的问题
(08.7)。P4
6、简述计算机系统结构、组成和实现三者的相互关系(03.4)。
7、计算机系统结构用软件实现和硬件实现各自的优缺点?P7
8、简述软硬件功能分配的基本原则(06.7)。P8
9、简述计算机系统“由中间开始”设计的基本思想(05.4)其“中间”指的是什么地方?这样设计
的优点是什么(05.7) (07.7)?
10、试述由上往下、由下往上设计思路和存在的问题?P9
11、什么是软件的可移植性(03.7)?为什么要进行软件移植?P10
12、简述采用统一高级语言方法、适用场合、存在问题和应采取的策略。
13、简述统一高级语言的出发点、难点和发展前景(04.4)。
14、采用系列机方法、适用场合、好处、存在问题和应采取的策略P11
15、采用模拟与仿真方法、适用场合、好处、存在问题和应采取的策略。
16、模拟与仿真的主要区别和适合场合是什么(02.4)?
17、软件移植的途径,各受什么限制(08.4)?P14
18、器件的发展对逻辑设计方法的影响(06.4)。P17
计算机系统结构第五章
提高流水线吞吐率需寻找并消除瓶颈。一般有两种方
法。
S
S4 1 2 3 4
S3 1 2 3 4
S2 1 2 3 4
S1 1 2 3 4
t
•瓶颈段细分
∆t ∆t ∆t ∆t ∆t ∆t
•重复设置瓶颈段
∆t ∆t ∆t
3∆t
时空图如下:
S
S4 1 2 3 4 5 6 7 8 9 10
(2)优化编译,重新排序和调度指令序列,以消除空泡。
指令流水线有按序流动和非按序流动之分,由此数据相
关除了RAW,还有WAR和WAW,共三种类形。例如,有i和
同一功能部件所发生的冲突。例如:
时钟1 2 3 4 5 6 7 8
指令LOAD IF ID EXMEMWB
指令I+1 IF ID EX MEM WB
指令I+2 IF ID EX MEM WB
指令I+3IFID EX MEM WB
访存冲突
解决冲突的办法:停顿一拍流水线。
指令LOAD IF ID EX MEM WB
破坏顺序性,主要有以下几种情况:
1.转移指令
不转移:PC = K0+ K1T
转移:控制流发生间断,以目标地址为起始点,
再顺序流动。
Pc pc
转移指令
Pc=k0+k1
系统结构第5章
纵向处理方式
适合于
结构的处理方式。 结构的处理方式。
3
3、纵横处理方式 对向量分组(n个元素) 组内纵向处理、组间横向处理。 (n个元素 对向量分组(n个元素),组内纵向处理、组间横向处理。 特点:产生N/n次相关、N/n次功能变换; 特点:产生N/n次相关、N/n次功能变换; N/n次相关 次功能变换 很适合于REG REG型结构的处理方式 REG型结构的处理方式。 很适合于REG-REG型结构的处理方式。
2
一、向量处理方式
以向量操作D=A×(B+C)为例。 以向量操作D=A×(B+C)为例。 D=A 为例 1、横向处理方式 循环处理d 循环处理di=ai×(bi+ci)。 特点:产生N次相关、2N次功能变换 不宜用于向量处理。 次功能变换; 特点:产生N次相关、2N次功能变换;不宜用于向量处理。 2、纵向处理方式 循环处理e 再循环处理d 循环处理ei=bi+ci,再循环处理di=ai×ei。 特点:产生1次相关、 次功能变换,适合用于向量处理。 特点:产生1次相关、1次功能变换,适合用于向量处理。 思考:针对不同的N 硬件可采用哪些结构实现? 思考:针对不同的N,硬件可采用哪些结构实现?
存 储 系 统 向量 组 处理
:
向量
元素个 n
4
二、向量指令
1、 R-R型的向量指令类型 、 型的向量指令类型 向量-向量类:ViΔVj→Vk或 ①向量-向量类:ViΔVj→Vk或ΔVj→Vk
计算机系统结构课后习题答案(第2版)
计算机系统结构课后习题答案(第2版)
习题⼀
1、解释下列术语
计算机系统的外特性:通常所讲的计算机系统结构的外特性是指机器语⾔程序员或编译程序编写者所看到的外特性,即由他们所看到的计算机的基本属性(概念性结构和功能特性)。
计算机系统的内特性:计算机系统的设计⼈员所看到的基本属性,本质上是为了将有关软件⼈员的基本属性加以逻辑实现的基本属性。
模拟:模拟⽅法是指⽤软件⽅法在⼀台现有的计算机上实现另⼀台计算机的指令系统。
可移植性:在新型号机出台后,原来开发的软件仍能继续在升级换代的新型号机器上使⽤,这就要求软件具有可兼容性,即可移植性。可兼容性是指⼀个软件可不经修改或只需少量修改,便可由⼀台机器移植到另⼀台机器上运⾏,即同⼀软件可应⽤于不同环境。
Amdahl定律:系统中对于某⼀部件采⽤某种更快的执⾏⽅式所能获得的系统性能改进程度,取决于这种执⾏⽅式被使⽤的频度或占总执⾏时间的⽐例。
虚拟机(Virtual Machine):指通过软件模拟的具有完整硬件系统功能的、运⾏在⼀个完全隔离环境中的完整计算机系统。
6、
7、假定求浮点数平⽅根的操作在某台机器上的⼀个基准测试程序中占总执⾏时间的20%,为了增强该操作的性能,可采⽤两种不同的⽅法:⼀种是增加专门的硬件,可使求浮点数平⽅根操作的速度提⾼为原来的20倍;另⼀种⽅法是提⾼所有浮点运算指令的速度,使其为原来的2倍,⽽浮点运算指令的执⾏时间在总执⾏时间中占30%。试⽐较这两种⽅法哪⼀种更好些。答:增加硬件的⽅法的加速⽐Sp1=1.23, 另⼀种⽅法的加速⽐Sp2=
提高“计算机系统结构”课程授课质量初探
有不少往届的学生反映 , 从一开始学习 “ 系统结构”就处于混沌的状态 ,在枯燥 的学习中度 过一学期后 ,还是不清楚这门课讲 了些什么, 自己学了什么。之所以会这样 ,从我们教学的实践
来看 。原因在于学生不清楚 “ 系统结构”的课程结构 ,没有 明确的学习目标。 计算机系统按功能分为存储 、传输和处理三大块 ,存储 的设计 目标就是提供一个大的存储空 间;处理的设计 目标是采取各种措施来提高运算的速度;传输的设计 目标是为信息准确地找到 目 的地 ,并保证传输过程的安全性 。学生需要从一开始就 明确每一部分 的设计 目 ,并把这样的思 标 想贯穿在知识点 的学习中。例如 ,在学习流水线结构原理部分时 ,明确加快指令 的解释是计算机 采用流水线结构 的基本任务 , 以这部分的学习就围绕着如何加快指令的解释进行。 所 学习 “ 系统结构” ,应该把握这门课程的特点 ,即从分析 、评测 的角度学习计算 机系统结构 的设计 和实现 ,对计算机 的结构不仅知其然 ,还需知其所 以然。在 “ 系统结构”课程教学时 ,需 要始终强调这一点。以处理流水线的数据相关为例 ,处理主存空间数相关采用 “ 推后法” ,而处 理通用寄存器组相关采用 了增加硬件的方法— 设置 “ 相关专用通路” 。后者采用增加硬件提高 了指令解释的速度 ,而前者以牺牲速度为代价 ,并未增加硬件 ,这是为什么呢?上课时我们让学 生利用学过的知识来解释。经过大家热烈讨论之后 ,明白了通用寄存器组相关 的概率很大,属于 “ 经常性事件” ;而主存空间数 相关发生的概率小 ,不属 于 “ 经常性事件” ,根据 A dh 定律, m al 应该 “ 加快经常性事件” 。这样 ,学生在学 习时知其所 以然 ,对 问题理解了 ,知识掌握很牢固; 另一方面 ,也有利于培养他们发现 问题 、分析问题 、解决问题的能力。
第05章-流水线课后习题
第5章课后习题
1.填空题
(1) 衡量流水线性能的主要指标有
(2) 指令乱序流动可能造成
(3) 解决数据相关主要有
(4) 超标量处理机开发的是
行性。
(1). 吞吐率、加速比、效率
(2). 先写后读、先读后写、写写
(3). 推后分析、设置专用路径
(4). 空间、时间
2.假设一条指令的执行过程分为"取指令"、"分析"和"执行"三段,每一段的时间分别为△t、2△t和3△t。在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。
(1) 顺序执行方式。
(2) 仅"取指令"和"执行"重叠。
(3) "取指令"、"分析"和"执行"重叠。
第2题
(1) 顺序执行时每条指令用时=△t+2△t+3△t=6△t,
因此n条指令所需要的时间=6n*△t
(2) 第一条指令完成需要时间=△t+2△t+3△t=6△t,根据题义,下一条指令的"取指令"与上一条指令"执行"的最后一个△t重叠。因此,自从第一条指令完成后,每隔4△t完成一条指令。所以余下的n-1条指令用时(n-1)*4△t.
所以,n条指令所需要的时间=6△t+(n-1)*4△t=2(2n+1)△t。
(3) 第一条指令完成需要时间=△t+2△t+3△t=6△t,由于一条指令的"取指令"和"分析"阶段和下一条指令的"执行"阶段重叠,因此,此后每3△t 完成一条指令,余下的n-1条指令用时(n-1)*3△t.
因此n条指令所需要的时间=6△t+(n-1)*3△t=3(n+1)△t
3.用一条5个功能段的浮点加法器流水线计算F=。每个功能段的延迟时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。要求用尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。
计算机体系结构学习指导
计算机体系结构学习指导
《计算机体系结构》学习指导
温东新
课程名称:计算机体系结构
英⽂名称:COMPUTER ARCHITECTURE
开课院系:远程教育学院
开课学时:50
学分:3
授课对象:远程教育学院专升本计算机科学与技术专业学⽣
⼀、教学⽬的与课程性质、任务。
教学⽬的:通过本课程的学习,能够帮助学⽣建⽴计算机系统的整体概念,树⽴按最合理的软硬件功能分配原则去设计开发计算机系统的思想,为今后学习并⾏计算机系统结构打下基础。
计算机体系结构课程是计算机科学与技术专业本科教学中⼀门重要的技术专业课。
计算机体系结构课程学习的主要任务是计算机体系结构的基本概念,基本原理,基本结构和基本分析⽅法,还应该清楚认识到涉及操作系统,程序语⾔及其编译,数据结构等内容与计算机体系结构的相互影响和相互促进。
⼆、教学要求
该课程开设位于整个本科教学的后期,课程的教学不仅讲授计算机体系结构的基本概念,基本原理,基本结构,和基本分析⽅法,还要在教学过程中将原学习过的专业课结合起来,例如操作系统,程序设计语⾔及其编译,数据结构等内容与本课程结合起来,使学⽣清楚它们与计算机体系结构的相互影响和相互作⽤。
在教学环节上,对学⽣的学习提出“掌握”和“了解”两个层次上要求,所谓“掌握”,是指学⽣在课后,必须能将所学内容⾃⼰理解并解决实际问题,这是将所
学知识熟练应⽤到实践中的基础。所谓“了解”,是要求学⽣对所学内容有初步的认知,在遇到相关问题时要求能够辨识。教学以课堂讲授为主,辅之以POWERPOINT⽅式。
三、教学进度表
四、教学内容与讲授⽅法
教学大纲-东南大学计算机科学与工程学院
教学大纲
课程名称计算机系统结构
课程负责人任国林
学时48
学分 3
开课院系计算机科学与工程系制订日期1999年
东南大学
课程基本情况
课程学时分配表
课内外学时比:1:
2.5
计算机系统结构 复习要点
计算机系统结构:
第一章基本概念
填空题、选择题复习:
1、从使用语言角度,系统按功能划分层次结构由低到高分别为:微程序机器M0、传统机
器M1、操作系统机器M2、汇编语言机器M3、高级语言机器M4、应用语言机器M5.
2、计算机系统的设计思路:“从中间开始”设计的“中间”是指层次结构中的软硬件交界
面,目前多数在传统机器语言机器级与操作系统机器级之间。
3、翻译与解释的区别与联系:区别:翻译是整个程序转换,解释是低级机器的一串语句仿
真高级机器的一条语句;联系:都是高级机器程序在低级机器上执行的必须步骤。
4、模拟与仿真的区别:模拟:用机器语言解释实现软件移植的方法,解释的语言存在主存
中;仿真用微程序解释,存储在控制存储器中。
5、解决好软件的可移植性方法有统一高级语言、采用系列机、模拟与仿真。
6、系列机必须保证向后兼容,力争向上兼容。
7、非用户片也称通用片,其功能是由器件厂生产时定死的,器件的用户只能用,不能改;
现场片,用户根据需要改变器件内部功能;用户片是专门按用户的要求生产高集成度VLSI器件,完全按用户的要求设计的用户片称为全用户片。一般同一系列内各档机器可分别用通用片、现场片或用户片实现。
8、计算机应用可归纳为向上升级的4类:数据处理、信息处理、知识处理、智能处理。
9、并行性开发的途径有:时间重叠、资源重复和资源共享。
10、并行性是指:同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作,并行性包含同时性和并发性二重含义。
11、科学计算中的重大挑战性课题往往要求计算机系统能有1TFLOPS的计算能力、1TBYTE 的主存容量、1TBYTE/S的I/O带宽。
第五章-标量处理机与流水线
第五章-标量处理机与流⽔线
第五章标量处理机与流⽔线
选择题25,简答题10,演算题15
1 选择题
★
1.假设⼀条指令的执⾏过程可以分为“取指令”、“分析”和“执⾏”三段,每
⼀段的执⾏时间分别为t?、t?
3,顺序执⾏n条指令⾄少需要花费的
2和t?
时间为:
A. t
3
n?
B. t
2
n?
C. t
n?
6
D. t
n?
答案:C
★★
2.假设⼀条指令的执⾏过程可以分为“取指令”、“分析”和“执⾏”三段,每
⼀段的执⾏时间均为t?,连续执⾏n条指令所需要花费的最短时间约为(假设仅有“取指令”和“执⾏”可重叠并假设n⾜够⼤):A. t
3
n?
B. t
2
n?
3
C. t
n?
2
答案B
3.假设⼀条指令的执⾏过程可以分为“取指令”、“分析”和“执⾏”三段,每
⼀段的执⾏时间均为t?,连续执⾏n条指令所需要花费的最短时间约为(假设仅有“取指令”和“分析”可重叠并假设n⾜够⼤):A. t
3
n?
B. t
2
n?
3
C. t
n?
2
D. t
n?
答案B
★★
4.假设⼀条指令的执⾏过程可以分为“取指令”、“分析”和“执⾏”三段,每
⼀段的执⾏时间分别为t?、t?
3,连续执⾏n条指令所需要花费的最
2和t?
短时间约为(假设仅有“取指令”和“执⾏:”可重叠并假设n⾜够⼤):
A. t
6
n?
B. t
5
n?
C. t
3
n?
D. t
n?
5.假设⼀条指令的执⾏过程可以分为“取指令”、“分析”和“执⾏”三段,每
⼀段分别只有⼀个部件可供使⽤并且执⾏时间分别为t?、t?
3,连续
2和t?执⾏n条指令所需要花费的最短时间约为(假设“取指令”、“分析”和“执⾏”可重叠并假设n⾜够⼤):A. t
5第五章数据处理及矢量数据的叠置分析
信阳师范学院城市与环境科学系
张兴国
xingguozhang@tom.com
1.2 栅格数据裁切(2)
目的:Extracts the cells of a raster that correspond with 2 利 用 已 有 数 据 裁 切
the areas defined by a mask.
信阳师范学院城市与环境科学系
张兴国
xingguozhang@tom.com
1、图层擦除(Erase)
Creates a feature class by overlaying the Input Features with the polygons of the Erase Features. Only those portions of the Input Features falling outside the Erase Features outside boundaries are copied to the Output Feature Class.
信阳师范学院城市与环境科学系
张兴国
xingguozhang@tom.com
4、对称区别(Symmetrical Difference)
X属于(A∪B-A∩B)
信阳师范学院城市与环境科学系
张兴国
xingguozhang@tom.com
计算机系统结构课件:第五章 并行处理技术
PU63
PU0
PU0
PU1
PU7
将PU63传送到PU10,最快可经
PU63→PU7→PU8→PU9→PU10。
分布存贮器阵列处理机结构
CU CUM
SC
I/O
D
接口
PEM0 PEM1
PE0
PE1
ICN
PEMN-1 PEN-1
计算机系统结构
Computer Architecture
第五章 并行处理机和多处理机
ILLIAC-IV 结构 (分布存贮器并行处理机结构)
•处理单元阵列
由64个结构完全相同的处理单元PEi 构成,每个处理单元PEi字长 64位,PEMi为隶属于PEi的局部存储器,每个存储器有2K字,全部 PEi由CU统一管理,PEi都有一根方式位线,用来向CU传送每个PEi 的方式寄存器D中的方式位,使CU能了解各PEi的状态是否活动,作 为控制它们工作的依据。
N=64时,最多步数为7。在每次数据传送操作时由软件算出最短路径。
计算机系统结构
Computer Architecture
第五章 并行处理机和多处理机
ILLIAC-IV的处理单元互连图
PU56
PU57
PU58
PU63
PU0
PU1
PU7
PU8
PU7
PU8
PU9
第五章中央处理器56CPU实例
5.6.1 并行处理技术
5.6.5 多媒体CPU
• ARM本质上并不是一种芯片,而是一种芯片结 构技术,不涉及到芯片生产工艺。 • 授权生产ARM结构芯片的公司采用不同的半导 体技术,面对不同的应用进行扩展和集成,标 有不同系列号。
• ARM是一种可扩展,可移植、可集成的处理器。 –ARM内核有四个功能模块可供生产厂商根据 不同用户的要求来配置生产。 –ARM7TDMI-S给用户预留出功能扩展接口。
5.6 CPU实例
5.6.2 流水计算机的系统组成
2. 流水CPU的时空图 计算机的流水处理过程非常类似于工厂中的流水装 配线。为了实现流水,首先把输入的任务(或过程)分割为 一系列子任务,并使各子任务能在流水线的各个阶段并发 地执行。当任务连续不断地输入流水线时,在流水线的输 出端便连续不断地吐出执行结果,从而实现了子任务级的 并行性。 下面通过时空图来证明这明这个结论。
5.6.5 多媒体CPU
• 英国ARM 公司是全球领先的16/32 位嵌入式 RISC 微处理器解决方案的供应商,向全球各 大领先电子公司提供高性能、低成本和高效率 的RISC 处理器、外设和系统芯片技术授权。 ARM 还为开发完整系统提供综合技术支持。 ARM 的微处理器核技术广泛用于便携式通信 产品、手持运算、多媒体和嵌入式解决方案等 领域,已成为RISC 标准。
第6章 阵列处理机
2011年12月25日星期日
计算机系统结构
4
⑴ 分布式存储器的阵列构形
控制部件CU:整个系统在CU控制下运行用户 控制部件CU:整个系统在CU控制下运行用户 CU:整个系统在CU 程序和部分系统程序的。 程序和部分系统程序的。所有指令都在控制部 件中进行译码, 件中进行译码,把只适合串行处理的标量或控 制类指令留给控制部件CU自己执行. CU自己执行 制类指令留给控制部件CU自己执行. 各处理单元:有局部存储器PEM存放被分布 各处理单元:有局部存储器PEM存放被分布 PEM 的数据,只能在本处理单元直接访问。 的数据,只能在本处理单元直接访问。把适合 并行处理的向量类指令“播送”给各个PE PE, 并行处理的向量类指令“播送”给各个PE,控 制那些活跃的PE并行执行。 PE并行执行 制那些活跃的PE并行执行。
2011年12月25日星期日
计算机系统结构
21
2011年12月25日星期日
计算机系统结构
22
2011年12月25日星期日
计算机系统结构
23
SISD计算机上求解 可执行FORTRAN 计算机上求解, FORTRAN语言编写的 在SISD计算机上求解,可执行FORTRAN语言编写的 下列程序: 下列程序: I=0,7 DO 10 I=0,7 J=0,7 DO 10 J=0,7 C(I,J)=0 C(I,J)=0 DO 10 K=0 10 C(I,J)=C(I,J)+A(I,K)*B(K,J) 需经I 三重循环完成。每重循环执行8 需经I、J、K三重循环完成。每重循环执行8次, 共需512次乘、加的时间, 512次乘 共需512次乘、加的时间,且每次还要包括执行循环 控制判别等其它操作所需的时间。 控制判别等其它操作所需的时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)执行/有效地址计算周期(EX) 在这个周期,不同的指令有不同的操作。
◆ 存储器访问
ALUOutput ← A+Imm ◆ 寄存器―寄存器 ALU 操作 ALUOutput ← A op B ◆ 寄存器―立即值 ALU 操作 ALUOutput ← A op Imm ◆ 分支操作 ALUOutput ← NPC+Imm Cond ← (A op 0)
0.22 0.31 0.46 0.62 0.07 0.33
1.39 1.20 0.59 0.75 0.84 0.95
0.22 0.15 0.12 0.17 0.26 0.18
总平均
2.00
0.10
0.36
0.46
0.09
5.1
流水线的基本概念
5.1.1 基本概念
1. 产品生产流水线
下面通过一个例子来说明流水线的好处:
Regs[IR16 ..20] ← ALUOutput ◆ 寄存器―立即值型 ALU 指令 Regs[IR11 ..15] ← ALUOutput
图示 图示
◆ Load 指令
Regs[IR11 ..15] ← LMD
实现特点:不同的时钟周期之间的数据传递通过记
忆装置来实现,这种记忆装置可以分外部可见与不 可见两类,外部可见记忆装置包括存储器、通用寄 存器、PC等,用于在指令之间传递数据;外部不可 见记忆装置为一些临时寄存器,包括LMD、Imm、A、
A D E M N R S U
功能部件
浮点加法器 浮点除法器 浮点乘法器 浮点乘法器 浮点乘法器 浮点加法器 浮点加法器
描
述
尾数加流水段 除法流水段 例外测试段 乘法器第一个流水段 乘法器第二个流水段 舍入段 操作数移位段 展开浮点数
浮点指令
延 迟
初始化间 隔 3
4 35 111 1 1
使用的流水段
(2)指令译码/读寄存器周期(ID) 操作码译码 A ← Regs[IR6 ..10] B ← Regs[IR11 ..15] Imm ← (IR16)16 ## IR16 ..31
指令译码和读寄存器是并行进行的。之所
以能做到这一点,是因为在DLX指令格式中, 操作码在固定位置。这种技术也称为固定字段 译码。
以上的处理机串行地对同一数据流进行处理, 每个处理机完成一项任务。
4.按照数据表示来分
◆ 标量处理机:不具有向量指令和向量数据表示,
仅对标量进行流水处理的处理机。 例如:IBM360/91, Amdahl 470V/6 等 ◆ 向量处理机:具有向量指令和向量数据表示的 处理机。 例如:TI ASC, CRAY-I 等
流 水 段
IF
分 支 指 令 操 作
IF/ID.IR ← Mem[PC]; IF/ID.NPC,PC ← (if ID/EX.cond {ID/EX.NPC} else {PC+4}); ID/EX.A ← Regs[IF/ID.IR6..10]; ID/EX.B ← Regs[IF/ID.IR11..15]; ID/EX.NPC ← IF/ID.NPC + (IR16)16##IR16..31; ID/EX.IR ← IF/ID.IR; ID/EX.cond ← (Regs[IF/ID.IR6..10] op 0; ID/EX.Imm ← (IR16)16##IR16..31;
看,由于4道工序在同时进行,处理速度提高4倍。
指令流水线: 把指令的解释过程分解为“分析”和“执行” 两个子过程,并让这两个子过程分别用独立的分 析部件和执行部件来实现。 理想情况:速度提高一倍
指令流水线:
浮点加法流水线 把浮点加法的全过程分解为“求阶差”、“对 阶”、“尾数相加”、“规格化”四个子过程,并让 它们分别用各自独立的部件来实现。 理想情况:速度提高3倍
从失败处调度
的指令不会导致错误。
分支失败时
表 3.7 各种减少分支损失方法的效果
调度方法
每条条件分支指 令的分支损失 整 型 浮点 平 均 平均 1.00 1.00 1.00 1.00 0.70 0.35 每条无条 件分支指 令的损失 1.00 1.00 1.00 0.00
每条分支指令的 平均分支损失 整 型 浮点 平 均 平均
5.2
DLX的基本流水线
5.2.1 DLX的一种简单实现 非流水线实现 最多用5个时钟周期来实现一条指令: (1) (2) (3) (4) (5) 取指令周期(IF,Instruction Fetch) 指令译码/读寄存器周期(ID,Instruction Decode) 执行/有效地址计算周期(EX,Execution) 存储器访问/分支完成周期(MEM,Memory Access) 写回周期(WB,Write Back)
0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00
doduc mdljdp2 ear hydro2d su2cor 浮点平均
2.84 2.66 2.17 2.53 2.18 2.48
0.01 0.01 0.00 0.00 0.02 0.01
工序 1 工具 1
工序 2 工具 2
工序 3 工具 3
工序 4 工具 4
另一种方案:
工序 1 工具 1 工序 2 工具 2 工序 3 工具 3 工序 4 工具 4
流水线生产过程的抽象描述:
这种流水工作方式的主要特点:
每件产品还是要经过4道工序处理,从单件产品角 度来看,加工时间并没有改变,但从多件产品角度来
◆ 存储器访问
LMD ← Mem[ALUOutput] 或 Mem [ALUOutput] ← B ◆ 计算下一条指令地址 if(cond)PC ← ALUOutput else PC ← NPC (5)写回周期(WB) 不同指令在该周期完成的工作也不一样。
◆ 寄存器―寄存器型 ALU 指令
图示
图示
加、减
乘 除 求平方根 取反 求绝对值
4
8 36 112 2 2
U,S+A,A+R,R+S
U,E+M,M,M,M,N,N+A,R 28 U,A,R,D ,D+A,D+R,D+A,D+R,A,R U,E,(A+R) 108 ,A,R
U,S U,S
浮点比较
3
2
U,A,R
基准程序
流水线CPI
载入暂停时钟周 期数
B、IR、NPC、ALUOutput以及Cond,用于在一条指
浮点加法流水线
时-空图: 时-空图从时间和空间两个方面描述了流水 线的工作过程。时-空图中,横坐标代表时间, 纵坐标代表流水线的各个段。
流水技术 流水技术是指:将一个重复的时序过程分解 成为若干个子过程,而每个子过程都可有效地在 其专用功能段上与其他子过程同时执行。 流水技术的特点 (1) 流水过程由多个相联系的子过程组成,每个 子过程称为流水线的“级”或“段”。“段” 的数 目称为流水线的“深度”。 (2) 每个子过程由专用的功能段实现;
5.1.2 流水线的分类 1.按功能的多少来分
◆ 单功能流水线:只能完成一种固定功能的
流水线。 ◆ 多功能流水线:流水线的各段可以进行不同的 连接,从而实现不同的功能。 例如:TI ASC 的多功能流水线
2.按同一时间内各段之间的连接方式来分
◆ 静态流水线:在同一时刻,流水线的各段只能
按同一种功能的连接方式工作。
分支暂停时钟周 期数
浮点结果暂停时 钟周期数
浮点结构性暂停 时钟周期数
compress eqntott espresso gcc li 整数平均
1.20 1.88 1.42 1.56 1.64 1.54
0.14 0.27 0.07 0.13 0.18 0.16
0.06 0.61 0.35 0.43 0.46 0.38
图示 图示 图示
图示
上述四种操作都要用到ALU,它们能放在同一个时钟 周期中完成的原因: 因为在 DLX 指令集结构中,没有任何指令需要 同时计算数据的存储器地址、计算分支指令的目标地 址和进行ALU数据运算,也即这样做是由 DLX指令集 结构本身的特点所允许的。
(4)存储器访问/分支完成周期(MEM)
工序 1 工具 1 工序 2 工具 2 工序 3 工具 3 工序 4 工具 4
一种方案:
工序 1 工具 1 工序 2 工具 2 工序 3 工具 3 工序 4 工具 4
工序 1 工具 1
工序 2 工具 2
工序 3 工具 3
工序 4 工具 4
工序 1 工具 1
工序 2 工具 2
工序 3 工具 3
工序 4 工具 4
5. 按照是否有反馈回路来分
◆ 线性流水线:
流水线中的各段串行连接,没 有反馈回路。 ◆ 非线性流水线:流水线中的各段除有串行连接 外,还有反馈回路。
6. 按照流动是否可以乱序来分 ◆ 顺序流动流水线:流水线输出端任务流出的顺 序与输入端任务流入的顺序相同。 ◆ 异步流动流水线(乱序流水线):流水线输出 端任务流出的顺序与输入端任务流入的顺序 不同。 例如:动态流水线
第 5章
重叠、流水和向量处理机
流水线技术是提高CPU性能和运算部
件性能的一类主要技术,也是现代计算
机系统设计中的一项关键技术。 即现代CPU设计的关键是高性能的流 水பைடு நூலகம்。
表 3.6 改进后流水线的分支操作
(3) 各个功能段所需时间应尽量相等,否则,时间长 的功能段将成为流水线的瓶颈,会造成流水线的 “堵塞”和“断流”。这个时间一般为一个时钟 周期 (拍); (4) 流水线需要有“通过时间”(第一个任务流出结果 所 需的时间),在此之后流水过程才进入稳定工作状 (5) 态,每一个时钟周期(拍)流出一个结果; 流水技术适合于大量重复的时序过程,只有输入 端能连续地提供任务,流水线的效率才能充分发 挥。
在静态流水线中,只有当输入是一串相同 的运算操作时,流水的效率才能得到发挥。
◆ 动态流水线:在同一时刻,流水线的各段可以
按不同功能的连接方式工作。 这样就不是非得相同运算的一串操作才能 流水处理。
优点:能提高流水线的效率 缺点:会使流水线的控制变得复杂
3.按照流水线的级别来分
◆ 部件级流水线(运算操作流水线):它是把
ID
EX
MEM WB
从前调度 ADD R1,R2,R3 if R2=0 then 延迟槽
从目标处调度 SUB R4,R5,R6 ADD R1,R2,R3 if R1=0 then 延迟槽
从失败处调度 ADD R1,R2,R3 if R1=0 then 延迟槽 SUB R4,R5,R6
SUB R4,R5,R6 if R2=0 then ADD R1,R2,R3 ADD R1,R2,R3 if R1=0 then SUB R4,R5,R6
处理机的算术逻辑部件分段,以便为各种数 据类型进行流水操作。
◆ 处理机级流水线(指令流水线):它是把指
令的解释执行过程按照流水方式进行处理。
例如,前面把指令解释过程分解为:
分析和执行。 DLX的基本流水线把指令解释过程分解为:
取指令、指令译码、执行、访存、写回。
◆ 处理机间流水线(宏流水线):它是指由两个
定义: ADD: 加法器 PC: 指令计数器 NPC: 下一条顺序指令计数器 IR: 指令寄存器 A、B: 操作数临时寄存器 Imm: 立即数临时寄存器 Cond: 条件值寄存器 MUX: 多路开关 ALU: 运算器 ALU Output:运算器输出寄存器 LMD: 存储器数据读取寄存器
时钟周期说明: (1) 取指令周期(IF) IR ← Mem[PC] NPC ← PC+4
1.00 1.00 0.69 0.21 1.00 1.00 0.74 0.30
因分支暂停造 成的实际 CPI 整 型 浮点 平 均 平均 1.17 1.17 1.12 1.04 1.15 1.15 1.11 1.04
暂停流水线 预测分支成功 预测分支失败
0.62
0.25
延迟分支
流水段
ADD R1,R2,R3 if R1=0 then SUB R4,R5,R6
三种方法的要求及效果
调 度 策 略 从 前 调 度 对调度的要求 被调度的指令必须与分支无关 什么情况下起作用?
任何情况
必须保证在分支失败时执行被调度
从目标处调度
分支成功时 的指令不会导致错误。有可能需要 (但由于复制指令,有 可能会增大程序空间) 复制指令。 必须保证在分支成功时执行被调度