Minggu, 03 Juli 2011

Unit Masukan dan Keluaran

Sistem komputer memiliki tiga komponen utama, yaitu : CPU, memori (primer dan sekunder), dan peralatan masukan/keluaran (I/O devices) seperti printer, monitor, keyboard, mouse, dan modem. Beberapa bab sebelumnya telah membahas CPU dan memori, sekarang akan kita jelaskan tentang peralatan atau modul I/O pada bab ini. Modul I/O merupakan peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat peripheral. Modul I/O tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer.
Ada beberapa alasan kenapa piranti – piranti tidak langsung dihubungkan dengan bus sistem komputer, yaitu :

• Bervariasinya metode operasi piranti peripheral, sehingga tidak praktis apabila sistem komputer herus menangani berbagai macam sisem operasi piranti peripheral tersebut.
• Kecepatan transfer data piranti peripheral umumnya lebih lambat dari pada laju transfer data pada CPU maupun memori.
• Format data dan panjang data pada piranti peripheral seringkali berbeda dengan CPU, sehingga perlu modul untuk menselaraskannya.

Dari beberapa alasan diatas, modul I/O memiliki dua buah fungsi utama, yaitu :

1. Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
2. Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link data tertentu.
  •  Sistem Masukan & Keluaran Komputer
Bagaimana modul I/O dapat menjalankan tugasnya, yaitu menjembatani CPU dan
memori dengan dunia luar merupakan hal yang terpenting untuk kita ketahui. Inti mempelajari
sistem I/O suatu komputer adalah mengetahui fungsi dan struktur modul I/O. Perhatikan gambar
6.1 yang menyajikan model generik modul I/O.Unit Masukandan Keluaran
Gambar 6.1 Model generik dari suatu modul I/O

  •  Fungsi Modul I/O
Modul I/O adalah suatu komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan memori utama ataupun dengan register – register CPU. Dalam mewujudkan hal ini, diperlukan antarmuka internal dengan komputer (CPU dan memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi – fungsi pengontrolan.
Fungsi dalam menjalankan tugas bagi modul I/O dapat dibagi menjadi beberapa katagori, yaitu:

• Kontrol dan pewaktuan.
• Komunikasi CPU.
• Komunikasi perangkat eksternal.
• Pem-buffer-an data.
• Deteksi kesalahan.

Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dan kecepatan transfer komunikasi data yang beragam, baik dengan perangkat internal seperti register – register, memori utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan. Contoh kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah – langkah berikut ini :

1 Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
2 Modul I/O memberi jawaban atas permintaan CPU.
3 Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O.
4 Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.
5 Selanjutnya data dikirim ke CPU setelah diadakan sinkronisasi panjang data dan kecepatan transfer oleh modul I/O sehingga paket – paket data dapat diterima CPU dengan baik.

Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih. Adapun fungsi komunikasi antara CPU dan modul I/O meliputi proses – proses berikut :

• Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID, Format disk.
• Data, pertukaran data antara CPU dan modul I/O melalui bus data.
• Status Reporting, yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error).
• Address Recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral yang dikontrolnya.
Pada sisi modul I/O ke perangkat peripheral juga terdapat komunikasi yang meliputi komunikasi data, kontrol maupun status. Perhatikan gambar 6.2 berikut.
Gambar 6.2 Skema suatu perangkat peripheral
Fungsi selanjutnya adalah buffering. Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU. Umumnya laju transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpan.
Fungsi terakhir adalah deteksi kesalahan. Apabila pada perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis, kertas habis, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.
  •  Struktur Modul I/O
Terdapat berbagai macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang sederhana dan fleksibel adalah Intel 8255A yang sering disebut PPI (Programmable Peripheral Interface). Bagaimanapun kompleksitas suatu modul I/O, terdapat kemiripan struktur, seperti terlihat pada gambar 6.3.
Gambar 6.3 Blok diagram struktur modul I/O
Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran, yaitu saluran data, saluran alamat dan saluran kontrol. Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini.
  • Teknik Masukan/Keluaran
Terdapat tiga buah teknik dalam operasi I/O, yaitu: I/O terprogram, interrupt – driven I/O, dan DMA (Direct Memory Access). Ketiganya memiliki keunggulan maupun kelemahan, yang penggunaannya disesuaikan sesuai unjuk kerja masing – masing teknik.
  •  I/O Terprogram
Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan. Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat
bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah I/O, yaitu:

1. Perintah control.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.
2. Perintah test.
Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui operasi – operasi I/O yang dijalankan serta mendeteksi kesalahannya.
3. Perintah read.
Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
4. Perintah write.
Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.

Dalam teknik I/O terprogram, terdapat dua macam inplementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O. Dalam memory-mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori alamat. Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O adalah sedikitnya instruksi I/O.
  • Interrupt – Driven I/O
Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU. Cara kerja teknik interupsi di sisi modul I/O adalah modul I/O menerima perintah, misal read. Kemudian modul I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol. Kemudian modul menunggu datanya diminta CPU. Saat permintaan terjadi, modul meletakkan data pada bus data dan modul siap menerima perintah selanjutnya.
Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O adalah sebagai
berikut :

1. Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
2. CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon interupsi.
3. CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
4. CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankan sebelum adanya interupsi. Informasi yang diperlukan berupa:
a. Status prosesor, berisi register yang dipanggil PSW (program status word).
b. Lokasi intruksi berikutnya yang akan dieksekusi. Informasi tersebut kemudian disimpan dalam stack pengontrol sistem.
5. Kemudian CPU akan menyimpan PC (program counter) eksekusi sebelum interupsi ke stack pengontrol bersama informasi PSW. Selanjutnya mempersiapkan PC untuk penanganan interupsi.
6. Selanjutnya CPU memproses interupsi sempai selesai.
7. Apabila pengolahan interupsi selasai, CPU akan memanggil kembali informasi yang telah disimpan pada stack pengontrol untuk meneruskan operasi sebelum interupsi.

Terdapat bermacam teknik yang digunakan CPU dalam menangani program interupsi ini,
diantaranya :

• Multiple Interrupt Lines.
• Software poll.
• Daisy Chain.
• Arbitrasi bus.

Teknik yang paling sederhana adalah menggunakan saluran interupsi berjumlah banyak (Multiple Interrupt Lines) antara CPU dan modul – modul I/O. Namun tidak praktis untuk menggunakan sejumlah saluran bus atau pin CPU ke seluruh saluran interupsi modul – modul I/O.
Alternatif lainnya adalah menggunakan software poll. Prosesnya, apabila CPU mengetahui adanya sebuah interupsi, maka CPU akan menuju ke routine layanan interupsi yang tugasnya melakukan poll seluruh modul I/O untuk menentukan modul yang melakukan interupsi. Kerugian software poll adalah memerlukan waktu yang lama karena harus mengidentifikasi seluruh modul untuk mengetahui modul I/O yang melakukan interupsi.
Teknik yang lebih efisien adalah daisy chain, yang menggunakan hardware poll. Seluruh modul I/O tersambung dalam saluran interupsi CPU secara melingkar (chain). Apabila ada permintaan interupsi, maka CPU akan menjalankan sinyal acknowledge yang berjalan pada saluran interupsi sampai menjumpai modul I/O yang mengirimkan interupsi.
Teknik berikutnya adalah arbitrasi bus. Dalam metode ini, pertama – tama modul I/O memperoleh kontrol bus sebelum modul ini menggunakan saluran permintaan interupsi. Dengan demikian hanya akan terdapat sebuah modul I/O yang dapat melakukan interupsi.
Pengontrol Interrupt Intel 8259A
Intel mengeluarkan chips 8259A yang dikonfigurasikan sebagai interrupt arbiter pada mikroprosesor Intel 8086. Intel 8259A melakukan manajemen interupsi modul - modul I/O yang tersambung padanya. Chips ini dapat diprogram untuk menentukan prioritas modul I/O yang lebih dulu ditangani CPU apabila ada permintaan interupsi yang bersamaan. Gambar 6.4 menggambarkan pemakaian pengontrol interupsi 8259A. Berikut mode – mode interupsi yang mungkin terjadi :

