Anda di halaman 1dari 46

LAPORAN

CONTROL UNIT OPERATION DAN MICROPROGRAMMED


CONTROL
Disusun untuk memenuhi tugas mata kuliah Organisasi dan Arsitektur Komputer
Dosen pengampu: Desmira ST., MT.

Ditulis dan disusun oleh:


Dimas Aditama 22831700001
Dannisa D. A. 22831700028
Jihat R. 22831700026
Juliarni C. D. R. 22831700020
M. Asep 22831700032
Roga Dinar P. 22831700027

PENDIDIKAN TEKNIK ELEKTRO


FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS SULTAN AGENG TIRTAYASA
NOVEMBER 2018
KATA PENGANTAR
Puji syukur marilah kita panjatkan kehadirat illahirabbi yang telah memberi
banyak nikmat dalam kehidupan ini. Tak lupa shalawat teriring salam marilah kita
curahkan kepada Rasulullah Nabi Muhammad SAW. Berserta keluarganya, pa ra
sahabatnya, dan semoga kita mendapatkan syafaatnya sampai hari kiamat nanti.
Dan berkat rahmat Allah pula lah dapat menyelesaikan salah satu tugas ini.
Di dalam laporan ini akan berisi beberapa materi terkait dengan organisasi
dan arsitektur komputer mengenai Control Unit, di dalam materi ini akan
membahas mengenai operasi unit control dan microprogrammed kontrol. Untuk
lebih detilnya pada point operasi kontrol unit akan membahas mengenai micro
operasi, kontrol prosessor, implementasi hardware. Sementara pada point
microprogrammed kontrol akan membahas mengenai konsep dasar, pembagian
microinstruksi, eksekusi microintruksi dan TI 8800 755.
Untuk lebih lanjutnya sebagai bahan utama pembuatan laporan dan juga
pembuatan power point yang digunakan untuk presentasi dan diskusi
menggunakan buku milik William Starlings “Computer Organization and
Architecture ” edisi ke sembilan dan kesepuluh buatan tahun 2016.
Penulis sadar akan kekurangan yang ada dalam makalah ini dan penulis
meminta maaf apabila di dalamnya terdapat kesalahan kata atau yang lainnya.
Semoga hal tersebut dapat menjadi pembelajaran terkait bagi penulis. Demikian
makalah ini dibuat dan hendaknya digunakan sebagaimana mestinya.

Serang, 28 November 2018

Penulis dan Penyusun

i
DAFTAR ISI
Kata Pengantar ......................................................................................................... i
Daftar Isi.................................................................................................................. ii
Bab I Pendahuluan .................................................................................................. 1
A. Latar Belakang ............................................................................................. 1
B. Rumusan Masalah ........................................................................................ 1
C. Tujuan Pembuatan ........................................................................................ 1
Bab IIPembahasan ................................................................................................... 2
A. Control Unit Operation (Operasi Kontrol Unit) ........................................... 2
1. Micro-Operations ..................................................................................... 2
2. Control Of The Processor (Pengendalian Prosessor) ............................... 8
3. Hardwired Implementation..................................................................... 16
B. Microprogrammed Control ........................................................................ 17
1. Basic Concepts ....................................................................................... 18
2. Microinstruction Sequencing (Urutan Mikroinstruksi) .......................... 24
3. Microinstruction Execution .................................................................... 28
4. TI 8800 ................................................................................................... 34
Bab IIIPenutup ...................................................................................................... 42
A. Kesimpulan ................................................................................................ 42
Daftar Pustaka ....................................................................................................... 43

ii
BAB I
PENDAHULUAN
A. Latar Belakang
B. Rumusan Masalah
Rumusan masalah yang akan dibahas pada laporan kali ini diantaranya:
1. Operasi Kontrol Unit
2. Microprogrammed Kontrol
C. Tujuan Pembuatan
Tujuan pembuatan laporan ini adalah untuk:
1. Memberikan materi yang detil dan memadai kepada mahasiswa
2. Sebagai bahan diskusi dan bahan presentasi pada pembelajaran terkait
3. Mengumpulkan dan menyediakan materi ajar yang mudah dipahami
yang dikumpulkan dari berbagai sumber terkait
4. Untuk memenuhi tugas mata kuliah terkait

1
BAB II
PEMBAHASAN
A. Control Unit Operation (Operasi Kontrol Unit)
Ada 6 hal yang diperlukan untuk menentukan fungsi sebuah prosessor,
yakni:
a) Operations (opcodes)
b) Addressing modes
c) Registers
d) I/O module interface
e) Memory module interface
f) Interrupts
Daftar ini, meskipun umum, agak lengkap. Item 1 hingga 3 ditentukan oleh
set instruksi. Item 4 dan 5 biasanya ditentukan dengan menentukan bus sistem.
Item 6 didefinisikan sebagian oleh bus sistem dan sebagian oleh jenis dukungan
prosesor menawarkan ke sistem operasi.
Enam item ini dapat disebut persyaratan fungsional untuk prosesor. Mereka
menentukan apa yang harus dilakukan oleh prosesor. Dari hal ini kemudian akan
dibahas mengenai unit kontrol, yang mengendalikan pengoperasian prosessor.
1. Micro-Operations
Mikro-operasi adalah operasi fungsional atau atom dari suatu prosesor.
Dimana sebuah siklus operasi terdiri dari sejumlah unit yang lebih kecil, dimana
siklus-siklus ini melibatkan serangkaian langkah, yang masing-masing melibatkan
register prosesor. Langkah-langkah ini yang disebut sebagai mikro-operasi.
Awalan mikro mengacu pada fakta bahwa masing-masing langkahnya sangat
sederhana dan mencapai tujuan yang sangat kecil pula.Untuk meringkas, eksekusi
program terdiri dari eksekusi instruksi berurutan. Setiap instruksi dijalankan
selama siklus instruksi yang terdiri dari sub-cabang pendek (mis.,fetch, indirect,
execute, interrupt). Pelaksanaan setiap siklus melibatkan satu atau lebih operasi
lebih pendek, itulah yang dinamakan mikro-operasi.

2
a) The Fetch Cycle(Siklus Pengambilan)
Siklus yang terjadi di awal setiap instruksi siklus dan menyebabkan
instruksi diambil dari memori. Ada empat register terlibat di dalamnya,
dintaranya:
1) Memory addres register (register alamat memori) (MAR): Terhubung
ke saluran alamat sistem bus. Ini menentukan alamat di memori untuk
operasi baca atau tulis.
2) Memory buffer register (MBR): Terhubung ke saluran data bus
sistem. Ini berisi nilai yang akan disimpan dalam memori atau nilai
terakhir yang dibaca dari memori.
3) Program counter (Penghitung program) (PC): Menyimpan alamat
instruksi berikutnya diambil.
4) Instruction register (IR): Menyimpan instruksi terakhir yang diambil.
Pada mulai dari siklus pengambilan, alamat instruksi berikutnya yang akan
dieksekusi masukpenghitung program (PC); dalam hal ini, alamatnya adalah
1100100. Langkah pertama adalah memindahkan alamat itu ke register alamat
memori (MAR) karena ini adalah satu-satunya daftar terhubung ke garis alamat
dari bus sistem. Langkah kedua adalah membawa dalam instruksi. Alamat yang
diinginkan (di MAR) ditempatkan di bus alamat, unit kontrol mengeluarkan
perintah READ pada bus kontrol, dan hasilnya muncul pada bus data dan disalin
ke dalam register buffer memori (MBR). Dibutuhkan dua tindakan ini (membaca
kata dari memori, kenaikan PC) tidak mengganggu dengan satu sama lain, ini
dapat dilakukan secara bersamaan untuk menghemat waktu. Langkah ketiga
adalah untuk memindahkan isi MBR ke register instruksi (IR). Ini membebaskan
MBR untuk digunakan selama siklus tidak langsung yang mungkin terjadi.

3
Dengan demikian, siklus pengambilan sederhana sebenarnya terdiri dari tiga
langkah dan empat mikro operasi. Setiap mikro operasi melibatkan pergerakan
data ke dalam atau keluar dari suatu daftar. Selama gerakan-gerakan ini tidak
mengganggu satu sama lain, beberapa dari mereka dapat berlangsung selama satu
langkah, menghemat waktu. Secara simbolis, kita bisa menulis ini urutan kejadian
sebagai berikut:
t1: MAR ←(PC)
t2: MBR ←Memory
PC ←PC) + I
t3: IR ←(MBR)
Di mana I adalah panjang instruksi. Disini Diasumsikan jam tersedia untuk
tujuan waktu dan itu memancarkan secara teratur pulsa waktu berjarak. Setiap
pulsa waktu mendefinisikan sebuah unit waktu. Jadi, semua unit waktu memiliki
durasi yang sama. Setiap mikro operasi dapat dilakukan dalam waktu dari satu
unit waktu. Notasi (t1, t2, t3) mewakili unit waktu berurutan. Dalam kata-kata,
kita memiliki:
1) Unit pertama kali: Pindahkan isi PC ke MAR.
2) Unit waktu kedua: Memindahkan isi lokasi memori yang ditentukan
oleh MARET ke MBR. Kenaikan oleh saya isi PC.
3) Unit waktu ketiga: Pindahkan isi MBR ke IR.
Perhatikan bahwa mikro kedua dan ketiga operasi keduanya berlangsung
selama yang kedua satuan waktu. Mikro ketiga operasi bisa dikelompokkan
dengan yang keempat tanpa mempengaruhi operasi pengambilan:
t1: MAR ←(PC)
t2: MBR ←Memory
t3: PC ←PC) + I
IR ←(MBR)
Pengelompokan mikro operasi harus mengikuti dua aturan sederhana:
1) Urutan kejadian yang tepat harus diikuti. Dengan demikian (MAR
←(PC)) harus mendahului (MBR ←Memory) karena operasi
membaca memori memanfaatkan alamat di MAR.
2) Konflik harus dihindari. Salah satu seharusnya tidak mencoba untuk
membaca dan menulis dari register yang sama dalam satu unit waktu,
karena hasilnya tidak dapat diprediksi. Misalnya, mikro operasi (MBR

4
←Memory) dan (IR ←MBR) seharusnya tidak terjadi selama satuan
waktu yang sama.
Poin terakhir yang patut dicatat adalah salah satu mikro-operasi melibatkan
suatu tambahan. Untuk menghindari duplikasi sirkuit, penambahan ini dapat
dilakukan oleh ALU. Penggunaan ALU mungkin melibatkan mikro tambahan.
operasi, tergantung pada fungsi ALU dan organisasi prosesor.
Ini berguna untuk membandingkan kejadian yang dijelaskan dalam hal ini
dan subbagianContoh Eksekusi Program. Sedangkan mikro-operasi diabaikan
dalam gambar itu, pembahasan ini menunjukkan mikro-operasi diperlukan untuk
melakukan sub-siklus dari siklus instruksi.
b) The Indirect Cycle (Siklus Tidak Langsung)
Setelah instruksi diambil, langkah selanjutnya adalah mengambil operan
sumber. Melanjutkan contoh sederhana sebelumnya, mari kita asumsikan satu
alamat format instruksi, dengan direct dan indirect pengalamatan diizinkan. Jika
instruksi menentukan alamat tidak langsung, maka siklus tidak langsung harus
mendahului siklus eksekusi. Aliran data agak berbeda dari yang ditunjukkan
dalam aliran data, siklus indirect, dan termasuk di dalamnya micro-operasi
sebagai berikut:
t1: MAR←(IR (Address))
t2: MBR←Memory
t3: IR (Address)←(MBR (Address))
Bidang alamat instruksi ditransfer ke MAR. Ini kemudian digunakan untuk
mengambil alamat operan. Akhirnya, bidang alamat IR diperbarui dari MBR,
sehingga sekarang berisi alamat langsung dan bukan langsung. IR sekarang dalam
keadaan yang sama seolah-olah pengalamatan tidak langsung tidak digunakan,
dan siap untuk siklus eksekusi. Kita lewati siklus itu sejenak, untuk
dipertimbangkan siklus interupsi.
c) The Interrupt Cycle (Siklus Interupsi)
Pada penyelesaian siklus eksekusi, tes dilakukan untuk menentukan apakah
ada interupsi yang diaktifkan telah terjadi. Jika demikian, siklus interupsi terjadi.
Sifat ini siklus sangat bervariasi dari satu mesin ke mesin lainnya. Disini disajikan
urutan yang sangat sederhana peristiwa, seperti yang diilustrasikan pada aliran
data, siklus tidak langsung. Kita mendapatkan:
t1: MBR←(PC)
t2: MAR←Save_Address
PC←Routine_Address
t3: Memory←(MBR)

