计算机组成03

205 阅读7分钟

存储器:保存执行程序的时候所需指令和数据,执行结果,文档和音像资料

存储器核心=主存储器+高速缓冲存储器

集成度:在半导体芯片中集成电子器件的数量和密度,集成度越高则意味着同一芯片上可以实现更多的功能

存储器的带宽:指的是在单位时间内存储器系统可以传输数据的速率,通常以比特每秒(bit/s)或字节每秒(byte/s)为单位

存储器分类

存储介质:

  • 半导体存储器(TTL+MOS):如果存储器没有电,存在其中的信息就会消失
    • TTL:晶体管-晶体管逻辑,集成度低,功耗高,速度快
    • MOS:金属氧化物半导体,集成度高,功耗低(现在使用更多)
  • 磁表面存储器(磁头,磁载体):使用磁头在磁载体(如磁盘或磁带)的表面读写数据
  • 磁芯存储器:硬磁材料、环状元件,磁芯即小型磁性环
  • 光盘存储器:激光、磁光材料

第一种一部分属于非易失,一部分属于易失。后三种都属于非易失

存取方式:

  • 存取时间和物理地址无关(随机访问):不同地址可以在相同时间内取出或写入
    • 随机存储器:在程序执行过程中可读可写
    • 只读存储器:在程序执行过程中只能读不能写
  • 存储时间和物理地址有关(串行访问):
    • 顺序存取存储器:如磁带,数据必须按照顺序逐个访问,不能直接跳转到指定位置
    • 直接存取存储器:如磁盘,直接通过地址访问存储器中的任何位置,而不需要按照顺序逐个访问

在计算机中的作用:

  • 主存储器
    • RAM:可读可写,保存用户的数据和程序
      • 静态RAM
      • 动态RAM
    • ROM:只读,保存系统参数
      • MROM:MASK ROM,掩膜ROM
      • PROM:Programmable ROM,可编程ROM
      • EPROM:Erasable Programmable ROM,可编程和擦除ROM,使用紫外线照射芯片表面的特定位置来清除数据
      • EEPROM:Electrically Erasable Programmable ROM,用电信号来擦除存储的数据
  • flash memory:比如U盘,属于半导体存储器,速度在磁盘<flash memory<主存储器,也可作为主存和辅存之间的缓冲区
  • 高速缓冲存储器Cache:用静态RAM实现,速度在flash memory<主存<Cache,可作为cpu和主存之间的缓冲区
  • 辅助存储器:磁盘,磁带,光盘

存储器的层次结构

存储器三个主要特性:速度,容量,价格

f6855b69dcab4519cb62475cfbf78d3.png

  • 寄存器存在于CPU和I/O端口中
    • 体系结构寄存器:在指令中可用,可供机器语言程序员使用
    • 非体系结构寄存器:指令不能直接对这部分寄存器进行操作,不需要机器语言程序员了解
  • 缓存
    • 集成到CPU:若CPU需要读取或写入缓存的数据,速度会更快,但容量较小,不能达到提高系统速度的目的
    • 未集成到CPU:容量大,速度慢

现代计算机的存储器结构为什么要采用分层结构(多类型存储器)?

用户需求是高速度,大容量,低价格,单一的存储器满足不了该要求,必须要用多类型存储器形成存储体系

1711038654151.png 计算机主机=cpu+存储器,cpu可以从主存中读取信息,也可以把运行结果保存在主存中。但主存容量有限,若程序足够大,则主存可能不够用,因此需要辅助存储器。但程序运行在主存中,若程序运行需要先将其调入主存,所以主存和辅存之间也会有数据交换

缓存-主存层次

该层次解决了cpu和主存传输速度不匹配的问题,程序访问(编写)用的是主存储器的地址(实地址/物理地址)。

采用硬件的方法将二者连接成一个整体。cpu发展速度快,但主存速度提升有限,cpu和主存速度差距越来越大,因此加入了缓存(cache)。cache虽然容量小于主存,功耗大于主存,但速度大于主存。通常用来保存主存中一些信息的副本

主存-辅存层次

该层次解决了主存的容量不足问题,属于虚拟存储器。程序访问(编写)用的是虚地址或者逻辑地址。

用软硬件相结合,将二者构建为一个整体。从应用程序员的角度来看,需要主存的速度,辅存的容量和价格。在程序执行中,即使程序超过了主存的容量,程序员也不需要关心具体的分配和调入。

主存储器

主存储器的基本组成

存储器=存储体+MAR+MDR

存储体:保存程序指令以及数据

MAR:存储器地址寄存器

MDR:存储器数据寄存器 961185dba5829a6ce4de15caf88dc9a.png MAR:保存了要访问的存储单元的地址,经过译码以后才能选择指定的存储单元 MDR:保存了要读取写入的数据,通过读写和控制电路进行控制 写入:MDR数据->MAR指定的存储单元 读出:MAR指定的存储单元的内容->MDR

主存与CPU之间的关系

1711040566882.png

连接信号分类:数据总线、地址总线、控制总线

数据总线:完成CPU和主存之间的数据传输,直接连在MDR寄存器,双向

地址总线:连接在MAR寄存器和主存的地址总线之间,给出了要访问的内存单元的地址

控制信号:读出和写入,单向

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

假设主存存储字长32位,即对这个存储器某个单元进行读或写的话,一次最多可读出或写入32个0/1

主存编址单位为字节(8位),每个字节都有一个地址,

举例:12345678H在主存中如何进行存储

法1:高位字节地址为字地址

1711041724435.png

法2:低位字节地址为字地址

1711041780949.png

假设存储器有地址线24根,按字节寻址,对每一个字节进行编址,每个字节对应一个地址,每个地址线可以传递一个地址位,访问范围为2^24=16M

假设存储器有地址线24根,访问范围为2^24=16M

假设存储器有地址线24根,按字节寻址,存储器容量为2^24=16MB 假设字长为16位,按字寻址,存储器容量为8MW 假设字长为32位,按字寻址,存储器容量为2^24=4MW

主存的技术指标

  1. 存储容量:主存存放二进制代码的总位数
  2. 存储速度
    • 存取时间:存储器的访问时间,存储器给出地址->得到稳定数据输入/出,分为读出和写入时间2种
    • 存取周期:连续2次独立的存储器操作所需要的最小间隔时间,分为读周期和写周期
    • 存取周期一般大于存取时间
  3. 存储器的带宽,单位 位/秒

半导体存储芯片

基本结构

1711044454077.png

地址线:单向,由cpu/io设备的控制器指向存储器

数据线:双向,读取数据数据线向外,写入时向内并把数据送入存储单元中去

芯片容量:地址线10位,数据线4位,有2^10 个存储单元,每个存储单元4位数据,所以芯片容量为(2^10)4=1K4位

片选线:芯片选择线,一般有2种,CS和CE,低电平有效,

读写控制线:WE 低电平写,高电平读 OE 允许读取

译码驱动方式

即:给出了存储单元地址后,如何找到指定的存储单元

  • 线选法
  • 重合法