riniandini29.files.wordpress.com · web viewlru, algoritma pengganti cache coast, adalah bentuk...
TRANSCRIPT
BAB IV
ARSITEKTUR SISTEM MEMORI
A. Sistem Memori Komputer
Dalam pengetahuan computer, penggunaan istilah memory biasanya merujuk pada
media atau tempat untuk menyimpan data. Dapat dikatakan bahwa memory adalah
perangkat khas yang digunakan untuk menyimpan data atau informasi dan dapat
dibaca atau diambil kembali saat diperlukan.
Pada computer, program (software) yang sedang dijalankan (di-run) dan data yang
sedang diproses, disimpan di dalam memory selama program tadi masih aktif bekerja.
Memori itu sendiri sebenarnya terdiri dari kotak kotak untuk menyimpan data (karakter).
Kotak kotak itu sendiri memiliki alamat atau address sendiri. dengan menggunakan
address inilah data keluar masuk memory biasanya sepadan dengan kecepatan kerja
CPU itu sendiri. CPU dan memori merupakan bagian yang tak terpisahkan dari sebuah
computer. Secara fisik (hardware), kebanyakan memory berupa chip semikonduktor.
Computer utama dalam sistem computer adalah ALU, Control Unit, Storage Space
dan piranti Input Output. Tanpa memori, computer hanya berfungsi sebagai piranti
pemroses sinyal digital saja, contohnya kalkulator atau media player. Kemempuan
memori untuk menyimpan data, instruksi dan informasilah yang membuat computer
dapat disebut sebagai computer multifungsi. Computer merupakan piranti digital, maka
informasi disajikan dengan sistem bilangan biner. Teks, angka, gambar, suara dan
video dikonversikan menjadi sekumpulan bilangan biner. Sekumpulan bilangan biner
dikenal dengan istilah bait, dimana 1 bait= 8 bit. Semakin besar ukuran memorinya
maka semakin banyak pula informasi yang dapat disimpan di Dallam computer.
Untuk mempelajari sistem memory secara keseluruhan, harus mengetahui
karakteristik-karakteristik kuncinya. Karakteristik yang penting pada sistem memory
ditunjukkan pada table ini,
No Karakteristik Macam/Keterangan
1. Lokasi 1. CPU
2. Intrnal (main)
3. Eksternal (secondary)
2. Kapasitas 1. Ukuran word
2. Jumlah word
3. Satuan transfer 1. Word
2. Block
4. Metode akses 1. Sequential acces
2. Direct acces
3. Random acces
4. Assosiative acces
5. Kinerja 1. Acces time
2. Cycle time
3. Transfer rate
6. Tipe fisik 1. Semikonduktor
2. Magnetic
3. Optical
7. Karakteristik tipe
fisik
1. Volatile/Nonvolatile
2. Erasable/Nonerasable
Dilihat dari lokasi, memori dibedakan menjadi beberapa jenis, yaitu register,
memori internal dan memori eksternal. Register merupakan tempat penyimpanan
berbagai data tidak tetap di dalam processor yang diolah secara langsung dengan
kecepatan yang sangat tinggi. Register ini berada di dalam processor dengan jumlah
yang sangat terbatas, berfungsi sebagai tempat perhitungan/ komputasi. Memori
internal dalah memori yang berada di luar processor namun diakses secara langsung
oleh processor. Memori internal dibedakan menjadi memori utama dan cache memori.
Memori eksternal dapat diakses oleh prosesor melalui piranti I/O, memori ini dapat
berupa disk atau pita.
Cache merupakan mekanisme dan tempat untuk penyimpanan data sekunder
berkecepatan tinggi yang digunakan untuk menyimpan data/ instruksi yang sering di
akses. Cache umumnya menggunakan memori static (SRAM) yang harganya mahal,
sedangkan memori utama menggunakan memori dynamic (DRAM) yang jauh lebih
murah.
Sistem computer akan bekerja sangat cepat apabila seluruh sistem meori
utamanya menggunakan memori static, hanya saja harga sistem computer akan
menjadi sangat mahal. Selain itu, karena hamburan panas pada memori static lebih
besar, sistem computer yang menggunakan memori static yang besar akan
menghasilkan panaas yang berlebihan.
Dua tipe cache yang terdapat di computer adalah memory caching da disk
caching. Memori caching ini yang sering disebut dengan kas memori yang tersusun dari
computer jeni SRAM yang berkecepatan tinggi. Sedangkan disk caching menggunakan
sebagian dari memori sekunder computer.
Istilah penting sekitar cache:
Cache hit, jika data yang diminta oleh unit yang lebih tinggi yang ada dalam cache
maka disebut hit. Permintaan dapat dilayani dengan cepat.
Maksud urutan unit dari rendah hingga tinggi adalah streamer-hardisk memory-
second level-first lever-CPU cache.
Cache mist , bila data yang diminta tidak ada dalam cache harus diambil dari unit di
bawahnya. Yang cukup memakan waktu. Ini disebut mist (gagal).
Burst mode, dalam modus cepat ini cache mengambil banyak data sekaligus dari
unit di bawahnya. Ia mengambil lebih dari yang dibutuhkan dengan asumsi bahwa
data yang diminta berikutnya akan diletakkan berdekatan.
LRU, algoritma pengganti cache
COAST, adalah bentuk khusus L2 cache yang dapat diganti-ganti seperti RAM
seperti RAM dan ditempatkan pada modul.
First Level Cache L1, tingkat cache teratas dalam hirarki dengan kapasitas memori
terkecil, termahal dan tercepat.
L2, cache level ini memiliki kapasitas lebih besar dari L1 tetapi lebih lambat. Cache
L2 masih lebih cepat disbanding RAM. Dahulu L2 cache disimpan di luar processor
dan dapat ditambahkan akan tetapi seiring menurunnya biaya produksi serta untuk
meningkatkan biaya kinerja, akhirnya cache ditanamkan di processor.
Write Back (WB), cache digunakan tidak hanya saat membaca tapi juga dalam
proses menulis.
WT, cache hanya digunakan saat membaca, sedangkan untuk menulis akan
ditunggu hingga memori yang dituju selesai menulis.
Karakteristik lainnya adalah kapasita. Kapasitas memori internal maupun eksternal
biasanya dinyatakan dalam bait (1bait = 8bit) atau word. Panjang word umumnya 8, 16,
32, 64 bit. Memori eksternal umumnya lebih besar kapasitasnya daripada memori
internal, hal ini disebabkan karena teknologi dan sifat penggunaannya yang berbeda.
Karakteristik selanjutnya adalah satuan transfer. Bagi memori internal, satuan
transfer samadengan jumlah saluran data yang masuk dan keluar dari modul memori.
Jumlah saluran ini seringkali sama dengan panjang word, tapi dimungkinkan juga sama.
Tiga konsep yang berhubungan adalah:
Word, merupakan satuan alami organisasi computer. Ukuran word biasanya sama
dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.
Addressable unit. Pada sejumlah sistem, addresible unit adalah word. Namun
terdapat sistem dengan pengalamatan pada tingkatan bait. Pada semua kasus
hubungan anatara panjang A suatu alamat dan jumlah N addressable unit adalah
2A=N.
Unit of transfor, adalah jumlah bit yang dibaca atau dituliskan kedalam memori pada
suatu saat. Pada memori eksternal, transfer data biasanya lebih besar dari 1 word,
yang disebut block.
Perbedaan yang besar yang terdapat pada sejumlah memori adalah metode
aksesnya. Terdapat 4 macam memori akses, yaitu :
Sequential acces, memori di organisasi menjadi unit unit data yang disebut record.
Akses harus dibuat dalam bentuk urutan linear yang spesifik. Informasi
pengalamatan yang disimpan dipakai untuk memisahkan record-record dan untuk
membsntu proses pencarian. Terdapat write mechanism untuk penulisan dan
pembacaan memorinya. Pita magnetic merupakan memori yang menggunakan
metode sequential acces.
Direct acces, sama dengan sequential acces dimana terdapat shared read. Setiap
block dan record memiliki alamat yang unit berdasarkan lokasi fisiknya. Akses
dilakukan pada alamat memori. Disk adalah contoh direct acces.
Random acces. Setiap lokasi memory dipilih secara random dan diakses dan
dialamati secara langsung. Contohnya random acces adalah memori utama.
Asosiative access, merupakan jenis random access yang memungkinkan
pembandingan lokasi bit yang diinginkan untuk pencocokan. Jadi data dicari
berdasarkan isinya, bukan alamatnya dalam memori. Contohnya: cache memori.
Berdasarkan karakteristik unjuk kerja, memori memiliki 3 parameter utama
pengukuran unjuk kerja, yaitu:
Acces time
Memori cache time
Transfer rate
B. Keandalan Memori
Memori harus mampu mengikuti kecepatan CPU sehingga terjadi sinkronisasi
kerja antar CPU dan memori tanpa adanya waktu tunggu karena komponen lain belum
selesai prosesnya. Mengenai harga, sangatlah relatif. Bagi produsen selalu mencari
harga produksi paling murah tanpa mengorbankan kualitasnya untuk memiliki daya
saing di pasaran. Hubungan harga, kapasitas dan waktu akses adalah :
Semakin kecil waktu akses, semakin besar harga per bitnya.
Semakin besar kapasitas, semakin kecil harga per bitnya.
Semakin besar kapasitas, semakin besar waktu aksesnya.
Dilema yang dihadapi para perancang adalah keinginan menerapkan teknologi
untuk kapasitas memori yang besar karena harga per bit yang murah namun hal itu
dibatasi oleh teknologi dalam memperoleh waktu akses yang cepat. Salah satu
pengorganisasian masalah ini adalah menggunakan hirarki memori. Seperti terlihat
pada gambar 4.2, bahwa semakin menurunnya hirarki maka hal berikut akan terjadi :
Penurunan harga/bit
Peningkatan kapasitas
Peningkatan waktu akses
Penurunan frekuensi akses memori oleh CPU.
Kunci keberhasilan hirarki ini pada penurunan frekuensi aksesnya. Semakin
lambat memori maka keperluan CPU untuk mengaksesnya semakin sedikit. Secara
keseluruhan system komputer akan tetap cepat namun kebutuhan kapasitas memori
besar terpenuhi.
Tabel spesifikasi memori
Tipe memori Teknologi Ukuran Waktu akses
Cache Memory semikonduktor
RAM
128 – 512 KB 10 ns
Memori Utama semikonduktor
RAM
4 – 128 MB 50 ns
Disk magnetik Hard Disk Gigabyte 10 ms, 10MB/det
Disk Optik CD-ROM Gigabyte 300ms, 600KB/det
Pita magnetik Tape 100 MB Det -mnt, 10MB/mnt
Gambar 4.2 Hirarki memori
Prinsip Cache Memori
Cache memori difungsikan mempercepat kerja memori sehingga mendekati
kecepatan prosesor. Konsepnya dijelaskan pada gambar 4.6 dan gambar 4.7. Dalam
organisasi komputer, memori utama lebih besar kapasitasnya namun lambat
operasinya, sedangkan cache memori berukuran kecil namun lebih cepat. Cache
memori berisi salinan memori utama. Pada saat CPU membaca sebuah word memori,
maka dilakukan pemeriksaan untuk mengetahui apakah word tersebut berada dalam
cache memori. Bila ada dalam cache memori maka dilakukan pengiriman ke CPU, bila
tidak dijumpai maka dicari dalam memori utama, selanjutnya blok yang berisi sejumlah
word tersebut dikirim ke cache memori dan word yang diminta CPU dikirimkan ke CPU
dari cache memori. Karena fenomena lokalitas referensi, ketika blok data diberikan ke
dalam cache memori, terdapat kemungkinan bahwa word-word berikutnya yang berada
dalam satu blok akan diakses oleh CPU. Konsep ini yang menjadikan kinerja memori
lebih baik.
Gambar Hubungan cache memori
Sehingga dapat disimpulkan bahwa kerja cache adalah antisipasi terhadap
permintaan data memori yang akan digunakan CPU. Apabila data diambil langsung dari
memori utama bahkan memori eksternal akan memakan waktu lama yang
menyebabkan status tunggu pada prosesor. Ukuran cache memori adalah kecil,
semakin besar kapasitasnya maka akan memperlambat proses operasi cache memori
itu sendiri, disamping harga cache memori yang sangat mahal.
Gambar Organisasi cache memori
Elemen Rancangan pada memori Cache
1. Ukuran Cache
2. Fungsi Pemetaan
3. Algoritma Penggantian
4. Ukuran Blok
1. Ukuran cache
Menentukan ukuran memori cache sangatlah penting untuk mendongkrak kinerja
komputer. Dari segi harga cache sangatlah mahal tidak seperti memori utama. Semakin
besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan ukuran besar
akan terlalu banyak gate pengalamatannya sehingga akan memperlambat proses. Kita
bisa melihat beberapa merek prosesor di pasaran beberapa waktu lalu. AMD
mengeluarkan prosesor K5 dan K6 dengan cache yang besar (1MB) tetapi kinerjanya
tidak bagus. Kemudian Intel pernah mengeluarkan prosesor tanpa cache untuk alasan
harga yang murah, yaitu seri Intel Celeron pada tahun 1998-an hasil kinerjanya sangat
buruk terutama untuk operasi data besar, floating point, 3D. Intel Celeron versi
berikutnya sudah ditambah cache sekitar 128KB. Lalu berapa idealnya kapasitas
cache? Sejumlah penelitian telah menganjurkan bahwa ukuran cache antara 1KB dan
512KB akan lebih optimum [STA96].
Ukuran cache disesuaikan dengan kebutuhan untuk membantu kerja memori.
Semakin besar ukuran cache semakin lambat karena semakin banyak jumlah gerbang
dalam pengalamatan cache.
Fungsi Pemetaan (Mapping)
Telah kita ketahui bahwa cache mempunyai kapasitas yang kecil dibandingkan
memori utama. Sehingga diperlukan aturan blok – blok mana yang diletakkan dalam
cache. Terdapat tiga
metode, yaitu pemetaan langsung, pemetaan asosiatif, dan pemetaan asosiatif set.
Pemetaan Langsung
Pemetaan langsung adalah teknik yang paling sederhana, yaitu teknik ini
memetakan blok memori utama hanya ke sebuah saluran cache saja.
i = j modulus m dan m = 2r
Dimana :
i = nomer saluran cache
j = nomer blok memori utama
m = jumlah saluran yang terdapat dalam cache
Fungsi pemetaan diimplementasikan dengan menggunakan alamat, yang terdiri
dari tiga field (tag, line, word). w = word, adalah bit paling kurang berarti yang
mengidentifikasikan word atau byte unik dalam blok memori utama. s = byte sisa word
yang menspesifikasi salah satu dari 2S blok memori utama. Cache logik
menginterpretasikan bit – bit S sebagai suatu tag s – r bit (bagian paling berarti dalam
alamat) dan field saluran r bit.
Efek pemetaan tersebut adalah blok – blok memori utama diberikan ke saluran cache
seperti berikut ini:
Jadi dalam metode ini pemetaan adalah bagian alamat blok memori utama
sebagai nomer saluran cache. Ketika suatu blok data sedang diakses atau dibaca
terhadap saluran yang diberikan, maka perlu memberikan tag bagi data untuk
membedakannya dengan blok – blok lain yang dapat sesuai dengan saluran tersebut.
Disajikan contoh pemetaan langsung dengan m = 16K, maka pemetaannya:
Perlu diketahui bahwa tidak ada dua buah blok yang dipetakan ke nomer saluran uang
sama memiliki tag sama. Sehingga 000000, 010000, …., FF0000 masing-masing
memiliki tag 00, 01, …., FF. Contoh pemetaan langsung:
Teknik pemetaan ini sederhana dan mudah diimplementasikan, namun kelemahannya
adalah terdapat lokasi cache yang tetap bagi sembarang blok – blok yang diketahui.
Dengan demikian, apabila suatu program berulang – ulang melakukan word referensi
dari dua blok yang berbeda memetakan saluran yang sama maka blok – blok itu secara
terus – menerus akan di-swap ke dalam cache sehingga hit rasionya akan rendah.
Pemetaan Assosiatif
Pemetaan asosiatif mengatasi kekurangan pemetaan langsung dengan cara
setiap blok memori utama dapat dimuat ke sembarang saluran cache. Alamat memori
utama diinterpretasikan dalam field tag dan field word oleh kontrol logika cache. Tag
secara unik mengidentifikasi sebuah blok memori utama. Mekanisme untuk mengetahui
suatu blok dalam cache dengan memeriksa setiap tag saluran cache oleh kontrol logika
cache. Dengan pemetaan ini didapat fleksibilitas dalam penggantian blok baru yang
ditempatkan dalam cache. Algoritma penggantian dirancang untuk memaksimalkan hit
ratio, yang pada pemetaan langsung terdapat kelemahan dalam bagian ini. Kekurangan
pemetaan asosiatif adalah kompleksitas rangkaian sehingga mahal secara ekonomi.
Pemetaan Assosiatif Set
Pemetaan asosiatif set menggabungkan kelebihan yang ada pada pemetaan
langsung dan pemetaan asosiatif. Memori cache dibagi dalam bentuk set-set.
Pemetaan asosiatif set prinsipnya adalah penggabungan kedua pemetaan sebelumnya.
Alamat memori utama diinterpretasikan dalam tiga field, yaitu: field tag, field set, dan
field word. Hal ini mirip dalam pemetaan langsung. Setiap blok memori utama dapat
dimuat dalam sembarang saluran cache. Dalam pemetaan asosiatif set, cache dibagi
dalam v buah set, yang masing –masing
terdiri dari k saluran. Hubungan yang terjadi adalah :
m = v x k
i = j modulus v dan v = 2d dimana :
i = nomer set cache
j = nomer blok memori utama
m = jumlah saluran pada cache
contoh yang menggunakan pemetaan asosiatif set dengan dua saluran pada masing-
masing set, yang dikenal sebagai asosiatif set dua arah. Nomor set mengidentifikasi set
unik dua saluran di dalam cache. Nomor set ini juga memberikan jumlah blok di dalam
memori utama, modulus 2. Jumlah blok menentukan pemetaan blok terhadap saluran.
Sehingga blok-blok 000000, 00A000,…, FF1000 pada memori utama dipetakan
terhadap set 0 cache. Sembarang blok tersebut dapat dimuatkan ke salah satu dari
kedua saluran di dalam set. Perlu dicatat bahwa tidak terdapat dua blok yang
memetakannya terhadap set cache yang sama memiliki nomor tag yang sama. Untuk
operasi read, nomor set dipakai untuk menentukan set dua saluran yang akan diuji.
Kedua saluran di dalam set diuji untuk mendapatkan yang cocok dengan nomor tag
alamat yang akan diakses.
Penggunaan dua saluran per set ( v = m/2, k = 2), merupakan organisasi asosiatif set
yang paling umum. Teknik ini sangat meningkatkan hit ratio dibandingkan dengan
pemetaan langsung.
Asosiatif set empat arah (v = m/4, k = 4) memberikan peningkatan tambahan yang
layak dengan penambahan harga yang relatif rendah. Peningkatan lebih lanjut jumlah
saluran per set hanya memiliki efek yang sedikit.
Algoritma Penggantian
Yang dimaksud Algoritma Penggantian adalah suatu mekanisme pergantian
blok-blok dalam memori cache yang lama dengan data baru. Dalam pemetaan
langsung tidak diperlukan algoritma ini, namun dalam pemetaan asosiatif dan asosiatif
set, algoritma ini mempunyai peranan penting untuk meningkatkan kinerja cache
memori.
Banyak algoritma penggantian yang telah dikembangkan, namun dalam buku ini
akan dijelaskan algoritma yang umum digunakan saja. Algoritma yang paling efektif
adalah Least Recently Used (LRU), yaitu mengganti blok data yang terlama berada
dalam cache dan tidak memiliki referensi. Algoritma lainnya adalah:
1. First In First Out (FIFO), yaitu mengganti blok data yang awal masuk. Inti dari algoritma
ini adalah simple / paling sederhana karena prinsipnya sama seperti prinsip antrian tak
berprioritas. Page yang masuk terlebih dahulu maka yaitu yang akan keluar duluan
juga. Untuk algoritma ini menggunakan structure data stack. Jadi kerjanya yaitu dimana
kalau tidak ada frame yang kosong saat terjadi page fault maka korban yang dipilih
adalah frame dengan stack paling bawah seperti hal nya halaman yang sudah lama
tersimpan didalam memory maka dari itu algoritma ini juga bisa memindahkan page
yang sering digunakan.
Contoh gambar dari Algoritma page FIFO
Utamanya algoritma ini di anggap cukup mengatasi pergantian page sampai
pada tahun 70-an, pada saat itu juga Belady menemukan keganjalan pada algoritma ini
dan dikenal dengan anomali Belady. Anomali Belady itu sendiri ialah keadaan dimana
page fault rate meningkat seiring dengan pertambahannya jumlah frame.
Contoh gambar dari Anomali BeladyAlgoritma page Modifikasi FIFO
Algoritma FIFO murni jarang digunakan, tetapi dikombinasikan (modifikasi).
Kelemahan FIFO yang jelas adalah algoritma dapat memilih memindahkan page yang
sering digunakan yang lama berada di memori. Kemungkinan ini dapat dihindari dengan
hanya memindahkan page tidak diacu Page ditambah bit R mencatat apakah page
diacu atau tidak. Bit R bernilai 1 bila diacu dan bernilai 0 bila tidak diacu.
Variasi dari FIFO antara lain:
- Algoritma penggantian page kesempatan kedua (second chance page replacement
algorithm)
- Algoritma penggantian clock page (clock page replacement algorithm)
Algoritma yang pertama adalah algoritma second chance. Algoritma second chance
berdasarkan pada algoritma FIFO yang disempurnakan. Algoritma ini menggunakan
tambahan berupa reference bit yang nilainya 0 atau 1. Jika dalam FIFO menggunakan
stack , maka second chance menggunakan circular queue . Halaman yang baru di-load
atau baru digunakan akan diberikan nilai 1 pada reference bit-nya. Halaman yang
reference bit-nya bernilai 1 tidak akan langsung diganti walaupun dia berada di antrian
paling bawah (berbeda dengan FIFO).
Urutan langkah kerja algoritma second chance adalah sebagai berikut:
a. pabila terjadi page fault dan tidak ada frame yang kosong, maka akan dilakukan razia
(pencarian korban) halaman yang reference bit-nya bernilai 0 dimulai dari bawah
antrian (seperti FIFO).
b. Setiap halaman yang tidak di- swap (karena reference bit-nya bernilai 1), setiap dilewati
saat razia reference bit-nya akan diset menjadi 0.
Contoh gambar dari Algoritma page Modifikasi FIFO
2. Least Frequently Used (LFU) adalah mengganti blok data yang mempunyai referensi
paling sedikit.
Dikarenakan algoritma optimal sangat sulit dalam pengimplementasiannya, maka
dibuatlah algoritma lain yang performance-nya mendekati algoritma optimal dengan
sedikit cost yang lebih besar. ama seperti algoritma optimal, algoritma LRU tidak
mengalami anomali Belady. Algoritma ini memakai linked list untuk mendata halaman
mana yang paling lama tidak terpakai. Linked list inilah yang membuat cost membesar,
karena harus meng-update linked list tiap saat ada halaman yang di akses.
Contoh gambar dari Algoritma page LRU
Teknik lain adalah algoritma Random, yaitu penggantian tidak berdasakan
pemakaian datanya, melainkan berdasar slot dari beberapa slot kandidat secara acak.
1. WRITE POLICY
Kebijakan menulis cache yang menentukan bagaimana menangani menulis ke
lokasi memori yang saat ini ditahan dalam cache. Dijelaskan lebih rinci di sini, kedua
jenis kebijakan adalah:
Write-Back Cache: yaitu teknik meminimasi penulisan dengan cara penulisan pada
cache saja. Ketika sistem menulis ke lokasi memori yang saat ini dipegang dalam
cache, itu hanya menulis informasi baru pada baris cache yang sesuai. Ketika garis
cache akhirnya diperlukan untuk beberapa alamat memori lain, data yang diubah
adalah "menulis kembali" ke memori sistem. Jenis cache yang memberikan performa
yang lebih baik dari cache write-through, karena menghemat (memakan waktu) menulis
siklus ke memori.
Write-Through Cache: yaitu operasi penulisan melibatkan data pada memori utama dan
sekaligus pada cache memori sehingga data selalu valid. Ketika sistem menulis ke
lokasi memori yang saat ini dipegang dalam cache, itu menulis informasi baru baik ke
baris cache yang tepat dan lokasi memori itu sendiri pada saat yang sama. Jenis cache
menyediakan kinerja buruk dari menulis-kembali, tapi lebih sederhana untuk
menerapkan dan memiliki keuntungan dari konsistensi internal, karena cache tidak
pernah tidak sinkron dengan memori apa adanya dengan cache write-back.
Kekurangan teknik ini adalah menjadikan lalu lintas data ke memori utama dan
cachesangattinggi sehingga mengurangi kinerja sistem, bahkan bisa terjadi hang.
Bus Watching with Write Through yaitu setiap cache controller akan memonitoring bus
alamat untuk mendeteksi adanya operasi tulis. Apabila ada operasi tulis di alamat
yangdatanya digunakan bersama maka cache controller akan menginvalidasi data
cache-nya.
Hardware Transparency yaitu adanya perangkat keras tambahan yang menjamin
semua updating data memori utama melalui cache direfleksikan pada seluruh cache
yang ada.•
Non Cacheable Memory yaitu hanya bagian memori utama tertentu yang
digunakansecara bersama. Apabila ada mengaksesan data yang tidak di share
merupakankegagalan cache.
Apabila suatu data telah diletakkan pada cache maka sebelum ada penggantian
harusdicek apakah data tersebut telah mengalami perubahan. Apabila telah berubah
maka data padamemori utama harus di-update. Masalah penulisan ini sangat
kompleks, apalagi memoriutama48dapat diakses langsung oleh modul I/O, yang
memungkinkan data pada memori utama berubah.
2. LINE SIZE
Dalam Tipografi Line size adalah lebar ditempati oleh blok mengeset teks ,
diukur dalam inci , picas dan poin . Sebuah blok teks atau paragraf memiliki panjang
garis maksimum yang sesuai dengan desain yang ditentukan.
Panjang garis ditentukan oleh parameter tipografi berdasarkan formal jaringan
dan template dengan beberapa tujuan dalam pikiran, keseimbangan dan fungsi untuk fit
dan mudah dibaca dengan kepekaan terhadap gaya estetika dalam tipografi .
Typographers menyesuaikan panjang baris untuk membantu keterbacaan atau pas
copy. Teks dapat siram kiri dan kanan compang-camping , rata kanan kiri dan bergerigi,
atau dibenarkan mana semua garis dengan panjang yang sama. Dalam panjang garis
yang tepat pengaturan compang-camping bervariasi untuk membuat tepi kanan
compang-camping garis yang bervariasi panjangnya. Kadang-kadang ini dapat secara
visual memuaskan. Untuk pengaturan yang benar dibenarkan dan compang-camping
typographers dapat menyesuaikan panjang baris untuk menghindari yang tidak
diinginkan tanda hubung , sungai ruang putih, dan kata-kata yatim / karakter pada akhir
baris (misalnya: "The", "Aku", "Dia", "Kami").
NUMBER OF CACHES & PENJELASAN PENTIUM 4 DAN POWERPC
Number Of Caches
a. Cache Satu Tingkat (First level cache)
Memori yang bernama L1 Cache ini adalah memori yang terletak paling dekat
dengan prosesor (lebih spesifik lagi: dekat dengan blok CU [Control Unit]). Penempatan
Cache di prosesor dikembangkan sejak PC i486. Memori di tingkat ini memiliki
kapasitas yang paling kecil (hanya 16KB), tetapi memiliki kecepatan akses dalam
hitungan nanodetik (sepermilyar detik). Data yang berada di memori ini adalah data
yang paling penting dan paling sering diakses. Biasanya data di sini adalah data yang
telah diatur melalui OS (Operating System) menjadi Prioritas Tertinggi (High Priority).
b. Cache dua tingkat (Second level cache)
Memori L2 Cache ini terletak terletak di MotherBoard (lebih spesifik lagi: modul
COAST : Cache On A STick. Bentuk khusus dari L2 yang mirip seperti Memory Module
yang dapat diganti-ganti tergantung motherboardnya). Akan tetapi ada juga yang
terintegrasi langsung dengan MotherBoard, atau juga ada yang terintergrasi dengan
Processor Module. Di L2 Cache ini, kapasitasnya lebih besar dari pada L1 Cache.
Ukurannya berkisar antara 256 KB—2MB. Biasanya , L2 Cache yang besar diperlukan
di MotherBoard untuk Server. Kecepatan akses sekitar 10ns (nano second).
NUMBER OF CACHES & PENJELASAN PENTIUM 4 DAN POWERPC
Number Of Caches
a. Cache Satu Tingkat (First level cache)
Memori yang bernama L1 Cache ini adalah memori yang terletak paling dekat dengan
prosesor (lebih spesifik lagi: dekat dengan blok CU [Control Unit]). Penempatan Cache
di prosesor dikembangkan sejak PC i486. Memori di tingkat ini memiliki kapasitas yang
paling kecil (hanya 16KB), tetapi memiliki kecepatan akses dalam hitungan nanodetik
(sepermilyar detik). Data yang berada di memori ini adalah data yang paling penting
dan paling sering diakses. Biasanya data di sini adalah data yang telah diatur melalui
OS (Operating System) menjadi Prioritas Tertinggi (High Priority).
b. Cache dua tingkat (Second level cache)
Memori L2 Cache ini terletak terletak di MotherBoard (lebih spesifik lagi: modul
COAST : Cache On A STick. Bentuk khusus dari L2 yang mirip seperti Memory Module
yang dapat diganti-ganti tergantung motherboardnya). Akan tetapi ada juga yang
terintegrasi langsung dengan MotherBoard, atau juga ada yang terintergrasi dengan
Processor Module. Di L2 Cache ini, kapasitasnya lebih besar dari pada L1 Cache.
Ukurannya berkisar antara 256 KB—2MB. Biasanya , L2 Cache yang besar diperlukan
di MotherBoard untuk Server. Kecepatan akses sekitar 10ns (nano second).
Pentium 4
Pentium 4 adalah mikroprosesor generasi ketujuh yang dibuat oleh Intel Corporation
dan dirilis pada bulan November 2000 meneruskan prosesor Intel Pentium III. Nama
Perkenalan generasi awalnya adalah Willamette, kemudian dikembangkan kembali
dengan nama perkenalan Northwood, Prescott dan Cedar-Mill.
PowerPC
Proyek mini komputer 801 di IBM pada tahun 1975 mengawali banyak konsep
arsitektur yang digunakan dalam sistem RISC. 801 bersama dengan prosessor RISC I
Berkeley, meluncurkan gerakan RISC, namun 801 hanya merupakan prototipe yang
ditujukan untuk mengenalkan konsep disain. Keberhasilan memperkenalkan 801
menyebabkan IBM membangun produk workstation RISC komersial yaitu PC RT pada
tahun 1986, dengan mengadaptasi konsep arsitektural 801 kedalam kinerja yang
sebanding atau yang lebih baik. IBM RISC System/6000 merupakan mesin RISC
superscalar yang dipasarkan sebagai workstation berunjuk kerja tinggi, tidak lama
kemudian IBM mengkaitkan mesin ini sebagai arsitektur POWER.
IBM kemudian menjalin kerjasama dengan Motorola, pembuat mikroprosessor
seri 6800, dan Apple, yang menggunakan keping Motorola dalam komputer
Macintoshnya dan hasilnya adalah seri mesin yang mengimplementasikan arsitektur
PowerPC yang diturunkan dari arsitektur POWER dan merupakan sistem RISC
superscalar. Sejauh ini diperkenalkan empat anggota kelompok PowerPC yaitu
1. 601,merupakan mesin 32-bit yang ditujukan untuk membawa arsitektur PowerPC
kepasar secepat mungkin.
2. 603, merupakan mesin 32-bit yang ditujukan bagi low-end desktop dan komputer
portable dengan implementasi yang lebih efesien.
3. 604, merupakan mesin 32-bit yang ditujukan bagi low-end server dan desktop,
dengan menggunakan teknik rancangan superscalar lanjutan guna mendapatkan
kinerja yang lebih baik.
4. 620, ditujukan bagi high-end server, sekaligus merupakan kelompok PowerPC
pertama yang mengimplementasikan arsitektur 64 bit penuh, termasuk register 64-bit
dan lintasan data.
Pentium 4 Cache Organisasi
Pentium 4 memiliki tiga level cache.
Tingkat 1 cache adalah cache split dan 8KB adalah dalam ukuran dan empat
arah setasosiatif. Ini berarti bahwa setiap set terdiri dari empat baris dalam
cache. Algoritma pengganti digunakan untuk ini adalah "paling baru digunakan"
algoritma. Ukuran baris adalah 64 byte.
Pentium 4 yang menggunakan "Hyper-Pipelined Technology" untuk
kinerja. Pipa adalahpipa 20-tahap, yang berarti bahwa 20 instruksi dapat dijalankan
secara bersamaan. Inimerupakan perbaikan dari pipa Pentium III yang hanya
diperbolehkan 10.
Dengan pipa yang lebih lama, lebih sedikit pekerjaan yang
sebenarnya sedangdilakukan sebagai lebih banyak waktu didedikasikan
untuk mengisi pipa. Oleh karena itu, Pentium 4 pipa harus dijalankan pada
frekuensi yang lebih tinggi untuk melakukanpekerjaan yang sama sebagai pipa lebih
pendek III Pentium.
Intel menggunakan mesin out-of
order eksekusi spekulatif ditingkatkan dengan Pentium 4 menggunakan
algoritma prediksi canggih untuk mendapatkan petunjuk lebih lanjutuntuk
menjalankan menggunakan lebih dalam out-of-order sumber daya, sampai
dengan 126 instruksi dalam penerbangan.
Ini adalah tiga kali petunjuk dalam penerbangan dari dengan prosesor Pentium
III. Mesin ini meningkatkan padamispredictions jumlah cabang dari Pentium
III sekitar 33%.
Hal ini dilakukan dengan menggunakan buffer cabang target 4KB untuk
menyimpan cabang terakhir sertaalgoritma cabang canggih prediksi.
Tingkat 1 cache adalah kecil untuk mengurangi latency, mengambil 2 siklus
untuk hitcache data integer dan 6 siklus untuk floating point. Tingkat 1 data
cache memiliki kebijakan menulis-kembali, tetapi konfigurasi dinamis memungkinkan
ini diubah untuk menulis-melalui.
Daripada cache 1 instruksi tingkat klasik, Pentium 4 menggunakan cache jejak yang
mengambil keuntungan dari algoritma prediksi cabang maju. Setelah instruksi
telahditerjemahkan ke dalam RISC gaya instruksi yang disebut micro-ops, mereka
disimpandi cache jejak. Enam micro-ops disimpan untuk setiap
baris jejak. Cache jejak dapat menyimpan hingga 12K micro-
ops. Sejak instruksi telah diterjemahkan, hardware tahu tentang apapun cabang
dan mengambil instruksi yang mengikuti cabang. Masalahmungkin terjadi dalam
kasus cabang bersyarat jika yang salah diprediksi dan banyakpetunjuk tambahan yang
tidak diperlukan telah pra-diambil dan diterjemahkan ke dalam cache. Kami juga harus
menunggu untuk cache untuk mengambil instruksi yang benardari cache tingkat 2 jika
cabang benar tidak disimpan dalam cache. Ini bisa memakan waktu hingga 7 siklus,
lebih jika cabang tidak ditemukan dalam cache 2 tingkat.
Keuntungan dari cache jejak adalah bahwa jika prediksi bekerja dengan baik,
cachedapat menyediakan tiga micro-ops per siklus untuk scheduler eksekusi. Ini juga
berarti bahwa sejak jejak cache hanya menyimpan instruksi yang benar-benar akan
dieksekusi, itu adalah membuat lebih efisien penggunaan ruang terbatas.
Tingkat 2 cache adalah cache bersatu dan 256KB dalam ukuran. Ukuran garis adalah
128 byte dan itu adalah delapan cara set asosiatif. Ini berarti bahwa setiap set terdiri
dari delapan baris dalam cache. Peningkatan ukuran dan set ukuran berarti bahwa itu
akan mengurangi kemungkinan terjadi miss saat mengakses cache ini, meningkatkan
efektivitas sebagai trade-off untuk kecepatan direduksi. Peningkatan ukuran garisdapat
menyebabkan latency lebih tinggi untuk isi ulang line, sehingga Pentium
4menggunakan bus 400MHz sistem menggunakan sebuah jam 100MHz yang
memberikan data rate sebesar 3.2GB / s untuk menebus latency. Sistem bus memiliki
panjang byte akses 64, membutuhkan 2 memori utama mengakses untuk mengisi baris
2 cache tingkat.
Tingkat 2 cache mempekerjakan hardware pra-fetcher untuk mengisi 2 baris cache
untuk mengambil keuntungan dari lokalitas referensi. Perangkat
keras memonitorsejarah cache misses untuk mencoba untuk membantu menghindari
yang tidak perlupra-menjemput.
Para cache level 3 adalah delapan arah set associative dan memiliki
ukuran garis 128byte.
Semua cache menggunakan sebuah algoritma "paling baru digunakan" pengganti.
POWER PC CACHE ORGANIZATION
Memori komputer ini diatur dalam suatu hirarki. Pada tingkat tertinggi (paling dekat
dengan
prosesor) adalah register prosesor. Selanjutnya muncul satu atau lebih level cache.
Ketika beberapa tingkatan yang digunakan, mereka dilambangkan L1, L2, dll ...
Selanjutnya muncul utama
memori, yang biasanya terbuat dari memori acak-akses dinamis
(DRAM). Semua ini dianggap internal ke sistem komputer. itu
hirarki terus dengan memori eksternal, dengan tingkat berikutnya biasanya menjadi
tetap hard disk, dan satu atau lebih tingkat di bawah yang terdiri dari removable media
seperti kartrid ZIP, optical disk, dan tape.
Sebagai salah satu turun hirarki memori, orang menemukan penurunan biaya / bit,
meningkatkan
kapasitas, dan waktu akses lebih lambat. Akan lebih baik untuk hanya menggunakan
memori tercepat,
tapi karena itu adalah memori yang paling mahal, kita trade off waktu akses dan biaya
dengan menggunakan lebih dari memori lambat. Caranya adalah dengan mengatur
data dan
program di memori sehingga kata-kata memori yang diperlukan biasanya dalam
tercepat
memori.
Secara umum, ada kemungkinan bahwa akses paling depan ke memori utama oleh
prosesor
akan ke lokasi baru mengakses. Jadi cache secara otomatis mempertahankan salinan
beberapa kata terakhir digunakan dari DRAM. Jika cache dirancang
dengan benar, maka sebagian besar waktu prosesor akan meminta kata-kata memori
yang
sudah di cache.
Organisasi cache yang PowerPC telah berkembang dengan arsitektur keseluruhan dari
keluarga PowerPC, mencerminkan pengejaran tanpa henti kinerja yang adalah
kekuatan pendorong untuk semua desainer mikroprosesor.
Pentium 4 Core Processor
• Fetch / Decode Unit
Wahai Fetch instruksi dari cache L2
O Decode ke dalam mikro-operasi
o Toko mikro-operasi di L1 cache
• Out-of-order eksekusi logika
o Jadwal mikro-operasi
o Berdasarkan data ketergantungan dan ketersediaan sumber daya
o Semoga jadwal eksekusi spekulatif waktu mengizinkan
• Pelaksanaan unit
o Melaksanakan mikro-operasi
o Mengambil data yang dibutuhkan dari data cache L1
o Untuk sementara menyimpan hasil dalam register
• Memori subsistem
o Termasuk L2 cache dan bus sistem
Pentium 4 Desain penalaran
• Instruksi dekoding ke RISC seperti instruksi yang disebut mikro-operasi
• Sederhana, panjang tetap mikro-operasi mengaktifkan pipelining superscalar dan
jadwal teknik yang meningkatkan kinerja
• Instruksi yang rumit untuk memecahkan kode - variabel panjang dengan banyak
pilihan
• Kinerja ditingkatkan dengan memisahkan penjadwalan bentuk decoding dan
pipelining
• Cache Data menulis kembali - dapat dikonfigurasi untuk menulis melalui
• L1 cache dikendalikan oleh 2 bit dalam register kontrol
O CD - cache menonaktifkan
O NW - tidak menulis-melalui
O INVD - instruksi yang membatalkan (flushes) cache
O WNINVD - instruksi yang menulis kembali cache dan kemudian membatalkan
cache