5
Pada langkah pertama, isi PC dipindahkan ke MBR, sehingga mereka dapat
disimpan untuk kembali dari interupsi. Kemudian MAR dimuat alamat di mana isi
PC disimpan, dan PC dimuat dengan alamat awal interupsi-pengolahan rutin. Dua
tindakan ini masing-masing dapat menjadi satu mikro- operasi. Namun, karena
sebagian besar prosesor menyediakan beberapa jenis dan / atau tingkat interupsi,
mungkin diperlukan satu atau lebih mikro operasi untuk mendapatkan
Save_Address dan Routine_Address sebelum mereka bisa ditransfer ke MAR dan
PC, masing-masing. Dalam hal apapun, setelah ini dilakukan, Langkah terakhir
adalah menyimpan MBR, yang berisi nilai lama PC, ke dalam memori. prosesor
sekarang siap untuk memulai siklus instruksi berikutnya.
d) The Execute Cycle (Siklus Eksekusi)
Siklus pengambilan, tidak langsung, dan interupsi bersifat sederhana dan
dapat diprediksi. Masing-masing melibatkan urutan mikro kecil yang tetap operasi
dan, dalam setiap kasus, mikro yang sama operasi diulang setiap kali.
Ini tidak berlaku untuk siklus eksekusi. Karena beragam opcode, terdapat
sejumlah urutan mikro yang berbeda operasi dan itu bisa terjadi. Kontrol unit
memeriksa opcode dan menghasilkan urutan mikro operasi berdasarkan nilai dari
opcode. Ini disebut sebagai instruksi decoding.
Mari kita pertimbangkan beberapa contoh hipotetis.Pertama, pertimbangkan
instruksi penambahan:
ADD R1, X
Yang menambahkan isi lokasi X ke register R1. Urutan berikut mikro-
operasi yang mungkin terjadi:
t1: MAR←(IR (Address))
t2: MBR←Memory
t3: R1←(R1) + (MBR)
Kita mulaidengan IR yang berisi instruksi ADD. Pada langkah pertama,
bagian alamat IR dimuat ke MAR. Lalu memori yang direferensikan lokasi
dibaca. Akhirnya, isi R1 dan MBR ditambahkan oleh ALU. Ini adalah contoh
yang disederhanakan. Tambahan mikro-operasi mungkin diperlukan untuk
mengekstrak referensi register dari IR dan mungkin untuk melakukan stage pada
input atau output ALU dalam beberapa register menengah.
Mari kita lihat dua contoh yang lebih rumit. Instruksi umum adalah
kenaikan dan lewati jika nol:
ISZ X
Isi lokasi X bertambah 1 kali. Jika hasilnya 0, instruksi selanjutnya dilewati.
Kemungkinan urutan mikro operasi yang terjadi adalah:
t1: MAR←(IR (address))
t2: MBR←Memory

6
t3: MBR←(MBR) + 1
t4: Memory←(MBR)
If ((MBR) = 0) then (PC←(PC) + I)
Fitur baru yang diperkenalkan di sini adalah tindakan bersyarat. PC
bertambah if (MBR) = 0. Tes dan tindakan ini dapat diimplementasikan sebagai
satu mikro-operasi. Perhatikan juga bahwa mikro ini operasi dapat dilakukan
selama yang sama satuan waktu di mana nilai yang diperbarui dalam MBR
disimpan kembali ke memori.
Akhirnya, pertimbangkan instruksi panggilan subrutin. Sebagai contoh,
pertimbangkan sebuah cabang-lalu-menyimpan-alamat petunjuk:
BSA X
Alamat instruksi yang mengikuti instruksi BSA disimpan di lokasi X, dan
eksekusi berlanjut di lokasi X + I. Alamat yang disimpan nantinya akan
digunakan untuk kembali. Ini adalah teknik sederhana untuk mendukung
panggilan subrutin. Mikro-operasi yang memadai adalah:
t1: MAR←(IR (address))
MBR←(PC)
t2: PC←(IR (address))
Memory←(MBR)
t3: PC←(PC) + I
Alamat di PC pada awal instruksi adalah alamat yang berikutnya instruksi
secara berurutan. Ini disimpan di alamat yang ditunjuk di IR. Yang terakhir alamat
juga bertambah untuk memberikan alamat instruksi untuk selanjutnya siklus
instruksi.
e) The Instruction Cycle (Siklus Intruksi)
Kita telah melihat bahwa setiap fase dari siklus instruksi dapat diuraikan
menjadi sebuah urutan mikro-dasar operasi. Dalam contoh sebelumnya, ada satu
urutan masing-masing untuk siklus fetch, indirect, dan interrupt, dan, untuk siklus
eksekusi, ada satu urutan mikro-operasi untuk setiap opcode.
Untuk melengkapi gambaran, kita perlu mengaitkan urutan mikro operasi
bersama-sama. Kita menganggap register 2-bit baru yang disebut kode siklus
instruksi/Instruction cycle code (ICC). ICC menetapkan status prosesor bagian
mana dari siklus itu adalah:
00: Fetch/Ambil
01: Indirect/Tidak Langsung
10: Execute/Jalankan
11: Interrupt/Interupsi

7
Pada setiap akhir dari empat siklus, ICC diatur dengan tepat. Tidak langsung
siklus selalu diikuti oleh siklus eksekusi. Siklus interupsi selalu diikuti oleh siklus
pengambilan. Untuk pengambilan dan jalankan siklus, siklus berikutnya
tergantung pada keadaan sistem.
Dengan demikian, diagram alur siklus instruksi mendefinisikan urutan
lengkap mikro-operasi, tergantung hanya pada urutan instruksi dan pola interupsi.
Tentu saja, ini adalah contoh yang disederhanakan. Diagram alur untuk prosesor
yang sebenarnya lebih rumit. Dalam hal apapun, kita telah mencapai titik di mana
operasi prosesor didefinisikan sebagai kinerja urutan mikro operasi. Kita sekarang
dapat mempertimbangkan bagaimana unit kontrol menyebabkan urutan ini terjadi.

2. Control of the Processor (Pengendalian Prosessor)


a) Functional Requirements (Persyaratan Fungsional)
Persyaratan fungsional untuk unit kontrol: fungsi-fungsi itu yang unit
kontrol harus lakukan. Definisi persyaratan fungsional ini adalah dasar untuk
desain dan implementasi unit kontrol. Dengan informasi yang ada, tiga langkah
proses berikutmengarah ke karakterisasidari unit kontrol:
(1) Tentukan elemen dasar prosesor.
(2) Jelaskan mikro- operasi yang dilakukan prosesor.
(3) 3.Tentukan fungsi-fungsi yang harus dilakukan unit kontrol untuk
menyebabkan mikro- operasi harus dilakukan.
Pertama, elemen fungsional dasar dari prosesor adalah sebagai berikut:

8
(1) ALU
(2) Mendaftar
(3) Jalur data internal
(4) Jalur data eksternal
(5) Unit kontrol
ALU adalah esensi fungsional komputer. Register digunakan untuk
menyimpan data internal ke prosesor. Beberapa register berisi informasi status
yang diperlukan untuk mengelola instruksi sekuensing (misalnya, kata status
program). Yang lain berisi data yang masuk atau datang dari modul ALU,
memori, dan I / O. Jalur data internal digunakan untuk bergerak data antara
register dan antara register dan ALU. Jalur jalur data eksternal mendaftar ke
modul memori dan I / O, seringkali melalui bus sistem. Kontrol unit menyebabkan
operasi terjadi di dalam prosesor.
Pelaksanaan program terdiri dari operasi yang melibatkan prosesor
elemenini. Seperti yang telah kita lihat, operasi ini terdiri dari rangkaian mikro-
operasi. Setelah meninja pembaca harus melihat bahwa semua mikro operasi
masuk dalam salah satu kategori berikut:
(1) Mentransfer data dari satu daftar ke yang lain.
(2) Mentransfer data dari register ke antarmuka eksternal (misalnya, bus
sistem).
(3) Mentransfer data dari antarmuka eksternal ke register.
(4) Melakukan operasi aritmatika atau logika, menggunakan register
untuk input dan keluaran.
Semua mikro-operasi diperlukan untuk melakukan satu siklus instruksi,
termasuk semua dari mikro-operasi untuk melaksanakan setiap instruksi dalam
setinstruksi, jatuh ke dalam salah satu dari kategori ini.
Unit kontrol melakukan dua tugas dasar:
(1) Sequencing: Unit kontrol menyebabkan prosesor untuk melangkah
melalui seri dari mikro- operasi dalam urutan yang tepat,
berdasarkan pada program yang ada dieksekusi.
(2) Eksekusi: Unit kontrol menyebabkan setiap mikro operasi harus
dilakukan.
Yang sebelumnya adalah deskripsi fungsional tentang apa yang dilakukan
unit kontrol. Itu kunci untuk bagaimana unit kontrol beroperasi adalah
penggunaan sinyal kontrol.

9
b) Control Signal
Agar unit kontrol berfungsi fungsinya, harus memiliki input yang
memungkinkan untuk menentukan keadaan sistem dan output yang
memungkinkannya untuk mengontrol perilaku sistem. Ini adalah spesifikasi
eksternal unit kontrol. Secara internal, unit kontrol harus memiliki logika
diperlukan untuk melakukan fungsi sequencing dan pelaksanaannya.
Input dan output model umum dari kontrol unit adalah:
(1) Jam: Ini adalah bagaimana unit kontrol "menyimpan waktu." Unit
kontrol menyebabkan satu mikro-operasi (atau satu set mikro
simultan operasi) harus dilakukan untuk setiap pulsa jam. Ini
kadang-kadang disebut sebagai waktu siklus prosesor, atau waktu
siklus jam.
(2) Instruction register: Mode opcode dan pengalamatan dari instruksi
saat ini digunakan untuk menentukan mikro operasi untuk tampil
selama eksekusi siklus.
(3) Flags: Ini diperlukan oleh unit kontrol untuk menentukan status
prosesor dan hasil dari operasi ALU sebelumnya. Misalnya, untuk
kenaikan-dan- melewatkan- jika- nol (ISZ) instruksi, unit kontrol
akan bertambah PC jika bendera nol diatur.
(4) Sinyal kontrol dari bus kontrol: Bagian bus kontrol dari bus sistem
memberikan sinyal ke unit kontrol.
Outputnya adalah sebagai berikut:
(1) Sinyal kontrol dalam prosesor: Ini adalah dua jenis: yang
menyebabkan data dipindahkan dari satu daftar ke yang lain, dan
yang diaktifkan khusus Fungsi ALU.
(2) Kontrol sinyal untuk mengendalikan bus: Ini juga dari dua jenis:
sinyal kontrol ke memori, dan sinyal kontrol ke modul I / O.
Tiga jenis sinyal kontrol digunakan: yang mengaktifkan fungsi ALU;
mereka yang mengaktifkan jalur data; dan yang merupakan sinyal pada bus sistem
eksternal atau antarmuka eksternal lainnya. Semua sinyal ini pada akhirnya
diterapkan langsung sebagai input biner ke gerbang logika individu.

10
Mari kita pertimbangkan lagi siklus pengambilan untuk melihat bagaimana
unit kontrol mempertahankannya kontrol. Unit kontrol melacak di mana itu dalam
siklus instruksi. Di a diberikan titik, ia tahu bahwa siklus mengambil harus
dilakukan selanjutnya. Langkah pertama adalah mentransfer isi PC ke MAR. Unit
kontrol melakukan ini dengan mengaktifkan sinyal kontrol yang membuka
gerbang antara bit PC dan bit-bit MAR. Langkah selanjutnya adalah membaca
kata dari memori ke MBR dan kenaikan PC. Unit kontrol melakukan ini dengan
mengirimkan sinyal kontrol berikut secara serentak:
(1) Sebuah sinyal kontrol yang membuka gerbang, memungkinkan isi
MAR ke bus alamat;
(2) Sinyal kontrol pembacaan memori pada bus kontrol;
(3) Sebuah sinyal kontrol yang membuka gerbang, memungkinkan isi
dari bus data ke disimpan dalam MBR;
(4) Kontrol sinyal ke logika yang menambahkan 1 ke isi PC dan
menyimpan hasilknya kembali ke PC.
Setelah ini, unit kontrol mengirimkan sinyal kontrol yang membuka gerbang
antara MBR dan IR. Ini melengkapi siklus pengambilan kecuali untuk satu hal:
Unit kontrol harus putuskan apakah akan melakukan siklus tidak langsung atau
siklus eksekusi berikutnya. Untuk memutuskan ini, itu menguji IR untuk melihat
apakah referensi memori tidak langsung dibuat.
Siklus tidak langsung dan interrupt bekerja sama. Untuk siklus eksekusi,
unit kontrol dimulai dengan memeriksa opcode dan, atas dasar itu, memutuskan
yang mana urutan mikro-operasi untuk melakukan siklus eksekusi.

