Arithmetic Logic Unit

22
2013 TUGAS MAKALAH ORGANISASI DAN ARSITEKTUR KOMPUTER APNUL RIDANSYAH S1 TEKHNIK INFORMATIKA EKSEKUTIF CLASS,YAYASAN LANGSA INFORMATIKA

description

aritmatic

Transcript of Arithmetic Logic Unit

Page 1: Arithmetic Logic Unit

2013TUGAS MAKALAH ORGANISASI DAN ARSITEKTUR KOMPUTER

APNUL RIDANSYAH S1 TEKHNIK INFORMATIKA EKSEKUTIF CLASS,YAYASAN LANGSA INFORMATIKA

Page 2: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

ARITHMETIC LOGIC UNIT (ALU)

1.1 Pengertian Arithmetic Logic Unit

Arithmetic Logic Unix merupakan bagian pengolah bilangan dari sebuah komputer. Di dalam

operasi aritmetika ini sendiri terdiri dari berbagai macam operasi diantaranya adalah operasi

penjumlahan, pengurangan, perkalian, dan pembagian. Mendesain ALU juga memiliki cara

yang hampir sama dengan mendesain enkoder, dekoder, multiplexer, dan demultiplexer ALU

terdiri dari register-register untuk menyimpan informasi.Operasi arithmatic dan logic terbagi

dalam 4 kelas, yaitu decimal arthmatic, fixed point arithmatic, floating point arithmatic, dan

logic operation.

Arithmetic Logical Unit merupakan unit penalaran secara logic. ALU ini adalah merupakan

Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-

angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke

memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam

CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang

berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.

ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai

komponen perangkat elektronika termasuk di dalamnya sekelompok

transistor, yang dikenal dengan nama logic gate, dimana logic gate ini

berfungsi untuk melaksanakan perintah dasar matematika dan operasi

logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan

perintah perhitungan matematika yang lebih komplit seperti perintah

“add” untuk menambahkan bilangan, atau “devide” atau pembagian dari

suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan

Page 3: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

dari logic gate ini juga mampu untuk melaksanakan perintah yang

berhubungan dengan logika, seperti hasil perbandingan dua buah

bilangan. Instruksi yang dapat dilaksanakan oleh ALU disebut dengan

instruction set. 

1.2 Fungsi Arithmetic Logic Unit

Melakukan suatu proses data yang berbentuk angka dan logika, seperti data

matematika dan statistika

Melakukan keputusan dari operasi sesuai dengan instruksi program yaitu operasi

logika (logical operation).

Melakukan perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi

program

Membantu Control Unit saat melakukan perhitungan aritmatika (ADD, SUB) dan

logika (AND, OR, XOR, SHL, SHR)

Gambar fungsi ALU dalam Stuktur Dasar

Sistem Komputer

REGISTER

2.1 PENGERTIAN REGISTER

Memori yang sangat cepat dalam transfer datanya, bertugas membantu operasi yang

dilakukan pemroses, terutama sebagai tempat operan-operan. Register ini dikategorikan

menjadi dua, yaitu:

Page 4: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

(1) register yang terlihat pemakai, seperti data register dan address register.

(2) register untuk kendali status.

Beragam register tipe ini digunakan untuk mengendalikan operasi pemroses.

Kebanyakan tidak terlihat oleh pemakai. Sebagiannya dapat diakses dengan instruksi mesin

yang dieksekusi dalam mode kontrol atau kernel sistem operasi.

Register untuk kendali status antara lain:

- register untuk alamat dan buffer (address and buffer register)

- register untuk eksekusi intruksi (instruction execution register)

- register untuk informasi status (status information register)

Sebuah register adalah sebuah tempat penampungan sementara untuk data - data yang akan

diolah oleh prosesor, dan dibentuk oleh 16 titik elektronis di dalam chip mikroprosessor itu

sendiri. Dengan adanya tempat-tempat penampungan data sementara ini, proses pengolahan

akan bisa dilakukan secara jauh lebih cepat dibandingkan apabila data-data tersebut harus

diambil langsung dari lokasi-lokasi memori. Register-registe tersebut sebagai register internal

dan terdiri dari empat belas register dan keseluruhannya dapat dibagi dalam beberapa jenis,

yaitu:

1. Register segment

Terdiri dari 4 register, yaitu code segment, data segment, stack segment, dan extra segment.

Segment adalah bagian dari ruang memori yang berkapasitas 64 kilobyte (65536 byte) dan

