计算机原理部分总结

CRC循环校验码:

注意:二进制除法里作的是异或而不是减法。


P204页 多体并行系统

以实际数据为例,这样比较容易理解,比如说某个存储体的有2个存储芯片,每个芯片的存储周期为100ns,如果你去读数据,如果你的数据按照这种放置方法,先放第一个芯片,放满后再放第2个芯片(顺序方式)。那么你读数据的过程就是这样:

读0位置数据,等100ns,读1位置数据,等100ns读2位置数据。很容易理解。

但如果你换个方式来放,比如说我0位置是1号芯片起始,1位置是2号芯片起始位置,2位置是1号芯片第2个单元,3位置是2号芯片的第2个单元这样交叉来编址。再回忆存储周期的概念:其实从芯片中把数据读到缓冲区,再从缓冲区读到CPU,这个读的过程非常短,仅仅是个脉冲就可以解决的问题,但由于芯片的物理属性,你读一个芯片后,必须间隔一段时间才能去读。采用交叉编址后,你的读过程就像这样:

读0位置数据到缓冲区,40ns后,CPU取走了数据。这时1号芯片的100ns的周期还没过,不能去读,但幸运的是我们读的不是1号芯片,而是2号芯片,这样,我们就把2号芯片的数据读到缓冲区。过了40ns后,CPU取走数据,此时过去了80ns,我们只需再等20ns就可以继续去读3号位置数据,这样速度就比以前快了很多。

低位交叉编址又称为横向编址,连续的地址分布在相邻的存储体中,而同一存储体内的地址都是不连续的。存储器地址寄存器的低位部分经过译码选择不同的存储体,而高位部分则指向存储体内的存储字。如果采用分时启动的方法,可以在不改变每个存储体存取周期的前提下,提高整个主存的速度。


【例4-3-6】一个4体并行低位交叉存储器,每个模块的容量是64K×32位,存取周期为200ns,在以下说法中,      是正确的。
A. 在200ns内,存储器能向CPU提供256位二进制信息
B. 在200ns内,存储器能向CPU提供128位二进制信息
C. 在50ns内,每个模块能向CPU提供32位二进制信息
D. 都不对
解:对CPU来说,它可以在一个存取周期内连续访问4个模块,32位×4=128位。本题答案为B。

【例4-3-3】以下叙述中正确的是      。
Ⅰ.双端口存储器可以同时访问同一区间、同一单元
Ⅱ.当两个端口的地址码相同时,双端口存储器必然会发生冲突
Ⅲ.高位多体交叉存储器的设计依据是程序的局部性原理
Ⅳ.高位四体交叉存储器可能在一个存储周期内连续访问4个模块
A. 仅Ⅰ、Ⅲ                B. 仅Ⅱ、Ⅲ                C. 仅Ⅰ、Ⅳ                D. 仅Ⅰ
解:双端口存储器有两组相互独立的地址线、数据线和读写控制线,因此可以同时访问同一区间。当两个端口的地址码相同时,双端口存储器的读操作不会发生冲突,写操作会发生冲突。由于高位多体交叉存储器中单个存储器中的字是连续存放的,不能保证程序的局部性原理,而由于低位多体交叉存储器交叉存放,因此满足程序的局部性原理。高位四体交叉存储器仍可能一次连续读出彼此地址相差一个存储体容量的4个字,但这样读的概率较小。本题答案为C。

【例4-3-7】采用4体并行低位交叉存储器,每个模块的容量是32K×16位,存取周期为400ns,在以下说法中,      是正确的。
A. 在0.1µs内,存储器能向CPU提供26位二进制信息
B. 在0.1µs内,存储器能向CPU提供16位二进制信息
C. 在0.4µs内,存储器能向CPU提供26位二进制信息
D. 都不对
解:400ns=0.4µs,16位×4=64位=26位。本题答案为C。

【例4-3-12】多体并行方式有两种,其中高位交叉编址的多体存储器中,程序  ①  存放,而低位交叉编址的多体存储器中,程序  ②  。

解:本题答案为:① 按体内地址顺序 ② 连续存放在相邻体中。

采用多体交叉存储器时,主要由地址的低位部分来选择各个存储体。

采用多体交叉存储器时,当连续访问的存储单元位于不同的存储体时可获得较高的存取速度。

有M个存储体的低位交叉编址的多体存储器是采用模M编址方式。

【例3-2-4】两个浮点数相加,阶码用原码表示,一个数的阶码为7,另一个数的阶码为10,则需要将阶码较小的浮点数的小数点      。

A. 左移2位   B. 左移3位   C. 右移2位  D. 右移3位

解:在对阶时总是让小阶码向大阶码看齐,这里将小阶码变为10,对应的尾数相应减小,即将小阶码的尾数右移3位,相当于它的小数点左移3位。本题答案为B。

【例3-2-5】两个浮点数相加,阶码为5位(含1位符号位),阶码用二进制移码表示,x的阶码为11010(10),y的阶码为11000(8),则需要将阶码较小的浮点数的尾数      。

A. 左移2位   B. 左移3位   C. 右移2位  D. 右移3位

解:x的阶码为11010,即x=01010,对应十进制数10,y的阶码为11000,即y=01000,对应十进制数8,两者相差2,所以需要将阶码较小的浮点数y的尾数右移2位。本题答案为C。

CU微操作命令(控制信号)

http://blog.csdn.net/misskissc/article/details/40377327

猜你喜欢

转载自blog.csdn.net/cacyth/article/details/51782250