chapter 4 cache memory

45
Chapter 4 Cache Memory - Computer Memory System Overview - Cache Memory Principles - Elements of Cache Design

Upload: jameson-dickerson

Post on 14-Mar-2016

85 views

Category:

Documents


5 download

DESCRIPTION

Computer Memory System Overview Cache Memory Principles Elements of Cache Design. Chapter 4 Cache Memory. ประเด็นสำคัญ. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 4   Cache Memory

Chapter 4

Cache Memory

- Computer Memory System Overview- Cache Memory Principles- Elements of Cache Design

Page 2: Chapter 4   Cache Memory

ประเด็นสำคัญ• ในระดับโครงสรา้งลำาดับชัน้ของหน่วยความจำา ถ้ามองลงมาสูร่ะดับ

ล่างพบ หน่วยความจำาท่ีมมูีลค่าราคาต่อบติตำ่าลงมาเรื่อยๆ มขีนาด หน่วยความจำาเพิม่ขึ้น แต่ใชร้ะยะเวลาในการอ่านหรอืบนัทึกขอ้มูล

สงูขึ้น• ในความเป็นจรงิเราไมส่ามารถใชห้น่วยความจำาระดับบนได้อยา่ง

เดียวเพราะมรีาคาสงูสว่นใหญ่จงึใชว้ธิกีารรอมชอม ด้วยการใช้ หน่วยความจำาระดับบนน้อย และใชห้น่วยความจำาระดับล่างมากขึ้น

เพื่อให้เกิดควมสมดลุระหว่งประสทิธภิพและรค• โดยทัว่ไปตำาแหน่งการอ้างอิงขอ้มูลในหน่วยความจำาหลักโดย

โปรเซสเซอรนั์น้มกัจะเป็นตำาแหน่งเดิม ดังนัน้หน่วยความจำาcache มกัจะคัดลอกขอ้มูลในหน่วยความจำาหลัก ซึ่งถ้า Cache ได้รบัการออกแบบเป็นอยา่งดีแล้วเวลาสว่นใหญ่โปรเซสเซอรก์็จะ

เรยีกใชข้อ้มูลท่ีอยูใ่น Cache เป็นสว่นมาก

Page 3: Chapter 4   Cache Memory

Characteristics ท่ีเก่ียวกับ Computer Memory System• Location (สถานที่ท่ีหน่วยความจำาอยู)่- Internal (main) (หน่วยความจำาภายในเครื่องคอมพวิเตอร)์ เชน่จำาพวก

Register , Main Memory,Cache- External(secondary) ( ติดต่อโดยผ่านหน่วยความคมุ I/O) เชน่จำาพวก

Harddisk, FFD

• Capacity ( หน่วยความจำาภายในมกัใชห้น่วยเป็น Bit หรอื Word)- Word size เป็นขนาดของหน่วยความจำา โดยทัว่ไปถ้าภายในเป็น bit ถ้า

ภายนอกเป็น byte โดยปกติ 1 word มขีนาด 8 ,16 หรอื32- Number of words

• Unit of transfer จำานวนของ bit ท่ี อ่านหรอืเขยีนใน memory ณหนึ่งหน่วยเวลา

Page 4: Chapter 4   Cache Memory

Characteristics ท่ีเก่ียวกับ Computer Memory System• Access method เป็นวธิกีารเขา้ถึง Memory ด้วยวธิต่ีางๆ

เชน่- Sequential access(วธิกีารเขา้ถึง Mem แบบเรยีงลำาดับ) เชน่

หน่วยบนัทึกขอ้มูลแบบเทปแมเ่หล็ก- Direct access( เขา้ถึงแบบตรง จะเปล่ียนตำาแหน่งจากตำาแหน่ง

ปัจจุบนัไปเป็นตำาแหน่งท่ีต้องการ ทำาใหร้ะยะเวลาท่ีใชใ้นการเขา้ถึง หน่วยความจำาแต่ละครัง้อาจจะแตกต่างกัน เชน่ disk)

- Random access การเขา้ถึงหน่วยความจำาแบบไมม่ลีำาดับ ระยะ เวลาในการเขา้ถึงเป็นอิสระ ดังนัน้จงึสามารถเลือกตำาแหน่งใดๆ ใน

หน่วยความจำาโดยไมต้่องเรยีงลำาดับใด และสามารถเขา้ถึงตำาแหน่ง นัน้ได้โดยตรงเชน่ Main Memory

