10 存储系统02

30
线 存储器 运算器 控制器 接口与通信 输入 / 输出设备 林楠 办公室: 408 办公电话: 0371-63887293 电子邮件: [email protected] 《 计算机组成原理 第四章 存储器

Upload: huaijin-chen

Post on 21-Jul-2015

758 views

Category:

Education


9 download

TRANSCRIPT

Page 1: 10 存储系统02

系统总线

存储器

运算器

控制器

接口与通信

输入 / 输出设备

林楠

办公室: 408

办公电话: 0371-63887293

电子邮件: [email protected]

《 计算机组成原理 》

第四章 存储器

Page 2: 10 存储系统02

第四章 存储器

1 、存储器的分类2 、存储器的层次结构(三级存储系统)3 、主存储器(内存 Main memory ) 4 、高速缓冲存储器( Cache )5 、虚拟存储器( Virtual Memory )6 、相联存储器(了解)

辅助存储器

Page 3: 10 存储系统02

3.1 、主存储器概述3.2 、主存储器构成 3.2.1 、位单元构成( RAM 、 ROM ) 3.2.2 、地址译码(单向,双向) 3.2.3 、主存储器组成(芯片封装)3.3 、主存储器扩展 3.3.1 、位扩展(数据线扩充) 3.3.2 、字扩展(地址线扩充) 3.3.3 、位字扩展(先位后字)

3 、主存储器

内存条就是多个存储芯片的扩展

Page 4: 10 存储系统02

分析问题找规律: (位扩展片选信号并联,字扩展片选信号分开)

1 )字、位同时扩展时:首先是位扩展,后是字扩展。2 )片选信号 /CS 的连接:并联(位扩展),分开(字扩展)3 )地址线的连接:片内地址线,所有的 A0 连在一起,

所有的 A1 连在一起…所

有的 An 连在一起。

1K×4

1K×4

1K×4

1K×4

1K×4

1K×4

1K×4

1K×4

1K×8 1K×8 1K×8 1K×8

两片并联

四组串联

分析:2 片芯片位扩展,片选信号 /CS 并联,4 组芯片字扩展,片选信号 /CS 分开(需要 4 个组片选信号)。

3.3.3 、位字扩展

例如:现有芯片 Intel2114 1K×4 ,扩展成 4 K×8 的存储器。

位字扩展:用多个存储器器件完成存储芯片的字长、位长同时扩充。

Page 5: 10 存储系统02

地址线 13 条,其中高两位译码形成 4 个组片选信号。数据线 8 条。

1K×4 1K×4 1K×4 1K×4

1K×4 1K×4 1K×4 1K×4

3.3.3 、位字扩展

例如:现有芯片 Intel2114 1K×4 ,扩展成 4 K×8 的存储器。

0001

1011

Page 6: 10 存储系统02

A0~A9

/CSD0~D3

A0~A9

/CSD4~D7

A0~A9

/CSD0~D3

A0~A9

/CSD4~D7

A0~A9

/CSD0~D3

A0~A9

/CSD4~D7

A0~A9

/CSD0~D3

A0~A9

/CSD4~D7

D0~D7

A0~A9

/CS0

/WE

/CS1 /CS2 /CS3

1K×4

1K×4

1K×4

1K×4

1K×4

1K×4

1K×4

1K×4

1K×8 1K×8 1K×8 1K×8

4K×8两片并联

四组串联

3.3.3 、位字扩展

A10~A11

Page 7: 10 存储系统02

3.1 、主存储器概述3.2 、主存储器构成3.3 、主存储器扩展3.4 、主存储器与 CPU 的连接 3.4.1 、存储芯片与 CPU 接口特性 3.4.2 、存储芯片与 CPU 连接举例 3.4.3 、存储器读写周期与 CPU 的配合 3.4.4 、动态存储器 DRAM 刷新

3 、主存储器

Page 8: 10 存储系统02

内存插槽是主板上用来安装内存的地方。

目前常见的内存插槽为 SDRAM内存、 DDR内存插槽。不同的内存插槽它们的引脚,电压,性能功能都是不尽相同的,不同的内存在不同的内存插槽上不能互换使用。

168线的 SDRAM内存金手指上有两个缺口;184线的 DDR SDRAM内存金手指上只有一个缺口。

Review :计算机主板学习

Page 9: 10 存储系统02

各种 RAM 芯片主要有下列几类外部接口信号线:

地址线 — Ai

数据线 — Di

片选线 — /CE 或 /CS

读写控制线 — /WR 或 /WE

电源线 — Vcc +5V 工作电源, GND 接地

访存信号 — /MREQ

3.4.1 、存储芯片与 CPU 接口特性

RAM

Page 10: 10 存储系统02

CPU 对存储器进行读写操作,首先由地址总线给出地址信号,然后发出读操作或写操作的控制信号,最后在数据总线上进行数据信号传输。