11
c) A Control Signal Example
Untuk mengilustrasikan fungsi unit kontrol, mari kita periksa contoh
sederhana. Ini adalah prosesor sederhana dengan akumulator tunggal (AC). Jalur
data antara elemen ditunjukkan. Jalur kontrol untuk sinyal yang berasal dari unit
kontrol tidak ditampilkan, tetapi penghentian sinyal kontrol diberi label Ci dan
ditunjukkan oleh lingkaran. Unit kontrol menerima masukan dari jam, IR, dan
bendera. Dengan setiap siklus jam, unit kontrol membaca semua inputnya dan
memancarkan serangkaian sinyal kontrol. Sinyal kontrol masuk ke tiga tujuan
terpisah:
(1) Jalur data: Unit kontrol mengontrol aliran internal data. Misalnya, di
Pengambilan instruksi (Fetch), isi dari register buffer memori
dipindahkan ke IR. Untuk setiap jalur yang akan dikontrol, ada
sakelar. Sinyal kontrol dari unit kontrol untuk sementara membuka
gerbang untuk membiarkan data lewat.
(2) ALU: Unit kontrol mengontrol pengoperasian ALU dengan satu set
kontrol sinyal. Sinyal-sinyal ini mengaktifkan berbagai sirkuit logika
dan gerbang dalam ALU.
(3) Bus sistem: Unit kontrol mengirim sinyal kontrol ke garis kontrol
bus sistem (mis., memori READ).
Unit kontrol harus mempertahankan pengetahuan tentang di mana ia berada
dalam instruksi siklus. Menggunakan pengetahuan ini, dan dengan membaca
semua inputnya, unit kontrol memancarkan urutan sinyal kontrol yang
menyebabkan mikro operasi terjadi. Ini menggunakan pulsa waktu ke waktu
urutan kejadian, memungkinkan waktu antara peristiwa untuk sinyal tingkat untuk
menstabilkan.
Perlu mempertimbangkan sifat minimal unit kontrol. Unit kontrol adalah
mesin yang menjalankan seluruh komputer. Itu hanya berdasarkan pada
mengetahui instruksi yang akan dieksekusi dan sifat dari hasil aritmatika dan logis
operasi (mis., positif, overflow, dll.). Tidak pernah bisa melihat data yang sedang
diproses atau hasil aktual yang dihasilkan. Dan mengendalikan segalanya dengan
sedikit kontrol sinyal ke titik di dalam prosesor dan beberapa sinyal kontrol ke bus
sistem.
d) Internal Processor Organization
Menggunakan bus prosesor internal,dapat diatur ulang seperti ditunjukkan.
Satu bus internal menghubungkan ALU dan semua register prosesor. Gerbang-
gerbang dan sinyal kontrol disediakan untuk memindahkan data ke dalam dan di
luar bus dari setiap daftar. Sinyal kontrol tambahan mengontrol transfer data ke
dan dari bus sistem (eksternal) dan pengoperasian ALU.

12
Dua register baru, berlabel Y dan Z, telah ditambahkan ke organisasi. Ini
diperlukan untuk pengoperasian ALU yang tepat. Ketika sebuah operasi
melibatkandua operan dilakukan, satu dapat diperoleh dari bus internal, tetapi
lainnya harus diperoleh dari sumber lain. AC bisa digunakan untuk tujuan ini,
tetapi ini membatasi fleksibilitas sistem dan tidak akan berfungsi dengan prosesor
dengan beberapa umum- tujuan register. Daftar Y menyediakan penyimpanan
sementara untuk input lainnya. ALU adalah rangkaian kombinatorial tanpa
penyimpanan internal. Jadi, ketika sinyal kontrol mengaktifkan fungsi ALU, input
ke ALU diubah menjadi output. Oleh karena itu, output dari ALU tidak bisa
langsung terhubung ke bus, karena output ini akan memberi umpan balik ke input.
Daftar Z menyediakan penyimpanan keluaran sementara. Dengan pengaturan ini,
sebuah operasi untuk menambahkan nilai dari memori ke AC akan memiliki
langkah-langkah berikut:
t1: MAR ← (IR (address))
t2: MBR ← Memory
t3: Y ← (MBR)
t4: Z ← (AC) + (Y)
t5: AC ← (Z)
Organisasi lain mungkin, tetapi, secara umum, semacam bus internal atau
set bus internal yang digunakan. Penggunaan jalur data umum menyederhanakan
tata letak interkoneksi dan kontrol prosesor. Alasan praktis lainnya untuk
penggunaan bus internal adalah menghemat ruang.

13
e) The Intel 8085
Untuk mengilustrasikan beberapa konsep yang diperkenalkan sejauh ini,
mari kita pertimbangkan Intel 8085. Beberapa komponen kunci itu mungkin
bukan dari penjelasan diri adalah:
(1) Incrementer / decrementer address latch: Logic yang dapat
menambah 1 atau kurang 1 dari isi penunjuk tumpukan atau
penghitung program. Ini menghemat waktu dengan menghindari
penggunaan ALU untuk tujuan ini.
(2) Kontrol interupsi: Modul ini menangani beberapa tingkat sinyal
interupsi.
(3) Kontrol Serial I / O: Modul ini antarmuka ke perangkat yang
berkomunikasi 1 bit pada suatu waktu.
Sinyal eksternal masuk dan keluar dari 8085. Ini adalah terkait dengan bus
sistem eksternal. Sinyal-sinyal ini adalah antarmuka antara 8085 prosesor dan
sisanya dari sistem.
Unit kontrol diidentifikasi memiliki dua komponen yang diberi label (1)
instruksi decoder dan enkode siklus mesin dan (2) pengaturan waktu dan kontrol.
Inti dari kontrol unit adalah waktu dan modul kontrol. Modul ini termasuk jam
dan menerima sebagai masukan instruksi saat ini dan beberapa sinyal kontrol

14
eksternal. Keluarannya terdiri sinyal kontrol ke komponen lain dari prosesor
ditambah sinyal kontrol bus sistem eksternal.
Waktu operasi prosesor disinkronisasi oleh jam dan dikendalikan oleh unit
kontrol dengan sinyal kontrol. Setiap siklus instruksi dibagi menjadi dari satu
hingga lima siklus mesin; setiap siklus mesin pada gilirannya dibagi menjadi tiga
hingga lima bagian. Setiap bagian berlangsung satu siklus jam. Selama keadaan,
prosesor melakukan satu atau satu set mikro simultan operasi sebagaimana
ditentukan oleh sinyal kontrol.
Jumlah siklus mesin ditetapkan untuk instruksi yang diberikan tetapi
bervariasi dari satu instruksi ke yang lain. Siklus mesin didefinisikan setara
dengan akses bus. Dengan demikian, jumlah siklus mesin untuk suatu instruksi
tergantung pada berapa kali prosesor harus berkomunikasi dengan perangkat
eksternal.Misalnya, jika instruksi terdiri dari dua bagian 8-bit, maka dua siklus
mesin diminta untuk mengambil instruksi. Jika instruksi itu melibatkan memori 1-
byte atau I / O operasi, maka siklus mesin ketiga diperlukan untuk eksekusi.
Pada saat yang sama, unit kontrol menghasilkan kontrol internal sinyal yang
mengontrol transfer data internal. Diagram menunjukkan instruksi siklus untuk
instruksi OUT. Diperlukan tiga siklus mesin (M1, M2, M3). Selama yang
pertama, instruksi OUT diambil. Siklus mesin kedua menjemput setengah bagian
kedua dari instruksi, yang berisi nomor dari perangkat I / O yang dipilih untuk
output. Selama siklus ketiga, isi AC dituliskan ke perangkat yang dipilih melalui
bus data.
Surel Address Latch Diaktifkan/Address Latch Enabled (ALE) menandai
awal setiap mesin siklus dari unit kontrol. Pulsa ALE memperingatkan sirkuit
eksternal. Selama waktu status T1 dari siklus mesin M1, unit kontrol menetapkan
sinyal IO / M untuk menunjukkan itu ini adalah operasi memori. Juga, unit
kontrol menyebabkan isi PC ditempatkan pada bus alamat (A15 hingga A8) dan
bus alamat / data (AD7 sampai AD0). Dengan ujung jatuh dari pulsa ALE, modul
lain pada bus menyimpan alamatnya.
Selama kondisi waktu T2, modul memori yang dialamatkan akan
menempatkan konten alamat lokasi memori pada alamat / bus data. Unit kontrol
mengatur Baca Kontrol (RD) sinyal untuk menunjukkan membaca, tetapi
menunggu sampai T3 untuk menyalin data dari bis. Ini memberikan waktu modul
memori untuk meletakkan data di bus dan untuk sinyal tingkat untuk
menstabilkan. Keadaan akhir, T4, adalah keadaan idle bus di mana prosesor
decode instruksi. Siklus mesin yang tersisa dilanjutkan dengan cara yang sama.

15
3. Hardwired Implementation
Kami telah membahas unit kontrol dalam hal input, output, dan fungsinya.
Kita sekarang beralih ke topik implementasi unit kontrol. Berbagai macam teknik
Telah digunakan. Sebagian besar jatuh ke dalam salah satu dari dua kategori:
(1) Implementasi tertanam
(2) Implementasi mikroprogram
Dalam implementasi yang tertanam kuat, unit kontrol pada dasarnya adalah
keadaan mesinsirkuit. Sinyal logika inputnya diubah menjadi satu set sinyal
logika output, yang merupakan sinyal kontrol. Pendekatan ini diperiksa di bagian
ini.
a) Control Input Unit
Input utamanya adalah IR, jam, bendera, dan sinyal bus kontrol. Dalam hal
bendera dan kontrol sinyal bus, setiap bit individu biasanya memiliki beberapa arti
(misalnya, overflow). Yang lain dua input, bagaimanapun, tidak secara langsung
berguna untuk unit kontrol.
Pertama, pertimbangkan IR. Unit kontrol menggunakan opcode dan akan
berfungsi tindakan yang berbeda (mengeluarkan kombinasi sinyal kontrol yang
berbeda) untuk berbeda instruksi. Untuk menyederhanakan logika unit kontrol,
harus ada input logika yang unik untuk setiap opcode. Fungsi ini dapat dilakukan
oleh decoder, yang mengambil pengkodean masukan dan menghasilkan satu
keluaran. Secara umum, decoder akan memiliki n input biner dan 2n output biner.
Masing-masing dari 2n pola masukan yang berbeda akan mengaktifkan satu unik
keluaran. Decoder untuk unit kontrol biasanya akan harus lebih kompleks, untuk
memperhitungkan variabel- panjangnya opcode.
Bagian jam dari unit kontrol mengeluarkan urutan pulsa berulang. Ini
berguna untuk mengukur durasi mikro operasi. Pada dasarnya, periode itu pulsa
clock harus cukup panjang untuk memungkinkan propagasi sinyal di sepanjang
jalur data dan melalui sirkuit prosesor. Namun, seperti yang telah kita lihat,
kontrol unit memancarkan sinyal kontrol yang berbeda pada unit waktu yang
berbeda dalam satu instruksi siklus. Dengan demikian, kami ingin counter sebagai
masukan ke unit kontrol, dengan yang berbeda sinyal kontrol digunakan untuk T1,
T2, dan seterusnya. Di akhir siklus instruksi, unit kontrol harus memberi umpan
balik ke counter untuk menginisialisasi ulang di T1.
b) Control Unit Logic
Untuk menentukan penerapan unit kontrol yang sudah ditanamkan dengan
perangkat keras, yang tersisa hanya untuk didiskusikan logika internal unit kontrol
yang menghasilkan sinyal kontrol output sebagai fungsi sinyal inputnya.

