计算机系统的硬件结构之存储器

  在阅读本文前,需要理解一下几个名词:

   MAR:是一个位于CPU的地址寄存器,用于主存放存储器(内存)的地址,具体来讲就是存放想要访问的存储单元的地址,其位数对应存储单元的个数(比如,MAR为10位,则存储单元的个数为z^10=1024记为1k)。

   MDR:是一个位于CPU的数据寄存器,用于存放想要访问的数据。其位数与存储字长相等。

   存储字长:一个存储单元存储的二进制的位数。

   机器字长:指计算机一次性处理二进制数据的位数,这个字长应该和MDR、数据总线的位数保持一致。

一.存储器概述

    存储器是计算机系统中的记忆设备,用来存放程序和数据。目前随着技术的发展,使得CPU的速度非常高,但是存储器的取数和存数的速度很难与它适配,这使得计算机系统的运行速度在很大程度上受到存储器速度的之约。此外,由于IO设备的不断增多,如果他们与存储器交换信息都通过CPU来实现将会大大降低CPU的工作效率。因此,出现了I/O与存储器的直接存取方式(DMA)

1.存储器分类

   存储介质是指能寄存“0”和“1”这两种代码并能区别两种状态的物质或元器件。 存储器的种类很多,我们会按照以下几种分类方式来分别介绍。

   1.按存储介质分类

   (1)半导体存储器

    存储原件由半导体器件组成的存储器称之为半导体存储器,现代半导体存储器都用超大规模继承电路工艺制作成芯片,因此其体积小、功耗低存取时间短,但是,当电源断开时所有存储的信息都会消失。

    (2)磁表面存储器

    磁表面存储器是在金属或塑料基体的表面上涂上一层磁性材料作为记录介质,工作时此层随载磁体告诉运转,用磁头在磁层上进行读写操作,因此成为磁表面存储器,这种存储器有磁盘、磁带等。他们保存的信息根电源无关,保存后不会轻易丢失。

    (3)磁芯存储器

    磁芯是由硬磁材料做出的环状原件,在磁芯中穿有驱动线(通电流所用)和读出线,这样便可以进行读写操作。磁芯属于磁性材料,她保存的信息也是永久记忆存储器。

   (4)光盘存储器

    光盘存储器是应用激光在记录介质上进行读写的存储器,它所保存的信息也是永久性的。此存储器拥有记录密度高、耐用性好、可靠性高和交互性强等特点。

  2、按存取方式分类

    按照存取方式可以吧存储器分为随机存储器、只读存储器、顺序存取存储器和直接存取存储器。

   (1)随机存储器RAM

    RAM是一种可度/写存储器,其特点就是存储器的任何一个存储单元的内容都是可以随机存取,而且存取时间与存储单元的物理位置无关。计算机系统中的主存都采用这种随机存储器。由于存储信息原理的不同,RAM又分为静态RAM(以触发器原理寄存信息)和动态RAM(以电容充放电原理寄存信息)

   (2)只读存储器

    只读存储器是能对其存储的内容读出,而不能对其重新写入的存储器。这种存储器一旦存入了原始信息后,在程序执行过程中,只能讲内部信息读出,而不能随意重新写入新的信息去改变原始信息。因此,通常用它存放固定不变的程序、常熟和汉字字库,它与随机存储器可共同作为主存的一部分,统一构成主存的地址域

   (3)串行访问存储器

   如果对存储单元进行读写操作室,需要按照物理位置的先后顺序寻找地址,则这种存储器为串行访问存储器。显然这种存储器由于信息所在位置的不同,是的读写时间均不相同。

  3、按在计算机中的作用分类

    按照在计算机系统中的作用不同,存储器主要分为主存储器、辅存储器、缓冲存储器。

  

    主存的主要特点是他可以和CPU直接交换信息。辅助存储器是主存储器的后援存储器,用来存放当前暂时不用的程序和数据,他不能与CPU直接交换信息。两者相比,主存速度快、容量小。每位价格高;辅助存储器速度慢,容量大。每位价格低。缓冲存储器用在两个速度不同的部件中,例如,CPU与主存之间可设置一个快速缓存,起到缓冲作用。

     如下是一张存储器的分类图:

计算机系统的硬件结构之存储器_第1张图片

