第 4 章 存 储 器

Download 第 4 章  存 储 器

If you can't read please download the document

Upload: noelani-blake

Post on 03-Jan-2016

78 views

Category:

Documents


6 download

DESCRIPTION

第 4 章 存 储 器. 4.1 概述. 4.2 主存储器. 4.3 高速缓冲存储器. 4.4 辅助存储器. 存储器的角色. 在现代计算机中,主存储器处于全机中心地位 当前计算机正在执行的程序和数据均存放在存储器中。 CPU 直接从存储器取指令或存取数据。 计算机系统中输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器存取 (DMA) 技术和输入输出通道技术,在存储器与输入输出系统之间直接传送数据。 共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,更加强了存储器作为全机中心的作用。. 存储器的挑战. - PowerPoint PPT Presentation

TRANSCRIPT

  • 4.1 4.2 4.3 4.4

  • CPU(DMA)

  • Memory Wall

  • Memory HierarchyCache

  • 4.1 1. (1) (2) (3) (4) TTL MOS

  • (1) 4.12. (2)

  • CacheFlash Memory3. 4.1

  • 1. 4.1

  • 4.1

  • 4.2 1.

  • 2. CPU 4.2

  • 24 16 32 3. 4.2224 = 16 M8 M4 M

  • (2) 4. (1) (3) /4.2

  • 600~700/TB200/GBSRAM400/256KB

  • 1. 1K416K18K81041411384.2

  • / 4.2

  • 16K 1 64K 8 324.2

  • 2. (1) 4.2

  • (2) 4.20,0

  • ( RAM ) 1. RAM (SRAM) (1) RAM A A 4.2T1 ~ T4

  • RAM 4.2

  • RAM

  • (2) RAM Intel 2114 1K4

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • 1503116473263481503116473263480163015I/O1I/O2I/O3I/O4WECS0000000000 Intel 2114 RAM (64 64) 0163248

  • Intel 2114 RAM (64 64) 0163248

  • Intel 2114 RAM (64 64) 0163248

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • Intel 2114 RAM (64 64)

  • (3) RAM

  • (4) RAM (2114)

  • SRAM 4096140961640961409616

  • SRAM

  • SRAMCPU

    32

    /

    /

    ...

    ...

    n

    0

    2n-1

    W

    W

    ...

    B0

    B1

    Bm-1

  • SRAM n2n n4 241616

    32

    /

    /

    ...

    ...

    n

    0

    2n-1

    W

    W

    ...

    B0

    B1

    Bm-1

  • SRAM3-84-168+8=168X8

  • SRAMX/Y n22n/22n/22n/2=2nn=12212=4096226=128 n

    T

  • SRAM/I/OX

    T

  • SRAM2114SRAM1K4/cs/we/cs/we/cs2114

    A9A0D3D0

  • SRAM4102464166-644-16

  • (1) 10 (2) (3) MOSZWTCSCDMOS

  • (1) RAM 2. RAM ( DRAM ) 1 CS 1 04.2T

  • (2) RAM RAM (Intel 1103) 4.2

  • RAM (Intel 1103) 4.2

  • 4.2 RAM (Intel 1103)

  • 4.2 RAM (Intel 1103)

  • 4.2 RAM (Intel 1103)

  • 4.2 RAM (Intel 1103)

  • 4.2 RAM (Intel 1103)

  • 4.2 RAM (Intel 1103)

  • 4.2 RAM (Intel 1103)

  • 4.2 RAM (Intel 1103)

  • RAM 4116 (16K 1)

  • 4116 (16K 1) 63000

  • 4116 (16K1) 4.2630

  • (3) RAM DOUT DIN 4.2

  • (4) DRAM1 2ms

  • 2ms

  • 1024200ns2ms 10 000 1024 8976(2ms/200ns)-1024=8976

  • /tRC100ns200ns2ms10000

  • 2ms 12815.6sCPUDMA

  • 10243232500ns500ns3232 2ms/500ns=4000

  • 500ns500ns1s10243232500ns500ns3232

  • 10243232500ns500ns3232 2ms32322ms/32=62.5s62s0.5s2ms62.5s

  • CPU

  • 3. RAM RAM 4.2

  • (RAM)SRAMDRAMMOS

  • DRAM1.SRAM4SRAMSRAM42.DRAMSRAM1/43.DRAMSRAM1/6DRAM1.SRAM 2.DRAM DRAMSRAMDRAM SRAM

  • DRAMEDO RAMExtended Data Out RAMBEDO RAMBurstSDRAMSynchronous DRAMEDO50%DDRDual Data RateSDRAM IISDRAMSDRAM2CDRAM(Cached)SDRAMDRAMDRAMRDRAM(Rambus DRAM)

  • ROM 1. ROM ( MROM ) MOS 1 MOS 0 2. PROM ()

  • 3. EPROM ( ) (1) N MOS

  • (2) 2716 EPROM

  • 4. EEPROM ( ) 5. Flash Memory () EEPROMEPROM EEPROM RAM

  • RAM RAMRAMAiDi CPU

  • 1RAM16K812116K=214148814 + 8 + 1 + 1 + 1 + 1 = 26 / 20000H~3FFFH01

  • SRAM21141K4A9A0D3D0/CS= 0 = 1 WE= 0 = 1

  • 1 () () () //

  • 1K 4 1K 8 1. 2

  • 8K1RAM8K88

  • I/O

    I/O

    I/O

    I/O

    I/O

    I/O8K1RAM8K8

    I/O8K1I/O

  • 64K1b64K8b64KB = 8 16A0 A15 8A15A0CPUA15A088CPUD7D0 CPU168 CPU /8

  • < CS

  • (2) 1K 8 2K 8 2

  • 16K8RAM64K864K16K44RAM 2

  • 16K8RAM64K810

  • 64K8b512K8b512KB = 8 16A0 - A15 20 A0-A19 8A15A0CPU20 A15 A0 4 A16 A19 16888 88CPUD7D0

  • :

  • MNLK

  • (3) 1K 4 4K 8 8

  • 2. CPU (1) (2) (3) /(4) (5) (6)

  • 4.1 : (1) (2) A15A14A13 A11 A10 A7 A4 A3 A0

  • (3) A10~ A0 2K 8 ROM A9 ~ A0 1K 4 RAM (4)

  • 4.1 CPU

  • (1) (2) (3) (4) 1 4K 8 ROM 2 4K 8 RAMA11~ A0 ROM RAM

  • 138 CPU 2764 F0000H~FFFFFH , 2764

  • 1 2321141K4SRAM4K8421141K4SRAM4K8

  • 21141K4SRAM4K81. 21K4 1K8 41K8 4K8 8 =48/ 14=8

  • 21141K4SRAM4K82.()4KB16(64KB

  • 21141K4SRAM4K8A11 A10 A9 A00 0 0 00 0 1 10 1 1 11 0 1 10 1 0 01 0 0 01 1 0 01 1 1 1 124KBA11A021141K410A0~A9

  • 1K1K1K1KA9A0A9A0A9A0A9A0CS0CS1CS2CS3A11A10A11A10A11A10A11A10000H~FFFH4000H~3FFH400H~7FFH800H~BFFHC00H~FFFH21141K4SRAM4K8

  • 21141K4SRAM4K83.1234

  • 4K82KEPROM27162K82KSRAM21141K4/A15A0D7D0

  • 2K8

    1K4 1K4

    1K4 1K4000007FF08000BFF0C000FFF127164211481/A112A11/A103A11A101K81K84K8

  • 4K12A15~A1210000~07FFA10~A0A110A111/A1120800~0BFFA9~A0A111 A100A11 /A1030C00~0FFFA9~A0A111 A101A11 A10

  • 111A10A0 A112310A9A0 A11A10000007FF08000BFF0C000FFF

  • 2716

    2114

    2114

    2114

    2114D7~4D3~0R/WCS0CS1CS2A11A11A10A11A10A10~0A9~0A9~0

  • /CS8ROMRAM21144D7D4D3D08 /R/W2716R/WR/WRAM2114

  • 8K8ROM8K4RAMRAM2000H~7FFFHROMC000H~FFFFHCPU

  • 1.A15A14A13001~011RAM8K3=24K8K4RAM6RAM 0010 0000 0000 0000 0111 1111 1111 1111RAM8K=2130111 1111 1111 11110010 0000 0000 0000ROM =FFFFH C000H=3FFFHROM214=16K8K8ROM2A15A14A13110~111 ROM1111 1111 1111 11111100 0000 0000 0000

  • CS7 A15A14A130 0 1 1 1A15A14A13A12A00 0 1 0 0 1 1 0 1 1 1 1 0 0 03:874LS13840KB16RAMA15A0ROM

  • L D C 1 .

  • 2k n + k + 1 2 .

  • Ci gi 2i1 gi gj 2i1 + 2j1 gigj gl 2i1 + 2j1 + 2l1

  • 4.4 0101 n = 4 2k n + k + 1 k = 3:C1 C2 C40 0101 010010110

  • 0011 C1 C2 C41 0 0 n = 4 2k n + k + 1 k = 3 0011 10000111

  • 3. Pi 3 k = 3 P4 P2 P1 k = 3 Pi P1= 0P2 = 0P4 = 0C1C2C4

  • P4P2P1 = 110 6 0100101 01014.5

  • 2 P4 P2 P1 = 100 4 0101011

  • 1. Cache

  • 2. (1)

  • (1)

  • (2)

  • (2)

  • 0 1 2 3

  • T T 4 4 T(4 1)

    T

    W4

    W3

    W2

    W1

    W0

    M0

    M0

    M1

    M2

    M3

  • (3) CPU

  • 3.(1) SDRAM ( DRAM)CPU (2) RDRAM Rambus (3) Cache DRAM DRAM SRAM Cache

  • 4.3 1. CPU CPU DRAM

  • 2. Cache (1) B 4.3

  • (2) M >> C 4.3

  • (3) Cache CPU Cache Cache 4 ~ 8 CRAY_1 16 16 IBM 370/168 4 4 644 = 2564.3

  • (4) Cache e Cache h Cache tc tm

    4.3

  • 3. Cache 4.3

    CacheCacheCacheCPU

    Cache

    Cache

    Cache

    CPU

    Cache

    Cache

    Cache

  • 4. Cache 4.3

  • CacheCPUCache/CacheCPUCache CacheCache

  • Cache 4.3 Write through Write back Cache Cache Cache Cache Cache Cache

  • 5. Cache (1) Cache Cache Cache(2) Cache CachePentium 8K Cache 8K CachePowerPC620 32K Cache 32K Cache4.3

  • CacheCPUTemporal LocalitySpatial Locality

  • CachePareto principle80/2080%20% 80%20%90%10%20%80%

  • CacheCacheSRAMCPUCacheCache

  • CacheCacheCache//Cache

  • CacheCache?

  • Cache 1. i j i = j mod C4.3

  • Cache 1MB2048Cache8KBCache1MB512BCache8KB512B162048/16=1281620947

  • i = j mod nCache Cache Tag CacheCache BS 102416101024111024531018

  • Cache Cache Cache Cache

  • 4-1Cache53CPU8 000101100001101000010110000110100001000000000 0110001000000010010 Cache 1 Cache

  • 2 0010110Y0001000010110 Cache110N00010110Cache 110Cache110Y00010Cache00010110

  • 300011010Y00011 00011010 Cache010 N00011010Cache 010Cache010Y 00011Cache00011010

  • 4 00010110CacheCache

    5 00011010CacheCache

  • 6 00010000 Cache000 N00010000Cache 000Cache000Y 00010Cache0001000 Y0001000010000

  • 7 00000011 Cache011 N00000011Cache 011Cache011Y 00000Cache00000011 Y 00000

  • 800010000CacheCache

  • 900010010 Cache0100001100010 0001001000011010 00010Cache0001000010010

  • CacheCache

  • 2. 4.3

  • Cache 1MB2048Cache8KBCache1MB512B20119Cache8KB512B169Cache11

  • CacheCPUCache Cache CacheCache CacheCache Cache Cache Cache

  • Cache Cache Cache

  • Cache8Cache3CPU8 0001011000011010000101100001101000010000000000110001000000010010 Cache 8 222622261631618,Cache4-1 Cache4-198 Cache8418 mod 8 = 26 mod 8

  • 18

  • Cache4-208Cache22222622262226222616222616 3 222616 3222616 318

  • j Q i i = j mod Q3. 4.3

  • Cache 1MB2048Cache8KBCache 22Cache1MB512BCache8KB512B1682048/8=256209 3 8

  • Cache Cache Cache

  • Cache Cache

  • CacheCacheCache Cache Cache CacheCache Cache

  • Cache8Cache34-21CPU8 0001011022000110102600010110220001101026000100001600000011300010000160001001018 Cache100010 11 02285000102110Cache822Cache30Cache6Cache611000010 0

  • 22

  • 0 0 0 1 0 0

  • (2)00011 01 026, 2610 Cache2 26

  • 000110

  • 3 Cache6 000100 Cache, Cache 110

    (4) 00011 01 026 100011Cache (3) 00010 11 0 22

  • 50000100016 Cache00Cache0 6000000113 11011 Cache3162622163

  • 700010 00 016 02Cache 800010 01 018 Cache10326103 10FIFO 18

  • 4 1 Cache(1)

  • CacheCache

  • 1. FIFO 2. LRU 4.3

  • 4.4 1. CPU 2. C = n k s + Dr = Db V

  • 1. 4.4

  • 4.41.

  • 2. 4.4

  • NRZ1 4.4

  • 1. (1) (2) 2. 4.4

  • (1) 4.4

  • (2) (3) 4.4

  • 1. 4.4

  • 2. 4.4

  • 1. 2. 4.4

  • :():: :():.:CPU

  • -

  • CacheCache

  • CPU324G

  • Cache----

    *