嵌入式系统与结构 第六课 嵌入式系统的存储器

47
1 嵌嵌嵌嵌 嵌嵌嵌 嵌嵌嵌 嵌嵌嵌嵌 嵌嵌嵌嵌

Upload: amadahy-mitchell

Post on 01-Jan-2016

71 views

Category:

Documents


3 download

DESCRIPTION

嵌入式系统与结构 第六课 嵌入式系统的存储器. 本章内容. 存储器分类 按照写入能力和存储永久性进行区分 嵌入式系统存储器类型 常用存储器类型 高级 RAM 类型 嵌入式系统存储器组合 存储器的层次与 Cache. 概述. 嵌入式系统的功能涵盖 处理功能 利用处理器实现 通信 处理器和存储器之间的数据传递 用总线来实现 称为接口技术 存储功能 用 Memory 实现. m × n 存储器. …. M 个字. …. 每个字 n 位. memory external view. r/w. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 嵌入式系统与结构 第六课  嵌入式系统的存储器

1

  嵌入式系统与结构

第六课 嵌入式系统的存储器

Page 2: 嵌入式系统与结构 第六课  嵌入式系统的存储器

2

本章内容

存储器分类 按照写入能力和存储永久性进行区分

嵌入式系统存储器类型 常用存储器类型 高级 RAM 类型

嵌入式系统存储器组合存储器的层次与 Cache

Page 3: 嵌入式系统与结构 第六课  嵌入式系统的存储器

3

嵌入式系统的功能涵盖 处理功能

利用处理器实现 通信

处理器和存储器之间的数据传递 用总线来实现 称为接口技术

存储功能 用 Memory 实现

概述

Page 4: 嵌入式系统与结构 第六课  嵌入式系统的存储器

4

什么是存储器存储大量的位( bit )

m x n: m 个字,每个字 n 位 k = Log2(m) 地址输入信号 或者 m = 2^k 个字 e.g., 4,096 x 8 存储器 :

32,768 bits 12 地址输入信号 8 输入输出数据信号

存储器访问 r/w: 选择是读出还是写入 enable: 只有当确认后才能进行读写操作 multiport: 同时对多个位置进行访问

处理器的寄存器文件结构

m × n 存储器

每个字 n 位

M个字enable

2k × n read and write memory

A0 …

r/w

Q0Qn-1

Ak-1

mem

ory

exte

rnal

vie

w

Page 5: 嵌入式系统与结构 第六课  嵌入式系统的存储器

5

本章内容

存储器分类 按照写入能力和存储永久性进行区分

嵌入式系统存储器类型 常用存储器类型 高级 RAM 类型

嵌入式系统存储器组合存储器的层次与 Cache

Page 6: 嵌入式系统与结构 第六课  嵌入式系统的存储器

6

写入能力和存储永久性传统 ROM/RAM 区分方式

ROM 只读,断电时数据仍然保存

RAM 读写 , 断电时数据丢失

传统划分的缺陷 高级 ROMs 也能写入

e.g., EEPROM 高级 RAMs 也能断电保存

e.g., NVRAM写入能力

存储器写入数据的方式和速度存储永久性

数据写入后存储器保存数据的能力

Page 7: 嵌入式系统与结构 第六课  嵌入式系统的存储器

7

写入能力和存储永久性

写入能力和存储永久性,延坐标轴显示了相对的程度

Externalprogrammer

OR in-system,block-orientedwrites, 1,000s

of cycles

Batterylife (10years)

Writeability

EPROM

Mask-programmed ROM

EEPROM FLASH

NVRAM

SRAM/DRAM

Sto

rage

perm

anen

ce

Nonvolatile

In-systemprogrammable

Ideal memory

OTP ROM

Duringfabrication

only

Externalprogrammer,

1,000sof cycles

Externalprogrammer,one time only

Externalprogrammer

OR in-system,1,000s

of cycles

In-system, fastwrites,

unlimitedcycles

Nearzero

Tens ofyears

Life ofproduct

Page 8: 嵌入式系统与结构 第六课  嵌入式系统的存储器

8

本章内容

存储器分类 按照写入能力和存储永久性进行区分

嵌入式系统存储器类型 常用存储器类型 高级 RAM 类型

嵌入式系统存储器组合存储器的层次与 Cache

Page 9: 嵌入式系统与结构 第六课  嵌入式系统的存储器

9

ROM: “Read-Only” Memory