- Associative หรอืความเกี่ยวขอ้ง จดัวา่เป็นการเขา้ถึงหน่วย ความจำาแบบ random access อยา่งหนึ่งท่ีมกีารเปรยีบเทียบ

ขอ้มูลบติจำานวนหนี่ง เชน่ Cache Memory

Page 5: Chapter 4   Cache Memory

Characteristics ท่ีเก่ียวกับ Computer Memory System

• Performance วธิกีารวดัประสทิธภิาพ- Access time ระยะเวลาในการเขา้ถึงหน่วยความจำา- Memory cycle time ระยะเวลาในการเขา้ถึงหน่วยความ

จำารวมกับระยะเวลาอ่ืนๆ ท่ีจำาเป็นต้องใช้- Transfer rate อัตราการถ่ายเทขอ้มูลเขา้หรอืออกจากหน่วย

ความจำา

Page 6: Chapter 4   Cache Memory

• Physical type แบง่ออกตามลักษระทางกายภาพ- Semiconductor เชน่ RAM- Magnetic เชน่ Disk & Tape- Optical เชน่ CD & DVD

Characteristics ท่ีเก่ียวกับ Computer Memory System

Page 7: Chapter 4   Cache Memory

Memory Hierarchy (ลำดับของหน่วยควมจำ)• Registers

—In CPU• Internal or Main memory

—May include one or more levels of cache—“RAM”

• External memory—Backing store

Page 8: Chapter 4   Cache Memory

ปัจจยัท่ีเก่ียวขอ้งกับหน่วยควมจำ• How much? (Size)

—Capacity• How fast? (Speed)

—Time is money• How expensive? (Prize)

องค์ประกอบท่ีสำคัญทั้ง 3 ประกรคือ รค ปรมิณ และ ควมเรว็ มคีวมสมัพนัธกั์นดังนี้

- การเพิม่ความเรว็ในการเขา้ถึงขอ้มูล จะทำาใหห้น่วยความจำาราคาสงูขึ้น- ปรมิาณหน่วยความจำาเพิม่ขึ้น จะทำาใหร้าคาต่อหน่วยลดลง

- ปรมิาณหน่วยความจำาเพิม่ขึ้น จะทำาใหเ้สยีเวลาในการเขา้ถึงหน่วยความจำามากขึ้น

Page 9: Chapter 4   Cache Memory

Memory Hierarchy - Diagram

Page 10: Chapter 4   Cache Memory

ลำดับชัน้ของ Memory (เรยีงจกเรว็ท่ีสดุไปช้ท่ีสดุ)• Registers• L1 Cache• L2 Cache

• Main memory จำาพวก Ram , Rom

• Disk cache - ระหวา่ง main memory กับ Megnetic disk ควรมี Disk cache เพื่อท่ีจะทำางานเรว็ขึ้น

• Disk• Optical• Tape

Page 11: Chapter 4   Cache Memory

Cache• เน่ืองจาก Main memory หรอื RAM (Random

Access Memory) นัน้ตามปกติจะมคีวามเรว็ตำ่ากวา่CPU อยูม่าก ดังนัน้ถ้าใชเ้ฉพาะ Register กับ RAM ก็

จะมผีลทำาใหค้อมพวิเตอรท์ำางานได้ชา้ จงึมกีารวางหน่วย ความจำา Cache ซึ่งมคีวามเรว็กวา่ RAM แต่ราคาแพง กวา่ คัน่ระหวา่ง CPU กับ Main memory

CPU

C ache

M ain m em ory

W ord transfer

B lock transfer

Page 12: Chapter 4   Cache Memory

Cache• ม ีความจุตำ่าแต่ความเรว็สงู• ทำางานอยูร่ะหวา่ง normal main memory and

CPU• อาจจะสรา้งภายในตัว CPU เองหรอือุปกรณ์ภายนอกท่ีมี

ความเรว็สงู

Page 13: Chapter 4   Cache Memory

ตัวอยา่งของการมี cache• ความเรว็ cache = 10 ns• ความเรว็ memory = 100 ns

- ถ้าไมม่ี Cache ถ้า 1 คำาสัง่ใชเ้วลา100ns สมมุติมี 100 คำาสัง่จะใชเ้วลา100 * 100ns

= 10000ns

- ถ้ามี Cache จะได้ (10 * 10ns( ความเรว็ cache)) + (10 * 100ns( ความเรว็ของ Memory)) = 1100

ซึ่งจะเหน็วา่เรว็กวา่กันประมาณ 10 เท่า

