ArslteKur
lGmputer
{N Syahrul
IR
ffi
Arsit elrtur Komputer
Syahrul
Pe ne rb it AN Dl,Yogyaka rta
i ., .
.ii
/
I,
I
Hok Cipto O 2010 podo Penulis
t' ''',,.
Editor : Octovioni HS
I
Setting
Desoin Cover
: Sri SulistiYoni
: don-dut
aV-:rp / o,tk p/5 i7..
Korektor : Suci Nurosih f Aktor Sodewo
Perpuslokoon Nosionot: Kololog dolom Terbiton (KDT) tsu fty ini k*pers emb afi.fow kop ala :
- Ed. l. - Yogyokorto:ANDI,
19 18 t7 16 t5 t4 13 t2 ll l0
xxii + 650 hlm .; 16 x 23 Cm.
1098765432t
ISBN:978 -979- 29 - 1546- 4
l. Judul
L Computer Architecturol
DDC'21 : OO4.22
Frs{souurE ril 1
ftilb: laraod" flAtl
Ct-.,dr ffiili
snqrrttv Strtp
Scrn l.l/JI
KATA PENGANTAR
Bab 2 memberikan gambaran tentang sejarah dan evolusi komputer dan Mohon maaf Jika terdapat banyak kekurangan dan kekhilafan. Hanya Allah
memberikan perbedaan generasi-generasi komputer. yang Maha Mengetahui dan mempunyai ilmu yang sangat luas tak bertepi.
Bab 3 menjelaskan atribut-atribut dasar sebuah komputer seperti set
instruksi, modus-modus pengalamatan dan tipe data. Di sini juga
diberikan perbedaan antara arsitektur mesin RISC dan CISC. Syohrul
e -mo il : syo h rul-sYl @ Yahoo.co m
Bab 4 menjelaskan algoritma aritmetika fixed-point dan flooting-point
serta dijelaskan pula penjumlah serial dan paralel.
Bab 5 difokuskan pada organisasi datapath dan desain ALU serta
dijelaskan pula tentang mikro-operasi dan bahasa transfer register.
Bab 6 menghadirkan teknik-teknik desain unit kontrol yang meliputi
hordwired control unit dan miloprogrommed control unit.
Bab 7 difokuskan pada teknologi-teknologi memori dan desain memori
utama.
Bab 8 menjelaskan teknik-teknik berbagai peningkatan memori untuk
tujuan penanganan kinerja dan masalah-masalah kapasitas yang
meliputi memori cache, memorivirtual dan interleaving memori.
Bab 9 menjelaskan urutan komunikasi antara unit-unit internal. Berbagai
l/O controller, standar-standar bus, mekanisme interupsi dan
teknik-teknik l/O merupakan materi pokok dalam bab ini.
Bab 10 menjelaskan berbagai macam peripheral komputer.
8ab 11 memberikan penjelasan tentang pipelining yang merupakan teknik
pemecahan tugas menjadi sub-sub tugas untuk dikerjakan secara
simultan. Di sini juga dijelaskan tentang vector computing.
Bab 12 memberikan sekilas pengantar tentang multiprosesor yang meru-
pakan salah satu teknik peningkatan kinerja komputer
menggunakan teknik paralelisme,
DAFTAR ISI
L.Lz Sistem
Pengukuran Kinerja .......................49 3.2.5 Panjang tnstruksi .....................109
L.L2.L SPEC Rating .............54 3.2.5 Format lnstruksi .......................109
Ringkasan ..........56 3.2.7 Lokasi Operand ....111
Soal-soal Ulangan .................59 3.2.8 Lokasi Hasil Pemrosesan ..........111
Soal-soal Latihan ...................62 3.2.9 Variasi Panjang tnstruksi ..........111
3.2.10 Urutan Data Little-Endian dan Big-Endian .......................112
BAB 2 EVOLUST KOMPUTER ........... ..................67 3.2.11 Tipe lnstruksi ............... ............114
2.L Proses Desain Komputer .......67
3.2.72 Makro dan Subrutin .................119
2.2 Struktur Komputer .................58
3.3 Mode Pengalamatan
2.3 Fungsi Komputer .........,120
....................71
2.4 Dimensi-DimensiEvolusi Komputer... ........72
3.3.1 Pengalamatan lmmediate .......12L
2.4.L EvolusiMode-modePenggunaanKomputer .....................73 3.3.2 Pengalamatan Langsung ..........122
2.4.2 Evolusi Arsitektur CPU Dasar .........................73
3.3.3 Pengalamatan Tak Langsung ............. ..........123
2.4.3 EvolusiUnitKontroldanPenerjemahanlnstruksi .............74 3.3.4 Pengalamatan Tak Langsung Register ........124
2.4.4 Evolusi Teknik-teknik Memori Utama ...........75
3.3.5 Pengalamatan Register ............124
2.4.5 EvolusiPenanganan Siklus lnstruksi ..................................76 3.3.6 Pengalamatan lndeks ..............125
2.4.6 EvolusiTeknik-Teknik l/O ......... .....................77
3.3.7 Pengalamatan Relatif ...............126
2.4.7 EvolusiSoftware Sistem 3.3.8 Pengalamatan Base Register .......................L27
............77
2.5 Sejarah Komputer 3.3.9 Pengalamatan Stack ................727
.................78
Ringkasan ........129
2.5.L Komputer Generasi Pertama .........................79
Soal-soal Ulangan ...............130
2.5.2 Komputer Generasi Kedua ........83
Soal-soal Latihan .................132
2.5.3 Komputer Generasi Ketiga .........85
2.5.4 Komputer Generasi Keempat ........................87 BAB 4 ARITMETIKA KOMPUTER ... 133
2.5.5 Komputer Generasi Kelima ........ 88 4.7 Jenis-Jenis Aritmetika Komputer... ...........134
Ringkasan ..........90 4.L.t Komponen-Komponen Hardware ...............135
Soal-soal Ulangan .................91 4,2 Representasi Data ......... ......130
Soal-soal Latihan ...................92 4.2.L Data Karakter ................. ..........13G
BAB 3 ARSITEI$UR CPU DAN SET INSTRUKSI .............
4.2.2 Data Alamat .........137
93
4.3 Data Biner .......197
3.1
4.3.1 Bilangan Titik Tetap .................138
4.3.2 Bilangan Titik-Mengambang ....L4L
4.3.3 Normalisasi ..........142
4,3.4 Konversi Format Scientific ke Format Standar IEEETS4 .,L42
4.4 Aritmetika Bilangan Titik-Tetap ..............t44
3.2 Desain Set lnstruksi ..............97
4,4.L Perluasan Bit Tanda
3.2.L Bahasa Rakitan (Assembly) ..".....98
4.4.2 Penjumlahan lnteger
.....,,,.,,......L44
...............145
3.2.2 CPU Berbasis Akumulator ................. ...........100 4,4.3 Penjumlahan Komplemen-2 ..............
3.2.3 CPU Berbasis Register ..............102
4.4.4 Pengurangan lnteger
.,........1S4
3.2.4 CPU Berbasis Stack ..................105
...............15G
4.4.5 Perkalian Bilangan Tidak Bertanda ..................................159
l)altar lsi
7.4.L ................
Larik Register ...........263 Soal-soal Latihan .................305
7.4.2 Alamat
Decoder ...........,...........254
BAB 8 TEKNIK MANAJEMEN MEMORI ...........309
7.4.3 Output
Penyangga ...................265
8.1 HierarkiMemori ..............,...310
7.5 Pewaktuan ROM .....,..... .......265
8.2 Kekurangan MemoriUtama ...,...............313
7.6 ...........
Jenis-Jenis ROM ........267
8.3 Prefetch lnstruksi ................314
7.6.L MROM .................267
8,4 lnterleave Memori ..............316
7.6.2 PROM ...................268
8.5 Buffer Tulis ......320
7.6.3 EPROM .................268
8.6 MemoriCache ....................321
7.6.4 EEPROM ...............258
8.5.1 Prinsip Cache .......?22
7.6.5 MemoriFlash .......... .................269
8.6.2 Hit dan Miss .......... ...................325
7.7 Aplikasi ROM .......... .............27L
8.5.3 Pemetaan Langsung ................325
7.7.L Firmware ..............27t
8.5.4 Pemetaan Asosiatif Penuh .......331
7.7.2 MemoriBootstrap ...................272
8.6.5 Pemetaan Asosiatif Set ............. ...................332
7.7.3 Tabel-TabelData .......... ............272
8.6.5 Penggantian Cache ..................340
7.7.4 Pengonversi Data .......... ...........273
8.6.7 Kebijakan Penulisan Cache ........ ..................343
7.7.5 Pembangkit Fungsi ..................273
8.6.8 Pengintaian dan lnvalidasi ............... ............345
7.8 RAM Semikonduktor .........,.274
8.6.9 Kinerja Cache dan Hit Rate ......346
7 .9 Arsitektur Semikonduktor................ ........274
7.9.L OperasiBaca .......... ...........,......277
8.6.10 Cache Gabung dan Cache Pisah ......... ..........349
7.9.2 Operasi Tulis .......... ..................277
8.5.11 Cache MultiLevel .....,... .......,...351
7.9.3 Pemilih Chip ........... ...................277
8.6.L2 Cache Mikroprosesor 80485 ....353
7,9.4 Penyemat lnput/Output Bersama ........,.,.,..278
8.5.13 lnvalidasi Cache pada Pentium ,...................356
7.LO Static RAM (SRAM) ..............278
8.7 Memori Virtual ...................357
BAB 1
ORGANISASI KOMPUTER MODERN
kapasitasnya merupakan persyaratan penentuan pemilihan konsep dan idi#l' t )r ,i l:l ,.1^:I1
teknik yang digunakan dalam perancangan suatu komputer. studi tentang #r,i; lflhlrriti,ldin=ffi
&,rti."ylid*$srffi
konsep dan teknik tersebut menjadi sasaran dari buku ini. alit
$!'t lCaCihana-
Bab ini merupakan fondasi bagi bab-bab selanjutnya yang memberikan 4 Penlngkatan Sangat tinggi Sedang Sangat rendah
garis-garis besar organisasi dasar sebuah komputer agar membuat pembaca upaya manusia
lebih nyaman dalam belajar mengenai berbagai arsitektur dan masalah- Konslstensl Rendah karena Sedang Sangat tinggi
masalah perancangan. kelelahan atau
kebosanan
fi Pengaruh Banyak masalah Sedikit lebih baik Banyak masalah
1.1 MANUSIA DAN KOMPUTER yang tak dapat dari penghitung- yang dapat
diselesaikan dalam an manual diselesaikan
Manusia hingga kini melakukan penghitungan dalam tiga cara yang
waktu yang layak
berbeda:
1. Penghitungan manual secara penuh yaitu penghitungan tanpa
adanya peralatan selain otak dan jari-jari
1.2 PENGGUNA DAN KOMPUTER
2. Penghitungan manual yaitu menggunakan peralatan sederhana
seperti mistar geser, obacus dan sebagainya. Komputer adalah alat elektronika yang dapat diprogram yang berfungsi
3. Penghitungan otomatis yaitu menggunakan mesin komputer. runtuk menyelesaikan berbagai macam permasalahan komputasi dan
rnanipulasi data (Gambar 1.1). Kemampuan dasar komputer adalah
Pada Tabel 1.1 dibandingkan tiga macam penghitungan berdasarkan para-
rnelakukan kalkulasi atau komputasi aritmetika. Hubungan antara pengguna
meter-para meter berikut:
rlan komputer adalah mirip dengan direktur sinema dan aktornya. Aktor
1. Kecepatan penghitungan 'rnelakukan acting' berdasarkan 'naskah' yang disiapkan oleh direktur
2. Keandalan hasil (Gambar 1.2). Sedangkan komputer'melakukan pemrosesan' berdasarkan
3. Kompleksitas masalah yang ditangani 'program'yang disiapkan oleh pemrogram (Gambar 1.3).
4. Peningkatan keterlibatan upaya manusia
5. Konsistensi
TABEL L,1, Perbo ndingan jenis-jenis penghitungon
L. Pemrosesan(kalkulasi)cepat
2. Penyimpanan informasi yang besar
3. Membebaskan/mengurangi pekerjaan manual
4. Penyampaian pesan dan komunikasi
Gambar 1.3 Komputer don pemrogram Kombinasi pemrosesan dan penyimpanan telah menghasilkan beberapa
,rplikasi baru seperti multimedia, internet, desk top publishing, dan seba-
Komputer digunakan untuk menyelesaikan masalah dalam beberapa gainya.
bidang seperti sains, penelitian, perdagangan, administrasi, manufaktur dan
sebagainya. Berikut sejumlah penggunaan komputer yang sederhana: L.2.L Karakteristik Komputer
1. Perhitungan nilai rata-rata siswa dalam sebuah kelas Karakteristik utama komputer meliputi:
2. Penyiapan gaji bulanan untuk perusahaan
3. Perancangan gedung 1. Komputasi yang sangat cepat
4. Perhitungan pembayaran pajak oleh perusahaan bisnis 2. Bersifat konsisten yang tidak terpengaruh pada kelelahan, bosan,
5. Penyiapan daftar bahan baku produksi suka dan tidak suka, dan sebagainya.
6. Penyiapan hasil ujian universitas 3. Kapasitas penyimpanan yang besar (untuk data dan program)
4. Komputasi akurasi tinggi
Proses penyelesaian suatu masalah dengan menggunakan komputer 5. Mesin serbaguna yang dapat diprogram untuk keperluan setiap
ditunjukkan pada Gambar 1.4. Dengan menganalisis suatu masalah, kita pengguna
dapat memilih suatu metode (algoritma) yang akan diselasaikan. Kemudian,
program dikembangkan untuk komputer pada setiap algoritma. program ini
dijalankan pada komputer dengan sampel data dan komputer memberikan
L.2.2 Komputer Digital
hasilnya. Dengan melakukan pemeriksaan yang hati-hati pada hasil, Pada umumnya komputer yang digunakan sekarang ini adalah
kehadiran 'bug' (kutu, kesalahan pemrograman) dapat ditemukan. Koreksi komputer digital walaupun juga ada beberapa komputer analog. Komputer
yang tepat dilakukan terhadap program dan kesalahannya (error) ,rnalog memantau/merasakan sinyal masukan yang mempunyai perubahan
dibetulkan. Jadi program yang telah teruji digunakan untuk menjalankan nilai yang kontinu. Hampir semuanya berupa variabel-variabel sinyal seperti
hasil pada komputer secara reguler menggunakan data yang tepat. tegangan, tekanan, temperatur, kecepatan dan sebagainya. Komputer
llrrb I Organisasl Komputer Modern
Kornponcn-komponcn Har. dwar.c .rrr desimal dan pernyataan-pernyataanfstotemenf dalam Bahasa lnggris.
( ompiler (kompiler) adalah sebuah penerjemah bahasa yang mengubah
l)rogram bahasa tingkat tinggi menjadi program bahasa mesin yang ekivalen
rl,ur yang terdiri atas instruksi-instruksi dan bilangan biner (Gambar 1.11).
Mekmdk Elekh'onlk
1. Motor 1. Saklfl' 1. Resirtor
2. Catu daya 2. Pancl ?. Kapasitor
3. Trsnsfonnator 3. Kotak 3. Ilduktor
{. Rclal 4. Chnssh 4. Dlodn
5. Klpas 5. Nut 5. Trsnslstor
6. PCB 6. Screw 6. IC
7. Speaker 7. Kristd
8. Kawat 8. LED
9. I(nbcl 9. Optolsotntor
10. CRT/LCD
11. Photoh'anslstor
Gambar t.8 Komponen-komponen hordwore komputer Gambar l.LO Lapisan-lopison sistem komputer
1. Set instruksi
2, Format instruksi
3. Kode operasi
4. Jenis-jenis operand
5. Mode-mode pengalamatan operand
5. Register
7. Moin memory space utilization (memory mop)
lhb I Organisasl Kompuler Modern 13
r+ Prurch card
Dlvals'€l
I
Mcrnorl Sclnurdcr
1,?,2 Memori Utama dan Memori Sekunder
Memori utama adalah wadah penyimpanan utama untuk data, instruksi
maupun hasil pengolahan CPU (central processing untt). Semua instruksi
yang akan dieksekusi oleh CPU diambil langsung melalui memori ini. Oleh
karena itu, program harus diletakkan dulu di dalam memori utama.
Pengou0'ol Divals
Kini memori utama tersedia dalam teknologi semikonduktor, sedangkan adalah mentransfer informasi
memori sekunder menggunakan teknologi magnetik dan optik' Pada Fungsi utama pengontrol perangkat Pengontrol
perangkat'
Gambar 1.16 dapat dilihat jenis memori sekunder baik yang telah usang (lrrogram dan data) ;;*;;' inii sistem dengan
lebih dari satu perangkat dalam jenis yang
lrerangkat dapat menangani
llrrb 1 Organlsasl Komputer Modern 17
Antarmu[a slstem
Gambar t.lg pengontrol perongkot
don perongkat jomok
'li::.:tH
lhb I Organleasl Komputer Modern 19
7,.4.1Komunikasi CpU - Mernori Arla dua jenls antarmuka CPU - Memori yang diimplementasikan dalam
qt..lr.nt komputer:
cPU melakukan pengaramatan atau mengaramati memori
baik saat
operasi pembacaan memori maupun saat operasi penulisan
memori.
l. Antarmuka sinkron (synchronous interface). pada antarmuka
selama operasi pembacaan memori, pertama cpU slnkron (Gambar 1.28), waktu yang digunakan oleh memori untuk
mengirimkan aramat
lokasi dan kemudian mengirimkan sinyar baca. pada operasi baca/tulis adalah tetap dan selalu sama. Karena itu, tidak
saat menerima sinyar
baca, memori murai merakukan pembacaan dari rokasi yang ada feedback dari memori ke CPU yang menunjukkan selesainya
ditunjuk oreh
alamat. setelah melalui waktu akses, isi dari lokasi operasi baca/tulis.
memori liletakkan oleh
memori pada saruran data (Gambar 1.25). serama
operasi penurisan ). Antarmuka asinkron (osynchronous interface). pada antarmuka
memori, cPU terlebih dahulu mengirimkan alamat
lokasi dan kemudian asinkron (Gambar L.29), memori memberitahukan selesainya
mengirim data yang akan diturisi dan sinyar turis memori (Gambar operasi penulisan dengan mengirimkan sinyal status, MEMORy
1.25).
Pada saat menerima sinyar turis memori, memori FUNCTTON COMPLETE (MFC). Sinyal ini juga disebut MEMORY
murai merakukan
penulisan pada lokasi sesuai alamat yang OPERATION COMPLETE
ditetapkan. sampai waktu akses
selesai, memorisibuk merakukan operasi penurisan.
cpU menggunakan dua
buah register untuk berkomunikasi dengan memori (eamuarlIzT). CPU Mcrnorl
serama
operasi baca/tulis, cpU meletakkan alamat memori pada
register alamat
memori (memory oddress register, MAR). Register Renyanlga
Memori
(memory buffer register, MBR) digunakan
untuk menyimpan dIIa dari cpu
selama operasitulis dan data dari memori selama
opeiasi baca.
I ;c-.*l [;[cr
Irod-il| lEtrl
Gambar l.3S Register utama Cpu
llntr I Organisasl Komputer Modern 31
Lebar pulsa (pulse width, tpw) menunjukkan TABEL 1.4 Contoh operosi-mikro
durasi pulsa clock. tstilah tain
yang berhubungan dengan rebar pursi
dikenar dengan istirah ;;t cycre, di No Slnyal kontrol
mana duty cycre adarah rasio (dinyatakan
daram persen) rebar pursa MAR E PC lsi PC disalin (transfer) ke Operasi-mikro pertama
terhadap periode. ilustrasi mengenai periode
waktu dan rebar pursa dapat MAR pada pengambilan
dilihat padaGambar 1.36.
instruksi
Duty cycle = (tn,n/T; x l00o/o PCePC+1 lsi PC dinaikkan PC selalu menunjuk ke
Contoh 1.4 alamat instruksi
Suatu sinyal clock-mempunfr frekuensi
50%. Hitung periode waktu dan lebar pulsa
lo@ berikutnya
Ixtcrupsl
1."6 KONSEP INTERUPSI
lnterupsi adalah suatu kejadian dalam sistem komputer yang meminta
pelayanan penting kepada CPU ketika CPU sedang melakukan pemrosesan. IIl.tuptl cksteural
Dalam merespons interupsi, CPU menunda eksekusi program saat itu dan
I-l
I
r----
I
dilakukan dengan tepat. Setelah eksekusi lSR, CPU kembali lagi ke program .krl.lrtul I
(ttrstrul(sIINT)
yang menginterupsi. lni artinya CPU akan melanjutkan program yang tersisa
ketika sebelum terjadi pencabangan. Untuk itu, kondisi (status) CPU
sebelum melayani ISR harus diingat (disimpan). Ketika akan kembali dari
'l'r'urrfcr dota Akldr UO Error dalsm Pturrflrn dcrldorlJ
hardwer'. CPU (o* rJt oq ltcg d oPtedi dL )
lSR, status yang tersimpan diambil kembali ke CPU. Gambar 1.38 mengilus-
trasikan konsep interupsi. Gambar 1.39 Jenis-ienis interupsi
pada Gambar
1 Ada beberapa macam interupsi seperti yang dapat dilihat
Cabane lnterupsi dapat
2 I t9. Tabel 1.5 memberikan penjelasan penyebab interupsi.
ketika
Interupsi ---* terladi kapan saja. Tetapi, umumnya cPU dapat mengenalinya hanya
terjadi di sini
I
stktus instruksi telah lengkap/selesai dan akan memulai siklus instruksi
lotrrnya. Gambar 1.40 memperlihatkan siklus instruksi
yang disertai dengan
prrrgenalan atau pengecekan interupsi.
Interrupt Service
Routine (SR)
Prograrn kini, A
Instruksi
Gambar t.38 Konsep interupsi berikutnya
TABET t.5 Penyebab interupsiyong lozim don tindokon yong dilokukan rlllakukan dengan cara me-reset bendera lE (lnterrupt Enoble flagl pada
ePU. Jlka lE flag logika 1, CPU merasakan adanya interupsi dan kemudian
melayanlnya. Jika lE flag logika 0, CPU mengabaikan interupsi. Dua buah
Penyelesaian Pengontrol perangkat Kontrol diberikan ke t/O lnstruksl yaitu El (Enoble lnterruptl dan Dl (Disoble lnterruptl mengontrol
tlo melaporkan bahwa driver sehingga dia flag tersebut. Jika El men-set bendera lE (lE flag) maka interupsi akan enoble
interupsi telah dapat melakukan
atau tldak terhalang. Jika Dl me-reset bendera lE maka interupsi akan
diselesaikan oleh operasi verifikasi status
rl lsoble atau terhalang.
l/O yaitu, komando penyelesaian (sukses
berakhir atau tidak sukses Non-Moskable lnterrupt lNMllz lnterupsi tertentu harus dilayani tanpa ada
Transfer data Pengontrol perangkat Kontrol diberikan ke l/O penundaan. Dengan kata lain, dapat menyebabkan kerusakan pada
melaporkan bahwa dia driver di mana program atau data atau hasil. lnterupsi ini disebut non-moskable interrupt
mempunyaidata byte dilakukan transfer data dan CPU tidak dapat menghalanginya. Pada Tabel 1.6 diberikan beberapa
yang siap (untuk operasi oleh instruksi lN atau grenyebab NMl. Ketika CPU melayani NMI maka akan terlepas dari kondisi lE
input) atau dia OUT. flag ('1'atau'0').
memerlukan data byte
untuk operasi ou TABET 1.6 Penyebab NMI dan tindakan yong dilokukon
Hasil suatu operasi Kontrol diberikan ke
melebihi kapasitas sistem operasi yang No ffiji r CICfehlll6lj €,[
akumulator dapat membatal-kan 1 Power fail Peringatan lanjut Kontrol dapat diberikan
program atau menarik
bahwa catu daya AC ke rutin SAVE yang
mungkin mati menyimpan status CPU.
Jika terdapat daya
Nested lnterrupt: Jika cpU diinterupsi ketika sedang mengeksekusi lsR, cadangan (UPS dsb.),
disebut interrupt nesting. Akibatnya cpU mencabang ke lsR yang baru. transfer sumber daya
Kalau lsR yang baru telah diselesaikan maka cpU kembali ke tsR yang dilaksanakan.
menginterupsi (sebelumnya, lama). 2 Memory pority Saat dibaca dari Kontrol diberikan ke rutin
lnterrupt priority: Ketika yang menginterupsi lebih dari satu pada saat yang error memori, dia ERROR RECOVERYyang
sama, maka pada saat itu yang akan dilayani satu saja. Urutan pelayanan mendeteksibahwa dapat membatalkan
sejumlah bit data program atau
interupsi disebut prioritas interupsi. Jadidengan adanya penginterupsiyang
mempunyai prioritas lebih tinggi, mengakibatkan terjadi penundaan telah mengalami menanyakan respons
kegagalan operator.
terhadap penginterupsi yang prioritasnya lebih rendah.
3 Bus cycle Siklus bus sekarang Kontrol diberikan ke rutin
lnterrupt moskingz Ada saat di mana cpU secara kontinu menjalankan
molfunction telah terjadi MACHINE CHECKyang
progam tanpa interupsi. Untuk hal tersebut, maka pengenalan interupsi
beberapa malfungsi mengambil keputusan
cPU dapat dicegah oleh penghalang cpU dan ini disebut dengan peng-
apakah mencoba lagi atau
halangan interupsi (interrupt maskingl. Bila interupsi dihalangi, interupsi
membatalkan dengan
tidak ditarik kembali, namun ditunda. Bila penghalang dilepaskan/hilang, suatu pesan.
interupsi mengambil tempat. penghalangan interupsi pada level cpU
36 Organisasidan Arsitektur Komputer llab I Organisasi Komputer Modern 37
1.7 TEKNIK-TEKNtK t/O Rutin llo dapat mengikuti tiga metode yang berbeda untuk
pelaksanaan transfer data seperti yang ditunjukkan pada Gambar 1.41(a).
Perangkat l/o membantu kita berinteraksi dengan komputer agar dapat Pada metode software, rutin l/O secara fisik mentransfer setiap penggalan
memberi/menerima data, program dan hasil ke/dari komputer. Ketika rl.rta (byte) melalui CPU dalam dua langkah seperti yang ditunjukkan pada
dilakukan operasi input, kita memindahkan informasi dari perangkat bambar 1.41(b). lnstruksi lN atau OUT digunakan untuk mentransfer data
masukan ke memori (atau CPU). Demikian halnya pada operasi output, ,urtara CPU dan perangkat. Karena sumber dan tujuan data yang sangat
informasidipindahkan dari memori (atau cpU) ke perangkat keluaran. Rutin besar ada di dalam memori, instruksi lN atau OUT digunakan bersama
l/o (program) bertugas menjaga/mengawasi operasi tlo.l/o driver adalah rlengan instruksi STORE atau LOAD untuk mentransfer setiap byte (word)
kumpulan dari rutin l/O untuk berbagai operasi pada perangkat l/O yang rlata.
spesifik. l/o driver mengawasi pemberian perintah/komando ke pengontrol
perangkat, melakukan verifikasi status dari pengontrol perangkat dan l/O Port: l/O Port adalah unit yang dapat dialamati program di mana
tlata dapat disuplai ke CPU atau dapat menerima data yang diberikan oleh
perangkat serta menangani operasi l/O. llo driver adalah sebuah program
CPU. lnput port mensuplai data bila teralamati, sedangkan output port
sistem. l/O driver dari semua perangkat l/O dikenal sebagai BIOS.
rnenerima data bila teralamati. lnstruksi lN digunakan untuk menerima data
Transfer Dnta rlari input port. lnstruksi OUT digunakan untuk mensuplai data ke output
port. Setiap port memiliki sebuah alamat unik seperti halnya dengan lokasi
rnemori yang juga mempunyai alamat unik. Secara fisik keberadaan sebuah
port dapat dalam berbagai bentuk: sebagai unit tersendiri, bersama dengan
BXpasslng CPU t)ort lainnya, atau bagian dari sebuah komponen fungsi khusus seperti
(rnrtodc lmrdwarc) pengontrol interupsi atau pengontrol perangkat, dan sebagainya. Secara
I
DMA mode
fungsional, sebuah port berfungsi sebagai sebuah jendela untuk komunikasi
rlengan CPU oleh antarmuka port melalui bus data. Misalnya, posisi
(ON/OFF) dari delapan buah saklar yang dapat dirasakan melalui delapan bit
ProEamrncd modc Intcrtupt mode lnput port. lnstruksi lN dapat men-transfer status ini ke sebuah register
CPU. Demikian pula delapan buah LED dapat dihubungkan ke output port
Gambar L !fl Metode transfer dato melalui antarmuka. lnstruksi OUT dapat mensuplai pola yang diinginkan
dengan mengirimkan isi register CPU ke output port. Konsep penggunaan
instruksi lN dan OUT untuk berkomunikasi dengan l/O port dikenal dengan
"Direct l/O" atau "l/O mopped l/O". Beberapa CPU memperlakukan l/O port
seperti halnya lokasi memori. Padi sistem ini, instruksi lN dan OUT tidak
digunakan. Konsep inidisebut "Memory mopped l/O".
Pada progrom mode (pollingl, rutin l/O mencurahkan sepenuhnya pada
transfer data dari permulaan sampai akhir (byte pertama ke byte terakhir)
seperti yang ditunjukkan pada Gambar 1.42. Setelah melakukan transfer
la, lb : dua langkah pada metoda soffware satu byte, l/O driver harus menunggu hingga perangkat siap untuk men-
2 : Metoda hardware
transfer byte berikutnya. Jadi, waktu CPU terbuang selama menunggu. Pada
interrupt mode (Gambar 1.43), CPU men-switch antara rutin l/O dan
Gambar t.4t(b) Prinsip-prinsip tronsfer doto
program lain di antara transfer byte berurutan.
llah I Orgnnisasl Komputer Modern 39
l,.rda metode hardware, rutin l/O tidak terlibat dalam transfer data
'"r'( .r,raktual. Dedicoted hordwore unit seperti dato chonnel alau
lrorrgorrtrol DMA (Drrect Memory Access) mengawasi pengontrolan transfer
rlal,r rntara memori dan pengontrol l/O (Gambar 1.44). Rutin llO
nrrrrg.rwali suatu urutan transfer data dengan memberikan komando pada
;rerrgontrol l/O dan parameter-parameter DMA ke pengontrol DMA.
l',r.rneter-parameter DMA termasuk alamat awal memori, jumlah byte dan
irr,rlr transfer data dengan memori. Transfer data antara memori dan
(a) Diagramblok pr.rrllontrol l/O dilakukan tanpa pengetahuan CPU. Pada akhir, interupsi dari
l,r.rrgontrol l/O melaporkan selesainya operasi l/O pada l/O driver.
Byte berikutn5n
Slnyal,r:
..
No .:;:.:;,u.;,,,,,,::,,.,'.,Penielas1n,',::-:.;i;;;;,,.;''i
kontrol ,,.,,,
Bus alamat
nrt nunjukkan/mengindikasikan jenis siklus bus dengan mengirimkan sinyal
korrtrol yang tepat (membaca memori, menulis memori, membaca l/O,
rrcnulis ll}) pada bus kontrol. Pada siklus bus yang terpilih, CPU
Bus data rrrengirimkan satu sinyal kontrol tertentu yang menunjukkan jenis siklus bus
y,rng terpilih tersebut. Selama terjadi siklus bus output, CPU meletakkan
rl.rta pada bus data dan data diambil oleh subsistem yang teralamati.
terjadi siklus bus input, subsistem yang teralamati meletakkan data
"r.lama
p.rda bus data dan CPU mengambil (membaca) data tersebut.
1.11 FAKTOR.FAKTOR KINERJA KOMPUTER ( I'tl ketika menjalankan sebuah program menentukan waktu yang
Pada bagian ini kita membahas rltgrrnakan oleh komputer untuk sebuah program.
har penting yaitu peniraian kinerja
komputer. secara khusus kita fokuskan
pembahasan pada pengukuran
kinerja yang digunakan untuk menilai
komputer. Misalnya, seorang L.Lz PENGUKURAN KINERJA SISTEM
pengguna komputer mengukur
kinerjanya berdasarkan waktu yang Dahulu istilah MIPS lMillions of lnstruction executed Per Second) lelah
digunakan untuk mengeksekusi
suatu pet<erlaan (program). pada sisi rain, ..r.ring digunakan untuk menunjukkan kecepatan sebuah komputer. Karena
seorang insinyur raboratorium mengukur
kinerja sirlmnva Leraasart an waktu siklus instruksi adalah berbeda untuk instruksi yang berbeda, maka
jumlah total pekerjaan yang
diseresaikan daram suatu waktu. Jadi karau
pengguna mengukur kinerja rrilai MIPS akan berbeda untuk campuran/gabungan instruksi berbeda di
berdasarkan waktu eksekusi program,
insinyur laboratorium mempertimbangkan maka rl.rlam program. Karena itu, nilai MIPS dari suatu komputer hanya
throughputrebih penting daram rrremberikan suatu ide kasar mengenai kinerja sistem.
pengukuran kinerja. sebuah
metrik untut< peniiaian tinerja tomputer
membantu membandingkan desain_desain Program Benchmark adalah sebuah program evaluasi yang dikem-
alternatif.
Kinerja komputer diukur dari jumrah bangkan secara khusus yang dapat digunakan untuk membandingkan
waktu yang digunakan komputer kinerja dari komputer yang berbeda. Waktu yang dibutuhkan oleh sebuah
dalam mengeksekusi sebuah progr.r.
Boreh jadi diasumsikan bahwa ,,istem komputer untuk mengeksekusi program benchmark digunakan
kecepatan mesin penjumrah merr[akan
indikator dari performa, tetapi untuk mengukur kinerja sistem komputer tersebut. Hal ini digunakan oleh
sebetulnya bukan. rni karena sikrus
instruksi pada instruksiADD tidak hanya pembeli, pengembang dan tim pemasaran untuk pengambilan keputusan.
melibatkan operasi penjumrahan,
tetapi juga operasi rain seperti pengam- Ada dua aspek penting yang perlu dipertimbangkan di sini:
bilan instruksi (instruction peneiemahan instruksi (instruction
. fetch),
decode), pengambiran operand (otpeiond L. Jenis instruksiyang berbeda mempunyai waktu eksekusi berbeda.
ietch), penyimpanan hasir, dan
sebagainya. Faktor-faktor yang'berkontribusi
daram kecepatan operasi 2. Jumlah kejadian suatu jenis instruksi bervariasi pada jenis yang
tersebut adalah: berbeda pada program.
' Pengambiran instruksi (instruction
fetch):waktu akses memori Kemampuan dari program benchmark dalam memberikan informasi
r Penerjemahan instruksi (instruition akurat yang dapat diterima mengenai kinerja sistem dari sebuah komputer
decode): kecepatan unit
kontrol bergantung pada gabungan instruksi yang digunakan pada program
' Karkurasi aramat operand (operond
oddress carcuration):(1) waktu benchmark. Karena program-program aplikasi dari jenis yang berbeda
akses GpR/waktu akses memori (2)
waktu tambahan p"ngrt.r.,.n (saintifik, komersial, dan sebagainya) mempunyai gabungan instruksi
' Pengambilan operan d (operond
fefch): waktu ,t r", ,",iori/waktu berbeda, maka sangat sulit untuk mengembangkan sebuah program
akses GpR benchmark yang akan benar-benar memberikan stimulasi pada semua reol
. Eksekusi: waktu tambahan life progrom. Karena itu dilakukan pemisahan program benchmark yang
r Penyimpanan hasil (store result): waktu akses dikembangkan dengan gabungan instruksi yang berbeda untuk setiap jenis
memori
utama/waktu akses GpR. aplikasi: saintifik, komersial, pendidikan, dan sebagainya. Sementara, tidak
Dua komputer yang bekerja pada ada benchmark yang secara penuh dapat merepresentasikan kinerja sistem
kecepatan clock (clock rote) yang
sama, waktu eksekusi untuk instruksi keseluruhan; hasil dari suatu kelompok di dalam memilih program
ADD dapat saja ueiueJa lita teaua
komputer tersebut mempunyai organisasi benchmark secara hati-hati dapat memberikan informasi yang dapat
internar yang berbeda. Karena berharga mengenai kinerja sebenarnya.
itu, jenis instruksi yang berbeda
oJn .iumtah instruksi yang dieksekusi oreh
lhb 1 Organisasi Komputer Modern 51
di mana /i adalah jumlah instruksi jenis i yang dieksekusi dalam program dan
CPI adalah rata-rata jumlah siklus clock yang diperlukan untuk mengekse-
kusi instruksi tersebut.
k- Wrt tr rilrtrre clock --|| Wtkhr
Gambar 1,52 Sinyot clock Contoh 1.5
Anggap penghitungan CPI keseluruhan (total) untuk suatu mesin. Pada
Jika jumrah sikrus crock cpU untuk pengeksekusian suatu pekerjaan data berikut diberikan pengukuran kinerja yang direkam ketika
d.inyatakan dengan J, waktu sikrus crock
dinyatakan dengan f,, dan frekuensi mengeksekusi sekumpulan program-pro$am benchmark. Anggap
clock dengan/. Maka waktu yang digunakan frekuensi clock (clo ck r ate) CPU adalah 200 MHz.
cpU untuk mengeksekusisuatu
pekerjaan (woktu CpU) dapatdinyatikan
dengan:
Kelompok Persentase Jumlah siklus clock
WaktuCpU=Jxf=J/f instruksi kemunculan per instruksi
ALU 38 1
I,l/aktu CPU,, =
.iunluh instnftsi r CPI,, _ 18x10"x2.2 0.1 98 dctik
=
clock rule 200x100
nrsasi dan Arsitoktrrr Komprrlcr Itnb I Organisasi Komputer Modern 55
cPI t, = I,"=,CH, (10 x 1 +Bx 2 + 2x 4+4 x 4) x 10,, rrrr.rnlllh program aplikasi khusus untuk area aplikasi berbeda dan
.f rtrtrluh in.ylruksi (10+8+2+4)x10,, = 2.1 rnrmublikasikan hasil kinerja untuk komputer komersial penting. Kinerja
tlari salah satu komputer yang ada secara komersial diambil sebagai
MtpS,' _
clo<'k ruta _ 200x 10,,
= 95.2 komputer referensi. Kinerja komputer lain diukur sebagai pengukuran
Cpl ,, x 10,, 2.1 x 10,, rt.latif terhadap komputer standar. Berikut ada beberapa standar yang
instruksi x Cpl,, rllkeluarkan oleh SPEC:
LVctktu CPIJ = .iunrluh _20x 10" x 2.1
t,
clock rqle - ,00 i/, = 0,252, detik . SPEC 1995, SPEC 2000, Java benchmark: J82000 dan JVM98
^r . Web server benchmark: SPECwebgg-SSL, SPECweb99 dan
MIPSt, > MI?S, dan SPECweb96
Waktu CpU t, > WaktLr CpLl,, . Mailserver benchmark: MAlL2001
. [,lFS benchmark: SFS97
Contoh di atas menunjukkan bahwa
waraupun mesin B mempunyai Mrps
yang lebih tinggi daripada mesin
A, dia membutuhkan *.t t, ceu yang rebih SPEC memainkan dua fungsi/peranan berbeda yaitu pengembangan
lama untuk mengeksekusi kumpuran program-program [enchmark dan penerbitan hasil. SPEC rating ditentukan sebagai berikut:
benchmark yang
sama.
Million frooting-point instructions per second, Waltu elxehssi program unfuk komputer standar
MFLops (rote/jumrah SPEC rating untuk X = X
eksekusi instruksi ftooting-point per Waldu elrehxi program untuk
unit waktu) juga terah digunakan
sebagai suatu pengukur kinerja mesin yang
didefinisikan sebagai:
Dalam praktiknya, program dari beberapa jenis yang cocok dijalankan
dan masing-masing sPEC rating-nya dihitung. sPEC rating merupakan
MFI,OPS = iumloh operasi .floutiug - point rlrtlnru sebualr progt.(ttn cerminan dari berbagai faktor: kinerja cPU, kinerja memori, organisasi
sistem, efisiensi komputer, kinerja sistem operasi, dan sebagainya'
tyaktu cksekusi x10,'
1.t2.1SpEC Rating
sPEC (system performonce Evoruotion
Corporotion) adarah sebuah
organisasi non-profit yang diperuntukkan
bagi evaluasi kinerja. Korporasi ini
ii
lhh I Orrlanisasi Komputer Modern 57
,'' .. =.,.-. ,,.- i,,,.-,,,r,,.,,,,..',,, ,.. RINGKASAN Perangkat peripheral adalah peranti yang dihubungkan dengan inti
,.t.,tem oleh pengontrol perangkat (atau disebut juga
l/O controllerl. Fungsi
Komputer adarah arat erektronika yang dapat ut.rnanya adalah mentransfer informasi antara inti sistem dan perangkat.
diprogram yang berfungsi
untuk menyeresaikan berbagai macam permasarahan t,(.c0r€r fungsional, pengontrol perangkat berkomunikasi dengan suatu
komputasi dan
manipulasi data. Komputer modern mempunyaitiga
lapisan: pr,rangkat melalui antarmuka perangkat yang membawa sinyal antara
. Hardware, BIOS pr,rrgontrol perangkat dan perangkat. Semua pengontrol perangkat
. Sistem operasi, Kompiler lrcrkomunikasi dengan CPU atau memori melalui antarmuka sistem. l/O
r program aplikasi rlriver untuk suatu perangkat terdiri atas rutin-rutin yang berfungsi
rnelaksanakan berbagai operasi: baca, tulis dan lain-lain.
Hardware mempunyai lima macam unit fungsional:
memori, ALU
(orithmetic and logic unit), register,
unit kontrol, unit masukan dan keluaran Setiap instruksi menetapkan sebuah makro-operasi yang akan
(unit l/o). ALU, register dan unit kontror rlilaksanakan oleh field kode operasi lopcode /ield). Untuk mengeksekusi
disebut centror processing unit
(cPU) atau prosesor. Memori dan
cPU terdiri atas sirkuit-sirkuit elektronika
suatu instruksi, CPU harus melaksanakan beberapa mikro-operasi. Mikro-
dan membentuk inti dari komputer. Unit operasi adalah operasi-operasi dasar yang dilakukan CPU. Sinyal clock
masukan dan keruaran merupakan
unit elektromekanik dan biasa juga disebut perangkat digunakan sebagai acuan pewaktuan oleh unit kontrol. Sinyal clock adalah
peripheral.
sebuah bentuk gelombang periodik karena bentuk gelombangnya berulang
Program adarah urut-urutan instruksi yang
digunakanuntuk dengan sendirinya. CPU mengambil satu instruksi pada satu waktu,
menyelesaikan permasarahan. semua komputer
modern menggunakan mengeksekusinya dan kemudian mengambil instruksi yang berikutnya.
stored program concept. program dan data
,"rr.ny.
suatu memori bersama. Unit kontror mengambir
i,rlrp., dalam Kegiatan ini dikenal dengan siklus instruksi. Dalam keadaan beroperasi
dan mengeksekusi instruksi (running stote), CPU melaksanakan siklus-siklus instruksi dan dalam
dalam urutan satu per satu. program aapa't
memodifikasinya sendiri; urutan keadaan holt state CPU tidak melakukannya.
eksekusi instruksi juga dapat dimodifikasi.
lnterupsi adalah suatu kejadian yang meminta pelayanan khusus pada
Memori utama adarah unit penyimpanan
(fetch) instruksi. Kapasitas total suatu
di mana cpU mengambir CPU di saat CPU melakukan suatu proses. Untuk merespons interupsi, CPU
memori adarah jumrah rokasi bercabang ke suatu rutin layanan interupsi (interrupt service routine, lSRl.
dikalikan dengan word length. Waktu yang
dibutuhkan oleh memori untuk Jika CPU dapat diinterupsi kembali ketika dia sedang mengeksekusi suatu
membaca isi suatu rokasi memori (atau penurisan
informasi ke rokasi lSR, maka hal ini dikenal dengan interrupt nesting. Jika terdapat interupsi
memori) disebut waktu akses. Memori utama
harus dari sebuah RAM jamak (multiple interrupt) pada satu waktu, maka urutan pelayanan
(rondom occess memory) yang mempunyai
waktu akses yang sama untut interupsi dilakukan berdasarkan prioritas interupsi. Pengenalan interupsi
semua lokasi. Sebuah CpU dengan n bit
alamat, mempunyai kemampuan CPU dapat ditunda dengan mengalangi CPU. Bila interupsi dihalangi,
mengalamati memori sebesar 2n. mereka tetap ditunda. lnterupsi-interupsi tertentu harus dilanyani tanpa
Pada komputer modern, umumnya terdapat ada penundaan. lnterupsi demikian dikenal dengan interupsi yang tak dapat
bagian kecir dari memori
utama yang diarokasikan untuk sebuah RoM (read dihalangi (non-moskoble interruptl dan CPU tidak menghalanginya'
oitv rr^iii. Beberapa
memori yang sifatnya permanen diperlukan
untut progrrr_progrm Rutin l/O dapat dibagi menjadi tiga metode dalam mentransfer data:
kontrol dan BIOS yang disimpan di dalam
ROM oleh pabrik. progrqm mode, interrupt mode, dan DMA mode. Pada program mode
Memori pembantu (ouxiliory memoryl adarah (poltingl, rutin l/O (karenanya CPU) merupakan fully dedicoted untuk
memori yang bersifat
eksternal terhadap inti sistem dan dapai
menyimpan program dan data transfer data dari permulaan hingga akhir. Pada interrupt mode, CPU men-
dalam jumlah yang besar. switch antara rutin l/O dan beberapa program lain di antara transfer byte-
byte berurutan. Transfer data dari perangkat kecepatan tinggi seperti hard
58 Organisasi dan Arsitektur Komputer llntr I Organisasi Komputer Modern 59
disk dan floppy disk sulit dilakukan dengan program mode atau interrupt
mode karena kecepatan transfer mode-mode ini lebih lambat daripada
kecepatan data yang datang dari perangkat ini. DMA mode digunakan untuk
perangkat berkecepatan tinggi. pengontrol DMA mengontrol transfer data Beberapa keunggulan proses komputasi menggunakan komputer
antara memori dan pengontrol l/o tanpa pengetahuan (campur tangan) dibandingkan proses komputasi manual adalah: lebih cepat, lebit
CPU.
akurat, lebih andal, lebih konsisten, dan dapat (1) dalam
memori yang besar serta merupakan mesin serbaguna yang dapat (2)
Pada mikrokomputer, konsep bus digunakan untuk interkoneksi sinyal
antar subsistem. Bus adalah lintasan bersama yang digunakan secara Komputer modern terdiri atas dua kelompok yaitu komputer analog
bergantian (sharing) untuk sejumlah sumber dan target. Mikroprosesor dan komputer _.
mempunyai dua struktur bus yang berbeda: bus internal dan bus eksternal. Komputer yang menggunakan komponen-komponen digital bekerja
Urutan kejadian yang dilaksanakan pada bus untuk transfer satu byte berdasarkan ada tidaknya tegangan listrik (secara diskrit). Dua keadaan
melalui bus data disebut siklus bus. port l/o adalah sebuah progrom inidisebut
oddressable unit yang dapat mensuplai data ke cpU atau yang dapat Komponen dasar pembangun komputer modern adalah _ yang
menerima data yang diberikan oleh cpU. secara fungsional port berfungsi digunakan untuk membangun gerbang logika (logic gatel.
sebagai sebuah jendela untuk komunikasi dengan cpU pengantarmukaan ,. Pada umumnya pemrosesan dasar dalam CPU dioperasikan secara
hardware port melalui bus data. aritmetika dan/atau secara (1) _ di dalam unit yang disebut (2)
Proses pembacaan (looding) sistem operasi ke dalam memori utama
segera setelah catu daya dihidupkan pada suatu komputer disebut booting.
(;. Operasi yang dilakukan dalam komputer menggunakan kode operasi
Boot strap loader adalah sebuah program kecil yang tersimpan di dalam dan operand yang terdiri atas logika 1 dan 0 disebut bahasa
ROM yang membantu dalam proses booting. Untuk memudahkan manusia dalam memprogram mesin komputer
umumnya digunakan level pemrograman yang disebut
Kinerja suatu komputer diukur dari jumlah waktu yang digunakan 8. adalah sebuah penerjemah bahasa yang mengubah program
mengakses suatu program. program Benchmark adalah program evaluasi bahasa tingkat tinggi menjadi program bahasa mesin yang ekivalen.
yang digunakan untuk membandingkan kinerja sejumlah komputer. Dahulu 9. lstilah _ umumnya merujuk pada sirkuit-sirkuit elektronika yang
istilah MIPS digunakan untuk rnenunjukkan kecepatan komputer. spEC terdapat di dalam mesin komputer. Secara praktis, istilah ini digunakan
adalah suatu organisasi non-profit yang khusus mengevaluasi kinerja untuk semua komponen fisik di dalam sebuah komputer termasuk
komputer. sPEC memilih/mengembangkan program-program aplikasi untuk mekanika, rakitan komponen-komponen listrik dan elektronika.
beberapa area aplikasi dan memubrikasikan hasil-hasil kinerja untuk 10. lstilah _ umumnya merujuk pada semua instruksi atau program
komputer-komputer komersial. Kinerja dari suatu komputer komersial yang yang digunakan untuk dapat menjalankan komputer secara baik.
ada dijadikan sebagai komputer acuan. Kinerja komputer lainnya dihitung 11. Sistem komputer dikelompokkan dalam beberapa lapisan, mulai dari
secara relatif terhadap komputer standar. Beberapa teknik telah dikem- lapisan paling dalam yaitu hardware, BIOS, sistem operasi/kompiler dan
bangkan untuk meningkatkan kinerja sistem. lapisan paling luar adalah
t2. Kumpulan l/O driver (program untuk pelaksanaan operasi-operasi l/O)
untuk berbagai perangkat peripheral dalam komputer yang dapat
dipanggil oleh program lain kapan saja suatu operasi l/O harus
dikerjakan, disebut
13. _ adalah sebuah program yang menyelesaikan permasalahan
pengguna.
60 Organisasidan Arsitektur Komputer I llrh I organisasi Kompuler Modern 61
L4. _adalah sebuah program yang membantu utilisasi efisien sistem t/ Kapasitas total memoriadalah word length dikalikan dengan
oleh program-program yang lain dan para pengguna. I l. Waktu yang dibutuhkan oleh memori untuk membaca (atau menulis)
15. _ komputer adalah sebuah sains (ilmu) untuk tujuan perancangan pada sebuah lokasi memori disebut
sistem komputer seperti set instruksi, format instruksi, kode operasi, 14. Memoriyang mempunyaiwaktu akses yang sama untuk semua lokasidi
jenis operand, register, mode pengalamatan, dan lain-lain. dalam memori semikonduktor dinamakan _.
16. _ komputer adalah ilmu yang memberikan gambar yang lebih t'r. Contoh memori yang bersifat non-volatile adalah memori
dalam mengenai struktur fungsional dan interkoneksi logika antara l(r. Contoh memori yang bersifat volotile adalah memori
unit-unit (blok fungsional), termasuk detail atau rincian hardware yang l/. Registeryang berkomunikasi dengan memori utama adalah (1) register
dapat diketahui oleh pemrogram, seperti sinyal-sinyal kontrol, dan (2) register
antarmuka komputer dan peripheral serta teknologi memori yang 18. Data memori yang akan diakses, alamatnya terlebih dahulu ditransfer
digunakan. ke register _.
17. Hardware mempunyai lima macam unit fungsional: memorL ALU 19. Data yang dibaca dari memori atau yang ditulis ke memori harus berada
(Arithmetic ond Logic UnifL register, unit kontrol dan unit di register _.
L8. Central Processing Unit (CPU) terdiri atas ALU, register, dan _. 40. Antarmuka (interface) CPU dengan memori ada dua jenis yaitu: (1)
19. Program dan data dimasukkan ke dalam komputer melalui unit _. dan (2)
20. Memori utama menyimpan (1)_ dan (2) 41.. Siklus instruksi terdiri atas dua fase utama yaitu fase (1) pengambilan
21. _ membaca dan menganalisis instruksi satu per satu dan instruksi dan fase (2) _ instruksi.
memberikan sinyal kontrol ke seluruh unit untuk melakukan berbagai 42. Format umum instruksi mesin terdiri atas dua field yaitu: field (1) kode
macam operasi. operasi (opcode), dan field (2)_.
22. _ adalah bagian/unit mesin yang mampu melakukan operasi 43._ sebagai penunjuk alamat instruksi yang akan dieksekusi
aritmetika dan logika. selanjutnya.
23. Hasil dari instruksi disimpan di memori dan dapat dibawa ke unit 44. lnstruksiyang sedang didekode disimpan pada register _.
45. Program counter meletakkan alamatnya pada register_.
24. Semua komputer modern menggunakan konsep yang disebut 45. Yang melakukan penerjemahan instruksi adalah
yang awalnya disusun oleh tim desain komputer ISA yang dipimpln oleh 47. Operasi CPU terbagi dua yaitu operasi mikro dan operasi
John Von Neumann. Karena itu biasa disebut konsep Von Neumann. 48. Membersihkan register, menambah isi program counter merupakdn
25. Media penyimpanan utama dalam komputer dikelompokkan dalam dua contoh dari operasi
bagian yaitu: (1) memori utama, dan (2) 49. _ adalah suatu kejadian dalam sistem komputer yang meminta
26. Sebuah perangkat peripheral terhubung (/ink) dengan inti sistem (CpU pelayanan penting pada CPU ketika CPU sedang melakukan
dan memori)oleh suatu pemrosesan.
27. Secara fisik keberadaan pengontrol perangkat dapat dibedakan dalam 50. Dalam merespons interupsi, CPU menunda eksekusi program saat itu
tiga macam yaitu (1) sebagai unit yang terpisah, (2) terintegrasi dengan dan melakukan pencabangan ke
perangkat dan (3) 51. _ adalah sebuah program yang melayani interupsi.
28. Tiga macam sinyal antara perangkat dan pengontrol perangkat yaitu: 52. _ adalah keadaan di mana CPU diinterupsi ketika sedang
sinyal_.
(1) sinyal kontrol, (2) sinyal status, dan (3) mengeksekusi lSR.
29. Sinyal RESET merupakan contoh sinyal_. 53. Urutan pelayanan interupsi disebut
30. Sinyal ERROR merupakan contoh sinyal_. 54. Penghalangan interupsioleh CPU disebut
31. lstilah menunjukkan jumlah bit pada setiap lokasi memori 55. lnterupsiyang tidak dapat ditunda atau dicegah disebut
/
55. _ merupakan kumpulan rutin l/O untuk berbagai operasi pada 100 MIPS, sedangkan komputer B beroperasi pada clock 120 MHz dan
perangkat l/o yang spesifik yang mengawasi pemberian perintah/ 80 MIPS. Karena beberapa alasan, komputer B telah dipilih oleh
komando ke pengontrol perangkat, melakukan verifikasi status dari konsultan. Dia juga memberikan beberapa saran untuk pengembangan
pengontrol perangkat dan perangkat serta menangani operasi l/O. kinerja komputer B dalam modifikasi desain ke depan. Beberapa saran
57. Metode transfer data terdiri atas tiga bagian yaitu (1) progrommed yang diberikan tersebut adalah:
mode (pollingl, Q) _dan (3) a. Ganti memori utama dengan memoriyang lebih cepat
58. Dari ketiga metode transfer data yang dimaksud pada Soal 57, yang b. Perkenalkan sebuah memori cache kecil
paling lambat adalah c. Tingkatkan frekuensi clock hingga 200 MHz.
59. Dari ketiga metode transfer data yang dimaksud pada Soal 57, yang Anggaplah Anda hanya disuruh memilih satu saran tersebut untuk
paling cepat adalah menjaga harga sebagaifaktor utama dalam pilihan Anda (a, b, c)? Yang
50. Konsep penggunaan instruksi lN dan oUT untuk berkomunikasi dengan mana yang membutuhkan perubahan arsitektur? Yang mana yang
port l/O dikenal dengan membutuhkan teknologi yang lebih baik?
61. cPU memperlakukan port l/o seperti halnya lokasi memori dalam i. Memori semikonduktor adalah memoriyang berukuran kecil dan cepat
melakukan transfer data disebut daripada memori magnetik (core). Juga menggunakan daya yang lebih
62. diperlukan di dalam komputer untuk membawa berbagaijenis sedikit daripada memori magnetik. Keduanya adalah rondom dccess
informasi di antara subsistem (CpU, memori dan pengontrol l/O) memory (RAM). Memori magnetik tetap lebih superior dari memori
63. Mikroprosesor/cPU mempunyai dua struktur bus yang berbeda yaitu
- (1) bus
semikonduktor hanya dalam satu aspek. Aspek apakah itu?
dan (2) bus _. 4. Prosesor lntel mempunyai alamat 32-bit dan memori yang sifatnya byte
64. Urutan kejadian yang dikerjakan bus untuk mentransfer satu byte addressoble. Berapakah kapasitas memori fisik maksimum untuk
(word) melalui bus data disebut membangun komputer dengan mikroprosesor tersebut?
65. Ada empat macam siklus bus yang utama yaitu: (1) Memory reod bus 5. Mikroprosesor lntel 80285 mempunyai alamat 24-bit. Berapa word
cycle: cPU membaca data dari lokasi memori, (zl Memory write bus maksimum yang lebarnya 32-bit yang memungkinkan untuk memori
cycle: CPU menulis data ke lokasi memori, (3) , dan (4) tersebut?
66. Kinerja komputer diukur dari _ yang digunakan komputer dalam 6. IBM PC berbasis lntel 8088 original diberikan sinyal clock 4,77 MHz
mengeksekusi sebuah program. pada mikroprosesor tersebut. Berapakah periode sinyal clock
67. adalah sebuah program evaluasi yang dikembangkan secara komputer?
khusus yang dapat digunakan untuk membandingkan kinerja dari 7. Sebuah Program Benchmarking dari 200.000.000 instruksi telah
komputer yang berbeda.
- dijalankan pada sebuah komputer dengan operasi 100 MHz. Diperoleh
bahwa komputer memberikan kinerja 100 MIPS. Tentukan CPt lcycles
per instruction), siklus per instruksi untuk komputer ini.
8. Sebuah Program Benchmarking dengan gabungan instruksi (instruction
mx) berikut yang telah dijalankan pada operasi komputer dengan sinyal
t. Komputer PC desktop mempunyai ukuran yang lebih besar dan clock 100 ns: 30% instruksi aritmetika, 50% instruksi load/store dan
menggunakan daya lebih besar dari notebook pc. Mengapa kemudian 20% instruksi pencabangan (branch instruction). Waktu siklus instruksi
notebook lebih mahal dari desktop? (arahan: portability) untuk tipe ini berturut turut adalah 7, 0,6 dan 0,8 us. Hitung CPI
2. Kinerja dua komputer berbeda A dan B (mempunyai arsitektur sama) komputer ini.
akan dibandingkan oleh sebuah konsurtan sebagai bagian dari proses 9. Anggap sebuah program yang dijalankan dalam komputer A selama 50
evaluasi. Komputer A beroperasi pada clock 100 MHz dan memberikan detik, komputer tersebut mempunyai clock 500 MHz. Kita akan
65
64 Organisasi dan Arsitektur Komputer lIrt) I Organisasi Komputer Modern
Jika mesin B memerlukan 2,5 kali siklus clock lebih banyak dari mesin A kompiler berbeda dan diperoleh doto berikut:
untuk program yang sama, hitung berapa clock rate yang harus dimiliki
tumloh instruksi
mesin B dalam MHz?
Code sequence
10. Misalkan kita mempunyai dua implementasi arsitektur set instruksi
c
yang sama. Mesin A mempunyai waktu siklus clock 50 ns dan CPI 4,0
Kompiler -1
"-"'r"-' L5
untuk beberapa program, dan mesin B mempunyai waktu siklus clock
65 ns dan CPI 2,5 untuk program yang sama. Hitung mesin manakah Kompiler 2 2522: :
Klas cPt
instruksi klas instruksi
A t
B 3
c 4
tumlah instruksi
Code sequence (dqlam iutaon)
Berapa CPI untuk setiap sequence? Code sequence manakah yang lebih
cepat? Berapa nilai tersebut?
72. Misalkan sebuah mesin dengan tiga kelas instruksi dan pengukuran CPI
sebagai berikut:
Klos cPt
instruksi klos instuksi
A 2
B 5
C 7
i
BAB 2
EVOLUSI KOMPUTER
3. Rentang harga yang diinginkan lisik dan hubungan di antaranya. struktur fisik tidak memengaruhi kinerja
4. Fitur-fitur dasar yang diinginkan pengguna dan aspek-aspek teknik tctapi berpengaruh pada keandalan dan biaya. Gambar 2.2 memberikan
.,truktur fungsional parsial dari sebuah PC (personol computer) yang
Beberapa hal yang terlibat dalam desain komputer baru adalah: (cathode roy
rrrenunjukkan empat subsistem: cPU, memori, subsistem cRT
1. Apakah komputer baru mensyaratkan "softwore compatible" trrbe), dan subsistem keYboord.
dengan komputer sebelumnya agar semua program yang ada masih
dapat digunakan pada komputer baru tersebut?
2. Jika komputer baru secara total mempunyai arsitektur baru dengan
sistem operasi yang baru (yang akan dikembangkan), apakah perlu
membuat sebuah "simulotor" (untuk komputer baru) yang
dijalankan pada komputer sebelumnya agar program-program yang
dikembangkan untuk komputer baru dapat diujisebelum komputer
baru siap?
3. Apakah komputer sebelumnya dapat digunakan untuk "emulosf'
komputer baru untuk mengkaji kinerja yang diharapkan pada
komputer baru?
4. Apakah memungkinkan untuk "impor(' desain subsistem dari
komputer sebelumnya agar pengembangan hardware akan menjadi
cepat?
PadaGambar2.3ditunjukkanstrukturfisikparsialPC.Papansistem
(papan cpU) berfungsi sebagai papan-utam a (motherboord) dengan slot
l/o
PCB lainnya' Umumnya
fang terinterkoneksi ke berbagai subpapan
subpapan PCB merupakan pengontrol dan memori' misalnya pengontrol
CRT merupakan subpapan dalam gambar ini' Papan utama mempunyai
pengontrol keyboard'
empat blok fungsional yaitu CPU, RAM, ROM dan
yang
Pengontrol CRT mempunyai memori penyangga video
on-board
(memorilayar).
Gambar 2,1 Longkoh proses pengembangan komputer
Software
Koncktor keyboud
Power supply
Pengontrol DMA Conroller
Subsistem floppy Kabel
r--+RAM
Gambar 2.3 Struktur fisik (parsiol) sebuoh PC
__J Device
L--nolr
Ruang memori mempunyai tiga komponen:
1. Memori baca/tulis (RAM) untuk program dan sistem operasi AIU Register Unit konrol
2. ROM untuk BIOS
3. Memori layar (video bufferl. Secara logika merupakan bagian dari Gambar 2.4 Hierarki struktur fungsionol sebuoh sistem PC
memori utama CPU tetapijuga dapat diakses oleh pengontrol CRT.
Struktur fungsional dan struktur fisik mempunyai komposisi hierarki seperti
yang ditunjukkan pada Gambar 2.4 dan Gambar 2.5. Ada dua level
komputer. Struktur pada suatu level tidak menunjukkan perilakunya.
Perbandingan struktur fisik dari dua komputer menunjukkan komponen- Kotak sistem Keyboard Monitor CRT Kabel
komponen dan teknologinya. Demikian halnya dengan struktur fungsional
menunjukkan desainnya tetapi tidak menunjukkan kendala-kendala sinyal
pewaktuan atau urutan-urutan sinyal.
Power supply Mainboard PCB Disk drive Kabel
pengonkol floppy floppy floppy
TABEL 2.1 Fungsi dan Leve! Komputer 2.4.L Evolusi Mode-mode Penggunaan Komputer
No Level T, Fungsi (contoh kasus) Pada Gambar 2.7 ditunjukkan mode-mode penggunaan sistem kom-
1 Level Sistem Eksekusi program puter pada waktu yang berbeda. Pada setiap mode, sistem operasi dan
2 Level Subsistem CPU: pemrosesan instruksi, memori , bock-up ',oftware sistem yang berhubungan mempunyai beberapa fitur-fitur unik.
memory, unit input, pentransferan input Misalnya, dalam suatu sistem microprogramming, sistem operasi menjamin
pengguna, unit output, sistem pentransferan proteksi setiap program tanpa interferensi dari yang lain.
output ke pengguna.
Frrrllel puorrdrg
3 Level Register PC menunjuk ke alamat instruksi berikutnya, ACC
berisi hasil operasi ALU, lR menyimpan instruksi
yang diambil dari memori, MAR memberikan
alamat lokasi memori untuk operasi baca/tulis.
4 Level Sirkuit Logika lR terbuat dari sejumlah flip-flop D dengan input
clock bersama. Sinyal kontrol lR + MBR memicu
register.
5 Level Komponen Keyboard menggunakan switch kapasitor, bila
sebuah tombol ditekan maka perubahan
kapasitansi antara dua pelat dirasakan sebagai
sebuah penekanan tombol.
stack, di mana pemrogramannya sangat sederhana karena operasi llrriwlrcd control unii
aritmetika dilakukan pada item teratas dari stack tersebut.
Gambar 2.8 Mode orsitektur CPU 2.4.4 Evolusi Teknik-Teknik Memori Utama
Pada Gambar 2.70 ditunjukkan beberapa teknik memori. Kecepatan
2,4.3 Evolusi Unit Kontrol dan Penerjemahan lnstruksi CPU meningkat secara konstan karena kemajuan teknologi komponen,
namun tidak dibarengi dengan teknologi memori yang cepat. Karena itu
Pada Gambar 2.9 ditunjukkan evolusi penerjemahan instruksi
(instruction decodingl pada unit kontrol. Hardwired controlunit mempunyai tujuan utama perbaikan kinerja adalah pada memori dengan teknologi yang
ada. lnterleaving adalah salah satu konsep pembagian memori menjadi dua
sirkuit hardware yang menerjemahkan opcode dalam instruksi dan
bagian lokasi yaitu alamat ganjil dan genap. Dengan kata lain, lokasi yang
membangkitkan sinyal-sinyal kontrol yang tepat menggunakan referensi-
berdekatan ditempatkan dalam modul yang terpisah yang dapat diakses
referensi waktu yang disediakan oleh sinyal clock. Microprogrommed
secara bersamaan sehingga secara keseluruhan mengurangi waktu akses.
control unit menyimpan pola-pola bit untuk setiap instruksi yang sesuai
dengan sinyal-sinyal kontrol dalam beberapa mikroinstruksi. Sebuah ROM
digunakan untuk menyimpan mikroprogram (urutan mikroinstruksi) untuk
setiap instruksi. Selama eksekusi program, unit kontrol mengambil
mikroprogram yang sesuai dengan opcode. Jadi, unit kontrol berfungsi
sebagai penyedia mikroprogram.
tanpa sepengetahuan CPU dengan bantuan atau kerja sama dengan sistem
operasi. Bank-bank jamak dengan kapasitas yang sama digunakan dan pada
2.4.6 Evolusi Teknik-Teknik l/O
satu waktu salah satunya dipilih. Pada Gambar 2.L2 ditunjukkan teknik-teknik transfer data dengan
perangkat peripheral. Teknik-teknik l/O tersebut pada setiap perangkat
2.4.5 Evolusi Penanganan Siklus lnstruksi rnenawarkan kecepatan atau transfer rate yang beragam dan juga biaya
(hardware).
Secara umum, kinerja suatu subsistem dapat ditingkatkan dengan
berbagai teknik seperti: paralelisme dengan duplikasi hardware, paralelisme / Mod.\
Polling
dengan aksi mendahului (lebih dini), tumpang tindih, dan realokasi. Pada
Gambar 2.11 ditunjukkan beberapa teknik penanganan siklus instruksi '.interunsi
untuk meningkatkan jumlah instruksi yang diproses setiap detik.
f oo* rvrod;\ m[xrcomputer
mainframe
{3*l D *o-' microcomputer
dan
\-/
frv*tor}.
\!rccesso>
Dahulu di awal pengembangan komputer dicapai dengan kerjasama Tabel 2.2. Generosi Sistem Komputer
proyek antara universitas dengan dana yang berasal dari pemerintah.
llo :::
Komputer saat ini merupakan hasil kombinasi dari upaya para ilmuwan ctilt R rit=
sekitar 50-70 tahun lalu. Kebutuhan akan komputasiyang cepat oleh fabunB 194S--1958 Mark l. ENIAC, EDVAC l. IBM 650, Stoftd Pmgem Conapt, mamori
militer 1
Tiga ratus tahun sebelum tahun 1900-an sejumlah teknologi mesin yang
2.5.1, Komputer Generasi Pertama
kompleks semakin meningkat seperti konstruksi roda geor, pengungkit
dan
katrol digunakan untuk melakukan operasi-operasi dasar seperti penjum- Komputer generasi pertama ini murni mesin hardware. Tidak mem-
lahan, pengurangan, perkaraian dan pembagian. Kartu berrubang digunakan punyai sistem operasi. Pemrograman dilakukan dalam bahasa mesin, yang
untuk mengontrol secara otomatis serangkaian daftar kalkulasi dan telah berbeda setiap komputer. Pengguna bekerja pada sejumlah switch/saklar
mampu untuk diprogram. Device perangkat ini dapat melakukan komputasi pada panel depan baik untuk start, run dan halt komputer. Status internal
matematika tabel logaritma dan fungsi trigonometri dengan pendekatan ditampilkan pada sejumlah lampu pada panel depan. Umumnya hanya
atau bantuan polinomial. Keluaran atau hasil komputasi dapat disimpan dapat dioperasikan oleh desainer atau programmer pemrogram karena
pada kartu berlubang atau dicetak di atas kertas. Relai kompleks.
elektromekanik
80 Organisasidan Arsileklur Komputer Bob 2 Evolusi Komputer 81
Beberapa kontribusi utama komputer generasi ketiga adalah: No f ltur Tlpg ..,:,i.:tir;
L. Penemuan chip rc yang merupakan sukses besar daram bidang 8 Komunikasi data Komunikasi antar Transfer data jarak jauh melalui
elektron ika u ntu k mem ba ngu n sistem m ikroelektronika komputer saluran telepon.
2. lc mempunyai banyak keuntungan dibandingkan komponen diskrit,
9
Mlcro-diagnostic Membantu
pemeliharaan; outo
Untuk aplikasi saintifik yang
memerlukan presisi tinggi.
misalnya ukuran kecil, kecepatan lebih tinggi, biaya rendah, dioonostic
meningkatkan keandalan (reo I ibil ity)
3. Penggunaan komputer daram suatu pemrosesan kontinyu dan
sektor manufaktur seperti penyulingan BBM dan distribusi daya 2.5.4 Komputer Generasi Keempat
listrik menjadi populer. Pada era ini, teknologi LSI (lorge scole integrafion) yang menggantikan
4. Perusahan yang terkenal seperti lBM, UNIVAC, Hp,lCL dan DEC teknologi SSI (Smol/ scole integrdtion) memberikan semakin banyak jumlah
mendominasi industri komputer. transistor yang dapat ditanamkan dalam sebuah chip tunggal. Dengan
5. Dominasi minicomputer membuat kesempatan kerja yang lebih demikian komputer generasi keempat ini mempunyai kinerja yang semakin
banyak untu k komputer profesional. baik yang ditandai dengan semakin banyaknya jumlah dan ragam register
dalam CPU serta penggunaan memori yang semakin cepat dengan kapasitas
Tabel 2.6. Fitur-fitur komputer generosi ketigo yang lebih besar.
No Nama Fltur
3 Mikroprosesor Chip tunggal Komputer biaya rendah sebagai
3 Sistem Sistem cepat dan Menghemat sumber daya pada
untuk CPU tantangan m i nicom pute r dan
Server kaoasitas besar client system.
penggunaan komputer secara luas
4 Embedded Produk berbasis Dedicated intelligent
pada semua bidang
system Mikrokontroler mengontrol peralatan-
4 Kontrol Proses Otomatisasi Komputer yang diperuntukkan
mikrokontroler peralatan instrumentasi
pabrik khusus dalam pengontrolan
termasuk peripheral.
proses manufaktur
5 Multimedia Menggabungkan Aplikasi baru seperti hiburan,
data, suara, dan pendidikan, dan lain-lain dll.
2.5.5 Komputer Generasi Kelima sambar
6 lnternet dan Pemakaian komputer Semua memungkinkan dari
Seperti halnya komputer generasi keempat, pada generasi kelima ini
email berbasis internet rumah mulai dari belajar
lebih terfokus pada peningkatan kepadatan chip yang sangat besar hingga
sampai belania.
jutaan transistor. Teknologi VLSI (very lorge scole integrotionl meningkatkan
kepadatan teknologi LSI pendahulunya. pembuatan komputer pribadi
(personol computer, PC) mulai memanfaatkan dengan baik keunggulan
teknologiVLS| ini.
Beberapa kontribusi utama komputer generasi-S adalah:
1. Penggunaan teknologi VLSI dan konsep ortificiol intelligence. Expert
system, pottern recognition, voice recognition, signoturing
copturing ond recognition, robot yang dikontrol dengan mikro-
prosesor dan sejumlah pengembangan dalam bidang komputer
merupakan keistimewaan tersendiri.
2. Perkembangan komputer profesional yang pesat.
struktur komputer menunjukkan interkoneksi internal. struktur l. Dalam desain suatu komputer, maka hal-hal yang perlu dipertimbang-
fungsional menunjukkan blok-blok fungsional dan hubungan antara blok kan adalah (1) Kinerja yang diharapkan, (2) Target aplikasi (bisnis/
tersebut. Struktur fisik menunjukkan modu-modul fisik dan interkoneksi saintifik/server/client, dan lain-lain.), (3) Rentang harga yang diinginkan
antara modultersebut. dan (a)
Fungsi komputer menunjukkan tingkah laku komputer tersebut. Keluar- 2. Struktur komputer menunjukkan struktur internal komputer tersebut.
an komputer merupakan fungsi dari masukannya. pada level menyeluruh Dua aspek struktur komputer adalah: (1) struktur dan (2)
(yaitu sebagai sebuah sistem), fungsi ini sebagai pengeksekusian program. stru ktu r
Struktur menentukan blok-blok dan hubungan antara blok
sebuah komputer harus mempunyai keunggulan dalam lima dimensi
tersebut. Struktur ini merupakan faktor penting untuk mendesain
yaitu: kinerja, kapasitas, harga, maintainability, dan kenyamanan pengguna.
komputer seperti yang tercermin dari pada kinerjanya.
Tiga faktor yang berkontribusi bagi superioritas desain komputer adalah:
teknologi, konsep, dan teknik yang digunakan. Teknologi secara tetap dan
4. Struktur menetapkan modul fisik dan hubungan di antaranya.
Struktur ini tidak mempengaruhi kinerja tetapi berpengaruh pada
pasti mengembangkan hampir semua aspek komputer yaitu: cpU, memori,
keandalan dan biaya.
divais pera ngkat periphera l, interkoneksi ja ru r, softwa re, da n la in-la in. 5. Ada lima dimensi untuk mengukur keunggulan komputer yaitu (1)
Di awal pPengembangan komputer dahulu dicapai dengan kerjasama (21 (3) harga, (41 maintanobility dan (5) kenyamanan
proyek antara universitas dengan dana yang bersumber dari pemerintah. penSguna
Kebutuhan akan kalkulasi yang cepat oleh militer Amerika serikat 6. Dalam perkembangannya, tiga arsitektur dasar CPU yang dikenal
mempunyai kontribusi yang penting dalam penemuan komputer dahulu,
-
adalah: (1) arsitektur CPU berbasis akumulator, (21 dan (3)
sedangkan pengembangan saat ini banyak didasari oleh kebutuhan industri.
sejarah komputer dicakup dalam tiga tipe komputer yaitu: komputer 7. Dalam perkembangannya, tiga unit kontrol yang dikenal adalah: (1)
-
mekanik, komputer elektromekanik, dan komputer elektronik. Komputer hordwired control unit, (21 dan (3)
elektronik selanjutnya dikelompokkan ke dalam lima generasi komputer. 8. Dalam perkembangannya, tiga teknik l/O yang dikenal adalah: (1)
polling (progrommed l/Ol, (21 _, dan (3)
stored program concept yang diperkenalkan oleh von Neumann adalah
merupakan basis atau dasar bagi hampir semua komputer yang didesain
9. Secara umum, kinerja suatu subsistem dapat ditingkatkan dengan
berbagai teknik seperti: (1) paralelisme dengan duplikasi hardware, (2)
saat ini.
paralelisme dengan aksi mendahului (lebih dini), (3) dan (4)
L2. Stored Program Concept, memori maknetik magnetik sebagai memori BAB 3
utama, aritmetika biner titik-mengambang adalah merupakan ciri
utama komputer teknologi _. ARSITEKTUR CPU DAN SET INSTRUKSI
13. Sistem operasi, multiprogramming, compiler, hard disk maknetik-
magnetik,aritmetika biner titik-mengambang, minicomputer adalah
merupakan ciri utama komputer teknologi
t4. Multiprocessing, memori semikonduktor, memori virtuaL memori
cache, supercomputer adalah merupakan ciri utama komputer
teknologi
15. Konsep RISC, mikrocomputer, kontrol proses, workstation merupakan
ciri utama komputer teknologi
!6. Networkrng, sistem server, multimedia, embedded system merupakan
ciri utama komputer teknologi
Program Bahasa
Referensi (kecil) Arsitektur RISC mempunyai fitur sebagai berikut:
Tingkat Tinggi
1. lnstruksinya sederhana
mori utame
(lambat)
2. Set instruksi kecil
3. Panjang instruksinya sama untuk semua instruksi
4. Register untuk penyimpanan operand jumlahnya besar
5. Arsitektur Lood/Store: Operand untuk instruksi aritmetika seperti
"ADD" tersedia di register, bukan di memori. Hasil instruksi "ADD"
juga disimpan di register, bukan di memori. Jadi instruksi "LOAD"
akan mendahului instruksi "ADD" dan instruksi "STORE" akan
mengikuti instruksi "ADD", jika diperlukan. Karena itu kompiler
akan memberikan banyak instruksi "LOAD" dan "STORE".
Gambar 3.1. Skenorio CISC
6. Eksekusi instruksi yang lebih cepat (memberikan kecepatan siklus
instruksi rata-rata satu clok per instruksi). Pipeline instruksi,
llnb 3 Arsitektur CPU dan Set lnstruksi 97
Gambar 3.2 Skenorio R|SC Seorang arsitek komputer harus mempertimbangkan aspek-aspek
berikut sebelum menyelesaikan set instruksi:
cPU Rlsc yang berbasis mikroprosesor maupun yang non-mikropro-
sesor hingga saat ini telah didesain dan dipasarkan. Berikut beberapa cpu
1. Kenyamanan pemrograman: Jumlah instruksi; pemrogram lebih suka
mempunyai sebanyak mungkin instruksi supaya operasi yang tepat
RISC:
dapat dikerjakan oleh rangkaian instruksi. Tetapi mempunyai terlalu
1. IBM RS/6000 atau arsitektur POWER banyak instruksi dalam set instruksi menghasilkan desain unit kontrol
2. Keluarga Sun's SpARC yang kompleks. Pendekodean instruksi memerlukan sirkuit dan waktu
3. HP's PA (precision architecture) yang besar.
4. Keluarga Motorola 88000 2. Pengalamatan yant fleksibel: Pemrogram senang jika memungkinkan
5. lntel860 semua mode pengalamatan operand ada di dalam arsitektur. Hal ini
6. SeriM|PS memberikan fleksibilitas yang banyak kepada pemrogram, walaupun
7. PowerPC desain unit kontrol menjadi kompleks.
3. Jumlah General Purpose Register (GPR): Jika CPU mempunyai register
yang banyak, pemrogram memperoleh pemrosesan dan transfer data
3.1.4 Mikroprosesor RISC yang cepat. Tetapi, biaya perangkat keras CPU meningkat dengan
Pabrik mikroprosesor dari dulu tidak memberikan prioritas pengem- banyaknya GPR.
bangan mikroprosesor. Salah satu alasannya adalah ketersedian kompati- 4. Target segmen pasar: Sasaran bidang aplikasi untuk komputer
bilitas (pada mikroprosesor baru) terhadap mikroprosesor sebelumnya memerlukan operasi-operasi khusus untuk pemrosesan data yang
yaitu cPU tipe clsc. Pada umumnya mikroprosesor keluarga tntel (g00g efisien. Komputer saintifik harus mempunyai aritmetika floating-point
sampai Pentium 4) adalah tipe ctsc kecuali lntel g60. Keluarga Motorola yang tingkat presisinya baik/tidak terlalu jelek. Sedangkan komputer
88000 termasuk dalam tipe Rlsc. sedangkan powerpc merupakan cpu tipe
98 Organisasi dan Arsitektur Komputer
I llntr ll Arsiteklur CPU dan Sel lnslruksi 99
bisnis harus mendukung aritmetika desimal, dan komputer hiburan trrrtruksi mesin (nilai biner atau hex) digantikan oleh sebuah mnemonic. Jadi
harus mempunyai operasi-operasi multimedia.
l.'l,rs penggunaan mnemonic lebih mempunyai arti daripada nilai biner atau
5. Kinerja sistem: Jika sebuah program mempunyai instruksi sedikit,
lrr.x, yang akan membuat pemrograman pada level rendah ini lebih mudah
kinerja sistem meningkat karena waktu yang digunakan oleh cpU dalam
rl,rrr lebih dapat diatur/ditangani dengan baik.
pengambilan instruksi berkurang. Untuk program yang pendek,
instruksi yang digunakan harus instruksi kompleks. Jadi, instruksi Bahasa rakitan terdiri atas sebuah rangkaian ossembly statement di
tunggal harus dapat melakukan beberapa mikrooperasi. pemrogram Irr,rna stotemenf (pernyataan-pernyataan) ditulis satu per setiap baris.
menyadari hal ini mengurangi ukuran program. Tapi di sisi lain \r:tiap baris dalam sebuah program rakitan dipecah menjadi empat medan
menambah kompleksitas unit kontrol dan waktu eksekusi instruksi. llirld): Lobel, Opcode (kode operasi), Operond dan Komentor. Gambar 3.3
Konsep modern arsitektur Rlsc tidak mendukung instruksi-instruksi rrrenunjukkan format empat-kolom dari sebuah instruksi rakitan.
kompleks, walaupun semua komputer lama yang berbasis CISC
menggunakan instruksi-instruksi kompleks.
secara tradisional, superioritas suatu komputer ditentukan pada basis
Opermd Komentar
(disyaratkau untuk
set instruksinya. Jumlah total instruksi dan ketangguhan yang dimilikinya (optional)
beberapa inshuksi)
menjadi sangat penting karena dua faktor tersebut berkontribusi pada
efisiensi komputer. Program yang efisien adalah bila program itu pendek Gambar 3.3 Format instruksi bahoso rokitan
dan menempati ruang memori yang sedikit. waktu eksekusi juga
merupakan faktor kunci. Label digunakan untuk menyediakan nama-nama simbolik untuk
Kecenderungan sekarang adalah mengikuti penggunaan instruksi- ,rlamat-alamat memori. Label adalah sebuah pengarah (identifier) yang
instruksi sederhana yang menghasilkan unit kontrol yang sederhana. sirkuit dapat digunakan dalam sebuah baris program untuk bercabang ke baris
cPU lebih penting dari ukuran memori. Jadi, kecepatan cpU meningkat yang diberi label. Juga dapat digunakan untuk mengakses data yang
pada pemrosesan instruksi dari arsitektur RISC. menggunakan nama-nama simbolik. Panjang maksimum sebuah label
berbeda-beda dari satu bahasa rakitan dengan bahasa rakitan lainnya.
Pemilihan set instruksi untuk suatu komputer bergantung pada cara Beberapa bahasa rakitan mengizinkan panjangnya hingga 32 karakter, aCa
cPU disusun. secara tradisional, ada tiga organisasi cpU dengan instruksi- pula yang membatasi hingga 6 karakter. Bahasa-bahasa rakitan untuk
instruksi spesifik tertentu: beberapa prosesor memerlukan sebuah tanda titik dua (:) sesudah
1. CPU berbasis akumulator penulisan label, tetapi yang lainnya tidak mensyaratkan demikian. Misalnya,
2. CPU berbasis register bahasa rakitan SPARC memerlukan tanda titik dua setelah label, tetapi
3. CPU berbasis sfock bahasa rakitan Motorola tidak. Bahasa rakitan INTEL memerlukan tanda
titik dua setelah label kode, tetapi tidak setelah label data.
3,2.t Bahasa Rakitan (Assemblyl Medan (/teld) kode operasi (opcode) berisi sebuah singkatan simbolik
untuk operasi yang akan dikerjakan. Field operand dapat digunakan untuk
Bahasa rakitan dalam bentuk simbolik bahasa mesin. program-program
menetapkan konstanta, label, immediote doto, register, atau sebuah
bahasa rakitan ditulis dengan singkatan-singkatan yang pendek yang
alamat. Field komentar menyediakan tempat bagi dokumentasi untuk
disebut mnemonic. Mnemonic adalah sebuah singkatan yang merepre-
menjelaskan apa yang dikerjakan untuk tujuan debugging maupun untuk
sentasikan instruksi mesin aktual. pemrograman bahasa rakitan adalah
penulisan instruksi-instruksi mesin dalam bentuk mnemonic, di mana setiap maintenance. Field komentar pada sebagian bahasa rakitan harus didahului
100 Organisasidan Arsitektur Komputer lkrb 3 Arsitektur CPU dan Set lnstruksi 101
dengan tanda "\" ada juga yang harus didahului tanda ";". Pada Tabel 3.1
ditunjukkan beberapa mnemonic dari sebuah prosesor sederhana.
Data
Misalkan kita mengambil sebuah instruksi berikut: (memori)
AWAL LD X \ salin isi lokasi X ke AC
Label dari instruksi LD X adalah AWAL, yang berarti alamat memori dari
instruksi ini. Label tersebut dapat digunakan dalam sebuah program sebagai
sebuah acuan seperti yang ditunjukkan pada instruksi berikut:
il,--'|..n8rc|,g
LD x Baca operand dari memori (lokasix) ke dalam AC
ST x Simpan isi dariAC ke dalam memori (lokasix)
ADD x Tambahkan x ke AC
CPU
SUB x Kuranei AC densan x
BRA odr Lompat ke instruksi dengan alamat adr Gambar 3.4 Arsitektur CPU berbasis akumulator
BZ adr Lompat ke instruksi odriika AC = 0
Contoh 3.1
Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU berbasis
3.2.2 CPU Berbasis Akumulator akumulator untuk menyelesaikan statement X: (A + B) - (C + D)
Pada mulanya komputer adalah berbasis akumulator. Hal. ini Solusi:
merupakan CPU yang sederhana, di mana akumulator berisi satu operand LD C ; salin C ke dalam akumulator
pada instruksi, demikian juga hasilnya disimpan pada akumulator. lsi ADD D ; jumlahkan D dengan isi akumulator dan hasilnya disimpan
akumulator disertakan di dalam operasi-operasi aritmetika seperti di akumulator (akumulator berisi C+D)
penjumlahan, pengurangan, dan sebagainya. Hal ini dikenal dengan mesin ST X ; simpan hasil C+D dalam lokasi X
satu-olamot Arsitektur CPU berbasis akumulator dapat diilustrasikan LD A ; salin A ke dalam akumulator
seperti pada Gambar 3.4. PDP-8 merupakan minicomputer pertama yang ADD B ; jumlahkan B ke dalam akumulator dan simpan hasilnya
mempunyai jenis CPU seperti ini dan digunakan untuk kendali proses dan dalam akumulator (akumulator berisi A+B)
aplikasi-aplikasi laboratorium. Komputer Mark I juga merupakan komputer SUB X ; perkurangkan isi akumulator dengan X dan simpan hasilnya
khas yang berbasis akumulator. Organisasi CPU ini secara total telah dalam akumulator
digantikan dengan diperkenalkannya CPU berbasis registeryang baru. STX ; simpan isi akumulator di dalam lokasi memori X
103
102 Organisasl dan Arsileklur Komputer llnb 3 Arsitektur CPU dan Set lnstruksi
:'-----;P';-*-----'i
3.2.3 CPU Berbasis Register
Pada CPU jenis ini, banyak register yang digunakan sebagai akumulator.
Gambar 3.5 Arsitektur CPU berbqsis register
Dengan kata lain, ada lebih dari satu akumulator. CPU seperti ini
mempunyai organisasi register umum GPR (generol purpose registerl. mempunyai dua
Penggunaan register-register tersebut menghasilkan program yang pendek Bila ada dua atau tiga oprand, biasanya mesin harus
dan logika
dengan instruksi yang sedikit. Arsitektur CPU berbasis register dapat atau lebih register. secara khas, operasi-operasi aritmetika
memerlukan satu sampai tiga operand' lnstruksi
dua- dan tiga-operand
diilustrasikan seperti pada Gambar 3.5. Mesin IBM System/360 dan PDP-1l
merupakan contoh khas. adalahyanSumumkarenamerekamemerlukansebuahformatinstruksi
operand
y.ng ,"iatii pendek. Pada instruksi dua- dan tiga-operand' satu
dan sebagai tujuan' Pada
seringkali digunakan sebagai sebuah sumber
sati operand digunakan sebagai tujuan dan dua
instrJksi tiga--operand,
lainnya sebagai sumber.
Padaumumnyamesin(CPU)denganinstruksidua-atautiga.operand
memori-register' Pada
ada dua jenis: yaitu desain lood'store dan desain
mengakses memori'
mesin /ood-s tore, hanya instruksi lood dan store Yang
pada register'
selebihnya umumnya melakukan operasi
Bab 3 Arsitektur CPU dan Sel lnstruksi 105
t04 Organisasi dan Arsiteklur Komputer
Dibandingkan dengan Contoh 3.1, terlihat bahwa CPU berbasis register Gambar 3.6 menunjukkan sebuah ilustrasi arsitektur cPU berbasis
(arsitektur GPR) menghasilkan ukuran program yang lebih pendek daripada stock. Stack merupakan daftar yang didorong ke bawah dengan mekanisme
CPU berbasis akumulator. Program pada CPU berbasis akumulator akses LlFo (Lost ln First outl. stack yang menyimpan operand-operand.
memerlukan lokasi memori untuk penyimpanan hasil sementara (parsial). Penggunaan stack dapat berada di dalam CPU atau merupakan bagian dari
Karena itu, diperlukan akses memori tambahan selama eksekusi program. memori. Suatu register (atau lokasi memori) digunakan untuk menunjuk ke
Jadi, penambahan jumlah register akan menambah efisiensi CPU. alamat lokasi kosong pada puncak stack. Register ini dikenal dengan Stock
Pointer (5P/. Bila tidak ada yang tersimpan dalam stack, berarti stack kosong
Pada Contoh 3.3 berikut ini diberikan operasi yang sama jika dilakukan
dan sP menunjuk ke bagian stack terbawah. Bila suatu item disimpan di
pada mesin lood-store.
dalam stack, maka dinamakan operasi PUSH; dan isi sP diturunkan
(decrementl. Bila stack penuh, SP menunjuk ke bagian stack teratas' Bila
Contoh 3.3 suatu item diambil dari stack (operasi POP), maka SP dinaikkan (incrementl.
Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU berbasis
load-store untuk menyelesaikan statement X : (A + B) - (C + D)
Solusi:
LOAD Rl, A ; salin A ke dalam register Rl
LOAD R2, B ; salain B ke dalam register R2
LOAD R3, C ; salin C ke dalam R3
LOAD R4, D ; salin D ke dalam regisster R4
ADD R5, R3, R4 ; operasi aritmetika R5 +- R3 + R4, (R5 = C+D)
ADD R6, R1, R2 ; operasi aritmetika R6 +- R1 + R2, (R6: A+B)
SUB R7, R6, R5 ; operasi aritmetika R7 <- R6 - R5, (R7 : (A+B) -
(c+D)
STORE R7, X ; salin isi R7 ke dalam X
Itab 3 Arsitektur CPU dan Set lnstruksi 107
I
stack
lFFFD
1FI'TE
#r 1FFFF
I
Puncak
l1 Puncak Puncak
stack stack stack
Item yang terakhir didorong ke dalam stack, akan keluar pertama jika
ada operasi PoP berikutnya. Pada cpU berbasis stack, semua operasi oleh
CPU CPU dikerjakan pada isi stack. Demikian halnya, hasil suatu operasi juga
disimpan pada stack. Gambar 3.7 dan Gambar 3.8 mengilustrasikan konsep
Gambar 3.6 Arsitektur CPU berbosis stack dan mekanisme operasi stack. pada eksekusi suatu instruksi aritmetika
seperti ADD, operand-operand teratas yang di-pop. Komputer Burroughs
Awal memori
85000 dan HP 3000 merupakan contoh dari komputer berbasis stack.
SP menunjuk di sini
bila stack penuh
Contoh 3.4
'fuliskan sebuah program bahasa rakitan dalam arsitektur
Jika operasi stack cpu berbasis
stack untuk menyelesaikan statement X = (A + B) (C + D)
berikutnya adalah PUSH, -
item baru ada di sini Solusi:
Entry terakhir pada
puncak stack
Lokasi stack yang 2. Ukuran program bertambah, karena itu kebutuhan memori
ai,i:::,
:;::.t;,
: dldu du ki bertambah.
PUSH D (A+B).C.D
ADD (A+B).(C+D)
3
3.2.6 Format lnstruksi
2
SUB (A+31.(C+D) I Umumnya format instruksiterdiri atas kode operasi dan operand. Suatu
POP X Kosong 0 instruksi memberikan paling banyak empat informasi pada CPU:
3. Alamat lnstruksi Berikutnya: Pada mayoritas kasus, instruksi 3.2.7 Lokasi Operand
berikutnya yang diperlukan secara fisik adalah satu instruksi
berikutnya setelah instruksi sekarang. pada beberapa kasus Ada beberapa pilihan dalam menempatkan operand (lokasi operand)
terbatas, instruksi yang diperlukan berikutnya bukan secara fisik yaitu pada: memori utama, register CPU, l/O port dan pada instruksi itu
instruksi berikutnya. Hal ini secara tidak langsung kebutuhan/per- sendiri. Membiarkan operand dalam register cpU lebih efektif daripada
sembahan field untuk alamat instruksi berikutnya akan menim- mengambilnya dari memori utama karena waktu akses register cpu lebih
bulkan pemborosan ruang dan penggunaan panjang instruksi yang slngkat. Hasil ini mengurangi waktu siklus instruksi. penempatan operand
tidak efisien. Karena itu, diasumsikan bahwa instruksi yang dalam instruksi digunakan untuk instruksi-instruksi khusus saja. lsi suatu
diperlukan berikutnya adalah instruksi berikutnya secara fisik. port dapat digunakan sebagai operand, demikian pula isi suatu lokasi
Tetapi dalam beberapa kasus, instruksi pencabangan (lompat) memori. Ada beberapa instruksi yang tidak mempunyai operand. Contoh
disisipkan di antara instruksi sekarang dan (secara fisik) instruksi yang khas adalah instruksi HALT dan NOOP. Ada beberapa instruksi yang
berikutnya. lnstruksi pencabangan menetapkan alamat instruksi berfungsi untuk menguji status komponen-komponen hardware seperti
berikutnya. register, flip-flop, lokasi memori, dan sebagainya. pada kasus ini, tidak
terdapat operand. Demikian pula ada beberapa instruksi yang hanya
Format instruksi ADD ditunjukkan pada Gambar 3.10 digabungkan mencari sejumlah sinyal eksternal.
dengan variasi di atas. Beberapa komputer menyimpan hasil dalam lokasi
operand pertama, sedangkan yang lainnya pada lokasi kedua. Desain unit
kontrolnya disesuaikan.
3.2.8 Lokasi Hasil Pemrosesan
Ada beberapa pilihan dalam menyimpan hasil pemrosesan instruksi
yaitu: memori utama, register CPU, port keluaran, dan sebagainya.
ADD opcorte I '1t13:li}l r | .u.*.t operand rr Beberapa instruksi seperti HALT dan NOOP secara eksplisit tidak mem-
(alamat hasil)
punyai hasil untuk disimpan, sedangkan beberapa instruksi hanya men-set
atau me-reset flip-flop atau register.
Gambar 3.LO Formot umum instruksiADD
3.2.9 Variasi Panjang lnstruksi
Contoh 3.4 Jika semua instruksi mempunyai panjang yang sama, akan menye-
Medan panjang instruksi dan medan alamat operand masing-masing 36
babkan pemborosan ruang memori. Hal ini karena ada beberapa instruksi
bit dan 14 bit. Jika instruksi dua-operand yang digunakan sebanyak24I,
sederhana seperti HALI NOOP dan sebagainya yang hanya mempunyai
berapa banyak instruksi satu-operand yang memungkinkan?
opcode dan karena itu sisa ruang yang ada pada instruksi tersebut tidak
Solusi:
terpakai. Hal ini menimbulkan pemborosan waktu pada fase pengambilan
Panjang instruksi : 36 bit
instruksi lengkap. Karena itu secara praktis, instruksi-instruksi komputer
Sebuah instrulsi dua-operand membutuhkan z8bituntuk alamat operand
panjangnya tidak sama. Beberapa di antaranya ada yang pendek (satu byte,
:
(2 x l4). Karena itu ukuran opcode = 36 - 28 8 bit
dua byte) dan yang lainnya ada yang panjang (tiga byte dan lebih). Opcode
Total jumlah instruksi yang mungkin:28 = 256
instruksi umumnya mengkodekan informasi mengenai panjang instruksi.
Jumlah instruksi satu-operand: 256 - 240 16 : Dengan melihat pada opcode, CPU dapat memutuskan operasi-operasi baca
memori tambahan yang dibutuhkan untuk pengambilan instruksi
seutuhnya.
112 Organisasi dan Arsitektur Komputer Bab 3 Arsitektur CPU dan Set lnstruksi 113
Pemrogram senang jika mempunyai beragam panjang instruksi untuk Alamat -+ 1000 1001 1002 1003
CPU seperti memberikan fleksibilitas kepadanya dan juga menghemat ruang t2 34 78
56
memori. Namun, terdapat kerugian pada sistem ini karena desain CPU
menjadi kompleks. Sebaiknya mampu melakukan perluasan dan penciutan 78 56 34 t2
urutan pengambilan instruksi yang berdasarkan pada opcode seperti yang
ditunjukkan pada Gambar 3.11. Gambar t.t2 Penyimponon ,r*t:rli:exo densan little'endian don bis-
3.2.L1 Tipe lnstruksi masing-masing yanB saling berbeda, maka diberikan mnemonic sederhana
lnstruksi-instruksi diklasifikasikan dalam tipe yang berbeda berdasarkan untuk mewakili secara komprehensif.
faktor-faktor berikut:
TABEL 1.2 Contoh jenis-ienis instruksi
1. Opcode: kode operasi yang harus dikerjakan oleh instruksi
2. Data: tipe data: biner, desimal dan sebagainya
No. Tipeir,rii''1
, 1 .-,,,,11;] !Nania+#$5 lAkiEIi ..€si:rl
*#e,
ii lrrll€?,ii+ tr' ii il,:,
3. Lokasi operand: memori, register, dan sebagainya
I Transfer data MOVE Mentransfer data dari lokasi
4. Pengalamatan operand: metode penentuan lokasi operand
sumber ke lokasi tujuan
(alamat)
LOAD Mentransfer data dari lokasi
5. Panjang instruksi: satu byte, dua byte, dan sebagainya
memori ke reeister CPU
6. Jumlah medan alamat: nol alamat, satu alamat, dua alamat, dan
STORE Mentransfer data dari regsiter CPU
sebagainya. ke lokasi memori
Tidak ada dua komputer yang mempunyai set instruksi yang sama. PUSH Mentransfer data dari sumber ke
Hampir setiap komputer mempunyai beberapa instruksi yang unik yang stack (puncak)
menarik pemrogram. Arsitek komputer memberikan perhatian dalam POP Mentransfer data dari stack
pembentukan set instruksi karena melibatkan pemrogram dan mesin (ouncak) ke tuiuan
komputer. lnstruksi-instruksi dapat diklasifikasikan ke dalam delapan jenis: XCHG Tukar; menukar isi sumber dan
tuiuan
L. lnstruksi transfer data: instruksi ini menyalin data dari satu CLEAR Reset tuiuan denqan semua bit '0'
register/lokasi memori ke yang lainnya. SET Set tuiuan densan semua bit '1'
2. lnstruksi aritmetika: instruksi ini melakukan operasi-operasi 2 Aritmetika ADD Jumlah; hitung jumlah dari dua
aritmetika. operand
3' lnstruksi logika: instruksi ini melakukan operasi-operasi logika ADC Jumlah dengan carry; hitung
Boolean. jumlah dari dua operand dan bit
4. lnstruksi transfer kontrol: instruksi ini melakukan 'carfv'
modifikasi/mengu ba h u rutan eksekusi progra m. SUB Kurans; hitung selisih dua bilangan
5. lnstruksi l/o: instruksi ini melakukan transfer informasi antara SUBB Kurang dengan borrow; hitung
peripheral eksternal dan inti sistem (CpU/memori). selisih densan'borrow'
5. lnstruksi manipulasi strint: instruksi ini melakukan manipulasi MUL Perkalian; hitung hasil kali dari dua
string byte, word, double word, dan sebagainya. operand
7. lnstruksi Translate: instruksi ini melakukan konversi data dari satu DIV Pembagian; hitung hasil bagi dan
format ke format lain. sisa pembagian dari dua bilangan
8. lnstruksi kontrol prosesor: instruksi ini melakukan kontrol operasi NEG Nesate: eanti tanda ooerand
prosesor. rNc lncrement; tambahkan 1 pada
ooerand
Pada Tabel 3.2 diberikan beberapa contoh instruksi untuk setiap jenis DEC Decrement; kurangkan 1 dari
instruksi. Karena pabrik komputer mempunyai dokumentasi/notasi instruksi ooerand
SHIFT A Shift arithmetic; geser operand (ke
kiri atau kanan) densan tanda
lllb 3 Arsitektur CPU dan Set lnstruksi 117
;ffi
. i:' '"tt!
'u*
Iffi
.: i. I
Aksi' i 11 i:1;;11.;1 1
'=+ 1
Operand
Karena alamat operand secara eksplisit diberikan di dalam instruksi, Gambar 3.16 Formot instruksi pengalamoton tak-longsung memori
mode ini disebut mode pengalamatan langsung. contoh statement bahasa
rakitan berikut memberikan ilustrasi mode ini: Karena mode pengalamatan tak-langsung dapat melalui sebuah lokasi
memori atau register, maka dapat dilakukan dengan dua cara, yaitu:
' LOAD R1, X -+ Salin isi lokasi memoriX ke dalam register R1
' MoV Y, X -+ salin isi lokasi memori X ke dalam lokasi y. Kedua . Pengalamatan tak-langsung memori: jika sebuah lokasi memori
operand ini menunjukkan penggunaan mode pengalamatan digunakan untuk menyimpan alamat operand
langsung. . Pengalamatan tak-langsung register: jika sebuah register
r JUMP X -+ Transfer kontrol program ke instruksi pada lokasi digunakan untuk menyimpan alamat operand
memori X dengan mengisikan X ke pC (X bukan operand, tetapi
alamat pencabangan) lnstruksi memberikan alamat lokasi (X), di mana lokasi ini berisi alamat
lokasi lain (Y) yang merupakan lokasi operand. Hal ini dapat direpresen-
Keuntungan: Karena alamat operand tersedia langsung dalam instruksi, tasikan sebagai berikut:
maka tidak dibutuhkan langkah kalkulasi alamat operand. Karena itu waktu
siklus instruksi berkurang. <X> = Y, <Y> = operand
Kekurangan: Jumlah bit untuk alamat operand dibatasi oleh medan operand Y dikenal sebagai pointer. Nilai Y (alamat) dapat diganti secara dinamis
dalam instruksi. dalam suatu program tanpa mengganti instruksi dengan cara melakukan
modifikasi sederhana pada isi lokasi X. Pengalamatan tak langsung yang
multilevel dapat dimungkinkan.
Contoh berikut adalah ilustrasi mode pengalamatan tak langsung.
. MOVE (X), R1+ isi dari lokasiyang mempunyai alamat X disalin ke
register R1
Keu ntu nga n : Mem pu nyai fleksibiltas dala m pemrogram; peruba han alamat
selama progam berjalan tanpa mengubah isi instruksi.
Kelemahan: Waktu siklus instruksi bertambah karena dua akses memori
dibutuhkan untuk sebuah pengalamatan tak langsung single-level.
/
Mode pengalamatan ini sangat berguna untuk suatu program yang panjang
3.3.4 Pengalamatan Tak Langsung Register rl,rlam penyimpanan hasil-hasil sementara di dalam register daripada di
tlalam memori. Contoh berikut adalah ilustrasi mode pengalamatan
Memori
r cgister:
:egister (fu) . ADD R1,R2 -+ jumlahkan isi register R1 dan R2 dan hasilnya
@ I .
disimpan di R1. kedua operand menggunakan pengalamatan
register.
STORE R1,MEM1-+ lsi dari register R1 disimpan/disalin ke alamat
L_, 3300 Operand
memori MEMI; operand pertama menggunakan pengalamatan
register dan operand kedua menggunakan pengalamatan langsung.
Keuntungan: pengambilan operand lebih cepat tanpa akses memori.
Gambar 3.17 Formot instruksi pengolomatan tak longsung register
Kelemahan: Jumlah register terbatas dan karena itu utilisasi efektif oleh
pemrogram merupakan hal yang esensial.
Pada mode ini, register digunakan untuk menjaga alamat memori dari
operand daripada operand itu sendiri. Jadi register bertindak sebagai
register alamat memori. Mode ini sangat berguna untuk pengaksesan cepat 3.3.6 Pengalamatan lndeks
lokasi memori utama seperti array. lnstruksi dengan mode tak-langsung
register adalah merupakan bagian dari loop. Pertama, alamat awal dari Memori
Opcode Nilai X
array disimpan di dalam register. Bila instruksi ditemukan pertama, entry
pertama dari array diakses. Kemudian isi register ditambah satu oleh
instruksi lain dalam loop, sebelum mendapati instruksi mode tak-langsung
register.
+ Operand
126 Organisasidan Arsitektur Komputer llnb 3 Arsitektur CPU dan Set lnstruksi 127
lnstruksi berisi alamat yang akan ditambahkan pada offset dalam register rllgunakan untuk menetapkan alamat pencabangan dalam instruksi branch,
indeks, untuk mendapatkan alamat operand efektif.
.rlamat pencabangan berada dekat dengan alamat instruksi.
Umumnya field alamat dalam instruksi memberikan alamat awal array JUMP + 8 (PC)
dalam memori. Register indeks berisi 'niloi indeks' untuk operand yaitu JUMP - 8 (PC)
selisih antara alamat awal dan alamat operand. Dengan mengubah nilai
register indeks, maka operand dalam array dapat diakses. Umumnya Kc.untungan:Jumlah bit dalam medan alamat lebih sedikit.
operand-operand (elemen-elemen array) berada dalam lokasi yang
berurutan. Mereka diakses dengan increment yang sederhana pada register 3.3.8 Pengalamatan Base Register
indeks.
Mode ini digunakan untuk relokasi program di dalam memori (darisatu
Beberapa CPU mendukung fitur 'outoindexing', y?frg melibatkan outo- .rrea ke area lain). Pada mode pengalamatan bose register, instruksi tidak
increment (dengan hardware) pada register indeks kapanpun suatu instruksi berisi alamat. Dia memberikan perpindahan relatif terhadap area memori
dengan pengalamatan indeks dieksekusi. Hal ini mengurangi penggunaan ,,ekarang ke area memori yang lain, base register diisi dengan alamat base
instruksi terpisah dalam menambah isi register indeks. Hal ini juga lebih baru. lnstruksi tidak perlu dimodifikasi/diubah. Dengan cara ini,
mempercepat aksi serta lebih mengurangi ukuran program, namun keseluruhan program atau suatu segment dari program dapat dipindahkan
memberikan tanggung jawab tambahan 'autoindexing' pada unit kontrol. dari satu area di memori ke yang lain tanpa memengaruhi instruksi, dengan
perubahan sederhana isi base register. Hal ini penting untuk sistem
3.3.7 Pengalamatan Relatif multiprogramming karena untuk waktu yang berbeda lrunl, area berbeda
dari memori tersedia untuk sebuah program. Sebuah CPU dapat
mempunyai lebih dari satu base register.
Gambar 3.20 Format instruksi pengolomatan relotif Keuntungan: medan alamat operand dalam instruksi sangat pendek karena
hanya memberikan offset (perpindahan); alamat operand dikalkulasi tanpa
Pengalamatan Relatif sama seperti pengalamatan indeks kecuali akses memori.
register indeks digantidengan program counter (PC). lnstruksi ini mengisi Ri
dengan kandungan lokasi memori yang alamatnya adalah hasil jumlah 3.3.9 Pengalamatan Stack
program counter (PC) dan nilai X.
Pada pengalamatan stack (tumpukan), semua operand untuk suatu
Pada mode ini, instruksi menetapkan alamat operand (lokasi memori) instruksi diambil dari bagian teratas stack. lnstruksi tidak mempunyai
sebagai posisi relatif dari alamat instruksi sekarang yaitu isi PC. Karena itu medan operand. Misalnya, sebuah instruksi ADD hanya memberikan
operand terletak pada Jarak pendek' dari isi PC. Umumnya mode ini opcode (ADD). Kedua operand berada dalam stack, di dalam lokasi yang
128 Organisasi dan Arsitektur Komputer Bab 3 Arsitektur CPU dan Set lnstruksi 129
berurutan. Bila instruksi ADD dieksekusi , dua operand di-pop-off dari stack
satu per satu. Setelah penjumlahan, hasilnya di-push ke dalam stack.
Keuntungan: tidak ada medan operand dalam instruksi. Karena itu Beberapa parameter CPU mempunyai pengaruh langsung pada kinerja
instruksinya pendek. slstem dan produktivitas pemrogram. Pekerjaan yang paling penting dan
kompleks dalam desain komputer adalah pembentukan set instruksi. Secara
tradisional, superioritas komputer ditetapkan berdasarkan kekayaan set
lnstruksinya. Jumlah instruksi total dan ketangguhan instruksi merupakan
hal yang sangat penting karena dua faktor tersebut berkontribusi pada
efisiensi pemrograman komputer. Set instruksi sistem CISC dibuat tangguh
dengan menggabungkan sejumlah besar instruksi yang tangguh. Singkat/
kesederhanaan dan kecepatan program tinggi merupakan hal yanB
dikehendaki.
Kecenderungan modern adalah mengikuti set instruksi yang sederhana
untuk perancangan unit kontrol yang lebih sederhana. Dibandingkan
dengan ukuran memori, yang lebih penting adalah memberikan sirkuit CPU
yang sekecil mungkin. Tujuannya adalah meningkatkan kecepatan CPU
untuk pemrosesan instruksi. Arsitektur RISC dicakup oleh fitur berikut:
instruksinya sederhana, set instruksi yang kecil, panjang instruksinya sama
untuk semua instruksi, jumlah register yang banyak dan arsitektur
LOAD/STORE.
lnstruksi manipulasi string: instruksi ini melakukan manipulasi string l. Umumnya set instruksi pada sistem CISC dibuat efisien dengan
dari suatu byte, word, double word, dan seterusnya. memasukkan sejumlah besar instruksi kompleks. Dua keuntungan
lnstruksi translasi: yaitu instruksi yang mengubah data dari satu mempunyai instruksi kompleks di dalam set instruksi yaitu (1)
format ke format lain. dan (2)
lnstruksi kontrol prosesor: instruksi ini melakukan kontrol terhadap 4. Pada dasarnya sebuah instruksi kompleks adalah ekivalen dengan tiga
atau empat
operasi prosesor.
5. Kelemahan penggunaan instruksi kompleks karena desain
Mode atau cara penetapan alamat operand yang berbeda-beda dalam menjadi kompleks dan mahal.
instruksi dikenal sebagai mode pengalamatan (oddressing mode). Suatu Ciri-ciri atau fitur yang khas pada sistem RISC adalah (1) instruksinya
komputer yang diberikan tidak dapat menggunakan semua mode pengala- sederhana, (2) set instruksi kecil, (3) semua instruksi panjangnya sama,
matan. Mode pengalamatan yang populer adalah: (a) jumlah register besar untuk penyimpanan operand (5) arsitektur
L. Pengalamatanimmediate load/store, dan (6) eksekusi instruksi cepat karena siklus instruksi rata-
rata per instruksi.
2. Pengalamatan langsung (absolut)
7. Seorang arsitek komputer harus mempertimbangkan sedikitnya lima
3. Pengalamatantak-langsung
aspek berikut sebelum menyelesaikan set instruksi yaitu (1)
4. Pengalamatan tak-langsung register -
kenyamanan pemrograman, (2) pengalamatan yang fleksibel, (3)jumlah
5. Pengalamatanregister generol purpose register, (4) target segmen pasar, dan (5)-.
6. Pengalamatan indeks
Pemilihan set instruksi untuk suatu komputer bergantung pada cara
7. Pengalamatan relatif CPU disusun. Secara tradisional, ada tiga organisasi CPU dengan
8. Pengalamatan base dengan indeks dan offset instruksi-instruksi spesifik tertentu, yaitu (1) (21 dan (3)
Tujuan yang memengaruhi arsitek komputer ketika memilih mode --,
pengalamatan: 9. CPU berbasis akumulator disebut juga dengan mesin alamat.
1O. CPU berbasis stack disebut juga dengan mesin alamat'
1. Mengurangi panjang instrulai dengan mempunyai medan yang pendek 11.. Umumnya format instruksiterdiri atas (1)dan (2)
untuk alamat. 12. Ada empat pilihan dalam menempatkan operand (lokasi
-
operand)yaitu
2. Menyediakan bantuan yang tangguh kepada pemrogram untuk pada: (1) (2) , (3)-,
dan (4)
penanganan data kompleks seperti pengindeksan sebuah array, kontrol
13. Urutan penyimpanan informasi/data di dalam memori dikenal ada dua
loop, relokasi progam, dan sebagainya. yaitu (1) dan (2)
14. Urutan penyimpanan informasi/data di mana lsB (least significont Bytel
disimpan pada alamat bawah dan msB (most significant Bytel disimpan
pada alamat atas, disebut
r.5. Urutan penyimpanan informasi/data di mana msB disimpan pada
Ada dua konsep populer yang berhubungan dengan desain CPU dan set
alamat bawah dan lsB disimpan pada alamat atas, disebut
(1)
instruksi yaitu dan (2) 16. Mode pengalamatan yang membiarkan operand sumber berada di
2. Sistem RISC saat ini lebih populer karena tingkat kinerjanya, dalam instruksi adalah mode pengalamatan
dibandingkan dengan sistem CISC. Sistem RISC hanya digunakan ketika 77. Mode pengalamatan yang alamat operand-nya secara eksplisit
kecepatan khusus, keandalan, dan sebagainya karena diberikan di dalam instruksi disebut mode pengalamatan
Y:..
132 Organisasi dan Arsitektur Komputer
18. Mode pengalamatan tak langsung terbagi dua yaitu (1) dan (2)
BAB 4
- ARITMETIKA KOMPUTER
1. Tipe CPU manakah yang terkecil dan karena itu menjadi murah-CpU
berbasis akumulator tunggal atau CPU berbasis register? Berikan alasan
jawaban Anda.
2. CPU berbasis register dapat dipandang sebagai CPU berbasis
akumulator jamak. Berikan alasan pernyataan ini.
3. Sebuah program mempunyai tiga instruksi lompat dalam tiga lokasi
word yang berurutan dalam memori: 0111, 1000, dan 1001. Alamat
lompatan masing-masing adalah 1001, 0111, 01.11. Dianggap awalnya
kita me-load 0111 ke dalam program counter untuk start pada CPU,
berapa banyak instruksi dalam lokasi 1000 dibaca ltetchl dan
dieksekusi?
4. Tuliskan sebuah program untuk mengevaluasi ekspresi 1 = (A x B) + (C x
D) untuk:
a. CPU berbasis akumulator
b. CPU berbasis register
c. CPU berbasis stack
Datapath dalam suatu komputer memainkan satu peranan penting.
5. Set instruksi dari suatu CPU mempunyai instruksi 12-bit. Empat bit Datapath berisi ALU, register, penggeser, pencacah, bus dan bagian
diperuntukkan bagi setiap operand field. Mendukung tiga macam hardware lainnya serta sirkuit-sirkuit yang diperlukan dalam pemindahan
instruksi yang berbeda: data dan pelaksanaan sejumlah operasi. Komponen-komponen datapath
a. m buah instruksi 0-alamat (zero-oddress); dapat dikonfigurasikan dalam banyak cara (akan dibahas tersendiri).
b. n buah instruksi dua-alamat dan Kecepatan unit datapath bergantung pada algoritma yang digunakan untuk
c. Sisanya untuk instruksi satu-alamat. operasi-operasi aritmetika dan desain sirkuit ALU. Pada bagian ini dibahas
Berapa banyak kemungkinan instruksi satu-alamat?
operasi aritmetika yang dilakukan oleh ALU dan sirkuit-sirkuit yang
diperlukan untuk pelaksanaan operasi-operasi dengan sejumlah algoritma
yang dapat dipilih. Pengetahuan tentang algoritma-algoritma aritmetika
yang ada merupakan hal yang esensial dalam membangun suatu datapath
yang efisien. Misalnya, instruksi pembagian dapat diimplementasikan oleh
dua algoritma yang berbeda yaitu restoring dan non-restoring. Algoritma
pembagian restoring adalah langsung/tidak berbelit-belit dan mudah
diimplementasikan, sedangkan algoritma pembagian non-restoring menye-
diakan jalan pintas dan menghasilkan desain yang lebih cepat. Pada bagian
akhir dari bab ini diberikan operasi bilangan titik-mengambang.
Bab 4 Aritmetika Kompuler 135
4.1 JENIS-JENIS ARITMETIKA KOMPUTER Aritmetika biner titik-tetap lfixed-pornt) terdapat pada hampir semua
komputer. Walaupun format untuk titik-mengambang (flooting-pointl
Secara teoritis, komputer dapat mengoperasikan berbagai jenis data
mencakup rentang bilangan yang luas dibandingkan dengan bilangan titik-
melalui pemrograman yang tepat. Komputer secara praktis didesain dengan
tetap. Namun hardware aritmetika titik-mengambang kompleks dan mahal.
jenis aritmetika yang terbatas. Gambar 4.1 menunjukkan jenis-jenis
Karena itu, banyak komputer lama menangani data titik-mengambang
aritmetika yang populer digunakan dalam komputer.
dengan melakukan konversi ke data titik-tetap. Saat ini mikroprosesor telah
mempu4yai unit titik-mengambang secara built-in, berkat fabrikasi VLSI
yang harganya murah.
GATE. 6ote adalah sirkuit logika yang melakukan suatu fungsi pada
masukan-masukan dan menghasilkan sebuah keluaran. Jenis-jenis gote
Tilik-telap Titik-mengambang berdasarkan fungsi logikanya adalah NOT, OR, AND, Exclusive OR, dan
sebagainya.
Gambar 4.1 Je n is-je n is a ritmetika ko m pute r FLIP-FLOP. Flip-flop adalah sebuah media penyimpanan biner satu bit
(memori satu bit) yang dapat menyimpan 0 atau 1. Keluaran flip-flop dapat
Karena sirkuit-sirkuit internal komputer merupakan dunia biner, maka
berubah jika diberikan pemicuan sinyal clock. Jenis-jenis flip-flop misalnya
komputer digital pasti melakukannya dengan aritmetika biner. walaupun adalah flip-flop RS, flip-flop D, flip-flop JK dan flip-flop T.
pemakai menggunakan sistem bilangan desimal maka dapat dipastikan
sistem desimal ini diubah ke dalam bilangan biner oleh komputer sebelum IATCH. Latch merupakan flip-flop logika yang menguncistatus sinyal; sinyal
melakukan operasi-operasi aritmetika. Hasil akhir diubah kembali ke dalam gate mengontrol pembukaan atau penutupan latch. Latch digunakan untuk
desimal untuk diberikan kepada pemakai. Dalam aplikasi bisnis khusus, mengambil suatu kondisi sebelum kondisi tersebut hilang guna keperluan
jumlah data sangat besar sehingga dalam kasus ini banyak waktu yang yang akan datang.
terbuang dalam konversijika hanya digunakan aritmetika biner. Karena itu REGISTER. Register adalah sekumpulan flip-flop dengan masukan clock
untuk aplikasi tersebut, komputer didesain dengan aritmetika desimal. bersama. Register digunakan untuk penyimpanan atau menahan sementara
Bilangan desimal direpresentasikan dalam bentuk BCD (Binory coded word di dalam pemrosesan (operasi aritmetika).
Decimal). Algoritma aritmetika BCD digunakan dalam aritmetika desimal.
Aritmetika desimal mempunyai dua kelemahan: SHIFT REGISTER. Shy't register adalah jenis register yang berfungsi untuk
melakukan pergeseran bit-bit didalam register. Pergeseran dilakukan ke kiri
7. Hardware untuk aritmetika desimal kompleks dan mahal. atau ke kanan per bit setiap masukan sinyal kontrol.
2. sistem bilangan BCD tidak efisien dalam menggunakan kombinasi
bit biner-ada beberapa yang tidak terpakai. Karena itu peng- COUNTER. Counter berfungsi dalam pencacahan masukan-masukan pulsa
gunaan hardware penyimpanan (memori dan register)juga menjadi clock, pencacahan dapat dilakukan secara menaik atau menurun. Counter
besar, yang pada akhirnya meningkatkan biaya hardware. digunakan dalam operasi aritmetika dan operasi-operasi kontrol.
Bab 4 Aritmetika Komputer 137
MULTIPIEXER. Multiplexer berfungsi untuk t)ahulu, beberapa tipe kode telah digunakan untuk merepresentasikan
memilih salah satu dari bebe-
rapa input ke bagian output sesuai sinyar kontror berbagai macam karakter. Kode MORSE yang populer telah digunakan
serector. Murtiprexer
disebut juga data selector. dalam telegrapi dan teleprinter. Kode ini mempunyai 5-bit kode di mana
DEMUtflPLEXER. Demurtiprexer bertungsi setiap karakter direpesentasikan dengan S-bit pola. The Americon Standard
mengirim input ke sarah satu dari
beberapa output sesuai sinyal kontrol selector. lnstitute (ANSI) mengumumkan kode ASCII (Americon Stondord Code for
Demultiplexer disebut juga
data distributor. Demurtiprexer berguna lnformotion lnterchonge). Standar ini menggunakan sebuah pola 8-bit di
untuk konversiseriarke pararer.
mana 7 bit dispesifikasikan sebagai karakter. Bit ke-8 umumnya digunakan
DEC'DER. Decoder berfungsi sebagai identifikasi
atau penetapan pora pada sebagai 'pority bit untuk deteksi error. Tetapi, beberapa komputer tidak
n input dengan mengaktifkan sarah satu dari z'
output ,"rrri rrgr.a input. menggunakan bit yang ke-8. Beberapa komputer mengikuti standar ASCll.
Decoder digunakan sebagai pendekodean instruksi,
aramat dan perintah Kode 8 bit lain yang juga populer adalah kode EBCDIC (Extended Binory
(command).
Coded Decimal lnterchange Codel yang digunakan oleh beberapa sistem
ENCODER. Encoder merupakan kebarikan komputer seperti IBM System/360.
dari decoder. Encodermem_
punyai sejumlah saruran input dan hanya
sarah satu yang diaktifkan pada
satu waktu dan menghasitkan kode output sebanyak 4.2.2 Data Alamat
,-biti"rg"ntung pada
input yang aktif.
Pada beberapa instruksi, operand adalah alamat-alamat. Suatu operasi
(arimetika atau logika) mungkin terlibat atau tidak. Bergantung pada
4.2 REPRESENTASI DATA instruksi, alamat diperlakukan sebagai bilangan biner atau bilangan logika.
Program-progam aprikasi yang berbeda menggunakan Pada beberapa instruksi, alamat operand ditetapkan dalam beberapa
tipe data yang
berbeda, bergantung pada masarah. program bagian-bagian seperti yang dibahas pada mode pengalamatan.
uarrasa mesin iapat bekerja
dengan data numerik atau data non-numerik.
Data numerit aapat berupa
bilangan desimal atau birangan biner. Data
dengan tipe sebagai berikut:
non-numerik adalah data 4.3 DATA BINER
Data biner dapat direpresentasikan sebagai bilangan titik-tetap atau
1. Data karakter
sebagai bilangan titik-mengambang. Pada representasi bilangan titik-tetap,
2. Data alamat
posisi dari titik biner adalah sudah pasti tetap dalam satu tempat. Pada
3. Data logika
representasi bilangan titik-mengambang posisi titik biner dapat berada di
semua data non-biner direpresentasikan daram mana saja, Bilangan titik-tetap dikenal sebagai bilangan integer/bulat,
komputer daram bentuk
kode biner. sedangka n bilanga n titik-mengamba ng dikena I sebagai bila ngan reaUpecah-
an. Operasi aritmetika bilangan titik-tetap sederhana dan memerlukan
4.2.1 Data Karakter sedikit sirkuit hardware. Aritmetika bilangan titik-mengambang sulit dan
Kumpulan bit digunakan untuk merepresentasikan memerlukan sirkuit hardware yang kompleks. Bilangan titik-mengambang
sebuah karakter mempunyai dua keuntungan dibandingkan bila titik-tetap,
yang mungkin berupa sebuah digit, sebuah nga n :
arphabet atau simbor khusus
dan sebagainya. string dari multikarakter umumnya 1. Dengan jumlah bit data yang diberikan, nilai maksimum atau minimum
membentuk sebuah
data yang dapat diartikan, contoh: yang dapat direpresentasikan dalam representasi bilangan titik-
.C# mengambang lebih tinggi daripada representasi bilangan titik-tetap.
Bilangan ini berguna untuk keperluan bilangan yang sangat besar atau
r'
tBM System/360
Pentium 4 bilangan yang sangat kecil
Bab 4 Arilmetika Komputer 139
1. Mantissa
Rentang nilai bilangan komplemen-l sama dengan rentang signed 2. Basis
magnitude. Jika n bit digunakan untuk merepresentasikan besaran, rentang 3. Eksponen
bilangan yang dapat direpresentasikan oleh representasi komplemen-l
adalah Contoh berikut mengilustrasikan sistem bilangan titik-mengambang:
-(2*t-1) hingga +12n-1-t).
Bilangan Mantissa Basis Eksoonen
Representasi Komplemen-2 3x106 3 10 6
110 x 28 110 2 8
Komplemen-2 suatu bilangan diperoleh dengan menambahkan 1 pada
6L32.784 o.6132784 10 4
komplemen-l bilangan tersebut. contoh berikut mengilustrasikan pem- 34.58 0.34s8 10 2
bentukan komplemen-2:
Besaron Komplemen-1 Komolemen-2 Mantissa dan eksponen direpresentasikan secara eksplisit dalam
0111 1000 1001 komputer. Tetapi basisnya adalah yang digunakan oleh komputer tersebut.
1000 0111 1000 Umumnya komputer mengikuti basis 2. Pada umumnya sebuah bilangan /
1001 0110 0111 direpresentasikan sebagai f = m x f dimana m adalah mantissa, r adalah
basis dari sistem bilangan dan e adalah eksponen (pangkat dari basis yang
Pada sistem bilangan komplemen-2, bilangan positif direpresentasikan digunakan). Gambar 4.2 menunjukkan format umum bilangan titik-
dalam bentuk orsinil, serupa dengan bentuk signed magnitude. pada kasus mengambang.
bilangan negatif, bit tanda adalah 1 dan besaran diletakkan sebagai
komplemen-2. Hal ini dapat dijelaskan dengan contoh berikut: s Eksporrcu \fautissa
4.3.3 Normalisasi
Representasi 8 bit Bilangan mantissa 23 bit
Bilangan titik-mengambang yang diberikan dapat direpresentasikan
eksponen cxceos -12?
dengan banyak cara seperti yang ditunjukkan untuk bilangan desimal
110 x 28:
Contoh 4.2
Tunjukkan bagaimana 5 bit bilangan bertanda berikut disimpan dalam
register 8-bit.
(a) 001 1 1 (b) 1 1001 (c) 00000 (d) 1 1000 (e) 01010 (f) I 1010
Solusi:
(a) 00111 disimpan menjadi 00000111
O) 11001 disimpanmenjadi 11111001
(c) 00000 disimpan menjadi 00000000
Gambar 4,6 Diogrom btok don sirkuit logiko half adder
(d) 1.1000 disimpan menjadi 11111000
(e) 01010 disimpan menjadi 00001010
(0 11010 disimpan menjadi 11111010
Bab 4 Aritmetika Kompuler 147
FullAdder
SerlalAdder
Full adder adalah penjumlah yang melakukan penjumlahan tiga
bilangan biner 1 bit, yaitu dua sebagai masukan A dan B, serta masukan Serlol adder hanya mempunyai sebuah penjumlah bit tunggal. Serial
adder digunakan untuk penjumlahan dua bilangan secara sekuensial bit
ketiga berasal dari corry in (c1n). pada Gambar 4,7 ditunjukkan diagram blok
demi bit yang dimulai dari LSB. Pada Gambar 4.8 ditunjukkan sebuah serial
full adder. Sum (S) dan Carry out (Cout) dinyatakan dalam ekspresi:
adder dari dua bilangan n-bit. Operand-operand (A dan B) disuplai bit demi
bit yang dimulai dari LSB. Penjumlahan posisi satu bit menggunakan satu
S :
efCu + In i:ir,+ egBin + ABC;r, :a @ B @ Ci,, siklus cl6ck. Jadi, untuk sebuah n-bit serial adder, dibutuhkan n-siklus clock
Gut: ACu + AB + BCn untuk menyelesaikan proses penjumlahan. Pada setiap siklus, carry
input output input
dihasilkan oleh sebuah posisi bit yang akan diingat dalam sebuah flip-flop
r---^----\ r__J-_*r dan diberikan sebagai sebuah masukan selama siklus berikutnya sebagai
A carry.
Kelebihan sirkuit serial adder adalah lebih kecil dan karena itu sangat
murah, kekurangannya lambat karena membutuhkan sebanyak n-clock
untuk menye-lesaikan penjumlahan bilangan n-bit.
Carry dirimpm
dao dirunptnbclik
ParallelAdder
Porollel odder adalah sebuah penjumlah yang mempunyai beberapa
full adder terpisah yang dikaskadekan menjadi satu grup. Parallel adder
melakukan penjumlahan dari multi fullodder secara simultan. Mekanisme
penjumlahan internal berbeda pada setiap jenis parallel adder. Pada
dasarnya ada dua jenis parallel adder:
Ripple Corry Adder. digunakan untuk merambatkan carry dari tingkat LSB ke MSB menjadi
besar. Hal ini dikenaldengan istilah ripple corry problem.
Pada Gambar 4.9 ditunjukkan rippte carry adder dengan
n-bit. prosesnya
adalah sebagai berikut: ada n-bit full adder yang dihubungkan ( krntoh 4,3
dengan cara
kaskade. Setiap corry out dari full adder menja di corry rn
bagi full adder bit
l)ua buah bilangan tak bertanda dari masing-masing dua-bit akan
berikutnya. setiap tingkat melakukan penjumlahan untuk salah thjumlahkan. Yang mana yang lebih cepat? Apakah serial adder atau
satu bit dari
dua bilangan dan carry dari posisi bit seberumnya. setiap tingkat ripple carry adder?
adder
menghasilkan satu bit hasil-jumlah dan satu bit carry. Solusi:'
setiap carry out pada tingkat adder diberikan pada carry in tingkat l'ada serial adder, waktu tunda rambatan dari flip-flop tpp }uga
adder berikutnya dan merambatkan seterusnya hingga mencapai bcrkontribusi secara total terhadap delay. lika ta adalah delay yang
keluaran disebabkan oleh sebuah adder, maka periode minimum dari clock akan
tingkat adder terakhir. Keluaran adder (sum dan carry) valid hanya pada
saat selesainya waktu tunda dari sejumrah suprai masukan. menjadi - ta + tpp. Karena itu waktu minimum yang dibutuhkan oleh
carry in pada serial adder adalah dua kali lipat sehingga menjadi 2x(ta* trr).
tingkat LSB dijaga tetap LoW (0) karena bit ini tidak relevan. Bit
mempunyai kegunaan khusus, yaitu jika hasil-jumlah diinginkan
ini I'ada ripple carry adder, waktu penjumlahan yang dibutuhkan :2 x t6.
ditambah Jodiripple carry adder yang lebih cepat.
satu (A+B+1) maka c;n inidibuat 1.
Aeo-t Bzr-t Ao Bo
Gambar 4.9 Ripple carry odder dengan n_bit
Keuntungan: ripple carry adder tebih cepat daripada seriat adder; Sz*t SO S"-r So
kekurangannya: ripple corry adder menjadi lambat ketika jumlah
bit
bertambah. carry yang terjadi pada LSB harus dirambatkan ke seruruh Gambar 4.LO Koskade ripple corry odder (RCA) 2 x n-bit
tingkatan secara berurut. Jika panjang dari operand besar, maka waktu yang
,/
Contoh 4.4 Dengan melakukan analisis pada ekspresi ini dengan cermat, kita
Buat konstruksi parallel adder 16 bit menggunakan ripple carry adder 4 bif temukan bahwa ada dua faktor yang memutuskan apakah akan ada corry
Solusi: bit atau tidak. Faktor pertama bergantung pada bit-bit data dari tingkat
Kita membutuhkan empat ripple carry adder 4 bit untuk membentuk yang sekarang dan faktor kedua bergantung pada pola bit data dari tingkat
adder 16 bit. Gambar 4.11 menunjukkan interkoneksi di antara empat yan! sekarang dan carry dari tingkat sebelumnya. Faktor pertama dapat
adder tersebut. dikaiakan sebagai komponen corry generotion dan faktor kedua dapat
dikatakan sebagai corry propogation. Jadi sekarang kita dapat menuliskan
kembali ekspresi corry itu dengan:
(1=G1+P1C;1
Co adalah carry out dari LSB yaitu odder tingkat 0 Gambar a.Lz(a) Corry look-oheod odder satu tingkot
Cr adalah corry out dari tingkat 1.
Jika odder dengan i tingkat, maka corry out dari tingkat ini dinyatakan Ekspresi untuk carry Cr dapat diperluas sebagai berikut:
dengan:
Ci = Gi + Pr Ci-r
C1 dan C61 adalah carry out dari masing-masing tingkat i dan tingkat i-l.
1s2 Organisasi dan Arsiteklur Kompuler
i + 2 input
Jadi adalah jumlah hasil kali keluaran P dan G dari tingkatan sebelumnya.
c1
yang biasanya 0. Kalkulasi waktu tunda
c1n odaloh carry in ke tingkat LSB
Perluasan pernyataan ini adalah untuk semua carry, jelas bahwa semua
rambatan dari adder 4-bit mudah dilakukan. Tunda rambatan pada adder 4
carry dalam suatu parallel adder dapat diturunkan langsung dari pola bit
bit adalah 4 x d di mana d adalah delay gerbang rata-rata'
data masukan tanpa menunggu status carry dari posisi bit sebelumnya. Hal
ini berarti setiap tingkat dapat melakukan penjumlahan tanpa bergantung
pada tingkat lainnya. Dengan demikian kecepatan penjumlahan meningkat, Contoh 4.5
tetapi beberapa gate dengan banyak masukan dibutuhkan, seperti panjang Hitung waktu tunda untuk carry look-ahead adder 8 bit. Anggap waktu
adder (n) meningkat. tunda gerbangruta-rata adalah 5 ns.
Pada Gambar 4.13 ditunjukkan digram blok carry look-ahead adder 4- Solusi:
bit. Carry yang muncul diturunkan sebagai berikut: Waktu t,;rnda carry look-ahead adder:4 x 5 ns = 20 ns
Co = Go+ Po Cin;
Cr=Gr+P1Gs+P1PsC;n Membangun Penjumlah Besar
Cz = Gz + P2G1+ P2P1Ge + P2PlPeC;n
Untuk perancangan suatu adder yang panjang untuk penjumlahan dua
Cs = Gs+ P3G2+ P3P2G1+ P3P2P1Gg + P3P2P2P6C;.
bilangan 32-bit, carry out dari tingkat terakhir yaitu c31 dibangkitkan oleh
sebuitr gerbang (gote) OR 33-masukan. Salah satu masukannya (P31P3s ....
PoCin) ke gerbang OR ini sendiri dibangkitkan dari sebuah
gerbang AND 33-
masukan. Gerbang yang besar demikian tidak praktis untuk dibuat karena
jarang diperlukan. Karena itu, untuk membangun sebuah adder dengan
word length yang panjang, sebuah desain multilevel adalah dengan
mengkaskidekan modul adder 4-bit atau 8-bit. sekali lagi, kita mempunyai
154 Organisasi dan Arsiteklur Komputer llab 4 Aritmetika Komputer 155
dua pendekatan dalam membangun adder 16-bit seperti yang diilustrasikan trnplementasi langsung tanpa ada komplikasi. Sebelum membahas cara
berikut: kita membahas beberapa
lrcnJumlahan dengan metode komplemen-2,mari
1. Gunakan empat buah modul carry look-ahead adder 4-bit dan torrtoh. Pada Gambar 4.L6 diberikan ilustrasi penjumlahan dua buah
kaskadekan dengan cara ripple carry seperti yang ditunjukkan pada bilangan (A + B) dalam enam set yang berbeda. Kita menganggap bahwa
Gambar 4.14. ktta mempunyai sebuah ALU s-bit termasuk bit tandanya. Setiap
2. Gunakan empat buah modul carry look-ahead adder dan rcpresentasi komplemen-2, bilangan positif direpresentasikan dengan bit 0
.,cbagai bit tanda tanpa ada perubahan (biner yang sebenarnya). Bilangan
kaskadekan dengan cara carry look-ahead seperti yang ditunjukkan
pada Gambar 4.i.5. rregatif mempunyai tanda 1 dan besarannya (mognitude) dikonversi ke
rlalam bentuk komplemen-2. Semua bit termasuk bit tanda merupakan
bagian yang mengalami proses di dalam penjumlahan. Pada kasus Gambar
a.ro(a), bit tandanya berbeda dan ada carry out dari posisi MSB dan dari
posisi bit tandanya. Hasilnya benar karena (+7) + (-3) = (+ ) dan bilangan ini
rnerupakan bilangan positif. Pada kasus Gambar 4.16(b), bit tandanya
berbeda. Tidak ada carry dari posisi MSB atau dari posisi bit tanda' Kasus ini
sederhana dari (-6) + (+5) = (-1). Hasilnya negatif dan dalam bentuk
s12/15 komplemen-2. Pada kasus Gambar 4.16(c) kedua bilangan tersebut adalah
posiiit. Ada carry dari posisi MSB tetapi tidak ada dari posisi bit tanda' Bit
Gambar 4.14 Koskade 4 x 4-bit CLA dengon cora ripple corry tanda dari hasil adalah 1 yang menunjukkan nilai negatif yang tidak benar'
Kasus ini adalah sebuah contoh klasik overflow sebab (+9) +
(+8) = 117,
sedangkan bilangan positif maksimum yang dapat direpresentasikan oleh
.A'12115 B1r15 A8/11 88/11 A4n B4n A0/3 B0t3 bilangin 4-bit adalah 15. Karena itu kasus ini hasilnya tidak benar. Pada
kasui Gambar 4.15(d), dua bilangan negatif dijumlahkan. Ada carry dari
posisi MSB dan posisi bit tanda. Hasilnya negatif dan sah (volrd) tetapi
dalam bentuk komplemen-2, (-g) + (-3) = (-12). Pada kasus Gambar 4.16(e),
kedua bilangan adalah negatif tetapi hasilnya adalah positif. Tidakada corry
dari posisi MSB tetapi ada corry dari posisi bit tanda. Kasus ini adalah suatu
contoh overflow karena (-9) + (-8) -- -L7, dan bilangan negatif maksimum
yang dapat direpresentasikan oleh bilangan 4-bit adalah -16. Pada kasus
grrb.r. 4.16(f) adalah penjumlahan dua bilangan yang mempunyai
posisi
magnitude yang sama tetapi berbeda dalam bit tanda. Ada carry dari
(+0)l'
MSB dan bit tanda. Hasilnya adalah bilangan positif 0 [(-9)+(+S) =
Gambar 4.15 Koskode 4 x 4-bit CLA dengon coro corry look-oheod adder
+7 00111 -6 11010 +9 01001 lnversi semua bit). Karena itu, prosedur untuk pengurangan (A -B) adalah
-3 11101 +5 00101 +8 01000 sebagai berikut:
00100 -l 11111 10001 1. Lakukan Exclusive-OR bilangan B dengan 1111....1
+t
cc (b)
Jt
(c) Ncc 2. Jumlahkan hasil tersebut (hasil komplemen-l) dengan bilangan
G)
A dengan 1 ke posisi carry in (LSB). Hasil ini adalah ekivalen
'9 10111 -9 10111 dengan penjumlahan A dan Bp.
-9 10111
-3 11101 -8 11000 +9 01001
+'7 00111 +7 00111
10100 01111 00000 G) (+)
JJ
(O CC il
(c) c NC (O It
CC
-3 11 101------rg2 +3 00011
(a) s1s1s (+10)
Gambar 4.16 Contoh kosus penjumlahan komplemen-2
-6 11010 -6 11010
Kesimpulan pada penjumlahan komplemen-2: C) (+)
-5 1 101 1+ g2 +5 00101
1. Penjumlahan dua bilangan dengan tanda berbeda tidak menim-
bulkan overflow. (b) 111 11 Gl)
2. Penjumlahan dua bilangan dengan tanda sama dapat terjadi
overflow. Jika tanda dari hasil berbeda dengan tanda kedua -6 11010 -6 11010
C) (+)
bilangan yang dijumlahkan, maka ini menunjukkan terjadi overflow.
+5 00101--+K2 -5 11011
Jika tanda dari hasil sama dengan tanda kedua bilangan yang
dijumlahkan, maka tidak terjadi overflow. Overflow ditunjukkan (c) 10101 G11)
jika status carry dari posisi MSB dan posisi bit tanda berbeda.
Gambar 4.L7 Contoh pengurangon komplemen-2
4.4.4 Pengurangan lnteger
A*r 3o Bnl Bo
Pengurangan bilangan titik-tetap (A -
B) dilakukan dengan menjum-
lahkan bilangan A dan komplemen-2 bilangan B. Karena itu, langkah
pertama dari pengurangan adalah melakukan konversi operand kedua (B)
menjadi bentuk komplemen-2. Langkah selanjutnya adalah menjumlahkan 0 = menjumlah
kedua bilangan tersebut. Adder dapat dengan mudah melakukan modifikasi I = mengurang
pengurangan komplemen-2. Pada operasi (A) - (B), kita dapat mengganti-
nya dengan (A)+ (Bk, di mana adalah komplemen-2 dari B. Komplemen-
*
Br.z ADD/SUB
2 dari B dapat diperoleh dengan menjumlahkan 1 dengan komplemen-l
dari B. cara yang mudah untuk melakukan konversi bilangan biner menjadi
komplemen-1 adalah dengan melakukan penjumlahan Exclusive-OR (A + B) atau (A - B)
bilangan itu dengan deretan angka 1 semua (dengan kata tain membalik/
Gambar 4.18 Si rku it pe nj umlo h/ pe n g u ro ng kom ple me n-2
158 Organisssi dan Arsitektur Komputer Bab 4 Arltmetika Kompuler 159
4.4.5 Perkalian Bilangan Tidak Bertanda oleh hardware dengan menggunakan penjumlah biner paralel. Hasil-kali
parsial dijumlahkan segera setiap satu siklus selesai menggantikan
Secara teoretis, perkalian dapat dilakukan dengan menjumlah secara penjumlahan di akhir proses supaya kita tidak menyimpan hasil-kali parsial.
berulang. Misalkan perkalian A x B di mana A adalah multiplier (pengali) dan Untuk merealisasikan mesin perkalian tersebut dibutuhkan 16 buah
B adalah multiplicand (terkali). Jika kita menjumlah B sendiri dengan A kali, gerbang AND, 4 buah half adder dan 8 buah full adder seperti yang
hasil jumlahnya akan sama dengan hasil perkalian antara A dan B. Hal ini ditunjukkan pada Gambar 4.20.
tidak dilakukan oleh komputer karena prosesnya sangat lambat. Metode-
yang sederhana dan mungkin lebih praktis adalah mengalikan B dengan bit
demi bit pada A dan menjumlahkan semua hasil kali parsial tersebut.
Metode ini sama dengan metode perkalian manual menggunakan kertas
dan pensil seperti yang ditunjukkan pada Gambar 4.19 untuk 1010 (10
desimal) dengan 1101 (13 desimal). Hasilnya adalah 10OOOO10 (130
desimal).
B: Bz Br Bo 1010
h Az ArAo x 1101 x
AoBr IoBz AoBr &Bo 1010
A1B3 A1B2 A1B1 AlBs 0000
ArBr i.2Br ArBr .A2Bo l0l0
A,rBr ArBz A:Br ArBo + 1010 +
h74Zs7-4hZzZr74 10000010
Gambar 4.L9 Metode perkolian manuol
Multiplicurd
Geserlwnn ff,r+9
Algoritma Booth
Algoritma Booth menangani operand-operand komplemen-2 positif dan
negatif tanpa memerlukan koreksi dalam prosedur atau pada hasilnya. Bila
multiplier mempunyai kumpulan angka 1, banyaknya penjumlahan yang
diperlukan akan berkurang. Jumlah penurunan waktu bergantung pada pola
bit multiplier. Prinsip dasar yang dianut dalam algoritma Booth sebenarnya
tidak ada perkalian, yang ada adalah penjumlahan dari pola-pola
multiplicand yang digeser secara tepat.
Gambar 4.23 menunjukkan diagram blok dari konfigurasi algoritma
Booth. Pada Gambar 4.24 diberikan flowchart implementasi algoritma
Booth. Sebuah flip-flop Q-1 (register 1 bit) digunakan untuk menyimpan bit
LSB multiplier (Qo) jika terjadi pergeseran ke kanan. Prinsipnya pertama
akumulator dan flip-flop dibuat cleor, serta register multiplier dan
multiplica nd d iisikan (loodl. La ngka h-langkah operasinya sebagai berikut:
1. Jika bit Qo dan bit Q-r sama (00 atau 11), tidak dilakukan
4.4.6 Perkalian Bilangan Bertanda penjumlahan. lsi akumulator (hasil-kali parsial) dan multiplier
digeser aritmetika ke kanan (SAR) satu bit. (Bit tanda akumulator
Secara komparatif, perkalian bilangan dalam bentuk signed mognitude
(besaran bertanda) lebih mudah. Bilangan positif dapat dikalikan dengan akan sama dengan bit sebelum pergeseran. Bit ISB akumulator
masuk ke posisi MSB multiplier).
cara yang sama seperti bilangan tak-bertanda (unsigned number). Jika tanda
multiplier dan multiplicand berbeda, maka tanda hasil-kalinya adalah 2. Jika bit Qo dan bit Q-r adalah 01, tambahkan multiplicand ke
negatif. Jika kedua bilangan tersebut negatif atau keduanya positif, maka akumulator, kemudian akumulator dan multiplier digesero
aritmetika ke kanan satu bit.
tanda hasil-kalinya adalah positif. Jadi aturan tanda bilangan berlaku umum,
yaitu: tanda hasil-kali adalah hasil Exclusive-OR dari tanda bilangan- Jika bit Qo dan bit Q-r adalah 10, kurangi akumulator dengan
bilangan tersebut.
multiplicand, kemudian akumulator dan multiplier digeser arit-
metika ke kanan satu bit.
164 Organisasl dan Arsitektur Kompuler
llnb 4 Arilmetika Komputer 165
A = 0, p;(flip-{Wl=0,9= mtitipliea
M=Mult&lican{ r = jrmlahbit
a.JikasisapembaElanadalahnolataulebihbesarnol(bilangan
Metode mudah yang tersedia untuk pembagian adalah dengan positif), maka letakkan 1 sebagai hasil bagi berikutnya;
menggunakan bilangan tidak bertanda (D dan V). Walaupun ada juga Jika sisa-pembagian adalah negatif (yaitu lebih kecil dari
nol),
b.
beberapa teknik pembagian dengan bilangan bertanda, pembagian dapat makaletakkan0sebagaibithasil.bagiberikutnya;simpansisa-
dilakukan mirip dengan bilangan tak bertanda dan kemudian pada akhirnya pembagian parsial yang lama dengan jalan menambahkan
sama dengan bilangan bertanda. Jika operand-operand dalam bentuk kembalidivisor.
komplemen-2, metode yang biasa diikuti adalah pertama mengubahnya
Sejajarkan kembali divisor untuk pengurangan lainnya
setelah
5.
menjadi bilangan tidak bertanda sebelum pembagian dan kemudian memasukkan lagi satu bit dari dividend ke sebelah kanan dari sisa-
mengubah kembali hasil yang diperoleh menjadi bentuk komplemen-2. pembagian Parsial.
Pembagian lnteger Tidak Bertanda 6. Utangi langkah 4 dan 5, hingga L58 dividend telah dimasukkan
dalamlangkah3,danlangkah4jugatelahse]esai.Sekarangkita
Pertama marilah kita memikirkan metode manual menggunakan kertas
perolehhasilQ=01110(desimall4);R=1001(desimal9)'
dan pensil untuk contoh yang ditunjukkan pada Gambar 4.25 di mana D =
1O1OOO11 (desimal 153) dan V = 1011 (desimal 11). Metode ini biasa dikenal
Restoring Division
dengan metode long ho nd. Langkah-la ngkahnya seperti berikut:
01110
1011) 10100 0 D=10100011
(-) Z=1011
1011 I C:01110
r?:1001
10010
1011
01111
c)
1011
01001
Gambar4.26Diogromblokdotopothmesinrestoringdivision
Gambar 4.25 Pembagion metode manual
( lontoh 4.8
( iunakan metode restoring division untuk menyelesaikan pembagian 7 ;4
A-0,0=dividrnd Solusl:
M = divisor, l,r =jumlohbilt
Gambar 4.27 Algoritmo restoring division 0011 0001 0100 5., Qo- I
....n)
3. Jika tanda A adalah 1, tambahkan M ke A.
(lontoh 4.9
4.5. ARITMETIKA BILANGAN
Jumlahkan dua bilangan desimal titik-mengambang 1.02635126 x 10tE
TITIK.MENGAMBANG dan 1.21300213 x 10t5.
Program bahasa mesin dapat bekerja dengan data numerik atau data 1. Secara garis besar aritmetika dalam komputer dibagi menjadi dua
non-numerik. Data numerik dapat berupa bilangan desimal atau bilangan bagian besaryaitu (1) , dan (2)
biner. Data non-numerik adalah data dengan tipe sebagai berikut: 2. Aritmetika biner dibagi menjadi dua bagian yaitu (1) dan (2)
1. Data karakter
2. Data alamat 3. Aritmetika desimal menggunakan/direpresentasikan dalam bentuk
3. Data logika bilangan
4. Mesin aritmetika biner yang membutuhkan hardware yang lebih
Semua data non-biner direpresentasikan dalam komputer dalam bentuk kompleks dan mahal adalah
kode biner. Data biner dapat direpresentasikan sebagai bilangan titik-tetap 5. Aritmetika biner yang menyediakan rentang bilangan yang lebih luas
(fixed-point numberl atau sebagai bilangan titik-mengambang (flooting- adalah
point numberl. Aritmetika bilangan titik-mengambang sulit dan 6. adalah sekumpulan flip-flop dengan masukan clock bersama
memerlukan perangkat keras yang kompleks dan mahal. Dibandingkan yang digunakan untuk penyimpanan atau menahan sementara word di
terhadap bilangan titik-tetap, bilangan titik-mengambang mempunyai dua dalam pemrosesan (operasi aritmetika).
keuntungan: 7. berfungsi untuk memilih salah satu dari beberapa input ke
1. Dengan jumlah bit data yang diberikan, nilai maksimum atau bagian output sesuai sinyal kontrol selektor.
minimum yang dapat direpresentasikan dalam representasi 8. berfungsi sebagai identifikasi atau penetapan pola pada n input
bilangan titik-mengambang lebih tinggi daripada representasi dengan mengaktifkan salah satu dari 2'output sesuai angka input.
bilangan titik-tetap. Bilangan ini berguna untuk keperluan bilangan 9. Standar pengkodean karakter yang menggunakan sebuah pola 8-bit di
yang sangat besar atau bilangan yang sanat kecil mana 7 bit dispesifikasikan sebagai karakter (bit ke-8 umumnya
2. Representasi bilangan titik-mengambang lebih akurat dalam digunakan sebagai parity bit untuk deteksi error), disebut kode
operasi aritmetika. 10. Kode 8 bit lain yang juga populer adalah kode yang digunakan
oleh beberapa sistem komputer seperti IBM System/360.
Penjumlah paralel mempunyai penjumlah pada setiap bil. Corry-look 11.
-.
Ada tiga macam representasi untuk bilangan titik-tetap yaitu (1)
aheqd adder lebih cepat daripada ripple corry adder. Pengurangan (21_, dan (3)
-
dilakukan dengan cara penjumlahan bilangan komplemen-2 bilangan t2. Rentang nilai bilangan yang dapat direpresentasikan dari -(2n-1) hingga
tersebut. Di dalam komputer penjumlahan dan pengurangan komplemen-2 +(2n-1-1) meru pa kan renta ng bila nga n representasi
lebih baik dibandingkan dengan bilangan signed mognitude. Algoritma 13. Representasi bilangan titik-mengambang mempunyai tiga bagian yaitu
khusus yang digunakan untuk melakukan perkalian dan pembagian integer (1)_, dan (3)
l2l
mengurangi waktu operasi. Aritmetika desimal digunakan hanya jika 14. Format bilangan titik-mengambang yang dikeluarkan dengan nama
terdapat data input-output yang besar daripada dengan banyak pemro- Standar IEEE 754 menggunakan dua tingkat kepresisian yaitu (1)
sesan. Kasus ini untuk aplikasi-aplikasi bisnis tertentu. Umumnya komputer -,
dan (2)
mempunyai hardware hanya untuk aritmetika biner. Aritmetika desimal 15. Untuk membangun sirkuit aritmetika komputer maka dibutuhkan
dilakukan dengan mengonversi data ke dalam bilangan biner dan hasilnya sirkuit adder (penjumlah) dasar yaitu (1) dan (2)
dikonversikembali ke dalam bilangan desimal. 15. Pada dasarnya ada dua jenis parallel adder yaitu (1) dan (2)
-,
176 Organlsasldan Arsltektur Komputer llob 4 Arilmelika Komputer 177
t7. Dari kedua jenis parallel adder, yang lebih cepat namun lebih kompleks t. Tunjukkan langkah-langkah perkalian menggunakan algortima Booth
dan mahal adalah untuk operasi (+12) x (-9).
18. Jika t6 adalah waktu tunda untuk setiap tingkat full adder dan ada Tentukan langkah-langkah pembagian menggunaka n restoring division
sejumlah n-bit, maka waktu tunda rambatan lpropagotion delayl untuk operasi25:7
maksimum untuk n-bit ripple corry odder adalah
19. _ adalah penjumlah kecepatan tinggi yang mengikuti suatu
strategi khusus untuk pembangkitan carry yang cepat pada setiap
tingkat tanpa menunggu carry dari tingkat sebelumnya.
20. Algoritma Booth merupakan salah satu algoritma untuk perkalian
bilangan
BAB 5
DESAIN PROSESOR DAN DATAPATH
180 Organisasidan Arsitektur Komputer Bab 5 Deeain Prosesor dan Datapath 18'l
tffi
ffi
$ffi
Gambar 5.2 Prosesor sebogoi operotor dota
ry1
MJ
Rcgirtcr
operend
ffi
Gambar 5,4 Level arsitektur prosesor
Bab 5 Desain Prosesor dan Datapath 183
n : oPerasilogika AND
@: oPerasiexclusive OR
lsi R3 dikomplemenkan
188 Organisasidan Arsitektur Komputer
Bab 5 Desain Prosesor dan Datapath 189
Bulrbtul
12. Membaca darimemori
13. Menulis ke memori
14. Membaca dariinput Port
15. Menulis ke outPut Port
BUB
(rujuu)
akan dilakukan oleh serangkaian penjumlahan dan pergeseran kiri. Unit mengacu pada diagram logika, multiplexer quad 4 ke 1 melakukan routing
kontrol membangkitkan sinyal kontrol yang diperlukan dalam rentetan lnput yang sesuai ke input adder Y. Tabel 5.2 menunjukkan delapan
waktu yang dipersyaratkan ke datapath. kombinasi SL Ss dan Crn dan input adder Y yang sesuai dan output adder S.
lnput adder X merupakan operand pertama, A. Jadi mikro-operasi
BrrA BurB
aritmetika yang diperlukan dapat dilakukan dengan menggunakan masukan
Brlr C
sinyal yang sesuai ke SL Ss dan Cin. Walupun ada delapan kombinasi input,
sirkuit aritmetika ini hanya melakukan tujuh mikro-operasi berbeda. Kasus 5
dan 8 melakukan mikro-operasi yang sama yaitu transfer A ke S. Dalam
desain kedua kombinasi ini dapat dipilih salah satu. Kasus ketujuh harus
dianalisis dengan hati-hati. Kombinasi input 51 So dan Cm = 110 mengaki-
batkan input l: terpilih oleh MUX, sehingga mensuplai 1 semua ke input
adder Y. Semua 1 misalnya L, 7L, LLL, 1111 dan seterusnya tidak ada,
melainkan komplemen-2 dari 1, 01, 001, 0001 berturut-turut. Jadi kasus
ketujuh adalah menjumlahkan komplemen-2 dari 1 ke X. Hal ini ekivalen
dengan mengurangkan l dariX. Dengan kata lain, mikro-operasi melakukan
"decrement A".
Penggunaan MUX 4 ke 1 pada setiap posisi bit, unit logika dapat Register geser kombinasional yang terpisah dapat bertindak
didesain dengan memberikan input yang sesuai ke empat input MUX. sebagai sumber daya terpusat. lsi register yang akan digeser
Gambar 5.19 menunjukkan desain satu bit yang melakukan empat operasi ditransfer ke input register geser. Output register geser diberikan
logika: AND, OR, XOR, dan complement. Tabel 5.3 menunjukkan kombinasi kembali ke register asal. Gambar 5.20 menunjukkan bagaimana isi
input dan output yang sesuai dan operasi logika dilakukan pada operand A R1 digeser dengan menggunakan register geser K. Mikro-operasi
K:=R1 mentransfer isi R1 ke dalam input register geser K. Mikro-
dan B.
operasi lain, R1:=K dilaksanakan setelah waktu tunda propagasi
Ai register geser. Sekarang output register geser ditransfer ke R1.
Bi
Register didesain seperti sebuah register geser. Hal ini melibatkan
Ai
Bi sirkuit hardware tambahan yang diperlukan dalam register R1.
Ai Gambar 5.21 menunjukkan bagaimana register R1 dimodifikasi
Bi
menjadi register geser. Desain memiliki dua set flip-flop untuk
Ai setiap bit R1. Flip-flop TO, T1, T2, dan T3 bertindak sebagai
kumpulan penyimpan sementara untuk bit-bit yang sesuai dengan
RO, R1, R2, dan R3. Sebuah MUX 2 x 2-ke-1 mensuplai ke input D
dari setiap flip-flop T. Salah satu input ke MUX berhubungan
Gambar 5.19 Unit logiko sotu bit dengan geser kiri dan input lainnya ke geser kanan. Select yang
masuk ke MUX mengindikasikan arah pergeseran: kiri atau kanan.
Tabel 5.4 menunjukkan tabel fungsi register geser. Efeknya R1
sekarang adalah sebuah register dua bank.
196 Organisasl dan Arsitektur Komputer Bab 5 Desaln Prosegor dan Datapath 197
shift UR
(o - snln4\
| - ttttttoi )
Bur damat
Beca memori
Alamat A
in Trroglss
MFC
5.5.2 Urutan Penulisan Memori dan juga ditunjukkan titik-titik kontrol dan urutan sinyal kontrol yang
Prosesor melakukan operasi-operasi berikut untuk pelaksanaan tulls ,liperluian. Pada akhir fase pengambilan, isi PC dinaikkan (incrementl oleh
panjang byte instruksi yang sedang diambil. Hal ini merupakan persiapan
memori:
lebih awal untuk pengambilan instruksi berikutnya'
1. Menempatkan alamat memoridalam MAR
2. Menempatkan data dalam MDR
3. Men-set flip-flop MR/W. Output Q menuju ke sinyal kontrol
MEMORY WRITE
4. Men-set flag SMMA
5. Memeriksa apakah flag SMMA sudah menjadi 0. Ketika SMMA
menjadi0, prosesor memulai operasi lain.
Lncrement
-;
='run'
='halt'
IR:=MDR
Gambar 5.27 Dotopath untuk instruksi HALT
Gambar 5.26 Datopoth untuk pengambilan instruksi
1. Melaksanakan pembacaan memoridarialamatMA Unit kontrolakan menjamin bahwa waktu tunda antara operasi3 dan 4
2. Menyimpan data dalam register RA lebih besar dari waktu akses memori utama. Dengan cara yang sama, waktu
tunda antara operasi 8 dan operasi penyimpanan lokal (register file)
Organisasi datapath ditunjukkan pada Gambar 5.29. Pada akhir
berikutnya lebih besar dariwaktu akses penyimpanan lokal.
pengambilan instruksi, instruksi tersedia dalam lR. Mari kita menganggap
bahwa bit 0-7 menyediakan opcode, bit 8-11 menyediakan RA dan bit 12- Delapan register transfer statement dapat langsung digunakan sebagai
23 menyediakan MA. mikro-operasi.
o-7 8-ll 12-23
5.7.5 lnstruksi STORE
Operasi yang dilakukan oleh instruksi STORE adalah kebalikan dari
instruksi LOAD. lsi dari suatu register disalin ke dalam suatu lokasi memori
utama. Hal ini digambarkan dengan <MA>:=<RA>. Urutan operasi yang
MARI=IR(12-23)
diperlukan adalah:
1. Membaca dari penyimpanan lokal isi register yang diberikan oleh
RA.
2. Menulis pada lokasi memoriutama MA.
LSAR-Lcd rbrrgc ridnee ngbbr
LSDR-Locelrbre5! trtrrctbbr Organisasi datapath ditunjukkan pada Gambar 5.30. Pada akhir
'R5:=MDR pengambilan instruksi, instruksi tersedia pada lR. Mari kita menganggap
bahwa bit 0-7 menyediakan opcode, bit 8-11 menyediakan RA dan bit 12-
Gambar 5.29 Datopoth untuk instruksi LOAD
23 menyediakan MA.
206 Organlsasidan Arslteklur Komputer
Bab 5 Desain Prosesor dan Datapath 207
R5:=LSDR
Unit kontrol akan menjamin bahwa waktu delay antara operasi 3 dan 4 1. membandingkaneksponen
lebih besar dari waktu akses penyimpanan lokal (register file). Dengan cara 2. menyejajarkan mantissa pada salah satu operand
yang sama, waktu tunda antara operasi 8 dan operasi penyimpanan lokal 3. penjumlahan atau pengurangan mantissa.
berikutnya lebih besar dari waktu akses memori utama. Unit mantissa tidak memerlukan hardware eksklusif. Unit titik-
Delapan register transfer statement dapat langsung digunakan sebagai mengambang mendukung semua empat operasi dasar (add, sub, multiply,
mikro-operasi. dan divide) dan dapat juga digunakan sebagai unit mantissa. Unit eksponen
harus melakukan tiga operasi berbeda:
L. Penjumlahaneksponen
208 Organlsasidan Arsltektur Komputer Bab 5 Desain Prosesor dan Datapalh 209
2. Penguranganeksponen
RI
3. Pembandinganeksponen
Penjumlah eksponen digunakan untuk menentukan Ea-Eb. Eksponen Secara fungsional prosesor dibagi dalam datapath dan unit kontrol.
yang lebih besar ditentukan berdasarkan tanda dari pengurangan ini. Datapath memainkan peranan penting dalam prosesor. Organisasinya
Magnitude selisih (E) memberikan jumlah pergeseran yang diperlukan berpengaruh langsung pada kinerja sistem dan efisiensi pemrograman.
untuk mantissa dari bilangan yang mempunyai eksponen yang lebih besar. Prosesor dapat ditinjau pada empat level berbeda: Level Sistem, Level Set
lnstruksi atau Level Arsitektur, Level Transfer Register, dan Level Gerbang.
Tujuan perancangan prosesor secara keseluruhan adalah memper-
temukan kebutuhan set instruksi. Hal ini melibatkan desain hardware yang
tepat agar semua makro-operasi dapat dieksekusi secara akurat seperti
yang dibutuhkan oleh instruksi. Perancangan suatu prosesor dilakukan
secara sistematik mengikuti suatu urutan langkah. Bahasa transfer register
adalah notasi yang digunakan untuk menetapkan transfer mikro-operasi
antar register. Bahasa transfer register merupakan sebuah tool untuk
menjelaskan tingkah laku instruksi dan organisasi dari sebuah komputer.
2. Pada level prosesor terdiri atas sumber daya hardware yang (a)LDA (b) srA
dapat dialamati program untuk set instruksi seperti program counter, (c)NoOP (d) HALT
akumulator, register operand stack, vektor interupsi, status flag dan (e) BUN (bronch unconditionollYl
lain-lain. Buktikan jawaban Anda dengan estimasi kuantitatif.
3. Setiap instruksi menentukan sebuah fungsi utama yang dikenal dengan 3. lnstruksiyang manakah pada nomor 2yang menggunakan waktu yang
makro-operasi. Makro-operasi yang tepat untuk suatu instruksi lebih kecil untuk siklus instruksi? Buktikan jawaban Anda dengan
ditunjukkan di dalam bagian estimasi kuantitatif.
4, Pada level prosesor terdiri atas sirkuit hardware yang 4. Berikan notasi transfer register untuk instruksi berikut:
mela ksa na ka n mikro-operasi. (a) MOV AL,BL (b) ADC AL,45h
(c)SUB BL,CL (d) rNc cx
-
212 Organisasidan Arsileklur Kompuler
BAB 5
UNIT KONTROL
semacam daftar tugas yang diberitahu oleh program apa yang harus TABEL 6.1 Jenis-jenis instruksi dan tindakan CPU
d ikerjaka n/d ieksekusi.
No Tlpe lnstruksl Tlndakan CPU :,':::
Fungsi unit kontrol secara keseluruhan dapat diringkaskan sebagai berikut: No SKIP posltlve BUN': '
i"rfifuiEnEil rat$i,l
1. Mengambil/membacainstruksi berikutnya 2. Ke siklus
TABEL 6.3 Longkoh-longkah instruksi SKlptFp, BIJN, BZ, don BRAS Mode pengalamatan memengaruhi seberapa cepat suatu siklus
instruksi selesai. Gambar 6.4 menunjukkan tiga kasus instruksi ADD yang
berbeda.
1 Ambilinstruksi Ambil Ambil instruksi Ambilinstruksi Selain pada siklus instruksi reguler, unit kontroljuga melakukan urutan-
instruksi urutan tugas khusus tertentu seperti berikut ini:
2 Dekode Dekode Dekode instruksi Dekode instruksi
instruksi instru ksi 1. Urutan reset pada pengindraan sinyal reset
3 t. jika tanda 1. Alamat 1. Jika Simpan PC dalam 2. Pengenalan interupsi dan pencabangan ke ISR (interrupt service
zefo, branch akumulator alamat operand routinel.
increment disalin ke PC zero, alamat pada memori 3. Penanganan situasi abnormal seperti pengenalan kegagalan
PC 2. Ke siklus branch disalin hardware yang serius dan pengambilan aksi yang tepat seperti
2. Ke siklus berikutnva ke PC shutdown atau pengecekan mesin.
219
218 0rganisasi dan Arsitektur Komputer Bab 6 Unit Konlrol
Load alamat awal ISR pada PC L. Jika panjang-instruksi lebih besar dari panjang word, maka unit
kontrol melakukan siklus baca memori lebih dari satu untuk
melakukan pengambilan instruksi. Contoh: Panjang instruksi
adalah 4 byte dan panjang word memori adalah 2 byte, maka
dua word harus diambil/fetch.
2. Jika datapath antara CPU dan memori lebih kecil dari panjang
Gambar 6.5 Srk/us instruksi don peloyonon interupsi word memori, maka unit kontrol melakukan siklus bus lebih dari
satu kali untuk mendapatkan satu word memori. Contoh: Bus
Bab 6 Unit Kontrol 223
222 0rganisasi dan Arsitektur Komputer
data adalah 16 bit dan panjang word memori 32 bit, dua siklus
2. Masukkan data memori ke akumulator
8 STA Tulis isi akumulator pada alamat memori yang
bus dibutuhkan untuk mengambil satu word.
terdapat dalam instruksi
Bagaimana unit kontrol mengetahui panjang dari instruksi yang diambil? 9 SKI P lncrement PC (Program counter)
Panjang instruksi diketahui dari opcode instruksi tersebut. Karena itu, unit 10 BUN atau JUMP Masukkan 'alamat branch' (diberikan oleh
kontrol mengetahui panjang instruksi hanya setelah pengambilan word instruksi) dalam PC
pertama instruksi. Berdasarkan opcode, unit kontrol memutuskan jumlah L1 BSA (branch and L. Simpan isi PC pada alamat yang ditunjukkan
word yang akan diambildari memori. Gambar 5.7 menunjukkan logika yang save return oleh instruksi
diikuti oleh unit kontrol selama pengambilan instruksi. address) 2. Masukkan alamat Pada PC
3. lncrement PC
Sinyal-sinyal
kontrol
Branch on condition
Sinyal-sinyal konrol
(sinyal-sinyal ini ke
Gambar 6.8 Pengambilan keputuson secoro keseluruhan dalom unit kontrol registar, bus dan AIII)
Gambar 6.tO Diogrom blok HCU
228 0rganisasi dan Arsitektur Kompuler Bab 6 Unlt Kontrol 229
----.
Pulsa-pulsa pewaktuan Tt, T2, T3, dan lain-lain mempunyai
tunda tertentu. Mereka digunakan sebagai sinyal referensi pewaktuan.
waktu
5.
sinyal kontrol untuk pengambilan instruksi berikutnya.
Penanganan special sequence seperti reset sequence, interrupt
TZffiW
sequence, dan penanganan keadaan abnormal.
Gambar 6.12 Pembongkiton sinyol kontrol untuk instruksi LDA
Iz---€& *-
::-$$E=---'-
ffiw
ACC = 0
-{ffi
Gambar 6,13 Pembangkiton sinyol kontrol untuk instruksiJZ
Bab 6 Unit Konlrol 231
230 Organisasi dan Arsilektur Komputer
123456789
Pada Gambar 5.14 diberikan diagram blok detail HCU. Opcode clock
merupakan masukan utama pada unit kontrol ke opcode decoder' Decoder tt
adalah suatu sirkuit kombinasional dengan n masukan dan 2' keluaran' T2 f: r--l
Pada satu waktu tertentu, hanya ada satu keluaran yang aktif. Keluaran
T3 [--l r-l
yang aktif menentukan kombinasi sinyal-sinyal kontrol. Opcode decoder
menganalisis pola opcode dan membangkitkan satu sinyal keluaran yang
T4 r---l r---l
berhubungan dengan opcode saat itu. Jika instruksi yang dibaca adalah Gambar 6.15 Pembangkitan sinyal pewoktuan
ADD, maka keluaran ADD dari opcode decoder yang aktif dan yang lainnya
tidak aktif. Sinyal ADD menuju ke beberapa gerbang dalam sirkuit
kombinasional. Selama komputer dalam keadaan hidup (power-on), clock
dibangkitkan secara kontinu apa pun yang terjadi dalam komputer. Bahkan
bila CPU dalam keadaan halt, sinyal clock tetap dibangkitkan.
Register
Pola (0 0 1 0) yang ditunjul*an adalah p o1a e eb alum clo ck tib a'
instruksi Setelthprrlsa cloc! polaberubah menjadi 0001
+ Pada satuwaktu,
pencacah urut pada dasarnya adalah sebuah pencacah naik. lsinya
hanya satu output
png aktif dinaikkan (incrementl pada setiap sinyal clock. Ketika cacahan mencapai
PC:=PC+ I
nilai akhir, dia di-reset ke nol oleh clock berikutnya. Dengan pencacah urut
MAR:=PC dua bit, berarti status cacahan adalah 00, 01, tO, L|,00 dan seterusnya.
Timing RUN:=0 Keluaran pencacah urut diterjemahkan sandinya oleh timing decoder'
decoder
Gambar 6.15 menunjukkan bentuk gelombang keluaran timing decoder.
Rl:=R5
setiap sinyal pewaktuan (T1, T2, T3 dan T4) adalah sebuah bentuk
gelombang periodik karena bentuknya yang repetitif. Dimungkinkan
menggunakan sebuah pencacah lingkar untuk menggantikan pencacah urut
SIGN
dan timing decoder. Sebuah pencacah lingkar (Gambar 5.16) mempunyai
L-rd perotasi '1'yang bergerak dari satu posisi bit ke posisi berikutnya bila sinyal
CPU fiagr clock datang. Gambar 6.17(a)-(e) menunjukkan beberapa contoh kasus
sirkuit kombinasional yang dibutuhkan untuk pembangkitan berbagai sinyal
Gambar 6.14 Orgonisqsi HCU kontrol. Flip-flop F dan E menunjukkan apakah cPU berada dalam fase
pengambilan instruksi atau fase eksekusi instruksi dari suatu siklus instruksi.
Jika keduanya reset, artinya prosesor tidak bekerja (siklus instruksi tidak
dilaksanakan). sebuah analisis hati-hati dari Gambar 6.L7 menunjukkan
bahwa gerbang tertentu dapat dieliminasi dengan menggabungkan sirkuit-
sirkuit dari instruksi berbeda.
232 Organisasldan Arsltektur Komputer
Bab 6 Unit Kontrol 233
F
IEQ
PC:=lR(Addr). E:=0
6.6.1 Keuntungan Hardwired Control Unit
(e) unconditional branch Keuntungan HCU bekerja dengan cepat daripada MCU. Sirkuit kombi-
nasional membangkitkan sinyal kontrol berdasarkan status sinyal-sinyal
PC'-lRfAddr'r. E -0
input. Segera setelah kombinasi sinyal input yang diperlukan ditempatkan,
(f) conditional branch dengan segera output (sinyal kontrol) dibangkitkan oleh sebuah sirkuit
(condition satisfied) kombinasional. Waktu tunda antara pembangkitan output ke input yang
tersedia bergantung pada banyaknya gerbang dalam lintasan dan waktu
tunda propagasi setiap gerbang dalam lintasan. Jika terdapat dua level
(g) confitional branch
(condition not sa[sfied)
gerbang dan setiap gerbang mempunyai tunda propagasi 5 ns, waktu yang
digunakan untuk pembangkitan sinyal kontrol adalah 10 ns'
Gambar 6.17(b) HCU: pembongkiton sinyal-sinyol kontrol
Bab I Unil Kontrol 235
234 0rganisasi dan Arsitektur Komputer
I\llemori kontrol
1r"trt
interupsi
MAR:=PC IR:=MDR E:=1 F:=1 Alimux:=R1 ]r"r"^"*
Gambar 6.20 Konfigurasiword memori kontrol sederhono
Unit SIIB ER
Gambar 6.22(al menunjukkan organisasi khas sebuah MCU. Gambar menghemat 2 bit. Pada waktu yang sama, dekoder 2-4 bit digunakan untuk
6.22(b) menunju kkan pembangkitan alamat mikroinstruksi berikutnya. mendekode field 2-bit dan memberikan 4 keluaran yang sesuai dengan 4
sinyal kontrol. Kita mengurangi panjang word kontrol, pada biaya
IRQ rnd penambahan sebuah sirkuit dekoder.
CPU fl4r otturrftnele
rlr
Ttpc X
format mikroinstruksi dikenal dengan mikro-operasi horizontal seperti yanS lnputB / ,tttcY
ditunjukkan pada Gambar 6.23. Setiap bit mengaktifkan satu sinyal kontrol. Kontol MDR kALU I {
#-\A.+
Beberapa sinyal kontrol dapat dibangkitkan secara simultan oleh sebuah
mikroinstruksitunggal. Panjang mikroinstruksi meningkat (30-120) bit. Pada
Gambar 6.24, setiap grup menerjemahkan sinyal-sinyal kontrol (mikro-
\--+-
Konrliei-konrlisi I
operasi)secara mutualexclusive. Halini mengurangi panjang mikroinstruksi. ;eng ekar dice
I
Tetapi, sebuah sirkuit dekoder diperlukan untuk setiap field untuk Alernrt
Breruh
mendekode pola dan menetapkan sinyal kontrol. Jumlah total sinyal kontrol
simultan (karenanya mikrooperasi) tidak bisa melebihijumlah field. Sebagai
Gambar 6.24(b) Bit-bit kontrol grup podo field-field
hasilnya, jumlah mikroinstruksi yang dibutuhkan dalam sebuah rutin lebih
besar daripada mikroprogram horizontal murni. Hal ini menambah delay
karena jumlah mikroinstruksi yang lebih besar diambil dari memori kontrol.
Pada mikroinstruksi vertikal (Gambar 6.25), field tunggal dapat meng-
hasilkan sebuah urutan ter-enkode. Teknik mikroprogram vertikal meng-
\"-Y.**--*i \d-**--
gunakan waktu yang lebih untuk pembangkitan sinyal-sinyal kontrol karena
Kode mikrooperasi Kondisi Alamat
diperlukan waktu pendekodean dan juga mikroinstruksi yang lebih. Tetapi, untuk berikutnya
biaya keseluruhan lebih kecil karena ukuran mikroinstruksi kecil (12-30 bit). branching
Mikroprogram horizontal mengeluarkan sinyal-sinyal kontrol lebih cepat,
tetapi ukuran memori kontrolnya sangat besar karena panjang word Gambar 6.25 Mikrooperosi vertikal murni
meningkat.
6.7.4 Pencabangan Tidak Bersyarat
Mikroinstruksi memberikan alamat mikroinstruksi berikutnya. Salah
satu dari bit-bit kontrol membangkitkan sinyal kontrol CMAR:=NA' Hal ini
Blt-blt kontol Konrlisi- Alenrt diilustrasikan pada Gambar 6.26, menunjukkan tiga cara pengindikasian
konrlleluntuk tarlkulnye
bruching pola sinyal.
Mkroinstnrksi
\-r*l
Field-field grup Kondiri Alamat Alamat
untuk berikutnya ' berikutnYa
branching
Gambar 5.2a(a) Mikroinstruksi horizontol dengan multigrup
Gambar 6.26 Polo pencobangon tok bersyarat
242 Organisasi dan Arsitektur Komputer Bab 6 Unit Kontrol 243
instruction ferch (tF), (2) instruction decode (tD), (3) (4)_, 2. Sebuah mesin mempunyai unit kontrol seperti pada gambar berikut:
(51 execute operation (EO), dan (5) store result (SR).
8. Pada saat pengambilan instruksi, jika (1) panjang lebih besar IcI ROH llrmrt
AB CD
memori lebih dari satu untuk melakukan pengambilan instruksi. 0 00e
9. Jika _ antara CPU dan memori lebih kecil dari panjang word s*0 r
memori, maka unit kontrol melakukan siklus bus lebih dari satu kali
untuk mendapatkan satu word memori. Contoh: Bus data adalah 16 bit *01s Hrlt
dan panjang word memori 32 bit, dua siklus bus dibutuhkan untuk 0srt
mengambilsatu word. *r0s Mico*romfi,OM
10. Panjang instruksi diketahui dari instruksi tersebut. Karena itu,
unit kontrol mengetahui panjang instruksi hanya setelah pengambilan
0t0I
word pertama instruksi. st ls
11. Ada dua jenis desain unit kontrol yaitu: (1) dan (2) *l1l
12. Jenis unit kontrol yang menyimpan sinyal-sinyal kontrol sebagai pola- I $00
pola bit dalam sebuah memori ROM disebut _.
13. Jenis unit kontrol yang merupakan kumpulan sirkuit kombinasional
I S01
(sirkuit-sirkuit digital) disebut r0r0
14. Dua jenis teknik microprogramming yang biasa dilakukan pada unit r0tl
kontrol adalah: (1)- dan (2)
15. Dua keuntungan utama microprogramming adalah: (1) _
tt00
dan
(2)_. t 101
15. Kekurangan utama microprogramming adalah I l rS
17. Mikroprogram yang disimpan dalam memori kontrol (ROM) biasa juga tlrl
disebut
18. Mikroprogram yang menghasilkan eksekusi cepat tetapi membutuhkan
YWX S
memori kontrol yang besar adalah (1) _, sedangkan yang Buatlah microcode untuk mesin ini. Tingkah laku mesin sebagai berikut:
eksekusinya lambat tetapi membutuhkan memorti kontrol yang kecil
Jika masukan Halt A set ke 1, maka keluaran mesin tetap berhenti (halt)
adalah (2)_. selamanya dan keluaran pada jalur X selalu 1, dan pada V dan W selalu
0. Lampu woiting (keluaran V) diset ke 1 bila tidak ada masukan yang
enable. Yaitu V menyala bila masukan A, B dan C adalah 0, dan mesin
tidak halt. Bell berbunyi (W=1) pada setiap kejadian masukan (B=1
dan/atau C=1) kecuali jika mesin dalam keadaan halt. Masukan D dan
1. Jelaskan apa yang dimaksud dengan: keluaran S dapat digunakan untuk informasi keadaan untuk microcode
(a) Mikrooperasi Anda. Gunakan 0 untuk field yang tidak terjadi apa-apa. Arahan: lsi
(b) Mikroinstruksi lebih dahulu tabel bagian paruh bawah.
(c) Mikroprogram
(d) Mikrokode
3. sebuah mikroinstruksi unit kontrol mempunyai 9 bit untuk penetapan
mikrooperasi-mikrooperasi. Anggap dibagi menjadi dua field: satu BAB 7
mempunyai 5 bit dan yang lainnya 4 bit. Berapa banyak mikrooperasi di
dalam CPU yang memungkinkan? DESAIN MEMOR! UTAMA
4. sebuah format mikroinstruksi cpU memiliki lima control field terpisah.
Jumlah mikrooperasi pada setiap field adalah sebagai berikut: SEMIKONDUKTOR
F7=4, t2=4, F3=3, F4=L2, F5=2!
a) Berapa total panjang mikroinstruksi yang diperlukan untuk meng-
akomodasi lima control field?
b) Jika murni dianut horizontal microprogramming tanpa encoding,
berapa panjang mikroinstruksi yang akan diperoleh?
5. Sebuah prosesor memiliki konfigurasi hardware:
a) Jumlah register = 8 :a*rz'E:xiiitfe.+iitikMemorisamikohduktiil |ffi$t+'';t: :::Ei;i;::'
b) Operasi ALU: operasi aritmetika 8, operasi logika g
c) Shifter: 4 operasi
d) Bus: bus tunggal
Rancanglah format mikroinstruksi CpU tersebut.
6. sebuah orga nisasi m icro prog ro m med co ntrol (ditu nju kkan pada gambar Memori digunakan untuk penyimpanan informasi. lnformasi ini di
berikut) mempunyai waktu tunda propagasi masing-masing 40 ns untuk dalam komputer adalah program (instruksi dan operand) dan informasi
membangkitkan next oddress, 10 ns untuk mentransfer alamat ke kontrol. Kapasitas memori dan kecepatan adalah dua hal penting yang
control oddress register, 40 ns untuk mengakses confrol memory merupakan pemanfaatan efektif komputer. Beberapa jenis memori hingga
(RoM), 10 ns untuk mentransfer mikroinstruksi ke dalam control datct kini telah dikembangkan dan pada praktisnya terdapat banyak konsep
register, dan 40 ns untuk melakukan mikrooperasiyang diperlukan yang manajemen memori yang ada. Pada bagian ini akan dibahas jenis-jenis
ditetapkan oleh control word. Berapa frekuensi clock maksimum yang memori dan difokuskan pada desain memori utama.
dapat digunakan oleh kontrol tersebut? Berapa frekuensi clock yang
akan diperlukan jika control dato register tidak digunakan?
7.1 PARAMETER.PARAMETER MEMORI
Ada empat parameter penting yang signifikan dalam pemilihan sebuah
ie$ memori komputer yaitu:
oddr*ss
ginerabr 1. Kapasitas
(sequencer) 2. Kecepatan
3. Lotency
4. Bondwidth
T tlme
I
I Kapasitas=Jxw
bcrikutnya
Gambar 7.L Orgonisosi don kapositos memori Lotency: Beberapa jenis memori seperti hard disk, mempunyai
organisasi internal yang dalam akses pertamanya ke suatu lokasi (sektor)
Kecepatan: Parameter penting memori adalah kecepatan operasi. Hal mempunyai waktu akses yang lama, sedangkan lokasi yang berdekatan
ini diukur dengan dua parameter: woktu akses t1 dan waktu pemulihon mempunyai waktu akses yang lebih singkat. Lotency adalah waktu yang
(recovery time) tx. Untuk melakukan operasi baca, pertama, alamat lokasi digunakan untuk mengakses lokasi (wordl yang pertama dalam suatu
dikirim ke memoriyang disertai dengan sinyal kontrol"boco" (Gambar 7.2). rangkaian lokasi (blok lokasi).
Memori melakukan pendekodean (penerjemahan) alamat, memilih lokasi
Bondwidthz Bandwidth adalah kecepatan transfer data memori yang
dan membaca isi yang ada dalam lokasi memori tersebut. Waktu okses
dinyatakan dalam jumlah byte per detik.
adalah waktu yang diperlukan oleh memori untuk melengkapi operasi baca
segera ketika menerima sinyal kontrol "bocd" (Gambar 7.3). Umumnya
waktu akses untuk operasi pembacaan dan penulisan adalah sama. 7.2 OPERASI MEMORI SECARA UMUM
Misalnya dua operasi pembacaan memori berurutan harus dilakukan.
Walaupun setiap jenis memori berbeda cara operasi internalnya, tetapi
Selama operasi baca pertama, pembacaan informasi dari memori diberikan prinsip-prinsip operasi dasar tertentu adalah sama untuk semua sistem
setelah waktu akses. Data ini dapat segera digunakan oleh CPU, walaupun
memori. Pemahaman ide-ide dasar akan membantu dalam mempelajari
memori masih sibuk dengan beberapa operasi internal untuk sejumlah perangkat memori secara individu.
waktu tambahan yang disebut dengan waktu pemulihan tn. Selama waktu
pemulihan tx ini, akses memori lainnya (baca atau tulis) tidak dapat dimulai. Setiap sistem memori memerlukan beberapa jenis saluran input dan
Operasi berikutnya baru dapat dimulai hanya setelah waktu pemulihan output u ntu k melaksanakan fu ngsi-fu ngsi berikut:
berakhir. Woktu sik/us adalah totalwaktu akses dan waktu pemulihan (t = L. Memilih alamat memori yang akan diakses untuk operasi baca atau
ta + tn). Waktu ini adalah interval waktu minimum yang diperlukan dari awal operasi tulis.
operasi memori ke awaloperasi memori berikutnya. 2. Memilih operasi baca atau operasitulis untuk dilaksanakan.
3. Mensuplai data input untuk penyimpanan dalam memori ketika operasi
penulisan.
4. Menahan data output yang berasal dari memori ketika operasi
pembacaan.
5. Enoble (atau disable) memori agar memori akan (tidak akan)
merespons masukan alamat dan perintah baca/tulis.
Suatu ilustrasi sederhana operasi baca dan tulis ditunjukkan pada Contoh 7.3
Gambar 7.5. Bagian (a) menunjukkan word data 0100 yang akan dituliskan Sebuah memori mempunyai kapasitas 4K x 8
ke dalam register memori pada alamat 00011. Word data yang telah (a) Berapa banyak saluran masukan data dan saluran keluaran data
yang dimiliki?
dikenakan pada saluran input data menggantikan data yang sebelumnya
tersimpan pada alamat 00011. Bagian (b) menunjukkan word data 1101 (b) Berapa banyak saluran alamat yang dimiliki?
yang dibaca dari alamat 11110. Word data ini akan tampil pada saluran (c) Berapa kapasitas dalam byte?
output data memori. Setelah operasi baca, word data 1101 tetap tersimpan SoIusi:
pada alamat 11110. Dengan kata lain, operasi baca tidak mengubah data (a) Masing-masing 8 bit, karena ukuran word adalah 8
yang tersimpan. (b) Memori menyimpan 4K:4 x 1024 = 4096-word. Jadi, terdapat
4096 alamat memori. Karena itu 4096 :2'2 yangartinya
memerlukan saluran alamat sebanyak 12 bit yang dapat
mengalamati salah satu lokasi alamat dari 4096lokasi.
(c) Delapan bit adalah satu byte. Jadi kapasitas memori adalah4096
byte.
256 Organisasi dan Arsitektur Kompuler 257
Bab 7 Desain Memori Utama Semikonduktor
I
Mcmori Sckundcr
lunt'l ----1-------) Mrmori cachc semi-acak adalah memori magnetik (floppy disk dan hard disk) yang dikenal
I
+Mcmorividud juga dengan nama memori akses langsung (direct occess memoryl.
Mrrnori mrgntlic buhblr
Tr*uologi Mrmori atmi*ondulior 7,3.3 Mode-Mode Penggunaan dan Fungsi
"-rrt -- r.+
Itinanouarn -"- L-.---*
Mcaori corr
Mcmort opdk
Mtmoribocdurlir
Mrmori baca e tjr
Klasifikasi ini berdasarkan pada peranan memori pada komputer. Pada
dasarnya ada lima peranan memori dalam hubungannya dengan cPU:
register internaL memori utam4 memori sekunder, memori cache, dan
memori virtual. Register mempunyai peran terbatas dalam penyimpanan
informasi sementara ketika program berjalan. Register mempunyai waktu
f--> Mrmoti rkcca rcrk
Akcco +-+ Mcftori tkrcs rrut akses yang singkat/cepat. Register tertentu hanya dapat diakses oleh cPU
L+ Mcmori akrce scmlacok sedangkan yang lainnya dapat juga diakses oleh program.
memori utama. Memori utama adalah jenis memori akses acak. pada suatu
CPU, kapasitas maksimum memori utama adalah 2'lokasi di mana n adalah
jumlah bit alamat memori. Secara praktis, komputer dapat mempunyai
memori fisik lebih kecil karena pertimbangan harga. Namun, pengguna
tidak perlu khawatir mengenai kapasitas memori (memori utama) fisik
secara eksak karena ada cara tak langsung yang tersedia dalam penanganan
program. Konsep mernorivirtual akan membantu menangani hal ini.
Memori Sekunder
Memori sekunder dikenal juga dengan nama memori pembantu
(ouxiliory memoryl. Memori ini digunakan untuk menyimpan program dan
data dalam volume yang besar. Memori ini lambat dan murah dibandingkan
dengan memori utama. Saat ini yang biasa digunakan sebagai memori
sekunder adalah floppy disk, hard dislg pita magnetik dan disk optik.
Mognetic drum, pita kertas dan kartu kertas merupakan memori sekunder
yang saat ini sudah tidak digunakan lagi. Untuk CPU (dan sistem operasi),
260 Organisasi dan Arsilektur Kompuler Bab 7 Desain Memori Utama Semikonduklor 261
Memori Semikonduktor
D1 D1D;D1D3D1Ds D1
Memori baca saja
Gambar 7.13 Arsitektur ROM 76 x 8
Gambar 7 .12 Je n is-j e n i s m e m o ri se m i ko n d u,kto r Setiap register berisi banyak sel-sel memori yang setara dengan ukuran
i word. Pada kasus ini, setiap register menyimpan word 8-bit. Kita dapat
I
menetapkan posisi setiap register pada sebuah baris dan kolom khusus.
Misalnya, register 0 ada dalam baris 0, kolom 0, dan register 9 ada dalam
baris 1, kolom 2.
Bab 7 Desain Memori Utama Somikonduklor 265
264 Organisasi dan Arsileklur Kompulor
Kode alamat AA2AAy yang digunakan menentukan isi register (8-bit) Arsitektur yang ditunjukkan pada Gambar 7.13 mirip dengan lC pada
mana dalam larik yang akan ditempatkan pada bus data (enable). Bit-bit umumnya, bergantung pada jumlah word data yang disimpan. Register
alamat ArAo diumpankan ke decoder yang akan mengaktifkan atau memilih pada beberapa ROM tidak akan disusun dalam larik persegi. Contoh, lntel
satu saluran baris-pilih dan bit-bit alamat Ay'2 diumpankan pada decoder 27C64 adalah sebuah ROM CMOS yang menyimpan 8192 x 8. Sebanyak
kedua yang akan mengaktifkan atau memilih satu saluran kolom-pilih. 8192 register disusun dalam sebuah larik 256 baris x 32 register. Rentang
Hanya ada satu register yang terpilih pada baris dan kolom oleh masukan kapasitas ROM mulai dari 256 x 4 sampai 8M x 8.
alamat, dan register inilah yang di-enable.
Contoh 7.6
Contoh 7.4 Jelaskan arsitektur intemal dari sebuah ROM yang menyimpan 4KB dan
Register manakah yang akan terpilih (enable) oleh alamat 1101? menggunakan sebuah larik register persegi.
Solusi: Solusi:
Ay4z : 11 akan menyebabkan decoder kolom mengaktifkan kolom Memori 4K sebenarnya adalah 4 x 1024 = 4096, jadi ROM ini
saluran pilih 3, dan AAo: 01 akan menyebabkan decoder baris untuk menyimpan 4096 byte, ata:u 4096 x 8 bit. Setiap word tersimpan pada
mengaktifkan saluran pilih 1. Ini akan menempatkan level HIGH pada sebuah register 8-bit, dan terdapat 4096 register yang dihubungkan secara
kedua masukan enable register 13, dengan demikian menyebabkan data bersama ke sebuah bus data internal ke chip. Karena 4096 : 642, register
keluaran ditempatkan pada bus. disusun dalam lat'lk 64 x 64, yaitu 64 baris dan 64 kolom. Hal ini
memerlukan decoder 6-ke-64 untuk mendekodekan enam masukan
alamat untuk memilih baris, dan sebuah decoder 6-ke-64 untuk
mendekodekan enam masukan alamat untuk memilih kolom. Jadi, total
Contoh 7.5 masukan alamat yang dibutuhkan adalah 12, Hal ini dapat terlihat dari
Alamat berapakah yang akan meng-enable register 7? 4096:212, danterdapat 4096 lokasi alamat berbeda.
Solusi:
Masukan-masukan enable register ini dihubungkan ke saluran pilih baris
3 dan kolom 1. Untuk memilih baris 3, maka input yang harus diberikan 7.5 PEWAKTUAN ROM
ke decoder baris adalah AAo : 11 dan untuk memilih kolom I harus
diberikan input ke decoder kolom Av4z : 01. Jadi alamat yang Ketika terjadi operasi pembacaan, terdapat waktu tunda perambatan
dibutuhkan adalah A I 2A A o = 0l | | (propogotion deloyl antara pemberian sebuah input ROM dan kemunculan
data pada output. Waktu tunda ini disebut waktu akses t466 yang
merupakan pengukuran kecepatan operasi ROM. Waktu akses digambarkan
secara grafis dengan bentuk gelombang pada Gamba r 7 .L4.
266 0rganisasi dan Areiteklur Komputer
Bab 7 Desain Memori Ulama Semikonduktor 267
Bentuk gelombang teratas mewakili masukan alamat, bentuk Selom- Pengembangan pada teknologi CMOS telah membawa waktu akses berada
bang yang di tengah mewakili keluaran data. Pada waktu to masukan- dalam rentang 20 sampai 60 ns. Akibatnya perangkat-perangkat bipolar dan
masukan alamat semua berada pada beberapa level khusus, beberapa level
NMOS sudah jarang diproduksi dalam ROM yang baru (yang besar).
HIGH dan beberapa level LOW. Sinyal CS = HIGH, sehingga keluaran data
ROM berada dalam keadaan impedansi tinggi (Hi-Z), yanB dinyatakan Parameter pewaktuan yang penting lainnya adalah waktu enable
dengan garis miring). keluaran, tp6 yaitu waktu tunda antara masukan CS dan keluaran data
valid. Nilai khas f66 untuk ROM adalah 20 ns untuk bipolar, 25 sampai 100
Tepat sebelum t1, masukan alamat berubah ke alamat baru untuk ns untuk NMOS, dan 12 sampai 50 ns CMOS.
operasi pembacaan. Pada saat t1 alamat baru menjadi valid; yaitu setiap
masukan alamat berada pada level logika yang valid. Pada titik ini sirkuit
ROM internal mulai mendekode masukan alamat baru untuk memilih 7.6 JENIS.JENIS ROM
register yaitu untuk mengirim data ke penyangga output. Pada saat t2 Sekarang kita telah mempunyai pemahaman umum tentang arsitektur
masukan CS diaktitt<an untuk meng-enable penyangga output. Akhirnya internal dan operasi eksternal perangkat ROM. Kita akan melihat pada jenis-
pada saat t3 keluaran berubah dari keadaan Hi-Z (impedansitinggi) ke data jenis ROM untuk mengetahui bagaimana perbedaan cara pemrogramannya,
yang valid yang menyatakan data tersimpan pada alamat yang ditetapkan. cara penghapusannya, dan cara memprogram ulang masing-masing jenis
ROM.
1
Memori ROM dibagi menjadi lima jenis: MROM, PROM, EPROM,
Masukan
EEPROM (atau dikenaljuga dengan EAROM) dan memori/osh.
alamat
7,6.L MROM
Memori MROM (Mosk-progrommed Read Only Memoryl adalah
memori yang isinya diprogram oleh pabrik secara tersembunyi di
perusahaan pembuatnya, di mana isinya dipesan oleh pembeli. MROM
diprogram satu kali saja dan selanjutnya hanya dapat dibaca dan tak dapat
dihapus. Jika ada satu bit yang salah program, maka chip MROM tidak dapat
digunakan. Sebuah negatif fotografi yang disebut mosk digunakan untuk
mengontrol interkoneksi elektrik pada chip. Suatu mask khusus diperlukan
untuk setiap set informasi berbeda untuk disimpan ke dalam ROM. Karena
h tz t3 --------------rwaktu mask ini sangat mahal harganya, maka jenis ROM hanya ekonomis jika Anda
membutuhkan kuantitas yang sangat banyak pada ROM yang sama.
Kelemahan utama ROM jenis ini karena tidak dapat diprogram ulang pada
Gambar 7.L4 Pewoktuan khos untuk operosi boco sebuoh ROM
kasus yang memerlukan perubahan desain pada data yang tersimpan.
Akibatnya ROM harus diganti dengan yang baru sesuai data yang akan
Waktu tunda antara t: yaitu ketika alamat baru menjadi valid dan tr, diperlukan dalam ROM. Beberapa jenis user-progrommoble ROM telah
ketika keluaran data menjadi valid adalah waktu akses t166. Waktu akses dikembangkan untuk mengatasi kelemahan ini. Namun demikian MROM
ROM bipolar khas berada dalam rentang 30 sampai 90 ns; waktu akses
tetap merupakan hal yang menarik untuk pendekatan yang paling ekonomis
untuk perangkat-perangkat NMOS dalam rentang 35 sampai 500 ns. bila diperlukan ROM yang telah diprogram dalam kuantitas yang besar.
Organisasi dan Arsiteklur Komputer Bab 7 Desaln Memorl Utama Semikonduktor 269
268
dihapus secara listrik (menggunakan listrik). Memori ini dapat dihapus dan
MROM biasanya disebut saja ROM, karena hal ini dapat membingung-kan
diprogram ulang sekitar 10.000 kali. EAROM dapat diprogram dan dihapus
karena istilah ROM sebenarnya merepresentasikan kategori besar
perangkat tersebut, dalam keadaan operasi normal memori ini hanya dapat
pada suatu lokasi tertentu yang dipilih. Juga dapat dihapus dan diprogram
ulang secara dinamis tanpa harus mengeluarkan lC EAROM dari sirkuit.
dibaca.
7.6,5 Memori Flash
7.6.2 PROM
Memori flash adalah sebuah EEPROM jenis khusus yang dapat dihapus
PROM (Progrommoble Reod Only Memory) adalah memori yang dapat dan diubah dalam blok pada satu operasi besar (seperti kilat). peng-
diprogram oleh pemakai (customer). Pemakai membeli PROM yang masih gunaannya terpisah dari komputer, digunakan pada sejumlah peralatan
kosong dan mengisinya sesuai dengan keinginannya dengan menggunakan seperti mobile phone, kamera digital, LAN switch , dan sebagainya. pada
PROM progrommer. Di dalamnya terdapat /use (semacam sekring) kecil' komputer, memoriflash digunakan dalam dua cara:
Fuse ini dibuka dengan cara dibakar pada saat pemrograman' Chip PROM
hanya dapat diprogram sekali saja dan isinya tak dapat dihapus. Memori ini
t. Pengganti EPROM yang berisi BIOS. lni dikenal dengan BtOS-flash.
murah dan menarik bagi pemakai untuk membeli PROM di pasaran Membolehkan memperbarui isi BIOS dengan mudah tanpa
daripada memesan MROM pada pabrik. mencabut lC dari sirkuit.
2. Pengganti hard disk. Opsi ini menarik karena beberapa keuntungan
seperti tidak berat (ringan), konsumsi daya rendah, data mudah
7.6.3 EPROM dibawa-baw a (portablel.
EPROM (Erasable Programmoble Read Only Memory) merupakan
Saat ini sedang marak "memori stick" yang terbuat dari memori flash yang
memori yang selain dapat diprogram juga dapat dihapus. EPROM
disambungkan pada USB (universal seriol bus) pada sebuah personal
progrommer digunakan untuk menyimpan isi pada lokasi yang berbeda dari
computer.
EPROM. Ketika dilakukan pemrograman, muatan listrik d'rjebak dalam suatu
daerah gate yang terisolasi. Untuk memprogram sebuah EPROM digunakan EPROM adalah memori non-volatile yang menawarkan waktu akses
tegangan dc yang relatif tinggi sebesar 25 volt. Pulsa high yang digunakan yang cepat (khas 120 ns) dan mempunyai kepadatan tinggi dan harga per
lebarnya 10-55 millidetik. Karena EPRQM merupakan organisasi byte, maka bit rendah. Namun demikian jika ingin dihapus atau diprogram ulang, maka
pemrograman satu byte pada satu waktu dilakukan dengan menggunakan harus dilepaskan dari sirkuit/sistem. EEPROM juga adalah memori yang
satu pulsa. lsi sebuah EPRoM dapat dihapus dengan memaparkannya pada non-volatile yang menawarkan waktu akses yang cepat, dan membolehkan
cahaya ultra violet dengan durasi sekitar 30 menit. Hal ini dilakukan dengan penghapusan dengan cepat dalam sirkuit dan pemrograman ulang byte
cara meletakkannya pada peralatan penghapus EPROM dan melewatkan secara individu. EEPROM kepadatannya rendah dan harganya lebih mahal
cahaya ultra violet melalui sebuah jendela quartz. setelah diprogram, maka dibandingkan dengan EPROM.
jendela quartz tersebut harus ditutup kembali dengan menggunakan
Tantangan bagi para insinyur semikonduktor adalah membuat memori
pelindung (shield/stikerl. Penghapusan EPROM dilakukan secara non-volatile EEPROM yang dapat dihapus dalam sirkuit secara elektrik,
keseluruhan karena tidak dapat dilakukan penghapusan pada sebagian tetapi dengan kepadatan dan harga yang mendekati EPROM, sementara
lokasi tertentu saja. tetap menjaga waktu akses baca yang tinggi. Respons terhadap tantangan
tersebut telah direalisasikan dalam memori flash.
7.6,4 EEPROM
Secara struktur, sebuah sel memori flash adalah seperti sel EPROM
Memori EEPROM lElectricatty Erosoble Progrommoble RoM) atau dikenal transistor-tunggal sederhana (dan tidak seperti sel EEPROM dua-transistor
juga dengan nama EAROM (Etectricolly Alteroble ROM) diprogram dan
270 Organisasi dan Arsitektur Kompuler Bab 7 Desain Memori Ulama Semikonduktor 271
Penggunaan EEPROM, memori flash sangat membantu karena mereka ini kebanyakan sistem yang memerlukan look-up nilai-nilai ekivalen
dapat dengan cepat dihapus dan diprogram ulang di dalam sistem. melibatkan mikroprosesor, dan data tabel "look-up" disimpan dalam ROM
yang sama yang menyimpan instruksi-instruksi program.
7.7,2 Memori Bootstrap
Banyak mikrokomputer dan komputer-komputer besar pada umumnya
7.7.4 Pengonversi Data
tidak mempunyai sistem operasi sendiri yang tersimpan dalam ROM. Sirkuit pengonversi data menerima data yang dinyatakan dalam satu
sebagai gantinya, program-program ini disimpan pada memori eksternal, jenis kode dan menghasilkan keluaran yang dinyatakan dalam jenis yang
biasanya cakram magnetik. Bagaimana kemudian pekerjaan komputer ini lain. Konversi kode diperlukan, misalnya bila suatu komputer mengeluarkan
mengetahui apa yang harus dilakukan ketika catu daya mereka dihidupkan? data dalam kode biner langsung dan kita akan mengubahnya menjadi BCD
sebuah program yang relatif kecil yang disebut progrom bootstrop disimpan (binory coded decimoll supaya ditampilkan dalam pembacaan LED 7-
di dalam ROM. Ketika catu daya komputer dihidupkan, dia akan seSmen.
mengeksekusi instruksi yang ada dalam program bootstrap ini.
Salah satu metode yang paling mudah pada pengubahan kode adalah
Kebanyakan chip-chip pemrosesan sinyal digital me-load memori menggunakan ROM terprogram agar aplikasi dari suatu alamat khusus
program internalnya dari sebuah ROM bootstrap eksternal ketika catu (kode lama) menghasilkan keluaran data yang merepresentasikan ekivalen
dayanya dihidupkan. Beberapa menggunakan PLD (progrommoble logic pada kode baru. ROM TTL 74185 menyimpan kode konversi biner-ke-BCD
devicesl. untuk masukan biner 6-bit. Untuk mengilustrasikannya, sebuah masukan
alamat biner 100110 (38 desimal) akan menghasilkan keluaran data
7.7.3 Tabel-Tabel Data 00111000 yang merupakan kode BCD untuk 38 desimal.
diberikan pada "data keluar" (Do) setelah melewati waktu akses. Untuk
penulisan, pertama sel dipilih oleh sinyal "pilih" kemudian diikuti dengan
pengiriman data (0 atau 1) pada "data masuk" (D1) dan mengaktifkan sinyal
Or :, ,,,.. ' . D? "tulis". Setelah itu barulah data tersimpan dalam sel.
Oe .., '-"'Do,' Ds
Os
Countcr g, ,,,,ROM ,,, p*
8-bit Or 256 x8 Dl Pilih
o: A2 . '': '.1 Da
cLK ,' 3l At Dr
Ao Do
Baca
Seperti halnya arsitektur ROM, cukup membantu untuk memikirkan yang pada gilirannya akan meng-enoble register yang bersesuaian. Misal-
RAM yang terdiri atas sejumlah register yang masing-masing menyimpan nya, anggaplah sebuah kode alamat yang diterapkan adalah:
word data tunggal, dan masing-masing mempunyai sebuah alamat unik.
A5 Aa Aj A2 At Ao = 077070
Kapasitas word dari RAM khas misalnya tK, 4K,8K, 16K, 64K, 128K, 256K
dan 1024K, dan dengan ukuran word 1,4, atau 8 bit. Seperti yang akan kita Karena 0110102 = 25ro , maka keluaran decoder 25 akan high, memilih
temui di depan, kapasitas word dan ukuran word dapat diperluas dengan register 25 untuk suatu operasi baca atau tulis.
mengombinasikan sejumlah chip memori.
7,9.L Operasi Baca
Masukm dd.a
I, Iz Il Kode alamat memberikan satu register pada chip memori untuk
pembacaan atau penulisan. Untuk membaca isi dari register yang terpilih,
-ffi{l-l*: maka masukan baca/tulis (ntwl harus high dan juga masukan CHIP SELECI
(cs) harus aktif (dalam hal ini /ow). Beberapa pabrik menggunakan simbol
ffi, (write enoblel atau W yang fungsinya sama dengan R/rrl. Kombinasi
Rtnr=7lhighl dan cs=0 (/ow) meng-enable penyangga keluaran sehingga
isidari registerterpilih akan berada pada keluaran data empat bit. ntw=t
A5 juga men-disable penyangga masukan sehingga masukan data tidak
Ee,
d memengaruhi memori ketika melakukan operasi baca.
dAr CS
Eo, Chip eolact
7.9.2 OperasiTulis
EA, 0S- 0 meng-
=e, enablc scmua
chipwfirk
Untuk menulisi sebuah word 4-bit yang baru ke dalam register yang
pcmbacaar terpilih memerlukan R/w=O dan cs=0. Kombinasi ini meng-enable
atar peruliean penyangga masukan sehingga word 4-bit yang diberikan ke masukan data
akan di-load (baca) ke dalam register terpilih. Rtw=0 juga men-disable
/ penyangga keluaran (tristate) sehingga keluaran data berada dalam
M cmilih
s&r rogiahr keadaan Hi-Z selama operasi penulisan.
Kcluarar data
7.9.3 Pemilih Chip
Gambar 7.t8 Organisosi internol RAM 64 x 4 Chip-chip memori pada umumnya mempunyaisatu atau lebih masukan
CS yang digunakan untuk meng-enable atau men-disable chip seluruhnya.
Gambar 7.18 menunjukkan arsitektur RAM yang disederhanakan yang Ketika mode disable, maka semua masukan data dan keluaran data
menyimpan 64 word, masing-masing word empat bit (yaikni memori 54 x dilumpuhkan (Hi-Z) sehingga operasi baca atau tulis tidak dapat dilakukan.
4). Word-word ini mempunyai rentang alamat dari 0 sampai 53 desimal. Pada mode ini, isi memori tidak terpengaruh. Alasan untuk mempunyai
Untuk memilih salah satu dari 54 lokasi alamat untuk pembacaan atau masukan CS akan menjadijelas bila kita menggabungkan chip-chip memori
penulisan, sebuah kode alamat biner dimasukkan pada sebuah sirkuit untuk memperoleh kapasitas memori yang lebih besar. Banyak pabrik
decoder. Karena 64 = 26, maka decoder memerlukan kode masukan menyebut masukan ini CHIP ENABLE (CE). Bila masukan CS atau CE berada
sebanyak 6 bit. Setiap kode alamat mengaktifkan satu keluaran decoder dalam keadaan aktif, maka chip memori dikatakan terpilih; sebaliknya
278 Organisasi dan Arsilektur Komputer Bab 7 Desain Memori Utama Sornikonduktor 279
Kita akan melihat mengapa hal ini dilakukan dengan mengacu pada Gambar 7.L9 Sel-sel RAM-stdtik bipolor don NMOS khas
Gambar 7.18. Dengan memisahkan penyemat-penyemat input dan output,
dibutuhkan total 18 penyemat (termasuk ground dan suplai daya). Dengan Memori SRAM tersedia dalam teknologi bipolar, MOS, dan BiCMOS.
empat penyemat l/O bersama, maka hanya dibutuhkan 14 penyemat. Kebanyakan aplikasi-aplikasi menggunakan RAM NMOS atau CMOS.
Penyemat yang dihemat menjadi lebih signifikan untuk chip-chip dengan Teknologi bipolar mempunyai kelebihan dalam hal kecepatan (walaupun
ukuran word yang besar. CMOS secara perlahan mulai mendekati kecepatan tersebut), dan teknologi
MOS mempunyai kapasitas yang lebih besar dan konsumsi daya lebih
7.LO STATTC RAM (SRAM) rendah. Gambar 7.19 menunjukkan perbandingan sel memori statik bipolar
khas dengan sel memori statik NMos khas. sel bipolar terdiri atas dua
Operasi RAM yang telah kita bahas hingga di sini menggunakan static transistor bipolar dan dua resistor, sedangkan sel NMOS terdiri atas empat
RAM (SRAM)yang dapat menyimpan data selama daya diberikan pada chip. MOSFET kanal-N. Sel bipolar membutuhkan area chip yang lebih besar
Sel-sel memori SRAM pada dasarnya adalah sejumlah flip-flop yang akan daripada sel MOS karena sebuah transistor bipolar lebih kompleks daripada
tetap pada suatu keadaan yang diberikan (menyimpan bit) secara sebuah MOSFET, dan karena sel bipolar membutuhkan resistor terpisah
permanen, selama catu daya yang diberikan tidak terputus. Ke depan kita sedangkan sel MOS menggunakan MOSFET sebagai resistor (Q3 dan Qa). Sel
akan membahas dynomic rom (DRAM) yang menyimpan data sebagai memoriCMOS mirip sel NMOS kecuali bahwa CMOS menggunakan MOSFET
muatan pada kapasitor. Dengan DRAM data yang tersimpan secara kanal-P yang ditempatkan pada Q3 dan Q4. lni menghasilkan konsumsi daya
perlahan-lahan akan hilang karena adanya kehilangan muatan kapasitor, yang lebih rendah tetapi menambah kompleksitas chip.
sehingga diperlukan penyegaran ulang secara periodik (mengisi kembali
kapasitor).
7,1O.1. Pewaktuan SRAM
lC RAM paling sering digunakan sebagai memori internal suatu
komputer. cPU melakukan operasi baca dan tulis secara kontinu pada
memori ini dengan kecepatan yang sangat tinggi. Chip-chip memori yang
diantarmukakan ke CPU harus cukup cepat untuk merespons perintah-
Bab 7 Desaln Memorl Ulama Somikonduktor 281
perintah baca dan tulis CPU, dan seorang perancang komputer harus
memperhatikan karakteristik pewaktuan (timing) berbagai RAM'
l-****'
I almat
i*,r, J
0
I
untuk suatu siklus baca secara lengkap dan suatu siklus tulis secara lengkap Kcluaru
data ke bus
untuk sebuah chip RAM khas.
RAM khusus ini mempunyai satu keluaran data mengingat bahwa keluaran Dari )
data RAM dihubungkan ke bus data CPU. CPU
l.=l
t0
Kcluuan
brx
data kc
Gambar 7.20 Pewoktuon RAM-statik khos (o) siklus boco; (b) siklus tulis
282 0rganisasi dan Arsitektur Komputer Bab 7 Desain Memorl Ulamu Sontikonduktor 283
Siklus baca dimulai pada saat to. Sebelum waktu tersebut, masukan- Selama intervalwaktu tulis ini, pada saat tl CPU mensuplaidata valid ke
masukan alamat bebas apa saja berada pada bus alamat dari operasi ini harus ditahan pada
bus data untuk dituliskan ke dalam RAM. Data
sebelumnya. Karena pemilih chip RAM tidak aktif, maka dia tidak akan masukan RAM sedikitnya pada interval waktu tp5 sebelumnya, dan
merespons pada alamat lama. Perhatikan bahwa saluran nllz adalah HIGH sedikitnya pada interval waktu tps sesudahnya, deaktivasi ntw dan CS
mendahului/sebelum ts dan tetap HIGH selama siklus baca. Pada pada tz. lnterval tos disebut doto setup time (waktu setup data) dan tps
kebanyakan sistem-sistem memori, Rtfr umumnya dijaga dalam keadaan disebut doto hold time (waktu menahan data). Dengan cara yang sama,
HIGH kecualijika dia dikemudikan LOW ketika sebuah siklus tulis. Keluaran masukan-masukan alamat harus tetap stabil selama interval oddress hold
data RAM berada dalam keadaan Hi-Z karena CS = 1. time (waktu menahan alamat), tnn, setelah fz. Jika persyaratan setup time
alau hold time ini tidak ditemukan, maka operasi tulis tidak akan dapat
Pada te CPU menggunakan sebuah alamat baru ke masukan RAM, dijamin.
alamat ini merupakan lokasi yang akan dibaca. Setelah waktu berikutnya
sinyal-sinyal alamat menjadi stabil, saluran CS Oiat<tifkan. RAM merespons Waktu siklus tulis Ismpung, dari to ke tt, ketika CPU mengubah
ty76
dengan menempatkan data dari lokasi yang dialamati ke saluran keluaran saluran-saluran alamat ke sebuah alamat baru untuk siklus baca atau siklus
data pada t1. Waktu antara te dan t1 adalah waktu akses RAM ta66 dan tulis berikutnya.
merupakan waktu antara penggunaan alamat baru dengan munculnya data Waktu siklus baca t66 dan waktu siklus tulis tey6 merupakan hal yang
keluaran valid. Parameter pewaktuan t66 adalah waktu yang digunakan oleh mendasar dalam menentukan seberapa cepat suatu chip memori dapat
keluaran RAM untuk menuju dari Hi-Z ke level data sah (valid) ketika CS bekerja. Misalnya, dalam aplikasi aktual, sebuah CPU akan sering membaca
diaktifkan. word-word data yang berurutan dari satu ke yang lainnya. Jika memori
mempunyai t66 50 ns, maka CPU dapat membaca satu word setiap 50 ns,
Pada saat t , 6S kembali HIGH, dan keluaran RAM kembali ke keadaan
atau 20 juta word per detik; dengan tnc = 10 ns, maka CPU dapat membaca
Hi-Z setelah suatu interval waktu tep. Jadi data RAM akan berada pada bus
100 juta word per detik. Tabel 7.1 menunjukkan waktu siklus-baca
data antara t1 dan f:. CPU dapat mengambil data dari bus data kapan pun
minimum dan siklus tulis untuk beberapa chip-chip RAM statik yang
ketika dalam interval tersebut. Kebanyakan komputer, CPU menggunakan
representatif.
tepitransisi positif sinyal CS pada t2 untuk menahan data ini ke salah satu
register internal. TABEL 7.L Waktu siklus boco don tulis (minimum) beberapo chip SRAM
Waktu siklus baca t66 rampung, diperluas dari te ke fn, ketika CPU fnr{mil) fwdmin)
mengubah masukan-masukan alamat ke suatu alamat yang berbeda untuk (p5) :: :, , tnit
siklus baca atau tulis berikutnya. CMOS MCM6205C, 32K x 8 L5 15
NMOS 2147H, 4K x 1 35 35
7.10.3 Siklus Tulis B|CMOS MCM6708A, 64K x 4 8 8
bit alamat, yang berarti diperlukan banyak gerbang multi-input. Karena itu
pembuatan lC secara praktis dengan cara ini sulit. Solusi yang mungkin
adalah menyusun elemen-elemen memori (sel) seperti matriks.
Pada Gambar7.22 ditunjukkan diagram blok sebuah lC RAM 1K x 4.
Memori ini berisi 4 bit pada setiap lokasi, karena itu dibutuhkan 10 bit
untuk pengalamatan chip memori ini dan kapasitasnya 4K bit. Operasi baca
atau tulis hanya mungkin jika masukan CS aktif (/ow). Kepastian operasi
ditentukan oleh penyemat WE (write enoble). Ketika WE low, maka terjadi
operasi penulisan lC. Memori mendapatkan data (4 bit) dari penyemat data
dan menyimpannya dalam lokasi yang diberikan oleh bit alamat. Bila Gambar 7.22 (a) lC SRAM 7K x 4
masukan WE high, lC melakukan operasi pembacaan lokasi dan mensuplai
isi dari penyemat data. Organisasi internal SRAM ditunjukkan pada Gambar
7.22(bl. Secara internal sel memori disusun sebagai matriks 64 x 54. Enam
bit alamat didekode oleh decoder alamat baris untuk memilih baris. Sel-sel
kolom disusun sebagai 15 set di mana setiap set mempunyai empat sel
seperti yang ditunjukkan pada Gambar 7.22(cl. Karena itu selama operasi
pembacaan, sebuah MUX 4 bit 16-ke-1 digunakan untuk memilih set
dengan menggunakan 4 bit sebagai masukan kontrol se/ect ke multiplexer.
Selama operasitulis, demultiplexer melakukan routing masukan data ke set MUX 16 kc l tmtukbaca
DEI\rIUX 1 ko 16 untuk tulie
yang sesuai pada empat bit alamat.
<- 8 bit --r
I
64 buis
AO
A1
64 kolom 16 sct
t-Y-J\-
Baca/tulis
Ke decoder bank Y . .
lle semua cnlp
DO.D7
D0-D3
DO-D3 D4-D'l
Telah disebutkan sebelumnya bahwa tidak seperti RAM statik yang umumnya instrumen-instrumen berbasis mikroprosesor dan peralatan-
menyimpan informasi dalam flip-flop, RAM dinamik menyimpan 1 dan 0 peralatan rumah tangga memerlukan kapasitas memori yang sangat kecil.
sebagai muatan pada sebuah kapasitor MOS kecil (khas beberapa Beberapa instrumen seperti osiloskop digitol storoge dan logic onolyzer
picoforodl. Karena kecenderungan muatan-muatan ini bocor setelah memerlukan memori kecepatan sangat tinggi. Untuk aplikasi-aplikasi
periode waktu tertentu, RAM dinamik memerlukan pengisian muatan ulang seperti ini maka umumnya digunakan SRAM.
secara periodik terhadap sel-sel memori, hal ini disebut refreshing Memori utama (internal) pada kebanyakan mikrokomputer pribadi
(penyegaran ulang) RAM dinamik. Pada chip DRAM modern, setiap sel (misalnya PC berbasis Windows atau Macs) menggunakan DRAM karena
memori harus disegarkan ulang khas setiap 2, 4, atau 8 ms, jika tidak data kapasitasnya yang besar dan konsumsi dayanya rendah. Namun, komputer-
tersebut akan hilang. komputer ini beberapa di antaranya kadang-kadang menggunakan SRAM
Kebutuhan untuk penyegaran ulang merupakan suatu kelemahan RAM dalam jumlah kecil untuk fungsi-fungsi yang mensyaratkan kecepatan
dinamik dibandingkan RAM statik karena memerlukan sirkuit pendukung maksimum seperti video grophic, look-up table dan memori cache. Namun
tambahan eksternal. Beberapa chip DRAM mempunyai sirkuit kontrol DRAM kurang andal dibandingkan SRAM dan karena itu mekanisme
refresh yang terpadu (built-inl yang tidak memerlukan hardware eksternal pendeteksian error seperti pority /ogrc sangat perlu untuk modul DRAM.
tambahan, tetapi memerlukan pewaktuan khusus sinyal-sinyal kontrol Dibutuhkan chip memoritambahan untuk penyimpanan bit paritas.
masukan chip. Lagi pula, seperti yang akan kita lihat, masukan-masukan Dalam pemilihan jenis RAM secara khusus untuk suatu sistem,
alamat ke DRAM harus ditangani terus-menerus dibandingkan SRAM. Jadi perancang mempunyai beberapa keputusan yang sulit. Kapasitas (sebesar
secara umum, perancangan dengan menggunakan DRAM dalam suatu mungkin), kecepatan (secepat mungkin), kebutuhan daya (sekecil mungkin),
sistem lebih kompleks daripada SRAM. Namun, kapasitas DRAM yang lebih harga (semurah mungkin), dan kebaikan (semudah mungkin untuk
besar dan konsumsi dayanya yang lebih rendah membuat DRAM perubahan) semuanya harus dijaga dalam kelayakan yang seimbang karena
merupakan pilihan dalam memori sistem di mana pertimbangan-pertim- tidak ada jenis RAM yang dapat meminimalkan semua fitur-fitur yang
bangan desain yang paling penting adalah menjaga ukuran, harga dan daya. diinginkan tersebut. Pasar RAM semikonduktor secara tetap mencoba
Untuk aplikasi di mana kecepatan dan pengurangan kompleksitas lebih untuk menghasilkan karakteristik-karakteristik gabungan yang ideal dalam
kritis daripada harga, ruang, dan pertimbangan daya, maka RAM statik produknya untuk berbagai kebutuhan atau aplikasi-aplikasi.
tetap lebih baik. RAM statik secara umum lebih cepat daripada RAM
dinamik dan tidak memerlukan operasi penyegaran ulang. Mereka lebih 7.11,.L Penyegaran Ulang DRAM
sederhana untuk desain, tetapi mereka tidak dapat bersaing dengan RAM lsi setiap bit sel dalam chip DRAM harus disegarkan sekali setiap
dinamik dalam hal kapasitas lebih tinggi dan keperluan daya lebih rendah. beberapa millisecond (1,2 ms atau 4 ms). Dibutuhkan suatu mekanisme
Karena struktur sel DRAM lebih sederhana, maka DRAM khas mem- terpisah untuk melakukan penyegaran ulang memori.
punyai kepadatan empat kali dari SRAM. Dengan kenaikan kepadatan ini Secara teoretis, pada operasi penyegaran ulang, isi tiap lokasi dibaca
maka memungkinkan kapasitas memori empat kali lebih banyak dipasang dari DRAM dan menulisinya kembali. Hal ini merupakan cara lama. Pada
pada suatu board tunggal, atau dengan kata lain hanya memerlukan chip ini, penyegaran ulang menggunakan satu operasi baca dan satu operasi
seperempat ruang pada board untuk jumlah memori yang sama. Harga per tulis pada setiap lokasi. Chip DRAM saat ini telah mempunyai kemampuan
bit memori RAM dinamik secara khas seperlima terhadap seperempat RAM penyegaran yang terpadu. Pada chip ini tidak diperlukan membaca atau
statik. menulis data kembali. Sebagai gantinya, cukup memberi alamat lokasi dan
Aplikasi utama SRAM adalah pada daerah di mana kebutuhan memori masukan sinyal refresh secara periodik. Pembacaan dan penulisan kembali
yang jumlahnya kecil atau di mana dibutuhkan kecepatan tinggi. Pada dilakukan secara internal oleh lC DRAM. Selama operasi penyegaran ulang,
Bab 7 Desain Memori Ulamn Somikonduklor 291
penyemat DATA pada memori tidak digunakan dan penyemat ini dalam
7.11.3 Multiplexing Alamat Baris dan Kolom
keadaan Hi-2.
DRAM diimplementasikan sebagai sebuah matriks bit-bit (array) dengan
7.L1,2 Penyegaran Ulang Baris baris dan kolom seperti yang ditunjukkan pada Gambar 7.24.Tidak seperti
SRAM, EPROM dan memori flash, DRAM secara fungsional dari perspektif
Karena lc DRAM secara internal mempunyai baris dan kolom, luar digambarkan sebagai organisasi baris dan kolom.
penyegaran ulang dapat dilakukan pada baris. Apabila satu baris disegarkan,
semua bit sel di dalam baris tersebut tersegarkan. Jadi jumlah siklus SRAM diakses dengan memberikan alamat lengkap secara simultan.
penyegaran yang dibutuhkan untuk semua bit sel sama dengan jumlah Alamat DRAM diberikan dalam dua bagian: alamat baris dan alamat kolom.
baris. Selama setiap siklus, alamat baris disuplai ke lC DRAM. Umumnya, Alamat baris dan kolom di-multipleks pada pin address yang sama untuk
skema penyegaran ulang dibagi dua kategori: mengurangi ukuran kemasan dan harga, Pertama alamat baris di-load atau
di-strobe ke dalam latch (penyimpan sementara), alamat baris melalui row
1. Burst refresh address strobe atau RAS*, kemudian diikuti alamat kolom dengan column
2. Distributed refresh address strobe, atau CAS*. Data yang dibaca disalurkan ke output setelah
Pada skema burst refresh, semua baris disegarkan satu per satu dalam satu waktu akses tertentu. Penulisan data diberikan pada waktu yang sama
bidang tanpa terputus. Hal ini diulangi setiap 2 ms (atau 4 ms). Pada skema dengan alamat kolom, karena column strobe sebenarnya adalah triger
distributed refresh, penyegaran baris dilakukan antara operasi baca dan transaksi, apakah pembacaan atau penulisan.. Pada saat fase alamat kolom,
tulis. maka WE dan CE akan berpengaruh.
Contoh 7.9
Sebuah IC DRAM 4416 (l6Kx 4) mempunyai waktu akses 150 ns. Pada
organisasi internalnya terdapat 256 bans dan 256 kolom. Spesifikasi
memory refresh 256 cyclel4 ms. Hitung refresh overhead.
Solusi:
Dalam 4 ms, terjadi 256 siklus refresh
Karena waktu akses 150 ns, penyegaran256 baris membutuhkan waktu
:
256 x 150 ns 38,4 ps.
Waktu ini digunakan di daiam penyegaran setiap durasi 4 ms'
:
Karena itu refresh overhead waktu yang digunakan untuk penyegaran
semua baris sekaligus: interval
penyegaran Gambar 7.24 Arsitektur DRAM
: i:a/ i to") : (4 x 1o-3) : 9,6 x 1o-3 x
Sense amplifier pada chip diperlukan untuk mendeteksi muatan-
100%o = 0,96 Yo
muatan sementara yang digenggam dalam kapasitor DRAM. Amplifier ini
refresh overhead sekitar = | o/o
digunakan juga untuk membatu dalam operasi penyegaran ulang. Sebuah
memory control bertanggung jawab menjaga refresh timer dan memulai
operasi refresh dengan frekuensi yang tepat agar data terjamin tidak hilang.
Semua baris di-refresh dalam waktu yang sama. Sebuah refresh counter
internal melakukan increment setelah setiap operasi refresh agar semua
Bab 7 Desaln MemorlUtama Semlkonduktor 293
menyimpan empat bit bagian bawah dari setiap 16 word. Word delapan-bit
7,!2,! MemPerbesar Ukuran Word penuh tersedia pada keluaran RAM yang dihubungkan ke bus data.
word
Anggap kita memerlukan sebuah memoriyang dapat menyimpan Salah satu dari 16 word dipilih dengan menggunakan kode alamat yang
15 x 8 bit dan kita mempunyai chip-chip RAM yang semuanya disusun
tepat ke bus alamat empat-saluran (ABj, AB2, AB1, ABsl. Saluran alamat
sebagai memori !6 x 4 dengan saluran l/o bersama. Kita menggabungkan secara khas berasal pada CPU. Perhatikan bahwa setiap saluran bus alamat
aua ifrip 16 x 4 ini untuk menghasilkan memori yang kita
inginkan.
dihubungkan ke masukan alamat yang bersesuaian pada setiap chip. Artinya
pada Gambar 7.25. Periksa
Konfiguiasi untuk melakukan hal ini ditunjukkan bahwa ketika suatu kode alamat ditempatkan pada bus alamat, kode
diagram ini secara seksama. alamat ini sama dengan yang diberikan pada chip-chip agar lokasi yang
sama dalam setiap chip diakses pada saat yang sama.
Ketika alamat terpilih, kita dapat membaca atau menulis pada alamat
ini di bawah kontrol saluran Rtw dan cs. Untuk membaca, Rtw harus
HIGH dan CS harus LOW, hal ini menyebabkan saluran l/O RAM bertindak
sebagai keluaran. RAM-O menempatkan word empat-bit yang terpilih pada
ennpat saluran bus data bagian atas dan RAM-1 menempatkan word empat-
Ar Ar At Ao Ar Ar At Ao
bit yang terpilih pada empat saluran bus data bagian bawah. Bus data
RIW RIW
RAM-O HAIT{-I kemudian berisi word delapan-bit penuh, yang sekarang dapat ditrans-
x4 16 x4 misikan ke sejumlah perangkat lain (biasaya pada sebuah register dalam
CS
16
CS
I/0r I10r I/Ot I/Oo cPU).
I/Or I/Or I/0r I/Oo
Untuk menulis, ntw harus LOW dan cs harus LOW, yang menyebab-
kan saluran l/O RAM bertindak sebagai masukan. Word delapan-bit yang
akan ditulis ditempatkan pada bus data (biasanya oleh CPU). Empat-bit
bagian atas akan ditulisi ke dalam lokasi RAM-0 yang terpilih, dan empat-bit
bagian bawah akan ditulisi ke dalam RAM-1.
Pada dasarnya gabungan dua chip RAM bertindak sebagai sebuah chip
Rentarg alarnat 0000 sampai I I I 1 (16 wotQ memori tunggal 16 x 8. Kita akan merujuk gabungan ini sebagai modul
UkrxanWordS-bit
memori 16 x 8. Gagasan dasar yang sama untuk memperluas ukuran word
akan berlaku untuk banyak keadaan
4 bit teratas setiaP wotd 4 bit terbawah setiaP wotd
disirnpan dalamROM-0 disirnpan dalam ROM-1
Contoh 7.10
Sebuah IC RAM statik jenis 2I25A mempunyai kapasitas lK x 1, satu
GambarT.26GobungonduoRAMT6x4yongmembentukmodul16xS masukan chip select aktif-LOW, dan masukan dan keluaran data yang
terpisah. Tunjukkan bagaimana menggabungkan beberapa IC 2125A
Karena setiap chip dapat menyimpan word 16 x 4 bit dan
kita akan
untuk membentuk modul memori lK x 8.
untuk
menyimpan word 16 x tit, maka
g kita menggunakan setiap chip
word' Dengan kata lain' RAM-O Solusi:
menyimpan setengah dari masing-masing
,"nyirp., bit bagian atas dari setiap 16 word' dan RAM-1
"rp.t
296 Organisast dan Arsitektur Komputer Bab 7 Desain Monrori [,lkrrrrir liorrrrkonduktor 297
Susunan memori ditunjukJcan dalam Gambar 7.27, di mana delapan chip ABr
2125A digunakan untuk membentuk modul lK x 8. Setiap chip ABr
AB:
menyimpan salah satu bit dari masing-masing 1024 word delapan-bit. ABr
Perhatikan bahwa semua masukan Rltr dan G diitat bersama, dan 10-
ABo
DBr
DBr
DBr
DBo Bus
Rentang alamat: ROM-0 + 00000 sampai 01l lI data
ROM-l * 10000 sampai lllll
TOTAL: + 00000 sampai 1l I I I (32 word)
Anggaplah kita membutuhkan memoriyang dapat menyimpan 32 word Karena kapasitas total modul memori ini adalah 32x4, maka harus ada
empat-bit dan semua chip yang kita miliki adalah chip 16 x 4. Dengan 32 alamat-alamat berbeda. Berarti hal ini membutuhkan lima saluran bus
menggabungkan dua 76 x 4 seperti yang ditunjukkan pada Gambar 7.28, alamat. Saluran alamat atas AB4 digunakan untuk memilih satu RAM atau
kita dapat menghasilkan memori yang diinginkan. sekali lagi, periksa yang lainnya (via masukan-masukan CS) sebagaisatu dariyang akan dibaca
diagram ini dan lihat apa yang Anda dapat tentukan dari gambar tersebut atau ditulisi. Empat saluran alamat lainnya ABs hingga AB3 digunakan untuk
sebelum membacanya. memilih satu lokasi memori dari 16 dari chip RAM yang terpilih.
dapat berada dalam rentang 0000 sampai 1111 untuk memilih lokasi yang
diinginkan. Jadi, rentang alamat yang mewakili lokasi dalam RAM-0 adalah
ABa ABs ABz AB 1 ABo= 00000 sampai 01111
Perhatikan bila A86 = 0, maka cs nnru-r adalah high, sehingga saluran l/o
di-disable (Hi-Z) dan tidak dapat berkomunikasi dengan (memberi data ke
atau menerima data dari) bus data.
Hal itu akan jelas bahwa bila ABq = 1, fungsi RAM-0 dan RAM-1
berlawanan. RAM-1 sekarang di-enable, dan saluran AB3 hingga ABs
memilih salah satu lokasinya. Jadi rentang alamat yang berada dalam RAM-
1 adalah
Selama ABu - ABn - 0, nilai A81e sampai A8o dapat berada dalam Ruang ini digunakan bersama (share) antara cpU
dan pengontror
rentang semua 0 atau semua 1. Jadi, PROM-0 akan merespons ke rentang layar (cRT). cpU menyimpan "halamon memorf,
untuk menampir-
berikut dari 13-bit alamat: kannya pada layar cRT. oleh karena itu bagian ini
tidak disediakan
untuk program biasa.
ABn - ABe = 9999900000000 sampai 0011111111111
Gambar 7.30 menunjukkan bagaimana ruang memori
Untuk praktisnya, alamat ini dapat dinyatakan lebih mudah dalam kode utama 1MB pada
sebuah IBM Pc berbasis rNTEt g0gg dijatah untuk merakukan
heksadesimal sebagai 0000 sampai 07FF. berbagai
fungsi. Alokasi ini dikenat dengan peta memori dan
merupakan suatu
Dengan cara yang sama, bila ABp= 0 dan ABy = 1, decoder memilih spesifikasi penting yang diikuti oreh perancang hardware
dan pengembang
PROM-I, yang kemudian merespons dengam mengeluarkan word data yang software. Karena rBM pc mengikuti metode t/o mapped
tersimpan secara internal pada alamat ABrc sampai ABs. Jadi, PROM-1 pengganti dari memory mapped t/o, maka tidak
t/o sebagai
ada reservasi untuk r/o
merespons ke rentang berikut dari 13-bit alamat: port.
tsCadnngift
Ketika arsitektur komputer telah rampung, salah satu pekerjaan
perancangan yang paling penting adalah pemanfaatan ruang memori c8000 BIOS Huddirk
CBFFF
utama. Keseluruhan ruang memori utama tidak dapat diperuntukkan bagi cc000
penggunaan program saja karena alasan-alasan berikut: r- Cadarrgan unluk
EFFFF ekapnoi ke &pan
F0000
1. Beberapa ruang memori diperlukan untuk memberikan jatah BIOS Sie tem dan
alamat baei l/O port dalam sebuah skema memory mapped l/O. Inlerpreter BASIC
FFFFF
Walaupun jatah l/O port dalam suatu komputer dalam orde 10-
100, suatu ruang besar 64 K dicadangkan untuk l/O port. Bagian ini
Gambar 7.30 peta memori pado pC
tidak dapat digunakan untuk program, Karena itu hardware
bertanggung jawab untuk pendekodean pada ruang alamat ini dan
Penyediaan memori untuk program digunakan dalam
melakukan disable pada memori utama selama operasi baca/tulis dua cara:
untuk alamat pada ruang ini. 7. Memori baca/tulis G4O KB adalah untuk program pemakai
dan
2. Pada beberapa sistem, sebagian dari memori utama dicadangkan sistem operasi
sebagai video buffer (dikenal juga sebagai memori layar). Secara 2. MemoriROM diutamakan untuk BIOS.
fisik, sebuah memori baca/tulis tetap ada dalam ruang alamat ini.
302 Organisasi dan Arsitektur Komputer Bab 7 Desain MemorlUlama Semikonduktor 303
3. Salah satu parameter penting memori adalah kecepatan operasi. 17. Memori MROM (Mosk-programmed Read Only Memory) atau
Parameter-parameter kecepatan adalah dan _. umumnya disebut ROM saja adalah memoriyang isinya diprogram oleh
4. adalah waktu yang diperlukan oleh memori untuk melengkapi
operasi baca segera ketika menerima sinyal kontrol "baca" 18. Memori ROM yang dapat diprogram oleh user tetapi hanya sekali saja
5. Waktu yang dibutuhkan oleh memori untuk mempersiapkan akses disebut memori
word berikutnya disebut 19. Jenis memori RoM yang dapat diprogram oleh user beberapa kali
6. Kecepatan transfer data memori yang dinyatakan dalam jumlah byte adalah (1) , dan (2)
per detik, disebut 20. Jenis memori ROM yang cara penghapusannya menggunakan sinar
7. Beberapa jenis memori seperti hard disk, mempunyai organisasi ultra violet disebut
internal yang dalam akses pertamanya ke suatu lokasi (sektor) 21. lenis memori ROM yang cara penghapusannya menggunakan sinyal
mempunyai waktu akses yang lama sedangkan lokasi yang berdekatan listrik disebut
mempunyai waktu akses yang lebih singkat. Waktu yang digunakan 22. Memori adalah sebuah EEPROM jenis khusus yang dapat
untuk mengakses lokasi (word) yang pertama dalam suatu rangkaian dihapus dan diubah dalam blok pada satu operasi besar (seperti kilat).
lokasi (blok lokasi) disebut 23. Kelemahan utama
-. memori adalah karena data akan hilang jika
8. Memori yang dapat mengakses 32 word, harus mempunyai saluran catu dayanya mati, atau biasa disebut dengan istilah memorivolatile.
alamat minimal sebanyak _ bit. 24. Ada dua jenis memori semikonduktor baca/tulis yaitu: (1) memori
9. Secara umum, jika terdapat masukan saluran alamat N maka dan (2) memori
kapasitas/jumlah lokasi word yang dapat diakses sebanyak 25. Setiap sel di datam memori terdapat sebuah flip-flop yang
word. menyimpan 1 atau 0 selama ada suplai daya.
10. Sinyal kontrol yang umum untuk mengakses memori adalah (1) sinval 26. Memori membutuhkan ruang lebih banyak daripada DRAM
baca/tulis (R twl, dan (2) sinyal_. tetapi lebih cepat.
lL. Klasifikasi memori yang umum adalah berdasarkan (1) fungsi, (2) 27. Setiap sel di dalam memori terdapat sebuah kapasitor yang
teknologi, (3) modus penggunaannya (kemampuan baca/tulis), dan (4) menyimpan 1 atau 0 seperti cara penyimpanan muatan pada kapasitor,
yang akan mengalami discharge (pembuangan muatan) selama periode
L2, Metode akses memori yang membolehkan pengaksesan ke suatu lokasi waktu tertentu.
tanpa ada keterkaitan dengan posisi fisik dan tidak bergantung pada 28. Memoriyang isinya hanya dapat bertahan dalam beberapa saat karena
lokasi lain disebut metode terjadi discharge sehingga membutuhkan penyegaran ulang secara
13. lnstruksi/data yang dibaca oleh prosesor (CPU) disimpan di dalam periodik disebut memori
29. Memori adalah jenis memori yang digunakan sebagai memori
cache.
306 Organisasi dan Arslloklur Komputer Bab 7 Desain Memori Ulama Somikonduktor 307
30. Memori adalah jenis memori yang diSunakan sebagai memori c) Kapasitas decoder alamat yang digunakan untuk mengakses bank
utama. memori
31. Word memori yang mempunyai rentang alamat dari 0 sampai 63 d) Rentang alamat (dalam hex) pada masing-masing bank memori
desimal dibutuhkan saluran alamat minimal- bit e) Gambarkan organisasi modul DRAM tersebut dilengkapi hubungan
32. Jika pada saluran alamat terdapat sinyal 0110102 berarti word yang bus-bus alamat dengan decoder alamatnya.
diakses berada pada nomor lokasi desimal. 6. Sebuah 2167 SRAM 16K x 1. Berapa banyak lC seperti itu yang
33. Memori SRAM tersedia dalam teknologi (1) bipolar, (2) MOS, dan (3) diperlukan untuk membangun RAM 54 KB?
7. Sebuah RAM 32 KB dibentuk dari 16 buah jenis lC SRAM. Jika setiap lC
-
34. Keunggulan teknologi bipolar dibanding teknologi CMOS adalah memerlukan 14 bit alamat, tentukan:
a) Kapasitas lC
35. Keunggulan teknologi CMOS dibanding teknologi bipolar adalah (1) b) Organisasimemori
dan (2) c) Rentang alamat untuk setiap bank.
BAB 8
TEKNIK MANAJEMEN MEMORI
teknik implementasinya serupa. Memori cache adalah suatu fitur hardware Lsblh Mahal
LEblh X€cll & LEblh c€P8t
yang tidak dikenal pada software, sedangkan memori virtual merupakan
fitur hardware-software. Bab ini membahas prinsip-prinsip dan teknik
desain yang digunakan untuk menghasilkan kinerja yang lebih baik dengan
biaya per bit yang rendah.
rentang waktu akses yang berbeda. Harga per bit-nya pun bervariasi. Tidak
semua teknologi memori dapat digunakan sebagai memori utama. RAM
merupakan pilihan yang baik sebagai memori utama (memori program).
Memori akses serial (pita magnetik) atau memori akses semi acak (hard disk Crcla Culc Mamri Mc:norl
CPU utlm mkurlcr rrtlrrlt rakuicr
magnetik) tidak tepat digunakan sebagai memori utama walaupun
menawarkan bandwidth yang besar. Memori ini paling baik digunakan
sebagai memori cadangan atau memori sekunder untuk menyimpan
re%ffiffiffiffi
kq,r-rl.@
rcE re
@ffiWWW
@
ffiffiffi
ffi E@
ffi
E@a
&ffi
program volume besar. Walaupun lambat, memori ini begitu murah dalam SRAM SRAM DRAM Di'k
n13reflk
kapasitas besar yang dapat disimpan dalam sistem komputer. Hardware
dan sistem operasi secara bersama mengeluarkan program yang benar dari nrdrh P{5sr
memori sekunder ke memori utama dengan waktu yang relevan agar CPU .?
tidak menahan data yang diinginkan instruksi selama pengaksesan ke
memori utama. Komputer praktis, menggunakan hierarki memori seperti
yang ditunjukkan pada Gambar 8.1.
3. Waktu tunggu rata-rata CPU untuk mendapatkan informasi yang 8.2 KEKURANGAN MEMORI UTAMA
dibutuhkan harus sekecil mungkin.
Ada dua isu yang berhubungan dengan fungsi memori utama dalam
Saat ini, memori sekunder yang populer digunakan adalah hard disk komputer: kecepatan dan kapasitas memori utama. Kecepatan memori
magnetik. Hard disk drive tunggal menawarkan kapasitas penyimpanan utama tidak sama dengan prosesor dan karena itu menjadi beban bagi CPU.
yang besar dari 80 GB dan lebih. Komputer dapat mempunyai hard disk
Lagi pula kapasitas fisik memori utama tidak dapat ditingkatkan untuk
drive lebih dari satu/jamak. Dahulu, komputer menggunakan drum pemenuhan program-program panjang karena pengaruh harga. Perancang
magnetik yang saat ini telah usang dengan ditemukannya hard disk telah menemukan solusi dari dua kendala memori utama ini dengan
magnetik. Hard disk lebih cepat beberapa kali daripada drum magnetik. mengadopsi perubahan arsitektur. Hal iniakan dibahas berikut ini.
Teknologi disk optik menawarkan keandalan yang lebih baik dibandingkan
dengan hard disk magnetik, tetapi lebih lambat. Karena itu, tak dapat
digantikan dengan hard disk. Memori ini digunakan sebagai penyimpan
Kecepatan Memori Utama
cadangan di samping hard disk. Kinerja sistem utamanya tergantung waktu siklus instuksi. Kecepatan
Saat ini, DRAM digunakan sebagai memori utama baca/tulis pada
clock prosesor dan waktu akses memori utama merupakan dua faktor
penting yang berkontribusi terhadap waktu siklus instruksi. Sedikitnya satu
sebagian besar komputer untuk tambahan pada ROM semikonduktor yang
jumlahnya kecil dalam penyimpanan program-program kontrol permanen. akses memori utama diperlukan setiap instruksi untuk pengambilan
instruksi dari memori utama. Dan juga, selama pengeksekusian beberapa
SRAM lebih cepat dari DRAM, tetapi harga per bit SRAM lebih tinggi.
instruksi, akses memori utama diperlukan untuk pengambilan operand dan
Sehingga SRAM yang besar tidak diberikan pada komputer secara umum
penyimpanan hasil. Waktu prosesor terbuang jika waktu akses memori
kecuali komputer kinerja tinggi seperti supercomputer yang dapat
mempunyai SRAM yang besar. besar (dianggap tidak ada pipelining dalam prosesor). Hal ini merupakan
masalah waktu tunda keseluruhan yang terdapat pada komputer. Empat
SRAM dipilih sebagai memori cache karena kecepatannya yang tinggi. teknik berikut menyelesaikan masalah ini dan membolehkan prosesor untuk
Memori cache dapat ditempatkan lebih dari satu level. Kebanyakan bekerja dengan baik pada memori utama yang lambat:
mikroprosesor saat ini, dimulai dari lntel 80486, mempunyai memori cache
yang terdapat dalam prosesor (on-chipl dan disebut memori cache internal. 7. Prefetch instruksi
Mikroprosesor kinerja tinggi seperti Pentium pro dan berikutnya mem- 2. lnterleave memori
punyai dua level. Level tersebut dikenal dengan cache L1 dan cache 12. 3. Buffer tulis
Cache on-chip lebih cepat daripada cache off-chip dengan teknologi yang 4. Memoricache
sama. Hal ini karena waktu tunda propagasinya hampir nol di dalam lintasan Masing-masing keempat teknik tersebut berbeda dalam kompleksitas
antara prosesor dan cache on-chip. hardware dan efisiensi. Saat ini mikroprosesor menggabungkan semua
Register yang terdapat dalam prosesor diakses oleh CPU dengan segera. teknik ini dalam satu prosesor. Karena itu, secara teoretis memungkinkan
Karena itu menggiurkan untuk menggunakan register sebanyak mungkin, untuk mempunyai memori fisik sebanyak yang dibutuhkan oleh program.
tetapi register mahal dan ukuran chip prosesor meningkat tajam karena Tetapi ada beberapa masalah praktis yang berhubung dengan hal ini:
jumlah register yang besar.
L. Harga memori utama meningkat dan karena itu harga sistem
meningkat.
2. Kebutuhan catu daya meningkat karena harga sistem juga
meningkat.
314 0rganisasi dan Arslloktur Kompuler Bab 8 Teknlk Manajemen Memori 315
hasilnya, prosesor harus menunggu waktu pengambilan instruksi setelah menjadi modul-modul independen yang jamak agar bandwidth ditingkatkan
setiap instruksiJUMP. menjadi beberapa kali.
Gambar 8.3(a) dan (b) mengilustrasikan dua cara interleave untuk CPU
Contoh 8.1 8 bit. CPU mempunyai alamat memori L0 bit. Ruang memori fisik sebanyak
sebuah cPU memerlukan 50 r1s untuk pengambilan instruksi. Hitung 1024 byte (1 KB). Memori 7024 x 8 bit, diganti dengan dua modul yang
peningkatan kinerja jika fitur prefetch instruksi termasuk dalam prosesof. masing-masing 512 lokasi x 8 bit. Masing-masing modul memori berdiri
Anggap bahwa 2O%o dari instruksi adalah instruksi pencabangan' sendiri dan mempunyai dekoder alamat sendiri dan kontrol baca/tulis.
Karena kapasitas setiap modul adalah 512 lokasi, maka dibutuhkan 9 bit
a) Kasus 1: tidak ada fitur prefetch instruksi untuk alamat setiap modul. Alamat memori dari CPU mempunyai 10 bit, A0-
Waktu siklus instruksi : waktu pengambilan * waktu eksekusi A9. Sembilan dari MSB yang keluar A9-A1 diberikan sebagai alamat untuk
: 50 Is + te di mana t"adalah waktu
kedua modul tersebut. LSB A0 mengontrol enoble/disoble modul memori.
Bila A0 = 0, (alamatnya adalah alamat genap), bank genap di-enable dan
eksekusi instruksi
bank ganjil di-disable. Bila A0 = 1 (alamatnya adalah alamat ganjil) bank
Anggap program mempunyai 100 instruksi, total waktu eksekusi:
ganjil di-enable dan bank genap di-disable. Karena itu, bila CPU
= 100 x 0,+ 50) 4s: (100 t,+ 5000) qs
mengirimkan sebuah alamat 10 bit, hanya salah satu bank yang di-enable
b) Kasus 2; adaprefetch instruksi sesuai dengan status A0. CPU hanya memandang satu unit memori dengan
Dalam 100 instruksi, 20 adalah instruksi cabang dan lainnya adalah 1024 lokasi. Sekarang CPU dapat memulai pembacaan dua memori untuk
instruksi biasa. Selama eksekusi program, pengambilan instruksi oleh dua alamat berbeda, satu ganjil dan satu genap, kemudian satu setelah
prosesor hanya dibutuhkan 20 kali yaitu setelah setiap instruksi ruMP. yang lainnya. Marilah kita menganggap bahwa CPU mengirimkan alamat
Untuk sisanya 80 instruksi, prosesor tidak mempunyai waktu pengam- pertama 1000 dan alamat 1001 berikutnya. Bila alamat 1000 diterima, bank
bilan (karena antrian instruksi) dan hanya mempunyai waktu eksekusi. genap terpilih dan dia memulai operasi baca. Bila alamat 1001 diterima,
Total waktu eksekusi : waktu eksekusi selama 80 instruksi tanpa bank genap terpilih dan dia juga mulai membaca. Jadi, bank-bank terpilih
lompatan + waktu siklus instruksi untuk 20 instruksi lompatan. satu demisatu dan kedua bank melakukan operasi baca secara paralel. CPU
: g0 t,*
20 x(t"+ 50) qs menerima data dari dua bank dengan urutan yang sama.
: t,+ 1000 qs
100
Perbedaan dalam waktu eksekusi total :4000 r1s terhadap 100 instruksi I\&rnori yaug
Perolehan rata-rataper instruksi karena prefetch instruksi
:40 qs di-interleavs
Contoh 8.2
Sebuah CPU mempunyai ruang memori lKB. Rancang interleaving lK xB
memori 4-way dengan IC memori dengan waktu siklus 50 r1s dan hitung
bandwidth efektif.
Ruang alamat: l024byte
Karena itu, jumlah bit alamat: 10 B.* Alemel
Barik 0 0.4.8.... dst
Brnk I l-J.9
Karena interleaving 4-way yang digunakan, setiap modul akan Burk 2 2-6.10
digunakan sebagai:
Ag-y'c: lokasi memori dalam modul Gambar 8.4 lnterleaving memori A-way
A0-Al : pemilihan bank
Dua LSB (A0 dan A1) menunjuk bank. Dekoder 2-ke4
digunakan untuk mendekodekan bit-bit ini dan memilih bank. 8 Pengaruh lnterleave Memori
MSB (A9-A2) diberikan ke semua bank. Gambar 8.4 menun- lnterleaving n-way melipatgandakan bandwidth n-kali. Kekurangannya
jukJcan rancangan pada level fungsional.
adalah:
tulis yaitu sampai memori bebas. Kemudian melakukan siklus tulis memori
8.5 BUFFER TULIS dengan mengambil informasi dari buffertulis.
Buffer tulis secara fungsional adalah kebalikan dari prefetch instruksi.
Apa yang terjadi jika instruksi yang sekarang membutuhkan data
Dia digunakan untuk melakukan operasi penulisan memori untuk kepen-
memori dari suatu lokasi memori untuk operasi tulis yang tertunda dalam
tingan cPU sehingga membebaskan cpU dari operasi penulisan memori.
Buffer tulis berisi informasi berikut:
buffer tulis? Pada kasus demikian, kesempatan CPU untuk
membaca/mengambil data dari memori utama tidak berguna (sia-sia).
1. Alamat memori di mana operasi tulis harus dilakukan. Karena itu sebelum memulai operasi baca memori, buffer tulis diperiksa
2. Data yang akan ditulis untuk melihat jika ada operasi tulis yang ditunda pada alamat memori yang
sudah ada. Jika ya, CPU tidak membaca dari memori utama. Sebagai
Umumnya buffer tulis dapat menyimpan informasi untuk lebih dari satu
gantinya, dia menyalin data dari buffer tulis. Hal ini merupakan keuntungan
operasi tulis. Gambar 8.5 menunjukkan konsep buffer tulis. Umumnya bila
tambahan yang diberikan oleh buffer tulis walaupun hanya terjadi kadang-
cPU menulis data dalam memori utama, maka dia menyimpan hasil dari
kadang.
suatu instruksi. Jika cPU harus terlibat secara penuh dalam siklus penulisan
memori, maka dia memperlambat permulaan siklus instruksi berikutnya.
8.5 MEMORI CACHE
Memori cache adalah suatu buffer tengah antara CPU dan memori
utama (lihat Gambar 8.6). Tujuan memori cache adalah untuk mengurangi
waktu tunggu CPU selama pengaksesan memori utama. Pada sistem yang
tanpa memori cache, setiap akses memori utama menghasilkan sejumlah
waktu tunda dalam pemrosesan instruksi karena waktu akses memori
Buffer tulis
utama yang lebih besar dari periode clock prosesor. Kecepatan CPU yang
tinggi terbuang selama akses memori (ketika pengambilan instruksi,
pengambilan operand dan penyimpanan hasil) karena waktu akses memori
utama yang besar. Untuk mengurangi waktu tunggu CPU, diperkenalkan
sebuah memori yang kecil tetapi cepat sebagai memori cache yang berada
Gambar 8.5 Buffer tulis diantara memori utama dan CPU.
Kapasitas bcsar;
Jika memori sedang sibuk mengerjakan beberapa operasi yang dimulai lanrbat
Sebagian program dan data dibawa sebelumnya ke dalam memori Mcmort Uierre
cache. Pengontrol cache menjaga lokasi memori utama yang akan disalin l r,ooo
pada memori cache pada waktu yang diberikan. Bila CPU memerlukan suatu {
Blok I
instruksi atau operand, dia menerimanya dari memori cache fiika tersedia) J
sebagai pengganti dari pengaksesan memori utama. Jadi, akses memori
selesai dalam waktu yang singkat sehingga memori utama tampak seperti
memori yang cepat. Namun, jika item yang diperlukan tidak terdapat di
dalam memori cache, maka akses ke memori utama tidak dapat dihindari
sehingga item dibaca dari memori utama dan diletakkan di memori cache.
Kapasitas memori cache sangat kecil (dibandingkan dengan memori utama)
karena mahal. Jika memori cache penuh, maka beberapa item dihapus. Paniare
l
Keberadaan memori cache tidak dikenal pada program pemakai (user wofd
program) dan bahkan oleh prosesor. Hardware "coche controllef' mengatur I - - I
kembali dengan segera. pembacaan suatu lokasi dari memori utama, isi seluruh blok ditransfer dan
2. Spotiol locolity: lnstruksi-instruksi yang berdekatan dengan disimpan dalam memori cache. Memori cache disusun atas sejumlah baris-
instruksi sekarang dapat diperlukan segera. baris (disebut juga blok) dan ukuran setiap baris sama seperti kapasitas blok
memori utama. Jumlah blok-blok memori utama lebih banyak daripada
Dari pandangan dua sifat ini, bila pengaksesan memori utama untuk jumlah baris dalam memori cache. Karena itu, suatu formula (atau fungsi)
suatu instruksi, sebagai pengganti dari pengambilan satu instruksi saja dari digunakan untuk memetakan secara simetris suatu blok memori utama ke
memori utama, beberapa instruksi berurutan diambil bersama dan salah satu baris cache. Bila suatu blok memori utama disimpan dalam
disimpan dalam memori cache. memori cache, maka baris cache (nomor baris) di mana blok harus ditulisi
ditentukan dari fungsi pemetaan (mapping functionl. Dengan cara yang
sama, bila CPU membaca darisuatu lokasi memori utama, maka pengontrol
Bab 8 Teknik Manajomon Memori 325
324 Organisasi dan Arsitoktur Komput0r
cache menggunakan fungsi pemetaan yang mengindetifikasi baris cache di 8.6.2 Hit dan Miss
mana blok memori utama disimpan (jika tersedia). Ada tiga metode popular
Bila CPU mengakses memori utama, pengontrol cache memeriksa
untuk pemetaan memori cache: memori cache untuk melihat apakah alamat memori sekarang yang
1. Pemetaan langsung (direct moppingl dilepaskan oleh CPU dipetakan ke dalam cache. Jika alamat memori yang
2. Pemetaan asosiatif penuh (fully ossociotive moppingl sekarang dipetakan, item yang diperlukan tersedia dalam memori cache.
3. Pemetaan asosiatif set (set associative mappingl Keadaan ini disebut "coche hi{. lnformasi yang diperlukan dibaca dari
memori cache. Pada sisi lain, jika alamat memori utama yang sekarang tidak
Secara fungsional, memori cache mempunyai dua bagian seperti yang
dipetakan dalam memori cache, informasi yang diperlukan tidak tersedia
ditunjukkan pada Gambar 8.7(b): dalam memori cache. Keadaan ini disebut "coche rn,ss". Karena itu semua
1. Memoridata cache blok yang berisi alamat memori utama dikirim ke dalam memori cache.
2. Memoritag cache Sekarang ada dua cara suplai informasi ke prosesor:
Setiap baris dari memori data cache berisi blok memori. Baris tag yang 1. Simpan semua blok dalam memori cache pertama dan kemudian
bersesuaian dalam memori tag cache menunjukkan jumlah blok dari blok baca item yang diperlukan dari memori cache dan suplai ke
memori ini. Pola tag adalah suatu bagian alamat memori utama dari blok' prosesor.
lni berbeda untuk setiap teknik pemetaan (langsung, asosiatif penuh, dan 2. ltem yang segera diperlukan dibaca dari memori utama, disuplai ke
asosiatif set) yang akan dibahas pada bagian berikutnya. prosesor dan kemudian disimpan dalam memori cache.
Cache hit yang lebih sering terjadi lebih baik karena setiap terjadi'miss'
Memori tag cache Memori data cache maka harus dilakukan pengaksesan memori utama. Waktu yang digunakan
untuk membawa item yang diperlukan dari memori utama dan menyu-
plainya ke prosesor disebut'miss pinalty'. Hit rate (disebut juga hit rotiol
menyediakan bilangan jumlah akses yang dihadapi 'coche hit' terhadap
jumlah akses yang terjadi. Hit rate bergantung pada faktor-faktor berikut:
Gambar 8.8 juga menunjukkan alokasi blok-blok memori yang berbeda Cacho buL 0 diguakdrwti*
untuk membedakan baris-baris cache pada setiap pemetaan langsung. Bila blot mcmoti 0, c, 2c, .... drt
dalam cache data pada baris ini. Pembacaan dari baris tersebut
dimulai. Word yang diperlukan dalam blok tersebut diseleksi
menggunakan field WORD dalam alamat memori.
2. Jika tag dalam baris cache tidak cocok dengan field TAG dalam
alamat memori, maka dia adalah MISS. Karena itu, pengontrol
cache mulai melakukan operasi pada memori utama. Semua blok
ditransfer dan disimpan dalam baris cache tersebut menggantikan
blok lama. Memori tag juga diperbarui dengan field TAG dari
alamat memori. Word yang diperlukan dikirim ke prosesor.
llustrasi protokol yang mengatur permintaan word oleh prosesor pada
pemetaan langsung ditunjukkan pada Gambar 8.9.
Berdasarkan teknik pemetaan langsung, MMU (memory monogement I'}anjang bit-bit field dan jumlah bit alamat memori utama adalah:
unit) melakukan translasi alamat yang diberikan oleh prosesor dengan r field untuk word: 1og2 B: log, 8 : logz 23 :3 bit
melakukan pembagian alamat menjadi tiga field seperti yang ditunjukkan . field untuk blok = logz N, : logz 32 =log225 : 5 bit
pada Gambar 8.8. Panjang bit pada setiap field tersebut adalah: . field untuk tag = log, (M/N: log, (2t'/2t): 6 bit
. Jumlah bit pada alamat memori utama adalah : log, (B x fuO
:
a) field untuk word = log2 I di mana I adalah jumlah word dalam blok 1og2 (23 x 211; = 14 6it
b) field untuk blok = logz N, di mana N adalah jumlah baris dalam
memori cache
Tiga bit LSB digunakan untuk mengakses word (A2 - A0); 5 bit untuk
c) field untuk tag = ;eg, (M/NI, di mana M adalah jumlah blok dalam
mengakses baris cache (A7-A3) dan sisanya 6 bit (A13-A8)
memori utama
memberikan field TAG nomor blok.
d) Jumlah bit keseluruhan di dalam memori utama adalah = logz (8 x
Ml
Contoh 8,4
Contoh 8.3
Misalkan sebuah memori utama mempunyai 2K blok, memori cache 32
Sebuah to 2 bit. KomPuter
tersebut mempunyai memori cache 8 KB. Komputer mengikuti pemetaan
baris, dan setiap blok terdiri atas 8 word. Tunjukkan contoh pemetaannya format
langsung. Setiap baris berukuran 16 byte. Tunjukkan alamat
dalam pemetaan langsung.
memori utama dan organisasi memori cache.
Solusi:
Solusi:
Pada Gambar 8.10 ditunjukkan pembagian memori utama dan cache yang
Dengan alamat memori 32-bit, prosesor dapat mempunyai memori utama
menganut teknik pemetaaan langsung. Seperti yang terlihat, terdapat total
4GB. Secara logika dibagi menjadi blok-blok 16 byte. Empat LSB dari
32 blok memori utama yang dipetakan pada baris memori cache. Dengan
alamat memori (A0-A3) memberikan nomor word dalam blok, 28 MSB
menggunakan persamaan l" :
b^^ modulo c , mal<a nomor blok 0, 32, 64
alamat (A31-A4) harus dibagi menjadi field TAG dan field LINE'
..., 20L6 dipetakan pada baris 0 di memori cache; nomor blok 31, 63, 94,
Panjang field LINE dapat diperoleh pertama karena ukuran memori
...2047 dipetakan pada baris 31 di memori cache.
cache diberikan. Memori cache 8 KB, dibagi dengan ukuran baris
rt (ukuran baris 16 byte),
a- Alafrat M r mori Utama -----1, I
8192116: 512
I
30
31
U
F- 126 l
E:mfll
30
31
62
63
93
94 121
2014
201
2046
0123 62 63
alamat memon
ditunjukkan pada Gambar 8.L2. Panjang bit pada setiap field tersebut
r TAG 1 WORD
--;;* *",)[-*u
.1
adalah:
ffi
Sembarang baris cache drgunakan untuk
sembarang blok memori
Pemetaan asosiatif penuh menawarkan fleksibilitas yang tinggi. Suatu
blok memori dapat dipindahkan ke sembarang baris cache. Karena itu,
penggantian blok cache diperlukan hanya jika cache penuh secara total. Hal
ini memberikan kinerja yang lebih baik karena waktu yang digunakan dalam
penggantian berkurang. Tentunya ukuran cache juga memengaruhi
frekuensi penggantian. Dalam pemetaan asosiatif penuh, jumlah baris
Gambar 8.12 Pemetaon ososiotif penuh dalam cache tidaklah tetap.
Contoh 8.5
Misalkan sebuah memori utama mempunyai 2K blok, memori cache 32
baris, dan setiap blok terdiri atas 8 word. Tunjukkan contoh pemetaannya
dalam pemetaan asosiatif penuh.
Solusi:
Gambar 8.L3 Protokoltranslosi olomot pemetoon ososiqtif penuh Terdapat total32 blok memori utama yang dipetakan pada baris memori
cache. Pemetaan word dari salah satu blok di memori utama ke baris
Berdasarkan teknik pemetaan asosiatif penuh, MMU (memory memori cache dilakukan secara bebas.
manogement unit) melakukan translasi alamat yang diberikan oleh prosesor
dengan melakukan pembagian alamat menjadi dua field seperti yang
334 Organisasi dan Arsitektur Komputor Bab I Teknik Manaiemen Momorl 335
2rr blok
brrlc
0
ffi
IeffiqE$s$Eqffi
Effi
@M
!,:*'@ffi
ffi$W
ffiffiffi*ffi
T
Effi**effi
B&Wffi&
Blok 2047
ffi
ffiffi'.ffiffi{I1
tag cache memori utama
ffi
brrls P",fr-ffi#ii'biiJffiit
5ll @Il$llil&llliirilw!
Gambar 8.L4 Pemetoon asosiatif penuh blok memori utqmo ke boris l<- totyte +l
memori coche
k- I byte -----+l
Panjang bit-bit field dan jumlah bit alamat memori utama adalah:
'. fielduntukword = 1og, B :log28 : log2 23 : 3bit Gambar 8,L5 Pemetoon ososiatif penuh-memori utomd 4 GB don memori
fielduntuk tag:log2M:log22rr = 11 bit coche I KB
. Jumlah bit pada alamat memori utama adalah : log, (B x it11 =
log2 (23 x 2rr1 : 14 61,
Tiga bit LSB digunakan untuk mengakses word (A2 - A0) dan sisanya
11 bit (A13-A3) memberikan field TAG nomor blok. 8.6.5 Pemetaan Asosiatif Set
Pemetaan asosiatif set (set ossociotive mappingl menggabungkan
konsep pemetaan langsung dengan pemetaan asosiatif, untuk memberikan
Contoh 8.6 biaya efektif dan kelayakan skema pemetaan yang fleksibel. Jumlah total
Sebuah komputer 32 bit mempunyai alamat memori 32 bit. Komputer baris cache dikelompokkan ke dalam set yang banyak. Setiap set
tersebut mempunyai memori cache 8 KB dan mengikuti pemetaan mempunyai baris jamak (multiple linel dari nomor yang sama. Jika ada /
asosiatif penuh. Setiap baris berukuran l6 byte. Tunjukkan format alamat baris dalam setiap set, maka sistem pemetaan dikenal dengan pemetaan
memori utama dan organisasi memori cache. asosiatif set l-way. Dalam suatu set, blok memori dapat ditempatkan di
Solusi: mana saja dalam / baris. Format alamat memori ditunjukkan pada Gambar
Empat LSB (A0-A3) menetapkan nomor word dalam blok. Sisanya 28- 8.15. Format ini mempunyai tiga field: TAG, SET, dan WORD. Khusus field
bit (A31-A4) memberikan field TAG nomor blok. Ada 228 blok dalam SET menyediakan nomor set.
memori. Karena ukuran baris adalah 16 byte, maka memori cache
336 Organisasi dan Arsitoktur Komputer Bab 8 Teknik Manajomon Monrort 337
Contoh 8.7
Misalkan sebuah memori utama mempunyai 2K blok, memori cache 32
baris, dan setiap blok terdiri atas 8 word. Tunjukkan contoh pemetaannya
dalam pemetaan asosiatif set dengan jumlah blok dalam setiap set adalah
4.
Bab 8 Teknik Manajemon Montort 341
Gambar 8.L8 Pemetaan ososiotif set 4-woy Algoritma Least Frequently Used (LFU): Algoritma ini memilih suatu
blok yang telah digunakan oleh CPU yang paling sedikit. Asumsinya adalah
cara serupa juga mungkin akan terjadi kemudian.
8.5.6 Penggantian Cache
Algoritma Leost Recently Used (LRU): Algoritma ini memilih item yang
Bila suatu alamat yang diakses oleh cpU tidak dipetakan dalam memori
terlama dalam cache tidak (jarang) digunakan. Asumsinya adalah cara
cache, maka pengaksesan dilakukan langsung ke memori utama. Bersama
serupa akan berlanjut dan tidak mungkin dibutuhkan segera. lmplementasi
dengan word yang diperlukan, semua blok ditransfer ke memori cache.
algoritma ini dapat dilakukan dengan menjajaki sejarah penggunaan item
Anggap memori cache sudah penuh, maka beberapa isi memori cache
oleh CPU. Penggunaan sebuah pencacah untuk setiap baris adalah
dihapus untuk membuat ruang bagi entry baru. porsi memori cache yang
merupakan suatu metode sederhana pemenuhan persyaratan.
dihapus untuk pembuatan ruang bagi entry baru merupakan hal yang
penting. Terdapat sejumlah algoritma khusus untuk memaksimalkan hit
rate. Contoh 8.9
Desain suatu rangkaian untuk mengimplementasikan algoritma LRU
Algoritma Penggantian penggantian untuk pemetaan asosiatif set 4-way.
Masalah penggantian adalah suatu hal yang penting bila memori cache
a) Pikirkan suatu cache asosiatif set 4-way. Garnbar 8.19 meng-
penuh dan suatu blok baru dari memori utama harus disimpan dalam anggap sebuah pencacah biner (binary counter) dua bit untuk
setiap blok dalam set. Kita namakan empat blok ini sebagai A, B,
memori cache. Jelas keberadaan suatu blok dari memori cache harus
diganti dengan blok baru. Pada kasus cache pemetaan langsung, kita tidak
C dan D. Pencacah ('pencacah umur') untuk setiap blok
memberikan informasi sejarahnya. Nilai awal ditunjukkan pada
punya pilihan. Blok baru harus disimpan hanya dalam suatu baris cache
Gambar 8.19(a). Nilai pencacah mengindikasikan perluasan
akses ke blok yang merepresentasikannya. Jika nilai pencacah :
yang ditetapkan per aturan pemetaan untuk cache pemetaan langsung.
Untuk pemetaan asosiatif dan pemetaan asosiatif set kita memerlukan
00, artinya blok yang baru saja diakses. Jika nilai pencacah = I 1,
suatu algoritma yang baik karena kita mempunyai beberapa pilihan. Jika
artinya blok yang belakangan diakses.
kita menghapus suatu blok yang akan diakses segera oleh cpU, maka terjadi
miss penalty. Karena itu, diperlukan suatu keputusan cerdas dari suatu
342 Organisasi dan Arsilektur Komputer Bab 8 Teknik Manajemon Momorl 343
Kasus 1: Anggap ada sebuah cache hit untuk blok B. Pencacahnya Write-Through Policy
mempunyai 10 sebagai nilai awal. Sekarang pencacahnya reset. Isi
tidak bertele-tele
W rite-th rough pol icy sederhana da n im plementasinya
pencacah lain dibandingkan dengan nilai awal blok B. Pencacah yang
, tetapi memerlukan satu akses memori utama setiap saat ada keperluan
mempunyai nilai lebih kecil (dari pencacah B) dinaikkan 1. Pencacah lain
penulisan. Karenanya, hal ini memperlambat eksekusi program. Juga
tidak diganggu. Jadi pencacah A dan C dinaikkan sedangkan pencacah D
kadang-kadang terjadi bahwa apa yang disimpan dalam memori utama
tak disentuh. Status yang diperbarui (update) ditunjukkan pada Gambar
hanyalah suatu hasilsementara (intermediote result) yang segera dibawa ke
8.1e(b).
Kasus 2: Anggap ada sebuah cache miss bila status awal ditunjukkan dalam cache atau diperbarui. Sehingga waktu yang tidak dibutuhkan
pada Gambar 8.19(a). Sekarang ada dua kemungkinan: (a) cache penuh digunakan dalam penyimpanan item tersebut dalam memori utama'
(b) cache tidak penuh. Namun, frekuensi penulisan yang sia-sia tersebut bergantung pada tingkah
Sekarang pertama kita menganggap keadaan cache penuh seperti pada laku program aplikasi.
Gambar 8.19(a). Pada pemeriksaan nilai semua pencacah, teramati bahwa
D mempunyai nilai tertinggi 11. Sehingga D adalah blok yang belum
terakses pada masa lalu. Jadi D harus diganti (disimpan ke memori
utama) dan nilai item baru masuk ke sana. Pencacahnya dibuat 00.
Pencacah lainnya dinaikJ<an 1. Nilai yang diperbarui diperlihatkan pada
Gambar 8.19(c).
Selanjubrya mari kita menganggap kasus bila cache tidak penuh
seperti ditunjukkan pada Gambar 8.19(d). Item baru dapat disimpan
dalam suatu baris kosong dan pencacahnya dibuat 0. Pencacah lainnya
dinaikkan 1. Gambar 8.19(e) menunjukkan status yang diperbarui.
344 Organisasi dan Arsiteklur Komputer Bab 8 Teknik Manajemon Mornori 345
/\
HIT
+* MISS
I
Baca, dari memori cache,
word yang dip erlukan
n
Write-back policy Write-through policy
tt
+t
I
Write-through Write-back
I
Suplai ke prosesor
I
?v
Tulis dalam
r-r
Tulis dalam
memori cache, memori cache
policy policy
setM flag
Write-Back Policy
Write-bock policy menghemat waktu karena penulisan dalam memori
utama tidak dilakukan pada setiap waktu operasi penulisan. ltem tertentu
mungkin tidak pernah ditulis dalam memori utama di mana bergantung
pada instruksi selanjutnya. Hanya bila item harus dihapus dari cache, dia
Bace blok dari
ditulis ke dalam memori utama. Apakah penghapusan akan terjadi atau memorl utama
tidak, tidak diketahui saat permulaan. Bergantung pada instruksi-instruksi
selanjutnya.
(alokasi penulisan)
Gambar 8.20(a) mengilustrasikan urutan operasi yang dilakukan oleh
pengontrol cache untuk suatu operasi pembacaan memori oleh CpU.
Gambar 8.20(b) mengilustrasikan urutan operasi penulisan memori oleh Gambar 8.20(b) Uruton penulisan memori
CPU.
berisi karakter M. Karena alamat 1000 telah dipetakan dalam memori Koposltos Memorl Coche: Peningkatan biaya sebanding dengan
cache, maka data ini juga tersedia pada salah satu baris cache. Sekarang kapasitas. Dalam kenyataan, ada biaya tambahan yang tak terlihat karena
anggap pengontrol DMA menulis data hard disk karakter C pada alamat pendekodean dan sirkuit kontrol lainnya. Karena itu, diperlukan untuk
memori utama 1000. Jika diizinkan seperti itu, maka lokasi memori utama menjaga kapasitas memori cache sekecil mungkin.
akan berisi C sedangkan lokasi cache yang sesuai akan berisi M. Karena
ketidaksesuaian (mismotch) tidak dapat diizinkan antara memori utama dan lJkuran Boris Cache.' Jika ukuran baris besar, membantu mengurangi
memori cache, maka suatu logika pemantau bus memeriksa aktivitas jumlah pengaksesan memori utama. Tetapi ukuran baris yang besar
memori (bus) oleh pengontrol DMA (atau prosesor lainnya jika ada). Hal ini mengurangi jumlah blok yang dapat dimuat dalam memori cache. Karena
dikenal sebagai snooping (pengintaian). Pada pendeteksian permulaan dari itu ukuran sebaiknya dipilih setelah studi yang hati-hati dari tingkah laku
suatu urutan penulisan memori untuk suatu alamat yang telah dipetakan sifat untuk berbagai ukuran blok.
dalam memori cache, maka dengan segera pengontrol cache bersiaga Ukuran Set.' Jika terdapat baris yang lebih setiap set, hit rate menjadi
menanyakan untuk membatalkan data dalam memori cahe. Untuk maksud lebih baik. Tetapi ukuran set yang terlalu besar meningkatkan biaya karena
ini, alamat memori dikirim ke pengontrol cache. Pengontrol cache men-set sirkuit bertambah untuk kesesuaian tag.
INVALID flag untuk entry ini. Anggap kemudian CpU telah melakukan
operasi baca memori untuk alamat 1000. Akan ada cache hit untuk alamat
Hit Rate
tersebut, tetapi pengontrol cache tidak menggunakan data cache yang
terlihat pada involid flog stotus. Malahan dia akan mengambil data baru Hit rate idealnya 1 agar setiap pengaksesan memori utama oleh
dari memori utama dan me-load ke dalam cache selain mensuplainya ke prosesor dilayani oleh memori cache dan tidak ada akses memori utama
dalam CPU. yang diperlukan secara keseluruhan. Secara praktis, tidak mungkin hal ini
tercapai dan karena itu dicoba hit rate mendekati 1. Desain yang sangat
Pembilasan Cache buruk menghasilkan hit rate mendekati 0. lni artinya pengaksesan memori
utama sangat banyak. Hit rate 0 artinya semua hasil pengaksesan memori
Segera setelah power-on, tak ada satupun dalam memori cache yang utama oleh prosesor adalah MISS. Walaupun parameter-parameter desain
valid karena tidak ada program yang telah dikerjakan CPU. Karena itu untuk tertentu membantu dalam pencapaian hit rate mendekati 1, tingkah laku
semua baris cache, invalid flag bit harus di-set oleh pengontrol cache. program aplikasi dapat dengan mudah mengganggu hit rate.
Dengan cara yang sama perangkat eksternal dapat meminta CpU untuk
melakukan invalidasi (invalidotion) semua baris cache. pembatalan/ Ma ri kita mengangga p pa rameter-para meter berikut:
invalidasi massal yang demikian dikenal sebagai pembilasan cache (cache h - hit rate
flushingl. Beberapa CPU mempunyai instruksi FLUSH selama pengekse- t (mm) - waktu akses memori utama
kusian operasi flush tersebut dilakukan. t (cm) - waktu akses memori cache
t (bm) - waktu untuk mentransfer suatu blok dari memori utama ke
8.6.9 Kinerja Cache dan Hit Rate memori cache
Desain memori cache dilakukan karena pertimbangan biaya dan kinerja. Kinerja sistem rata-rata diberikan oleh kebalikan dari waktu siklus
Parameter-parameter utama desain memori cache adalah: instruksi rata-rata. Waktu siklus instruksi terdiri atas dua komponen:
1. Kapasitas memori cache 1. Waktu aktivitas coche independent selama siklus instruksi
2. Ukuran baris cache (ukuran blok cache) 2. Waktu pengaksesan coche dependent (pengaksesan memori
3. Ukuran set utama)
348 Organisasi dan Arsitektur Komputer Bab 8 Teknik Manajernon Mornori 349
Jika ukuran blok kecil, t(bm) adalah kecil. prosesor-prosesor saat ini,
mentransfer semua blok dalam satu siklus bus. Misalnya, mikroprosesor
80486 melakukan burst bus cycle untuk tujuan ini. Mikroprosesor pentium
menggandakan lebar datapath eksternalnya untuk tujuan yang sama.
Karena itu kita dapat mengaproksimasi bahwa t(bm) sama dengan t(mm)
dan mengemukakan kembali waktu akses rata-rata t (ma) sebagai berikut:
Perhitungan untuk hit rate 0.98; 0.97;0.96 kita peroleh nilai t(ma) berturut-
Gambar 8.2L Hit rote vs kinerio
turut adalah 1.1 t(cm), 1.15 t(cm) dan 1.2 t(cm). Hal ini menunjukkan bahwa
pengurangan hit rate sedikit meningkatkan waktu eksekusi program yang
besar. Gambar 8.2L menunjukkan hubungan antara hit rate dan kinerja. 8.5.10 Cache Gabung dan Cache Pisah
Proses desain komputer melibatkan simulasi tingkah laku sistem sebelum
Memori cache ada dua jenis:
penyelesaian parameter-parameter cache.
1. Cache-gabung (unified cochel yang menyimpan instruksi dan data.
Mikroprosesor INTEL 80486 mempunyai cache-gabung seperti yang
ditunjukkan pada Gambar 8.22.
2. Cache-pisah (split cochel yang mempunyai cache data dan instruksi
yang terpisah. Mikroprosesor INTEL Pentium mempunyai cache-
pisah yaitu 8 KB untuk instruksi dan 8 KB untuk data seperti yang
ditunjukkan pada Gambar 8.23.
Cache-gabung mudah diimplementasikan tetapi menawarkan hit rate
yang kecil secara khusus pada CPU pipeline di mana akses memori jamak
mungkin diperlukan pada suatu waktu dengan tingkat berbeda seperti
pengambilan instruksi, pengambilan operand, eksekusi, dan penyimpanan
hasil. Bahkan pada CPU sederhana dengan prefetch instruksi, bila CPU ingin
mengambil operand dari memori utama atau menyimpan hasil dalam
1
Bab 8 Teknik Manaiemen Momori 351
Kontrol f
cache L
3:i:*" {
Gambar 8.24(b) Arsitektur coche dua level pada Pentium Pro
Gambar 8.26 Konfigurasifungsionol sebogion pin Mikroprosesor 80485
Ketika mikroprosesor melakukan operasi pembacaan, jika alamat ada Penggantian Cache
(dipetakan) dalam cache, maka terjadi cache hit dan data akan disuplai dari
Bila 80486 menambahkan baris dalam cache internal, pertama dia
on-chip cache. Jika alamat tidak ada dalam cache, mikroprosesor harus
memeriksa apakah ada baris invalid dalam set. Jika terdapat baris invalid
melakukan operasi pembacaan memori eksternal. Jika alamat mempunyai
dalam set (keluar dari empat baris), maka baris invalid diganti dengan baris
porsi memori yang dapat di-cache/cacheable, 80485 melakukan pengisian
yang baru. Jika semua empat baris dalam set adalah valid, maka mekanisme
baris cache. Selama pengisian baris, 15 byte dibaca kedalam 80486 dan
pseudo terkecil yang terakhir yang digunakan untuk memperoleh baris yang
terjadi pengisian baris.
akan diganti.
isasi dan Arsiloklur Kompuler Bab B Teknik Manalomon Monrori 357
mbilasan Cache
0nthip cache dapat dibilas dengan hardware atau software eksternal. Bus alamat
mbilasancache menghasilkan pembersihan semua bit valid untuk semua
\ris dahrn cache. Bus data
program pada harddisk yang mempunyai kapasitas yang lebih besar Mopping by address Scheme dan Segment Mop Toble Scheme. Pada
daripada ukuran memori fisik. Dalam satu waktu, hanya beberapa bagian Associative Mapping Scheme, digunakan suatu memori khusus yang dikenal
program yang dibawa dari harddisk ke dalam memori utama. Pada saat dengan 'associotive memo4/ atau'content oddress memory'. Setiap entry
diperlukan, bagian yang tidak berada dalam memori utama dikirim dari pada memori ini berisi alamat logika dan alamat fisik ekivalen.
hard disk, dan pada saat yang sama, bagian dari suatu program yang berada Pengalamatan memori ini dilakukan menggunakan alamat logika.
dalam memori utama dikeluarkan dari memori utama dan disimpan pada
hard disk. Proses inidikenalsebagai "swopping" (pertukaran). Dalam sistem 8.7.t Keuntungan Memori Virtual
memori virtual, bila suatu program dieksekusi, pertukaran dilakukan setiap
diperlukan pada suatu basis kontinu.
1. Ukuran program tidak dibatasi oleh ukuran memorifisik
2. Pemakaitidak perlu mengestimasi alokasi memori. Alokasi memori
CPU mengambil instruksi dan data dari memori utama. Kapanpun dilakukan secara otomatis sesuai permintaan program.
diperlukan instruksi atau data yang sekarang tidak tersedia dalam memori 3. Manual folding (overlay/ dieliminasi untuk menjalankan program-
utama, maka hardware membangkitkan interupsi khusus dikenal sebagai progam besar.
virtuol memory interrupt atau poge fault. Ketika direspons, sistem operasi 4. Program dapat di-load dalam suatu area memori fisik karena
me-load bagian program (berisi instruksi atau data yang diperlukan) dari program tidak menggunakan alamat fisik.
hard disk ke memori utama. Page fault mirip dengan interupsi tetapi dia
dapat terjadi dalam suatu siklus instruksi. Setelah interupsi page fault 8,7.2 Mekanisme Memori Virtua!
dilayani, CPU akan melanjutkan pemrosesan instruki yang dieksekusi
secara parsial. Untuk mendukung memori virtual, program tidak langsung Ruang alamat CPU adalah rentang alamat valid yang dapat dibangkitkan
mengalamati memorifisik. Bila membaca operand (data) atau instruksi, dia oleh set instruksinya. Jumlah bit dalam register alamat memori menentukan
menyediakan alamat logika dan hardware memori virtual menerjemah- ukuran maksimum ruang alamat. Alamat-alamat fisik merupakan lokasi-
kannya menjadi alamat memori fisik yang ekivalen selama eksekusi. lokasi aktual dalam memori utama. Alamat logika adalah spesifikasi memori
Gambar 8.28 mengilustrasikan konsep memori virtual. Translasi (pener- yang digunakan oleh CPU. Pada kebanyakan komputer, alamat logika dan
jemahan) alamat dilakukan oleh memory monogement unit (MMU). alamat fisik adalah sama. Pada sistem memori virtual, alamat logika
berbeda dengan alamat-alamat fisik aktual.
Unit Alamat logika mempunyai dua bagian. Bagian pertama menentukan
translasi
nomor modul program (nomor segmen atau nomor page). Bagian kedua
alamat -.|'
menyediakan offset atau nomor word pada modul program tersebut yang
menghubungkan ke awal modul tersebut. Sebuah tabel diberikan dalam
Alamat logika
hardware untuk menujukkan porsi (bagian atau modul) program yang
tersedia sekarang dalam memori utama. Tabel ini berisi dua informasi
dasar:
MC -Memori Cache
Calalan:Memori cache tidak perlua ada 1. Porsi (bagian-bagian) program yang ada sekarang dalam memori
utama.
Gambar 8.28 Konsep memorivirtuol 2. Area memori utama di mana bagian program yang tersedia
sekarang disimpan.
Ada beberapa metode yang digunakan untuk translasi alamat atau
pemetaan. Tiga metode yang populer adalah Associotive Mopping Scheme,
360 Organisasi dan Arsitoktur Komputer Bab B Teknik Manajomen Memori 361
Kapanpun suatu instruksi atau operand harus diakses, cpU mencarinya Pada metode segmentasi, pemrogram (bahasa mesin) menyusun
di dalam tabel untuk menemukan apakah dia tersedia dalam memori utama program ke dalam segmen-segmen berbeda. lni adalah pembagian logika
atau tidak. Jika tersedia, maka MMU mengubah alamat logika menjadi program menjadi modul-modul yang berguna. Segmen-segmen berbeda
alamat fisik ekivalen dan kemudian melakukan akses memori utama. tidak mempunyai ukuran yang sama.
sebaliknya, jika instruksi atau operand tidak tersedia dalam memori utama
IBM 360/67 dan Control Data Cyber 180 adalah beberapa pendahulu
maka interupsi dibangkitkan. Hal ini meminta sistem operasi melakukan
dari sistem komputer yang menawarkan memori virtual. Mikroprosesor
swapping atau pertukaran. Bila terjadi swapping, sistem operasi meng-
INTEL 80285 selanjutnya mengusung memori virtual. Mikroprosesor 80286
update tabel ini. Pada saat ini translasi alamat dilakukan dan memori
hanya mengikuti skema segmentasi sementara mikroprosesor 80386 meng-
alamat diakses.
adopsi skema paging dan skema segmentasi.
Karena program mengalamati operand atau instruksi menggunakan
alamat logika, maka hardware memori utama mentraslasikan alamat logika 8.7.3 Paging
menjadi alamat fisik sebelum pengeksekusian. Gambar g.29 menunjukkan
prinsip translasi alamat. Alokasi memori fisik dibagi menjadi page frame yang ukurannya tetap,
di mana sejumlah page proses disimpan dengan merekam informasi pada
sebuah page table. Setiap proses mempunyai page table sendiri yang secara
khas tersimpan pada memori utama, dan page table menyimpan lokasi fisik
Alnmelogikr
masing-masing virtual page proses. Page table mempunyai N baris, di mana
N adalah jumlah virtual page dalam proses. Jika ada page yang prosesnya
sekarang tidak berada dalam memori utama, maka page table mengindi-
kasikannya dengan me-reset sebuah valid bit menjadi "0"; jika page ada di
dalam memori utama, maka valid bit di-set menjadi "1.". Karena itu setiap
entry dari page table mempunyai dua field yaitu valid bit dan frame
number.
Field -field
tambahan sering ditambahkan untuk me-relay informasi
lainnya. Misalnya, dirty bit (atau modify bit) dapat ditambahkan untuk
Gambar 8.29 Meka nisme me mori virtuol mengindikasikan apakah page sudah diubah. Hal ini membuat pengemba-
lian page ke disk lebih efisien, karena jika dia tidak diubah, maka tidak
Ada dua metode yang populer dalam implementasi memori virtual: diperlukan penulisan kembali ke disk. Bit lainnya (usoge bit) dapat
1. Poging ditambahkan untuk mengindikasikan penggunaan page. Bit ini di-set ke "!"
jika page diakses. Setelah periode waktu tertentu, usage bit di-reset ke "0".
2. Segmentation
Jika page diacu kembali, maka usage bit di-set ke "1". Namun, jika bit tetap.
Pada metode paging, software sistem membagi program menjadi "O", ini mengindikasikan bahwa page belum pernah digunakan dalam
sejumlah page. lni tidak dikenal pada sisi pemrogram. semua page dalam periode waktu tertentu, dan sistem bisa beruntung dengan mengirimkan
suatu program berukuran sama. Dalam satu waktu, hanya beberapa page page ini ke disk.
yang ada dalam memori utama. Pada sistem multiprogramming, dalam satu
waktu, beberapa page dari program-program yang berbeda tersedia dalam Page memorivirtual ukurannya sama dengan page frame memorifisik.
memori utama. sisa page dari program-program yang berbeda disimpan Memori proses yang dibagi menjadi page-page ukuran tetap seperti ini,
pada hard disk yang digunakan sebagai memori virtual. dihasilkan dalam fragmentasi internal potensial ketika page terakhir disalin
Bab 8 Teknik ManaJomen Momorl 363
ke memori. Proses sebenarnya tidak dapat menggunakan page frame A. Carl (look up) nomor page di dalam page table (gunakan nomor
keseluruhan, tetapi tidak ada proses lain yang bisa menggunakannya. virtual page sebagai indeks).
Karena itu, memori yang tidak digunakan pada frame terakhir ini secara B. Cek valid bit untuk page tersebut.
efektif terbuang. lni bisa terjadi bahwa proses itu sendiri memerlukan 1. Jika valid bit = 0, sistem membangkitkan page fault dan
sedikitnya satu page dalam keseluruhan, tetapi dia harus menempati sistem operasi harus melakukan intervensi ke:
sebuah page frame keseluruhan ketika disalin ke memori. Fragmentasi a. Lokasi page yang diinginkan pada disk
internal merupakan ruang yang tidak dapat digunakan dalam sebuah partisi b. Cari sebuah page frame yang bebas (di sini bisa
memoriyang diberikan (dalam hal ini, sebuah page). menghapus page "vidim" dari memori dan menyalin
kembali ke disk jika memoripenuh)
Sekarang kita membicarakan bagaimana prinsip kerjanya. Bila sebuah c. Salin page yang diinginkan ke dalam page frame bebas
proses membangkitkan sebuah alamat virtual, sistem operasi harus secara
dalam memori utama
dinamis mentranslasikan alamat vitual ini menjadi alamat fisik dalam d. Perbarui poge toble. (Virtual page hanya dibawa pada
memori di mana data yang sebenarnya berada. (Untuk keperluan penyeder-
nomor frame yang harus dimilikinya dan valid bit pada
hanaan, untuk sementara kita menggangap tidak mempunyai memori page table yang dimodifikasi. Jika ada page "victim",
cache.) Misalnya, darisebuah program viewpoint, kita melihat byte terakhir
valid bit-nya harus di reset ke nol.
dari 10-byte program sebagai alamat 9, anggap instruksi-instruksi l-byte e. Eksekusi resume proses menyebabkan page fault,
dan alamat-alamat 1-byte, dan alamat awal 0. Namun, ketika yang dilanjutkan ke langkah 82
sebenarnya di-load ke memori adalah alamat logika 9 (mungkin sebuah
2. Jika valid bit = 1, page ada dalam memori
referensi ke label X dalam sebuah bahasa rakitan) sebenarnya dapat berada
pada lokasi memorifisik 1239, yang disarankan program di-load mulai pada
a. Ganti nomor virtual page dengan nomor frame aktual
b. Akses data pada offset di dalam page frame fisik
alamat fisik 1230. Harus ada cara mudah untuk dapat mengonversikan dengan menambahkan offset ke nomor frame untuk
alamat logika 9 (atau alamat virtual 9) menjadi alamat fisik 1230. virtual page yang diberikan
untuk menyelesaikan translasi alamat ini, sebuah alamat virtual dibagi Perlu dicatat bahwa jika sebuah proses mempunyai frame-frame bebas
menjadi dua field; page field dan offset field, untuk merepresentasikan di dalam memori utama ketika sebuah page fault terjadi, page yang diambil
offset dalam page di mana data yang diminta berada (disimpan). proses kembali yang terbaru ditempatkan di mana saja pada frame-frame bebas
translasi alamat ini mirip dengan proses yang digunakan ketika kita tersebut. Namun, jika memori dialokasikan untuk proses sedang penuh,
membagi alamat-alamat memori utama menjadi field-field untuk pemetaan
maka sebuah victim page harus dipilih. Algoritma penggantian yang
memori cache. Dan mirip dengan blok-blok cache, ukuran page biasanya
digunakan untuk memilih suatu victim sangat mirip dengan yang digunakan
merupakan pangkat dari 2; ini merupakan ekstraksi sederhana dari nomor pada cache. FIFO, Random, LRU dan semua algoritma penggantian potensial
page dan offset dari alamat-alamat virtual.
lainnya untuk pemilihan sebuah victim page.
Untuk mengakses data yang diberikan pada alamat virtual, sistem Mari kita meninjau sebuah contoh. Anggap kita mempunyai sebuah
melakukan langkah-langkah berikut: ruang alamat virtual 28 word untuk suatu proses yang diberikan (ini berarti
1. Ekstraksi nomor page dari alamat virtual program membangkitkan alamat-alamat dalam rentang 0 sampai 255 atau
2. Ekstraksi offset dari alamat virtual 00h sampai FFh), dan memori fisik 4 page frame (tanpa cache). Anggap juga
3. Translasikan nomor page menjadi nomor page frame fisik dengan bahwa page-page panjangnya 32 word. Alamat-alamat virtual terdiri atas 8
mengakses page table. bit, dan alamat-alamat fisik terdiri atas 7 bit (4 frame dari 32 word masing-
masing 128 word atau 27). Anggap juga beberapa page dari proses telah
364 Organisasi dan Arsileklur Komputot I Bab 8 Teknik Manaiomon Morrrorl 365
dibawa ke memori utama. Gambar 8.30 mengilustrasikan keadaan sekarang 3 blt s blt
dari sistem.
Page I offset
Setiap alamat virtual mempunyai 8 bit dan dibagi menjadi dua field:
Alamat viftua! B bit
page field mempunyai 3 bit yang mengindikasikan 23 page dari memori
virtual QBnt) = 23. Setiap page lebarnya 2s = 32 word, sehingga kita Gambar 8.3L Formot olomot virtuol }-bit dengon ukuron poge 2s = 32 word
memerlukan 5 bit untuk page offset. Karena itu, sebuah alamat virtual 8 bit
mempunyaiformat sepertiyang diberikan pada Gambar 8.31.
3 bit 5 bit
Anggap sistem sekarang membangkitkan alamat virtual 13 = ODh = :|+OOO lirl O11O1
00001101b. Pembagian alamat biner menjadi page field dan offset field.
(Lihat Gambar 8.32), kita lihat page field P = 000b dan offset field 01101b. Alamat Vlrtual I blt
Untuk melanjutkan proses translasi, kita menggunakan nilai 000b dari page
Gambar 8,32 Format olamot virtuol 00001101b = 1.3d
field sebagai indeks ke page table. Perhatikan entry yang ke-O dalam page
table, kita lihat bahwa virtual page 0 memetakan ke page frame fisik 2 =
10b. Jadi alamat fisik yang ditranslasikan menjadi page frame 2, offset 13. 2 bit 5 bit
Catatan bahwa sebuah alamat fisik hanya mempunyai 7 bit (2 bit untuk ;.=loii;l o1lo1
frame, karena ada 4 frame, dan 5 bit untuk offset). Penulisan dalam biner,
menggunakan dua field menjadi 1001101b atau alamat 4Dh = 77d Alamat Flsik 7 blt
ditunjukkan pada Gambar 8.33. Kita juga dapat mencari alamat-alamat ini
dengan cara lain. Setiap page mempunyai 32 word. Kita tahu alamat virtual Gambar 8.33 Formot alomat fisik 7001701b = 77d
diinginkan berada pada page 0, yang berarti dipetakan ke page frame fisik 2.
Frame 2 mulai pada alamat 64. Sebuah offset dari 13 berada pada alamat Mari kita melihat sebuah contoh yang lengkap dalam sistem nyata
77. (tetapi kecil, dan sekali lagi tanpa cache). Anggap sebuah program
panjangnya 16 byte, mempunyai akses ke sebuah memori 8 byte yang
menggunakan pengalamatan byte (ini berarti setiap byte atau word
Page PAGE TABLE Memori Virtual
i."FFnmfi li v6lld t!tL.'i mempunyai alamat sendiri), dan sebuah page panjangnya 2 word (byte).
o
o 2 1
1
Ketika program mengeksekusi, dia membangkitkan string acuan alamat
I o
berikut (alamat diberikan dalam nilai desimal): 0, 1, 2, 3, 6, 7, 70, 1-l. (string
2 o 2 0
3 o 3 1 acuan alamat ini mengindikasikan bahwa alamat 0 yang diacu pertamakali,
4 4 2 kemudian alamat L, kemudian alamat 2, dan seterusnya). Bila alamat 0
5 o
6 o 5 3 diperlukan, maka alamat 0 dan alamat 1 (dalam page 0) disalin ke page
7 3 1 6 frame 2 dalam memori utama (dapat terjadi frame 0 dan 1 memori
7 ditempati oleh proses lain sehingga tidak tersedia). lni adalah contoh
sebuah page fault, karena page dari program yang dikehendaki harus
Gambar 8.30 //ustrosi poging diambil/dibaca dari disk. Bila alamat 1 yang diacu, data sudah ada dalam
memori (sehingga kita mempunyai sebuah page hit). Bila alamat 2 yang
diacu, hal ini menyebabkan page fault lain, dan page 1 dari program disalin
ke frame 0 dalam memori. Hal ini berlanjut, dan setelah alamat-alamat
diacu dan page disalin dari disk ke memori utama, maka keadaan sistem ini
!
366 Organisasi dan Arsltektur Kompuler Bab 8 Teknik Manajemen Memori 367
dapat dilihat pada Gambar 8.34a. Kita lihat bahwa alamat 0 dari program Mari kita melihat lebih dekat lagi pada proses translasi. Anggap
yang berisi nilai data "A", saat ini berada dalam lokasi memori 4 = 100b. sekarang CPU membangkitkan program, atau virtual, alamat 10 = 1010b
Karena itu, CPU harus ditranslasikan dari alamat virtual 0 ke alamat fisik 4, untuk yang kedua. Kita lihat pada Gambar 8.34a bahwa data pada lokasi ini,
dan menggunakan skema translasi yang dibahas di atas untuk mengerjakan "K", berada dalam alamat memori utama 6 =01108. Namun demikian,
hal ini. Catatan bahwa alamat memori utama berisi 3 bit (ada 8 byte dalam komputer harus melakukan sebuah proses translasi khusus untuk
memori), tetapi alamat-alamat virtual (dari program) harus mempunyai 4 menemukan data. Untuk menyelesaikan hal ini, alamat virtual, 1010b dibagi
bit (karena ada 15 byte dalam alamat virtual). Karena itu, pentranslasian menjadi page field dan offset field. Page field panjangnya adalah 3 bit
juga harus mengubah alamat 4 bit menjadi alamat 3 bit.
karena ada 8 page dalam program. lni menyisakan 1 bit untuk offset, ini
benar karena hanya ada 2 word pada setiap page. Pembagian field ini
P.0. 0
{ 0 - 00t( diilustrasikan Gambar 8.34c.
{ . 000r
rg Alamat memori utama
I Ketika komputer melihat field-field ini, ada sebuah cara sederhana
2
0-00O untuk mengubah ke alamat fisik. Nilai page field 101b digunakan sebagai
r-00r
t ?-0r$ indeks ke page table. Karena 101b = 5d, kita gunakan 5 sebagai offset ke
3-$ll
tl {-lf* page table (Gambar 8.34b) dan melihat bahwa virtual page 5 memetakan ke
!.1O1 physical frame 3. Kita sekarang mengganti 5d = 101b dengan 3d = 11b,
s
6*lr0
? - 111 tetapi membiarkan offset-nya sama. Alamat fisik yang baru adalah 110b,
i t? - 1t00
t, r llot seperti yang ditunjukkan pada Gambar 8.34d. Proses ini sukses mentrans-
? t{ - ltlo lasikan dari alamat-alamat virtual ke alamat-alamat fisik dan mengurangi
l1 - lrrr
a. Rr:arrg Alamat Program bit-bit dari empat ke tiga sepertiyang diperlukan.
d. Alamat Fisik
12
Untuk contoh ini, mari menganggap kita mempunyai page table yang
sl wfi r--L.--r ditunjukkan pada Gambar 8.35b. Gambar 8.35c memperlihatkan sebuah
$l ol $l
llilfl
Y v:(
f*x,r I 0ff,rer
\rJl*--.-............J
F'1rT;;*]
L--rrJ L----""-------.,r..-J
tabel yang mengindikasikan berbagai alamat memori utama (dalam basis
10) yang berguna untuk pengilustrasian translasi.
Qtr st0 210
o h- a. Alamat Virtual Alamat Fisik
Anggap CPU sekarang membangkitkan alamat virtual 5459d
gh =
o"L-,
ul (b(D Frame Valid bit 1010101010011b. Gambar 8.35d mengilustrasikan bagaimana alamat ini
n= P ?rgr S 0 frg,r 0,. O-1021 dibagi menjadi page field dan offset field dan bagaimana mengonversikan
UEI 3 l:lO!*-?0{7
ke alamat fisik 1363d = 010101010011b. Pada dasarnya page field 101 dari
iEt ;6 I 3: IS{8.197r
€T o 1r3012.{09}
*: {096 - rtlg
alamat virtual digantikan oleh nomor frame 01, karena page 5 memetakan
?o-
r: I
t
*; J1?0 - 61{3
6:61q{"716,
ke frame 1 (seperti yang ditunjukkan dalam page table). Gambar 8.35e
mengilustrasikan bagaimana alamat 2050d ditranslasikan ke alamat fisik 2.
F o 7:7168-ElSl Gambar 8.35f bagaimana alamat virtual 4100d membangkitkan sebuah
b. Page Table c. AlamaLalamet
page faulU page 4 = 100b tidak valid dalam page table.
r-:-1*%
o101sl001 o10 ooo0000$1 0 | 10ol
*i*- 0ooo0oolo0 Pemilihan ukuran sebuah page yang tepat merupakan hal yang sangat
1
I
Pry.2 sulit. Ukuran page yang besar, page table kecil, agar menghemat ruang
@
01010Icol1 00, 00000000 Fr{l Frut memori utama. Namun demikian, jika page terlalu besar, maka fragmentasi
L 0
internal menjadi sangat buruk. Ukuran page yang lebih besar juga berarti
Fffil Ftaml
d. Alamatvirtual J459
transfer aktual sedikit dari disk ke memori utama sebagai akibat dari ukuran
e. Alamat rdrtual 20J0 f.
dikonvetsikan ke dikonversikan ke
Alamat virtual 4100
yang ditransfer terlalu besar. Namun, jika mereka terlalu besar, prinsip
alamat fisik 1363 elamrt fieik 2 locality mulai dipecah dan kita memboroskan sumber daya dengan transfer
data yang mungkin tidak diperlukan.
Gambar 8.35 Contoh paging dengon memori besor
sampai saat ini kita telah bekerja dengan sebuah contoh sederhana,
8.7.4 Waktu Akses Efektif Paging
kita beranjak ke yang lebih besar lagi, contoh yang lebih realistis. Anggap Pada memori virtual dikenal juga waktu akses efektif (WAE) seperti
kita mempunyai sebuah ruang alamat virtual gK word, sebuah memori halnya pada cache. Terdapat penalti waktu yang berkenaan dengan memori
dengan ukuran 4K word yang menggunakan pengalamatan byte, dan virtual. Untuk setiap akses memori yang dibangkitkan oleh prosesor, harus
sebuah page dengan ukuran LK word (tidak ada cache pada sistem ini, ada dua akses memoi fisik-satu untuk mengacu ke page table dan satu
tetapi kita akan mendapatkan pengertian yang lebih dekat bagaimana untuk mengacu data aktual yang kita ingin akses. Mudah untuk melihat
memori bekerja dan dan pada akhirnya akan menggunakan paging dan bagaimana pengaruh waktu akses efektif ini. Anggap sebuah akses memori
cache dalam contoh-contoh kita), dan sebuah word dengan ukuran satu utama memerlukan 200 ns dan page fault rate L% (99% dari waktu kita
byte. Total alamat virt-ual 13 bit (8K = z'3), di mana 3 bit digunakan untuk mencari page yang kita butuhkan dalam memori). Anggap diperlukan 10 ms
page field (ada 2t3/210 = 23 virtual page), dan 10 digunakan untuk offset untuk mengakses sebuah page yang tidak terdapat dalam memori (waktu
(masing-masing page mempunyai 210 byte1. Rlamat fisik hanya 12 bit (+x
=
10 ms ini termasuk waktu yang diperlukan untuk mentransfer page ke
2t27, di mana 2 bit pertama sebagai page-field (ada 22 page frame daram memori, memperbarui page table dan akses data). Waktu akses efektif
memori utama) dan 10 bit sisanya sebagai offset dalam page. Format untuk untuk suatu akses memori sekarang adalah:
alamat virtual dan alamat fisik ditunjukkan pada Gambar g.35a.
WAE = 0.99(200 ns + 200 ns) + 0.01(10 ms) = 199396 nt
370 Organisasi dan Arsitektur Kompuler
1
Bab 8 Teknik Manalemen Memori
WAE = 1.00(200 ns + 200 ns) = 4gg nt gunakan frame number yang sesuai dan tambahkan offset
untuk menghasilkan alamat fisik.
yang melipatgandakan waktu akses memori. pengaksesan page table
memerlukan sebuah akses memori tambahan karena page table sendiri
6. Jika page tidak ada dalam memori utama, bangkitkan sebuah
page fault dan mulai kembali (restart) akses bila page fault
disimpan dalam memori utama.
selesai.
Kita dapat mempercepat pencarian page table dengan menyimpan nilai
pencarian page yang terakhir ke dalam sebuah cache page table yang
disebut dengan translation look-aside buffer (TLB). setiap entry TLB terdiri
atas sebuah virtual page number dan frame number-nya yang sesuai. suatu
keadaan yang mungkin dari TLB untuk contoh page table sebelumnya
diberikan pada Tabel 8.2.
IIIEI\.IORI UTAI,n
TABEL 8.2 Keodoon TLB untuk Gambor 8.35
Memori Fisik
5 t #
.2
2 0 t!
G
t6
q
1 3
6 PcrbuuiTLB oadpcgc pada
2
msmori fieik
TLB untuk mencari frame dengan penempatan sebuah pasangan yang di- 8.7.6 Segmentasi
cache terakhir (page, frame); atau (2) pada kasus sebuah TLB miss, gunakan
Walau merupakan metode yang paling umum dikenal, paging bukan
page table untuk mencari frame yang sesuai di dalam memori utama
satu-satunya cara untuk mengimplementasikan memori virtual. Metode
(secara khas tentunya TLB diperbarui pada titik). Frame number ini yang kedua yang digunakan oleh beberapa sistem adalah segmentasi'
kemudian digabungkan dengan offset yang diberikan dalam alamat virtual Segmentasi merupakan pembagian ruang alamat virtual menjadi sama,
untuk membuat alamat fisik. page ukurannya tetap, dan ruang alamat fisik menjadi page frame yang
Pada titik ini, alamat virtual telah dikonversikan menjadi alamat fisik ukurannya sama, ruang alamat virtual dibagi menjadi alamat logika, unit-
tetapi data pada alamat belum didapat. Ada dua kemungkinan untuk unit variable-length, atau segmen-segmen. Memori fisik sebenarnya tidak
menemukan data: (1) cari cache untuk melihat apakah data yang tersimpan dibagi atau dipartisi menjadi apapun. Bila sebuah segmen perlu disalin ke
ada; atau (2) pada suatu cache miss, pergi ke lokasi memori utama aktual memori fisik, sistem operasi mencari suatu bagian memori yang bebas yang
untuk mendapatkan data (secara khas tentunya cache diperbarui pada titik cukup besar untuk menyimpan semua segmen. Setiap segmen mempunyai
ini). sebuah alamat bose yang mengindikasikan di mana dia ditempatkan di
dalam memori, dan sebuah bound limit yang mengindikasikan ukurannya.
Gambar 8.37 mengilustrasikan proses penggunaan TLB, paging, dan
Masing-masing program terdiri atas multisegmen, yang sekarang mem-
memori cache.
punyai sebuah segment table bersama sebagai pengganti sebuah page
table. Segment table ini merupakan kumpulan sederhana dari pasangan
base/bound untuk setiap segmen.
Akses memori diterjemahkan oleh penyediaan sebuah nomor segmen
dan sebuah offset dalam segmen. Pengecekan error dilakukan untuk
menjamin offset berada dalam bound yang diinginkan. Jika dia ada, maka
nilai base untuk segmen tersebut (diperoleh dalam segment table)
ditambahkan ke offset yang menghasilkan alamat fisik aktual' Karena paging
berdasarkan pada sebuah blok ukuran-tetap dan segmentasi berdasarkan
pada logical block, maka lebih mudah menggunakan segmentasi untuk
keperluah proteksi dan sharing. Misalnya, ruang alamat virtual dapat dibagi
menjadi sebuah code segment, sebuah data segment, sebuah stack
segment dan sebuah symbol table segment, masing-masing dengan ukuran
yang berbeda. Lebih mudah mengatakan "Saya ingin melakukan share
semua data saya, sehingga membuat data segment saya dapat diakses oleh
siapa saja" kemudian dia mengatakan "OK", di mana page-page data saya
berada, dan sekarang bahwa saya telah menemukan empat page tersebut,
mari membuat tiga page dapat diakses, tetapi hanya setengah dari page
yang keempat yang dapat diakses.
16-brt l6-brt
ffitrffiaffi
=WW
@@&iry
1. Selector 16-bit
Pengalamatan Memori Mode proteksi (Memori Virtuat) 2. Offset 16-bit
Pada mode proteksi, pengalamatan memori sampai 16 MB karena Selellot Offect
80286 membangkitkan alamat 24-bit. Lagi pula, dia menawarkan ruang r-l-'rr--l---r
alamat virtual 1 GB untuk setiap tugas yang dipetakan oleh g02g6 menjadi
ruang alamat riil 16 MB. program yang ditulis dalam mode proteksi
menggunakan alamat-alamat virtual. Mode proteksi mengisolasi program
pemakai (user program) yang berbeda dengan menyediakan proteksi
memori yang juga menjamin privasi setiap program dan data. Gambar g.40
menunjukkan mekanisme pengalamatan memori dalam mode proteksi.
Pada mode proteksi, selector tidak langsung menyediakan alamat start
segmen. Bahkan dia menunjuk pada suatu lokasi memori di mana alamat
start segmen disimpan. Lokasi ini adalah bagian dari segment descriptor
bagisegmen.
selektor (pada register segmen) menyediakan indeks untuk memory Pemilih s?gmen IIak akses Alamat dasar scgmen Ukwan scgmen
resident toble yang dikenar sebagai segment Descriptor roble (sDT) yani
berisi segment descriptor untuk semua segmen. segment descriptor
menjaga alamat dasar (start) segmen untuk semua segmen yang
sedang
ada dalam memori utama. Dia juga mempunyai atribut rain untuk DS
,.gr"n
seperti ukuran segmen, hak akses (tipe proteksi) dan status keberadaan ss
atau ketidak-beradaan dalam memori utama. selector digunakan ES
untuk
mengakses segment descriptor (pada sDT) dari segmen yang
sekarang Register-register segmen Register-re gister cache sc gment desc riplor
diperlukan dan memperoreh aramat dasar segmen jika segmen yang \-Y_____J
diperlukan sedang berada dalam memori utama. offset 16-bit pada
alamat visible to program invisible to program
logika ditambahkan ke dalam alamat dasar segmen untuk memperoleh
alamat fisik. Jika segmen yang diperlukan tidak tersedia dalam
memori Gambar 8.42 Penggunoon 'descriptor cqche'
utama, hal ini diketahui dari segment descriptor. Karena itu bila SDT
diakses, maka suatu interupsi yang dikenar dengan pengecuarian .segment
not present' dibangkitkan oleh MMU. prosesor men-switch ke sistem 8.7.8 Mekanisme MemoriVirtual lnte! 80386
operasi yang me-load segmen yang diperlukan dari memori sekunder Mikroprosesor 80385 mempunyai tiga mode operasi:
ke
memori utama dan juga memperbarui segment descriptor pada
SDT.
1. Mode alamat riil (mode riil)
Pembaca akan kaget memperhatikan bahwa setiap pengaksesan
2. Mode proteksi
memori utama (baca/tulis) dalam siklus instruksi melibatkan segment
descriptor di mana dia sendiri ada dalam memori utama. Akses memori
3. Mode virtual8085 (V86 mode)
utama (baca) tambahan ini jelas adalah sebagai advising alamat dasar Mode alamat riil: Mode ini mengemulasi prosesor 8086, dengan
segmen. Hal ini menyebabkan penalti berat terhadap waktu beberapa fitur tambahan (seperti kemampuan untuk keluar dari mode ini).
eksekusi
instruksi' Namun, suatu teknik yang digunakan untuk mengeliminasi penalti Halini mirip dengan mode rii|80286.
tersebut pada hampir semua pengaksesan adarah dengan menggabungkan Mode proteksi: Pada mode ini, seluruh instruction set dan fitur 80386
'cache' dalam prosesor. Mikroprosesor g02g6 mempunyai suiiu register tersedia. Fitur-fitur utama adalah multitasking, proteksi memori, paging dan
'segment desffiptor coche' untuk masing-masing dari
empat jenis segmen operasi-operasi isti mewa.
(code, doto stack, dan extro). segera setelah nilai
selector di-load ke datam
register segmen, 80286 secara otomatis membaca segment Mode virtua! 8085: lni merupakan mode khusus dalam mode proteksi.
descriptor dari
sDT dalam memori utama dan me-road ke daram register ,segment Mode ini menawarkan proteksi dan manajemen memori (tidak seperti
descriptor cache'yang sesuai sebagai suatu persiapan seberumnya. mode alamat riil) untuk pengembangan program pada 8088. Prosesor dapat
Untuk
semua pengaksesan memori berikutnya dalam segmen, prosesor membaca memasuki mode virtual 80886 dari mode proteksi untuk menjalankan suatu
dari register'segment descriptor cache' internal dan bukan dari sDT program yang ditulis untuk prosesor 8086, kemudian meninggalkan mode
dalam
memori utama. Jadi, cache kecil dalam MMU mempercepat proses virtual 8086 dan masuk kembali ke mode proteksi untuk melanjutkan
translasi
alamat. Gambar 8.42. menunjukkan empat register 'segment descriptor program yang menggunakan set instruksi 32-bit.
cache' dihubungkan ke empat segmen. lni jelas bahwa hal ini merupakan
register internal murni yang tak dapat diakses oleh program.
I Bab 8 Teknik Manajomon Momori 381
Bila paging unit tidak di-enable, alamat linier dihubungkan ke alamat fisik.
Gambar 8.45 Tronslosi alomot dua level podo mikroprosesor 80386/80486
Gambar 8.43. mengilustrasikan translasi alamat yang digunakan oleh g03g6.
Alamat linier
Alamat virtual 32-bir
Alamat fisik
32-bit
Mekanisme Paging
Alamat logika
Masukan untuk mekanisme paging adalah alamat linier. Semua tiga
drberikan oleh prd
field dalam alamat linier digunakan sebagai offset oleh mekanisme paging.
Mekanisme poging menggunakan dua level dari tabel untuk mentraslasikan
Gambar 8.4t Segmentasi don poging-go3g6 alamat linier menjadi alamat fisik. Tabel tersebut adalah:
Gambar 8.44 menunjukkan format alamat. Alamat logika mempunyai 7. Page directory yang berisi alamat start dari page table dan
dua bagian: (a) selector (b) offset. selector berada daram register segmen. informasi kontrol untuknya.
offset dikalkulasi oleh prosesor dengan penjumrahan field -field bose, index, 2. Page table yang berisi alamat start dari page frame dan infor-
dan displacement pet mode pengalamatan. Unit segmentasi mentraslasikan masi kontrol untuknya.
alamat logika menjadi alamat linier. Jika paging di-enable, maka paging unit
Ukuran page adalah 4KB dan semua tabel juga 4 KB. Gambar 8.46
mentranslasikan alamat linier menjadi alamat fisik. Jika paging di-disable,
menunjukkan mekanisme paging. Register CR3 berisi alamat fisik start dari
maka alamat logika sama seperti alamat fisik. Gambar g.45 menunjukkan page directory. Pada alamat ini, field 'directory' dalam alamat linier
translasi alamat dua level. Translasi level pertama serupa dengan ditambahkan. Hasilnya menunjuk ke suatu entry dalam page directory.
mekanisme segmentasi dalam 80386.
Karena itu dengan pengaksesan page directory, alamat awal (start) page
table yang diperlukan sekarang didapatkan. Pada alamat ini, field 'table'
Alamat logika
dalam alamat linier ditambahkan. Hasilnya menunjuk ke suatu entry dalam
page table. Entry ini menyediakan alamat fisik start dari page frame. Pada
Alamat linier alamat ini, 'offset' dalam alamat linier ditambahkan. Hasilnya adalah alamat
fisik 32-bit.
Alamat fisik
Mcmori fisik
Alamat fisik
ffi
ru
ffill#sltltiiitffiffit
ffiffi
&ffisi&}fiffifr&ll
ffi
ffi
ffi
l@
PAGE TABLE AJamat awal (start) Page Page
Pagefmne dircctory table
Alamat awal (start)
Page table
Gambar 8.47 Pengguanaan TLB
Gambar 8.45 Mekonisme poging podo mikroprosesor 80i86/80486
Peranan Sistem Operasi
Translation Lookaside Buffer Sistem paging pada mikroporsesor 80386 dikenal dengan demand
paging karena suatu page dikeluarkan ke memori utama bila diperlukan.
Dengan adanya dua level acuan tabel yang diperlukan untuk menentu-
Sistem operasi melakukan tugas-tugas berikut:
kan alamat fisik, maka diperlukan dua pengaksesan memori karena semua
tabel berada dalam memori utama. Hal tersebut akan menurunkan kinerja 1. Men-set page table
yang besar jika diimplementasikan seperti itu. Untuk memecahkan masalah 2, Men-set page directory
ini, mikroporsesor 80386 mempunyai sebuah dedicated cache yang dikenal 3. Me-load register CR3
dengan tronslotion lookaside buffer (TLB). TLB ini adalah entry cache 4. Membilas TLB ketika suatu perubahan dibuat untuk suatu page
memory 32-bit. Setiap entry menyimpan sebuah page table entry. table entry
Mekanisme TLB secara ototmatis menjaga 32 page table entry yang paling 5. Mengimplentasikan kebijakan swapping (algoritma penggantian)
sering digunakan. Karena setiap page berukuran 4 KB, alamat fisik 128 KB 6. Menangani page fault
dicakup oleh 32 entry TLB. TLB pada prosesor 80386 memberikan hit rate
95%, sedangkan TLB pada prosesor 80485 memberikan hit rate 98%. TLB 8.8 MEMORI ASOSIATIF
adalah merupakan memori cache asosiatif set dengan 4-way. Gambar 8.47
menunjukkan penggunaan TLB. Dari alamat linier, TLB memberikan hit atau Memori asosiatif dikenal juga dengan Content Addressoble Memory
miss. Pada kasus hit, TLB mensuplai alamat page frame. Pada kasus miss, (CAM). Dia berbeda dengan memori lainnya seperti RAM, ROM, disk dan
mekanisme paging diaktifkan. Jika page yang diperlukan tidak ada dalam yang lainnya yang alamiah dalam pengaksesan dan pembacaan isi memori.
memori utama, 'page fault' terjadi sebagai sebuah interupsi. Page fault Pada memori lain, alamat diberikan sebagai input untuk pembacaan suatu
dapat juga terjadi pada page directory atau page table. Sistem operasi lokasi. Pada kasus memori asosiatil biasanya suatu bagian dari isi atau
menangani page fault dengan membawa entry yang diperlukan dari memori semua isi digunakan untuk pengaksesan isi. Diberikan sebuah orgument
sekunder ke memori utama dan dia memperbaruitabel. sebagai input, memori cache dapat mencari dan melaporkan apakah dia
mempunyai argument ini dalam suatu lokasi. Memori asosiatif mencari
semua lokasi secara simultan dalam paralel. Dia berguna sebagai memori
t
384 Organisasi dan Arsileklur K0mpul0r
Bab 8 Teknik Manajomon Momori 38s
Argument
iflput regisEr
Key regisbr
MaEh rugisEr
W
ffi
ffi
Read
output
Write
Item yang ditemukan pada memori cache disebut cache hit. Jika terjadi
sebaliknya disebut cache miss di mana jika terjadi cache miss maka prosesor
harus mengaksesnya ke memori utama. Cache hit yang lebih sering terjadi,
Dua parameter memori utama yang sangat penting pada komputer: lebih baik karena setiap terjadi 'miss' maka harus dilakukan pengaksesan
kecepatan dan kapasitas. Kecepatan memori utama lebih lambat daripada
memori utama. Waktu yang digunakan untuk membawa item yang
prosesor. Kapasitas fisik memori utama terbatas karena faktor harga. Teknik diperlukan dari memori utama dan menyuplainya ke prosesor disebut
sebagai 'miss penalty'. Jika memori cache penuh, maka beberapa item
memori virtual membantu menjalankan program yang panjang dengan
dihapus untuk pembuatan ruang bagi entry baru. Pengeluaran suatu bagian
ruang memori utama yang terbatas sedangkan fluktuasi ketidaksesuaian
kecepatan diatasi dengan mengikuti teknik-teknik seperti prefetch instruksi,
dari memori cache adalah berdasarkan pada suatu algoritma khusus dan
interleave memori, buffer tulis dan memori cache. dapat memperbesar hit rate. Hit rate (disebut juga hit ratio) menyediakan
bilangan jumlah akses yang dihadapi 'cache hit' terhadap total jumlah
Tujuan prefetch instruksi adalah untuk menerima instruksi berikutnya akses. Memori cache ada dua jenis: cache-gabung (unified cache) dan
dari memori utama, lebih awal, ketika instruksi yang ada sekarang sedang cache-pisah (split cache). Beberapa komputer menggunakan dua level atau
dieksekusi. Hal ini dicapai dengan suatu set dari 'prefetch buffer'di mana tiga levelsistem memori cache.
instruksi yang diambil sebelumnya (lebih awal) disimpan. Prefetch instruksi
adalah sebuah fitur hardware dan program tidak mengetahuinya.
Ada tiga metode pemetaan memori cache yang populer. Direct
Mapping, Fully Associative Mapping dan Set Associative Mapping. Jika
Memory interleoving adalah suatu teknik reorganisasi memori utama sebuah blok memori utama akan disimpan, baris cache di mana blok
menjadi modul-modul independen agar semua bandwidth ditingkatkan tersebut harus ditulis ditentukan oleh fungsi pemetaan. Dengan cara yang
berlipat ganda. lnterleave memori n-way menghadirkan bandwidth n-kali sama, jika CPU membaca dari lokasi memori utama, pengontrol cache
bandwidth yang non-interleaving. menggunakan fungsi pemetaan untuk mengidentifikasi baris cache di mana
Secara fungsional, buffer tulis adalah kebalikan dari prefetch instruksi. blok memori utama disimpan. Selama operasi tulis, ada dua strategi yang
Buffer tulis menyebabkan CPU menjadi terbebas dalam melakukan diperbolehkan yaitu write-through policy dan write-back policy.
penulisan memori. CPU mengeluarkan informasi mengenai siklus tulis Jika memori cache sudah penuh, maka beberapa isi memori cache
memori ke buffer tulis dan mendahului siklus instuksi berikutnya. Buffer harus dihapus untuk membuat ruang bagientry baru. Masalah penggantian
tulis menunggu hingga memori bebas dan melakukan operasi penulisan adalah suatu hal yang penting. Hal ini dilakukan bila memori cache penuh
memori dengan menerima informasi dari buffer tulis dan suatu blok baru dari memori utama harus disimpan dalam memori
Memori cache adalah suatu buffer tengah antara CPU dan memori cache. Algoritma penggantian tertentu telah dicoba dan dipelajari
utama. Tujuannya adalah untuk mengurangi waktu tunggu CPU selama efisiensinya. Beberapa di antaranya adalah algoritma rondom choice:
pengaksesan memori utama. Sebagian program dan data sebelumnya Algoritma ini memilih baris cache secara acak tanpa suatu acuan pada
dibawa ke dalam memori cache. Pengontrol cache menjaga lokasi memori frekuensi penggunaan sebelumnya. Algoritma First-ln First-Out (FIFO):
utama yang akan disalin pada memori cache pada waktu yang diberikan. Algoritma ini memilih set yang telah berada pada cache dalam waktu yang
Bila CPU memerlukan suatu instruksi atau operand, dia menerimanya dari lama. Dengan kata lain, blok yang dimasukkan dalam cache pertama
memori cache fiika tersedia) sebagai pengganti dari pengaksesan memori didorong keluar pertama. Asumsinya adalah bahwa item yang baru saja
utama. Jadi, akses memori selesai dalam waktu yang singkat sehingga dimasukkan mungkin yang akan diperlukan. Algoritma Leost Frequently
memori utama tampak seperti memori yang cepat. Namun, jika item yang Used (LFU): Algoritma ini memilih suatu blok yang telah digunakan oleh CPU
diperlukan tidak ada di dalam memori cache, maka dilakukan pengaksesan
yang paling sedikit. Asumsinya adalah bahwa cara serupa juga mungkin
ke memori utama. Kapasitas memori cache sangat kecil karena mahal akan terjadi kemudian. Algoritma Leost Recently Used (LRU): Algoritma ini
(dibandingkan dengan memori utama).
*i
388 0rganisasi dan Arsitektur Komputer
Bab B Teknik Manajomon Memori 389
17. lnstruksi sekarang yang diambil dari cache dapat diperlukan kembali 35. Ada dua metode yang populer dalam implementasi memori virtual,
dengan segera, disebut yaitu: (1) paging, dan (2)
18. lnstruksi-instruksi dalam cache yang berdekatan dengan current
instruction dapat diperlukan segera, disebut
19. Ada tiga metode popular dalam teknik pemetaan memori cache yaitu:
(1) pemetaan langsung (direct moppingl, (2) pemetaan asosiatif penuh
(fully ossociotive mopping), dan (3) 1. Sebuah memori mempunyai waktu akses 20 ns. Hitung perolehan
20. Jika alamat memori yang dicari CPU ditemukan (terpetakan) dalam kinerja karena prefetch instruksi (instruction prefetch), anggap bahwa
cache, disebut L0% dari instruksi adalah instruksi branch.
21. Jika alamat memori yang dicari CPU tidak ditemukan (terpetakan) 2. Sebuah CPU mempunyai ruang memori 1 MB. Rancang memori
dalam cache, disebut interleaving 4-way dengan waktu siklus lC memori 20 ns. Hitung
22. Bilangan yang menunjukkan jumlah akses yang ditemukan di dalam bandwidth efektif.
memori cache terhadap jumlah akses keseluruhan, disebut 3. Sebuah memori mempunyai waktu akses 50 ns. Hitung perolehan
23. Blok memori utama yang hanya dapat dipetakan pada satu baris khusus kinerja karena buffer tulis (write buffer) jika siklus memori untuk baca
(spesifik) di dalam cache, disebut pemetaan dan tulis berada dalam ratio 3:1
24. Blok memori utama dapat dipetakan pada sembarang baris di dalam 4. Sebuah memori cache kecepatannya 10 kali lebih cepat dari memori
cache, disebut pemetaan utama. Hit ratio adalah 0.9.
25. Jika memori cache sudah penuh, maka beberapa isi memori cache a) hitung peningkatan kinerja pada fetch instruksi karena memori
diganti/dihapus untuk membuat ruang bagi entry baru, disebut cache. Anggap MISS terjadi pada perpindahan informasi pertama
26. Waktu yang digunakan untuk membawa item yang diperlukan dari dari memori utama ke cache dan kemudian dari cache ke CPU.
memori utama dan menyuplainya ke CPU karena tidak tersedia dalam b) Telah diamati bahwa dengan dua kali ukuran memori cache
memori cache, disebut kejadian MISS setengah. Berapa peningkatan kinerjanya?
27. Algoritma penggantian cache yang memilih suatu blok yang paling 5. Sebuah memori utama komputer terdiri atas 1024 blok yang masing-
jarang digunakan oleh CPU, disebut masing 255 word. Memori cache mempunyai delapan set masing-
28. Algoritma penggantian cache yang memilih suatu blok yang paling lama masing empat blok. Tentukan filed TAG, SET dan WORD pada alamat
berada di dalam cache, disebut memori.
29. Kebijakan penulisan cache ada dua cara yaitu: (1) write-through policy, 5. Sebuah komputer mempunyai memori utama 54 MB dan memoricache
dan (2) 32 KB. Setiap baris dalam memoricache menyimpan 8 byte.
30. Keb'rjakan penulisan cache di mana penulisan hasil dilakukan dalam a) Tunjukkan format alamat memori untuk pemetaan langsung,
memori utama dan memori cache, disebut pemetaan asosiatif penuh, pemetaan asosiatif set 8-way.
31. Memori cache ada dua jenis, yaitu: (1) unified coche, dan (2) b) Berapa jumlah baris yang terdapat dalam cache.
32. Unified coche adalah memori yang menggabungkan antara (1) 7. Sebuah memori cache asosiatif set 2-way berisi empat set. Memori
dan (2) utama mempunyai 2K blok yang masing-masing terdiri atas delapan
33. Pada memorivirtual dikenal (1) alamat logika, dan (2) alamat word.
-
34. Alamat logika mempunyai dua bagian. Bagian pertama menentukan a) Tunjukkan format alamat memori utama yang mengizinkan kita
nomor modul program (nomor segmen atau nomor page). Bagian untuk memetakan alamat dari memori utama ke memori cache.
kedua menyediakan atau nomor word pada modul program Berikan field dan ukurannya masing-masing.
tersebut yang menghubungkan ke awal modul tersebut.
I Bab 8 Teknik Manajemen Memori 393
392 Organisasi dan Arsiteklur Komputer
asosiatif set. Kapasitas setiap blok adalah 54 byte. Kapasitas set adalah 0
15 blok.
a) Berapa jumlah baris dalam memori cache? 15. Anggap sebuah page table proses berisi seperti pada tabel berikut.
b) Berapa jumlah set dalam memori cache? Gunakan format yang ditunjukkan pada Gambar 6.15a, tunjukkan di
c) Berapa bit yang dibutuhkan untuk tag? mana page proses ditempatkan di dalam memori.
d) Anggap prosesor melakukan operasi fetch instruksi dari alamat
memori utama 3FB0Ah. Pada set berapakah item tersebut Vqlld
dipetakan di dalam memori cache?
:".F$!']
--::
' Bir
0
LL, Sebuah komputer mempunyai memori utama 16M8. Memori cache d 1
a. Tentukan panjang medan (field) word, medan set dan medan tag CI
0
1
Ada beberapa pertimbangan sehingga peripheral tidak dihubungkan 2. Modul software disebul "l/O drivef' yang menyampaikan ber-
secara langsung dengan sistem bus antara lain: bagai perintah ke pengontrol l/O untuk melakukan sejumlah
r operasi l/O (Gambar 9.2).
Karena beberapa peripheral menggunakan metode operasi yang
beragam, maka tidak akan cocok menggabungkan logika prosesor
untuk mengontrol berbagai perangkat peripheral
. Transfer data peripheral lebih lambat dibandingkan prosesor atau
memori, tidak cocok jika menggunakan bus sistem yang berkece-
patan tinggi untuk berkomunikasi langsung dengan peripheral.
. Pada sisi lain pemindahan data oleh peripheral lebih cepat
Ilardwarc
dibandingkan dengan memori atau prosesor. Ketidakcocokan ini Gambar 9.2 Hubungan l/O driver dan perongkat
membuat kinerja yang kurang efisien.
. Peripheral biasanya menggunakan format data yang berbeda
dibanding komputer tempat peripheral terpasang. 9.1.1 Pengontrol Perangkat
. Pengontrol l/O mempunyai dua fungsi utama: Antarmuka antara perangkat peripheral ke inti sistem dapat dilakukan
dengan menggunakan pengontrol perangkat. Hubungan pengontrol
atau sentral swicth. perangkat ke CPU atau memori adalah melalui bus. Pada Gambar 9.3
diberikan diagram blok yang menunjukkan hubungan berbagai unit-unit
Pada bagian ini difokuskan pada komunikasi antar sistem komputer dan fungsional hardware ke bus. Pengontrol perangkat diantarmukakan ke bus
teknik-teknik l/O. sistem pada satu sisi dan perangkat peripheral di sisi lain. Kedua sisi ini
berturut-turut disebut antarmuka sistem dan antarmuka perangkat seperti
yang ditunjukkan pada Gambar 9.4.
9.1 PENGONTROL l/O dan l/O DRIVER
lstilah "antarmuka" diartikan sebagai sinyal-sinyal yang terdapat antara
Setiap komputer didukung oleh sejumlah perangkat peripheral. Untuk dua subsistem dan protokol komunikasi antara subsistem. Antarmuka
menggunakan perangkat peripheral, dibutuhkan dua modul yaitu: sistem mengandung sinyal-sinyal antara inti sistem dan pengontrol l/O.
1. Modu! hardware yang disebut "Pengontrol lfO" yang melakukan Sinyal-sinyal ini ditentukan oleh CPU. Antarmuka perangkat mengandung
antarmuka perangkat peripheral ke inti sistem (CpU/memori, sinyal-sinyal antara pengontrol l/O dan perangkat l/O. Antarmuka perang-
lihat Gambar 9.1). kat tergantung jenis perangkat. Contoh antarmuka perangkat antara lain:
RS-232C, antarmuka centronics, SA450, 5T-506, SCSI, lDE, USB, Firewire.
BUS
s Ada dua jenis antarmuka perangkat: antarmuka serial dan antarmuka
I paralel. Pada antarmuka serial (Gambar 9.5), hanya ada satu saluran data
s
T dan bit-bit data dalam suatu byte ditransmisikan bit demi bit (satu per satu
E
secara serial). Contoh RS-232C. Antarmuka paralel (Gambar 9.6) menyedia-
M
kan delapan saluran data secara paralel supaya delapan bit data (byte)
Gambar 9.1Hubungon pengontrol l/O don perangkot ditransmisikan dari sistem secara serempak/simultan, contoh antarmuka ini
adalah centronics.
398 Organisasi dan Arsitektur Komputer Bab 9 Organisasl lnpuUOulput 399
Pengontrol divais
llr r--l II it
I I
Gambar 9.3 Unit-unit fungsionol dan bus I u"ol**d B,,trl,cd Dumb Smart Device
tuoggal
Devlce
jamalc
Sinyal-Sinyal Kontrol
Setiap sinyal kontrol menentukan informasi/tindakan kontrol yang
khusus pada perangkat. Pada dasarnya ada tiga jenis sinyal kontrol:
Sinyal-Sinyal Status
Setiap sinyal status mengindikasikan suatu kondisi spesifik perangkat.
Ada tiga jenis sinyal status:
_
Bab g Organisasl lnpuUOutput
,_. 405
muka antara pengontrol
(Basic lnput output dan program aplikasi. lstilah ,,B,OS,,
control,R;ranekat
Systerf ,"rrr;Ikkan Desain Hardwired
kumpulan dari l/o driver.
Pada metode ini, desain perangkat
keras pengontror mempunyai sirkuit
yang menggunakan komponen-komponen
hardware yang siandar. pada
umumnya pengontrol perangkat yang lama
termasuk dalam jenis ini.
+4
opJoa. op.l*a
Gambar 9.15 Formot instruksi lN
Gambar 9.L2 Pembocoon dori port input
4
t
Opcode op.l,*a
Gambar 9.16 Format instrukiOUT
dengan Direct l/o atau t/o mopped t/o. pada skema tersebut
port t/o
diperlakukan berbeda dengan lokasi memori dan program menggunakan Gambar 9.L8 Direct l/O
instruksi lN dan oUT untuk berkomunikasi dengan port-port. Terdapat
skema lain yang dikenaldengan memory mapped l/o. pada skema ini, port- 9.3 TRANSFER SINKRON DAN ASINKRON
port l/o diperlakukan seperti layaknya lokasi-lokasi memori. Karena itu
instruksi lN dan our tidak digunakan. Ketika dua unit harus berkomunikasi satu dengan lainnya untuk transfer
Mikroprosesor tidak harus
mengetahui apakah yang diakses tersebut adalah lokasi memori atau port data, biasanya salah satunya menjadi mqster dan satunya lagi menjadi
l/o. Hanya program saja yang sadar akan hal ini. Total ruang alamat s/ove. Transfer data satu word dilakukan dalam satu perioda clock atau
mikroprosesor didistribusikan ke dalam ruang alamat kadangkala lebih dari satu perioda clock. Ada dua jenis transfer data
l/o dan ruang alamat
memori' Karena itu, kapasitas memori efektif berkurang sebanyak ruang bergantung pada mekanisme dari pewaktuan data: sinkron dan asinkron.
alamat yang dialokasikan untuk port-port t/o. Gambar 9.17 dan Gambar Transfer sinkron memungkinkan di antara dua unit masing-masing
9.18 mengilustrasikan konsep memory mapped l/o dan Direct l/o. pada mengetahui tingkahlaku satu sama lain. Transfer asinkron mengizinkan
suatu komputer, skema-skema yang digunakan dapat beragam. Misalnya komunikasi antara dua jenis unit yang tidak dikenal.
pada IBM PC, menggunakan skema direct l/O, walaupun lntel gOgg mampu
mendukung kedua skema tersebut. 9.3.1 Transfer Sinkron
Pada transfer metode sinkron, pengiriman dan penerimaan unit adalah
Alamatl/O disuplai dengan sinyal clock yang sama. Master melakukan suatu urutan
aksi untuk transfer data dalam urutan yang telah ditetapkan sebelumnya;
setiap aksi adalah sinkron terhadap tebing naik atau tebing turun dari clock.
Alamat memori Master didesain untuk mensuplai data pada suatu waktu ketika slave
dinyatakan siap untuk itu. Jika diperlukan, master akan mengawali dengan
delay yang cukup untuk menjaga respons yang lambat dari slave, tanpa
(a) sinyal-sinyal CPU $) Pembagian ruang alamat permintaan slave. Bila master mengirim data ke slave, data ditransmisikan
oleh master ta npa mengha ra pkan penga kua n (ocknow ledge me ntl da ri slave
Gambar 9.L7 Memory mapped l/O sebagai tanda terima/respons. Dengan cara yang sama, bila master
membaca data dari slave, slave tidak menginnformasikan bahwa data telah
ditempatkan atau master tidak memberikan pengakuan bahwa dia telah
membaca data. Baik master maupun slave melakukan 'penempatan' dan
'penerimaan' data pada tebing sinyal clock yang telah ditetapkan. Karena
410 0rganisasi dan Arsitektur Komputer
Master menghapus alamat dan sinyal baca pada tebing naik clock
berikutnya dan slave juga menghapus datanya pada tebing itu. Operasi
pembacaan semuanya dilakukan dalam satu periode clock. Gambar 9.20
menunjukkan diagram pewaktuan untuk operasi penulisan sinkron. Master sinkron
Gambar 9.20 Diagram pewaktuon operositulis tronsfer
menempatkan tiga macam item berikut pada tebing naik clock:
1. Alamat slave
2. Data
3. Sinyaltulis
Slave memperoleh data sebelum akhir dari siklus clock karena itu master
menghapus semua sinyal-sinyalnya pada clock berikutnya. Jika slave tidak
dapat merespons dalam suatu clock karena waktu responsnya tinggi, maka
master mengizinkan siklus transfer data untuk menyebarkan pada periode
clock jamak. Gambar 9.21 menunjukkan suatu operasi baca sinkron siklus
jamak.
Sru pcriodr cloc&
menerima data dari saluran data. Gambar 9,22 menunjukkan suatu unit Gambar 9.22Transfer doto osinkron inisiasi sumber
yang diinisiasi transfer asinkron. Sumber menjaga delay pewaktuan yang
tepat antara sinyal-sinyal data aktual dan ACCEpT srRoBE. Dia menempat-
kan data pertama, dan setelah beberapa delay, kemudian membangkitkan
sinyal srRoBE. Dengan cara yang sama, sebelum penghapusan data dia
menghapus strobe dan setelah beberapa delay dia menghapus data. Dua mengindikasikan data
leading dan trailing akhir delay ini, menjamin transfer data antara dipedukan sekarang
pembangkitan dan penerimaan akhir. Unit destinasi (tujuan) (a) Diagram blok
iuga dapat
memulai transfer data dengan mengirimkan sebuah REeUEST STROBE ke
unit pengiriman seperti yang ditunjukkan pada Gambar 9.23. Ketika stobe
respons, unit unit sumber menempatkan data pada saluran data. setelah
menerima data, destinasi akhir menghapus REQUEST STROBE. Hanya data
setelah REQUEST srRoBE dirasakan telah terhapus, maka sumber (b) Diagram Pewaktuan
menghapus data. Protokol ini berulang untuk setiap data (byte atau word).
Ada risiko dalam metode ini. Anggaplah sumber memulai transfer asinkron. Gambar 9.23 Transfer doto osinkron inisiasi destinasi
s
Bab I Organisasi lnpuUOutput 415
Masalah yang sama juga dapat terjadi pada transfer yang dilakukan
destinasi. Untuk mengatasi hal ini, suatu protokol jabat tangan
(hondshaking) biasa dilakukan antara sumber dan destinasi. pada protokol
handshaking, baik sumber dan destinasi membangkitkan sinyal strobe dan (a) Diagram blok
sinyal pengakuan (ocknowledgement). Gambar 9.24 menunjukkan sumber
yang melakukan inisiasi protokol handshaking. sumber menempatkan data
pertama dan setelah beberapa delay kemudian, sinyal DATA AVAIL
diberikan. Pada saat merasakan (sensing) sinyal DATA AVAIL, maka destinasi
menerima data dan kemudian memberikan sinyal DATA ACK yang
mengindikasikan bahwa data telah diterima. pada saat merasakan sinyal
DATA AcK, maka sumber menghapus data dan sinyal DATA AVAIL. pada saat
merasakan sinyal DATA AVAIL sudah hilang, maka destinasi menghapus O) Diaeram pewaktuan
sinyal DATA ACK. Karena itu baik sumber dan destinasi merespons naik atau
turunnya akhir sinyal, suatu aksi abnormal di satu ujung adalah bukan Gambar 9,25 Protokol handshoking inisiasi destinosi
merupakan urutan aslinya. Gambar 9.25 menunjukkan destinasi yang
melakukan inisiasi protokol handshaking. Destinasi pertama mengirimkan
Keuntungan transfer asinkron adalah:
sinyal DATA REQ. Pada saat merasakan sinyal ini, sumber menempatkan
data dan juga memberikan sinyal DATA AVAIL. pada saat merasakan sinyal 1. Karena sumber dan destinasi mengikuti handshaking, maka kean-
DATA AVAIL, maka destinasi memperoleh data dan kemudian menghapus dalan transfer terjamin
sinyal DATA REQ. Pada saat merasakan hal ini, maka sumber menghapus 2. Suatu unit destinasi yang lambat pada bus tidak memperlambat
data dan sinyal DATA AVAIL. transfer data ke unit destinasi cepat.
Kekurangan transfer asinkron adalah:
mengambil program lain yang berhubungan dengan interupsi. Program ini 2. lnterupsi ini
pada dasarnya 2. lnterupsi ini dapat berupa
dikenal dengan Rutin Layanan lnterupsi (inteTupt service routne, ISR). adalah interupsi hardware. hardware atau software.
Gambar 9.25 menunjukkan ilustrasi konsep interupsi. Ketika proses 3. lnterupsihardwaredibangkitkan 3. lnterupsi software dibangkitkan
interupsi telah selesai, maka CPU umumnya akan melanjutkan program oleh sirkuit. oleh sebuah instruksi di dalam
orosram.
sebelumnya yaitu tempat terjadinya interupsi ketika program utama
ditinggalkan. Karena itu sebelum pengambilan lsR, cPU menyimpan alamat
instruksi berikutnya (isi program counter) pada saat bercabang ke lSR. Int€rupsi
Penyimpanan dapat dilakukan di dalam CPU atau dalam memori. I
n
Cabanc Interupsi Eksternal Int€rupsi internal
2
I
I
Intcrupsi --=__?._ I
mengilustrasikan siklus instruksi yang dimodifikasi memperhitungkan ke ISR), dia memulai eksekusi lSR1. Sekarang mari kita katakan interupsi 2
interrupt enoble /og. Untuk men-set flag lE, program harus memberikan terjadi. CPU melakukan lagi aksi layanan interupsi dan memulai eksekusi
instruksi "Enoble interrup{'(El). Ketika instruksi ini dieksekusi, CPU men-set lSR2. Ketika dia mengeksekusi lSR2, interupsi 3 terjadi. CPU melakukan lagi
flag lE. Untuk me-reset flag lE, program harus memberikan instruksi layanan interupsi dan memulai lSR3. Setelah lSR3 selesai, CPU melanjutkan
"Disoble lnterup( (Dl). Ketika instruksi ini dieksekusi, CPU me-reset flag lE. bagian lSR2 yang tersisa. Setelah lSR2 selesai, CPU mengeksekusi bagian
Jadi tingkah laku CPU yang berkenaan dengan pelayanan interupsi adalah lSRl yang tersisa. Setelah lSRl selesai, CPU kembali ke program A dan
dikontrol oleh program yang sedang dieksekusi. Ada dua situasi khusus bila mela njutkan pada tem pat terjad inya penca banga n sebelu m nya.
CPU me-reset flag lE:
7. Selama urutan reset (power on atau manual resetl, CPU member- 9.4.8 Prioritas lnterupsi
sihkan flag lE. Permintaan interupsi berasal dari berbagai sumber yang dikoneksikan
2. Selama pelayanan interupsi, CPU me-reset flag lE dengan segera sebagai input ke pengontrol interupsi. Segera setelah pengontrol interupsi
setelah penyimpanan status CPU dan sebelum bercabang ke lSR. mengindra keberadaan interupsi dari satu atau lebih pemohon interupsi,
dengan segera dia memberikan sinyal interupsi ke CPU. Pengontrol
interupsi menetapkan prioritas tetap untuk berbagai pemohon interupsi.
Misalnya, lRQ0 ditetapkan sebagai prioritas tertinggi di antara delapan
pemohon interupsi. Penetapan prioritas menurun dari IRQO ke lRQ7. |RQT
mempunyai prioritas terendah sehingga dia hanya dilayani ketika tidak ada
pemohon interupsi lagi yang lain.
Transfer data
9.4.10 lnterupsi yang Tak Dapat Dihalangi
lnterupsi yang tak dapat dihalangi (non-moskoble interrupt, NMll
dibangkitkan untuk keperluan perhatian yang sangat penting dari CPU (lSR).
Pengindraan NMI tidak bergantung pada flag lE. Prosesor didesain dengan Melalui CPU (metode software) Tanpa melalui CPU (metode hardware)
suatu kode vektor tetap untuk NMl.
1
e.s. TEKNTK-TEKNTK r/O PADA PC Programmed mode Interrupt mode DMAmode
Pada ilustrasi Gambar 9.35, ditunjukkan ada dua langkah dalam metode
software, misalnya untuk memindahkan sebuah byte data dari input
perangkat maka akan mengikutidua langkah berikut:
Dua langkah ini diulangi untuk mentransfer setiap byte data. Semua
langkah-langkah ini dicapai dengan pemrograman CPU, yaitu dengan
data
menggunakan instruksi-instruksi yang tepat. Karena itu metode ini
-"-"--- sinyalkonrol
- dinamakan juga metode software. Pada metode hardware, software CPU
Gambar 9.33 Dua jenis tronsfer data tidak terlibat secara aktual dalam transfer byte data. Software hanya
menyediakan parameter-parameter awal tertentu ke hardware dan
Ada dua teknik pelaksanaan transfer data:
hardware yang melakukan transfer aktual byte data tanpa keterlibatan CPU.
Metode ini populer disebut teknik DMA (Direct Memory Accessl.
1. Transfer data melalui CPU (metode software)
2. Transfer data tanpa melalui CPU (metode hardware)
426 Organisasl ian Rrstreltur Komputer Bab I Organisasi lnpuUOutput 427
relevan seperti nomor track, nomor Side (head), nomor awal sektor, nomor
akhir sektor. Gambar 9.40 dan 9.41 mengilustrasikan transfer data dengan
DMA mode.
Urutan DMA
Pada pembahasan ini kita mengambil sebuah contoh pembacaan satu
sektor data dari disket. Anggaplah kita hanya ingin membaca awalnya 400
byte data dari sektor nomor 2 pada track nomor 5 sisi 1. Rutin l/O
memberikan parameter-parameter berikut ke pengontrol DMA:
a. Alamat awal: 60000
b. Jumlah byte:400
l.Paramater-parameterDMA
2. Perinta{tulis
4.Alamat
5. Sinyal baca
?. Data Acknowledgement
8. Sinyal byte akhir
c. Arah: input
3. Permintaan data 6. Data f. interupsi Rutin l/O juga memberikan perintah berikut dan parameter-parameter
Gambar 9.40 Diogrom blok DMA mode perintah ke pengontrol disket:
Pada Gambar 9.41 ditunjukkan diagram alir untuk transfer data (disk)
d. Sektor akhir nomor 2
DMA mode. CPU melakukan set-up pada perangkat DMA dan memberikan Pada saat perintah READ DATA diterima, pengontrol disket (FDC)
sinyal perangkat untuk memulai transfer. Ketika transfer terjadi, CpU memilih head 1 dan dia mulai membaca aliran bit data dari disket.
melanjutkan eksekusi proses lain. Bila transfer DMA selesai, perangkat Pengontrol disket mulai merakit bit-bit data menjadi byte (yaitu konversi
memberitahukan ke CPU melalui interupsi. Sistem yang melakukan DMA serial ke paralel). Data pada sektor 2 harus ditransfer ke memori. FDC
juga melakukan interupsi. mengindentikfikasi sektor 2 darifield lD sektor 2. Field lD tidak ditransfer ke
memori. Segera setelah satu byte di baca, pengontrol membangkitkan
T
Bab 9 Organlsasi lnpuVOutpul 433 .
Pada tiga mode pertama (Compatible, Nibble, dan Byte), transfer data
Gambar 9.42 Komunikqsi dato ke suotu terminoliouh
dilakukan berdasarkan programmed l/o mode/interrupt mode. l/o driver
menangani protokol handshaking (serupa dengan spp) dan memungkinkan
kecepatan transfer data hingga 5r1oo Kbyte per detik. Mode Epp dan ECp Redaman dan distorsi sinyal digital meningkat sejalan dengan panjang
berdasarkan pada metode hardware transfer data. software melakukan saluran. Karena itu, sinyal tidak dapat ditransmisikan secara efektif pada
jarak yang jauh. Untuk mengatasi hal ini, digunakan sebuah MODEM
operasi-operasi minimum seperti inisiasi dan pengontrol printer menanga ni
handshaking dan transfer data tanpa pelibatan software.
(MOdulator-DEModulator) dan peralatan komunikasi untuk transfer data
436 Organisasi dan Arsiteklur Komputet
t
melalui saluran telepon. Sepasang MODEM diperlukan untuk melakukan Formatserialdarisebuahkarakterdalamkomunikasiasinkron
logic' Gambar ini juga
hubungan komunikasi dua terminal. ditunjukkan pada Gambar 9'45 dalam negative
menunjukkanformatdataserialuntukdataA6.Bilatidakadatransmisi
high yang disebut MAS' Bit start
9.7,1 Komunikasi Asinkron dan Sinkron maka saluran tetap pada level tegangan
SPACE dan dia
pada saluran berada dalam level low yang disebut
Komunikasi data serial umumnya menggunakan skema komunikasi bahwa satu karakter ditransmisikan untuk
start' Durasi bit
mengindikasikan
asinkron atau sinkron. Dua metode ini menggunakan teknik yang berbeda start sama dengan satu periode baud'
untuk sirkuit sinkronisasi pada sisi pengirim dan penerima. Pada skema diikuti bit-bit lainnya'
asinkron, setiap karakter termasuk bit start dan bit stop (Gambar 9.43). LSB mengikuti bit start dan kemudian berikutnya
periode baud' Saluran menjadi
Pada skema sinkron, setelah sebuah byte data ditetapkan, maka sebuah Durasi setiap bit data sama dengan satu
pola bit yang disebut SYNC dikirimkan (Gambar 9.44). Pada komunikasi highataulowbergantungpadauit-uitdata.Jumlahbit-bitdatadalamsuatu
oleh ujung
tima-hingga delapan sepertiyang diinginkan
karakter dapat dari
asinkron dapat dibuat jarak (gap) antara karakter yang berdekatan sedang-
kan pada komunikasi sinkron tidak ada gap. Pada komunikasi sinkron, aliran pengirim dan Penerima.
(MSB) data. Bit parity bisa ganjil
bit-bit data dengan kecepatan tetap yang tiba adalah kontinyu. Laju di mana Bit parity dikirim setelah bit signifikan
bit-bit data dikirimkan disebut boud rate yang dinyatakan dalam BPS (brt juga dihilangkan. Durasibit parity sama dengan
atau genap. Bit parity dapat
per secondl Pada skema komunikasi asinkron, bit-bit dalam sebuah frame satu periode baud.
karakter (termasuk bit start, bit parity, dan bit stop) dikirim pada baud rate.
Bitstopmenjadikansalurankeleve]high(mark)dandurasibitstopbisa
1;l,5atau2periodebaud.Jumlahbitstopdapatdiprogram'setelahbit'bit
(mark)'
iiop, t.trt.n ietap dalam keadaan level high
't' t"5;l tEit tEit
Karakter
l!__.1_.]
1
rr
Karakter 2
rr rr
Karakter 3
rr rr
Karakter 4
rr
't'
Higl
{
Bil Bit Bii Bit Bit Bit Bit Bit
stop start stop start stop starl stop
Starl
Gambar 9.43 Komunikasi Asinkron
Karaktet+
(8) Format karakter
<-Btok1--+ I
SYNC
Standar baud rate adalah:50; 110; 134,5;150;300, 1200;2400;4g00; Antarmuka RS-232 mengharapkan sebuah modem yang dikoneksikan
9500; 19200 dan 38400. Dalam suatu sistem komunikasi, baud rate dipilih pada ujung pengirim dan penerima. Modem disebut DCE (Doto Communi-
bergantung pada kualitas saluran transmisi dan kemampuan peralatan cotion Equipmentl sedangkan komputer, terminal atau printer tempat di
ujung pengirim dan penerima. Pada sistem transmisi sederhana, baud rate mana modem diantarmuka disebut DTE (Dota Terminol Equipmentl. DCE
adalah sama dengan Bit Per second (BPS) yaitu kecepatan transfer data dan dan DTE dihubungkan via kabel yang yang panjangnya harus tidak melebihi
jumlah bit yang ditransmisikan per detik pada saluran adalah sama. pada 50 feet. Walaupun kurang andal dia tidak memengaruhi komunikasi jika
sistem komunikasi di mana level modulasi jamak digunakan, maka baud kecepatan transfer data dikurangi ketika jarak dinaikkan. DTE mempunyai
rate dan bit per second tidaklah sama, yaitu kecepatan transfer data tidak konektor jantan (male) tipe-D 25 pin dan DCE mempunyai konektor betina
sama dengan jumlah bit yang ditransmisikan per detik pada saluran. (female) tipe-D 25 pin. Namun beberapa sistem menggunakan konektor 9
pin.
Antarmuka Serial
Komponen-komponen dasar suatu sistem komunikasi melibatkan Level Sinyal RS-232
sebuah komputer dan terminal seperti yang ditunjukkan pada Gambar 9.4G. RS-232 mengikuti logika negatif. Logika 1 direpresentasikan dengan
Terminal dapat diganti dengan komputer lain atau sebuah printer. Dengan sebuah tegangan negatif dan logika 0 direpresentasikan dengan tegangan
menggunakan sebuah modem, sinyal digital diubah menjadi sinyal analog. positif. Level 1 (high) bervariasi dari -3 sampai -15 Volt dan level 0 (low)
saluran telepon digunakan untuk mentrasmisikan sinyal analog. pada ujung bervariasi dari +3 sampai +15 Volt. Sirkuit hardware yang digunakan secara
penerima, sinyal analog ini diubah kembali menjadi sinyal digital. Modem praktis untuk antarmuka RS-232 menetapkan level sinyal pada +12 Volt
dapat menggunakan teknik modulasi yang beragam: Modulasi Amplituda (logika 0) dan pada -12 Volt (logika 1).
(AM), Modulasi Frekuensi (FM), Modulasi Frequency Shift Keying (FSK), dan
sebagainya. Metode FSK merupakan metode yang umum digunakan dalam
Sinyal-Sinyal RS-232
modem.
Pada Tabel 9.5 ditunjukkan sinyal-sinyal RS-232. TXD membawa bit-bit
data yang dikirim oleh DTE. Modem menerima sinyal TXD dan mengguna-
kannya untuk pemodulasian sinyal pembawa. RXD adalah data dari DCE ke
DTE. RXD dibangkitkan oleh modem dengan melakukan demodulasi sinyal
9.
yang lainnya tidak dikenali lagi.
€,'1€#. sqenlelffi
Mendukung DMA: Firewire mendukung transfer akses memori . Memory write menyebabkan data pada bus ditulis ke lokasi
langsung (DMA), tidak seperti USB dan rDE. cocok untuk perangkat- memori vang teralamati
perangkat berikut: . Memory reod menyebabkan data dari lokasi memori yang
. Kamera digital teralamati ditempatkan pada bus
. Scanner . l/O write menyebabkan data pada bus diberikan ke l/O port
r Hard disk drive vane teralamati
. Removable disk drive . l/O read menyebabkan data dari l/O port yang teralamati
r Printer ditemoatkan oada bus
r Tape back up . Tronsfer ACK mengindikasikan bahwa data telah diterima dari
r Video tape atau ditempatkan pada bus
. Video disk
. Bus request mengindikasikan bahwa suatu modul memerlukan
r Music system
I
oerolehan kontrol bus
I Bus qront mensindikasikan bahwa suatu permintaan modul
444 Organisasidan Arsitektur Komputer Bab I Organlgael lnpuUOulput 445
Arsitektur bus tradisional ini layak dari segi efisiensi tetapi mulai tidak
Gambar 9.47 Konfigurosi orsitektur bus trodisionol
mampu dalam mendukung perangkat-perangkat l/O dengan kinerja yang
lebih tinggi. Untuk merespons pertumbuhan tuntutan ini, maka industri
mulai membangun bus berkecepatan tinggi yang dapat diintegrasikan
dengan sistem yang ada yang hanya memerlukan suatu jembatan antara
bus prosesor dengan bus kecepatan tinggi tersebut. Susunan ini biasa
disebut arsitektur loteng tengah (mezzonine busl.
Gambar 9.48 menunjukkan realisasi khas dari pendekatan mezzanine
bus tersebut. Sekali lagi, terdapat suatu bus lokal yang mengkoneksikan
prosesor ke suatu pengontrol cache, yang pada akhirnya dikoneksikan ke
bus sistem yang mendukung memori utama. Pengontrol cache diinte-
grasikan ke suatu jembatan (bridgel, atau perangkat penyangga yang
446 Organisasldan Arsitektur Komputer Bab I Organisasi lnpuVOutput 447
Metode Daisy-Chain
'Bus Request' (BR) memberikan sinyal pada semua master yang
membentuk satu line bus, BR. Dengan cara yang sama 'Bus Busy' (BB)
mengeluarkan semua master membentuk satu line bus lainnya, BB. Bila
Gambar 9.48 Konfigurosi orsitektur bus kecepoton-tinggi
tidak ada master bus yang menggunakan bus, maka BB tidak aktif.
Kapanpun satu atau lebih permintaan bus terjadi, maka BR menjadi aktif.
Pengawas (orbiterl melakukan inisiasi arbitrasi dengan mentransmisikan
9.11 TEKNIK-TEKNIK ARBITRASI BUS sinyal BG (bus grontl. Sinyal ini mencari master pertama. Jadi sekarang ada
Arbitrasi bus adalah proses penentuan master bus yang mengontrol bus dua kemungkinan:
pada suatu waktu yang diberikan ketika ada suatu permintaan dari satu
atau lebih master bus. suatu master bus dapat diinisiasi dan melakukan
L. Master pertama tidak memerlukan bus dan tidak membangkitkan
BR. Dia hanya melewatkan sinyal BG ke master bus berikutnya.
suatu siklus bus untuk transfer data. Sebuah slave tidak dapat menjadi
master bus dan karena itu tidak dapat melakukan inisiasisebuah siklus bus.
2. Master pertama memerlukan penggunaan bus sekarang dan
membangkitkan sinyal BR. Dia menjadi master bus sekarang
Pada kebanyakan komputer, prosesor dan pengontrol DMA adalah
dengan memberikan sinyal BB dan membuang sinyal BR. Namun,
merupakan master bus sedangkan memori dan pengontrol l/O merupakan
BR dapat tetap aktif jika beberapa master lainnya juga telah
slave. Pada beberapa sistem, pengontrol l/O intelijen tertentu juga
membangkitkan BR. Master bus sekarang mempertahankan bus
merupakan master bus. Pada beberapa sistem, prosesor jamak melakukan
hingga dia menyelesaikan operasi busnya. Dengan melihat BB aktil
sharing pada sebuah bus.
semua master bus lainnya mengetahui bahwa beberapa master bus
Bila lebih dari satu master bus secara simultan memerlukan bus, maka telah mengambil alih bus dan karena itu mereka tetap menunggu.
hanya salah satu dari mereka yang mengontrol bus dan menjadi master bus Segera master bus yang sekarang menyelesaikan penggunaan
aktif, yang lainnya harus menunggu gilirannya. Pengawas bus (bus orbiterl busnya. Dia membuang sinyal BB. Jika BR tetap aktif, arbiter
memutuskan yang mana yang akan menjadi moster bus sekarang. Ada dua mengirimkan lagi sinyal BG.
jenis pengawas bus:
Gambar 9.49 mengilustrasikan metode daisy-chain.
1. Arbitrasi bus terpusat, di mana suatu pengawas didedikasikan
mempunyai fungsi sebagai pengawas bus.
2. Arbitrasi bus terdistribusi, di mana semua master bus bekerja sama
melakukan pengawasan. Dalam hal ini setiap master bus mem-
punyai sebuah seksi pengawasan.
I Bab I Organisasi lnpuUOutput 449
Metode Polling
Pada metode polling (Gambar 9.50), sinyal BR dan BB sama dengan
metode daisy chain. Pertama, BR aktif, arbiter melakukan polling ke master-
master satu per satu, mentransmisikan aJamat master pada saluran alamat.
Master yang mempunyai alamat yang sesuai dengan alamat yang diberikan
oleh arbiter menjadi master bus sekarang dengan membangkitkan sinyal
BB. Metode ini memerlukan saluran lebih karena alamat harus ditrans- BR= bur rcqucst, BG = bus grant, BM = bu, medcr, BA = bw arbitcr
misikan. Tetapi urutan pengalamatan master (urutan pollingl dapat
diprogram. Gambar 9.51.Arbitrosi bus metode independent request otou fixed priority
1. Bus Lokal
2. Bus Sistem
3R= bus requcst, BB = bus busy, BM = bus master, BA = bus arbitcr
3. Bus l/O
4. Bus Loteng Tengah (mezzonine busl
Gambar 9.50 Arbitrosi bus metode polling
q
450 Organisasi dan Arsiteklur Komputer Bab I Organisasl lnpuVoutput 451
Pada PC-8088, bus sistem dan bus !/O adalah sama. Gambar 9.55
menunjukkan organisasi bus pada motherboard PC original. Koprosesor
floating point dikoneksikan ke bus lokal 8088. Semua subsistem lainnya
dihubungkan ke mikroprosesor melalui buffer. Subsistem-subsistem
systemboord (chip RAM, ROM, dan l/O) dikoneksikan ke bus X (XA, XD, XC).
Doughterboord dikoneksikan via slot-slot l/O dengan bus A, D dan C.
1
452 Organisasi dan Arsiteklur Kompuler Bab I Organlsasl lnpuUOutput 453
ke pengontrol l/O
dan memori tambahan
ke ROM intemal
RAM dan port l/O
Jadi bus X dan bus D digunakan sebagai bus sistem dan bus t/O tanpa ada
perbedaan. Pada pendekatan ini, CPU berkomunikasi dengan subsistem l/O
dan memori dengan kecepatan yang sama. Secara konseptual, hanya ada
satu bus yang ditampilkan pada Gambar 9.55. Pemisahan bus X dan bus D
adalah untuk pendistribusian beban elektrik dan interkoneksi modul fisik
antara motherboard (systemboordl dan expansion board. pikirkan suatu
keadaan ketika CPU membaca dari memori utama dan pada saat yang sama
pengontrol DMA melakukan pembacaan memori utama. Jelas pengontrol
DMA diprioritaskan untuk menghindari kemacetan data. Penambahan
memori cache membantu mengurangi prosesor melakukan pengaksesan
A = bu3 alamal
memori utama, tetapi memori cache juga menggunakan bus yang sama. D = bu3 data
Masalah inidiselesaikan dengan memisahkan bus memori dan bus l/O yang K = bus kontrol
BAL = Bul arbiiration logic
akan dijelaskan pada bagian berikut. 1 Bus Sistem CSVVR = cycl6 Btealing
Bus Loka dan Bus l,C wail 3lal6 rsquesl
untuk menjaga PCI agar tidak terikat dengan kecepatan prosesor yang Juga Suatu fitur menarlk dari desain IBM untuk PC dan PCIAT adalah desain
menyediakan kemampuan untuk menerima dan mengirim data dengan 'terbuka' untuk spesifikasi bus PC (lSA bus) agar pabrik-pabrik lainnya juga
cepat. dapat menggunakan desain bus yang sama tanpa mengeluarkan biaya
royalti ke lBM. ISA (lndustry Stondard Architecturel adalah bus dengan lebar
16 bit dan beroperasi maksimum pada 8 MHz. IBM mengubah strateginya
untuk sistem PSl2 dengan bus MCA yang disediakan hanya untuk
pembayaran yang signifikan. Tetapi beberapa pabrik PC secara bersamaan
membuat spesifikasi bus EISA untuk sistem 385 sebagai rival bus MCA. Bus
MCA dan EISA merupakan intelligent bus dengan bandwidth yang besar.
Ketika sistem 486 datang, suatu bus lokal yang disebut bus VESA (bus
VL) diperkenalkan untuk mendukung transfer kecepatan tinggi ke adaptor
display, segera setelah lntel memperkenalkan bus PCI menjadi standar
sistem Pentium. Dengan Pentium pro, FSB telah menjadi bus sistem karena
arsitektur dual bus Pentium pro (dan diikuti berikutnya pada keluarga
Pentium). Pentium 4 secara dramatis telah mengembangkan sistem bus
dengan kecepatan hingga 400 MHz dan yang lebih tinggi lagi.
Bus Memori
DO-15 AO-23 MD MA SD SA XD XA
Pada Gambar 9.60 ditunjukkan organisasi bus PC-AT/286. Bus atamat sinyal DMA (DRO/DACK) untuk permintaan bus dan persetujuan. Sebagai
adalah dua-arah pada bus lSA. Daughterboard adalah sebuah intelligent gantinya dibangun komunikasi langsung dengan EISA BAL. Karena master
board dan dapat juga menjadi master bus. Beberapa sinyal kontrol khusus bus EISA terhubung ke bus lokal, maka dia dapat melakukan burst bus
pada bus ISA memberitahukan motherboard apakah transfer bus sekarang cycles.
adalah sebuah transfer 8-bit atau transfer 16-bit. Di dalam respons,
prosesor melakukan satu siklus bus 15-bit atau dua siklus bus 8-bit. sinyal
fr4esfnn digunakan oleh daughterboard untuk mengontrol sistem secara
temporer. Untuk tujuan ini, dia membangkitkan sinyal DRe dan setelah
menerima pengakuan dari pengontrol DMA, maka dia mengaktifkan sinyal
MASTER. Sekarang dia dapat mengakses memori atau l/O secara langsung
di dalam sistem. Fitur ini dapat digunakan oleh suatu master bus untuk
mengontrol bus.
Suatu master bus ISA adalah non-preemptible. Hingga dia melepaskan
bus (dengan deaktivasi sinyal DRQ dan MASTERI, master bus ISA
melanjutkan menahan bus. Pada saat yang sama, dia bertanggungjawab
pada master bus ISA ini untuk menjaga penyegaran DRAM juga bila dia
menggunakan bus.
Bus EISA lExtended lndustry Architecture) pertama kali distandarkan
untuk sistem berbasis prosesor 80385. Seperti bus MCA, bus EISA juga bus
yang pintar. Pada bus EISA, semua saluran alamat dibawa ke slot-slot l/O
dalam keadaan tidak di-latch. Karena itu, suatu unit dapat merespons
dengan cepat (ketika dialamati) dalam suatu siklus bus dan mengindikasikan
tipe transfer, yaitu 32-bit atau 16-bit. Pada bus EISA, saluran interupsi dapat
di-share dengan banyak kartu EISA. Setiap kartu E|SA mempunyai sebuah
kode indetifier produk yang unik yang dapat dibaca oleh software. Board
ekspansi EISA mempunyai dua mode operasi:
1. Mode master
2. Mode slave
Pada mode master, master bus EISA dalam board ekspansi EISA
melakukan siklus-siklus bus untuk mengakses memori sistem atau port l/O.
Pada mode slave, port l/O atau memori dalam board ekspansi EISA diakses
oleh board sistem EISA; dalam keadaan ini, CPU dalam board sistem atau
suatu master bus EISA dalam beberapa board ekspansi merupakan master
bus. Board ekspansi EISA menggunakan sinyal MREQ (EISA bus moster
requestl dan MAK (EISA bus moster ocknowledgementl untuk protokol
master bus. Tidak seperti pada lSA, E|SA tidak dapat menggunakan sinyal-
460 il
Organisasl dan Arsitektur Komputer
Bab 9 Organisasi lnpuVoutpul 461
BAB 10
PERIPHERAL KOMPUTER
. ' ,. .. l* .. :T' -;
"i.'
t 'e kq.nehe.ik...*r;r=ffriffit=fr+=ffi
Di sisi lain, unit cpU merupakan perangkat yang dapat merakukan Pada umumnya tombol keyboard dihubungkan dengan sebuah matriks
operasi/pemrosesan yang paling cepat. Bira masukin baris dan kolom. Setiap tombol mempunyai koordinasi tetap dengan nomor
informasi yang
ditransfer ke prosesor meralui keyboard yang lambat, maka prosesor baris dan nomor kolom. Fungsi-fungsi yang dikerjakan oleh keyboard
akan
banyak membuang waktu ketika menunggu informasi tiba. elektronik meliputi:
untuk
menggunakan komputer secara efisien, maka program
dan data yang besar
harus dipersiapkan seberumnya dan ditransmisikan ke daram a) Pengindraan tombol yang ditekan
media
penyimpanan seperti pita magnetik atau disk.
rnformasi daram disk
b) Encoding
kemudian ditransfer ke dalam memori komputer pada rate yang c) Mengirimkan kode ke komputer
cepat.
Hasil-hasil program juga ditransfer ke daram ,"di. penyimianan Keyboard mengikuti teknik standar pengenalan karakter yang dikenal
yang
cepat seperti disk, di mana mereka dapat ditransfer kemudian dengan sconning. Ada beberapa jenis tombol keyboard, misalnya:
ke printer
untuk menyediakan hasil print-out.
a) Mechonicolkeyswitch
Monitor Video merupakan peripherar yang sangat umum yang
terdiri b) Membrane keyswitch
atas keyboard sebagai perangkat input dan unit dispray
sebagai perangkat c) Capacitivekeyswitch
output. Ada beberapa jenis monitor video yaitu cRT (cothode-roy
tube) dan
LCD (liq uid crysta I d isptoy).
10.1.1 Mechanical Keyswitch Keyboard
Pada bagian ini kita akan membahas peripherar yang
merupakan sarah Keyboard jenis ini memiliki sebuah pegas yang ketika ditekan maka
satu peralatan yang dibutuhkan untuk berkomunikasi -"ng.n'
dunia luar tombol akan terhubung dengan dua titik pada sebuah matriks keyboard
dan perangkat pelengkap lainnya.
yang mengaktifkan sebuah sinyal yang akan dirasakan oleh encoder. Pada
saat tombol dilepas, pegas akan kembali ke posisi semula dan akan
10.1 KEYBOARD memutuskan kembali koneksi yang terjadi sebelumnya. Keyboard jenis ini
ukurannya besar mudah melakukan perbaikan jika terjadi kegagalan.
cara memasukkan informasi/data ke daram komputer yang paring
dikenal adalah merarui sebuah typewriter sepefti keyboard yang
memungkinkan manusia untuk memasu kkan informasi LO.t.z Membrane Keyswitch Keyboard
alphanumerik secara
langsung. setiap sebuah tombor ditekan, terminar mengirimkan Pada keyboard membrone switch, terdapat sejumlah saklar membran
sebuah
karakter yang dikodekan secara biner ke daram komputer. yang berada di bawah tombol dan tidak mempunyai pegas. Pada saat
Kecepatan
pemasukan informasi yang tercepat dengan tombol ditekan, sebuah sirkuit elektronika terhubung oleh dua kontak
cara ini r"ngri tergantung pada
kecepatan pengetikan manusia. metal, dan pada saat dilepas maka sirkuit tersebut akan terputus.
Keyboard digunakan oreh user untuk memasukkan data Keuntungan keyboard ini tidak bising.
atau karakter
ke dalam komputer secara manual. rnput tersebut
kemudian ditransmisikan
untuk ditampilkan pada monitor. Keyboard terdiri atas 10.1.3 Capacitive Keyswitch Keyboard
saklar-saklar tekan
(tombol). Bila tombol ditekan maka akan terjadi
kontak yang mengaktifkan Pada keyboard jenis ini, kapasitansi antara dua plat penghantar
salah satu karakter melalui encoding pada sirkuit elektronika.
sel-anjutnya diaktivasi oleh tombol. Plat-plat ditempatkan bersama sebuah celah kecil
kode 8-bit standar dibangkitkan dan dikirim ke komputer. yang berisi lembaran milar. Pada saat tombol ditekan, pergerakan plunger
Keyboard serial
mengirimkan data dengan cara bit demi bit. Komputer mendorong plat yang mengurangi celah antaranya. Hal ini mengubah
kemudian meng-
ubahnya menjadi data paralel 8-bit (byte). kapasitansi antar plat. Keyboard ini ukurannya kecil dan lebih tahan, tetapi
jika terjadi kerusakan maka tidak mudah membetulkannya.
il
470 Organisasl dan Arsltektur Komputer
rr SUB
:t
J z z
VT ESC + K k
FF FS L \ I
CR GS M m
SO RS N n
st US I ? o o DEL
. Sistem segmen
Unit-unit tampilan panjang disusun membentuk gambar
angka '8' untuk menampilkan angka.
EHH
Sistem Dot matrix (tampilan karakter)
Unit-unit tampilan disusun dalam baris kolom untuk
membentuk karakter.
Sistem dot matrix (tampilan grafis)
Unit-unit tampilan disusun dalam baris dan kolom untuk
membentuk grafis.
Yry
V/
L0.4.4 Prinsip-Prinsip Tampilan Warna
Tampilan warna dibuat dengan menempatkan filter warna pada setiap
Gambar tO.6 Struktur sandwich unit tampilan. Pada sistem dot matrix, dot merah, h'rjau, dan biru diperoleh
melalui penggunaan filter pada masing-masing tiga warna utama Red (R),
LCD warna mempunyai struktur yang komponen-komponennya diben- Green (G), dan Blue (B). Warna-warna yang lain dapat dibentuk dengan
tuk seperti susunan sebuah sandwich: menggabungkannya.
1. Polarizing filter. Filter ini mengontrol cahaya yang masuk dan yang Pada LCD berwarna seperti monitor terdapat banyak sekali titik sinar
keluar. (pixel) yang terdiri atas satu buah kristal cair sebagai sebuah titik sinar'
2. Glass substrafe. Substrat ini menghentikan pemfilteran secara Meski disebut sebagai titik sinar, namun kristal cair ini tidak memancarkan
elektrik dari elektroda sinar sendiri. Sumber sinar di dalam sebuah perangkat LCD adalah lampu
3. Transparent electrodes. Elektroda ini mengemudikan (drivel LCD. neon berwarna putih di bagian belakang susunan kristal cair tadi. Titik sinar
Material transparan tinggi yang digunakan tidak akan mengganggu yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk
kualitas dari imoge's integrity. tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah
4. Alignment layer. Film digunakan untuk meluruskan molekul- karena pengaruh polarisasi medan magnetik yang timbul dan karenanya
molekul dalam suatu arah yang tetap. akan hanya membiarkan beberapa warna diteruskan sedangkan warna
5. Liquid crystals lainnya tersaring.
6. Spacer. Menjaga dan mempertahankan uniform space di antara
pelat glass. 10.4.5 Konfigurasi Tampilan
7. Color filter. Warna dinyatakan melalui penggunaan filter R, G, B
8. Bocklighting Cahaya yang melalui kristal cair adalah hanya cahaya natural (alami)
atau cahaya ambien buatan (artificiol ombient /ight). Konfieurasi tampilan
,l
478 Organisasi dan Arsltektur Komputer Bab 10 Peripheral Kompuler 479
dikategorisasi oleh posisi relatif dari sumber cahaya. Ada tiga jenis (Gambar
10.7): prjrlrrctfithn
iier{lnetmrqrbr
1. Tronsmissive type (TV LCD)
2. Reflective type (kalkulator LCD, Jam) ctr4dp{brr Irorr
3. Projection type (LCD projectionl lolcrtst$gr ffillry
\U ..$
<- cmrtrhr1lb
..,l-il"-.- ,,^,.i
*,....[il,-.,.' ta{rr rrruh prlartrlrr
ijrr'o.{
I crirrrl prlAuelgmulrr
tsnE#i Id
.Ir.rflrdi. .n.tk3lln
ryp. \\
.' .-3
harttalrrr
Eilttrrl43
}irrtD.r.t
{... Gambar tO.8 Diogram skemotik printer loser
.hrlrctlor litr Printer laser terbuat dari drum bermuatan di mana laser membuang
muatannya pada daerah yang dipilih yang berkenaan dengan representasi
Gambar L0.7 Konfigurosi LCD
bit yang dipetakan pada suatu halaman yang akan dicetak. Daerah yang
bermuatan memungut bubuk toner yang sensitif secara elektrostatis. Drum
10.5 PRINTER berputar, toner ditransfer ke kertas dan dipanaskan agar melekat di atas
kertas. Drum dibersihkan dari berbagai residu dan proses yang sama
Printer adalah peripheral yang bertujuan untuk mencetak karakter,
berulang ke halaman berikutnya. Diagram skematik printer laser ditunjuk-
grafis atau citra di atas kertas. Ada dua kelompok printer yaitu impact kan pada Gambar 10.8. Karena toner berupa plastik, bukan tinta, maka dia
printer dan non-impoct printer. Pada impact printer, karakter dicetak
tidak terabsorpsi ke dalam kertas, melainkan menempel di atas permukaan.
berdasarkan kontak fisik (atau tekanan) antara heod (hammer, pin, atau
font) dengan pita tinta ke atas kertas. Misalnya printer dot matrix, printer
doisy wheel, printer drum, dan sebagainya. Sedangkan pada non-impact 10.6 DISK MAGNETIK
printer tidak ada kontak fisik antara heod dengan kertas atau pita. Misalnya
Disk magnetik adalah perangkat untuk penyimpanan informasi
printer termal, printer ink jet, printer laser, dan sebagainya. Pada bagian ini
yang mendukung kapasitas penyimpanan yang besar dan mempunyaiwaktu
kita membahas printer laser yang merupakan teknologi yang lebih maju.
akses yang relatif cepat. Disk magnetik mempunyai head yang dapat
bergerak pada tumpukan satu atau lebih piringan yang berjarak beberapa
milimiter satu dengan yang lainnya dan ditopang oleh sebuah spindle
seperti yang ditunjukkan pada Gambar 10.9. Setiap piringan mempunyai
dua permukaan yang terbuat dari aluminium atau g/oss (lebih tahan panas)
yang dibungkus dengan partikel-partikel kecil dari bahan magnetik seperti
besi oksida.
480 Organisasi dan Arsitektur Komputer Bab 10 Peripheral Kompuler 481
Bahan dasar (substrat) yang terbuat dari glass mempunyai keuntungan: pada suatu arah yang tetap. Bila arus listrik dihilangkan, maka bagian titik
yang termagnetisasi akan tetap tidak berubah, seperti yang ditunjukkan
L. Permukaannya lebih merata sehingga memberikan keandalan yang
pada Gambar 10.10(b). Jadi, informasi akan tersimpan. Jika arah arus listrik
lebih baik.
2. Kecacatan/kerusakan pada permukaan lebih sedikit sehingga dibalik, maka bagian titik agak dimagnetisasi kembali tetapi dengan arah
yang berlawanan, seperti yang ditunjukkan pada Gambar 10.10(c). Dari sini
mengurangi error yang terjadi saat pembacaan/penulisan.
3. Lebih baik dalam menangani/mendukung flying height.
jelas tergambar sebuah sistem biner yang dapat digunakan untuk
4. Kekakuannya (stiffnessl lebih baik untuk mengurangi/menjaga menyimpan informasi. Misalnya bagian b dari Gambar 10.10 sebagai '1'
pengaruh dinamis disk. (high) dan bagian c sebagai '0' (low). Memberikan arus listrik i artinya sama
5. Lebih tahan terhadap goncangan dan kerusakan. dengan merekam'0' atau'1' sebagai data.
5. Lebih tahan panas. Sekarang jika suatu titik tetap yang termagnetisasi dengan arah
tertentu dilewati oleh celah head (Gambar 10.11a), maka arus listrik dengan
SpiodL
coarb arah yang ditunjukkan akan mengimbas/menginduksi kumparan. Tetapi jika
wr
pcrmukam atac
I suatu bagian titik termagnetisasi dengan arah berlawanan dilewati oleh
celah head, maka arus listrik akan menginduksi dengan arah berlawanan
pcrmr.rkam3*
seperti yang ditunjukkan pada Gambar 10.11(b). Pendeteksian arah bagian
2
/ ocnurkean titik yang termagnetisasi dengan pengukuran arus induksi merupakan
cclah udare'
pembacaan informasi ('1' atau'0').
hcad bacahilis
Pcnm&am I -* (l per pcrsrukaar) Head magnetik baca/tulis yang sama pada Gambar 10.10(a) dapat
digunakan untuk menulis data digital atau membaca data digital. Namun,
saat ini head yang umum digunakan adalah duol head yang terintegrasi
pcrnnrkaan* t rrah gcrakar
bawalr pirirunn sebagai head baca dan head tulis seperti pada Gambar tO.L2.
lqgan (comb)
\ AAi
Pada head, terdapat arus listrik i di dalam kumparan (col) yang
ditunjukkan pada Gambar 10.10(a) akan menghasilkan medan magnetik
melintasi suatu celah (gop). Bagian medan magnetik ini akan menyebar ke
[t
(b) perekaman' 1',
----1
\__E_J
(c) perekaman'0'
material/bahan magnetik di bawah celah dan material akan dimagnetisasi Gambar 1O.tO Perekamon disk magnetik
Bab 10 Perlpheral Komputer 483
482 Organisasi dan Arsitektur Komputer
openJoop
disk ddves
closedloop
disk drivce
{- Aroh gcrcku
(a) perekaman '1'
vv
ltr/inchaster disk drivcs Non-Winchester dirk ddves
Hard disk drive mempunyai banyak jenis seperti yang ditunjukkan pada Pada dual heod, ada dua head untuk setiap permukaan. Bila satu set
Gambar 10.13. (kumpulan) head berada dalam posisi awal, yaitu silinder 0, maka kumpulan
head lainnya ditempatkan di atas silinder nomor pertengahan. Ketika head
kumpulan pertama tiba pada silinder nomor pertengahan, maka head
484 Organisasl dan Arsltektur Komputer Bab 10 Peripheral Komputer 485
rotasi disk yang tetap. Cara ini dikenal dengan kecepatan sudut tetap,
constont ongular velocity (CAV). Tata letak disk yang menggunakan CAV
dapat dilihat pada Gambar 10.16. Disk dibagi menjadi sejumlah sektor
berbentuk kue pie ke dalam serangkaian track-track konsentris. Keuntungan
menggunakan CAV adalah bahwa blok-blok data individu dapat langsung
dialamati oleh track dan sehor. Untuk menggerakkan head dari lokasi saat
ini ke suatu alamat khusus, maka dia hanya membutuhkan gerakan head
Trfick-b{ck
,ffi) yang pendek ke suatu track khusus dan waktu tunggu yang singkat bagi
sektor yang tepat untuk berputar di bawah head. Tetapi penggunaan CAV
*
Kumpulanrach-T* |.ffi mempunyai kelemahan karena jumlah data yang dapat disimpan pada track
hitam
;il;J;;'"""', ffi
yaog eejajt discbut'{
t dffi
terluar sama dengan jumlah yang dapat disimpan pada track pendek yang
terdalam di pusat disk.
10.6.3 Sektor
Lebih jauh track dibagi menjadi sektor-sektor, yang menyimpan sebuah
blok data yang dibaca atau ditulisi dalam satu waktu; mislanya, READ
sEcroR 782, WRITE SECTOR 5448. Pada setiap track terdapat ratusan
sektor. Untuk memperbarui disk, satu atau lebih sektor dibaca ke dalam
komputer, diubah dan ditulisi kembali ke dalam disk. sistem operasi yang
mengatur bagaimana menetapkan data ke dalam ruang tetap ini' a. Constant angular velocity b. Zone bit recording
individu berubah yang menyebabkan perubahan waktu pembacaan Contoh 10.1 Waktu transfer hard disk
maupun penulisan. /rnggap bahwa sebuah disk berputar sekali setiap 16 ms. Seek time wfiuk
menggerakkan di antara head yang berdekatan adalah 2 ms. Ada 32
sektor per track yang menyimpan dengan urutan linier (non-interleaved),
10.6.4 Parameter-Parameter Kinerja Disk
dari sektor 0 ke sektor 31. Head melihat sektor-sektor dalam urutan
Parameter-parameter yang menentukan kinerja suatu disk meliputi tersebut. Anggap head bacaltulis mulai diposisikan pada sektor 1 tack
seek time, rotational deloy, occess time, dan transfer time. 12. Ada memory buffer yang cukup besar untuk menyangga semua track.
Data difransfer antara lokasilokasi disk dengan membaca data sumber ke
Disk berotasi atau berputar secara konstan ketika disk drive dioperasi-
dalam memori, menempatkan head bacaltulis pada lokasi tujuan, dan
kan. Untuk melakukan pembacaan atau penulisan, maka head harus
menulis data ke tujuan.
ditempatkan pada posisi sektor di atas track yang diinginkan. Pemilihan . Berapa waktu dibutuhkan untuk mentransfer sektor I track 12 ke
track yang tepat/sesuai dengan yang diinginkan dilakukan oleh sistem sektor 1 track 13?
movoble heod. Pada sistem fixed head, pemilihan satu head dilakukan . Berapa waktu dibutuhkan untuk mentransfer semua sektor pada track
secara elektronik. Pada sistem movoble heod waktu yang dibutuhkan oleh
12 ke sektor yang sesuai pada track 13? Perhatikan bahwa sektor-
pergerakan head untuk mencari track yang sesuai disebut seek time.
sektor tidak harus ditulisi dalam urutan yang sama ketika mereka
Sedangkan waktu yang dibutuhkan oleh pergerakan putaran piringan untuk
dibaca.
mencapai sektor yang sesuai disebut rotationol deloy atau disebut juga
rototionol lotency. Jumlah/total waktu antara seek time jika ada dan Solusi:
rotational delay disebut dengan occess time yang merupakan waktu untuk Waktu untuk mentransfer sebuah sektor dari satu track ke track
mulai melakukan pembacaan atau penulisan. Ketika head telah berada pada berikutnya dapat dibagi menjadi bagian-bagian: waktu baca seklor, waktu
posisi yang sesuai, maka operasi baca atau tulis pada sektor dilakukan, dan pergerakan head, delay rotasi, dan waktu tulis sektor.
ketika bagian data diperoleh dan ditransfer ke head disebut sebagai tronsfer Waktu untuk membaca atau menulisi sebuah sektor adalah (16
time. ms/track) x (1132 track/sektor) : 0,5 ms/sektor. Pada contoh ini, waktu
pergerakan head hanya 2 ms karena head bergerak antara track yang
Tronsfer time ke atau dari disk bergantung pada kecepatan rotasi disk, berdekatan. Setelah pembacaan sektor 1 track 12, maka akan memakan
yang dinyatakan dengan :
waktu 0,5 ms. Ditambah dengan delay rotasi 15,5 ms yang dibutuhkan
__ b I
head berpindah pada sektor kembali. Waktu pergerakan head 2 ms
tumpang tindih (overlap) dengan delay rotasi 15.5 ms, dan juga hanya
Nr dua kali lebih besar (15,5 ms) dari yang digunakan.
di mana T = tronsfer time; b = jumlah byte yang ditransfer; /t/ = jumlah byte Kita menjumlahkan waktu-waktu tersebut dan diperoleh: 0,5 ms 15,5 *
pada suatu trock dan r = kecepatan rotasi dalam revolusi per detik. Jadi :
ms * 0,5 ms 16,5 ms untuk mentransfer sektor 1 frack 12 ke sektor 1
rata-rata jumlah occess time dapat dinyatakan dengan: track 13.
Waktu untuk mentransfer semua fack12 ke track 13 dihitung dengan
lo=1'* tb cara yang sama. Memory buffer dapat menyimpan semua haclg dan juga
zr* N, waktu untuk membaca atat menulisi semua track mempunyai delay
rotasi yang kecil untuk sebuah track yaitu 16 ms. Waktu pergerakan head
di mana Iadalah seek time rata-rata. Perlu dicatat bahwa pada drive yang
2 ms, yang juga adalah waktu untuk empat sektor lewat di bawah head
ber-zona, jumlah byte per track bervariasi sehingga memunculkan (0,5 ms per sektor). Jadi, setelah pembacaan sebuah dan reposisi head,
persoalan kalkulasi yang lebih kompleks atau menyulitkan.
490 Organlsasl dan Arsitektut Komputu Bab 10 Peripheral Kompulor 49r
maka head sekarang berada pada track 13, pada empat sektor yang lalu, dua permukaan, atas dan bawah. Jadi, totaljumlah head baca/tulis
awal sektor telah dibaca pada track 12. yang diperlukan dalam HDD sama dengan dua kalijumlah piringan
Sektor dapat ditulisi dalam urutan yang berbeda dengan urutan ketika yang dimilikinya.
mereka dibaca. Jadi track 13 dapat ditulisi dimulai pada sektor 5. Waktu 3. Mekanisme penempatan head pada FDD menggunakan sebuah
untuk menulisi track 13 adalah 16 ms, dan waktu untuk semua transfer motor stepper. Pada HDD tersedia dua opsi yaitu:
menjadi: 16 ms + 2 ms + t6 ms = 34 ms. Catatan bahwa delay rotasi a) Mekanisme motor stepper (open-loop disk drivel
adalah nol untuk contoh ini karena head mendarat pada awal sektor b) Mekanisme voice coil servo (closed-loop disk drivel
pertama yang akan ditulisi. 4. Diskette pada FDD diputar pada kecepatan rendah, biasanya pada
300 rpm atau 360 rpm. Sedangkan piringan pada HDD diputar pada
kecepatan tinggi, biasanya pada 2400 rpm, 3600 rpm, 4800 rpm
10.6.5 Floppy Disk Drive versus Hard Disk Drive atau 7200 rpm.
Disk drive yang umum digunakan adalah floppy disk drive (FDD) dan 5. Jumlah track pada floppy disk lebih sedikit-biasanya 40 atau 80.
hard disk drive (HDD). Pada HDD, media yang digunakan berupa piringan Kerapatan/densitas track biasanya 48 TPI (track per inch) atau 96
sirkular yang kaku. Pada FDD, medianya berupa disk sirkular yang lebih TPl. Pada HDD, densitas track memungkinkan lebih tinggi dan
fleksibel yang dikenal dengan diskette. HDD memberikan kinerja yang lebih bahkan bisa sampai 1000 TPl. Jumlah track bergantung pada
baik daripada FDD karena beberapa alasan: ukuran hard disk, L4" ,8", 5y4" ,3 Yz" , atau 2/2".
6. Karena kecepatan rotasi hard disk lebih tinggi dari floppy diskette,
1. Kapasitas penyimpanan data yang lebih besar maka densitas perekaman BPI (bit per inch) dalam HDD adalah
2. Waktu pengaksesan data lebih cepat lebih tinggi dari densitas pada FDD.
3. Kecepatan transfer data (rote) lebih besar
4. Keandalan operasi lebih baik
to.7
5. Kerusakan/hilang data atau error lebih sedikit
RAID
Beberapa konsep umum antara FDD dan HDD: Pada tahun 1988, David Patterson, Garth Gibson dan Randy Katz dari
Univeristas California di Barkeley mengusulkan sistem penyimpanan yang
1. Data ditulis dalam bit demi bit pada disk berbasis banyak disk, yang disebutnya RAID (Redundont Arroy of
2. Untuk penambahan bit data, bit clock juga ditulis pada medium lnexpensive Disks). Karena istilah "inexpensivd' adalah relatif dan dapat
3. Data direkam pada track sirkular yang konsentrik menyesatkan, maka diusulkan mengganti akronim tersebut yang sekarang
4. Rotasi disk pada kecepatan tetaP sudah umum diterima yaitu " Redundant Array of lndependent Disks" .
5. Head merupakan head yang dapat bergerak
Pada makalah tersebut, Patterson, Gibson dan Katz menetapkan lima
Beberapa perbedaan konsep antara FDD dan HDD: tipe (disebut level) RAID tetapi tidak menunjukkan hierarki. Setiap level
1. Head pada floppy disk menyentuh permukaan media ketika operasi mempunyai karakteristik kinerja dan keandalan yang berbeda-beda. Level-
baca/tulis. Pada HDD, head baca/tulis tidak menyentuh permukaan level yang orsinil adalah level 1 sampai level 5. Definisi RAID level 0 dan
media ketika operasi baca/tulis. Head melayang di atas disk pada Ievel 6 dikenal belakangan. Berbagai vendor (penjaja) menemukan level-
jarak dekat, disebut sebagaiflying height. level yang lain yang kemudian juga menjadi standar. Mereka umumnya
2. FDD mempunyai maksimum dua head baca/tulis karena diskette mengombinasikan (hybridl level-level RAID tersebut yang dapat diterima.
mempunyai dua permukaan. Hard disk dapat mempunyai banyak
piringan yang ditopang oleh sebuah poros spindle sehingga HDD
akan mempunyai multi-head baca/tulis. Setiap piringan mempunyai
492 Organisasi dan Arsileklur Kompuler Bab l0 Peripheral Kompulor 493
LO.7.L RAID Level 0 disebut mirror set, atau shadow set (seperti yang ditunjukkan pada Gambar
L0.18). Susunan ini menawarkan kinerja yang dapat diterima, khususnya
RAID level 0 atau
RAID-0 menempatkan blok-blok data pada stripe jika mirror drive disinkronisasikan 18Oo di luar rotasi dengan drive-drive
dalam beberapa permukaan disk agar sebuah record menempati sektor utama. Walaupun kinerja pada penulisan lebih lambat dari RAID-O (karena
atau beberapa permukaan disk seperti yang ditunjukkan pada Gambar data harus ditulis dua kali), pembacaan lebih cepat karena sistem dapat
10.17. Metode ini disebut juga dengan drive spinning, block interleove dato
membaca dari lengan disk yang terjadi dekat dengan sektor target. Hal ini
striping atau drsk striping. Tidak seperti level RAID lainnya, RAID-O tidak mengurangi rotational deloy setengahnya pada pembacaan. RAID-1 sangat
menawarkan redundoncy sehingga RAID-0 memberikan kinerja yang paling
cocok untuk orientasi transaksi, high-availability environment, dan aplikasi
baik khususnya jika kontrolernya dipisahkan dan digunakan cache untuk lain yang memerlukan fault tolerance tinggi seperti akuntansi atau daftar
setiap disk. RAID-0 sangat mahal. Masalah dengan RAID-0 terletak pada
caji.
fakta bahwa keandalan sistem keseluruhan hanya pada sebuah bagian yang
akan diharapkan pada sebuah disk tunggal. Secara spesifik jika array berisi
lima disk, masing-masing dengan desain umur 50.000 jam (atau sekitar 6
tahun), sistem keseluruhan mempunyai harapan desain umur 50.000/5 =
10.000 jam (atau sekitar 14 bulan). Jika jumlah disk meningkat, probabilitas
kegagalan meningkat pada titik di mana dia mencapai kepastian. RAID-0
tidak menawarkan fault toleronce karena tidak ada redundancy. Karena itu,
RAID-O hanya menawarkan keuntungan kinerja. Keandalannya benar-benar
ffiffiffiffiffiffiffiffi
Gambar tO,LB RAID-l (disk mirroring)
kurang. RAID-0 direkomendasikan untuk data yang tidak kritis (atau data
yang sering mengalami perubahan dan di-back up secara reguler) yang
memerlukan pembacaan dan penulisan kecepatan tinggi, dan harga murah LO.7.3 RAID Level 2
dan yang digunakan pada aplikasi sepertivideo atau pengeditan citra.
Masalah utama pada RAID-1 adalah harganya yang mahal; diperlukan
jumlah disk dua kali lipat untuk menyimpan sejumlah data. Sebuah cara
yang lebih baik adalah mencurahkan satu atau lebih disk untuk
penyimpanan informasi pada disk yang lain. RAID-2 menetapkan salah satu
daridua metode ini.
RAID-2 memberikan ide data striping yang ekstrem. Sebagai pengganti
penulisan data pada blok-blok dengan ukuran berubah-ubah, RAID-2
menulis satu bit per strip (seperti yang ditunjukkan pada Gambar 10.19).
Hal ini memerlukan delapan permukaan yang hanya untuk mengakomodasi
Gambar lO.L7 RAI D-0 ( no n red u nda nt) data. Drive-drive tambahan digunakan untuk informasi koreksi error yang
dibangkitkan menggunakan sebuah kode Hamming. Jumlah drive kode
Hamming diperlukan untuk membetulkan single-bit error yang sebanding
tO.7.2 RAID Level 1 dengan catatan jumlah drive-drive data yang akan diproteksi. Jika satu dari
RAID level 1 atau RAID-1 (dikenal juga dengan disk mirroringl salah satu drive pada array gagal, maka word-word kode Hamming dapat
memberikan proteksi kegagalan yang terbaik dari semua skema RAID. digunakan untuk rekonstruksi drive yang gagal. (Jadi jelas, drive Hamming
Setiap saat data ditulis dalam duplikasi pada set kedua dari drive yang dapat dikonstruksi menggunakan drive-drive data.)
494 Organisasi dan Arsitektur Kompuler Bab 10 Peripheral Kompulor 495
Karena satu bit ditulis per drive, keseluruhan disk set RAID-2 bertindak Suatu drive yang gagal dapat direkonstruksi menggunakan kalkulasi yang
seolah-olah berada pada satu disk data yang besar. Jumlah total penyim- sama. Misalnya, anggap drive nomor 5 gagal dan diganti. Data pada tujuh
panan yang tersedia merupakan penjumlahan kapasitas penyimpanan dari drive yang lain dan drive parity digunakan sebagai berikut:
drive-drive data. Semua drive, termasuk drive-drive Hamming-harus
disinkronisasikan secara tepat, sebaliknya data menjadi teracak (scromblel ba= bo@ bt@ bz@ be@ bqe $ra PqTitya S,
dan drive-drive Hamming tidak baik. Pembangkitan kode Hamming RAID-3 memerlukan duplikasi yang sama dan sinkronisasi seperti RAID-2,
memakan banyak waktu; jadi RAID-2 terlalu lambat untuk implementasi tetapi lebih ekonomis daripada RAID-1 atau RAID-2 karena dia hanya
komersial pada umumnya. Saat ini hard drive mempunyai koreksi error CRC menggunakan drive untuk proteksi data. RAID-3 telah digunakan beberapa
yang terpadu (built-in). Namun, RAID-2 membentuk jembatan teoretis tahun pada sejumlah sistem komersial, tetapi tidak cocok untuk aplikasi-
antara RAID-1dan RAID-3, di mana keduanya digunakan dalam dunia nyata. aplikasi tronsoction-oriented. RAID-3 lebih berguna untuk lingkungan di
mana blok-blok besar dari data akan dibaca atau ditulis, seperti pada
Drlve data pemrosesan video atau citra.
,ffiffiffiffii ASCII'W+i
nibel atas
ASCII'W'+i L-
nibelbawah
i
_qt!_ry-
ffiffiffii
_._.............9tr.".:.*TT.l!.q.-
*; renty (genaD)
t i
i ...,I.*s$Jry " !rt**ll*i$i i
-$i..ffi.,.,B \._*ffitr,
-Tm* f.ruIl j
Huruf ASCII I\IbOI
atat
NibeI
baweh
!'t 0101 0111 0 I
Gambar lO.Lg RAID-2 (redundoncy meloluikode Hamming)
I 0100 010I 1 0
A 0100 0001 I I
T 0l0l 0100 0 I
H 0100 1000 1 I
E 0100 0101 1 u
L0.7.4 RAID-Leve! 3 & 0r01 0010 0 1
LO.7.7 RAID-Level 6
r-e, ffir@P)
Pada umumnya sistem RAID hanya dibahas bahwa dapat tahan
terhadap kegagalan satu disk pada satu waktu. Masalahnya adalah
kegagalan drive pada sistem-sistem besar cenderung untuk masuk dalam ffiffiffi
cluster-cluster. Terdapat dua alasan untuk hal ini, pertama pabrik disk drive
memperkirakan waktu yang sama mencapai akhir umur manfaat yang
diharapkan kira-kira bersamaan. Jadi, jika Anda mengatakan bahwa disk
drive baru kepunyaan Anda memiliki umur manfaat sekitar enam tahun,
Anda dapat berharap masalah-masalah dalam enam tahun, kemungkinan
"rc,ffi,ffi p = parity
0 = Reed-Soloman
terjadi kegagalan-kegagalan secara bersamaan. Alasan yang kedua, Gambar LO.Z! Block interleave doto striping dengon proteksi duol error
kegagalan disk drive seringkali disebabkan oleh kejadian yang merupakan
bencana besar seperti sentakan power. sebuah sentakan power Hingga saat ini, tidak ada penyebaran komersial RAID-5. Ada dua
menghantam semua drive pada waktu yang singkat, ini pelemahan pertama
alasan. Pertama, terdapat sebuah sizeoble overheod penalty yang dilibatkan
terjadi, diikuti dengan pelemahan-pelemahan berikutnya dan seterusnya.
dalam pembangkitan kode Reed-Soloman. Kedua, operasi baca/tulis
Kegagalan-kegagalan disk beruntun seperti ini dapat terjadi dalam seharian
sebanyak dua kali diperlukan untuk memperbarui kode-kode error-
atau mingguan. Jika mereka terjadi dalam MTTR (meo n time to repoirl,
correcting yang tersimpan pada disk. IBM yang pertama yang membawa
termasuk call time dan trovel time, disk yang kedua dapat gagal sebelum
RAID-6 ke pasaran dengan RAMAC RYA2 turbo disk arroy-nya.
disk pertama diganti, dengan demikian salinan semua .rr.y iid.k d.p.t
diservis dan tidak berguna.
10.8 PITA MAGNETIK
sistem yang memerlukan ketersediaan (ovaitobilityl tinggi harus
mampu untuk tahan terhadap lebih dari satu kegagalan drive secara Pita magnetik biasanya (typicoll mempunyai head baca/tulis tunggal di
bersamaan, khususnya jika MTTR adalah sebuah bilangan yang besar. Jika mana head untuk pembacaan dan penulisan dipisahkan, Bila dilakukan
sebuah array dirancang untuk tahan terhadap kegagalan bersama dari dua penulisan, lilitan pita plastik (mylar) dengan selimut magnetik yang
drive, diperoleh MTTR efektif dua kali lipat. RAtD-1 menawarkan ketahanan melewati head akan memagnetisasi pita tersebut. Dan jika dilakukan
jenis ini; kenyataannya selama sebuah disk dan mirror-nya keduanya pembacaan, maka data yang di-sense (terdeteksi) akan disimpan. Pita
tidak
terhapus, array RAID-1 dapat bertahan kehilangan separuh dari disk-nya. magnetik lebih murah untuk penyimpanan data yang besar, tetapi lambat
karena pada waktu mengakses bagian pita tertentu, head harus melewati
RAID-6 menyediakan suatu jawaban ekonomi terhadap masalah bagian-bagian pita lain yang ada sebelumnya secara serial.
kegagalan multidisk. Hal ini dilakukan dengan menggunakan dua set strip
error-correcfion untuk setiap ronk (atau baris horizontal) drive. sebuah level
lnteffecord
proteksi kedua ditambahkan dengan menggunakan kode-kod e Reed-
Solomon error-correction di samping parity. Mempunyai dua error-detecting
a co
strip per strpe meningkatkan biaya penyimpanan. Jika unprotected dato a
I
ta
la
dapat disimpan pada N drive, penambahan proteksi RAID-6 memerlukan N
t
t
I
E
alt
necoro t
I
t
aa
oo
+ 2 drive. Karena parity dua dimensi, RAID-G menawarkan kinerja penulisan a ta
yang sangat buruk. Konfigurasi RAID-6 ditunjukkan pada Gambar
10.23. Fi[e
lnformasi yang disimpan pada pita dilakukan dengan dua-dimensi seperti atau emas. Permukaan yang bening/terang ini kemudian dibalut dengan
yang diilustrasikan pada Gambar L0.24. Bit-bit disimpan pada selebar pita selimut akhir dari bahan acrylic bening untuk melindungi dari debu dan
dalam suatu frame dan sepanjang pita dalam bentuk record-record. File goresan. Terakhir label dapat dibuat di atas permukaan acrylic.
dibuat dengan kumpulan record-record. Record adalah data yang terkecil
yang dapat dibaca dari atau ditulis ke pita. Pita magnetik cocok untuk
penyimpanan data dalam jumlah besar seperti backup dari disk atau citra
hasil pindai, tetapitidak cocok untuk pembacan dan penulisan akses acak.
*t
502 Organisasi dan Arsitektur Komputer Bab 10 Peripheral Kompuler 503
10.11 SCANNER plotter, flatbed plotter. Pada drum plotter, drum (silinder panjang)
berputar. Sebuah pena bergerak secara horizontal. Pada micogrip plotter,
Scanner adalah suatu perangkat input yang mengubah gambar dan teks medium dipegang pada bagian pinggir dan digerakkan balik dan seterusnya.
menjadi sebuah data stream. Ada empat jenis scanner yaitu: Pada flatbed plotter, pena digerakkan sepanjang sumbu X dan Y. Untuk
4. Drum Sconner
mengontrol pergerakan pada langkah digital pendek, maka digunakan
5. Flotbed Sconner
motor stepper. Photo plotter menggunakan teknologi serat optik untuk
6. Sheetfed Sconner menghasilkan citra pada kertas silver kering.
7. Hand-held Sconner Plotter tersedia dalam berbagai ukuran mulai A4, 43 dan seterusnya.
Drum sconner. Adalah produk yang mempunyai kualitas dan harga yang Walaupun plotter mahal, mereka menyediakan kualitas gambar yang sangat
baik. Gambar-gambar teknik dapat disiapkan lebih cepat dan indah dengan
tinggi, sedangkan hand-held merupakan kebalikan yang ekstrem. Sebuah
plotter. Ada dua metode antarmuka yang dapat dilakukan pada plotter
drum scanner menggunakan sebuah tabung photo-multiplier yang
yaitu dengan antarmuka serialdan antarmuka paralel.
merupakan perangkat pengindra cahaya. Drum scanner menawarkan
sensitivitas tinggi dan signal-to-noise ratio yang tinggi. Citra yang di-scan
ditangani oleh sebuah drum berputar.
Flotbed sconner. Material yang akan di-scan (gambar atau teks)
diletakkan pada permukaan plat glass di dalam scanner. Sebuah sumber
cahaya dan sebuah CCD (chorge coupled devicel ditancapkan pada suatu
pembawa yang bergerak. CCD memungkinkan konversi cahaya (dan
bayangan cahaya) menjadi pulsa-pulsa listrik. Scanning head terdiri atas
CCD yang bergerak melintasi gambar-gambar.
Sheetfed sconner, Pada sheetfed scanner kertas ditarik pada scan head
sebagai pengganti head yang dapat bergerak pada halaman. Ukurannya
yang kecil merupakan keuntungan, tetapi mekanisme yang kurang tepat
dapat mengakibatkan kertas yang di-scan miring.
Hond-held sconner. Merupakan scanner yang dapat digenggam dan
digerakkan pada dokumen dengan manual. Harga yang murah dan porta-
bilitas merupakan keuntungan, tetapi kualitasnya rendah.
LO.Lz PLOTTER
Plotter adalah suatu perangkat output grafik yang digunakan untuk
membuat gambar pada kertas. Ada dua jenis plotter yaitu pen plotter dan
photo plotter. Pen plotter adalah sebuah perangkat elektromekanik. Sebuah
pena digerakkan pada dua dimensi (naik/turun dan kiri/kanan) melintasi
media kertas atau film. Pena-pena bertinta biasanya digunakan dalam
plotter. Pen plotter mempunyai banyak jenis:- drum plotter, microgrip
506 orsan isasi o.n orytclglIglPglgI Bab 10 Peripheral Komputor 507
:
RTNGKASAN
Perangkat-perangkat peripheral membolehkan interaksi antara 1. Ada tiga fungsi utama yang dikerjakan oleh keyboard elektronik
pengguna dan komputer. Keyboard adalah sebuah perangkat input. Bila meliputi: (1) pengindraan tombol yang ditekan, (21 encoding, dan (3)
sebuah tombol ditekan, maka elektronika keyboard mentransmisikan
sebuah kode ke cPU. Elektronika keyboard juga menangani masalah 2. Keyboard mengikuti teknik standar pengenalan karakter yang dikenal
peralihan (roll-overl tombol-tombol dan masalah pelentingan tombol dengan
(switch bouncing). Mouse adalah perangkat penunjuk yang mendukung 3. Ada beberapa jenis tombol keyboard, misalnya: (1) mechanical
antarmuka pengguna grafis. Monitor cRT adalah sebuah perangkat output keyswitch (21membrone keyswitch, dan (3)
yang menampilkan informasi video. Sebuah berkas elektron menghantam 4. Keyboard yang umum digunakan adalah yang mempunyai tata letak
layar cRT yang menyebabkan iluminasi. Proses scanning melibatkan tombol-tombol berdasarkan standar
pantulan balik beam yang melintasi layar yang membuat citra permanen. 5. Kode 7-bit yang umum digunakan sebagai kode teks adalah ASCII yang
merupakan singkatan dari _.
Printer merupakan perangkat output populer yang menyediakan 6. Tampilan/layar video yang menggunakan teknologi tabung hampa
sebuah keluaran 'hard copy yang dapat terlihat mata. Dia menerima dinamakan
karakter-karakter dari komputer dan mencetaknya pada kertas' Printer dot 7. Tampilan/layar video yang menggunakan teknologi kristal cair
matrix, printer laser, dan printer inkjet merupakan jenis-jenis printer yang dinamakan
populer. Printer laser dan inkjet adalah printer yang tidak melakukan 8. Ada dua kelompok printer yaitu (1) impoct printer dan (2)
hantaman langsung pada kertas (non-impoct printerl sedangkan printer dot 9. Jenis printer yang mencetak karakter berdasarkan kontak fisik (atau
matrix merupakan impact printer. Pada printer inkjet, pencetakan dilakukan tekanan) antara head (hammer, pin atau font) dengan pita tinta ke atas
dengan penyemprotan tinta secara beruntun pada sebuah titik untuk kertas, disebut jenis
membentuk sebuah citra. 10. Contoh printer untuk jenis impact printer yaitu: (1) printer dot matrif,
Floppy disk drive dan hard disk drive adalah perangkat penyimpanan (2) printer _.
magnetik dengan melakukan pemutaran disk. Hard disk menggunakan 11. Printer laser merupakan printer jenis _.
sebuah flat keras sedangkan pada floppy disk menggunakan sebuah flexible 12. Bagian dari hard disk drive (disk magnetik) yang berfungsi untuk
diskette. Floppy head menyentuh media ketika melakukan operasi membaca/menulis data disebut
baca.tulis, tetapi hard disk head tetap di atas permukaan disk. Mekanisme 13. Hard disk drive yang sifatnya dapat langsung dilepaskan jika tidak
penempatan head pada sebuah hard disk rumit karena melibatkan digunakan disebut
mekanisme servo. Floppy disk drive umumnya menggunakan mekanisme 14. Pada dasarnya dikenal dua posisi head yaitu (1) fixed head, dan (2)
motor stepper. Compoct Disk (CD) menggunakan teknologi optik. Berkas
laser digunakan untuk penyimpanan informasi dalam sebuah track 15. Kerugian fixed head karena pada setiap harus terdapat satu
berbentuk spiral pada cD. cD-RoM adalah media penyimpanan read-only. head.
cD-R membolehkan satu kali perekaman (penulisan) dan CD-RW 16. Permukaan disk dibagi dalam lingkaran-lingkaran konsentrik (lingkaran
membolehkan operasi baca/tulis yang mirip dengan floppy. dalam lingkaran) yang disebut
17. Kumpulan semua track yang berada dalam posisi yang relatif
sebuah modem berfungsi untuk mendukung komunikasi jarak jauh'
sama/sejajar pada susunan piringan disebut
scanner, Plotter dan Light pen merupakan peripheral khusus yang diguna- -.
18. Track dibagi menjadi bagian-bagian yang disebut yang
kan dalam aplikasi yang berbeda.
berbentuk seperti kue pie.
508 Organisasi dan Arsitektur Komputsr Bab 10 Peripheral Konrputor 509
19. Antara satu track dengan track di sebelahnya dipisahkan dengan 34. Untuk melakukan link dari sebuah komputer ke saluran telepon maka
sebuah Demikian halnya pada sektor. dibutuhkan perangkat yang melakukan proses modulasi dan
20. Ukuran fisik sektor semakin mendekati pusat cakram maka semakin demodulasi yang lazim disebut
35. Scanner adalah suatu perangkat input yang mengubah gambar dan teks
21. Bit yang dekat dengan pusat disk yang berputar melewati sebuah titik menjadi sebuah data stream. Ada empat jenis scanner yaitu: (71 drum
tetap (seperti head baca/tulis) kecepatannya lebih daripada bit sconner, (21 Ilatbed sconner, (31 sheetfed sconner, dan (a)
terluar.
22. Organisasi sektor pada disk dikenal ada dua yaitu: (1) constont ongulor
velocity, dan (2)
23. Parameter-parameter yang menentukan kinerja suatu disk meliputi (1)
seek time, (21 rotational deloy, (3) occess time, dan (4) _.
Sebuah tampilan bit mapped lebar 1024 pixel dengan tinggi 1024 pixel.
24. Pada sistem movable heod waktu yang dibutuhkan oleh pergerakan
Kecepatan refresh 60 Hz, yang berarti setiap pixel ditulisi kembali ke
head untuk mencari track yang sesuai disebut
layar 50 kali dalam satu detik, tetapi hanya satu pixel setiap saat.
25. Waktu yang dibutuhkan oleh pergerakan putaran piringan untuk
Berapakah waktu maksimum yang diizinkan untuk menulisi sebuah
mencapai sektor yang sesuai disebut
pixeltunggal?
25. Jumlah/total waktu antara seek time jika ada dan rotational delay
2. Anggap sebuah disk drive mempunyai karakteristik berikut:
disebut dengan yang merupakan waktu untuk mulai melakukan
pembacaan atau penulisan. '.4 Permukaan
t024 track per permukaan
27. Ketika head telah berada pada posisi yang sesuai, maka operasi baca t 728 sektor per track
atau tulis pada sektor dilakukan, dan ketika bagian data diperoleh dan 5L2 byte persektor
'
ditransfer ke head disebut sebagai r Seek time dari track ke track 5 ms
28. Pada tahun 1988, David Patterson, Garth Gibson dan Randy Katz dari . Kecepatan rotasi 5000 RPM
Univeristas California di Barkeley mengusulkan sistem penyimpanan
yang berbasis banyak disk, yang disebut
a) Berapakah kapasitas disk?
29. Tidak seperti level RAID lalnnya, RAID level
b) Berapakah waktu akses (occess timel?
tidak menawarkan 3. Anggap sebuah disk drive mempunyai karakteristik berikut:
redundancy sehingga RAID ini memberikan kinerja yang paling baik
'.5 permukaan
khususnya jika kontrolernya dipisahkan dan digunakan cache untuk
LO24 track per permukaan
setiap disk. . 256 sektor per track
30. RAID level (dikenal juga dengan disk mirroring) memberikan . 5L2 byte persektor
proteksi kegagalan yang terbaik dari semua skema RAID. . Seek time dari track ke track 8 ms
31. Pita magnetik merupakan media penyimpanan yang relatif lambat r Kecepatan rotasi 7500 RPM
dibandingkan dengan disk magnetik karena pengaksesannya dilakukan
a) Berapakah kapasitas disk?
secara
b) Berapakah waktu akses (occess timel?
32. Disk optik menggunakan _ untuk membaca data yang terkode c) Manakah yang lebih cepat dibandingkan waktu akses pada soal
pada permukaan reflektif.
No.2b?
33. CD ROM terdiri atas aluminium yang dibungkus plastik, atau bahan dari
4. Sebuah hard disk mempunyai dua permukaan. Area penyimpanan pada
resin seperti polycarbonate yang memantulkan cahaya berbeda pada
setiap permukaan mempunyai radius terdalam 1 cm dan radius terluar
(ll land (tonjolan), dan (2)
5 cm. Setiap track menyimpan bit dengan jumlah yang sama, walaupun
510
Organisasi dan Arsiteklur Kompuler
Tumpangtindih
11.1 STRATEGI PENINGKATAN KINERJA
Kinerja komputer diukur dari waktu yang digunakan dalam mengekse-
kusi program. Eksekusi program melibatkan pelaksanaan siklus instruksi, Tumpangtindih Tumpangtindih Memorl Proseror
cPU-t/o CPU-Memorl
termasuk dua macam aktivitas: I
DMA
I
r_*_l-1
Prelatch LYrito Memorl
instruksi buffer cache
i+
I
Pipeline Multiple
functlonal
sebagainya. unlt
2. Tronsfer informasi antara unit-unit fungsional hardware untuk
pengambilan instruksi, pengambilan operand, operasi l/O, dan
lnteileeve Tumpngtindih Aktes
sebagainYa. memori sr*Ius bus multimemori
Strategi tumpang tindih menggunakan operasi-operasi konkuren me- Arllllktur Pomrotr*an Pomromttn Ardl0ttrr Ardt*lll
lalui unit-unit fungsional heterogen, sedangkan paralelisme menggunakan rkrlar wlcor mol$pronor tomputor
rtrrtd!r
operasi-operasi konkuren melalui unit-unit fungsional homogen'
Gambar 11.1 menunjukkan teknik-teknik tumpang tindih yang biasa
digunakan, sedangkan pada Gamb ar Ll.2 menunjukkan teknik-teknik
r---r--t
Unh fitfi&/r
fungConal firncdodr,
I
paralelisme. secara garis besar disebukan ada dua level paralelisme: turggrt m& ilnuffiph Oulol llrehd Plntrcn
hptruitloa odct rpckul.ttf lembdl
phcllnc qxaculon actlilr,
1. Paralelismelevelinstruksi
2. Paralelisme level Prosesor Gambar lL.Z Teknik-teknik porqlelisme
dapat dicapai dengan menggunakan lebih dari satu prosesor dalam sistem geser dapat dipisah menjadi tiga unit dan mengubah tujuan operand-
komputer tunggal (sistem multiprosesor) atau pendistribusian tugas-tugas operand ke setiap unit di bawah pengawasan unit kontrol.
di antara sejumlah sistem komputer yang di-link seperti cluster atau Pada Gambar 11.3 ditunjukkan suatu cara yang memungkinkan
jaringan. pemisahan unit eksekusi menjadi delapan unit fungsional yang bekerja
secara paralel. Operand-operand dalam register diberikan ke salah satu unit
LL.z KLASIFtKASI PARALELISME (KlASlFlKAS! bergantung pada operasi yang ditetapkan oleh instruksi yang sesuai dengan
operand. Operasi dilakukan pada setiap unit fungsional ditunjukkan pada
FLYNN) masing-masing blok dari diagram. Penjumlah dan pengali integer
Pemrosesan paralel adalah istilah yang digunakan untuk menunjukkan melakukan operasi aritmetika dengan bilangan integer. Operasi floating-
suatu teknik tingkat tinggi yang digunakan untuk menyediakan tugas-tugas point dipisahkan dalam tiga sirkuit yang bekerja secara paralel. Operasi-
pemrosesan data secara simultan/bersama yang bertujuan meningkatkan operasi logika, geser dan inkrement dapat dilakukan secara bersama pada
kecepatan komputasi dari suatu sistem komputer. Teknik ini menggantikan data yang berbeda. Semua unit terpisah satu dengan yang lain, sehingga
pemrosesan yang dilakukan pada komputer konvensional di mana satu bilangan dapat digeser sementara bilangan lainnya sedang di-
pemrosesan setiap instruksi dilakukan secara sekuensial. Sistem inkrement. Organisasi multifungsional u mumnya berhubungan dengan unit
pemrosesan paralel dapat melakukan pemrosesan data secara bersama kontrol yang kompleks untuk mengoordinasi semua aktivitas di antara
untuk memperoleh waktu eksekusiyang lebih cepat. Misalnya, ketika suatu berbagai komponen.
instruksi sedang dieksekusi oleh ALU, maka instruksi berikutnya dapat Klasifikasi pemrosesan paralel dibagi dalam beberapa cara. Dapat
dibaca dari memori. Sistem bisa mempunyai dua atau lebih ALU dan dapat ditinjau dari organisasi internal prosesor, dari struktur interkoneksi
mengeksekusi dua atau lebih instruksi pada saat yang sama' Selanjutnya, antarprosesor, atau dari aliran informasi melalui sistem. Satu klasifikasi
sistem dapat mempunyai dua atau lebih prosesor yang bekerja secara yang diperkenalkan oleh M.J. Flynn memandang organisasi sebuah sistem
bersama. Tujuan pemrosesan paralel adalah untuk meningkatkan komputer pada jumlah instruksi dan data yang dimanipulasi secara
kemampuan kecepatan pemrosesan komputer dan meningkatkan simultan. Operasi normal suatu komputer adalah mengambil instruksi dari
throughput komputer, jadi sejumlah pemrosesan tersebut dapat memori dan mengeksekusinya di dalam prosesor. Urutan instruksi dibaca
dimanfaatkan ketika terjadi interval waktu (kekosongan). Jumlah hardware
dari memori yang merupakan bagian dari suatu instruction streom. Operasi-
bertambah pada pemrosesan paralel, sehingga biaya sistem meningkat. operasi dilakukan pada data dalam prosesor merupakan bagian dari suatu
Namun, perkembangan teknologi mampu mengurangi biaya hardware doto streom. Pemrosesan paralel dapat terjadi dalam instruction stream,
tersebut di mana teknik-teknik pemrosesan paralel masih layak secara dalam data stream, atau keduanya. Klasifikasi Flynn membagi komputer
ekonomi. menjadi empat kelompok utama:
Pemrosesan paralel dapat ditinjau dari berbagai level kompleksitas' 1. Single instruction streom, single doto streom (SISD)
Pada level terendah, kita membedakan antara operasi paralel dan operasi 2. Single instruction stream, multiple doto streom (SIMD)
serial berdasarkan penggunaan jenis register. Register geser bekerja dengan 3. Multiple instruction streom, single doto streom (MISD)
cara serial satu bit dalam satu waktu, sementara register paralel bekerja di 4. Multiple instruction streom, multiple data streom (MIMD)
mana semua bit diproses secara simultan. Pemrosesan paralel pada tingkat
kompleksitas tinggi dapat dicapai dengan mempunyai unit fungsional
perkalian yang melakukan operasi yang sama atau operasi yang berbeda
secara simultan. Pemrosesan paralel dibangun dengan pendistribusian data
antara unit-unit fungsionaljamak. Misalnya, operasi aritmetika, logika, dan
516 Organisasi dan Arsitektur Komputor Bab 11 Pipelining dan Ponrrososnrr Voklor 517
clock yang lebih tinggi. Metode lain adalah pengoperasian secara paralel
Contoh 11.1 unit-unit multi untuk suatu tingkat tunggal. Pada pipeline ideal, waktu yang
Sebuah program menggunakan 500 r1s untuk eksekusi pada sebuah digunakan oleh setiap tingkat adalah sama. waktu ini adalah durasi periode
prosesor non-pipeline. Anggap kita ingin menjalankan 100 program clock.
denga, tipe yang sama pada prosesor pipeline lima tingkat dengan
perioda clock 20 r1s. Berapa rasio speed-up dari pipeline? Berapa speed-
11.3.3 Pipeline Bubble
up maksimum yang dapat dicapai? Berapa throughput?
Untuk menyelesaikan instruksi tertentu, beberapa langkah dalam
Solusi:
pipeline ada yang tidak relevan, hal ini disebut 'pipeline bubble,, Untuk
Waktu yang digunakan oleh satu program pada prosesor non-pipeline
: mntc: 500 qs. Anggap siklus instruksi menggunakan lima clock
beberapa instruksi, sejumlah langkah dalam pipeline tidak akan dikerjakan.
: :
masing-masing 20 r1s, jadi m: mnt"lnt" 500/100 5. Karena itu, satu
Misalnya, untuk instruksi NOOP, hanya ada dua langkah yang diperlukan
yaitu pengambilan instruksi dan dekode instruksi. Karena itu instruksi ini
program mempunyai 5 instruksi. Jumlah instruksi dalam 100 program =
menyebabkan'bubble' dalam pipeline setelah dua langkah pertama.
500 instruksi.
Demikian pula, instruksi LoAD tidak dikerjakan pada tingkat penulisan hasil.
Sekarang kita kalkulasi speed-up ketika 100 program dijalankan
Namun, instruksi-instruksi tersebut harus melalui semua tingkatan tanpa
dalam prosesor pipeline.
Untuk n = 5 dan m = 500, t" 20 t1s. : melompati langkah yang tidak diinginkan.
nm 5x500
Speed - uP = ---- = = 4,96 LL.3.4 Pipeline Hazard
n+m-l (5+500-1)
n:5 Pipeline beroperasi dengan efisiensi penuh asalkan program adalah
Speed-up maksimum =
suatu yang ideal yang tidak mengganggu pada tujuan penyelesaian dari satu
Efisiensi (rasio speed-up) : speed-up aktual /speed-up maks : 4,96 I instruksi untuk setiap clock. Tetapi kadang-kadang program praktis
5 :0,992:99,2Yo
mempunyai tipe yang berbeda dari hubungan antar-instruski yang
500 dihasilkan pada tempat pipeline. Dengan kata lain, ketergantungan antara
m
Throushout - -
(n+m-l)t" (5 + 500 -r)x20
=0,0496 instruksi-instruksi yang berurutan/berdekatan menyebabkan hazard di
dalam pipeline dan memengaruhi operasi mulus dari pipeline instruksi. Ada
--- tiga hal utama yang menyebabkan hazard:
sama FO (pengambilan operand) juga memerlukan akses memori t23 456 9 10 11 LZ * Siklur
dock
untuk pengambilan operand untuk instruksi berikutnya. Jelas, salah 1, ADDRI,R2
satunya akan mengalami penundaan yang memengaruhi kinerja {T suB Rl,R2
pipeline. Jika kita menunda akses memori TH, dia akan menunda
T
operasi pipeline untuk instruksi berikutnya hingga akses memoriTH
Pipclinc dirm pada dur sikh$ clock
selesai. Dengan kata lain jika kita menunda akses memori FO,
operasi parsial instruksi antara FO dan TH akan berjalan terus Gambar tL.L4 Pipeline diom karena ketergontungon dota-enom tingkat
sedangkan bagian yang mendahului FO akan tetap diam. Satu solusi
untuk mengatasi masalah ini adalah dengan menggunakan 'buffer Gambar 11.14 menunjukkan pipeline diam karena ketidaktersediaan
keluaran tulis'. Tingkat TH dengan mudah menyimpan hasil dan operand untuk tingkat FO instruksi kedua sebab instruksi pertama belum
'informasi kontrol lainnya' (yaitu alamat memori) pada buffer tulis selesai. Tidak ada yang dilakukan pada siklus clock 5 dan 6 untuk instruksi
sebagai pengganti pengaksesan memori utama. Dengan kata lain kedua dan instruksi berikutnya. Karena itu harus dibayar dengan penalti
operasi penyimpanan dalam memori utama dihilangkan dari karena ketergantungan data pada dua siklus clock. Gambar 11.15
pipeline. Sirkuit kontrol tambahan melakukan operasi penulisan menunjukkan efek yang sama pada pipeline empat tingkat. Solusi standar
memori bila memori tersedia dengan mengambil informasi dari untuk ketergantungan data disebut 'operand forwording'. Gambar 11.15
buffer tulis. lntel 80486 mengikuti teknik ini. Dia mempunyai empat mengilustrasikan konsep ini. Hasil dari bagian eksekusi (El) merupakan
buffer keluaran yang digunakan bersama oleh operasi penulisan umpan balik ke input bagian yang sama agar dia tersedia dengan mudah
memori dan operasi penulisan l/O. Karena itu jika bus tidak (sebelum diperlukan) untuk digunakan pada langkah berikutnya untuk
tersedia, diizinkan hingga empat keluar dari pipeline. Jika tetap, bus instruksi berikutnya. Unit kontrol meng-'enable' jalur ini pada waktu yang
secara kontinu tidak tersedia, maka pipeline dihentikan hingga tepat.
buffer tulis menjadi minimal kosong secara parsial.
2. Konflik sumber daya lainnya terjadi bila tingkat Fl memerlukan 123456 9 10 11 - Siklur
akses memori untuk pengambilan instruksi dan tingkat FO clock
memerlukan akses memori untuk pengambilan operand pada saat .d 1. ADD R1,R2
yang sama. Hal ini dapat diselesaikan dengan mempunyai unit-unit
{ 2. suB R1,R2
93.
memori cache terpisah untuk instruksi (cache kode) dan operand 4.
(cache data) seperti pada kasus mikropresessor Pentium. Secara 5.
bersamaan, cache kode dan cache data dapat diakses.
Gambar Ll.tS Pipeline diom kareno ketergontungan dato-kosus empdt
Ketergantungan Data tingkat
FI-fatch instruksi
Dl-dekode instruksi
Hanya digunakan pada
KAO-*kalkulalsi alamat op erand
kasus ketergantungan data
FO-fcEh operand
Fl = Fetch instruks Dl = Dekode instruksi KO = kalkulasi alamat operand OE-operasi eksekusi
E = Eksekusi instruksi TH = Tulis hasil BAT = buffer antartingkal TH-tulis hasil
Gambar LL.18 Efek penolti cobang tok-bersyorot Waktu Tunda yang Disebabkan lnstruksi Cabang
Bersyarat
Hasil-hasil instruksi cabang dalam pembatalan instruksi yang telah
lnstruksi cabang bersyarat mempunyai dua kondisi:
dieksekusi sebagian, dilakukan dengan jalan pembilasan dari pipeline dan
pipeline disegarkan kembali. Kehadiran instruksi cabang yang banyak di 1,. Kondisi yang diuji berhasil; di sini isi pipeline dibilas dan instruksi pada
dalam program mengurangi speed-up yang dicapai pipeline instruksi. Jika p alamat cabang masuk ke pipeline,
adalah hasil bagi antara jumlah instruksi-cabang terhadap total jumlah 2. Kondisi yang diuji tidak berhasil dan di sini dilakukan eksekusi sekuen-
instruksi, maka 7/p adalah faktor batas speed-up yang disebabkan instruksi sial berikutnya; jadi dalam kasus ini, isi pipeline tidak terpengaruh.
cabang.
Waktu tunda yang disebabkan oleh instruksi cabang bersyarat
Tindakan khusus dilakukan oleh hardware untuk mengindra instruksi dijelaskan menggunakan contoh berikut:
cabang sebelumnya bila berada pada antrian instruksi. Dalam kasus ini,
Anggap ada m instruksi yang akan dieksekusi. p adalah probabilitas
instruksi pada alamat cabang diambil lebih awal dari semestinya. Gambar
instruksi cabang bersyarat dan g adalah probabilitas instruksi cabang yang
11.19 mengilustrasikan efek pada instruksi cabang tak-bersyarat tersebut.
sukses. Karena itu jumlah instruksi yang menyebabkan instruksi cabang
Alamat cabang diisikan ke PC pada clock 2 daripada clock 3, instruksi
sukses adalah mpg (lihat Gambar 11.20).
diambil dari alamat ini. Penalti cabang berkurang hanya satu siklus clock.
Pada prosesor pipeline, instruksi diselesaikan pada kecepatan satu
instruksi per siklus clock. Jika tidak ada instruksi cabang di dalam kancah
(stream), rutin program selesai dalam m clock. Semua hasil instruksicabang
pada pembilasan pipeline dan pengisian kembali adalah darialamat cabang.
lnstruksi dari alamat cabang (alamat target) memerlukan n siklus clock
untuk pengeksekusian.
532 Organisasi dan Arsitoktur Komputor
Bab 11 Pipelining dnrr l'orrroliosan Vektor 533
Contoh 11.3
Sebuah program mempunyai instruksi cabang 20%. Jika dijalankan pada
prosesor pipeline lima tingkat, dari pengamatan menghasilkan pen-
cabangan sukses 60%. Hitung peningkatan kinerjanya pada prosesor
pipeline. Berapa speed-up maksimum yang mungkin jika tidak ada
pencabangan?
Solusi:
p:0,2
q:0,6
n-5
CPI: l+pq(n - l):1*0,2x0,6x(5-1)= 1,48
Prosesor non-pipline memerlukan 5 clock per instruksi
SPeed-uP 5/2:2,5 :
Speed-up maksimum jika tidak ada pencabarrgan: 5 n:
Deloyed Branch
lnstruksi yang mengikuti instruksi pencabangan (bronchrng) mem-
butuhkan delay slot, sepertiyang ditunjukkan pada Gambar 11.18 yaitu dua
delay slot dan yang ditunjukkan pada Gambar 11.19 dengan satu delay slot.
Kompiler mencoba melakukan penyusunan kembali instruksi-instruksi di
manapun agar beberapa instruksi yang tidak berhubungan akan dihilangkan
setelah instruksi pencabangan yang dapat dilanjutkan dalam pipeline. Jika
dalam situasi tersebut tidak ada instruksi yang dapat dibawa setelah
instruksi pencabangan, maka kompiler menyisipkan sebuah instruksi NOOP
LL.4 PIPELINE ARITMETIKA
setelah instruksi pencabangan. llustrasi ini dapat dilihat pada potongan Prinsip-prinsip yang digunakan dalam pipeline instruksi dapat
program berikut: digunakan untuk meningkatkan kinerja komputer dalam pelaksanaan
operasi aritmetika seperti penjumlahan, pengurangan, dan perkalian. Dalam
hal ini, prinsip-prinsip tersebut akan digunakan untuk merealisasikan sirkuit
aritmetika di dalam ALU. Pada bagian ini, kita akan membahas penggunaan
pipeline aritmetika dalam meningkatkan kecepatan aritmetika. Kita akan
mulai dengan operasi aritmetika fixed-point dan dilanjutkan dengan
pembahasan operasi aritmetika floating-point.
Tingkat-I
Tingkat-2
Pada Gambar 7L.22 ditunjukkan sebuah penjumlah CRT 4-bit yang Iingkat-3
disederhanakan. Pada kasus ini, dua operand A dan B diumpankan pada
penjumlah CRT melalui penggunaan elemen-elemen sinkronisasi, seperti
latch dengan clock. Latch ini akan menjamin perpindahan nilai carry parsial
dalam penjumlah CRT yang disinkronisasikan dengan input penjumlah
Tinglat-4
tingkat berikutnya dengan bit-bit operand yang lebih tinggi. Misalnya, cary-
out (co) pertama yang tiba dan pasangan bit kedua (ar dan bt)
disinkronisasikan pada input penjumlah penuh kedua menggunakan sebuah
latch.
Walaupun operasi penjumlah CRT yang disederhanakan tetap dalam Gambar LL.23 Pi pe I i ne pe nj u m Io ho n/pe ng u ro n g o n flooti ng po i nt
prinsip yang sama, yailu corry-out merambat secara seri melalui penjumlah,
bagian latch membolehkan beberapa (multi) pasangan operand berada
pada penjumlah dalam waktu yang sama. Misalnya, penjumlahan M pasang
538 Organisasi dan Arsitektur Kompuler Bab 11 Pipelinlng darr Pornrososnn Veklor 539
LL.4.2 Pipeline Aritmetika Titik-Mengambang dengan dua memori: satu untuk penyimpanan instruksi dan yang lainnya
untuk penyimpanan data. Dua memori kadang-kadang dapat beroperasi
Dengan menggunakan pendekatan yang sama, memungkinkan pada kecepatan yang sama dengan clock CPU dan mengarahkan ke memori
melakukan pipeline penjumlahan/pengurangan bilangan titik-mengambang cache.
(floating-point, FP). Pada kasus ini, pipeline harus dibuat berdasarkan
operasi-operasi yang diperlukan untu k melakukan penjumlahan FP. Operasi Salah satu keuntungan utama RISC adalah kemampuannya meng-
utama yang diperlukan dalam penjumlahan FP adalah pembanding eksekusi instruksi pada kecepatan (rate) satu per siklus clock. Tidak mungkin
eksponen, pensejajaran eksponen, penjumlahan, dan normalisasi. Karena mengharapkan bahwa setiap instruksi dapat diambil dari memori dan
itu, memungkinkan menyusun pipeline empat-tingkat seperti yang dieksekusi dalam satu siklus clock. Keuntungan RISC terhadap CISC (complex
diperlihatkan pada Gambar tL.23 dengan penjumlah FP. Memungkinkan instruction set computer) adalah bahwa RISC dapat mencapai segmen
mempunyai multiset operand FP dalam penjumlah secara bersamaan, jadi
pipeline dengan hanya memerlukan satu siklus clock, sedangkan CISC
mengurangi waktu keseluruhan yang dibutuhkan untuk penjumlahan FP. menggunakan banyak segmen dalam pipeline, dengan segmen paling
panjang memerlukan dua atau lebih siklus clock.
Sinkronisasi latch dibutuhkan, untuk sinkronisasi operand pada input
tingkat dalam penjumlah FP. Karakteristik RISC yang lain adalah mendukung kompiler dalam
menerjemahkan program bahasa tingkat tinggi menjadi program bahasa
11.5 PIPELINE MESIN RISC mesin. Sebagai pengganti perancangan hardware dalam penanganan
kesulitan-kesulitan yang berhubungan dengan konflik data dan penalti
Salah satu karakteritik yang dimiliki RISC (reduced instruction set pencabangan (bronch penolties), prosesor RISC mengandalkan efisiensi
computerl adalah kemampuannya yang dapat digunakan untuk mengefi- kompiler untuk mendeteksi dan mengurangi waktu tunda (delay) yang
sienkan pipeline instruksi. Kesederhanaan instruction set dapat digunakan menyertai masalah ini.
u ntuk mengimplementasikan suatu pipeline instruksi menggunakan jumlah
sub-operasi yang sedikit dengan mengeksekusinya masing-masing dalam
satu siklus clock. Karena alasan format instruksinya adalah fixed-length,
1T.6 PEMROSESAN VEKTOR
pendekodean (penerjemahan) operasi dapat terjadi pada saat yang Prosesor vektor digunakan untuk komputasi saintifik kinerja tinggi,
bersamaan ketika pemilihan register. Semua instruksi manipulasi data biasanya aritmetika vektor dan matriks. Komputer dengan kemampuan
mempunyai operasi register-ke-register. Karena semua operand berada pemrosesan vektor umumnya untuk aplikasi khusus misalnya:
dalam register, maka tidak diperlukan kalkulasi alamat efektif atau
pengambilan operand dari memori. Karena itu, pipeline instruksi dapat
t Peramalan cuaca
diimplementasikan dengan dua atau tiga segmen. Satu segmen mengambil
. Ekspolarasi minyak
instruksi dari memori program, dan segmen lainnya mengeksekusi instruksi
. Analisis data seismik
dalam ALU. Segmen yang ketiga dapat digunakan untuk menyimpan hasil
. Diagnosa medis
operasi ALU dalam sebuah register tujuan.
. Simulasi penerbangan luar angkasa dan aerodinamik
' lntelejensi tiruan dan sistem pakar
lnstruksi transfer data pada RISC terbatas untuk mengambil dan r Pemrosesan citra
menyimpan instruksi. lnstruksi-instruksi ini menggunakan pengalamatan . Pengindraan jauh
tak-langsung register. Mereka biasanya memerlukan tiga atau empat
tingkat dalam pipeline. Untuk mencegah konflik antara sebuah akses Untuk memenuhi level kinerja tinggi yang disyaratkan, diperlukan
memori dalam mengambil instruksi dan dalam mengambil atau menyimpan penggunaan hardware tercepat dan andal dan memerlukan prosedur-
operand, maka mesin RISC umumnya menggunakan dua bus secara terpisah prosedur yang inovatif dan teknik pemrosesan parallel, karena prosesor
540 Organisasi dan Arsitektur Kompuler
Bab 1 1 Pipelinlng dnn Portrtorittsatt Voktor 541
tradisional untuk komputasi semacam itu memerlukan penanSanan yang Pada prosesor tradisonal (skalar), kompiler menerjemahkan program
berhari-hari (lama). Prosesor vektor untuk aplikasi tersebut pada saat ini terlebih dahulu menjadi rentetan instruksi-instru ksi berikut:
antara lain Cray Y-MP dan Convex C3880.
INITIALIZE I = 0
Prosesor vektor efisien menangani operasi-operasi aritmetika pada 300 READ x(l)
elemen-elemen larik yang dikenal dengan sebutan 'vektor'. Untuk sebuah READ y(l)
instruksi vektor tunggal, prosesor vektor melakukan operasi-operasi multi- READ N
homogen pada suatu larik elemen-elemen. Prosesor vektor menggunakan ADD z(l) = x(l) + Y(l)
paralelisme data dengan struktur-struktur datapath paralel yang kompak
INCREMENTI=l+l-
dengan unit-unit multi-fungsional yang dioperasikan untuk instruksi vektor tFtsNGOTO300
yang sama. Karena sebuah instruksi tunggal menetapkan keseluruhan set
CONTINUE
operasi-operasi, yang menghemat waktu pengambilan instruksi dan
operasi-operasi dekode dibandingkan dengan prosesor tradisional' Ketika program dieksekusi, prosesor skalar melakukan instruksi penjum-
lahan n kali, untuk menjumlahkan n elemen larik x dengan elemen-elemen
11.6.1 Operasi-Operasi Vektor yang bersesuaian dengan larik y. Loop dilakukan sebanyak n kali. Jika n lebih
besar, waktu yang digunakan untuk pengambilan instruksi dan pendeko-
Sebuah vektor v, adalah merupakan daftar elemen-elemen:
dean sangatlah signifikan. Pada prosesor vektor, sebuah instruksi vektor
y = (v1, v2, v3,... , vn) menggantikan semua perulangan n kali tersebut.
di mana n adalah jumlah elemen-elemen dalam vektor. Dalam suatu
program komputer, vektor adalah sebuah larik satu dimensi. Misalnya, LL.6.2 Register Vektor
dalam bahasa FORTRAN, kita mendeklarasikan v dengan pernyataan Umumnya prosesor vektor mempunyai register-register vektor.
berikut:
Dibandingkan dengan register fungsi umum atau register untuk floating-
Dimension = v(N) point yang menyimpan nilai tunggal, register-register vektor menyimpan
elemen-elemen vektor secara simultan. lsi suatu register vektor ditransfer
Di mana N adalah variabel integer yang menunjukkan paniong vektor.
ke pipeline vektor satu elemen setiap saat.
Operasi-operasi aritmetika dapat dikerjakan pada vektor. Dua buah
vektor dijumlahkan dengan melakukan penjumlahan pada setiap elemen- 11.6.3 Register Skalar
elemen yang bersesuaian:
Sebuah register skalar, seperti halnya register fungsi umum atau
Z = x + y = x7 + y7, x2 + y2, ..., xn + yn register bilangan floating-point berfungsi untuk menyimpan sebuah nilai
Pada FORTRAN, penjumlahan vektor ditetapkan dengan rutin berikut: tunggal. Tetapi dia dikonfigurasikan untuk digunakan oleh suatu pipeline
vektor. Nilai dalam register dibaca satu kali setiap 6 unit waktu dan
DO300l=1,N melepaskannya ke dalam pipeline, yang mirip dengan penerimaan suatu
300 z(l) = x111 * ,1', elemen vektor dari pipeline vektor. Misalnya, sebuah komputasi:
di mana Z adalah vektor untuk sum (hasil penjumlahan) dan Z' x, dan y j =3'4xi
dikenal dengan larik dimensi N. Operasi ini disebut elementwise oddition.
542 0rganisasi dan Arsitektur Komputer Bab l1 Pipelining dan Porrrrososan Veklor 543
Konstanta 3.4 disimpan dalam register skalar dan ditransmisikan ke dalam Gambar 11.24 mengilustrasikan unit-unit fungsional dan register-
pipeline perkalian vektor setiap 6 unit waktu untuk berpartisipasi dalam register. Tidak ada unit pembagi floating-point. Kebalikan floating-point
perkalian setiap elemen i. digunakan untuk pembagian, yaitu x/y dikomputasi dengan x(Llyl. Ada lima
jenis register utama yang dapat diprogram yaitu register A, B, S, T, dan V.
11.6.4 Memory-Memory Vector Processor Selain itu ada beberapa register pendukung lainnya yaitu Vector Length
ReBister (VL), Vector Mask Register (VM), Program Counter (P), Base
Memory-memory vector processor tidak mempunyai register-register
Address Register (BA), Limit Address Register (LA), Exchange Address
vektor. Dia mengambt (fetch) vektor-vektor secara langsung dari memori
Register (XA), Flag Register (F) dan Mode Register (M). Register 'A' dikenal
untuk mengisi pipeline dan menyimpan hasil-hasil secara langsung ke dengan register alamat. Register ini bekerja seperti register-register alamat
memori. waktu stort-up untuk pipeline vektor lebih lama sebab dia
untuk referensi memori dan seperti register-register indeks. Disamping itu,
menghabiskan waktu untuk memulai sebuah operasi vektor karena waktu
ada juga yang digunakan untuk menghitung pergeseran dan menghitung
akses memori meningkat. Satu contoh dari memory-memory vector
loop. Register 'B' disebut juga register alamat-save dan digunakan sebagai
processor adalah CDC Cyber 205.
penyimpan pembantu (buffer) untuk register'A'. Register'S' dikenal dengan
Karena waktu akses vektor berkurang dan tumpang tindih antara register skalar, digunakan sebagai register sumber dan register tujuan untuk
penyimpanan vektor dan operasi-operasi lainnya, vector-register vector instruksi-instruksi aritmetika skalar dan logika. Register 'T disebut dengan
processor umumnya lebih efisien daripada memory-memory vector register skalar-save yang digunakan sebagai penyimpan pembantu untuk
processor. Namun, jika vektor-vektornya panjang, perbedaan efisiensi register 'S'. Register 'V' yang disebut dengan register vektor, digunakan
tidaklah signifikan. Pada sisi lain, memory-memory vector processor sebagai register sumber dan register tujuan untuk unit-unit fungsional
menarik jika vektor-vektor sangat panjang. (pipeline).
2.
vektor-vektor
Flooting-point pipeline yang mengeksekusi operasi-operasi floating-
Irtrufrd
Unir-uit
Fnrgobml
E@@tr\nn-
---------l/-l- fro.Ent-pour
rhnrt Urlt-udt
point menggu na ka n skala r-skala r ata u vektor-vektor. Frclond skeler
3. Scolar pipeline yang melakukan operasi-operasi integer dan logika
pada skalar-skalar. Gambar L1.24 Register-register don unit-unit fungsionol Croy-7
4. Address pipeline yang melakukan kalkulasi alamat.
Bab 11 Pipelining dan Porrrrorrorrrrrr Vr-rktor 545
544 Organisasi dan Arsitektur Komputor
Cray-1 membolehkan satu memori membaca dan menulis per siklus 1. Dedicoted Arroy Processor
clock. Karena itu, dia hanya dapat membaca satu vektor dan menulis satu 2. Attached Arroy Processor
hasil vektor secara bersamaan. Jika diperlukan membaca lebih dari satu Dedicated Arroy Processor adalah sebuah sistem komputer yang berdiri
(atau menulis) operasi yang sama, maka salah satu operasi harus ditunda. sendiri, sedangkan Attoched Arroy Processor dicantolkan ke sistem
Misalkan perkalian dua vektor yang panjangnya melebihi 54: komputer umum yang lain sebagai sebuah perluasan. Prosesor ILLIAC lV dan
z=XXy STARAN merupakan dua prosesor larik yang populer. Gambar 11.25
mengilustrasikan pengantarmukaan sebuah Attached Array Processor ke
Pertama dua register vektor dibaca dari memori: satu 64 elemen pertama suatu komputer umum. FSP-164/MAX adalah sebuah ottoched processor
dari x, dan yang lainnya 64 elemen pertama dari y. Hasil untuk z masuk ke untuk sistem VAX 11. Dia dicantolkan (interfacing) ke komputer umum yang
register vektor yang ketiga. Setelah 64 elemen pertama selesai, register- menambahkan arsitektur vektor ke komputer umum. Dedicated Array
register vektor sumber dibaca kembali dari memori dan isi register vektor Processor termasuk ke dalam arsitektur SIMD, karena itu biasa disebut
hasil disimpan ke memori. Karena hanya satu pembacaan dan satu prosesor larik SIMD.
penulisan yang dieksekusi per siklus, maka elemen-elemen vektor input
yang lain tidak dapat dibaca bersamaan, jadi pipeline menunda salah satu
operasi pembacaan.
Memori utama yang dimiliki adalah memoriyang di-interleave 16-way.
Memori ini adalah memori semikonduktor dengan deteksi error dan logic
koreksi (SECDED). Terdapat L2 ll0 channel. Compiler Fortran Cray-1
merupakan optimizing compiler. Pemrogram tidak perlu memodifikasi Gambar LL.25 Pencontolan prosesor lorik
program-program sumber yang ada karena kompiler menjaga 'vectoriza-
tion' loop DO dan membangkitkan instruksi-instruksi vektor.
Contoh Kasus: ILLIAC lV-Prosesor Larik SIMD
TL.7 PROSESOR LARIK ILLIAC lV adalah sebuah prosesor larik tujuan khusus. Dia didesain
dengan mempunyai 256 elemen-elemen pemrosesan (EP) yang diorganisasi
Prosesor larik (orray processorl melakukan komputasi secara simultan dalam empat kuadran 64 EP, masing-masing kuadran 8 x 8 larik EP. Setiap
pada elemen-elemen dari suatu vektor (larik atau suatu tabel data dalam EP dihubungkan dengan tetangganya dalam empat arah. Setiap EP
multi-dimensi). Prosesor larik mengeksekusi suatu rentetan aksi yang mempunyai memori 2K word. Unit kontrol pusat (CU) menyebarkan
dibutuhkan untuk suatu operasi pada keseluruhan larik. Unit-unit multi instruksiyang dieksekusi oleh EP. Unit kontrol pusat adalah merupakan unit
dalam prosesor larik melakukan operasi yang sama pada data yang yang sangat kompleks dan canggih dengan sumberdaya yang dimilikinya
berbeda. Penggunaan yang umum dari prosesor larik termasuk analisis untuk pengeksekusian instruksi-instruksi skalar tertentu. Dengan kata lain,
dinamika fluida dan rotasi objek 3-dimensi, pemrosesan data cuaca serta unit kontrol pusat ekivalen dengan sebuah prosesor. Semua EP melakukan
dota retrievol, di mana elemen-elemen dari suatu basis data di-scan secara operasi instruksi (katakanlah ADD) secara simultan pada komponen-
simultan, termasuk pemrosesan sinyal dan aplikasi-aplikasi dengan komponen vektor yang berbeda-beda. ILLIAC lV dihubungkan (link) dengan
persamaan diferensial, manipulasi matriks atau aljabar linier. Prosesor komputer kontrol 86500 yang bertindak sebagai link antara pengguna dan
vektor tidak dapat beroperasi pada semua elemen-elemen dari suatu vektor ILLIAC lV. Secara logika, ILLIAC lV di-link seperti sebuah subsistem peripheral
secara bersamaan, dia hanya beroperasi pada elemen-elemen multi secara ke 85500.
bersamaan. Prosesor larik dikelompokkan dalam dua jenis:
s46 Organisasi dan Arsitektur Kompuler Bab 1 l Pipelining dan Porruososan Veklor 547
Arsitckhu lvirltiproscsor
,-***A_
r-]
PI P2 Pn
Jarfurgau intcrkoucksi prioritas yang mengatasi konflik yang terjadi ketika ada permintaan yang
bersamaan dari prosesor-prosesor lainnya.
X terhubrrrg ke 0 Yterhubungke 1
ls
-fl
Xterhubrmgke I Y terhubung ke 0
Gambar L2,7. lnterkoneksi crossbar switch
Gambar L2.8. Operosi interchonge switch 2 x 2
Keuntungannya: karena setiap modul memori mempunyai jalur
terpisah, maka semua modul memori dapat melakukan komunikasi secara
simultan. Kelemahannya: diperlukan hardware yang kompleks bila jumlah
001
prosesor menjadi banyak.
dan 1. Ada sinyal-sinyal kontrol (tidak nampak) yang bersama dengan lil
switch yang membangun interkoneksi antara terminal-terminal input dan
output. Switch mempunyai kemampuan menghubungkan input X ke salah Gambar L2.9. Pohon biner dengon switch 2 x 2
satu output. Demikian halnya dengan terminal Y mempunyai cara yang
sama. Switch juga mempunyai kemampuan melakukan arbitrasi antara Penggunaan switch 2x2 sebagai blok pembangun, memungkinkan untuk
permintaan-permintaan yang konflik. Jika input X dan Y keduanya melaku- membangun sebuah jaringan multistage untuk menSontrol komunikasi
kan permintaan terminal output yang sama, maka hanya salah satu saja antara sejumlah sumber dan target/tujuan. Untuk melihat bagaimana hal
yang akan dihubungkan, yang lainnya diblok. ini dilakukan, pikirkan pohon biner yang ditunjukkan pada Gambar 72.9.
Dua prosesor P1 dan P2 dihubungkan melalui switch ke delapan modul
memori yang diberi tanda biner dari 000 sampai 111. Lintasan dari suatu
sumber ke suatu target ditetapkan dari bit-bit biner bilangan target. Bit
558 Organisasldan Arsiteklur Kompuler Bab 12 Pengantar Slelem Multlprosesor 559
pertama bilangan target menetapkan keluaran switch pada level pertama. untuk prosesor. Pinggiran kubus terhubung ke jalur komunikasi. Setiap
Bit kedua menetapkan keluaran switch pada level kedua, dan bit ketiga prosesor mempunyai sebuah jalur komunikasi sendiri ke prosesor
menetapkan keluaran switch pada level ketiga. Misalnya, untuk tetangganya melalui pinggiran/tepi.
menghubungkan P1 ke memori 101, perlu dibentuk sebuah lintasan dari p1
ke output 1 pada switch level pertama, output 0 pada switch level kedua Setiap sirnpul ditetapkan sebagai sebuah alamat biner di mana alamat
dan output 1 pada switch level ketiga. Jadi, jelaslah bahwa p1 atau p2 dari dua simpul yang bertetangga hanya berbeda satu posisi bit. Misalnya,
dapat dihubungkan ke salah satu dari delapan memori. Misalnya, jika p1 tiga simpul yang bertetangga dengan alamat 000 dalam struktur tiga-kubus
dihubungkan ke salah satu tujuan 000 sampai 011, maka p2 hanya dapat adalah 001, 010 dan 100. Setiap bilangan biner ini berbeda dari alamat 000
dihubungkan ke salah satu tujuan 100 sampai 111. dengan nilai satu bit
saat ini teknik-teknik fault tolerance sederhana tersedia pada komputer- SOAL'SOALLATIHAN {"'' }
komputer murah.
Berapa banyak titik switch yang berada dalam sebuah jaringan crossbar
sgAt$d_41.0_ft6ifN switch yang menghubungkan p prosesor ke m modul memori?
2. Jaringan omega switching 8 x 8 pada Gambar 12.10 mempunyai tiga
7. stage dengan empat switch pada setiap stage, dengan total 12 switch '
sistem multiprosesor dapat dibedakan menjadi dua kelompok yaitu: (1)
Berapa banyaknya stage dan switch per stage yang diperlukan pada
tightly coupled, dan (2)
2. sebuah jaringan omega switch ing n x n?
Pada sistem multiprosesor memori tidak di-sharing dan setiap
prosesor mempunyai memori sendiri. 3. Anggap kawat terputus antara switch pada baris pertama, kolom kedua
3. Pada multiprosesor multiprosesor melakukan sharing informasi dan switch pada baris kedua, kolom ketiga dalam jaringan omega
-, (memori global).
melalui sebuah memori bersama switch ing Gambar 12.10. Lintasan manakah yang akan terputus?
4. Sistem multiprosesot tightly coupled dibagi menjadi tiga yaitu: (1) 4. Bangunlah sebuah diagram untuk jaringan omega swirching switching 4
uniform memory occess, (2) non-uniform memory occess, dan (3) x 4. Tunjukkan switch setting yang diperlukan untuk menghubungkan
masukan 3 ke keluaran 1.
5. struktur interkoneksi multiprosesor terdiri dariterdiri atas (1) bus 5. Bangunlah (gambarkan) sebuah diagram yang menunjukkan struktur
bersama. (2) memori multiport, (3) cross bar switch , (4) jaringan sebuah hipercube jaringan empat-dimensi. Lengkapi semua lintasan
multistage, (5)jaringan mesh, (6)jaringan pohon, dan (7)
(poth) nomor alamat antar simpul yang bertetangga (dengan per-
6. Keuntungan struktur interkoneksi bedaan satu bit satu sama lain).
karena dengan adanya
multipath maka prosesor-prosesor dapat secara simultan/bersamaan
mengakses memori sehingga kecepatan transfernya menjadi besar.
Kelemahannya membutuhkan hardware yang besar di dalam modul
memori.
7. Keuntungan struktur interkoneksi karena setiap modul memori
mempunyai jalur terpisah, maka semua modul memori dapat
melakukan komunikasi secara simultan. Kelemahannya: diperlukan
hardware yang kompleks bila jumlah prosesor menjadi banyak.
8. adalah suatu interkoneksi sistem komputer multi yang
independen yang dioperasikan seperti sebuah sistem tunggal dalam
suatu kerjasa ma/kolaborasi.
9. didefenisikan didefinisikan sebagai suatu kondisi di mana
semua baris cache dari sebuah blok memori yang di-share berisi
informasiyang sama pada suatu waktu.
10. adalah kemampuan suatu komputer untuk mengeksekusi
operasi-operasi nya secara benar tanpa terpengaruh oleh kegagalan
hardware atau software.
DAFTAR PUSTAKA
Leach, Donald P., Malvino, Albert Paul. 7995. Digital Principles ond
Applicotions. Fifth editon, Glencoe, USA: McGraw-Hill.
Mano, M. Morris. 7993. Computer System Architecture, third edition, USA:
Prentice-Hall.
A.1 KLASIFIKASI IC
lc diklasifikasikan dalam level-level integrasi seperti yang ditunjukkan
pada Tabel A.1 bergantung pada jumlah gerbang yang dapat ditempatkan
dalam sebuah lC.
lebih cepat daripada teknologi MOS tetapi konsumsi dayanya lebih besar A.1..2 Gerbang Tri'State
dan menempati ruang yang lebih besar untuk sirkuitnya.
Gerbang logika tri'state mempunyaitiga keadaan output:
Sirkuit digital ada dua macam yaitu sirkuit kombinasional dan sirkuit
sekuensial. Output sirkuit kombinasional pada seketika, hanya bergantung L. [ow: sePerti keadaan 0 TTL biasa
pada input. Gerbang (gate), multiplexer, demultiplexer, dan decoder 2. High: sePerti keadaan l TTL biasa
merupakan beberapa contoh sirkuit-sirkuit kombinasional. Output sirkuit 3. High impedance: bukan high dan bukan iuga low
sekuensial bergantung pada keadaan input sebelumnya dan pada saat itu. Gerbangtri-stotemempunyaisebuahinputkontrolyangterpisah.lnput
ini memutuikan apakah output akan di-enable (0 atau 1) atau
Flip-flop, counter, dan register merupakan beberapa contoh sirkuit-sirkuit tri-state
sekuensial. (disoblel. Pada keadaan output mengambang, gerbang ini akan tampak
gerbang
Sinyal digital disebut sinyal periodik jika sinyal tersebut
berulang sebagai'sirkuit terbuka terhadap beban. Gambar A.2 menunjukkan
dengan kecepatan konstan. Sinyal clock adalah sebuah bentuk gelombang penyangga tri-stoteyang diberikan oleh sebuah lC74L25'
periodik yang mempunyai sifat yang telah dibahas pada Bab 1.
C A Y
0 0
A.1.1 lC Kolektor Terbuka 0
I
0 1
Sirkuit TTL kolektor terbuka merupakan sirkuit orisinal yang dikem- 1 0 Tri-statc
bangkan untuk aplikasi bus. Keuntungan sirkuit kolektor terbuka karena I I Tri-statc
merupakan fungsiwired-AND yang dibentuk dengan menghubungkan multi (a) simbol (b) raocl
(oJ kebenaran
tabel Keocrriucrr
output secara bersama. Gambar A.1 menunjukkan dua gerbang 7407
(buffer dengan output kolektor terbuka) yang mempunyai output yang Gambar A,2 Penyanggo (gerbong) ti-stote
diikatkan bersama. Nilai resistor pull up bergantung pada dua faktor:
1. Jumlah output gerbang yang dihubungkan bersama. Gerbangtri.stgtebergunadalamimplementasistrukturbus.Pada
sebuah saluran bersama, banyak gerbang keluaran tri-stote
yang
2. Jumlah beban yang dikemudikan oleh output gerbang.
gerbanS yang di'enable
dihubungkan. Pada satu waktu, hanya salah satu
Formula untuk menghitung nilai resistor pull up berdasarkan pada adalah 1 atau 0. semua gerbang lain
dan keluiran gerbang yang di-enable
faktor-faktor di atas diberikan dalam dato sheet/doto book lC. dalam keadaan impedansi
di_disable, output gerbanj-gerbang ini berada
diputus dari
+5V tinggi (h,gh impedincel.Geruane-eerbang ini secara logika
satrian bus dan mereka tidak menarik arus dari beban'
A.2 IATCH
+
latch dalam
sebuah latch mengunci beberapa informasi sinyal. Bila
keadaan terbuka, maki sinyal input lewat melalui latch dan mencapai
sinyal tidak dapat
output. Bi]a latch dalam keadaan tertutup, maka
untuk latch
meiewati sirkuit latch. Gambar A.3 menunjukkan sirkuit
SR
PGT dan NGT karena akan sering muncul di dalam pembahasan kita ke
depan.
tt No cftCInea
Kebanyakan sistem digital pada prinsipnya adalah sinkron (walaupun
0l Ort selalu ada beberapa bagian-bagian asinkron), karena sirkuit sinkron lebih
r0 O.0 mudah untuk melakukan desain dan troubleshoot'
00 lfiy*li{rl
*Fodus*O.6.1
P$iti\r?goir0 NigEtivlgotE
(PGI)
tnnrition trancition (NGT)
NAND
(a) Sirkuit LatchNAND
Latch (b) Tabel Kebenaran Latch NAI.ID
waktu
Gambar A.3 Latch NAND
sebuah NGT. Tidak ada bagian lain dari pulsa masukan yang akan
PGT diperlukan pada clock, label Qo mengindikasikan level pada Q sebelum
mempunyaiefek pada masukan CLK.
PGT.
2. Flip-flop juga mempunyai satu atau lebih masukan kontrol yang
dapat mempunyai nama yang bervariasi, bergantung pada
operasinya. Masukan-masukan kontrol tidak akan mempunyai efek
pada Q hingga terjadi transisi clock aktif. Dengan kata lain, efek ini
disinkronisasi dengan sinyal yang diberikan ke CLK. Dengan alasan
inilah mereka disebut masukan kontrolsinkron. Misalnya, masukan
kontrol FF pada Gambar A.5(a) tidak akan mempunyai efek pada e t
fr ttls! O6 b oryu losd prfn h?d CLX.
hingga terjadi sinyal clock pGT. Sebaliknya, masukan kontrol pada arporftiw
I ot CtX prodr*ra no ctrrnlc io O
uamidoo
Gambar A.5(b) tidak akan mempunyai efek pada e hingga terjadi
tbl
sinyalclock NGT.
Masukan Masukan 0
konhol kontol I
c
0
!
crI
CLK dialrtilkan CLK diaktilkan
oleh sebuah PGT oleh sebuah NGT 0
rd'
Itl lt
{bl
!
Gambar A.5 flip-flop mempunyai sebuoh masukon clock (CLK) yong oktif (o)
PGT otou(b) NGT. Mosukon-mosukon kontrol menentukon efek doritransisi
Irlo ta Ctrr til
clock oktif. airars
{al
A.4.1SR Flip-Flop
Gambar A.6 (o) SR FF yong honyo respons ketiko sinyol PGT pado clock, (b)
Gambar A.5 menunjukkan simbol logika untuk SR flip flop yang dipicu tobel kebenoron, (c) bentuk gelombong khos
oleh sinyal clock PGT. Hal ini berarti FF dapat berubah keadaan hanya bila
sebuah sinyal diberikan pada masukan clock yang membuat transisi dari 0 Pada Gambar A.6(c) diilustrasikan operasi SR flip-flop. Jika kita meng-
ke 1. anggap bahwa semua kasus memerlukan persyaratan setup time dan hold
Tabel kebenaran pada Gambar A.O(b) menunjukkan time, maka analisis dapat diberikan sebagai berikut:
bagaimana
keluaran akan merespons PGT pada masukan cLK untuk berbagai kombi-
FF 1. Mula-mula semua masukan adalah 0 dan keluaran Q dianggap 0;
nasi masukan S dan R. Tanda panah atas (t) mengindikasikan bahwa sebuah jadi Qo = 0.
576 Organisasi dan Arsiteklur Komputer Lampiran A Slrkull I orlntegrasi Digital 577
2. Bila PGT terjadi pada pulsa clock pertama (titik a), maka masukan S 2. Ketika terjadi pulsa clock tebing positip (PGT) (titik a), ada kondisi J
dan R keduanya 0, jadi FF tidak terpengaruh dan tetap dalam = 0, K = 1. Hal ini menyebabkan FF akan menjadi clear ke keadaan Q
keadaan Q = 0 (yaitu Q = Qo). =Q.
3. Pada kejadian PGT pulsa clock kedua (titik c), masukan S sekarang Pulsa clock yang kedua mendapati J = K = 1 ketika transisi positip
adalah high, dengan R tetap low. Jadi, FF set ke keadaan 1 pada tiba (titik c). Hal ini menyebabkan FF beralih ke toggle ke keadaan
tebing naik dari pulsa clock ini. sebaliknya (komplemen), Q = 1.
4. Ketika pulsa clock ketiga membuat transisi positif (titik e), akan 4. Pada titik e pada bentuk gelombang clock, J dan K keduanya 0,
diperoleh S = 0 dan R = 1, yang menyebabkan FF menjadi clear ke sehingga FF tidak berubah keluarannya.
keadaan 0. 5. t
Pada titik E, J = dan K = 0. Kondisi ini men-set Q ke keadaan 1.
5. Pulsa yang keempat men-set FF sekali lagi ke keadaan Q = 1 (titik g) Namun dia sudah berada di posisi 1, dan berati akan tetap di situ.
karena S = 1 dan R = 0 ketika terjadi tebing positif. 6. Pada titik i, J = K = 1, sehingga FF toggle ke keadaan sebaliknya
6. Pulsa kelima juga diperoleh S = 1 dan R = 0 ketika terjadi transisi (komplemen). Halyang sama juga terjadi pada titik k.
menuju positif. Namun demikian, Q sudah high, jadi dia tetap
dalam keadaan high.
7. Kondisi S = R = 1 tidak dapat digunakan karena hasilnya ambigu. O6 {no change}
,l 1
,:o 0
4.4.2 JK FLIP.FLOP iI 4ttoggts)
Kondisi inimenghasilkan Q = Ao .
0L Io09lr
CLrr ToCglc
Operasi FF ini diilustrasikan oleh bentuk gelombang pada Gambar
A.7(b). Sekali lagi kita menganggap bahwa diperlukan persyaratan setup {b}
time dan hold time. Gambar A.7 (a) JK FF yong honya merespons pado soat PGT, (b) bentuk
gelombong
1. Mula-mula semua masukan adalah 0, dan keluaran Q dianggap 1;
jadi Qo = 1.
578 Organisasi dan Arsitektur Komputer
+JUUHH-
rbcdrl
?
t
t I
I
I
o
Gambar A.8 (o) D flip-flop yong dipicu oleh PGT, (b) bentuk gelombong
Lampiran A Slrkult Torlntsqrasi Digital 581
TRANSFER
art Rs$rmr Y
ttr
A.5.2 Register Geser (Transfer Data Serial)
Sebuah register geser dapat memindahkan bit-bit yang tersimpan ke
kiri atau ke kanan. Register geser dibangun dari sejumlah FF sedemikian
rupa sehingga dapat menyimpan bilangan biner dan menggesernya di
Gambar A.l0 Operositransfer data asinkron dalam FF ke FF berikutnya dalam setiap pulsa clock.
Gambar A.12 menunjukkan satu macam JK flip-flop untuk membangun
A.5.1 Register Paralel (Transfer Data Paralel) sebuah register geser yang menBoperasikan empat bit pergeseran. Flip-flop
Gambar A.11 mengilustrasikan transfer data dari satu register ke dihubungkan demikan agar keluaran X3 ditransfer ke dalam Xz iXz ditransfer
register lain menggunakan flip-flop D. Register X terdiri atas FF X1, X2, dan ke Xr; dan X1 ditransfer ke Xs.
X3; register Y terdiri atas FF Yt, Yz, dan Y3. Pada aplikasi pGT dari pulsa
TRANSFER, level yang tersimpan dalam X1 ditransfer ke y1 X2 ditransfer ke
Y2, dan X3 ditransfer ke Y3. Transfer isi dari register X ke dalam register y
adalah operasi transfer sinkron dan juga dikenal dengan transfer paralel
582 Organisasi dan Arsltehur Komputer Lampiran A Sirkuit Terlntegrasi Digital 583
Krluaran data: Ol Ai Qc 0D
Pada pencacah asinkron (ripple counterl, sinyal clock eksternal memicu 4. Setelah NGT pulsa clock yang ke-15 terjadi, maka pencacah FF
flip-flop tingkat pertama (LSB) dan yang lainnya dipicu oleh keluaran tingkat berada dalam kondisi 1111. Pada NGT yang ke-16, flip-flop A
yang sebelumnya. Pada pencacah sinkron, semua flip-flop dipicu oleh sinyal beralih dari 1 ke 0, yang menyebabkan flip-flop B beralih dari 1 ke
clock secara bersama. 0, demikian seterusnya hingga pencacah dalam keadaan 0000.
Dengan kata lain, pencacah telah melewati satu siklus lengkap
(0000 hingga 1111) dan mempunyai siklus balik ke 0000, di mana
pencacah akan memulai siklus pencacahan yang baru seperti
Qt, Q* Q6, Qi adalahbit-bit kelunranpcncacah. l.e,et
Keluaran Qa adahh LSB rlur Qp adalah I\ISB. pemberian pulsa-pulsa clock sebelumnya.
If'IasukanrsetketikaLOwr;I{apencacah Clock
rnenjadi clear.
Keluaran datn: Qe Qt Qc Qo
flop dipicu secara simultan (dengan paralel) oleh pursa-pursa masukan setiap kombinasi masukan ini hanya salah satu dari M keluaran yang akan
clock. oleh karena itu pulsa-pulsa diberikan pada semua frip-flop. pada aktif (HIGH); semua keluaran yang lain adalah LOW. Banyak decoder yang
Gambar A.16 ditunjukkan sebuah sirkuit pencacah sinkron 4 bit di mana dirancang untuk menghasilkan keluaran aktif LOW, di mana hanya keluaran
perbedaan utama yang dapat dibandingkan dengan pencacah asinkron yang terpilih yang LOW sedangkan yang lainnya adalah HIGH. Hal ini akan
(Gambar A.15) adalah: diindikasikan oleh adanya lingkaran kecil pada saluran keluaran pada
1. diagram decoder.
Masukan CLK semua flip-flop dihubungkan secara bersama
sehingga sinyal clock masukan diberikan ke setiap flip-flop secara Beberapa decoder tidak menggunakan semua dari 2N kode masukan
simultan. yang mungkin tetapi hanya yang tertentu. Misalnya, sebuah decoder BCD-
2. Hanya flip-flop A (LSB) yang pada masukan J dan K nya diberikan ke-desimal mempunyai kode masukan empat-bit dan sepuluh saluran yang
level HIGH. Masukan J dan K flip-flop lainnya dikemudikan oleh bersesuaian ke sepuluh grup kode BCD 0000 sampai 1001. Jenis decoder ini
sejumlah kombinasi keluaran flip-flop. sering dirancang sehingga jika ada kode yang tidak digunakan pada
3. Pencacah sinkron memerlukan sirkuit yang lebih daripada pencacah masukan yang ada, maka tidak ada keluaran yang akan diaktifkan.
asinkron.
Og
O1
N M
masukan OT kcluarm
o*r*r
&rr
2ilkode hanya satu keluoran yang HIGH
maeukan r,rntuk e otirp kodc maeuklan
oo - caa dengan kode tersebut. Juga dapat disebut sebagai decoder 1-8 karena
hanya L dari 8 keluaran yang aktif pada satu waktu.
CBA Oa Q ,Sr 0r So
ns O6
0 00 00000091
0 0t 000000r0 Ar or
0 10 00000100
0 TI G0*0ts00 A;
Incod*r
0s
00 000!s0*a
s'l 00tc0000
10 Gr000000
1]t rs0c0000
Au-r ox' r
t*rrJ
Gambar A.t8 Decoder 3-ke-8
M masrrkan N -bir
(hany" sdu yang HIGH Kode keluaran
Decoder ini dapat dijelaskan dalam beberapa cara. Decoder ini dapat pada sdu waktu)
disebut decoder 3-baris-ke-8-baris, karena mempunyai tiga saluran masuk
dan delapan saluran keluar. Juga dapat disebut decoder biner-ke-oktal atau
Gambar A.L9 Diagram encoder yang umum
converter karena dia mengambil kode masukan biner tiga-bit dan
mengaktifkan salah satu dari delapan (oktal) keluaran yang bersesuaian
590
Organisqsi dan Arsitektur Komputer
Lampiran A Sirkuit Terintegrasi Digital 591
Nlfrx
I
I
I
& I
ir Keluaran
.I
-r*-*l 5
&
l|{
x
x
x
J(
000
00t
0t.0
0rt
7,
x r00
,{, "r x t0t
& x ll0
& T lt1 Ir-r Kodc mrsr*en SELSCT
I
I\falrrkan mcncntiun rnrskrn mmr
Eanla ada satu masukan
yang LOW pada satu waktu D"dTA yrng ditanrmirikrn kc
kclurran
1\Iasuliarr
Gambar A.20 sirkuit rogiko encoder oktot-ke-biner (g-boris-ke-3-boris) SELECT
Masukan
DATA l-h.$+1,.9
Z*lo
Z=lr
uuJ*,n Z*lt
SELECT Z*ls
Gambar A.22 M u lti plexe r d ua - ma suka n
S1 tu
A,9.2 Multiplexer Empat-Masukan
Gambar A.23 M u lti pl exe r e m pot-m o suka n
Gagasan yang sama dapat digunakan untuk membentuk multiplexer
empat-masukan seperti yang ditunjukkan pada Gambar A.23. Di sini ada
empat masukan, yang secara selektif mentransmisikannya ke keluaran A.1O DEMULTIPLEXER
sesuai dengan empat kombinasi masukan select SlSe yang mungkin. Setiap
sebuah multiplexer mengambil sejumlah masukan dan mentrans-
masukan data digerbangkan dengan sebuah kombinasi level masukan
misikan salah satu nya ke keluaran. Demultiplexer (DEMUX) disebut juga
select.
data distributor melakukan operasi sebaliknya, dia mengambil sebuah
masukan tunggal dan mendistribusikannya ke salah satu dari beberapa
keluaran. Gambar A.24 menunjukkan diagram fungsional untuk sebuah
demultiplexer digital. Tanda panah besar untuk masukan dan keluaran
dapat merepresentasikan satu atau lebih saluran. Kode masukan select
menentukan masukan DATA akan ditransmikan ke keluaran yanS mana.
594 Organisasidan Arsitektur Kompuler Lampiran A Slrkutt Iorinlegrasi Digital 595
DEMIIX
O{
&- I't$#r$ot
$o
ol- t. tf$**d
Masukan
SELECT
O1r I r {S#rfu
Gambar A.24 Diogram Iungsionol demultiplexer digitol (DEMUX)
Gambar A.25 menunjukkan diagram logika sebuah demultiplexer yang 0h- I * $isrsl
mendistribusikan satu saluran masuk ke salah satu dari delapan saluran
keluar. saluran masukan data tunggal I dihubungkan ke semua delapan
gerbang AND, tetapi hanya salah satu dari gerbang ini yang akan di-enable S1 *;r($r$r&l
oleh saluran masuk SELECT.
Oy* | I *$r&&,
maruftanfuia
-SE,ECT: ,KELUAESN
$1 Br S* ftorftor
0 00 000 000* |
o1 uGopss,*
0
0
0
r{
T1
0s0&0rs*
0*$*1**s
0s 00sI00.ls
OI 00r00000
rs
tl
sr0{0000
t00*0fi00
Gam bar A.25 De m u lti pl exe r 7's o I u rq n-ke- 8- so I u ro n
596 Organisasi dan Arsitektur Komputer Lampiran A Sirkutt lorinlograsi Digital 597
c
(a) tl
a D
B E
L F
o
a
. 1r--\
rx , ,,", ,,,,, ,,,,,- ,, ,,,,- ,,,,-- / | , -)*canjil G
H
I
Pada sebuah PLA, terdapat sekumpulan gerbang AND yang merupakan TABEL A.2 Perbandingan custom lC don semicustom lC
gerbang-gerbang masukan. Masukan-masukan pada setiap gerbang AND
dapat dipilih oleh pemakai dari pin-pin masukan bersama. Jadi, di dalam
chip koneksi dari masukan ke gerbang AND tidak lengkap. Dan juga terdapat
Biaya rendah
sekumpulan gerbang OR di mana masukan ke gerbang OR tidak lengkap. tinggi sedang
pengembangan lC
Pemakai mempunyai pilihan menghubungkan keluaran khusus gerbang
Waktu singkat
AND ke masukan gerbang OR yang dikehendaki. Jadi, dalam sebuah pLA, lama sedang
oensembansan lC
koneksi masukan ke gerbang AND dan koneksi keluaran dari gerbang AND sedang
Testability cukup kuat cukuo kuat
ke gerbang oR dibuat berdasarkan ketentuan perancang sirkuit. Keluaran
PLA adalah keluaran gerbang OR. Jadi, sebuah chip pLA yang diberikan
Gambar A.28 mengilustrasikan sebuah PLA dengan 4 masukan dan 3
dapat digunakan pada berbagi sirkuit-sirkuit berbeda dalam mode
keluaran. PLA ini mempunyai 8 gerbang AND dan 3 gerbang OR' Setiap
interkoneksi yang berbeda. Ada dua jenis pLA yaitu: pLA dan F?LA (Fietd
gerbang AND mempunyai 4 masukan, sedangkan setiap gerbang OR
Prog ro m mo ble Log ic Array).
mempunyai 3 masukan. Koneksi mask programmable ditunjukkan oleh
Pada FPLA, pabrik lC menyediakan sebuah koneksi sekring (fuse) pada sebuah simbol X.
setiap interkoneksi yang mungkin baik untuk masukan gerbang AND
maupun keluaran gerbang AND ke masukan gerbang OR. Jadi,
fl = (AB'CD')+ (ABCD)+ (A'B'C')
FpLA
Y2 = (ABCD)+ (A'B'C')+ (BC'D')
memberikan semua kemungkinan interkoneksi. Perancang sirkuit membuka
Y3 =... + (BC'D')
(menghilangkan) koneksi dengan memutus sekring.
Pada PLA, interkoneksi secara permanen dibuat oleh pabrik lC, sesuai
instruksi pelanggan (perancang sirkuit). Perancang sirkuit memberikan
perusahaan lc detail koneksi yang akan dibuat untuk sebuah desain khusus.
Pabrik lC menyiapkan sebuah mask sesuai pesanan pelanggan. Ada juga pLA
yang berisigerbang-gerbang (AND dan OR) serta flip-flop.
Sebuah PLA atau FPLA dapat digunakan untuk mengganti sebuah sirkuit
dengan beberapa gerbang logika atau sebagai sebuah lC pengubah kode
menggantikan sebuah ROM look-up table.
Seperti halnya custom lC, semicustom lC juga menyediakan desain
keamanan (atau rahasia) karena fungsi yang dilakukan oleh sebuah
semicustom /c tidak dapat diketahui dengan mencari diagram sirkuit.
Semicustom lC dapat berisi beberapa gerbang logika lengkap, flip-flop,
register-register dan fungsi-fungsi yang serupa. Tabel A.2 membandingkan
custom dan semicustom lC. lC 825100 adalah sebuah FPLA 16 x 48 x g.
Nomor tipe FPLA 16 x 48 x 8 menunjukkan hal berikut:
. Terdapat 16 variabel masukan
. Terdapat 48 gerbang AND (gerbang-gerbang masukan)
r Terdapat 8 gerbang OR (gerbang-gerbang keluaran) Gambar A.28 Sirkuit PLA dengan 4 mosukon dan 3 keluaran
600 0rganisasi dan Arsitektur Kompulor 601
Lampiran A Sirkurl Torintegrasi Digital
PAt semuanyadihubungkandenganmetalisasi'Perancangsirkuit(penggunalC)
metaUlogam setiap fungsi yang
Sistem PAL mirip dengan PLA kecuali pada PAL variasinya sedikit dan harus menghilangkan/m.'nul" beberapa
dengan memberikan arus listrik
hubungan keluaran gerbang AND ke masukan gerbang OR bersifat diinginkan dari FPGA. H'i ini dilakukan
peralatan khusus'
permanen. Jadi pada PAL, hanya koneksi/hubungan ke masukan gerbang ,"t-ulri pin-pin tertentu menggunakan
AND yang dipilih oleh perancang.
IAMPIRAN B
JAWABAN SOAL-SOAL ULANGAN
32. jumlah lokasi 65. (3) t/O reod bus cycle: CPU membaca (menerima) data dari port
33. waktu akses input; dan (41 l/O write bus cycle: CPU menulis (mengirim) data ke
port output.
34. memori akses acak (memori utama)
56. jumlah waktu
35. memorimaknetik
36. memoriRAM 57. Program Benchmark
37. (1) MAR (memory address registerl, dan (2) MBR (memory buffer 2. Jawaban Soal-soal Ulangan Bab 2
register)
38. MAR
1. (4) Fitur-fitur dasar yang diinginkan user dan aspek-aspek teknik
39. MBR
2. (1) struktur fungsional, dan (2) struktur fisik
40. (1) antarmuka sinkron, dan (2) antarmuka asinkron 3. struktur fungsional
41. (2) fase eksekusi 4. struktur fisik
42. (2) operand 5. (1) kinerja, (2) kapasitas,
43. progrom counter (PC) 6. (2) arsitektur CPU berbasis register, dan (3) arsitektur CPU berbasis
stack
44. register instruksi
45. MAR
7. (21 microprogrammed control unit, dan (31 hybrid control unit
46. dekoder instruksi 8. (21interrupt, dan (3) Direct memory occess (DMA)
47. operasi makro 9. (3) tumpangtindih, dan (a) realokasi
17. mode pengalamatan langsung (absolut) 7. (3) mikro-operasi logika, dan (a) mikro-operasi pergeseran.
18. (1) pengalamatan tak-langsung memori, dan (2) pengalamatan tak- 8. mikro-operasi tra nsfer register
langsung register. 9. mikro-operasi logika
10. adder
4. Jawaban Soal-soal Ulangan Bab 4
6. Jawaban Soal-soal Ulangan Bab 5
1. (1)aritmetika biner, dan (2)aritmetika desimal
2. (1)aritmetika binertitik-tetap (fixed-point), dan (2) aritmetika biner 1. unit kontrol
titik-mengam bang (fl oati ng-po i nt) 2. (ll memory reod , dan (21 memory write
3. bilangan BCD (binory coded decimal) 3. (1) pengambilan instruksi (instruction fetchl, dan (2) eksekusi
4. aritmetika biner titik-mengambang instruksi
5. aritmetika biner titik-mengambang 4. (51 execute operotion (EO), dan (5) store resulf (SR)
6. register 5. (3) execute operotion {EO),
7. multiplexer 6. (31 operand fetch (oF)
1. (4)bandwidth
2. panjang word
608 Organisasi dan Arsilektur Komputer B Jawulrrrrr Soitl-soal
3. waktu akses dan waktu pemulihan (recovery timel 8. Jawaban Soal-soal Ulangan Bab 8
4. waktu akses
5. waktu pemulihan (recovery time) 1. memorisemikonduktor
5. bandwidth
2. (4) register
1. (21t/O driver
7. tampilan LCD (lyquid crystol disployl
2. pengontroll/O
8. (2) non-impoct printer
3. l/O driver
f. impact printer
10. (2) printer doisy wheel
4. antarmuka
tL. non-impoct printer
5. antarmuka paralel
t2. heod
6. bit demi bit (satu per satu secara serial).
t3. removoble hord disk drive
7. pemilihan antarmuka
L4. (21movoble head
8. status/kondisiinternal
L5. trock
9. Custom built lC atau gote orroy.
t6. track
10. port.l/O
L7. silinder
L1.. memory mapped l/O
L8. sektor
L2. direct l/O atau l/O mapped l/O
L9. intertrack gop (atau gap saja)
13. (2) asinkron
20. semakin kecil
14. sinyal clock yang sama
21. lebih lambat
15. pengaku an (acknowledgementl
22. (21zone bit recording
15. interupsi
23. (41tronsfer time
17. rutin layanan interupsi (interrupt service routine, lSRl
24. seek time
18. (1) interupsi internal, dan (2) interupsi eksternal
25. rotationol deloy atau disebut juga rotationol lotency
19. bercabang ke ISR
26. occess time
20. interrupt enable (lEl
27. tronsfer time
21. interupsi tersarang (interrupt nestingl
28. RAID lRedundant Arroy of lnexpensive Disks) yang kemudian diganti
22. (2l.transfer dari memori ke divais output
dengan kepanjangan " Redundont Arroy of lndependent Disks"
23. (2) melalui CPU (metode softdware)
29. RAID level0
24. pengontrol DMA (DMA controller)
30. RAID level 1
25. interrupt mode
31. secara serial
26. arbitrasi bus
32. cahaya laser
27. (ll arbitrasi bus terpusat, dan (2)arbitrasi bus terdistribusi
33. pit (cekungan).
28. (3) metode/ixed priority atau independent request
34. MODEM (modulator demodulotor)
29. bus loteng tengah (mezzanine busl
35. hand-held sconner
30. bus l/O
11. Jawaban Soal-soal Ulangan Bab 11
10. Jawaban Soal-soal Ulangan Bab 10
1. (3)mengirimkan kode ke komputer
1. (21 Porolelisme: Pengeksekusian lebih dari satu tugas sccara paralel.
2. sconning
2. (2) unit-unit fungsional homogen
4. ECMA-23 (edisikedua)
4. paralelisme level instruksi
Jadi periode sinyal clock (1) = Llt = U4J7 MHz = U(4.77 x 105) detik -
0.21pdetik.
7. MIPS = frekuensi clock / (CPl x 106)
Jadi CPI = frekuensi clock / (MIPS x 106)
Jumlah siklus clock per insiruksi = wahu siklus instruksi / periode clock 72, Unlukcomoilet 7i
{T) (2x15 + 5x5 +7x3)/(1s+5+3) = 3.304
CPI@mr =
MtPs@o1= frekuenst cto.k/(cptcoft1 x 106) = Soox ro671l.lolx to61
Kelompok Persentsse
tumlah siklus clock = 151.331
lnstruksl kemunculon per lnstruksl Waktu CPU 6661 = fiumlah instruksi x CPl.o*1)ffrekuensi clock
ALU 30 t/0.1= t0 Waktu CPU 6sm1 = (23x106x 3.304)/(5OO x 106) = 0.152 detik
Load & store 50 0.610.L = 6 Untuk compiler 2:
Branch 20 0.8/0.t g CPl.o,2 = (2x25 + 5x2 + 7 x2l l Q5+2+21 = 2.55t
=
MlPS6e62 - frekuensi clock/(CPl.o,nz x 106) = 500 x 106/(2.551 x 105)
n
x I, = 196.001
/rDT
ICPI,
i=l
30x10+50x6+20x8 Waktu CPU 6e62 = fiumlah instruksi x CPl.or2)frekuensi clock
\-fl =7.6
' -
=
.jumlah instrul<si 100 Waktu CPU 66,2 = (29x106x 2.551)/(500 x 105) = 0.148 detik
9. jumlah siklus clock = waktu CPU x frekuensi clock code sequence 2 lebih cepat daripada code sequence l,
jadi:
jumlah siklus clock CPU A = 50 detik x 500 MHz = 25 x 10e berdasarkan waktu eksekusi: code sequence 2 lebih
jumlah siklus clock CPU B = 2.5 x jumlah siklus clock CPU A cepat daripada code sequence 7.
jumlah siklus clock CPU B = 2.5 x25 x 10e = 62.5 x 10e
frekuensi clock CPU g = jumlah siklus clock CPU B / waktu CPU B JAWABAN SOAL.SOAI LATIHAN BAB 2
frekuensi clock CPU B = 62.5 x t}s I 20 detik = 3.125 x 10s Hz = 3125 1. Ringkasan fitur-fitur utama generasi komputer:
MHz
10. Waktu CPU = (jumlah instruksix CPI )/f = (jumlah instruksix CPI)xT; ;;P,iNE|!!!JAN mnU!,1.r,,
JADI: -,=rYc uraru4;:i.!, E
,
Waktu CPU A = jumlah instruksi x 4.0 x 50 ns = 200 x jumlah
itored Program Concept, memori
instruksi x 1 ns
1 Tabung hampa nagnetik sebagai memori utama,
Waktu CPU B = jumlah instruksi x 2.5 x 65 ns = 152.5 x jumlah rritmetika biner fixed point
instruksi x 1 ns
iistem operasi,
CPU B sama, berarti CPU B lebih cepat daripada CPU A. Transistor
2 n u lti prog ro m mi ng, co m pi ler, ha rd
Jisk magnetilgaritmetika biner
Lt. Untukcode seauence 1: Floati ng poi nt, m i n icom puter
CPl.r1 = (1x2 + 3x1 + 4x2l/(2+L+2) = 2.6
Untuk code seouence 2: Sirkut terpadu Vl u ltiprocessing, memori
- (1x4 + 3x3 + 4x1)/(4+3+Ll = 2.L25
CPl.,2 3 (SSl dan MSI)
nemori coche, su pe rco m pute r
sequence 2 dengan nilai CPI = 2.t25.
Lampiran C Jrtwrtlrrrrr Soul-soal Ulangan 617
616 Organisasi dan Arsitektur Komputer
4. (A*B)+ (C*D)
c) overflow flog = 0 karena hasil operasi signed arithmetic tidak keluar
X=
dari rentang bilangan bertanda (signed number)
d) sign flog = 0 karena bit MSB hasil operasi aritmetika adalah 0
618 Organisasi dan Arsileklur Komputer Lampiran C Jawabon Soal-soal Ulangan 619
0.1823x2=0.3546-+0
0.3646 x2=0.7292-+O
d) 38.24 = 100110.001L11010111000010
Dalam format saintifik ternormalisasi =
0.7292x2= 1.4584 + t
1.00110001111010111000010 x 2s
0.4584x2=0.9168-+0
0.9168x2=1.8335-+1
E+727 =L32= 100000100
0.8336 x2= 7.6672-+ !
Format standar IEEE 754 = 0 100000100
0.6672x2= L.3344 -+ L 001100011 1101011 1000010
0.3344x2=0.6688-+0
0.6588 x2=t.3376-+L 5. a) 00111111111100000000000000000000 + S= 0 (positip), E'=
0.3376x2=0.5752-+0 01111111 (= L271,
O.6752x2=1.3504+1 M = 11100000000000000000000
0.3504x2=0.7008-+0 Tambahkan t hidden bit pada M sehingga M = 1.
0.7008x2=1.4015+1 11100000000000000000000
0.401.6x2=0.8032+0 E=E'-t27=127-727=O
620 Organisasi dan Arsiteklur Kompuler
Lampiran C Jawaban Soal-soal Ulangan 621
Ioorrr
' I
I 1100 00r00 I
i_ _t_._ I :_y_. _i f
r.*r.l z
i l<-n-u ilr."r'el.h:
11111
00110
01000
01000
t 'I
oE,,r
fooT'il -y:lx-
.--:--:--_.---.--: :_."-:
i-
-:
-iJ
I
JAWABAN SOAL.SOAL LATIHAN BAB 5 2. Terdapat lebih dari satu solusi. Satu di antaranya adalah sebagai
1. Operasi pengambilan instruksi (fetch instrucfion) melibatkan pem- berikut:
bacaan memori, dan transfer register (pC, MAR, MDR dan lR) yaitu isi RoM alamat
bertu rut-tu rut:
ASCD
O I 0 0 0 0000
MAR <_ PC ; 10 ns (operasi register)
0 0 I 0001
' MDR +- Mem[MAR];80 ns (operasi memori)
' PC<-PC+1 ; (operasi ini paralel dengan pembacaan 0 I s 0 0010
memori) 0 0 I I 001I
I lR +- MDR ; 1.0 ns (operasi register) 0 I 0 0 0100
Jadi total waktu yang dibutuhkan untuk pengambilan (fetchl = 10 + 0 0 0l0l
80+10=100ns
o I 0 0 0ll0
2. - Siklus instruksi fetch operand (dari memori)
LDA: fetch, decode, 0 0 I I 01ll
- Siklus instruksi STA: fetch, decode, strore operand (ke memori)
0 0 t I 1000
- Siklus instruksi NOOP:/etch, decode
- Siklus instruksi
s CI I t 1CI+l
HALT: fetch, decode, reset flip-flop RUN
- Siklus instruksi BUN (bronch unconditionally):fetch, decode,salin 0 0 I I I0t0
alamat branch ke PC, lompat ke alamat bronch. 0 0 I 1 I0l I
Dari rincian siklus instruksi di atas terlihat instruksi BUN secara 0 0 t I I100
kuantitatif paling lama dibandingkan dengan yang lain. 0 0 t I I l0l
3. Dari rincian siklus instruksi pada no.2 di atas terlihat instruksi Noop 0 0 l I 1ll0
secara kuantitatif paling singkat dibandingkan dengan yang lain.
o 0 I I Itlt
4. (a) Mov AL,BL ; AL <- BL
(b) eOC AL,45h ; AL <- AL + 45h + CF 3. 5 bit menetapkan 2s1 = 31 mikrooperasi, 4 bit menetapkan 2a - L =
-
(c) SUB BL,CL ; +- BL - cL
BL 15 mikrooperasi. Jadi jumlah mikrooperasi yang mungkin adalah = 46
(d) rNccx ;CX<-CX+1 mikrooperasi
4. a) untuk F1 dibutuhkan sebesar log2 4 = 2 biu F1 dibutuhkan sebesar
log2 4 = 2 bit; F3 dibutuhkan sebesar log2 3 = 2 biU F4 dibutuhkan
JAWABAN SOAL-SOAL TATIHAN BAB 6
sebesar log2t2 = 4 biU dan untuk F5 dibutuhkan sebesar log22l rv 5 bit,
1. (a) Mikrooperasi adalah suatu operasi yang mendasar (operasi Jadi total panjang mikroinstruksi yang dibutuhkan = 2 + 2 + 2 + 4 + 5 =
elementer) dari sebuah komputer digital 15 bit
(b) tvtikroinstruksi adalah suatu instruksi yang tersimpan di dalam
Format mikroinstruksi tersebut adalah sbb:
memori kontrol
(c) Mikroprogram adalah urut-urutan dari sejumlah mikroinstruksi
(d) Mlkrot<ode sama dengan mikroprogram
624 Organisasi dan Arsitektur Komputer Lampiran C Jownlrntt Soal-soal U
FI F2 F3 2. Karena waktu akses 100 ns, maka untuk penyegaran 256 baris
dibutuhkan waktu 256 x 100 ns = 25,6 ps.
3-bit I +-Uit l:-tit Waktu ini digunakan di dalam penyegaran setiap durasi 2 ms.
Karena itu refresh overhead = Waktu yang digunakan untuk penyegaran
semua baris : interval PenYegaran
= (25,6 x to-6) : (2 x 10-3) = L2,8 x 10-3 x
rl{}nr l0nr 40nr l0nr
ivr.t
tO9%=L,28%
tu&tw Jadi refresh overheod sekitar = 1,3 %o
St tcmrat
(xqratcer)
3. Waktu akses = waktu siklus + waktu refresh = 80 + 60 = 140 ns
Waktu penyegaran = LO24 x 140 ns = 143,36 Lrs
Karena itu refresh overhead = Waktu yang digunakan untuk penyegaran
semua baris / interval Penyegaran
= (143,36 x to-6) / (76,4 x to-3) = L02,4 x
50 lls 50 lls 50 rIs 50 lls 50 lts 10-3x100% =\0,2%o
Jadi refresh overhead = 70,2To
Rentang alamat Bank-12 = 3000000H - 33FFFFFH pengambilan (karena antrian instruksi) dan hanya mempunyaiwaktu
Rentang alamat Bank-13 = 3400000H - 3TFFFFFH eksekusi.
Rentang alamat Bank-14 = 3800000H - 3BFFFFFH Total waktu eksekusi = waktu eksekusi selama 90 instruksitanpa
Rentang alamat Bank-15 = 3C00000H - 3FFFFFFH lompatan + waktu siklus instruksi
e). setiap lokasi lc memberikan 1 bit. untuk 10 instruksi lompatan.
Karena itu untuk membentuk
satu byte diperlukan 8 buah lC. Karena setiap lC mempunyai 16 K = 90 fr+ 10 x (t"+ 20) ns
lokasi, maka 8 buah rc memberikan kapasitas 16 KB. sehingga kita = 100 te+ 200 qs
memerlukan 4 x 8 = 32 lC untuk membentuk G4 KB RAM, memori Perbedaan dalam waktu eksekusi total = 1800 4s terhadap 100
inidisusun dalam empat bank. instruksi
7 . a. Kapasitas total = 32 KB = 32 K x g bit = 250 K bit. Karena digunakan Perolehan rata-rata per instruksi karena prefetch instruksi = 18 ns
16 lC, setiap lC memberikan 25G K bit : 16 = 1G K bit, karena itu 2. Ruang alamat = 1048576 byte
kapasitas setiap rc adalah 1o K bit. Karena 14 bit alamat Karena itu, jumlah bit alamat = 20
memberikan 16 kilo lokasi, maka setiap chip mempunyai 16 K Karena digunakan interleoving 4-woy, maka setiap modul akan
lokasi. Karena itu organisasi lc adalah 1G K x 1, yaitu kapasitas mempunyai256 K lokasi.
setiap lC adalah 16 K bit. Alamat memori20 bit dariCPU digunakan sebagai:
b. Modul RAM terbentuk dari dua bank, setiap bank memberikan 1G A19-A2 : untuk memilih lokasi memoridalam modul
KB RAM. A0-A1 : untuk pemilihan bank
c. Untuk mengalamati 32 KB memori, diperlukan 15 bit alamat, yang Dekoder 2-ke-4 digunakan untuk mendekodekan bit-bit memilih bank..
ditunjukkan dengan A14-Ao. A14 memilih bank. Bila Al4 = o, bank 0 Bondwidth tanpa interleaving - 4 byte/8O ns = 50 MB/sec
terpilih, bila A14 = 1 maka bank 1 yang terpilih. Range alamatnya Bondwidth dengan interleaving = 4bylel2} ns = 200 MB/sec
adalah: Jadi bondwidth efektifnya = (200 - 50) MB/sec = 150 MB/sec
Bank 0: 0000 0000 0000 00OOb sampai OO11 1111 1111 1111b;
(0000h sampai 3FFFh) 3. Sebuah memori mempunyai waktu akses 50 ns. Hitung perolehan
Bank 1:4000h sampai TFFFh kinerja karena buffer tulis (wrife bulferl jika siklus memori untuk baca
dan tulis berada dalam ratio 3:1
Anggap ada 100 operasi memori. Berarti 75 (= z7n x 100) di
JAWABAN SOAI.SOAI LATIHAN BAB 8 antaranya untuk operasi baca dan 25 (= % x 100) operasi tulis.
Totalwaktu akses memoritanpa write buffer = 25 x 50 ns = 1250 ns
1. Kasus 1: tanpa prefetch instruksi Total waktu akses memori dengan write buffer = 1x 50 ns = 50 ns
waktu siklus instruksi = waktu pengambilan + waktu eksekusi Perolehan kinerja = (1250 /SOl. = 25 kali
=2Ons+te 4. a) Hit ratio 0.9 artinya dari 100 akses memori cache hanya 90 yang
Anggap terdapat 100 instruksi, totalwaktu eksekusi:
berhasil (HlT), dan 10 yang gagal (MISS). Karena dianggap
= 100 x (t"+ 20) 4s = (100 fe+ 20OO) ns terjadinya MISS pada perpindahan informasi pertama dari memori
Kasus 2: ada orefetch instruksi
utamake cache dan kemudian dari cache ke CPU, maka:
Dalam 100 instruksi, 10 adalah instruksi cabang dan lainnya adalah total waktu MISS = (10 x 10t) + (10 x t) = 110t (t dalam satuan
instruksi biasa. selama eksekusi program, pengambiran instruksi oleh waktu).
prosesor hanya dibutuhkan 10 kali yaitu setelah setiap instruksiJUMp.
totalwaktu 911= (90 x t) = 991
Untuk sisanya 90 instruksi, prosesor tidak mempunyai waktu Total akses memori (HlT + MISS) = 110t + 90t =200t
628 Organisasidan Arsitektur Komputer Lampiran C Jawnblrr Sonl-soal Ulangan 629
Total waktu akses memori utama (tanpa memori cache) = 100 x 10t TAG L]NE WORD
= 1000t
Jadi peningkatan kinerja pada fetch instruksi karena memori cache = 1i bit 12 bit 3 bit
10001/200t=5kali
b. MISS setengah (hit rotio =.0,5) artinya dari 100 akses memori cache - Format alamat memori untukfully ossociative mopping
hanya 50 yang berhasil WORD = 3 bit
(HlT), dan 50 yang gagal (MtSS). Karena dianggap terjadinya MtSS TAG = alamat memori utama - WORD = 26 - 3 = 23
pada perpindahan informasi pertama dari memori utama ke cache bit
dan kemudian dari cache ke CPU, maka:
total waktu MISS = (50 x 10t) + (50 x t) = 550t (t dalam satuan TAG WORD
waktu).
total waktu 1-111= (50 x t) = 591
23 bit 3 bit
Total akses memori (HlT + MISS) = 550t + 50t = 600t
Total waktu akses memori utama (tanpa memori cache) = 100 x 10t Format alamat memori untuk set associotive mopping 18'
. = 1000t woyl
Jadi peningkatan kinerja pada fetch instruksi karena memori cache WORD = 3 bit
= 1000t / 6001 = 1,567 kali sEr= 21218=9bit
5. Kapasitas memori utama = 7024 blok x 256 word = 218. Jadi alamat TAG = alamat memori utama - SET - WORD = 26 - 9
memori utama = logz 218= 18
-3=14bit
WORD = log2 256 = logz 28 = 8 biU
SET= logz 8 = logz23 = 3 biU TAG SET WORD
TAG =Alamat memoriutama -SET-WORD = 18-3-8 = 7 bit
b) Karena loop ada tiga kali, maka akses memori utama pada alamat g b) Jumlah bit untuk TAG = alamat memori utama - WORD = 20 - 5 =
sampai 51 sebanyak satu kali, dan pada memori cache sebanyak dua 14 bit
kali. Sehingga MISS = 1 x dan HIT= 2 x. c) Karena menggunakan pemetaan asosiatif penuh, maka item bebas
Jadi hit rofe = jumlah akses memori cache (HlT) I total akses = dipetakan di mana saja didalam memoricache
213 =0.667
10. Diketahui:
8. Diketahui: Prosesor dengan rentang pengalamatan 1 megabyte=220 byte +
Prosesor dengan rentang pengalamatan 1. megabyt e = 220 byte + alamat = logr22o = 20 bit
alamat = 20 bit Kapasitas memori cache = 4 KB = 2tz
Kapasitas memori cache = 212 = 4 KB Kapasitas setiap blok = 54 byte = 25 (WORD = 6 bit)
Kapasitas setiap blok = 64 byte = Z6 fiadi WORD = logz 26= 6 bit) Kapasitas setiap set = 16 blok
Digunakan pemetaan langsung Digunakan pemetaan asosiatif set
Jadi: Jadi:
a) Jumlah baris dalam memori cache = kapasitas memori cache / a) Jumlah baris dalam memori cache = kapasitas memori cache /
kapasitas per blok =212 / 26 = 26 = 64 baris (LtNE = 6 bit) kapasitas per blok = 2'2 / 26 = 26 = 64 baris (LINE = 6 bit)
b) Jumlah bit untuk TAG = alamat memori utama - LINE - WORD b) Jumlah set dalam memori cache = jumlah baris / kapasitas set =
=20-6-6=8bit 64176=22=4set
c) CARA 1: c) Jumlah bit untuk TAG = alamat memori utama - SET - WORD =
Gunakan formula: lr = b^. modulo c 20-2-6=12bit
di mana /cm = Ilolllor baris cache d) CARA 1:
bmm = Aolror blok memori utama g=b modulo s
6 = jumlah total baris cache
3FBOAh. = 260874 desimal di mana g = nomor set memori cache
b^^ = nomor alamat div kapasitas word b = nomor blok memori utama
( div: pembagian integer) 5 = jumlah set memori cache
b^^ =260874div64=4076 t
lcn = 4076 modulo 64 3FB0Ah. = 26087 4 desimal
lc^ = 44 b = nomor alamat div kapasitas word (
11. Diketahui:
Alamat logika = ukuran segmen x jumlah segmen = 64 K x 64 = 222
Prosesor dengan rentang pengaramatan 16 MB 220 byte :+ aramat
= = word = 22 bit
24 bit
Ukuran page = 1 K = 210 = 10 bit
Kapasitas memori cache = 213 = 8 KB
Alamat fisik = 212 = 12 bit
Jumlah blok = 104857616 = l1yl = 220 blok
Digunakan pemetaan asosiatif set 4-way
Poge field alamat logika = 2" / 2'o = 2r2 = L2 bil
Jadi:
Oflsetfield alamat logika = 22-LZ = 10 bit
a) Kapasit-as setiap blok = kapasitas
memori utama / jumlah blok =
22a 1 = =
2zo byte
24 (WORD
1G = 4 bit), Offsetlield alamat fisik= Offsetfield alamat logika = 10 bit
jumlah baris= 2"/20 =2sbaris,SET= jumlah baris/ 24
=Zs/24 Frame field alamat fisik = 12 - 10 = 2 bit
= 2s (sET = 5 bit)
TAG = alamat memori utama -SET-WORD = 24_5 _4 = 15 Format alamet logika Format damat lirik :
bit
b) Jumlah baris dalam memori cache = 512 baris (= 2e baris) Pas. I OfIs et Frame I Offsrt
c) Jumlah set dalam memori cache = 32 set (=2s set) 12 10 2 10
d) iumlah byte dalam setiap baris cache = jumlah byte dalam
setiap blok = 16 byte L4,
Memort Vlrfual
e) Gunakanformula g=b modulo s Page Page
diketahui nomor blok 125p 0 McmoriFlrik
g = 725 modulo 32 o I Frame
1
2 2 0
Jadi item tersebut 'o;3,'rnr" pada set 3 3 I
4 4 2
nomor 29 dalam memori cache 5
6 5 3
7 6
12. Diketahui:
7
Alamat logika = 24 bit
Alamat fisik = 12 bit
15'
Ukuran page = 2K=2rt
Mcmorl Vtmtal
Jadi: Page Pagc
Jumlah page = alamat logika / ukuran page 22a 1 2rt= 213 g K
= =
0 MemorlFlclk
o t
Jumlah-blok (Jrame) memori utama = alamat fisik / ukuran page I FIame
= 2 o
2tz 121. =27 =2 2
3 3 I
4 4 2
13. Diketahui: 5
5 3
6
Alamat logika dengan jumlah segmen = G4 segmen 7 6
Ukuran segmen = 64 K word 7
Alamat fisik dengan jumlah page = 1 K dengan masing-masing 4 K word
Jadi:
634 Organisasi dan Arsitektur Komputor Lampiran C Jawaban Soal'eod
16. a) Alamat virtual = 16 MB = loB2 224 = 24 bil ,AWABAN SOAI-SOAL TATIHAN BAB 9
b) Alamat fisik = 2 MB = log2 221 = 27 bit
c) Jumlah maksimum entry dalam sebuah page tabte = 2'o / LO24 = =
1. Perhatikan gambar clock berikut:
2,sistemPcls4bityangberoperasipadafrekuensi60MHz,bandwidth
16 sebagai berikut::
Bandwidth = (6418lr Byte x 66 x 105 Hz = 528 x 106 Byte/sec = 528
d) 0000 0000 0000 01 01 1111 0100 <-Alamat vlrtual 152410 = 0005F4h MB/sec
Page 1
0 0000 0000 10 01 1111 0100 +-Alemat Flslk 0009F4h= 254810 JAWABAN SOAL.SOAL IATIHAN BAB 10
\------Y---_-/
Frame 2 t'JumlahbityangditulisketampilansetiapdetikadalahzLo24x1024x
50 = 62914560 bit/s
Waktumaksimumyangdiizinkanuntukmenulisisetiappixel:
e) 0000 0000 0000 00 00 0000 0000 Alamat vlrtuel = 00000h= 0ro tl62gt456} bit/s x10s ns/s = 15'9 ns
Page 0 2. a) Kapasitas disk = 4 xLO}4x 128 x 5L2=27x210 x27 x2e =228 =256
0 0000 0000 01 00 0000 0000 Alemat Fisik lo24ro = 000a00h MB
\--------Y--------/
*
1b
Frame 1 b) To =T,
U* N,
Io= 5 ms = 5x10-3 s
r=5000rpm=5000/50rotasiperdetik=33.33rotasiperdetik
b=1byte
N = 128 x 512 = 216= 65536 bYte
636 Organisasidan Arsitektur Komputer Lampiran C Jawaban Soal'eoal Ulangan 637
= 12.00005103515625 ms V
b) Yang lebih cepat adalah yang No. 1b yaitu: 11.0001831 ms 15 rnslgerakalt head x I27 gerakan head +
4. a)
tt
(1/3600 urettit/revolusi x 60000 msiluenitxl+l132) = 1922 ms