所以实现存储器与 CPU 的连接要考虑三个部分:1 、地址线的连接2 、数据线的连接3 、控制线的连接

3.4.1 、存储芯片与 CPU 接口特性

1 )低位地址线、数据线、电源线(不要求)之间相连;

2 )高位地址线 全译码方式:高位地址线经译码后产生片选信号 /CS ; 线译码方式:高位地址直接分别连至各芯片做片选信号/CS 。

3 )控制总线:形成读 / 写控制信号 /WE 。

连接方法

Page 11: 10 存储系统02

3.1 、主存储器概述3.2 、主存储器构成3.3 、主存储器扩展3.4 、主存储器与 CPU 的连接 3.4.1 、存储芯片与 CPU 接口特性 3.4.2 、存储芯片与 CPU 连接举例 3.4.3 、存储器读写周期与 CPU 的配合 3.4.4 、动态存储器 DRAM 刷新

3 、主存储器

Page 12: 10 存储系统02

例 1 : CPU 有 16 条地址线( A15 ~ A0 ), 8 条数据线( D7 ~ D0 ),

/MREQ 作为访问存储器的控制信号(低电平有效), /WE 作为读写控制信号( /WE=0 写, /WE=1 读) 现有芯片 2114 ( 1K*4 ) , 要扩展为 2KB 内存, 地址范围 2000H ~ 27FFH , 片选信号由 74LS138 ( 3-8 译码器)采用全译码方式进行。 试画出 CPU 与 3-8 译码器及存储芯片的连接。

解:所需要的芯片数 = ( M*N ) / ( m*n ) = ( 2K*8 ) / ( 1K*4 ) = 2*2 = 4

1K×41K×4 1K×4 1K×4

1K×8 1K×8

2K×8

3.4.2 、存储芯片与 CPU 连接举例

1K 的地址范围: 00 0000 0000 ~ 11 1111 1111 = 000 ~ 3FF = 3FF

Page 13: 10 存储系统02

A0~A9

1K*4 /CSD7~D4

/CS0

/CS1

CPU

A9~A0

D3~D0

/WE

3-8译码器A12

A11

A10

/Y7

. ./Y1

/Y0

/MREQ

D7~D4

2.4 、主存储器与 CPU 的连接地址范围 2000 ~ 27FF: 0010 0000 0000 0000 ~ 0010 0111 1111 1111 A15A14A13 A12 A11A10 A9A8… A0

第一组地址 2000 ~ 23FF : 0010 0000 0000 0000 ~ 0010 0011 1111 1111第二组地址 2400 ~ 27FF : 0010 0100 0000 0000 ~ 0010 0111 1111 1111

A0~A9

/CS 1K*4D3~D0

A0~A9

1K*4 /CSD7~D4

A0~A9

/CS 1K*4D3~D0

CBA 000

001

/CS :说明低电平有效,CS 输入 0 ,表示选中芯片。

Page 14: 10 存储系统02

例 2 : CPU 有 16 条地址线( A15 ~ A0 ), 8 条数据线( D7 ~ D0 )

, /MREQ 作为访问存储器的控制信号(低电平有效), /WE 作为读写控制信号( /WE=0 写, /WE=1 读), 现有芯片 1K*4 ( RAM ), 4K*8 ( RAM ), 2K*8 ( ROM ), 片选信号由 74LS138 ( 3-8 译码器)采用全译码方式进行。 试画出 CPU 与 3-8 译码器及存储芯片的连接。 要求: 1 )主存地址分配如下: 6000H ~ 67FFH 为系统程序区( ROM ) 6800H ~ 6BFFH 为用户工作区( RAM ) 2 )合理选择芯片,说明各选几片? 3 )试画出 CPU 与 3-8 译码器及存储芯片的连接。

解:因为,地址范围决定了存储器的容量。所以:

1K 的地址范围: 00 0000 0000 ~ 11 1111 1111 = 000 ~ 3FF = 3FFROM 的地址范围: 67FFH - 6000H = 7FFH ( 2K*8 )RAM 的地址范围: 6BFFH - 6800H = 3FFH ( 1K*8 )经分析,需要一片 ROM ( 2K*8 ),两片 RAM ( 1K*4 )

3.4.2 、存储芯片与 CPU 连接举例

Page 15: 10 存储系统02

CPU A9~A0

D7~D0

/WE

3-8译码器C

BA

A13

A12

A11

/Y7

./Y5

/Y4

/MREQ

A10

A10 A9~A0

ROM 2K*8 /CSD7~D0

A0~A9

RAM1K*4 /CSD7~D4

/CS :说明低电平有效,CS 输入 0 ,表示选中芯片。

A0~A9

/CSRAM1K*4D3~D0

101

100

