bab 5

Upload: tiarapalentungi

Post on 20-Jul-2015

62 views

Category:

Documents


0 download

TRANSCRIPT

Unit Pengolahan Desain Dalam bab-bab sebelumnya, kita mempelajari sejarah sistem komputer dan fundamental terkait dengan lokasi memori masalah, mode pengalamatan, bahasa assembly, dan komputer aritmatika. Dalam bab ini, kita memusatkan perhatian pada komponen utama dari setiap sistem komputer, unit pengolah pusat (CPU). Fungsi utama dari CPU adalah untuk melaksanakan serangkaian instruksi yang tersimpan di memori komputer. Sebuah CPU sederhana terdiri dari satu set register, logika unit aritmatika (ALU), dan kontrol Unit (CU). Dalam apa yang berikut, pembaca akan diperkenalkan kepada organisasi dan operasi utama dari CPU. 5.1. CPU DASAR Sebuah CPU yang khas memiliki tiga komponen utama: (1) register set, (2) logika aritmatika Unit (ALU), dan (3) unit kontrol (CU). Set mendaftar berbeda dari satu komputer arsitektur yang lain. Ini biasanya merupakan kombinasi dari tujuan umum dan specialpurpose register. Register tujuan umum yang digunakan untuk tujuan apapun, maka Nama tujuan umum. Tujuan khusus register memiliki fungsi tertentu dalam

CPU. Misalnya, program counter (PC) adalah register tujuan khusus yang digunakan untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya. Lain contoh tujuan khusus register instruksi register (IR), yang digunakan untuk menyimpan instruksi yang sedang dieksekusi. ALU menyediakan sirkuit diperlukan untuk melakukan aritmatika, logika dan operasi pergeseran dituntut dari instruksi set. Dalam Bab 4, kita telah membahas sejumlah operasi aritmatika dan sirkuit yang digunakan untuk mendukung perhitungan dalam ALU. Unit kontrol entitas yang bertanggung jawab untuk mengambil instruksi yang akan dieksekusi dari utama memori dan decoding dan kemudian melaksanakan hal itu. Gambar 5.1 menunjukkan komponen utama dari CPU dan interaksinya dengan sistem memori dan input / perangkat output. CPU mengambil instruksi dari memori, membaca dan menulis data dari dan ke memori, dan transfer data dari dan ke perangkat input / output. Sebuah khas dan

hal 101 siklus eksekusi sederhana dapat diringkas sebagai berikut: 1. Instruksi berikutnya yang akan dieksekusi, yang alamatnya diperoleh dari PC, yang diambil dari memori dan disimpan di IR. 2. Instruksi ini diterjemahkan. 3. Operan yang diambil dari memori dan disimpan dalam register CPU, jika diperlukan. 4. Instruksi dijalankan. 5. Hasil ditransfer dari register CPU ke memori, jika diperlukan. Siklus eksekusi diulang selama ada instruksi lebih untuk mengeksekusi. Sebuah cek untuk interrupts tertunda biasanya disertakan dalam siklus. Contoh interupsi termasuk I / O permintaan perangkat, overflow aritmetika, atau kesalahan halaman (lihat Bab 7). Ketika sebuah permintaan interupsi ditemui, transfer ke rutin penanganan interupsi berlangsung. Rutinitas penanganan interupsi adalah program yang dipakai untuk mengumpulkan keadaan program yang sedang dijalankan, yang benar penyebab mengganggu, dan memulihkan keadaan program. Tindakan CPU selama siklus eksekusi didefinisikan oleh mikro-order

dikeluarkan oleh unit kontrol. Mikro-order adalah sinyal kontrol individu dikirim lebih berdedikasi saluran kontrol. Sebagai contoh, mari kita asumsikan bahwa kita ingin mengeksekusi suatu instruksi yang bergerak isi dari register X untuk mendaftar Y. Mari kita juga menganggap bahwa kedua register terhubung ke bus data, D. unit kontrol akan mengeluarkan kontrol sinyal untuk memberitahu mendaftar X untuk tempat isinya pada data bus D. Setelah beberapa penundaan, sinyal kontrol lain akan dikirim untuk memberitahu mendaftar Y untuk membaca dari data bus D. aktivasi dari sinyal kontrol ditentukan baik menggunakan kontrol tertanam atau microprogramming. Konsep-konsep ini dijelaskan nanti dalam bab ini.

