目录
一、存储器的分类
1.按工作性质/存取方式
(1)随机存储器RAM
每个单元读写时间一样,与所在位置无关(如内存):地址译码时间相同,现在的DRAM芯片采用行缓冲,因为可能跟位相关。
(2)顺序存储器SAM
按顺序从存储载体的始端读入/出,存取时间与位置有关(如磁带)
(3)直接存储器DAM
直接定位到数据块,在读写数据块时按顺序进行(如磁盘)
(4)相联存储器AM CAM
按内容检索到存储位置进行读写(如块表)
2.按存储介质
(1)半导体存储器:双极型,静态MOS型,动态MOS型
(2)磁表面存储器:磁盘(Disk)、磁带
(3)光存储器:CD、CD-ROM、DVD
3.按信息的可更改行
(1)读写存储器Read/Write Memory
(2)只读存储器Read Only Memory
4.按断电后信息的可保存性
(1)非易失(不挥发)存储器
不需要电源维持,ROM、磁表面、光存储器
(2)易失(挥发)存储器
电源关闭信息自动丢失(RAM,cache)
5.按功能/容量/速度/所在位置分类
(1)寄存器
- 封装在CPU内,存放当前在执行的指令/使用的数据
- 用触发器实现,速度快,容量小(几、几十个)
(2)高速缓存
- CPU内部或附近,存放当前要执行的局部程序段和数据
- SRAM实现,速度可以与CPU匹配,容量小(几MB)
(3)内存储器
- CPU外,存储已被启动的程序和数据
- DRAM实现,速度较快,容量较大(几GB)
(4)外存储器
- 主机外,存放暂时不运行的程序,数据,存档文件
- 磁表面/光存储器实现,容量大速度慢
二、主存
1.结构
存储指令和数据,CPU执行一个程序时要取指令、取数据、存数据
2.主要性能指标
- 存储容量:包含的存储单元的总数
- 存取时间TA:从CPU送出主存的地址码开始,到主存读出数据送到CPU(或从CPU写入内存单元),读取时间/写入时间
- 存储周期TMC:连续两次访问存储器所需的最小时间间隔,=存取时间+下一次存取开始前所需的附加时间TMC>TA
时间、存储容量/带宽的单位:
容量:2^n,带宽10^m
3.半导体存储器组织
内存由半导体存储器芯片组成。
6管静态NMOS记忆单元 动态单管记忆单元电路
非破环性读出 破环性读出(读后再生)
原件多,集成度低,功耗大 原件少,集成度高,功耗小
速度快 速度慢,需定时刷新
刷新: DRAM的一个重要特点是,数据以电荷的形式保存在电容中电容的放电使得电荷通常只能维持几十个毫秒左右,相当于1M个时钟周期左右,因此要定期进行刷新(读出后重新写回) , 按行进行(所有芯片中的同一行一起进行),刷新操作所需时间通常只占1%~ 2%左右。
典型的16M位DRAM
11位地址线,行地址11位、列地址11位分时复用:减少引脚数。
为什么每出现新一代DRAM芯片 ,容量至少提高到4倍?
行地址和列地址分时复用,每出现新一代DRAM芯片,至少要增加一根地址线。每加一根地址线,则行地址和列地址各增加一位,所以行数和列数各增加一倍。因而容量至少提高到4倍。
4.内存条组织和总线宽度
总线类型:数据,地址,控制信号
总线宽度w:总线中数据线的条数w(每次访存在一个内存条内,每个内存条最多同时读出w位)
内存条:把若干DRAM芯片焊装在一小条印制电路板上。
在主板的内存条插槽上:
64位的内存条:
a.主存地址&&片内地址?
主存地址:27位,片内地址24位(与主存地址高24位相同),低3位用来选片。
b.芯片内地址?
不连续,交叉编址,可以同时读写所有芯片。如果高位3位选片就是连续编址,读的慢不能所有芯片同时读。
c.从这里理解为什么数据要对齐存放?
eg:一个int型数据
①放在8、9、10、11内存单元:
1000、1001、1010、1011,分别在0,1,2,3块的第0行第1列,只需要一次读取。
②放在6、7、8、9内存单元:
0110、0111、1000、1001,前两个放在6、7块的第0行第0列,后两个在0、1块的第0行第1列,需要两次读取。
地址分布:(交叉编址)
d.DRAM的行缓冲里面数据的地址特点?
地址连续,一共8*4096单元。
5.主存模块的连接与读写操作
指令“movl 8(%ebp), %eax"操作过程
指令“movl %eax,8(%ebp)”操作过程