🌈个人主页:godspeed_lucip
🔥 系列专栏:计算机组成与原理基础
- 1 主存的模型、寻址
- 1.1 总览
- 1.2 存储器的层次化结构
- 1.3 存储器的分类
- 1.3.1 按层次
- 1.3.2 按照介质
- 1.3.3 按照访问方式
- 1.3.4 按照信息的可更改性
- 1.3.5 按照信息的可保存性
- 1.4 存储器的性能指标
- 1.5 总结
- 2 主存储器的基本构成
- 2.1 总览
- 2.2 基本的半导体元件
- 2.2.1 构成
- 2.2.2 读出数据
- 2.2.3 写入数据
- 2.2.4 示例
- 2.2.5 对存储体的复习
- 2.3 存储器芯片的基本原理
- 2.3.1 译码的原理
- 2.3.2 控制电路
- 2.3.3 芯片的简单构成
- 2.3.4 芯片的逻辑构成
- 2.3.5 关于一个芯片有多少个引脚的题目
- 2.4 寻址
- 2.5 总结
- 3 SRAM和DRAM
- 3.1 总览
- 3.2 栅极电容、双稳态触发器
- 3.2.1 基本组成
- 3.2.2 两者的不同
- 3.3 DRAM的刷新
- 3.3.1 原因
- 3.3.2 在刷新中为什么要使用行列地址?
- 3.3.3 刷新的过程
- 3.4 DRAM地址线的复用
- 3.5 总结
- 4 总结
1 主存的模型、寻址
1.1 总览
1.2 存储器的层次化结构
1.3 存储器的分类
1.3.1 按层次
1.3.2 按照介质
(1)半导体存储器:主存、Cache
(2)以磁性材料存储信息(磁表面存储器)
1.3.3 按照访问方式
①随机存取存储器(RAM)
②顺序存取存储器(SAM)
③直接存取存储器
其中,②和③在读写某个存储单元所需时间与存储单元的物理位置有关,可以归为串行访问存储器
④相联存储器
它是按照内容检索,而之前的几种都是按照地址检索
1.3.4 按照信息的可更改性
1.3.5 按照信息的可保存性
1.4 存储器的性能指标
存储周期的概念
1.5 总结
2 主存储器的基本构成
2.1 总览
2.2 基本的半导体元件
2.2.1 构成
电容可以存储电荷,将电容有电荷视为1,无电荷视为0,mos管可以理解为一种电控开关,当输入电压达到某个阈值时,MOS管就可以接通
2.2.2 读出数据
假设现在电容状态为1,那么只要发出一个读出信号(MOS管接入一个阈值电压),MOS管接通,最右边检测到电流,于是认为二进制1被读出
2.2.3 写入数据
将元件右边的电路与MOS管都接入一个高电平,MOS管被接通同时电容上下两侧产生电压差,于是电荷开始移动,达到存储电荷的效果。于是二进制1被写入,同时将MOS管断开,这样电荷就跑不出去了。
2.2.4 示例
将多个元件组合起来,图中红色的线连接了元件的MOS管,每个元件都存储了比特1或比特0。
图中的八个元件构成了一个存储单元(也就是一个存储字),图中的两个存储单元构成了一个存储体(存储矩阵)。
一次可以读出的字节代表了计算机的存储字长(MOS管被同时接通,所以存储单元是一次性被全部读出的,同时被读出、同时被写入),也被称为字
存储单元的字节数代表机器的存储字长,图中为八个比特,如果同时连接16个元件,则存储字长为16位。
注意字节(Byte)与字的区别。一个字节一定是八个比特,但是字在不同的计算机中可能是不同的。
2.2.5 对存储体的复习
这几个元件就构成了主存,它们通过时序逻辑电路连接,如图。
2.3 存储器芯片的基本原理
2.3.1 译码的原理
如何根据地址找到数据?
当CPU通过地址总线向MAR传送了地址,MAR将此地址输送到译码器,译码器根据地址决定要接通哪一条字选线(接通了存储单元的MOS管),比如图中地址000对应十进制的第0条字选线。字选线被接通后,通过数据线(图中绿色的线)将每一位的数据传送到MDR中,CPU再通过数据总线从MDR中读出数据。
此时也可以推断出数据总线的宽度与存储字长是相同的
2.3.2 控制电路
(1)控制信号传输
芯片数据传输是以电信号为媒介,在传输过程中难免会有损失,比如将地址信号传入到MAR中。此时控制电路在MAR中的信号稳定之后才会让MAR将地址传送给译码器。同样的,在数据输出时只有当MDR中的电信号稳定后才会控制MDR将输入传给数据总线
(2)对外提供接口
① 片选线。即选择哪块芯片进行工作。芯片选择(chip-select,CS),芯片使能(chip-enable,CE)
②读写控制线。
1. 将读控制线、写控制线分开。当读控制线是低电平时说明此时应该进行读操作。
2. 将读控制线、写控制线作为同一根线
2.3.3 芯片的简单构成
2.3.4 芯片的逻辑构成
驱动器:保证译码器输出的电信号是稳定的
2.3.5 关于一个芯片有多少个引脚的题目
结合芯片的逻辑构成理解引脚。其中片选线、读/写控制线通常来说是固定的。只需求解地址线、数据线
2.4 寻址
假设下图中字长为4B(一个存储单元有4个元件),且总容量为1KB(该存储体有1024个元件或256个字,地址线为2^10=1024,共10条地址线)。寻址方式有以下几种,如果是按字寻址,则1KB总共有256个单元,每个单元占4B。
2.5 总结
3 SRAM和DRAM
3.1 总览
3.2 栅极电容、双稳态触发器
3.2.1 基本组成
3.2.2 两者的不同
(1)栅极电容
因为需要重写,所以读写速度更慢。且每个元件的面积较小,所以它的集成度高,结构简单所以成本低,功耗低
(2)双稳态触发器
无须重写,所以读写速度更快。且每个元件的面积较大,所以它的集成度小,结构复杂所以成本高、功耗高
3.3 DRAM的刷新
3.3.1 原因
电容中的电荷即使不断电,在2ms内也会自动流失。而双稳态电路只要不断电其电荷就不会流失。所以在2ms内必须刷新电容,使其恢复之前的电荷
3.3.2 在刷新中为什么要使用行列地址?
(1)原因
在之前的介绍中,一个存储单元占一行,一行存储单元需要使用一根自选线,很容易使译码器上接入的线路过多。而如果使用行列地址,如下图所示,这样,当地址位数为20时,行地址译码器、列地址译码器只需要接入210根线。而如果不采用行列地址,则译码器要接入220根线。
(2)根据地址寻找存储单元
假如地址码为00000000,则前四位0000作为行地址,后四位0000作为列地址,分别进行寻址,当行地址寻找到时其对应的选通线连通,当列地址寻找到时其对应的选通线连通,此时可以将该存储单元中的数据输出。
3.3.3 刷新的过程
(1)过程
以行为单位,每次刷新一行的存储单元,刷新是由硬件完成的,硬件在读出一行的信息后重新写入,占用一个读/写周期。
该过程是由存储器自动完成的,无须CPU的介入
(2)刷新的时间点
假设:
①分散刷新
②集中刷新
③异步刷新
可在CPU无须访问主存的时候进行刷新,比如译码阶段。集中刷新、异步刷新都是有”死时间“的
3.4 DRAM地址线的复用
正常来说行地址、列地址分别需要有行地址线、列地址线。也可以将它们和为一条线,并另外接一个地址缓冲器,第一次先将行地址送入,第二次再将列地址送入。如图
这样做可以使地址线减半,同时芯片的引脚数也要减半
3.5 总结
SRAM常用作Cache,DRAM常用作主存。DRAM采用的是地址线复用技术,因此送行列地址只需要一次。
4 总结
计算机组成原理如一座精密的交响乐团,微观中展现着电子的舞蹈,宏观中奏响着科技的交响曲。
它拆解复杂问题为简单指令,通过微处理器的默契协作,创造出无尽可能。
存储单元如记忆的灯塔,指引信息的航程。
总线是信息的大道,连接着各个功能模块,使计算机成为无比高效的智慧之器。
在计算机组成原理的魔法指导下,世界逐渐变得更加智能、便捷、创新。
渴望挑战计算机组成与原理的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多CO的奇迹吧。我们推出了引领趋势的💻CO专栏:《计算机组成原理基础》 ,旨在深度探索CO的实际应用和创新。🌐🔍