非线性流水线调度
计算机体系结构之流水线工作原理与分类
不增加或只增加少量硬件就能使运算速度提高几倍, 如:流水线处理机、超流水线处理机
流水线工作原理
流水线的分类
线性流水线的性能分析
非线性流水线的调度技术
流水线工作原理
1、流水线锁存器 流水线的每一个阶段称为流水步、流水步骤、流水段、 流水 线阶段、流水功能段、功能段、流水级、流水节拍等。
在每一个流水段的末尾或开头必须设置一个(多个)寄存器,
称为
流水寄存器、流水锁存器、流水闸门寄存器等。
流水锁存器会增加每条指令的执行时间,但采用流水线之
后整个程序的执行时间会缩短。
为了简化,在一般流水线中不画出流水锁存器。
输入
指令分析器 分析 k+1
流水 锁存器
△t1
指令执行部件 执行 k
流水 锁存器
Latency & throughput?
流水线技术
流水线技术在50年代后期被应用于处理器设计 IBM Stretch----first general-purpose pipelined
computer CDC 6600 use load/store design to achieve efficient
任
时间
务A
顺 序B
C
D
°
洗4 个人的衣物,顺序操作需要 8 个小时
°
如果使用流水线作业, 将需要多少时间呢?
流水线作业
6 下午 7
8
9
10
11
12
时间
任
30 30 30 30 30 30 30
务A
顺
序
B
C
D
计算机系统结构复习试题及答案(非计算)
计算机系统结构复习试题及答案(⾮计算)⼀.名词解释计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种⾓度看⼜好像不存在的概念称为透明性。
系列机:由同⼀⼚家⽣产的具有相同系统结构、但具有不同组成和实现的⼀系列不同型号的计算机。
同构型多处理机系统:由多个同类型或⾄少担负同等功能的处理机组成,它们同时处理同⼀作业中能并⾏执⾏的多个任务。
堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。
累加器型机器:CPU 中存储操作数的单元是累加器的机器。
通⽤寄存器型机器:CPU 中存储操作数的单元是通⽤寄存器的机器。
数据相关:考虑两条指令i 和j,i 在j 的前⾯,如果下述条件之⼀成⽴,则称指令j 与指令 i 数据相关:(1)指令j 使⽤指令i 产⽣的结果;(2)指令j 与指令k 数据相关,⽽指令k ⼜与指令i 数据相关。
定向:⽤来解决写后读冲突的。
在发⽣写后读相关的情况下,在计算结果尚未出来之前,后⾯等待使⽤该结果的指令并不见得是马上就要⽤该结果。
如果能够将该计算结果从其产⽣的地⽅直接送到其它指令需要它的地⽅,那么就可以避免停顿。
向量处理机:指令级并⾏:简称ILP。
是指指令之间存在的⼀种并⾏性,利⽤它,计算机可以并⾏执⾏两条或两条以上的指令。
指令的动态调度:是指在保持数据流和异常⾏为的情况下,通过硬件对指令执⾏顺序进⾏重新安排,以提⾼流⽔线的利⽤率且减少停顿现象。
是由硬件在程序实际运⾏时实施的。
指令的静态调度:是指依靠编译器对代码进⾏静态调度,以减少相关和冲突。
它不是在程序执⾏的过程中、⽽是在编译期间进⾏代码调度和优化的。
失效率:CPU 访存时,在⼀级存储器中找不到所需信息的概率。
失效开销:CPU 向⼆级存储器发出访问请求到把这个数据调⼊⼀级存储器所需的时间。
强制性失效:当第⼀次访问⼀个块时,该块不在Cache 中,需要从下⼀级存储器中调⼊Cache,这就是强制性失效。
选择题答案——精选推荐
第一章单项选择题1.系列机软件应做到_______。
A.向前兼容,并向上兼容B.向后兼容,力争向上兼容C.向前兼容,并向下兼容D.向后兼容,力争向下兼容答:B2.衡量机器性能的唯一固定而且可靠的标准是________ 。
A.MIPS B.MFLOPSC.基准测试D.真正执行程序的时间答:D3.在下列计算机系统的设计思路中,适合专用机的是________。
A.由上往下B.由下往上C.由中间开始D.所有层同时开始答:A4.在推出系列机的新机器时,不能更改的是_________。
A.原有指令的寻址方式和操作码B.系统总线的组成C.数据通路宽度D.存储芯片的集成度答:A5.对汇编语言程序员透明的是________。
A.Cache内容的存取B.浮点运算C.程序性中断D.存取操作数答:A6.直接执行微指令的是________。
A.汇编程序B.编译程序C.硬件D.微指令程序答:C7.在计算机系统设计中,________ 是比较好的方法。
A. “由上往下”设计B. “由下往上”设计C. “从两头向中间”设计D. “从中间开始向上、向下”设计答:D8.按照Flynn分类法可以将计算机系统结构分为四类,他们是__________。
A. 单指令流单数据流、单指令流多数据流、多指令流单数据流、多指令流多数据流;B. 字串位串、字并位串、字串位并、字并位并;C. 科学计算、事务处理、实时控制、家用;D. 单处理机、多处理机、标量处理机、向量处理机。
答:A9.以下说法中不正确的是__________。
A. 计算机组成是计算机系统结构的逻辑实现;B. 计算机系统结构是计算机系统的软硬件的界面;C. 计算机系统结构是计算机组成的逻辑实现;D. 计算机实现是计算机组成的物理实现。
答:C10.在计算机的系统结构设计中,提高软件功能实现的比例会________。
A.提高解题速度B.减少需要的存储器容量C.提高系统的灵活性D.提高系统的性能价格比答:C11.结构设计者所关心的是________所看到的的计算机结构。
计算机系统 总 复 习(2011)
总复习第一章1.计算机系统结构、组成、实现的基本概念和包含的内容;系统结构与软硬件功能划分的关系;计算机系统的多级层次结构;判断某项内容属于结构、组成、实现的哪一类;判断某项内容针对不同程序员的透明性。
2.促进系统结构发展的因素(软件、应用、器件)。
软件:实现软件可移植性的方法;系列机的概念;软件兼容的概念(向前、向后、向上、向下兼容);模拟与仿真技术的概念;应用:应用对系统结构的要求。
器件:系统结构下移的概念。
3.计算机系统的分型与分类的概念。
Flynn分类法4.系统结构设计的定量原理(Amdahl定理);加速比的计算方法;5.程序访问的局部性原理(时间局部性、空间局部性);判断系统结构中局部性原理的应用。
6.系统评价的指标(响应时间、CPU时间、MIPS、MFLOPS);运用CPU性能公式、平均CPI比较系统性能。
7.并行性的概念;并行性的等级、粒度;并行性的开发策略(时间重叠、资源重复、资源共享);8.计算机系统的主要设计方法第二章1.指令系统的设计要求(完备性、有效性、兼容性、规整性、对称性、可扩充性、正交性、有利于编译)。
2.指令系统的分类(堆栈型、累加器型、通用寄存器型);通用寄存器型指令的特点(R-R型、R-M型、M-M型)。
3.操作数访问方式(按地址访问、按内容访问);按地址访问的编址问题:字编址、字节编址、位编址;按字节编址时的大端排序与小端排序。
编址规定中的访存越界问题及其解决方法。
按内容访问:联想存储器的工作过程。
4.指令格式的设计准则;操作码的优化方法(霍夫曼编码、扩展霍夫曼编码)。
5.指令系统的两种设计风格CISC和RISC。
CISC风格的特点;RISC风格的特点。
RISC风格指令系统的实现技术:窗口寄存器重叠技术、优化转移技术。
6.数据类型、数据表示、数据结构的概念和关系;引入数据表示的原则(减少程序执行时间和存储容量、较好的通用性和较高的效率);数据表示与系统结构的关系。
专升本《计算机系统结构》
[试题分类]:专升本《计算机系统结构》_08040250[题型]:单选[分数]:21.在由多个通道组成的I/O系统中,I/O的最大流量是()A.各通道实际流量之和B.各通道最大流量之和C.各通道最大流量的最大值D.各通道实际流量的最大值答案:B2.由同一厂家生产的、系统结构相同的,但组成和实现不同的所有计算机,称为()A.系统机B.系列机C.扩展机D.兼容机答案:B3.同构型多处理机和异构型多处理机所采用的提高并行性的技术途径分别是()A.资源重复、时间重叠B.资源重复、资源共享C.资源共享、资源重复D.资源共享、时间重叠答案:A4.与线性流水线最大吞吐率有关的是()A.最慢的那一段的执行时间B.最后功能段的执行时间C.各个功能段的执行时间D.最快的那一段的执行时间答案:A5.下列选项中,结构不对称的静态网络是()A.立方体网络B.线性阵列C.全连接网络D.环网答案:B6.从计算机系统中处理数据的并行性看,并行性等级从低到高分为()A.位串字串、位并字串、位串字并、全并行B.位并字串、全并行、位串字串、位串字并C.全并行、位并字串、位串字串、位串字并D.位串字串、位串字并、位并字串、全并行答案:A7.并行处理机上执行并行算法的效率与并行处理机上()有重要关系。
A.指令的并行B.数据的分布C.存储器的结构D.互连网络答案:B8.在超标量流水线中,不采用的调度方法是()A.乱序发射顺序完成B.顺序发射顺序完成C.顺序发射乱序完成D.乱序发射乱序完成答案:A9.最早的冯·诺依曼(vonNeumann)结构计算机是以()为中心的。
A.I/O设备B.存储器C.控制器D.运算器答案:D10.替换算法要解决的问题是()A.新用户要进入主存,选择哪个用户作为被替换的用户B.当页面失效时,选择主存中哪个页作为被替换页C.如何用主存的实页号替代多用户的虚页号D.用户的虚页如何与主存的实页对应答案:B11.通道方式输入输出系统中,对优先级高的磁盘等高速设备,适合于连接()A.字节及数组多路通道B.字节多路通道C.选择通道D.数组多路通道答案:C12.指令的重叠解释方式与顺序解释方式相比,可以提高()指令的执行速度。
计算机体系结构试题及答案
计算机体系结构试题及答案12008年01月23日22:211、计算机高性能发展受益于:(1)电路技术的发展;(2)计算机体系结构技术的发展。
2、层次结构:计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为特征。
第六级:应用语言虚拟机-> 第五级:高级语言虚拟机-> 第四级:汇编语言虚拟机-> 第三级:操作系统虚拟机-> 第二级:机器语言(传统机器级) ->第一级:微程序机器级。
3、计算机体系结构:程序员所看到的计算机的属性,即概括性结构与功能特性。
For personal use only in study and research; not for commercial use4、透明性:在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。
5、Amdahl提出的体系结构是指机器语言级程序员所看见的计算机属性。
6、经典计算机体系结构概念的实质3是计算机系统中软、硬件界面的确定,也就是指令集的设计,该界面之上由软件的功能实现,界面之下由硬件和固件的功能来实现。
7、计算机组织是计算机系统的逻辑实现;计算机实现是计算机系统的物理实现。
8、计算机体系结构、计算机组织、计算机实现的区别和联系?答:一种体系结构可以有多种组成,一种组成可以有多种物理实现,体系结构包括对组织与实现的研究。
9、系列机:是指具有相同的体系结构但具有不同组织和实现的一系列不同型号的机器。
10、软件兼容:即同一个软件可以不加修改地运行于系统结构相同的各机器,而且它们所获得的结果一样,差别只在于运行时间的不同。
11、兼容机:不同厂家生产的、具有相同体系结构的计算机。
12、向后兼容是软件兼容的根本特征,也是系列机的根本特征。
13、当今计算机领域市场可划分为:服务器、桌面系统、嵌入式计算三大领域。
14、摩尔定律:集成电路密度大约每两年翻一番。
15、定量分析技术基础(1)性能的评测:(a)响应时间:从事件开始到结束之间的时间;计算机完成某一任务所花费的全部时间。
迭加原理及其在非线性流水线调度中的应用
Ke wo d : s p r o i o r c p e n n i e r p p l e sae d a rm y r s u e p s in p n i l , o l a i e i 。 tt ig a t i n n
1 引言
流 水 线 技 术在 现代 处 理 器 设 计 中广 泛 采 用 , 文 献 【】 给 如 l 巾
用 采建 立绘 制 非 线 性 流 水线 无 冲 突调 度 状 态 图 的 规 则 。 最后 , 论 了一 种 特 殊 和 重 要 的 情 形 。 讨 关 键 词 迭 加 原 理 非 线性 流 水 线 状 态图
文 章 编 号 1 0 — 3 1 (0 6 1— 0 6 0 文献 标 识 码 A 0 2 8 3一 20 )6 0 7 — 4 中图 分 类 号 T 3 3 8 P9 . 0
出 了一 种 MIS计 算 机 的 流 水 线 实 现 方 案 。然 而 , 于 流 水 线 P 由
T X.0 表 示 任 务 即 将 进 人 流 水 线 但 还 没 有 进 人 流 水 ( 一)
线 前 一 瞬 间 的 时刻 , ( .0 表示 任 务 . 刚 进 人 流水 线 一 瞬 TX+ ) 刚
Zh n i u n a g Da y a
( e at e to o ue cec n eh ooy N nig U iesy o ot D p r n fC mp trS in e a d T c n lg , a j nv ri fP s m n t s
非线性流水线
4.1 指令级并行的概念 4.2 指令的调度 4.3 动态分支预测技术 4.4 多指令流出技术
4.1 指令级并行
4.1.1 指令级并行的概念
➢ 几乎所有的处理机都利用流水线来使指令重叠并 行执行,以达到提高性能的目的。这种指令之间 存在的潜在并行性称为指令级并行。
(ILP:Instruction-Level Parallelism)
4.1 指令级并行
举例说明 DADDU
R2,R3,R4BEQZR2Fra bibliotekL1LW
R1,0(R2)
L1 :
➢ 数据流:指数据值从其产生者指令到其消费者指 令的实际流动。
分支指令使得数据流具有动态性,因为它使得给定 指令的数据可以有多个来源。
仅仅保持数据相关性是不够的,只有再加上保持控 制顺序,才能够保持程序顺序。
➢ 具体的一次相关是否会导致实际冲突的发生以及 该冲突会带来多长的停顿,则是流水线的属性。
1. 可以从两个方面来解决相关问题: ➢ 保持相关,但避免发生冲突。
指令调度
➢ 通过代码变换,消除相关。 2. 程序顺序:由源程序确定的在完全串行方式下指令的
执行顺序。
必须保持程序顺序
4.1 指令级并行
1. 控制相关并不是一个必须严格保持的关键属性。 2. 对于正确地执行程序来说,必须保持的最关键的两个
➢ 理想CPI是衡量流水线最高性能的一个指标。 ➢ IPC:Instructions Per Cycle
(每个时钟周期完成的指令条数)
1. 基本程序块 ➢ 基本程序块:一段除了入口和出口以外不包含其他 分支的线性代码段。 ➢ 程序平均每5~7条指令就会有一个分支。
4.1 指令级并行
计算机体系结构第三章-3(非线性流水线)
非线性流水线的竞争与调度
2、最优调度
为了避免冲突,就要对指令送入流水线的时间进行控制, 这就是流水线的无冲突调度。(4个步骤)
1)根据预约表写出禁止向量
禁止向量F是一个流水线中所有禁止启动距离构成的集合。 为了找出所有的禁止启动距离,必须考察各段的复用情况。
1
S1 …
2
3
4
5
6
7
8
9
√
√
方法:S1在1,9两个时段中使用,从第1时段到第9时段的距 离差值为8Δt(9Δt – 1Δt = 8Δt),显然这是一个禁止启动 距离。
T1
s1 s2 √ √ √
T2
T3
T4
T5
T6
T7
√
s3
s4
√
√
√
(1) 写出禁止向量,初始冲突向量,画出流水线调度的状态转移图。 (2) 求出流水线最优调度策略和最大吞吐率。
(3) 求出按最优调度策略连续输10个任务,流水线的实际吞吐率、 加速比、效率?
3.5 流水线的实现
3.5 流水线的实现
同样,若选择间隔7拍输入第2条指令,则新冲突向量为:
C4 SHR(7) (C0 ) C0 (00000001 ) (10110001 ) (10110001 ) C0
例子中,C1,C2,C3 继续后续指令的冲突向量计算。反复上述步骤,直 到不再产生新的冲突向量为止。
非线性流水线的竞争与调度
1
2 √
3 √
4
5
6
7
8 √
9
S1
S2 S3
√
√
√
S4
S5
第5章-计算机系统结构(第五版)李学干
第5章 标量处理机
图 5 - 11 B一次相关与二次相关
第5章 标量处理机
由图5 - 11可见,B二次相关时,只需推后“分析k+2”的 始点到“执行k”送入通用寄存器的运算结果能在“分析k+2” 开始时出现于通用寄存器输出总线上即可,如图5 - 12(a)所 示。至于推后多少拍,这取决于通用寄存器组译码、读
如图5 - 20(b)所示。即使流水线每隔Δt0流入一条指令,也会
因来不及处理被堆积于2段,致使流水线仍只能每隔 3Δt0才流出一条指令。
第5章 标量处理机
图 5 - 20 最大吞吐率取决于瓶颈段的时间
第5章 标量处理机
消除瓶颈的一种办法是将瓶颈子过程再细分。例如将2
段再细分成21、22、23三个子段,如图5-21(a)所示。让各子
同,如图5 - 23所示那样,则在T时间里,流水线各段的效率
都相同,均为η0,即
nΔt0 n 1 2 m 0 T m (n 1)
第5章 标量处理机
整个流水线的效率
1 2 m
m
m0 mnΔt0 0 m mT
式中,分母mT是时空图中m个段和流水总时间T所围成
第5章 标量处理机
图 5 - 3 一次重叠工作方式
第5章 标量处理机
(2) 要解决“分析”与“执行”操作的并行。 (3) 要解决“分析”与“执行”操作控制上的同步。 (4) 要解决指令间各种相关的处理。 图5 - 4示意出条件转移时第k条指令和第k+1条指令的时
间关系。
第5章 标量处理机
图 5 - 4 第k条指令和第k+1条指令的时间关系
由于运算结果是在“执行”周期的末尾才送入通用寄存
计算机系统结构多媒体教程课件_第四章 控制方式——流水线2
平均间 隔拍数 4.50 3.67
调度策略
平均间 隔拍数
(3, 4, 3, 7) 4.25 (4, 3, 7) 4.67
3.50
5.00
(4, 7)
(7)
5.00
7.00
(3, 4, 7)
2013-8-31
4.67
12
《计算机系统结构》多媒体课件
最小平均等待时间(minimal average latency---MAL) 可见,最佳调度方案为(3,4),MAL=3 .5。对非C0 开始的调度方案由流水线控制器完成控制的过渡。 简单循环:每种状态只出现一次的等待时间循环 简单循环中由一些是迫切循环。 迫切循环:从各自的初始状态输出的边缘都具有最小 等待时间的循环。这样的循环首先是简单循环,并且 他们的平均等待时间必须比其他简单循环的更小。 从迫切循环中确定MAL • MAL应小于或等于状态图中任一迫切循环的平均等待 时间 • 上限是初始冲突向量的1个数再+1
t S 1 2 3 4 5 6 7 8 9
1
2 3
×
× × × × ×
×
4
5
2013-8-31
×
×
× ×
2
《计算机系统结构》多媒体课件
与时空图区别? 动态流水线可以由一张以上的预约表来表示。 每张预约表表示的是某一功能求值的数据通过 流水线的时空流 预约表一行可以有多个符号,含义是在不同周期 重复使用同一段;一列中多个符号是指在一个 特定的时钟周期内并行使用多个周期。
2
7
4
7
10111101 2 10111111
2013-8-31
《计算机系统结构》多媒体课件
11
(5)找出最佳调度方案 从各个闭合回路中找出平均间隔最小的一个。 本例中调度方案如下:
计算机系统结构-第五章自考练习题答案
计算机系统结构-第五章⾃考练习题答案第五章重叠、流⽔和向量处理机历年真题精选1. “⼀次重叠”中消除“指令相关”最好的⽅法是( A )。
A. 不准修改指令B. 设相关专⽤通路C. 推后分析下条指令D. 推后执⾏下条指令2.流⽔处理机对全局性相关的处理不包括( D )。
A. 猜测法B. 提前形成条件码C. 加快短循环程序的执⾏D. 设置相关专⽤道路3. 推后“分析”和设置“(相关专⽤通道)”是解k1决重叠⽅式相关处理的两种基本⽅法。
前者是以(降低速度)为代价,使设备基本上不增加。
4. 流⽔线消除速度瓶颈的⽅法有瓶颈⼦过程(再细分)和瓶颈⼦过程(多套并联)两种。
5. 简述在流⽔机器中全局性相关的概念及处理全局性相关的⽅法。
(P144-146)6. 求向量D=A*(B+C),各向量元素个数均为6,参照CRAY-1⽅式分解为3条向量指令:①V3←存储器{访存取A送⼊V3寄存器组}②V2←V0+V1 {B+C→K}③V4←V2*V3 {K*A→D}当采⽤下列2种⽅式⼯作时各需多少拍才能得到全部结果?(1)①和②并⾏执⾏完后,再执⾏③;(27拍)(2)采⽤链接技术。
(22拍)(注:CRAY-1⽅式启动访存1拍,访存6拍,打⼊寄存器组1拍,加法6拍,乘7拍)7.有⼀个3段的单功能⾮线性流⽔线,预约表如下表所⽰。
(1)写出冲突向量,画冲突向量状态转移图并确定最佳调度⽅案。
(c=(101) ,最佳策略是每隔2△t流⼊⼀个任务)(2)按最佳调度⽅案输⼊5个任务,画出流⽔的时空图,求出此时的吞吐率和效率。
时钟t1t2t3t4段号S1√√S2√√S3√(吞吐率:5/12△t 效率:69.4% )8. 有⼀个双输⼊端的加—乘双功能静态流⽔线,由经过时间为Δt、2Δt、2Δt、Δt的1、2、3、4四个⼦过程构成。
加按1-2-4连接,乘按1-3-4连接,流⽔线输出设有数据缓冲器,也可将数据直接返回输⼊。
现要执⾏A*(B+C*(D+E*F))+G*H的运算,①调整计算顺序,画出能获得吞吐率尽量⾼的流⽔时空图,标出流⽔线⼊、出端数据的变化情况;②求出完成全部运算的时间及此期间流⽔线的效率和吞吐率。
计算机系统结构自考题模拟9_真题(含答案与解析)-交互
计算机系统结构自考题模拟9(总分100, 做题时间90分钟)第Ⅰ部分选择题一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的)1.下列选项中不属于计算机系统的设计方法的是______SSS_SINGLE_SELA 由上往下B 从左向右C 由下往上D 从中间开始分值: 1答案:B[考点] 计算机系统的设计方法[解析] 计算机系统的设计方法有由上往下、由下往上和从中间开始。
2.在早期冯·诺依曼计算机特征中,机器以哪项为中心______SSS_SINGLE_SELA 存储器B 输入输出设备C 运算器D 控制器分值: 1答案:C[考点] 冯·诺依曼计算机的概念[解析] 在早期冯·诺依曼计算机特征中,机器以运算器为中心。
3.下面哪个页面替换算法实际上是不能够实现的______SSS_SINGLE_SELA 随机页面替换算法B 先进先出替换算法C 最久没有使用算法D 最优替换算法分值: 1答案:D[考点] 页面替换算法[解析] 最优替换算法是理想上的算法,实际上是不可能实现的。
但其可以作为一个考量标准,来评价其他算法的好坏。
4.为了提高流水线的最大吞吐率,首先要找出______SSS_SINGLE_SELA 瓶颈B 任务数C 结果数D 以上三个都不是分值: 1答案:A[考点] 标量流水线的主要性能[解析] 为了提高流水线的最大吞吐率,首先要找出瓶颈,然后没法消除此瓶颈。
5.下列选项不属于开发并行的途径的是______SSS_SINGLE_SELA 资源重复B 资源共享C 分布式处理系统D 时间重叠分值: 1答案:C[考点] 并行性开发环境[解析] 开发并行性的途径有时间重叠、资源重复和资源共享等。
6.在对Cache写操作时,以下关于写回法描述不正确的是______SSS_SINGLE_SELA 需要设置修改位B 需要少量缓冲器C 不需要缓冲器D 没有直达法可靠分值: 1答案:C[考点] Cache存储器的性能[解析] 写回法需要少量缓冲器,用于暂存将要写回的块,使之不必等待替换块写回主存后才开始进行Cache存取。
实验三-利用预约表编程计算非线性流水线的任务调度方案
实验三利用预约表编程计算非线性流水线的任务调度方案一、实验目的通过本实验帮助学生理解单功能非线性流水线基本任务调度方法.二、实验环境开发工具使用windows平台下的vc++6.0.三、实验内容给定某单功能非线性流水线的预约表,通过编程求出所有不冲突的任务调度方案并输出.流水线功能段数随机。
四、实验结果#include<stdio。
h〉#include〈iostream。
h〉#include<iomanip。
h〉#include〈string.h〉const int MAXJOB=50;//定义数据结构体typedef struct node{int number;int reach_time;int reach_hour;int reach_minite;int need_time;int privilege;float excellent;int start_time;int wait_time;int visited;}job;job jobs[MAXJOB]; int quantity;//初始化函数void initial(){int i;for(i=0;i〈MAXJOB;i++){jobs[i]。
number=0;jobs[i].reach_time=0;jobs[i].reach_hour=0;jobs[i].reach_minite=0;jobs[i].privilege=0;jobs[i]。
excellent=0;jobs[i].start_time=0;jobs[i].wait_time=0;jobs[i].visited=0;}quantity=0;}void reset() //重置作业数据函数{int i;for(i=0;i〈MAXJOB;i++){jobs[i].start_time=0;jobs[i]。
wait_time=0;jobs[i]。
visited=0;}}void readData()//读入作业数据函数{FILE *fp;char fname[20];int i;cout〈〈”请输入作业数据文件名:";strcpy(fname,"8job.txt”);cin>>fname;if((fp=fopen(fname,”r"))==NULL){cout〈〈"错误,文件打不开,请检查文件名:)"<<endl;}else{while(!feof(fp)){fscanf(fp,”%d %d %d %d”,&jobs[quantity]。
计算机系统结构习题
一、简答题(2题)相关概念、原理、方法说明及比较分析例题1:解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。
差别只是执行时间的不同。
兼容机:由不同公司厂家生产的具有相同系统结构的计算机。
模拟:用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。
仿真:用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。
并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
只要在时间上相互重叠,就存在并行性。
它包括同时性与并发性两种含义。
时间重叠:在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
资源重复:在并行性概念中引入空间因素,以数量取胜。
通过重复设置硬件资源,大幅度地提高计算机系统的性能。
2019年4月高等教育自学考试_计算机系统结构真题_真题(含答案与解析)
2019年4月高等教育自学考试计算机系统结构真题(总分100, 做题时间150分钟)单项选择题用微程序直接解释另一种机器指令系统的方法称为()。
SSS_SINGLE_SELA编译B仿真C翻译D模拟分值: 1答案:B本题考查的是关于仿真的概念。
从计算机信息加工的各个步骤和阶段的角度来看,并行性等级最低的是()。
SSS_SINGLE_SELA处理器操作步骤并行B存储器操作并行C处理器操作并行D指令、任务、作业并行分值: 1答案:B本题考查的是并行性的相关知识点。
下列选项中属于高级数据表示的是()。
SSS_SINGLE_SELA向量B定点数C逻辑数D字符串分值: 1答案:A本题考查的是高级数据表示的概念。
浮点数表示中,当阶值位数一定时,不会受到尾数进制影响的是()。
SSS_SINGLE_SELA精度B数符C范围D离散程度分值: 1答案:B本题考查的是浮点数的内容。
下列属于总线标准的是()。
SSS_SINGLE_SELA吞吐率B速率C流量D电气分值: 1答案:D本题考查的是总线系统标准的知识点。
浮点数系统使用的阶基rp=2,阶值位数p=2,尾数位数m=4,尾数基值rm=2时,在非负阶正尾数、规格化的情况下可表示的最小尾数是()。
SSS_SINGLE_SELA1/2B1/4C1/8D1/16分值: 1答案:A本题考查的是浮点数各种特性参数的一般式。
总线按在系统中的位置分的级别数为()。
SSS_SINGLE_SELA3级B4级C5级D6级分值: 1答案:A本题考查的是总线分类的概念。
总线按在系统中的位置分芯片级(CPU芯片内的总线)、板级 (连接插件板内的各个组件,也称局部总线或内部总线)和系统级(系统间或主机与/O接]或设备之间的总线)等3级。
Cache存储器是为了解决主存满足不了要求的性能指标是()。
SSS_SINGLE_SELA容量B价格C字长D速度分值: 1答案:D本题考查的是Cache的工作原理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
6 5 5 4 5 7
当以某一个启动距离向一条非线性流水线连续 输入任务时,可能在某一个流水段,或某几个 流水段中发生有几个任务同时争用同一个流水 段的情况,这种情况就是非线性流水线中的冲 突。
非线性流水线中的冲突举例
启动距离为3的流水线冲突情况
禁止启动距离
引起非线性流水线流水段冲突的启动距离称为 禁止启动距离。
流水线的禁止表和初始冲突向量
对于S1,禁止启动距离是7-1=6; 对于S2,禁止启动距离是6-2=4; 对于S3,禁止启动距离是5-3=2; 所以:禁止表F=(6,4,2) 冲突向量C=(101010)
流水线的状态图及各简单启动循环
简单循环 (1,7) 平均启 动距离 4
(3,7)
(5,7) (3,5,7) (5,3,7) (3,5) (5) (7)
例如: 禁止表 F = (6,4,2),
则:
冲突向量 C=(C6C5C4C3C2C1), 由于禁止表是(6,4,2),得到C6=C4=C2=1,其 余位为0,因此,冲突向量为C=(101010)。
由冲突向量构造状态图
把上面得到的冲突向量C作为初始冲突向量送入一个逻 辑右移移位器:
当从移位器移出的位为0时,用移位器中的值与初始冲突向量 作“按位或”运算,得到一个新的冲突向量; 若移位器移出的位为1,不作任何处理;移位器继续右移,如 此重复。
禁止表
如对于前例的预约表
第1行的第1列与第4列的两个“×”之间的距离为3;第 1列与第7列的两个“×”之间的距离为6;第4列与第7 列的两个“×”之间的距离也为3; 第2行的第2列与第5列的两个“×”之间的距离也为3; 第3行的第2列与第6列的两个“×”之间的距离为4。 因此,对应的非线性流水线的禁止表为(3,4,6)。
启动循环
有些启动距离在非线性流水线的所有功能段, 在任何时间都不会发生冲突。
如前例中启动距离为5时,其预约表如下:
启动循环
非线性流水线中,不发生冲突的启动距离不一 定仅仅是一个常数,在一般情况下是一个循环 数列。
例如,前例中采用1、7、1、7、…交替的启动 距离时,任何一个时钟周期也不会发生冲突。
启动循环
使非线性流水线的任何一个流水段在任何一个 时钟周期都不发生冲突的循环数列称为非线性 流水线的启动循环。
只有一个启动距离的启动循环又称为恒定循环。 把一个启动循环内的所有启动距离相加再除以 这个启动循环内的启动距离个数就得到这个启 动循环的平均启动距离。
Байду номын сангаас
无冲突调度方法
非线性流水线无冲突调度的主要目标是要找出具 有最小平均启动距离的启动循环,按照这样的启 动循环向非线性流水线的输入端输入任务,流水 线的工作速度最快,而且所有流水段在任何时间 都没有冲突。
如上例中启动距离3是禁止启动距离
禁止表
要正确地调度一条非线性流水线,首先要找出流水线 的所有禁止启动距离。
把一条非线性流水线的所有禁止启动距离组合在一起 就形成一个集合,通常把这个集合称为非线性流水线 的禁止表。 由预约表得到禁止表的方法很简单,只要把预约表的 每一行中任意两个“×”之间的距离都计算出来,去掉 重复的,由这种数组成的一个集合就是这条非线性流 水线的禁止表。
非线性流水线的调度
张长明
hdjsjxtjg@ password:ncepubd
非线性流水线的表示
一条非线性流水线一般需要一个各流水段之间的连接 图和一张预约表共同来表示。
非线性流水线的冲突
向一条非线性流水线的输入端连续输入两个任 务之间的时间间隔称为非线性流水线的启动距 离或等待时间。启动距离通常用时钟周期数来 表示,它是一个正整数。
对于中间形成的每一个新的冲突向量,也要按照这一 方法进行处理。 在初始冲突向量和所有的新形成的冲突向量之间用带 箭头的线连接,表示各种状态之间的转换关系。 当新形成的冲突向量出现重复时可以合并到一起。
无冲突调度方法
下面通过一个具体的例子来说明非线性流水线 的调度方法。一条有4个流水段的非线性流水 线,每个流水段的延迟时间都相等,其预约表 如下:
基本步骤
(1)写出流水线的禁止表和初始冲突向量。 (2)画出调度流水线的状态图。
(3)求出流水线的各种启动循环和对应的平均启动距离。
(4)找出平均启动距离最小的启动循环。
禁止表和冲突向量
冲突向量用二进制数表示,其长度是禁止表中的最大 距离,每一位在向量中的位置i,对应于i个时钟周期的 启动距离,若该启动距离是禁止启动距离,则该位为1, 否则为0。