计算机组成原理--主存储器

主存的基本组成
在这里插入图片描述
存储体由若跟个存储单元组成,存储单元由多个存储元件组成
存储体----存储单元(存储一串二进制串)----存储元件(存储一个0/1)
存储单元:存放一串二进制代码。
存储字:存储单元中的二进制代码
存储字长:存储单元中二进制代码位数。
存储单元按照地址进行寻址
MAR:存储器地址寄存器,反应存储单元个数。保存了存储体的地址(存储单元的编号),反应了存储单元的个数。所以MAR的位数和存储单元的个数有关。
MDR:存储器数据寄存器,反应存储字长(存储单元长度)。保存了要送入CPU中的数据或要保存到存储体中的数据或者刚刚从存储体中取出来来的数据。这个寄存器的长度和存储单元的长度相同。

在这里插入图片描述
主存中存储单元的地址分配
如12345678 H 在主存储器中如何进行存储?

1、高位字节地址为字地址(大端大尾)
在这里插入图片描述
2、低位字节地址为字地址(小端小尾)
在这里插入图片描述
寻址方式及寻址范围计算:
地址线24根,按字节寻址,地址个数 = 2^24 * 1B = 16MB
如果字长16位,按字寻址,地址个数 = 8MW
如果字长32位,按字寻址,地址个数 = 4MW

半导体存储芯片基本结构

在这里插入图片描述
在这里插入图片描述

容量计算

地址线(单向)数据线 (双向)芯片容量
1042^10 * 4 = 1K * 4
1412^14 * 1 = 16K * 1
1382^13 * 1 = 8K * 8

片选线作用
让某一组芯片同时进行工作。如下图所示,使用32片 16K * 1位的存储器组成 64K * 8 位的存储器。16 K * 1说明每个存储器的数据线为1根,要组成64K * 8 位的存储器,只需使得每次读数据是从8个16 K * 1存储器中各读取一位即可,这时候就可以使用片选线同时选中8个 16K * 1的存储器。
在这里插入图片描述

半导体芯片译码驱动方式
1、线选法
在这里插入图片描述
从上图可以看出,地址总线为4,数据总线为8,按照字节进行寻址,内存大小为16 * 8 b。通过地址线判断从那个字节进行数据的读取,换句话说,如果地址输入为0000,在只有字线0有效,其他字线无效。
线选法存在的问题:
如果容量稍大,比如为1M * 1 ,则此时有20根地址线,相应的有2^20 = 100万根字线,这样导致芯片字线非常密集,并且很难把芯片的密集程度做的很高。

2、重合法
在这里插入图片描述
对于重合法,同样如果有1M * 1的容量,此时X(行)、Y(列)各有十根地址线,对应的字线各有1024条,则公有2048跟字线。

随机存储器(RAM)
(一) 静态RAM
1、静态RAM保存0和1的原理是什么?
静态RAM使用的是触发器进行存储数据,触发器由四根晶体管构成,属于双稳态触发器,具有源端和非端用于存储数据,一方为0另一方为1,一方为1,另一方为0。
2、静态RAM基本单元电路的构成是什么?
在这里插入图片描述
在这里插入图片描述
图中是保存一个0位或者1位的电路。
行地址线选择:相当于重合法图中的Xn,每行有多个基本单元电路,行地址选中一行中所有的基本单元电路。
列地址选择:相当于重合法图中的Yn,每列有多个基本单元电路,列地址选中一列中所有的基本单元电路。
每次读取数据,需要行和列同时被选中。
T1 ~ T4为触发器,T1和T4用于存储0和1,T5和T6用于控制读取哪一端数据。
在实际的芯片中,会将虚框中的内容(T1 ~ T 4, T5和T6)进行列分布而非单独一个,T7和T8属于列开关,行列交叉点会有多个基本单元电路,能读出多位数据。
3、静态RAM对单元电路如何进行读出和写入?

(1)读操作:
在这里插入图片描述
读数据时,虽然T5开,T7开,但是非端数据到写放大器就终止了。

