35
1 第第第第 第第第第第第第第第 第第第第第第第第第第第第第第第第 第第第 [email protected]

第三单元 层次存储器系统

Embed Size (px)

DESCRIPTION

第三单元 层次存储器系统. 第二讲 动态存储器和教学计算机存储器设计 刘卫东 [email protected]. 内容提要. 有关大实验的说明 动态存储器 教学计算机存储器设计. 关于大实验检查. 请各组抓紧时间,完成大实验设计和调试。 15 周 (12 月 15 日至 19 日 ) 进行并完成最终检查。请同学们按组准备好以下材料: 调试完成的教学计算机 检查方案:供检查设计的汇编语言程序以及预期结果(包含扩展指令) 设计文档 最终检查时间、地点请各班科代表在 14 周与我们确定。 16 周,请各班选出一组,在课堂上和大家交流. - PowerPoint PPT Presentation

Citation preview

Page 1: 第三单元  层次存储器系统

1

第三单元 层次存储器系统

第二讲 动态存储器和教学计算机存储器设计刘卫东

[email protected]

Page 2: 第三单元  层次存储器系统

2

内容提要• 有关大实验的说明• 动态存储器• 教学计算机存储器设计

Page 3: 第三单元  层次存储器系统

3

关于大实验检查

• 请各组抓紧时间,完成大实验设计和调试。• 15 周 (12 月 15 日至 19 日 ) 进行并完成最终检查。

请同学们按组准备好以下材料:– 调试完成的教学计算机– 检查方案:供检查设计的汇编语言程序以及预期结果

(包含扩展指令)– 设计文档

• 最终检查时间、地点请各班科代表在 14 周与我们确定。

• 16 周,请各班选出一组,在课堂上和大家交流

Page 4: 第三单元  层次存储器系统

4

大实验提交文档列表• 指令系统设计文档

– 指令系统列表– 设计说明;

• 运算器设计文档– 线路逻辑图– 设计说明– 有关 GAL 芯片的逻辑表达式

• 控制器设计文档(包括组合逻辑和微程序)– 线路逻辑图– 指令执行流程图– 指令执行流程表– 有关 GAL 、 MACH 芯片的逻辑表达式

• 内存储器、总线、接口等部分设计文档– 线路逻辑图– 设计说明

• 软件设计文档– 对监控程序、交叉汇编程序修改的文档和源程序

• 组装、调试过程中遇到的问题和相应的解决办法• 项目完成后的心得体会、有关建议和意见

Page 5: 第三单元  层次存储器系统

5

大实验评分标准• 完成基本要求,起评分数为 80 分,视情况酌情增减。

– 监控程序运行正确(微程序和组合逻辑)– 扩展指令能正常运行– 提供的实验报告完整,规范

• 有创新和特色,可有加分因素。– 修改了监控,能完成对扩展指令的汇编– 修改交叉汇编

• 其他– 你们认为有特点的地方,可以陈述

• 总评成绩 =40%* 考试成绩 +50%* 大实验成绩 +10%* 作业成绩

• 若考试成绩低于特定值,则无论实验成绩如何,均为不及格

Page 6: 第三单元  层次存储器系统

6

层次存储器系统      

选用生产与运行成本不同的、存储容量不同的、读写速度不同的多种存储介质,组成一个统一的存储器系统,使每种介质都处于不同的地位,发挥不同的作用,充分发挥各自在速度 容量 成本方面的优势,从而达到最优性能价格比,以满足使用要求。

例如,用容量更小但速度最快的 SRAM 芯片组成 CACHE ,容量较大速度适中的 DRAM芯片组成 MAIN MEMORY ,用容量特大但速度极慢的磁盘设备构成 VIRTUAL MEMORY 。

Page 7: 第三单元  层次存储器系统

7

程序的局部性原理

• 程序在一定的时间段内通常只访问较小的地址空间

• 两种局部性:– 时间局部性– 空间局部性

地址空间

访问概率

Page 8: 第三单元  层次存储器系统

8

现代计算机的层次存储器系统• 利用程序的局部性原理 :

