#复习# 计算机组成原理@第三章_存储系统

目录:

1.存储器的分类

2.存储器的层次结构

3. 半导体随机存取存储器

4. 主存储器与CPU的连接

5. 双口RAM和多模块存储器

6. 高速缓冲存储器

7. 虚拟存储器

/*====================@@@@Halo World分割线@@@@====================*/ 

1. 存储器的分类

   1.1 层次分类

名字 作用 特点
主存储器(aka 主存) 用来放计算机运行期间所需的大量程序和数据,CPU是可以直接访问的。 容量小,存取速度快,每位价位高。
辅助存储器(aka 辅存) (aka 辅存)是主存储器的后援存储器,用来放当前暂时不用的程序和数据,以及永久保存的信息。但是不能和CPU直接交换数据 容量大,存取速度慢,成本低。
高速缓冲存储器(aka Cache) 位于主存和CPU之间,用来存放正在执行的程序段和数据,以便CPU可以高速使用。 容量小, 价格高。

 

  1.2 按存储介质分类

        1) 磁盘面存储器(磁盘,磁带)

        2) 磁芯存储器半导体存储器(MOS型存储器,双击型存储器)

        3) 光存储器(光盘)

 1.3 按存储方式分类

        1) 随机存储器(RAM, Random Access Memory ):存储器的任何一个存储单元的内容都可以随机存取,而且存取时间和物理位置无关。优点是读写方便,使用灵活。

                   // RAM分静态RAM(以触发器原理寄存信息)和动态RAM(以电容电源理存信息)

        2) 只读存储器(ROM, Read Only Memory):存储器的内容只能随机读取不能写入。信息一旦写入存储器就固定不变了,即使断电也不会丢。但是对于不同位置,你的读取时间也是不一样的。(写的速度比读的要慢很多)

        3) 串行访问存储器:对存储单元进行读写操作,按物理位置的先后顺序寻址,包括顺序存存取存储器(磁带)和直接存取存储器(磁盘)。 //顺序的话读取速度慢,直接存取可以任意访问任何一个存储单元

1.4 按信息的可保存性分类

     1) 非易失性存储:就是断电后信息可以依然保持的存储器,比如ROM,磁表面存储器和光存储器。

     2)易失性存储:断电后,数据立即消失,比如RAM

     3)  破坏性读出:如果某个存储单元所存储的信息被读出,原信息被破坏,这个就是破坏性读出。//破坏了的数据是可以再生恢复的

     4) 非破坏性读出:如果某个存储单元被读出,但是原信息没问题,那么这个就是非破坏性读出。

1.5 存储器的性能指标

    1) 存储容量 = 存储字数 x 字长。//单位换算: 1 B = 8 b;存储字数表示存储器的地址空间的大小,字长表示一次存取操作的数据量

    2)单位成本每位价格 = 总成本 / 总容量。

    3)存取速度: 数据传输率 = 数据的宽带 / 存储周期。

 

 

 

/*====================@@@@@分割线@@@@@====================*/ 

2. 存储器的层次化结构

 2.1 多级存储系统

                        【CPU】            *从上到下:越来越便宜,速度越来越慢,容量越来越大,CPU访问次数越来越低

                             ↓                    //顶上的都是贵族,底下的都是贫民

                       【寄存器】

                             ↓

                       【Cache】

                             ↓

                        【主存】

                             ↓

                       【磁盘】

                             ↓

                    【磁带 光盘】

   - 在存储系统中,Cache,主存能与CPU直接交换信息,辅存则要通过主存和CPU交换信息;主存与CPU,Cache,辅存能交换信息。//反正我觉得主存和中间人一样,特别好~

  - 主存和Cache之间的数据调动是有硬件实现的,对猿们来说基本是透明的~

  - 而主存和辅存之间是由硬件和OS一起实现的,对应用层面的猿是透明的。

  - 【Cache-主存】可以解决CPU和主存速度不匹配的问题

  - 【主存-辅助】 可以解决存储系统的容量问题。

 

/*====================@@@@@分割线@@@@@====================*/ 