• Fully Nested: permintaan interupsi dengan prioritas mulai 0 (IR0) hingga 7(IR7).
• Rotating: bila sebuah modul telah dilayani interupsinya akan menempati prioritas terendah.
• Special Mask: prioritas diprogram untuk modul I/O tertentu secara spesial.
Gambar 6.4 Pemakaian pengontrol interupsi 8559A pada 8086

Programmable Peripheral Interface Intel 8255A
Contoh modul I/O yang menggunakan I/O terprogram dan interrupt driven I/O adalah Intel 8255A Programmable Peripheral Interface (PPI). Intel 8255A dirancang untuk keperluan mikroprosesor 8086. Gambar 6.5 menunjukkan blok diagram Intel 8255A dan pin layout-nya.

Gambar 6.5 Modul I/O 8255A
Bagian kanan dari blok diagram Intel 8255A adalah 24 saluran antarmuka luar, terdiri atas 8 bit port A, 8 bit port B, 4 bit port CA dan 4 bit port CB. Saluran tersebut dapat diprogram dari mikroprosesor 8086 dengan menggunakan register kontrol untuk menentukan bermacam – macam mode operasi dan konfigurasinya. Bagian kiri blok diagram merupakan interface internal dengan mikroprosesor 8086. Saluran ini terdiri atas 8 bus data dua arah (D0 – D7), bus alamat, dan bus kontrol yang terdiri atas saluran CHIP SELECT, READ, WRITE, dan RESET.
Pengaturan mode operasi pada register kontrol dilakukan oleh mikroprosesor., Pada Mode 0, ketiga port berfungsi sebagai tiga port I/O 8 bit. Pada mode lain dapat port A dan port B sebagai port I/O 8 bit, sedangkan port C sebagai pengontrol saluran port A dan B. PPI Intel 8255A dapat diprogram untuk mengontrol berbagai peripheral sederhana. Gambar 6.6 memperlihatkan contoh penggunaan 8255A untuk modul I/O Keyboard dan display.
Gambar 6.6 Interface kayboard dan display dengan Intel 8255A
  • Direct Memory Access (DMA)
Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :

• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.

Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA). Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi. Blok diagram modul DMA terlihat pada gambar 6.7 berikut :

Gambar 6.7 Blok diagram DMA
Gambar 6.8 Konfigurasi modul DMA
Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambilalihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus. Teknik terakhir lebih umum digunakan, sering disebut cycle-stealing, karena modul DMA mengambil alih siklus bus.
Penghentian sementara penggunaan bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja. Terdapat tiga buah konfigurasi modul DMA seperti yang terlihat pada gambar 6.8.
  •  Perangkat Eksternal
Mesin komputer akan memiliki nilai apabila bisa berinteraksi dengan dunia luar. Lebih dari itu, komputer tidak akan berfungsi apabila tidak dapat berinteraksi dengan dunia luar. Ambil contoh saja, bagaimana kita bisa menginstruksikan CPU untuk melakukan suatu operasi apabila tidak ada keyboard. Bagaimana kita melihat hasil kerja sistem komputer bila tidak ada monitor. Keyboard dan monitor tergolang dalam perangkat eksternal komputer. Perangkat eksternal atau lebih umum disebut peripheral tersambung dalam sistem CPU
melalui perangat pengendalinya, yaitu modul I/O seperti telah dijelaskan sebelumnya. Lihat kembali gambar 6.2. Secara umum perangkat eksternal diklasifikasikan menjadi 3 katagori:

• Human Readable, yaitu perangkat yang berhubungan dengan manusia sebagai pengguna komputer. Contohnya: monitor, keyboard, mouse, printer, joystick, disk drive.
• Machine readable, yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem.
• Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Misalnya: NIC dan modem.

Pengklasifikasian juga bisa berdasarkan arah datanya, yaitu perangkat output, perangkat input dan kombinasi output-input. Contoh perangkat output: monitor, proyektor dan printer. Perangkat input misalnya: keyboard, mouse, joystick, scanner, mark reader, bar code reader.

Peralatan Penyimpanan Data

Kebutuhan akan memori utama saja tidak mencukupi maka diperlukan peralatan tambahan untuk menyimpan data yang lebih besar dan dapat dibawa kemana-mana. Tetapi dengan semakin besarnya peralatan penyimpanan maka dengan sendirinya akan mempengaruhi waktu pemrosesan data. Beberapa peralatan penyimpanan akan dijelaskan pada bab ini.
1 Magnetik Disk

Disk adalah piringan bundar yang terbuat dari bahan tertentu (logam atau plastik) dengan permukaan dilapisi bahan yang dapat di magnetisasi. Mekanisme baca/tulis menggunakan kepala baca atau tulis yang disebut head, merupakan komparan pengkonduksi (conducting coil). Desain fisiknya, head bersifat stasioner sedangkan piringan disk berputar sesuai kontrolnya. Layout data pada disk diperlihatkan pada gambar 5.1 dan gambar 5.2. Terdapat dua metode layout data pada disk, yaitu constant angular velocity dan multiple zoned recording. Disk diorganisasi dalam bentuk cincin – cincin konsentris yang disebut track. Tiap track pada disk dipisahkan oleh gap. Fungsi gap untuk mencegah atau mengurangi kesalahan pembacaan maupun
penulisan yang disebabkan melesetnya head atau karena interferensi medan magnet. Sejumlah bit yang sama akan menempati track – track yang tersedia. Semakin ke dalam disk maka kerapatan (density) disk akan bertambah besar. Data dikirim ke memori ini dalam bentuk blok, umumnya blok lebih kecil kapasitasnya daripada track. Blok – blok data disimpan dalam disk yang berukuran blok, yang disebut sector. Sehingga track biasanya terisi beberapa sector, umumnya 10 hingga 100 sector tiap tracknya. Bagaimana mekanisme membacaan maupun penulisan pada disk ? Head harus bisa mengidentifikasi titik awal atau posisi – posisi sector maupun track. Caranya data yang disimpan akan diberi header data tambahan yang menginformasikan letak sector dan track suatu data. Tambahan header data ini hanya digunakan oleh sistem disk drive saja tanpa bisa diakses oleh pengguna.
Gambar 5.1 Layuot data disk

Gambar 5.2 Metode layuot data disk


 
Gambar 5.3 Format data pada track disk

Gambar 5.3 diatas menggambarkan pemformatan data pada disk. Field ID merupakan header data yang digunakan disk drive menemukan letak sector dan tracknya. Byte SYNCH adalah pola bit yang menandakan awal field data.

  • Karakteristik Magnetik Disk
Saat ini sesuai kekhususan penggunaan telah beredar berbagai macam magnetik disk. Tabel 5.1 menyajikan daftar katakteristik utama dari berbagai jenis disk.

Tabel 5.1 Karakteristik magnetik disk

Karakteristik                                                                                     Macam
Gerakan head                                                                              1. Fixed head (satu per track)
                                                                                                   2. Movable head (satu per surface)

Portabilitas disk                                                                           1. Nonremovable disk
                                                                                                   2. Removable disk

Sides                                                                                           1. Single-sided
                                                                                                   2. Double-sided

Platters                                                                                        1. Single-platter
                                                                                                   2. Multiple-platter

Mekanisme head                                                                         1. Contact (floppy)
                                                                                                   2. Fixed gap
                                                                                                   3. Aerodynamic gap (Winchester)