digunakan secara spesifik untuk menempatkan jenis-jenis data tertentu. Misalnya code

segment digunakan oleh program dan instruksi-instruksi (code), data segment dialokasikan

untuk data- data, stack segment dipakai untuk menyediakan ruang untuk stack, yang

berfungsi untuk penyimpanan data dan alamat sementara pada saat program utama sedang

mengerjakan program percabangan (subroutine), prosedur, dan sebagainya) dan extra

segment sebagaimana halnya data segment juga dipergunakan sebagai penempatan data-data.

- Register data

Register ada adalah register yang mengandung informasi yang akan, sedang atau telah

diolah oleh komputer. Pada 8088 register ini diwujudkan oleh AX, BX, CX dan BX

(sebagai general purpose register), sehubungan dengan fungsinya yang selain

Page 5: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

menangani tugas-tugas khusus, juga bisa dimanfaatkan untuk membantu proses-

proses pengolahand data didalam internal mikroprosessor.

- Register pointer & Register index

Register jenis pointer dan register index merupakan register-register yang memuat

alamat offset dari segment-segment tertentu, yang terdiri dari stack pointer (SP) dan

base pointer (BP) yang digunakan sebagai pemegang nilai offset dari stack segment,

sedangkan source index (SI) dan destination index (DI) berisi nilai offset dari data

segment.Instruction pointer (IP) merupakan pemegang nilai offset dari code segment

dan fungsinya mirip dengan program counter (PC) pada prosesor-prosesor 8 bit.

Hanya bedanya, program counter langsung mengalamati instruksi-instruksi yang ada

dimemori dengan nilainya sendiri, IP harus bekerja sama dengan register CS untuk

dapat membentuk pengalamatan 20 bit dalam format segment:offset.

- Register status

Register ini mempunyai struktur yang berbeda dengan register-register lainnya, yang

dibentuk dari sebuah register 16 bit, yang masing-masing bitnya memberikan

informasi tertentu tentang keadaan -keadaan yang terjadi pada prosesor, sebagai

akibat proses pengolahan data. Informasi yang diwakili oleh sebuah bit pada register

status disebut 'flag'. Hanya 9 dari keseluruhan 16 bit yang dipakai oleh register status

sebagai tanda kondisi-kondisi prosesor.

2.2 GENERAL PURPOSE REGISTER

General Purpose adalah register-register serbaguna, sering dimanfaatkan untuk

keperluan keperluan lain yang bukan merupakan fungsi khasnya dan untuk menampung

secara sementara data-data yang akan diolah, sebelum diambil dan diproses oleh ALU

(Arithmetic and Logical Unit), walaupun demikian ada juga instruksi-instruksi tertentu yang

mengharuskan

penggunaan register-register secara spesifik (sesuai fungsi sebenarnya), yang mempunyai 16

bit, dan dapat digunakan penuh 16 bit (1 word = 1 kata) atau 8 bit (1 byte = 1 karakter) saja.

Jenis-jenis general purpose register dapat dijelaskan sebagai berikut :

1. AX (16 bit), terdiri dari AH (high byte/8 bit), AL (low byte/8 bit)

Page 6: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

Secara khusus sebagai Accumulator dan register serbaguna yang berfungsi sebagai

masukan, atau menampung hasil proses / perhitungan (add, sub, mul, dan div) dan

sering untuk menyimpan data sementara. Banyak instruksi yang dioptimasikan unjuk

kerjanya jika beroperasi pada register accumulator. Pengoperasian data yang disimpan

di accumulator sedikit lebih cepat dibanding bila data disimpan di register lain. Pada

operasi pembagian, jika bilangan pembagi besarnya 16 bit, bilangan yang dibagi

ditampung di pasangan register DX:AX. Setelah pembagian hasil ditampung di AX

sedang sisa hasil bagi di DX. Bila bilangan pembagi besarnya 8 bit, bilangan yang

dibagi ditempatkan di AX. Setelah pembagian, hasil bagi ditempatkan di AL sedang

sisa hasil bagi di AH.Pada operasi perkalian, accumulator menampung bilangan yang

akan dikalikan. Hasil perkalian ditempatkan di register AX. Pada operasi I/O ke dan

dari port, accumulator menampung data yang akan ditransfer.

2. BX (16 bit), terdiri dari BH (high byte.bit), AL (low byte/8 bit)

Secara spesifik sebagai Base juga dan register serbaguna yang merupakan salah satu