需要在放入嵌入式系统之前进行“编程”使用 保存 GPP 的软件

程序指令可以是一个或多个 ROM 字

保存系统需要的常量数据 组合电路实现

8 × 4 ROM

3×8

decoder

Q0Q3

A0

enable

A2

word 0

word 1

A1

Q2 Q1

programmable connection wired-OR

word line

data line

word 2

Internal view

Page 10: 嵌入式系统与结构 第六课  嵌入式系统的存储器

10

OTP ROM: 一次可编程 ROM由用户进行可编程连接很低的写入能力 需要编程器,并且只能写入一次

非常高的存储永久性 采用熔丝技术

一般应用在最终产品中 便宜 , 难以修改

Page 11: 嵌入式系统与结构 第六课  嵌入式系统的存储器

11.

(d)

(a)

(b) source drain

+15V

source drain

0V

(c) source drain

floating gate

5-30 min

EPROM: 可擦除的可编程 ROM

可编程部件是一个 MOS 晶体管 晶体管具有浮动栅 (a) 负电荷形成一个源和漏的沟道保存逻辑 1 (b) 栅极大的正电压引起负电荷移出沟道,得

到浮动栅中的一个陷阱来保存逻辑 0 (c) ( 擦除 ) 紫外线照射浮栅引起负电荷从浮栅返回沟道保存逻辑 1

更好的写入能力 能够擦除和重编程上千次

存储永久性降低 程序能够保存 10年以上

在设计开发阶段使用

Page 12: 嵌入式系统与结构 第六课  嵌入式系统的存储器

12

EEPROM: 电可擦除可编程 ROM 电可编程和擦除 要使用比工作电压高的电压进行编程 可编程或擦除独立的字更好的写能力 能够进行系统内编程 由于擦除和编程,写入时速度较慢 可以擦除上万次

存储永久性与 EPROM 相同 ( 大约 10 years)使用更方便,但是成本更贵应用于电话机,身份证等

Page 13: 嵌入式系统与结构 第六课  嵌入式系统的存储器

13

Flash 存储器EEPROM 的扩展 相同的浮栅原理 相同的写入能力和存储持久性快速擦除 可一次擦除一个块数据,而不是一次一个字。 块容量典型为数千个字节

写单字时可能更慢 必须读一个数据块,然后更新字,再将整个块回写。

嵌入式系统中用非易失存储器存储大数据 e.g., digital cameras, TV set-top boxes, cell phones

Page 14: 嵌入式系统与结构 第六课  嵌入式系统的存储器

14

RAM: “随机访问” 存储器典型的易失性存储器

断电后比特不被保存内部结构比 ROM 更复杂

一个字由几个存储器单元组成,每个保存1 位。

每个输入输出数据线连接到这一列的每个单元上

rd/wr 线连接到每个单元( cell ) 来自解码器的字使能线连接到所在行的每

个单元; 存储单元必须具有必要的逻辑,使 r/w 指

示写入且该行使能时能存储输入数据位,在 r/w 指示读取且该行使能时能输出该单元保存的数据位

enable2k × n read and write

memory

A0 …

r/w

Q0Qn-1

Ak-1

exte

rnal

vie

w

4×4 RAM

2×4 decoder

Q0Q3

A0

enable

A1

Q2 Q1

Memory cell

I0I3 I2 I1

rd/wr To every cell

internal view

Page 15: 嵌入式系统与结构 第六课  嵌入式系统的存储器

15

基本 RAM 类型SRAM:静态( Static ) RAM

存储器单元使用 flip-flop 来保存位数据

需要 6 个晶体管 只要有电就保持数据DRAM: 动态 Dynamic RAM

存储器单元使用 MOS晶体管和电容来保持数据位

比 SRAM更复杂; 由于电容泄漏,需要“刷新”

当读取时,字单元要被刷新 典型刷新率为 15.625 ms. 访问速度慢于 SRAM

memory cell internals

Data

W

Data'

SRAM

Data

W

DRAM

Page 16: 嵌入式系统与结构 第六课  嵌入式系统的存储器

16

Ram 的变型PSRAM: 伪静态 Pseudo-static RAM 带有内建存储器刷新控制器的 DRAM 比较流行的低成本高密度的替代SRAM 的一种存储器

NVRAM: 非易失 Nonvolatile RAM 外部电源移除时仍然保持数据 电池后备 Battery-backed RAM

SRAM 具有永久连接的电池 写入和读取一样快

