计算机组成原理复习3

存储器的层次结构

1.存储器的分类

层次分类

主存储器(内存):存放程序和数据,CPU可以直接随机访问,可以和高速缓冲存储器(Cache)以及辅助存储器交换数据。特点是容量较小,存取速度较快,每位价格较高

辅助存储器:外存,存放暂时不用的程序和数据,以及永久保存的信息,不能与Cpu直接交换信息,特点是容量大存取速度慢,成本低。

高速缓冲存储器:Cache,位于主存和CPU之间,用来存放正在执行的程序段和数据

cpu不能直接访问硬盘


多级存储系统

主存和Cache之间的数据调动由硬件自动完成

主存和外存是由硬件和操作系统共同完成的


半导体随机存储器

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

半导体存储芯片内有存储矩阵(存储体),译码驱动电路和读写电路

  • 存储矩阵:由大量相同的位存储单元阵列构成
  • 译码驱动:将来自地址总线的地址信号翻译成对应的存储单元的选通信号,该信号在读写电路的配合下完成对选中单元的读写操作
  • 读写电路:包括读出放大器和写入电路,用来完成读写操作
  • 读/写控制线:决定芯片进行读写操作
  • 片选线:确定哪个存储芯片被选中
  • 地址线:是单向输入的,其位数与存储字的个数有关
  • 数据线:双向的,位数与读写的数据位有关,数据线和地址线共同反映存储芯片容量的大小。

2.随机存储器

3..只读存储器ROM

ROM和RAM都支持随机存取的存储器,ROM一旦有信息不会随断电丢失,结构简单,位密度比可读写存储器高,非易失性

掩膜式只读存储器(MROM):写入后无法改变,可靠性高,集成度高,价格便宜,灵活性差

一次可编程只读存储器(PROM):写入无法改变

可擦除可编程只读存储器(EPROM):可以改写,全部擦出后编程,紫外线擦除和电擦除,写入时间长

闪速存储器(Flash Menory):

固态硬盘(Solid State Drives)


主存储器与CPU的连接

1.连接原理

  • 主存储器通过数据总线,地址总线和控制总线与CPU连接,
  • 数据总线的位数与工作频率的乘积正比于数据传输率
  • 地址总线的位数决定了可寻址的最大内存空间
  • 控制总线(写读)指出总线周期的类型和本次输入/输出操作完成的时刻

2.位扩展法

   对存储芯片扩位(即进位扩展,用多个存储器件对字长进行扩充,增加存储字长),使其扩展位数与CPU的数据线数相等。位扩展的连接方式是将多个存储芯片的地址端,片选端和读写控制端相应并联,数据端分析引出。

3.字扩展法

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

4.字位同时扩展法

即增加字数量,也增加字长;

5.存储芯片的地址分配和片选

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

片内的字选通常是由CPU送出的N条低位地址线完成的,地址线直接接到所有存储芯片的地址输入端。

1)线选法

      用除片内寻址外的高位地址线直接分别接至各个存储芯片的片选端,片选地址线每次寻址时只能有一位有效,不允许同时多位有效;优点:不需要地址译码器,线路简单。缺点:地址空间不连续,选片的地址线必须分时为低电平,不能充分利用系统的存储空间,造成地址资源浪费。

2)译码片选法    

     用除片内寻址外的高位地址线通过地址译码器芯片产生片选信号。

6.存储器与CPU的连接

 1) 合理选择存储芯片

   存储芯片类型(RAM和ROM)和数量的选择。选择ROM存放系统程序,标准子程序和各类常数,RAM是为用户编程而设置的。

 2)地址线的选择

   存储容量不同地址线数不同,通常将CPU地址线得低位与存储芯片得地址相连接,,以选择芯片中的某一单元,

 3)数据线的连接

   CPU得数据线与存储芯片得数据线数不一定相等,想等时可以直接连接;不相等时必须对存储芯片扩位。

 4)读写命令线的连接

   一般可以直接与存储芯片得读写控制端相连,通常高电平为读,低电平为写

 5)片选线得连接


双口RAM和多模块存储器

为提高CPU访问存储器的速度,可以采用双端口存储器,多模块存储器等技术,同属并行技术,前者空间并行,后者时间并行。

1.双端口RAM

   指同一个存储器有左右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许俩个独立的控制器同时异步的访问存储单元,两个端口地址不同,两个端口上进行读写操作一定不会发生冲突。

两个端口同时存取存储器的同一地址单元时,就会因数据冲突造成数据存储或读取错误;

  • 两个端口同时对同一地址单元写入数据,发生写入错误
  • 两个端口同时对同一地址单元,一个写入,另一个读出数据,发生读出错误

2.多模块存储器

  1) 单体多字存储器

        特点:只有一个存储体,每个存储单元存储m个字,总线宽度为m个字,一次并行读出m个字,地址必须顺序排列并处于同一存储单元。

       单体多字系统在一个存取周期内,从同一地址取出m条指令,逐条将指令送至CPU执行,每隔1/m存取周期;

       缺点:指令和数据在主存内必须是连续存放的。

2)多体并行存储器

      由多体模块组成,每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路,地址寄存器和数据寄存器。

  •  高位交叉编址:高位地址表示体号,低位地址为体内地址(顺序存储器)
  • 低位交叉编址:低位地址为体号,高位为体内地址

模块字长等于数据总线宽度,模块存取一个字的存取周期T,总线传送周期为r,为实现流水线方式存取,存储器交叉模块数应大于等于:  m=T/r

m为交叉存取度,连续时间需要  T+(m+1)r .  顺序方式连续读取m各字需要mT

 模块序号=访问地址%存储器交叉模块数


虚拟存储器

主存和联机工作的辅存构成了虚拟存储器,虚拟存储器是透明的。

                                            

3.段式虚拟存储器

   段式虚拟存储器中的段是按程序得逻辑结构划分的,各段长度因程序而异,把虚拟地址分为两部分:段号和段内地址。虚拟地址到实际地址之间的变换是由段表来实现的。段表是程序的逻辑段和在主存中存放地址的对照表。段表每一行记录了与某个段对应的段号,装入位,段起点和段长等信息。具有逻辑独立性,易于编译,管理,修改和保护,便于多道程序的共享。

5.快表TLB

  把经常访问的页表放在高速缓冲器组成的快表中,放在主存上的页表表示慢表,同时进行查找,

6.虚拟存储器与Cache比较

  不同:

  • Cache主要解决系统速度,而虚拟存储器为了解决主存容量
  • Cache全由硬件实现,是硬件存储,对程序员透明;虚拟存储器由OS和硬件共同实现,是逻辑上的存储器,对系统程序员不透明,对应用程序员透明。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章