Page 14: Chapter 4   Cache Memory

Cache operation (ขัน้ตอนกรทำงน)- overview• CPU ต้องการขอ้มูลใน Main Memory

• Check ท่ี cache วา่ขอ้มูลท่ีต้องการอยูใ่น cache หรอืไม่

• If มี ก็สง่ขอ้มูลให้ CPU

• If ไมม่,ี ก็ทำาการอ่านขอ้มูล จาก main memory ไปยงั cache ( อ่านเป็น block)

• Then deliver from cache to CPU

Page 15: Chapter 4   Cache Memory

Cache operation (ขัน้ตอนกรทำงน)- สรุป• โดยในระหวา่งการทำางานของคอมพวิเตอรจ์ะมกีารอ่านโปรแกรมและขอ้มูลบางสว่นจาก Main memory มาเก็บไว้ใน Cache เมื่อ CPU อ่านบาง word จาก Memory ก็จะมีการตรวจสอบวา่ word ท่ีต้องการนัน้อยูใ่น Cache หรอืไม ่

ถ้าอยูก็่สามารถอ่านไปได้อยา่งรวดเรว็ แต่ถ้าไมม่ก็ีจะมกีารอ่านทัง้ Block ท่ีม ีword ท่ีต้องการนัน้จาก Main memory เขา้มาวางไวใ้น Cache และสง่ Word นัน้ให ้CPU โดยคาด

วา่ต่อไป CPU น่าจะอ่าน word อ่ืน ๆ ใน Block เดียวกันนัน้ • อัตรกรท่ี CPU สมรถพบ word ท่ีต้องกรพบใน

Cache เรยีกว่ Hit Rate หรอื Cache Hit • อัตรกรท่ี CPU ไมส่มรถพบเรยีกว่ Miss Rate

หรอื Cache Miss • ดังนัน้คอมพวิเตอรท่ี์ออกแบบระบบ Cache ดีก็จะทำาใหม้ ีHit

Rate สงู มผีลทำาใหค้อมพวิเตอรส์ามารถทำางานได้เรว็ขึ้น

Page 16: Chapter 4   Cache Memory

Size• Cost ราคา

—More cache is expensive• Speed ความเรว็

—More cache is faster (up to a point)—Checking cache for data takes time

- ถ้ใช ้Cache ขนดเล็ก รคก็จะถกูและควมเรว็สงูกว่ แต่จะได้อัตร Cache

hit ตำ่ - ถ้ใช ้Cache ขนดใหญ่จะได้อัตร

Cache hit สงูแต่วงจรจะช้และรคแพง - โดยท่ัวไปถือว่ขนดท่ีพอดีอยูร่ะหว่ง

1 K – 512 KWords

Page 17: Chapter 4   Cache Memory

Cache Design (ปัจจยัในกรสร้ง Cache)

• Size ( ขนาดของ cache)• Mapping Function• Replacement Algorithm• Write Policy• Block Size• Number of Caches

Page 18: Chapter 4   Cache Memory

Size (ขนาดของ cache)• โดยทัว่ไปนักออกแบบต้องการให้ cache มขีนาดเพยีง

พอท่ีจะทำาใหร้าคาเฉล่ียต่อบตินัน้ใกล้เคียงกับราคาของ หน่วยความจำาหลัก

• และต้องการใหม้ขีนาดใหญ่เพยีงพอ เพื่อใหค่้าเฉล่ียของเวลาในการเขา้ถึงขอ้มูลใกล้เคียงกับระยะเวลาในการเขา้

ถึงขอ้มูลของ cache• ทำาไมถึงไมส่รา้ง cache ขนาดใหญ่ เพื่อความรวดเรว็?

คือขนาดท่ีใหญ่ขึ้นของ Cache จะไปเพิม่จำานวนของgate ท่ีเก่ียวขอ้งกับการค้นหาตำาแหน่งขอ้มูลใน

Cache ทำาให้ Cache ทำางานได้ชา้ลง• เนื้อท่ีบนแผงวงจรก็เป็นสว่นหนึ่งท่ีบงัคับขนาดของ

Cache ใหม้ขีนาดจำากัด

Page 19: Chapter 4   Cache Memory

Mapping Function - Cache จะมขีนดเล็กว่ main memory ดังนัน้จะต้องมอัีลกอรทึิม ท่ีต้อง map ขอ้มูล จก main memory ไปยงั

cache - กร Mapping คือ กรกำหนด

