操作系统-存储管理(1)内存

记忆单元/存储基元/存储元/位元/Cell,是具有两种稳态的能够表示二进制数码0和1的物理器件。
具有相同地址的位构成一个存储单元,也称为一个编址单位
编址方式有字节编址、按字编址,是ISA规定的
 
存储器地址寄存器(Memory Address Register - MAR)用于存放主存单元地址的寄存器
存储器数据寄存器( Memory Data Register-MDR(或MBR)  )用于存放主存单元中的数据的寄存器
 
按工作性质/存取方式分类
  • 随机存取存储器 Random Access Memory (RAM) 
每个单元读写时间一样,且与各单元所在位置无关。如:内存。
PS:原意主要强调地址译码时间相同。现在的DRAM芯片采用行缓冲,因而可能因为位置不同而使访问时间有所差别。
  • 顺序存取存储器 Sequential Access Memory (SAM)
数据按顺序从存储载体的始端读出或写入,因而存取时间的长短与信息所在位置有关。例如:磁带。
  • 直接存取存储器 Direct Access Memory(DAM)
直接定位到读写数据块,在读写数据块时按顺序进行。如磁盘。
  • 相联存储器 Associate Memory(AM)
           按内容访问存储器 Content Addressed Memory (CAM)
按内容检索到存储位置进行读写。例如:快表。

相同单元字线连在一起
地址译码器的输入是地址,输出是地址驱动信号(只有一根地址驱动线被选中),可寻址范围为主存地址空间。
编址单位是指具有相同地址的位元构成的单位。编址方式一般为按字节编址。
指令执行过程中需要访间主存时,CPU首先把需访问单元的地址送到主存地址寄存器(Memory Address Register, 简称MAR)中, 然后通过地址线将主存地址送到主存中的地址寄存器, 以便地址译码器进行译码后选中相应单元, 同时,CPU将读/写控制信号通 过控制线送到主存的读写控制电路。 如果是写操作,CPU同时将要写的信息送主存数据寄存器 (Memory Data Register, 简称MDR)中, 在读写控制电路的控制下, 经数据线将信息写入选中的单元;如果是读操作, 则主存读出选中单元的内容送数据线, 然后送到MDR中。数据线的宽度与MDR的宽度相同, 地址线的宽度与MAR的宽度相同。 图中采用64位数据线, 因此, 在字节编址方式下, 每次最多可以存取8个字节的内容。 地址线的位数决定了主存地址空间的最大可寻址范围, 例如, 36 位地址的最大可寻址范围为 0 ~ 2^36 -1 。 
Flash:
Flash存储器也称为闪存, 是高密度非易失性读写存储器, 它兼有RAM和ROM的优点, 而且功耗低、 集成度高, 不需后备电源。 这种器件可在计算机内进行擦除和编程写入, 因此又称快擦型电可擦除重编程ROM。 
目前被广泛使用的U盘和存储卡等都属于Flash存储器, 也用于存放BIOS。
SRAM:
SRAM中数据保存在一对正负反馈门电路中,只要供电,数据就一直保持,不是破环性读出,无需刷新和读后再生。
      保持时:字线为0(低电平)
      写入时:位线上是被写入的二进位信息0或1;置字线为1;存储单元(触发器)按位线的状态设置成0或1
      读出时:置2个位线为高电平;置字线为1 ;存储单元状态不同,位线的输出不同
DRAM:
读写原理:字线上加高电平,使T管导通。
      写“0”时,数据线加低电平,使CS上电荷对数据线放电;写“1”时,数据线加高电平,使数据线 对CS充电;
      读出时,数据线上有一读出电压。它与CS上电荷量成正比。
优点:电路元件少,功耗小,集成度高,用于构建主存储器
缺点:速度慢、是破坏性读出(需读后再生)、需定时刷新
PS:DRAM的一个重要特点是,数据以电荷的形式保存在电容中,电容的放电使得电荷通常只能维持几十个毫秒左右,相当于1M个时钟周期左右,因此要定期进行刷新(读出后重新写回),按行进行(所有芯片中的同一行一起进行),刷新操作所需时间通常只占1%~2%左右。
字片式存储体阵列组织:
一般SRAM为字片式芯片,只在x向上译码,同时读出字线上所有位!
位片式存储体阵列组织:
位片式在字方向和位方向扩充,需要有片选信号
DRAM芯片都是位片式
 
典型的16M位DRAM:
16M位 = 4Mbx4 = 2048x2048x4 = 2^11x2^11x4
4位一编址
(1) 地址线:11根线行地址列地址分时复用,由RAS(行地址选通)和CAS(列地址选通)提供控制时序。被选中的行中的所有列进入行缓冲(用SRAM实现)中,再由列地址选出其中一列(共4个2进制位)输出。
选中的 超元(supercell)有4位,需4根数据引脚。
主存地址高位选片时,芯片内地址是连续的,这样读得慢,无法同时读写多个芯片;
现在的内存条都是交叉编址方式(同一行不同列地址不连续,间隔=芯片数),所有芯片同时读和传送。选片号其实用不着,因为每次读最少一个block。
每加一根地址线,则行地址和列地址各增加一位,所以行数和列数各增加一倍。因而容量至少提高到4倍。
行数应尽量小以减少刷新次数;最好行列数相等。
(2) 需4个位平面,对相同行、列交叉点的4位一起读/写,这4位具体同样的地址
(3) 各片同时按行刷新,需要刷新2018次。MUX是多路选择器,刷新则把刷新计数器内的值作为行地址;读写则把行地址缓冲器内的值作为行地址
刷新计数器的位数是11位,刷新计数值不需要送列译码器。
内存条就是把若干DRAM芯片焊装在一小条印制电路板上制成。
现在都没有北桥芯片了,存控直接做在CPU里,直接通过存储器总线和内存条相连。多通道并行传输。存控负责把地址分解成Channel、Rank、Bank、Row、Coloum。传送用brust方式一次传送连续地址数据,通过DQM(数据掩码信号)选择Burst传输中的哪个数据,如brust长度是4,传输4个64bit,DQM选择传输哪几个64bit。

猜你喜欢

转载自www.cnblogs.com/yangyuliufeng/p/9202637.html