Download as pdf
Download as pdf
You are on page 1of 43
5 Central Processing Unit (CPU) BAGIAN FUNDAMENTAL PADA SEBUAH KOMPUTER Konsep untuk memiliki sebuah program yang tersimpan dalam memori kompter umumnya dihubungkan dengan John von Neumann, Pada awal tahun 19S¢ban, Jelas pada Gambar 5-1, menunjukkan tipe-von Neumann. 138 Central Processing Unit (CPU) 159 nabs cron [Raaemacr | an Woh nt iat neer-merromaal emi ay [eeebe ‘Gambar 5-1 Sebuah mesintipe-von Neumann Program disimpan dalam unit memori utama, yang berhadapan dengan pi- ranti inputoutput (VO) melalui unit pengolahan pusat (CPU atau central processing unit). CPU membaca dari atau menulis ke memori, pertama-tama dengan mengirimkan alamat word ke unit memori melalui bus address dan kemudian menerima atau mengirimkan data melalui bus data. Data antara CPU dan unit /O juga menggunakan data bus. Operasi kan oleh dua bus control dengan sinyal kendali yang dikirim oleh CPU dan sinyal acknowledgment serta sinyal interrupsi yang diterima oleh CPU. Eksekusi program yang telah tersimpan secara logis dilakukan sebagai berikut: 1. CPU mem-fetch instruksi berikutnya dari memori. 2. CPU men-decode instruksi. 3, Berdasarkan instruksi, CPU mengeluarkan sinyal kendali untuk mem-fetch operand lainnya jika diperlukan dan kemudian akan melaksanakan salah satu tindakan berikut ini (@) Melakukan operasi aritmatika atau logika. (b) Menyimpan sebuah hasil ke dalam memori. (©) Membaca sebuah hasil dari atau menuliskan hasil ke piranti 1/0. 4. CPU kembali ke langkah pertama dan melanjutkan proses hingga program iberhentikan. Bab ini berhubungan dengan masalah CPU. 1/O dan memori akan dibahas pada dua bab berikutnya. Setiap CPU dibuat untuk melaksanakan sekumpulan operasi-mikro tertent. Rangkaian operasi-operasi tersebut, disebut sebagai instruksi mesin, digunakan ‘untuk memprogram komputer. CPU menjalankan setiap instruksi mesin dengan 160. Pengantar Organisasi Sistem Komputer ‘menjalankan serangkaian operasi-mikro yang tepat. Subkelompok operasi-nfikro ‘yang dipilih untuk pelaksanaan instruksi tertentu, didasarkan pada inte instruksi dan ditentukan selama proses perancangan komputer. CPU terbentuk atas tiga bagian utama: kumpulan register, unit arit kan sistem dalam dua cara: 1. Dengan mengarahkan transfer ke dan dari register baik ke maupun memori, ALU dan register lainnya, 2, Dengan memerintahkan ALU ke operasi yang akan dijalankan, Secara umum, ketiga bagian CPU tersebut dihubungkan seperti tampak Gambar 5-2. Berdasarkan rancangan dan kemampuan sebuah komputer, bagian CPU tersebut mempunyai kompleksitas yang bervariasi. Pada bagian ini, kita akan melihat tap bagian secara terpisah dan kemudian membehas bet konfigurasi hubungan yang umum dari sluruh bagian secara bersama-sama, KUMPULAN REGISTER Register dari sebuah komputer secara kolektif disebut sebagai kumpulan ter (register set). Beberapa register mungkin mempunyai jenis yang sam: Repent 4+] uy. ease conor ow ——+ on Centra! Processing Unit (CPU) 161 rr ddangkan yang lainnya mungkin berbeda. Sebagai contoh, suatu komputer mung- kin mempunyai beberapa register umum dengan parallel-load dan juga register ‘geser untuk transfer serial secara terpisah. Kemungkinan kombinasi, demikian pula jumlah register, akan bervariasi antara satu komputer dengan yang lainnya. ‘Namun, beberapa register berlaku umum pada hampir semua komputer umum. Register Program Counter Salah satu register umum adalah program counter (PC). Register ini menyim- pan alamat memori dari instruksi selanjumya yang akan dijalankan, Karena pelaksanaan sebuah program biasanya dilakukan berurutan, maka alamat ii struksi berikutnya bernilai 1 lebih tinggi daripada alamat dari instruksi saat i (Perhatikan, saat ini kita berasumsi bahwa panjang instruksi satu word) Oleh arena itu, kita ingin agar PC dapat melayani transfer register: PCH (PC)+1 .1) Jika suatu jump atau cabang instruksi dijalankan, instruksi yang akan dilaksana-~ kan berikutnya disimpan pada alamat yang ditentukan dalam cabang instruksi. Dalam hal ini, kita ingin me-load langsung alamat baru ke PC: PC < bagian alamat dari instruksi cabang 62) Berdasarkan Persamaan (5.1) dan (5.2), kita melihat bahwa register PC merupa- kan counter biner dengan parallel-foad (\ihat Bagian 3.7). Register Instruksi ‘Untuk menjalankan suatu instruksi di dalam memori yang ditunjuk oleh PC, CPU memulai serangkaian satu transfer komputer atau lebih. Rangkaian yang se- benarnya tergantung dari rancangan CPU dan instruksi tertentu yang sedang dijelankan, Mungkin saja operasi yang akan dijalankan memerlukan satu transfer ‘memori atau lebih, Dalam hal ini kita perlu memegang salinan instruksi tersebut dalam sebuah register khusus yang disebut scbagai instruction register (IR). Sebelum pelaksanaan, pertama kali sebuah instruksi di-fetch dari memori dan disimpan dalam IR dan kemudian PC ditingkatkan sehingga ia menunjuk ke instruksi berikutnya. Urutan transfer register untuk proses ini adalah sebagai berikut: 162 Pengantar Organisasi Sistem Komputer IR © M[PC] PC (PC) +1 dimana M[PC) menunjukkan isi lokasi memori yang ditunjuk oleh PC. Scfali instruksi disimpan dalam IR, maka instruksi tersebut dapat di-decode oleh c Togic unit (CLU) dan operasi-mikro dapat diaktifkan untuk pelaksanaannya, Register Umum (General-Purpose) Jumlah register lainnya di dalam kumpulan register sangat bervariasi. ada sejumlah register general-purpose (bertujuan umum) untuk menyimpan nilai sementara selama instruksi. Banyak komputer memi i program status word (PSW) yang menyimpan informasi tent selama siklus eksekusi. Secara tipikal, PSW akan mencakup izin untuk interupsi (lihat Bagian 6,2) yang diizinkan terjadi. Register ini, sama dengan PC, kemudian dapat digunakan untuk menyimpan keadaan program yang sedang berjalan ketika sebuah interupsi luar perlu dilayani. Set interupsi tersebut, CPU dapat melanjutkan pelaksanaan program mulai dari pat yang tadi ditinggalkan. ne ater smo minnal iu brug sebagai memory slamat (REAR) dan minimal sty bertuens sebagai memory bullet regiater Komputer dasar pada Bab 4 menggunakan MAR dan MBR secara eksklusif ur mereferensikan memori, meskipun dapat juga digunakan lebih dari satu regi untuk setiap fungsi tersebut. Jika sebagai ganti dari register umum, sebuah komputer memiliki. set {eet roses Wk Belanger suka instraksl mk reste nid agai Accumulator (ACC). Seltp jenis ini akan membatast kekuatan rsatilitas dari kumpulan instruksi yang mungkin tetapi ia menyederhan: irkuit logika pada unit kendali logika dengan mengizinkan salah satu oper: dari instruksi logika dan aritmatika agar sclalu dikandung. Jika digunakan ACC maka biasanya berupa register yang sangat terspesialisasi. Terkadang kc puter akan memiliki register umum tetapi juga menggunakan satu register sex cam itu sebagai pseudo-ACC untuk memungkinkan implikasi pengalam: untuk instruksi tertentu. ‘Sebagai tambahan bagi beberapa kombinasi register yang baru dibahas; komputer mempunyai sejumlah register flag, yang digunakan untuk men, Central Processing Unit (CPU) 163 ‘kas aliran pelaksanaan pada CLU dan ALU, Jumlah dan penggunaan sesungguh- hiya dari register ini berlaku istimewa untuk suatu komputer. Beberapa dari register ini telah disebutkan pada Bab 4. Kumpulan Register pada Intel 8085. Mari kita perhatikan kumpulan register pada sebuah CPU sedethana, yaitu mikro- processor Intel 8085. (Jika keseluruhan CPU dimasukkan ke dalam satu IC chip, maka disebut sebagai mikroprosesor, lihat Bab 11), Mikroprosesor 8085 merupa- kan chip 40-pin yang memproses 8 bit data secara paralel pada suatu waktu. Pengalamatan dilakukan dengan menggunakan alamat 16-bit untuk memori juga vO. Gambar 5-3(a) menunjukkan kumpulan register pada mikroprosesor Intel 8085. Pada CPU ini, register A berfungsi sebagai sebuah akumulator 8-bit. CPU juga mencakup sebuah program counter (PC), sebuah stack pointer (SP), sebuah ‘flag register dan enam register pengalamatan $-bit. (SP digunakan dalam kaitan ‘dengan stack memori seperti yang diterangkan pada Bagian 7.2). Seperti ditun- jukkan dalam Gambar 5-3(b), register 8-bit biasanya digunakan secara berpasang- an. Register A bersama-sama dengan flag register, membentuk program status ao wenn) (Cen aoe DEB batt SPDT Te eon] (ume reriob ea shen eo oe 18 a pn row faa] of 8 i ls < Jef ye (0) Reiter pal orpnizaion Gambar $3 Kumpulan register pada mikroprosesor Intel 8085 164 Pengantar Organisosi Sistem Komputer word (PSW). Tiga pasangan lainnya digunakan untuk tujuan pengalamatan, pa- sangan H merupakan pasangan yang sangat umum digunakan, Pasangan ini dirujuk secara bersama-sama atau terpisah, yang menyebabkan tersedianya bagai variasi instruksi. FORMAT INSTRUKSI Organisasi internal pada komputer dinyatakan oleh instruksi-instruksi yang dapat dijalankannya. Suatu instruksi merupakan suatu tata cara yang digunakan ofeh Komputer untuk menyatakan operasi-operasi seperti ADD, STORE, LO, MOVE dan BRANCH serta untuk menentukan lokasi data dimana suatu ope akan dikerjakan. Kumpulan seluruh instruksi tersebut, disebut sebagai kumpt inseruksi, juga mencakup berbagai variasi operasi aritmatika dan logika, in transfer data, instruksi VO dan instruksi pengendalian, Setelah digabungkan ssama-sama oleh programmer, instruksi-instruksi tersebut membentuk sebuah p ‘gram yang menyatakan urutan dan pola perpindahan dan transformasi data. mmat pada instruksi tersebut. Cara mengintepretasikan field o oleh mode pengalamatan (addressing mode). Tergantung pada m pengalamatan dan operasi tertentu, operand-operand yang sesungguhnya mu kin termasuk di dalaminya, mungkin berupa konstanta atau mungkin disimp: lokasi lainnya. Panjang instruksi komputer tidak tetap. Suatu instruksi munglfin mempunyai panjang satu word atau lebih, dengan demikian memerlukan ‘word memori atau lebih untuk di-fetch Format Alamat Pengkodean biner pada instruksi-instruksi sangat bervariasi dari satu komp. dengan yang lainnya dan setiap komputer memiliki format kode instrugsi tersendiri. Pada salah satu komputer terdahulu, setiap instruksi terdiri atas se ‘opcode dan empat field alamat. Gambar 5-4 menunjukkan format empat-s mat, dimana: Central Processing Unit (CPU) 165 eEEE—_—_————————————————— orcooe [Ay a A A Gambar 5-4 Formst empat-alamat lamat operand pertama lamat operand kedua alamat dimana hasil operasi disimpan ‘As= alamat dari instruksi berikutnya Karena komputer biasanya menjalankan instruksi-instruksi secara berurutan, ita dapat memberi kode algoritma dengan cara tertentu dan menghilangkan kebutuhan akan 43, Jika kita menganggap bahwa panjang word memori tetap, kita dapat menggunakan bit-bit yang memerinci 43 untuk sisa alamat yang ada dan dapat menggunakan ruang memori yang lebih besar tanpa meningkatkan ukuran word memori, Format ini, dikenal dengan format tiga-alamat, ditunjukkan dalam Gambar 5-5, dimana: 4q= alamat operand pertama Ay = alamat operand kedua 4z= alamat hasil Bayangkan sebuah komputer yang memiliki panjeng word 42 bit dan ruang ‘memori $12 word. Jika kita menyusun 6 bit pada opcode (menghasilkan 2° = 64 operasi yang mungkin), maka dalam format empat-alamat, 9 bit disisakan untuk masing-masing empat alamat (karena 2° = 512 alamat memori). Dengan memper- tahankan opcode tetap sama pada 6 bit akan menyisakan 36 bit untuk penga- lamatan format tiga-alamat atau 12 bit per alamat Kita dapat melakukan pengalamatan sampai 2!? = 4096 lokasi memori. Sehingga dengan menurunkan SC Gambar $-5 Format igealamat 166. Pengantar Organisas! Sistem Komputer [[eecooeT ooness Gambar 5.6 Format singlesalamat jumlah alamat pada format instruksi, kita dapat menaikkan ukuran memori yang dapat dialamati jika panjang word-nya tetap sama. Format lain, dikenal sebagai format dua-alamat, menghitangkan alamatf4, ddan 4,, Format ini merupakan format paling umum pada komputer komersial dfn, ‘tergantung pada sistem tertentu, menggunakan salah satu dari akumulator 4, A, untuk hasilnya. Anggaplah lagi contoh yang menggunakan panjang 4 42-bit dengan 6 bit dibagi untuk opcode. Sckarang kita dapat menggunakan 18pit {(42 - 6/2] per alamat dan mengalamati ruang memori sebesar 2'* = 262. word. Bagsimanapun juga, cara termudah untuk mengorganisasikan sebuah kqn- puter adalah dengan mempunyai sebuah register CPU tunggal dan kode instruksi dengan hanya dua bagian. Format ini, dikenal sebagai format alamat-tunggpl, seperti ditunjukkan pada Gambar 5-6, Sekarang akumulator menjalankan funfpsi ganda: biasanya menjadi bagian alamat pada operand kedua dan juga lokpsi 0 | o-o o 4 1 0 Gambar $12 Sirkuit logika untuk elemen konversi3-bit but. Dengan demikian, penerapan operasi ini secara langsung ke dalam ALU akan mengakibatkan waktu siklus harus lebih besar dari 500 ns dan karenanya seluruh ‘operasi-mikro aritmatika akan memerlukan waktu sepanjang itu untuk pelak- sanaannys. Hal ini terlihat seperti beban yang tidak perlu untuk diterapkan pada operasi sederhana seperti A « B atau A A +1 Satu alternatif untuk hal ini adalah dengan memiliki siklus yang panjangnya variabel. Meskipun tidak umum, hal ini dapat diterapkan. Altemnatif lainnya adalah mempertahankan ALU (sejauh fungsi aritmatika berjalan) seperti pada Gambar 5-11 dan menerapkan operasi perkalian dan pembagian dengan memiliki unit kendali logika yang menentukan penambahan, pengurangan dan pergeseran yang dibutuhkan, Hal ini berarti bahwa perkalian dan pembagian tidak diangeap sebagai operasi-mikro, tetapi juga memungkinkan waktu siklus tetap konstan dan relatif kecil untuk ALU. Karena waktu siklus yang pendek lebih disukai, maka operasi perkalian dan pembagian tidak tercakup langsung dalam ALU, Dimana mereka diterapkan dalam CLU atau dalam sitkuit terpadu khusus untuk tujuan 178 Pengantar Orgonisasi Sistem Komputer Perkalian atau pembagian, dimana penerapan perangkat kerasnya akan di pada Bagian 5.5. Bit kondisi. Seringkali perlu untuk menentukan hubungan tertentu yan; i antara dua input pada ALU, sebagai tambahan pada hasil operasi tertqhtu. Misalnya, sangat penting untuk mengetahui apakah operasi ADD menghasi overflow atau jika ada carry akhir dari suatu operasi sewaktu mengalikan| angka atau menambahkan angka-angka sign-magnifude. Informasi ini dite pada waktu yang sama dengan saat pelaksanaan operasi dan disimpan dalary bit (flag) kondisi untuk evaluasi berikutnya. Bit kondisi semacam ini biasa di sebagai bagian dari register program status word (PSW) yang telah dil sebelumnya pada Bagian 5.2. Sebagai contoh, Gambar 5-13 menunjukkan diagram dari sebuah sirkuit yang menguji empat kondisi umum yang berhut ‘an dengan angka-angka komplemen 2's, 1, Overflow (OF): Di-set jika carry-in untuk bit terakhir (C3) dan pada bit terakhir (C,) tidak sama. 2, End carry (EC): Sama dengan carry-out pada bit terakhir (C,). 3. Sign (S): Sama dengan bit sign pada hasil. 4, Zero (Z): Di-set jika hasil (tidak termasuk bit sign) bernilai 0. Dalam kasus sign-magnitude, hanya bit 0, 1 dan 2 yang akan ditambah| karena bit 3 adalah bit sign. Dengan demikian, flag EC berhubungan dengad C, mirip dengan komplemen 2's, dengan satu pengecualian (perhatikan dalam ‘nomor 11 pada akhir bab ini). Fungsi Logika pada Sebuah ALU Dibandingkan fungsi aritmatika, fungsi logika pada ALU lebih sederhana. Us segala operasi logika yang ingin kita terapkan, kita hanya perlu memuat sejunfah 1m gerbang logika tertentu untuk operasi tersebut (satu untuk setip pasangar| bit input), Sebagai contoh, Gambar 5-12 menunjukkan sirkuit logika yang diperl untuk penerapan operasi eksklusif OR (XOR) dengan input 3-bit. Keseder fungsi logika ini disebabkan oleh tidak adanya sinyal lateral carry-borrow: yang dibutuhkan dalam fungsi artimatika. Semua operasi logika secara ijalankan pada posisi bit tunggal dengan tidak menggunakan informasi Central, Processing Unit (CPU) 179 Onetow, ie Gambar 5-13 Diagram fogika untuk bic-bit kondist posisi bit sebeluminya ataupun pengiriman informasi apapun ke posisi bit berikut- nya. ALU dapat di-se/ untuk menangani berapa pun jumlah operasi-mikro logika. Yang termasuk empat operasi logika dasar biasanya adalah AND, OR, NOR dan XOR. Sedangkan operasi logika lainnya yang tidak tercakup secara eksplisit dapat diturunkan dari keempat operasi dasar ini, Gambar 5-15 menunjukkan suatu realisasi dari empat operasi logika dasar yang akan tercakup dalam ALU. Sejumlah m input A dan B dihubungkan ber- " A, ®, A % Som % Gambar 5-14 Operasi ckskiusif OR untuk input 3-bit 180 Pengontar Orgonisasi Sistem Komputer ITREAETCS Gambar $-15 Unit logika untuk empat opeasi logika dasar pasangan pada gerbang untuk setiap operasi logika dan baris seleksi untuk MUX memilih salah satu operasi tersebut. Unit logika ini diangeap sebagai bagian ALU, seperti halnya adder paralel biner. Sejauh yang kita perhatikan, waktu siklus bagian logika ALU akan selalu lebih kecil dari waktu siklus adder. Penggeser Perhatikan lagi algoritma perkalian dan pembagian pada Bab 2. Kita telah melfhat bagaimana ALU dapat digunakan sebagai bagian penambahan dan penguran} tetapi bagaimana dengan pergeseran? Salah satu cara untuk menerapkan. seran ini adalah dengan me-load hasil dari ALU (setelah proses penambahan pengurangan) ke dalam register geser dua-arah dengan parallel-load (What agian 3.7), kemudian pada pulsa waktu berikutnya, pergeseran yang semest}nya dapat dilaksanakan. Namun ada dua alasan mengapa implementasi ini ¢ igunakan. Pertama, karena kita tidak benar-benar perlu menyimpan hasil seren- tara, pemakaian register hanya membuang-buang biaya. Kedua, dengan menggu rnakan register kita terpaksa menggunakan dua pulsa waktu untuk sdtiap pergeseran; satu untuk me-load dan satu lagi untuk pergeseran, Kita dapat mengatasi masalah ini dengan menerapkan sirkuit geser kompbi- nasional, yang dikenal sebagai skalar posisi (scaler position), ditunjukkan yada Centra! Processing Unit (CPU) 181 Fy conto foun |sni watt [gt Gambar 5-16 Skala posisi Gambar 5-16, Sewaktu kendali pergeseran bemilai 1, maka gerbang AND sebelah iri pada Gambar 5-16(a) menjadi enable sedangkan gerbang AND sebelah kanan ‘menjadi disable. Bit sisipan diteruskan ke bit Z yang paling significant (Z,.;) dan setiap bit A bergeser satu posisi bit ke kanan Z, dengan membuang bit 4 yang paling tidak significant bit (4g). Pergeseran sejenis ke sebelah kiri akan terjadi jika kontrol pergeserannya sama dengan 0, Perhatikan bahwa hal ini berbeda dengan register geser, dimana outputnya tidak akan digeser terus-menerus ke kanan (atau kiri) tergantung seberapa panjang kendali pergeseran tersebut di-set 182 Pengantar Organisasi Sistem Komputer Function, awe —e] ALU ne saieet > [[shiter seer 2 Gambar $17 Konfigurasi ALU-penggeser (atau dibersihkan). Di sini output akan tetap Konstan selama input tersebut stan, Segera setelah input berubah, output juga akan berubah setelah penundi dua atau tiga gerbang Karena kita ingin menjalankan pergeseran bersamaan dengan fungsi arit tka atau logika, seperti pada perkalian atau pengepakan string, akan lebih efi untuk men-ser penggeser di luar ALU, seperti ditunjukkan pada Gambar 5: Dengan cara ini kita dapat menambahkan dua angka dan menggeser seluruh hi dalam satu langkah daripada kita meneruskan hasilnya ke input ALU lagi kemudian men-setup ALU untuk menggeser angka tersebut. Untuk menggunakan penggeser (shifter) dengan setup seperti itu, hasil ALU harus dapat diteruskan ke penggeser tanpa berubah. Oleh karena itu harus memodifikasi skalar posisi untuk menyertakan sebuah kendali “‘no-shi Diagram blok penggeser secara lengkap ditunjukkan pada Gambar 5-18. Rancanj sirkuit logika sesungguhnya akan ditinggalkan untuk latihan. Pada bagian ber inj dan secara umum, rujukan bagi ALU pada sebuah komputer juga melibat penggeser tersebut CONTROL LOGIC UNIT (CLU) Berdasarkan kumpulan register tertentu, fungsi-fungsi yang termasuk dalam A\ dan hubungan di antaranya, sebuah komputer dapat menerapkan sejumlah o si-mikro yang berbeda. Kita katakan bahwa organisasi komputer ditentukan o kumpulan operasi-mikronya. Yang juga berhubungan dengan setiap komp Central Processing Unit (CPU) 183 —=—=—=—=_—_—_—_$_—_—_—_—<—_—_—_—————————— mmu"—_ | "me ee TE T 2 Gambar $-18 Diagram blok untuk sebuah penggeser yang lengkap, adalah kumpulan instruksi mesin yang digunakan untuk memprogram komputer. Dalam komputer, setiap instruksi tersebut terbentuk dari serangkaian operasi- mikro tertentu, Unit kendali logika (CLU atau control logic unit) pada komputer memasukkan informasi tentang instruksi dan mengeluarkan baris kendali yang diperlukan untuk mengaktifkan operasi-mikro yang semestinya. Contoh 5.2 Dengan menggunakan operasi yang sama seperti Contoh 5.1, anggap saja bahwa komputer memiliki instruksi dengan bentuk ADD i, j, & yang berarti tambahkan register j ke register k dan simpan hasilnya ke dalam register i. [Ri €~(Ryj) + (RA)]. Sika Komputeraya merupakan sistem akumulator-tunggal, maka instruksi ini akan dipecah ke dalam serangkaian operasi mikro seperti berikut: ACC e0 ACC < (ACC) + (Ry) ACC & (ACC) + (RA) Rie (ACC) Sekarang, anggaplah i 1, ~ 2, dan & ~ 3, dan operasi ADD diberi kode dengan 101. Gambar 5-19 menunjukkan kermungkinan penyusunan CLU untuk satu instruksi ini. Tiap Ps adalah sebuah baris kendali, hanya satu yang bernilai | untuk setiap waktu, yang memungkinkan operasi-mikro yang berbeda, Pp akan menyebabkan ACC diber- sihkan. P1 memilih R2 dan Pz memilih R3 dari MUX untuk ditambahkan ke ACC. ‘Output penjumiahan dari adder akan selalu dikirimkan Kembali pada ACC tetapi hanya dicload pada Pt ataupun P2. Pada contoh ini adder paralel dirancang untuk ‘monambahkan input yang tersedia pada pulsa waktu. Dengan cara ini hasil penjum- 184 Pengontar Orgonisasi Sistem Komputer ome] Gambar 5.19 Baris kendali untuk RI (R2) + (R3) lahan, yang di-load kembali ke ACC, tidak akan dimasukkan lagi selama of smikro ini, Sebagai alternatif, dapat digunakan dua pulsa waktu untuk langkah ‘bahan: satu untuk penambahan dan satu untuk me-load. 3 dihubungkan dengan i load dari RI, yang input datanya dihubungkan dari ACC. Untuk meyakinkan bahia suatu kejadian berlangsung dengan urutan yang tepat, counter sekuensial (SC af sequence counter), bersama-sama decoder 2 X 4, akan menghasilkan sinyal w ‘melalui ¢5 pada eplikasi pulsa waktu yang berurutan, Sinyal waktu ini me seluruh P, dan memaksa agar uratan yang benar diikut. Contoh 5.2 hanyalah sebuah contoh sederhana mengenai sinyal kendali dihasilkan CLU. Tidak hanya setiap instruksi yang harus ditangani, tetapi sinyal kendali untuk mem-fetch instruksi dan operand dari memori, untuk mé ngani interupsi dan untuk memproses 1/O harus dihasilkan oleh CLU. Mari Tihat pada CLU dalam bentuk prosesor aritmatika dan unit aritmatika desimal. Unit (CPU) 185 Prosesor Aritmatika Seperti telah kita lihat pada Bab 4, sebuah komputer bekerja mengikuti siklus. Biasanya ada siklus fetch, siklus penjumlahan alamat efektif, siklus eksekusi dan siklus interupsi. Jumlah sinyal waktu untuk setiap siklus akan bervariasi pada suatu Komputer dengan yang lainnya dan bahkan dalam suatu mesin. Kita dapat ‘memperhatikan bahwa CLU terbentuk atas sebuah prosesor instruksi (/P atau instruction processor) dan prosesor aritmatika (AP atau arithmatic processor). IP mengendalikan fetch, perhitungan alamat dan siklus interupsi, dan AP akan mengendalikan siklus eksekusi bagi operasi aritmatika dan logika. Aritmatika fixed-point, Pada Bab 2 telah diberikan garis besar mengenai prosedur dasar untuk operasi aritmatika fixed-point. Sekarang kita akan memper- hatikannya dalam bentuk pernyataan tranfer register yang dijalankan oleh CLU untuk menjalankan suatu operasi. Pada pembahasan ini, kita akan membuat asumsi-asumsi berikut ini 1. Operand berada dalam reg 2. Bitsign A dan B masing-masing berada dalam 4, dan B,. 3. Register E digunakan untuk menyimpan caary terakhir pada penjumlahan atau peminjaman terakhir pada pengurangan, 4. Kode-kode untuk operasi adalah sebagai berikut: @=ADD SUBTRACT c= MULTIPLY c= DIVIDE 5. SC adalah sebuah counter sekuensial, bersama-sama sebuah decoder, akan menghasilkan sinyal waktu fy sampai é,. 6. OF adalah bit kondisi overflow. 7. Isi register I adalah 1 jika suatu operasi sedang dijalankan oleh AP dan di-reset ke 0 pada akhir eksekusi tersebut. Perhatikan penambahan dan pengurangan angka yang diwakili oleh notasi omplemen 2's. Ingat kembali bahwa komplemen 2's dari sebuah angka x adalah x+ 1, Seperti telah dijelaskan pada Bagian 2.3, untuk menambahkan dua angka ‘fixed-point, kita menambahkan bit-bit yang berhubungan dan mengabaikan se- ‘mua carry-out pada bit paling kiri. Untuk penjumlahan, kita menambahkan kom- 186. Pengantar Organisasi Sistem Komputer plemen 2's pada submrahend pada minuhend. Namun, operasi sesungguhnya yang lankan, tergantung dari tanda operand tersebut, sebagai berikut: ay 2. Jika operasinya adalah ADD dan tandanya berbeda, maka kurangi B dar A. ‘operasinya adalah ADD dan tandanya sama, maka tambahkan A dar B. 3. operasinya adalah SUBTRACT dan tandanya sama, maka kurangl B dari A. 4, Jika operasinya adalah SUBTRACT dan tandanya berbeda, maka tam! kan A dan B. Tabel 5.3 menunjukkan pernyataan tranfer register yang berbubungan rlukan untuk melaksanakan operasi ADD dan SUBTRACT sedemikian| hingga hasil penjumlahan ada dalam register A. SC di-set untuk mengendali ‘arus pelaksanaan pernyataan dan pada awalnya di-reset ke 0. Untuk operasi AID, ‘augend ada pada A dan addend di B, dimana untuk operasi SUBTRACT, miu ‘end ada pada A dan subirahend di B. Sika tandanya sama pada operasi ADD berbeda pada operasi SUBTRACT, maka magnitude-nya ditambahkan langkah ke-1. Namun jika tandanya berbeda pada operasi ADD atau sama operasi SUBTRACT, maka magnitude dikurangi pada langkah ke-2 dengan rhe- ‘nambahkan komplemen 2’s dari B ke A. Karena itu, langkah ke-I dan ke-2 adalah ‘mutual eksklusif dan dapat dilaksanakan pada sinyal waktu yang bersamaan. Pada langkah ke-1, penambahan mungkin menghasilkan sebuah overfl Dalam kasus ini nilai register E akan menjadi 1 dan bernilai 0 jika sebalil Dengan mengabsikan keberadaan overflow, tanda dari hasil adalah sama dengan ‘TABELS.3 PERNYATAAN TRANSFER REGISTER UNTUK PENAMBAHAN [DAN PENGURANGAN FIXED:POINT DALAM REPRESENTAS! KOMPLEMEN 23 1. Weg + 2eite: EA UA) + (8), scm sey +t 2, lea + Fete EAM (A) + 1B) 4 LO 0, C= CUI 3. lea + eon: OP HE, sCHO,1e0 4. Wile + ote FA = THEN A, 0, SCH0.1-0 5. leet eis AeA, SC m1SC) +1 G.Mee teil AEE AR OO, sCHo1n0 oer = AO Central Processing Unit (CPU) 187 tanda dari nilai asli A. Karena itu, jika tidak ada overflow, maka jawaban pada A adalah benar seperti apa adanya; jika ada overflow, pada langkah ke-3 bit OF akan di-set. Pada langkah ke-2, bit OF secara otomatis di-reset ke 0 karena pengurangan pada operand dengan sign yang sejenis dan penambahan pada ope- rand dengan sign yang berbeda tidak akan pernah menghasilkan suatu overflow. ‘Namun demikian, pada kasus ini tanda yang dihasilkan akan sama dengan tanda ‘operand yang lebih besar. Dengan defirisi penambahan dan pengurangan kom- plemen 2’s, nilai E mewakili tanda hasil. Jika hasilnya negatif dan magnitudenya nol, langkah ke-4 memastiken bahwa hasilnya akan dikembalikan sebagai nol positif.Jika hasilnya positif maka pada langkah ke-5 dan ke-6 akan dikonversikan ke representasi positif-nya. Dengan demikian langkah ke-4 dan ke-5 adalah mutual eksklusif dan dapat dilaksanakan pada sinyal waktu yang bersamaan. (Perhatikan bahwa f, tidak selalu dihasilkan berurutan). Jika suatu angka dinyatakan dalam komplemen 1's sebagai pengganti kom- plemen 2's, maka prosedur ADD dan SUBTRACT sangat mirip dengan apa ‘yang ditunjukkan pada Tabel 5.3 (lihat soal nomor 11 pada akhir bab ini, yang berhubungan dengan pendeteksian overflow). Namun jika angka-angka terse- but ditulis dalam notasi sign-magnitude maka prosedurnya lebih panjang, arena seluruh kombinasi tanda dan magnitude relatif pada operand harus dipertimbangkan, Untuk operasi perkalian dan pembagian, akan lebih seder- hhana jika bekerja dengan angka-angka yang ditulis dalam notasi sign-magni- tude. Karena itu kita akan mengasumsikan representasi sign-magnitude untuk operasi perkalian dalam pembahasan kita berikut ini. Karena operasi pem- bagian sangat mirip maka Kita tidak akan membahasnya disini. Algoritmia untuk perkalian dan pembagian angka dalam notasi komplemen 2 dapat dite- muken dalam Mano (1982), misalnya. Prosedur pokok untuk operasi perkalian adalah mengalikan magnitude ope- randnya dan menentukan tanda produk dengan melakukan operasi eksklusif OR pada tanda operand tersebut. Prosedur yang digambarkan dalam Contoh 2.24 pada Bagian 2.3 menunjukkan ide umum tentang bagaimana magnitude-magni tude tersebut dikalikan. Namun sebagai ganti pembentukan semua produk parsial dan kemmudian menambahkannya bersama-sama, suatu pendekatan yang lebih baik adalah dengan menghitung penjumlahan parsial sewaktu produk parsial terbentuk. Dengan demikian pada setiap iterasi, penjumlahan parsial tersebut digeser dan muliplicand ditambahkan jika bit multiplier bernila | atau diabaikan jika bemilai 0. Jumlah iterasi yang dibutuhkan ditentukan oleh jumlah bit di 9] akan menjadi 1, yang menyebabkan 0110 ditambahkan ke jumlah sebelumnya; jika sebaliknya, hanya 0000 yang akan ditambahkan. Sirkuit logika untuk Komponen [X> 9} ditunjukkan pada Gambar 5-21 dan turunannya, berdasarkan entri dalam Tabel 5.5, ditinggalkan sebagai latihan. Untuk memba- ngun sebuah adder paralel BCD n-digit, sejumlah m adder BCD dicurahkan nears m8 jit feptet bie bine ater + cary in = conry out Loge 4 Corryout 4 wcbinary ease Convout 5) 5 Se Gambar $-20 Adder BCD dus-digit 192 Pengantar Orgonisasi Sistem Komputer sebuah adder parale! biner n-bit. Contoh 53 Perhatikan penambah atas dua angka BCD 3-digit yaitu 917 dan 256, Gambar ‘menunjukkan input dan output adder BCD 3- 9] komponen seperti ditunjukkan pada Gambar 5-1. (Tunjukkan bahwa persamaan logika merupakan semua kode biner mast ‘yang lebih besar dari 9). 18. Dalam organisasi data bus CPU tunggal yang ditunjukkan pada Gamfar 5-24, diperlukan dua register penyimpanan sementara, Y dan Z. Jika data bus digunakan, mana yang diperlukan, Y atau Z? Mengapa?

You might also like