Berdasarkan gerakan head, terdapat dua macam jenis yaitu head tetap (fixed head) dan head bergerak (movable head) seperti terlihat pada gambar 5.4. Pada head tetap setiap track memiliki kepala head sendiri, sedangkan pada head bergerak, satu kepala head digunakan untuk beberapa track dalam satu muka disk. Mekanisme dalam head bergerak adalah lengan head bergerak menuju track yang diinginkan berdasarkan perintah dari disk drive-nya.
Gambar 5.4 Macam disk berdasar gerakan head
Karakteristik disk berdasar portabilitasnya dibagi menjadi disk yang tetap (nonremovable disk) dan disk yang dapat dipindah (removable disk). Keuntungan disk yang dapat dipindah atau diganti – ganti adalah tidak terbatas dengan kapasitas disk dan lebih fleksibel. Karakteristik lainnya berdasar sides atau muka sisinya adalah satu sisi disk (single sides) dan dua muka disk (double sides). Kemudian berdasarkan jumlah piringannya (platters), dibagi menjadi satu piringan (single platter) dan banyak piringan (multiple platter). Gambar disk dengan multiple platters tersaji dalam gambar 5.5.
Terakhir, mekanisme head membagi disk menjadi tiga macam, yaitu head yang menyentuh disk (contact) seperti pada floppy disk, head yang mempunyai celah utara tetap maupun yang tidak tetap tergantung medan magnetnya. Celah atau jarak head dengan disk tergantung kepadatan datanya, semakin padat datanya dibutuhkan jarak head yang semakin dekat, namun semakin dekat head maka faktor resikonya semakin besar, yaitu terjadinya kesalahan baca. Teknologi Winchester dari IBM mengantisipasi masalah celah head diatas dengan model head aerodinamik. Head berbentuk lembaran timah yang berada dipermukaan disk apabila tidak bergerak, seiring perputaran disk maka disk akan mengangkat headnya. Istilah Winchester dikenalkan IBM pada model disk 3340-nya. Model ini merupakan removable disk pack dengan head yang dibungkus di dalam pack. Sekarang istilah Winchester digunakan oleh sembarang disk drive yang dibungkus pack dan memakai rancangan head aerodinamis.
Gambar 5.5 Disk piringan banyak (multiple platters disk)

Disk drive beroperasi dengan kecepatan konstan. Untuk dapat membaca dan menulis, head harus berada pada track yang diinginkan dan pada awal sectornya. Diperlukan waktu untuk mencapai track yang diinginkan, waktu yang diperlukan disebut aebagai seek time. Apabila track sudah didapatkan maka diperlukan waktu sampai sector yang bersangkutan berputar sesuai dengan headnya, yang disebut rotational latency. Jumlah seek time dan rotational latency disebut dengan access time. Dengan kata lain, access time adalah waktu yang diperlukan disk untuk berada pada posisi siap membaca atau menulis. Berikutnya akan dijelaskan memori eksternal yang termasuk magnetik disk, yaitu floppy disk (disket), harddisk model IDE dan harddisk model SCSI.

  • Floppy Disk (Disket)
Dengan berkembangnya komputer pribadi maka diperlukan media untuk mendistribusikan software maupun pertukaran data. Solusinya ditemukannya disket atau floppy disk oleh IBM. Karakteristik disket adalah head menyentuh permukaan disk saat membaca ataupun menulis. Hal ini menyebabkan disket tidak tahan lama dan sering rusak. Untuk mengurangi kerusakan atau aus pada disket, dibuat mekanisme penarikan head dan menghentikan rotasi disk ketika head tidak melakukan operasi baca dan tulis. Namun akibatnya waktu akses disket cukup lama. Gambar 5.6. memperlihatkan bentuk floppy disk.
Gambar 5.6 Floppy disk
Ada dua ukuran disket yang tersedia, yaitu 5,25 inchi dan 3,5 inchi dengan masing – masing memiliki versi low density (LD) dan high density (HD). Disket 5,25 inchi sudah tidak popular karena bentuknya yang besar, kapasitas lebih kecil dan selubung pembungkusnya tidak kuat. Perhatikan karakteristik model disket yang beredar saat ini pada tabel 5.2.

  • IDE Disk (Harddisk)
Saat IBM menggembangkan PC XT, menggunakan sebuah hardisk Seagate 10 MB untuk menyimpan program maupun data. Harddisk ini memiliki 4 head, 306 silinder dan 17 sektor per track, dicontrol oleh pengontrol disk Xebec pada sebuah kartu plug-in. Teknologi yang berkembang pesat menjadikan pengontrol disk yang sebelumnya terpisah menjadi satu paket terintegrasi, diawali dengan teknologi drive IDE (Integrated Drive Electronics) pada tengah tahun 1980. Teknologi saat itu IDE hanya mampu menangani disk berkapasitas maksimal 528 MB dan mengontrol 2 disk. Seiring kebutuhan memori, berkembang teknologi yang mampu menangani disk berkapasitas besar. IDE berkembang menjadi EIDE (Extended Integrated Drive Electronics) yang mampu menangani harddisk lebih dari 528 MB dan mendukung pengalamatan LBA (Logical Block Addressing), yaitu metode pangalamatan yang hanya memberi nomer pada sektor – sektor
mulai dari 0 hingga maksimal 224-1. Metode ini mengharuskan pengontrol mampu mengkonversi alamat – alamat LBA menjadi alamat head, sektor dan silinder. Peningkatan kinerja lainnya adalah kecepatan tranfer yang lebih tinggi, mampu mengontrol 4 disk, mampu mengontrol drive CD-ROM.

  • SCSI Disk (Harddisk)
Disk SCSI (Small Computer System Interface) mirip dengan IDE dalam hal organisasi pengalamatannya. Perbedaannya pada piranti antarmukanya yang mampu mentransfer data dalam kecepatan tinggi. Versi disk SCSI terlihat pada tabel 5.3. Karena kecepatan transfernya tinggi, disk ini merupakan standar bagi komputer UNIX dari Sun Microsystem, HP, SGI, Machintos, Intel terutama komputer – komputer server jaringan,
dan vendor – vendor lainnya. SCSI sebenarnya lebih dari sekedar piranti antarmuka harddisk. SCSI adalah sebuah bus karena SCSI mampu sebagai pengontrol hingga 7 peralatan seperti: harddisk, CD ROM, rekorder CD, scanner dan peralatan lainnya. Masing – masing peralatan memiliki ID unik sebagai media pengenalan oleh SCSI.


  •  RAID
Telah dijelaskan diawal bahwa masalah utama sistem memori adalah mengimbangi laju kecepatan CPU. Beberapa teknologi dicoba dan dikembangkan, diantaranya menggunakan konsep akses paralel pada disk.
RAID (Redundancy Array of Independent Disk) merupakan organisasi disk memori yang mampu menangani beberapa disk dengan sistem akses paralel dan redudansi ditambahkan untuk meningkatkan reliabilitas. Karena kerja paralel inilah dihasilkan resultan kecepatan disk yang lebih cepat. Teknologi database sangatlah penting dalam model disk ini karena pengontrol disk harus mendistribusikan data pada sejumlah disk dan juga membacaan kembali. Karakteristik
umum disk RAID :

• RAID adalah sekumpulan disk drive yang dianggap sebagai sistem tunggal disk.
• Data didistribusikan ke drive fisik array.
• Kapasitas redudant disk digunakan untuk menyimpan informasi paritas, yang menjamin
recoveribility data ketika terjadi masalah atau kegagalan disk.

Jadi RAID merupakan salah satu jawaban masalah kesenjangan kecepatan disk memori dengan CPU dengan cara menggantikan disk berkapasitas besar dengan sejumlah disk – disk berkapasitas kecil dan mendistribusikan data pada disk – disk tersebut sedemikian rupa sehingga nantinya dapat dibaca kembali.

  • RAID tingkat 0
Sebenarnya bukan RAID karena tidak menggunakan redundansi dalam meningkatkan kinerjanya. Data didistribusikan pada seluruh disk secara array merupakan keuntungan daripada menggunakan satu disk berkapasitas besar. Sejalan perkembangan RAID – 0 menjadi model data strip pada disk dengan suatu management tertentu hingga data sistem data dianggap tersimpan pada suatu disk logik. Mekanisme tranfer data dalam satu sektor sekaligus sehingga hanya baik untuk  menangani tranfer data besar.

  • RAID tingkat 1