dari dua register base Addressing mode (penunjuk basis alamat),yang dapat

mengambil atau menulis langsung dari/ke memory dengan segment DS (Data

Segment) serta dapat dipakai sebagai pointer pada suatu basis data.

3. CX (16 bit), terdiri dari CH (high byte.bit), CL (low byte/8 bit)

Secara spesifik sebagai Counter untuk meletakkan jumlah lompatan pada LOOP yang

dilakukan, misal sebagai penunjuk berapa banyak perhitungan dilakukan. Berfungsi

untuk menampung cacah perulangan suatu operasi (loop, string, shift, dan rotate).

Register ini dapat dipakai sebagai penyimpan data sementara.

4. DX (16 bit), terdiri dari DH (high byte.bit), DL (low byte/8 bit)

Secara spesifik sebagai Data juga sebagai register serbaguna yang digunakan sebagai

penampung data tertentu (karakter, pointer, penentuan disk).

4 tugas pokok register DX :

- Mmbantu AX dalam proses perkalian dan pembagian, terutama perkalian dan

pembagian 16 bit.

- DX merupakan register offset dari DS

- Menunjukkan nomor port pada operasi port

Page 7: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

- Dipakai sebagai penampung sementara data. Dipakai berpasangan dengan register

AX, operasi perkalian dan pembagian 16 bit. Pada operasi I/O ke dan dari port, DX

menampung port yang akan diakses.

AX / BX / CX / DX

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

----------------------------------- ---------------------------------------

AH / BH / CH / DH AL / BL / CL / DL

Dari fungsi-fungsi register AX, BX, CX, DX dapat digolongkan sebagai register 'Data' karena

kegunaan dan pemanfaatannya yang cenderung ke penampungan data, selain memiliki fungsi

spesifik tetapi dapat saling tergantung.

2.3 SEGMENT REGISTER

1. ES (Extra Segment)

Tidak mempunyai tugas, tetapi berguna untuk pemograman pada saat melakukan

operasi ke segment lain. Nilai yang dikandung oleh register ini merupakan address

yang berguna bagi instruksi-instruksi string. Address dari sebuah segmen tambahan

juga dapat disimpan di register ES ini. Processor 80386 selain ES, masih memiliki 2

register extra segment, yaitu FS dan GS.

2. CS (Code Segment)

Yang menunjuk ke segment adalah register segment, maka CS merupakan .salah satu

dari empat register segment. Tugasnya adalah menunjukkan segment program berada.

Sedangkan pasangan register ini adalah register IP.Menampung nilai yang

merupakan address awal dari suatu segmen. Segmen ini berisi instruksi-instruksi dan

operand-operand yang dispesifikasikan oleh program.