ตำแหน่งหน่วยควมจำของของ Main Memory ไปยงั Cache

- ซึง่มวีธิกีรอยูส่มแบบ Direct, Associative และ Set Associative ดัง

ตัวอย่งต่อไปน้ี สำหรบัคอมพวิเตอรตั์วอย่งท่ีใช้ม ี

สรุป พูดง่ยๆ คือเป็นกรกำหนดตำแหน่งหน่วยควมจำไปยงั Cache Memory นัน่เอง

เพระถ้กำหนดดี ประสทิธภิพก็จะดีไปด้วย

Page 20: Chapter 4   Cache Memory

ตัวอย่งจกโจทยม์ี

• Cache มขีนาด 64kByte

• Cache block มขีนาด 4 bytes

• Main memory มขีนาด 16MBytes

Page 21: Chapter 4   Cache Memory

ขัน้ตอน Direct Mapping• หา tag ( เป็นตัวบอกตำาแหน่งวา่เป็นกลุ่มไหนของ Main

Memory) หาได้จาก เอาขนาดของ main memory/ ขนาดของ cache memory ซึ่งจะได้- 16Mb/64Kb = 250 ตำาแหน่งใน memory- จะได้ tag = 8 เนื่องจาก 28 อ้างได้ 256ตำาแหน่ง

• หา จำานวนสายหรอื bit ท่ีใชใ้นการอ้างถึง ซึ่งจะได้ = 24 เสน้หรอื bit เนื่องจาก Main memory มี

ขนาด16Mb เพราะฉะนัน้จะได้224 = 16Mb

Page 22: Chapter 4   Cache Memory

• จากนัน้นำามาเขยีน Main Memory Address

• หา Word จากโจทยบ์อกวา่แต่ละ line ใน cache มี ขนาด 4 byte เพราะฉะนัน้ ในการอ้างวา่อยู่ byte ไหน

จะใชเ้พยีง 2 bit คือ 00011011

Tag Line or Slot Word

8 14 2

Page 23: Chapter 4   Cache Memory

• สดุท้าย หา line หรอื slot โดยหาได้ 2 วธิคืีอ1. โดยเอา - - 2482 = 14 bit2. โดยเอา64k/4byte = 16k แล้วดวูา่ 2 ยก

กำาลังอะไรได้16k คือ = 14 นัน่เอง ก็จะได้ 14bit

214 = 16 k ดังนัน้สามารถอ้างได้16k ของ cache หรอืพูดง่ายๆ วา่ cache จะมตีำาแหน่งอยู่

16k ในแต่ละ line มขีนาด 4 byte ลองเอา16 k * 4 = 64 kb คือขนาดของ Cache จรงิๆ (อ้า

งได้คือ -00003fff)

Page 24: Chapter 4   Cache Memory

• สมมุติวา่ต้องการขอ้มูลมาเก็บท่ี Cache โดยขอ้มูลท่ีเราต้องการ คือ เอา Block ท่ี 3 เอา Line ท่ี 15 Byte ท่ี 2 เราจะมวีธิี

การอ้าง Main Memory Address เป็นเลขอะไร

00000011 00000000001111 10

จะได้เป็น 03003Eh เวลาต้องการใชง้านก็อาจจะเรยีก Ld A,03003Eh ซึ่งก็หมายความวา่เป็นการเอาขอ้มูลที่อยูใ่น Main

Memory ใน Block ท่ี 3 ของ Main Memory ในชอ่งที่ 15 และ Byte ท่ี 2 นัน่เอง

Tag Line or Slot Word

8 14 2

Page 25: Chapter 4   Cache Memory

• ในบางครัง้ ตำาแหน่งของ Cache กับ Main Memory อาจ จะมกีารเล่ือน Bit เล็กน้อย เชน่จากตัวอยา่งจะเป็นการเล่ือน

2 Bit (ซึ่งเป็นเหตผุลของทางบรษัิท)Cache Memory

0000

3FFF

4 byte

สมมุติมชุีดคำาสัง่ Load AC,8FFFC จะหมายความวา่ ใหเ้อาขอ้มูลท่ีอยูใ่น Cache

memory ณ ตำาแหน่ง 3 FFF

Page 26: Chapter 4   Cache Memory

Direct MappingAddress Structure

Tag s-r Line or Slot r Word w

8 14 2

• 24 bit address• 2 bit word identifier (4 byte block)• 22 bit block identifier

—8 bit tag (=22-14)—14 bit slot or line

