微机原理与接口技术 第5章 80X86_88存储系统 黄强 深圳大学 信息工程学院.

Slides:



Advertisements
Similar presentations
第七章 半导体存储器 《数字电子技术》7.1 概述 7.2 只读存储器( ROM ) 7.5 用存储器实现组合逻辑函数 7.4 存储器的扩展 7.3 随机存储器( RAM ) 7.6 集成芯片简介及应用举例.
Advertisements

第五章 存储系统 5.1 存储器的构成 5.2 存储系统的构成 5.3 Cache 5.4 虚拟存储器.
第6章 存储系统 6. 1 存储器的分类与性能评价 6. 2 存储器访问的局部性原理与 层次结构存储系统 6. 3 半导体存储器
6.4 存储器的扩展 存储芯片的扩展 存储芯片的扩展包括位扩展、字扩展和字位同时扩展等三种情况。 1.位扩展
第四章 存储系统 4-1 存储系统概论 4-2 RAM(随机读写存储器) 4-3 ROM(只读存储器) 4-4 高速缓冲存储器(Cache)
第5章 多级结构的存储系统 5.1 三级结构存储系统概述 主存储器 虚拟存储器 CPU 高速缓存 三级结构的存储系统.
第6章 微机存储器系统 存储器是计算机中存储信息的部件。它可以把需要CPU处理的程序和原始数据存储起来,处理时自动而连续地从存储器中取出程序中的指令并执行指令规定的操作。程序执行过程中的数据也可利用存储器保存起来。这就是说,计算机每完成一条指令,至少有一次为了取指而访问存储器。
第5章 存储器 本章学习主要内容为: 存储器的分类及性能指标。 存储器的分级结构。 常用存储芯片与CPU的接口特性。 存储器的接口设计。
计算机原理及系统结构 第三十一讲 主讲教师:赵宏伟                 学时:64.
第 6 章 存储系统 ——本章主要介绍三级存储体系的含义,及存储器的逻辑设计方法。
第6章 半导体存储器 6.1 概述 6.2 随机读写存储器(RAM) 6.3 只读存储器(ROM) 6.4 存储器的扩展
实验四 利用中规模芯片设计时序电路(二).
第六章 微型计算机存储器.
第6章 存储系统 计算机教学实验中心.
第4章 主存储器 4.1 主存储器概述 4.2 读/写存储器 4.3 非易失性存储器 4.4 DRAM的研制与发展
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第6章 存储器和高速缓存技术.
半导体存储器 第四章 半导体存储器.
第五章 存储器 本章要点: ♦ 现代高档微机系统的存储器体系结构 ♦ 半导体存储器的分类与选用原则 ♦ 存储器芯片与CPU的接口特性
第一节 存储器的构成 第二节 存储系统的构成 第三节 Cache 第四节 虚拟存储器
3.1 存储器的构成 3.2 存储系统的构成 3,3 Cache 3,4 虚拟存储器
第8章 AT89S51单片机 外部存储器的扩展 1.
第七章 单片机存储器的扩展.
单片机系统的三总线的构造 半导体存储器 程序存储器和数据存储器的扩展方法 E2PROM的使用 程序存储器和数据存储器的同时扩展
第 5 章 存 储 器 中国科学技术大学 何克东.
4.1内存在系统中的使用 4.2内存的分类 4.3内存的技术指标 4.4内存条的种类 4.5内存技术展望 4.6内存的选购
版权所有,引用请注明出处 第四章、存储系统 原著 谭志虎 主讲(改编) 蒋文斌.
第8章 AT89S52单片机外部 存储器的扩展 1.
第五章 存储系统 半导体存储器概述 系统内存扩充 高速缓冲存储器 虚拟存储器 PC系列机中的主存储器 习题与思考 上一章 目 录 帮助
第六章 存贮器 6.1 存储器概述 6.2 随机存取存储器(RAM) 6.3 只读存储器(ROM) 6.4 CPU与存储器的连接.
4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器.
第 6 章 存储系统 6.1 概述 存储器的层次结构 存储器的分类 存储器的基本组成
第5章 存储系统.
第四章 存 储 器 4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器.
第三章 微机基本系统的设计 第一章 8086程序设计 第二章 MCS-51程序设计 第四章 存贮器与接口 第五章 并行接口
计算机组成原理 武汉科技大学 计算机科学与技术学院
存储系统.
第3章 存储系统 本章内容: 存储器概述 随机读写存储器 只读存储器和闪速存储器 高速存储器 cache存储器 虚拟存储器 存储保护.
微机原理与接口技术 第5章 存储器 朱华贵 2015年11月05日.
第5章 半导体存储器 存储器基本概念 随机存取存储器(RAM) 只读存储器(ROM) 存储器连接与扩充应用 微机系统的内存结构.
逆向工程-汇编语言
CPU结构和功能.
第5章 单片机应用系统的扩展 5.1 单片机扩展的基本概念 5.2 存储器的扩展 5.2 I/O接口扩展电路设计.
第六章 半导体存储器 第一节 半导体存储器的分类 第二节 读写存储器RAM 第三节 只读存储器ROM 第四节 存储器空间的分配和使用 第六章 半导体存储器 第一节 半导体存储器的分类 第二节 读写存储器RAM 第三节 只读存储器ROM 第四节 存储器空间的分配和使用 第五节.
第12章 半导体存储器 孙卫强.
计算机组成与系统结构 陈泽宇 副教授.
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第7章 半导体存储器 7.1半导体存储器的特点和分类 半导体存储器的特点 集成度高,体积小 可靠性高,价格低
第6章 存储器接口 6.1 存储器概述 6.2 半导体存储器 6.3 MCS-51单片机存储器扩展.
第5章 存储器 5.1 存储器概述 5.2 半导体存储芯片结构及使用 位系统的存储器接口.
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
第七章 半导体存储器.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
第六章 記憶體.
《数字电子技术基础》(第五版)教学课件 清华大学 阎石 王红
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
7.1 AT89C51最小应用系统 从本质上讲,单片机本身就是一个最小应用系统。由于晶振、开关等器件无法集成到芯片内部,这些器件又是单片机工作所必需的器件,因此,由单片机与晶振电路及由开关、电阻、电容等构成的复位电路就是单片机的最小应用系统。如图7-1所示,AT89C51片内有Flash程序存储器,由它构成的最小应用系统简单可靠。
第 6 章 存储系统 ——本章主要介绍三级存储体系的含义,及存储器的逻辑设计方法。
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
微机原理与接口技术 西安邮电大学计算机学院 王 莹.
第三章 半导体存储器及其接口 第一节 概述 第二节 半导体存储器 第三节 半导体存储器与CPU接口 一、存储器的分类
第九章 存储器和可编程逻辑器件 本章主要内容 半导体存储器 只读存储器 随机存取存储器 存储器容量的扩展 可编程逻辑器件
第四章:内存储器接口的基本技术 主讲教师:范新民.
DSP技术与应用 电子与信息技术系.
Presentation transcript:

