🏷️ 知识点:组成原理

共 4 道相关题目

2009 年第 15 题 组成原理 选择题

某计算机主存容量为64KB, 其中ROM区为4KB,其余为RAM区,按字节编址。现要用2K×8 位 的ROM 芯片和4K×4 位的RAM 芯片来设计该存储器,则需要上述规格的ROM 芯片数和RAM芯片数 分别是()。

A.1 、15

B.2 、15

C.1 、30

D.2 、30

[tag_link]

正确答案:D

本题考查 主存容量的扩展 。

首先确定 ROM 的个数,ROM 区为 4KB, 选用 2K×8 位的 ROM 芯片,需要 4Kx8 / 2K×8 =2 片,采用字扩展方式:RAM 区为 60KB, 选用 4Kx4 位的 RAM 芯片,需要 60K×8 /4K×4 = 30 片,采用字和位同时扩展方式。


2009 年第 22 题 组成原理 选择题

下列选项中,能引起外部中断的事件是()。

A. 键盘输入

B. 除数为0

C. 浮点运算下溢

D. 访存缺页

[tag_link]

正确答案:A

外部中断 指的是 CPU 执行指令以外的事件产生的中断,通常是指来自 CPU 与内存以外的中断。

A 中键盘输入属于外部事件,每次键盘输入 CPU 都需要执行中断以读入输入数据,所以能引起外部中断。

B 中除数为 0 属于异常,也就是内中断,发生在 CPU 内部。

C 中浮点运算下溢将按机器零处理,不会产生中断。

而 D 访存缺页属于 CPU 执行指令时产生的中断,也不属于外部中断。

所以能产生外部中断的只能是输入设备键盘。


2009 年第 43 题 组成原理 综合题

(8分)某计算机的 CPU 主频为500MHz,CPI 为5(即执行每条指令平均需5个时钟周期)。假定 某外设的数据传输率为0.5MB/s, 采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断 服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出 计算过程。

(1)在中断方式下,CPU 用于该外设I/O 的时间占整个CPU 时间的百分比是多少?

(2)当该外设的数据传输率达到5M B/s时,改用DMA方式传送数据。假定每次DMA传送块大小为5000B, 且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O 的时间占整个CPU 时间的 百分比是多少?(假设DMA与 CPU 之间没有访存冲突)

[tag_link]

[tag_link]

1)按题意,外设每秒传送 0.5MB,中断时每次传送 4B。中断方式下,CPU 每次用于数据传送的时钟周期为 5×18+5×2 = 100。(2 分) 为达到外设 0.5MB/s 的数据传输率,外设每秒申请的中断次数为 0.5MB/4B = 125000。(1 分) 1s 内用于中断的开销为 100×125000 = 12500000 = 12.5M 个时钟周期。(1 分) CPU 用于外设 I/O 的时间占整个 CPU 时间的百分比为 12.5M/500M = 2.5%。(1 分)

2)当外设数据传输率提高到 5MB/s 时,改用 DMA 方式传送,每次 DMA 传送 5000B,1s 内需产生的 DMA 次数为 5MB/5000B=1000。(1 分) CPU 用于 DMA 处理的总开销为 1000×500 = 500000 = 0.5M 个时钟周期。(1 分) CPU 用于外设 I/O 的时间占整个 CPU 时间的百分比为 0.5M/500M = 0.1%。(1 分)

【评分说明】如果考生只给出正确的计算结果,未给出计算过程,每个给 2 分。


2009 年第 44 题 组成原理 综合题

(13分)某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所 有控制信号为1时表示有效、为0时表示无效。例如控制信号 MDRinE 为 1 表示允许数据从 DB 打 入 MDR,MDRin 为 1 表示允许数据从内总线打入 MDR。假设 MAR 的输出一直处于使能状态。加法 指令“ADD (R1),RO”的功能为(R0)+(R1))→(R1), 即将 R0 中的数据与 R1 的内容所指主存单元的数 据相加,并将结果送入 R1 的内容所指主存单元中保存。

2009_Q44_8

下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表 格列出指令执行阶段每个节拍的功能和有效控制信号。

[tag_link]

[tag_link]

题干已给出取值和译码阶段每个节拍的功能和有效控制信号,我们应以弄清楚取指阶段中数据通路的信息流动作为突破口,读懂每个节拍的功能和有效控制信号。然后应用到解题思路中,包括划分执行步骤、确定完成的功能、需要的控制信号。

先分析题干中提供的示例(本部分解题时不做要求): 取指令的功能是根据 PC 的内容所指主存地址,取出指令代码,经过 MDR,最终送至 R。这部分和后面的指令执行阶段的取操作数、存运算结果的方法是相通的。

C1: (PC)→MAR 在读写存储器前,必须先将地址(这里为 PC)送至 MAR。

C2: M(MAR)→MDR, (PC)+1→PC 读写的数据必须经过 DR,指令取出后 PC 自增 1。

C3: (MDR)→IR 然后将读到 MDR 中指令代码送至 IR 进行后续操作。

指令 “ADD(R1),R0” 的操作数一个在主存中,一个在寄存器中,运算结果在主存中。根据指令功能,要读出 R1 的内容所指的主存单元,必须先将 R1 的内容送至 MAR,即 (R1)→MAR。而读出的数据必须经过 MDR,即 M(MAR)→MDR。

因此,将 R1 的内容所指主存单元的数据读出到 MDR 的节拍安排如下:

C5: (R1)→MAR

C6: M(MAR)→MDR

ALU 一端是寄存器 A,MDR 或 R0 中必须有一个先写入 A 中,如 MDR。

C7: (MDR)→A

然后执行加法操作,并将结果送入寄存器 AC。

C8: (A)+(R0)→AC

之后将加法结果写回到 R1 的内容所指主存单元,注意 MAR 中的内容没有改变。 C9: (AC)→MDR

C10: (MDR)→M(MAR)

有效控制信号的安排并不难,只需看数据是流入还是流出,如流入寄存器 X 就是 Xin,流出寄存器 X 就是 Xout。还需注意其他特殊控制信号,如 PC+1、Add 等。

于是得到参考答案如下: 时钟 功能 有效控制信号

C5 MAR ← (R1) R1out, MARin

C6 MDR ← M(MAR) MemR, MDRinE

C7 A ← (MDR) MDRout, Ain

C8 AC ← (A) + (R0) R0out, Add, ACin

C9 MDR ← (AC) ACout, MDRin

C10 M(MAR) ← (MDR) MDRoutE, MemW

本题答案不唯一,如果在 C6 执行 M(MAR)→MDR 的同时,完成 (R0) → A(即选择将 (R0) 写入 A),并不会发生总线冲突,这种方案可节省 1 个节拍。