2.存储器的层次结构

    存储器有3个主要性能指标速度、容量和每位价格。一般来说、速度越高价位越高、容量越大价位就月底,而且容量越大、速度必定越低。先上一张图来直观的感受下存储器的速度、容量个价位的关系:

   计算机系统的硬件结构之存储器_第2张图片

     正如上图所示,金字塔从上到下速度依次减慢、价格依次降低、容量依次增大。需要说明的是,寄存器通常都制作在CPU芯片内。寄存器中的数直接在CPU内部参与运算,CPU内可以有十几个、几十个寄存器,他们的速度最快,价位最高,容量最小。主存用来存放将要参与运行的程序和数据,其速度与CPU速度差距比较大,这里所说的速度都是指存取数据的速度,CPU和寄存器之间的数据存取是非常快的,但是主存的存取速度却要慢得多,一次你,通常在主存和CPU之间插入一种比主存速度更快、容量更小的告诉缓冲存储器Cache。当然,现代计算机也将Cache制作在CPU内了。

     如下是CPU、Cache和主存、辅存之间的关系:

     计算机系统的硬件结构之存储器_第3张图片

    缓存--主存这个层次主要解决CPU和主存速度不匹配的问题。由于缓存速度比主存速度高,只要将CPU近期要用到的信息调入到缓存,CPU便可以直接从缓存中获取信息,从而提高访存速度,但是由于缓存的容量小,因此需要不断的将主存中的内容调入缓存,使缓存中原来的信息被替换掉,这就涉及到替换策略,后面会讲到。主存和缓存之间的数据调用时由硬件自动完成的,对程序员是透明的。

   主存---辅存层次主要是解决存储系统的容量问题。辅助存储器的速度比主存的速度低。而且不能喝CPU直接交换信息,但是他的容量很大,几百G是很正常的事情。当CPU需要用到辅存上的信息时,再将辅存上的信息调入主存,供CPU直接访问。主存和辅存之间的数据调动是由硬件和操作系统直接完成的。

   从CPU的角度来看,缓存---主存这一层主的速度接近于缓存,高于主存。在主存--辅存这一层次的不断发展中,逐渐形成了虚拟存储系统,在线合格系统中,程序员编程的地址范围与虚拟存储器的地址空间相对应。例如机器质量地址码为24位,则虚拟存储器存储单元的个数可达16M。可是这个数与主存的实际存储单元的个数相比要大得多,我们称这类指令地址码为虚拟地址或逻辑地址,而把主存的实际地址称为物理地址。对于虚拟存储器的概念见我们下面的第四节。

二.主存储器(内存)

1.主存储器概述

     主存储器的基本结构我们在前面一篇文章已经初步接触过,实际上,根据MAR中的地址访问某个存储单元时,还需要经过地址译码、驱动电路等才能找到所需要访问的单元,在读出时还需要经过读出放大器,才能将被选中的单元的存储字送到MDR。写入时,MDR中的数据也必须经过写入电路才能正真写入到被选中的单元中。

     现在计算机的主存都是有半导体集成单路构成,对于一些读写需要的驱动器、译码器和读写电路均制作在存储芯片中,而MAR和MDR制作在CPU芯片内。存储芯片可通过总线的连接和CPU通信。

    当要从存储器读取某以信息时,首先由CPU将该字的地址送到MAR,经过地址总线送至主存,然后发出读命令。主存接到命令后得知需要将改地址单元的内容读出,便完成读取操作,将该单元的内容读至数据总线上,至于该信息由MDR送至什么地方,这已经不是主存的任务,而是由CPU决定的。若要想主存中存入信息时,首先CPU将该字所在的主存单元的地址经过MAR送到地址总线,并将信息字送到MDR,然后它就向主存发送写命令,主存接到命令后便将数据线上的信息写入到对应的地址线指出的主存单元中。

       这里有几个问题需要搞清楚,作为程序员需要清楚地知道内存的地址分配情况以及内存的各种指标。

    1.主存中存储单元地址的分配

     主存中各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据改地址可读出或写入一个存储字。不同的机器存储字长也不相同。比如如对于24位地址线的主存而言,按字节寻址的范围是16M(24位,每一位可以表示0和1两种状态,那么24位可以表示2^24=1k*1k*16=16M)。

   2.主存的技术指标

    主存的主要技术指标就是存储容量和存储速度。

    存储容量是指主存能存放二进制代码的总位数,即存储容量=存储单元个数*存储字长。

  3.存储速度

    存储速度是指由存取时间和存取周期来表示的。

      存取时间又陈为存储器的访问时间,是指启动一次存储器操作到完成该操作所需要的全部时间。存取时间分读出时间和写入时间两种。

2.半导体存储芯片

    由于现在的主存都是由半导体芯片制成,因此我们主要来介绍下半导体存储芯片的结构。

     半导体存储芯片采用超大规模集成电路制造工艺,在一个芯片内集成具有记忆功能的存储矩阵、译码驱动电路和读写电路等。

     译码驱动能够把地址总线送来的地址信号翻译成对应的存储单元的选择信号,该信号在读写电路的配合下完成对被选中单元的读写操作。存储芯片通过地址总线、数据总线和控制总线与外部链接。地址线是单向输入的,其位数与芯片容量有关,数据线是双向输入的,其位数与芯片可读写的数据位数有关。数据线的位数与芯片的容量有关。此外还有读写控制线,读写控制线决定芯片进行读写操作,片选线用来选择存储芯片。由于半导体存储器是由许多芯片组成,为此需要用片选信号来确定哪个芯片被选中。

3.随机存取存储器

    随机存储器按照其存储信息的原理不同,可分为静态RAM(SRAM)和动态RAM(DRAM)两大类


你可能感兴趣的:(计算机系统的硬件结构之存储器)