universiti putra malaysia mohammad bin hossin fsktm 2012 22 ...
FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk...
-
date post
21-Dec-2015 -
Category
Documents
-
view
227 -
download
0
Transcript of FSKTM Kenapa Cache? Penganalisaan bbrp aturcara menunjukkan bahawa memori komputer cenderung merujuk...
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.
FSKTM
Komputer Dgn Cache
ProcessorMain
MemoryCache
Memory
Address Bus
Data Bus
FSKTM
Cache
• Sebilangan kecil memori berkelajuan tinggi.
• Ia berada di antara memori utama dan pemproses (CPU)
• Berkemungkinan juga terletak dalam cip CPU atau modul.
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.
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)
FSKTM
Saiz
• Kos (Cost)– Lbh cache - mahal
• Kelajuan (Speed)– Lbh cache – lbh laju (up to a point)– Semakan cache – ambil lbh masa
FSKTM
Typical Cache Organization
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
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
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.
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
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
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
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
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.
FSKTM
Pemetaan Cache• Example of how the
main memory is partitioned based on the address bus width. .
.
.MEMORY
.
.
CPU
0
32767
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
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
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
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
FSKTM
Address (Tag & Index)
000001100100011
000000100100011291
803
DecimalForm
BinaryForm
Tag Field Index Field
Tag Field Index Field
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
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).
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.
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.
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
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