Page 27: Chapter 4   Cache Memory

Direct Mapping Cache Organization

Page 28: Chapter 4   Cache Memory

Direct Mapping Example

Page 29: Chapter 4   Cache Memory

Direct Mapping Summary• Address length = (s + w) bits• Number of addressable units = 2s+w words or

bytes• Block size = line size = 2w words or bytes• Number of blocks in main memory = 2s+ w/2w = 2s

• Number of lines in cache = m = 2r

• Size of tag = (s – r) bits

Page 30: Chapter 4   Cache Memory

Direct Mapping Summary• Simple• Inexpensive• Fixed location for given block

—If a program accesses 2 blocks that map to the same line repeatedly, cache misses are very high

วธิกีร Direct mapping มรีคถกูและวงจรง่ย แต่ก็มขีอ้เสยีคือเป็นกร fix cache location สำหรบัแต่ะละ

block ดังนัน้ถ้เกิดมกีรอ่นขอ้มูลจก 2 block ท่ีบงัเอิญ map มท่ี slot

เดียวกันก็จะมกีรเปล่ียนขอ้มูลใน slot นัน้อยูต่ลอดเวล มผีลทำให้ให้ค่ Hit Rate

ตำ่

Page 31: Chapter 4   Cache Memory

Associative Mapping• วธินีี้ Memory จะไมแ่บง่เป็น block ดังเชน่วธิี direct

ซึ่งวธินีี้ cache memory จะใชห้น่วยความจำาสว่นไหน ของ main memory ก็ได้

- ตัวอย่ง• Cache มขีนาด 64 kByte

• Cache block มขีนาด 4 bytes

• Main memory มขีนาด 16MBytes

Page 32: Chapter 4   Cache Memory

วธิกีรห• หา tag ( เป็นตัวบอกตำาแหน่งวา่อยูต่ำาแหน่งไหนของ Main

Memory) หาได้จากขนาดของ Memory คือ 16Mbyte = 224 ซึ่งจะได้ main memory address คือ

24 bit จากนัน้ได้คือ คือ 2 242 bit word = 22 bit

• จาก 22 bit คือ 11111111 1111111111111100 => FFFFFC ดังนัน้ cache memory มตีำาแหน่งทัง้หมด 000000 FFFFFC หรอื 000000 3 FFFFF

• จากนัน้นำามาเขยีน Main Memory AddressTag 22 bitWord2 bit

Page 33: Chapter 4   Cache Memory

Fully Associative Cache Organization

Page 34: Chapter 4   Cache Memory

Associative Mapping Example

Page 35: Chapter 4   Cache Memory

Associative Mapping Summary• Address length = (s + w) bits• Number of addressable units = 2s+w words or

bytes• Block size = line size = 2w words or bytes• Number of blocks in main memory = 2s+ w/2w = 2s

• Number of lines in cache = undetermined• Size of tag = s bitsวธินีี้จะใชส้ว่นไหนก็ได้ใน memory จน cache จะเต็มหมดซึ่งก็มขีอ้ดีในการอ่าน block ใหมเ่ขา้มาไวใ้น cache แต่จะใชว้งจรมากกวา่

Page 36: Chapter 4   Cache Memory

Set Associative Mapping

• เป็นการนำาเอาขอ้ดีของทัง้แบบ Direct และ Associative Mapping มารวมกันไวใ้นวธินีี้

- แบง่หน่วยความจำา Cache ออกเป็น r sets- แต่ะละ set มี k slots (lines)

ตัวอยา่ง

- Cache มขีนาด 64 kByteCache block มขีนาด 4 bytes

Main memory มขีนาด 16MBytes ใหเ้ป็นแบบ - Two way Set Associative

Mapping

Page 37: Chapter 4   Cache Memory

Two Way Set Associative Cache Organization ( แบง่เป็น 2 กลุ่ม)

Page 38: Chapter 4   Cache Memory

วธิกีรห- ดโูจทยว์า่เป็นแบบไหน จากโจทยบ์อกวา่เป็น

แบบ 2-way set associative mapping แสดงวา่จะม ีcache จำานวน 2 กลุ่ม ซึ่งจะได้ 8 k + 8 k (กลุ่มละ 8 k ชอ่ง)

- หา set จาก ขนาดของแต่ละกลุ่มของ cache คือ 213 = 8 k เพราะฉะนัน้ set จะมขีนาด

13 bit (Set ในท่ีนี้คือ Line นัน่เอง)- หา word จาก cache block size คือ 4