3. DS (Data Segment

Nilai yang ditampung oleh register ini merupakan address dari segmen yang

normalnya berisi data-data yang dialokasikan oleh program

4. SS (Stack Segment)

Page 8: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

Address yang berada di register ini berguna bagi instruksi-instruksi yang menyimpan

sementara data distack. Stack merupakan sebuah area memory yang dicadangkan

untuk penyimpanan data secara sementara.DS dan SS adalah dua register segment

yang masing-masing mempunyai tugas menunjukkan segment dari segment data dan

segment stack Pasangan dari DS adalah DX dan pasangan dari SS adalah SP.

2.4 POINTER REGISTER

Pointer register secara khusus berfungsi untuk menyimpan nilai offset dari relative address.

Register ini terdiri dari :

1. IP (Instruction Pointer)

Merupakan pasangan CS yang merupakan register terpenting untuk menunjukkan

baris perintah program. Saat pertama program dijalankan, register ini akan langsung

menunjuk pada awal program dan selalu berisi address dari instruksi yang akan segera

dieksekusi. Programmer tidak dapat langsung mengakses atau mengubah nilai register

IP. Pengubahan hanya bisa dilangsungkan melalui instruksi-instruksi call, jump, loop

dan interrupt yang secara otomatis akan mengubah nilai yang ada pada register IP.

Kombinasi CS dan IP menunjukkan alamat Segment : Offset.

2. SP (Stack Pointer)

Merupakan pasangan CS, maka SP merupakan pasangan SS yang digunakan untuk

operasi stack. Berisi data yang merupakan address lokasi saat kini dalam stack.

Register ini teknisnya merupakan register multi fungsi yang dapat dipakai sebagai

tempat penyimpanan data maupun tempat kalkulasi, meski sehari-hari harus dipakai

hanya dalam operasi stack.

3. BP (Base Pointer)

Untuk menulis dan membaca ke atau dari memory secara langsung dengan segment

SS (Stack Segment) dan digunakan dalam komunikasi antara bahasa komputer,

seperti Pascal dengan Assembler atau bahasa C dengan bahasa Assembler Meski

dipakai sebagai tempat penampung data sementara sering dipakai pointer basis

kerangka stack.

Page 9: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

2.5 INDEX REGISTER

Register yang dipakai untuk melakukan operasi string dan sering digunakan untuk menulis

dan membaca ke atau dari memory seperti halnya BX dan BP (Base Pointer), yang terdiri dari

register :

1. SI (Source Index)

Dipakai sebagai pointer atau tempat penyimpan data. Registerini sering dipakai

sebagai pointer untuk menunjuk sebuah item (indexing) dalam satu kesatuan data.

Pada operasi string, SI dipakai untuk menunjuk ke byte atau word dalam sebuah

source string.

2. DI (Destination Index)

Dipakai sebagai pointer atau tempat penyimpanan data. Sering dipakai sebagai pointer

untuk menunjuk sebuah item (indexing) dalam satu kesatuan data.Pada operasi string,

DI dipakai untuk menunjuk ke byte atau word dalam sebuah destination

string.Merupakan suatu komposisi register 16 bit, dimana komposisi bitnya mengecek

apakah sesuatu berfungsi atau tidak. Adalah register 16 bit yang bit-bitnya mengontrol

berbagai instruksi dan merefleksikan status processor pada saat itu. Untuk real mode

aktualnya ada 9 flag, untuk 80286 protected mode ada 11 flag, dan untuk 80386 ada

13 flag.Contohnya, Interrupt Flag mengecek apakah pada saat operasi Interrupt

sedang aktif atau tidak, bila tidak aktif Interrupt tidak akan dijalankan.Carry Flag

mengecek apakah pada saat operasi terjadi kesalahan atau tidak, Sign Flag

menunjukkan apakah suatu bilangan bertanda atau tidak dan sebagainya.

Komposisi 16 bit (flag bits)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

OF DF IF TF SF ZF AF PF CF

Page 10: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

Tabel Register Status (Flag)

Nama Flag Fungsi Reset (0) Arti Set (1) Arti

CF

PF

AF

ZF

SF

OF

IF

DF

Carry Flag

Parity Flag

Auxiliary Carry flag

Zero Flag

Sign Flag

Overflow Flag

Interrupt Flag

Direction Flag

NC

PO

NA

NZ

PL

NV

DI

UP

No Carry

Parity Odd

No Aux Carry

Non Zero

Plus

No Overflow

Disable Interupt

Upward

CV

PE

AC

ZR

NG

OV

EI

DN

Carry

Parity Even

Aux Carry

Zero

Negative

Overflow

Enable Interupt

Downward

- Carry Flag (CF) akan 'set' (menjadi logika '1', tinggi), apabila terjadi bawaan' (carry)

atau pinjaman' (borrow) dalam suatu hasil proses perhitungan (arithmetic) pada Most

Significant Bit (MSB, bit paling berbobot). Jika hal-hal itu tidak terjadi maka CF

akan 'reset' (logika '0', rendah). Kalau dalam suatu instruksi, terjadi hasil yang

menunjukkan bahwa sistem pengecekan paritas adalah 'paritas genap' (even parity),

maka PF akan 'set'. Bila yang terjadi 'paritas ganjil' (odd parity), PF akan 'reset'.

- Auxiliary Carry Flag dipakai untuk menunjukkan hasil perhitungan pada byte rendah

dari suatu bilangan binary 16 bit. Jika terjadi 'bawaan' atau pinjaman' dari nibble

bawah (low nibble) ke nibble atas (high nibble), AF akan 'set', sebaliknya AF akan di

'reset'. Zero Flag akan 'set' kalau dalam suatu proses perhitungan di hasilkan nilai nol.

Bila hasilnya bukan nol, ZF akan 'reset'.

- SF atau 'Sign Flag' adalah bit yang akan mendeteksi suatu bilangan sebagai bilangan

positif atau bilangan negatif. Hal ini dilakukan dengan melihat MSB dari bilangan

tersebut. Apabila MSB menunjukkan nilai '1' (set), maka bilangan itu adalah negatif,

jika '0' (reset), bilangan positif.

Page 11: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

- OF adalah 'Overflow Flag', berguna untuk menunjukkan bahwa telah terjadi overflow'

yaitu jumlah bit sebagai hasil suatu proses perhitungan telah melampaui batas yang

diperkenankan. Mikroprosesor 8088 mempunyai kemampuan untuk bekerja dalam

mode 'langkah tunggal' (single-step), yaitu semua instruksi dilaksanakan dengan cara

satu demi satu. Mode ini dimungkinkan dengan jalan membuat TF (Trap Flag) masuk

ke logika '1' atau 'set'. Bagi seorang programmer, mode ini akan sangat berguna dalam

pekerjaan 'debugging'.

- Interrupt Flag (IF) untuk mendeteksi adanya permintaan interupsi dari peralatan-

peralatan luar. Bila flag ini ada dalam keadaan set, maka pendeteksian interupsi oleh

8088 akan aktif, akan tetapi jika IF dalam keadaan reset, semua permintaan interupsi

yang "maskable" (tidak mutlak) akan diacuhkan.

- DF adalah 'Direction Flag', berguna menentukan arah dari operasi-operasi string'

(untaian string), yaitu bila DF di 'set', maka operasi string akan mengurutkan alamat

dari atas ke bawah, akan tetapi, bila flag ini di-'reset', pengalamatan diurutkan dari

alamat rendah ke alamat tinggi.

Control Unit3.1 PENGERTIAN CONTROL UNIT

Control Unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan

arahan / kendali / kontrol terhadap operasi yangdilakukan di bagian ALU (Arithmetic Logical

Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya

dari perangkat CPU tersebut. Pada awal – awal desain komputer, CU diimplementasikan

sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai

sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store).

Pada hardwire implementation control unit sebagai combinational circuit yang dibuat

berdasarkan control signal yang akan dikeluarkan. Jadi untuk setiap control signal memiliki

rangkaian logika tertentu pada control unit yang dapat menghasilkan control signal yang

dimaksud. Secara umum untuk metode ini digunakan PLA (programmable logic array) untuk

merepresentasikan control signal.

Page 12: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit

mengatur processor agar melakukan semua micro-operation dalam urutan yang benar. Kedua,

control unit menghasilkan control signal yang memastikan supaya semua micro-operation

dieksekusi.

Control signal tersebut secara umum menyebabkan salah satu dari hal berikut:

pembukaan atau penutupan dari gerbang-gerbang logika, transfer data antara register-register,

dan pengoperasian ALU.

3.2 Masukan – masukan unit control:

1.    Clock / pewaktu

       pewaktu adalah cara unit control dalam menjaga waktunya. Unit control   menyebabkan

sebuah operasi mikro ( atau sejumslah operasi mikro yang bersamaan) dibentuk bagi setiap

pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.

Aturan untuk pengelompokan siklus waktu (Rules for Clock Cycle Grouping)

Urutan yang baik harus mengikuti aturan berikut (Proper sequence must be followed) :

o MAR :

(PC) harus diikuti dengan MBR

(memory)

Harus menghindari terjadinya konflik (Conflicts must be avoided)

o Tidak boleh melakukan pembacaan dan penulisan terhadap register yang sama dan pada

waktu yg bersamaan (Must not read & write same register at same time)

o Aktifitas MBR

(memory) & aktifitas IR

(MBR) tidak boleh dilakukan pada siklus yang bersamaan

PC harus ditambahkan 1: PC       (PC) +1

o Menggunakan ALU

o Mungkin diperlukan additional micro-operations

2.    Register instruksi

       opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan

dilakukan selama siklus eksekusi.

3.    Flag

flag ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil     operasi

ALU sebelumnya.

Page 13: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

4.    Sinyal control untuk mengontrol bus

Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyal-sinyal

interupsi dan acknowledgement.

3.3 Keluaran-keluaran unit control

1.         Sinyal control didalam prosesor: terdiri dari dua macam: sinyal-sinyal yang menyebabkan

data dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal yang dapat

mengaktifasi fungsi-fungsi ALU tertentu

2.         Sinyal control bagi bus control; sinyal ini juga terdiri dari dua macam:

-         Sinyal control bagi memori.

-         Sinyal control bagi modu-modul I/O

3.4 Tugas dari CU adalah sebagai berikut:

1.   Mengatur dan mengendalikan alat-alat input dan output.

2.   Mengambil instruksi-instruksi dari memori utama.

3.   Mengambil data dari memori utama kalau diperlukan oleh proses.

4.   Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta

mengawasi kerja.

5.   Menyimpan hasil proses ke memori utama.

3.5 Jenis-Jenis Control Unit

1.         Single-Cycle CU

Proses di Single-Cycle CU ini hanya terjadi dalam satu clock cycle, artinya setiap

instruksi ada pada satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi

boolean masing-masing control line hanya merupakan fungsi dari opcode saja. Clock

cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada

unit kontrol ini, yaitu proses men-decode opcode untuk mengelompokkannya menjadi 4

macam instruksi (yaitu di gerbang AND), dan pemberian sinyal kontrol berdasarkan jenis

instruksinya (yaitu gerbang OR).

Keempat jenis instruksi adalah “R-format” (berhubungan dengan register), “lw”

(membaca memori), “sw” (menulis ke memori), dan “beq” (branching). Sinyal kontrol yang

dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori ”R-format”

atau ”lw” maka akan sinyal ”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw” atau

“sw” maka akan diberi sinyal kontrol ke ALU, yaitu “ALUSrc”.

Page 14: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

Desain single-cycle ini lebih dapat bekerja dengan baik dan benar tetapi cycle ini tidak

efisien.

2.         Multi-Cycle CU

Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih

memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari

masing – masing output control line dapat ditentukan masing – masingnya akan menjadi

fungsi dari 10 buah input logic.

Jadi akan terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana.

Pada cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-bit instruksinya.

Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU.

3.6 TEKNIK UNTUK MENGIMPLEMENTASIKAN CONTROL UNIT

1. Control Unit Microprogrammed

Untuk menggenerasi signal kontrol dengan cara membaca dan mengeluarkan atau

mengalirkan mikroinstruksi.

Terbagi 2 yaitu :

-          Control Vertikal

Jenis implementasi dimana signal kontrol di kode ke dalam pada bit , kemudian digunakan

setelah dikode.

-             Control Horizontal

  Control dimana setiap bit kontrol mengatur 1 operasi gate atau  mesin.

2. Control Unit Konvensional /Hard-Wired

  Untuk menggenerasi signal kontrol.

  Digunakan pada komputer berkinerja tinggi (super komputer) dan RISC

  Komputer Mainframe sering menggunakannya untuk aritmetik, logika  dan shift sederhana

dan instruksi akses memori.

  CU Konvensional menghasilkan suatu rangkaian mirointruksi.

  Perbedaannya dengan CU Microprogrammed terletak pada gerbang logikanya menggenerasi

semua mikroorder sehingga eksekusinya lebih cepat.

3.7 CARA KERJA CONTROL UNIT

Ketika sebuah komputer pertama kali diaktifkan power-nya, maka computer tersebut

menjalankan operasi bootstrap. Operasi ini akan membaca sebuah instruksi dari suatu lokasi

memory yang telah diketahui sebelumnya dan mentransfer instruksi tersebut ke control unit

Page 15: Arithmetic Logic Unit

February 24, 2013 [ KOMPUTER]

untuk dieksekusi. Instruksi-intruksi dibaca dari memory dan dieksekusi sesuai dengan urutan

penyimpanannya.

Program counter dari suatu computer menyediakan suatu cara untuk menyimpan

lokasi instruksi berikutnya. Urutan eksekusi berubah dengan memindah lokasi intruksi baru

ke program counter sebelum pembacaan (fetch) instruksi dikerjakan. Sebuah intruksi

merupakan kalimat imperatif pendek yang sudah dapat menjelaskan makna dari perintah

tersebut. Suatu intruksi terdiri dari :

1.   subjek (komputernya)

2.   verb (suatu kode operasi yang mengindikasikan pekerjaan apa yang akan   dilaksanakan)

3.   objek (operands) yang mengidentifikasikan nilai data atau lokasi memory.

Ketika intruksi-intruksi diterima oleh Control Unit, operation code akan mengaktifkan

urutan logic untuk mengeksekusi intruksi-intruksi tersebut. Satu eksekusi program terdiri dari

beberapa instruction cycle yang menjadi komponen penyusun dari program tersebut.

Sedangkan untuk setiap instruction cycle terdiri dari beberapa sub cycle lagi seperti ftech

cycle, indirect cycle, execute cucle,  dan interrupt cycle. Setiap sub cycle ini disusun dari

beberapa perintah dasar yang disebut micro operation.