Pada RAID – 1, redundansi diperoleh dengan cara menduplikasi seluruh data pada disk mirror-nya. Seperti halnya RAID – 0, pada tingkat 1 juga menggunakan teknologi stripping, perbedaannya adalah dalam tingkat 1 setiap strip logik dipetakkan ke dua disk yang secara logika terpisah sehingga setiap disk pada array akan memiliki mirror disk yang berisi data sama. Hal ini menjadikan RAID – 1 mahal. Keuntungan RAID – 1:
• Permintaan pembacaan dapat dilayani oleh salah satu disk karena terdapat dua disk berisi data sama, tergantung waktu akses yang tercepat.
• Permintaan penyimpanan atau penulisan dilakukan pada 2 disk secara paralel.
• Terdapat back-up data, yaitu dalam disk mirror-nya.
RAID – 1 mempunyai peningkatan kinerja sekitar dua kali lipat dibandingkan RAID – 0 pada operasi baca, namun untuk operasi tulis tidak secara signifikan terjadi peningkatan. Cocok digunakan untuk menangani data yang sering mengalami kegagalan dalam proses pembacaan. RAID – 1 masih bekerja berdasarkan sektor – sektornya.

  • RAID tingkat 2
RAID – 2 mengganakan teknik akses paralel untuk semua disk. Dalam proses operasinya, seluruh disk berpartisipasi dan mengeksekusi setiap permintaan sehingga terdapat mekanisme sinkronisasi perputaran disk dan headnya. Teknologi stripping juga digunakan dalam tingkat ini, hanya stripnya berukuran kecil, sering kali
dalam ukuran word atau byte. Koreksi kesalahan menggunakan sistem bit paritas dengan kode Hamming. Cocok digunakan untuk menangani sistem yang kerap mengalami kesalahan disk.

  • RAID tingkat 3
Diorganisasikan mirip dengan RAID – 2, perbedaannya pada RAID – 3 hanya membutuhkan disk redudant tunggal, tidak tergantung jumlah array disknya. Bit paritas dikomputasikan untuk setiap data word dan ditulis pada disk paritas khusus. Saat terjadi kegagalan drive, data disusun kembali dari sisa data yang masih baik dan dari informasi paritasnya. RAID – 3 menggunakan akses paralel dengan data didistribusikan dalam bentuk strip – strip kecil. Kinerjanya menghasilkan transfer berkecepatan tinggi, namun hanya dapat mengeksekusi sebuah permintaan I/O saja sehingga kalau digunakan pada lingkungan transaksi data tinggi terjadi penurunan kinerja.

  • RAID tingkat 4
RAID – 4 menggunakan teknik akses yang independen untuk setiap disknya sehingga permintaan baca atau tulis dilayani secara paralel. RAID ini cocok untuk menangani sistem dengan kelajuan tranfer data yang tinggi. Tidak memerlukan sinkronisasi disk karena setiap disknya beroperasi secara independen. Stripping data dalam ukuran yang besar. Strip paritas bit per bit dihitung ke seluruh strip yang berkaitan pada setiap disk data. Paritas disimpan pada disk paritas khusus. Saat operasi penulisan, array management software
tidak hanya meng-update data tetapi juga paritas yang terkait. Keuntungannya dengan disk paritas yang khusus menjadikan keamanan data lebih terjamin, namun dengan disk paritas yang terpisah akan memperlambat kinerjanya.

  • RAID tingkat 5
Mempunyai kemiripan dengan RAID – 4 dalam organisasinya, perbedaannya adalah strip – strip paritas didistribusikan pada seluruh disk. Untuk keamanan, strip paritas suatu disk disimpan pada disk lainnya. RAID – 4 merupakan perbaikan dari RAID – 4 dalam hal peningkatan kinerjanya. Disk ini biasanya digunakan dalam server jaringan.

  • RAID tingkat 6
Merupakan teknologi RAID terbaru. Menggunakan metode penghitungan dua paritas untuk alasan keakuratan dan antisipasi terhadap koreksi kesalahan. Seperti halnya RAID – 5, paritas tersimpan pada disk lainnya. Memiliki kecepatan transfer yang tinggi.
5.3 Optical Disk
Pada tahun 1980, Philips dan Sony mengembangkan CD (Compact Disk). Detail teknis produk ini dipublikasikan dalam international standard resmi pada tahun 1983 yang populer disebut red book. CD merupakan disk yang tidak dapat dihapus, mampu menyimpan memori kurang lebih 60 menit informasi audio pada salah satu sisinya. Keberhasilan secara komersial CD yang mampu menyimpan data dalam jumlah yang besar, menjadikannya media penyimpan yang fleksibel digunakan di berbagai peralatan seperti komputer, kamera video, MP3 player, dan lainlain.
Sejak dipublikasikan sampai dengan saat ini, terdapat bermacam-macam variasi sesuai dengan penggunaan dan teknologinya. Berikut tabel diantara produk-produk optical disk :
Tabel 5.4 Produk – produk opitical disk
CD Compact Disk. Suatu disk yang tidak dapat dihapus yang menyimpan informasi audio yang telah didigitasi. Sistem standar menggunakan disk 12 cm yang dapat merekam lebih dari 60 menit waktu putar tanpa terhenti. CD - ROM Compact Disk Read-Only Memory. Disk yang tidak dapat dihapus untuk
menyimpan data komputer. Sistem standar menggunakan disk 12 cm yang
dapat menampung lebih dari 550 Mbyte. CD – R Compact Disk Recordables. Merupakan CD untuk penggunaan khusus, biasanya untuk master CD dan photo CD. Lapisan reflektif terbuat dari
emas sehingga berwarna kuning. Kapasitas sama dengan CD lainnya. CD – RW Digital Video Rewritables. Merupakan generasi CD yang dapat ditulis berulang kali namun belum populer saat ini karena masih relatif mahal.
DVD Digital Vesatile Disk. Salah satu jenis CD yang memiliki pit data lebih kecil, spiral data yang lebih rapat sehingga kapasitasnya sangat besar, bisa mencapai 4,7GB untuk sisi tunggal dan berlapis tunggal.Laser optis yang digunakan adalah laser merah yang berukuran lebih kecil dari CD biasa.
Kualitas yang dihasilkan juga lebih baik dari CD model lain.
CD ROM (Compact Disk – Read Only Memory). Merupakan generasi CD yang diaplikasikan sebagai media penyimpan data komputer. Dikenalkan pertama kali oleh Phillips dan Sony tahun 1984 dalam publikasinya, yang dikenal dengan Yellow Book.
Perbedaan utama dengan CD adalah CD ROM player lebih kasar dan memiliki perangkat pengoreksi kesalahan, untuk menjamin keakuratan tranfer data ke komputer. Secara fisik keduanya dibuat dengan cara yang sama, yaitu terbuat dari resin, contohnya polycarbonate, dan dilapisi dengan permukaan yang sangat reflektif seperti aluminium.
Penulisan dengan cara membuat lubang mikroskopik sebagai representasi data dengan laser berintensitas tinggi. Pembacaan menggunakan laser berintensitas rendah untuk menterjemahkan lubang mikroskopik ke dalam bentuk data yang dapat dikenali komputer. Saat mengenai lubang miskrokopik, intensitas sinar laser akan berubah – ubah. Perubahan intensitas ini dideteksi oleh fotosensor dan dikonversi dalam bentuk sinyal digital.Karena disk berbentuk lingkaran, terdapat masalah dalam mekanisme baca dan tulis, yaitu masalah kecepatan. Saat disk membaca data dibagian dekat pusat disk diperlukan putaran rendah karena padatnya informasi data, sedangkan apabila data berada di bagian luar disk diperlukan kecepatan yang lebih tinggi. Ada beberapa metode mengatasai masalah kecepatan ini, diantaranya dengan sistem constant angular velocity (CAV), yaitu bit – bit informasi direkam dengan kerapatan yang bervariasi sehingga didapatkan putaran disk yang sama. Metode ini biasa diterapkan dalam disk magnetik, kelemahannya adalah kapasitas disk menjadi berkurang. Metode lain, yang biasa diterapkan pada disk optik adalah constant linier velocity (CLV), yaitu dalam mengantisipasi kerapatan data pada disk dengan menyesuaikan kecepatan putaran disk yang dikontrol oleh disk drive-nya. Keuntungannya adalah kapasitas disk besar, namun waktu akses secara keseluruhan lebih lambat dibandingkan metode CAV. Layout disk CLV terlihat pada gambar 5.7.

