Presentation is loading. Please wait.

Presentation is loading. Please wait.

第五章 存储系统 5.1 存储器的构成 5.2 存储系统的构成 5.3 Cache 5.4 虚拟存储器.

Similar presentations


Presentation on theme: "第五章 存储系统 5.1 存储器的构成 5.2 存储系统的构成 5.3 Cache 5.4 虚拟存储器."— Presentation transcript:

1 第五章 存储系统 5.1 存储器的构成 5.2 存储系统的构成 5.3 Cache 5.4 虚拟存储器

2 存储器芯片分类 RAM –SRAM Static random access memory –DRAM Dynamic random access memory ROM Read only memory

3 1. SRAM 存储器芯片结构

4 SRAM 存储器芯片结构

5 SRAM 芯片的引脚信号 SRAM 芯片的控制信号: ADD – 地址信号,在芯片手册中通常表示为 A0 , A1 , A2 , … 。 CS – 芯片选择,低电平时表示该芯片被选中。 WE – 写允许,低电平表示写操作,高电平表示读操作。 Dout – 数据输出信号,在芯片手册中通常表示为 D0 , D1 , D2 , … 。 Din – 数据输入信号。 OE – 数据输出允许信号。

6 SRAM 时序 读周期: – 地址有效  CS 有效  数据输出  CS 复位  地址撤销 写周期: – 地址有效  CS 有效  数据有效  CS 复位(数据输入)  地址撤销

7 SRAM 产品实例 —— K6R400V1D CMOS SRAM 1Mx4Bit With OE#

8

9

10

11 Timing Specification

12 Functional Description

13 Package Dimensions

14 2. DRAM 存储器芯片结构

15 DRAM 存储器芯片结构

16 DRAM 芯片的引脚信号

17 DRAM 时序(一) 读周期: – 行地址有效  行地址选通  列地址有效  列地址选通  数据输出  行选通、 列选通及地址撤销

18 DRAM 时序(二) 写周期: – 行地址有效  行地址选通  列地址、数据有效  列地址选通  数据输入  行 选通、列选通及地址撤销

19 DRAM 时序(三) 刷新周期: –RAS only :刷新行地址有效  RAS 有效  刷新行地址和 RAS 撤销 –CAS befor RAS : CAS 有效  RAS 有效  CAS 撤销  RAS 撤销 –hidden :(在访存周期中) RAS 撤销  RAS 有效

20 DRAM 时序(四) 刷新周期: –RAS only :刷新行地址有效  RAS 有效  刷新行地址和 RAS 撤销 –CAS befor RAS : CAS 有效  RAS 有效  CAS 撤销  RAS 撤销 –hidden :(在访存周期中) RAS 撤销  RAS 有效

21 DRAM 时序(五) 刷新周期: –RAS only :刷新行地址有效  RAS 有效  刷新行地址和 RAS 撤销 –CAS befor RAS : CAS 有效  RAS 有效  CAS 撤销  RAS 撤销 –hidden :(在访存周期中) RAS 撤销  RAS 有效

22 DRAM 接口电路

23 RAM 芯片技术 快速页式 DRAM (页:单元行) EDO DRAM EDRAM 缓存型 四位元型 SDRAM —— 采用统一时钟,重叠访问 Rambus DRAM —— 采用新的接口,用消息传递的异步通信协议

24 SDRAM 标准的接口命令 表示为 CKE 、 nCS 、 nRAS 、 nCAS 、 nWE 信号的组合 模式寄存器设置( MRS ) – 地址线上传输设置命令 存储器激活( ACT ) – 传送行地址 读( READ )或写( WRITE ) – 传送列地址和体地址 预充电所有存储体( PALL ) 预充电一个存储体( PRE ) 自动刷新( CBR ) 关电( PWRDN ) 自我刷新( SLFRSH ) – 睡眠时的刷新 退出关电( PWRDNX ) 无操作( NOP )

25 SDRAM 接口命令的编码

26 SDRAM 的时序 预充电 激活 读数据猝发

27 DDR 与 DDR2

28 3. ROM 存储器芯片结构

29 ROM 存储器芯片结构

