计算机组成原理重点整理(白中英版) 考试必备 山东农业大学期末考试整理
一、
浮点存储:
1.若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。
解:将16进制数展开后,可得二制数格式为
0 100 00010011 0110 0000 0000 0000 0000
S 阶码(8位) 尾数(23位)
指数e=阶码-127=10000010-01111111=00000011=(3)10 包括隐藏位1的尾数
1.M=1.011 0110 0000 0000 0000 0000=1.011011 于是有 x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)10
2. 将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。
X×Y=-0.1101000101 (2) 原码阵列
x = -0.11111, y = -0.11011
符号位: x0⊕y0 = 1⊕1 = 0 x-y=-0.100001*2-4
6. 设过程段 Si所需的时间为τi,缓冲寄存器的延时为τl,线性流水线的时钟周期定义为 τ=max{τi}+τl=τm+τl 流水线处理的频率为 f=1/τ。
一个具有k 级过程段的流水线处理 n 个任务需要的时钟周
期数为Tk=k+(n-1),
所需要的时间为: T=Tk × τ
而同时,顺序完成的时间为:T=n×k×τ
k级线性流水线的加速比: *Ck = TL = n·k Tk k+(n-1) 二、 内部存储器
*闪存:高性能、低功耗、高可靠性以及移动性
*存储器:已知某64位机主存采用半导体存储器,其地址码为26位,若
使用256K×16位的DRAM芯片组成该机所允许的最大主存空间,并选用模解:首先分别将整数和分数部分转换成二进制数: 20.59375=10100.10011
然后移动小数点,使其在第1,2位之间 10100.10011=1.010010011×24 e=4于是得到: S=0, E=4+127=131, M=010010011
最后得到32位浮点数的二进制存储格式为: 01000001101001001100000000000000=(41A4C000)16
3. 假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化
浮点数x,真值表示为(非IEEE754标准):x=(-1)s×(1.M)×2E-
128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?
(1)最大正数
0 1111 1111 111 1111 1111 1111 1111 1111 x=[1+(1-2-23)]×2127 (2)最小正数
000 000 000000 000 000 000 000 000 000 00
x=1.0×2-
128 (3)最小负数
111 111 111111 111 111 111 111 111 111 11
x=-[1+(1-2-
23)]×2127 (4)最大负数
100 000 000000 000 000 000 000 000 000 00
x=-1.0×2-
128
4.用源码阵列乘法器、补码阵列乘法器分别计算xXy。 (1)x=11000 y=11111 (2) x=-01011 y=11001
(1)原码阵列
x = 0.11011, y = -0.11111
符号位: x0⊕y0 = 0⊕1 = 1
[x*y]
原 = 1, 11 0100 0101 带求补器的补码阵列
[x]补
= 0 11011, [y]补 = 1 00001 乘积符号位单独运算0⊕1=1
[x*y]补 = 0,11010,00101
带求补器的补码阵列
[x]补 = 1 00001, [y]补 = 1 00101 乘积符号位单独运算1⊕1=0
尾数部分算前求补输出│X│=11111,│y│=11011
X×Y=0.1101000101
5. 计算浮点数x+y、x-y
x = 2-101*(-0.010110), y = 2-100*0.010110 [x]浮= 11011,-0.010110 [y]浮= 11100,0.010110
Ex-Ey = 11011+00100 = 11111
规格化处理: 0.101100 阶码 11010 x+y= 0.101100*2-6 规格化处理: 1.011111 阶码 11100
编程操作:实际上是写操作。所有存储元的原始状态均处“1”
状态,这是因为擦除操作时控制栅不加正电压。编程操作的目的是为存储元的浮空栅补充电子,从而使存储元改写成“0”状态。如果某存储元仍保持“1”状态,则控制栅就不加正电压。如图(a)表示编程操作时存储元写0、写1的情况。实际上编程时只写0,不写1,因为存储元擦除后原始状态全为1。要写0,就是要在控制栅C上加正电压。一旦存储元被编程,存储的数据可保持100年之久而无需外电源。
读取操作:控制栅加上正电压。浮空栅上的负电荷量将决定
是否可以开启MOS晶体管。如果存储元原存1,可认为浮空栅不带负电,控制栅上的正电压足以开启晶体管。如果存储元原存0,可认为浮空栅带负电,控制栅上的正电压不足以克服浮动栅上的负电量,晶体管不能开启导通。当MOS晶体管开启导通时,电源VD提供从漏极D到源极S的电流。读出电路检测到有电流,表示存储元中存1,若读出电路检测到无电流,表示存储元中存0,如图(b)所示。
擦除操作:所有的存储元中浮空栅上的负电荷要全部洩放出
去。为此晶体管源极S加上正电压,这与编程操作正好相反,见图(c)所示。源极S上的正电压吸收浮空栅中的电子,从而使全部存储元变成1状态。 *cache:设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?
解:顺序存储器和交叉存储器连续读出m=4个字的信息总量
都是:
q=64b×4=256b
顺序存储器和交叉存储器连续读出4个字所需的时间分别
是:
t2=mT=4×200ns=800ns=8×10-7s
t1=T+(m-1)=200ns+350ns=350ns=35×10-7s 顺序存储器和交叉存储器的带宽分别是: W2=q/t2=256b÷(8×10-7)s=320Mb/s W1=q/t1=256b÷(35×10-7)s=730Mb/s
*CPU执行一段程序时,cache完成存取的次数为1900次,
主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。
解:
h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)=1/(5+(1-5)×0.95=83.3% ta=tc/e=50ns/0.833=60ns
块板结构形式,问:
(1) 每个模块板为1024K×64位,共需几个模块板? (2) 个模块板内共有多少DRAM芯片?
(3)主存共需多少DRAM芯片? CPU如何选择各模块板? (1)226
*64
20
64
26 2* 64个模块
(2)
220*64
210*28
*16
16 每个模块要16个DRAM芯片 (3)64*16 = 1024块
由高位地址选模块
*用16K×8位的DRAM芯片组成64K×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
解:(1)根据题意,存储总容量为64KB,故地址总线需16位。现使用16K*8位DRAM芯片,共需16片。芯片本身地址线占14位,所以采用位并联与地址串联相结合的方法来组成整个存储器,其组成逻辑图如图所示,其中使用一片2:4译码器。
(2)根据已知条件,CPU在1us内至少访存一次,而整个存储器的平均读/写周期为0.5us,如果采用集中刷新,有64us的死时间,肯定不行如果采用分散刷新,则每1us只能访存一次,也不行所以采用异步式刷新方式。假定16K*1位的DRAM芯片用128*128矩阵存储元构成,刷新时只对128行进行异步方式刷新,则刷新间隔为2ms/128 = 15.6us,可取刷新信号周期15us。刷新一遍所用时间=15us×128=1.92ms
如果觉得《计算机原理考试必备 计算机组成原理重点整理(白中英版) 考试必备》对你有帮助,请点赞、收藏,并留下你的观点哦!