2.4.2 、存储芯片与 CPU 连接举例

A15A14A13A12 A11 A10 A9A8… A0

ROM 地址 6000H ~ 67FFH : 0110 0 000 0000 0000 ~ 0110 0 111 1111 1111RAM 地址 6800H ~ 6BFFH : 0110 1 000 0000 0000 ~ 0110 1 011 1111 1111

0

0

0

Page 16: 10 存储系统02

例 3 : CPU 有 20 条地址线( A19 ~ A0 ),

8 条数据线( D7 ~ D0 ),

/MREQ 作为访问存储器的控制信号(低电平有效), /WE 作为读写控制电平( /WE=0 写, /WE=1 读) 现有四片 2K*8 的芯片,用线选法构成 8K*8 存储器, ( ROM ), 试画出 CPU 与存储芯片的连接。

全译码方式:地址连续线译码方式:地址不连续

3.4.2 、存储芯片与 CPU 连接举例

Page 17: 10 存储系统02

CPU

A10~A0

D7~D0

/WE

A14

A13

A12

A11

A10~A0

2K*8D7~D0

A10~A0

2K*8D7~D0

A10~A0

2K*8 D7~D0

A10~A0

2K*8D7~D0

00

00

3.4.2 、存储芯片与 CPU 连接举例

线译码方式:地址不连续

111

1

11

11

1111

Page 18: 10 存储系统02

A19A18A17A16 A15A14A13A12 A11A10 A9A8 … A0

芯片 0# 地址 07000H ~ 077FFH : 0000 0111 0 000 0000 0000 ~ 0000 0111 0 111 1111 1111

芯片 1# 地址 06800H ~ 06FFFH : 0000 0110 1 000 0000 0000 ~ 0000 0110 1 111 1111 1111

芯片 2# 地址 05800H ~ 05FFFH : 0000 0101 1 000 0000 0000 ~ 0000 0101 1 111 1111 1111

芯片 3# 地址 03800H ~ 03FFFH : 0000 0011 1 000 0000 0000 ~ 0000 0011 1 111 1111 1111

3.4.2 、存储芯片与 CPU 连接举例

线译码方式:地址不连续

Page 19: 10 存储系统02

3.1 、主存储器概述3.2 、主存储器构成3.3 、主存储器扩展3.4 、主存储器与 CPU 的连接 3.4.1 、存储芯片与 CPU 接口特性 3.4.2 、存储芯片与 CPU 连接举例 3.4.3 、存储器读写周期与 CPU 的配合 3.4.4 、动态存储器 DRAM 刷新

3 、主存储器

Page 20: 10 存储系统02

CPU 存取指令和对存储器进行读写操作有固定的时序。所以与CPU 连接时, CPU 的控制信号与存储器的读写周期之间的配合非常重要。读周期:送地址(经过译码与驱动延迟)、送片选信号 /CS 、发读命令。根据地址和片选信号建立时间的先后不同,有两种读数时间。若片选信号先建立如图 (a) ;若地址先建立如图 (b) 所示。

在读过程中,地址信号、片选信号不能变

3.4.3 、存储器读写周期与 CPU 的配合

Page 21: 10 存储系统02

写周期:送地址、送片选信号 /CS 、送数据、发写命令。

3.4.3 、存储器读写周期与 CPU 的配合

在写过程中,地址信号、片选信号、数据信号都不能变

Page 22: 10 存储系统02

例:下图是 SRAM 的写入时序图,其中 R/W 是读写命令控制线,当其低电平时写操作,请指出下图写入时序中的错误,并更正。

写的过程当中,地址信号和数据信号都不能变

新地址 新地址

新数据

3.4.3 、存储器读写周期与 CPU 的配合

×

新数据

新地址

Page 23: 10 存储系统02

3.1 、主存储器概述3.2 、主存储器构成3.3 、主存储器扩展3.4 、主存储器与 CPU 的连接 3.4.1 、存储芯片与 CPU 接口特性 3.4.2 、存储芯片与 CPU 连接举例 3.4.3 、存储器读写周期与 CPU 的配合 3.4.4 、动态存储器 DRAM 刷新

3 、主存储器

Page 24: 10 存储系统02

1 )静态随机存储器 SRAM 的位存储单元

存储机理:利用双稳态触发器保存数据。

存 1 : T1 通、 T2止 存 0 : T1止、 T2 通

字线 Z :连地址线 位线 W :连数据线

分析: ( 1 )保持数据:不送地址信号( Z=0 , T5T6截止)

( 2 )读出:送地址( Z=1 ),发读命令 ( 3 )写入:送地址( Z=1 ),送数据( W=0/1 ),发写命令

Review: 位单元构成

Z=1

W=1 读 0 写 0

W=1 读 1 写 1

六管静态位单元