30 熔丝式 ROM —— PROM

31 可擦写 ROM —— EPROM

32 MOS 晶体管与 EPROM 单元的两种工作状态

33 电可擦写 ROM——EEPROM 及 Flash 存储器

34 Flash 存储器 1 transister per cell NOR type –Word read –Word program ( 10 us ) –Block erase ( 0.5 s ) NAND type –Page read ( 10 us ) –Page program ( 200 us ) –Block erase ( 2m s )

35 NOR and NAND type Flash

36 Flash 芯片结构

37 NVRAM

38 相联存储器 —— 框图

39 相联存储器 —— 单元结构

40 相联存储器 —— 阵列的构成

41 相联存储器 —— 访问实例

42 5.2 存储器的构成

43 位扩展 芯片的地址线数: 18 存储器的结构 256Kx32 容量: 1MB CPU 的有效地址位数: 20 位字节地址 每个芯片的地址范围相同 00123 45671 2891011 256kx1 ……256kx1

44 位扩展

45 字扩展

46 存储器芯片引脚数 : 18 存储器结构: 2Mx8 CPU 有效地址线数: 21 每个芯片的地址范围不同 256Kx8 …...

47 字扩展

48 问题 字扩展中,求每个芯片的地址范围 字扩展中,求整个存储器的地址范围 如果用超出存储器地址范围的地址访存,会 出现什么情况?

49 字位扩展

50

51 例 1 某计算机的主存地址空间中,从地址 0000 16 到 3FFF 16 为 ROM 存储区域,从 4000 16 到 5FFF 16 为保留地址区域,暂时 不用,从 6000 16 到 FFFF 16 为 RAM 地址区域。 RAM 的控制信 号为 CS# 和 WE# , CPU 的地址线为 A15~A0 ,数据线为 8 位 的线路 D7~D0 ,控制信号有读写控制 R/W# 和访存请求 MREQ# ,要求: (1) 画出地址译码方案。 (2) 如果 ROM 和 RAM 存储器芯片都采用 8K×1 的芯片,试画 出存储器与 CPU 的连接图。 (3) 如果 ROM 存储器芯片采用 8K×8 的芯片, RAM 存储器芯 片采用 4K×8 的芯片,试画出存储器与 CPU 的连接图。 (4) 如果 ROM 存储器芯片采用 16K×8 的芯片, RAM 存储器 芯片采用 8K×8 的芯片,试画出存储器与 CPU 的连接图。

52 (1) 画出地址译码方案 解: (1)

53 (2) 如果 ROM 和 RAM 存储器芯片都采用 8K×1 的芯片,试画出存储器 与 CPU 的连接图。 解: (2) 8KB 的存储区域可以用 8 片存储器芯片构成一组实现。 8K×1 的存储器芯片的 地址线需要 13 条,即 A12~0 。

54 (3) 如果 ROM 存储器芯片采用 8K×8 的芯片, RAM 存储器芯片采用 4K×8 的芯片,试画出存储器与 CPU 的连接图。 解:( 3 )

55 (4) 如果 ROM 存储器芯片采用 16K×8 的芯片, RAM 存储器芯片采用 8K×8 的芯片,试画出存储器与 CPU 的连接图。 解:( 4 )

56 例 2 某计算机系统的主存采用 32 位字节地址空间和 64 位数据线访问存 储器,若使用 64M 位的 DRAM 芯片组成该机所允许的最大主存空间, 并采用内存条的形式,问: (1) 若每个内存条为 64M×32 位,共需多少内存条? (2) 每个内存条内共有多少片 DRAM 芯片? (3) 主存共需多少 DRAM 芯片? (4) CPU 如何有选择地访问各内存条? 解: (1) 主存最大空间为 2 32 =4GB ,每个内存条的容量为 64×4B = 256MB ,主存需要的内存条数量为 4GB/256MB=16 条。 (2) 每个芯片的容量为 8MB ,内存条需要的芯片数量为 256MB/8MB = 32 片。 ( 3 ) 整个主存需要的内存芯片数量是 16×32=512 片。 (4) 由于 CPU 字长为 64 位,内存条需要进行位扩展,即 2 个 32 位 的内存条构成一组 64 位的存储单元组, 16 个内存条构成 8 组,为 选择这 8 组内存条, CPU 地址中需要用最高 3 位地址作为产生选 择信号的地址码。

