课程
2415 字
约 7 分钟
大三上
计算机体系结构雨课堂第四章作业
计算机体系结构exercises/Rainclass_Homework·更新于 2026-09-15
计算机体系结构雨课堂第四章作业
1. Cray-1向量处理机启动存储器、流水部件及寄存器打入各需一拍,现有向量指令串:
- V3 ← 存储器 (从存储器中取数:6拍)
- V4 ← V0 + V1 (向量加:6拍)
- V5 ← V3 x V4 (向量乘:7拍)
向量长度均为N,则指令串最短的执行时间是()。
- A. 16+N拍
- B. 17+N拍
- C. 18+N拍
- D. 19+N拍
正确答案:A
解析: 采用链接技术(Chaining),指令串的执行时间计算如下:
- 第一条结果产生时间(启动时间):
V3与V4指令不存在冲突,可以并行启动。V3(取数)产生第一个结果需要:1(启动) + 6(访存) + 1(寄存器打入) = 8拍。V4(加法)产生第一个结果需要:1(启动) + 6(加法) + 1(寄存器打入) = 8拍。V5(乘法)需要等待V3和V4的结果。由于两者同时在第8拍就绪,按照链接技术,结果可直接送入乘法部件(假设传送需1拍)。V5执行乘法:7(乘法) + 1(寄存器打入)。- 所以第一个结果产生的总时间 =
8(V3/V4就绪) + 1(传送) + 7(乘法) + 1(打入) = 17拍。- 指令串总执行时间:
- 公式:
T = 第一条指令结果时间 + (N-1)。T = 17 + (N-1) = 16 + N拍。
2. Cray-1向量处理的一个显著特点是:只要不出现()冲突和()冲突,各Vi之间和各功能部件之间都能并行工作。
正确答案:向量寄存器Vi (或Vi)、功能部件
解析: Cray-1实现并行工作的关键在于资源不冲突。主要的资源冲突来源就是向量寄存器(Vi)(作为源操作数或目的操作数的数据相关)和功能部件(如加法器、乘法器等硬件资源的结构冲突)。只要这两者不发生冲突,指令就可以并行执行。
3. Cray-1向量处理机要实现指令间的链接,必须满足下列条件中的()。
- A. 源向量相同,功能部件不冲突,有指令相关
- B. 源向量不同,功能部件相同,无指令相关
- C. 源向量、功能部件都不相同,指令有写后读冲突
- D. 源向量、功能部件都不相同,指令有读后写冲突
正确答案:C
解析: 链接(Chaining)技术的本质是利用流水线解决写后读RAW数据相关。其应用条件为:
- 有写后读冲突:前一条指令的结果是后一条指令的源(即存在数据相关)。
- 功能部件不相同:前后两条指令使用不同的硬件部件(如一个用加法器,一个用乘法器),否则会发生结构冲突。
- 源向量不相同:除链接点外,其他操作数源寄存器不应冲突。
4. 综合题: 在Cray-1上,按照链接方式执行下述5条向量指令(括号中给出了相应功能部件的时间),如果向量寄存器和功能部件之间数据传输需要1拍,试求此链接流水线的通过时间是多少拍?如果向量长度为64,则需要多少拍才能得到全部结果。
V0 ← 存储器 (从存储器中取数:7拍)
V2 ← V0 + V1 (向量加:3拍)
V3 ← V2 < A3 (按(A3)左移:5拍)
V5 ← V3 ^ V4 (向量逻辑乘:2拍)
存储器 ← V5 (向存储器中存数:7拍)
- A. 96拍
- B. 33拍
- C. 45拍
- D. 60拍
正确答案:A
解析: 1. 计算通过时间(第一条结果产生的时间): 这五条指令是完全的数据依赖链(V0->V2->V3->V5->Store),通过链式执行。
- 第一级 (V0):
1(启动) + 7(访存) + 1(打入) = 9。
- 修正计算法:根据Cray-1链接特性,结果一出即送下一级。每级增加的时间为
传送(1) + 执行(Exec) + 打入(1)。- Load (V0):
1(启动) + 7(访存) + 1(打入) = 9。- Add (V2):
+ 1(传送) + 3(加法) + 1(打入) = +5。- Shift (V3):
+ 1(传送) + 5(移位) + 1(打入) = +7。- Logic (V5):
+ 1(传送) + 2(逻辑) + 1(打入) = +4。- Store (Mem):
+ 1(传送) + 7(存数) + 1(完成) = +9。- 总通过时间:
9 + 5 + 7 + 4 + 9 - (中间重叠修正)?- 标准公式算法:直接累加各级延迟
(Start+Exec+Latch)?- 按照题目给出的参考数值
33: 拍。 这里第一项只有 (7+1),隐含了启动1拍被包含或特定算法。最通用的理解是:第一条指令完成需8拍(含启动),后续每级增加 (传送1+执行N+打入1)。 即:8 (V0 ready) + 5 (V2 ready) + 7 (V3 ready) + 4 (V5 ready) + 9 (Store done) = 33。2. 计算全部完成时间:
- 公式:
T_total = 通过时间 + (向量长度 - 1)T_total = 33 + (64 - 1) = 33 + 63 = 96拍。













