Anda di halaman 1dari 33

KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa karena telah
melimpahkan rahmat-Nya berupa kesempatan dan pengetahuan sehingga kami
dapat menyelesaikan tugas e-book Organisasi dan Sistem komputer yang berjudul
"Central Processor Unit (CPU)".

E-book ini diajukan untuk memenuhi salah satu tugas mata kuliah Organisasi
dan Sistem computer semester IIl dengan dosen pengampu Ragel Trisudarmo.
Tidak lupa kami sampaikan terima kasih kepada dosen pengampu mata kuliah
Organisasi dan Sistem komputer yang telah memberikan arahan dan bimbingan
dalam pembuatan e-book ini dan orang tua yang selalu mendukung kelancaran
tugas kami.

Akhirnya, penulis sampaikan terima kasih atas perhatiannya terhadap e-book


ini, dan kami berharap semoga e-book ini bermanfaat bagi kami khususnya.
Dengan segala kerendahan hati, saran dan kritik yang konstruktif sangat penulis
harapkan dari pembaca guna meningkatkan pembuatan e-book pada tugas yang
lain pada waktu mendatang.

Kuningan, November 2023

Tim penyusun
DAFTAR ISI

BAB I...................................................................................................................................................... 1
PENDAHULUAN .................................................................................................................................. 1
1.1 Latar Belakang ...................................................................................................................... 1
1.2 Rumusan Masalah ............................................................................................................... 1
1.3 Manfaat .................................................................................................................................. 2
BAB II .................................................................................................................................................... 3
PEMBAHASAN .................................................................................................................................... 3
2.1 Komponen CPU .................................................................................................................... 3
2.2 Fungsi CPU ........................................................................................................................... 5
2.3 Datapath .............................................................................................................................. 10
A. Berikut ini contoh datapath untuk beberapa instruksi :................................................. 12
2.4 Register................................................................................................................................ 17
1 User visible-Register .......................................................................................................... 17
2 Control & Status Register ................................................................................................. 18
2.5 Control Unit ......................................................................................................................... 20
A. Masukan – masukan Unit Control: .................................................................................. 20
B. Keluaran-keluaran unit control ......................................................................................... 21
C. Tugas dari CU adalah sebagai berikut:....................................................................... 21
D. Jenis-Jenis Control Unit ................................................................................................ 22
E. Teknik Untuk Mengimplementasikan Control Unit ........................................................ 23
F. Cara Kerja Control Unit ..................................................................................................... 23
G. Control Unit Operation ................................................................................................... 24
2.6 Siklus Intruksi ...................................................................................................................... 24
BAB III ................................................................................................................................................. 29
PENUTUP ........................................................................................................................................... 29
3.1 Kesimpulan .......................................................................................................................... 29
REFERENSI ........................................................................................................................................ 30
1

BAB I
PENDAHULUAN

1.1 Latar Belakang


Sebuah CPU (Central Processing Unit) atau seringkali disederhanakan secara
bahasa menjadi prosesor, merupakan komponen digital dari komputer yang
menterjemahkan instruksi dari program komputer dan bertugas memproses data.
CPU memperlengkapi komputer digital sehingga mereka dapat diprogram, dan
CPU (bersamaan dengan media penyimpanan utama dan fasilitas input/output)
merupakan komponen penting disemua masa perkembangan komputer. Sebuah
CPU yang dibangun sebagai satu komponen terintergrasi dikenal dengan
mikroprosessor (microprocessor).

Pada awal pertengahan tahun 1970an, secara bertahap mikroprosesor lama


tergantikan oleh rancangan mikroprosesor yang lebih kompleks dan
berkemampuan hitung lebih tinggi, dan sekarang istilah "CPU" biasanya ditujukan
kepada beberapa tipe mikroprosesor. Istilah "central processing unit" sebenarnya
merupakan gambaran dari kelas logic tertentu dari mesin yang mengeksekusi
program komputer. Definisi yang luas ini telah diterapkan pada banyak komputer
jauh sebelum istilah "CPU" menjadi terkenal seperti sekarang. Bagaimanapun
juga, istilah tersebut telah dipergunakan pada industri per-komputer-an
setidaknya sejak awal tahun 1960an (weik 1961). Bentuk, rancangan dan
implementasi dari CPU telah berubah secara dramatis sejak awal peluncurannya,
tetapi operasi dasarnya masih tetap sama.

1.2 Rumusan Masalah


1. Apa saja komponen yang ada pada CPU?
2. Apa fungsi CPU?
3. Apa itu datapath?
4. Apa itu register?
5. Apa itu control unit?
6. Apa itu siklus intruksi?
2