Page 17: 嵌入式系统与结构 第六课  嵌入式系统的存储器

17

举例 : HM6264 & 27C256 RAM/ROM devices

低成本的容量存储器 一般在 8-bit MCU中应用头两个数字指示器件类型

RAM: 62 ROM: 27其后数字指示 Kbit 容量

Device Access Time (ns) Standby Pwr. (mW) Active Pwr. (mW) Vcc Voltage (V)HM6264 85-100 .01 15 527C256 90 .5 100 5

22

20

data<7…0>

addr<12...0>

/OE

/WE

/CS1

CS2 HM6264

11-13, 15-19

2,23,21,24,25, 3-10

22

27

20

26

data<7…0>

addr<14...0>

/OE

/CS

27C256

11-13, 15-19

27,26,2,23,21,24,25, 3-10

block diagrams

device characteristics

timing diagrams

data

addr

OE

/CS1

CS2

Read operation

data

addr

WE

/CS1

CS2

Write operation

Page 18: 嵌入式系统与结构 第六课  嵌入式系统的存储器

18

Example:TC55V2325FF-100 存储器

2-Mbit 同步流水线突发 SRAM 存储器设计用于 32-bit 处理器接口能够快速的顺序读取或写入,也能够实现单字节输入输出

timing diagramblock diagram

device characteristics

data<31…0>

addr<15…0>

addr<10...0>

/CS1

/CS2

CS3

/WE

/OE

MODE

/ADSP

/ADSC

/ADV

CLK

TC55V2325FF-100

Device Access Time (ns) Standby Pwr. (mW) Active Pwr. (mW) Vcc Voltage (V)TC55V23 10 na 1200 3.325FF-100

A single read operation

CLK

/ADSP

/ADSC

/ADV

addr <15…0>/WE

/OE

/CS1 and /CS2

CS3

data<31…0>

Page 19: 嵌入式系统与结构 第六课  嵌入式系统的存储器

19

实例:更复杂的存储器协议

产生控制信号来驱动流水线读取模式的 TC55V2325FF存储器芯片 Addr0 是起始地址 GO 是使能 /禁止信号

Specification for a single read operation

CLK

/ADSP

/ADSC

/ADV

addr <15…0>/WE

/OE

/CS1 and /CS2

CS3

data<31…0>

ADSP=1,ADSC=1

ADV=1, OE=1, Addr = ‘Z’

ADSP=1,ADSC=0

ADV=1, OE=1, Addr = ‘Z’

ADSP=1,ADSC=1

ADV=0, OE=0, Addr = ‘Z’

GO=1

GO=0

Data is ready here!

GO=1

GO=1

GO=0

GO=0

S0 S1

S2 S3

ADSP=0,ADSC=0

ADV=1, OE=1, Addr = Addr0

GO=0

GO=1

FSM description

Page 20: 嵌入式系统与结构 第六课  嵌入式系统的存储器

20

本章内容

存储器分类 按照写入能力和存储永久性进行区分

嵌入式系统存储器类型 常用存储器类型 高级 RAM 类型

嵌入式系统存储器组合存储器的层次与 Cache

Page 21: 嵌入式系统与结构 第六课  嵌入式系统的存储器

21

高级 RAM

DRAMs 通常用于嵌入式系统处理器的主存储器 高容量,低成本许多 DRAMs 存储器的改进型被提出 需要能够跟上处理器运行速度 FPM DRAM: 快页模式 DRAM EDO DRAM: 扩展数据输出 DRAM SDRAM/ESDRAM: 同步和增强型同步 DRAM RDRAM: rambus DRAM

Page 22: 嵌入式系统与结构 第六课  嵌入式系统的存储器

22

基本 DRAM地址总线行列复用行、列地址分别由行地址选择信号 ras 和列地址选择信号 cas 被顺序的锁存刷新电路可以在 DRAM 存储器的外部或者内部

周期性选通连续的存储器地址,进行存储器内容刷新

在读写操作期间刷新电路不起作用

Dat

a In

Buf

fer

Dat

a Out

Buf

fer

rd/wr

data

Row

Add

r. B

uffe

rC

ol A

ddr.

Buf

fer

addressras

cas

Bit storage array

Row

Dec

oder

Col Decoder

RefreshCircuit

cas,

ras,

clo

ck

SenseAmplifiers

Page 23: 嵌入式系统与结构 第六课  嵌入式系统的存储器

