chapter 8
play

Chapter 8 Digital Design and Computer Architecture , ARM - PowerPoint PPT Presentation

Chapter 8 Digital Design and Computer Architecture , ARM Edi)on David Money Harris and Sarah L. Harris Chapter 8 <1> Chapter 8 :: Topics


  1. Chapter ¡8 ¡ Digital ¡Design ¡and ¡Computer ¡Architecture , ¡ARM ¡Edi)on ¡ David ¡Money ¡Harris ¡and ¡Sarah ¡L. ¡Harris ¡ Chapter ¡8 ¡<1> ¡ ¡

  2. Chapter ¡8 ¡:: ¡Topics ¡ • Introduc)on ¡ • Memory ¡System ¡Performance ¡ Analysis ¡ • Caches ¡ • Virtual ¡Memory ¡ • Memory-­‑Mapped ¡I/O ¡ • Summary ¡ Chapter ¡8 ¡<2> ¡ ¡

  3. IntroducAon ¡ • Computer performance depends on: – Processor performance – Memory system performance Memory Interface CLK CLK MemWrite WE Address ReadData Processor Memory WriteData Chapter ¡8 ¡<3> ¡ ¡

  4. Processor-­‑Memory ¡Gap ¡ In prior chapters, assumed access memory in 1 clock cycle – but hasn’t been true since the 1980’s Chapter ¡8 ¡<4> ¡ ¡

  5. Memory ¡System ¡Challenge ¡ • Make memory system appear as fast as processor • Use hierarchy of memories • Ideal memory: – Fast – Cheap (inexpensive) – Large (capacity) But can only choose two! Chapter ¡8 ¡<5> ¡ ¡

  6. Memory ¡Hierarchy ¡ Access Bandwidth Technology Price / GB Time (ns) (GB/s) SRAM $10,000 1 25+ Cache 10 Speed DRAM $10 10 - 50 Main Memory 0.5 SSD $1 100,000 HDD $0.1 10,000,000 0.1 Virtual Memory Capacity Chapter ¡8 ¡<6> ¡ ¡

  7. Locality ¡ Exploit ¡locality ¡to ¡make ¡memory ¡accesses ¡fast ¡ • Temporal ¡Locality: ¡ ¡ – Locality ¡in ¡Ame ¡ – If ¡data ¡used ¡recently, ¡likely ¡to ¡use ¡it ¡again ¡soon ¡ – How ¡to ¡exploit: ¡keep ¡recently ¡accessed ¡data ¡in ¡higher ¡ levels ¡of ¡memory ¡hierarchy ¡ • Spa)al ¡Locality: ¡ ¡ – Locality ¡in ¡space ¡ – If ¡data ¡used ¡recently, ¡likely ¡to ¡use ¡nearby ¡data ¡soon ¡ – How ¡to ¡exploit: ¡when ¡access ¡data, ¡bring ¡nearby ¡data ¡ into ¡higher ¡levels ¡of ¡memory ¡hierarchy ¡too ¡ Chapter ¡8 ¡<7> ¡ ¡

  8. Memory ¡Performance ¡ • Hit: data found in that level of memory hierarchy • Miss: data not found (must go to next level) Hit Rate = # hits / # memory accesses = 1 – Miss Rate Miss Rate = # misses / # memory accesses = 1 – Hit Rate • Average memory access time (AMAT): average time for processor to access data AMAT = t cache + MR cache [ t MM + MR MM ( t VM )] Chapter ¡8 ¡<8> ¡ ¡

  9. Memory ¡Performance ¡Example ¡1 ¡ • A program has 2,000 loads and stores • 1,250 of these data values in cache • Rest supplied by other levels of memory hierarchy • What are the hit and miss rates for the cache? Chapter ¡8 ¡<9> ¡ ¡

  10. Memory ¡Performance ¡Example ¡1 ¡ • A program has 2,000 loads and stores • 1,250 of these data values in cache • Rest supplied by other levels of memory hierarchy • What are the hit and miss rates for the cache? Hit Rate = 1250/2000 = 0.625 Miss Rate = 750/2000 = 0.375 = 1 – Hit Rate Chapter ¡8 ¡<10> ¡ ¡

  11. Memory ¡Performance ¡Example ¡2 ¡ • Suppose processor has 2 levels of hierarchy: cache and main memory • t cache = 1 cycle, t MM = 100 cycles • What is the AMAT of the program from Example 1? Chapter ¡8 ¡<11> ¡ ¡

  12. Memory ¡Performance ¡Example ¡2 ¡ • Suppose processor has 2 levels of hierarchy: cache and main memory • t cache = 1 cycle, t MM = 100 cycles • What is the AMAT of the program from Example 1? AMAT = t cache + MR cache ( t MM ) = [1 + 0.375(100)] cycles = 38.5 cycles Chapter ¡8 ¡<12> ¡ ¡

  13. Gene ¡Amdahl, ¡1922-­‑ ¡ • Amdahl’s Law: the effort spent increasing the performance of a subsystem is wasted unless the subsystem affects a large percentage of overall performance • Co-founded 3 companies, including one called Amdahl Corporation in 1970 Chapter ¡8 ¡<13> ¡ ¡

  14. Cache ¡ • Highest ¡level ¡in ¡memory ¡hierarchy ¡ • Fast ¡(typically ¡~ ¡1 ¡cycle ¡access ¡Ame) ¡ • Ideally ¡supplies ¡most ¡data ¡to ¡processor ¡ • Usually ¡holds ¡most ¡recently ¡accessed ¡data ¡ ¡ Chapter ¡8 ¡<14> ¡ ¡

  15. Cache ¡Design ¡QuesAons ¡ • What ¡data ¡is ¡held ¡in ¡the ¡cache? ¡ • How ¡is ¡data ¡found? ¡ • What ¡data ¡is ¡replaced? ¡ ¡ ¡ Focus ¡on ¡data ¡loads, ¡but ¡stores ¡follow ¡same ¡principles ¡ Chapter ¡8 ¡<15> ¡ ¡

  16. What ¡data ¡is ¡held ¡in ¡the ¡cache? ¡ • Ideally, ¡cache ¡anAcipates ¡needed ¡data ¡and ¡ puts ¡it ¡in ¡cache ¡ • But ¡impossible ¡to ¡predict ¡future ¡ • Use ¡past ¡to ¡predict ¡future ¡– ¡temporal ¡and ¡ spaAal ¡locality: ¡ – Temporal ¡locality: ¡copy ¡newly ¡accessed ¡data ¡ into ¡cache ¡ – Spa)al ¡locality: ¡copy ¡neighboring ¡data ¡into ¡ cache ¡too ¡ Chapter ¡8 ¡<16> ¡ ¡

  17. Cache ¡Terminology ¡ • Capacity ¡( C ): ¡ ¡ – number ¡of ¡data ¡bytes ¡in ¡cache ¡ • Block ¡size ¡( b ): ¡ ¡ – bytes ¡of ¡data ¡brought ¡into ¡cache ¡at ¡once ¡ • Number ¡of ¡blocks ¡( B ¡= ¡C/b ): ¡ ¡ – number ¡of ¡blocks ¡in ¡cache: ¡ B ¡= ¡ C / b ¡ • Degree ¡of ¡associa)vity ¡( N ): ¡ ¡ – number ¡of ¡blocks ¡in ¡a ¡set ¡ • Number ¡of ¡sets ¡( S ¡= ¡B/N ): ¡ ¡ – each ¡memory ¡address ¡maps ¡to ¡exactly ¡one ¡cache ¡set ¡ ¡ Chapter ¡8 ¡<17> ¡ ¡

  18. How ¡is ¡data ¡found? ¡ • Cache ¡organized ¡into ¡ S ¡sets ¡ • Each ¡memory ¡address ¡maps ¡to ¡exactly ¡one ¡set ¡ • Caches ¡categorized ¡by ¡# ¡of ¡blocks ¡in ¡a ¡set: ¡ – Direct ¡mapped: ¡1 ¡block ¡per ¡set ¡ – N -­‑way ¡set ¡associa)ve: ¡ N ¡blocks ¡per ¡set ¡ – Fully ¡associa)ve: ¡all ¡cache ¡blocks ¡in ¡1 ¡set ¡ • Examine ¡each ¡organizaAon ¡for ¡a ¡cache ¡with: ¡ – Capacity ¡( C ¡= ¡8 ¡words) ¡ – Block ¡size ¡( b ¡= ¡1 ¡word) ¡ – So, ¡number ¡of ¡blocks ¡( B ¡= ¡8) ¡ Chapter ¡8 ¡<18> ¡ ¡

  19. Example ¡Cache ¡Parameters ¡ • C ¡= ¡8 ¡words ¡(capacity) ¡ • b ¡= ¡1 ¡word ¡(block ¡size) ¡ • So, ¡ B ¡= ¡8 ¡ (# ¡of ¡blocks) ¡ ¡ ¡ ¡ ¡Ridiculously ¡small, ¡but ¡will ¡illustrate ¡organiza)ons ¡ Chapter ¡8 ¡<19> ¡ ¡

  20. Direct ¡Mapped ¡Cache ¡ Address 11...111 111 00 mem[0xFF...FC] 11...111 110 00 mem[0xFF...F8] 11...111 101 00 mem[0xFF...F4] 11...111 100 00 mem[0xFF...F0] 11...111 011 00 mem[0xFF...EC] 11...111 010 00 mem[0xFF...E8] 11...111 001 00 mem[0xFF...E4] 11...111 000 00 mem[0xFF...E0] 00...001 001 00 mem[0x00...24] Set Number 00...001 000 00 mem[0x00..20] 00...000 111 00 mem[0x00..1C] 7 ( 111 ) 00...000 110 00 mem[0x00...18] 6 ( 110 ) 00...000 101 00 mem[0x00...14] 5 ( 101 ) 00...000 100 00 mem[0x00...10] 4 ( 100 ) 00...000 011 00 mem[0x00...0C] 3 ( 011 ) 00...000 010 00 mem[0x00...08] 2 ( 010 ) 00...000 001 00 mem[0x00...04] 1 ( 001 ) 00...000 000 00 mem[0x00...00] 0 ( 000 ) 2 3 Word Cache 2 30 Word Main Memory Chapter ¡8 ¡<20> ¡ ¡

  21. Direct ¡Mapped ¡Cache ¡Hardware ¡ Byte Tag Set Offset Memory 00 Address 27 3 V Tag Data 8-entry x (1+27+32)-bit SRAM 27 32 = Hit Data Chapter ¡8 ¡<21> ¡ ¡

  22. Direct ¡Mapped ¡Cache ¡Performance ¡ Byte Tag Set Offset Memory 00...00 001 00 Address 3 V V Tag Data Set 7 (111) ; ARM assembly code 0 Set 6 (110) 0 Set 5 (101) 0 MOV R0, #5 Set 4 (100) 0 MOV R1, #0 Set 3 (011) mem[0x00...0C] 1 00...00 LOOP CMP R0, 0 Set 2 (010) mem[0x00...08] 1 00...00 Set 1 (001) BEQ DONE mem[0x00...04] 1 00...00 Set 0 (000) 0 LDR R2, [R1, #4] LDR R3, [R1, #12] Miss Rate = ? LDR R4, [R1, #8] SUB R0, R0, #1 B LOOP DONE Chapter ¡8 ¡<22> ¡ ¡

  23. Direct ¡Mapped ¡Cache ¡Performance ¡ Byte Tag Set Offset Memory 00...00 001 00 Address 3 V V Tag Data Set 7 (111) ; ARM assembly code 0 Set 6 (110) 0 Set 5 (101) 0 MOV R0, #5 Set 4 (100) 0 MOV R1, #0 Set 3 (011) mem[0x00...0C] 1 00...00 LOOP CMP R0, 0 Set 2 (010) mem[0x00...08] 1 00...00 Set 1 (001) BEQ DONE mem[0x00...04] 1 00...00 Set 0 (000) 0 LDR R2, [R1, #4] LDR R3, [R1, #12] Miss Rate = 3/15 LDR R4, [R1, #8] = 20% SUB R0, R0, #1 B LOOP Temporal Locality DONE Compulsory Misses Chapter ¡8 ¡<23> ¡ ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend