微机原理与接口技术 学习笔记(二) 存储器

文章目录

  • 一,存储器
      • [1.1 概述](#1.1 概述)
          • [1.1.1 半导体存储器的分类](#1.1.1 半导体存储器的分类)
          • [易失性或挥发性存储器 / 不易失性或不挥发性存储器](#易失性或挥发性存储器 / 不易失性或不挥发性存储器)
          • [1.1.2 半导体存储器的性能指标](#1.1.2 半导体存储器的性能指标)
          • [1.1.3 半导体存储器的一般结构及组成](#1.1.3 半导体存储器的一般结构及组成)
      • [1.2 随机存取存储器 RAM](#1.2 随机存取存储器 RAM)
      • [1.3 只读存储器 ROM(略)](#1.3 只读存储器 ROM(略))
            • [典型 EEPROM 芯片有:AT24系列 AT24C04](#典型 EEPROM 芯片有:AT24系列 AT24C04)
      • [1.4 高速缓冲存储器 Cache(略)](#1.4 高速缓冲存储器 Cache(略))

一,存储器

新型计算机的存储器组成可分为:CPU寄存器,高速缓冲寄存器,主存储器(简称内存/主存),辅助存储器(简称辅存/外存)。

内存储器由半导体芯片组成,依赖于电来维持信息的保存状态。

外存储器通常是磁性介质,能长期保存信息,不依赖电。

高速缓冲(Cache),解决CPU 与内存之间的速度匹配问题。

1.1 概述

半导体存储器优点:集成度高,速度快,功耗低,价格便宜,可靠性强,使用方便

=>已成为微型计算机的最主要的存储器

使用存储器要考虑的问题:

① 易失性;

② 只读性;(ROM)

③ 存储容量;

④ 速度。

⑤ 功耗;

1.1.1 半导体存储器的分类
按制造工艺:
  • 双极型存储器(TTL型晶体管):特点是存取速度快,但和MOS型比,集成度低,功耗大,成本高,常作为高速缓冲存储器(Cache)
  • MOS型存储器
    • 静态RAM
    • 动态RAM
    • EPROM
    • E^2PROM( E 2 P R O M E^2PROM E2PROM)(EEPROM)
    • Flash Memory
    • 速度较双极型慢,但集成度高,功耗低,价格便宜,是构成微型机内存的主要半导体存储器件。
易失性或挥发性存储器 / 不易失性或不挥发性存储器

断电后会丢失信息,被称为易失性或挥发性存储器;

电源关闭后,存储的信息不会丢失被称为 非易失性或不挥发性存储器。

按制造工艺:
  • 随机存取存储器RAM(Random Access Memory)(读写存储器)
    信息可以按地址随时读出或写入。一般来说,RAM断电后会丢失信息,被称为易失性或挥发性存储器;但是现在有些RAM芯片内部带有电池,被称为 非易失性或不挥发性存储器。
    RAM 分为静态RAM(SRAM)和动态RAM(DRAM):
    • 静态RAM 读写速度快,但集成度低,容量小,主要用作Cache或小系统的内存储器
    • 动态RAM 读写速度慢于静态RAM,但集成度高,单片容量大,多用于存储量大的系统中。动态RAM利用电容的电荷存储效应来存储信息,必须周期性对其刷新。
  • 只读存储器ROM(Read Only Memory)
    信息是在使用前或制造时写入的,作为固定信息存储,正常运行时只能读,不能写。电源关闭后,存储的信息不会丢失,是 非易失性或不挥发性存储器。
    常用来存放操作系统的核心程序(如BIOS)或用户固化的程序。
    根据信息写入的方式,常用ROM类型有:
    • 掩膜式ROM(Masked ROM),简称ROM
    • 可编程ROM(Programmable ROM),简称PROM
    • 可擦除ROM(Erasable ROM),简称EPROM
    • 电可擦除ROM(Electrically Rrasable ROM),简称 EEPROM 或 E 2 P R O M E^2PROM E2PROM
    • 闪速存储器(Flash Memory)
1.1.2 半导体存储器的性能指标

存储容量,存取速度,功耗,可靠性,性能/价格比,功耗

存储容量表示方式:N * M:N表示存储单元数(也是地址线根数),M每单元的存储位数(也是数据线根数)
存储容量 = 2 M × N 存储容量 = 2^M×N 存储容量=2M×N

1.1.3 半导体存储器的一般结构及组成
  • 存储矩阵
  • 地址译码器
  • 三状态双向缓冲器
  • 控制逻辑电路

1.2 随机存取存储器 RAM

  • 主要用来存放当前运行的程序,各种输入输出数据,中间运算结果,堆栈等
  • 随时可读可写
  • 掉电后内容全部丢失
  • 静态RAM 和 动态 RAM
1.2.1 静态RAM

静态RAM以触发器为基本存储单元。

只需要写入一次,就能一直在,除非被重新写入覆盖

电路结构 P220 略

静态RAM 芯片举例:SRAM 2114,SRAM 6264

1.2.2 动态RAM

利用电容存储电荷的原理来保存信息,它将晶体管结电容的充电状态和放电状态分别作为1和0。DRAM的基本存储单元是单个场效应管及其极间电容

电路结构 P222 略

  • 必须配备"读出再生放大电路"进行刷新(2ms内必须都被刷新一次),刷新按行进行。刷新方式有三:定时集中刷新,非同步的刷新,同步刷新方式。
  • 每个基本存储单元存储二进制数一位

动态RAM 芯片举例:DRAM 2164

1.2.3 RAM存储容量扩展方法 ***重点

使用存储器需要考虑的两个问题:

  • 使存储单元的位满足要求
  • 使存储单元的个数满足要求
位扩展

只进行存储单元位数扩充。

把各存储芯片的地址线,片选信号线和读/写控制信号线相应地并联,各芯片数据线分别接到系统的数据线上。

字扩展

只进行存储单元(字)数目的扩展

将存储芯片的所有地址输入端,I/O数据端 及 读/写控制端 分别连在一起,而降这些芯片的片选信号端各自分开(接到地址高位上),由片选信号来区分各片地址。

字位扩展

同时进行存储单元位数扩充 和 存储单元(字)数目的扩展。

1.2.4 RAM 存储器与CPU连接 ***重点

实质上是RAM 存储器芯片与系统总线的连接

CPU 与静态RAM存储器连接时,主要解决数据总线,地址总线和控制总线的连接问题。

存储芯片与CPU总线的连接,有两个很重要的问题:

  • CPU的总线负载能力
    CPU的总线驱动能力有限
    单向传送的地址和控制总线,可采用三态锁存器和三态单向驱动器等来加以锁存和驱动
    双向传送的数据总线,可以采用三态双向驱动器来加以驱动
  • 存储芯片与CPU总线时序的配合
    分析存储器的存取速度是否满足CPU总线时序的要求
    如果不能满足:
    考虑更换存储芯片
    总线周期中插入等待状态TW
(1)数据总线的连接
  • 三态缓冲器
    静态RAM芯片 中的输入输出电路包含 三态缓冲驱动器时,芯片的数据线可直接挂接到 CPU 的数据总线上去,对于不含三态缓冲器的芯片构成的存储器,则须加三态缓冲驱动器,再与CPU 的数据总线相接。
  • 传送方向控制门(增加灵活性)
    可在CPU 数据总线与存储器数据线间加入数据传送方向控制门电路,以提高系统控制的可靠性和灵活性。在8086系统中,用8286/8287 芯片控制数据的传送方向。
(2)地址总线的连接

CPU 的地址总线通常分为两部分:

  • 一部分直接与存储芯片用以片内寻址的地址线连接,通常是从 A 0 A_0 A0开始的低地址部分。(部分译码在存储芯片内部进行,即 片内译码)
  • 另一部分则经译码器译码,产生的片选信号与存储器的片选端相连,一般是高地址部分的地址线。(或者不扩展时让芯片常有效)

!!!

地址重复时:地址高位对芯片的寻址无效时,即出现地址重复时,常选取其中既好用、又不冲突的一个"可用地址",选取原则:高位全为0

(3)控制总线的连接

静态RAM存储子系统的控制信号主要有:

  • 控制信号 R D ‾ \overline {RD} RD
  • 写控制信号 W R ‾ \overline {WR} WR
  • 以及存储器或 I/O 端口选择信号 M / I O ‾ M/\overline {IO} M/IO
    • M / I O ‾ M/\overline {IO} M/IO=1,选操作对象为存储器
    • M / I O ‾ M/\overline {IO} M/IO=0,选操作对象为I/O端口

可以将这些信号进行逻辑组合成不同的信号对芯片进行控制。

1.2.5 译码
  • 门电路组合逻辑
  • 采用集成译码芯片(常用):
    • 常用的2:4译码器: 74LS139
    • 常用的3:8译码器: 74LS138
    • 常用的4:16译码器:74LS154

常用的译码方法:

  • 全译码:所有的系统地址线均参与对存储单元的译码寻址,包括:

    • 片内译码:低位地址线对芯片内各存储单元的译码寻址
    • 片选译码:高位地址线对存储芯片的译码寻址

    采用全译码,每个存储单元的地址都是唯一的,不存在地址重复

    译码电路可能比较复杂、连线也较多

  • 部分译码:只有部分高位地址线参与对存储芯片的译码

    每个存储单元将对应多个地址(地址重复),需要选取一个可用地址

    可简化译码电路的设计,但系统的部分地址空间将被浪费

  • 线选译码:只用少数几根高位地址线进行芯片的译码,且每根负责选中一个芯片(组)

    虽构成简单,但地址空间严重浪费

    必然会出现地址重复(一个存储单元对应多个存储地址)

    一个存储地址会对应多个存储单元

    多个存储单元共用的存储地址不应使用

    对一些存储芯片通过片选无效可关闭内部的输出驱动机制,起到降低功耗的作用

1.3 只读存储器 ROM(略)

典型 EEPROM 芯片有:AT24系列 AT24C04

EPROM 2716,EPROM 2764

EEPROM芯片2817A,EEPROM芯片2864A

1.4 高速缓冲存储器 Cache(略)

思路: 在引入高速缓冲存储器的系统中,内存由两级存储构成。一级是采用高速静态RAM芯片组成的小容量存储器,即Cache;另一级是用廉价的动态RAM芯片组成的大容量主存储器。

程序运行的所有信息存放在主存储器内,而高速缓冲存储器中存放的是当前使用最多的程序代码和数据,即主存中部分内容的副本。CPU访问存储器时,首先在Cache中寻找,若寻找成功,通常称为"命中",则直接对Cache操作;若寻找失败,则对主存储器进行操作,并将有关内容置入Cache。

引入Cache是存储器速度与价格折衷的最佳方法。

相关推荐
@小博的博客4 分钟前
C++初阶学习第十三弹——容器适配器和优先级队列的概念
开发语言·数据结构·c++·学习
gfxr121211 分钟前
笔记mfc11
笔记
微蓝课堂35 分钟前
【微蓝课堂】机器人编程|树莓派系列|13-从零开始编写TM1637驱动程序
笔记·python·青少年编程·机器人
山山而川粤1 小时前
废品买卖回收管理系统|Java|SSM|Vue| 前后端分离
java·开发语言·后端·学习·mysql
TensorFlowGAN1 小时前
华三预赛从零开始学习笔记(每日编辑,复习完为止)
笔记·学习·华三
Mephisto.java1 小时前
【大数据学习 | Spark-Core】RDD的缓存(cache and checkpoint)
大数据·学习·spark
zmd-zk1 小时前
flink学习(3)——方法的使用—对流的处理(map,flatMap,filter)
java·大数据·开发语言·学习·flink·tensorflow
垂杨有暮鸦⊙_⊙2 小时前
阅读《先进引信技术的发展与展望》识别和控制部分_笔记
笔记·学习
特种加菲猫2 小时前
初阶数据结构之栈的实现
开发语言·数据结构·笔记
明明真系叻3 小时前
第二十二周机器学习笔记:动手深度学习之——线性代数
笔记·深度学习·线性代数·机器学习·1024程序员节