– 以最低廉的价格提供尽可能大的存储空间– 以最快速的技术实现高速存储访问

Control

Datapath

SecondaryStorage(Disk)

Processor

Registers

MainMemory(DRAM)

SecondLevelCache

(SRAM)

On

-Ch

ipC

ache

1ns Milliseconds GB

Speed (ns): 10ns 50-100nsMB-GB100sSize (bytes): KB-MB

TertiaryStorage(Disk)

SecondsTerabytes

Page 9: 第三单元  层次存储器系统

9

SRAM 典型时序

写时序 :

D

读时序 :

WE_L

A

写保持时间写建立时间

A

DOE_L

2 Nwordsx M bitSRAM

N

M

WE_L

写入数据

写入地址

OE_L

High Z

读地址

Junk

读访问时间

读出数据

读访问时间

读出数据

读地址

Page 10: 第三单元  层次存储器系统

10

动态存储器的存储原理• 动态存储器,是用金属氧化物半导体

( MOS )的单个MOS管来存储一个二进制位( bit )信息的。信息被存储在 MOS管 T 的源极的寄生电容 CS 中,例如,用 CS 中存储有电荷表示 1 ,无电荷表示0 。

Page 11: 第三单元  层次存储器系统

11

+ +

- -

VDD

CS

字线

位线

T

写 1 :使位线为低电平,

高, T 导通,低, T 截止。

若 CS 上无电荷,则 VDD 向 CS 充电; 把 1 信号写入了电容 CS 中。

若 CS 上有电荷,则 CS 的电荷不变,保持原记忆的 1 信号不变。

Page 12: 第三单元  层次存储器系统

12

+ +

- -

VDD

CS

字线

位线

T

写 1 :使位线为低电平,

高, T 导通,低, T 截止。

若 CS 上无电荷,则 VDD 向 CS 充电; 把 1 信号写入了电容 CS 中。

若 CS 上有电荷,则 CS 的电荷不变,保持原有的内容 1 不变;

Page 13: 第三单元  层次存储器系统

13

+ +

- -

VDD

CS

字线

位线

T

高, T 导通,低, T 截止。

写 0 :使位线为高电平,若 CS 上有电荷,则 CS 通过 T 放电;

若 CS 上无电荷,则 CS 无充放电动作, 保持原记忆的 0 信号不变。

把 0 信号写入了电容 CS 中。

Page 14: 第三单元  层次存储器系统

14

VDD

CS

字线

位线

T

高, T 导通,低, T 截止。

写 0 :使位线为高电平,若 CS 上有电荷,则 CS 通过 T 放电;

若 CS 上无电荷,则 CS 无充放电动作, 保持原记忆的 0 信号不变。

把 0 信号写入了电容 CS 中。

Page 15: 第三单元  层次存储器系统

15

++

- -

VDD

CS

字线

位线

T

接在位线上的读出放大器会感知这种变化,读出为 1 。

高, T 导通,

读操作: 首先使位线充电至高电平,当字线来高电平后, T 导通,低

1. 若 CS 上无电荷,则位线上无电位变化 ,读出为 0 ;2. 若 CS 上有电荷,

并使位线电位由高变低,则会放电,

Page 16: 第三单元  层次存储器系统

16

位线 127

位线 0

CS

VDD

CS

VDD

CS/2VDD

CS/2VDD

VSSVSS VDD VDD

CS/2 CS/2VDD VDD

参考单元

参考单元

预充电 放大器

另一侧 64 行

本侧 64 行

D

D’

字线 0

字线 127

读出电路

Page 17: 第三单元  层次存储器系统

17

破坏性读出:读操作后,被读单元的内容一定被清为零,必须把刚读出的内容立即写回去,通常称其为预充电延迟,它影响存储器的工作频率,在结束预充电前不能开始下一次读。