57 例 3 假定计算机系统需要 512 字节 RAM 和 512 字节 ROM 容 量。使用的 RAM 芯片是 128 字 ×8 位, ROM 芯片为 512 字 ×8 位。 RAM 芯片有 CS* 及 WE* 控制端, ROM 芯片有 CS* 控 制端, CPU 有地址线 A15~A0 、数据线 D7~D0 、读写控制 线 RW* 等,试确定各存储器芯片的地址区间,指出存储 器以及各存储器芯片需要的地址线数量,并画出存储器 与 CPU 的连接图。 解:各存储器芯片的地址区间:

58 存储器的总容量为 1KB ,需要 10 条地址线。 RAM 芯片需要 7 条信号线 (2 7 =128) , ROM 芯片需要 9 条 地址线 (2 9 =512) 。 存储器与 CPU 的连接图 CPU MREQ# A 15 ~A 0 R/W# D 7 ~D 0 128x8 WE A CS D 7 ~D 0 128x8 WE A CS D 7 ~D 0 128x8 WE A CS D 7 ~D 0 128x8 WE A CS D 7 ~D 0 512x8 A CS D 7 ~D 0 3-8 decodeA7A8A9A7A8A9 A 6 ~A 0 A 8 ~A 0 &

59 全译码与部分译码 全译码 – 所有 CPU 高位地址线均参与对存储单元的译码寻址 – 低位地址线对芯片内各存储单元的译码寻址 片内译码 – 高位地址线对存储芯片的译码寻址 片选译码 – 每个存储单元的地址都是唯一的 不存在地址重复 部分译码 – 部分高位地址线参与对存储单元的译码寻址 – 存在地址段内容重叠 每个单元有多个地址 0 M-1 nM M

60 全译码的实现 与门 地址比较器 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 > = < A17 A18 A19 A20 CE10 CE9 CE8 CE7 CE6 CE5 CE4 CE3 CE2 CE1 CE0 MREQ

61 字选择与字节选择 字选择 – 以字为单位访问存储器 – 位数等于存储器的字长 – 低位地址不需要 字节选择 – 可以以字节为单位访问存储器 – 低位地址用于选择字节

62 字节选择的实现 A0 A1

63 字位扩展中的字节选择 A0 A1 A0 A1 A0 A1 A26 A24 A25 MREQ A31 A29 A30 ≤1 A28 A27

64 习题 5 12 15 16

65 5.3 Cache 访存局部性 – 时间局部性 – 空间局部性 层次化结构 –cache – 主存 – 辅存

66 Cache 的基本概念 命中、命中率、失效、失效率、块、命中访问 时间、失效访问时间 (miss penalty)

67 Cache 设计问题 地址映象 替换策略 更新策略 容量

68 地址映象与变换 1. 直接映象

69 1. 直接映象 块地址的概念 存储容量、块数、块容量与地址格式中区号、块号、块内地址位 数的关系。 访问 cache

70 1. 直接映象

71 直接映像 cache 的实现

72 例 设有一个 cache 的容量为 2K 字,每个块为 16 字,求 (1) 该 cache 可容纳多少个块? (2) 如果主存的容量是 256K 字,则有多少个块? (3) 主存的地址有多少位? cache 地址有多少位? (4) 在直接映像方式下,主存中的第 i 块映像到 cache 中哪一个块中? (5) 进行地址映像时,存储器的地址分成哪几段?各段分别有多少位? 解: (1) cache 中有 2048/16=128 个块。 (2) 主存有 256K/16=16384 个块。 (3) 主存容量为 256K=2 18 字,字地址有 18 位。 cache 容量为 2K=2 11 字,字地址为 11 位。 (4) 在直接映像方式下,主存中的第 i 块映像到 cache 中第 i mod 128 个 块中。 (5) 区号 7 位,块号为 7 位,块内字地址为 4 位。 区号 块号块内地址 11 4 18

