计算机系统结构第五章

合集下载

计算机组成原理教案(第五章)

计算机组成原理教案(第五章)

(1) I1: ADD R1,R2,R3 ; I2: SUB R4,R1,R5 ;
3.联合控制方式
此为同步控制和异步控制相结合的方式。 情况(1) 大部分操作序列安排在固定的机器周 期中,对某些 时间难以确定的操作则以执行部件的“回答”信号作为本次操 作的结束; 情况(2) 机器周期的节拍脉冲数固定,但是各条指令周期的 机器周期数不固定。
5.4 微程序控制器
5.4.1 微命令和微操作
控 制 字 段 判别测试字段
下地址字段
按照控制字段的编码方法不同,水平型微指令又分为三种:
I. 全水平型(不译法)微指令 II. 字段译码法水平型微指令 III. 直接和译码相混合的水平型微指令。
2.垂直型微指令
微指令中设置微操作码字段,采用微操作码编译法,由 微操作码规定微指令的功能 ,称为垂直型微指令。
下面举4条垂直型微指令的微指令格式加以说明。设微指 令字长为16位,微操作码3位。
(1)寄存器-寄存器传送型微指令 (2)运算控制型微指令
(3)访问主存微指令 (4)
3.水平型微指令与垂直型微指令的比较
(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微 指令则较差。
(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间 长。
5.8.3 流水线中的主要问题
流水过程中通常会出现以下三种相关冲突,使流水线断流。
1. 资源相关
资源相关是指多条指令进入流水线后在同一机器时钟周 期内争用同一个功能部件所发生的冲突。
2. 数据相关
在一个程序中,如果必须等前一条指令执行完毕后,才能 执行后一条指令,那么这两条指令就是数据相关的。
5.8 流水CPU
5.8.1 并行处理技术

计算机导论第五章_计算机组成

计算机导论第五章_计算机组成
17:28 25
只读存储器 Read-only memory (ROM) ROM的内容是由制造商写进去的
特性1:用户只能读不能写。
特性 2 :非易失性。当切断电源后, 储存在 ROM 中的数据不会丢失。通常 用来存储那些关机后也不能丢失的程序 或数据
17:28 26
只读存储器 Read-only memory (ROM)
中央处理单元 (CPU) 用于数据的运算.
在大多数体系结构中,它有三个组成部分:
算术逻辑单元 (ALU) 控制单元
寄存器组( 快速存储单元)
17:28 8
Figure 5.2 中央处理单元(CPU)
17:28 9
算术逻辑单元 The arithmetic logic unit (ALU)
算术逻辑单元对数据进行逻辑、移位和算术运算。 逻辑运算:非、与、或、异或 移位运算:逻辑移位运算和算术移位运算。 逻辑移位运算对无符号整数进行向左或右的移位 算术移位运算对带符号整数进行向左或右的移位 算术运算:第4章已讨论整数和实数的算术运算。
17:28 15
i 内存地址用无符号二进制整数定义。
17:28 16
Example 5.1
16千兆字节是(
)字节?
A、 216
解:B
ቤተ መጻሕፍቲ ባይዱ
B、234
C、240
D、244
E、256
16千兆=24×210×220
17:28
17
Example 5.2
16T字节是(
)字节?
A、 216
解:D
B、234
C、240
需要借助激光把转换后的二进制数据刻在具 有反射能力的盘片上。 与磁盘相同,光存储设备也是以二进制数据 的形式来存储信息。

《计算机组成原理》5-指令系统

《计算机组成原理》5-指令系统
◆程序的指令序列在主存顺序存放。执行时从第一条指令 开始,逐 条取出并执行,这种程序的顺序执行过程,称为 顺序寻址方式。
◆ CPU中设置程序计数器(PC)对指令的顺序号进行计 数。PC开始时存 放程序的首地址,每执行一条指令,PC 加”1”,指出下条指令的地址, 直到程序结束。
跳跃寻址 Leabharlann 转移指令指出AA22AA33




1111 1110 A2 A3
12 位操作码
1111 1111 0000 1111 1111 0001
AA33




1111 1111 1110 A3
16 位操作码


1111 1111 1111 0000 1111 1111 1111 0001 1111 1111 1111 1111
24
双字
28
双字(地址32)▲
32
双字
36
边界未对准
地址(十进制)
字( 地址2)
半字( 地址0)
0
字节( 地址7) 字节( 地址6)
字( 地址4)
4
半字( 地址10)
半字( 地址8)
8
5.2.2 数据类型
2、数据在计算机中存放方式
存储字长内部字节的次序
例: 12345678H如何存储? 12 34 56 78H
5.3.1指令寻址
指令寻址----计算指令有效地址的方法
指令地址
指令
指令地址寻址方式
PC +1
0 LDA
11 ADD 22 DEC 33 JMP
4 LDA
5 SUB 6 INC
77 STA 88 LDA

计算机系统结构(第2版(课后习题答案

计算机系统结构(第2版(课后习题答案

word 文档下载后可自由复制编辑你计算机系统结构清华第 2 版习题解答word 文档下载后可自由复制编辑1 目录1.1 第一章(P33)1.7-1.9 (透明性概念),1.12-1.18 (Amdahl定律),1.19、1.21 、1.24 (CPI/MIPS)1.2 第二章(P124)2.3 、2.5 、2.6 (浮点数性能),2.13 、2.15 (指令编码)1.3 第三章(P202)3.3 (存储层次性能), 3.5 (并行主存系统),3.15-3.15 加 1 题(堆栈模拟),3.19 中(3)(4)(6)(8)问(地址映象/ 替换算法-- 实存状况图)word 文档下载后可自由复制编辑1.4 第四章(P250)4.5 (中断屏蔽字表/中断过程示意图),4.8 (通道流量计算/通道时间图)1.5 第五章(P343)5.9 (流水线性能/ 时空图),5.15 (2种调度算法)1.6 第六章(P391)6.6 (向量流水时间计算),6.10 (Amdahl定律/MFLOPS)1.7 第七章(P446)7.3 、7.29(互连函数计算),7.6-7.14 (互连网性质),7.4 、7.5 、7.26(多级网寻径算法),word 文档下载后可自由复制编辑7.27 (寻径/ 选播算法)1.8 第八章(P498)8.12 ( SISD/SIMD 算法)1.9 第九章(P562)9.18 ( SISD/多功能部件/SIMD/MIMD 算法)(注:每章可选1-2 个主要知识点,每个知识点可只选 1 题。

有下划线者为推荐的主要知识点。

)word 文档 下载后可自由复制编辑2 例 , 习题2.1 第一章 (P33)例 1.1,p10假设将某系统的某一部件的处理速度加快到 10倍 ,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知: Fe=0.4, Se=10,根据 Amdahl 定律S n To T n1 (1Fe )S n 1 10.6 0.4100.64 Fe Se 1.56word 文档 下载后可自由复制编辑例 1.2,p10采用哪种实现技术来求浮点数平方根 FPSQR 的操作对系统的性能影响较大。

吉林大学计算机系统结构题目整合第五章

吉林大学计算机系统结构题目整合第五章

第五章存储层次知识点汇总存储器层次结构、存储层次性能参数(平均每位价格、命中率、平均访存时间)、存储层次4个问题、CPU 访存地址分割、全相联映像、直接映像、组相联映像、查找方法、替换算法(随机、先进先出、最近最少使用法)、写直达法、写回法、按写分配、不按写分配、Cache性能分析、3C失效(强制失效、容量失效、冲突失效)、Victim Cache、伪相联映像Cache、硬件预取、编译器优化(数组合并、内外循环交换、循环融合、分块)、写缓冲合并、单字宽存储器、多字宽存储器、多体交叉存储器、存储体、虚拟存储器(页式、段式)、快表(TLB)简答题1.单级存储器的主要矛盾是什么?通常采取什么方法来解决?(知识点:多级存储器)答:主要矛盾:(1) 速度越快,每位价格就越高。

(2) 容量越大,每位价格就越低。

(3) 容量越大,速度越慢。

采取多级存储层次方法来解决。

2.“Cache-主存”和“主存-辅存”层次的主要区别是什么?(知识点:存储层次)3.在存储层次中应解决哪四个问题?(知识点:存储层次的四个问题)答:(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。

(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。

(3)替换算法:当发生失效时,应替换哪一块。

(4)写策略:当进行写访问时,应进行哪些操作。

4.地址映像方法有哪几种?它们各有什么优缺点?(知识点:地址映像)(1)全相联映像。

实现查找的机制复杂,代价高,速度慢。

Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。

(2)直接映像。

实现查找的机制简单,速度快。

Cache空间的利用率较低,块冲突概率较高,因而Cache 的失效率也高。

(3)组相联映像。

组相联是直接映像和全相联的一种折中。

5.Cache的3C失效是哪三种失效?针对每种失效给出一种降低失效率的方法。

(知识点:3C失效)答:强制性失效、容量失效、冲突失效。

计算机系统结构(高教版)张晨曦 习题答案 第五章

计算机系统结构(高教版)张晨曦 习题答案 第五章

5.1 解释下列术语多级存储层次:由若干个采用不同实现技术的存储器构成的存储器系统,各存储器处在离CPU不同距离的层次上。

使得靠近CPU的存储器速度较快,容量较小。

整个存储系统的速度接近与离CPU最近的存储器的速度,而容量和每位价格接近于最低层次的容量和价格。

全相联映像:指主存中的任一块可以被放置到Cache中的任意一个位置。

直接映像:指主存中的每一块只能被放置到Cache中唯一的一个位置。

组相联映像:指主存中的每一块可以被放置到Cache中固定的一个组中的任意位置。

替换算法:由于主存中的块比Cache中的块多,所以当要从主存中调入一个块到Cache中时,会出现该块所映像的Cache块位置已经被占用的情况。

替换算法即解决如何选择替换块的问题。

LRU:最近最少使用法。

选择近期最少被访问的块作为被替换的块。

写直达法:在执行“写”操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。

写回法:只把信息写入Cache中相应的块,该块只有在被替换时才被写回主存。

按写分配法:在写失效时,先把所写单元所在的块从主存调入Cache,然后再进行写入。

不按写分配法:写失效时,直接写入下一级存储器而不将相应的块调入Cache。

命中时间:CPU所要访问的块在Cache中,确认并取走所花费的时间开销。

失效率:CPU一次访存不命中的概率。

失效开销:CPU一次访存不命中,而额外增加的访存开销。

强制性失效:当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache。

容量失效:如果程序执行执行时所需的块不能全部调入Cache中,则当某些快被替换后,若又重新被访问,就会发生失效。

冲突失效:在组相联或直接映像Cache中,若不多的块映像到同一组中,则会出现该组中某个块被别的块替换,然后又重新被访问的情况。

2:1 Cache经验规则:大小为N的直接映像Cache的失效率约等于大小为N/2的2路组相联Cache的失效率。

计算机系统结构多媒体教程课件_第五章 多处理机系统2

计算机系统结构多媒体教程课件_第五章  多处理机系统2
• 这是顺序处理的典型算法,共需三个乘一加 循环,六级运算,见图5-37(b)所示。它 对于多处理并不合适,而采用前一式算法更 加有效,只需四级运算即可,见图5-37(a) 所示。 • 图中P为所需处理机数目;Tp为运算级数; Sp为加速度,Sp=T1/Tp;EP=Sp/P。可见, Sp>1,即运算的加速总是伴随着效率的降低。
2013-8-31 4
一、问题由来
• 当每个处理机都有自己专用的cache时, 系统效率提高,但产生cache不一致问题。
2013-8-31
5
1、共享可写数据引起的不一致
2013-8-31
6
2、进程迁移引起数据不一致
2013-8-31
7
2、进程迁移引起数据不一致
• P1、p2都有共享数据X拷贝,p2修改了X,并 采用写通过策略,同时修改内存中的X。当该 进程迁移到P1上,这时P1中仍然是X。
目录表法: (非总线结构)
主存设置目录表〈数据块地址,指示器、标志 位〉,某PE写Cache时,通知指示器中的PE处理。
2013-8-31 13
5.3.4 多处理机系统的特点
1.结构灵活性 • 相比并行处理机的专用性,多处理机系 统是要把能并行处理的任务、数组,以 及标量都进行并行处理,有较强的通用 性。因此多处理机系统要能适应更多样 化的算法,具有更灵活的结构,以实现 各种复杂的机间互联模式。
2013-8-31 14
ห้องสมุดไป่ตู้
多处理机系统的特点(cont.)
2.程序并行性 • 在多处理机中,并行性存在于指令外部, 即表现在多任务之间。为充分发挥系统 通用性的优点,便要利用多种途径:算 法、程序语言、编译、操作系统以至指 令、硬件等,尽量挖掘各种潜在的并行 性。

计算机系统结构多媒体教程课件_第五章 多处理机系统1

计算机系统结构多媒体教程课件_第五章  多处理机系统1
• 多处理机系统使用的处理机结构应能反映进程 和处理机是两个不同的实体。如果某处理机发 生故障,另一台处理机应能检索到被中断的进 程状态,使被中断的进程能继续运行。没有这 个功能,系统的可靠性大大下降。大多数处理 机把当前正在运行进程状态保存在内部寄存器 中,如何使其他处理器在必要时能访问到进程 状态,是恢复进程的关键之一。在不太损失速 度的前提下,把通用寄存器与处理机本身分开 是可能的,在系统内设置所有处理机共享的寄 存器堆可以实现上述功能。
第5章 多处理机系统
2013-8-31
1
5.1 多处理机的概念
5.1.1多处理机系统的定义
P.H.Enslow对多处理机作了下列定义: * 包含两个或两个以上功能大致相同的处理 器; * 所有处理器共享一个公共内存; * 所有处理器共享I/O通道、控制器和外围设 备; * 整个系统由统一的操作系统控制,在处理 器和程序之间实现作业、任务、程序段、数 组和数组元素等各级的全面并行。
2013-8-31 12
2.并行处理 是一种相对串行处理的信息处理方式,侧 重并发性。 (1)并行性粒度 p
G
所有处理器运算时间总 和 (Tw ) 所有处理器通讯时间总 和 (Tc )

t wi tci
i通常采用MIMD,细粒度则采用SIMD。 (2)并行性等级划分 作业级、任务级、子程序级--MIMD 循环级、语句或指令级 --SIMD
2013-8-31 2
多处理机的优点
• 很高的性能价格比 : 单处理机的性能价 格比随其规模的增大而下降 • 很高的可靠性 :冗余度大、可维护性、 可用性 • 很高的处理速度:多个处理器并行运算 • 很好的模块性:大量重复设置,结构灵 活性、可扩充性、可重构性
2013-8-31 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S2:两个尾数相加求和。
S3:规格化尾数,数前导0,左移尾数
S4:修改阶码
设4个段的延时为
S1=60ns S2=50ns S3=90ns S4=80ns
L=10ns
四个阶段最大延迟时间为90+10=100ns,流水线满载运行
时,每100ns可完成一次浮点加法操作。
顺序执行时,完成一次浮点加法操作需要的时间为:
同一功能部件所发生的冲突。例如:
时钟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
行操作栈、数据缓冲站等。先行控制结构图如下:
数据缓冲栈
5.2.2标量流水工作原理
流水是重叠方式的进步发展,如把一条指令的解释细
分为:取指、译码、执行、访存、写回寄存器五个子过程,
相邻指令之间多个子过程时间上重叠操作,如下图所示。
S空间
(功能段)建立(填入)正常(满载)排空
S5 1 2 3 4 5 n
的段数m应尽可能大,即加大流水线深度。
3.效率(E)
效率是指流水线中的各功能段的利用率。具体可用流
水线各段处于工作时间的时空区与流水各段总的时空区的
比来衡量流水线的效率。
n个任务占用的时空区
m段总的时空区
这说明效率与实际吞吐率Tp成正比。
5.2.5流水线性能分析举例
设有A,B两个向量:
A = (a1,a2,a3,a4)
T = ( n + 2) t

T = ( 2n + 1) t
重叠方式需增设指令缓冲寄存器,在执行k条指令时存放
k+1条指令。同时还要解决取操作数与取指令都要访问存
储器的冲突。
解决冲突的方法:
•使用分开的指令存储器和数据存储器,称为哈佛结构,
如Pentium处理器设置有指令Cache和数据Cache。
(2)优化编译,重新排序和调度指令序列,以消除空泡。
指令流水线有按序流动和非按序流动之分,由此数据相
关除了RAW,还有WAR和WAW,共三种类形。例如,有i和
分析k+1执行k+1
分析k+2执行k+2
空闲
解释n条指令的时间为:
T = t分1+ (max(t分i,t执i–1)) + t执n
要消除空闲等待的时间,可进行如下操作:
分析k执行k
分析k+1执行k+1
分析k+2执行k+2
T = t分1+ t执I
为此,必须采用先行控制技术,即指令预取、指令先行分
析、预取数据等。并增设有关部件,如:指令缓冲站、先
RAW相关(Read after write)。例如:
ADD R1,R2,R3 (R2) + (R3)→R1
SUB R4,R1,R5 (R1) – (R5) →R4
指令流水操作:
时钟1 2 3 4 5写R1
ADD IF ID EX MEMWB
SUB IFIDEX MEM WB
读R1
ADD指令在笫5时钟周期将运算结果写入R1,而SUB指
s1 1 2 3 4 1 2 3
t
总计算时间T = 17∆t,流出结果7个。
%
顺序串行执行,即非流水操作,所需时间为:
T1 = 4×3∆t + 3×5∆t = 27∆t,所以
这个例子表明流水线的吞吐率、效率及加速比均不是很理
想,这是由于功能切换时,要有额外的建立和排空的开销。
此外还有相关问题。流水线适合的操作是求解操作相同,
流水的物理实现称流水线,其一般结构如下:
L L L L L
输入输出
时钟
L:锁存器,锁定时间为∆tl,
Si:功能段,延迟时间为∆ts。1
流水线最高最高工作频率为:
∆ts + ∆tl
流水线有以下特点:
(1)一条流水线通常由多个流水段组成,
(2)每个流水段有专门的功能部件,相邻两个功能部
件由锁存器隔开,
(3)各流水段所需时间是一样的,
后继指令使用出现的相关称装载延迟。如下例:写R1
LOAD R1,A IF ID EXMEMWB
ADD R3,R1,R2 IFIDEX MEM WB
读R1
此时专用通路不起作用,因为从存储器读取数据是MEM
功能段,不可能提供ADD指令在EX功能段的运算用。解
决方法有两种:
(1)停顿流水线直至数据竞争消失,停顿周期称空泡。
流水线按不同的应用,有不同的结构、形式和功能:
1.按处理级别分
操作部件级:如浮点加减运算,
指令级:如指令的解释执行,
处理机级:多处理机的流水操作。
2.按功能分
单功能:只是一种连接,完成一种功能。
多功能:有多种连接组成流水控制,完成多种功能。
如不同连接实现:定点加、浮点加、定点乘
浮点向量点积等。
3.按工作方式分
2l + S1 + S2 + S3 + S4 = 20 + 60 + 50 + 90 + 80 = 300ns
采用流水线运算速度提高三倍。下图为浮点加法流水线。
P a q b
阶码
S1减法器
t= | p-q |
r=max(p,q)
L L L
尾数
r加法器
S2
L L
S3 r
L L L
阶码
S4加法器
L L
5.2.3流水线分类
指令I+1 IF ID EX MEM WB
指令I+2 IF ID EX MEM WB
指令I+3停顿IF ID EX MEM WB
5.3.2数据相关冲突
这是多条指令在流水线中重叠操作,使对操作数访问
的顺序发生变化所产生的冲突。
常见的是后继指令所需的操作数是前一指令运算的结
果,而此时结果却未产生。称此为先写后读相关,简称为
实际吞吐率
流水线在开始时有一段建立时间,结束时有一段排空时间,
还有各种相关因素使流水线无法继续流动,所以实际吞吐
率总是小于最大吞吐率。当n ›› m时,Tp ≈ Tpmax。
2.加速比(Sp)
这是流水方式的工作速度与等效的顺序串行方式的工
作速度之比,具体计算如下:
当n ›› m时,Sp ≈ m。这说明要获得高的加速比,流水线
指、分析、执行三个阶段,指令解释执行如下图所示:
设各阶段执行时间为t,解释n条指令的时间是:
若各阶段执行时间不同,分别为t取、t分、t执,则解释
n条指令时间为:
(t取i+t分i+t执i)
顺序方式控制简单,但指令串行解释速度慢,设备利用率
低。
2.重叠方式
这是使相邻指令的解释在一些阶段上的操作在时间上
重叠执行,如:
输入
输出
5.按维数分
有一维和多维之分,如脉动流水控制是平面型的。
5.2.4流水线的主要性能及其分析
衡量流水线性能主要有三个指标:
1.吞吐率(Tp)
吞吐率是指单位时间内能处理的任务数或输出的结果
数。
(1)最大吞吐率
流水线达到稳定状态后可获得的吞吐率。表示为:
如下面流水线,
∆t ∆t 3∆t ∆t
流水线工作时钟周期按max{∆ti, i=1,2…n}确定,这是直接
影响吞吐率的,所以称其为瓶颈。
提高流水线吞吐率需寻找并消除瓶颈。一般有两种方
法。
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
且输入、输出间相互独立的一大串运算,此时,流水线的
吞吐率可接近最大吞吐率,效率接近于1,而加速比也可
接近流水线的段数值。
5.3流水操作中的主要障碍
流水操作中可能出现的相关会造成流水线断流,下面
以一RISC机的一个五段流水线为例,分析流水线中可能
出现的相关和解决的办法。
不同类型指令在各流水功能段进行的操作
第五章
标量流水技术
计算机处理器的主要功能是控制指令的解释执行,为
了能引入并行处理,目前普遍使用一种经济有效的方法,
即流水控制方式。
本章讨论的是有关流水控制的概念、原理、涉及的问
题与解决的办法,以及流水控制技术的应用和进一步的发
展。
5.1控制流及其改变
按算法要求控制指令序列的先后顺序执行称控制流,
通常指令的执行顺序是相继的,但控制流经常会发生间断,
(4)流水线工作分建立、满载和排空三个阶段,
(5)流水线满载工作时,每隔∆t时间有一个结果流出
流水线。
上面流水线用于指令的解释,其实也可以用于运算操
作,例如浮点运算。下面是浮点加法运算的流水操作。
两个浮点数相加分四个阶段:
S1:对阶r = max(p,q),t = | p-q |,小阶尾数右
移t位。
静态:同一时间内只能以一种方式工作,可以是单功
能和多功能,多功能时从一种功能切换到另一
种功能,流水线必须排空,然后重新建立。
动态:同一时间内将不同的功能段连接成不同的功能
子集,完成不同的运算功能。
相关文档
最新文档