微机原理与接口技术 第5章 80X86_88存储系统 黄强 深圳大学 信息工程学院

本章内容位于 书本P277—P294

微型机的存储系统、分类及其特点 半导体存储芯片的外部特性及其与系统 的连接 存储器扩展技术 高速缓存 本章主要内容 微型机的存储系统、分类及其特点 半导体存储芯片的外部特性及其与系统 的连接 存储器扩展技术 高速缓存

5.1 概 述 内容: 微型机的存储系统 半导体存储器的基本概念 存储器的分类及其特点 两类半导体存储器的主要区别

微型机的存储系统 将两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件或软硬件相结合的方法组织起来 这样就构成了计算机的存储系统。 将两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件或软硬件相结合的方法组织起来 这样就构成了计算机的存储系统。 系统的存储速度接近最快的存储器,容量接近最大的存储器。

微型机的存储系统 高速缓冲存储器 主存储器 Cache存储系统 解决速度问题 虚拟存储系统 解决容量问题 主存储器 磁盘存储器

存储器的层次结构 微机拥有不同类型的存储部件 由上至下容量越来越大,但速度越来越慢 CPU内核 快 寄存器堆 小 高速缓存 容量 速度 主存储器 联机外存储器 慢 脱机外存储器 大

两大类——内存、外存 内存——存放当前运行的程序和数据。 外存——存放非当前使用的程序和数据。 特点:快,容量小,随机存取,CPU可直接访问。 通常由半导体存储器构成 RAM、ROM 外存——存放非当前使用的程序和数据。 特点:慢,容量大,顺序存取/块存取。需调入内存后CPU才能访问。 通常由磁、光存储器构成,也可以由半导体存储器构成 磁盘、磁带、CD-ROM、DVD-ROM、固态盘

