存储器:保存执行程序的时候所需指令和数据,执行结果,文档和音像资料
存储器核心=主存储器+高速缓冲存储器
集成度:在半导体芯片中集成电子器件的数量和密度,集成度越高则意味着同一芯片上可以实现更多的功能
存储器的带宽:指的是在单位时间内存储器系统可以传输数据的速率,通常以比特每秒(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,用电信号来擦除存储的数据
- RAM:可读可写,保存用户的数据和程序
- flash memory:比如U盘,属于半导体存储器,速度在磁盘<flash memory<主存储器,也可作为主存和辅存之间的缓冲区
- 高速缓冲存储器Cache:用静态RAM实现,速度在flash memory<主存<Cache,可作为cpu和主存之间的缓冲区
- 辅助存储器:磁盘,磁带,光盘
存储器的层次结构
存储器三个主要特性:速度,容量,价格
- 寄存器存在于CPU和I/O端口中
- 体系结构寄存器:在指令中可用,可供机器语言程序员使用
- 非体系结构寄存器:指令不能直接对这部分寄存器进行操作,不需要机器语言程序员了解
- 缓存
- 集成到CPU:若CPU需要读取或写入缓存的数据,速度会更快,但容量较小,不能达到提高系统速度的目的
- 未集成到CPU:容量大,速度慢
现代计算机的存储器结构为什么要采用分层结构(多类型存储器)?
用户需求是高速度,大容量,低价格,单一的存储器满足不了该要求,必须要用多类型存储器形成存储体系
计算机主机=cpu+存储器,cpu可以从主存中读取信息,也可以把运行结果保存在主存中。但主存容量有限,若程序足够大,则主存可能不够用,因此需要辅助存储器。但程序运行在主存中,若程序运行需要先将其调入主存,所以主存和辅存之间也会有数据交换
缓存-主存层次
该层次解决了cpu和主存传输速度不匹配的问题,程序访问(编写)用的是主存储器的地址(实地址/物理地址)。
采用硬件的方法将二者连接成一个整体。cpu发展速度快,但主存速度提升有限,cpu和主存速度差距越来越大,因此加入了缓存(cache)。cache虽然容量小于主存,功耗大于主存,但速度大于主存。通常用来保存主存中一些信息的副本
主存-辅存层次
该层次解决了主存的容量不足问题,属于虚拟存储器。程序访问(编写)用的是虚地址或者逻辑地址。
用软硬件相结合,将二者构建为一个整体。从应用程序员的角度来看,需要主存的速度,辅存的容量和价格。在程序执行中,即使程序超过了主存的容量,程序员也不需要关心具体的分配和调入。
主存储器
主存储器的基本组成
存储器=存储体+MAR+MDR
存储体:保存程序指令以及数据
MAR:存储器地址寄存器
MDR:存储器数据寄存器
MAR:保存了要访问的存储单元的地址,经过译码以后才能选择指定的存储单元
MDR:保存了要读取写入的数据,通过读写和控制电路进行控制
写入:MDR数据->MAR指定的存储单元
读出:MAR指定的存储单元的内容->MDR
主存与CPU之间的关系
连接信号分类:数据总线、地址总线、控制总线
数据总线:完成CPU和主存之间的数据传输,直接连在MDR寄存器,双向
地址总线:连接在MAR寄存器和主存的地址总线之间,给出了要访问的内存单元的地址
控制信号:读出和写入,单向
主存中存储单元地址的分配
假设主存存储字长32位,即对这个存储器某个单元进行读或写的话,一次最多可读出或写入32个0/1
主存编址单位为字节(8位),每个字节都有一个地址,
举例:12345678H在主存中如何进行存储
法1:高位字节地址为字地址
法2:低位字节地址为字地址
假设存储器有地址线24根,按字节寻址,对每一个字节进行编址,每个字节对应一个地址,每个地址线可以传递一个地址位,访问范围为2^24=16M
假设存储器有地址线24根,访问范围为2^24=16M
假设存储器有地址线24根,按字节寻址,存储器容量为2^24=16MB 假设字长为16位,按字寻址,存储器容量为8MW 假设字长为32位,按字寻址,存储器容量为2^24=4MW
主存的技术指标
- 存储容量:主存存放二进制代码的总位数
- 存储速度
- 存取时间:存储器的访问时间,存储器给出地址->得到稳定数据输入/出,分为读出和写入时间2种
- 存取周期:连续2次独立的存储器操作所需要的最小间隔时间,分为读周期和写周期
- 存取周期一般大于存取时间
- 存储器的带宽,单位 位/秒
半导体存储芯片
基本结构
地址线:单向,由cpu/io设备的控制器指向存储器
数据线:双向,读取数据数据线向外,写入时向内并把数据送入存储单元中去
芯片容量:地址线10位,数据线4位,有2^10 个存储单元,每个存储单元4位数据,所以芯片容量为(2^10)4=1K4位
片选线:芯片选择线,一般有2种,CS和CE,低电平有效,
读写控制线:WE 低电平写,高电平读 OE 允许读取
译码驱动方式
即:给出了存储单元地址后,如何找到指定的存储单元
- 线选法
- 重合法