存储器分类展开目录
1. 按存储介质分类展开目录
(1)半导体存储器 TTL、MOS (易失)
(2)磁表面存储器 磁头、载磁体(非易失)
(3)磁芯存储器 硬磁材料、环状元件(非易失)
2. 按存取方式分类展开目录
(1)存取时间与物理地址无关(随机访问)
- 随机存储器 可读可写
- 只读存储器 只读
(2)存取时间与物理地址有关(串行访问)
- 顺序存取存储器 磁带
- 直接存取存储器 磁盘
3. 按在计算机中的作用分类展开目录
存储器的层次结构展开目录
1. 存储器三个主要特性的关系展开目录
从这上面我们能看到存储器分了很多种,为什么要分这么多种?因为没有一种存储器能同时满足价格低,速度快,容量大三个要求,因此我们可以利用主存的速度,辅存的容量以及辅存的价格
2. 缓存 —— 主存层次和主存 —— 辅存层次展开目录
时间局部性:一段程序在一段时间内大概率会被反复使用
空间局部性:一段程序相邻空间代码大概率会被使用
现代存储器的运行速度比上图快多了,图上只是给一个参考,各个存储器之间的速度量级比较
主存储器展开目录
1. 主存储器的基本组成展开目录
MAR 中保存了我们要访问的存储单元的地址,必须经过译码器译码以后才能选择指定的存储单元。
2.CPU 和主存的关系展开目录
数据总线连接的是 MDR 和主存。地址总线连接的是 MAR 和主存。数据总线是双向的,地址总线是单向的。
读 / 写为控制信号线。后面还会讲一种。
3. 主存中存储单元地址的分配展开目录
分配方式有两种:大端(大尾)方式;小端(小尾)方式。地址线 24 根,按字节寻址范围为 224 =16M
若字长 32 位,则一个字有 4 个字节,所以要留 2 根地址线指出该字中的哪个字节 (00,01,10,11),即寻址范围为 $2^{24−2}=4M$
若字长 16 位,则一个字有 2 个字节,所以要留 1 根地址线指出该字中的哪个字节 (0,1), 即寻址范围为 $2^{24−1}=8M$
4. 主存的技术指标展开目录
(1)存储容量
主存存放二进制代码的总位数
(2)存储速度
- 存储时间 存储器的访问时间(读出时间,写入时间)
- 存取周期 连续两次独立的存储器操作,读或写所需的最小时间间隔
(3)存储器的带宽
某段时间内,能读出或者写入的总位数。单位:位 / 秒
半导体芯片展开目录
片选线的作用:芯片选择信号,指出了此次操作的地址是不是此芯片内部的地址。$\overline {CS} \overline {CE}$ 低电平有效。CE (chip select) 芯片使能信号,CS (chip select) 芯片选择信号
地址线(单向)和数据线(双向)与芯片的容量密切相关, 举几个例子:
读写控制线:可能为一根,也可能为两根;如果为一根 $\overline {WE}$ 高电平时读,低电平时写。如果为两根则 $\overline {WE}$ 低电平写,$\overline {OE}$ 低电平读
存储芯片片选线的作用展开目录
处理器地址分配的方法通常有两种: 线选法和译码法
线选法展开目录
所谓线选法,就是直接以系统的地址线作为存储器芯片的片选信号,为此只需把用到的地址线与存储器芯片的片选端直接相连即可因为地址为 65535,对应最后一片芯片,所以最后一片芯片对应的片选信号应该是低电平(低电平有效),其他芯片的片选信号应该是高电平
我们分析一下线选法的缺点,假设有两片存储芯片,芯片容量都是 1K×4 位,CPU 地址线有 12 根,那么刚好 $A_0~A_9$ 作为地址线与两片存储芯片直接相连,$A_{10}$ 连第一片存储芯片的片选信号 $\overline {CE_{0}}$,$A_{11}$ 连第二片存储芯片的片选信号 $\overline {CE_{1}}$,那么第一片有效的二进制数据范围为(从左到右依次是高位到低位):
1000 0000 0000~1011 1111 1111(800H~BFFH)
同样的,第二片有效的二进制数据范围为:
0100 0000 0000~0111 1111 1111(400H~9FFH)
因为最高位两位作为片选信号,低位有效,这就导致了其中很大一部分数据位浪费
译码法展开目录
所谓译码法,就是利用 2-4 译码器或 3-8 译码器进行译码。以 2-4 译码器为例,首先看一下 2-4 译码器的真值表
A B | $\overline {Y3}$ $\overline {Y2}$ $\overline {Y1}$ $\overline {Y0}$ |
---|---|
0 0 | 1 1 1 0 |
0 1 | 1 1 0 1 |
1 0 | 1 0 1 1 |
1 1 | 0 1 1 1 |
译码法相较于线选法就能很好解决数据位浪费的问题,假如现在有四片芯片,每一片的规格都是 1K×4 位,CPU 地址线还是 12 根,利用 2-4 译码器,那么第四片芯片的数据范围为(从做左到右依次是高位到低位):
0000 0000 0000~0011 1111 1111(000H~3FFH)
第三片芯片的数据范围为:
0100 0000 0000~0111 1111 1111(400H~7FFH)
第二片芯片的数据范围为:
1000 0000 0000~1011 1111 1111(800H~BFFH)
第一片芯片的数据范围为:
1100 0000 0000~1111 1111 1111(C00H~FFFH)
可以看到,所有的数据位都被用上了,完全没有浪费
5. 存储器容量的扩展展开目录
1. 位扩展展开目录
位扩展的目的是为了增加存储字长。位扩展相本质是将多片存储芯片并联,连接的地址线相同,线选信号相同,不同的是数据线
2. 字扩展展开目录
字扩展的目的是为了增加存储字的数量字扩展的本质是将多片存储芯片串联,连接的数据线相同,低位地址线相同,不同的是片选信号