半导体存储器 由能够表示二进制数“0”和“1”的、具有记忆功能的一些半导体器件组成。如触发器、MOS管的栅极电容等。 能存放一位二进制数的器件称为一个存储元。 若干存储元构成一个存储单元。

内存储器的分类 内存储器 随机存取存储器(RAM) 只读存储器(ROM) Random Access Memory Read Only Memory

随机存取存储器(RAM) RAM 静态存储器(SRAM) Static RAM 动态存储器(DRAM) Dynamic RAM

只读存储器(ROM) 只读存储器 掩模ROM 一次性可写ROM EPROM EEPROM

存储器的主要技术指标 存储容量:存储单元个数M×每单元位数N 存取时间:从启动读(写)操作到操作完成的时间 存取周期:两次独立的存储器操作所需间隔的最小时间 平均故障间隔时间MTBF(可靠性) 功耗:动态功耗、静态功耗

5.2 随机存取存储器 要求掌握: SRAM与DRAM的主要特点 几种常用存储器芯片及其与系统的连接 存储器扩展技术

一、静态存储器SRAM 特点: 用双稳态触发器存储信息。 速度快(<5ns),不需刷新,外围电路比较简单,但集成度低(存储容量小,约1Mbit/片),功耗大。 在PC机中,SRAM被广泛地用作高速缓冲存储器Cache。 对容量为M*N的SRAM芯片,其地址线数=㏒2M;数据线数=N。反之,若SRAM芯片的地址线数为K,则可以推断其单元数为2K个。

典型SRAM芯片 CMOS RAM芯片6264(8K*8): 主要引脚功能 工作时序 与系统的连接使用

SRAM 6264芯片

6264芯片的主要引线 地址线: A0~A12 数据线: D0~ D7 输出允许信号:OE 写允许信号: WE 选片信号: CS1、CS2

6264的工作过程

6264芯片与系统的连接 D0~D7 D0~D7 A0 A0 • • • • • • • A12 A12 MEMW WE MEMR OE 译码 电路 高位地址信号 CS1 • • • CS2

译码电路 将输入的一组二进制编码变换为一个特定的控制信号,即: 将输入的一组高位地址信号通过变换,产生一个有效的控制信号,用于选中某一个存储器芯片,从而确定该存储器芯片在内存中的地址范围。

全地址译码 用全部的高位地址信号作为译码信号,使得存储器芯片的每一个单元都占据一个唯一的内存地址。 存储器 芯片 全部地址 译 码 器 低位地址 全部地址 片选信号 译 码 器 高位地址

全地址译码例 6264芯片的地址范围:F0000H~F1FFFH 111100000……00 ~ 111100011……11 & 6264 A12 ~ A0 6264 A12-A0 A19 A18 #OE #WE A17 高位地址线全部参加译码 A16 & #CS1 A15 D7 ~ D0 A14 ≥1 D7-D0 A13

部分地址译码 用部分高位地址信号(而不是全部)作为译码信号,使得被选中得存储器芯片占有几组不同的地址范围。 下例使用高5位地址作为译码信号,从而使被选中芯片的每个单元都占有两个地址,即这两个地址都指向同一个单元。