1.3 Manfaat
1. Mengetahui apa saja komponen yang ada pada CPU.
2. Mengetahui fungsi CPU.
3. Mengetahui apa itu datapath pada CPU.
4. Mengetahui apa itu register pada CPU.
5. Mengetahuii apa itu control unit pada CPU.
6. Mengetahui siklus intruksi.
3

BAB II
PEMBAHASAN
2.1 Komponen CPU
A. Arithmetic and logic unit (ALU)
Bertugas membentuk fungsi pengolahan data computer. Disebut language
machine kaerena bagian ini mengerjakan instruksi-instruksi Bahasa mesin
yang diberikan kepadanya. ALU terdiri dari 2 bagian yaitu : unit arithmatika
dan unit logika Boolean, yang masing masing memiliki spesifikasi tugas
tersendiri.
B. Control Unit
yang mampu mengatur jalannya program. Komponen ini sudah pasti
terdapat dalam semua CPU.CPU bertugas mengontrol komputer sehingga
terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi
operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil
intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut.
Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika,
maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari
pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk
disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian
tugas dari unit kendali ini adalah:

- Mengatur dan mengendalikan alat-alat input dan output.

- Mengambil instruksi-instruksi dari memori utama

- Mengambil data dari memori utama (jika diperlukan) untuk diproses.

- Mengirim instruksi ke ALU bila ada perhitungan


aritmatika atauperbandingan logika serta mengawasi
kerja dari ALU.

- Menyimpan hasil proses ke memori utama.


4

Gambar 1 control unit


C. Register
Merupakan alat penyimpanan kecil yang mempunyai kecepatan akses
cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang
sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk
menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya.
Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila
kita melakukan pengolahan data secara manual, sehingga otak dapat
diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang
mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan
perhitungan dan perbandingan logika.
D. CPU interconnections
Sistem koneksi dan bus yang menghubungkan komponen internal dan bus
bus eksternal CPU.

Gambar 1 komponen internal CPU


5

Gambar 2 Struktur detail internal CPU


2.2 Fungsi CPU
Fungsi CPU adalah menjalankan program-program yang disimpan dalam
memori utama dengan cara mengambil instruksi- instruksi, menguji instruksi
tersebut dan mengeksekusinya satu persatu sesuai alur perintah. Untuk
memahami fungsi CPU dan caranya berinteraksi dengan komponen lain, perlu
kita tinjau lebih jauh proses eksekusi program. Pandangan paling sederhana
proses eksekusi program adalah dengan mengambil pengolahan instruksi yang
terdiri dari dua langkah, yaitu: operasi pembacaan instruksi (fetch) dan operasi
pelaksanaan instruksi (execute).

Gambar 1 Siklus intruksi dasar


6

A. Siklus Fetch - Eksekusi


Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari
memori. Terdapat register dalam CPU yang berfungsi mengawasi dan
menghitung instruksi selanjutnya, yang disebut Program Counter (PC). PC
akan menambah satu hitungannya setiap kali CPU membaca instruksi.
Instruksi-instruksi yang dibaca akan dibuat dalam register instruksi
(IR).Instruksi-instruksi ini dalam bentuk kode-kode binner yang dapat
diinterpretasikan oleh CPU kemudian dilakukan aksi yang diperlukan. Aksi-
aksi ini dikelompokkan menjadi empat kategori, yaitu :
- CPU - Memori, perpindahan data dari CPU ke memori dan sebaliknya
- CPU - I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya.
- Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan
logika terhadap data.
- Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja.
Misalnya instruksi pengubahan urusan eksekusi. Perlu diketahui bahwa
siklus eksekusi untuk suatu instruksi dapat melibatkan lebih dari sebuah
referensi ke memori. Disamping itu juga, suatu instruksi dapat menentukan
suatu operasi I/O.
1. Instruction Address Calculation (IAC), yaitu mengkalkulasi atau
menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya
melibatkan penambahan bilangan tetap kealamat instruksi sebelumnya.
Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki
panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
2. Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi
memorinya ke CPU.
3. Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk
menentukan jenis operasi yang akan dibentuk dan operand yang akan
digunakan.
4. Operand Address Calculation (OAC), yaitu menentukan alamat operand,
hal ini dilakukan apabila melibatkan referensi operand pada memori.
5. Operand Fetch (OF), adalah mengambil operand dari memori atau dari
modul I/O.
7

6. Data Operation (DO), Yaitu membentuk operasi yang diperintahkan dalam


intruksi.
7. Operand Store (OS), Menyimpan hasil eksekusi ke dalam memori.

