(计算机组成原理)第三章存储系统-第二节1:基本的半导体原件和存储器芯片的原理

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(计算机组成原理)第三章存储系统-第二节1:基本的半导体原件和存储器芯片的原理相关的知识,希望对你有一定的参考价值。

一:基本的半导体元件及原理

前文已经讲过,一个存储器可以由存储体、MAR(地址寄存器)和MDR(数据寄存器)构成,这三大部分会在时序控制逻辑电路下有条不紊,相互配合进行工作

其中存储体用来存放实际的二进制数据,存储体又有多个存储单元构成,而存储单元又有存储元构成,如下图

  • MOS管:可以理解为一种电控开关,输入电压达到某个阈值时,MOS管就可以接通
  • 电容:当产生电压差时就会充电,可以保存一定电荷。所以可以根据电容是否带有电荷分别让其对应两种状态,也就是0和1。

结合MOS管和电容我们可以进行读出二进制和写入二进制的操作

  • 读出二进制:假如电容有电,此时当MOS管接通时,电荷就可以顺着导线向MOS管右侧流动,当在该侧检测到电流时相当于输出了1,反之则输出了0

  • 写入二进制:在MOS管右侧接入电压,然后导通MOS管,这样电流就会从右向左流动,此时电容一端接地,于是两块板子上有电压差,电荷就会被“装载”进去,接着再把MOS管断开,这样电荷就跑不出去了

上述仅是单个存储元,如果把多个存储元按照一定方式连接,那么就能一次性读出或者写入多个数据,比如下图

  • 上图的红色导线连接了每个存储元的MOS管,因此如果给其加上电压,就意味着所有存储元的MOS管都可以被导通,当MOS管导通后,电容里存储的电荷就可以顺着绿色的线导出,也就是说可以判断每一条绿色线是否有电流,就可以判断其数据是1还是0

因此按照上述方式就可以读出一整行存储元存储的数据信息,而这一行就叫做存储单元,也就是一个存储字,多个存储单元就构成了存储体


为什么存储器每次读写操作的单位是一个存储字?因为:同属于一个存储字的存储元它们的MOS管一端接的都是同一根线

二:存储器芯片的基本原理

接下来的问题就是如何根据地址来决定我们要读或者写哪一个存储字呢

这就涉及到译码器了,我们给出 n n n位地址,这 n n n位地址就会对应 2 n 2^{n} 2n个存储单元,所以译码器会根据MAR(和CPU连接)里面给出的几位地址,将其转化为某一条字选线的高电平信号。比如MAR送过来的地址是000,这对应十进制的0,所以译码器会给第0根字选线一个高电平,此时第一个存储字对应的存储元件都会被选通。总之,每个地址会对应译码器的一条输出线,8地址就对应8条线

当第0根字选线被接通后,就可以通过数据线(也叫位线,绿色),把每一位的二进制信息传送到MDR当中,接着CPU会通过数据总线(宽度等于存储字长)从MDR当中取走这一整个存储字的数据

因此我们需要新增一个控制电路来控制MAR和MDR及译码器

  • 控制MAR:当CPU通过地址总线把地址送入MAR时,由于使用的是电信号,而电信号容易紊乱,因此在MAR中电信号稳定之前,该地址不能被送入译码器当中
  • 控制MDR:和MAR相同,稳定时才能输出

另外,存储芯片还需要向外提供片选线,用 C ‾ \\overline C C S ‾ \\overline S S(芯片选择信号)或 C ‾ \\overline C C E ‾ \\overline E E(芯片使能信号)表示(横线表示低电平有效)

还有,控制电路还需要提供读控制线和写控制线

  • W ‾ \\overline W W E ‾ \\overline E E:低电平时,表示正在进行写操作,也就是要把MDR里保存的数据把它输入到电容中
  • O ‾ \\overline O O E ‾ \\overline E E:低电平是,进行读操作

下图中读写控制线分为两根,也可以整合为一根, W ‾ \\overline W W E ‾ \\overline E E就表示低电平写,高电平读

  • 屏蔽内部细节后,存储器芯片构造如下

最后再次说明一下片选线的作用:大家应该都内存条吧,它的长相应该就是下面这样的,一个内存条是有很多存储芯片组成的(如果是8G,那么每个存储芯片大概就是1G),因此片选线就是为了操作指定的存储芯片

上面原理图中讲到的每一根线其实就是对应了芯片的引脚

n位地址就对应了 2 n 2^{n} 2n个存储单元,因此总容量=存储单元个数×存储字长
有时我们会见到这样的描述:8×8位的存储单元,比如8K×8位,就是 2 13 × 8 b i t 2^{13}×8bit 213×8bit

三:寻址

如下矩阵方格中每一个方格表示8bit的信息,每一行表示一个存储字,为4B大小,该矩阵共有256行,大小为1KB

现代计算机通常是按照字节寻址的,因此1个小方格就对应1个地址,这里有1K个字节那么就有1K个地址。既然有1K个地址,那么根据之前叙述,应该就有10根地址线( 2 10 2^{10} 210

虽然是按照字节编址的,但是我们依然可以按照子、半字、双字等方式寻址

  • 按字节寻址:1K个单元,每个单元1B
  • 按字寻址:256个单元,每个单元4B
  • 按半字寻址:512个单元,每个单元2B
  • 按双字寻址:128个单元,每个单元8B

以上是关于(计算机组成原理)第三章存储系统-第二节1:基本的半导体原件和存储器芯片的原理的主要内容,如果未能解决你的问题,请参考以下文章

(王道408考研操作系统)第三章内存管理-第二节2:页面置换算法1

(王道408考研操作系统)第三章内存管理-第二节3:页面置换算法1

(考研计算机组成原理)第一章计算机系统概述-第二节:计算机系统层次结构

(王道408考研操作系统)第三章内存管理-第二节1:虚拟内存管理基本概念

(王道408考研操作系统)第三章内存管理-第二节1:虚拟内存管理基本概念

(计算机组成原理)第四章指令系统-第二节3:数据寻址之偏移寻址(基址寻址变址寻址和相对寻址)