hal 102The remainder of this chapter is organized as follows. Section 5.2 presents the register set and explains the different types of registers and their functions. In Section 5.3, we will understand what is meant by datapath and control. CPU instruction cycle and the control unit will be covered in Sections 5.4 and 5.5, respectively. 5.2. REGISTER SET Registers are essentially extremely fast memory locations within the CPU that are used to create and store the results of CPU operations and other calculations. Different computers have different register sets. They differ in the number of registers, register types, and the length of each register. They also differ in the usage of each register. General-purpose registers can be used for multiple purposes and assigned to a variety of functions by the programmer. Special-purpose registers are restricted to only specific functions. In some cases, some registers are used only to hold data and cannot be used in the calculations of operand addresses. The length of a data register must be long enough to hold values of most data types. Some machines allow two contiguous registers to hold double-length values. Address registers may be dedicated to a particular addressing mode or may be used as address general

purpose. Address registers must be long enough to hold the largest address. The number of registers in a particular architecture affects the instruction set design. A very small number of registers may result in an increase in memory references. Another type of registers is used to hold processor status bits, or flags. These bits are set by the CPU as the result of the execution of an operation. The status bits can be tested at a later time as part of another operation. 5.2.1. Memory Access Registers Two registers are essential in memory write and read operations: the memory data register (MDR) and memory address register (MAR). The MDR and MAR are used exclusively by the CPU and are not directly accessible to programmers. In order to perform a write operation into a specified memory location, the MDR and MAR are used as follows: 1. The word to be stored into the memory location is first loaded by the CPU into MDR. 2. The address of the location into which the word is to be stored is loaded by the CPU into a MAR. 3. A write signal is issued by the CPU. Similarly, to perform a memory read operation, the MDR and MAR are used as follows:

1. The address of the location from which the word is to be read is loaded into the MAR.hal 103

2. Sebuah sinyal dibaca dikeluarkan oleh CPU. 3. Kata yang diperlukan akan dimuat oleh memori ke dalam MDR siap untuk digunakan oleh CPU. 5.2.2. Mengambil instruksi register Dua register utama yang terlibat dalam mengambil instruksi untuk eksekusi: program counter (PC) dan register instruksi (IR). PC adalah register yang berisi alamat dari instruksi berikutnya yang akan diambil. Instruksi yang diambil dimuat di IR untuk eksekusi. Setelah berhasil mengambil instruksi, PC diperbarui untuk menunjuk ke instruksi berikutnya akan dieksekusi. Dalam kasus operasi cabang, PC diperbarui untuk menunjuk ke instruksi target cabang setelah cabang diselesaikan, yaitu, alamat target dikenal. 5.2.3. Kondisi Register Kondisi register atau flag, yang digunakan untuk menjaga informasi status. Beberapa arsitektur

mengandung kata status program khusus (PSW) mendaftar. Para PSW berisi bit yang ditetapkan oleh CPU untuk menunjukkan status program mengeksekusi. Ini indikator biasanya untuk operasi aritmatika, interrupt, perlindungan memori informasi, atau status prosesor. 5.2.4. Tujuan khusus Alamat register Indeks Daftar Seperti dibahas dalam Bab 2, dalam indeks pengalamatan, alamat dari operan diperoleh dengan menambahkan sebuah konstanta dengan isi register, yang disebut indeks mendaftar. Register indeks memegang perpindahan alamat. Indeks menangani diindikasikan dalam instruksi dengan memasukkan nama indeks dalam kurung mendaftar dan menggunakan simbol X untuk menunjukkan konstanta yang akan ditambahkan. Segmen Pointer Seperti yang akan kita bahas dalam Bab 6, dalam rangka mendukung segmentasi, alamat dikeluarkan oleh prosesor harus terdiri dari nomor segmen (dasar) dan perpindahan (atau offset) dalam segmen. Sebuah segmen register memegang alamat basis segmen. Stack Pointer Seperti ditunjukkan dalam Bab 2, stack