Gambar 5.7 Layout disk CLV
Data pada CD-ROM diorganisasikan sebagai sebuah rangkaian blok-blok. Formasi blok yang umum ditunjukkan pada gambar 5.8. Format ini terdiri dari field-field sebagai berikut :

• Sync : Field sync mengidentifikasikan awal sebuah blok. Field ini terdiri dari sebuah byte yang seluruhnya nol, 10 byte yang seluruhnya satu, dan sebuah byte akhir yang seluruhnya nol.
• Header : Header terdiri dari alamat blok dan byte mode. Mode nol menandakan suatu field data blanko; mode satu menandakan penggunaan kode error-correcting dan 2048 byte data; mode dua menandakan 2336 byte data pengguna tanpa kode error-correcting.
• Data : Data pengguna
• Auxiliary : Data pengguna tambahan dalam mode dua. Pada mode satu, data ini merupakan kode error-correcting 288 byte.

Untuk dapat digunakan diberbagai sistem operasi, perlu adanya sistem file CD-ROM yang standar. Diadakan pertemuan antar produsen CD untuk membahas standar ini di High Sierras (perbatasan California – Nevada) sehingga standar sistem file CD-ROM dikenal dengan sebutan High Sierra (IS 9660). Standar ini meliputi 3 level. Level 1 diantaranya berisi :