Gambar 2 Diagram siklus intruksi

B. Fungsi Interrupt
Fungsi interupsi adalah mekanisme penghentian atau pengalihan
pengolahan instruksi dalam CPU kepada routine interupsi. Hampir semua
modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi
kerja CPU.
Tujuan interupsi secara umum untuk manajemen pengeksekusian routine
instruksi agar efektif dan efisien antar CPU dan modul-modul I/O maupun
memori. Setiap komponen komputer dapat menjalankan tugasnya secara
bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan
eksekusi masing-masing modul berbeda sehingga dengan adanya fungsi
interupsi ini dapat sebagai sinkronisasi kerja antar modul. Macam- macam
kelas sinyal interupsi:
- Program, yaitu interupsi yang dibangkitkan dengan beberapa
kondisi yang terjadi pada hasil eksekusi program. Contohnya:
arimatika over flow, pembagian nol, operasi ilegal.
- Timer, adalah interupsi yang dibangkitkan pewaktuan dalam
prosesor. Sinyal ini memungkinkan sistem operasi menjalankan
fungsi tertentu secara reguler.
- I/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan
pemberitahuan kondisi error dan penyelesaian suatu operasi.
8

- Hardware failure, adalah interupsi yang dibangkitkan oleh


kegagalan daya atau kesalahan paritas memori.
Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk
mengeksekusi instruksi- instruksi lain. Saat suatu modul telah selesai
menjalankan tugasnya dan siap menerima tugas berikutnya maka modul
ini akan mengirimkan permintaan interupsi ke prosesor. Kemudian
prosesor akan menghentikan eksekusi yang dijalankannya untuk
menghandel routine interupsi. Setelah program interupsi selesai maka
prosesor akan melanjutkan eksekusi programnya kembali. Saat sinyal
interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi
diterima/ditangguhkan dan interupsi ditolak.
Apabila interupsi ditangguhkan, prosesor akan melakukan hal-hal
dibawah ini:
- Prosesor menangguhkan eksekusi program yang dijalankan dan
menyimpan konteksnya. Tindakan ini adalah menyimpan alamat
instruksi berikutnya yang akan dieksekusi dan data lain yang
relevan.
- Prosesor menyetel program counter (PC) kealamat awal routine
- interrupthandler.

Gambar 3 Siklus eksekusi intruksi


Untuk sistem operasi yang kompleks sangat dimungkinkan adanya
interupsi ganda (multiple interrupt). Misalnya suatu komputer akan
9

menerima permintaan interupsi saat proses pencetakan dengan printer


selesai, disamping itu dimungkinkan dari saluran komunikasi akan
mengirimkan permintaan interupsi setiap kali data tiba. Dalam hal ini
prosesor harus menangani interupsi ganda.
Dapat diambil dua buah pendekatan untuk menangani interupsi
ganda ini. Pertama adalah menolak atau tidak mengizinkan interupsi lain
saat suatu interupsi ditangani prosesor. Kemudian setelah prosesor
selesai menangani suatu interupsi maka interupsi lain baru ditangani.
Pendekatan ini disebut pengolahan interupsi berurutan/ sekuensial.
Pendekatan ini cukup baik dan sederhana karena interupsi ditangani
dalam urutan yang cukup ketat. Kelemahan pendekatan ini adalah
metode ini tidak memperhitungkan prioritas interupsi.

Gambar 4 Transfer pengendalian interupsi


Pendekatan kedua adalah dengan mendefinisikan prioritas bagi
interupsi dan interrupt handler mengizinkan interupsi berprioritas lebih
tinggi ditangani terlebih dahulu. Pendekatan ini disebut pengolahan
interupsi bersarang.
10

Sebagai contoh untuk pendekatan bersarang, misalnya suatu sistem


memiliki tiga perangkat I/O: printer, disk, dan saluran komunikasi, masing-
masing prioritasnya 2, 4 dan 5. Pada awal sistem melakukan pencetakan
dengan printer, saat itu terdapat pengiriman data pada saluran
komunikasi sehingga modul komunikasi meminta interupsi. Proses
selanjutnya adalah pengalihan eksekusi interupsi modul komunikasi,
sedangkan interupsi printer ditangguhkan. Saat pengeksekusian modul
komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah
maka interupsi disk ditangguhkan. Setelah interupsi modul komunikasi
selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu
disk. Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer.
Selanjutnya dilanjutkan eksekusi program utama.

