Java教程

主存储器

本文主要是介绍主存储器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

是什么

主存储器(Main memory)是存放指令和数据的,并能由中央处理器(CPU)直接随机存取的随机存储器(RAM)。主要由存储体、控制线路、地址寄存器、数据寄存器和地址译码电路五部分组成。

寄存器

存储地址寄存器(Memory Address Register,MAR)和存储数据寄存器(Memory Data Register,MDR)有共同的名词 —— 寄存。寄存这一词在物流中指的是寄存人叫保管人妥善保管的物。所以,寄存器的作用也类似如此。

  1. 存储地址寄存器:用于保存当前 CPU 所访问的内存单元的地址。由于在内存和 CPU 之间存在着操作速度上的差别,所以必须使用它来保持地址信息,直到内存的读/写操作完成为止。
  2. 存储数据寄存器:用于存放欲写入存储体中的数据,或暂存从存储体中读出的数据。总之,是用于暂时存放 CPU 计算过程中所用到的操作数、结果和信息。

举例说明

把主存储器类比为物流仓库,物流仓库的货架为主存储体、货号为MAR、柜台为MDR。其中货号由货架号、层数以及物品号组成,如10号货架的第3层的5号物品,即 10-3-5 号货物。

工作人员作为整个物流仓库的核心角色是必不可少的,这一角色会接触到货号、柜台。货号需要为工作人员提供每一个货物在物流仓库存放的地址。柜台需要向工作人员提供订单的信息,包括货号、寄往地址等信息,并且它还要记录工作人员完成从货架取货到存放柜台这一过程的结果信息。

货号存储着货物的在物流仓库的具体位置,工作人员在柜台前获取订单。然后,工作人员利用货号从货架中取出货物后把货物暂存到柜台前,在柜台打勾完成这一项订单的工作。

存储体

数据在存储体内按地址存储着。而存储体有存储单元、存储字、存储字长之分。

  1. 存储单元:在存储器中有大量的存储元,把它们按相同的位划分为组,这样的一组存储元称为一个存储单元。
  2. 存储字:一个存储字代表一个二进制数,如存储字为 0011011001111101。
  3. 存储字长:存储单元中的二进制代码位数,存储字长可以是8位、16位、32位等。

一个地址对应一个存储单元,存储单元按地址存储到 MAR 中,所以 MAR 的位数反映存储单元的个数。存储单元中的数据暂存到 MDR 中,所以 MDR 的位数反映存储单元可以存放的位数。

比如,MAR = 4位,反映了存储体共有 2^4 个存储单元。MDR = 16位,反映了存储单元可以存放1个字。

这里的字(word)根据不同的计算机硬件设计,会有不同的字节规定,有可能1个字等于1个字节,也有可能是1个字等于2个字节等。补充:1字节(Byte)等于8位(bit),即1B=8b。

这篇关于主存储器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!