🏷️ 知识点:总线事务
某同步总线的时钟频率为100MHz, 宽度为32位,地址/数据线复用,每传输一个地址或数据占用一个 时钟周期。若该总线支持突发(猝发)传输方式,则一次“主存写”总线事务传输128位数据所需要的时 间至少是()。
A.20ns
B.40ns
C. 50ns
D.80ns
[tag_link]
正确答案:C
总线频率为 100 MHz,则时钟周期为 10ns。总线位宽与存储字长都是 32 位,故每一个时钟周期可传送一个 32 位存储字。猝发式发送 可以连续传送地址连续的数据,故总的传送时间为:传送地址 10ns,传送 128 位数据 40ns,共需 50ns。
一次总线事务中,主设备只需给出一个首地址,从设备就能从首地址开始的若干连续单元读出或写入 多个数据。这种总线事务方式称为()。
A. 并行传输
B. 串行传输
C. 突发传输
D. 同步传输
[tag_link]
正确答案:C
突发传输 是在一个总线周期中,可以传输多个存储地址连续的数据,即一次传输一个地址和一批地址连续的数据,并行传输是在传输中有多个数据位同时在设备之间进行的传输,串行传输是指数据的二进制代码在一条物理信道上以位为单位按时间顺序逐位传输的方式,同步传输是指传输过程由统一的时钟控制,选 C。
下列关干单周期处理器的叙述中,错误的是()。
A. 并行总线传输比串行总线传输速度快 B. 采用信号线复用技术可减少信号线数量 C. 采用突发传输方式可提高总线数据传输率 D. 采用分离事务通信方式可提高总线利用率
[tag_link]
正确答案:A
并行总线传输通常比串行总线传输速度快,但这不是绝对的。在实际时钟频率比较低的情况下,并行总线因为可以同时传输若干比特,速率确实比串行总线快。但是,随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越严重,当时钟频率提高到一定程度时,传输的数据已经无法恢复。而串行总线因为导线少,线间干扰容易控制,反而可以通过不断提高时钟频率来提高传输速率。A错误。总线复用是指一种信号线在不同的时间传输不同的信息。可以使用较少的线路传输更多的信息,从而节省了空间和成本。B正确。突发(猝发)传输是在一个总线周期中,可以传输多个存储地址连续的数据,即一次传输一个地址和一批地址连续的数据。C正确。分离事务通信即总线复用的一种,相比单一的传输线路可以提高总线的利用率。D正确。本题选A。
下列关于外部 I/O 中断的叙述中,正确的是( )。
A. 中断控制器按所接收中断请求的先后次序进行中断优先级排队 B. CPU 响应中断时,通过执行中断隐指令完成通用寄存器的保护 C. CPU 只有在处于中断允许状态时,才能响应外部设备的中断请求 D. 有中断请求时,CPU 立即暂停当前指令执行,转去执行中断服务程序
[tag_link]
正确答案:C
本题考察突发总线传输事务,中断优先级由屏蔽字决定,而不是根据请求的先后次序,因此 A 错误。中断隐指令完成的工作有:① 关中断;② 保存断点;③ 引出中断服务程序,通用寄存器的保护由中断服务程序完成,B 错误。中断允许状态即开中断后,才能响应中断请求,C 正确。有中断请求时,先要由中断隐指令完成中断前程序的状态保存,D 错误。
某 32 位计算机,CPU 主频为 800MHz,Cache 命中时的 CPI 为 4,Cache 块大小为 32 字节;主存采用 8 体交叉存储方式,每个体的存储字长为 32 位、存储周期是 40ns;存储器总线宽度为 32 位,总线时钟频率为 200MHz,支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。每次突发传送 32 字节,传送地址或者 32 位数据均需要一个总线时钟周期。请回答下列问题,要求给出理由或者计算过程。
(1) CPU 和总线的时钟周期各是多少?总线的带宽(即最大数据传输率)为多少?
(2) Cache 缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?
(3) 存储器总线完成一次读突发传送总线事务所需的时间是多少?
(4) 若程序 BP 执行过程中,共执行了 100 条指令,平均每条指令需要 1.2 次访存,Cache 缺失率是 5%,不考虑替换等开销,则 BP 的 CPU 执行时间是多少?
1)CPU 的时钟周期是主频的倒数,即 1/800MHz=1.25ns。总线的时钟周期是总线频率的倒数,即 1/200MHz=5ns。总线宽度为 32 位,故总线带宽为 4B×200MHz=800MB/s 或 4B/5ns=800MB/s。
2)Cache 块大小是 32B,因此 Cache 缺失时需要一个读突发传送总线事务读取一个主存块。
3)本题重点考查多体交叉存储器的 并行性。一次 读突发总线传输事务 包括一次地址传送和 32B 数据传送:用 1 个总线时钟周期传输地址;每隔 40ns/8=5ns 启动一个体工作(各进行 1 次存取),第一个体读数据花费 40ns,之后数据存取与数据传输重叠;用 8 个总线时钟周期传输数据。读突发传送总线事务时间:5ns+40s+8×5ns=85ns
4)BP 的 CPU 执行时间包括 Cache 命中时的指令执行时间和 Cache 缺失时带来的额外开销。命中时的指令执行时间:100×4×1.25ns=500ns。指令执行过程中 Cache 缺失时的额外开销:1.2×100×5%×85ns=510ns。BP 的 CPU 执行时间:500ns+510ns=1010ns。【评分说明】① 执行时间采用如下公式计算时,可酌情给分。执行时间=指令条数×CPI×时钟周期×命中率 + 访存次数×缺失率×缺失损失② 计算公式正确但运算结果不正确时,可酌情给分。