23

同步( S) /增强型同步( ES) DRAMSDRAM 在有效时钟边沿锁存数据同步接口消除 DRAM监测 ras/cas 和 rd/wr 信号所需的时间列地址计数器写入有效列地址,然后在时钟沿递增计数器来访问连续的内存地址ESDRAM 改进 SDRAM

在感应放大器中加入高速缓冲使列地址发生重叠。 更快的时钟和更低的读 / 写延迟时间

clock

ras

cas

address

data

row col

data data data

Page 24: 嵌入式系统与结构 第六课  嵌入式系统的存储器

24

SDRAM 存储器芯片举例MT48LC4M32B2 4 Meg x 32bit SDRAM 功能框图

Page 25: 嵌入式系统与结构 第六课  嵌入式系统的存储器

25

SDRAM 存储器芯片扩展举例

Page 26: 嵌入式系统与结构 第六课  嵌入式系统的存储器

26

SDRAM 的接口

Page 27: 嵌入式系统与结构 第六课  嵌入式系统的存储器

27

DRAM 集成问题

SRAM容易与处理器一起集成到同一个芯片中DRAM 非常困难 DRAM 与传统逻辑电路的制造工艺不同 传统逻辑( IC )设计师的目标 :

使寄生电容最小以减小功耗和信号传播延迟 DRAM 设计师的目标 :

创建电容单元保存存储的信息 集成工艺已经开始出现

Page 28: 嵌入式系统与结构 第六课  嵌入式系统的存储器

28

存储器管理单元( MMU)

MMU的任务 处理 DRAM 的刷新 , 总线接口的仲裁 考虑存储器在多个处理器之间的共享 翻译逻辑存储器地址到 DRAM 的物理地

址现代 CPUs经常将MMU集成到芯片中可以用单用途处理器来完成

Page 29: 嵌入式系统与结构 第六课  嵌入式系统的存储器

29

一个多核处理器结构的 MMU

Page 30: 嵌入式系统与结构 第六课  嵌入式系统的存储器

30

存储器组合所需要的 Memory 大小与实际可得到的 Memory 器件容量不符单可用的 Memory 容量更小,就需要组合几个更小的 memories 成为一个更大的 Memory

位扩展:肩并肩连接增加字宽度 字扩展: 头尾连接增加字的数量 组合两种技术增加字宽度和字数量

2m × 3n ROM2m × n ROM

A0 …

enable 2m × n ROM

2m × n ROM

Q3n-

1

Q2n-

1

Q0

…Am

增加字宽度

2m+1 × n ROM2m × n ROM

A0 …

enable

2m × n ROM

Am-1

Am

1 × 2 decoder

Qn-1 Q0

增加字数量

A

enable

outputs

增加字的宽度和数量

Page 31: 嵌入式系统与结构 第六课  嵌入式系统的存储器

31

SRAM扩展配置

Page 32: 嵌入式系统与结构 第六课  嵌入式系统的存储器

32

64M SDRAM配置

Page 33: 嵌入式系统与结构 第六课  嵌入式系统的存储器

33

存储器层次 希望便宜快速的存储器主存储器 容量大,便宜,慢,,

保存全部程序和数据 Cache 小、贵,快速,保存主存储器可能被访问的数据的一个副本

可以有多级 Cache

处理器

Cache

主存储器

磁盘

磁带

寄存器

Page 34: 嵌入式系统与结构 第六课  嵌入式系统的存储器

34

Cache通常用 SRAM 来设计

速度更快但是比DRAM贵很多与处理器在一个芯片上

受空间限制,比离片内存要小很多 更快的访问速度 ( 1 cycle vs. 主存储器的几个 cycles for)

Cache 操作 : 在进行内存访问 (read or write) 时才需要进行 Cache 操作

首先检查 cache 中有没有被请求数据的副本 cache hit

直接从 cache 中进行数据访问 cache miss

从内存中将数据块读入 cache

Cache 的设计考虑 Cache映射 , 替换策略和 写入技术

Page 35: 嵌入式系统与结构 第六课  嵌入式系统的存储器

35

Cache 映射Cache 的容量与内存相比非常少,那怎样把内存地址的内容放到 Cache 中呢?Cache映射就是用来分配内存地址到 Cache 地址,并决定是 hit 还是 miss三种基本技术 直接映射 全关联映射 组关联映射

Page 36: 嵌入式系统与结构 第六课  嵌入式系统的存储器