(2)写操作
在这里插入图片描述
写数据时,左边的写放大器把右边的写放大器的值取非后进行输出,保证A和非A端的值相反。

4、Intel 2114静态RAM芯片的结构及读写操作?
以Intel 2114芯片举例,Intel 2114 外特性如下图:
在这里插入图片描述
2114RAM芯片结构示意图
在这里插入图片描述
Intel 2114 芯片是由64 * 64位矩阵构成。由图中可知,芯片地址线9根,数据线4根,那芯片内部是如何进行布局的呢?具体布局如下图:

在这里插入图片描述
如图所示,地址线共10位,其中行地址线6位,列地址线4位,行字线2^ 6 = 64,列字线 2^ 4 = 16。读取数据时如下所示:

在这里插入图片描述
将64列数据分为四组,每组16列。数据读取的时候,如,行地址为000000,列地址为0000,此时,行位线选中第一行中所有的元件,列地址选中每组中的第一列,这样就从每组中读取一位,共读取四位数据。写数据和读数据同理。

(二)动态RAM
1、动态RAM保存0和1的原理是什么?
动态RAM使用电容,电容中保存了电荷为1,电容没有被充电为0。
2、动态RAM基本单元电路的构成是什么?
在这里插入图片描述

动态RAM基本电路有两种,如上图左(三管动态RAM)、右(单管动态RAM)。

3、动态RAM对单元电路如何进行读出和写入?
(1)左侧电路读写操作
读操作: T4为预充电信号,如果预充电信号有效,T4会被打开,Vdd通过T4对读数据线进行充电,使得读数据线成为高电平,如果是进行读操作,则读选择信号有效,T2打开,如果此时CG中保存的数据是0,也就是CG没有充电,则T1不会导通,则读数据线就会保持高电平,所以,如果保存的数据是0,则在读数据时候,读出的数据是1。如果CG电容中保存的数据是1,T1导通,此时读数据线上的电平通过T2,T1线路进行放电,读数据线低电平,读出的数据为0。所以电容读出的信息和原存的信号是相反的。
写操作: 写入和输入信息相同。如果是写操作,写选择线有效,T3导通 写数据线会通过T3向CG充电,或者CG通过T3进行放电,如果写入的数据是1高电平,写数据线会通过T3向CG充电,CG写入1.如果写入是0,则CG通过T3进行放电,CG放电为0。

(2)右侧电路读写操作
读操作: 如果相应的行被选中,字线连接的T被打开,电容就会通过T进行充电或者放电,如果CG中有电位1,此时放电,则数据线有电流,如果CS中没有充电,则数据线无电流,通过数据数据线有无电流判断CS中保存的是1还是0。
写操作: 写入时,写入1,数据线有电流,进行充电为1。写入0,数据线无电流,放电为0。

4、动态RAM芯片的结构及读写操作?
(1) 三管动态RAM(Intel 1103)

三管动态RAM读写操作:
在这里插入图片描述
(2)单管动态RAM(Intel 4116)

单管动态RAM外特性:
在这里插入图片描述
上图中,大小为16k X 1,所以有14根地址线,图中地址线只有A0 – A6共7根线,此时行地址和列地址分为两次传输,将行地址和列地址分别保存早缓存器中。

单管动态RAM读写操作:
在这里插入图片描述

图中的读放大器的工作原理像一个撬撬板电路,一端为0,另一端就是1,一端为1,另一端就是0。
读操作: 如果选中63行,0列。则63行中所有的开关都被打开,如果电容中有电,则读放大器左端为1,则右端为0,此时读出的数据为0。如果电容中没有电,读放大器左端为0,则右端为1,此时读出数据为1。
写操作: 如果如果选中63行,0列。写入1,读放大器右端为1,左端为0,写入0。如果写入0,读放大器右端为0,左端为1,写入1。
以上电容中实际数据和写入读出数据相反,但是读出和写入的数据相同。