• Nama – nama file maksimum 8 karakter, yang secara opsional diikuti dengan nama ekstensi maksimal 3 karakter. (Menyesuaikan sistem operasi MS-DOS. Untuk level 2 mencapai 32 karakter.
• Nama – nama file hanya dapat memuat huruf – huruf besar, digit, dan karakter tambahan tertentu saja.
• Direktori dapat dibuat hingga mencapai 8 tingkat tanpa memuat karakter ekstensi.

  • CD – R
(Compact Disk Recordables) Secara fisik CD-R merupakan CD polikarbonat kosong berdiameter 120 mm sama seperti CD ROM. Perbedaannya adanya alur – alur untuk mengarahkan laser saat penulisan. Awalnya CD-R dilapisi emas sebagai media refleksinya. Permukaan reflektif pada lapisan emas tidak memiliki depresi atau lekukan – lekukan fisik seperti halnya pada lapisan aluminium sehingga harus dibuat tiruan lekukan antara pit dan land-nya. Caranya dengan menambahkan lapisan pewarna di antara pilikarbonat dan lapisan emas. Jenis pewarna yang sering digunakan adalah cyanine yang berwarna hijau dan pthalocynine yang berwarna oranye kekuning-kuningan. Pewarna ini sama seperti yang digunakan dalam film fotografi sehingga menjadikan Kodak dan Fuji produsen utama CD-R. Sebelum digunakan pewarna bersifat transparan sehingga sinar laser berdaya tinggi dapat menembus sampai ke lapisan emas saat proses penulisan. Saat sinar laser mengenai titik pewarna, sinar ini memanaskannya sehingga pewarna terurai melepaskan ikatan kimianya membentuk suatu noda. Noda – noda inilah sebagai representasi data yang nantinya dapat dikenali oleh fotodetektor apabila disinari dengan laser berdaya rendah saat proses pembacaan. Seperti halnya jenis CD lainnya, CD-R dipublikasikan dalam buku tersendiri yang memuat spisifikasi teknisnya yang dikenal dengan Orange Book. Buku ini dipublikasikan tahun 1989.
Terdapat format pengembangan, yaitu ditemukannya seri CD-ROM XA yang memungkinkan penulisan CD-R secara inkremental sehingga menambah fleksibilitas produk ini. Kenapa hal ini bisa dilakukan, karena sistem ini memiliki multitrack dan setiap track memiliki VOTC (volume table of content) tersendiri. Berbeda dengan model CD-ROM sebelumnya yang hanya memiliki VOTC tunggal pada permulaan saja.
  • CD – RW
(Compact Disk Rewritables) Jenis CD ini memungkinkan penulisan berulang kali sehingga jenis ini memiliki nilai kompetitif dibandingkan jenis lain. Namun CD-RW belum banyak dipasaran karena masih relatif mahal.
Karena proses penulisan berulang kali maka secara fisik berbeda dengan CD-R. CD-RW tidak menggunakan lapisan pewarna, namun menggunakan logam paduan antara perak, indium, antimon dan tellurium. CD-RW drive menggunakan laser dalam 3 daya berbeda. Laser berdaya tinggi bertugas melelehkan paduan logam untuk mengubah kondisi stabil kritalin reflektivitas tinggi menjadi kondisi stabil amorf reflektivitas rendah agar menyerupai sebiah pit. Laser berdaya sedang menjadikan logam paduan meleleh dan berubah menjadi kondisi kristalin alamiah sebagai representasi land. Sedangkan laser berdaya rendah digunakan dalam proses pembacaan saja. Saat ini CD-RW belum mampu menggeser penggunaan CD-R karena disamping harganya masih relatif mahal dibandingkan CD-R, juga karena CD-R yang tidak dapat dihapus merupakan backup data terbaik saat ini.
  • DVD
(Digital Versatile Disk, awalnya Digital Video Disk) Merupakan pengembangan CD untuk memenuhi kebutuhan pasar dalam penyimpanan memori besar. Desain DVD sama dengan CD biasa, terbuat dari polikarbonat 1,2 mm yang berisi pit dan land, disinari dioda laser dan dibaca oleh foto-detektor. Hal yang baru adalah :

• Pit – pit lebih kecil (0,4 mikron, atau setengahnya CD biasa)
• Spiral lebih rapat (0,74 mikron, sedangkan pada CD biasa 1,6 mikron)
• Menggunakan teknologi laser merah dengan ukuran 0,65 mikron, sedangkan pada CD biasa 0,78 mikron.
Hal baru diatas menjadikan DVD lebih besar kapasitasnya, yaitu untuk sisi tunggal dan berlapis tunggal 4,7 GB, sedangkan untuk berlapis ganda ataupun bersisi ganda akan lebih besar lagi. Tranfer data pada DVD drive sekitar 1,4 MB/det, sedangkan CD biasa hanya 150 KB/det. Kecepatan, teknologi laser yang berbeda menimbulkan sedikit masalah untuk kompatibilitas dengan teknologi CD maupun CD-ROM. Akan tetapi, saat ini beberapa produsen telah mengantisipasi dengan diada laser ganda ataupun teknologi lain yang memungkinkan saling kompatibel. Saat ini berkembang 4 format DVD, yaitu :

• Bersisi tunggal dengan lapisan tunggal (kapasitas 4,7 GB)
• Bersisi tunggal dengan lapisan ganda (kapasitas 8,5 GB)
• Bersisi ganda dengan lapisan tunggal (kapasitas 9,4 GB)
• Bersisi ganda dengan lapisan ganda (kapasitas 17 GB)

Piringan berlapis ganda memiliki satu lapisan reflektif pada bagiuan bawah, yang ditutup dengan lapisan semireflektif. Lapisan bawah memiliki pit dan land yang lebih lebar agar akurat dalam pembacaan sehingga lapisan bawah berkapasitas lebih kecil daripada lapisan atasnya. Pada piringan bersisi ganda dibuat dengan melekatkan dua sisi disk.
  • Pita Magnetik
Sistem pita magnetik menggunakan teknik pembacaan dan penulisan yang identik dengan sistem disk magnetik. Medium pita magnetik berbentuk track – track paralel, sistem pita lama berjumlah 9 buah
track sehingga memungkinkan penyimpanan satu byte sekali simpan dengan satu bit paritas pada track sisanya. Sistem pita baru menggunakan 18 atau 36 track sebagai penyesuaian terhadap lebar word dalam format digital. Seperti pada disk, pita magnetik dibaca dan ditulisi dalam bentuk blok – blok yang bersambungan (kontinyu) yang disebut physical record. Blok – blok tersebut dipisahkan oleh gap yang disebut inter-record gap. Gambar 5.8 menyajikan format fisik pita magnetik.
Gambar 5.8 Format fisik pita magnetik
Head pita magnetik merupakan perangkat sequential access. Head harus menyesuaikan letak record yang akan dibaca ataupun akan ditulisi. Apabila head berada di tempat lebih atas dari record yang diinginkan maka pita perlu dimundurkan dahulu, baru dilakukan pembacaan dengan arah maju. Hal ini sangat berbeda pada teknologi disk yang menggunakan teknik direct access. Kecepatan putaran pita magnetik adalah rendah sehingga transfer data menjadi lambat, saat ini pita magnetik mulai ditinggalkan digantikan oleh jenis – jenis produk CD.

Minggu, 26 Juni 2011

MEMORY

Memori adalah bagian dari komputer tempat program – program dan data – data disimpan. Bebarapa pakar komputer (terutama dari Inggris) menggunakan istilah store atau storage untuk memori, meskipun kata storage sering digunakan untuk menunjuk ke penyimpanan disket. Tanpa sebuah memori sebagai tempat untuk mendapatkan informasi guna dibaca dan ditulis oleh prosesor maka tidak akan ada komputer – komputer digital dengan sistem penyimpanan program.
Walaupun konsepnya sederhana, memori komputer memiliki aneka ragam jenis, teknologi, organisasi, unjuk kerja dan harganya. Dalam bab ini akan dibahas mengenai memori internal dan bab selanjutnya membahas memori eksternal. Perlu dijelaskan sebelumnya perbedaan keduanya yang sebenarnya fungsinya sama untuk penyimpanan program maupun data. Memori internal adalah memori yang dapat diakses langsung oleh prosesor. Sebenarnya terdapat beberapa macam memori internal, yaitu register yang terdapat di dalam prosesor, cache memori dan memori utama berada di luar prosesor. Sedangkan memori eksternal adalah memori yang diakses prosesor melalui piranti I/O, seperti disket dan hardisk.
  •  Operasi Sel Memori
Elemen dasar memori adalah sel memori. Walaupun digunakan digunakan sejumlah teknologi elektronik, seluruh sel memori memiliki sifat – sifat tertentu :

• Sel memori memiliki dua keadaan stabil (atau semi-stabil), yang dapat digunakan untuk merepresentasikan bilangan biner 1 atau 0.
• Sel memori mempunyai kemampuan untuk ditulisi (sedikitnya satu kali).
• Sel memori mempunyai kemampuan untuk dibaca.
Umumnya sel memori mempunyai tiga terminal fungsi yang mampu membawa sinyal listrik. Terminal select berfungsi memilih operasi tulis atau baca. Untuk penulisan, terminal lainnya menyediakan sinyal listrik yang men-set keadaan sel brnilai 1 atau 0, sedangkan untuk operasi pembacaan, terminal ini digunakan sebagai keluaran.
  • Karakteristik Sistem Memori
Untuk mempelajari sistem memori secara keseluruhan, harus mengetahui karakteristik – karakteristik kuncinya. Karakteristik penting sistem memori disajikan dalam tabel 4.1 berikut :
 Karakteristik penting sistem memori komputer
  • Karakteristik Macam/ Keterangan
Lokasi                       : 1. CPU
                                  2. Internal (main)
                                  3. External (secondary)

Kapasitas                  : 1. Ukuran word
                                  2. Jumlah word

Satuan transfer          : 1. Word
                                  2. Block

Metode akses            : 1. Sequential access
                                  2. Direct access
                                  3. Random access
                                  4. Associative access

Kinerja                      :1. Access time
                                 2. Cycle time
                                 3. Transfer rate

Tipe fisik                  :1. Semikonduktor
                                2. Magnetik

Karakteristik fisik     :1. Volatile/nonvolatile
                                2. Erasable/nonerasable


Dilihat dari lokasi, memori dibedakan menjadi beberapa jenis, yaitu register, memori internal dan memori eksternal. Register berada di dalam chip prosesor, memori ini diakses langsung oleh prosesor dalam menjalankan operasinya. Register digunakan sebagai memori sementara dalam perhitungan maupun pengolahan data dalam prosesor. Memori internal adalah memori yang berada diluar chip prosesor namun mengaksesannya langsung oleh prosesor. Memori internal dibedakan menjadi memori utama dan cache memori. Memori eksternal dapat diakses oleh prosesor melalui piranti I/O, memori ini dapat berupa disk maupun pita.

Karakteristik lainnya adalah kapasitas. Kapasitas memori internal maupun eksternal biasanya dinyatakan dalam mentuk byte (1 byte = 8 bit) atau word. Panjang word umumnya 8, 16, 32 bit. Memori eksternal biasanya lebih besar kapasitasnya daripada memori internal, hal ini disebabkan karena teknologi dan sifat penggunaannya yang berbeda. Karakteristik berikutnya adalah satuan tranfer. Bagi memori internal, satuan tranfer sama dengan jumlah saluran data yang masuk ke dan keluar dari modul memori. Jumlah saluran ini sering kali sama dengan panjang word, tapi dimungkinkan juga tidak sama. 
  • Tiga konsep yang berhubungan dengan satuan transfer :
• Word, merupakan satuan “alami” organisasi memori. Ukuran word biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.
• Addressable units, pada sejumlah sistem, adressable units adalah word. Namun terdapat sistem dengan pengalamatan pada tingkatan byte. Pada semua kasus hubungan antara panjang A suatu alamat dan jumlah N adressable unit adalah 2A =N.
• Unit of tranfer, adalah jumlah bit yang dibaca atau dituliskan ke dalam memori pada suatu saat. Pada memori eksternal, tranfer data biasanya lebih besar dari suatu word, yang disebut dengan block. Perbedaan tajam yang terdapat pada sejumlah jenis memori adalah metode access-nya. 
  • Terdapat empat macam metode :
• Sequential access, memori diorganisasi menjadi unit – unit data yang disebut record. Akses harus dibuat dalam bentuk urutan linier yang spesifik. Informasi mengalamatan yang disimpan dipakai untuk memisahkan record – record dan untuk membantu proses pencarian. Terdapat shared read/write mechanism untuk penulisan/pembacaan memorinya. Pita magnetik merupakan memori yang menggunakan metode sequential access.
• Direct access, sama sequential access terdapat shared read/write mechanism. Setiap blok dan record memiliki alamat unik berdasarkan lokasi fisiknya. Akses dilakukan langsung pada alamat memori. Disk adalah memori direct access.
• Random access, setiap lokasi memori dipilih secara random dan diakses serta dialamati secara langsung. Contohnya adalah memori utama.
• Associative access, merupakan jenis random akses yang memungkinkan pembandingan lokasi bit yang diinginkan untuk pencocokan. Jadi data dicari berdasarkan isinya bukan alamatnya dalam memori. Contoh memori ini adalah cache memori yang akan dibahas di akhir bab ini.
Berdasarkan karakteristik unjuk kerja, memiliki tiga parameter utama pengukuran unjuk kerja, yaitu :

• Access time, bagi random access memory, waktu akses adalah waktu yang dibutuhkan untuk melakukan operasi baca atau tulis. Sedangkan untuk memori non-random akses merupakan waktu yang dibutuhkan dalam melakukan mekanisme baca atau tulis pada lokasi tertentu.
• Memory cycle time, konsep ini digunakan pada random access memory dan terdiri dari access time ditambah dengan waktu yang diperlukan transient agar hilang pada saluran sinyal.
• Transfer rate, adalah kecepatan data transfer ke unit memori atau dari unit memori. Pada random access memory sama dengan 1/(cycle time). Sedangkan untuk nonrandom access memory dengan perumusan :
TN = waktu rata – rata untuk membaca atau menulis N bit
TA = waktu akses rata – rata
N = jumlah bit
R = kecepatan transfer dalam bit per detik (bps)
Jenis tipe fisik memori yang digunakan saat ini adalah memori semikonduktor dengan teknologi VLSI dan memori permukaan magnetik seperti yang digunakan pada disk dan pita magnetik. Berdasarkan karakteristik fisik, media penyimpanan dibedakan menjadi volatile dan nonvolatile, serta erasable dan nonerasable. Pada volatile memory, informasi akan hilang apabila daya listriknya dimatikan, sedangkan non-volatile memory tidak hilang walau daya listriknya hilang. Memori permukaan magnetik adalah contoh no-nvolatile memory, sedangkan semikonduktor ada yang volatile dan non-volatile. Ada jenis memori semikonduktor yang tidak bisa dihapus kecuali dengan menghancurkan unit storage-nya, memori ini dikenal dengan ROM (Read Only Memory).
  • Keandalan Memori
Untuk memperoleh keandalan sistem ada tiga pertanyaan yang diajukan: Berapa banyak ?Berapa cepat? Berapa mahal? Pertanyaan berapa banyak adalah sesuatu yang sulit dijawab, karena berapapun kapasitas memori tentu aplikasi akan menggunakannya. Jawaban pertanyaan berapa cepat adalah memori harus mempu 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 sistem komputer akan tetap cepat namun kebutuhan kapasitas memori besar terpenuhi.



Gambar 4.2 Hirarki memori







  • Satuan Memori
Satuan pokok memori adalah digit biner, yang disebut bit. Suatu bit dapat berisi sebuah angka 0 atau 1. Ini adalah satuan yang paling sederhana. Memori juga dinyatakan dalam byte (1 byte = 8 bit). Kumpulan byte dinyatakan dalam word. Panjang word yang umum adalah 8, 16,dan 32 bit.
Symbol                                              Number of bytes
Kilobytes Kb                                      2e10         1024
Megabyte Mb                                    2e20         1,048,576
Gigabyte Gb                                       2e30         1,073,741,824
Terabyte Tb                                       2e40         1,099,511,627,776

  • Memori Utama Semikonduktor
Pada komputer lama, bentuk umum random access memory untuk memori utama adalah sebuah piringan ferromagnetik berlubang yang dikenal sebagai core, istilah yang tetap dipertahankan hingga saat ini.

1. Jenis Memori Random Akses
Semua jenis memori yang dibahas pada bagian ini adalah berjenis random akses, yaitu data secara langsung diakses melalui logik pengalamatan wired-in. Tabel 4.4 adalah daftar jenis memori semikonduktor utama. Hal yang membedakan karakteristik RAM (Random Access Memory) adalah
dimungkinkannya pembacaan dan penulisan data ke memori secara cepat dan mudah. Aspek lain adalah RAM bersifat volatile, sehingga RAM hanya menyimpan data sementara. Teknologi yang berkembang saat ini adalah statik dan dinamik. RAM dinamik disusun oleh sel – sel yang menyimpan data sebagai muatan listrik pada kapasitor. Karena kapasitor memiliki kecenderungan alami untuk mengosongkan muatan, maka RAM dinamik memerlukan pengisian muatan listrik secara periodik untuk memelihara penyimpanan data. Pada RAM statik, nilai biner disimpan dengan menggunakan konfigurasi gate logika flipflop tradisional. RAM statik akan menyimpan data selama ada daya listriknya.

RAM statik maupun dinamik adalah volatile, tetapi RAM dinamik lebih sederhana dan rapat sehingga lebih murah. RAM dinamik lebih cocok untuk kapasitas memori besar, namun RAM statik umumnya lebih cepat. Read only memory (ROM) sangat berbeda dengan RAM, seperti namanya, ROM berisi
pola data permanen yang tidak dapat diubah. Data yang tidak bisa diubah menimbulkan keuntungan dan juga kerugian. Keuntungannya untuk data yang permanen dan sering digunakan pada sistem operasi maupun sistem perangkat keras akan aman diletakkan dalam ROM. Kerugiaannya apabila ada kesalahan data atau adanya perubahan data sehingga perlu penyisipan – penyisipan. Kerugian tersebut bisa diantisipasi dengan jenis programmable ROM, disingkat PROM. ROM dan PROM bersifat non-volatile. Proses penulisan PROm secara elektris dengan peralatan khusus.

Variasi ROM lainnya adalah read mostly memory, yang sangat berguna untuk aplikasi operasi pembacaan jauh lebih sering daripada operasi penulisan. Terdapat tiga macam jenis, yaitu: EPROM, EEPROM dan flash memory. EEPROM (electrically erasable programmable read only memory) merupakan memori yang dapat ditulisi kapan saja tanpa menghapus isi sebelumnya. EEPROM menggabungkan kelebihan non-volatile dengan fleksibilitas dapat di-update.

Bentuk memori semikonduktor terbaru adalah flash memory. Memori ini dikenalkan tahun 1980-an dengan keunggulan pada kecepatan penulisan programnya. Flash memory menggunakan teknologi penghapusan dan penulisan elektrik. Seperti halnya EPROM, flash memory hanya membutuhkan sebuah transistor per byte sehingga dapat diperoleh kepadatan tinggi.
2 Pengemasan (Packging)
Gambar 4.3a menunjukkan sebuah contoh kemasan EPROM, yang merupakan keping 8 Mbit yang diorganisasi sebagai 1Mx8. Dalam kasus ini, organisasi dianggap sebagai kemasan satu word per keping. Kemasan terdiri dari 32 pin, yang merupakan salah satu ukuran kemasan keping standar. Pin – pin tersebut mendukung saluran – saluran sinyal beikut ini :

• Alamat word yang sedang diakses. Untuk 1M word, diperlukan sejumlah 20 buah (220 = 1M).
• Data yang akan dibaca, terdiri dari 8 saluran (D0 –D7)
• Catu daya keping adalah Vcc
• Pin grounding Vss
• Pin chip enable (CE). Karena mungkin terdapat lebih dari satu keping memori yang terhubung pada bus yang sama maka pin CE digunakan untuk mengindikasikan valid atau tidaknya pin ini. Pin CE diaktifkan oleh logik yang terhubung dengan bit berorde tinggi bus alamat ( diatas A19)
• Tegangan program (Vpp). Konfigurasi pin DRAM yang umum ditunjukkan gambar 4.3b, untuk keping 16 Mbit yang diorganisasikan sebagai 4M x 4. Terdapat sejumlah perbedaan dengan keping ROM, karena ada operasi tulis maka pin – pin data merupakan input/output yang dikendalikan oleh WE (write enable) dan OE (output enable).






Gambar 4.3 Pin dan sinyal kemasan memori


Gambar 4.4 Packging SIMM
3 Koreksi Error
Dalam melaksanakan fungsi penyimpanan, memori semikonduktor dimungkinkan mengalami kesalahan. Baik kesalahan berat yang biasanya merupakan kerusakan fisik memori maupun kesalahan ringan yang berhubungan data yang disimpan. Kesalahan ringan dapat dikoreksi kembali. Untuk mengadakan koreksi kesalahan data yang disimpan diperlukan dua mekanisme, yaitu mekanisme pendeteksian kesalahan dan mekanisme perbaikan kesalahan. Mekanisme pendeteksian kesalahan dengan menambahkan data word (D) dengan suatu kode, biasanya bit cek paritas (C). Sehingga data yang disimpan memiliki panjang D + C. Kesalahan akan diketahui dengan menganalisa data dan bit paritas tersebut. Mekanisme perbaikan kesalahan yang paling sederhana adalah kode Hamming. Metode ini diciptakan Richard Hamming di Bell Lab pada tahun 1950.








Gambar 4.5 Koreksi kesalahan dengan kode Hamming

Perhatikan gambar 4.5, disajikan tiga lingkaran Venn (A, B, C) saling berpotongan sehingga terdapat 7 ruang. Metode diatas adalah koreksi kesalahan untuk word data 4 bit (D =4). Gambar 4.5a adalah data aslinya. Kemudian setiap lingkaran harus diset bit logika 1 berjumlah genap sehingga harus ditambah bit – bit paritas pada ruang yang kosong seperti gambar 4.5b. Apabila ada kesalahan penulisan bit pada data seperti gambar 4.5c akan dapat diketahui karena lingkaran A dan B memiliki logika 1 berjumlah ganjil.

Lalu bagaimana dengan word lebih dari 4 bit ? Ada cara yang mudah yang akan diterangkan berikut. Sebelumnya perlu diketahui jumlah bit paritas yang harus ditambahkan untuk sejumlah bit word. Contoh sebelumnya adalah koreksi kesalahan untuk kesalahan tunggal yang sering disebut single error correcting (SEC). Jumlah bit paritas yang harus ditambahkan lain pada double error correcting (DEC). Tabel 4.5 menyajikan jumlah bit paritas yang harus ditambahkan dalam sistem kode Hamming.

Tabel 4.5 Penambahan bit cek paritas untuk koreksi kode Hamming.

# Data Bits                         # Bit Paritas SEC                      # Bit Paritas DEC
        8                                             4                                                5
      16                                             5                                                6
      32                                             6                                                7
      64                                             7                                                8
    128                                             8                                                9
    512                                             9                                               10

Mekanisme koreksi kesalahan akan meningkatkan realibitas bagi memori tetapi resikonya adalah menambah kompleksitas pengolahan data. Disamping itu mekanisme koreksi kesalahan akan menambah kapasitas memori karena adanya penambahan bit – bit cek paritas. Jadi ukuran memori akan lebih besar beberapa persen atau dengan kata lain kapasitas penyimpanan akan berkurang karena beberapa lokasi digunakan untuk mekanisme koreksi kesalahan.

  •  Cache Memori
Cache memori difungsikan mempercepat kerja memori sehingga mendekati kecepatan prosesor.  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 4.6 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 4.7 Organisasi cache memori
  • Elemen Rancangan
Walaupun terdapat banyak implementasi cache, namun dari sisi organisasi maupun arsitekturnya tidak banyak macamnya.

Tabel 4.6 Unsur – unsur rancangan cache memori
Unsur                                                                    Macam
Kapasitas                                                                   -
Ukuran blok                                                               -
Mapping                                                               1. Direct Mapping
                                                                            2. Assosiative Mapping
                                                                            3. Set Assosiative Mapping

Algoritma pengganti                                              1. Least recently used (LRU)
                                                                            2. First in first out (FIFO)
                                                                            3. Least frequently used (LFU)
                                                                            4. Random
Write Policy                                                          1. Write Througth
                                                                            2. Write Back
                                                                            3. Write Once
Jumlah Cache                                                       1. Singe atau dua level
                                                                            2. Unified atau split
  •  Kapasitas 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 Blok
Elemen rancangan yang harus diperhatikan lagi adalah ukuran blok. Telah dijelaskan adanya sifat lokalitas referensi maka nilai ukuran blok sangatlah penting. Apabila blok berukuran besar ditransfer ke cache akan menyebabkan hit ratio mengalami penurunan karena banyaknya data yang dikirim disekitar referensi. Tetapi apabila terlalu kecil, dimungkinkan memori yang akan dibutuhkan CPU tidak tercakup. Apabila blok berukuran besar ditransfer ke cache, maka akan terjadi :

1. Blok – blok yang berukuran lebih besar mengurangi jumlah blok yang menempati cache. Karena isi cache sebelumnya akan ditindih.
2. Dengan meningkatnya ukuran blok maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta, sehingga menjadi lebih kecil kemungkinannya digunakan cepat.

Hubungan antara ukuran blok dan hit ratio sangat rumit untuk dirumuskan, tergantung pada karakteristik lokalitas programnya dan tidak terdapat nilai optimum yang pasti telah ditemukan. Ukuran antara 4 hingga 8 satuan yang dapat dialamati (word atau byte) cukup beralasan untuk mendekati nilai optimum [STA96].
  •  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.

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.

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

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 First In First Out (FIFO), yaitu mengganti blok data yang awal masuk. Kemudian Least Frequently Used (LFU) adalah mengganti blok data yang mempunyai referensi paling sedikit. Teknik lain adalah algoritma Random, yaitu penggantian tidak berdasakan pemakaian datanya, melainkan berdasar slot dari beberapa slot kandidat secara acak.
  •  Write Policy
Apabila suatu data telah diletakkan pada cache maka sebelum ada penggantian harus dicek apakah data tersebut telah mengalami perubahan. Apabila telah berubah maka data pada memori utama harus di-update. Masalah penulisan ini sangat kompleks, apalagi memori utama dapat diakses langsung oleh modul I/O, yang memungkinkan data pada memori utama berubah,lalu bagaimana dengan data yang telah dikirim pada cache? Tentunya perbedaan ini menjadikan data tidak valid. Teknik yang dikenalkan diantaranya, write through, yaitu operasi penulisan melibatkan data pada memori utama dan sekaligus pada cache memori sehingga data selalu valid. Kekurangan teknik ini adalah menjadikan lalu lintas data ke memori utama dan cache sangat tinggi sehingga mengurangi kinerja sistem, bahkan bisa terjadi hang. Teknik lainnya adalah write back, yaitu teknik meminimasi penulisan dengan cara penulisan pada cache saja. Pada saat akan terjadi penggantian blok data cache maka baru diadakan penulisan pada memori utama. Masalah yang timbul adalah manakala data di memori utama belum di-update telah diakses modul I/O sehingga data di memori utama tidak valid. Penggunaan multi cache terutama untuk multi prosesor adan menjumpai masalah yang lebih kompleks. Masalah validasi data tidak hanya antara cache dan memori utama saja, namun antar cache juga harus diperhatikan. Pendekatan penyelesaian masalah yang dapat dilakukan adalah dengan :

• Bus Watching with Write Through, yaitu setiap cache controller akan memonitoring bus alamat untuk mendeteksi adanya operasi tulis. Apabila ada operasi tulis di alamat yang datanya 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 digunakan secara bersama. Apabila ada mengaksesan data yang tidak di share merupakan kegagalan cache.
  •  Jumlah Cache
Terdapat dua macam letak cache. Berada dalam keping prosesor yang disebut on chip cache atau cache internal. Kemudian berada di luar chip prosesor yang disebut off chip cache atau cache eksternal. Cache internal diletakkan dalam prosesor sehingga tidak memerlukan bus eksternal, akibatnya waktu aksesnya akan cepat sekali, apalagi panjang lintasan internal bus prosesor sangat pendek untuk mengakses cache internal. Cache internal selanjutnya disebut cache tingkat 1 (L1). Cache eksternal berada diluar keping chip prosesor yang diakses melalui bus eksternal. Pertanyaannya, apakah masih diperlukan cache eksternal apabila telah ada cache internal? Dari pengalaman, masih diperlukan untuk mengantisipasi permintaan akses alamat yang belum tercakup dalam cache internal. Cache eksternal selanjutnya disebut cache tingkat 2 (L2). Selanjutnya terdapat perkembangan untuk memisah cache data dan cache instruksi yang disebut unified cache. 

Keuntungan unified cache adalah :

• Unified cache memiliki hit rate yang tinggi karena telah dibedakan antara informasi data dan informasi instruksi.
• Hanya sebuah cache saja yang perlu dirancang dan diimplementasikan. Namun terdapat kecenderungan untuk menggunakan split cache, terutama pada mesin – mesin superscalar seperti Pentium dan PowerPC yang menekankan pada paralel proses dan perkiraan – perkiraan eksekusi yang akan terjadi. Kelebihan utama split cache adalah mengurangi persaingan antara prosesor instruksi dan unit eksekusi untuk mendapatkan cache, yang mana hal ini sangat utama bagi perancangan prosesor – prosesor pipelining.