adalah mekanisme organisasi data di mana item data terakhir yang disimpan adalah item data pertama diambil. Dua spesifik operasi dapat dilakukan pada stack. Ini adalah Push dan operasi Pop. Sebuah mendaftar tertentu, yang disebut stack pointer (SP), digunakan untuk menunjukkan lokasi tumpukan yang dapat diatasi. Dalam operasi mendorong tumpukan, nilai SP digunakan untuk menunjukkan lokasi (disebut puncak stack). Setelah menyimpan (mendorong) nilai ini, SP bertambah (dalam beberapa arsitektur, X86 misalnya, SP adalah decremented sebagai stack tumbuh rendah di memori).hal 104nUTF-8

_t2

en1

Translate text or webpage

5.2.5. 80386 Register Seperti dibahas dalam Bab 3, Intel dasar pemrograman model 386, 486 dan Pentium terdiri dari tiga kelompok mendaftar. Ini adalah general-purposes register, yang segmen register, dan pointer instruksi (program counter) dan bendera mendaftar. Gambar 5.2 (yang mengulangi Gambar. 3.6) menunjukkan tiga set register. Set pertama terdiri dari tujuan umum register A, B, C, D, SI (indeks source), DI (tujuan indeks), SP (stack pointer), dan BP (base pointer). Set kedua register terdiri CS (segmen kode), SS (segmen stack), dan empat segmen data register DS, ES, FS, dan GS. Set ketiga register terdiri dari pointer instruksi (program counter) dan flag-flag (status) mendaftar. Di antara bit status, lima pertama adalah identik kepada mereka bit diperkenalkan sedini dalam mikroprosesor 8-bit 8085. berikutnya 6-11 bit identik dengan yang diperkenalkan pada 8086. Bendera dalam 12-14 bit diperkenalkan di 80286 sementara 16-17 bit diperkenalkan di 80386. Bendera dalam sedikit 18 diperkenalkan di 80486.

5.2.6. MIPS Register CPU MIPS berisi 32 tujuan umum register yang nomor 0-31. Daftar x ditunjuk oleh $ x. Daftar $ nol selalu berisi tertanam nilai 0. Tabel 5.1 daftar register dan menjelaskan tujuan penggunaannya. register $ pada (1), $ k0 (26), dan $ k1 (27) dicadangkan untuk digunakan oleh assembler dan operasi sistem. Register $ a0-$ a3 (4-7) digunakan untuk melewati empat argumen pertama untuk rutinitashal 105

ditulis dengan kembali alamat untuk panggilan fungsi. Daftar $ gp (28) adalah pointer global yang titik ke tengah-tengah blok K 64 memori dalam tumpukan yang memegang konstanta dan variabel global. Benda-benda di tumpukan ini dapat dengan cepat diakses dengan satu beban atau instruksi toko.

hal 106

(argumen yang tersisa dilewatkan pada stack). Register $ v0 dan $ v1 (2, 3) digunakan kembali nilai dari fungsi. Register $ t0-$ T9 (8-15, 24, 25) yang disimpan pemanggilregister digunakan untuk jumlah sementara yang tidak perlu dipertahankan di panggilan. Register $ s0-$ S7 (16-23) yang disimpan calleregister yang terus berumur panjang nilai-nilai yang harus dijaga di seluruh panggilan. Daftar $ sp (29) adalah stack pointer, yang menunjuk ke lokasi terakhir di digunakan pada stack. Daftar $ fp (30) adalah pointer frame. Daftar $ ra (31)

5.3. datapath CPU dapat dibagi menjadi bagian data dan bagian kontrol. Bagian data, yang juga disebut Datapath, berisi register dan ALU. Datapath ini mampu melakukan operasi tertentu pada item data. Bagian kontrol pada dasarnya unit kontrol, yang mengeluarkan sinyal kontrol ke datapath tersebut. Internal ke CPU, memindahkan data dari satu mendaftar ke yang lain dan antara ALU dan register. Data internal gerakan dilakukan melalui bus lokal, yang dapat membawa data, instruksi, dan alamat. Eksternal, memindahkan data