部分地址译码例 同一物理存储器占用两组地址: F0000H~F1FFFH B0000H~B1FFFH & A18不参与译码 A19 到 6264 CS1 A17 A16 & A15 A14 ≥1 A13

应用举例 将SRAM 6264芯片与系统连接,使其地址范围为:38000H~39FFFH和78000H~79FFFH。 选择使用74LS138译码器构成译码电路 74LS138逻辑图: Y0# G1 Y1# G2A Y2# G2B Y3# Y4# A Y5# B Y6# C Y7# 译码允许信号 片选信号输出 (接到不同的存储体上) 地址信号

74LS138的真值表:(注意:输出低电平有效) 可以看出,当译码允许信号有效时,Yi是输入A、B、C的函数,即 Y=f(A,B,C) G1 G2A G2B C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 其 他 值 X X X 1 1 1 1 1 1 1 1

应用举例(续): & & D0~D7 D0~D7 A0 A0 • • • • • 6264 • A12 A12 MEMW WE MEMR 38000H~39FFFH 78000H~79FFFH D0~D7 D0~D7 A0 A0 • • • • • 6264 • A12 A12 MEMW WE MEMR OE & G1 Y0 CS1 G2A A17 & CS2 A16 G2B A15 A19 C B +5V A14 A13 A

二、动态随机存储器DRAM 特点: DRAM是靠MOS电路中的栅极电容来存储信息的,由于电容上的电荷会逐渐泄漏,需要定时充电以维持存储内容不丢失(称为动态刷新),所以动态RAM需要设置刷新电路,相应外围电路就较为复杂。 刷新定时间隔一般为几微秒~几毫秒 DRAM的特点是集成度高(存储容量大,可达1Gbit/片以上),功耗低,但速度慢(10ns左右),需要刷新。 DRAM在微机中应用非常广泛,如微机中的内存条(主存)、显卡上的显示存储器几乎都是用DRAM制造的。

常见DRAM的种类: SDRAM(Synchronous DRAM)——它在1个CPU时钟周期内可完成数据的访问和刷新,即可与CPU的时钟同步工作。SDRAM的工作频率目前最大可达150MHz,存取时间约为5~10ns,最大数据率为150MB/s,是当前微机中流行的标准内存类型。 RDRAM(Rambus DRAM)——是由Rambus公司所开发的高速DRAM。其最大数据率可达1.6GB/s。 DDR DRAM(Double Data Rate DRAM)——是对SDRAM的改进,它在时钟的上升沿和下降沿都可以传送数据,其数据率可达200-800 MB/s。主要应用在主板和高速显示卡上。 RAM的3个特性: 1)可读可写,非破坏性读出,写入时覆盖原内容。 2)随机存取,存取任一单元所需的时间相同。 3)易失性(或挥发性)。当断电后,存储器中的内容立即消失。

典型DRAM芯片2164A 2164A:64K×1 采用行地址和列地址来确定一个单元; 行列地址分时传送, 共用一组地址线; 地址线的数量仅 为同等容量SRAM 芯片的一半。 1 1 0 0 0 列地址 行地址

主要引线 RAS:行地址选通信号,用于锁存行地址; CAS:列地址选通信号。 DIN: 数据输入 DOUT:数据输出 WE=0 数据写入 WE=1 数据读出 WE:写允许信号

工作原理 三种操作: 数据读出 数据写入 刷新

刷新 将存放于每位中的信息读出再照原样写入原单元的过程——刷新 刷新的时序图

三、存储器扩展技术 用多片存储芯片构成一个需要的内存空间,它们在整个内存中占据不同的地址范围,任一时刻仅有一片(或一组)被选中。 位扩展——扩展每个存储单元的位数 字扩展——扩展存储单元的个数 字位扩展——二者的综合

位扩展 存储器的存储容量等于: 单元数×每单元的位数 当构成内存的存储器芯片的字长小于内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求。 字节数 字长

