Central Processing Unit (CPU)
CPU merupakan salah satu bagian penting yang harus ada dalam perangkat komputer. Tanpa kehadiran CPU, sebuah perangkat komputer tidak akan bisa digunakan sama sekali, meskipun semua perangkat lainnya (seperti mouse, keyboard, speaker, monitor, dll) sudah terpasang dengan baik. Sebaliknya, tanpa beberapa perangkat lainnya (seperti speaker, mouse, atau pun keyboard), sebuah perangkat komputer masih dapat digunakan selama di dalamnya ada perangkat CPU dan perangkat keras penting lainnya. CPU pada dasarnya merupakan singkatan dari Central Processing Unit yang artinya unit pusat pemrosesan. Jika diartikan secara lengkap, maka pengertian CPU adalah perangkat keras khusus yang bertugas untuk mengeksekusi atau pun memproses semua data yang ada pada perangkat komputer.
Komponen CPU dapat dibagi menjadi beberapa macam, yaitu sebagai berikut:
Sistem Bus
Sistem Bus dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem 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.
Sruktur Sistem BUS yaitu:
- Saluran data
Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Lebar bus data perupakan faktor penting dalam menentukan kinerja sistem secara keseluruhan.
- Saluran Alamat
Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data.
- Saluran Kontrol
Saluran kontrol digunakan untuk mengontrol akses ke saluran alamat dan penggunaan data.
ALU ( Arithmetic And Logic Unit )
ALU adalah salah satu bagian dalam dari sebuah mikroprosesor 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 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.
Unit kendali (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.
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.
Central Logic Unit
Bertugas mengatur dan mengendalikan semua peralatan yang ada di sistem komputer, yaitu :
- mengatur dan mengendalikan alat-alat input dan output
- mengambil instruksi-instruksi dari memori utama
- mengambil data dari memori utama untuk diproses
- mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU
- mengirim hasil proses ke memori utama untuk disimpan dan pada saatnya disajikan ke alat output.
Set Register
Register merupakan perangkat memori sementara yang menyimpan data. Register membantu CPU dalam melaksanakan instruksi. Mereka dikelola oleh unit kontrol. Register berfungsi untuk tempat penyimpanan yang berisi data dan informasi lainnya yang sering dibutuhkan ketika sebuah program sedang berjalan. Register dimaksudkan untuk dapat diakses dengan sangat cepat. Yang termasuk register di antaranya adalah register uji dan instruksi. Register instruksi berisi instruksi CPU sedangkan register uji dimaksudkan untuk menyimpan hasil kerja yang dilakukan oleh CPU.
Macam-macam Jenis dan Fungsi Register
Berikut ini jenis dan fungsi dari masing-masing Register yaitu :
a. General Purpose Register (Register Serbaguna)
Register untuk keperluan umum yang terdiri atas :
a. Register AX (Accumulator register) berfungsi sebagai tempat:
Sementara hasil suatu operasi arithmetika atau logika (AL, AH, AX dan EAX)
- Memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi (register AH).
- Menyimpan bilangan yang dikalikan (reg AL, AX, EAX) dan setengan bagian terkecil (LSB) dari hasil perkalian (register DX-AX dan EDX-EAX).
- Menyimpan setengah bagian terkecil(LSB) sebuah bilangan dibagi (DX-AX dan EDX-EAX) dan hasil bagi (AL, AX, EAX).
b. Register BX (Base Register)
Base register adalah register untuk menyimpan alamat offset data yang terletak di memori (BL, BH, BX dan EBX)
c. Register CX (Counter Register)
Counter register adalah register serbaguna yang berfungsi sebagai:
- Pencacah untuk operasi loop (CX dan ECX)
- Pencacah untuk operasi shift dan rotate (CL)
- Pencacah (counter) untuk operasi string (CX)
d. Register DX (Data register)
Data register adalah register serbaguna yang berfungsi sebagai :
- Penyimpan hasil perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX).
- Penyimpan hasil pembagian (DX-AX dan EDX-EAX)
- Penyimpan data hexadesimal (kode ASCII) di reg DL untuk dicetak di layar monitor.
2. Pointer Register
Register ini untuk menunjukkan alamat sebuah data di lokasi memori, dipakai saat operasi perpindahan data (dari/ke memori), operasi stack (PUSH/POP) dan penunjukkan alamat suatu instruksi. Berikut adalah macam-macam pointer register: SP (Stack Pointer) dan ESP, BP (Base Pointer) dan IP (Instruction Pointer).
3. Index Register
Sama dengan pointer register, sering digunakan untuk menunjukkan alamat sebuah data di lokasi memori pada operasi string. Macam-macam register Index adalah : SI (Source Index), DI (Destination Index).
4. Segment Register
Segment register membentuk alamat memori untuk data. Pada operasi real mode suatu segment register akan berbeda dengan segment register pada operasi protected mode. Yang termasuk ke dalam segment register antara lain :
- Code segment -> untuk menunjukkan alamt instruksi berikutnya.
- Data segment -> untuk menunjukkan alamat data pada transfer register
- Extra segment -> register tambahan untuk operasi string
- Stack segment -> dengan SP u/ menunjukkan stack dan memanggil suatu prosedur (CALL) dan mengarah ke program utama (RET).
- FS dan GS register -> register tambahan u/ segmen memori yang besar.
5. Flag Register
Berfungsi untuk menunjukkan status (keadaan) sesaat dari mikroprosessor.
Bit-bit pada flag akan mengalami perubahan, tergantung proses yang baru saja berlangsung. Adapun kode bit yaitu sebagai berikut :
- C (carry) -> 1=ada carry out 0= tdk ada carry out
- P (Parity) -> 1=paritas genap 0= paritas ganjil
- A (auxxiliary carry) -> 1=ada carry 0=tdk ada carry
- Z (zero) -> 1=hasilnya nol 0=hasilnya bukan nol
- S (sign) -> 1=hasilnya negatif 0=hasilnya positif
- T (trap) -> bila diset 1 dimungkinkan melakukan debugging.
- I (interrupt) -> 1= pin INTR enable 0=pin INTR disable
- D (direction) -> 1=cacahan turun 0=cacahan naik
- (Overflow) -> menunjukkan adanya kelebihan kapasitas atau tidak
- IOPL (input-output privalege level) -> untuk protected mode
- NT (nested task) -> indikasi dari penggabungan dengan operasi lain.
- RF (resume) -> untuk debugging
- VF (Virtual mode) -> untuk operasi virtual pada protected mode
- AC (alignment check) -> untuk data word dialamati ke memori
Register merupakan tempat menyimpan data sementara yang berada dalam CPU. Register terdiri atas 5 bagian yaitu : General Purpose Register, Pointer Register, Index Register, Segment Register, Flag Register. Fungsi setiap register bermacam-macam sesuai peruntukannya yang telah diatur oleh pembuat mikroprosesor.
Referensi :