Processor
I.
Control Unit
Adalah salah satu bagian dari cpu yang bertugas
untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di
bagian ALU di dalam CPU
tersebut. Output dari CU
ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut. Sedangkan
Tugas dari CU adalah sebagai
berikut:
Ø Mengatur dan
mengendalikan alat-alat input dan output.
Ø Mengambil
instruksi-instruksi dari memori utama.
Ø Mengambil
data dari memori utama kalau diperlukan oleh proses.
Ø Mengirim
instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta
mengawasi kerja.
Ø Menyimpan
hasil proses ke memori utama.
CU sendiri di
bedakan menjadi 2 macam yaitu
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.
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 d 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.
II.
Register
Register prosesor inilah yang digunakan untuk
melakukan macam2 operasi. Misalnya c = a + b, maka register “eax” akan me-load
nilai dari “a” (di memory), kemudian pada register “eax” ditambahkan nilai dari
“b”, lalu “eax” ditulis ke memory pada posisi variabel “c”Register terbagi
dalam berbagai kelas:· Register Data, digunakan untuk menyimpan
angka-angka dalam bilangan bulat (integer)
Ø Register
Alamat, digunakan untuk menyimpan alamat dan mengakses memori
Ø Regiser
General Purpose, digunakan untuk menyimpan angka dan alamat sekaligus
Ø Register
Floating-Point, digunakan untuk menyimpan angka bilangan titik mengambang (
floating-point )
Ø Register
Konstanta, digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca
( bersifat read-only )
Ø Register
Vektor, digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh
prosesor SIMD ( Single Instruction, Multiple Data )
Ø Register
Special Purpose, digunakan untuk menyimpan data internal prosesor
Ø Register
Spesifik, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan
prosesor itu sendiri.
Pengaruh
ukuran register terhadap kecepatan:
secara
teori, pada saat memori melakukan proses baca-tulis ( load-store ) maka
register 64-bit mampu melakukan proses 2x kecepatan register 32-bit, tetapi ini
hanya teoritis saja, pada kenyataannya prosesor juga menghabiskan waktu untuk
melakukan hal-hal lain selain baca-tulis, proses matematis, proses vector, dll.
Pengaruh ukuran register terhadap presisi:
Secara
gampangnya, makin panjang register, maka makin banyak angka-angka dibelakang
koma yang dapat dihitung secara akurat. Sebagai gambaran: misalkan resolusi
bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real pada
64-bit bisa mencapai 0.0000001 ( jauh lebih presisi )
Pengaruh ukuran register terhadap ukuran memori:
Pada
arsitektur 32-bit, register alamat mampu menunjukkan posisi memori dari 0 s/d
4’294’967’295 ( 4 GiB – 1 ). Maka dari itu pada arsitektur 32-bit muncul
batasan 4 GiB pada sistem arsitektur. Pada arsitektur 64-bit, register alamat
mampu menunjukkan posisi memori dari 0 s/d 18’446’744’073’709’551’615 ( 16 EiB
– 1 ). sehingga bisa dikatakan tidak ada lagi batasan 4 GiB pada sistem
berbasis arsitektur 64-bit.
Pengaruh ukuran register terhadap dataset:
Dataset
adalah istilah ukuran seperangkat data yang diload ke dalam memory untuk
diproses dan ditulis kembali ke harddisk. System 32-bit terbatas pada dataset
sebesar ( 2^32 ) – 1 , atau ( 4GiB – 1 ) . Mengingat sebagian memory harus
digunakan untuk OS dan program database ybs, maka biasanya dataset hanya
sebesar 1-2 Gib saja. Artinya, sebuah database yang berukuran 20 Gib harus
diproses 10-20x, sedangkan pada sistem 64-bit tidak memiliki batasan di atas
dan dapat meload dataset sebesar ketersediaan memory, maka database yang
berukuran 20 Gib dapat diload keseluruhnya ( tergantung dari kapasitas memory
).
Perbedaan 32-bit dan 64-bit pada dasarnya mengacu pada
teknologi pemrosesan (processor) pada komputer mengenai bagaimana menangani
informasi. Processor 64-bit akan mampu mereferensikan pengalamatan data pada
memory dibanding processor 32-bit, dan secara teori ini akan dapat memproses
data lebih cepat dan performance komputer menjadi lebih baik.
Jenis -jenis register
Register terbagi menjadi beberapa kelas:
o
Register data, yang digunakan untuk menyimpan angka-angka dalam
bilangan bulat (integer).
o
Register alamat, yang digunakan untuk menyimpan alamat-alamat memori
dan juga untuk mengakses memori.
o
Register general purpose, yang dapat
digunakan untuk menyimpan angka dan alamat secara sekaligus.
o
Register floating-point, yang
digunakan untuk menyimpan angka-angka bilangan titik mengambang.
o
Register konstanta (constant register),
yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca
(bersifat read-only), semacam phi, null, true, false dan
lainnya.
o
Register vektor, yang digunakan untuk menyimpan hasil pemrosesan
vektor yang dilakukan oleh prosesor SIMD.
o
Register special purpose yang
dapat digunakan untuk menyimpan data internal prosesor, seperti halnya
instruction pointer, stack pointer, dan status register.
o
Register yang spesifik terhadap model mesin (machine-specific
register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan
data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti
dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu
saja, mungkin register jenis ini tidak menjadi standar antara generasi
prosesor.
III.
ALU
Singkatan dari Arithmetic And Logic Unit (unit aritmatika dan logika),
adalah salah satu bagian dalam dari sebuah ikroprosesor yang
berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh
operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh
operasi logika adalah logika AND dan OR. tugas utama dari ALU (Arithmetic And
Logic Unit)adalah melakukan semua perhitungan aritmatika atau matematika yang
terjadi sesuai dengan instruksi program. ALU melakukan operasi aritmatika yang
lainnya. Seperti pengurangan, pengurangan, dan pembagian dilakukan dengan dasar
penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi aritmatika ini disebut adder. ALU
melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi
arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian
dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang
digunakan untuk melaksanakan operasi arithmatika ini disebut adder.
Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai
dengan instruksi program. Operasi logika (logical operation) meliputi
perbandingan dua buah elemen logika dengan menggunakan operator logika,
yaitu:a. sama dengan (=)b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
IV.
CPU interconenction (BUS)
adalah sistem koneksi yang menghubungkan begian-bagian
dalam CPU dan juga koneksi CPU keluar seperti ke RAM, perangkat input-output
dan ke Slot ekspansi (PCI)