73 2. 全相联映像

74 N = 区内块数,阴影区表示查找范围

75 全相联映像的实现

76 2. 全相联映像

77 3. 组相联映像 n 路组相联:组内有 n 块

78 3. 组相联映像 N = 区内块数,阴影区表示查找范围,根据组号在块表中寻找组,组 内相联查找。

79 组相联映像的实现 区号组号块号块内

80 组相联映像的实现

81 3. 组相联映像 例:设有 8 个块,分成 2 个组

82 3. 组相联映像 例:设有 8 个块,分成 4 个组

83 替换策略及更新策略 替换策略 – 随机法 – 先进先出法 – 近期最少使用法 近期最久未使用法

84 替换策略及更新策略 先进先出替换策略

85 替换策略及更新策略 近期最久未使用替换策略

86 替换策略及更新策略 颠簸现象 Cache QoS

87 替换策略及更新策略 3. 更新策略 cache 命中时 – 写直达法 – 写回法 cache 失效时 – 按写分配法 – 不按写分配法 习题 : 22 , 23 , 27 , 33 , 34

88 5.4 虚拟存储器 作用 – 分隔地址空间 – 解决主存的容量问题 – 程序的重定位 与 cache 的区别 – 替换策略 – 实现方式

89 5.4 虚拟存储器 分类 – 页式 – 段式 – 段页式

90 页式虚拟存储器 页、页框架、基号、页表、虚页号

91 页式虚拟存储器 与块表的区别:基号,表长,查找方式,装入位 问题:页表过长

92 例:某计算机的页式虚存管理中采用长度为 32 字的页面。 页表内容如下表所示,求当 CPU 程序按下列 2 进制虚拟字 地址访存时产生的实际字地址。 (1) 00001101 (2) 10000000 (3) 00101000

93 答:页面长度为 32 字,则页内地址 5 位, 8 位地址码中的高 3 位为虚页号,从表中查出 2 位实页号,与页内地址合并构 成 7 位实际物理内存的地址。 (1) 虚页号为 000 ,查得实页号 01 ,与页内地址 01101 合并, 得 0101101 。 (2) 虚页号为 100 ,查得实页号 10 ,与页内地址 00000 合并, 得 1000000 。 (3) 虚页号为 001 ,查得该页未装入内存,没有相应的内存 地址。

94 Questions 页式虚拟存储器采用什么地址映像方式? 页表为什么大? 页表放在哪里?用什么方式查找?

95 二级页表 Two-level Page Tables 32-bit address: P1 indexP2 indexpage offest 4 bytes 4KB 10 12 1K PTEs ° 2 GB virtual address space ° 4 MB of PTE2 – paged, holes ° 4 KB of PTE1

96 倒排页表 Inverted Page Tables –IBM System 38 (AS400) implements 64-bit addresses. –48 bits translated V.Page P. Frame hash Virtual Page =

97 段式虚拟存储器 段表:段基址、段长、装入位、访问方式

98 Questions 段式虚拟存储器如何解决页式虚拟存储 器中的问题? 段式虚拟存储器存在什么问题? In all affairs it’s a healthy thing now and then to hang a question mark on the things you have long taken for granted Bertrand Russell

99 段页式虚拟存储器

100 Questions 段页式虚拟存储器的页表有多大? 段页式虚拟存储器有什么问题? 学而不思则罔 思而不学则殆

101 虚存管理策略 虚存设计的关键 – 页面失效问题 – 地址变换速度 快表 TLB – 段表和页表的 cache – 根据基号、段号、页号对快表进行全相联查找 – 引用位 —— TLB 替换标志, OS 定期清除 – 浊位 —— 数据修改标志 一级 TLB 与二级 TLB –Intel P4 has 128 entries TLB –AMD Opteron L1 TLBs have 40 entries L2 TLB have 512 entries

102 TLB 的查找

103 习题 43


Download ppt "第五章 存储系统 5.1 存储器的构成 5.2 存储系统的构成 5.3 Cache 5.4 虚拟存储器."

Similar presentations


Ads by Google