3. 半导体随机存储器

 3.1 半导体存储器芯片

    1) 半导体存储芯片的基本结构

            - 半导体存储芯片内集成存储矩阵(存储体),译码驱动电路读写电路等。

            a) 存储矩阵: 由大量相同的位存储单元列构成

            b) 译码驱动: 将来自地址总线的地执信号翻译成对应存储单元的选通信号,该信号就可以完成这选中的单元的读写操作

            c) 读写电路: 包括读出放大器和写入电路,同来完成读写操作。

           d)  读写控制线: 决定芯片进行读写操作

           e) 片选线: 确定哪一个存储芯片被选中。

           f)地址线单向输入,其位数与存储字的个数有关

           g)数据线双向的,其位数和写入或者读出的数据位数有关

                                 //数据线和地址线共同反映了存储芯片容量的大小;ex:地址线10根,数据线8根, 容量 = 2^10 * 8 = 8K

                                //静态RAM适合做高速缓冲存储器;动态RAM适合做计算机主存。

 

 

/*====================@@@@@分割线@@@@@====================*/ 

 

 

 3.2 SRAM存储器和DRAM存储器

     1)SRAM存储器的工作原理

          - 优点: 容量小,功耗高,速度快,所以用来做缓存(cache)

          - 静态随机存储器(SRAM)的存储元是用双稳态触发器(六管MOS)来记忆信息的。即使信息被读出后,他还是保持原状不需要再生(非破坏性读出)。但是如果电源被切了,还是要gg//叫你这么牛逼,电源分分钟告诉你谁是爸爸

     2)DRAM存储器的工作原理

         - 动态随机存储器(DRAM)是利用存储元电路中栅极电容上的电荷来存储信息的,常见的DRAM分三管式和单管式

         - DRAM电容上的电荷一般维持在1-2ms,因此即使电源不断电,但是信息也会自动消失。所以,我们需要每隔一段时间刷新一波。通常取2ms,这个时间叫刷新周期。以下是常用的3种刷新方式:

          a) 集中刷新:在一个刷新周期内,利用一段固定时间,以此对存储器的所以进行逐一再生,在此时间停止对存储器的读写操作,这一段时间也称是【死亡时间】 or【死区】。

          b) 分散刷新:把对每一行的刷新分布在各个工作周期中,这样的话存储器的工作周期可以分两个部分:1. 正常读写部分 2. 用于刷新特定的某一行//就刷一次读一次,刷一次读一次,刷次读次,刷次动次,动次打次……虽然不会有死区,但会产生浪费并且降低了计算机的速度。

          c) 异步刷新:结合了集中和分散刷新。可以缩短死时间,而且可以充分利用间隔2ms刷新的特点。具体做法是刷新周期除以行数,得到俩次刷新操作之间的时间间隔t,利用逻辑电路每隔时间t产生一次刷新请求。这样可以避免CPU等待太长,而且可以减少刷新次数,从而提高计算机工作效率

     *刷新注意问题:1. 刷新对CPU是透明的 2. 动态RAM的刷新单位是行,刷新操作只要地址 3. 刷新操作类似于读操作

     3)SRAM和DRAM的对比

特点 \ 类型 SRAM DRAM
存储信息 触发器 电容
破坏性读出
需要刷新 不要 需要
送行列地址 同时送 分两次送
运行时间
集成度
发热量(功耗)
存储成本
主要用途 高速缓存 主机内存

 

 

/*====================@@@@@分割线@@@@@====================*/ 

 

3.3 只读存储器

  1) 只读存储器(ROM)的特点

     - ROM和RAM都是支持随机存取的存储器,其中SRAM和DRAM都是易失性存储器。而ROM中一旦有了信息就无法改动,即使掉电也不会丢,所以他在计算机里是一个之供读出的存储器。

     - 优点: 结果简单,位密度比可读写存储器高;有非易失性,所以very可靠

 2) ROM的类型

     a) 掩膜式只读存储器:MROM的内容由半导体制造厂用户提出的要求在芯片的生产过程中就直接写入,写入之后的东西都无法改变;优点:可靠,集中性高,价格便宜;缺点:你tm一次性写完了让我写个什么???

     b) 一次可编程只读存储器:只能让用户实现一一次性编程。一旦写入后就无法改变了。

     c) 可擦除可编程只读存储器:EPROM不仅可以利用用户编程器写入信息,还可以进行多次修改。但是需要把之前写的重新消除在写,very麻烦。EPROM也分紫外线擦除和电擦除。EPROM虽然可读可写,但是他无法取代RAM,因为EPROM的编程次数有限而且写入时间也很长。

     d) 闪速存储器:在ERPOM和EEPROM的基础上发展起来的,主要目的是可以在不加电的情况下保存信息,又可以在线情清除和重写。Flash Memory比EPROM便宜,集中性高,而且也有EEPROM的可重写。

     e) 固态硬盘: 基于Flash Memory的固态硬盘是用固态电子存储芯片阵列而制造的硬盘,由控制单元和存储单元组成。保留了Flash Memory长期保存信息,快速擦除和重写特性。对比传统硬盘来说有读写速度快,功耗低的特点,但是还是比较贵的。

 

 