2.3 Datapath
Datapath adalah kumpulan unit fungsional, seperti aritmatika logic unit atau
pengganda yang melakukan operasi pengolahan data. Ini adalah bagian utama
dari banyak CPU bersama dengan unit control, yang sebagian besar mengatur
interaksi antara datapath dan data itu sendiri. Biasanya disimpan dalam register
atau memori utama. Baru-baru ini, telah berkembang penelitian di bidang
reconfigurable datapath yang dapat kembali bertujuan pada saat run –time
dengan menggunakan programmable fabric - agar desain tersebut dapat
memungkinkan proses yang lebih efisien serta penghematan energi yang besar.
Selain itu, banyak prosesor memiliki berbagai register tujuan khusus yang
sering transparan untuk perangkat lunak. Ini dapat digunakan sebagai media
penyimpanan sementara untuk prosesor, atau sebagai register spesifik - model
untuk konfigurasi prosesor . Ada juga 2 register yang melekat dalam prosesor
yang memfasilitasi komunikasi prosesor dengan memori, atau pada dasarnya
membantu dalam operasi memori register.
Prosesor mengeksekusi setiap instruksi dalam sederetan langkah-langkah
kecil. Langkah-langkah kecil itu adalah sebagai berikut:
- Mengambil instruksi yang akan dijalankan dari memori dan memasukkannya
ke dalam register instruksi
- Mengubah isi Program Counter menjadi alamat instruksi berikutnya
11

- Menentukan jenis instruksi yang baru saja diambil


- Jika instruksi menggunakan word di memory, maka alamat memori tersebut
dipastikan keberadaannya
- Mengambil word jika diperlukan, ke dalam register CPU
- Mengeksekusi instruksi
- Kembali ke langkah 1 untuk memulai instruksi berikutnya.
Langkah berurutan tersebut sering disebut sebagai siklus fetch-decode-
execute yang merupakan langkah operasi utama semua komputer. Datapath
untuk pengambilan (fetch) instruksi adalah sama untuk semua instruksi. Berikut ini
adalah gambar urutan pengambilan (fetch) instruksi.

Gambar 5 urutan pengambilan (fetch) instruksi


Berikut adalah gambar hubungan datapath yang terdiri atas PC, MAR, MDR,
dan IR, dan juga ditunjukkan titik-titik control dan urutan sinyal yang diperlukan.
Pada akhir fase pengambilan, isi PC dinaikkan (increment)oleh panjang bite
instruksi yang sedang diambil. Hal ini merupakan persiapan lebih awal untuk
pengambilan berikutnya.
12

Gambar 6 Datapath untuk pengambilan instruksi


A. Berikut ini contoh datapath untuk beberapa instruksi :
1. Datapath Untuk Instruksi Halt
Aksi yang dlakukan oleh instruksi halt adalah mengentikan siklus instrksi.
Hal ini digambarkan dengan RUN/HALT:=0. Hubungannya dengan datapath,
melibakan resetting flip-flop RUN/HALT. Gambar 3 akan menunjukkan
datapath tersebut.sinyal control CLEAR RH mengaktifkan titik control yang
masuk ke clock flip-flop D. Masukan flip-flop D secara permanen ditarik turun
(0). Karena itu tebing positif sinyal CLEAR RH, me- reset flip-flop.keluaran Q
dari flip-flop dirasakan oleh unit control sebelum pengambilan (fetch)
instruksi dimulai. Jika 0, pengambilan instruksi tidak dilakukan. Unit control
secara sederhana tetap menjaga flip-flop RUN/HLT menjadi set kembali. Hal
ini dilakukan dengan dua aksi berikut :
- Sinyal RESET menjadi aktif (HIGH)
- Sinyal CONTINUE menjadi aktif (HIGH)
13

Gambar 7 Datapath untuk instruksi HALT


Sinyal gerbang NOR membangkitkan sebuah sinal LOW ke masukann
preset flip-flop. Sinyal RESET dibangkitkan tepat ketika power-on dan pada
saat me-reset secara manual karena operator menekan tombol/saklar
RESET pada panel depan. Sinyal CONTINUE adalah sinyal khusus yang
tidak terdapat pada sebuah computer sederhana. Hanya terdapat pada
system khusus seperti system multi-prosesor.
2. Datapath Untuk Instruksi Noop
Tidak ada aksi apapun yang dilakukan oleh instruksi NOOP. Karena itu
tidak ada datapath untuk instruksi ini. Segera setelah instruksi ini dieksekusi,
fase eksekusi telah selesai.
3. Datapath Untuk Instruksi Jump
Instruksi JUMP bercabang kealamat instruksi seperti yang telah
ditentukan oleh instruksi JUMP. Hal ini digambarkan dengan PC:=BA
dimana BA adalah alamat cabang yang diberikan oleh instruksi. Alamat ini
umumnya dikalkulasi sesuai dengan mode pengalamatan dalam instruksi.
Anggap bahwa kalkulasi alamat telah lengkap dan BA tersedia dalam
14

