组原这门课有点学得不是很懂,现在快考试了,挑几个做错了的题分析、记录一下。
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 位错之外的所有偶数位错。