MENU

存储器

October 31, 2018 • Read: 226 • 计算机组成原理

存储器分类

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 01 1 1 0
0 11 1 0 1
1 01 0 1 1
1 10 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.字扩展

字扩展的目的是为了增加存储字的数量

字扩展的本质是将多片存储芯片串联,连接的数据线相同,低位地址线相同,不同的是片选信号

3.字、位扩展

Archives Tip
QR Code for this page
Tipping QR Code
Leave a Comment