📣传送门:
第一章内容传送门:计算机组成原理学习-哈工大《计算机组成原理》第一章
第二章内容传送门:计算机组成原理学习-哈工大《计算机组成原理》第二章
第三章内容传送门:计算机组成原理学习-哈工大《计算机组成原理》第三章
一.存储器上
(一) 概述
🔔本节知识点:
- 存储器可分为那些类型?
- 现代存储器的层次结构,为什么要分层?
1.存储器的分类
存储器的分类可以从不同的角度进行划分,下面是视频和书上列举的三种分类(从存储介质,存取方式,计算机的作用三个角度进行分类)
(1) 按存储介质分类
半导体存储器:
关于什么是半导体存储器❓
搜狗百科:
半导体存储器(semi-conductor memory)是一种以半导体电路作为存储媒体的存储器,内存储器就是由称为存储器芯片的半导体集成电路组成。
按其功能可分为:随机存取存储器(简称RAM)和只读存储器(只读ROM)。体积小、存储速度快、存储密度高、与逻辑电路接口容易。实物图片:
按其功能可分为:
随机存取存储器(简称RAM)
- 静态 [SRAM(静态随机存取存储器)](https://baike.sogou.com/v7490653.htm?fromTitle=SRAM)--->Cache(解决CPU与主存之间速度不匹配问题)
只读存储器(只读ROM)
- `可编程程序只读内存(Programmable ROM,PROM)`之内部有行列式的镕丝,是需要利用电流将其烧断,写入所需的资料,但仅能写录一次。 - `可抹除可编程只读内存(Erasable Programmable Read Only Memory,EPROM)`可利用高电压将资料编程写入,抹除时将线路曝光于紫外线下,则资料可被清空,并且可重复使用。通常在封装外壳上会预留一个石英透明窗以方便曝光。 - `一次编程只读内存(One Time Programmable Read Only Memory,OTPROM)`之写入原理同EPROM,但是为了节省成本,编程写入之后就不再抹除,因此不设置透明窗。 - `电子式可抹除可编程只读内存(Electrically Erasable Programmable Read Only Memory,EEPROM)`之运作原理类似EPROM,但是抹除的方式是使用高电场来完成,因此不需要透明窗。 - `快闪存储器(Flash memory)`的每一个记忆胞都具有一个“控制闸”与“浮动闸”,利用高电场改变浮动闸的临限电压即可进行编程动作。 - `快闪存储器`,指从游戏机主文件存储器里或者正版游戏卡带提取的游戏主文件,可以在各类模拟器上使用。例如街机模拟器,GBA模拟器的ROM,正是此意。
关于RAM和ROM的区别(计算机中):
RAM | 可读可写 | 断电数据丢失(易失性) | 速度非常快 | 存储容量小 | Cache,内存条 |
---|---|---|---|---|---|
ROM | 可读不可写 | 断电数据不丢失(非易失性) | 速度快 | 存储容量较小 | BIOS存储器 |
备注:并不是所有的ROM都是不可写的,列如:PROM,EPROM,EEROM,flash ROM
关于半导体存储的优缺点:
优点:
体积小、存储速度快、存储密度高、与逻辑电路接口容易。
缺点:
和磁芯存储器不同的是,半导体存储器属于易失性存储器
(Volatile Memory),在电源中断时会使数据消失
,如RAM(Random Access Memory)
,注意ROM是非易失性。
磁表面存储器 磁头、载磁体:
关于什么是磁表面存储器❓
百度百科:
磁表面存储器是利用涂覆在载体表面的磁性材料具有两种不同的磁化状态来表示二进制信息的“0”和“1”
。将磁性材料均匀地涂覆在圆形的铝合金或塑料的载体上就成为磁盘,涂覆在聚酯塑料带上就成为磁带。
磁头是磁表面存储器用来实现“电←→磁”转换的重要装置
,一般由铁磁性材料(铁氧体或玻莫合金)制成,上面绕有读写线圈,在贴近磁表面处开有一个很窄的缝隙。见特点图片。
实物图片:
关于磁表面存储器的优缺点:
优点:
①存储容量大,位价格低;
②记录介质可以重复使用;
③记录信息可以长期保存而不丢失,甚至可以脱机存档;
④非破坏性读出,读出时不需要再生信息。
缺点:
存取速度较慢,机械结构复杂,对工作环境要求较高。
磁芯存储器 硬磁材料、环状元件:
关于什么是磁芯存储器(已过时)❓
百度百科:
磁芯存储器是随机存取计算机存储器的主要形式,存在20年。这种存储器通常被称为核心存储器,或者非正式地称为核心存储器。
核心使用微小的磁环(环),核心通过线程来写入和读取信息。
每个核心代表一点信息。 磁芯可以以两种不同的方式(顺时针或逆时针)磁化,存储在磁芯中的位为零或一,取决于磁芯的磁化方向。 布线被布置成允许单个芯被设置为1或0,并且通过向所选择的导线发送适当的电流脉冲来改变其磁化。 读取内核的过程会导致内核重置为零,从而将其擦除。 这称为破坏性读数。 在不进行读写操作时,即使关闭电源,内核也会保持最后的值。 这使它们成为非易失性的。
实物图片:
相关学习链接:
🉑推荐阅读:磁芯存储:统治存储领域20年
孤陋了,竟然不知道磁芯存储器?
光盘存储器 激光、磁光材料:
关于什么是光盘存储器❓
百度百科:
光盘存储器是(ODM Optical Disk Memory)是用于记录的薄层涂覆在基体上构成的记录介质。
不同的是基体的圆形薄片由热传导率很小、耐热性很强的有机玻璃制成。在记录薄层的表面再涂覆或沉积保护薄片,以保护记录面。记录薄层有非磁性材料和磁性材料两种,前者构成光盘介质,后者构成磁光盘介质。
实物图:
存储容量:
单面单层(DVD-5)的存储容量为4.7GB、单面双层(DVD-9)的存储容量为8.5GB、双面单层(DVD-10)的存储容量为9.4GB、双面双层(DVD-18)的存储容量为17GB。CD光盘的容量一般为700MB.
关于光盘存储器的优缺点:
优点:
存储量很大且盘片易于更换
缺点:
存储速度比硬盘低一个数量级
(2) 按存取方式分类
🔻存取时间与物理地址无关:
- 随机存储器
在程序的执行过程中
可读
可写
(RAM) - 只读存储器
在程序的执行过程中
只读
(ROM)
关于什么是随机访问存储器(RAM)❓
百度百科:
存储器是由许多触发器或其他记忆元件构成的用以存储一系列二进制数码的器件。
若字长为n位,则一个存储单元内将含有n个记忆元件或记忆单元。存储器内的记忆单元有规则地排列成m×n的矩阵形式。
另一种说法:
是一种随时可以选择任一存储单元进行存入或取出数据的存储器
,由于它既能读出又能写入数据,因此又称为“读/写存储器”,简称RAM
。
解释来源;
MBA智库.百科:随机存储器
🔻存取时间与物理地址有关:
- 顺序存取存储器 磁带
- 直接存取存储器 磁盘
关于什么是磁带❓
百度百科:
磁带(Magnetic tape)是一种非挥发性的储存媒体,由带有可磁化覆料的塑料带状物组成(通常是卷起)。
由于磁带是循序存取的装置,特别是一次读写大量资料的状况,因此磁带是一种传统的存储和备份方式。
实物图片:
磁带的存储容量(1GB~400GB):
关于什么是磁盘❓
百度百科:
磁盘(disk)是指利用磁记录技术存储数据的存储器。
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)。
存储容量:
来源于680时间财富网,硬盘最大多少T(2020/5/26)
(3) 按在计算机中的作用分类
2.存储器的层次结构
(1) 存储器三个主要特性的关系
计算机为什么要使用怎么多存储器?
这是由于用户的需求决定的,用户的需求往往是高速度
,大容量
,低价格
,但是没有一种存储器能够达到,为了解决这个问题,解决办法通过组合的方式来满足我们的需求,组合的方式根据下面的金字塔来搭配,存储器的金字塔分层也是根据速度,容量,价格三个角度进行划分。
(2) 缓存主存层次和主存辅存层次
存储体系:
把二种或二种以上的存储介质构成的存储器用软件,硬件及软硬结合的这种方式连接成一个整体,使得从程序员的角度看这个整体具有高速度,大容量,低价格,存储的层次结构透明,使用存储器的过程中无须关心存储器的层次结构,信息在存储结构之间的调入和调出都是由软件,硬件,软硬件相结合的机构自动完成。
🔻下面是计算机常用的二种层次结构,缓冲主存层次结构(主要看重速度)
和主存辅存层次结构(主要看重容量)
。
- 缓冲-主存通过
硬件
的方式连接成一个整体,这种层次主要解决速度问题
,CPU和主存速度不匹配问题,该存储器又称为主存储器,采用实地址/物理地址。 - 主存-辅存通过
软硬件结合
的方式连接成一个整体,这种层次主要解决容量问题
,该存储器又称为虚拟存储器,采用虚地址/逻辑地址,当进行操作(获取或存储)的时候会将虚地址/逻辑地址转换为对应的物理地址。
🔻下图来源于:主存和内存以及一些概念
在计算机中CPU的存储器指寄存器(MAR,MDR),缓冲的存储器指高速缓冲存储器(cache),主存指主存储器(内存条,显卡中的RAM芯片,接口卡中的ROM芯片等),辅存指外部存储器/辅助存储器(硬盘,U盘,光盘等)。
(二) 主存储器
🔔本节知识点:
- 主存的基本组成
- 主存与CPU之间的联系
- 主存中存储单元地址的分配
- 主存的技术指标
1.主存储器 —— 概述
(1) 主存的基本组成
- 存储体:保存程序,指令,数据
- MAR:保存存储单元的地址
- MDR:保存读/写的数据
- 读写电路:控制数据的读/写
(2) 主存与CPU之间的联系
主存与CPU之间的联系通过总线进行联系,总线可细分为地址总线,数据总线,控制总线。
数据总线
- 是CPU与内存或其他器件之间的数据传送的通道。
- 数据总线的宽度决定了CPU和外界的数据传送速度。
- 每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(即一个字节)。
- 数据总线是数据线数量之和。
地址总线
- CPU是通过地址总线来指定存储单元的。
- 地址总线决定了cpu所能访问的最大内存空间的大小。eg: 10根地址线能访问的最大的内存为1024位二进制数据(1B)
- 地址总线是地址线数量之和。
控制总线
- CPU通过控制总线对外部器件进行控制。
- 控制总线的宽度决定了CPU对外部器件的控制能力。
- 控制总线是控制线数量之和。
🔻MDR与主存之间是双向的(MDR可获取数据,也可以将MDR的数据交给主存),MAR与主存之间是单向的(MAR上的地址对应主存里具体存储单元的值),CPU对主存的操作(读和写)是单向的( CPU对主存进行读操作,写操作)
(3) 主存中存储单元地址的分配
假设主存存储字长是32位也就是说我们对这个存储器某一个单元读或者写的话一次最多可以读出或者是写入32位个01。另外呢,我们这个主存的编织,他的编织单位是字节,每一个字节都有一个地址,在这种情况下,一个存储字是32位,一个字节是八位都有一个地址,那么数据12345678H(16进制),由四个字节组成,每个字节8位刚好32位,每个字节对应一个地址,那么这个数据如何在主存储器中进行存储?。
- 大端,大尾方式(高位字节地址为字地址)
数据的高字节
保存在内存的低地址
中;数据的低字节
保存在内存的高地址
中(下图数据部分的长方形表示一个字节,即8位,也可以表示一个存储单元,一个存储单元对应一个地址)。
小端,小尾方式
数据的`高字节`保存在内存的`高地址`中;数据的`低字节`保存在内存的`低地址`中。
注意:数据的高字节和低字节不要搞混了
🔻一个地址对应一个存储单元(1字节),24根地址线可表示的最大地址数为2^24^ 即按字节寻址,24根地址线的存储容量为16MB (2^24^B=2^14^KB=2^4^MB=16MB)
🔻若字长(字的长度)为16位,表示在单位时间内CPU可处理的位数为16位,即一个字=16bit=2B,按字寻址相当于按2个字节进行寻址,即存储容量为8MW(W表示字)8MW=8 * 2MB。
🔻若字长(字的长度)为32位,表示在单位时间内CPU可处理的位数为16位,即一个字=32bit=4B,按字寻址相当于按4个字节进行寻址,即存储容量为4MW(W表示字)8MW=8 * 4MB。
(4) 主存的技术指标
存储容量: 主存
存放二进制代码的总位数
存储速度:
- 存取时间(存储器的访问时间,读出时间,写入时间)
- 存取周期(连续二次独立的存储器操作(读或写)所需的最小间隔时间读周期或写周期)
存储器的带宽: 位/秒
2.存储器 —— 半导体芯片简介
🔔本节知识点:
- 半导体存储芯片的基本结构
半导体存储芯片的译码驱动方式
- 线选法 - 重合法
(1) 半导体存储芯片的基本结构
半导体存储芯片的结构:存储矩阵,译码驱动,读写电路,相应的总线(地址线,数据线,控制线(片选线.读/写控制线))
- 译码驱动:根据地址线选择指定的存储单元
- 存储矩阵:存储01代码
- 读写电路:CPU的读/写操作
- 片选线:芯片选择线
🔻地址线为10可表示地址数2^10^个(2^10^个存储单元可表示的容量为2^10^B=1KB),数据线为4表示每一个存储单元包含4位数据,即芯片容量为1K * 4
🔻地址线为14可表示地址数2^14^个(2^14^个存储单元可表示的容量为2^14^B=16KB),数据线为1表示每一个存储单元包含1位数据,即芯片容量为16K * 1
🔻地址线为10可表示地址数2^13^个(2^13^个存储单元可表示的容量为2^13^B=8KB),数据线为8表示每一个存储单元包含8位数据,即芯片容量为8K * 8
🔻下面指的片选线是半导体的片选线,CS:芯片选择的缩写,CE:芯片的使能信号
低电平有效:
低电平有效:
🔻读/写控制线有二种方式
- 一根线,当信号是低电平的时候表示写,高电平表读
- 二根线,OE线(O输出),如果这根信号线有效(是低电平),表示输出即读操作;另一根线WE,WE有效(是低电平),表示写操作。
🔔存储芯片片选线的作用:
下面的一个长方形表示一个16K X 1 bit的芯片,要组成64K X 8 bit的存储器,可以一组8个芯片,即一组表示16k X 8bit,一共4组就可以表示64K X 8 bit的存储器,共32片芯片,每组的地址分别为(第一组:0-15K,第二组:16-31K,第三组:32-47K,第四组:48-63K),当地址为65535时(2^16^B=2^6^KB=64KB=65535),地址在第四组(64-1=63K),片选对第4组有效。
(2) 半导体 存储芯片的译码驱动方式
如何通过给定的地址找到对应的存储单元,有二种方式线选法和重合法。
🔔线选法:
🔻下面的地址A0 ~ A3,共4位地址即可构成2^4^个存储单元,共2^4^=16条字线(0 ~ 15),数据线D0 ~ D7即8位数据线,可构成16K X 8 位 的存储器。
- 当A0 ~ A3输入全0时(0000),译码器译码后只有地址线0有效,其他线无效,当进行数据读取时候,读信号会控制相应的数据线打开,使存储矩阵将数据输出到数据总线上来,并且只有给定的单元才会进行输出。
- 这种方式:要使用的字线较多,使芯片难以集成(1M=2^10^KB=2^20^B,即需要2^20^根字线,可表示2^20^个存储单元)。
🔔重合法:
- 地址采用行地址和列地址来表示,用二个译码器(行译码器,列译码器),通过行地址与列地址来锁定某个存储单元,当行地址为全0时(00000),列地址为全0(00000),即锁定(0,0)的存储单元。
- 2^20^根字线需要2K地址线(行1K=2^10^B,列1K=2^10^B共2^10^B X 2^10^B=2^20^B),相较于前面的1M少了非常多。
3.随机存取存储器 ( RAM )
🔔本节知识点:
🔻静态 RAM (SRAM)
- 保存0和1的原理是什么?
- 基本单元电路的构成是什么?
- 对单元电路如何读出和写入?
- 典型芯片的结构是什么样子的?
- 静态RAM芯片的如何进行读出和写入操作?
(1) 静态 RAM (SRAM)
🔔静态 RAM 基本电路:(用来保存0和1)
- T1 ~ T4:解决了什么样的电路来存放01
- T5 ~ T6:解决我们对存储原件进行读或写
- T7 ~ T8:选择存储单元的某一列有效(行地址表示整行有效,进而列地址决定具体的某一个存储单元有效)
- A 是触发器的源端,A’ 是触发器的非端
静态RAM基本电路的读操作
行选打开(T5,T6开),列选打开(T7,T8打开),读选择有效,VA(VA里的数据)-->T6-->T8-->读放-->Dout
A'端也是导通的,但是数据会被劫持
静态RAM基本电路的写操作
行选打开(T5,T6开),列选打开(T7,T8打开),写选择有效,二个写放大器导通,通过DIN进行输入,为了保证A'与A相反在左面进行了取反操作,左面经过DIN-->取反-->T7-->T5-->A'右面经过DIN-->T8-->T6-->A
🔔静态 RAM 芯片举例:
- A0 ~ A9:表示10根地址线,2^10^个存储单元即1K
- I/O1 ~I/O4:表示4根数据线即4位
- 存储容量:1K X 4位
- WE取反:片选线,当信号为低电平时,选择有效
- CS取反:片选线,当信号为低电平时,使能
下图是1K X 4位的存储矩阵(64 X 64基本单元电路组成),1k可表示10根地址线(A1 ~ A9),将A3 ~ A8 连接行地址译码,A0,A1,A2,A9连接列地址译码,4位表示数据线为4根对应下面的分组(第一组,第二组,第三组,第四组),一次最多可获取4位数据。
行地址输出全0表示行地址字线为0上的所有被选中
列地址输出全0表示列地址字线为0上的所有(第一组:0,第二组:16,第三组:32,第四组:48)的被选中
如果现在进行读操作,WE,CS低电平有效,
每一组当中的第0行第0列(第一组:(0,0),第二组:(0,16),第三组:(0,32),第四组:(0,48))被输出
经过列控制管
经过读写电路
进行输出,输出到对应的线路上(第一组输出到I/O1,第二组输出到I/O2,第三组输出到I/O3,第四组输出到I/O4)
RAM矩阵的写操作和上面相识
(2) 动态 RAM ( DRAM )
🔔本节课问题
- 保存0和1的原理是什么?
- 基本单元电路的构成是什么?
- 对单元电路如何读出和写入?
- 典型芯片的结构是什么样子的?
- 动态RAM芯片的如何进行读出和写入操作?
- 动态RAM为什么要刷新,刷新方法?
🔔动态 RAM 基本单元电路:
常见的动态 RAM 基本单元电路有 三管式和单管式两种。与静态RAM的触发器不同,动态RAM使用电容存储数据,电容中有电荷为1否则为0(左图为三管式,右图为单管式)。
三管式(左图):
- Cg:信息保存在Cg中
- T1,T2,T3:控制管,通过控制管进行信息的读出和写入
- 读选择线:读选择线有效,T2控制管导通
- 写选择线:写选择线有效,T3控制管导通
- T4:预充电管
单管式(右图):
- Cs:信息保存在Cs中
- T:控制管,通过控制管进行信息的读出和写入
三管式的读和写:
- 读出与原信息相反
- 写入与输入信息相同
读操作:
- T4预充电管导通,Vdd电源经过T4电管,给读取数据线充电,读选择信号有效为1,我们进行读操作,T2就会被导通。
- 如果Cg是0(没有进行充电),T1左面为低电平,不会导通,读数据线保持高电平,所以我们读取到的数据是高电平,但是实际该数据是低电平(读出与原信息相反)。
- 如果Cg是1,则 T1进行通电,那么电流就会通过 T1,T2同时放电,高电平变低电平,于是读数据线的数据就是0,但是实际数据是高电平(读出与原信息相反)。
- 所以对于读操作读出的数据最后要加一个 “非门”。
写操作:
- 写选择线有效,T3管子导通写数据线通过T3管子向Cg进行充电/放电,写数据线为高电平Cg进行充电写入的数据为1,写数据为低电平Cg进行放电写入的数据为0(写入与输入信息相同)。
单管式的读和写:
- 读入的数据有电流为1没有电流为0
- 写入时Cs充电为1,放电为0
读操作:
- 如果相应的行被选中,字线控制T进行打开,电容通过管子进行充电或者放电,如果Cs保存的是0数据线无电流。
- 如果Cs保存的是1数据线有电流。
写操作:
- 通过字线进行写入,当写入1时电容进行充电,当写入0时电容进行放电。
🔔动态 RAM 芯片举例:
三管动态RAM芯片(Intel 1103)
- 地址线为10位(A0 ~ A9),存储单元为2^10^B=1K
- 每次读出和写入只有1位
- Intel 1103芯片的容量为:1K X 1
- 行地址线经过译码器每一行都对应了二个信号,一个是读选择线,另一个是写选择线,读和写用不同的信号进行控制,也就是说行地址译码器中参加译码的不只是地址,还有读写控制信号,如果是读信号读选择线有效,如果是写信号写选择线有效
读操作:
- 行地址输入全0,选择读选择线,即第0行的读选择线有效,即0行的所有都被选中进行读操作
- 列地址输入全0,第0列被选中,即第0行第0列交叉的单元被选中
- 该单元通过读数据线把数据送到读写控制电路上,同时可以通过向外进行输出
备注: 上图中三角形为刷新放大器,使用刷新放大器是因为存储信息是通过电容进行存储的,电容会漏电,经过一段时间后电容的信号会消失,所以通过刷新放大器对电容的信号进行再现,每经过一段时间就要对电容进行刷新。
写操作:
- 行地址输入全1,写选择线有效,即31行的所有都被选中进行写操作
- 列地址输入00001,第1列被选中,即第31行第1列交叉的单元被选中
- 数据经过D端进行输入,经过读写控制电路,会被写入到第31行第1列交叉的单元中
单管动态RAM4116(16k x 1位)
4116单管芯片:这是一个 16K X 1位的存储芯片,它的特殊之处在于理应该有14根地址线(16K=2^4^K=2^14^B),但是这里只有7根,因为行地址和列地址分别进行传输,先送 7位行地址保存到芯片内的行地址缓存器,再传入列地址保存到列地址缓存器中,然后行地址和列地址分别经过行译码和列译码,选中给定的单元,并且在读写控制信号下,对存储单元进行读和写操作。下图的I/O缓存器,上面是数据输入寄存器(数据经过数据寄存器进行输入),下面是数据输出驱动(输出通过输出驱动进行输出),该芯片有一个小的控制器(时序与控制),这个控制器由行选通信号(RAS),列选通信号(CAS)和读写控制信号(WE),作为输入,产生的行时钟,列时钟和写时钟控制了芯片内部的读写操作。
下图为单管动态RAM4116(16k x 1位)外特性
读操作:
- 给定的行地址是0111111(二进制)=63(十进制)表示63行被选中,对应的63行,行选项有效,该行所有的单元都被选中
- 电容中保存的信息就会被送出,到读放大器左侧
- 如果电容中有电,读放大器左侧为1,右侧为0
- 如果电容没有电,读放大器左侧为0,右侧为1
- 给定的列地址是000000,说明第0列有效,0列处的晶体管打开,数据从63行第0列的读放大器的右侧经过晶体管,通过读/写线送到I/O缓冲然后再经过输出驱动输出信息
- 读放大器左侧有电,读放大器右侧为0,最后输出为0,没有电,右侧为1输出为1
- 读放大器右侧有电,右侧为1最后输出为1,没有电,右侧为0输出为0
备注: 撬撬板电路(读放大器):读放大器是一个撬撬板电路,类似一个触发器,使得左右两边电平相反
写操作:
- 给定的行地址是0111111(二进制)=63(十进制)表示63行被选中,对应的63行,行选项有效,该行所有的单元都被选中
- 数据输入:DIN-->数据输入-->I/O缓冲-->读/写线
- 给定的列地址是000000,说明第0列有效,0列处的晶体管打开,数据经过第0列的晶体管到读放大器的右侧,再经过读放大器的左侧,写入数据到63行0列的电容中
- 写入的数据是1,读放大器的右侧是1,左侧是0对应的写入电容的数据是0
- 写入的数据是0,读放大器的右侧是0,左侧是1对应的写入电容的数据是1
备注: 上面写入的数据是反的(写入0保存1,写入1保存0),但是读取的数据也是反的(保存1获取0,保存0获取1),即获取的数据最终就不是相反的数据,是相同的数据,不用再进行取反操作。
🔔动态 RAM 刷新:
- 动态RAM的刷新只跟行地址有关,和列地址无关(刷新某一行的数据,而不是某个存储单元的数据)
- 动态RAM的刷新只有三种方法:集中式刷新,分散式刷新,异步刷新
- 存取周期:对于某个单元存取一次数据所用的时间
- 刷新周期:存储单元恢复一次原状态的时间间隔
集中式刷新(刷新的时间集中在相对集中的时间进行操作):
在规定的一个刷新周期内,对全部的存储单元逐行进行刷新
对一个 128 x 128矩阵的存储芯片进行刷新,存取周期为 0.5us,刷新周期为2ms,共4000个存取周期。对128行进行逐行刷新共需 64us(128个存储周期=128 * 0.5us=64us)还剩3872个存取周期(4000-128=3872),用来让 CPU,I/O设备读,写维持信息。这64us不能进行读/写,CPU,I/O设备只能等待,所以这段时间成为死时间,访存区成为死区。死时间率为 128/4000=3.2%。这也是集中刷新的缺点。
分散刷新:
对每行存取单元的刷新分散到每个存储周期完成。将每个单元的存储周期分为两段,每段为0.5us,tM 段用于tR,tM 可以用于CPU等设备的读写操作;tR用于刷新。这样的好处就是没有死区,存储周期=tM+tR=0.5us+0.5us=1us。
一个128 x 128的矩阵,刷新完一次需要128us,2ms为一个刷新周期,可以将数据刷新15.6次(2000us/128us=15.625),但是刷新太过频繁,系统性能会降低
异步刷新(分散刷新+集中刷新):
存储周期是0.5us,并且在2ms内将所有行刷新一遍即可,所以每隔15.6us刷新一行(刷新128行),刷新这一行的死时间为 0.5us,如果说将这段死时间进行合理安排,比如安排CPU译码则避免了内存CPU的信息传输,避免死时间,提升工作效率