计算机组成原理-存储器如何工作

通过前面的一篇文章,我们已经知道计算机硬件分为主机和外设。这两个硬件中都有存储器。 主机中的存储器我们先把它称为主存储器(主存或者内存,但是有的教材中把主存和cache归为内存,然后主存...

通过前面的一篇文章,我们已经知道计算机硬件分为主机和外设。这两个硬件中都有存储器。

主机中的存储器我们先把它称为主存储器(主存或者内存,但是有的教材中把主存和cache归为内存,然后主存分为ROM和RAM);外设中的存储器我们称之为外部存储器或者辅助存储器,比如我们的硬盘、U盘、以前的光盘(存储模拟信号)等。

---

主存可以设计为,由存储体和MAR、MDR构成,MAR负责接收地址,然后(通过译码器和驱动器,译码器见下方;驱动器用于给存储单元加强供电)交由存储体定位地址,存储体将地址内的数据放到MDR中,MDR之后就涉及到之前文章的CPU的指令流程了。主存中的整个流程由时序控制逻辑控制。

---

存储器如何存储数据:

物理构造:一个个基本的存储元构成,一个存储元就是一个物理的元器件。简单的结构由一个存储电路(只能存储1和0)和开关控制器件构成。读的时候开启开关,电路联通,信号将传输到外部(可能是MDR中)。由一个开关控制的多个存储元组合成一个存储单元

抽象信息(常考):由一个存储单元读出来的一串若干个0和1的组合就叫做一个存储字。这个组合的长度(有多少位)就叫做(存储的)字长,单位是bit,比如一次读出8位出来,就记做字长8bit。常用单位是Byte(或者直接写作B),换算规则为8个bit就等于1Byte。

开关的信号中可以把开信号设置成一个1,那当取一个数据时,其他的开关信号全是0。按照这个规律,我们几乎就可以把这个开关信号的组合当成这个数据的地址。要实现地址的使用,我们还需要借助译码器。译码器的作用是把只有一个1可以产生的一串数据,对应到自由的相应的二进制数据。比如说,3位二进制,可以表示2的3次方个数据(组合),也就是可以表示2的3次方这么多个存储单元。所以有一个结论:n位地址一共可以定位到2的n次方那么多个存储单元

计算:总容量=存储单元数量x存储字长=2的3次方x8bit=2的3次方x1B=8B。

---

MAR和MDR虽然在这里服务于存储器,但是实际的物理上,是设计在CPU中。

  • 发表于 2021-08-10 02:07
  • 阅读 ( 703 )

0 条评论

请先 登录 后评论
亚里士德
亚里士德

13 篇文章

作家榜 »

  1. 亚里士德 13 文章