byte ดังนัน้ word จะมขีนาด 2 bit

Page 39: Chapter 4   Cache Memory

วธิกีรห- หา tag ได้ 2 วธิ ีคือ ( Tag ในท่ีนี้คือ จำานวนกลุ่มใน

Memory)1. จาก ขนาด main memory คือ 16M เพราะ

ฉะนัน้จำานวน bit ทัง้หมด คือ 224 ซึ่งจะสามารถหา tag = จำานวน bit ทัง้หมด - set – word คือ

- - 24132 = 9 bit

2. จากขนาด main memory คือ 16M และขนาดของ Cache มขีนาด 64k แต่โจทยบ์อกวา่เป็นแบบ -2 way จะต้องเอา 64k/2 = 32k จากนัน้ เอา

ขนาดของ Memory/ขนาดของ Cache = 16M/32k = 500 จากนัน้ 2 ยกกำาลังอะไรได้ใกล้เคียงกับ 50

0 คือ 29 แสดงวา่จะใชทั้ง้หมด 9 Bit

Page 40: Chapter 4   Cache Memory

Set Associative MappingAddress Structure

Tag 9 bit Set 13 bitWord2 bit

จะได้ Main Memory Address ดังนี้

Page 41: Chapter 4   Cache Memory

Two Way Set Associative Mapping Example

Page 42: Chapter 4   Cache Memory

Set Associative Mapping Summary• Address length = (s + w) bits• Number of addressable units = 2s+w words or

bytes• Block size = line size = 2w words or bytes• Number of blocks in main memory = 2d

• Number of lines in set = k• Number of sets = v = 2d

• Number of lines in cache = kv = k * 2d

• Size of tag = (s – d) bits

Page 43: Chapter 4   Cache Memory

Replacement Algorithms• เมื่อมกีารอ่านขอ้มูล Block ใหมม่าจาก Memory เขา้

มาวางไวใ้น Cache ก็จะต้องมกีารลบ Block เดิมท้ิงไป วธิกีารเลือกท่ีจะลบ block เดิมมหีลายวธิไีด้แก่

- - Least recently used (LRU) ลบขอ้มูลท่ีถกูใชง้านล่าสดุออกไป

- - - - First in first out (FIFO) ลบขอ้มูลท่ีเขา้มาก่อนออกไปก่อน

- - - Least frequency used (LFU) ลบขอ้มูลท่ีมกีารใช้งานน้อยท่ีสดุออกไป

- Random สุม่เอา

Page 44: Chapter 4   Cache Memory

Write Policy นโยบายการบนัทึกหน่วยความจำาหลัก• ก่อนจะทำาการลบขอ้มูลใน block หรอืก่อนท่ีจะถกูแทนท่ีด้วย

ขอ้มูลบล็อกใหม่ จำาเป็นต้องตรวจสอบวา่ขอ้มูลบล็อกนัน้ เปล่ียนแปลงไปแล้วหรอืไม่ ถ้ามจีะต้องมกีารปรบัปรุงขอ้มูลจาก

Cache ไปยงั Main Memory ก่อน• วธิกีารท่ีง่ายท่ีสดุเป็นการบนัทึกขอ้มูลลงในหน่วยความจำาในทันที

หรอื Write Through ทกุครัง้ท่ีมกีารบนัทึกขอ้มูลลงใน cache ก็จะถกูบงัคับใหเ้กิดการบนัทึกลงในหน่วยความจำาทันทีเพื่อเป็นการ

รบัรองวา่ขอ้มูลใน cache และ Main Memory เท่ากันเสมอขอ้เสยีคือทำาใหเ้กิดการสง่ขอ้มูลบอ่ยครัง้ทำาใหเ้กิดปัญหาคอขวด

• อีกวธิคืีอ Write Back เป็นวธิกีารบนัทึกขอ้มูลในภายหลังชว่ยลดจำานวนครัง้ในการบนัทึกขอ้มูลลงใน Main Memory ใหเ้หลือ

น้อยท่ีสดุ

Page 45: Chapter 4   Cache Memory

Pentium 4 Cache• 80386 – no on chip cache• 80486 – 8k using 16 byte lines and four way set

associative organization• Pentium (all versions) – two on chip L1 caches

—Data & instructions• Pentium 4 – L1 caches

—8k bytes—64 byte lines—four way set associative

• L2 cache —Feeding both L1 caches—256k—128 byte lines—8 way set associative