资源描述
存储器
12. 画出用1024×4位的存储芯片组成一个容量为64K×8位的存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。
解:设采用SRAM芯片,则:
总片数 = (64K×8位) / (1024×4位)= 64×2 = 128片
题意分析:本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。首先应确定各级的容量:
页面容量 = 总容量 / 页面数 = 64K×8 / 4 = 16K×8位,4片16K×8字串联成64K×8位
组容量 = 页面容量 / 组数 = 16K×8位 / 16 = 1K×8位,16片1K×8位字串联成16K×8位
组内片数 = 组容量 / 片容量 = 1K×8位 / 1K×4位 = 2片,两片1K×4位芯片位并联成1K×8位
存储器逻辑框图:(略)。
14. 某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:
(1)该机所允许的最大主存空间是多少?
(2)若每个模块板为32K×8位,共需几个模块板?
(3)每个模块板内共有几片RAM芯片?
(4)共有多少片RAM?
(5)CPU如何选择各模块板?
解:(1)该机所允许的最大主存空间是:218 × 8位 = 256K×8位 = 256KB
(2)模块板总数 = 256K×8 / 32K×8 = 8块
(3)板内片数 = 32K×8位 / 4K×4位 = 8×2 = 16片
(4)总片数 = 16片×8 = 128片
(5)CPU通过最高3位地址译码输出选择模板,次高3位地址译码输出选择芯片。地址格式分配如下:
15. 设CPU共有16根地址线,8根数据线,并用(低电平有效)作访存控制信号,作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区。
(2)指出选用的存储芯片类型及数量。
(3)详细画出片选逻辑。
解:(1)地址空间分配图:
系统程序区(ROM共4KB):0000H-0FFFH
用户程序区(RAM共12KB):1000H-3FFFH
(2)选片:ROM:选择4K×4位芯片2片,位并联
RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H-3FFFH)
(3)各芯片二进制地址分配如下:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
ROM1,2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
RAM1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
RAM2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
RAM3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:
图(3)
25. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?
答:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache-主存层次和主存-辅存层次均采用了程序访问的局部性原理。
28. 设主存容量为256K字,Cache容量为2K字,块长为4。
(1)设计Cache地址格式,Cache中可装入多少块数据?
(2)在直接映射方式下,设计主存地址格式。
(3)在四路组相联映射方式下,设计主存地址格式。
(4)在全相联映射方式下,设计主存地址格式。
(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。
解:(1)Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,
Cache字地址9位,字块内地址为2位
因此,Cache地址格式设计如下:
Cache字块地址(9位)
字块内地址(2位)
(2)主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,
主存字块标记为18-9-2=7位。
直接映射方式下主存地址格式如下:
主存字块标记(7位)
Cache字块地址(9位)
字块内地址(2位)
(3)根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,
主存字块标记为18-7-2=9位,主存地址格式设计如下:
主存字块标记(9位)
组地址(7位)
字块内地址(2位)
(4)在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:
主存字块标记(16位)
字块内地址(2位)
(5)若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/4=221B,
Cache容量为2K*32/4=214B,块长为4*32/4=32B=25B,字块内地址为5位,
在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:
主存字块标记(7位)
Cache字块地址(9位)
字块内地址(5位)
在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格式为:
主存字块标记(9位)
组地址(7位)
字块内地址(5位)
在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:
主存字块标记(16位)
字块内地址(5位)
30. 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。
解:cache组数:64/4=16 ,Cache容量为:64*128=213字,cache地址13位
主存共分4096/16=256区,每区16块
主存容量为:4096*128=219字,主存地址19位,地址格式如下:
主存字块标记(8位)
组地址(4位)
字块内地址(7位)
第6章 计算机的运算方法
19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。
(1)A=9/64, B=-13/32,求A+B。
(2)A=19/32,B=-17/128,求A-B。
(3)A=-3/16,B=9/32,求A+B。
(4)A=-87,B=53,求A-B。
(5)A=115,B=-24,求A+B。
解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B
[A]补=0.001 0010, [B]补=1.100 1100
[A+B]补= 0.0010010 + 1.1001100 = 1.1011110 ——无溢出
A+B= -0.010 0010B = -17/64
(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B
[A]补=0.100 1100, [B]补=1.110 1111 , [-B]补=0.001 0001
[A-B]补= 0.1001100 + 0.0010001= 0.1011101 ——无溢出
A-B= 0.101 1101B = 93/128B
(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B
[A]补=1.110 1000, [B]补= 0.010 0100
[A+B]补= 1.1101000 + 0.0100100 = 0.0001100 —— 无溢出
A+B= 0.000 1100B = 3/32
(4) A= -87= -101 0111B, B=53=110 101B
[A]补=1 010 1001, [B]补=0 011 0101, [-B]补=1 100 1011
[A-B]补= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出
(5)A=115= 111 0011B, B= -24= -11 000B
[A]补=0 1110011, [B]补=1,110 1000
[A+B]补= 0 1110011 + 1 1101000 = 0 1011011——无溢出
A+B= 101 1011B = 91
20. 用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x·y。
(1)x= 0.110 111,y= -0.101 110;
(2)x= -0.010 111,y= -0.010 101;
(3)x= 19,y= 35;
(4)x= 0.110 11,y= -0.111 01。
解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。
(1)[x]原=0.110111,[y]原=1.101110,x*=0.110111, y*=0.101110
原码一位乘:
部分积
乘数y*
说明
0.000 000
+0.000 000
101 110
部分积初值为0,乘数为0加0
0.000 000
0.000 000
+0.110 111
010 111
右移一位
乘数为1,加上x*
0.110 111
0.011 011
+0.110 111
101 011
右移一位
乘数为1,加上x*
1.010 010
0.101 001
+0.110 111
010 101
右移一位
乘数为1,加上x*
1.100 000
0.110 000
+0.000 000
001 010
右移一位
乘数为0,加上0
0.110 000
0.011 000
+0.110 111
000 101
右移一位
乘数为1,加上x*
1.001 111
0.100 111
100 010
右移一位
即x*×y*=0.100 111 100 010,z0=x0Å y0=0 Å1=1,
[x×y]原=1.100 111 100 010,x·y= -0. 100 111 100 010
原码两位乘:[-x*]补=1.001 001,2x*=1.101 110
部分积
乘数y*
Cj
说明
000 . 000 000
+001 . 101 110
00 101 110
0
部分积初值为0,Cj=0
根据yn-1ynCj=100,加2x*,保持Cj=0
001 . 101 110
0
000 . 011 011
+111 . 001 001
10 001 011
10 001 011
0
右移2位
根据yn-1ynCj=110,加[-x*]补,置Cj=1
111 . 100 100
111 . 111 001
+111 . 001 001
00 100 010
1
右移2位
根据yn-1ynCj=101,加[-x*]补,置Cj=1
111 . 000 010
111 . 110 000
+000 . 110 111
10 001 000
1
右移2位
根据yn-1ynCj=001,加x*,保持Cj=0
000 . 100 111
10 001 0
即x*×y*=0.100 111 100 010,z0=x0Å y0=0 Å1=1,
[x×y]原=1.100 111 100 010,x·y= -0. 100 111 100 010
补码一位乘:[x]补=0.110111,[-x]补=1.001001,[y]补=1.010010
部分积
乘数
Yn+1
说明
00 . 000 000
00 . 000 000
+11 . 001 001
1 010 010
0 101 001
0
0
Ynyn+1=00,部分积右移1位
Ynyn+1=10,部分积加[-x]补
11 . 001 001
右移1位
11 . 100 100
+00 . 110 111
1 010 100
1
Ynyn+1=01,部分积加[x]补
00 . 011 011
右移1位
00 . 001 101
00 . 000 110
+11 . 001 001
1 101 010
1 110 101
0
0
Ynyn+1=00,部分积右移1位
Ynyn+1=10,部分积加[-x]补
11 . 001 111
右移1位
11 . 100 111
+00 . 110 111
1 111 010
1
Ynyn+1=01,部分积加[x]补
00 . 011 110
00 . 001 111
+11 . 001 001
0 111 101
0
右移1位
Ynyn+1=10,部分积加[-x]补
11 . 011 000
0 111 10
即 [x×y]补=1.011 000 011 110,x·y= -0.100 111 100 010
第8章 CPU的结构和功能
24. 现有A、B、C、D四个中断源,其优先级由高向低按A、B、C、D顺序排列。若中断服务程序的执行时间为20µs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。
解:A、B、C、D的响优先级即处理优先级。CPU执行程序的轨迹图如下:
25. 某机有五个中断源L0、L1、L2、 L3、L4,按中断响应的优先次序由高向低排序为L0® L1®L2®L3®L4,根据下示格式,现要求中断处理次序改为L1®L4®L2®L0®L3,根据下面的格式,写出各中断源的屏蔽字。
解:各中断源屏蔽状态见下表:
中断源
屏蔽字
0
1
2
3
4
I0
1
0
0
1
0
I1
1
1
1
1
1
I2
1
0
1
1
0
I3
0
0
0
1
0
I4
1
0
1
1
1
表中:设屏蔽位=1,表示屏蔽;屏蔽位=0,表示中断开放。
26. 设某机配有A、B、C三台设备,其优先顺序按A®B®C降序排列,为改变中断处理次序,它们的中断屏蔽字设置如下:
设备
屏蔽字
A
111
B
010
C
011
请按下图所示时间轴给出的设备请求中断的时刻,画出CPU执行程序的轨迹。设A、B、C中断服务程序的执行时间均为20m s。
解:A、B、C设备的响应优先级为A最高、B次之、C最低,处理优先级为A最高、C次之、B最低。CPU执行程序的轨迹图如下:
27. 设某机有3个中断源,其优先级按1→2→3降序排列。假设中断处理时均为τ,在下图所示的时间内共发生5次中断请求,图中①表示1级中断源发出中断请求信号,其余类推,画出CPU执行程序的轨迹。
28. 设某机有4个中断源1、2、3、4,其响应优先级按1→2→3→4降序排列现要求将中断处理次序改为4→1→3→2。根据下图给出的4个中断源的请求时刻,画出CPU执行程序的轨迹。设每个中断源的中断服务程序时间均为20µs。
展开阅读全文