36

2. Cache原理

CPU Cache 主存储器

字传送 块传送

处理器 Cache

地址

数据数据缓冲器

地址缓冲器

控制 控制

系统总线

Page 37: 嵌入式系统与结构 第六课  嵌入式系统的存储器

37

3. Cache/主存系统基本结构

K块( 字)

存储器地址

1

2

3

数据

……

块标记行号

块长(K字) 字长

2n-1C-1

1

2

3

1 ( ) Cache 2( )主存储器

主存储器由多达 2n

个可寻址地址单位组成。每一个字有 n 位地址

为实现映射,将其分为定长的块,每块K个字,有M=2n/K个块

Cache 由 C 行组成。每行 K个字( C<<M );

每行有一个 Tag ,用来识别当前存储是哪一个块。 Tag 一般是主存地址的一部分

Page 38: 嵌入式系统与结构 第六课  嵌入式系统的存储器

38

4. 直接映射内存地址被分成 2 个字段

索引字段 Index 代表 cache 地址 位数决定了 Cache 的容量

标记 Tag 索引指示的 Cache 地址的标记与内存

地址的标记进行比较 如果标记匹配,则检查有效位

有效位 Valid bit 指出是否数据已从内存中载入偏移量 Offset

用来在 cache line 中找到特定数据

Data

Valid

Tag Index Offset

=

V T D

Page 39: 嵌入式系统与结构 第六课  嵌入式系统的存储器

39

4 Cache 的直接映射 ( 1 )

Tag 用来识别块号

Page 40: 嵌入式系统与结构 第六课  嵌入式系统的存储器

40

5.全关联映射完全的内存地址保存在每个 Cache 地址中全部保存在 Cache 中的地址与访问地址同时比较有效位 Valid bit 和偏移量与直接映射相同

Tag Offset

=

V T D

Valid

V T D…

V T D

==

Data

Page 41: 嵌入式系统与结构 第六课  嵌入式系统的存储器

41

5 全关联映射 (1)

Page 42: 嵌入式系统与结构 第六课  嵌入式系统的存储器

42

6. 组关联映射直接映射和全关联的折衷索引 Index 与直接映射相同但是每个 Cache 地址包含 2 个或者更多的内存地址的数据和标记组标记被同时比较,象全关联映射方式带有 N 个组的 Cache 称为 N-路组关联

2-way, 4-way, 8-way are common

Tag Index Offset

=

V T D

Data

Valid

V T D

=

Page 43: 嵌入式系统与结构 第六课  嵌入式系统的存储器

43

6. 组关联映射 ( 1 )

Page 44: 嵌入式系统与结构 第六课  嵌入式系统的存储器

44

7.Cache 对系统性能的影响影响性能的重要参数:

Cache 的容量 Cache 能容纳的数据字节数量 标记和有效位没有计入该容量内

关联度 数据块的大小

大容量 caches 能达到更低的失误率但是访问成本更高 例 .,

2 Kbyte cache: 失误率 =15%, hit 成本 =2 cycles, miss 成本 =20 cycles 平均存储器访问成本 = (0.85 * 2) + (0.15 * 20) = 4.7 cycles

4 Kbyte cache: 失误率 = 6.5%, hit 成本 = 3 cycles, miss 成本不便 平均存储器访问成本 = (0.935 * 3) + (0.065 * 20) = 4.105 cycles

8 Kbyte cache: 失误率 = 5.565%, hit 成本 = 4 cycles, miss 成本不便 平均存储器访问成本 = (0.94435 * 4) + (0.05565 * 20) = 4.8904 cycles

Page 45: 嵌入式系统与结构 第六课  嵌入式系统的存储器

45

7. Cache 的性能均衡不增加 Cache 的总大小来改进 Cache 的命中率 增加 line 长度 改变组关联

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

1 Kb 2 Kb 4 Kb 8 Kb 16 Kb 32 Kb 64 Kb128 Kb

1 way2 way4 way 8 way

% c

ache

mis

s

cache size

Page 46: 嵌入式系统与结构 第六课  嵌入式系统的存储器

46

8. Xscale 255 的 Cache 组织Xscale 数据 Cache

32KB容量, 32 路组关联结构; 采用循环替换算法。 每行 32 字

每组 32路

共 32 组

Page 47: 嵌入式系统与结构 第六课  嵌入式系统的存储器

47

XDNP网络处理器芯片结构