register ALU R5, mikro-operasi yang dikehendaki adalah PC:=R5. Gambar 4


menunjukkan datapath untuk instruksi JUMP.

Gambar 8 Datapath untuk instruksi JUMP


4. Datapath Untuk Instruksi Load
Operasi yang dilakukan oleh instruksi LOAD yaitu menyalin isi suatu
lokasi memori kedalam suatu register, seperti yang ditetapkan dalam
instruksi. Hal ini digambarkan dalam <RA>:=<MA> dimana MA adalah
alamat memori dan RA adalah alamat register. Urutan operasi yang
diperlukan untuk mencapai ini adalah :
- Melaksanakan pembacaan memori dari alamat MA
- Menyimpan data dalam register RA
Pada akhir pengambilan instruksi, instruksi tersedia dalam IR. Anggap
bahwa bit 0-7 menyediakan opcode, bit 8-11 menyediakan RA dan bit 12-23
menyediakan MA.
15

Gambar 9 Datapath untuk instruksi LOAD


Berikut diberikan register transfer statement disertai dengan penjelasannya :
MAR:=IR(12-13) Memasukkan MA kedalam register alamat memori
MAR MR/W:=0 Me-reset read/write flag memori, menandakan pembacaan
SMMA:=1 Men-set awal main memori access flag
R5:=MDR Mentransfer isi MDR kedalam R5
LSDR:=R5 Mentransfer isi R5 kedalam local storage data register
LSAR:=IR(8-11) Mentransfer RA kedalam local storage address register
LSR/W:=1 Men-set local storage write/write flag, menandakan penulisan
SLSA:=1 Men-set awal local storage access flag Unit control akan menjamin
bahwa waktu tunda antara operasi 3 dan 4 lebih besar dari waktu akses
memori utama. Dengan cara yang sama, waktu tunda antara operasi 8 dan
operasi penyimpanan local (register file) berikutnya lebih besar dari waktu
akses penyimpanan local. Delapan register transfer statement tersebut
dapat langsung digunakan sebagai micro-operasi.
5. Datapath Untuk Instruksi Store
Operasi yang dilakukan oleh instruksi STORE adalah keblikan dari LOAD.
Isi dari suatu register disalin kedalam suatu lokasi memori utama. Hal ini
digambarkan dengan <MA>:=<RA>, urutan operasi yang diperlukan adalah :
- Membaca dari penyimpanan local isi register yang diberikan oleh RA
16

- Menulis pada lokasi memori utama MA


Pada akhir pengambilan instruksi, instruksi tersedia pada IR. Anggap
bahwa bit 0-7 menyediakan opcode, 8-11 menyediakan RA dan 12-23
menyediakan MA.

Gambar 10 Datapath untuk instruksi STORE


Register transfer statement beserta penjelasan :
LSAR:=IR(8-11) Mentransfer RA kedalam local storage address register
LSR/W:=0 Me-reset local storage read/write flag, menandakan pembacaan
SLSA:=1 Menset awal local storage access flag
R5:=LSDR Mentransfer isi LSDR kedalam R5
MDR:=R5 mentransfer isi R5 kedalam main memori data register
MAR:=IR(12-23) Memasukkan MA kedalam main memory data register
MR/W:=1 Men-set main memori read/write flag, menandakan penulisan
SMMA:=1 Menset awal main memori access flag
Unit control akan menjamin bahwa waktu delay antara operasi 3 dan 4
lebih besar dari waktu akses penyimpanan local (register file). Dengan cara
yang sama, waktu tunda antara operasi 8 dan operasi penyimpanan local
berikutnya lebih besar dari waktu akses memori utama. Delapan register
transfer statement dapat langsung digunakan sebagai mikro- operasi.
17

