您的位置:首页 > 理论基础

计算机组成原理知识点(第四章:存储器)

2017-06-08 17:31 603 查看

第四章:存储器

1.存储器分类

有很多分类方式: 例如按存储介质, 按半导体等等.


1.1以存储方式来分类.

(1)随机存储器(RAM):  存储器的任何一个存储单元的内容都可以随意存取, 而且存储时间与存储单元的物理地址无关. then RAM又分为静态RAM和动态RAM.

(2)只读存储器(ROM): 只能对存储器的内容读出, 不能重写存储器. ROM一旦存储原始信息, 无论在什么时候都不能对其改写只能读取.

(3)串行访问存储器: 对其存储单元进行读或写的操作, 需要从存储器的开头开始按照顺序寻址.


1.2以在计算机的作用分类



2.存储器的层次结构



存储器的特点: 容量越小, 位价越低, 速度越快, 位价越高, 容量越大, 速度就越低

1.从图中可以看出, 寄存器是制作在CPU芯片内, 参与CPU内部的运算(逻辑运算, 算术运算)

2.主存(内存条)用来存放即将参与运行的程序和数据. 速度与CPU的寄存器相差较大

3.为了使得寄存器和主存的速度更好匹配, 在两者之间插入高速缓存(cache)

4.磁盘和可移动存储介质(U 盘等等)都是存放暂时没用到的程序和数据.

5.磁盘缓存: 实际上就是将下载到的数据先保存于系统为软件分配的内存空间中(这个内存空间被称之为"内存池"),当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏。

6.高速缓存- 主存的存在主要解决了CPU速度和主存速度不匹配的问题.

7.主存-磁盘(其他存储介质)的存在主要解决的存储系统容量的问题


3.主存储器

主存的基本组成: 以存储器为中心, 其X轴依次是 读写电路, MDR, 数据总线...其Y轴依次是驱动器, 译码器, MAR, 地址总线.
MAR: 读取主存时缓存地址.
MDR: 保存读取出来的数据.

实际上: 我们根据MAR中的地址访问存储单元时, 需要通过译码器, 驱动器才能找到存储单元.
实际上: 我们从主存中读出存储单元时,首先CPU发送存储单元地址至MAR, 然后需要经过读出放大器, 才能将被选中的存储单元送往MDR, 写入就相反呀.


3.1 存储单元的地址的分配

主存中的存储单元的空间位置, 是由单元地址号来表示, 而地址总线呢就是用来指出这些单元地址号, 就这么说把, 可以根据地址总线来读出或者写入数据至主存.

首先我们来了解一些概念:
8个二进制数 = 一个字节
两个字节 = 一个字
两个字 = 一个双字

1K=2^10
1M=2^20

寻址方式有两种: 按字节寻址, 按字寻址

对于一个有24条地址线的主存来说,
第一种情况, 现规定4个字节=一个字, 那么按字节寻址就是2^4M, 按字寻址就是(2^4)/4M
第二种情况: 现规定两个字节=一个字, 那么按字节寻址范围也是2^4M,按字寻址就是(2^4)/2M


3.2技术指标

存储容量是指主存能够存放多少个二进制数
存储容量=存储单元个数 * 存储字长(每个存储单元可以存储多少个二进制数)

也可以用字节总数来表示
存储容量=存储单元个数 * 存储字长/8(一般机器都是8个二进制数表示一个字节)

存储速度: 由存储时间和存储周期来决定
存储时间: 指的是启动一次 存储操作到完成该操作所需要的时间.
存储周期: 指的是两次 独立的存储操作之间的最小时间间隔.

存储器带宽: 表示单位时间内存储器存取的信息量.


4.半导体存储芯片

芯片内有译码驱动,存储矩阵,读写电路. 译码驱动能把地址总线送来的地址信号解释成存储单元的选择信号. 读写电路有读出放大器和写入电路. 存储芯片外通过地址总线, 数据总线和控制总线与外部连接.
存储芯片的容量由地址线和数据线的位数共同决定.
例如(地址线为10根, 数据线为4根, 芯片容量为  4*2^10K 位)

译码驱动方式: 线选法, 重合法


5.存储信息的原理

静态存储器SRAM(双极型,静态MOS型)
依靠双稳态电路内部交叉反馈的机制存储信息(电源没了, 原来的存储信息就丢失)
功耗较大,速度快,作Cache

动态存储器DRAM(动态MOS型)
依靠电容存储电荷的原理存储信息(信息在一段时间内保存, 随后即使电源还在, 信息也会丢失)
功耗较小,容量大,速度较快,作主存


6.只读存储器

按照ROM的定义, 一旦注入了原始信息, 就不能改变其信息内容, 但随着用户需要, 总希望可以任意改变ROM内的原始信息, 所以就出现了 PROM, EPROM, EEPROM

MROM(掩模型)
掩工艺制作, 只能读出, 不能写
可靠性高, 集成度高, 不能重写

PROM: 可一次编程之盾存储器

EPROM: 可擦去可变成只读存储器(用紫外光擦去并且可以重复编程)

EEPROM: 电擦去可重写只读存储器

Flash Memoey(闪存存储器)
新型的电擦去可编程ROM, 在EPROM功能基础上增加了芯片的点擦除和重新编程能力里
特点: 高密度, 可直接执行, 具有RAM的读写功能


7.存储器与CPU的连接方式

由于单个存储芯片并不够用, 所以我们要将一些小存储芯片拼接成大存储芯片.
这个就叫做位扩展, 字扩展

位扩展: (增加存储字长)两片1K*4位可组成一片1k*8位的芯片. 组合时将数据线平分.
字扩展: (增加存储器字的数量)两片1K*4位可组成一片2K*4位的芯片. 由片选信号来挑选芯片.

地址线的连接: 通常将CPU的地址线的地位与存储芯片的地址线相连, 而CPU的地址线的高位通常作为片选信号线

数据线的连接: 当没有位扩展时, 芯片们按照顺序站数据CPU的数据线, 当进行位扩展时, 每一组的芯片的数据线数应等于CPU数据线数.

读写命令线的连接: 通常与对应的线相连(高电平为读, 低电平为写)

这里会有很多计算题哦!!!!!


8.高速缓冲存储器(Cache)

工作原理: CPU想从主存中读取某一个字, 第一种: 所需要的字已经在cache中, 那么就直接访问cache.  第二种: 所需要的字不在cache, 在主存内, 此时就将字所在的主存整个字块一次过调入到cache里面, 这样主存和cache就建立了映射关系.


8.1映射关系



直接映射:

由图可以看出, 我们设主存中4个主存块为一个round, (0和4为round1, 1和5为round2 …..)每个主存块都与cache块对应. 或者这么理解, cache0包含了主0,主4,主7, cache1包含了主1, 主5, 主8.



全相联映射:

主存中任何一块都可以映射到Cache中的任何一块位置上, 可能会觉得这个映射有点乱, 所以就要有一张映射表来表明对应关系. (主存位置, cache位置)



组相联映射

相当于全相联和直接映射的综合版.

如图: 设N个主存块为一个round, 组间采用直接映射, 组内采用全相联映射. 同样, 也会有一个映射表表示对应关系: (表内容: 组号.块号.组内位置)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: