体系结构第4章 第5讲
计算机操作系统课件(第四版)第四五章
000
子1
.
. 子1
01000 主
逻辑30(0 相对)地址.——子2装入(汇编子编1译) 1200
被00链0 接子2装配逻(辑或地址汇装编入、模块编译)后子的2 目标模块
所40限0 定的地址的集合;
02200
相对地址
源相程序对/单于个目某标个模块基准量(通常为:0)的编址。 物理地址 内存
8
3、重定位的概念
第四章 存储器管理
4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配存储管理方式 4.4 对换 4.5 分页存储管理方式 4.5 分段存储管理方式
1
4.1 存储器的层次结构
4.1.1 多级存储器结构 4.1.2 主存储器与寄存器 4.1.3 高速缓存和磁盘缓存
2
4.1.1 多级存储器结构
重定位
000概 修0 念 改: 过在 程装称入为时重对定目位标。程100序00中指令和数据的 100即0 ,LO逻AD 辑1,25地00址变换为物理110地00址LLO的OAADD过11,,程122550。000
重定位的类型
装入
2500
静态36重5 定位:地址变换125是00 在装入365时一次完
2 3 4
第 第页34号页页P
例如:
第5页 第6页
31
位移量W
2K-1
物理块号P
2K-1
12 11
页内地址5 d 6 7 80
页号P
位移量(页内地址)1W90
11
每页大小为4KB,地址空间最多允许有1M页
34
页号用户P作和业页内地址d的页计表 算公式
内存
P=第IN0页T [A/L] d=第[A1页] MOD L
计算机系统结构第四章ppt课件
主存地址空间中的页称为实页
精品课件
27
一个主存地址A由两部分组成,实页号p和页内偏移d。
一个虚地址Av由三部分组成,程序号U、虚页号P和页 内偏移D。
用户号U
虚页号P 页内偏移D 多用户虚拟地址Av的组成
实页号p 页内偏移d 主存地址A的组成
精品课件
28
0页 1页 2页 3页 用户程序
34
①全相联映像:
每道程序的任何虚页可以映像装入到任何实页位置
主存
页面位置0 1 2
. . . 2ny-1
全相联映像
虚存
1 2
. . .
2ny’-1
每道程序任何 虚页可映像到 任何实页位置
精品课件
35
②目录表:用一个小容量高速存贮器存放页表
地址变换过程:把某用户虚地址中U与P拼接起来,相联 访问目录表。读出主存实页号p,把p与多用户虚地址中 的D拼接得到主存实地址。如果相联访问失败,发出页面 失效请求。
13主要由软件实现硬件为辅cache主存与主存辅存层次的区别几百到几千个字节存储层次cpu对第二级的访问方式比较项目存储管理实现访问速度的比值第一级和第二级典型的块页大小失效时cpu是否切换cache主存层次主存辅存层次为了弥补主存速度的不足为了弥补主存容量的不足主要由专用硬件实现几比一几百比一几十个字节可直接访问均通过第一级不切换切换到其他进程主要由专用软件实现几百到几千个字节144
第四章 存 贮 体 系
4.1存贮体系的形成与性能 4.2虚拟存贮器 4.3高速缓冲存贮器
精品课件
1
1.存贮体系的形成与性能
从用户的角度来看,存储器的三个主要指标是: 容量,速度,价格(每位价格)。
ARM体系结构清华第4章
编译后的反汇编代码:
... ADD ... ... MOV ... r0,r14 r1,pc,#0x3c
使用伪指令将程序标号 Delay的地址存入R0
ADR伪指令被汇编成一条指令
9
ARM伪指令——小范围的地址读取
ADR伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地址 值读取到寄存器中。在汇编编译器编译源程序时,ADR伪指令被编译器替 换成一条合适的指令。通常,编译器用一条ADD指令或SUB指令来实现该 ADR伪指令的功能,若不能用一条指令实现,则产生错误,编译失败。 应用示例2(查表):
13
ARM伪指令——中等范围的地址读取
ADRL伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地 址值读取到寄存器中,比ADR伪指令可以读取更大范围的地址 。在汇编编 译器编译源程序时,ADRL伪指令被编译器替换成两条合适的指令。若不能 用两条指令实现,则产生错误,编译失败。 应用示例(源程序):
... ADRL ... Delay MOV ... R0,r14 R0,Delay
使用伪指令将程序标号 Delay的地址存入R0
12
ARM伪指令——中等范围的地址读取
ADRL伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地 址值读取到寄存器中,比ADR伪指令可以读取更大范围的地址 。在汇编编 译器编译源程序时,ADRL伪指令被编译器替换成两条合适的指令。若不能 用两条指令实现,则产生错误,编译失败。 应用示例(源程序):
自考02325计算机系统结构考点笔记
第一章概论第一节计算机系统的层次结构计算机系统=硬件/固件+软件计算机语言从低级到高级发展:高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。
层次结构由高到低依次为:应用语言机器级M5、高级语言机器级M4、汇编语言机器级M3、OS机器级M2、传统机器语言机器级M1、微程序机器级M0。
虚拟机:由软件实现的机器。
语言实现的两种基本技术:翻译:先把N+1级程序全部转换成N级后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。
解释:每当一条N+1级指令被译码后,就直接去执行等效的N级指令,然后再去取下一条N+1级指令,以此重复执行。
第二节计算机系统结构、计算机组成和计算机实现一、计算机系统结构的定义和内涵定义:它是软件和硬件/固件的交界面,即机器语言程序员看到的机器物理系统的抽象。
实质:确定计算机系统中软、硬件的界面,界面之上是硬件和软件实现的功能,界面之下是硬件和固件实现的功能。
透明性:在计算机技术中,把这种本来存在的事物或属性从某个角度看不到,则称对它是透明的。
二、计算机组成与计算机实现的定义和内涵1.计算机组成定义:计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计等。
2.计算机实现定义:指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块的划分与连接,专用器件的设计。
三、计算机系统结构、组成和实现的相互关系和影响1)相同系统结构,可以有不同的组成;2)一种组成可以有多种不同的实现方法;3)采用不同的系统结构会使可以采用的组成技术产生差异;4)组成也会影响结构。
第三节计算机系统的软、硬件取舍及定量设计原理一、软硬件取舍的基本原则软、硬件功能的分配比例对计算机性能的影响:提高硬件功能的比例可提高解题速度,减少程序所需的存储空间,但会增加硬件成本,降低硬件利用率和计算机系统的灵活性级适应性;而提高软件功能的比例可降低硬件成本,提高系统的灵活性、适应性,但解题速度会下降,软件设计费用和所需的存储器用量增加。
精品文档-计算机系统结构(第五版)(李学干)-第4章
第4章 存储体系
图 4 - 7 采用页式存储后D道程序仍可装入
第4章 存储体系
假设系统内最多可在主存中容纳N道程序,对每道程序都 将有一个页表。
图4 - 8 示意出页式管理的定位映像机构及其虚、实地址
第4章 存储体系
图 4 - 8 页式管理的定位映像机构及其虚、实地址的变换过程
第4章 存储体系
第4章 存储体系
论点2 分配给某道程序的容量S1的增大也只是在开始时对 H
图4 - 24 的实线反映了用堆栈型替换算法时H与S1的关系。 如果采用FIFO算法替换,由于它不是堆栈型算法,随着S1 的增大,H总的趋势也是上升的,但是从某个局部看,可能会 有下降,如图4-24中虚线所示。这种现象同样会体现在Sp、S1 与H的关系上。
第4章 存储体系
2. 段式存储中各段装入主存的起点是随意的,段表中的地址 字段很长,必须能表示出主存中任意一个绝对地址,加上各段 长度也是随意的,段长字段也很长,这既增加了辅助硬件开销, 降低了查表速度,也使主存管理麻烦。 例如,主存中已有A、B、C三个程序,其大小和位置如图4 - 7所示,现有一长度为12 KB的D道程序想要调入。
3. 参看图4 - 19,在页式虚拟存储器中每当用户用虚地址访 问主存时,都必须查找内页表, 将多用户虚地址变换成主存 的实地址①、②。
第4章 存储体系
图 4 - 19 页式虚拟存储器工作的全过程
第4章 存储体系
4.2.3 1. 对页面失效的处理是设计好页式虚拟存储器的关键之一。 2. 要想使虚拟存储器的等效访问速度提高到接近于主存的访
内容时,总希望它已在速度最快的M1中,这就要求未来被访问 信息的地址能预知,这对存储体系的构成是非常关键的。
第4章 存储体系
高级体系结构ppt课件
I1
2
2
3
3
4
4
5
5
H
6 7
G
6 7 J
Ω网的特点(2):
并不是所有的置换在Ω网中一次通过便可 以实现。
Ω网是阻塞网络:出现冲突时,可以采用 几次通过的方法来解决冲突。
Ω网的广播功能: 0018个输出端
第0级
第1级
0
1
2 3
4 5
6 7
第2级 0 1
2 3
4 5
6 7
44开关构成的Ω网:多路洗牌
000
000
001
001
010
010
011
011
100
100
101
101
110
110
111
111
0
12
3
4
56
7
6. PM2I函数(加减2i) 共有2n个互连函数,对N个结点的网络为
PM PM
2i 2i
( (
j j
) )
j 2i j 2i
mod mod
N N
其中,0 j N 1,0 i n 1,n log 2 N
000
000
001
001
010
010
011
011
100
100
101
101
110
110
111
111
0
12
3
4
56
7
Cube2: cube2 (X2 X1X0 ) (X2 X1X0 )
000
000
001
001
010
010
011
系统工程第五讲--ISM(解释结构模型)
系统⼯程第五讲--ISM(解释结构模型)第五讲解释结构模型法本章学习要点解释结构模型法是⽤于分析教育技术研究中复杂要素间关联结构的⼀种专门研究⽅法,作⽤是能够利⽤系统要素之间已知的零乱关系,揭⽰出系统的内部结构。
解释结构模型法的具体操作是⽤图形和矩阵描述出各种已知的关系,通过矩阵做进⼀步运算,并推导出结论来解释系统结构的关系.本章介绍了解释结构模型的基本概念;论述了解释结构模型法应⽤的具体步骤;以“⽹络化学习与传统学习的差异分析”为案例说明解释结构模型法在教育技术研究中的具体应⽤。
通过本章的学习,应了解解释结构模型的基本概念,明确有向图、邻接矩阵和可达矩阵的含义,掌握解释结构模型法应⽤的步骤,熟练运⽤解释结构模型法分析解决教育技术研究中的具体问题。
本章内容结构系统结构的有向图⽰法有向图的矩阵描述邻接矩阵的性质可达矩阵系统要素分析建⽴邻接矩阵进⾏矩阵运算,求出可达矩阵对可达矩阵进⾏分解差异特征要素分析要素强弱分析解释结构模型分析WBT的层级模型与因果关系分析第⼀节解释结构模型法的基本概念定义:解释结构模型法(InterpretativeStructuralModellingMethod,简称ISM⽅法)ISM⽅法是现代系统⼯程中⼴泛应⽤的⼀种分析⽅法,它在揭⽰系统结构,尤其是分析教学资源内容结构和进⾏学习资源设计与开发研究、教学过程模式的探索等⽅⾯具有⼗分重要作⽤,它也是教育技术学研究中的⼀种专门研究⽅法。
⼀、系统结构的有向图⽰法有向图形——是系统中各要素之间的联系情况的⼀种模型化描述⽅法。
它由节点和边两部分组成节点——利⽤⼀个圆圈代表系统中的⼀个要素,圆圈标有该要素的符号;边——⽤带有箭头的线段表⽰要素之间的影响。
箭头代表影响的⽅向。
例1:在教育技术应⽤中的计算机辅助教学(CAI)其过程可以简单表⽰为:教师设计CAI课件提供给学⽣⾃主学习,CAI课件通过计算机向学⽣显⽰教学内容,并对学⽣提问,学⽣根据计算机的提问作出反应回答。
计算机系统结构 第四章(习题解答)讲解
1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。
在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。
⑴ 顺序执行方式。
⑵ 仅“取指令”和“执行”重叠。
⑶ “取指令”、“分析”和“执行”重叠。
答:⑴ 顺序执行方式12 ......1 2 12T =∑=++n1i i i i )t t t (执行分析取址=n(△t +2△t +3△t)=6n △t⑵ 仅“取指令”和“执行”重叠12 ......1 212T =6△t +∑=+1-n 1i i i )t t (执行分析=6△t +(n-1)(2△t +3△t)=(5n +1)△t⑶ “取指令”、“分析”和“执行”重叠12 34 ......1 2 3 41234△t2△t3△t△t2△t3△t△t2△t3△tT =6△t +∑=1-n 1i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t 。
开始5个任务,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。
求流水线的实际吞吐率、加速比和效率。
答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 56 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23我们可以看出,在(7n+1)Δt 的时间内,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)n (t75t )n /17(5t )1n 7(n 5TP ∞→∆=∆+=∆+=加速比为:)n (720n /17201n 7n 20t )1n 7(t 4n 5S ∞→=+=+=∆+∆⨯=从上面的时空图很容易看出,效率为:)n (75n /1751n 7n 5t )1n 7(4t 4n 5E ∞→=+=+=∆+⨯∆⨯=3. 用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。
计算机体系结构第2版课件第4章 第5讲
FPS-164是较新的机器,它的每个指令字含有 对应于10个不同功能单元的10条指令
VLIW基本机构
VLIW采用多个独立的功能单元,多个不同 的操作封装在一条长指令字中,每个功能单 元在VLIW指令中都有一定的对应区域
在超标量流水线上对上述代码进行调度,以 获取更多地指令机并行度
Loop:
整数指令
LD LD LD LD LD SD SD SD SD SUBI BNEZ SD
F0(R1) F6,-8(R1) F10,-16(R1) F14,-24(R1) F18,-32(R1) 0(R1),F4 -8(R1),F8 -16(R1),F12 -24(R1),F16 R1,R1,#40 R1,Loop -32(R1),F20
Mem Ref2 L.D F6,-8(R1)
FP1
ADD.D F4,F0,F2 ADD.D F12,F10,F2
FP2 ADD.D F8,F6,F2
S.D F4,24(R1) S.D F12,8(R1)
S.D F8,16(R1)
Int/branch
DADDUI R1,R1,#-24 BNE R1,R2,Loop
一般每个功能单元占用16-24位 例如:2个整数、2个浮点、2个访存、1个分支
,则该指令的长度为112-168位
VLIW硬件只是简单地将指令字中对应的部 分送给各个功能单元,功能单元在哪一个时 钟周期执行什么操作由编译器来确定
如果某个功能单元在某个周期没有任务,则执行 NOP指令
VLIW例子
Int/branch DADDUI R1,R1,#-80 BNE R1,R2,Loop
计算机系统结构第4章
第4章 存贮体系 图4-1主存-辅存存储层次
第4章 存贮体系
虚拟存储器是从主存容量满足不了要求提出来的。在主 存和辅存之间,增设辅助的软、硬件设备,让它们构成一个 整体,所以也称为主存-辅存存储层次。如图4-1所示。从 CPU看,速度是接近于主存的,容量是辅存的,每位价格是 接近于辅存的。从CPU看,速度是接近于主存的,容量是辅 存的,每位价格是接近于辅存的。从速度上看,主存的访问 时间约为磁盘的访问时间的10-5,即快10万倍。从价格上看, 主存的每位价格约为磁盘的每位价格的103,即贵1000倍。如 果存储层次能以接近辅存的每位价格去构成等于辅存容量的 快速主存,就会大大提高存储器系统的性能价格比。
序(多用户)环境,而Cache存储器既可以是单用户环境也可以 是多用户环境。
第4章 存贮体系
4.1.3
为简单起见,以图4-4的二级体系(M1,M2)为例来分析。 设ci为Mi的每位价格,SMi为Mi的以位计算的存储容量,TAi为 CPU访问到Mi中的信息所需的时间。为评价存储层次性能, 引入存储层次的每位价格c、命中率H和等效访问时间TA。
第4章 存贮体系
为了进行段式管理,每道程序在系统中都有一个段(映 像)表来存放该道程序各段装入主存的状况信息。参看图4-6, 段表中的每一项(对应表中的每一行)描述该道程序一个段的 基本状况,由若干个字段提供。段名字段用于存放段的名称, 段名一般是有其逻辑意义的,也可以转换成用段号指明。由 于段号从0开始顺序编号,正好与段表中的行号对应,如2段 必是段表中的第3行,这样,段表中就可不设段号(名)字段。 装入位字段用来指示该段是否已经调入主存,“1”表示已装 入,“0”表示未装入。在程序的执行过程中,各段的装入位 随该段是否活跃而动态变化。
计算机体系结构课后详解王志英
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要内容
4.1 4.2 4.3 4.4 指令级并行的概念 指令的动态调度 控制相关的动态解决技术 多指令流出技术
计算机体系结构 1
4.4 多指令流出技术
多指令流出处理器
实现一个时钟周期内流出多条指令时 达到CPI小于1
多流出处理器2种基本结构
超标量(Superscalar)
S.D F28,8(R1)
BNE R1,R2,Loop
计算机体系结构 14
结果分析
9拍产生7个结果
每个结果1.29拍 比前面的超标量,每个结果2.4拍,快接近2倍
9拍里面执行了23个操作
2.5操作/拍 指令槽利用率不高, 只有51% (23/45)
使用大量寄存器
7个循环,共计使用2×7+1=15个64位浮点寄 存器
5条结果在8个时钟周期中完成计算
每条结果花费1.3时钟周期 有17/40的指令槽被放入了有效的操作
计算机体系结构 13
执行情况,n=7
Mem Ref1 L.D F0,0(R1) L.D F10,-16(R1) L.D F18,-32(R1) L.D F26,-48(R1) Mem Ref2 L.D F6,-8(R1) L.D F14,-24(R1) L.D F22,-40(R1) ADD.D F4,F0,F2 ADD.D F12,F10,F2 ADD.D F20,F18,F2 S.D F4,0(R1) S.D F12,-16(R1) S.D F20,24(R1) S.D F8,-8(R1) S.D F16,-24(R1) S.D F24,16(R1) ADD.D F28,F26,F2 DADDUI R1,R1,#-56 ADD.D F8,F6,F2 ADD.D F16,F14,F2 ADD.D F24,F22,F2 FP1 FP2 Int/branch
RS/6000第一个采用超标量技术 现在,几乎所有高性能处理器都是用该技术
超标量处理机的硬件支持每个时钟周期发出 1-8条不存在相关的指令
如果指令流中的指令相关或不满足限制条件,则 只能流出这条指令前面的指令,因此超标量处理 器流出的指令数是不定的
计算机体系结构 3
我们的超标量处理机
假设有这样一个简单的超标量处理器,每个 时钟周期它可以流出两条指令
一条指令可以是取指令、存指令、分支指令或整 数运算操作 另一条指令可以是任意的浮点操作 这种配置与HP 7100结构类似
计算机体系结构 4
超标量处理机的理想执行情况
指令 整数指令 浮点指令 整数指令 浮点指令 整数指令 浮点指令 整数指令 浮点指令 1 IF IF 2 ID ID IF IF 流水线工作情况 3 4 5 6 7 EX MEM EX EX MEM EX ID EX MEM EX ID EX MEM EX IF ID EX MEM EX IF ID EX MEM EX IF ID EX MEM IF ID EX MEM 8
计算机体系结构 8
ADDD ADDD ADDD ADDD ADDD
F4,F0,F2 F8,F6,F2 F12,F10,F2 F16,F14,F2 F20,F18,F2
超标量:例子结果分析
每次循环需12个时钟周期 每个迭代时2.4个时钟周期
前面在普通的流水线上,通过循环展和调度,可 以达到每个迭代为3.5个时钟周期
超标量每个时钟周期流出的指令数不定 可以编译器静态调度,也可以硬件动态调度
超长指令字( VLIW, Very long Instruction Word)
每个时钟周期流出的指令数是固定的,只能通过编译 静态调度
计算机体系结构 2
超标量处理机
超标量处理机的原型来自于IBM实验室的 “America”处理器
超标量可以获得更好地性能,代价是硬件复 杂性大幅度增加
计算机体系结构 9
4.4.3超长指令字技术
一台超标量机器每周期能够流出4-8条指令
由于必须要用硬件分析指令间的相关,为其实现 带来了困难
另一种选择:长指令字(LIW,Long Instruction Word)或称为超长指令字( VLIW,Very Long Instruction Word)体 系结构
ADD.D F4,F0,F2
ADD.D F12,F10,F2 ADD.D F20,F18,F2 ADD.D F28,F26,F2 ADD.D F36,F34,F2
ADD.D F8,F6,F2
ADD.D F16,F14,F2 ADD.D F24,F22,F2 ADD.D F32,F30,F2 ADD.D F40,F38,F2 DADDUI R1,R1,#-80
EX EX
图中没有具体解释浮点指令在执行阶段执行时间的问题
计算机体系结构 5
超标量处理机的技术问题
每个时钟周期流出两条指令意味着取指令和 解码部件都是64位
假设:指令按要求组合成对,且与 64位边界对 其,整数指令顺序在前 需要使得浮点部件流水化或增加相关部件来减少 结构相关
另一个限制超标量流水线性能发挥的障碍是 取操作和分支操作的延迟
8拍3个结果,每个结果2.66拍 指令槽利用率: 11/40 = 27.5% 寄存器:3×2+1=7个64位浮点寄存器
计算机体系结构 16
尽可能指令空间充满的调度, n=10
Mem Ref1 L.D F0,0(R1) L.D F10,-16(R1) Mem Ref2 L.D F6,-8(R1) L.D F14,-24(R1) FP1 FP2 Int/branch
VLIW例子
再次使用先前在解释循环展开及超标量机器 时使用过的那段循环代码,来解释VLIW如 何工作这一次,我们将循环展开n个副本 VLIW机器每条指令字包含
两个访存操作 两个浮点操作 一个整数或分支操作
得到如下指令序列
计算机体系结构 12
VLIW例子的指令执行情况,n=5
4.4 多指令流出技术
超标量技术 超长指令字技术
计算机体系结构 19
谢谢!
计算机体系结构 20
BNE R1,R2,Loop
10拍10个结果,每个结果使用1拍 指令槽利用率:36/50 =72% 寄存器需求:10×2+1=23个64位浮点寄 存器
计算机体系结构 17
VLIW的技术难题
第一,从线性代码片段中产生足够的操作需 要进行激进的循环展开,这增大了代码大小 第二,无论指令是否被充满,没有被使用的 功能单元也在指令字编码过程中占据了相应 的位。将近一半的指令是被浪费掉的
一般每个功能单元占用16-24位 例如:2个整数、2个浮点、2个访存、1个分支 ,则该指令的长度为112-168位
VLIW硬件只是简单地将指令字中对应的部 分送给各个功能单元,功能单元在哪一个时 钟周期执行什么操作由编译器来确定
如果某个功能单元在某个周期没有任务,则执行 NOP指令
计算机体系结构 11
L.D F18,-32(R1)
L.D F26,-48(R1) L.D F34,-64(R1) S.D F4,80(R1) S.D F12,64(R1) S.D F20,48(R1) S.D F20,32(R1) S.D F20,16(R1)
L.D F22,-40(R1)
L.D F30,-56(R1) L.D F38,-72(R1) S.D F8,72(R1) S.D F16,56(R1) S.D F20,40(R1) S.D F20,24(R1) S.D F20,8(R1)
计算机体系结构 15
没有空指令的调度, n=3
Mem Ref1 L.D F0,0(R1) L.D F10,-16(R1) ADD.D F4,F0,F2 ADD.D F12,F10,F2 DADDUI R1,R1,#-24 S.D F4,24(R1) S.D F12,8(R1) BNE R1,R2,Loop S.D F8,16(R1) ADD.D F8,F6,F2 Mem Ref2 L.D F6,-8(R1) FP1 FP2 Int/branch
第一种商用LIW机器是AP-120B,由Floating Point Systems开发 FPS-164是较新的机器,它的每个指令字含有 对应于10个不同功能单元的10条指令
计算机体系结构 10
VLIW基本机构
VLIW采用多个独立的功能单元,多个不同 的操作封装在一条长指令字中,每个功能单 元在VLIW指令中都有一定的对应区域
分支指令肯定是指令组合的第一条指令,影响配 对指令和后续两条指令,分支延迟也变为3条指 令
计算机体系结构 6
超标量:例子
为了能有效利用超标量处理器的可获得的并 行度,需要采用更有效的编译技术、硬件调 度技术和更复杂的指令译码技术
循环展开成5个副本
使用先前我们用到的代码作为例子
LOOP LD SD F0, 0(R1) 0(RI),F4 ;取出一个向量单元.
访存操作 1 访存操作 2 浮点操作 1 浮点操作 2 整数操6,-8(R1) LD F10,-16(R1) LD F14,-24(R1) LD F18,-32(R1) ADDD F4,F0,F2 ADDD F8,F6,F2 ADDD F12,F10,F2 ADDD F16,F14,F2 ADDD F20,F18,F2 SD 0(R1),F4 SD -8(R1),F8 SD -16(R1),F12 SD –24(R1),F16 SUBI R1,R1,#40 SD 8(R1),F20 BNEZ R1,Loop
ADDD F4,F0,F2
SUBI R1,R1,#8
;与F2寄存器中的标量相加
;保存相加后的向量单元 ;R1寄存器值减8
BNEZ R1,LOOP