CPU, ALU, CU, Dan Register
a. Pengertian CPU
CPU merupakan singkatan
dari Central Prosessor Unit yang sering
diartikan oleh manusia sebagai tubuh maupun
dari otak sikomputer. Selain dapat mengolah
berbagai hitungan Aritmatika, CPU juga dapat
mengolah data-data yang telah masuk kedalam
komputer dan menyimpannya kedalam Hardisk maupun
alat penyimpanan lainnya melalui perintah prosessor
yang ada di CPU. CPU sendiri terbuat dari lempengan yang berbahan silicon
yang terdiri atas 10 juta transitor yang
biasa disebut “chip”. Perkembangan CPU dari
waktu ke waktu semakin meningkat. Awal
munculnya processor, yakni hadir dengan microprocessornya
yang di buat oleh INTEL, satu-satunya
produsen pada masa itu untuk pembuatan
processor. Namun, sekarang ini sudah banyak
perusahaan-perusahaan yang membuat processor.
Control Unit
Unit kontrol (bahasa Inggris: Control Unit
– CU) 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).
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
5. logika serta mengawasi kerja.
6. Menyimpan hasil proses ke memori utama.
Proses tiga langkah karakteristik unit control:
1. Menentukan elemen dasar prosesor
2. Menjelaskan operasi mikro yang akan dilakukan prosesor
3. Menentukan fungsi-fungsi yang harus dilakukan unit control agar
menyebabkan pembentukan operasi mikro
Masukan-masukan unit control:
1. Clock / pewaktu
Pewaktu adalah cara unit control dalam menjaga waktunya. Unit control
menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang bersamaan)
dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus
prosesor.
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.
4. Sinyal control untuk mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti
sinyalsinyal interupsi dan acknowledgement.
Keluaran-keluaran unit control:
• 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.
ALU (Aritmetic and Logic Unit)
ALU (Arithmetic and Logic Unit), CU (Control Unit), Register, dan
interkoneksinya. ALU merupakan bagian pengolah bilangan biner dari sebuah
prosesor. ALU bertugas melakukan operasi-operasi aritmatika
dan logika sesuai dengan instruksi yang
diberikan. ALU juga merupakan salah satu bagian yang terpenting.
Unit aritmetik logika (ALU) terdiri dari sirkuit elektronik yang
membuatnya mampu melaksanakan operasi aritmatika
dan logika. Ia mengeksekusi instruksi dan
melakukan perhitungan (tambah, kali, kurang,
dan bagi) dan perbandingan. ALU bekerja
dengan register yang berbeda untuk
menyimpan data atau informasi tentang tindakan
terakhir yang dilakukan oleh unit logika.
ALU mampu membandingkan huruf, angka, atau karakter khusus. Komponen dari
rangkaian logika pada ALU adalah gerbanggerbang logika
AND, OR, XOR, dan NOT yang
dihubungkan pada multiplexer. Selain itu juga
terdapat juga operasi shifter yang komponen
dasarnya adalah multiplexer. Komponen ALU mendapatkan masukan data dari
register dan sinyal kontrol dari CU. Untuk operasi ALU
dengan dua masukan, diperlukan dua register
8-bit: ACC (accumulator) untuk masukan pertama dan temp (register
sementara) untuk masukan kedua. Hasil dari operasi ALU
ini adalah data 8-bit yang kemudian
diteruskan ke register untuk menyimpan hasil operasi
ini. Selain itu juga dihasilkan flag
atau bit status. Flag ini akan diteruskan
ke register yang menyimpan flag hasil
dari operasi ALU. Untuk mempercepat pemrosesan
data di dalam prosesor, selain CU dan
ALU, prosesor juga membutuhkan memori dengan
kecepatan yang sama dengan prosesor. Memori
khusus yang diimplementasikan pada prosesor ini
disebut register. Komponen utama penyusun
register adalah flip-flop.
Bus
Suatu sistem digital pada umumnya memiliki banyak komponen register.
Interkoneksi antar komponen diperlukan untuk transfer
data dari satu komponen ke komponen
yang lainnya. Untuk efesiensi dalam transfer
data tersebut digunakan suatu sistem untuk
berbagi saluran yang disebut bus. Bus adalah sekelompok kawat penghubung
yang digunakan sebagai jalur untuk menyalurkan bit-bit
biner. Ada tiga jenis bus pada sistem
prosesor : bus data, bus alamat, dan bus kontrol.
1. Bus data digunakan untuk mentransfer
data antara CPU dengan elemen elemen
lain di dalam sistem. Bus data bersifat bidirectional, bisa menerima data
dan juga mengirimkan data. Juga terdapat internal data bus untuk transfer data
sesama elemen CPU, yang dihubungkan ke bus data sistem melalui Memory Buffer
Register (MBR). MBR merupakan buffer dua arah.
2. Bus alamat membawa alamat dari lokasi memori, untuk mengambil data agar
dapat dibaca
atau untuk menyimpan agar dapat ditulis. Bus alamat dapat juga mengalamati
elemen elemen lain di dalam sistem seperti unit antarmuka masukan/keluaran. Bus
alamat dapat membawa 16 bit informasi digital secara serempak.
3.Bus kontrol membawa semua isyarat kontrol dari CPU. Fungsi utama bus kontrol
adalah:
sinkronisasi memori dan I/O, penjadwalan CPU
(misalnya interupsi), dan tugas lain seperti reset dan clock. Sebelum
memasuki address bus sistem maupun control bus sistem, informasi terlebih
dahulu melewati Memory Address Register (MAR),
yang merupakan buffer satu arah.
CU
(Control Unit )
Control
Unit (CU) 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). Beberapa word
dari microprogram dipilih oleh microsequencer dan bit yang datang dari
word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari
perangkat tersebut, termasuk di antaranya adalah register, ALU, register
instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern,
setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU
sebagai pemantaunya (supervisor)
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.
Macam-macam CU : 1. Single-Cycle CU
Proses di CUl 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”.
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; bukan
instruksi cycle selanjutnya.
Control Unit (CU) 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). Beberapa word dari microprogram dipilih oleh
microsequencer dan bit yang datang dari word-word tersebut akan secara
langsung mengontrol bagian-bagian berbeda dari perangkat tersebut,
termasuk di antaranya adalah register, ALU, register instruksi, bus dan
peralatan input/output di luar chip. Pada komputer modern, setiap
subsistem ini telah memiliki kontrolernya masing-masing, dengan CU
sebagai pemantaunya (supervisor).
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.
Today Deal $50 Off :
https://goo.gl/efW8Ef
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 digunakan 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
Register
yang dibahas di sini adalah register-register yang terdapat pada
mikroporsesor keluarga Intel dari 80386-80486, yang mana terdiri dari :
general purpose register (register serbaguna), pointer register
(register pointer), index register (register indeks), segment register
(register segmen), dan flag register (register status).
Register-register tersebut semuanya menggunakan register 32-bit, kecuali
register segmen yang hanya memiliki lebar 16-bit. Selain sebagai
register 32-bit, register lain (selain register segmen) dapat digunakan
sebagai register 16-bit, dan khusus untuk register serbaguna dapat
digunakan untuk register 8-bit. Pada masa mikroprosesor 16-bit, semua
registernya adalah 16-bit, kecuali register serbaguna yang dapat
berfungsi sebagai register 16-bit dan 8-bit. Sedangkan pada masa
mikroprosesor 8-bit register-registernya adalah register 8-bit, kecuali
register status yang lebarnya 16-bit.
Berikut adalah penjelasan dari masing-masing register di atas.
- General Purpose Register (Scratch-Pad Register), terdiri dari:
- AX (AH + AL) - Accumulator Register
- BX (BH + BL) - Base Register
- CX (CH + CL) - Counter Register
- DX (DH + DL) - Data Register
- Segment Register
- CS - Code Segment Register
- DS - Data Segment Register
- SS - Stack Segment Register
- ES - Extra Segment Register
- Pointer Register
- IP - Instruction Pointer Register
- SP - Stack Pointer Register
- BP - Base Pointer Register
- Index Register
- SI - Source Index Register
- DI - Destination Index Register
- Flag Register
General Purpose Register terdiri
dari emapt register yang mempunyai kemampuan 16 bit dan dapat dibagi
menjadi Register Low dan High Bits yang masing-masing berkemampuan 8
bit.
Register AX
Register AX merupakan
register aritmatik, karena register ini selalu dipakai dalam operasi
penambahan, pengurangan, perkalian dan pembagian.
Setiap register general purpose mempunyai Register Low dan Register High,
maka untuk AX register low-nya adlaah AL dan register high-nya adalah
AH. Register AH merupakan tempat menaruh nilai service number untuk
beberapa Interrupt tertentu.
Register BX
Register BX adalah salah satu dari dua register base Addressing Mode yang dapat mengambil atau menulis langsung dari atau ke memori.
Register CX
Register CX merupakan suatu counter untuk meletakkan jumlah lompatan pada Loop yang anda lakukan.
Register DX
Register DX memiliki 3 tugas antara lain:
Membantu AX dalam proses perkalian dan pembagian, terutama perkalian dan pembagian 16 bit.
DX merupakan register offset dari DS
DX bertugas menunjukkan nomor port pada operasi port
Pointer Register bertugas untuk menyimpan offset dari relative address.
Register IP
Pasangan register IP adalah
register CS yang merupakan register terpenting untuk menunjukkan baris
perintah program. Pada pertama program dijalankan register ini akan
langsung menunjuk pada awal program.
Register SP
Pasangan register SP adalah
register SS yang digunakan untuk operasi stack. Pada saat program
pertama dijalankan register ini akan menunjuk pada byte terakhir stack.
Register BP
Register BP mempunyai fungsi yang sama dengan register BX yaitu dapat menulis dan membaca ke atau dari memori secara langsung.
Perbedaannya adalah BX menulis dan membaca dengan segment SS (Stack Segment).
Register
BP digunakan juga dalam komunikasi anatara bahasa komputer, seperti
PASCAL dengan Assembler ataupun Turbo C dengan Assembler.
Index
Register terdiri dari dua register yaitu register DI dan SI, dimana
kedua register ini merupakan register yang dipakai untuk melakukan
Operasi String.
Kedua register ini sering digunakan untuk menulis dan membaca ke atau dari memori seperti BX dan BP
| X | X | X | X | O | D | I |T | S | Z | X | A | X | P | X | C |
Flag Bits:
O - Overflow Flag
D - Direction Flag
I - Interrupt Flag
T - Trap Flag
S - Sign Flag
Z - Zero Flag
A - Auxiliary Carry Flag
P - Parity Flag
C - Carry Flag
X - Reserved (kosong)
Flag register ini
merupakan suatu komposisi register 16 bit dengan ketentuan seperti
gambar diatas, dimana komposisi bit nya dapat mengecek apakah sesuatu
berfungsi atau tidak.
SUMBER:
http://fhariedzth-killms.blogspot.co.id/2012/11/central-processing-unit-cpu.html
https://reddevil2893.wordpress.com/2013/12/05/pengertian-alu-arithmetic-logical-unit-dan-sitem-bus/
https://id.wikipedia.org/wiki/Bus_sistem
http://simuk-warrior.blogspot.co.id/2015/06/pengertian-bus-system-sistem-bus.html
http://galuhpribadi.blogspot.co.id/2016/11/cpu-sistem-bus-alu-dan-register_1.html
https://mahmudiuye.blogspot.co.id/2015/04/struktur-cpu-fungsi-cpu-alu-control.html
http://ekapka.blogspot.co.id/2013/09/pengertian-control-unit-cu-dan.html