位扩展例 … 用8片2164A芯片构成64KB存储器。 2164A: 64K x 1,需8片构成64K x 8(64KB) DB D0 D1 读写信号 … 2164A 2164A 2164A A0~A7 A0~A7 A0~A7 AB A0~A19 LS138 译码输出 A8~A19

位扩展方法: 将每片的地址线、控制线并联,数据线分别引出。 位扩展特点: 存储器的单元数不变,位数增加。

字扩展 地址空间的扩展。芯片每个单元中的字长满足,但单元数不满足。 扩展原则: 每个芯片的地址线、数据线、控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围。

字扩展例 用两片64K×8位的SRAM芯片构成容量为128KB的存储器

字位扩展 根据内存容量及芯片容量确定所需存储芯片数; 进行位扩展以满足字长要求; 进行字扩展以满足容量要求。 若已有存储芯片的容量为L×K,要构成容量为M ×N的存储器,需要的芯片数为: (M / L) ×(N / K)

字位扩展例 用4K×1位的芯片组成16KB的存储器。 地址线需14根(A0-A13),其中12根(A0-A11)用于片内寻址,2根(A12,A13)用于片选译码。连接图。 注意:以上的例子中所需的地址线数并未从系统整体上考虑。在实际系统中,总线中的地址线数往往要多于所需的地址线数,这时除片内寻址的低位地址线(即片内地址线)外,剩余的高位地址线一般都要用于片选译码。

8088系统中存储器的连接使用方法 存储器与8088系统总线的连接的要点是: 存储器的地址范围? 系统总线上与存储器有关的信号线有哪些? 根据要求的地址范围可确定用哪几根地址线进行片选,哪几根地址线做片内寻址以及如何进行片选译码。 系统总线上与存储器有关的信号线有哪些? 熟悉与存储器有关的总线信号和存储芯片引脚的功能。 译码电路的构成(译码器的连接方法) 系统地址空间一般比存储芯片的容量大(即总线中的地址线数多于存储芯片的地址线数),物理内存实际只占用系统地址空间的一小块区域。把物理内存分配到系统地址空间的哪一块区域,取决于如何进行地址译码。

8088系统中存储器连接涉及到的总线信号包括: 需要考虑的存储芯片引脚 地址线A19-A0 数据线D7-D0 存储器读信号MEMR# 存储器写信号MEMW# 需要考虑的存储芯片引脚 地址线An-1-A0:接地址总线的An-1-A0 数据线D7-D0:接数据总线的D7-D0 片选信号CS#(CE#) (可能有多根):接地址译码器的片选输出 输出允许OE#(有时也称为读出允许) :接MEMR# 写入允许WE#:接MEMW#

*补充:8086的16位存储器接口 数据总线为16位,但存储器按字节进行编址 用两个8位的存储体(BANK)构成16位 如何连接? A19-A0 体选信号 和读写控制 译码器 BANK0 偶数地址 BANK1 奇数地址 控制信号 如何产生? D7-D0 D15-D8 D15-D0

*8086的16位存储器接口 读写数据有以下几种情况: 8086读写16位数据的特点: 读写从偶数地址开始的16位的数据 读写从奇数地址开始的16位的数据 读写从偶数地址开始的8位的数据 读写从奇地址开始的8位的数据 8086读写16位数据的特点: 读16位数据时会读两次,每次8位。 读高字节时BHE=0,A0=1; 读低字节时BHE=1,A0=0 每次只使用数据线的一半:D15-D8 或 D7-D0 写16位数据时一次写入。 BHE和A0同时为0 同时使用全部数据线D15~D0

*8086的16位存储器接口 两种译码方法 独立的存储体译码器 独立的存储体写选通 每个存储体用一个译码器; 缺点:电路复杂,使用器件多。 译码器共用,但为每个存储体产生独立的写控制信号 但无需为每个存储体产生独立的读信号,因为8086每次仅读1字节。对于字,8086会连续读2次。 电路简单,节省器件。

