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

Post on 01-Jan-2016

71 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

1

  嵌入式系统与结构

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

2

本章内容

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

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

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

3

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

利用处理器实现 通信

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

存储功能 用 Memory 实现

概述

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

5

本章内容

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

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

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

6

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

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

RAM 读写 , 断电时数据丢失

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

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

e.g., NVRAM写入能力

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

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

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

8

本章内容

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

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

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

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

10

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

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

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

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年以上

在设计开发阶段使用

12

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

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

13

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

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

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

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

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

16

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

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

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

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

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>

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

20

本章内容

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

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

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

21

高级 RAM

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

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

23

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

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

clock

ras

cas

address

data

row col

data data data

24

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

25

SDRAM 存储器芯片扩展举例

26

SDRAM 的接口

27

DRAM 集成问题

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

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

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

28

存储器管理单元( MMU)

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

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

29

一个多核处理器结构的 MMU

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

增加字的宽度和数量

31

SRAM扩展配置

32

64M SDRAM配置

33

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

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

可以有多级 Cache

处理器

Cache

主存储器

磁盘

磁带

寄存器

34

Cache通常用 SRAM 来设计

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

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

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

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

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

从内存中将数据块读入 cache

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

35

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

36

2. Cache原理

CPU Cache 主存储器

字传送 块传送

处理器 Cache

地址

数据数据缓冲器

地址缓冲器

控制 控制

系统总线

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 一般是主存地址的一部分

38

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

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

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

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

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

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

Data

Valid

Tag Index Offset

=

V T D

39

4 Cache 的直接映射 ( 1 )

Tag 用来识别块号

40

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

Tag Offset

=

V T D

Valid

V T D…

V T D

==

Data

41

5 全关联映射 (1)

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

=

43

6. 组关联映射 ( 1 )

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

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

46

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

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

每组 32路

共 32 组

47

XDNP网络处理器芯片结构

top related