要定期刷新:在不进行读写操作时, DRAM 存储器的各单元处于断路状态,由于漏电的存在,保存在电容 CS 上的电荷会慢慢地漏掉,为此必须定时予以补充,通常称其为刷新操作。刷新不是按字处理,而是每次刷新一行,即为连接在同一行上所有存储单元的电容补充一次能量。 刷新有两种常用方式: 集中刷新,停止内存读写操作,逐行将所有各行刷新一遍; 分散刷新,每一次内存读写后,刷新一行,各行轮流进行。 或在规定的期间内,如 2 ms ,能轮流把所有各行刷新一遍。快速分页组织的存储器:行、列地址要分两次给出,但连续地读写用到相同的行地址时,也可以在前一次将行地址锁存,之后仅送列地址,以节省送地址的时间,支持这种运行方式的被称为快速分页组织的存储器。

Page 18: 第三单元  层次存储器系统

18

动态存储器读写过程

动态存储器芯片

行地址和列地址

数据总线 DB

片选信号 /CS

读写信号 /WE

动态存储器集成度高,存储容量大,为节约管脚数,地址分为行地址和列地址

Page 19: 第三单元  层次存储器系统

19

DRAM 写时序

AD

OE_L

256K x 8DRAM9 8

WE_LCAS_LRAS_L

WE_L

A 行地址

OE_L

Junk

写访问时间 写访问时间

CAS_L

RAS_L

列地址 行地址 Junk列地址

D Junk Junk写入数据 写入数据 Junk

DRAM 写周期时间

WE_L 在 CAS_L 信号之前有效 WE_L 在 CAS_L 信号之后有效

• DRAM 写访问开始于 :

– RAS_L信号有效– 两种写方式 : WE_L信号早和晚于 CA

S_L信号有效

Page 20: 第三单元  层次存储器系统

20

DRAM 读时序

AD

OE_L

256K x 8DRAM9 8

WE_LCAS_LRAS_L

OE_L

A 行地址

WE_L

Junk

读访问时间 输出使能延迟

CAS_L

RAS_L

列地址 行地址 Junk列地址

D High Z 读出数据

读周期时间

OE_L 在 CAS_L 有效之前有效 OE_L 在 CAS_L 有效之后有效

• DRAM 读访问开始于 :

– RAS_L信号有效– 两种读方式 :

OE-L早于或晚于 CAS_L 有效

Junk 读出数据 High Z

Page 21: 第三单元  层次存储器系统

21

静态和动态存储器芯片特性 SRAM DRAM

存储信息 触发器 电容 破坏性读出 非 是需要刷新 不要 需要 送行列地址 同时送 分两次送运行速度 快 慢集成度 低 高发热量 大 小存储成本 高 低

Page 22: 第三单元  层次存储器系统

22

主存储器的多体结构

为了提高计算机系统的工作效率,需要提高主存储器的读写速度。为此可以实现多个能够独立地执行读写的主存储器体,以便提高多个存储体之间并行读写的能力。多体结构同时适用于静态和动态的存储器。考虑到程序运行的局部性原理,多个存储体应按低位地址交叉编址的方式加以组织。类似的也可按一体多字的方式设计存储器。

Page 23: 第三单元  层次存储器系统

23

地址寄存器

主存储器存储体

W W W W

数据总线

一体多字结构

Page 24: 第三单元  层次存储器系统

24

地址寄存器

数据总线

0 字 1 字 2 字 3 字

单字多体结构

Page 25: 第三单元  层次存储器系统

25

小结 :• 程序的局部性原理 :

– 时间局部性:最近被访问过的程序和数据很可能再次被访问

– 空间局部性: CPU很可能访问最近被访问过的地址单元附近的地址单元。

• 利用程序的局部性原理:– 使用尽可能大容量的廉价、低速存储器存放程序和数据。– 使用高速存储器来满足 CPU 对速度的要求。

• DRAM 速度慢,但容量大,价格低– 可用于实现大容量的主存储器系统。

• SRAM 速度快,但容量小,价格高– 用于实现高速缓冲存储器 Cache 。

Page 26: 第三单元  层次存储器系统

26

小结• 设计主存储器

– 确定最大寻址空间– 确定字长– 确定读写时序– 得到控制信号