16
Pada dasarnya, apa yang harus dilakukan adalah, untuk setiap sinyal kontrol,
untuk memperoleh ekspresi Boolean sinyal itu sebagai fungsi dari input. Ini paling
baik dijelaskan oleh contoh.Mari kita pertimbangkan satu sinyal kontrol, C5.
Sinyal ini menyebabkan data untuk dibaca bus data eksternal ke MBR. Kita dapat
melihat bahwa itu digunakan dua kali Mengijinkan kita mendefinisikan dua sinyal
kontrol baru, P dan Q, yang memiliki interpretasi berikut:
PQ = 00 Fetch Cycle
PQ = 01 Indirect Cycle
PQ = 10 Execute Cycle
PQ = 11 Interrupt Cycle
Maka ekspresi Boolean berikut mendefinisikan C5:
C5 = P • Q • T2 + P • Q • T2
Artinya, sinyal kontrol C5 akan ditegaskan selama unit waktu kedua dari
keduanya mengambil dan siklus tidak langsung. Ekspresi ini tidak lengkap. C5
juga diperlukan selama siklus eksekusi. Untuk contoh sederhana ini, mari kita
asumsikan bahwa hanya ada tiga instruksi itu baca dari memori: LDA, ADD, dan
AND. Sekarang kita dapat mendefinisikan C5 sebagai
C5 = P • Q • T2 + P • Q • T2 + P • Q • (LDA + ADD + ANd) • T2
Proses yang sama ini dapat diulang untuk setiap sinyal kontrol yang
dihasilkan oleh prosesor. Hasilnya akan menjadi satu set persamaan Boolean yang
mendefinisikan perilaku unit kontrol dan karenanya dari prosesor.
Untuk mengikat semuanya bersama-sama, unit kontrol harus mengontrol
keadaan siklus instruksi. Seperti telah disebutkan, di akhir setiap siklus (ambil,
tidak langsung, mengeksekusi, menyela), unit kontrol mengeluarkan sinyal yang
menyebabkan generator waktu untuk menginisialisasi ulang dan menerbitkan T1.
Unit kontrol juga harus menetapkan nilai yang sesuai P dan Q untuk menentukan
sub siklus berikutnya yang akan dilakukan.
Pembaca harus dapat menghargai bahwa dalam prosesor kompleks modern,
jumlah persamaan Boolean yang diperlukan untuk menentukan unit kontrol sangat
besar. Tugas menerapkan sirkuit kombinatorial yang memenuhi semua persamaan
ini menjadi sangat sulit. Hasilnya adalah pendekatan yang jauh lebih sederhana,
yang dikenal sebagai microprogramming, biasanya digunakan.
B. Microprogrammed Control
Istilah microprogram pertama kali diciptakan oleh M. V. Wilkes pada awal
1950-an. Wilkes mengusulkan pendekatan untuk desain unit kontrol yang

17
terorganisir dan sistematis dan menghindari kerumitan penerapan yang tertanam.
Idenya tertarik banyak peneliti tetapi muncul tidak bisa dijalankan karena akan
membutuhkan cepat, relatif memori kontrol murah.
Keadaan seni mikroprogram itu ditinjau oleh Datamation dalam bukunya
Edisi Februari 1964. Tidak ada sistem microprogram yang digunakan secara luas
pada waktu itu, dan salah satu makalah meringkas pandangan populer saat itu
tentang masa depan microprogramming “agak mendung. Tak satu pun dari
produsen utama berminat yang dibuktikan dalam teknik, meskipun mungkin
semua telah memeriksanya.”
Situasi ini berubah secara dramatis dalam beberapa bulan. Sistem IBM / 360
diumumkan pada bulan April, dan semua tetapi model terbesar adalah
microprogrammed. Meskipun seri 360 mendahului ketersediaan semikonduktor
ROM, kelebihan microprogramming cukup menarik bagi IBM untuk melakukan
langkah ini. Microprogramming menjadi teknik yang populer untuk
diimplementasikan unit kontrol prosesor CISC. Dalam beberapa tahun terakhir,
microprogramming telah menjadi kurang digunakan tetapi tetap menjadi alat yang
tersedia untuk perancang komputer. Misalnya, seperti yang telah kita lihat pada
Pentium 4, instruksi mesin diubah ke dalam format mirip RISC, yang sebagian
besar dijalankan tanpa menggunakan microprogramming. Namun, beberapa
instruksi dijalankan menggunakan microprogramming.
1. Basic Concepts
a) Microinstructions
Unit kontrol tampaknya perangkat yang cukup sederhana. Namun demikian,
untuk menerapkan kontrol unit sebagai interkoneksi elemen logika dasar bukanlah
tugas yang mudah. Desain harus termasuk logika untuk pengurutan melalui
operasi mikro, untuk menjalankan operasi mikro, untuk menafsirkan opcode, dan
untuk membuat keputusan berdasarkan bendera ALU. Sulit untuk desain dan uji
perangkat keras seperti itu. Selanjutnya, desainnya relatif tidak fleksibel.
Misalnya, sulit untuk mengubah desain jika ingin menambahkan mesin baru
petunjuk.
Sebuah alternatif, yang telah digunakan dalam banyak prosesor CISC,
adalah untuk menerapkan unit kontrol microprogrammed.
Selain penggunaan sinyal kontrol, setiap microoperation dijelaskan dalam
notasi simbolik. Notasi ini terlihat sepertibahasa pemrograman. Sebenarnya itu
adalah bahasa, yang dikenal sebagai bahasa microprogramming. Setiap baris
menggambarkan satu set operasi mikro yang terjadi pada satu waktu dan dikenal
sebagai microinstruction. Urutan instruksi dikenal sebagai mikroprogram, atau
firmware. Istilah terakhir ini mencerminkan fakta bahwa microprogram ada di

18
tengah antara perangkat keras dan perangkat lunak. Lebih mudah untuk
mendesain di firmware daripada perangkat keras, tetapi lebih sulit untuk menulis
program firmware daripada program perangkat lunak.

Bagaimana kita bisa menggunakan konsep microprogramming untuk


mengimplementasikan satuan kontrol? Pertimbangkan bahwa untuk setiap operasi
mikro, semua yang diperbolehkan oleh unit kontrol lakukan adalah menghasilkan
satu set sinyal kontrol. Jadi, untuk setiap operasi mikro, setiap kontrol garis yang
memancar dari unit kontrol menyala atau mati. Kondisi ini bisa, dari tentu saja,
diwakili oleh digit biner untuk setiap garis kontrol. Jadi kita bisa membangun kata
kontrol di mana setiap bit mewakili satu garis kontrol. Lalu setiap operasi mikro
akan diwakili oleh pola yang berbeda dari 1s dan 0s dalam kata kontrol.
Misalkan kita string bersama urutan kata kontrol untuk mewakili urutan
operasi mikro yang dilakukan oleh unit kontrol. Selanjutnya, kita harus mengenali
bahwa urutan operasi mikro tidak diperbaiki. Terkadang kami memiliki siklus
tidak langsung; terkadang kita tidak melakukannya. Jadi mari kita letakkan kata-
kata kontrol kami dalam memori, dengan setiap kata memiliki alamat yang unik.
Sekarang tambahkan kolom alamat ke setiap kontrol kata, menunjukkan lokasi
kata kontrol berikutnya yang akan dieksekusi jika tertentu kondisi benar
(misalnya, bit tidak langsung dalam instruksi referensi memori adalah 1). Juga,
tambahkan beberapa bit untuk menentukan kondisi.

19
Hasilnya dikenal sebagai microinstruction horizontal. Format dari
microinstruction atau kata kontrol adalah sebagai yang mengikuti. Ada satu bit
untuk masing-masing jalur kontrol prosesor internal dan satu bit untuk masing-
masing jalur kontrol bus sistem. Ada kolom kondisi yang menunjukkan kondisi di
bawah yang harus ada cabang, dan ada bidang dengan alamat microinstruction
akan dieksekusi selanjutnya ketika sebuah cabang diambil. Seperti sebuah
microinstruction ditafsirkan sebagai berikut:
(1) Untuk menjalankan microinstruction ini, nyalakan semua garis
kontrol yang ditunjukkan oleh 1 sedikit; tinggalkan semua garis
kontrol yang ditunjukkan oleh bit 0. Sinyal kontrol yang dihasilkan
akan menyebabkan satu atau lebih operasi mikro dilakukan.
(2) Jika kondisi yang ditunjukkan oleh bit kondisi salah, jalankan
microinstruction berikutnya berurutan.
(3) Jika kondisi yang ditunjukkan oleh bit kondisi benar, mikroinstruksi
berikutnya akan dieksekusi ditunjukkan dalam bidang alamat.
Kata-kata kontrol atau microinstructions bisa diatur dalam memori kontrol.
Instruksi mikro di setiap rutinitas akan dieksekusi secara berurutan. Setiap
rutinitas berakhir dengan instruksi cabang atau lompatan yang menunjukkan ke
mana harus pergi selanjutnya. Ada siklus khusus pelaksanaan rutin yang tujuan
utamanya adalah untuk menandakan bahwa salah satu rutinitas instruksi mesin
(AND, ADD, dan seterusnya) adalah untuk dijalankan selanjutnya, tergantung
pada opcode terkait.
Memori kontrol adalah deskripsi singkat yang lengkap operasi unit kontrol.
Ini mendefinisikan urutan operasi mikro yang akan dilakukan selama setiap siklus
(fecth, indirect, execute, interrupt), dan itu menentukan urutan siklus ini. Jika
tidak ada yang lain, notasi ini akan menjadi perangkat yang bermanfaat untuk
mendokumentasikan fungsi unit kontrol untuk komputer tertentu. Tapi lebih dari
itu. Ini juga merupakan cara menerapkan unit control.
b) Microprogrammed Control Unit
Memori controlberisi program yang menggambarkan perilaku dari unit
kontrol. Oleh karena itu kami dapat menerapkan unit kontrol dengan sederhana
mengeksekusi program itu.
Sekumpulan dari microinstructions disimpan dalam memori kontrol.
Register alamat kontrol berisi alamat microinstruction berikutnya untuk dibaca.
Ketika sebuah instruksi mikro membaca dari memori kontrol, itu ditransfer ke
register buffer kontrol. Bagian kiri bagian dari register terhubung ke garis kontrol
yang memancar dari unit kontrol. Dengan demikian, membaca instruksi mikro
dari memori kontrol sama dengan mengeksekusi microinstruction itu. Elemen

20
ketiga yang ditunjukkan dalam gambar adalah unit pengurutan yang memuat
register alamat kontrol dan mengeluarkan perintah baca.
Mari kita periksa struktur ini secara lebih rinci, kita melihat bahwa unit
kontrol masih memiliki input yang sama (IR, ALU bendera, jam) dan output
(sinyal kontrol). Unit kontrol berfungsi sebagai berikut:
(1) Untuk menjalankan instruksi, unit logika sekuens mengeluarkan
perintah READ ke memori kontrol.
(2) Kata yang alamatnya ditentukan dalam register alamat kontrol
dibaca register penyangga kontrol.
(3) Konten dari register buffer kontrol menghasilkan sinyal kontrol dan
informasi alamat berikutnya untuk unit logika sekuensing.
(4) Unit logika sekuensing memuat alamat baru ke dalam register alamat
kontrol berdasarkan informasi alamat-berikutnya dari register buffer
kontrol dan Bendera ALU.
Semua ini terjadi selama satu pulsa waktu.
Langkah terakhir yang baru saja terdaftar membutuhkan elaborasi. Pada
akhir setiap instruksi mikro, unit logika sekuensing memuat alamat baru ke alamat
kontrol daftar. Tergantung pada nilai bendera ALU dan register buffer kontrol,
salah satu dari tiga keputusan dibuat:
(1) Dapatkan instruksi berikutnya: Tambahkan 1 ke register alamat
kontrol.
(2) Melompat ke rutinitas baru berdasarkan mikroinstruksi lompat: Muat
alamat bidang register buffer kontrol ke register alamat kontrol.
(3) Jump to a machine instruction routine: Muat register alamat kontrol
berdasarkan opcode di IR.
Decoder atas diterjemahkan opcode IR menjadi alamat memori kontrol.
Decoder yang lebih rendah adalah tidak digunakan untuk microinstructions
horisontal tetapi digunakan untuk microinstructions vertikal. Seperti yang telah
disebutkan, dalam sebuah instruksi mikro horizontal setiap bit di bidang kontrol
menempel pada garis kontrol. Dalam microinstruction vertikal, kode digunakan
untuk setiap tindakan yang akan dilakukan [mis., MAR ← (PC)], dan decoder
diterjemahkan kode ini menjadi sinyal kontrol individu. Keuntungan dari
microinstructions vertikal adalah bahwa mereka lebih kompak (lebih sedikit bit)
daripada microinstructions horisontal, dengan mengorbankan sejumlah kecil
logika dan penundaan waktu.