SRAM :容量小、存取速度快、静态(不需要刷新电路保持数据)(小容量Cache )

Page 25: 10 存储系统02

2 )动态随机存储器 DRAM 的位存储单元 存储机理:利用 MOS 电路中栅板电容保存数据。

存 1 :电容有电荷 存 0 :电容无电荷

字线 Z :连地址线 位线 W :连数据线

分析: ( 1 )保持信息:不送地址信号( Z=0 , T截止) ( 2 )读出:送地址( Z=1 ),发读命令 ( 3 )写入:送地址( Z=1 ),送数据( W=0/1 ),发写命令

Review: 位单元构成

Z=1

+-

W=1 写1

单管动态位单元

DRAM :容量大、存取速度慢、动态(需要刷新电路保持数据)(大容量内存)

Page 26: 10 存储系统02

SRAM 是以双稳态电路为存储单元的,因此它不需要刷新。

DRAM 是通过电容的有无电荷存储数据的,由于随着时间的增加,电荷 会逐渐漏掉,从而使存储的数据丢失。所以,必须在电荷漏掉以 前就进行充电,以恢复原来的电荷。把这一充电过程称为刷新。

间隔多少时间刷新一次,主要根据电容电荷的泄放速度来决定。

DRAM 的所有存储单元都被刷新一次的时间为刷新周期(一般为2ms )

整个存储器中,各芯片可同时刷新,芯片内逐行刷新,每次刷新一行。

分析:所有的 A0, A1… 是连在一起的,便于各芯片同时刷新。

例如:如果 DRAM 为 128*128 (一次刷一行) 则在 2ms 之内至少刷 128 次,即安排 128个刷新周期。

3.4.4 、动态存储器 DRAM 刷新

Page 27: 10 存储系统02

1 )集中式刷新( 适用于高速存储器) 在 2ms 内按存储器容量集中安排刷新时间(此刻停止读 /写操作)。

如果对( 128*128 )矩阵存储器进行刷新,在读写操作 3872 次后 集中刷新,已知该存储器的读写周期 T 为 500ns (读一行的时间) (刷新一行等于读一行) 1 ms 毫秒 =1000 us微秒 1 us 微秒 =1000 ns 豪微秒R/W R/W … R/W 刷新 … 刷新

读 / 写操作共 3872T , 1936us

刷新 共 128T , 64us

2ms

500ns*128=64000ns=64us ,此段时间 CPU 不能访问存储器。1936+64=2000us=2ms 500ns*3872=1936000ns=1936us

3.4.4 、动态存储器 DRAM 刷新

死区

Page 28: 10 存储系统02

2 )分散式刷新 把系统存取周期分成两部分。一半读写一半刷新,一个周期刷一行。 (如果 CPU 的存取周期是存储芯片存取周期的二倍,使用此方法好)

对 128*128矩阵,读写周期 T 为 500ns ,则需要 128 个周期后才能把全部 单元刷新完毕,但是中间还有 128 个 CPU 访问的读写周期。

R/W 刷新 R/W 刷新 … R/W 刷新 R/W 刷新

刷新间隔 128 us = ( 500+500 ) * 128 = 128000 ns = 128 us 微秒

存取周期 0 存取周期 1 存取周期 126 存取周期 127

3.4.4 、动态存储器 DRAM 刷新

虽然 CPU可以随时访问存储器,但是刷的太勤了点吧,每隔 2ms 就可以了,刷新要充电的,功耗自然就大。

Page 29: 10 存储系统02

3.4.4 、动态存储器 DRAM 刷新

结合前两种方式的优缺点后:

3 )异步式刷新

采取 2ms 内分散地对 128 行刷新一遍,那么对于每一行平均刷新的 的时间间隔为 2ms / 128 = 15.625us ,隔 15.6us提出一次刷新请求。

提出刷新请求时,有可能 CPU 正在访存,可等待至 CPU交出控制权 后,再安排刷新周期,所以称为异步刷新方式。

刷新时间内封锁读 / 写操作,这样对每行单元的刷新间隔仍为 2ms 。

相对于分散式刷新,它减少了刷新次数; 相对于集中式刷新,它的主机“死区”缩短了很多; 因此,这种方式使用比较多。

Page 30: 10 存储系统02

复习与作业

复习章节:

第 4 章 主存储器4.2 主存储器

作业: P150 4.9 、 4.10 、 4.11 、 4.13 、 4.14 、 4.15 、 4.16

例: 对 512 ×2048 的存储器刷新,假设刷新周期定为 8ms 。

解:如果选择行地址进行刷新,每一行上的 2048 位同时刷新, 即在 8ms 内进行 512 个周期的刷新。

刷新方式可采用在 8ms 中进行 512 次刷新操作的集中刷新方式, 或按每隔 8ms / 512 = 15.5 us 提出一刷新请求的异步刷新方式。