BAB 4 - Cache memory.pdf
Document Details
Tags
Full Transcript
Arsitektur dan Organisasi Komputer COM 60011 Bab #4 –Cache Memory © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Memori Cache Bab 4 + Tabel 4.1...
Arsitektur dan Organisasi Komputer COM 60011 Bab #4 –Cache Memory © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Memori Cache Bab 4 + Tabel 4.1 Karakteristik Sistem Memori Komputer Lokasi Performa Internal (misalnya register prosesor, cache, memori utama) Waktu akses Eksternal (misalnya disk optik, disk © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. magnetis, kaset) Waktu siklus Kapasitas Kecepatan transfer Jumlah kata Tipe Fisik Jumlah byte Semikonduktor Unit Transfer Magnetik Kata Optik Blok Magneto-optical Metode Akses Karakter fisik Sekuensial Volatile / nonvolatile Dapat dihapus / tidak dapat Langsung dihapus Acak Organisasi Asosiatif Modul memori + Karakteristik Sistem Memori Lokasi Mengacu pada apakah memori internal dan eksternal ke © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. komputer Memori internal sering kali disamakan dengan memori utama Prosesor membutuhkan memori lokalnya sendiri, dalam bentuk register Cache adalah bentuk lain dari memori internal Memori eksternal terdiri dari perangkat penyimpanan periferal yang dapat diakses oleh prosesor melalui pengontrol I / O Kapasitas Memori biasanya dinyatakan dalam byte Unit transfer Untuk memori internal, unit transfer sama dengan jumlah saluran listrik yang masuk dan keluar dari modul memori Metode akses Data Sequential Direct Random Associative access access access © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Setiap lokasi yang dapat Memori disusun ke dalam diatasi dalam memori Sebuah kata diambil Melibatkan mekanisme baca- satuan data yang disebut memiliki mekanisme berdasarkan sebagian isinya tulis bersama rekaman mengatasi yang unik dan daripada alamatnya berkabel secara fisik Setiap lokasi memiliki Waktu untuk mengakses mekanisme mengatasi sendiri Blok atau catatan individual Akses harus dilakukan dalam lokasi tertentu tidak terbatas dan waktu pengambilan memiliki alamat unik urutan linear tertentu pada urutan akses konstan independen dari berdasarkan lokasi fisik sebelumnya dan berurutan lokasi atau pola akses sebelumnya Lokasi apa pun dapat dipilih Memori cache dapat Waktu akses bervariasi Waktu akses bervariasi secara acak dan langsung menggunakan akses asosiatif ditangani dan diakses Memori utama dan beberapa sistem cache adalah akses acak Kapasitas dan Kinerja: Dua karakteristik memori yang paling penting © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Tiga parameter kinerja digunakan: Memory cycle time Waktu akses (latensi) Waktu akses ditambah waktu Transfer rate tambahan yang diperlukan sebelum Untuk memori akses acak, ini adalah akses kedua dapat dimulai Tingkat di mana data dapat waktu yang diperlukan untuk Waktu tambahan mungkin ditransfer ke atau keluar dari unit melakukan operasi baca atau tulis diperlukan bagi sementara untuk memori Untuk memori akses non-acak, inilah mati pada baris sinyal atau untuk Untuk memori akses acak sama waktu yang diperlukan untuk meregenerasi data jika mereka dengan 1/(waktu siklus) memposisikan mekanisme baca-tulis dibaca secara destruktif di lokasi yang diinginkan Prihatin dengan bus sistem, bukan prosesor + Penyimpanan Bentuk yang paling umum adalah: Memori semikonduktor Memori permukaan magnetik Optik Magneto-optical Beberapa karakteristik fisik penyimpanan data penting: Memori yang mudah menguap Informasi membusuk secara alami atau hilang ketika daya listrik dimatikan Memori nonvolatile Setelah direkam, informasi tetap tanpa kerusakan sampai sengaja diubah Tidak ada daya listrik yang diperlukan untuk menyimpan informasi Kenangan permukaan magnetik Tidak mudah menguap Memori semikonduktor Mungkin volatile atau nonvolatile Memori nonerasable Tidak dapat diubah, kecuali dengan menghancurkan unit penyimpanan Memori semikonduktor jenis ini dikenal sebagai read-only memory (ROM) Untuk memori akses-acak, organisasi merupakan masalah desain utama Organisasi mengacu pada pengaturan fisik bit untuk membentuk kata-kata © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. + Hirarki Memori © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Batasan desain pada memori komputer dapat diringkas dengan tiga pertanyaan: Berapa, seberapa cepat, seberapa mahal Ada trade-off antara kapasitas, waktu akses, dan biaya Waktu akses lebih cepat, biaya per bit lebih besar Kapasitas lebih besar, biaya per bit lebih kecil Kapasitas lebih besar, waktu akses lebih lambat Jalan keluar dari dilema memori tidak bergantung pada satu komponen memori atau teknologi, tetapi menggunakan hierarki memori Gambar 4.1 The Memory Hierarchy © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. T 1 + T2 T2 Average access time © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. T1 0 1 Fraction of accesses involving only Level 1 (Hit ratio) Gambar 4.2 Performa Memori Dua Tingkat Sederhana + Penyimpanan Penggunaan tiga level mengeksploitasi fakta bahwa memori semikonduktor hadir dalam berbagai tipe yang berbeda dalam kecepatan dan biaya Data disimpan lebih permanen di perangkat penyimpanan massal eksternal Memori eksternal, nonvolatile juga disebut sebagai sekunder Penyimpanan atau bantu Penyimpanan Cache disk Sebagian dari memori utama dapat digunakan sebagai buffer untuk menyimpan data sementara yang akan dibacakan ke disk Beberapa transfer data besar dapat digunakan sebagai pengganti banyak transfer data kecil Data dapat diambil dengan cepat dari cache perangkat lunak daripada perlahan dari disk © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Block Transfer Word Transfer CPU Cache Main Memory Fast Slow (a) Single cache Level 1 Level 2 Level 3 Main CPU (L1) cache (L2) cache (L3) cache Memory Fastest Fast Less Slow fast (b) Tiga level cache organization Gambar 4.3 Cache and Main Memory © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Line Memory Number Tag Block address 0 0 1 1 2 2 Block 0 3 (K words) C–1 Block Length (K Words) (a) Cache Block M – 1 2n – 1 Word Length (b) Main memory Gambar 4.4 Cache/Main-Memory Structure © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. START Terima alamat RA dari CPU Blokir No Akses utama berisi RA memori untuk blok in cache? berisi RA Yes Ambil kata RA Mengalokasikan singgahan dan memberikan baris untuk utama ke CPU blok memori Muat utama Menyampaikan kata RA memory block ke CPU ke dalam garis singgahan DONE Gambar 4.5 Cache Read Operation © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Address Address buffer System Bus Control Control Processor Cache Data buffer Data Gambar 4.6 Diagram Organisasi Cache © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Cache Addresses Write Policy Logical Write through Physical Write back Cache Size Line Size Mapping Function Number of caches Direct Single or two level Associative Unified or split Set Associative Replacement Algorithm Least recently used (LRU) First in first out (FIFO) Least frequently used (LFU) Random Tabel 4.2 Elemen Desain Cache © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. + Alamat Cache Memori Virtual © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Memori virtual Fasilitas yang memungkinkan program untuk mengalamatkan memori dari sudut pandang logis, tanpa memperhatikan jumlah memori utama yang tersedia secara fisik Saat digunakan, bidang alamat instruksi mesin berisi alamat virtual Untuk membaca dan menulis dari memori utama, unit manajemen memori perangkat keras (MMU) menerjemahkan setiap alamat virtual menjadi alamat fisik di memori utama Logical addr ess Physical addr ess MMU Processor Main Cache memory Data (a) Logical Cache Logical addr ess Physical addr ess MMU Processor Main Cache memory Data (b) Physical Cache Gambare 4.7 Logical and Physical Caches © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Tahun Processor Type L1 Cachea L2 cache L3 Cache Pembuatan IBM 360/85 Mainframe 1968 16 to 32 kB — — PDP-11/70 Minicomputer 1975 1 kB — — VAX 11/780 Minicomputer 1978 16 kB — — IBM 3033 Mainframe 1978 64 kB — — IBM 3090 Mainframe 1985 128 to 256 kB — — Intel 80486 PC 1989 8 kB — — Pentium PC 1993 8 kB/8 kB 256 to 512 K B — PowerPC 601 PC 1993 32 kB — — PowerPC 620 PowerPC G4 PC PC/server 1996 1999 32 kB/32 kB 32 kB/32 kB — 256 KB to 1 MB — 2 MB Tabel 4.3 IBM S/390 G6 Mainframe 1999 256 kB 8 MB — Pentium 4 PC/server 2000 8 kB/8 kB 256 KB — Ukuran Cache IBM SP High-end server/ 2000 64 kB/32 kB 8 MB — dari Beberapa supercomputer Prosesor CRAY MTAb Supercomputer 2000 8 kB 2 MB — Itanium PC/server 2001 16 kB/16 kB 96 KB 4 MB Itanium 2 PC/server 2002 32 kB 256 KB 6 MB IBM High-end 2003 64 kB 1.9 MB 36 MB POWER5 server CRAY XD-1 Supercomputer 2004 64 kB/64 kB 1MB — SebuahDua nilai yang IBM PC/server 2007 64 kB/64 kB 4 MB 32 MB dipisahkan oleh garis miring POWER6 mengacu pada instruksi dan IBM z10 Mainframe 2008 64 kB/ 128 kB 3 MB 24-48 MB cache data. Intel Core i7 Workstaton/ EE 990 2011 6 ´ 32 kB/32 kB 1.5 MB 12 MB bKedua cache hanya untuk server instruksi; tidak ada cache IBM 24 MB L3 data. zEnterprise Mainframe/ 24 ´ 64 kB/ Server 2011 24 ´ 1.5 M B 192 MB 196 128 kB L4 (Tabel dapat ditemukan di © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. halaman 134 di buku teks.) Fungsi Pemetaan Karena ada lebih sedikit baris cache daripada blok memori utama, algoritme diperlukan untuk memetakan blok memori utama ke dalam baris cache Tiga teknik dapat digunakan: Direct Associative Set Associative Teknik paling sederhana Mengizinkan setiap blok Kompromi yang memori utama dimuat ke menunjukkan kekuatan Memetakan setiap blok dalam baris cache apa pun pendekatan langsung dan memori utama menjadi asosiatif sambil mengurangi hanya satu baris cache yang Logika kontrol singgahan kerugian mereka mungkin menginterpretasikan alamat memori hanya sebagai tag dan bidang Word Untuk menentukan apakah blok berada dalam cache, logika kontrol cache harus secara bersamaan memeriksa Tag setiap baris untuk kecocokan © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. b t b B0 L0 m lines Bm–1 Lm–1 First m blocks of cache memory main memory (equal to size of cache) b = length of block in bits t = length of tag in bits (a) Direct mapping t b L0 b one block of main memory Lm–1 cache memory (b) Associativemapping Gambar 4.8 Pemetaan Dari Memori Utama ke Cache: Langsung dan Asosiatif © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. s+w Cache Main Memory Memory Address Tag Data WO Tag Line Word W1 B0 L0 W2 s–r r w W3 s–r s W4j w Li W(4j+1) Bj Compare w W(4j+2) W(4j+3) (hit in cache) 1 if match 0 if no match Lm–1 0 if match 1 if no match (miss in cache) Gambar 4.9 Direct-Mapping Organisasi Cache © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Main memory address (binary) Tag (hex) Tag Line + Word Data 00 000000000000000000000000 13579246 00 000000000000000000000100 00 000000001111111111111000 00 000000001111111111111100 Line Tag Data Number 16 000101100000000000000000 77777777 00 13579246 0000 16 000101100000000000000100 11235813 16 11235813 0001 16 000101100011001110011100 FEDCBA98 16 FEDCBA98 0CE7 FF 11223344 3FFE 16 000101101111111111111100 12345678 16 12345678 3FFF 8 bits 32 bits FF 111111110000000000000000 16-Kline cache FF 111111110000000000000100 FF 111111111111111111111000 11223344 FF 111111111111111111111100 24682468 Note: Memory address values are in binary representation; 32 bits other values are in hexadecimal 16-MByte main memory Tag Line Word Main memory address = 8 bits 14 bits 2 bits Gambar 4.10 Direct Mapping Example © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. + Ringkasan Pemetaan Langsung © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Panjang alamat = (s + w) bits Jumlah unit yang dapat dialamatkan = 2s + w kata atau byte Blok size = ukuran garis = 2w kata atau byte Jumlah blok di memori utama = 2s + w/ 2w = 2s Jumlah baris di cache = m = 2r Ukuran tag = (s - r) bit + Cache Victim © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Awalnya diusulkan sebagai pendekatan untuk mengurangi konflik yang hilang dari cache yang dipetakan langsung tanpa mempengaruhi waktu aksesnya yang cepat Cache asosiatif penuh Ukuran tipikal adalah 4 hingga 16 baris cache Berada diantara cache L1 yang dipetakan langsung dan tingkat memori berikutnya s+w Cache Main Memory Memory Address Tag Data W0 Tag Word W1 W2 B0 L0 s W3 © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. w w Lj s W4j W(4j+1) Compare w Bj W(4j+2) W(4j+3) (hit in cache) 1 if match 0 if no match s Lm–1 0 if match 1 if no match (miss in cache) Gambar 4.11 Organisasi Cache Fully Associative Main memory address (binary) Tag (hex) Tag Word Data 000000 000000000000000000000000 13579246 000001 000000000000000000000100 Line Tag Data Number 3FFFFE 11223344 0000 058CE7 FEDCBA98 0001 058CE6 000101100011001110011000 058CE7 000101100011001110011100 FEDCBA98 FEDCBA98 058CE8 000101100011001110100000 3FFFFD 33333333 3FFD 000000 13579246 3FFE 3FFFFF 24682468 3FFF 22 bits 32 bits 16 Kline Cache 3FFFFD 111111111111111111110100 33333333 3FFFFE 111111111111111111111000 11223344 3FFFFF 111111111111111111111100 24682468 Note: Memory address values are in binary representation; 32 bits other values are in hexadecimal 16 MByte Main Memory Tag Word Main Memory Address = 22 bits 2 bits Gambare 4.12 Associative Mapping Example © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. + Ringkasan Pemetaan Asosiatif © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Panjang alamat = (s + w) bits Jumlah unit yang dapat dialamatkan = 2s + w kata atau byte Ukuran blok = ukuran garis = 2w kata atau byte Jumlah blok di memori utama = 2s + w/2w = 2s Jumlah baris dalam cache = tidak ditentukan Ukuran tag = s bit + Tetapkan Pemetaan Asosiatif © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Kompromi yang menunjukkan kekuatan pendekatan langsung dan asosiatif sekaligus mengurangi kerugiannya Cache terdiri dari a jumlah set Setiap set berisi sejumlah baris Sebuah peta blok yang diberikan untuk setiap baris di suatu set misalnya 2 baris per set 2 cara pemetaan asosiatif Blok tertentu dapat berada di salah satu dari 2 baris hanya dalam satu set B0 L0 k lines Lk–1 Cache memory - set 0 Bv–1 First v blocks of main memory (equal to number of sets) © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Cache memory - set v–1 (a) v associative-mapped caches B0 L0 one set v li nes Bv–1 Lv–1 First v blocks of Cache memory - way 1 Cache memory - way k main memory (equal to number of sets) (b) k direct-mapped caches Gambare 4.13 Mapping From Main Memory to Cache: k-way Set Associative s+w Cache Main Memory Memory Address Tag Data B0 Tag Set Word F0 B1 s–d d w F1 Set 0 s–d Fk–1 Fk s+w Bj Compare Fk+i Set 1 (hit in cache) F2k–1 1 if match 0 if no match 0 if match 1 if no match (miss in cache) Gambar 4.14 k-Way Set Associative Cache Organization © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. + Tetapkan Ringkasan Pemetaan Asosiatif Panjang alamat = (s + w) bits © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Jumlah unit yang dapat dialamatkan = 2s + w kata atau byte Ukuran blok = ukuran garis = 2w kata atau byte Jumlah blok di memori utama = 2s + w /2w =2s Jumlah baris dalam himpunan = k Jumlah set = v = 2d Jumlah baris dalam cache = m = kv = k * 2d Ukuran cache = k * 2d + w kata atau byte Ukuran tag = (s - d) bit Main memory address (binary) Tag Main MemoryAddress = (hex) Tag Set + Word Data Tag Set Word 000 000000000000000000000000 13579246 000 000000000000000000000100 9 bits 13 bits 2 bits 000 000000001111111111111000 000 000000001111111111111100 © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Set Tag Data Number Tag Data 02C 000101100000000000000000 77777777 000 13579246 0000 02C 77777777 02C 000101100000000000000100 11235813 02C 11235813 0001 02C 000101100011001110011100 FEDCBA98 02C FEDCBA98 0CE7 1FF 11223344 1FFE 02C 000101100111111111111100 12345678 02C 12345678 1FFF 1FF 24682468 9 bits 32 bits 9 bits 32 bits 1FF 111111111000000000000000 16 Kline Cache 1FF 111111111000000000000100 1FF 111111111111111111111000 11223344 1FF 111111111111111111111100 24682468 32 bits Note: Memory address values are 16 MByte Main Memory in binary representation; other values are in hexadecimal Gambare 4.15 Two-Way Set Associative Mapping Example 1.0 0.9 0.8 0.7 Hit ratio 0.6 0.5 0.4 0.3 0.2 0.1 0.0 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1M Cache size (bytes) direct 2-way 4-way 8-way 16-way Gambare 4.16 Varying Associativity over Cache Size © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. + Penggantian Algoritma © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Setelah cache diisi, ketika blok baru dibawa ke cache, salah satu blok yang ada harus diganti Untuk pemetaan langsung, hanya ada satu jalur yang memungkinkan untuk blok tertentu dan tidak ada pilihan Untuk teknik asosiatif dan set-asosiatif diperlukan algoritma pengganti Untuk mencapai kecepatan tinggi, algoritma harus diimplementasikan dalam perangkat keras + Algoritme pengganti yang paling umum adalah: Paling terakhir digunakan (LRU) © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Paling efektif Ganti blok itu di set yang telah berada di cache paling lama tanpa referensi ke sana Karena kesederhanaan implementasinya, LRU adalah algoritma pengganti yang paling populer First-in-first-out (FIFO) Ganti blok itu di set yang paling lama berada di cache Mudah diterapkan sebagai teknik penyangga round-robin atau melingkar Paling jarang digunakan (LFU) Ganti blok itu di himpunan yang mengalami referensi paling sedikit Bisa diterapkan dengan mengaitkan penghitung dengan setiap baris Kebijakan Penyimpana n Ketika blok yang tinggal di cache Ada dua masalah yang harus © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. akan diganti ada dua kasus yang dihadapi: perlu dipertimbangkan: Jika blok lama dalam cache belum diubah maka blok lama mungkin ditimpa Lebih dari satu perangkat mungkin dengan blok baru tanpa terlebih dahulu memiliki akses ke memori utama menuliskan blok lama Masalah yang lebih kompleks terjadi Jika setidaknya satu operasi tulis telah ketika beberapa prosesor dilampirkan dilakukan pada kata di baris cache itu ke bus yang sama dan setiap prosesor maka memori utama harus diperbarui memiliki cache lokal sendiri - jika kata dengan menulis garis cache ke blok diubah dalam satu cache itu bisa memori sebelum membawa blok baru dibayangkan membatalkan kata di cache lain + Menulis Melalui dan Tulis Kembali © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Menulis melalui Teknik paling sederhana Semua operasi tulis dilakukan ke memori utama serta ke cache Kerugian utama dari teknik ini adalah menghasilkan lalu lintas memori yang substansial dan dapat membuat kemacetan Menulis kembali Meminimalkan penulisan memori Pembaruan hanya dilakukan di cache Bagian dari memori utama tidak valid dan karenanya akses oleh modul I / O hanya dapat diizinkan melalui cache Hal ini membuat sirkuit menjadi kompleks dan berpotensi menjadi hambatan Garis Ukuran Ketika blok data diambil dan Dua efek spesifik ditempatkan di mulai dimainkan: cache tidak hanya Blok yang lebih besar kata yang Saat ukuran blok mengurangi jumlah blok yang diinginkan tetapi meningkatkan data masuk ke dalam singgahan juga beberapa kata yang lebih berguna Ketika blok menjadi lebih besar setiap kata tambahan yang berdekatan dibawa ke dalam lebih jauh dari kata yang diambil cache diminta Karena ukuran blok Rasio pukulan meningkatkan rasio akan mulai hit pada awalnya berkurang ketika akan meningkat blok menjadi lebih karena prinsip besar dan lokalitas kemungkinan menggunakan informasi yang baru diambil menjadi kurang dari kemungkinan penggunaan kembali informasi yang harus diganti © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. + Cache Multilevel Karena kerapatan logika telah meningkat, maka menjadi mungkin untuk memiliki cache pada chip yang sama dengan prosesor © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Cache on-chip mengurangi aktivitas bus eksternal prosesor dan mempercepat waktu eksekusi serta meningkatkan kinerja sistem secara keseluruhan Ketika instruksi atau data yang diminta ditemukan di cache on- chip, akses bus dihilangkan Akses cache pada chip akan selesai jauh lebih cepat daripada siklus bus status tanpa menunggu Selama periode ini bus gratis untuk mendukung transfer lainnya Cache dua tingkat: Cache internal ditetapkan sebagai level 1 (L1) Cache eksternal ditetapkan sebagai level 2 (L2) Potensi penghematan karena penggunaan cache L2 bergantung pada hit rate di cache L1 dan L2 Penggunaan cache multilevel memperumit semua masalah desain yang terkait dengan cache, termasuk ukuran, algoritme penggantian, dan kebijakan penulisan 0.98 0.96 0.94 0.92 0.90 L1 = 16k Hit ratio 0.88 L1 = 8k 0.86 0.84 0.82 0.80 0.78 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1M 2M L2 Cache size (bytes) Gambar e 4.17 Total Hit Ratio (L1 dan L2) for8 Kbyte and 16 Kbyte L1 © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. + Bersatu Melawan Pisahkan Cache Telah menjadi umum untuk membagi cache: © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Satu didedikasikan untuk instruksi Satu didedikasikan untuk data Keduanya ada di level yang sama, biasanya sebagai dua cache L1 Keuntungan bersatu cache: Rasio hit lebih tinggi Menyeimbangkan beban instruksi dan data mengambil secara otomatis Hanya satu cache perlu dirancang dan diterapkan Tren mengarah ke cache terpisah di L1 dan cache terpadu untuk level yang lebih tinggi Keuntungan perpecahan cache: Menghilangkan pertengkaran cache antara unit pengambilan / dekode instruksi dan unit eksekusi Penting dalam pipelining Processor on which Feature First Problem Solution Appears Add external cache using 386 External memory slower than the system bus. faster memory technology. Increased processor speed results in Move external cache on- 486 chip, operating at the external bus becoming a bottleneck for same speed as the cache access. processor. Tabel 4.4 Internal cache is rather small, due to Add external L2 cache 486 limited space on chip using faster technology than main memory Intel Contention occurs when both the Create separate data and Pentium Instruction Prefetcher and the Execution instruction caches. Cache Unit simultaneously require access to the cache. In that case, the Prefetcher is stalled Evolusi while the Execution Unit’s data access takes place. Create separate back-side Pentium Pro bus that runs at higher speed than the main Increased processor speed results in (front-side) external bus. external bus becoming a bottleneck for L2 The BSB is dedicated to cache access. the L2 cache. Move L2 cache on to the Pentium II processor chip. Some applications deal with massive Add external L3 cache. Pentium III databases and must have rapid access to large amounts of data. The on-chip caches Move L3 cache on-chip. Pentium 4 are too small. (Tabel ada di © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. halaman 150 di buku System Bus Out-of-order L1 instruction Instruction execution cache (12K mops) fetch/decode logic unit 64 bits © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. L3 cache (1 MB) Integer register file FP register file Load Store Simple Simple Complex FP/ FP address address integer integer integer MMX move unit unit ALU ALU ALU unit unit L2 cache (512 KB) L1 data cache (16 KB) 256 bits Gambare 4.18 Pentium 4 Block Diagram © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Table 4.5 Pentium 4 Cache Operating Modes Control Bits Operating Mode CD NW Cache Fills Write Throughs Invalidates 0 0 Enabled Enabled Enabled 1 0 Disabled Enabled Enabled 1 1 Disabled Disabled Disabled Note: CD = 0; NW = 1 is an invalid combination. + Ringkasan Cache Penyimpanan Bab 4 © 2016 Pearson Education, Inc., Hoboken, NJ. Seluruh hak cipta. Gambaran umum sistem Elemen desain cache memori komputer Alamat cache Karakteristik Sistem Ukuran cache Memori Fungsi pemetaan Hirarki Memori Algoritme penggantian Prinsip memori cache Tulis kebijakan Pentium 4 cache organisasi Ukuran garis Jumlah cache