riniandini29.files.wordpress.com · Web viewLRU, algoritma pengganti cache COAST, adalah bentuk...

43
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

Transcript of riniandini29.files.wordpress.com · Web viewLRU, algoritma pengganti cache COAST, adalah bentuk...

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