3.1
3.1
3.3
- 第一问存储容量表示方法,表示为存储单元个数 * 存储字长 bit
3.3
3.3
3.4
- 存储器带宽具体计算时,将定义的单位时间认为是秒,先算出每秒包含多少存取周期,然后每个存取周期可执行一次存储器读或者写操作,即传输32位数据,然后与所算出来的每秒包含存取周期个数相乘
3.4
3.5
-
1ms = 1000us = 1000000ns,所以1ms包含4000个存储器周期,刷新一次占用一个刷新周期 = 存储器周期,故1ms内刷新64次占用64个存储器周期,故1ms内刷新时间占存储器总操作时间的百分比 = 64 / 4000 * 100% = 1.6%
3.5
3.6
- 芯片内部采用正方形阵列——> 1M个存储元等于 1K * 1K,行,列数都为1K,
采用异步刷新时,要在最大刷新间隔平均分配刷新所有行,故刷新定时信号间隔时间 = 最大刷新间隔 / 1024行(1K) = 3.90625 us ≈ 3.9us(向下取整),由于是按行刷新,故4ms时间内至少需1024个刷新周期,以便对所有行所有存储元都刷新一次
3.6
3.7
- 异步式刷新方式,需在最大刷新间隔内平均分配刷新所有行,故刷新定时信号周期 = 8ms / 8K = 0.9765625 ≈ 0.9us ,这里结果需向下按存取周期取整,由于题干中所给存取周期单位为us,且精确到小数点后1位,故这里刷新定时信号周期时间和存取周期
格式
,单位
保持一致,之所以向下取整,是因为需保证所有行都至少被刷新一次,若向上取整,无法保证所有行都被刷新 - 由于DRAM芯片有8K行,一次刷新一行占用一个刷新周期,故对整个存储器刷新一遍需要8K = 8192个刷新周期
3.7
3.8
- 20位地址 ,故有2^20 = 1M个存储单元,每个存储单元宽度为存储字长 =
3位,一个存储字包含32/8=4个字节,故该存储器总共可存储的字节信息 = 1M * 4B = 4MB - 存储容量由512K * 8位的SRAM芯片组成,需使用这些芯片进行字位扩展,字位扩展所需的芯片数公式 = 存储器存储单元个数 * 存储字长 / 芯片存储单元个数 * 芯片字长度 = 1M * 32b / 512K * 8b = 2 * 4 = 8片
- 芯片选择地址码个数取决于芯片字扩展方向的片数,这里字扩展方向2片,故仅需1位地址用作片选地址
3.8
3.9
3.9
3.10
3.10
- (1) 需进行字位扩展,故芯片用量 = 64K * 32 b / 16K * 8b = 4 * 4 = 16片
- (2) 该存储器原理性组成图如下:
- 由于DRAM是行列地址分时复用地址引脚,故需设置地址多路选择器,
- DRAM芯片的存储单元个数为16K = 2^14,故芯片片内地址总共需14位,行列复用地址引脚,故行列地址各占地址码一半,行地址从A6~A0,列地址从A13~A7
- DRAM的特点:CS片选信号的功能由RAS行地址选通信号兼任,又刷新按行刷新,故刷新选择信号和行地址码相同,都为A6~A0
- 因进行字位扩展,存储器由多片芯片组成,故需有片选译码器来选择要操作芯片,又字扩展方向为4片,故片选信号需由2位地址码(2^2=4片)组成,片选译码器输入2个信号,输出4个片选信号,故应当选择2:4片选译码器
- CS片选信号的功能由RAS行地址选通信号兼任,故片选译码器需连接RAS信号,CAS信号需在列方向对每一列按列并联,汇集到行向的CAS横线上
CAS信号的连接 -
RAS信号的连接,如图,RAS0选中第0行所有存储芯片,RAS3信号选中第3行所有芯片
RAS信号的连接 - 行列都选择完后,要干嘛?当然是进行读写操作了,所以需要WE读写控制信号,WE信号需连接每一个芯片,以便对所有芯片进行读写控制,这里WE信号的连接每一行串联,所有行并联
- 按照DRAM芯片逻辑方框符号图,每个DRAM芯片还需要标注地址线A和数据线D,如图数据线从右往左依次是低位到高位,且同一列的所有芯片,数据线需按列串联,数据是双向的,因为DRAM可读可写,
- 地址线的连接,也和WE信号一样,需连接每一个芯片,因为所有芯片都需被刷新
存储器原理性组成图
- (3) 异步式刷新,需在最大刷新间隔内平均分配刷新所有行,故刷新定时信号周期 = 最大刷新间隔 / 行数 = 8ms / 128 = 62.5us,所有行都需被刷新一次,一个刷新周期刷新一行,故需128个刷新周期
- (4) 分散式刷新,存取周期扩大一倍,变为1us,故8ms包含8ms/1us = 8000个存取周期,一个存取周期刷新一行,芯片结构为128 * 128 * 8,故刷新一次需刷新128行,需128个存取周期,故8000个存取周期可刷新8000/128 = 62.5遍,最大刷新间隔内刷新一遍就可以,其余遍都是多余的,故多余62.5-1 = 61.5遍 注意:DRAM刷新是所有芯片同时按片内行刷新
- (5) 集中式刷新,死时间的计算:由于存取周期 = 刷新周期 = 刷新一行所需时间 = 0.5us,故对128行刷新总共需要128 * 0.5 us = 64us,故死时间 = 64us
3.11
-
地址空间分配图和译码方案如图
地址空间分配图 - 存储器与CPU连接图
- G1高电平有效,故加+5V恒正电压,MREQ,G2A,G2B低电平有效,故CPU的MREQ控制信号可以和译码器的G2A,G2B直接相连
- 3/8译码器的三个输入端分别与A15,A14,A13相连,经过译码产生片选信号
- 片内地址A12~A0需与每个芯片连接
- WE信号只与RAM相连,因为ROM只可读不可写
-
位扩展后同一列的所有芯片并联同一组数据线
3.12
3.12
3.13
- CPU有16根地址线,故可寻址单元的地址最大值为1111 1111 1111 1111 = FFFFH,可寻址范围为64KB,有8根数据线,说明机器字长 = 8 bit,通常存储字长 = 机器字长,故存储字长 = 8 bit
- 系统程序区大小 = 67FFH-6000H = 2K,用户程序区大小 = 6BFFH-6800H = 1K,系统程序工作区大小 = 6FFFH-6C00H = 1K
- (2)选片,
- 系统程序一般用ROM,系统程序区容量为2K * 8 bit,则选用一片2K * 8的EPROM
- 用户程序一般选用RAM,用户程序和用户程序工作区容量 = (1K+1K) * 8 bit,故选用4片1K * 4bit SRAM
- (3)存储器和CPU的连接
非门,与非门的小圆圈表示低电平有效- 可以用A10和译码器输出端Y5进行逻辑运算,产生
- A15恒为0,可直接与G2A相连,同理MREQ可直接和G2B相连,这几个信号都是低电平0有效,A14恒为1,可以和G1直接相连
- A13~A11作为译码器输入端产生片选信号
-
WR读写控制信号只能和SRAM相连,不能和EPROM相连
-
对SRAM来说,通过A10和Y5进行如下逻辑运算,产生2组位扩展后的SRAM片选信号
3.14
3.14
3.14
3.14
3.14
3.14
3.15
3.15
3.15
3.15
3.16
3.16
3.18
3.18
3.18
3.19
3.19
3.19
3.20
3.20
3.20
3.21
3.21
3.21
3.21
3.21