fsktm kenapa cache? penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk...

27
FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan sebagai rujukan setempat atau locality of reference. Fenomena ini memberi hujah yang kuat supaya data2 yang terbabit dalam fenomena ini ditempatkan ke dalam memori yang berkelajuan tinggi (cache memory), yang mana ia boleh mempercepatkan masa capaian keseluruhan (overall access time) sistem.

Post on 21-Dec-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Kenapa Cache?

• Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu.

• Fenomena ini dinamakan sebagai rujukan setempat atau locality of reference.

• Fenomena ini memberi hujah yang kuat supaya data2 yang terbabit dalam fenomena ini ditempatkan ke dalam memori yang berkelajuan tinggi (cache memory), yang mana ia boleh mempercepatkan masa capaian keseluruhan (overall access time) sistem.

Page 2: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Komputer Dgn Cache

ProcessorMain

MemoryCache

Memory

Address Bus

Data Bus

Page 3: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Cache

• Sebilangan kecil memori berkelajuan tinggi.

• Ia berada di antara memori utama dan pemproses (CPU)

• Berkemungkinan juga terletak dalam cip CPU atau modul.

Page 4: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Operasi Cache - Tinjauan

• CPU memohon kandungan bg lokasi memori yang diperlukan.

• Semak data ini di cache• Jika ada, ambil drpd cache (cepat)• Jika tiada, baca blok yg diperlukan drps memori

utama ke cache• Kemudian, hantarnya drpd cache ke CPU• Cache ada tags utk mengenalpasti blok memori

utama yang mana berada dalam setiap slot cache.

Page 5: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Rekabentuk Cache

• Saiz

• Fungsi Pemetaan (Mapping function)

• Aloritma Penggantian (Replacement algorithm)

• Polisi Baca (Write policy)

• Saiz Blok (Block size)

• Bilangan cache (Number of caches)

Page 6: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Saiz

• Kos (Cost)– Lbh cache - mahal

• Kelajuan (Speed)– Lbh cache – lbh laju (up to a point)– Semakan cache – ambil lbh masa

Page 7: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Typical Cache Organization

Page 8: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Memori Cache

• Cache: tempat selamat utk menyorok atau menyimpan data

• Hierarki memori diantara CPU dan main memory• Mengurang masa capaian ke main memory• Kerap juga digunakan dalam peranti input/output • Cache menggunakan SRAM: Static Random

Access Memory– No refresh

Page 9: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Cache Addressing

Yes

No

START

DONE

Is Block inCache?

Access main memoryfor block containing RA

Alloc. cache slot formain memory block

Deliver RA word to CPU

Load main memoryblock into cache slot

Fetch RA word anddeliver to CPU

Page 10: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Terminologi Cache

• Hit (Kena)– Keadaan di mana pabila secebis data ingin

dicapai drpd memori, data tersebut dijumpai berada di cache.

• Miss (Sipi)– Keadaan di mana pabila secebis data ingin

dicapai drpd memori, data tersebut tidak dijumpai di cache.

Page 11: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Prestasi Cache

• Hit ratio.(Nisbah kena)

– Nisbah (dlm %) bilangan capaian data yang berjaya dijumpai di.

• Keberkesanan cache blh diukur dengan hitungan hit ratio dan miss ratio, yakni,

hit = 1 - miss

Page 12: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Blhkah Cache Meningkatkan Prestasi Sistem?

• Take the following access time of A computer system, (Tma = 500ns)

• Based on the above, the overall access time to the memory with no cache is,

• Tacc = Tma = 500ns

• If the above system has a cache with an access time of 50ns (Tca) and a hit ratio of 90%, the overall access time is,

• Tacc = (Tca X 0.90) + (Tma X (1-0.9))

• Tacc = (50 X 0.90) + (500 x 0.10)

• Tacc = (45) + (50)

• Tacc = 95ns

Page 13: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Pertimbangan Rekabentuk Cache

• Implementing a cache requires due consideration and tradeoffs between the following:-

– The Hit Ratio

– Access Time on a Hit

– Delay Time on a Miss

– Cost

Page 14: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Jenis2 Pemetaan Cache• O/k cache senantiasa smaller drpd main memory,