三管动态RAM和单管动态RAM电路比静态RAM电路多出放大器,放大器所用:电容存在漏掉,需要刷新放大器没过一段时间对每一列上的电容进行刷新重现。

5、动态RAM为什么要进行刷新,刷新方法是什么?
由于动态RAM使用电容存储信息,电容容易漏电,经过一段时间,电容漏电,会导致数据有1变为0,。动态RAM刷新只和行地址有关,和列地址无关,每次刷新的是一行中的所有基本电容电路。给出行地址,某一行被全部选中,这个行上所有电容中的信息都会被送到读电路,如果在读数据线和写数据线之间增加一个刷新放大器(每一列都加),就会完成对一行数据的刷新。

(1) 集中刷新:以128 * 128矩阵为例
首先主存储器的存储周期 为0.5us。
在这里插入图片描述
上图中的集中式刷新:每隔2ms对128行进行全部刷新,存取周期为0.5us,所以刷新每行也需要0.5us,2ms内,刷新需要64us。在这段死区内,CPU无法对动态RAM进行读写操作。

(2)分散刷新:以128 * 128矩阵为例

上图的分散式刷新:延长存取周期为正常存取周期的两倍(0.5us * 2 = 1us)。每1us对其中的一行进行刷新,128us刷新全部的128行。虽然没有死区,但是刷新过于频繁,并且延长了CPU的读写周期。
在这里插入图片描述

(3)分散集中相结合:以128 * 128矩阵为例
在这里插入图片描述
这种方式存取周期为0.5us,在集中式刷新中,每隔2ms对128行进行全部刷新,2ums= 2000us,即如果平均分到每行,则每15.6um刷新一行。若将刷新安排在指令译码阶段,就不会出现死区。

(三)静态RAM和动态RAM比较
在这里插入图片描述
DRAM用于做主存,SRAM用于主存和CPU之间的缓存。这样就可以降低成本同时加快访问速度。

只读存储器ROM
(一)只读存储器发展历史
早期的只读存储器,在厂家就写好了内容,无法修改。
改进1:用户可以自己写,一次性修改。
改进2:可以多次写,能对信息进行擦除。
改进3:电可擦写,特定设备。
改进4:电可擦写,直接连接到计算机上。
(二)只读存储器(ROM类型)
1、掩模 ROM ( MROM )

行列选择线交叉处有 MOS 管为“1”
行列选择线交叉处无 MOS 管为“0”

2、PROM (一次性编程)
在这里插入图片描述

熔丝断为 “0”
熔丝未断为 “1”

3、EPROM (多次性编程 )
在这里插入图片描述
G:栅极 S:源 D:漏
使用紫外线进行擦洗

D 端加正电压形成浮动栅,S 与 D 不导通为 “0”。
D 端不加正电压不形成浮动栅,S 与 D 导通为 “1”。

4、EEPROM (多次性编程 )

使用电擦写,可局部擦写,也可全部擦写。

5、Flash Memory (闪速型存储器)

第三种EPROM价格便宜,集成度高。
第四种EEPROM,电可擦洗重写。
Flash Memory比 EEPROM快,具备 RAM 功能。

存储器容量的扩展
1、位扩展(增加存储字长)
在这里插入图片描述
上图为用两个 1k * 4 位存储芯片组成一个1K * 8位的存储芯片。在读取数据的时候,通过cs片选线同时选中两个芯片,将每个芯片中的四位组成8位传送到数据线上。

2、字扩展
在这里插入图片描述

图中是将连个1k * 8的存储芯片组成一个2k * 8的存储芯片。共需要11根地址线 ,8根数据线,其中10根地址线选中具体的一个地址,第十根地址线用作片选线,当第十根为0时候,使用芯片1,当第十根为1时候,使用芯片2。

3、字和位同时扩展

在这里插入图片描述
用8片 1K * 4位的芯片组成4K * 8位的芯片。其中有12根地址线,8根数据线,其中两根地址线作为片选线,一个片选地址选中两片芯片。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值