Page 27: 第三单元  层次存储器系统

27

教学计算机 TEC-2000 存储器设计

• 设计要求– 需要 ROM来存放监控程序– 需要 RAM 供用户和监控程序使用– 能够让用户进行扩展

• 设计原则– 尽量简单,能体现出原理课教学要求– 不追求高速度

Page 28: 第三单元  层次存储器系统

28

控制总线设计• 时钟信号

– 与 CPU 时钟同步(降低了 CPU主频)• 读写信号

/MIO REQ /WE

0 0 0 内存写 /MWR 接 /WE

0 0 1 内存读 /MRD 接 /OE

0 1 0 I/O写 /WR

0 1 1 I/O读 /RD

1 X X 不用 用 DC3 实现

Page 29: 第三单元  层次存储器系统

29

TEC-2000 内存控制信号获取

1B 1A 1G

DC3 1392B 2A 2G

1Y0 1Y1 1Y2 1Y3 2Y0 2Y1

REQ WE GND MIO

MWR MRD WR RD MMREQ IOREQ

74LS139 :双 2-4译码器

Page 30: 第三单元  层次存储器系统

30

地址总线设计• 片选信号

– A15 、 A14 和 A13 最高位地址译码产生– /MMREQ 作为使能信号

• 地址信号– A10~A0 : 11位地址– 1个地址单元对应 4个地址– 来自地址寄存器

用 DC5 实现

Page 31: 第三单元  层次存储器系统

31

TEC-2000 片选信号

DC5

138

A15

A14

A13

GND

MMREQ

VCC

C

B

A

G2A

G2B

G1

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

0000~1FFF

2000~3FFF

4000~5FFF

6000~7FFF

8000~9FFF

A000~BFFF

C000~DFFF

E000~FFFF

DC5 74LS138: 3-8译码器

Page 32: 第三单元  层次存储器系统

32

TEC-2000 地址信号

RAML 6116

ROML 28C64

RAMH 6116

ROMH 28C64

MWR

WE

WE

A10~A0

D15~D8 D7~D0

D15~D0

A12~A0 A12~A0

A10~A0 A10~A0

OE

CS CS

OE

OE OE

CS CS

Y1Y1

Y0 Y0

MRDMRD

D15~D8 D7~D0

地址总线

数据总线

WE

WE

MRD MRD

Page 33: 第三单元  层次存储器系统

33

A10~A0

A11

A12 A10~A0

A10~A0

D7~D0

D7~D0

D7~D0

A11

WE

CS

OE

OE

CS

CS

OE

WE

WE

19~11

19~11

17~919 22 23 1~8

......

......短路子

8位机短接16位机断开

A11

/MWR 23

A12 A10~A023 2 21 24 25 3~10

VCC

/MWR

/MRD

GND

/MRD

GND

2 21 24 25 3~10

19 22 23 1~8

2 21 24 25 3~10

2 21 24 25 3~10

A12 A10~A0

A12 A10~A0

D7~D0

D7~D0

D7~D0

19~11

19~11

A11

A11

23

23

17~9

/MWR

VCC

/MWR

WE

/MWR

VCC

/MWR

WE

/MWR

VCC

/MWR

OE

CS

OE

CS

OE

CS

/MRD

GND

/MRD

GND

WE

A11

A11

A11

/MWR

/MRD

23

23

23

23

23

23

1Y0

1A

2B2A

G1

G2

1Y11Y21Y3

2Y0

2Y1

1B /MWR/MRD/WR/RD

/MMREQ/IOREQ

/WEREQ

MIO

GND

CBA

G1

2AG2BG

Y0Y1Y2Y3Y4Y5Y6Y7

CBA

G1

2AG2BG

Y0Y1Y2Y3Y4Y5Y6Y7

80~8F90~9FA0~AFB0~BFC0~CFD0~DFE0~EFF0~FF

0000~1FFF2000~3FFF4000~5FFF

E000~FFFF

6000~7FFF8000~9FFFA000~BFFFC000~DFFF

A6A5A4

A7

A15A14A13

GND

GND

VCC

