Anda di halaman 1dari 15

BAB Organisasi Komputer Dasar

4.1 KOMPONEN SISTEM Sebuah komputcr digital dengan program tersimpan di dalamnya merupakan sebuah sistcm yang memanipulasi dan memproses infomiasi menurut kumpulan instruksi yang dibcrikan. Sistem tersebut dirancang dari modul-mcdul pcrangkat keras (hardware) sepcrti register, elemen aritmatika dan logika, unit pengendali, unit mcmori dan unit-unit masukan/keluaran (I/0 atau Input/Output). Kumpulan instruksi yang dibcrikan membentuk program-program mesin. Dari situ dideHnisikan urutan dan pola perpindahan data dan transfcrmasi data dalam modulmodul perangkat kcras. Kcmputer dapat dibagi atas tiga bagian utama: unit pengulah pusat (CPU atau Central Processing Unit), unit masukan/keluaran (I/0 utau Input/Output) dan unit memori. Organisasi dasar dari sebuuh komputer ditunjukkan dalam diagram blok pada Gambar 4-1. CPU mengendalikan urutan dari scmua perno

130 Penguntar Orgunisusi Sistem Komputer Data bus Dau bus comm *x;7,;3;;;"* Cm. tu. 3;;*~ """" ""` E __--I. lc"' ....f'T1"1."L.. Gambnr 4-l Kcmpcncn dasar pada scbuah komputcr digital

tukaran informasi dalam komputcr dan dcngan dunia luar mclalui tmit I/O. ll nit mcmori tcrdiri dari scjumlah bcsar lokasi yang mcnyimpan program dan ata yang scdang aktif digunakan oleh CPU. Kctiga unit tcrsebut saling dihubun an dengan mcmakai bcrbagai macam bus. Scbuah bus dapat dikatakan sckclom ' ok kawatscbuah jalur fisikyang bcrfungsi mcnghubungkan register-rcgistc E- cngan unit-unit fungsional yang bcrhubungan dcngan tiaptiap modul. Info asi saling dipcrtukarkan di antara modul dcngan melalui bus. I Bus, demikian juga fungsi-fungsi yang berhubungan dcngan tiap-tiap K it, akan dibahas sccara detail pada Bab 5, 6 dan 7. Bagaimanapun juga, scbc m mcmpclajaxi komplcksitas sctiap unit pada komputer, kita akan mclihat sis m komputcr sccara keseluruhan, scderhana dan dalam satu kcsatuan. Kita m Iai dcngan membahas operas?-opcrasi mikro yang menggambarkan pcncrapan cbuah sistcm. l 4.2 OPERASI-MIKRO \ Organisasi bagian dalam dari scbuah komputcr sangat ditcntukan olch kump F an instmksi yang dapat dijalankannya. Scbuah instruksi adalah scbuah kaidah y i ng digunakan olch komputcr (1) untuk mcndefinisikan opcrasi-opcrasi scpcrti ; store, load dan jump dan (2) untuk mcncntukan lckasi data di mana opcrasi . an dilakukan. Kumpulan dari scmua instruksi, discbut kumpulan instruksi, ncakup beragam operasi aritmatika dan logika, operasi perpindahan data, ope i masukan/kcluaran dan opcrasi pcngcndalian. Kombinasi dari operasi-opcrasi i, dikclcmpokkan bersama-sama, mcmbentuk scbuah program mcsin. y Kumpulan instruksi bcrvariasi dari komputcr yang satu ke lainnya, begitu tt Ia dcngan fonnat instruksinya. Bagaimanapun juga, secara umum sebuah in si ~ I l *

Orgunisasilkomputer Dasar 131 _

komputer merupakan sebuah kode biner yang terbagi atas beberapa Held. Field operasi, disebut opcode, menjabarkan operasi yang harus dilakukan. Operasi ini diialankan pada beberapa koleksi data, disebut operand, yang bisa berupa bagian dari instruksi tersebut atau dimasukkan nilainya pada register atau memori. Jika sebuah operand disimpan dalam sebuah register atau memori, instuksi tersebut hams menjabarkan Iokasi tersebut dalam sebuah field alamat (address). Cara pemilihan operand selama pelaksanaan program tergantung kepada field mode pengalamatan dari instruksi itu. Sebagai contoh, format sebuah instruksi bisa berupa: is is Il 12 u 0

Dalam kasus ini, digunakan 4 bit untuk menjabarkan opcode dari instruksi tersebut, yang secara keseluruhan memberikan 16 kemungkinan insuksi; satu dari delapan register dijabarkan sebagai sebuah operand oleh 3 bit berikutnya; 2 bit digunakan untuk menjabarkan mode pengalamatan yang akan digunakan untuk operand kedua; dan ada 10 bit untuk menjabarkan address memori sesungguhnya dari operand kedua. Detail lebih lanjut mengenai jenis-jenis umum dari instruksi dan mode pengalamatan akan diberikan pada Bab 5. Untuk menjalankan instruksi-instruksi yang tersimpan di dalam memori, setiap instruksi diambil (fetched atau disalin dari memori oleh CPU), ditempatkan ke dalam sebuah register dan dijalankan. Bagaimanapun juga, sebuah instruksi adalah sebuah entitas yang kompleks yang pelaksanaannya tidak dapat

dilakukan selama satu periode waktu. Dalam kenyataannya, hal tersebut membutuhkan lebih dari satu periode waktu untuk mem-fetch instruksi. Karena itu CPU menghasilkan urutan dari fungsifungsi yang mem-fetch instmksi. Fungsi-fungsi ini disebut sebagai operasi-mikro (micro-ops), atau terkadang sebagai instruksimikro. Operasi mikro adalah sebuah operasi tingkat rendah yang dapat dilakukan dalam satu periode waktu. Urutan dari operasi mikro disebut sebagai siklus CPU. Siklus yang paling umum adalah pengambilun (ktch), penterjemahan alamat, eksekusi dan interupsi. Hal-hal tersebut akan dibahas lebih lanjut pada Bagian 4.3. Karena operasi mikro menyebabkan data ditransfer antarregister, mereka dapat digambarkan dengan menggunakan suatu bahasa transfer register. Tidak ada standar tunggal untuk bahasa ini, meskipun banyak versi yang sangat mirip.

132 Pengantar Organisasi Sistem Komputer Disini, kita akan menjelaskan bahasa transfer register yang akan kita pakai ltuk menjabarkan operasi-operasi mikro. Bahasa Transfer Register Sebuah register n-bit adalah sebuah kumpulan dari sejumlah n flip-f10p ang yang marnpu menampung sejumlah n bit informasi biner. Tambahan bagi I ipflop, sebuah register memiliki gerbang yang melakukan dan/atau mengenda I an operasi logika tertentu, seperti LOAD, TRANFER dan S1-HFT. Waktu M: aksanaan operasi-operasi ini tergantung dari clock, seperti yang nanti akan kita ` at pada nab ma. | Bahasa transfer register yang disajikan di sini akan disebut sebagai TL (Register T ranskr Language). Untuk memperkenalkan notasi RTL, angg lah

bahwa kita akan mentransfer isi register A ke register B. Dalam RTL ope . l ini dinotasikan sebagai y B < (A) I, _l) dimana (A) melambangkan isi register A. Operasi transfer <, berlaku E. transfer pasangan-bit antara register A dan B. Dengan X, mewakili bit ke-i ada register X, kita dapat juga menulis operasi (4.1) sebagai y B,<(A,),untuki=0, 1, ...,n-1 2) dimana n adalah ukuran register A dan B dalam bit. Dalam kedua operasi tr sfer register ini, isi register A tidak berubah dan isi register B sebelumnya be ah. (Perhatikan bahwa hal ini mempunyai efek yang sama seperti perintah tugas ada bahasa pemrograman tingkat tinggi.) y Tambahan bagi proses transfer seluruh register [operasi (4.1)] atau m ` gmasing bit pada register [operasi 4.2], dapat juga terjadi proses transfer atas bagian-bagian dari register yang disebut field. Sebuah field pada sebuah re ster dinotasikan dengan menggunakan tanda kurung. Pembatasan yang ada d` sini hanyalah bahwa ukuran dari field atau register yang terletak di sebel kiri maupun kanan tanda panah hams sama besar. Sebuah ccmtch untuk jenis tr sfer ini adalah } PC (IR[AD]) 4.3)

Orgunisasi Kcmputer Dusar 133

Pada contoh ini, field A.D dari register IR ditransfer ke register PC. Namun, field AD harus punya ukuran yang sama dengan keseluruhan register PC. Jika ada bagian dari sebuah register yang tak bemama hams ditransfer, mereka dapat

dinotasikan sebagai jarak lokasi bit. Sebagai contoh, pada operasi Rl [0..3] < (X) (4.4) isi register X ditransfer ke bit 0 sampai 3 pada register Rl. Hal ini berarti bahwa X mempunyai panjang 4 bit. Selain itu, dapat juga dipakai konstanta pada sisi sebelah kanan tanda panah. Di sini L < 5 (4.5) artinya simpan nilai 5 di register L. Perhatikan bahwa tidak mungkin untuk menulis (5) di sisi sebelah kanan pada operasi (4.5). Tidak mungkin kita menuliskan L, < 5 (4.6) karena nilai 5 tidak dapat disimpan dalam satu bit saja. Dengan menggunakan RTL, kita dapat menggambarkan berbagai macam operasimikro aritmatika dan logika. Sebagai contoh, perhatikan operasi-mikro ADD dijabarkan sebagai A3 < (A1)+ (A2) (4.7) Operasi ini berarti bahwa isi register Al dan A2 dijumlahkan, dengan menggunakan sirkuit adder biner dan hasil jumlahnya ditransfer ke register A3. Pengulangan penjumlahan tersebut akan menyebabkan oveylow. Untuk menampung overflow, dapat digunakan register l-bit sebagai pelengkap A3. Dengan menggunakan V sebagai register overflow, operasi (4.7) dapat ditulis kembali sebagai VA3 + (Al) + (A2) (4.8) Tambahan bagi operasimikro ADD; beberapa operasi aritmatika lainnya yang dapat direpresentasikan di sini adalah A < (A) + l ; increment isi A oleh l

A < (A)- l ; decrement isi A oleh 1

134 Pengantar Organisasi Sistem Komputer A 4- (A) ; menurunkan komplemen A A 4- (A) + (B) + 1 ; lakukan A - B dengan menambahkan komplemen 2s B ke A Seperti yang ditunjukkan pada contoh-contoh tersebut, kata keterangan (jika . i a) mengikuti tanda titik-koma. Perhatikan juga bahwa hanya operasi aritma a sederhana yang temiasuk pada contch-contoh di atas. Ingat bahwa operasi tr _~ sfer register ini mewakili operasi-mikro. Jadi meskipun sintaksis dari seb operasi perkalian sudah jelas, semantiknya berarti bahwa CPU dapat melak I. perkalian tersebbut dalam periode satu clock. Karena hal seperti ini bias W; a jarang terjadi, kita tidak melibatkan operasi aritmatika yang lebih rumit p pembahasan RTL kita. i Bagaimanapun juga, kita dapat menggambarkan operasi logika pada tu register atau lebih. Sebagai contoh, ` C<(A)OR(B) ( 9) mempunyai arti bahwa logika OR dari isi register A dan B ditransfer ke regi er C. Begitujuga operasi AND akan tampak seperti berikut: ` C <- (A) AND (B) (4. I 0) Operasi transfer register geser juga dapat dengan mudah digambarkan. P = sebuah register geser (lihat Bagian 3.7), isi setiap sel digeser ke sel di sampin y a ke kanan untuk register geserkanan dan ke kiri untuk register geser kiri. pa yang teijadi pada sel yang terakhir tergantung pada pergeseran yang dilaku [ sirkular atau serial. Kita dapat menggambarkan pergeseran serial ke kiri p a

sebuah register 4-bit A, dengan input dari register l-bit B, sebagai berikut: hilang < (A,) A3 < (A,) A2 < (A,) A1 < (A0) A0 < (B) RTL juga dapat digunakan untuk menggambarkan transfer data ke dan l= ' ward memori. Setiap memori sebenamya adalah sebuah register yang din ll. sesuai address memorinya. Dalam RTL, kita menganggap unit memori u .; a pada komputer sebagai M dan menulis word ke-i dalam memori sebagai i].

134 Pengantar Organisasi Sistem Komputer A 4- (A) ; menurunkan komplemen A A 4- (A) + (B) + 1 ; lakukan A - B dengan menambahkan komplemen 2s B ke A Seperti yang ditunjukkan pada contoh-contoh tersebut, kata keterangan (jika . i a) mengikuti tanda titik-koma. Perhatikan juga bahwa hanya operasi aritma a sederhana yang temiasuk pada contch-contoh di atas. Ingat bahwa operasi tr _~ sfer register ini mewakili operasi-mikro. Jadi meskipun sintaksis dari seb operasi perkalian sudah jelas, semantiknya berarti bahwa CPU dapat melak I. perkalian tersebbut dalam periode satu clock. Karena hal seperti ini bias W; a jarang terjadi, kita tidak melibatkan operasi aritmatika yang lebih rumit p pembahasan RTL kita. i Bagaimanapun juga, kita dapat menggambarkan operasi logika pada tu register atau lebih. Sebagai contoh, `

C<(A)OR(B) ( 9) mempunyai arti bahwa logika OR dari isi register A dan B ditransfer ke regi er C. Begitujuga operasi AND akan tampak seperti berikut: ` C <- (A) AND (B) (4. I 0) Operasi transfer register geser juga dapat dengan mudah digambarkan. P = sebuah register geser (lihat Bagian 3.7), isi setiap sel digeser ke sel di sampin y a ke kanan untuk register geserkanan dan ke kiri untuk register geser kiri. pa yang teijadi pada sel yang terakhir tergantung pada pergeseran yang dilaku [ sirkular atau serial. Kita dapat menggambarkan pergeseran serial ke kiri p a sebuah register 4-bit A, dengan input dari register l-bit B, sebagai berikut: hilang < (A,) A3 < (A,) A2 < (A,) A1 < (A0) A0 < (B) RTL juga dapat digunakan untuk menggambarkan transfer data ke dan l= ' ward memori. Setiap memori sebenamya adalah sebuah register yang din ll. sesuai address memorinya. Dalam RTL, kita menganggap unit memori u .; a pada komputer sebagai M dan menulis word ke-i dalam memori sebagai i].

Organisasi Komputer Dasar 135

Karena itu, proses pembacaan memori (memory read) dapat ditunjukkan 0leh pemyataan RTL B < (M[A]) (4.11)

dan proses penulisan memori (memory write) dinyatakan dalam RTL MIA] <~ B (4.12) Pada kedua operasi tersebut, (4.11) dan (4.12), word memori yang alamamya ditunjukkan oleh register A ditransfer ke atau dari register B dalam CPU. Pada beberapa kcmputer, A dan B dapat berupa register umum (general register) atau bahkan konstanta, sedangkan pada komputer lainnya, A dan B merupakan register khusus (special-purpose register). Kadang-kadang perlu ditentukan bahwa transfer register hanya akan terjadi pada kondisi tertentu saja. Hal ini dilakukan dengan satu dari dua cara berikut: dengan menggunakan pemyataan kondisi logikal (logical condition) atau dengan menentukan kondisi pengendalian (control condition). Pemyataan kondisi logikal merupakan pemyataan IF-THEN yang sederhana. Misalnya, operasi IF <V>>(W) THENQ<0 (4.13) men-set 0 ke register Q hanyajika nilai register V Iebih besar dari nilai register W. Perhatikan bahwa- pemyataan kondisi logikal hanya didefinisikan untuk IFTHEN dan tidak untuk ELSE. Kondisi pengendalian adalah cara lain untuk menentukan operasi kondisional. Dengan metode ini, kondisinya merupakan fungsi logikal dari variabel biner yang mengatur input register. Fungsi-fungsi ini dijabarkan di sebelah kiri dari operasi transfer register dan diikuti oleh tanda titik dua. Sebagai eontoh, perhatikan operasi transfer register yang digambarkan dalam Garnbar 4-2. Transfer ini diI gambarkan dengan pemyataan RTL sebagai berikut: atv. + v2>X < (Y) (4.14) Ini berarti bahwa isi Y dipindahkan ke X hanyajika to bemilai 1 dan salah satu cl atau cz juga bemilai 1. Untuk menandakan bahwa transfer harus terjadi jika

kondisi tertentu adalah 0, digunakan simbol utama () hams digunakan. Sehinggu jika kondisi pemyataan RTL pada persamaan (4.14) adalah t0(c, + cZ):, maka transfer hanya akan terjadi jika to bemilai 0 dan salah satu cl atau cz bemilai 1.

136 Penguntar Organisasi Sistem Komputer Kita telah menjabarkan kcnsep dasar RTL. Lebih lanjut kita akan meli at lebih banyak pemyataan RTL yang kita gunakan untuk menggambarkan su tu sistem tertentu. v . ( E gn Land x . Gambar 4-Z Transfer register yang diatur oleh sebuah fungsi pengendalian 4.3 SEBUAH CONTOH KOMPUTER SEDERHANA Pada bagian ini, kita masuk ke dalam detail peraneangan arsitektur untuk seb lc komputer yang sangat sederhana. Komputer yang kita guna.kan didasarkan . Simplyied Instructional Computer (SIC) yang dipersembahkan 0leh Beck (19 iY ). Di sana, SIC dijabarkan cleh ukuran memori, ukuran word, register, f0Il'I13I a, fonnat instruksi, mode pengalamatan, kumpulan instruksi dan provisi input/* tputnya. Berdasarkan inforrnasi ini, kita dapat menentukan sebuah rancan n arsitektur untuk SIC. Tentu saja, ada kemungkinan untuk rancangan lain g sesuai dengan detinisi SIC; namun satu rancangan sudah cukup untuk bahasan i i, Pertama-tama, kita akan menggambarkan struktur SIC (dimoditikasi sedikit i definisi Beck) kemudian melihat pada detail rancangarmya.

Struktur Mcsin SIC Mesin SIC terdiri atas CPU, unit memori dan minimal satu piranti I/O. C U terdiri atas 13 register ldiusus. Tujuan dan ukuran register (dalam bit) diberi dalam Tabel 4.1. Register akumulatcr, A, digunakan untuk semua operasi arit atika dan logika. Dalam instruksi semacam ini, A selalu mempakan salah satu : i operand dan hasilnya selalu disimpan kembali dalarn A. Register indeks, ) , digunakan untuk menghitung address memori dari operand tertentu tergan I g pada mode pengalarnatan instruksi. Alamat memori dari instruksi beriku ,. a

Organisasi,K0mputer Dasur 137

TABEL 4.1 KUMPULAN REGISTER PADA SIC Register Size (bits) Name Intended use A 24 Accumulator Main calculational register X I5 Index register Indexed addressing PC I5 Program counter Contains address of next instruction L I5 Linltnge register Stores return address for subroutines IR Z4 Instruction register Stores current instruction MIJR 24 Memory buffer register For input tu or output from memory MAR I5 Memory address register Address of memory for all reads/writes SW II Status word Contains status infonnation relative to previous instruction C 2 Counter Generates timing signals, I,. I,, 1,, t, INT I Interrupt Ilag Sigrmls that an interrupt has occurred Ii I Fetch cycle Ilsg Specities the fetch cycle

li I Execute cycle Hug Specifics the execute cycle S l Start/stop llug Enables C ` pada suatu program disimpan dalam register program counter, PC. Register linkage, L, melayani penggunaan subroutine. Ketika subroutine dipanggil, kita perlu mcngingat PC saat ini sehingga eksekusi dapat dilanjutkan dari titik ini jika subroutine telah berakhir. Kita harus memahami bagaimana hal ini diketjakan ketika kita melihat kumpulan instruksi. Instruction register, IR, akan menyimpan instruksi memori saat ini yang sedang dijalankan. Status word register, SW, memiliki sejumlah field yang menyimpan informasi relatif pada operasi saat ini seperti program saat ini. Informasi yang disimpan dalam SW digunakan oleh programmer dan CPU untuk membuat keputusan berdasarkan hasil sebelumnya. Akses ke dan dari unit memori hanya melalui register MAR dan MBR. Pada sebuah penulisan (write), data di dalam MBR ditulis ke word memori yang direferensikan oleh MAR: M[MAR] < (MBR) Pada sebuah pembacaan (read), data dibaca dari word memori yang direferensikan oleh MAR dart disimpan dalam MBR: MBR 4- (M[MAR])

138 Pengantar Organisasi Sistem Komputer Unit memori merupakan RAM yang terbentuk atas 2H word dan ukuran tiap iap word adalah 24 bit. Hal ini berarti bahwa register yang digunakan untuk ad ss memori mempunyai panjang 15 bit (PC, L, X dan MAR) dan yang menyi an word memori secara lengkap memiliki panjang 24 bit (A, IR dan MBR). Uk an dari SW berhubungan dengan jumlah field yang dikandungnya dan juml bit

yang diperlukan oleh setiap field. Seperti yang akan kita lihat, l 1 bit sudah c up untuk SIC versi kita. i Untuk kesederhanaan, kita akan menganggap bahwa waktu akses unit me ori Y kurang dari satu periode waktu. (Perhatikan bahwa hal ini tidak umum). ga karena unit memori merupakan RAM yang synchronous, baris pengalamatan ari MAR dan juga baris data dari MBR harus tetap dipertahankan untuk d asi pengaksesan memori. Gambar 3-4 menunjukkan register dan unit memori da SIC. Pembahasan lebih lanjut tentang bagaimana register tersebut bekerja, ga deskripsi register yang lain pada Tabel 4.1, akan diberikan pada bahasan ber ut ini. Input ke dan output dari CPU (tidak termasuk transfer ke atau dari me ri) mencapai l byte dalam satu waktu. Informasi ditransfer antara 8 bit paling k an pada register A dengan piranti I/O. Tiap piranti pada mesin diwakili 0leh se ah kode 8 bit yang diiabarkan seperti operand pada instruksi yang berhubu an dengan I/O. za 0 1 0 Mmmy Al; lj 0 23 0 I4 0 I M C;] M I;] ll 0 0 4;] wl] " 14 0 0 za 0 I;] Fl] M~;l 14 0 O M;} = Cl

I0 0 0 MEI = I] Gambar 4-3 Kumpulan register dan memori pada SIC l

Anda mungkin juga menyukai