DB A0 A1 A12 R/W CPU MREQ A13 A14 A0 EPROM A1 8K×16 A12 CS A0 SRAM A1 8K×16 A A0 SRAM A1 8K×16 A A0 SRAM A1 8K×16 A A0 SRAM A1 8K×16 A A0 SRAM A1 4K×16 A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 A B C 3:8 译码器 图2 主存地址分布及芯片连接图
5、 某计算机指令字长16位,地址码是6位,指令有无地址、一地址和二地址3种格式,
设有N条二地址指令,无地址指令M条,试问1地址指令最多有多少条? 解:设1地址指令有X条
((24-N)*26-X)*26=M 得:X=(24-N)*26-M*2-6
6、 假设某计算机指令长度为20位,具有双操作数、单操作数和无操作数3类指令格式,
每个操作数地址规定用6位表示。 问:若操作码字段固定为8位,现已设计出m条双操作数指令,n条无操作数指令,在此情况下,这台计算机最多可以设计出多少条单操作数指令?
答:由于设定全部指令采用8位固定的OP字段,故这台计算机最多的指令条数为28=256 条。因此最多还可以设计出(256-m-n)条单操作数指令。
7、 有4级流水线分别完成取指、指令译码并取数、运算、送结果4步操作,假设完成各步操作的时间依次为100ns、80ns、50ns。
(1) 流水线的操作周期应设计为多少?
(2) 若相邻2条指令发生数据相关,而且在硬件上不采取措施,那么第2条指令要推迟多少时间进行?
(3) 如果在硬件设计上加以改进,至少需推迟多少时间?
解:
(1)流水线的操作时钟周期 t按四步操作中最长时间来考虑,所以t=100ns。 (2)两条指令发生数据相关冲突情况:
ADD R1,R2,R3; R2+R3->R1 SUB R4,R1,R5; R1-R5->R4
两条指令在流水线中执行情况如表6-4所示:
表6-4 指令在流水线上的执行情况 时钟 指令 1 2 3 4 5 6 7 ADD SUB I D I E D W E W
ADD指令在时钟4时将结果写入寄存器堆(R1),但SUB指令在时钟3时读寄存器堆(R1)。本来ADD指令应先写入R1,SUB指令后读R1,结果变成SUB指令先读R1,ADD指令后写R1,因而了发生两条指令间数据相关。如果硬件上不采取措施,第2条指令SUB应至少推迟2个操作时钟周期(2×100ns)。
(3)如果硬件上加以改进(采取旁路技术),可推迟1个操作时钟周期(100ns)。 8、指令流水线右取指(IF) 、译码(ID)、执行 (EX) 、访存(MEM)、写回寄存器堆(WB)五个过程段,共有20条指令连续输入此流水线。
(1)画出流水处理的时空图,假设时钟周期为100ns。
(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。 解:(1)
空间S 1 2 3 4 5 15 161 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 5时间TWBMEMEXIDIF? 0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t19 t20
(2)
H?n206??8.33*10条/秒 ?9(K?n?1)?(5?20?1)*100*109、 某系统总线的一个存取周期最快为3个总线时钟周期,在一个总线周期中可以存取32位数据。若总线的时钟频率为8.33MHz,则总线的带宽为多少MB/s?
解:总线的带宽=数据宽度×总线周期的最高频率 =(32/8)Byte×(8.33/3)M/s
= 11.1 MB/s
10、 某磁盘组有6片磁盘,每片可有2个记录面,存储区域内径为22cm,外径为33cm,道密度40道/cm,位密度400b/cm,转速2400 r/min。试问:
(1) 共有多少个存储面可用? (2) 共有多少个圆柱面?
(3) 整个磁盘组的总存储总量有多少? (4) 数据传送率是多少?
(5) 如果某文件长度超过一个磁盘的容量,应将它记录在同一存储面上还是记录在同一圆柱面上?为什么?
(6) 如果采用定长信息块记录格式,直接寻址的最小单位是什么?寻址命令中如何表示磁盘地址?
答:(1)6×2=12(面),共有12个存储面可用。
(2)40×(33-22)/2=220(道),共有220个圆柱面。 (3)12×22π×400×220=73×106(位)。
(4)数据传送率=(22π×400)/(60/2400)=1.1×106(b/s)=0.138×106(B/s)。 (5)记录在同一圆柱面上。因为这样安排存取速度快。
(6)如果采用定长信息块记录格式,直接寻址的最小单位是扇区。磁盘地址:驱动器号、圆柱面号、盘面号、扇区号。
11、某磁盘存储器的转速为3000r/min,共有4个记录面,5道/mm,每道记录信息为12288B,最小磁道直径为230mm,共有275道,问:
(1) 磁盘存储器的存储容量是多少? (2) 最大位密度,最小位密度是多少? (3) 磁盘数据传输率是多少? (4) 平均等待时间是多少?
给出一个磁盘地址格式方案。
答:(1)每道记录信息容量=12288字节,每个记录面信息容量=275×12288字节,共有4个记录面,所以磁盘存储器总容量为
4×275×12288字节 = 13516800字节
(2)最高位密度D1按最小磁道半径R1计算(R1 = 115mm):
D1 = 12288字节/2πR1= 17字节/mm
最低位密度D2按最大磁道半径R2计算
R2 = R1 +(275/5) = 115 + 55 = 170mm D2 = 12288字节/2πR2 = 11.5字节/mm
(3)磁盘数据传输率
r = 3000/60 = 50周/秒
N = 12288字节(每道信息容量) C = r×N = 50×12288 = 614400字节/秒
(4)平均等待时间 = 1/2r = 1/2×50 = 1/100秒= 10毫秒
(5)本地磁盘存储器假设只有一台。有4个记录面,每个记录面有275个磁道。假设每个扇区记录1024个字节,则需要12288字节/1024字节=12个扇区。由此可得如图9-29的地址格式:
14 6 5 4 3 0 柱面(磁道)号 盘面(磁头)号 扇 区 号 图9-29 地址格式
12、一台有6个盘片的磁盘组,转速为2400r/min(每分钟转速),盘面有效记录区域的外直径为30cm,内直径为20cm,记录密度为640b/m(每毫米的位数),磁道间距为0.2cm,盘片设有2个保护面,1个伺服面。试计算:
(1) 盘组的存储容量。 (2) 数据传输率。
解: (注意,需要统一单位)
(1)(2*6-3)*(30-20)/2/0.2*(2*20/2*PI*640) (2) (2*20/2*PI*640)*2400/60 13、设有两个浮点数x=2
Ex
×Sx,y=2
Ey
×Sy,Ex=(-10)2,Sx=(+0.1001)2,Ey=(+10)2,
Sy=(+0.1011)2。若尾数4位,数符1位,阶码2位,阶符1位,求x+y并写出运算步骤及结果。
解:
因x?y?2EX(Sx?Sy)(1)对阶:
△J=Ex-Ey=(-10)2-(+10)2=(-100)2 所以Ex 2=(10)2=Ey。Sx右移四位后 求X+Y要经过对阶、尾数求和及规格化等步骤。 (Ex?EY), Sx=0.00001001,经过舍入后SX=0001,经过对阶、舍入后, x?2(10)2?(0.0001)2。 (2)尾数求和: Sx+Sy 0.0001(Sx) + 0.1011(Sy) Sx+Sy=0.1100 结果为规格化数。 x?y?2(10)2?(Sx?Sy)?2(10)2(0.1100)2?(11.00)2 14、设有两个十进制数,x = -0.875 × 21,y = 0.625 × 22: (1) 将x、y的尾数转换为二进制补码形式。 (2) 设阶码2位,阶符1位,数符1位,尾数3位,通过补码运算规则求出z = x – y的二进制浮点规格化结果。 解: (1)设S1为x的尾数,S2为y的尾数,则 S1 = (-0.875)10 = (-0.111)2 [S1]补 = 1.001 S2 = (0.625)10 = (+0.101)2 [S2]补 = 0.101 (2)求z = x – y的二进制浮点规格化结果。 (A)对阶: 设x的阶码为jx,y的阶码为jy, jx = (+01)2,jy = (+10)2, jx – jy = (01)2 – (10)2 = (-01)2,小阶的尾数S1右移一位, S1 = (-0.0111)2,jx阶码加1,则jx = (10)2 = jy,经舍入后, S1 = (-0,100)2,对阶完毕。 x?2jX?S1?2(10)2?(?0.100)2 y?2jy?S2?2(10)2?(?0.101)2 (B)尾数相减 [S1]补= 11.100 + [-S2]补= 11.011 [S1-S2]补= 10.111 尾数求和绝对值大于1 尾数右移一位,最低有效位舍掉,阶码加1(右规),则[S1-S2]补 = 11.011(规 格化数),jx = jy = 11 (C)规格化结果011.1011