21
c) Wilkes Control
Konfigurasi yang diusulkan oleh Wilkes. Inti dari sistem adalah matriks
yang sebagian diisi dengan dioda. Selama siklus mesin, satu baris dari matriks
diaktifkan dengan pulsa. Ini menghasilkan sinyal pada titik-titik di mana dioda
hadir (ditunjukkan oleh titik di diagram). Bagian pertama dari baris menghasilkan
kontrol sinyal yang mengontrol pengoperasian prosesor. Bagian kedua
menghasilkan alamat baris yang akan berdenyut di siklus mesin berikutnya.
Dengan demikian, setiap baris matriks adalah salah satu microinstruction, dan tata
letak matriks adalah memori kontrol.
Pada awal siklus, alamat baris yang akan di-pulsed terdapat di dalamnya di
Register I. Alamat ini adalah input ke decoder, yang ketika diaktifkan oleh pulsa
clock, mengaktifkan satu baris dari matriks. Tergantung pada sinyal kontrol, baik
opcode dalam register instruksi atau bagian kedua dari baris yang berdenyut
adalah masuk ke Daftar II selama siklus. Register II kemudian mendapat gated ke
Register I oleh pulsa clock. Bolak pulsa clock digunakan untuk mengaktifkan
baris dari matriks dan untuk mentransfer dari Register II ke Register I. Pengaturan
dua-daftar diperlukan karena decoder hanyalah rangkaian kombinatorial; hanya
dengan satu daftar, output akan menjadi input selama siklus, menyebabkan
kondisi yang tidak stabil.
Skema ini sangat mirip dengan pendekatan microprogramming horizontal
yang dijelaskan sebelumnya. Perbedaan utama adalah ini: Dalam uraian
sebelumnya, register alamat kontrol bisa ditambah satu untuk mendapatkan yang
berikutnya alamat. Dalam skema Wilkes, alamat berikutnya terkandung dalam
microinstruction. Untuk mengizinkan percabangan, satu baris harus berisi dua
bagian alamat, yang dikendalikan oleh sebuah sinyal bersyarat (misalnya,
bendera).
Setelah mengajukan skema ini, Wilkes memberikan contoh penggunaannya
untuk diterapkan unit kontrol mesin sederhana. Contoh ini, desain pertama yang
diketahui sebuah prosesor mikroprogram, layak diulangi di sini karena ini
mengilustrasikan banyak prinsip-prinsip kontemporer microprogramming.
Prosesor dari mesin hipotetis (mesin contoh oleh Wilkes) termasuk register
berikut:
A Multiplicand
B Accumulator (paling tidak separuhnya)
C Accumulator (sebagian besar signifikan)
D Shift mendaftar

22
Selain itu, ada tiga register dan dua bendera 1-bit yang hanya dapat diakses
oleh kontrol satuan. Register adalah sebagai berikut:
E Berfungsi sebagai register alamat memori (MAR) dan
penyimpanan sementara Penghitung Program F
G Daftar sementara lainnya; Digunakan untuk perhitungan
Daftar instruksi mesin ditetapkan untuk contoh ini, adalah set lengkap
microinstructions, dinyatakan dalam bentuk simbolis, yang mengimplementasikan
unit kontrol. Jadi, total 38 microinstructions adalah semua yang diperlukan untuk
mendefinisikan sistem sepenuhnya.
Kolom penuh pertama memberikan alamat (nomor baris) dari setiap
instruksi mikro. Alamat-alamat yang sesuai dengan opcode diberi label. Jadi,
ketika opcode untuk instruksi penambahan (A) ditemukan, microinstruction di
lokasi 5 dieksekusi. Kolom 2 dan 3 menyatakan tindakan yang akan dilakukan
oleh ALU dan kontrol unit, masing-masing. Setiap ekspresi simbolis harus
diterjemahkan ke dalam satu set kontrol sinyal (bit microinstruction). Kolom 4
dan 5 harus dilakukan dengan pengaturan dan penggunaan dua bendera (flip-
flops). Kolom 4 menentukan sinyal yang mengatur bendera. Untuk Contoh, (1) Cs
berarti bahwa nomor bendera 1 diatur oleh bit tanda nomor dalam daftar C. Jika
kolom 5 berisi pengenal bendera, maka kolom 6 dan 7 berisi keduanya alamat
microinstruction alternatif yang akan digunakan. Jika tidak, kolom 6 menentukan
alamat microinstruction berikutnya yang akan diambil. Petunjuk 0 hingga 4
merupakan siklus pengambilan. Microinstruction 4 hadir opcode ke decoder, yang
menghasilkan alamat dari microinstruction yang sesuai ke instruksi mesin yang
akan diambil. Pembaca seharusnya bisa menyimpulkan fungsi lengkap unit
kontrol dari studi yang cermat.
d) Advantages and Disadvantages
Keuntungan utama dari penggunaan microprogramming untuk menerapkan
kontrol unit adalah menyederhanakan desain unit kontrol. Dengan demikian,
keduanya lebih murah dan kesalahan kurang rawan untuk menerapkan. Unit
kontrol yang dipasok harus berisi logika yang kompleks untuk pengurutan melalui
banyak operasi mikro dari siklus instruksi. Di atas sisi lain, decoder dan unit
logika sekuensing dari kontrol microprogrammed unit adalah potongan logika
yang sangat sederhana.
Kerugian utama dari unit microprogrammed adalah bahwa itu akan menjadi
agak lebih lambat daripada unit yang terhubung langsung dengan teknologi yang
sebanding. Meskipun demikian, microprogramming adalah teknik dominan untuk
mengimplementasikan unit kontrol secara murni Arsitektur CISC, karena

23
kemudahan penerapannya. Prosesor RISC, dengan mereka format instruksi yang
lebih sederhana, biasanya menggunakan unit kontrol berkabel.
2. Microinstruction Sequencing (Urutan Mikroinstruksi)
Dua tugas dasar yang dilakukan oleh unit kontrol microprogrammed adalah
sebagai berikut:
(4) Urutan microinstruction: Dapatkan microinstruction berikutnya dari
kontrol memory.
(5) Eksekusi Microinstruction: Menghasilkan sinyal kontrol yang
diperlukan untuk mengeksekusi microinstruction.
Dalam mendesain unit kontrol, tugas-tugas ini harus dipertimbangkan
bersama-sama, karena keduanya mempengaruhi format microinstruction dan
timing dari unit kontrol. Di bagian ini, kita akan fokus pada urutan dan membahas
sesedikit mungkin tentang format dan masalah waktu.
a) Design Considerations
Dua kekhawatiran terlibat dalam desain teknik sekuensing microinstruction:
ukuran dari microinstruction dan waktu generasi penerus. Perhatian pertama
sudah jelas; meminimalkan ukuran memori kontrol mengurangi biaya komponen
itu. Perhatian kedua adalah keinginan untuk mengeksekusi microinstructions
dengan secepat mungkin.
Dalam menjalankan mikroprogram, alamat dari instruksi mikro berikutnya
dijalankan dalam salah satu kategori ini:
(1) Ditentukan oleh instruksi register
(2) Alamat sekuensial berikutnya
(3) Cabang
Kategori pertama hanya terjadi sekali per siklus instruksi, tepat setelah
instruksi diambil. Kategori kedua adalah yang paling umum di sebagian besar
desain. Namun, itu desain tidak dapat dioptimalkan hanya untuk akses berurutan.
Cabang, keduanya bersyarat dan tanpa syarat, adalah bagian penting dari
mikroprogram. Selanjutnya, microinstruction urutan cenderung pendek; satu dari
setiap tiga atau empat microinstructions bisa menjadi cabang. Dengan demikian,
penting untuk merancang kompak, hemat waktu teknik untuk percabangan
microinstruction.
b) Sequencing Techniques
Berdasarkan microinstruction saat ini, kondisi flags, dan isi dari register
instruksi, alamat memori kontrol harus dihasilkan untuk microinstruction
berikutnya. Berbagai macam teknik telah digunakan. Kita dapat

24
mengelompokkannya menjadi tiga kategori umum. Kategori-kategori ini
berdasarkan format informasi alamat di microinstruction:
(1) Dua bidang alamat
(2) Bidang alamat tunggal
(3) Format Variabel
Pendekatan yang paling sederhana adalah menyediakan dua bidang alamat
di setiap microinstruction. Multiplexer disediakan yang berfungsi sebagai tujuan
untuk kedua bidang alamat plus register instruksi. Berdasarkan input alamat-
pilihan, multiplexer mentransmisikan opcode atau salah satu dari dua alamat ke
register alamat control/control address register (CAR). CAR itu selanjutnya
diterjemahkan untuk menghasilkan alamat microinstruction berikutnya. Pemilihan
alamat sinyal disediakan oleh modul logika cabang yang inputnya terdiri dari
kontrol unit flags plus bit dari bagian kontrol dari microinstruction.
Meskipun pendekatan dua alamat ini sederhana, ini membutuhkan lebih
banyak bit dalam microinstruction daripada pendekatan lainnya. Dengan beberapa
logika tambahan, penghematan bisa tercapai. Pendekatan umum adalah memiliki
bidang alamat tunggal. Dengan pendekatan ini, opsi untuk alamat berikutnya
adalah sebagai berikut:
(1) Bidang alamat
(2) Instruksi kode register
(3) Alamat sekuensial berikutnya
Sinyal pemilihan alamat menentukan opsi mana yang dipilih. Pendekatan ini
mengurangi jumlah bidang alamat menjadi satu. Perhatikan, bagaimanapun,
bahwa bidang alamat sering tidak akan digunakan. Dengan demikian, ada
beberapa inefisiensi dalam skema coding microinstruction.
Pendekatan lain adalah menyediakan dua microinstruction yang sama sekali
berbeda format. Satu bit menunjukkan format apa yang sedang digunakan. Jadi
satu format, bit yang tersisa digunakan untuk mengaktifkan sinyal kontrol. Dalam
format lain, beberapa bit menggerakkan modul logika cabang, dan sisa bit
menyediakan alamat. Dengan format pertama, alamat berikutnya adalah urutan
berikutnya alamat atau alamat yang berasal dari register instruksi. Dengan yang
kedua format, baik cabang bersyarat atau tidak bersyarat sedang ditentukan. Satu
kerugian dari pendekatan ini adalah bahwa satu siklus keseluruhan dikonsumsi
dengan masing-masing cabang microinstruction. Dengan pendekatan lain,
generasi alamat terjadi sebagai bagian dari siklus yang sama dengan pembuatan
sinyal kontrol, meminimalkan memori kontrol akses.
Pendekatan yang baru saja dijelaskan adalah umum. Implementasi khusus
akan sering melibatkan variasi atau kombinasi teknik-teknik ini.

25
c) Address Generation
Kita telah melihat masalah sequencing dari sudut pandang pertimbangan
format dan persyaratan logika umum. Sudut pandang lain adalah
mempertimbangkan berbagai cara di mana alamat berikutnya dapat diturunkan
atau dihitung.
Ada berbagai teknik pembangkitan alamat. Ini bisa dibagi menjadi teknik-
teknik eksplisit, di mana alamat secara eksplisit tersedia di microinstruction, dan
teknik implisit, yang membutuhkan logika tambahan untuk menghasilkan alamat.
Kita pada dasarnya berurusan dengan teknik-teknik eksplisit. Dengan dua
bidang pendekatan, dua alamat alternatif tersedia dengan masing-masing
microinstruction. Menggunakan baik bidang alamat tunggal atau format variabel,
berbagai instruksi cabang dapat diimplementasikan. Instruksi cabang bersyarat
tergantung pada jenis informasi berikut:
(1) ALU flags
(2) Bagian dari bidang mode opcode atau alamat dari instruksi mesin
(3) Bagian dari daftar yang dipilih, seperti bit tanda
(4) Status bit dalam unit kontrol
Beberapa teknik implisit juga umum digunakan. Salah satunya, memetakan,
diperlukan di hampir semua desain. Bagian opcode dari instruksi mesin harus
dipetakan ke alamat microinstruction. Ini hanya terjadi sekali per instruksi siklus.
Teknik implisit umum adalah teknik yang melibatkan penggabungan atau
penambahan dua bagian dari alamat untuk membentuk alamat lengkap.
Pendekatan ini diambil untuk keluarga IBM S / 360 dan digunakan pada banyak
model S / 370. Kita akan gunakan IBM 3033 sebagai contoh.
Alamat kontrol mendaftar pada IBM 3033 adalah 13 bit panjang. Dua
bagian alamat dapat dibedakan. Urutan tertinggi 8 bit (00-07) biasanya tidak
berubah dari satu siklus microinstruction ke yang berikutnya. Selama pelaksanaan
suatu instruksi mikro, 8 bit ini disalin langsung dari sebuah bidang 8-bit dari
microinstruction (bidang BA) ke dalam 8 bit dari order tertinggi register alamat
kontrol. Ini mendefinisikan 32 blok microinstructions dalam kendali memory.
Sisa 5 bit dari register alamat kontrol ditetapkan untuk menentukan alamat khusus
dari microinstruction yang akan diambil selanjutnya. Masing-masing bit ini
ditentukan oleh bidang 4-bit (kecuali satu adalah bidang 7-bit) dalam
microinstruction saat ini; bidang menentukan kondisi untuk menyetel bit yang
sesuai. Sebagai contoh, sedikit dalam register alamat kontrol mungkin diatur ke 1
atau 0 tergantung pada apakah sebuah carry terjadi pada operasi ALU terakhir.