1)独立的存储体译码器 64KB×8片 D15-D9 D7-D0 高位存储体 (奇数地址) A16-A1 A15-A0 注意这些信号线的连接方法 A19 A18 A17 C B A Y0# Y7# CS# OE# WE# Vcc G1 G2A# G2B# BHE# 64KB×8片 MEMR# MEMW# D8-D0 D7-D0 低位存储体 (偶数地址) A15-A0 A19 A18 A17 C B A Y0# Y7# CS# Vcc G1 G2A# G2B# OE# WE# A0 读16位数据时每个体被选中几次? MEMW#信号同时有效,但只有一个存储体被选中

2)独立的存储体写选通 64KB×8片 D15-D9 D7-D0 高位存储体 (奇数地址) A16-A1 A15-A0 ≥1 CS# OE# BHE# OE# WE# MEMW# ≥1 A0 64KB×8片 MEMR# D8-D0 D7-D0 低位存储体 (偶数地址) A15-A0 A19 A18 A17 C B A Y0# Y7# CS# Vcc GND G1 G2A# G2B# OE# WE# 读16位数据时每个体被选中几次? 每个存储体用不同的读控制信号

5.3 只读存储器(ROM) 掩模ROM 一次性可写ROM 可读写ROM 分 类 EPROM(紫外线擦除) EEPROM(电擦除)

一、EPROM 特点: 可多次编程写入; 掉电后内容不丢失; 内容的擦除需用紫外线擦除器。

EPROM 2764 8K×8bit芯片,其引脚与SRAM 6264完全兼容 地址信号:A0 ~ A12 数据信号:D0 ~ D7 输出信号:OE 片选信号:CE 编程脉冲输入:PGM

2764的工作方式 数据读出 编程写入 擦除 标准编程方式 快速编程方式 工作方式 编程写入的特点: 每出现一个编程负脉冲就写入一个字节数据

二、EEPROM( E2PROM ) 特点: 可在线编程写入; 掉电后内容不丢失; 电可擦除。

典型E2PROM芯片98C64A 8K×8bit芯片 13根地址线(A0 ~ A12) 8位数据线(D0 ~ D7) 输出允许信号(OE) 写允许信号(WE) 选片信号(CE) 状态输出端(READY/BUSY)

工作方式 数据读出 编程写入 擦除 字节写入:每一次BUSY正脉冲写 入一个字节 自动页写入:每一次BUSY正脉写 入一页(1~ 32字节) 字节擦除:一次擦除一个字节 片擦除:一次擦除整片

E2PROM的应用 可通过编写程序实现对芯片的读写,但 每写入一个字节都需判断READY/BUSY 端的状态,仅当该端为高电平时才可写 入下一个字节。

四、闪速E2PROM 特点: 通过向内部控制寄存器写入命令的方法来控制芯片的工作方式,而非用引脚的信号来控制芯片的工作。 应用 BIOS,便携式闪存硬盘

工作方式 数据读出 编程写入 擦 除 读单元内容 读内部状态寄存器内容 读芯片的厂家及器件标记 数据写入,写软件保护 擦 除 数据写入,写软件保护 字节擦除,块擦除,片擦除 擦除挂起

5.4 高速缓存(Cache) 了解: Cache的基本概念; 基本工作原理; 命中率; Cache的分级体系结构

1)为什么需要高速缓存? CPU工作速度与内存工作速度不匹配 解决: 例如,800MHz的PIII CPU的一条指令执行时间约为1.25ns,而133MHz的SDRAM存取时间为7.5ns,即83%的时间CPU都处于等待状态,运行效率极低。 解决: CPU插入等待周期——降低了运行速度; 采用高速RAM——成本太高; 在CPU和RAM之间插入高速缓存——成本上升不多、但速度可大幅度提高。

2)工作原理 基于程序执行的两个特征: 程序访问的局部性:过程、循环、子程序。 数据存取的局部性:数据相对集中存储。 存储器的访问相对集中的特点使得我们可以把频繁访问的指令、数据存放在速度非常高(与CPU速度相当)的SRAM——高速缓存CACHE中。需要时就可以快速地取出。

