存储介质是指能寄存“0”、“1”两种代码并能区别两种状态的物质或元器件。
半导体存储器:存储元件由半导体器件组成的存储器称为半导体存储器
磁表面存储器:磁表面存储器是在金属或塑料基体的表面上涂一层磁性材料作为记录介质,工作时磁层随载磁体高速运转,用磁头在磁层上进行读/写操作,故称为磁表面存储器
光盘存储器:光盘存储器是应用激光在记录介质(磁光材料)上进行读/写的存储器,具有非易失性的特点
按存取方式可把存储器分为随机存储器、只读存储器、顺序存取存储器和直接存取存储器。
随机存储器(Random Access -Memory,RAM) :RAM是一种**可读/写**存储器
只读存储器(Read Only Memory, ROM)*只读**存储器是能对其存储的内容读出,而不能对其重新写人的存储器。
简而言之:知道存储器分为主存、辅存、缓存+闪存(就是U盘)、其次,要知道RAM是Random Access随机存储器 + ROM是Read Only Memory只读存储器,最后知道MOS是半导体存储器
存储器有3个主要性能指标:速度、容量和每位价格(简称位价)
一般来说,速度越高, 位价就越高;容量越大,位价就越低,而且容量越大,速度必越低
寄存器:是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。
简而言之:速度越快、容量越小、价格越高(常识)(狗头)
主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。
主存的主要技术指标是存储容量和存储速度
存储容量是指主存能存放二进制代码的总位数,即
存储容量=存储单元个数x存储字长
它的容量也可用字节总数来表示,即
存储容量=存储单元个数x存储字长/8
与存取周期密切相关的指标为存储器带宽,它表示单位时间内存储器存取的信息量,单位可用字/秒或字节/秒或位/秒表示
提高存储器的带宽,可以采用以下措施:
1.缩短存取周期。
2.增加存储字长,使每个存取周期可读/写更多的二进制位数。
3.增加存储体。
半导体存储芯片采用超大规模集成电路制造工艺,在一个芯片内集成具有记忆功能的**存储矩阵、译码驱动电路和读/写电路等**
基本概念:
数据总线、地址总线、控制线(读/写 + 片选)
一共两种方法:线选法和重合法
线选法:是用一根字选择线(字 线),直接选中一个存储单元的各位(如一个字节)。
重合法:只要用64根选择线(X、Y两个方向各32根),便可选择32 x32矩阵中的任一位。
静态RAM和动态RAM两大类。
基本概念:
存储器中用于寄存“0”和“1”代码的电路称为存储器的基本单元电路**,由MOS管组成的基本单元电路**
特点:由于静态RAM是用触发器工作原理存储信息,因此即使信息读出后,它仍保持其原状态, 不需要再生。但**电源掉电时,原存信息丢失,故它属易失性半导体存储器。**
常见的动态RAM基本单元电路有**三管式和单管式两种**,
共同特点:
这里电容刷新间隔我们固定为2毫秒,这句话一定要明白!!!!!
刷新的过程实质上是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程
集中刷新:集中刷新是在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。
两毫秒,把128行全部刷新一遍
分散刷新:分散刷新是指对每行存储单元的刷新分散到每个存取周期内完成。
每一行就刷新一次,但是在2毫秒内没行多刷新了很多遍
要在2毫秒内刷新128行,那么只要把这个2毫秒分为128份,在15.6微妙内刷新一行就行了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CEZNQo61-1667035581727)(D:\大学四年经历\计算机组成原理\图片质料\动态RAM和静态RAM的比较.png)]
PROM是可以实现一次性编程的只读存储器,由双极型电路和熔丝构成的基本单元电路。
EPROM是一种可擦除可编程只读存储器
它 是在EPROM和EEPROM工艺基础上产生的一种新型的、具有性能价格比更好、可靠性更高的可擦写非易失性存储器。它既有EPROM的价格便宜、集成度高的优点,又有EEPROM电可擦除重 写的特性。它具有整片擦除的特点,其擦除、重写的速度快。
位扩展是指增加存储字长,例如,2片1Kx4位的芯片可组成1kx8位的存储器
字扩展是指增加存储器字的数量。例如,用2片1K x8位的存储芯片可组成一个2K x8位的存储器,即存储字增加了一倍
字位扩展是指既增加存储字的数量,又增加存储字长
存储芯片与CPU芯片相连时,特别要注意片与片之间的地址线、数据线和控制线的连接。
汉明码是由Richard Hanming于1950年提出的,原码 + 检测位的编码,它**具有一位纠错能力**。
L - 1 = D +C 且 D ≥ \geq ≥ C
基本概念:
特点:
设欲检测的二进制代码为n位,为使其具有纠错能力,需增添K位检测位,组成n+ k位的 代码,安放在2k - 1
2k ≥ \geq ≥ n + k +1
基本概念:
奇偶校验位又“管着”哪一组数据呢?
第一位是“1”的索引有:1011,1001,0111,0101,0011,0001
分别对应的10进制索引为:11,9,7,5,3,1,那么,这几位上面的数据位和1号“奇偶校验位”构成了一组
从右往左(低位往高位)数,第二位是“1”的索引有:1011,1010,0111,0110,0011,0010
分别对应10进制索引为:11,10,7,6,3,2,那么,这几位上面的数据位和2号“奇偶校验位”构成了一组。
其他组同理:总结一下,就是第几组数据,就管理着那位二进制为1的。
也可以看下图:
汉明码的纠错过程实际上是对传送后的汉明码形成新的检测位Pi(i= 1,2,4,8,···),根据Pi的状态,便可直接指出错误的位置。Pi的状态是由原检测位c,及其所在小组内“1”的个数确定的。倘若按配偶原则配置的汉明码,其传送后形成新的检测位Pi应为0,否则说明传送有错,并 且还可直接指出出错的位置。由于Pi与Ci有对应关系,故Pi可由下式确定:
由此可见,传送结果P4和P2均不呈偶数,显然出了差错。那么,错在哪一位呢?仔细分析发现,只有第6位出错才会同时P4和P2不呈偶数。即P4P2 P1= 110,表示第6位出错。
根据1100101,得n=1。根据2k ≥ \geq ≥ n + k +1,可求出需增添k=4位检测位,各位的安排如下
除了寻找高速元件和采用层次结构以外,调整主存的结构也可提高访存速度。
由于程序和数据在存储体内是连续存放的,因此CPU访存取出的信息也是连续的,如果可以在一个存取周期内,从同一地址取出4条指令,然后再逐条将指令送至CPU执行,即每隔1/4 存取周期,主存向CPU送一条指令,这样显然增大了存储器的带宽,提高了单体存储器的工作速 度
简而言之:一次传输多条指令+数据
多体并行系统就是采用多体模块组成的存储器。每个模块有相同的容量和存取速度,各模 块各自都有独立的地址寄存器(MAR)、数据寄存器(MDR)、地址译码、驱动电路和读/写电路, 它们能并行工作,又能交叉工作。
简而言之:并行工作即**同时访问N个模块,同时启动,同时读出,完全并行地工作(不过,同时读出的N 个字在总线上需分时传送)**。
基本概念:
对于低位交叉的存储器,连续读取n个字所需的时间t1为
t1 = T + (n - 1) τ \tau τ
若采用高位交叉编址,则连续读取n个字所需的时 间t2为
t2 = nT
由于要求访存的请求源很多,而且访问都是随机的,这样有可能在同一时刻出现多个请求源 请求访问同一个存储体。为了防止发生两个以 上的请求源同时占用同一存储体,并防止将代码错送到另一个请求源等各种错误的发生,在存储体 内需设置一个排队器,由它来确定请求源的优先级别。
原则:
用来接受排队器的输出信号,一旦响应某请求源的请求心,CM被置”1”,以便启动节拍发生器工作。
它用来产生固定节拍,与机器主脉冲同步,使控制线路按一定时序发出信号。
由它将排队器给出的信号与节拍发生器提供的节拍信号配合,向存储器各部件发出各种控制信号,用以实现对总线控制及完成存储器读/写操作,并向请求源发出回答信号,表示存储器已 响应了请求等。
简而言之:提高访存速度的措施有:单体多字系统、多体并行系统-低位交叉、(1)SDRAM (Synchronous DRAM,同步DRAM)(2)RDRAM (Rambus DRAM)(3)带Cache的DRAM(CD RAM)
希望由高速缓存Cache来解决主存与CPU速 度的不匹配问题。
与Cache映射,将主存与缓存都分成若干块,每块内又包含若干个字,并使它们的块大小相同(即块内的字数相同)。这就**将主存的地址分成两段:高m位表示主存的块地址,低b位表示块内地址,则2m= M表示主存的块数。同样,缓存的地址也分为两段**:高c位表示缓存的块号,低b位表示块内地址,则2c=C 表示缓存块数,且C远小于M。主存与缓存地址中都用b位表示其块内字数,即B=2b反映了块 的大小,称B为块长。
主存由2n个可编址的字组成,每个字有惟一的n位地址。
CPU欲读取主存某字时,有两种可能:
CPU访问Cache命中:一种是 所需要的字已在缓存中,即可直接访问Cache(CPU与Cache之间通常一次传送一个字);
CPU访问Cache不命中:另一 种是所需的字不在Cache内,此时需将该字所在的主存整个字块一次调入Cache中(Cache与主存之间是字块传送)。
Cache的容量与块长是影响Cache效率的重要因素,通常用 ”命中率”来衡量Cache的效率
命中率是指CPU要访问的信息巳在Cache内的比率。
命中率 :
h = Nc / (Nc + Nm)
Cache- 主存系统的平均访问时间:
ta = h * tc + (1-h) * tm
访问效率:
e = tc/ta * 100% = tc / (h * tc + (1 - h) * t m) * 100%
简而言之:Cache的命中 / (Cache + 主存)的命中
由Cache存储体、地址映射变换机构、Cache替换机构几大模块组成。
简而言之:这里知道Cache的基本组成是由,Cache存储体、地址映射变换机构、替换机构、Cache的读写操作的写回法、写直达法是什么就可以了
由主存地址映射到Cache地址称为地址映射。地址映射方式很多,有直接映射(固定的映射 关系)、全相联映射(灵活性大的映射关系)、组相联映射(上述两种映射的折中)。
基本概念:
i = j mod C 或 i = j mod 2c
特点:
简而言之:把主存分为n块Cache,与之相连,
全相联映射允许主存中每一字块映射到Cache中的任何一块位置上
特点:
简而言之:主存中每一字块映射到Cache中的任何一块位置上
组相联映射是对直接映射和全相联映射的一种折中。它把Cache分为Q组,每组有R块,
基本概念:
简而言之:Q就是一组的块数!!!
i = j mod Q
如果上图看不懂,试试看看我画的图,希望对你有帮助!
当新的主存块需要调人Cache并且它的可用空间位置又被占满时,需要替换掉Cache的数据,这就产生了替换策略(算法)问题
简而言之:了解即可