26
Pendekatan terakhirdisebut kontrol residual. Pendekatan ini melibatkan
penggunaan alamat microinstruction yang sebelumnya telah disimpan dalam
penyimpanan sementara di dalam unit kontrol. Misalnya, beberapa instruksi mikro
set dilengkapi dengan fasilitas subrutin. Daftar internal atau tumpukan register
digunakan untuk menyimpan alamat pengirim. Contoh pendekatan ini diambil
pada LSI-11, yang sekarang kita periksa.
d) LSI-11 Microinstruction Sequencing
LSI-11 adalah versi mikrokomputer dari PDP-11, dengan komponen utama
sistem yang berada di satu papan. The LSI-11 diimplementasikan menggunakan
microprogrammed unit kontrol [SEBE76].
LSI-11 menggunakan microinstruction 22-bit dan memori kontrol 2K 22-bit
words. Alamat microinstruction berikutnya ditentukan dalam satu dari lima cara:
(1) Alamat sekuensial berikutnya: Dengan tidak adanya instruksi lain,
unit kontrol register alamat kontrol ditambah 1.
(2) Pemetaan opcode: Pada awal setiap siklus instruksi, microinstruction
berikutnya alamat ditentukan oleh opcode.
(3) Fasilitas subroutine: Dijelaskan saat ini.
(4) Interrupt testing: Beberapa microinstructions menentukan tes untuk
interupsi. Jika interupsi telah terjadi, ini menentukan alamat
microinstruction berikutnya.
(5) Cabang: Microinstructions cabang bersyarat dan tidak bersyarat
digunakan.
Fasilitas subrutin satu tingkat disediakan. Satu bit di setiap microinstruction
didedikasikan untuk tugas ini. Ketika bit diatur, register kembali 11-bit yang
diperbarui dari register alamat kontrol. Suatu instruksi mikro berikutnya yang
menentukan pengembalian akan menyebabkan register alamat kontrol dimuat dari
return register.
Pengembalian adalah salah satu bentuk instruksi cabang tanpa syarat.
Bentuk lain dari cabang yang tidak bersyarat menyebabkan bit-bit register alamat
kontrol untuk dimuat dari 11 bit dari microinstruction. Instruksi cabang bersyarat
membuat digunakan kode uji 4-bit dalam microinstruction. Kode ini menetapkan
pengujian berbagai Kode kondisi ALU untuk menentukan keputusan cabang. Jika
kondisinya tidak benar, alamat sekuensial berikutnya dipilih. Jika itu benar, 8 bit
orde terendah dari register alamat kontrol dimuat dari 8 bit dari microinstruction.
Ini memungkinkan bercabang dalam 256 halaman kata memori.
Seperti dapat dilihat, LSI-11 mencakup fasilitas pengurutan alamat yang
kuat dalam unit kontrol. Hal ini memungkinkan fleksibilitas fleksibilitas
microprogrammer dan dapat meringankan tugas microprogramming. Di sisi lain,

27
pendekatan ini membutuhkan lebih banyak kontrol unit logika daripada
kemampuan yang lebih sederhana.
3. Microinstruction Execution
Siklus microinstruction adalah peristiwa dasar pada prosesor microprogram.
Setiap siklus terdiri dari dua bagian: fetch dan execute. Bagian fetch ditentukan
oleh generasi alamat microinstruction, dan ini ditangani di bagian sebelumnya.
Bagian ini berkaitan dengan pelaksanaan suatu instruksi mikro.
Ingat bahwa efek dari pelaksanaan suatu instruksi mikro adalah untuk
menghasilkan sinyal kontrol. Beberapa titik kontrol sinyal ini internal ke prosesor.
Itu sinyal yang tersisa pergi ke bus kontrol eksternal atau antarmuka eksternal
lainnya. Sebagai sebuah fungsi insidental, alamat microinstruction berikutnya
ditentukan.
Uraian sebelumnya menyarankan organisasi unit control. Versi yang sedikit
direvisi menekankan fokus bagian ini. Modul utama dalam diagram ini sekarang
harus jelas. Urutannya modul logika berisi logika untuk melakukan fungsi-fungsi
yang dibahas di bagian sebelumnya. Ini menghasilkan alamat dari
microinstruction berikutnya, menggunakan sebagai input register instruksi, tanda
ALU, register alamat kontrol (untuk incrementing), dan register penyangga
kontrol. Yang terakhir mungkin memberikan alamat yang sebenarnya, bit kontrol,
atau keduanya. Modul ini didorong oleh jam yang menentukan waktu dari
microinstruction siklus.
Modul logika kontrol menghasilkan sinyal kontrol sebagai fungsi dari
beberapa bit-bit dalam microinstruction. Harus jelas bahwa format dan konten dari
microinstruction menentukan kompleksitas dari modul logika kontrol.
a) A Taxonomy of Microinstruction
Microinstructions dapat diklasifikasikan dalam berbagai cara. Perbedaan
yang umum dibuat dalam literatur termasuk yang berikut:
(1) Vertikal / horizontal
(2) Dikemas / dibongkar
(3) Microprogramming lunak/ keras
(4) Enkode langsung / tidak langsung
Semua ini bergantung pada format microinstruction. Tak satu pun dari
istilah-istilah ini telah digunakan secara konsisten sama dan tepat dalam literatur.
Namun, pemeriksaan dari pasangan-pasangan kualitas ini berfungsi untuk
menjelaskan alternatif desain microinstruction. Dalam paragraf berikut, pertama-
tama kita melihat masalah desain utama yang mendasarinya semua pasangan

28
karakteristik ini, dan kemudian kita melihat konsep yang disarankan oleh masing-
masing pasangan.
Dalam proposal asli oleh Wilkes, masing-masing dari sebuah
microinstruction baik secara langsung menghasilkan sinyal kontrol atau langsung
menghasilkan satu bit di alamat selanjutnya. Kita telah melihat, di bagian
sebelumnya, bahwa skema sekuensing alamat yang lebih kompleks, menggunakan
lebih sedikit bit microinstruction, adalah mungkin. Skema ini membutuhkan
modul logika sequencing yang lebih kompleks. Jenis trade-off serupa ada untuk
bagian dari microinstruction yang berkaitan dengan sinyal kontrol. Dengan
encoding mengontrol informasi, dan kemudian mendekodekannya untuk
menghasilkan sinyal kontrol, kontrol bit words dapat disimpan.
Bagaimana pengkodean ini dilakukan? Untuk menjawab itu, pertimbangkan
bahwa ada sebuah total K sinyal kontrol internal dan eksternal yang berbeda untuk
didorong oleh kontrol satuan. Dalam skema Wilkes, bits K dari microinstruction
akan didedikasikan untuk tujuan ini. Ini memungkinkan semua 2K kemungkinan
kombinasi dari sinyal kontrol dihasilkan selama siklus instruksi. Tapi kita bisa
melakukan lebih baik daripada ini jika kita amati bahwa tidak semua kombinasi
yang mungkin akan digunakan. Contohnya sebagai berikut:
(1) Dua sumber tidak dapat dipisahkan ke tujuan yang sama (misalnya,
C2 dan C8).
(2) Register tidak dapat menjadi sumber dan tujuan (mis., C5 dan C12).
(3) Hanya satu pola sinyal kontrol yang dapat disajikan ke ALU pada
suatu waktu.
(4) Hanya satu pola sinyal kontrol yang dapat disajikan ke kontrol
eksternal bus pada suatu waktu.
Jadi, untuk prosesor tertentu, semua kombinasi sinyal kontrol yang
dimungkinkan bisa terdaftar, memberikan sejumlah Q <2K kemungkinan. Ini bisa
dikodekan dengan log2 bit Q minimum, dengan (log2 Q) <K. Ini akan menjadi
yang paling rapat bentuk pengkodean yang mempertahankan semua kombinasi
sinyal kontrol yang diijinkan. Bentuk pengkodean ini tidak digunakan, karena dua
alasan:
(1) Sulit untuk memprogram sebagai skema yang diterjemahkan murni
(Wilkes).
(2) Ini membutuhkan modul logika kontrol yang kompleks dan lambat.
Sebaliknya, beberapa kompromi dilakukan. Ini ada dua macam:
(1) Lebih banyak bit daripada yang benar-benar diperlukan digunakan
untuk mengkodekan kemungkinan kombinasi.

29
(2) Beberapa kombinasi yang secara fisik diperbolehkan tidak mungkin
untuk dikodekan.
Jenis kompromi yang terakhir memiliki efek mengurangi jumlah bit. Jaring
Hasilnya, bagaimanapun, adalah menggunakan lebih dari log2 Q bit. Pada
subbagian berikutnya, kita akan membahas teknik pengkodean khusus. Sisa dari
subbagian ini berkaitan dengan efek pengkodean dan berbagai istilah yang
digunakan untuk menggambarkannya.
Berdasarkan sebelumnya, kita dapat melihat bahwa bagian sinyal kontrol
dari format microinstruction jatuh pada spektrum. Pada satu titik ekstrim, ada satu
bit untuk setiap sinyal kontrol; pada ekstrim lainnya, format yang sangat
dikodekan digunakan.
Sepasang barang kedua dalam tabel agak jelas. Skema Wilkes murni akan
membutuhkan sebagian besar bit. Juga harus jelas bahwa ekstrem ini menyajikan
tampilan paling detail dari perangkat keras. Setiap sinyal kontrol dapat dikontrol
secara individual oleh microprogrammer. Pengkodean dilakukan sedemikian rupa
untuk mengumpulkan fungsi atau sumber daya, sehingga microprogrammer
melihat prosesor pada yang lebih tinggi, kurang tingkat terperinci. Selanjutnya,
pengkodean dirancang untuk memudahkan pemrograman mikro beban. Sekali
lagi, harus jelas bahwa tugas memahami dan mendalang penggunaan semua sinyal
kontrol adalahsulit untuk dilakukan. Seperti telah disebutkan, salah satunya
konsekuensi dari pengkodean, biasanya, adalah untuk mencegah penggunaan
tertentu sebaliknya kombinasi yang diijinkan.
Paragraf sebelumnya membahas desain microinstruction dari sudut pandang
microprogrammer. Tetapi tingkat pengkodean juga dapat dilihat dari efek
perangkat keras. Dengan format yang tidak dienkode murni, sedikit atau tidak ada
logika dekode diperlukan; setiap bit menghasilkan sinyal kontrol tertentu. Karena
lebih kompak dan lebih teragregasi skema pengkodean digunakan, logika dekode
yang lebih kompleks diperlukan. Hal ini dalam langkah, dapat mempengaruhi
kinerja. Lebih banyak waktu diperlukan untuk menyebarkan sinyal melalui
gerbang dari modul logika kontrol yang lebih kompleks. Dengan demikian,
pengerjaan dikodekan microinstructions membutuhkan waktu lebih lama daripada
eksekusi yang tidak dienkode.
Oleh karena itu, semua karakteristik yang tercantum jatuh bersama spektrum
strategi desain. Secara umum, desain yang jatuh ke ujung kiri spektrum
dimaksudkan untuk mengoptimalkan kinerja unit kontrol. Desain menuju ujung
kanan lebih peduli dengan mengoptimalkan proses microprogramming. Memang,
set instruksi mikro dekat ujung kanan spektrum terlihat sangat mirip set instruksi
mesin. Contoh yang bagus dari ini adalah desain LSI-11, yang akan dijelaskan

