Sistem BUS
-
Upload
independent -
Category
Documents
-
view
0 -
download
0
Transcript of Sistem BUS
SISTEMBUS, CPU DAN I/O
3.1 BUS
3.1.1 Jenis Bus
Bus Lakal
bus lokal umumnya terbagi dalam tiga jenis, yaitu bus
alamat,
bus data, atau bus control
Bus Sistem
adalah komponen fungsional independendari komputer.
Setiap bus sitem mempunyai sirkuit control sendiri yang
disebut bus controller (pengontrol bus), dan dalam
setiap pengontrol bus ada arbiter,yang memproses request
untuk mengguna kanbus
Bus Lokal Yang Diperluas adalah bus lokal dengan
ekstensi khusus untuk penggunaan di luar CPU
ARKOM Page 1
Bus
lokalyangdiperluasmempunyaioperasionalyangfleksibeldan
memberikan program tambahan (platform)untuk ekspansi
sistem.Contohnya adalahIBM PC IJ o Channel Bus dan IBM
Micro Channel Architecture(MCA).
3.1.2 Transfer Bus dan Signal Kontrol
Bus transfer (transfer bus) adalah transmisi dari satu
atau beberapa informasi melewati bus.
ARKOM Page 2
3.2 CENTRAL PROCESSING UNIT (UNIT PEMROSESAN
SENTRAL)"
3.2.1 ALU
Semua komputer mempunyai functional unit (unit
fungsional) yang menjalankan operasi aritmetik, logika.
dan shift yang dikehendaki oleh set instruksi komputer.
ARKOM Page 3
3.2.2 UNIT KONTROL
Tugas unit kontrol adalah mengontrol siklus mesin von
Neumann: .
1. Menjemput instruksi berikutnya yang akan dijalankan
dari memori, menempatkannya dalam register instruksi
(IR) (Langkah 1 dalam Gambar 3.5b), dan menambahkan
(increment) PC untuk menunjukkan atau mengarahkan ke
instruksi berikutnya yang ada dalam memori (Langkah 2
dalam Gambar 3.5b).
2. Mendekode dan menjalankan instruksi yang bam saja
dijemput.
ARKOM Page 4
Unit Kontrol Mikroprogrammed
Gambar 3.7 melukiskan model konseptual untuk kontrol mesin
mikroprogrammed. Pertama kali unit kontrol menjemput
instruksi dari memori. Kemudian ia mengubah instruksi
tersebut menjadi seri mikroinstruksi. Untuk melakukan ini, ia
menggunakan translator mikroprogram, yakni peralatan yang
meneliti tabel, untuk menerjemahkan op code instruksi menjadi
alamat mikroinstruksi.Denganmenggunakanalamatini,
prosesormikroinstruksimenjemput rangkaianpertama
mikroinstruksidari memorinya,atau kadang-kadangdari memori
utama. Setelah menjemputsetiap
mikroinstruksi,prosesormenghasilkannyadengan carn mengirimkan
mikroorder yang tepat melalui jalur bus kontrol. Translator
mikroprogram dan prosesor mikroinstruksimerupakan bagian dari
unit kontrol.
ARKOM Page 5
Operasi Biasa
Selama operasi biasa (ordinary operation), sequencer
menghasilkan signal kontrol yang mengatur unit kontrol.
Signal kontrol ini adalah mikroorder yang dipatuhi oleh unit
kontrol (mikroorder yang menjadi pengatur unit
kontrol).Dengan Menggunakan generator jam untuk pewaktuan
(timing), sequencer akan menghasilkan signal yang mengawali
tetjadinya serangkaian tindakan yang berulang-ulang,seperti
di bawah ini. Nomor yang ada dalam kurung kurawal menunjukkan
signal control yang dihasilkan oleh sequencer, seperti
terlihat pada Gambar 3.8.
1. Sequencer menyebabkan tetjadinya penempatan alamat dalam
Jl.PC,baik dengan cara mengirimkan signal jam ke IlPC
{5} sehingga memuat nilai dari putaran komputasi
alarnat, atau dengan menambah (increment) nilai dalam
IlPC {6}. Ia juga menghapus buffer atau penyangga
mikroinstruksi {4}.
2. Sequencer mengawali baca toko kontrol (control-store
read) {7} untuk mikroinstruksi teralamat dan
mentransfernya ke dalam buffer mikroinstruksi
ARKOM Page 6
3. Sequencer menyebabkan dekode mikroinstruksimenghasilkan
mikroinstruksi
Startup Mesin
startup mesin, unit kontrol memunculkan atau menandai
(initialize) berbagai macam register (baik dengan
menghapusnya atau memberikan nilai tertentu kepadanya).
Kemudian,ia memuat alamat yang dihasilkan hardware ke dalam
PC
(bukan dalam ~) dan mulai berjalan. Untuk beberapa mesin,
alamat yang dimuatkan hardware (hardware-loadedaddress)
adalah reset vector (vektor reset),
yang merupakan alamat dari instruksi pertama yang akan
dijalankan mesin setelah berjalan. Untuk mesin yang
menggunakan vektor reset. unit kontrol akan segera memulai
operasi biasa setelah memuat vektor reset ke dalam pC
ARKOM Page 7
Pengorganisasian (penyusunan) Mikroprogram Da/am Toko Kontro
setiap instruksi mesin akan mempunyai urutan atau
rangkaian mikroinstruksi sendiri dalam toko kontrol. Lebih
dari itu, toko kontrol berisi mikroinstruksiuntuk penjemputan
instruksi,pelaksanaan (initiation) interrupt, dan segala
aktivitas lain yang ia kontro
ARKOM Page 8
Mikroprogramming (Opsional)
Dalam arti sederhana, mikroprogramming adalah seni
menulis atau membuat mikroprogram untuk unit kontrol.
Dalam arti yang lebih mendalam, mikroprogramming adalah
proses penentuan atau penetapan signal kontrol yang
mengimplementasi set instruksi komputer. Tanpa memandang
jenis komputernya,
signal kontrol selalu mengatur aktivitas komputer, dan
tanpa mempedulikan apakah yang menghasilkan signal
kontrol tersebut adalah unit kontrol konvensional ataukah
unit kontrol mikroprogrammed, rangkaian signal kontrolnya
tetap sama.
Unit Kontrol Konvensional
Seperti halnya dengan unit kontrol rnikroprogrammed;pada
waktu menjalankan instruksi mesin dalam set instruksi
komputer, unit control konvensional juga menghasilkan
suatu rangkaian rnikroinstruksi. Perbedaannya terletak
pada kenyataan bahwa gate logikanya menggenerasi semua
rnikro-order
sehingga eksekusinya lebih cepat
3.2.3 Hardware dan Instruksi Pemrosesan Exception
Exception adalah branch yang ditimbulkan oleh
hardware pemrosesan exception. Selama exception, CPU
menjalankan branch dengan suatu cara sehingga ia dapat
menjalankan kembali program yang diinterupsi pada point
ARKOM Page 9
interupsi seolaholah tak ada sesuatu yang telah teIjadi.
Bagian ini akffi1mendeskripsikan motivasi untuk
exception dan hardware pemrosesan exception yang pokok.
Persyaratan untuk exception adalah:
CPU membutuhkanhardware,operasi,dan instruksikhusus
untuk menyimpan dan memulihkan kembali register kund.
Hardware hams disertai dengan suatu cara untuk
mengadakan operasi dan instruksi tersebut.
Sistem pengoperasian hams dilengkapi dengan cara
terorganisasi untuk mengalokasi dan mengeluarkan
memori untuk kepentingan program yang diinterupsi, dan
ia hams dilengkapi dengan program yang mempunyai save
area untuk tempat konteks prosesornya
Exception Prioritas dan Vektor Exception
ARKOM Page 10
Permulaan Exception mikroprogram adalah branch ke mikrokode
penjemputan. Untuk memproses interrupt, unit kontrol hanya
menjalankan branch kondisional ke mikrokode penjemputan,
dengan kondisi adalah test untuk signal interrupt-pending.
Bila signal interruptpending adalah true, maka putaran
komputasi alarnat akan memodiftkasi alarnat branch dan
mencabang ke mikrokode interrupt-initiation, bukannya ke
mikrokode fetch (penjemputan). waktu yang bisa digunakan oleh
kontrol unit dalarn mengawali interrupt adalah waktu antara
eksekusi instruk!ii, bukannya waktu selarna eksekusi
instruksi tersebut, dan tak ada biaya tambahan berkenaan
dengan siklus jarn yang digunakan unt;uk test interrupt-
pending. Unit kontrol mengawali trap dengan cara yang harnpir
sarna. Ketika ia mendapati op code yang tidak valid atau
kondisi kesalahan aritmetik, misalnya, maka ia menjalankan
branch mikrokode yang sesuai untuk memulai pemrosesan trap.
Kesamaannya berlaku pula untuk pemrosesan reset: Unit kontrol
mencabang ke mikrokode reset,' bukannya ke mikrokode
penjemputan. Mikrokode yang digunakan untuk mengawali
exception adalah sarna dengan mikrokode yang lain. Kita
asumsikan bahwa komputer menggunakan tabel vector exception.
Pertama kali unit kontrol akan menyimpan register kunci
ARKOM Page 11
(misalnya PC dan flag status) dalarn save area atau stack
(tergantung pada komputernya).
Exception Masking (Perlindungan Exception)
ARKOM Page 12
3.3 SYSTEM I/O
Komponen vital dari segala arsitektur komputer adalah
sistem I/O-nya. Ia
adalah set dari semua peralatanI/O yang ada dalam
sistem,yang meliputi peralatan I/O fisik dan peralatan
interface I/O. Peralatan I/O fisik adalah peralatan yang
benar-benar menjalankan I/O, seperti printer baris,
tampilan video, dan console.
3.3.1 CPU-controlled va (va yang dikon~rol CPU)
Komputer pada pertengahantabun 1950-antelah dapat
digunakan secara lebih baik, namun harganya hanya dapat
dijangkau oleh pemerintah dan perusahaan yang sangat
besar. Salah satu harapan arsitek computer adalah dapat
merancang computer yang CPU-nya memiliki kegunaan
semaksimal mungkin. Peralatan I/O bersifa mekanis dan
kecepatannya dibatasi oleh komponen mekanis (biasanya
pada order rnilisecond). Ada beberapa pemecahan yang
dilakukan, yang didasarkan pada tiga perkembangan dasar:
1. Sistem pengoperasian multiprogramming. Sistem
pengoperasian ini memuat beberapa program yang berbeda
ke dalam memori sekaligus. CPU dapat menjalankan satu
program, sementara program yang lain menunggu operasi
input atau output.
ARKOM Page 14
2. Sistem penyimpanari multiported. Peralatan ini
memungkinkan beberapa prosesor mengakses memori secara
serentak, atau melakukan request untuk menjalankan
siklus memori. Peralatan I/O dan CPU kemudian dapat
membagi (menggunakan bersarna) sistem penyimpanan yang
sama.
3. Prosesor I/O. Interface I/O khusus yang me1iputi
peralatan yang disebutl channel DMA dan unit pemrosesan
tambahan (U) ini dapat mengontrol peralatan I/O tanpa
mengganggu CPU.
3.3.2 Sistem Pengoperasian Multiprogramming
Sistem pengoperasian
multiprogrammingmenyeimbangkanmemori, memuat
setiapprogramke dalampartisiyang berbeda,dan
membatasiprogramke partisinya sendiri, mungkin dengan
menggunakan teknik re10Rasidan proteksi Pada waktu program
menginginkan informasi dari peralatan ekstemal (input),
atau ia ingin mengirim informasi ke peralatan ekstem'al
(output), ia meminta servis I/O dari sistem pengoperasian.
Ia mela1rukan request dengan menempatkanparameter request
I/O yang sesuai dari tempat yang telah ditentukan
sebelumnya (mailbox) dan dengan memanggil system
pengoperasian (misalnya, dengan menggenerasi trap yang
mempunyai instruksi SUPERVISOR CALL).
3.3.3 Penyimpanan Multiported
ARKOM Page 15
Komputer awal mempunyai CPU dan sistem penyimpanan yang
terpadu, dan hanya CPU yang bisa mengakses memori. Namun
demikian, karena adanya permintaan multiprogramming dan
kebutuhan prosesor I/O yang independen, maka para
perancang mengembangkan berbagai jenis hardware yang
memungkinkan lebih dari satu peralatan untuk mengakses
sistem penyimpanan yang sama. Contohnya adalah bus sistem.
Peralatan yang sempa adalah memory-traffic controller
(pengontrol lalu-lintas memori), yang juga disebut memory-
port controller (pengontrol port memori). Pengontrol port
memori pada hakikatnya adalah sirkuit pengubah yang
menerima request dari beberapa peralatan yang bemsaha
untuk mendapatkan memori, memprioritaskan request, dan
menghubungkan peralatan yang mempunyai prioritas tertinggi
ke memori.
ARKOM Page 16
Ada banyak cara untuk menentukan atau memi1ih peralatan
I/O yang mana
yang akan diberi akses ke memori. Beberapa algoritma
pemrioritasan atau prptoko1 adalah sebagai berikut:
Dicocokkan dengan nomor peralatan. Pengontro1 port
memori menentukan peralatan yang mempunyai nomor
peralatan terendah, misalnya N, ketika adabeberapa
peralatan meminta servis secara bersarnaan.
Melingkar. Pengontro1 port memori menentukan peralatan
berikutnya secara urut, yaitu dengan menjalankan kembali
peralatan pertama apabila ia te1ah me1akukan servis
terhadap peralatan terakhir.
Pembagian waktu. Pengontro1 port memori memberikan
se1ang waktu yang sarna (pasti) kepada setiap peralatan.
Jika ada 10 peralatan, misa1nya, maka setiap peralatan
memiliki akses ke memori sebesar sepersepu1uh waktu.
3.3.4 DMAva (va aksesmemor;langsung)
Peralatanhardwareyang secaralangsungmengontrol
transferdata ke dan dari memori utama disebut direct-
memory-access (DMA) controller (pengontrol akses memori
langsung). Untuk setiap transfer data, CPU mengirimkan
pengontrol DMA yang digunakan alamat memori untuk blok
data, jumlah byte yang akan ditransfer, dan arah transfer
(input atau output). Pengontrol DMA menjalankan transfer
tanpa campur tangan CPU dan menginterupsi CPU ketika ia
selesai menjalankan transfer.
Beberapa sistem, khususnya mesin ffiM, menggunakan
prosesor I/O sederhana yang disebut channel, yang
ARKOM Page 17
menjalankan I/O DMA di bawah kontrol program yang sangat
sederhana yang disebut program channel. Channel pertama
(awal) hanya mempunyai sedikit memori atau tak mempunyai
sama sekali dan hanya mempunyai set instruksi yang sangat
sederhana.
Channel DMA
Channel DMA, yang terutarna digunakan oleh ffiM,
merupakan mesin von Neumann sederhana. la mempunyaiPC dan
set register sendiri, namun ia berbeda dengan mesin von
Neumann dalam hal penggunaan memori utama CPU. Arsitek
merancangnya terutama untuk mengontrol peralatan I/O
fisik, seperti tape drive, disk drive, line printer,dan
sebagainya.Denga demikian,ia mempunyaiset instruksi yang
sangat sederhana. Memori channel pada channel pertama
(awal) umumnya hanya terbatas untuk mengontrol register
dan buffer (penyangga) I/O. Ia adalah
channel yang digunakan untuk mengasembling word dari data
input sebelum mentransfemya ke memori utama, atau yang
digunakan untuk menyimpan word dari data output selagi ia
menyiapkannyauntuk ditransfer ke peralatan output.
Gambar 3.22 menunjukkan komponen hardware pokok dari
suatu komputer
yang menggunakanchannelDMA.Gambartersebutjuga
menunjukkanjalur control biasa yang melewati CPU dan yang
melewatichannel. Instruksi I/O mengaktifkan jalur kontrol
tersebut, yang pada gambar tersebut diberi tanda 510, mo,
TIO, dan TCH. Jalur kontrol menjalankan, menghentikan,
ARKOM Page 18
dan menguji channel. Channel menggunakanjalur yang
berlabel CC dan INT untuk mengkontak CPU. Channel
melakukan request interruptI/O dengan cara
mengirimkansignal pada INT, dan ia menyampaikan informasi
status ke CPU dengan cara mengirimkannilai pada jalur
kode kondisi yang diberi label CC. CPU dan channel
mentransfersemua informasi lain melalui lokasi memori
utama tertentu. Dimana lokasi tersebut dapat mereka baca
dan tulis. Dan mereka mematuhi channel protocol pembatas,
yang akan kita bahas secara singkat selanjutny.
ARKOM Page 19
Program Channel
Programmer menyusun atau mengorganisir perintah channel
menjadi channel
program (program channel). Program channel merupakan
rangkaian perintah channel untuk operasi I/O lengkap.
Kebanyakan perintah channel mengontrol peralatan I/O,
namun beberapa yang lain, seperti TRANSFER IN CHANNEL.
Mempakan instruksi branch. Jadi, channel dapat mencabang
dari satu bagian program channel ke bagian yang lain,
yakni loop, atau dapat menjalankan branch kondisional
menurut outcome (hasil) dari operasi I/O. Prinsip ini
seperti untuk komputer biasa, dan kita tidak akan
membahasnya lebih jauh.
Hardware Channel
setiap channel mempunyai unit kOQtrolnya sendiri, set
register sendiri, dan set instruksi sendiri. Registernya
meliputi fC, IR, dan satu atau beberapacounter,
registeralamat data, buffer untuk menyimpandata, dan
register kontrol tambahan untuk proteksi memori atau
servis yang lain.
ARKOM Page 20
Gambar 3.23. Register channel mempunyaiberbagai nama,
seperti register alamat perintah (sebagai pengganti PC)
dan register alamat perintah (pengganti register
instruksi). Walaupun demikian, PC dan IR mempunyai fungsi
yang sarna untuk channel seperti yang mereka lakukan
terhadap CPU.Register alamat data menyimpan alamat memori
utama dari word atau byte yang sedang ditransfer. Counter
menyimpanjumlah byte total yang akan ditransfer channel
dan jumlah byte yang telah ditransfer, dan buffer
menyimpan data yang sedang diasembling atau yang sedang
tidak diasembling. Sebagai contoh, jika sistem
penyimpanan memproses doubleword dan peralatan I/O
memproses byte, channel harns mengasembling 8 byte
menjadi double word untuk input, dan ia harns memecahkan
(disamble) doubleword menjadi 8 byte untuk output. Karena
prinsip operasinya sama dengan yang digunakan untuk
operasi CPU.
ARKOM Page 21
Protokol Channel
Berikut adalah ringkasan tindakan dalam protokol
channel. Nomor eli,bawah ini bersesuaian dengan nomor
dalam lingkaran yang ada pada Gambar 3.24.
1. Sistem pengoperasian (CPU) menciptakan program channel
dan memuatnya ke dalam memori pada alamat P.
2. Kemudian ia menjalankan instruksi START I/O ke channel
dan memberinya alamat program channel, yakni P.
Sekarang CPU bebas melakukan tugas lain yang tidak
berhubungan dengan program channel sampai Langkah 5.
3. Channel memuatkan PC-nya yang mempunyai nilai P dan
menjalankan program channel tanpa campur tangan CPU.
4. Program channel mengontrol peralatan I/O yang
mentransfer data yang dibutuhkan secara langsung dari
tape drive ke memori utama.
5. Bila telah selesai, channel menginterupsi CPU untuk
memberitahu CPU tersebut bahwa program channel telah
selesai dikerjakan. Sekarang CPU mungkin akan memberi
tugas barn kepada channel dan menjalankan kembali
program pertama yang telah meminta operasi I/O.
ARKOM Page 22
Penyerobotan Siklus (Cycle Stealing)
Apabila dua peralatan secara serentak meminta (request)
akses memori, maka salah satunya harns menunggu. Jika
salah satu peraltan tersebut adalah CPU dan yang satunya
adalah channel, maka pengontrol memori biasanya memberi
prioritas yang lebih tinggi kepada channel karena alasan
tertentu. Untuk peralatan yang lambat, jumlah akses memori
adalah sangat keci bila dibandingkan dengan jumlah akses
memori CPU. Oleh karena itu, penyerobotan siklus memori
yang dilakukan channel dari CPU tidak akan banyak
mempengarnhi kinerja CPU. Untuk peralatan yang cepat,
seperti disk, jika channel tidak dapat mentransfer data ke
dan dari disk dan membebaskan buffemya untuk item
selanjutnya, maka ia mungkin tidak boleh melakukan akses
baca dan tulis dan harns menunggu seluruh revolusi disk.
Bila channel tidak melakukan akses disk maka hal ini akan
menurunkan kinerja system (yakni, mengurangi efisiensi
sistem) lebih banyak dari pada menyimpan CPU untuk
beberapa siklus Channel tidak perlu menyerobot siklus CPU
ketika ia mengakses memori utama. Banyak pengontrol port
memori mempunyai beberapa port (lintasan data independen)
ke memori. Juga, banyak memori mempunyai bank independen
ARKOM Page 23
yang dihubungkan ke pengontrol port memori melalui
berbagai port. Apabila system dilengkapi dengan hardware
ini, maka berbagai peralatan yang berbeda dapat mengakses
bank memori independen secara serentak. Sebagai contoh,
channel dapat memuatkan program ke dalam bank memori
sementara CPU secara serentak menjalankanprogramyang ada
di luar bank yang berbeda.Namun demikian, dalam prakteknya
selalu terdapat beberapa point pelanggaran, dan channel
menyerobot siklus dari CPU Unit Pemrosesan Peripheral
3.3.5 I/O Yang Dipetakan Memori (memory-mapped I / O)
Banyak komputer yang mempunyai instruksi I/O untuk
mengontrol peralatan I/O. Komputer ini menggenerasi signal
khusus yang membedakan operasi I/O dengan operasi akses
memori. Pada waktu menjalankan instruksi I/O, komputer ini
mengeluarkan signal yang menunjukkan operasi I/O, dan
mereka menggenerasi alamat peralatan I/O, yang mereka
tempatkan pada bus alamat. Karena alarnat ini bisa berupa
alamat peralatan I/O atau mungkin alamat memori, maka
peralatan I/ o beroperasi dalam satu ruang alamat yang
disebut I/O-address space (ruang atamat I/O), dan
instruksi akses memori beroperasi dalam ruang alamat
independen yang disebut memory-address space (ruang alamat
memori). Prosesor yang menggunmean I/O yang
dipetIDcanmemori (memory-mapped I/ 0) tidmememerlukan
instruksl I/O khusus. Operasi store ke port output
mengirimkan data ke peralatan interface PPI/O yang
digabungkan, dan operasi load' dari port input menerima
ARKOM Page 24
data dari peralatan interface. I/O yang dikontrol CPU dan
I/O yang dipetIDeanmemori bukan merupmean konsep yang
terpisah, dan komputer yang mempunyai instruksi I/O bisa
juga menggunmean I/O yang dipetIDeanmemori. Contohnya
adalah PC ffiM.
3.3.6 Pera/atan I/O Fisik
Intelligent peripheral devices (peralatan pendukung
pintar) yaitu peralatan yang mempunyai pengontrol yang
menyembunyikan sifat tertentu dari peralatan tersebut dari
CPU dan seringkali juga menyangga (buffer) data merupakan
langkah awal yang memberi arsitek satu macam
ketidaktergantungan alat. Sebagai contoh, komputer
mengalamati beberapa disk hanya dengan nomor sektor,
bukannya dengan nomor sektor, nomor track, dan nomor
silinder. Bagian berikut ini mengemukakan deskripsi
singkat mengenai beberapa peralatan I/O biasa. Pera/atan
Penyimpanan Pendukung
Banyak peralatan dilengkapi dengan CPU yang mempunyai
jumlah external
storage (penyimpanan di luar memori utama) yang besar, dan
CPU mengakses peralatan ini dengan menggunakan sistem I/O.
Dua contohnya adalah tape drive dan disk drive, yang
masing-masingmenyimpandata pada tape magnetis dan disk
magnetis. CPU mengakses data (atau blok data) dengan cara
menampilkan system I/O dengan deskripsi mengenai media I/O
(misalnya, nama tape atau nama disk), dengan jumlah word
atau byte yang akan ditransfer, dengan arab transfer
ARKOM Page 25
(input atau output), dan dengan alamat dari word atau byte
pertama yang ada pada media penyimpanan.Program yang
meminta data juga hams mendeskripsikanorganisasi atau
susunan data yang ada pada media-penyimpanan kita akan
membOOassecara singkat mengenai dua peralatan penyimpanan
umum, yakni tape drive dan disk drive
.
Tape Drive
Tape drive menyimpan datanya pada tape (pita) magnetis,
yang menyerupai pita yang digunakan dalam sistem audio
biasa. Beberapa tape drive menggunakan pita reel-to-reel
(kumparan ke kumparan); sedangkan yang beberapa yang
lainnya menggunakan kaset pita. Mekanisme transportasi
fisik menggerakkan tape magnetis melintasi head
bacaltulis, dengan head ini dapat membaca dan menulis data
yang secara fisik berada di bawOOnya.Beberapa tape drive
dapat membaca atau menulis satu bit pada sekali waktu;
sedangkan yang lainnya mempunyai beberapa sirkuit
bacaltulis yang berdekatan dan mereka dapat membaca atau
menulis beberapa bit (yakni, satu byte) secara serentak.
Selain itu, tape drive harns memproses bit atau byte yang
berurutan secara serial. Oleh karena itu, peralatan ini
dianggap sebagai sequental-access devices (peralatan akses
urut).
Disk Drive
ARKOM Page 26
Disk magnetis adalOOalat penyimpanan yang bentuknya
menyerupai phonograph record (piringan hitam). Namun,
permukaan disk halus, dan ia dilapisi dengan bOOanmagnetis
yang menyerupai bOOanyang melapisi tape (pita) magnetis.
Disk magnetis yang tidak fleksibel disebut hard disk;
sedangkan disk magnetis yang fleksibel disebut floppy disk
(disket).
Peralatan yang
menyimpan atau
mengendalikan dan memproses mereka disebut disk drive.
Disk drive bisa menyimpan satu atau beberapa disk. Floppy
drive biasanya menyimpan satu disk; hard drive yang
memiliki disk yang tidak bisa dikeluarkan biasanya
menyimpan beberapa disk yang disebut platter (piringan).
Platter semuanya berada pada kumparan yang sarna dan
berotasi bersama.
Setiap platter mempunyai permukaan atas dan bawOO,namun
disk drive seringkali tidak menggunakan semua permukaan
tersebut. Read-write head (head baca-tulis) yang ada dalam
disk drive membaca dan menulis data pada platter
(piringan). Setiap permukaan disk yang dapat digunakan
mungkin mempunyai satu head, beberapa head, atau sebanyak
satu head untuk setiap track (lihat di bawah ini), dan
ARKOM Page 27
disk drive biasa bisa mempunyai beberapa head untuk tiap
permukaan. Disk drive yang dilukiskan pada Gambar 3.25(a)
mempunyai tiga platter dan tiga head bacatulis. Apabila
disk drive mempunyai satu head baca-tulis untuk setiap
permukaan (yang paling umum), maka susunan head mekanis
tunggal menyimpan semua head baca-tulis dan menempatkannya
secara serentak. Disk drive biasanya menyusun datanya ke
dalam track, yaitu lintasan siIikulasi data (lihat Gambar
3.25(b». Perhatikan bahwa susunan lingkaran konsenms ini
berbeda dengan cara data yang berada pada salah satu sisi
piringan hitam dtsusun ke dalam track spiral tunggal. Disk
bisa mempunyai ratusan track. Untuk dis~ yang mempunyai
platter banyak, set track yang ada pada semua platter yang
mempunyai jarak tertentu terhadap kumparan dinamakan
cylinder (silinder). Biasanya disk drive mengorganisir
atau menyusun setiap track ke dalam sector (sektor) 256
byte sampai 4 KB, dan banyak disk menuliskan nomor
sektomya pada setiap track pada awal tiap sektor tersebut.
Hal tersebut dinamakan Soft sectoring, dan ketika
menggunakan soft sectoring, software dan hardware hams
menemukan atau mencari sekto~ yang diperlukan. Program
menentukan alamat word dengan memberikan nomor plattemya,
nomor track, nomor sektor, dan nomor word.
Printer
Printer adalah alat output dan, seperti yang telah kita
ketahui, ia relatif lambat. Interface CPU atau I/O
mengontrol printer dengan mengiriminya dua jenis
ARKOM Page 28
informasi, yaitu informasi kontrol dan data yang akan
dicetak. Informasi kontrol adalah printerspecific, namun
biasanya memberitahu printer mengenai apa yang akan
dikeljakan: yaitu mengeluarkan page, bergerak ke baris
berikutnya, maju ke page sejauh beberapa milimeter,
mengubah typeface Genis huruf), mengubah ukuran jenis, dan
sebagainya. Data memberitahu printer mengenai apa yang
akan dicetak, biasanya dengan menggunakan kode karakter
seperti ASCII untuk menentukan karakter. J3anyak printer
yang dapat mencetak tampilan grafIk maupun teks.
BAB IVA RSITEKTUR SISTEM MEMORI
4.1 TEKNOLOGI DAN BIAYA SISTEM MEMORI
Ada dua teknologi yang telah mendominasi industrimemori sentral dan memori utama, yakni memori magnetic-core selama tahun 1960-an dan memori solid-state padatahun-tahun sesudahnya. Namun demikian, para perancang telahmencoba beberapa teknologi yang lain selama ini.
Selama tahun 1960-an, teknologi memori utamayang dominan adalah mag netic core (inti magnetis), danakibatnya orang seringkali menyebut memori utama sebagaicore memories (memori inti). Sekarang ini kita kadang-kadangmenggunakan istilah cor memory untuk menyebut memori utama,namun ia jarang sekali dianggap sebagai suatu teknologi.Sel penyimpanan yang ada dalam memori inti dibuat darielemen besi berbentuk donat yang disebut magnetic core(inti magnetis) atau hanya disebut core.
Sistem memori yang sebelumnya dibuat dari intimagnetis dan berbiaya jutaan dolar, sekarang dapat dibuatARKOM Page 29
dari sirkuit terpadu (IC) hanya dengan biaya beberaparatus dolar. Lebih dari itu, dulunya kecepatan memoridibatasi oleh cycle times (waktu siklus) yang relatiflama, yakni waktu yang dibutuhkn untuk membaca danmenulis inti megnatis (yang biasanya 1000 sampai2000 ns). Namun sekarang kecepatan tersebut dibatasioleh waktu switching (penundaan gate) dari K'; denganwaktu siklus yang umum sekarang adalah 60 sampai 150ns. Kecuali mercury-delay-line memory (memori jalurpenundaan derajad), semua sirkuit memori yang akankita bahas adalah merupakan random-access memory (RAM)atau memori akses random. RAM bisa mengakses setiap worddalam jumlah waktu yang pada dasarnya sama, karenaia menggunakan sirkuit switching (pengubah) untukmenentukan word yang akan diakses.
Biaya pembuatan memori telah berangsur-angsurmenurun, dan nampaknya ia akan terus menurun. Hal inidisebabkan oleh cepatnya peningkatan kerapatan (density)sirkuit terpadu (integrated circuit) dan meningkatnyapermintaan memori yang lebih besar. Lebih besar RAM-nya,maka akan lebih rendah biaya penyusutannya, dan rendahnyadaya teknologi akan menjadikan biaya terus menurunselama akhir abad 20 ini. Lebih dari itu, kecepatansecara perlahan-lahan meningkat bersaamaan denganmeningkatnya ukuran memori, sehingga tak ada alasan untukmemperkirakan bahwa trend mengenai biaya dan ukuranmemori akan berubah secara drastis. Turunnya biaya unitmemori dengan cepat menandakan bahwa ukuran memori utamaakan terus meningkat.
Masalahnya sekarang apakah ada batasan yang lebih tinggimengenai ukuran memori untuk program. Kita tidak bisamenjawabnya secara umum, namun paling tidak kita bisamenentukan ukuran database yang sangat besar dan set datailmiah dan teknik yang sangat besar. Apa masalah utamamengenai komputer sekarang ini? Apa yang dimaksud dengandatabase terbesar? Jawabnya terlihat pada order 220 sampai250 byte, terabyte (TB) sampai petabyte (PB). Mereka iniARKOM Page 30
berada pada order 1 TB karakter dalam buku Library ofCongress atau 1 TB pixel dalam suatu manfaat TV yangberketajaman tinggi (HDTV) atau bioskop bergambar lebar.Superkomputer tahun 1990 biasa dapat mereferensi memorinyapada jumlah sekitar 1 PB/hari atau menggenerasi output padajumlah sekitar 1 PB per tahun.
Gambar 4.1. Bentuk chipRAM
ARKOM Page 31
Dari gambar tersebut, kita dapat meramalkan ukuranmemori minimum yang kita harapkanjika kita mengasumsikanbahwa para perancang akan mengorganisasikan memorisedemikian rupa sehingga setiap word memori menggunakan 1bit per chip. Asumsi terakhir ini tidak bisa diharapkansecara sempuma, namun kita dapat juga mengasumsikan bahwainterleaving memori (akan dibahas pada Bagian 4.1.1) akanmenjadi pengganti organisasi (susunan) chip multibit.Sebagai contoh, komputer dari famili dan berbiaya biasacenderung menggunakan jumlah chip memori yang sama denganmodel yang akan dibuat berikutnya.
Angka perhitungan ini menunjukkan bahwa arsitekkomputer tidak boleh membatasi ukuran ruang alamat fisikkomputer kurang dari 1 PB, dan bahwa program individualharus dapat mereferensi memori sebanyak itu untukbeberapa aplikasi.
Gambar 4.3 menunjukkan trend historis mengenai ukuranmemori untuk superkomputer dan minikomputer. Dari gambarini, kita dapat melihat bahwa ukuran memori maksimumuntuk minikomputer kim-kim berada pada kurva
ARKOM Page 32
Mm = 2[2(Y-1979)13]MB
dengan Y adalah tahun,Demikian juga, ukuran memorisuperkomputer maksimum kira-kira berada pada kurva
Ms = 2[Y-1966f2] MBFungsi dalam Persamaan
1 dan 2 telah menjangkau duateknologi, yaitu intimagnetis dan Ie silikon.Secara jelas hubungan initidak dapat diramalkan untuk menyimpan secara takterhingga, karena kemudian ukuran memori minikomputerakan melebihi ukuran memori superkomputer, hal inijarang terjadi.
4.1.1 ORGANISASI MEMORI
Gambar 4.4 memperlihatkan desain sistem memori 2-MByang sirkuitnya menggunakan organisasiyang disebut high-orderinterleave. Setiap word besarnya 1 byte. Chip RAM dapatmenyimpan 256-K word 4-bit, sehingga sistem memorimemerlukan delapan pasang chip. Perhatikan bahwa setiap chipmempunyai 18 jalur alamat (218 = 256 K), sementarakeseluruhan sistem memori memerlukan 21 jalur alamat. Dalamorganisasi ini, bit alamat high-order menentukan atau memilihpasangan chip memori tertentu, sedangkan 18 bit alamat low-order menentukan word yang sama dari setiap pasang chip.Word yang berurutan bertempat pada set chip yang sama(pasangan chip pada Gambar 4.4). Bila alamat berubah dari256 K - 1 ke 256, 512 K - 1 ke 512 K, 768 K - 1 ke 768 K,dan seterusnya, maka word berikutnya akan berada di pasanganchip berikutnya.
Para perancang menggunakan interleaving untuk
ARKOM Page 33
meningkatkan kecepatan pengaksesan sistem penyimpanan yangbesar. Umurnnya, sistem penyimpanan yang besar terdiriatas beberapa bank memori independen yang diakses olehCPU dan peralatan 110 melalui pengontrol port memori(lihat Bagian 3.3.3), seperti crossbar switch. Gambar 4.5melukiskan sistem penyimpanan yang menggunakan pengontrolport memori empat port dan ia terdiri atas empat bankmemori.
Apabila sistem penyimpanan menggunakan interleavehigh-order, maka setiap bank berisi blok alamat yangberurutan. Jika setiap peralatan, termasuk CPU, menggunakanbank memori yang berbeda untuk program dan datanya, makasemua bank dapat mentransfer data secara serentak. Gambar4.6 menunjukkan -situasi CPU menjalankan suatu program dibank 0, channel 1 mentransfer data ke blok memori yangada dalam bank 2, dan channel 3 mentransfer data keblok memori yang menghubungkan bank 2 dan bank 3. Ketigaprosesor aktif dapat mengakses memori secara serentakyang ditarnbah channel 2 mengakses bank 3, bukannyabank 2.
Interleave low-order tidak selalu mendegradasi kinerjamemori, seperti yang dikemukakan contoh tersebut. Andamisalkan suatu situasi waktu siklus memori lebih lamadari pada waktu siklus CPU. Jika CPU ingin mengaksesrangkaian word, dan rangkaian word disimpan dalarn bank yangsama, maka CPU harus menunggu keseluruhan siklus memoridiantara akses-akses yang berurutan. Hal ini akanmengakibatkan terjadinya penggunaan CPU yang tidak efisien.Untuk sistem semaeam itu, para peraneang biasanya akanmenggunakan interleave low-order untuk meningkatkankecepatan akses. Apabila word yang berurutan berada dalarnbank yang berbeda, maka sistem penyimpanan, bila dilengkapidengan putaran yang eoeok, akan dapat melengkapi aksesmemori yang berurutan. Dengan kata lain, setelah CPU memintauntuk mengakses word pertama yang disimpan dalarn salah satubank, maka ia dapat bergerak ke bank kedua dan mengawaliakses word kedua sementara sistem penyimpanan tetap
ARKOM Page 34
mendapatkan kembali word pertama. CPU terus menggunakan earatersebut dari suatu bank ke bank berikutnya. Pada waktu CPUkembali ke bank pertama, sistem penyimpanan diharapkJtelah menyelesaikan mengakses word pertarna dan telah siapuntuk mengakses lagi. Banyak komputer berkinerjatinggimenggunakan interleave low-order untuk alasan tersebut.
4.1.2 JENIS MEMORI
Pada bagian ini, kita akan mendeskripsikan beberapajenis peralatan memori utama yang digunakan padaakhir-akhir ini.
Memori Read-only
Read-only memory (ROM) atau memori read-only adalahperalatan atau perlengkapan memori yang dapat dibacanamun "tidak dapat ditulis oleh CPU. Contohnya adalahswitch mekanis. Di sini komputer menggunakannya untukmenyimpan konstanta yang digunakan untuk menentukankonfigurasi sistem (yakni, jumlah memori urania).Sejumlah jenis ROM bersifat bisa diubah walaupuntidak pada waktu penggunaan biasa.
Memori Read/WriteKita dapat mengklasifikasikan memori read/write
(sebagai lawan dari memori read-only) dengan berbagaicara menurut sifat pengoperasiannya. Berikut adalahsebagian dari klasifikasi tersebut:
1. Sifat Fisik* statis lawan dinamis
* volatil lawan non-volatil
* read destruktif lawan read non-destruktif
* dapat dikeluarkan (removable) lawan dukungan
ARKOM Page 35
permanen
2. Organisasi Logis* teralamatkan (addressed)* asosiatif* akses urut
Sitat Fisik
Static versus Dynamic Memory (memori statis lawan dinamis).Dalam static random-access memory (SRAM) atau memoriakses random statis, setiap word, apabila telah ditulis,tidak perlu Iagi dialamatkan atau dimanipulasi untukmenyimpan nilainya. Peralatan ini dibentuk dari flip-flopyang menggunakan arus keciI untuk memelihara tingkatJogikanya. SRAM biasanya digunakan untuk register CPU danperalatan penyimpanan berkecepatan tinggi yanglain. Namun, ada beberapa komputer yangmenggunakannya untuk cache dan memori utama. Akhir-akhir ini, SRAM merupakan sirkuit memori semikonduktoryang paling cepat dan paling mahal.
Memori Volatil Lawan Non-volatil. Peralatan memoridikatakan volatil jika ia membutuhkan sumber daya yangterns menerus untuk menyimpan niainya, kebalikannya adalahnon-volatil. Sebagian besar memori inti magnetis akanbersifat non-volatil bila sebagai ROM. Sebagian besarRAM statis dan dinamis adalah volatil.
Memori Read-destruktif Lawan Read-non-destruktif. Memorimemrunyai destructive read (read destruktif) apabiladalam proses membaca word, Iljlemori tersebutjugamenghancurkan (destroy) nilainya. DRAM yang barn termasukdalam jenis ini: Membaca sell DRAM akanmengeluarkan muatan kapasitor. pal am prakteknya,putaran pada chip selalu membuat atau menuliskankembali nilai ke dalam sell. Sebaliknya, putaran(circuitry) dapat membaca SRAm dan ROM tanpa IIJernsak
ARKOM Page 36
nilanya. Mereka ini adalah memori nondestructive read(read non-des4tif).
Memori Yang Dapat Dikeluarkan Lawan Memori Permanen. Memoriyang elemen aktifnya dapat dikeluarkan dari hardwaresistem adalah removable memo ries (memori yang dapatdikeluarkan). Sebaliknya, nonremovable memories terdiriatas komponen yang seluruhnya secara fisik tidak dapatdikeluarkan. Memori utama bersifat nonremovable. Dalamkebanyakan komputer, floppy disk/disket ("floppy") danisi pita bersifat removable, sedangkan RAM dan hard diskbersifat nonremovable.
Organisasi Logis
Addressed memory (memori yang teralamatkan). Memoriyang teralamatkan menggunakan alamat untuk menentukansell yang sedang dibaca atau ditulis. Oleh karena itu,pada waktu peralatan mengakses memori, ia harus memasokalamat dan arab transfer, yakni read atau write, kesistem memori.
RAM dan ROM, seperti yang kita kemukakansebelumnya, pada dasarnya dapat mengakses semua worddalarn jumlah waktu yang sama. Beberapa memoriteralamatkan, seperti disk, peralatan charge-coupled(muatan ganda) , dan memori bubble magnetis, merupakanmemori teralarnatkan, namun mereka tak dapatmengakses semua word dalarn jumJah waktu yang sama.
Peralatan charge-coupled (CCD) mempunyai arraysel yang dapat menyimpan paket elektronik (charge packet).Dalam array ini, set charge packet mewakili word. Di sinikeberadaan setiap charge packet menunjukkan 12 bit.Tidak seperti halnya dengan RAM, sirkuit yang telahpasti menyimpan word, charge packet (paket muatan)tidak menyediakan stasioner: Sel mengantarkanya ke selyang berdekatan dengan setiap detak jam. Karenaperalatan ini harus menunggu data yang diminta untukdapat mencapai head baca (untuk disk), sirkuit untuk
ARKOM Page 37
mendeteksi (untuk CCD), atau sirkuit untuk mendeteksibubble magnetis (untuk MBM), maka waktu aksesnyatergantung pada posisi data yang diminta yangberhubungan dengan sirkuit baca. Waktu akses inirelatif pendek dalam proses yang paling sederhana,sehingga peralatan ini dianggap . sebagai pseudo-randomacces memory (memori akses random palsu).
Bentuk memori teralamatkan yang lain adalahorthogonal memory (memori ortogonal), yang dapatmengakses data baik dengan bit ataupun dengan bit-slice (irisan bit). Bit-slice adalah set semua bitdari posisi bit yang sama dari sernua word. Pemakaimenampilkan memori dengan alamat word dan request read-word atau write-word, dalam hal ini memorimembaca atau menulis word yang dikehendaki. Caraalternatif, pemakai menampilkan memori dengan nomor bitdan request read-bit-slice atau write-bit-slice, dalam halini memori membaca atau menulis bit-slice yang dikehendaki.Dengan melihat array empat-word seperti yang terlihatpada Gambar 4.8, maka word 2 adalah b20b21b22b23dan bit-slice 2 adalah b02b12b22b32'
Memori Asosiatif. Memori asosiatif menggunakan isi daribagian word memori untuk menentukan sel yang sedangdibaca atau ditulis. Oleh karenanya ia juga disebutcontent-addressable memories (CAM). Contoh request aksesdalam memori asosiatif misalnya "mencari semua wordyang 8 bit highest-ordemya berisi nilai 110 1 11102'dan mengembalikan nilai tersebut dalam wordpertama yang bersesuaian." Nilai 1101 11102 adalahargumen, spesifikasi "8 bit highest order" adalah mask(penutup), dan arah "mengembalikan nilai dalam wordpertama yang bersesuaian" adalah prosedur untukconflict resolution (resolusi konflik), yakni yangharus dilakukan apabila beberapa word menemukankriteria pencarian.
Memori asosiatif adalah peralatan penyimpanan aktif.ARKOM Page 38
Setiap lokasi penyimpanan memori mempunyai putaran untukmembandingkan argumen dengan nilai yang disimpanlokasi, dan setiap lokasi penyimpanan mempunyaiputaran untuk menunjukkan keberhasilan penncarian.Lebih dari itu, sistem memori mempunyai putaranuntuk menjalankan resolusi konflik (atau paling tidakuntuk menjalankan pendeteksian).
Akses Urut
Pita magnetis biasanya mengakses data secaraurut. Pemakai meminta (re quest) data dengan caramenentukan offsetnya dari posisi head bacaltulis padasaat itu (yakni, word berikutnya, word sebelumnya, wordke seratus berikutnya), dan peralatan pita (tape)mendapatkan data dengan eara menghitung ke depan atau kebelakang (maju atau mundur) dari posisi pada saat itu kedata yang diinginkan. Jika data yang diinginkan adalahdata terakhir yang ada pada pita dan head bacaltulispada awal pita, maka pemakai harus menunggu peralatan pitatersebut untuk mencari sepanjang pita guna mendapatkanword yang diinginkan. Oleh karenanya, peralatan inimerupakan peralatan akses urut.
Memori ArchivalArchival memory adaJah memori non-volatil yang
dapat menyimpan banyak data dengan biaya yang sangatsedikit dan daJam jangka waktu yang sangat lama. Tape(Pita) dan disk akhir-akhir ini termasukjenis memon inidan rnereka digunakan untuk sistem yang benar-benar sangatbesar. Disk optis juga telah banyak digunakan, namun iabelum sepopuler disk atau pita. Disk drive optis menyimpandata dengan mengubah seeara termal sifat reflektif daribidang kecil yang ada pada disk dan membaca datadengan cara mendeteksi secara visual bidang yang diubah
ARKOM Page 39
tersebut. Beberapa disk optis hanya dapat ditulissekali dan disebut WORM memories (memori WORM) writeonce, read many times. Memori WORM nampaknya ideal untukpenyimpanan archival, karena bila sekali ia telah ditulisia secara fungsional menjadi ROM.
4.2 51STEM MEMORI UTAMA
Banyak komputer modem yang tidak perlu memuatseluruh program ke dalam memori sebelum menjalankannya.Sebagai gantinya, sistem pengoperasian bersama dengan petakhusus untuk translasi alamat akan menyimpan program padaperalatan eksternal, seperti hard disk. Sistempengoperasian kemudian memuat sebagian program kedalam memori utama, seperi yang diminta untuk kebutuhaneksekusi. Sistem pengoperasian memelihara atau mengelolatabel khusus yang menjaga atau menyimpan track dari tiapbagian program yang berada dalam memori utama danpenyimpanan eksternal. Selama eksekusi program, alamatlegis program tidak lagi bersesuaian dengan alamatfisiko CPU menggunakan map (peta) untukmenerjemahkan aJamat efektif program menjadi alamatfisik yang bersesuaian. Komputer yang beroperasi dengancara ini dikatakan mempunyai virtual memory (memoriARKOM Page 40
virtual). Istilah ini terjadi karena adanyakenyataan bahwa sistem penyimpanan nampaknya mempunyaijumlah memori fisik yang besar walaupun sebenarnyatidak; sebab memori tersebut tidak riil. Komputeryang mempunyai memori virtual dapat menjalankan programyang lebih besar dari pada yang dapat dijalankan olehmemori fisik komputer yang sebenamya. Sebenamya, ukuranpro gram tidak hanya dibatasi oleh ukuran ruang alamatlogis komputer. bagian 4.2.3 akan membahas sistemmemori virtual.
Komputer yang hanya mempunyai satu sistemmemori utama dikatakan mempunyai one-level storagesystem (sistem penyimpanan sat tingkat). Kebanyakankomputer, khususnya yang mempunyai memori virtual,menggunakan multilevel storage system (sistem penyimpananmultilevel). Kita bisa menganggap komponen memori sentral(internal) yang meliputi memori utama dan register CPUsebagai primary memory (memori primer), dan peralatanpenyimpanan eksternal, seperti disk dan pita magnetis,dianggap sebagai secondary memory (memori sekunder),Keseluruhan set peralatan penyimpanan dan komponenoyamerupakan memory hierarchy (hirarki memori). Sebagaicontoh, suatu komputer mungkin menggunakan bufferberkecepatan tinggi intermediate yang disebut cache memory(memori cache) atau hanya disebut cache saja, yangbertempat diantara peralatan eksternal dan memori utamaatau diantara memori utama dan CPU. Memori cachemempercepat waktu akses memori yang lebih lambat dengancara menyimpan word yang akan diakses oleh CPU.
Beberapa mikroprosesor menggunakan teknik yangdisebut expanded memory (memori yang diperluas) untukmeningkatkan jumlah memori berkecepatan tinggi yang akandigunakan program.
4.2.1 RELOKASI PROGRAM DAN PROTEKSI MEMORI
ARKOM Page 41
Pertama, seperti yang telah dikemukakansebelumnya, sistem pengoperasian harus dapat merelokasiprogram dengan cara menempatkannya dimana saja dalammemori.
Kedua, komputer harus mampu melakukan memoryprotection (proteksi memori), yakni mencegah suatuprogram mengakses memori yang yang telah diberikanoleh sistem pengoperasian ke program yang lain.Hardware proteksi memori khusus bisa melakukan fungsiini.
Sistem memori virtual modem dilengkapi dengan relokasiprogram dan proteksi memori, dan kita akan membahasnyasecara mendetail pada bagian ini. Namun dernikian,secara historis, beberapa komputer awal seperti IBMSysteml360 dan CDC 6600 menggunakan teknik yanglebih sederhana, yang akan kita bahas berikutnya.
Relokasi Program dan Proteksi Memori IBM System/360Komputer dari famili IBM Systeml360 menggunakan
register base untuk relokasi program. Apabila loader(pemuat)pada awalnya menempatkan program di dalam memori,maka ia juga akan memuat beberapa register base yangmempunyai alamat data kunci tertentu. Hal ini akanberfungsi untuk merelokasi data dalam memori. Instruksimenggunakan pengalamatan base-displacement dengan displacement yang diukur sesuai dengan alamat kunci tersebut.Program menggunakan instruksi LOAD ADDRESS untuk memuatalamat statemen program di dalam base register. Hal ini akanberfungsi untuk merelokasiprogram di dalam memori. Karenahardware pengalamatan menambahkan isi register base kesetiap displacement, ia secara otomatis memetakan setiapalamat efektif ke alamat fisik yang tepat. Akibatnya,referen si memori tidak tergantung pada dimana sistempengoperasian mengawali pemuatan program.
Namun demikian, karena program menggunakan registerbase, maka bila program telah mulai berjalan, sistempengoperasian tidak dapat merelokasikannya. Alasannya adalahbahwa program dapat menyimpan isi register base-nyaARKOM Page 42
sendiri di dalam memori. Jika sistem pengoperasian inginmemindahkanprogram, ia juga harus mengupdatenilairegisterbase yang tersimpan. Namun tak ada cara untuk bisamengetahui dimana program menyimpan nilai register basetersebut, sehingga tak ada cara untuknya untuk mengupdatenilai tersebut. Maka, sistem komputer jenis ini menggunakanrelokasi program awal bukannya dinamis.
IBM SystemJ360 menggunakan key-controlled memoryprotection. Sistem pengoperasian memberikan nilai kepadasetiap program yang sedang berjalan, yang disebut accesskey. Access key ini disimpan oleh hardware di dalam wordstatus program (PSW) selama eksekusi program. Pada waktusistem pengoperasian mengalokasi memori ke program, iamenggabungkan access key (kunci akses) dengan setiap bankmemori yang ia berikan ke program itu. Bank memori inimenyimpan jumlah word tertentu yang disebut page. Ketikaperalatan mengawali akses memori, maka hardware proteksimemori membandingkankunci akses dari program yang dimintadengan kunci akses yang digabungkan dengan bank fisik yangmenyimpan referensi. Jika dua nilai tersebut tidak cocok,maka hardware proteksi memori akan meminta atau melakukanexception proteksi memori.
Relokasi Program dan Proteksi Memori Dalam CDC 6600
CDC 6600 mempunyai register khusus, yakni relocation-addressregister (RA) (register alamat relokasi),untukmelakukanrelokasi programdinamis. Hanya sistem pengoperasianyang menggunakan instruksi khusus yang bisa memodifikasi RA,dan program yang sedang berjalan tidak mengetahuikehadirannya sama sekali. Sebelum sistem pengoperasianmemuat program ke dalam memori, ia mengalokasi blokmemori yang disebut field ke program tersebut.Jumlah memori yang ia alokasikan disebut field length(FL). Ia kemudian menempatkan alamat field, yang
ARKOM Page 43
merupakan alamat relokasi program, ke dalam RA danmemuat program di dalam memori. Kapan saja CPUmenggenerasi alamat efektif (baik itu alamat instruksiatau alamat operand), hardware pengalamatan secaraotomatis akan mernasukkan alamat relokasi ke CPU tersebut.Jadi semua referensi memori secara tinier direlokasi olehalamat relokasi; oleh karenanya, referensi tidak tergantungpada dimana sistem pengoperasian memuat program didalam memori. Mekanisme ini memberikan relokasi awaldan dinamis.
Keamanan
Setelah membahas hardware proteksi memori, dalampembahasan kita mengenai IBM Systeml360 dan CDC 6600,sekarang kita akan membahas beberapa persoalan keamananumum.
Ada banyak teknik untuk memberi proteksi terhadapprogram, baik dari pro gram itu sendiri maupun dariprogram lain. Sebagian besar teknik ini mengandalkan padasoftware dan, seperti yang terjadi pada umumnya,bahwa tak ada sistem pengamanan yang sempuma. Disinikita akan membahas beberapa bentuk arsitektur yangdiperlukan untuk memberikan keamanan. Pembahasan iniakan difokuskan pada persyaratan dan fungsi pokok yangharus dimiliki oleh sistem pengoperasian multiuser(multiprogramming) agar ia dapat memberikan keamanankepada pemakainya. Beberapa persyaratan tersebut adalahsebagai berikut:
Ia harus dapat membedakan antara softwaresistem pengoperasian dengan program pemakai,sehingga ia dapat melindungi sisem pengoperasiandari kerusakan.
Ia harus dilengkapi dengan fasilitas,sehingga beberapaprosedur yang berbeda semuanya dapat menggunakan kode,namun ia juga harus dapat mencegah suatu prosedur
ARKOM Page 44
mengakses kode rahasia prosedur lain. Ia harus dilengkapi dengan I/O yang efisien, aman, dan
terproteksi. Yakni, sistem tersebut harusmemeliharaproteksi selama trap, interrupt,dan pemulihankesalahan. Jadi, hardware hams membedakan trap pemakai(trap yang diakibatkan atau dipicu oleh programpemakai) dengan trap sistem (trap yang dipicu olehprogram sistem).
Untuk operasi pipelined tinggi , sistem tersebut harusmelakukan respon secara efisien bila ia mendeteksiadanya kondisi yang ilegal selama operasi pipelined.
Kita dapat mengetahui alangkah suIitnya merancangsistem yang aman pada beberapa tahun yang laJu. Padamodel komputer yang spesifik, jika instruksimengakses data pada page yang tidak berada dalammemori utama, maka sistem pengoperasian akan membawa
ARKOM Page 45
page yang diminta tersebut ke dalam memori utama (sepertiyang biasa terjadi dalam demand paging). Kemudiantask (tugas) yang sedang berjalan dapat melihat page ini(walaupun ia bukan milik tugas yang sedang dijalankantersebut) deogan cara meminta dump dari ruangmemorinya yang mendaftar semua nilai yang pada saat ituberada dalarn memori. Dengan melakukan dumping memorisecara berulang-ulang, maka orang yang akan mengganggusistem tersebut akan dapat melihat banyak page memori danmungkin ia bisa meodapatkan tabel sistem, dan dengandemikian ia akan mudah merusak keamanan sistem.
'War story" ini menggambarkan alangkah mudahnyamenempatkan trap dengan sembrono dalam hardware,sehingga keamanan software sulit didapatkan.Superkomputer barn biasanya mempunyai trap sepertiini, beberapa diantaranya didokumentasi dan yang lainnyatidak, yang merupakan hasil langsung dan keinginan perancanguntuk mendapatkan kinerja setinggi mungkin.
Untuk merekapitulasi sistem pengoperasianmultiprogramming guna memperoleh keamanan, hardwareharus mempunyai fasilitas-fasilitas berikut:
Tingkat khusus yang banyak, sehingga ia dapatrnernbatasi kemampuan tertentu terhadap sistempengoperasian. Para peneliti mengemukakan bahwasistem setidaknya harus mempunyai tiga tingkat khusus(privilege level) agar ooperasi berjalan denganefisien dan aman.
Beberapa wilayah, yang masing-masing mempunyaiproteksi sen diri, untuk memungkinkan tugas membagibeberapa data dan kode, namun bukan membagibagian dari data dan kode tersebut.
Exception handler yang meminta terjadinya semuaevent ekstemal kepada sistem pengoperasian. Lebihdari itu, untuk mencapai efisiensi, hardware harusdilengkapi dengan trap yang mencabang secara langsungke prosedur pemakai, namun suatu saat untukexception trapable (internal) tertentu.
ARKOM Page 46
Tak ada trap door tersembunyi (yakni, jalan untukprogram tidak khusus yang digunakan untuk mengelakdari atau menghindari mekanisme proteksi). Tidakbisa dijamin bahwa tak ada lubang seperti itu (jalan)dalam arsitektur. Namun, yang banyak digunakan olehfamili rnesin adalah trap door yang dipunyainya.Selain itu, hardware harus mendeteksi danmenangani kesalahan jalan yang tidak sesuai denganhal keamanan.
4.2.2 Memori CacheMemori cache adalah buffer kecepatan tinggi yang
digunakan untuk menyimpan data yang diakses pada saat itudan data yang berdekatan dalam memori utama. Denganmemasukkan memori cache antara peralatan cepat dansistem memori yang lebih lambat, perancang dapatmemberikan sistem memori yang cepat. Bagian inimembahas secara singkat beberapa prinsip mepgenaiorganisasi dan operasi memori cache, yang difokuskan padapembahasan organisasi dan operasi memori cache yangmempercepat sistem memori utama.
Beberapa cache bisa terlihat dalam arsitektur:hardware mengaturnya dengan tanpa kontrol software.Cache yang lain, khususnya yang ada dalam sistem RISC,merupakan bagian terpadu dari arsitektur: setinstruksi mencakup instruksi yang digunakan untuk tidakmemberlakukan entri cache tertentu, untuk memuat danmengeluarkan isi cache, dan untuk mencegah cache melakukanpemetaan jangkauan alamat tertentu.
Kegunaan .cache terjadi karena adanya sifatprogram secara umum, yakni ia (program) cenderungmengakses data dan kode yang baru saja diaksesatau ditempatkan di dekat lokasi memori. Kecenderunganini disebut principle of local ity of reference. Sebabnyaadalah:
ARKOM Page 47
Program cenderung menjalankan instruksi secara urut dandengan demikian instruksi tersebut mestinya berada didekat lokasi memori.
Program biasanya mempunyai loop (simpul) untuktempat menjalankan kelompok instruksi yang berdekatansecara berulang-ulang.
Kebanyakan compiler menyimpan array dalam blok lokasimemori yang bersebelahan, dan program seringkalimengakses elemen array secara urut. Dengan demikian,akses array cenderung terlokalisasi.
Compiler biasanya menempatkan item data yang tidakberhubungan di dalam segmen data. Oleh karenanya akseske data yang tidak berhubungan ini juga cenderungterlokalisasidalam segmen.Hal ini khususnyaberlakuuntuk variabel lokal dalam stack.
Setiap cache terdiri dari sejumlah cache entries(entri cache), dan setiap entri cache terdiri atas duabagian, yakni beberapa memori cache dan address tag (tagalamat).
Cara kerja cache adalah sederhana.Kapan saja CPUmengawali akses rnemori, sistem penyimpananakanmengirimkanalamatfisik ke cache.Cache membandingkan alarnatfisik tersebut dengan semua tag alarnatnya untuk mengetahuiapakah ia menyimpan kopi dari sebuah data. Jika operasinyaadalah akses baca dan cache menyimpan data biasa, maka cacheakan membaca data yang diminta tersebut dari RAM kecepatantinggi miliknya dan mengantar kan data tersebut ke CPU. Halini disebut cache hit, dan ia biasanya jauh lebih cepat daripada membaca nilai yang sama secara langsung dari memoriutama. Jika cache tidak menyimpan data, maka akan terjadicache miss, dan cache akan menyarnpaikan alarnat ke sistemmemori utama untuk membaca data. Apabila data datang darimemori utama, maka baik CPU mapun cache akan menerimakopinya. Cache tersebut kemudian menyimpan kopinya dengandiberi tag alarnat yang tepat. SementaraCPU
ARKOM Page 48
menjalankaninstruksi atau memproses data, cache secarabersamaan membaca data tambahan dari sel memori utama yangberdekatan dan menyimpan data tersebut dengan diberi tagalamat di dalarn memori berkecepatan tinggi. Jika terdapatcache, maka kecepatan memori yang nampak adaJahrata-rata dari kecepatan cache dan kecepatan memori utama.Misalkan delay memori adalah 100 ns, delay cache adalah 30ns, dan cache hit tetjadi 90% dati waktu. Maka kecepatanmemori utama yang nyata adalah (0,9 X 30) + (0,1 X 1(0) atau0,37 ns.
Struktur dan Organisasi CacheSetiap cache mempunyai dua subsistem pokok, yakni
tag subsystem (subsistem tag), yang menyimpan alamatdan menentukan apakah ada kesesuaian bagi data yangdiminta, dan memory subsystem (subsistem memori), yangmenyimpan dan mengantarkan data. Baik memori utamamaupun cache dibagi menjadi beberapa refill lines, yangsemua ukurannya sama dan umumnya berisi n word, dengan nadalah daya 2. Jalur cache biasanya mempunyai 4 sampai64 byte.
Jalur refill (refill line) adalah satu satunya unityang diproses cache, dan cache ini menempatkan jalurtersebut sehingga mereka tidak melintasi batas refill-lineyang asli. (Batas refill-line adalah sembarang alarnat yangmerupakan perkalian integral dari ukuran refill-line).Apabila sistem penyimpanan mentransfer unit yang lebihkecil dari pada jalur refill, seperti sebuah word atauquadword, maka cache akan mengawali beberapa aksesmemori utama untuk membaca atau menulis seluruh jalurrefill. Cache pertama kali akan meminta (request) wordyang diinginkan, kemudian diikuti oleh data yangberdekatan.
Memori cache menggunakan teknik pemetaan yangberbeda untuk memetakan alamat memori ke dalam alamatlokalnya sendiri, yakni :
Cache Asosiatif
ARKOM Page 49
Cache asosiatif (yang juga disebut fullyassociative cache) menyimpan tag nya di dalam memoriasosiatif atau memori yang ekuivalen secarafungsional. Cache dapat menempatkan sembarang jalur refillyang ada dalam memori ke dalarn sembarang jalur refill-nya sendiri, dan selarna akses memori, iamembandingkan alamat yang ada dengan semua alamat yang iasimpan. Untuk memori utama yang mempunyai N jalurrefill, alamat refill-line memerlukan log2N bit. Dengancache yang menggunakan memori asosiatif, semuaperbandingan terjadi secara serentak, namun memoriasosiatif membutuhkan biaya tinggi untuk sistem yang besar.Dengan cache yang tidak menggunakan memori asosiatif,perbandingan Iog2N-bit cenderung membutuhkan waktu yanglama atau membutuhkan hardware untuk memori yang besar.Hal ini mendegradasi kinerja cache. Gambar 4.12menunjukkan organisasi atau susunan asosiatif.
Cache Yang Dipetakan Langsung
Direct-mapped cache (cache yang dipetakanlangsung) membagi ~emOri utama menjadi K kolom,dengan ada N refill line per kolomnya. Denganmenggunakan interleaving low-order misaInya, pembagianyang dihasilkan mungkin menempatkan word memori utama yangberurutan ke dalam jalur refill yang berbeda danmemungkinkan pengisian kembali (refill) cache lebih cepat.Pada segala event, cache mempunyai satu kolom N row(baris), dan setiap baris dapat menyimpan satu jalurrefill. Row (baris) ke-N yang ada dalam cache dapatmenyimpan jalur refill ke-N dari kolom memori mana saja,dan tag alamat untuk baris tersebut menyimpan nomor kolomdari jalur refill pada saat itu. Cache tidak memerlukanmemori asosiatif. Untuk alamat memori utama yang ada,cache menggunakan nomor baris sebagai offsetke dalammemori tag-nya. Ia kemudian membandingkan nilai indeksdengan field nomor kolom dari referensi untuk
ARKOM Page 50
mengetahui apakah ia menyimpar jalur refill yangdiperlukan.
Cache Set-asosiatif
Set-associative cache (cache set-asosiatif)mengkombinasikan organisasi asosiatif dan direct(langsung) dan sama dengan pemetaan langsung beberapa folom.Cache set-asosiatif mengorganisir memori utama danmemorinya sendiri menjadi kolom jalur refill N. Cachedapat memetakan jalur refill i dari sembarang kolomyang ada dalam memori utama ke dalam jalur refill i darisembarang kolorh yang ada dalam RAM-nya sendiri. (Setadalah kumpulan item yang tanpa duplikasi. Istilahset-asosiatif terbentuk dari adanya kenyataan bahwajalur cache yang ada dapat menyimpan sembarang jalurrefiJI memori utama dari set memori yang dilindungi,namun tak ada yang lainnya). Setiap jalur refill cachemempunyai alamat I tag tergabung yang menentukan nomorkolom memori utama dari jalur refill yang
ia simpan. Lihat Gambar 4.14. Seperti yang dapatanda lihat, cache set-asosiatif yang mempunyai satuset adalah sama dengan cache yang dipetakan langsung.
Cache Yang Dipetakan Sektor
Pemetaan sektor adalah modifikasi dari pemetaanasosiatif. Dalam sector mapped cache (cache yang dietakansektor), jalur refill memori utama dan cache dikelompokkanmenjadisector (sektor),yang juga disebut row (baris). Cachedapat memetakan sembarang sektor memori utama kedalam sembarang sektor cache, dan cache secara logismenggunakan memori asosiatif untuk menjalankan pemetaan.Karena jalur reftll selalu melakukan pengurutan dalamsektor, maka memori asosiatif hanya memetakan alamatsektor. Cache terse but menggunakan validity bit (bitvaliditas), yakni satu untuk setiap jalur refill, untukARKOM Page 51
menjaga track jalur refill yang muncul dalam RAM cache.Pilihan DesainCache yang dipetakan langsung dan cache asosiatif
sernpuma dapat dianggap sebagai kasus cache set-asosiatifkhusus, dengan jurnlah set sama dengan 1 (pemetaan langsung)atau sama dengan jumlah jalur dalarn cache (asosiatifsempurna). Jadi pengertiannya adalah bahwa cache set-asosiatif merupakan kasus yang umum. Dalam prakteknya,perancang tidak menggunakan cache asosiatif sempurnakarena cache ini memerlukan terlalu banyakhardware dan ia sedikit tidak menjalankan cache set-asosiatif dua arah. Namun demikian, cache asosiatif sempurnamudah dianalisa secara matematis, sehingga para penelitiseringkali menyebutkannya dalam literatur dan denganmenggunakan istilab set-associative cache (seperti istilah yangkita gunakan disini) untuk mengartikan atau menamakan cacheyang tidak mempunyai bentuk desain yang khusus. Dengankata lain, cache set-asosiatif paling sedikit mempunyaidua set, namun bukan berarti memiliki sebanyak setseperti yang dimiliki jalur cache.
Pemrosesan Alamat CacheCache asosiatif mengecek semua tagnya untuk
melihat apakah ada yang cocok dengan alarnat yang diminta.Cache dengan organisasi sektor juga secara serentakmengecek semua tag alamat. Namun demikian, tag-tagmenyimpan alamat sektor, bukannya alamat jalur refill,sehingga mereka merupakan n bit yang lebih pendek, dengan2N adalah jumlah jalur refill dalam sebuah sektor. N bitsisanya menentukan bit validitas untuk menyelesaikanpengecekan. Cache yang dipetakan langsung menggunakanbeberapa bit alamat untuk mengindeks ke dalam tabel tagguna mengecek alarnat cache. Setiap akses cache hanyamemerlukan pengecekan satu entri cache. Cache set-asosiatif secara langsung mengindeks ke dalam memoritag yang mempunyai bagian alamat untuk mendapatkan settag. Ia kemudian membandingkan bit alarnat high-orderyang masih ada ke semua entri tag yang ada dalam set.ARKOM Page 52