/*====================@@@@@分割线@@@@@====================*/ 

3.4 主存储器和CPU的连接

  1)连接原理

     a)主存储器通过数据总线,地址总线和控制总线与CPU连接

     b)数据总线的位数与工作频率的乘积正比于数据传输率。

     c)地址总线的位数决定了可寻址的最大空间。

     d)控制总线(读/写)指出总线周期的类型和本输入/输出操作完成的时刻。

 2)主存容量的扩展

     a)位扩展法

          - CPU的数据线于存储芯片的数据位数不一定相等,此时必须对存储芯片扩位(即,进行位扩展,用多个存储器件对字长进行扩张,增加存储字长),使其数据位数与CPU的数据线相等。

          - 设存储空间为(M x N)位,现有存储芯片是(m x n)位。若(M = m; N > n), 则要用位扩展法

          - 例题:用___片 1k 4 位芯片存储组成1k x 8位的存储: (1k x 4) / (1k x 8) = 2片( M = m; N >n) //这里的8位是数据线

     b)字扩展法

          - 字扩展指的是增加存储器中字的数量,而位数不变。字扩展将芯片的地址线,数据线,读写控制线相关并联,而由片选信号来区分各个芯片的地址范围。

         - 设存储空间为(M x N)位,现有存储芯片是(m x n)位。若(M > m; N = n), 则要用字扩展法。

          //地址线不同表示片选地址不同(高位地址)而片内地址是一样的(因为是低10位);

          //由地址线的高位段译码了,来决定片选信号;连接时:每个芯片有不同的地址线(片选不同),相同的数据线。

     c) 字位同时扩展法

          - 先位扩充再字扩充。连接时,每个芯片具有不同的地址线,不同的数据线。

          - 设存储空间为(M x N)位,现有存储芯片是(m x n)位。若(M > m; N > n), 则要用位扩展法

3)存储芯片的地址:分配和片选

     - CPU要实现对存储单元的访问,首先要选择存储芯片,即进行片选。然后为选中的芯片依地址码选择相应的存储单元,进行数据的存取,即进行字选。

     a)线选法: 线选法用除片内寻址外的高位地址线分别接至各个存储芯片的片选端,当某地址线信息为‘0’时,就选中之对应的存储芯片。这些片选地址每次寻址时只能一位有效,不允许多位同时有效,这样才可以保证每次选中一个芯片。

                      *优点:不需要地址译码器,路线简单;缺点:地址空间不连续,片选地址必须低电平,存储空间利用不充分

     b)译码片选法:译码片选法用除片内寻址外的高位地址通过地址译码器芯片选信号。

4)存储器与CPU的连接

     a)合理选择存储芯片:主要指存储芯片的类型和数量的选择

     b)地址线连接将CPU地址线的低位和存储芯片的地址线相连,以选择芯片中的某一个单元(字选),这部分的译码是由芯片片内逻辑晚上的。而CPU地址线的高位则在扩充存储芯片是使用,以用来选择存储芯片(片选),这部分译码由译码器逻辑完成。

     c)数据线的连接:CPU的数据线与存储芯片的数据线不一定相等,相等的话可以直接连接,不相等的话,必须进行存续芯片扩位。

     d)读写命令线的连接:CPU读写命令线一般可以直接与存续芯片的读写控制端相连,通常高电平为读,低电平为写。

     e)片选线的连接:片选线的连接是CPU与存储芯片连接的关键。存储器由许多存储芯片叠加而成,哪一片被选中完全取决于该存储芯片的片选控制端CS是否能接收到来自CPU的片选有效信号。

 

/*====================@@@@@分割线@@@@@====================*/ 

5. 双口RAM和多模块存储器

 1)双端口RAM

     - 双端口RAM是指同一个存储器由左右两个独立的端口,分别具有两组相互独立的地址线,数据线和读写控制线,允许两个独立的控制器同时异步的访问存储单元。

      a)有冲突控制:2端同时有存取存储器和存储单元时,会有冲突。可以设busy标志

      b)无冲突控制:端口不一样,所以在双端做操作时一定不会发生冲突。每一段都有自己的片选控制和输出驱动控制。

 

你可能感兴趣的:(计算机组成原理#学习复习篇#)