教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

j计算机体系结构第三章习题

来源:网络收集 时间:2026-08-18
导读: 第 三 章 习 题 1.1 解释下列名词术语 静态多功能流水线是指在同一段时间内,多功能流水线只能按一种方式连接,实现一种功能。 顺序流动是指任务从流水线流出的次序同流入流水线的次序一样。 异步流动是指任务从流水线流出的次序同流入流水线的次序不一样,

第 三 章 习 题

1.1 解释下列名词术语

静态多功能流水线是指在同一段时间内,多功能流水线只能按一种方式连接,实现一种功能。 顺序流动是指任务从流水线流出的次序同流入流水线的次序一样。

异步流动是指任务从流水线流出的次序同流入流水线的次序不一样,也称为乱序流动或错序流动。

1.2 什么是流水线?简述流水线的特点。

流水线是指把一个重复的过程分解为若干个子过程,一个过程的子过程可以与其它过程的不同的子过程并行进行,实现不同过程在时间上重叠进行的工作方式。实现流水线的技术方法称为流水线技术。它的特点主要有:

(1)流水线中各功能段的时间应尽量相等,否则将引起“堵塞”、“断流”等 (2)流水线需要有“装入时间”和“排空时间”。

(3)只有连续不断地提供同种任务才能充分发挥流水线的效率。

(4)在流水线的每一个功能部件的后面都要有一个缓冲寄存器,或称为锁存器、闸门寄存器等。

1.3 什么是先行控制?简述处理机采用先行控制的基本原理,描述实现先行控制的基本结构。

先行控制是指通过对任务的预处理和缓冲,以平滑功能部件工作速度上的差异,使功能部件能独立地工作,并始终处于忙碌状态,提高任务执行的速度。它实质是缓冲技术和预处理技术相结合的结果。

先行控制方式的基本原理是:当流水线中某功能段的延迟时间较长时,该功能段前面的功能段对后继任务进行预处理,预处理好的后继任务置于缓冲器中。而该功能段后面的功能段则对以前置于缓冲器的任务进行后行处理。这样,所有的功能段都处于忙碌状态。某任务的流程中,各功能段之间有等待的时间间隔,但各自的流程是连续的。当然,如果前面功能段的缓冲器已满,或者后面功能段没有后行处理任务,流水线仍是不流畅的。实现先行控制的基本结构如下图所示。

先行指令缓冲栈 指令分析器

先行读数栈 存先行操作栈 主

寄储存

存控储 运算控制器 器制器

组 器

1.4 什么是数据相关?它有哪几种类型?

数据相关是指在流水线的机器中,程序中相近的两条指令要对同一存储单元进行操作时,应有一定的先后次序,否则会导致数据供求关系上的冲突,引发程序执行错误。这种相关主要有“先写后读”相关、“先读后写”相关和“写一写”相关三种。由于数据相关对程序执行过程影响较小,仅涉及到相应指令的前后一条或几条指令的执行,所以又称为局部相关。 1.5 什么是控制相关?它有哪几种类型?

控制相关是指在流水线的机器中,由于转移指令或中断引起程序执行方向的改变,使得转移指令或中断引起的断点指令与后续指令不能同时在流水线中执行。它包括转移相关和中断相关两种。由于控制相关对程序执行过程影响较大,可能改变程序的执行方向,所以又称为全局相关。

后行写数栈 运算器 3.8 在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时

钟周期,MOVE、ADD和MUL操作分别需要2个、3个和4个时钟周期,每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。

k: MOVE R1,R0 ;R1← (R0)

k+1: MUL R0,R2,R1 ;R0← (R2)×(R1) k+2: ADD R0,R2,R3 ;R0← (R2)+(R3)

(1)就程序本身而言,可能有哪几种数据相关?

(2)在程序实际执行过程中,哪几种数据相关会引起流水线停顿?

(3)画出指令执行过程的流水线时空图,并计算完成这3条指令共需要多少个时钟周期? 解:(1)就程序本身而言,可能有三种数据相关。若3条指令顺序流动,则k指令对R1寄存器的写与k+1指令对R1寄存器的读形成的“先写后读”相关。若3条指令异步流动,则k指令对R0寄存器的读与k+1指令对R0寄存器的写形成的“先读后写”相关,k+2指令对R0寄存器的写与k+1指令对R0寄存器的写形成的“写—写”相关。

(2)在程序实际执行过程中,二种数据相关会引起流水线停顿。一是“先写后读”相关,k指令对R1的写在程序执行开始后的第四个时钟;k+1指令对R1的读对指令本身是第三个时钟,但k+1指令比k指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟要读R1。不能在同一时钟周期内读写同一寄存器,因此k+1指令应推迟一个时钟进入流水线,产生了流水线停顿。二是“写—写”相关,k+1指令对R0的写对指令本身是第六个时钟,而要求该指令进入流水线应在程序执行开始后的第三个时钟,所以对R0的写是在程序执行开始后的第八个时钟。k+2指令对R0的写对指令本身是第五个时钟,而k+2指令比k+1指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟,所以对R0的写是在程序执行开始后的第八个时钟。不能在同一时钟周期内写写同一寄存器,因此k+2指令应推迟一个时钟进入流水线,产生了流水线停顿。另外,可分析“先读后写”相关不会产生流水线的停顿。

(3)由题意可认位该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成,则程序指令执行过程的流水线时空图如下图所示。若3条指令顺序流动,共需要9个时钟周期。 空间 存数 K存数 K+1存数 K+2存数 运二 K+1运二 运一 K+1运一 K+2运一 取数 K取数 K+1取数 K+2取数 译码 K译码 K+1译码 K+2译码 取指 K取指 K+1取指 K+2取指 时间 0 1 2 3 4 5 6 7 8 9

3.9 某流水线由4个功能部件组成,每个功能部件的执行时间都为△t。当输入10个数据后,停顿5t,

又输入10个数据,如此重复。计算流水线的实际吞吐率、加速比和效率,并画出时空图。

解:该题中的流水线的任务是非连续流入的,因此不能直接应用公式直接计算,要利用时空图。题意的流水线时空图如下图所示。

空间 S4 1 2 3 4 5 6 7 8 9 10 1 2 S3 1 2 3 4 5 6 7 8 9 10 1 2 S2 1 2 3 4 5 6 7 8 9 10 1 2 S1 1 2 3 4 5 6 7 8 9 10 1 2 时间

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

TP = 10/15Δt = 0.67/Δt S = T0/TK = 10×4Δt/15Δt = 2.67 E = 4×10Δt/5×15Δt = 0.67 3.11 有一个四段指令流水线为取指(IF)、译码(ID)、执行(EX)、写回(WB),分支指令在第二个时钟

周期未决定是不是条件失败分支,在第三个时钟周期未决定是不是成功分支,还假定第一个时钟周期的操作和条件分支无关,并略去其它流水线停顿。要求:

…… 此处隐藏:3324字,全部文档内容请下载后查看。喜欢就下载吧 ……

j计算机体系结构第三章习题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/595407.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)