Sistem BUS

53
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

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

Kembali dari Exception

ARKOM Page 13

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

Oleh karena itu, cache set-asosiatif menggunakan bagianalarnat sebagai untuk mengindeks ke dalarn memori tagguna menentukan set dua tag dan kemudian melakukanpengecekan untuk melihat apakah tag yang lainberlaku atau benar untuknya.

ARKOM Page 53