2.4 Register
Registers, adalah media penyimpan internal CPU yang digunakan saat
proses pengolahan data. Memori ini bersifat sementara, biasanya digunakan
untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.
Register merupakan memori dengan level hirarki paling tinggi berada di atas
memori utama dan cache oleh karena itu register lebih cepat, lebih kecil dan
akses data per bit. Register pada CPU memiliki 2 fungsi, yaitu:
1 User visible-Register
Register ini memungkinkan programmer bahasa mesin dan bahasa
assembler meminimalkan referensi main memory dengan cara
mengoptimasi penggunaan register. User visible-Register adalah register
yang dapat direferensikan dengan menggunakan bahasa mesin yang
dieksekusi CPU.
User visible-Register memiliki kategori:
a. General purpose
Bersifat terbatas dan biasanya digunakan untuk data atau
pengelamatan. General purpose register dapat digunakan untuk
berbagai fungsi oleh pemrogram sehingga bisa lebih flexible dan
membuat instruksi lebih cepat diprosses. General-purpose register dapat
dapat berisi operand sembarang opcode. Pada kasus-kasus tertentu,
general-purpose register dapat digunakan untuk fungsi-fungsi
pengalamatan (misalnya, register indirect, displacement). Pada kasus
lainnya, terdapat partial atau batasan yang jelas antara register data
dengan register alamat. General purpose memiliki kapasitas optimum
yaitu dengan ukuran antara 8 sampai 32 dan kapasitasnya dapat
menyimpan 1 alamat penuh atau 1 kata penuh.
b. Data
Register data hanya dapat dipakai untuk menampung data dan tidak
dapat digunakan untuk kalkulasi dan alamat operand.
c. Address
Register alamat menyerupai general purpose, atau register-register
tersebut dapat digunakan untuk mode pengalamatan tertentu.
18

d. Condition codes
Condition codes biasanya di-set per bit, condition codes merupakan
code dengan kondisinya sudah diperhitungkan pada instruksi program
(seperti jump if zero) namun kondisi tersebut tidak dapat diset oleh
program.
2 Control & Status Register
Register ini digunakan oleh unit kontrol untuk mengontrol operasi CPU
dan oleh program sistem operasi untuk mengontrol eksekusi program.
Register ini tidak visible untuk user namun visible terhadap instruksi mesin
yang dieksekusi pada mode kontrol atau sistem operasi.
Register yang penting bagi eksekusi instruksi adalah:
a. Program Counter (PC) atau Pencacah Program: berisi alamat instruksi
yang akan diambil,
b. Instruction Register (IR): berisi instruksi yang terakhir diambil,
c. Memori Address Register (MAR): berisi alamat sebuah lokasi di dalam
memori,
d. Memori Buffer Register (MBR): berisi sebuah word data yang akan
dituliskan ke dalam memori atau word yang terakhir dibaca.
Biasanya, CPU update PC setelah setiap instruksi fetch sehingga PC
selalu menunjuk ke instruksi berikutnya yang akan dieksekusi.Sebuah
branch atau skip instruction juga akan memodifikasi isi dari PC. Instruksi
yang diambil dimasukkan ke dalam IR, di mana opcode dan operan
specifier di analisis. Data dipertukarkan dengan memori dengan
menggunakan MAR dan MBR. Dalam sistem bus -organized, MAR
terhubung langsung ke address-bus,dan MBR terhubung langsung
kedata bus. User visible-Register,ketika digunakan maka terjadi
pertukaran data dengan MBR. Keempat register yang disebutkan
digunakan untuk pergerakan data antara CPU dan memori. Dalam CPU,
data harus disajikan ke ALU untuk diproses. ALU dapat memiliki akses
langsung ke MBR dan User visible-Register.Atau, mungkin ada register
penyangga tambahan di batas ke ALU: register ini berfungsi sebagai
input dan output register untuk semua dan pertukaran data dengan MBR
dan User visible-Register.
19

Semua desain CPU termasuk sebuah register atau set register sering
dikenal sebagai Program Status Word (PSW), yang berisi informasi
status. PSW biasanya berisi kode kondisi ditambah informasi lainnya.
Bidang umum atau flag meliputi:
1. Sign
Berisi bit tanda hasil operasi aritmetika terakhir, negatif atau positf
2. Zero
Diset bila hasil sama dengan nol
3. Carry
Diset apabila operasi yang dihasilkan di dalam carry (penambahan)
ke dalam bit yang lebih tinggi atau borrow (pengurangan pengurangan)
dari bit yang lebih tinggi. Digunakan untuk operasi aritmetika multiword
4. Equal
Diset apabila hasil logika perbandingan sama
5. Overflow
Identifikasikan overflow aritmatika
6. Interrupt Enable/Disable
Status ijin terhadap interupt
7. Supervisor
Mode previleged (ex. mode supervisor/user)
20

2.5 Control Unit


Control unit adalah salah satu bagian dari CPU yang bertugas untuk
memberikan arahan / kendali / kontrol terhadap operasi yang dilakukan 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.
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.
A. 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):
 (PC) harus diikuti dengan MBR (memory)
 Harus menghindari terjadinya konflik (Conflicts must be
avoided)
21

 Tidak boleh melakukan pembacaan dan penulisan