dari register ke memori dan I / O device, sering dengan cara bus sistem. Data internal gerakan di antara register dan antara ALU dan register dapat dilakukan dengan menggunakan berbagai organisasi termasuk satu-bus, dua bus, atau tiga-bus organisasi. dedicated datapaths juga dapat digunakan antara komponen yang mentransfer data di antara mereka lebih sering. Sebagai contoh, isi dari PC ditransfer ke MAR untuk mengambil instruksi yang baru pada awal setiap siklus instruksi. Oleh karena itu, sebuah Datapath khusus dari PC ke MAR dapat berguna dalam mempercepat ini bagian dari pelaksanaan instruksi. 5.3.1. Satu-Bus Organisasi Menggunakan satu bus, CPU register dan ALU menggunakan bus tunggal untuk bergerak keluar dan data yang masuk. Karena bus hanya dapat menangani gerakan data tunggal dalam satu siklus clock, dua operan operasi akan membutuhkan dua siklus untuk mengambil operan untuk ALU. Register tambahan juga mungkin diperlukan untuk buffer data untuk ALU. Organisasi ini bus adalah yang paling sederhana dan paling mahal, tetapi membatasi

jumlah transfer data yang dapat dilakukan dalam siklus clock yang sama, yang akan memperlambat turun kinerja secara keseluruhan. Gambar 5.3 menunjukkan Datapath satu bus yang terdiri dari satu set tujuan umum register, alamat memori register (MAR), memori data register (MDR), mendaftar instruksi (IR), sebuah program counter (PC), dan sebuah ALU.

hal 107

5.3.2. Dua Bus Organisasi Menggunakan dua bus adalah solusi lebih cepat dari satu organisasi-bus. Dalam hal ini, umumregister tujuan yang terhubung ke bus kedua. Data dapat ditransfer dari dua register yang berbeda ke titik input ALU pada waktu yang sama. Oleh karena itu, sebuah twooperand operasi dapat mengambil kedua operan dalam siklus clock yang sama. tambahan penyangga mendaftar mungkin diperlukan untuk menahan output dari ALU ketika dua bus sibuk membawa dua operan. Gambar 5.4a menunjukkan sebuah organisasi dua-bus.

Dalam beberapa kasus, salah satu bus dapat didedikasikan untuk memindahkan data ke dalam register (dalam bus), sementara yang lain didedikasikan untuk mentransfer data dari register (out-bus). Dalam kasus ini, register penyangga tambahan dapat digunakan, sebagai salah satu ALU masukan, untuk memegang salah satu operan. Output ALU dapat dihubungkan langsung ke bus di-, yang akan mentransfer hasilnya ke dalam salah satu register. Gambar 5.4b menunjukkan dua organisasi-bus dengan di-bus dan keluar bus. 5.3.3. Tiga-Bus Organisasi Dalam organisasi tiga bus, dua bus dapat digunakan sebagai sumber bus sementara yang ketiga digunakan sebagai tujuan. Bus Sumber memindahkan data dari register (out-bus), dan hal 108 bus tujuan dapat memindahkan data ke register (dalam bus). Masing-masing dari dua-bus adalah tersambung ke jalur masukan ALU. Output dari ALU adalah terhubung langsung ke dalam bus. Seperti dapat diperkirakan, bus yang kita miliki, semakin banyak data kita bisa bergerak dalam satu siklus clock tunggal. Namun, meningkatkan

jumlah bus juga akan meningkatkan kompleksitas perangkat keras. Gambar 5.5 menunjukkan contoh dari datapath tiga bus. 5.4. SIKLUS INSTRUKSI CPU Urutan operasi yang dilakukan oleh CPU selama pelaksanaannya instruksi disajikan pada Gambar. 5.6. Selama ada instruksi untuk mengeksekusi, berikutnya instruksi diambil dari memori utama. Instruksi dijalankan berdasarkan operasi ditentukan dalam bidang opcode dari instruksi. Pada penyelesaian eksekusi instruksi, tes dilakukan untuk menentukan apakah interupsi memiliki terjadi. Sebuah rutin penanganan interupsi harus dipanggil dalam kasus interrupt.