30
nanti di bagian ini. Biasanya, ketika tujuannya hanya untuk mengimplementasikan
unit kontrol, desain akan berada di dekat ujung kiri spektrum. Desain IBM 3033,
dibahas saat ini, ada dalam kategori ini. Seperti yang akan kita diskusikan nanti,
beberapa sistem mengizinkan suatu variasi pengguna untuk membangun
mikroprogram yang berbeda menggunakan fasilitas microinstruction yang sama.
Dalam kasus terakhir, desain cenderung jatuh di dekat ujung kanan spektrum.
Kami sekarang dapat menangani beberapa terminologi yang diperkenalkan
sebelumnya. Menunjukkan bagaimana tiga pasang istilah ini berhubungan dengan
spektrum microinstruction. Intinya, semua pasangan ini menggambarkan hal yang
sama tetapi menekankan karakteristik desain yang berbeda.
Tingkat pengepakan berhubungan dengan tingkat identifikasi antara yang
diberikan tugas kontrol dan bit microinstruction spesifik. Saat bit menjadi lebih
padat, sebuah jumlah bit yang diberikan berisi lebih banyak informasi. Jadi,
pengemasan berkonotasi encoding. Istilah horizontal dan vertikal berhubungan
dengan lebar relatif dari instruksi mikro. Disarankan sebagai aturan praktis bahwa
microinstructions vertikal memiliki panjang kisaran 16 hingga 40 bit dan itu
microinstructions horisontal memiliki panjang dalam kisaran 40 hingga 100 bit.
Istilah mikroprogramming keras dan lunak digunakan untuk menyarankan tingkat
kedekatan dengan sinyal kontrol dan tata letak perangkat keras yang
mendasarinya. Program mikro yang keras umumnya tetap dan berkomitmen untuk
memori hanya-read. Lembut mikroprogram lebih dapat diubah dan sugestif dari
microprogramming pengguna.
Pasangan istilah lain yang disebutkan di awal ayat ini mengacu pada pengkodean
langsung versus tidak langsung, subjek yang sekarang kita gunakan.
b) Microinstruction Encoding
Dalam prakteknya, unit kontrol yang diprogram ulang tidak dirancang
menggunakan unencoded murni atau format microinstruction horizontal.
Setidaknya beberapa derajat pengkodean adalah digunakan untuk mengurangi
lebar memori kontrol dan untuk menyederhanakan tugas microprogramming.
Microinstruction diatur sebagai satu set bidang. Setiap bidang berisi kode,
yang menggunakan decoding, mengaktifkan satu atau lebih sinyal kontrol.
Mari kita pertimbangkan implikasi tata letak ini. Ketika microinstruction
dijalankan, setiap bidang didekodekan dan menghasilkan sinyal kontrol. Jadi,
dengan N bidang, N tindakan simultan ditentukan. Setiap tindakan menghasilkan
aktivasi satu atau lebih sinyal kontrol. Umumnya, tetapi tidak selalu, kita ingin
mendesain format sehingga setiap sinyal kontrol diaktifkan oleh tidak lebih dari
satu bidang. Jelas, bagaimanapun, itu harus mungkin untuk setiap sinyal kontrol
yang akan diaktifkan oleh pada setidaknya satu bidang.

31
Sekarang perhatikan bidang individu. Bidang yang terdiri dari bit L dapat
berisi satu kode 2L, yang masing-masing dapat dikodekan ke pola sinyal kontrol
yang berbeda. Karena hanya satu kode yang dapat muncul di suatu bidang pada
satu waktu, kode-kode tersebut saling terpisah, dan, oleh karena itu, tindakan yang
mereka lakukan saling eksklusif.
Desain format mikro-instruksi yang dikodekan sekarang dapat dinyatakan
secara sederhana:
(1) Atur format ke dalam bidang independen. Artinya, setiap bidang
menggambarkan satu set tindakan (pola sinyal kontrol) sehingga
tindakan dari berbagai bidang bisa terjadi secara bersamaan.
(2) Definisikan setiap bidang sedemikian rupa sehingga tindakan
alternatif yang dapat ditentukan oleh bidang saling eksklusif.
Artinya, hanya satu dari tindakan yang ditentukan untuk a bidang
yang diberikan dapat terjadi sekaligus.
Dua pendekatan dapat diambil untuk mengatur microinstruction yang
disandikan ke dalam bidang: fungsional dan sumber daya. Metode pengkodean
fungsional mengidentifikasi fungsi dalam mesin dan menetapkan bidang
berdasarkan jenis fungsi. Misalnya, jika beragam sumber dapat digunakan untuk
mentransfer data ke akumulator, satu bidang bisa ditujukan untuk tujuan ini,
dengan setiap kode menentukan sumber yang berbeda. Sumber encoding melihat
mesin sebagai terdiri dari satu set sumber daya independen dan mengabdikan satu
bidang untuk masing-masing (mis., I / O, memori, ALU).
Aspek lain dari pengkodean adalah apakah itu langsung atau tidak langsung.
Dengan pengkodean tidak langsung, satu bidang digunakan untuk menentukan
interpretasi bidang lain. Sebagai contoh, pertimbangkan ALU yang mampu
melakukan delapan berbeda operasi aritmatika dan delapan operasi shift yang
berbeda. Bidang 1-bit bisa digunakan untuk menunjukkan apakah operasi shift
atau aritmatika akan digunakan; bidang 3-bit akan menunjukkan operasi. Teknik
ini secara umum mengimplikasikan dua level decoding, meningkatkan penundaan
propagasi.
Asumsikan prosesor dengan akumulator tunggal dan beberapa register
internal, seperti penghitung program dan sementara daftar untuk input ALU.
Pertama 3bit menunjukkan jenis operasi, 3 berikutnya menyandikan operasi, dan
final 2 pilih register internal. Dalam hal ini, fungsi yang berbeda muncul di
berbagai bidang.
c) LSI-11 Microinstruction Execution
LSI-11 adalah contoh yang baik dari pendekatan microinstruction vertikal.
Kita lihat dulu organisasi unit kontrol, lalu pada format microinstruction.

32
Organisasi unit control11 LSI-11 adalah anggota pertama dari Keluarga
PDP-11 yang ditawarkan sebagai prosesor single-board. Papan berisi tiga chip
LSI, bus internal yang dikenal sebagai bus microinstruction (MIB), dan beberapa
lainnya logika interfacing tambahan.
Dalam bentuk yang disederhanakan, organisasi prosesor LSI-11. Ketiga
chip tersebut adalah data, kontrol, dan chip kontrol toko. Chip data berisi 8-bit
ALU, dua puluh enam 8-bit register, dan penyimpanan untuk beberapa kode
kondisi. Enam belas register digunakan untuk mengimplementasikan delapan 16-
bit tujuan umum register PDP-11. Lainnya termasuk kata status program, memori
register alamat (MAR), dan register buffer memori. Karena ALU berhubungan
dengan hanya 8 bit pada satu waktu, dua melewati ALU diperlukan untuk
menerapkan Operasi aritmatika 16-bit PDP-11. Ini dikendalikan oleh
mikroprogram.
Chip atau chip control simpanan berisi memori kontrol 22-bit-lebar. Itu chip
kontrol berisi logika untuk mengurutkan dan mengeksekusi microinstructions. Ini
berisi register alamat kontrol, register data kontrol, dan salinan dari register
instruksi mesin. MIB mengikat semua komponen bersama. Selama pengambilan
microinstruction, chip kontrol menghasilkan alamat 11-bit ke MIB. Toko kontrol
diakses, menghasilkan mikroinstruksi 22-bit, yang ditempatkan pada MIB. Orde
rendah 16 bit masuk ke chip data, sementara low-order 18 bit masuk ke chip
kontrol. Itu tingkat tinggi 4 bit kontrol fungsi papan prosesor khusus.
Tampilan yang masih sederhana namun lebih rinci pada LSI-11 unit kontrol:
gambar mengabaikan batas chip individu. Urutan alamat skema yang
dijelaskandiimplementasikan dalam dua modul. Urutan keseluruhan kontrol
disediakan oleh modul kontrol urutan microprogram, yang mampu meningkatkan
register alamat microinstruction dan melakukan unconditional ranting. Bentuk lain
dari penghitungan alamat dilakukan oleh terjemahan terpisah larik. Ini adalah
rangkaian kombinatorial yang menghasilkan alamat berdasarkan pada
microinstruction, instruksi mesin, counter program microinstruction, dan daftar
interupsi.
(1) Array terjemahan ikut bermain pada kesempatan-kesempatan
berikut:
(2) Opcode digunakan untuk menentukan permulaan microroutine.
(3) Pada waktu yang tepat, bit-bit mode alamat dari microinstruction
diuji melakukan pengalamatan yang sesuai.
(4) Kondisi interupsi diuji secara berkala.
(5) Microinstructions cabang bersyarat dievaluasi.

33
Format lsi-11 microinstruction LSI-11 menggunakan sangat vertikal format
microinstruction, yang hanya 22 bit lebar. Instruksi mikro ditetapkan kuat
menyerupai instruksi mesin PDP-11 yang diimplementasikannya. Desain ini
adalah dimaksudkan untuk mengoptimalkan kinerja unit kontrol dalam batasan a
desain vertikal, mudah diprogram.
ditunjukkan format 22-bit LSI-11 microinstruction. Orde tinggi 4 bit
mengontrol fungsi khusus pada papan prosesor. Bit terjemahan memungkinkan
array terjemahan untuk memeriksa interupsi tertunda. Bit register pengembalian
beban digunakan di ujung microroutine untuk menyebabkan alamat
microinstruction berikutnya dimuat dari daftar kembali.
Sisa 16 bit digunakan untuk operasi mikro yang sangat dikodekan. Format
jauh seperti instruksi mesin, dengan opcode variabel-panjang dan satu atau lebih
banyak operan.
d) IBM 3033 Microinstruction Execution
Memori kontrol IBM 3033 standar terdiri dari 4K kata. Setengah bagian
pertama ini (0000–07FF) berisi 108-bit microinstructions, sementara sisanya
(0800–0FFF) digunakan untuk menyimpan 126-bit microinstructions.
Meskipun ini adalah format yang agak horizontal, pengkodean masih
banyak digunakan. ALU beroperasi pada input dari empat register khusus, non-
user-visible, A, B, C, dan D. Format microinstruction berisi bidang untuk memuat
register-register ini dari register yang terlihat oleh pengguna, melakukan fungsi
ALU, dan menentukan sebuah user-visible register untuk menyimpan hasilnya.
Ada juga kolom untuk memuat dan menyimpan data antara register dan memori.
Mekanisme sekuensing untuk IBM 3033 dibahas dalam selanjutnya.
4. TI 8800
Texas Instruments 8800 Software Development Board (SDB) adalah
microprogrammable Kartu komputer 32-bit. Sistem ini memiliki toko kontrol
yang dapat ditulis, diimplementasikan dalam RAM daripada ROM. Sistem
semacam itu tidak mencapai kecepatan atau kepadatan sistem mikroprogram
dengan toko kontrol ROM. Namun demikian berguna untuk mengembangkan
prototipe dan untuk tujuan pendidikan.
The 8800 SDB terdiri dari komponen-komponen berikut :
(1) Memori mikrokode
(2) Microsequencer
(3) ALU 32-bit
(4) prosesor floating-point dan integer
(5) Memori data lokal

34
Dua bus menghubungkan komponen internal sistem. Bus DA menyediakan
data dari bidang data microinstruction ke ALU, prosesor floating-point, atau
microsequencer. Dalam kasus terakhir, data terdiri dari alamat yang akan
digunakan untuk instruksi cabang. Bus juga dapat digunakan untuk ALU atau
microsequencer untuk menyediakan data ke komponen lain. Bus sistem Y
menghubungkan ALU dan floating- arahkan prosesor ke memori lokal dan ke
modul eksternal melalui antarmuka PC.
Papan ini cocok dengan komputer induk yang kompatibel dengan PC IBM.
Komputer host menyediakan platform yang cocok untuk perakitan dan debug
mikrokoda.
a) Microinstruction Format
Format microinstruction untuk 8800 terdiri dari 128 bit yang dipecah
menjadi 30 bidang fungsional. Setiap bidang terdiri dari satu atau lebih bit, dan
bidang dikelompokkan ke dalam lima kategori utama:
(1) Kontrol papan
(2) 8847 chip prosesor floating-point dan integer
(3) 8832 registered ALU
(4) 8818 microsequencer
(5) bidang data WCS
Sebagaimana ditunjukkan, 32 bit bidang data WCS dimasukkan ke dalam
DA bus disediakan sebagai data ke ALU, prosesor floating-point, atau
microsequencer. 96 bit lainnya (field 1–27) dari microinstruction adalah sinyal
kontrol yang ada langsung diumpankan ke modul yang sesuai. Untuk
kesederhanaan, koneksi lain ini tidak ditunjukkan.
Enam bidang pertama berurusan dengan operasi yang berhubungan dengan
kontrol dewan, daripada mengendalikan komponen individu. Operasi kontrol
termasuk sebagai berikut:
(1) Memilih kode kondisi untuk kontrol sequencer. Bit pertama bidang 1
menunjukkan apakah flag kondisi harus diatur ke 1 atau 0, dan 4 bit
sisanya indikasikan flag mana yang harus diatur.
(2) Mengirim permintaan I / O ke PC / AT.
(3) Mengaktifkan operasi baca / tulis memori data lokal.
(4) Menentukan unit yang menggerakkan bus sistem Y. Salah satu dari
empat perangkat melekat pada bus dipilih.
32 bit terakhir adalah bidang data, yang berisi informasi spesifik untuk
tertentu microinstruction.