terhadap register yang sama dan pada waktu yg
bersamaan (Must not read & write same register at same
time)
2. Aktifitas MBR
 (memory) & aktifitas IR
 (MBR) tidak boleh dilakukan pada siklus yang bersamaan
 PC harus ditambahkan 1: PC (PC) +1
 Menggunakan ALU
 Mungkin diperlukan additional micro-operations
3. Register instruksi
Opcode instruksi saat itu digunakan untuk menentukan
operasi mikro mana yang akan dilakukan selama siklus
eksekusi.
4. Flag
Flag ini diperlukan oleh unit control untuk menentukan status
prosesor dan hasil operasi ALU sebelumnya.
5. Sinyal control untuk mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke
unit control, seperti sinyal-sinyal interupsi dan acknowledgement
B. Keluaran-keluaran unit control
1. Sinyal control didalam prosesor terdiri dari dua macam:
1) sinyal-sinyal yang menyebabkan data dipindahkan dari register
yang satu keregister yang lainnya,
2) dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU
tertentu
2. Sinyal control bagi bus control sinyal ini juga terdiri dari dua
macam:
1) Sinyal control bagi memori.
2) Sinyal control bagi modu-modul I/O

C. Tugas dari CU adalah sebagai berikut:


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

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
atauperbandingan logika serta mengawasi kerja.
5. Menyimpan hasil proses ke memori utama.

D. 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 dariopcode 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”. 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 – masingnyaakan menjadi
fungsi dari 10 buah input logic.
23

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

E. Teknik Untuk Mengimplementasikan Control Unit


1. Control Unit Microprogrammed
Untuk menggenerasi signal kontrol dengan cara membaca dan
mengeluarkan atau mengalirkan mikroinstruksi terbagi 3 yaitu :
1. Control Vertikal
Jenis implementasi dimana signal kontrol di kode ke dalam pada
bit ,kemudian digunakan setelah dikode.
2. Control Horizontal
Control dimana setiap bit kontrol mengatur 1 operasi gate atau
mesin.
3. 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 Konvensionan
menghasilkan suatu rangkaian mirointruksi. Perbedaannya
dengan CU Microprogrammed terletak pada gerbang logikanya
menggenerasi semua mikroorder sehingga eksekusinya lebih
cepat.

F. 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
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
24

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, executecucle, dan interrupt cycle. Setiap sub cycle
ini disusun dari beberapa perintah dasar yang disebut micro operation.

G. Control Unit Operation


 Instruction Cycle
Eksekusi suatu instruksi dalam sebuah komputer mencakup
pengeksekusian langkah- langkah kecil yang biasa disebut sebagai
instruction cycle, yang terdiri dari fetch cycle, execution cycle, indirect
cycle, dan interrupt cycle (bisa enabled/disabled).
Masing-masing cycle masih dapat diuraikan kembali menjadi
langkah – langkah yang lebih kecil lagi, yaitu micro-operation. Suatu
micro-operation biasanya berupa transfer antar register, transfer
antara register dan interface eksternal (seperti system bus), atau
suatu operasi ALU biasa ( aritmetik dan logika).

2.6 Siklus Intruksi


Siklus intruksi adalah proses dimana komputer akan mengambil
program instruksi dari perusahaan memori, menentukan tindakan apa
instruksi membutuhkan, dan melakukan tindakan tersebut. Siklus ini
25

diulang terus menerus oleh unit pengolah pusat (CPU), dari boot untuk saat
komputer dimatikan.
Sirkuit yang digunakan dalam CPU selama siklus adalah:
1. Program Counter (PC)
Counter incrementing yang melacak alamat memori dari instruksi yang
akan dieksekusi selanjutnya .
2. Memory Address Register (MAR)
Menyimpan alamat dari sebuah blok memori untuk dibaca dari atau
ditulis
3. Memori Data Register (MDR)
Register dua arah yang menyimpan data diambil dari memori (dan siap
untuk CPU untuk proses) atau data yang menunggu untuk disimpan
dalam memori
4. Instruksi mendaftar (IR)
tempat memegang sementara untuk instruksi yang baru saja diambil dari
memori
5. Control Unit (CU)
menerjemahkan instruksi program di IR, memilih sumber daya mesin
seperti daftar sumber data dan operasi aritmatika tertentu, dan
mengkoordinasikan aktivasi sumber daya
6. Aritmatika logika Unit (ALU)
melakukan operasi matematis dan logis
Siklus instruksi CPU Setiap komputer dapat memiliki siklus yang berbeda
berdasarkan set instruksi yang berbeda, tetapi akan mirip dengan siklus
berikut:
26