maka semestinya wujud cara bgmn main memory blh dipetakan ke cache yg kecil ini. Terdpt tiga keadah yg biasa digunakan:-

– Direct mapping

– Full associative mapping

– Set associative mapping

Mai

n M

emor

y

Cac

heMapping

Page 15: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Pemetaan Cache

• Secara asasnya utk mencapai memori komputer ialah melalui address bus.

• Oleh itu, lebar address bus menentukan bilangan memori yang boleh dicapai.

• Cth:-.

• Jika lebar address bus ialah 15 bit, maka bilangan lokasi yg blh dialamatkan ialah:-.

• N = 15.

• 2n = lokasi.

• 215= 32768.

Page 16: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Pemetaan Cache• Example of how the

main memory is partitioned based on the address bus width. .

.

.MEMORY

.

.

CPU

0

32767

Page 17: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Cache : Pemetaan Terus• Utk m’benar’n main memory dipetakan ke

cache, medan alamat dibhgkan kpd dua bhgn iaitu medan tag & medan index.

• Jika sistem ada 2n words dlm main memory dan 2k words dlm cache.

• n = 15• k = 9• Tag Field Size = n - k• = 6

TAG INDEX

15 bits

TAG INDEX

15 bits

6 bits 9 bits

Page 18: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Cache : Pemetaan Terus

• Example

Main Memory

32K X 12

Address = 15 bitsData = 12 bits

Cache

512 X 12

Address = 9 bitsData = 12 bits

0

32767

0

511

Page 19: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Cache : Pemetaan Terus• Main

memory Cache0

5110

511

0

511

.

.

.

.

12 Bits

0

511

TagField

6 Bits 12 Bits

Data is stored here

Tag 0

Tag 64

Tag 1

Page 20: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Full Associative Mapping

MemoryAddressLocation

Cache

Full address is stored

here

Data is stored here

MainMemory

65

12 291

803

15 Bits 12 Bits

12291

65803

12 Bits

Page 21: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Address (Tag & Index)

000001100100011

000000100100011291

803

DecimalForm

BinaryForm

Tag Field Index Field

Tag Field Index Field

Page 22: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Set Associative Mapping

0 12

Cache

Tag Value is stored

here

Data is stored here

MainMemory

1 65

65

12 291

803

2-Way Set Associative Cache

Page 23: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Classifying Misses• Compulsory—capaian pertama ke blok tiada dlm cache,

maka blok trersebut mesti dibawa kedlm cache. Ia juga dikenali sbg first reference misses.

• Capacity—jk cache t/blh mengisi kesemua blok yg diperlukan ketika perlaksanaan aturcara, capacity misses akan wujud disbbkan oleh blok terpaksa dibuang.(Misses in fully associative).

• Conflict—jk strategi penggantian adlh pemetaan set associative atau direct, conflict misses akan wujud krn blok tlh dibuang dan wujud capaian semula jk terlampau byk blok dipetakan kpd set. Juga dikenali sbg interference misses.(Misses in n-way associative).

Page 24: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Polisi Penggantian Cache

• Apbila cache penuh, ia perlu menyediakan utk new entry dgn displacing an older entry dlm cache.

• Ini dinamakan replacement policy.

• Ada tiga kaedah:-.

– Least recently used.

– First in first out.

– Random.

Page 25: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Main Memory Update Policy

• Write-through.

– Data yg ditulis kpd cache, ia juga ditempatkan (ditulis) kedlm main memory ketika update.

• Write-back.

– Data yg ditulis kpd cache, ia tidak ditulis kedlm main memory.

Page 26: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Write Through CacheCth, jk data "12" ditulis ke primary storage, salinannya ditulis kedlm cache begitu juga main memory.

CPU MAINMEMORY

CACHE

12

12

12

Area Of Activity

Page 27: FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk kepada suatu kawasan tertentu. Fenomena ini dinamakan

FSKTM

Write Back CacheCth, jk data "12" ditulis ke primary storage, salinannya hanya ditulis kedlm cache. Main memory tidak diupdate.

CPU MAINMEMORY

CACHE

1212

Area Of Activity