hal 109 Dasar tindakan selama mengambil instruksi, mengeksekusi sebuah instruksi, atau penanganan interrupt yang ditentukan oleh urutan mikro-operasi. Sebuah kelompok kontrol sinyal harus diaktifkan dalam urutan yang diresepkan untuk memicu eksekusi microoperation sebuah. Pada bagian ini, kami menunjukkan mikro-operasi yang

mengimplementasikan instruksi mengambil, pelaksanaan instruksi aritmatika sederhana, dan penanganan interupsi. 5.4.1. Ambil Instruksi Urutan peristiwa dalam mengambil instruksi dapat diringkas sebagai berikut: 1. Isi PC dimuat ke Maret 2. Nilai dalam PC bertambah. (Operasi ini dapat dilakukan secara paralel dengan akses memori.) 3. Sebagai hasil dari operasi membaca memori, instruksi dimuat ke dalam MDR. 4. Isi MDR yang dimuat ke IR. Mari kita perhatikan satu organisasi-bus Datapath ditunjukkan pada Gambar. 5.3. Kita akan melihat bahwa operasi fetch dapat dicapai dalam tiga langkah seperti yang ditunjukkan dalam tabel bawah, di mana t0, t1, t2. Perhatikan bahwa beberapa operasi dipisahkan oleh ";" menyiratkan bahwa mereka dilakukan secara paralel. Langkah Micro-operasi t0 MAR? (PC); A? (PC) MDR t1? Mem [MAR]; PC? (A) th 4 t2 IR? (MDR) Menggunakan tiga bus Datapath ditunjukkan pada Gambar 5.5, tabel berikut menunjukkan langkah yang diperlukan.

Langkah Micro-operasi t0 MAR? (PC); PC? (PC) th 4 MDR t1? Mem [MAR] t2 IR? (MDR) 5.4.2. Jalankan Operasi Aritmatika Sederhana Tambahkan R1, R2, R0 Instruksi ini menambahkan isi dari sumber register R1 dan R2, dan menyimpan hasil di tempat tujuan register R0. Selain ini dapat dilaksanakan sebagai berikut: 1. Register R0, R1, R2, yang diambil dari IR. 2. Isi R1 dan R2 dilewatkan ke ALU untuk penambahan. 3. Output dari ALU ditransfer ke R0.

hal 113 (T0, t1, t2,...) Digunakan untuk mengeksekusi instruksi tertentu. Bidang op-kode yang instruksi diambil diterjemahkan untuk menyediakan generator sinyal kontrol dengan informasi tentang instruksi yang akan dieksekusi. Langkah informasi yang dihasilkan oleh logika sirkuit modul digunakan dengan input lainnya untuk menghasilkan sinyal kontrol. Para generator sinyal dapat ditentukan hanya dengan satu set persamaan Boolean untuk nya output dalam hal input. Gambar 5.7 menunjukkan diagram

blok yang menggambarkan bagaimana waktu yang digunakan dalam menghasilkan sinyal kontrol. Ada terutama dua jenis unit kontrol: microprogrammed dan tertanam. Dalam pengendalian microprogrammed, kontrol sinyal yang terkait dengan operasi disimpan dalam unit memori khusus dapat diakses oleh programmer sebagai kontrol kata-kata. Sebuah kata kontrol adalah microinstruction yang menentukan satu atau lebih microoperations. Urutan microinstructions disebut microprogram, yang disimpan dalam ROM atau RAM disebut CM memori kontrol. Dalam pengendalian tertanam, sirkuit logika tetap yang sesuai langsung ke Boolean ekspresi yang digunakan untuk menghasilkan sinyal kontrol. Kontrol jelas tertanam yang lebih cepat dari microprogrammed kontrol. Namun, kontrol terprogram bisa menjadi sangat mahal dan rumit untuk sistem yang kompleks. Kontrol Hardwired lebih ekonomis untuk unit kontrol kecil. Hal ini juga harus dicatat bahwa microprogrammed kontrol bisa beradaptasi dengan mudah terhadap perubahan dalam desain sistem. Kita dapat menambahkan instruksi baru tanpa mengubah hardware. Kontrol Hardwired akan memerlukan desain ulang seluruh sistem dalam kasus perubahan apapun.