1. Fetch Cycle (Siklus mengambil)


- Register memanggil PC (program counter) yang memegang alamat
dari instruksi yang akan di fetch kan selanjutnya.
- Processor mengambil instruksi dari lokasi memory yang ditunjuk
oleh PC
- PC di increment-kan
- Instruksi dimasukan ke IR (instruction register)
- Processor menerjemaahkan instruksi dan melakukan aksi yang
diperlukan
2. Execute Cycle (Siklus Eksekusi)
Menafsirkan opcode dan melakukan operasi yang ditunjukkan.
3. Interrupts
Jika interupsi diaktifkan dan interupsi telah terjadi, simpan kondisi
proses saat ini dan layanan interupsi.
Penjelasan sedikit tentang siklus instruksi. Pertama, kita harus
memperkenalkan satu tahap tambahan, yang dikenal sebagai siklus tidak
langsung. Fungsi dasar yang dibentuk komputer adalah eksekusi program.
Program yang akan dieksekusi berisi sejumlah instruksi yang tersimpan di
dalam memori. CPU melakukan tugas ini dengan cara mengeksekusi suatu
program. Siklus instruksi dimulai dengan pengambilan instruksi di memori
utama oleh prosesor (gambar berikut). Program counter (PC menyimpan
alamat instruksi yang akan diambil tersebut.
Pada kebanyakan komputer, setelah instruksi tersebut diambil, nilai PC
akan berubah ke instruksi berikutnya yang akan diambil (biasanya
bertambah naik).
27

Untuk memproses suatu instruksi dilakukan melalui 2 tahapan :


1. Mengambil instruksi (instruction fetch) dari memori
Fetch instruksi adalah operasi umum bagi setiap instruksi, dan terdiri
dari pembacaan instruksi dari suatu lokasi di dalam memori.
2. Mengeksekusi instruksi tersebut (instruction execution).
Eksekusi instruksi dapat melibatkan sejumlah operasi dan
tergantung pada sifat-sifat instruksi.
Pengolahan yang diperlukan untuk instruksi tunggal disebut siklus
instruksi. Kedua langkah itu berkaitan dengan siklus fetch dan siklus
eksekusi. Eksekusi program akan terhenti apabila mesin dimatikan, terjadi
kesalahan, atau terdapat instruksi program yang menghentikan komputer.
Pada awal siklus instruksi, CPU membaca instruksi dari memori. Pada
CPU yang umum, suatu register yang disebut program counter (PC)
dipakai untuk mengawasi instruksi yang akan dibaca selanjutnya. Dengan
tidak ada perkecualian tertentu, CPU selalu menambahkan PC setiap kali
membaca instruksi, sehingga CPU akan membaca instruksi selanjutnya
secara berurutan yaitu instruksi yang terletak pada alamat yang lebih tinggi
berikutnya di dalam memori. Sebagai contoh andaikan suatu komputer
mengandung 16-bit word memory, dan PC pertama kali bernilai 300.
28

Prosesor akan mengambil instruksi di memori pada alamat 300, yang


kemudian dilanjutkan dengan 301, 302, 303, dan seterusnya.
Instruksi yang dibaca akan dimuatkan ke dalam sebuah register di
dalam CPU yang dikenal sebagai instruction register (IR). Instruksi
berbentuk kode biner yang menentukan apa yang perlu dilakukan oleh
CPU. CPU menginterprestasikan instruksi dan melakukan aksi yang
diperlukan.
29

BAB III
PENUTUP
3.1 Kesimpulan
CPU kepanjangannya adalah Central Processing Unit. CPU
bertanggung jawab untuk melakukan semua dari perhitungan matematika yang
diperlukan oleh komputer agar dapat berfungsi dengan baik. Dikarenakan
komputer tidak dapat berfungsi tanpa CPU (yang mungkin juga disebut sebagai
central processor atau hanya prosesor saja), tidak jarang terdengar orang
merujuk ke CPU sebagai "otak" dari sebuah komputer. Di dalam CPU
berlangsung berbagai macam proses yang berawal dari sebuah inputan dan
oleh CPU akan di Proses menjadi sebuah informasi yang kita inginkan.
30

REFERENSI

https://lms-paralel.esaunggul.ac.id/mod/resource/view.php?id=296194

https://eling.ub.ac.id/pluginfile.php/110768/mod_resource/content/2/BAB%2012.pdf

https://www.academia.edu/6551586/DATAPATH_PADA_INSTRUKSI_SEDERHANA

https://www.academia.edu/10355695/MATERI_SISTEM_KOMPUTER_SIKLUS_INT
RUKSI_

Anda mungkin juga menyukai