1 / 73

第四章 存储器和存储系统

第四章 存储器和存储系统. 分层的存储系统. 基本概念 存储容量 存储器可以容纳的二进制信息量 存储器包含的存储单元的总数 存储容量 = 存储单元(字节) 存储器所能记忆的全部二进制信息量 例如:某存储器有 4096 字节的存储单元 则存储器的存储容量为 4KB = 32KBit. 寄存器组. 高速缓冲存储器. 主 存 储 器. 辅 助 存 储 器. 存储系统的分层结构. 价格. 容量. 高. 小. CPU 内部. 主机内部. 外部设备. 低. 大. CPU. Cache. RAM.

brie
Download Presentation

第四章 存储器和存储系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 存储器和存储系统

  2. 分层的存储系统 • 基本概念 • 存储容量 存储器可以容纳的二进制信息量 • 存储器包含的存储单元的总数 存储容量 = 存储单元(字节) • 存储器所能记忆的全部二进制信息量 例如:某存储器有4096字节的存储单元 则存储器的存储容量为 4KB = 32KBit

  3. 寄存器组 高速缓冲存储器 主 存 储 器 辅 助 存 储 器 • 存储系统的分层结构 价格 容量 高 小 CPU内部 主机内部 外部设备 低 大

  4. CPU Cache RAM ROM 外存 主存 带 Cache 的结构层次

  5. 存储系统中的主存 • 按存储介质分类 • 半导体存储器 体积小、功耗低、存取时间短、信息容易丢失 • 磁表面存储器 信息不易丢失 • 磁芯存储器 体积庞大、工艺复杂、功耗大 • 光盘存储器 记录密度高、耐用性好、可靠性高、可互换性强

  6. 按存取方式分类 • 只读存储器(ROM) 掩膜ROM、PROM、EPROM、EEPROM、FLASH memory • 随机存取存储器(RAM) SRAM、DRAM • 串行访问存储器 磁带存储器

  7. 储 体 译码器与驱动 读写电路 数据总线 地址寄存器 控制总线 地址总线 控制电路 读 写 图 主存的基本组成

  8. 主存的工作过程 • 主存的技术指标 • 存储容量 主存中能存放二进制代码的总数 存储容量 = 存储单元数 * 字长 • 存储速度 • 存取时间:又叫存储器的访问时间,是指启动一次存储器操作(读或写)到完成该操作所需要的全部时间 • 存取周期:存储器进行连续两次独立的存储器操作所需要的最小时间间隔 MOS的存取周期100ns,TTL的存取周期10ns

  9. 存储器的带宽 • 每秒从存储器中进出信息的最大数量。单位为字节/秒或字/秒 例如:存取周期为500ns,则1秒周内能进行1/( 500 * 10-9 )= 200万次操作,假设每个存储周期能够 访问16位的二进制数,则它的带宽为 200万 * 2 * 8 = 200万 * 2 字节/秒 = 4M字节/秒 提高存储器的带宽: 缩短存取周期、增加存储字长、增加存储体

  10. 址 译 码 存 储 体 读 写 电 路 地址总线 A0……An 数据总线 D0……Dm 读控制线 片选线 写控制线 图 存储器芯片的基本结构 • 几种半导体存储器

  11. 地址线 • 编号方式:A0,A1,……,An • 存储器芯片引脚的数目决定的存储器的容量。 一个存储器芯片引脚的数目为10 则地址范围为00 0000 0000 – 11 1111 1111 存储容量为 210 = 1024 个存储单元,即 1KB。 假设CPU有16位的地址总线,那么它可以访问的存储空 间范围为 0000H – FFFFH,即 216 = 64KB 8086,8088地址总线为20位,可以访问的存储空间的范 围为:00000H – FFFFFH,即 220 = 1MB

  12. 80286地址总线为24位,可访问的存储空间为16M 80386,80486和Pentium地址总线为32位,可访 问的存储空间为4G Pentium Pro 和 Pentium II 的地址总线为36位, 可访问的存储空间为64G 16位二进制数表示的地址: 0000, 0001, 0002, …………………… 000E, 000F 0000, 0001, 0002, …………………… 000E, 000F ………………………………………………………… FFE0, FFE1, FFE2, …………………… FFEE, FFEF FFF0, FFF1, FFF2, ………………….… FFFE, FFFF

  13. 数据线 • 表示方式:D0,D1,…………,Dm • 存储器的容量通常为字节 *也可以用字(16位)、4位或1位来进行表示 1K*8 表示有1K的存储容量,每个存储单元输出8位数据 16K * 1 表示有16K的存储容量,每个存储单元输出1位 的数据 • 芯片选择线(片选线) • 存储器芯片上有一个或一个以上允许存储器芯片工作的控制线

  14. 表示方式:片选(CS),片允许(CE), 或简写为 S • 读写控制线 • 存储器芯片上传输读、写控制信号,ROM只有读信号,RAM上有一到两个读写控制信号 • 表示方式 • ROM 允许输出信号 OE 或简称 G • RAM 读信号 WE 或简称 W 写信号 OE 或简称 G

  15. …… 0 X 行 地 址 译 码 A0 A1 A2 A3 A4 …… 1 …… 31 …… …… 输出 0 31 2 1 选通 Y 列地址译码 A5 A6 A7 A8 A9 • 只读存储器 • 掩膜ROM

  16. 行线 VCC 熔丝 列线 • PROM 存0,则烧断熔丝;存1,熔丝不断。 只能实现一次编程

  17. EPROM • 改写方式 • 紫外线照射 • 电气的方法(EEPROM) • FLASH memory G S D SiO2 N+ P 基片 N+

  18. 静态RAM(SRAM) T3 T4 位线B 位线B’ A’ A T6 T5 VCC T1 T2 地址选择

  19. 数据线 T CS 字线 • 动态RAM

  20. 利用存储器芯片构造存储系统 • 利用与非门实现译码 例:假设某微处理器有20根地址线 A0,A1,A2,…………,A19 8根数据线D0,D1,D2,…………,D7 20根地址线:CPU可以访问1M个存储单元 8根数据线:CPU和存储器之间每次传送的数 据为8位 存储器使用 2K * 8 EPROM:11根地址线,8 根数据线

  21. 数据线D0~D7 地址线A0~A10 地址线A12~A19 CE OE 地址线A11 VPP VCC M/IO RD 2K * 8 EPROM被译为地址 FF000H~FF7FFH 2K*8 EPROM

  22. A B C G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 译码输入 输入使能 • 利用译码器实现译码 74LS138译码器

  23. 8K*8 数据线D0~D7 地址线A0~A12 CE W/R 例:假设微处理器系统中从0E0000H开始的64K存储区 无存储器,已知某一类RAM是8K*8的存储芯片, 如何进行扩充?

  24. 数据线 A0~A12 D0~D7 A0~A12 D0~D7 ……………… CE CE W/R W/R 地址线 RD E0000~E1FFF A B C E2000~E3FFF A13~A15 ………… E4000~E5FFF E6000~E7FFF A16 G1 G2A G2B E8000~E9FFF EA000~EBFFF A17~A19 EC000~EDFFF EE000~EFFFF Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

  25. 存储器的扩展 • 存储器的位扩展 位扩展是指增加存储器的字长,如1K*4的存 储器,可组成1K*8的存储器

  26. A0~A9 D4~D7 D0~D3 CS WE 2114 2114

  27. 存储器的字扩展 字扩展是指增加存储器的字的数量,如2片 1K*8的存储器,可组成2K*8的存储器, 即存储器的容量增加了一倍

  28. 存储器的容量为2K,即 000 0000 0000 100 0000 0000 011 1111 1111 111 1111 1111 1 K 1 K A10 A0~A9 CS0 CS1 D0~D7 WE 1K * 8 A 1K * 8 B

  29. 存储器的字、位扩展 字、位扩展是指既增加存储器的字的数量又增 加字长,如4片1K*4的存储器,可 组成2K*8的存储器,即存储器的 容量、字长都增加了一倍。

  30. A10 CS0 CS1 A0~A9 D0~D7 WE 1K * 4 1K * 4 1K * 4 1K * 4

  31. 解:第一步:将地址范围写成二进制代码,并确定其总容量解:第一步:将地址范围写成二进制代码,并确定其总容量 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………… 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 64K 例:假设 8086 系统中从 0E0000H开始的 64K存储区无 存储器,2764EPROM是 8k*8的只读存储器,如何 对其进行扩充? 第二步:根据地址范围的容量及该范围在计算机中的应用,选 择存储芯片 要扩充64K的存储容量,给定了只读存储器2764EPROM, 共需要 8 片 2764EPROM 进行扩充。

  32. A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………… 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 第三步:分配地址线 将CPU的低13位地址线A0~A12与2764EPROM相连,剩下 的高位地址线用于产生片选信号。 1 译码器的输入端A、B、C,决定了Y0~Y7那个端口有输出, 从而决定选中哪片芯片,将A15、A14、A13分别与C、B、A相 连,从000~111变化,从而可以选择8片芯片。 2 为了使译码器进行工作,G1位高电平,G2A、G2B位低电平, 可以将A19、A18、A17连接到一个与非门上,与非门的输出和 G2A、G2B输入端相连。A16可以和一个非门电路相连,输 出和G1的输入端相连。 第四步:片选信号的形成

  33. 数据线 A0~A12 D0~D7 A0~A12 D0~D7 ……………… CE CE W/R W/R 地址线 RD E0000~E1FFF A B C E2000~E3FFF A13~A15 ………… E4000~E5FFF E6000~E7FFF A16 G1 G2A G2B E8000~E9FFF EA000~EBFFF A17~A19 EC000~EDFFF EE000~EFFFF Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

  34. A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………… 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 针对译码器的Y0输出,这时CBA=000,即 A15=0, A14=0, A13=0 地址范围: 1110 0000 0000 0000 0000 = E0000H 1110 0001 1111 1111 1111 = E1FFFH 针对译码器的Y1输出,这时CBA=001,即 A15=0, A14=0, A13=1 地址范围: 1110 0010 0000 0000 0000 = E2000H 1110 0011 1111 1111 1111 = E3FFFH

  35. 例:假设 CPU 有16根地址线,8根数据线,并用 MREQ作 为访存控制信号(低电平有效),用 WR 做读/写控制信号(高电平为读,低电平为写),现有下列存储芯片:1K*4位RAM,4K*8位RAM,8K*8位RAM,2K*8位ROM,4K*8位ROM,8K*8位ROM及74LS138译码器和各种门电路,画出CPU与存储器的连接图,要求: 1. 主存地址空间分配 6000H ~ 67FFH 为系统程序区 6800H ~ 6BFFH 为用户程序区 2. 合理选用上述存储芯片,说明各选几片? 3. 详细画出存储器芯片的片选逻辑图。

  36. 解:第一步:将地址范围写成二进制代码,并确定其总容量解:第一步:将地址范围写成二进制代码,并确定其总容量 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………… 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 ……………… 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 系统程序区2K*8 用户程序区1K*8

  37. 第二步:根据地址范围的容量及该范围在计算机中的应用,选第二步:根据地址范围的容量及该范围在计算机中的应用,选 择存储芯片 由 6000H ~ 67FFH 为系统程序区,为2K*8位,应选择一 片 2K*8 位 ROM 由 6800H ~ 6BFFH 为用户程序区,为1K*8位,应选择两 片 1K*4 位 RAM 第三步:分配 CPU 的地址线 将 CPU 的低11位地址线A10 ~ A0与2K*8位的ROM地址线相 连,将 CPU 的低10位地址线A9 ~ A0与1K*4位的RAM地址 线相连,剩下的高位地址与访存控制信号共同产生存储芯 片的片选信号。

  38. 第四步:由题给出的74LS138译码器的输入逻辑关系可知,必须保第四步:由题给出的74LS138译码器的输入逻辑关系可知,必须保 证G1为高电平,G2A、G2B为低电平才能使译码器工作。 A15为低,连接到G2A上,A14为高,连接到G1上,MREQ 为低,连接到G2B上 。保证了三个控制端的要求 A13、A12、A11连接到C、B、A上。输出Y4有效时,选中 一片ROM;Y5有效时,同时A10有效为低电平,选中两片 RAM。读出时低电平有效,RAM的读/写控制端与CPU的 命令端WR相连 * ROM 的数据线是单向的

  39. A15 A14 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 G1 G2A G2B MREQ A13 A12 A11 C B A A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 2K * 8 1K * 4 1K * 4 D7 D6 D5 D4 D3 D2 D1 D0 WR

  40. 数据寄存器 主 存 控 制 部 件 W位 W位 W位 W位 …………… 存储体 …………… 地址寄存器 提高访问存储器速度的方法 • 多存储体方式 • 单体多字系统 前提:指令和数据在主存中必须是连续存放的,一旦遇到转 移指令或者操作数不能连续存放,这种方法的效果就不明显

  41. 0 1 n-1 n n+1 2n-1 2n 2n+1 3n-1 3n 3n+1 4n-1 …… …… …… …… 地址译码 体 号 体内地址 • 多体并行存储系统(地址码被分为体号、体内地址两部分) • 高位交叉编址 –有利于存储器的扩充

  42. M0 M1 M2 M3 100000 100001 100010 100011 100100 100101 100110 100111 101000 101001 101010 101011 101100 101101 101110 101111 000000 000001 000010 000011 000100 000101 000110 000111 001000 001001 001010 001011 001100 001101 001110 001111 010000 010001 010010 010011 010100 010101 010110 010111 011000 011001 011010 011011 011100 011101 011110 011111 110000 110001 110010 110011 110100 110101 110110 110111 111000 111001 111010 111011 111100 111101 111110 111111

  43. 0 4 4n-4 1 5 4n-3 2 6 4n-2 3 7 4n-1 …… …… …… …… 地址译码 体内地址 体 号 • 低位交叉编址 –有利于解决访存冲突

  44. M0 M1 M2 M3 000000 000100 001000 001100 010000 010100 011000 011100 100000 100100 101000 101100 110000 110100 111000 111100 000001 000101 001001 001101 010001 010101 011001 011101 100001 100101 101001 101101 110001 110101 111001 111101 000010 000110 001010 001110 010010 010110 011010 011110 100010 100110 101010 101110 110010 110110 111010 111110 000011 000111 001011 001111 010011 010111 011011 011111 100011 100111 101011 101111 110011 110111 111011 111111

  45. 高速缓冲存储器 -- Cache • 问题的提出 • 避免CPU与I/O争抢访存 I/O设备向主存请求的级别高于CPU访存 • 解决CPU与主存之间速度不匹配的问题 CPU的速度每年增长60% RAM速度每年改进 7% • 程序访问的局部性原理使CPU与Cache交换信息成为可能

  46. 标记 字块0 字块0 0 1 2 . . . . 2m-1 0 1 2 . . . . 2c-1 字块1 字块1 字块2 字块2 …… …… 字块2m-1 字块2c-1 n位 m位 b位 c 位 b位 主存块号 块内地址 缓存块号 块内地址 M块= 2m B个字= 2b C块= 2c B个字= 2b • Cache的工作原理

  47. 影响Cache命中率的因素 • 块长 一般块长取4至8个可编址单位(字或字节) IBM370/168的主存是4体交叉,每个体宽为64 位(8个字节),Cache的块长为32个字节。 • 容量 Cache的容量是成本与命中率的折衷 80386主存的最大容量为4GB,Cache的容量为 16KB或32KB,命中率可达95%以上

More Related