Contoh 1 Mari kita kembali operasi tambahkan di mana kita menambahkan isi dari sumber register R1, R2, dan menyimpan hasil di tempat tujuan register R0. Kami telah menunjukkan sebelumnya bahwa operasi ini dapat dilakukan dalam satu langkah dengan menggunakan tiga bus Datapath ditunjukkan pada Gambar 5.5. Mari kita mencoba untuk memeriksa urutan kontrol yang diperlukan untuk mencapai penambahan ini pada langkah t0. Misalkan bahwa bidang op-kode dari instruksi yang sekarang itu diterjemahkan untuk Inst-x tipe. Pertama kita perlu memilih register sumber dan register tujuan, maka kita pilih Tambahkan sebagai ALU fungsi yang akan dilakukan. Tabel berikut menunjukkan langkah yang diperlukan dan urutan kontrol. hal 117 diimplementasikan dengan menggunakan satu set operasi mikro. Terkait dengan setiap operasi mikroadalah set garis kontrol yang harus diaktifkan untuk melaksanakan microoperation sesuai. Ide kontrol microprogrammed adalah untuk menyimpan sinyal kontrol terkait dengan pelaksanaan instruksi tertentu sebagai microprogram di

memori khusus yang disebut memori kontrol (CM). Microprogram terdiri dari urutan microinstructions. Microinstruction adalah vektor bit, dimana setiap bit sinyal kontrol, kode kondisi, atau alamat dari microinstruction berikutnya. Microinstructions yang diambil dari CM cara yang sama instruksi program yang diambil dari memori utama (Gambar 5.12). Ketika instruksi diambil dari memori, bidang op-kode instruksi akan menentukan microprogram akan dieksekusi. Dengan kata lain, op-kode dipetakan ke alamat microinstruction dalam memori kontrol. Para prosesor microinstruction menggunakan alamat itu untuk mengambil microinstruction pertama di microprogram tersebut. Setelah mengambil setiap microinstruction, kontrol yang sesuai garis akan diaktifkan. Setiap garis kontrol yang sesuai dengan sedikit "1" harus dihidupkan. Setiap garis kontrol yang sesuai dengan sedikit "0" harus tinggalkan. Setelah menyelesaikan eksekusi satu microinstruction, sebuah microinstruction baru akan diambil dan dieksekusi. Jika kondisi bit kode menunjukkan bahwa cabang

harus diambil, microinstruction berikutnya adalah ditentukan dalam bit alamat saat ini microinstruction. Jika tidak, microinstruction berikutnya dalam urutan tersebut akan diambil dan dieksekusi. Panjang microinstruction ditentukan berdasarkan jumlah microoperations ditentukan dalam microinstructions, cara bit-bit kontrol akan ditafsirkan, dan cara alamat dari microinstruction berikutnya diperoleh. Sebuah microinstruction dapat menentukan satu atau lebih mikrooperasi yang akan diaktifkan secara bersamaan. Panjang microinstruction akan meningkat dengan jumlah paralel mikro-operasi per meningkat microinstruction. Selanjutnya, ketika masing-masing bit kontrol di microinstruction sesuai dengan tepat satu garis kontrol, yang panjang microinstruction bisa lebih besar. Panjang microinstruction suatu dapat dikurangi jika garis kontrol dikodekan dalam bidang tertentu dalam microinstruction tersebut. Decoder akan dibutuhkan untuk memetakan bidang masing-masing menjadi garis kontrol individu. Jelas, menggunakan decoder akan mengurangi jumlah baris kontrol yang dapat diaktifkan secara bersamaan.

Ada tradeoff antara panjang microinstructions dan jumlah parallelism. Adalah penting bahwa kita mengurangi panjang microinstructions untuk mengurangi biaya dan waktu akses memori kontrol. Ini juga mungkin diinginkan yang lebih mikro-operasi akan dilakukan secara paralel dan garis kontrol lebih dapat diaktifkan secara bersamaan. hal 118nUTF-8