35
Sisa-sisa dari microinstruction yang terbaik dibahas dalam konteks
perangkat yang mereka kendalikan. Di sisa bagian ini, kita membahas
microsequencer dan ALU yang terdaftar. Unit floating-point tidak
memperkenalkan yang baru konsep dan dilewati.

b) Miceosequencer
Fungsi utama dari microsexencer 8818 adalah untuk menghasilkan
microinstruction berikutnya alamat untuk mikroprogram. Alamat 15-bit ini
disediakan untuk microcode memori.
Alamat berikutnya dapat dipilih dari salah satu dari lima sumber:
(1) Register mikroprogram (MPC), digunakan untuk pengulangan
(digunakan kembali sama alamat) dan terus (increment alamat oleh
1) instruksi.
(2) Tumpukan, yang mendukung panggilan subroutine mikroprogram
serta iteratif loop dan kembali dari interupsi.

36
(3) Port DRA dan DRB, yang menyediakan dua jalur tambahan dari
eksternal perangkat keras dimana alamat mikroprogram dapat
dihasilkan. Ini dua port terhubung ke 16 bit paling signifikan dan
paling tidak signifikan bus DA, masing-masing. Ini memungkinkan
microsequencer untuk mendapatkan yang berikutnya alamat
instruksi dari field data WCS dari microinstruction saat ini atau dari
hasil yang dihitung oleh ALU.
(4) Mendaftar penghitung RCA dan RCB, yang dapat digunakan untuk
alamat tambahan penyimpanan.
(5) Input eksternal ke port Y dua arah untuk mendukung interupsi
eksternal.
Diagram blok logis dari 8818. Perangkat ini terdiri dari mengikuti grup
fungsional utama:
(1) Sebuah counter mikroprogram 16-bit (MPC) yang terdiri dari
register dan incrementer.
(2) Dua register counter, RCA dan RCB, untuk menghitung loop dan
iterasi, menyimpan alamat cabang, atau mengemudi perangkat
eksternal.
(3) 65-kata dengan 16-bit stack, yang memungkinkan panggilan
subrutin dan microprogram interupsi.
(4) Sebuah register kembali interupsi dan output Y memungkinkan
pemrosesan interrupt pada tingkat microinstruction.
Penggambaran multiplekser Y yang memungkinkan pemilihan alamat
selanjutnya dari MPC, RCA, RCB, bus eksternal DRA dan DRB, atau tumpukan.
Register / counter Register RCA dan RCB dapat dimuat dari bus DA, baik
dari microinstruction saat ini atau dari output dari ALU. Nilai-nilai dapat
digunakan sebagai penghitung untuk mengontrol aliran eksekusi dan dapat
dikurangi secara otomatis saat diakses. Nilai-nilai juga dapat digunakan sebagai
alamat microinstruction untuk dipasok ke multiplekser output Y. Independen
kontrol kedua register selama satu siklus mikroinstruksi didukung dengan
pengecualian penurunan simultan dari kedua register.
Stack ini memungkinkan beberapa tingkat panggilan atau interupsi
bersarang, dan itu bisa digunakan untuk mendukung percabangan dan perulangan.
Perlu diingat bahwa operasi ini mengacu pada unit kontrol, bukan keseluruhan
prosesor, dan alamat yang terlibat adalah mereka dari microinstructions dalam
memori kontrol.
Enam operasi stack/tumpukan dimungkinkan:

37
(1) Hapus, yang mengatur penunjuk tumpukan ke nol, mengosongkan
tumpukan;
(2) Pop, yang mengurangi penunjuk tumpukan;
(3) Dorong, yang menempatkan isi MPC, register ulang interupsi, atau
DRA bus ke tumpukan dan menambah penunjuk tumpukan;
(4) Baca, yang membuat alamat yang ditunjukkan oleh pointer baca
tersedia di Y output multiplexer;
(5) Tahan, yang menyebabkan alamat penunjuk tumpukan tetap tidak
berubah;
(6) Load stack pointer, yang memasukkan tujuh bit paling signifikan
dari DRA ke penunjuk tumpukan.
Kontrol microsequencer Microsequencer dikendalikan terutama oleh bidang
12-bit dari microinstruction saat ini, bidang 28. Lapangan ini terdiri dari
subbidang berikut:
(1) OSEL (1 bit): Output pilih. Menentukan nilai mana yang akan
ditempatkan pada output dari multiplexer yang dimasukkan ke
dalam bus DRA (sudut kiri atas Gambar 21.18). Output dipilih
berasal dari tumpukan atau dari daftar RCA. DRA kemudian
berfungsi sebagai masukan baik untuk multiplexer output Y atau ke
daftarkan RCA.
(2) SELDR (1 bit): Pilih bus DR. Jika diatur ke 1, bit ini memilih bus
DA eksternal sebagai masukan ke bus DRA / DRB. Jika diatur ke 0,
pilih output DRA multiplexer ke DRA bus (dikendalikan oleh
OSEL) dan isi RCB ke bus DRB.
(3) ZEROIN (1 bit): Digunakan untuk menunjukkan cabang bersyarat.
Perilaku dari microsequencer akan bergantung pada kode kondisi
yang dipilih di field 1 (Tabel 21.7).
(4) RC2 – RC0 (3 bit): Daftarkan kontrol. Bit-bit ini menentukan
perubahan dalam isi register RCA dan RCB. Setiap daftar dapat
tetap sama, pengurangan, atau memuat dari bus DRA / DRB.
(5) S2 – S0 (3 bit): Kontrol tumpukan. Bit-bit ini menentukan operasi
stack yang mana harus dilakukan.
(6) MUX2 – MUX0: Kontrol output. Bit-bit ini, bersama dengan kode
kondisi jika digunakan, kontrol output multiplexer Y dan oleh
karena itu mikroinstruksi berikutnya alamat. Multiplexer dapat
memilih outputnya dari stack, DRA, DRB, atau MPC.
Bit-bit ini dapat diatur secara individual oleh programmer. Namun, ini
biasanya belum selesai. Sebaliknya, programmer menggunakan mnemonik yang
sama dengan pola bit yang biasanya diperlukan.

38
Sebagai contoh, instruksi INC88181 digunakan untuk menyebabkan
microinstruction berikutnya dalam urutan yang akan dipilih, jika kode kondisi
yang saat ini dipilih adalah 1. Dari Tabel 21.8, kami punya
INC88181 = 000000111110
yang menerjemahkan langsung ke dalam
a) OSEL = 0: Memilih RCA sebagai output dari output DRA
MUX; dalam hal ini seleksi tidak relevan.
b) SELDR = 0: Seperti yang didefinisikan sebelumnya; sekali lagi,
ini tidak relevan untuk instruksi ini.
c) ZEROIN = 0: Dikombinasikan dengan nilai untuk MUX,
menunjukkan tidak ada cabang harus diambil.
d) R = 000: Pertahankan nilai RA dan RC saat ini.
e) S = 111: Pertahankan status tumpukan saat ini.
f) MUX = 110: Pilih MPC ketika kode kondisi = 1, DRA ketika
kondisi kode = 0.
c) Registered ALU
The 8832 adalah ALU 32-bit dengan 64 register yang dapat dikonfigurasi
untuk beroperasi sebagai empat ALU 8-bit, dua ALU 16-bit, atau ALU 32-bit
tunggal.
The 8832 dikendalikan oleh 39 bit yang membentuk bidang 17 hingga 27
dari microinstruction; ini dipasok ke ALU sebagai sinyal kontrol. Selain itu,
seperti yang ditunjukkan, 8832 memiliki koneksi eksternal ke Bus DA 32-bit dan
bus Y sistem 32-bit. Masukan dari DA dapat disediakan sekaligus sebagai input
data ke file register 64-kata dan ke modul logika ALU. Masukan dari bus sistem Y
disediakan ke modul logika ALU. Hasil dari ALU dan operasi shift adalah output
ke bus DA atau bus sistem Y. Hasil dapat juga diumpankan kembali ke file
register internal.
Tiga port alamat 6-bit memungkinkan pengambilan dua operan dan operan
menulis ke dilakukan dalam file register secara bersamaan. Sebuah MQ shifter
dan MQ register juga dapat dikonfigurasi untuk berfungsi secara independen
untuk menerapkan presisi ganda 8-bit, 16-bit, dan 32-bit operasi shift.
Kolom 17 hingga 26 dari masing-masing kontrol mikro mengontrol cara
data mengalir dalam 8832 dan antara 8832 dan lingkungan eksternal. Itu kolom
adalah sebagai berikut:
17. Tulis Aktif. Kedua bit ini menjelaskan menulis 32 bit, 16 bit paling
signifikan, 16 bit paling signifikan, atau tidak menulis ke file
register. Register tujuan didefinisikan oleh field 24.

39
18. Pilih Daftarkan Sumber Data File. Jika menulis terjadi ke file
register, ini dua bit menentukan sumber: bus DA, bus DB, output
ALU, atau bus sistem Y.
19. Pengubah Modifikasi Pergeseran. Menentukan opsi tentang
penyediaan bit pengisian akhir dan membaca bit yang digeser selama
instruksi shift.
20. Lanjutkan. Bit ini menunjukkan apakah sedikit dibawa ke ALU untuk
ini operasi.
21. Mode Konfigurasi ALU. The 8832 dapat dikonfigurasi untuk
beroperasi sebagai single ALU 32-bit, dua ALU 16-bit, atau empat
ALU 8-bit.
22. Masukan S. Input modul logika ALU disediakan oleh dua multiplexer
internal disebut sebagai multiplexer S dan R. Bidang ini memilih
masukan ke disediakan oleh multiplekser S: file register, bus DB,
atau register MQ. Itu register sumber ditentukan oleh field 25.
23. Masukan R. Memilih input yang akan disediakan oleh multiplekser
R: file register atau bus DA.
24. Daftar Tujuan. Alamat daftar dalam file register yang akan digunakan
untuk operan tujuan.
25. Sumber Daftar. Alamat daftar dalam file register yang akan
digunakan untuk sumber operan, disediakan oleh multiplexer S.
26. Sumber Daftar. Alamat daftar dalam file register yang akan
digunakan untuk sumber operand, disediakan oleh multiplekser R.
Akhirnya, bidang 27 adalah opcode 8-bit yang menentukan fungsi
aritmatika atau logis harus dilakukan oleh ALU. Tabel 21.9 mendaftar berbagai
operasi yang dapat dilakukan dipertunjukkan.
Sebagai contoh pengkodean yang digunakan untuk menentukan bidang 17
hingga 27, pertimbangkan instruksi untuk menambahkan isi register 1 untuk
mendaftar 2 dan menempatkan hasilnya dalam daftar 3. Instruksi simbolik adalah
CONT11 [17], WELH, SELRYFYMX, [24], R3, R2, R1, PASS + ADD
Assembler akan menerjemahkan ini ke dalam pola bit yang sesuai. Individu
komponen instruksi dapat digambarkan sebagai berikut:
(1) CONT11 adalah instruksi NOP dasar.
(2) Field [17] diubah menjadi WELH (tulis aktifkan, rendah dan tinggi),
sehingga 32-bit daftar ditulis ke dalam.

40
(3) Field [18] diubah menjadi SELRFYMX untuk memilih umpan balik dari
ALU Output Y MUX.
(4) Field [24] diubah untuk menunjuk register R3 untuk register tujuan.
(5) Field [25] diubah untuk menunjuk register R2 untuk salah satu register
sumber.
(6) Field [26] diubah untuk menunjuk register R1 untuk salah satu register
sumber.
(7) Field [27] diubah untuk menentukan operasi ALU dari ADD. ALU
shifter instruksi adalah LULUS; Oleh karena itu, output ALU tidak
dialihkan oleh shifter.
Beberapa poin dapat dibuat tentang notasi simbolik. Itu tidak perlu tentukan
nomor bidang untuk bidang yang berurutan. Itu adalah,
CONT11 [17], WELH, [18], SELRFYMX
dapat ditulis sebagai
CONT11 [17], WELH, SELRFYMX
karena SELRFYMX ada di bidang 18.
Instruksi ALU dari Grup 1 pada Tabel 21.9 harus selalu digunakan bersama
dengan Kelompok 2. Instruksi ALU dari Grup 3 hingga 5 tidak boleh digunakan
oleh Grup 2.

41
BAB III
PENUTUP
A. Kesimpulan
1. Dalam oprasi control unit ada 4 jenis control yang mempunyai ciri
khasnya masing masing, terutama dari segi alur pemogramannya,
atau alur pengoprasian prosesor tersebut
2. Microprogrammed control adalah sebuah program/ perilaku
terhadap sebuah control unti agar dapat berjalan secara sederhana

42
DAFTAR PUSTAKA

43

Anda mungkin juga menyukai