组原这门课有点学得不是很懂,现在快考试了,挑几个做错了的题分析、记录一下。
N o . 1 \mathit{No}.1 No.1 x x x、 y y y 为定点整数,其格式为 1 1 1 位符号位、 n n n 位数值位,若采用补码一位乘法实现乘法运算,则最多需要_______次加法运算。
A. n − 1 n-1 n−1
B. n n n
C. n + 1 n+1 n+1
D. n + 2 n+2 n+2
答案 C
总结一下原码一位乘法、补码一位乘法中,到底进行了多少次移位 和多少次加法 。
首先来看原码一位乘法:
原码一位乘法中,加法的次数等于 移位的次数。可以看到,如果原数据包含符号位 一共有 k k k 位,那么最后移位到只剩下 符号位,即移位 k − 1 k-1 k−1 次,加法 k − 1 k-1 k−1 次。
再来看补码一位乘法:
补码一位乘法中,加法比移位多进行 1 1 1 次。如果原数据包含符号位 一共有 k k k 位,那么会先在后面加一位"0"得到 k + 1 k+1 k+1 位的"乘数"参与运算。最后移到只剩下 2 2 2 位,即移位 k − 1 k-1 k−1 次,加法 k k k 次。
将上述结果列成下表:
乘法类型 数据位数(包括符号位) 移位次数 加法次数 原码一位乘法 k k k k − 1 k-1 k−1 k − 1 k-1 k−1 补码一位乘法 k k k k − 1 k-1 k−1 k k k 套用上表的结果,此题属于补码一位乘法,且 k = n + 1 k=n+1 k=n+1,因此加法次数为 k = n + 1 k=n+1 k=n+1。
N o . 2 \mathit{No}.2 No.2 某容量为 256 M B 256\mathrm{\ MB} 256 MB 的存储器由若干 4 M × 8 \mathrm{4M\times8} 4M×8 位的 DRAM 芯片构成,该 DRAM 芯片的地址引脚和数据引脚总数是______。
A. 19 19 19
B. 22 22 22
C. 30 30 30
D. 36 36 36
答案 A
此题容易误选 C。该 DRAM 芯片的数据引脚数肯定是 8 8 8,但是地址引脚数是 11 11 11。因为 DRAM 采用的地址复用技术,分两次将行地址 ( 11 11 11 位)与列地址 ( 11 11 11 位)送入芯片中。如果是 SRAM,就需要有 22 22 22 个地址引脚。
N o . 3 \mathit{No}.3 No.3 假定用若干个 2 K × 4 2\mathrm K×4 2K×4 位的芯片组成一个 8 K × 8 8\rm K×8 8K×8 位的存储器,则地址 0 B 1 F H \rm{0B1FH} 0B1FH 所在芯片的最小地址是______。
A. 0000 H \rm{0000H} 0000H
B. 0600 H \rm{0600H} 0600H
C. 0700 H \rm{0700H} 0700H
D. 0800 H \rm{0800H} 0800H
答案 D
这个题首先值得一提的 8 K × 8 \rm{8K}\times 8 8K×8,它表示存储器有 8 K 8\rm K 8K 个存储单元,每个单元有 8 8 8 位(当初就是这里没弄懂),相当于是按字节编址了。可以在脑海里构想一下芯片的组织方式,首先是 2 2 2 个 2 K × 4 2\rm K\times 4 2K×4 的芯片位拓展为 2 K × 8 2\rm K\times 8 2K×8,然后用 4 4 4 个拓展后的芯片来进行字拓展。这 4 4 4 个拓展芯片就将存储器地址分为了四个部分:
存储器地址 位于第几个拓展芯片( 2 K × 8 2\rm K\times 8 2K×8 芯片) 0000 H ∼ 07 F F H \rm{0000H\sim 07FFH} 0000H∼07FFH 0 0 0 0800 H ∼ 0 F F F H \rm{0800H\sim 0FFFH} 0800H∼0FFFH 1 1 1 1000 H ∼ 17 F F H \rm{1000H\sim 17FFH} 1000H∼17FFH 2 2 2 1800 H ∼ 1 F F F H \rm{1800H\sim 1FFFH} 1800H∼1FFFH 3 3 3 自然, 0 B 1 F H \rm{0B1FH} 0B1FH 位于第 1 1 1 个拓展芯片内,该芯片的最小地址是 0800 H \rm{0800H} 0800H。
N o . 4 \mathit{No}.4 No.4 假定 DRAM 芯片中存储阵列的行数为 r r r、列数为 c c c,对于一个 2K×1 位的 DRAM 芯片,为保证其地址引脚数最少,并尽量减少刷新开销,则 r r r、 c c c 的取值分别是______。
A. 2048 2048 2048、 1 1 1
B. 64 64 64、 32 32 32
C. 32 32 32、 64 64 64
D. 1 1 1、 2048 2048 2048
答案 C
这个题当初是不会做,主要是涉及到一个考点,那就是 DRAM 因为电容容易漏电需要定期刷新数据,且刷新方式为按行刷新 。因此减少刷新开销就是降低 r r r 的值。
N o . 5 \mathit{No}.5 No.5 下列关于缺页处理的叙述中,错误的是______。
A. 缺页是在地址转换时 CPU 检测到的一种异常
B. 缺页处理由操作系统提供的缺页处理程序完成
C. 缺页处理程序根据页故障地址从外存读入所缺失的页
D. 缺页处理完成后执行发生缺页的指令的下一条指令
答案 D
缺页处理完成后,缺页处理程序返回到原来的进程,驱使引起缺页的程序重新启动。所以是重新执行发生缺页的指令,而不是执行它的下一条指令。
N o . 6 \mathit{No}.6 No.6 下列选项中,属于指令集体系结构(ISA)规定的内容是______。
I.指令字格式和指令类型
II.CPU的时钟周期
Ⅲ.通用寄存器个数和位数
IV.加法器的进位方式
A. 仅I、II
B. 仅I、II、Ⅲ
C. 仅Ⅱ、IV
D. 仅I、Ⅲ、IV
答案 B
加法器的进位方式,如是串行加法器还是并行加法器,是属于微架构 (Microarchitecture)的内容。但是也有说 CPU 的时钟周期是微架构规定的,见这篇文章,这个确实有争议。不过I、Ⅲ毫无疑问是 ISA 的范畴。
N o . 7 \mathit{No}.7 No.7 二维交叉奇偶校验编码不能全部检测以下哪种出错?
A. 2 2 2 位错
B. 3 3 3 位错
C. 4 4 4 位错
D. 5 5 5 位错
E. 6 6 6 位错
答案 CE
当初没有想到 6 6 6 位错会有哪些漏网之鱼,后面通过问老师得知下面这种 6 6 6 位错就能够逃脱检测:
[ ⋮ ⋮ ⋮ ⋯ D D D ⋯ ⋯ D D D ⋯ ⋯ D D D ⋯ ⋮ ⋮ ⋮ ] \begin{bmatrix}&\vdots&\vdots&\vdots\\ \cdots&\red{D}&\red D& D&\cdots\\ \cdots&\red D& D& \red D&\cdots\\ \cdots&D&\red D&\red D&\cdots\\ &\vdots&\vdots&\vdots\end{bmatrix} ⋯⋯⋯⋮DDD⋮⋮DDD⋮⋮DDD⋮⋯⋯⋯D D D 表示正常数据, D \red D D 表示出错的数据。这种情况下,每行每列的校验码都检测不出错误。实际上,二维交叉奇偶校验码不能全部检测的错误是除了 2 2 2 位错之外的所有偶数位错。