_t2

en1

Translate text or webpage

Horisontal Vertikal Versus Microinstructions Microinstructions dapat diklasifikasikan sebagai horizontal atau vertikal. Individu bit dalam microinstructions horisontal sesuai dengan garis kontrol individu. Microinstructions horisontal panjang dan memungkinkan paralelisme maksimum karena setiap bit kontrol garis kendali tunggal. dalam

microinstructions vertikal, garis kontrol yang dikodekan ke dalam bidang tertentu dalam microinstruction. Decoders diperlukan untuk peta bidang bit k untuk kemungkinan kombinasi 2k garis kontrol. Sebagai contoh, field 3-bit dalam sebuah microinstruction bisa digunakan untuk menentukan salah satu dari delapan jalur mungkin. Karena pengkodean, vertikal microinstructions jauh lebih pendek daripada yang horizontal. Saluran kontrol dikodekan di bidang yang sama tidak dapat diaktifkan secara bersamaan. Oleh karena itu, vertikal microinstructions memungkinkan hanya paralelisme terbatas. Perlu dicatat bahwa tidak ada decoding diperlukan dalam microinstructions horisontal sementara decoding diperlukan dalam vertikal kasus. Contoh 3 Pertimbangkan Datapath tiga bus ditunjukkan pada Gambar 5.5. Selain PC, IR, MAR, dan MDR, asumsikan bahwa ada 16 tujuan umum register nomor R0-R15. Juga, asumsikan bahwa ALU mendukung delapan fungsi (menambah, mengurangi, mengalikan, membagi, DAN, ATAU, shift kiri dan shift kanan). Pertimbangkan operasi tambahkan Tambahkan R1, R2, R0, yang menambahkan isi dari

sumber register R1, R2, dan menyimpan hasil di tempat tujuan register R0. Dalam contoh ini, kita akan mempelajari format microinstruction bawah organisasi horisontal. Kami akan menggunakan microinstructions horisontal, di mana ada sedikit kontrol untuk setiap garis kontrol. Format microinstruction harus memiliki bit kontrol untuk berikut: . ALU operasi . Register bahwa output untuk keluar-bus1 (sumber 1) . Register bahwa output untuk keluar-bus2 (sumber 2) . Register input yang dari dalam bus (tujuan) . Operasi lain yang tidak ditampilkan di sini Tabel berikut menunjukkan jumlah bit yang diperlukan untuk ALU, Source 1, 2 sumber, dan tujuan:

hal 121 5.6. RINGKASAN CPU adalah bagian dari komputer yang menafsirkan dan melaksanakan instruksi yang terdapat dalam program kita menulis. Komponen utama CPU adalah register file,

ALU, dan unit kontrol. Register file berisi register tujuan umum dan khusus. Tujuan umum registersmay digunakan untuk menyimpan operand dan hasil antara. Register khusus dapat digunakan untuk mengakses memori, urutan, informasi status, atau untuk terus instruksi diambil saat decoding dan eksekusi. Aritmatika dan logika operasi dilakukan di ALU. Internal ke CPU, data bisa bergerak fromone mendaftar ke yang lain atau antara register dan ALU. Data juga dapat bergerak di antara CPU dan komponen eksternal seperti memori dan I / O. Unit kontrol komponen yang mengontrol keadaan siklus instruksi. Selama ada instruksi untuk mengeksekusi, instruksi berikutnya diambil dari memori utama. Instruksi dijalankan berdasarkan operasi yang ditentukan dalam bidang op-kode instruksi. Unit kontrol menghasilkan sinyal yang mengontrol aliran data dalam CPU dan antara CPU dan eksternal unit seperti memori dan I / O. Unit kontrol dapat diimplementasikan dengan menggunakan tertanam atau microprogramming teknik. LATIHAN 1. Berapa banyak bit instruksi yang diperlukan untuk

menentukan sebagai berikut: (a) register operan Dua dan salah satu hasilnya mendaftar di mesin yang memiliki 64 general-purposes register? hal