CAM—Content Access Memory Cache的工作原理图示 CAM—Content Access Memory ②检索(用主存地址作为关键字,查找CAM)—前提:每次访问的主存地址都保留在CAM内。 ①送主存地址 AB CPU Cache控制部件 RAM Cache DB ③命中则发出读 Cache命令, 从Cache取数据 ④不命中则发出读RAM命令, 从RAM取数据

只要命中率相当高,就可以大大提高CPU的运行效率,减少等待。现代计算机中CACHE的命中率都在90%以上。 找到(称为命中)——直接取出使用; 没找到——到RAM中取,并同时存放到CACHE中,以备下次使用。 只要命中率相当高,就可以大大提高CPU的运行效率,减少等待。现代计算机中CACHE的命中率都在90%以上。 命中率影响系统的平均存取速度 系统的平均存取速度≈ Cache存取速度×命中率+RAM存取速度×不命中率

例如:RAM的存取时间为8ns,CACHE的存取时间为1ns,CACHE的命中率为90%。则存储器整体访问时间由没有CACHE的8ns减少为: 1ns×90% + 8ns×10% = 1.7ns 速度提高了近4倍。 在一定的范围内,Cache越大,命中率就越高,但相应成本也相应提高 Cache与内存的空间比一般为1128

*Cache系统有三个需要解决的主要问题: 解决:把Cache与主存都分成大小相同的页(若主存容量为2n,Cache容量为2m,页的大小为2p(即页内地址有p位),则主存的页号共有(n-p)位,Cache页号共有(m-p)位)这样,主存—Cache地址变换,就是如何把主存页映射到Cache页上(即只映射页号)。 全相连映射——主存任意页可映射到Cache的任意页。这需要有一个很大的页号映射表(共有2m-p项),放在CAM存储器中。昂贵,但冲突小。 直接映射——主存页号B与Cache页号b满足关系:b=B mod 2m-p 例如:主存0、4、8、12,…页映射到Cache的0页,主存1、5、9、13,…映射到Cache的1页,依此类推。不需要页号映射表,但冲突概率高。 组相连映射——把页分组,然后结合上面两种方法:组间直接映射,组内全映射。

不命中时如何替换Cache内容 有以下几种替换算法: Cache与主存的一致性 两种常用的更新算法: 随机替换 先进先出FIFO 最近最少使用LRU(Least Recently Used) 最久没有使用LFU(Least Frequently Used) Cache与主存的一致性 两种常用的更新算法: 写穿式(WT,Write Through)——同时更新 回写式(WB,Write Back)——仅当替换时才更新主存

*Cache的读写操作 写穿式 回写式 写操作 读操作 贯穿读出式 旁路读出式

写穿式(Write Through) 从CPU发出的写信号送Cache的同时也写入主存。 Cache CPU 主 存

回写式(Write Back) 数据一般只写到Cache,当Cache中的数据被再次更新时,才将原来的数据写入主存相应页,并接受新的数据。 CPU Cache 主 存

贯穿读出式 CPU对主存的所有数据请求都首先送到Cache,在Cache中查找。若命中,则切断CPU对主存的请求,并将数据送出;如果不命中,则将数据请求传给主存。 CPU Cache 主 存

旁路读出式 CPU向Cache和主存同时发出数据请求。如果命中,则Cache将数据送给CPU,并同时中断CPU对主存的请求;若不命中,Cache不做任何动作,由CPU直接访问主存。 Cache CPU 主 存

3)PC机中的CACHE 一般有两级CACHE(有的具有三级) L1 CACHE——容量一般为8KB~64KB L2 CACHE——容量一般为128KB~2MB 新型CPU一般将这两级CACHE都做在CPU内核中。而且运行速度与CPU内核相同,使CPU的整体性能有了极大的提高。 指令Cache和数据Cache 各种CPU的Cache配置见教材p229表5-5。

IBM PC/XT的内存空间分配 00000H RAM区 640KB 9FFFFH 保留区 128KB BFFFFH ROM区 256KB FFFFFH