CBA

G1

2AG2BG

Y0Y1Y2Y3Y4Y5Y6Y7

CBA

G1

2AG2BG

Y0Y1Y2Y3Y4Y5Y6Y7

DC12DC11DC10

DC22DC21DC20

Link

GND

Link

GND

/SWTOIB/RTOIB/ETOIB/FTOIB/STOIB/INTVH/INTVLNC

NC/GIR/GARH/GARL/INTR

/DI

/INTN/EI

321

131415

4567

1211

123

456

15141312111097

12

456

15141312111097

15141312111097

15141312111097

123

456

123

456

Q3 Q2 Q1 Q0

P3 P2 P1 P0CLK

Load

CLRTP

VCC GND

VCCR1out

R1in T1out

T1in

R2in T2out

T2inR2out

串口2

13 14 8 7

12 11 9 10

307.2KHz153.6KHz

D7~D0

TxDCTSRTS

RD

DC/

CS

RESETWRDC/

CLK TxC RxCRxD

......

......

153.6KHz

1.8432MHz

1.8432MHz/WR/RD

CS CTSRTS

/RESET13 10 21 20 9 25

1723

8~1 28 27

193

11

12A0

IRH0

MicroPMACH_8251/CS

I/O地址译码器 80~8F

D7~D0 RD RESETWR CLK TxC RxC

TxDRxD

A0

P1 P0 INTE /INT

/INTR /INTN /EI /DI

CK1RESET

IBH3IBH2

/GIRDC23

S2 R2 S1 R1 S0 R0

CK1

IBH IBL

D7~D0

Q7~Q0

用于置中断向量的 3排插针

Q7~Q0

D7~D4

P1P0 GND

D3~D0

串口1

17 18 19 20

111

78

1 1011

15 19172 3 4

2 3 4 5 6 7

2中断源 1中断源 0中断源

DBHABH、ABL

内存地址译码器2000~3FF F

内存地址译码器0000~2FF F

18 17 14 13 8 7 4 3

19 16 15 12 9 6 5 2 19 16 15 12 9 6 5 2

18 17 14 138 7 4 3

DC3 139

DC4 138

DC5 138

A11

ROML 28C64

ExtROML 28C64

RAML 6116

ROMH 28C64

27

20

27

20

2118

27

20

27

20

21 18

ExtROMH 28C64

RAMH 6116

DC1 138

DC2 138

MAX202 161

COM2 8251

COM1 8251

INTP GAL

INTS GAL

INTVTH 374 INTVTL 374

5 6 9 10

3-6 图 存储器、接口、中断线路逻辑图

11~149

6~3

1107

2

/OE

11CLK CLK

/OE

111 1

CK CK

/INTVL/INTVH

内存储器和串行接口存储器由 2 组 8 位区组成,可运行于 8 位或 16 位方式;每组由 1 片 2716 RAM 和 2 片 28C64 ROM 芯片组成,亦可选用 2764 ROM 芯片。

对 16 位地址的最高 3 位译码,产生 8 个存储器片选信号,各自对应 8192 的存储容量。

2 路串行接口,其中一路正常运行,另一路经扩展后方可使用。对 8 位 IO 端口地址的最高 4位译码,产生 8 个 IO 芯片的片选信号。

1 片双 2-4 译码器 139 给出内存和 IO 的读写命令信号。

2 片 GAL 和 2 片 373 寄存器用于支持中断响应与处理实验。

Page 34: 第三单元  层次存储器系统

34

数据总线设计• 与内部总线相连• 三态门控制

Page 35: 第三单元  层次存储器系统

35

思考题和作业1.多级结构的存储器系统由哪几级组成?每一级存储器一般使用何种类型的存储介质?这些介质的主要特性是什么?在多级结构的存储器系统中,何谓信息的一致性和包含性原则?

2. 存储器读写操作时,地址信号、片选信号、读写命令、读出的数据或写入的数据在时序配合上要满足什么关系?

作业请在网络学堂下载,请使用手写版交作业。本次作业和下次的 Cache 作业一起在下周五交。