CPU (Central Processing Unit) adalah otak atau
sumber dari komputer yang mengatur dan memproses seluruh kerja komputer. CPU
ini berbentuk IC yang diberi nama sesuai dengan tipenya, misalnya 8088 untuk PC
XT dan 80286 untuk PC AT,Pentium IV dan sebagainya. Karena CPU ini berada pada
suatu board (papan) yang disebut motherboard dan terletk dalam kotak (casing),
sekarang ini orang jadi cenderung menyebut kotak berisi catu daya, disk drive
dan motherboard sebagai CPU/ kotak CPU. Di dalam kotak CPU biasanya terdapat 2
buah disket drive yang diberi nama disket drive A dan disket drive B. selain
disket drive ada juga yang mempunyai hard disk dan CD ROM.
CPU terdiri dari :
– Bagian CU (Control Unit)
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.
Tugas
dari control unit 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 atau perbandingan logika serta mengawasi kerja dari ALU
- Menyimpan hasil proses ke memori utama.
- 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 atau perbandingan logika serta mengawasi kerja dari ALU
- Menyimpan hasil proses ke memori utama.
– Bagian ALU (Arithmetic Logic Unit)
Aritmetic Logic Unit yang bertugas untuk melakukan operasi aritmetika dan operasi
logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa
karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit
logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas
utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang
terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika
dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut
adder. Tugas
lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai
dengan instruksi program. Operasi logika meliputi perbandingan dua operand
dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama
dengan , kurang dari, dan lebih besar atau sama dengan.
– Register-register
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
ADDER
– Switch elektronik pada
proses penambahan di ALU
– Jenis operasi ADDER:
- Half Adder
- Full Adder
FUNGSI UTAMA CPU :
1. Fetch Instruction (Mengambil Instruksi)
CPU
harus membaca instruksi dari memori
2. Interpret Instruction (Menterjemahkan Instruksi)
Instruksi
harus diinstruksikan untuk menentukan aksi apa yang perlu diambil
3. Fetch Data (Mengambil Data)
Eksekusi
suatu instruksi memerlukan pembacaan dari memori atau modul I/O
4. Process Data (Mengolah Data)
Eksekusi
suatu instruksi memerlukan operasi aritmatika atau logika terhadap data
5. Write Data (Menulis Data)
Hasil
eksekusi memerlukan penulisan data ke memori atau modul I/O
REGISTER PADA CPU
Memiliki 2 fungsi :
1. User Visibel Register :
Register
CPU yang dapat digunakan oleh pemrogram, dengan menggunakan set intsruksi
memungkinkan satu buah register atau lebih untuk dispesifikasian sebagai
operand atau alamat operand.
– Register Data
¨ General purpose register
¨ Special purpose register
– Register Alamat
¨ Register indeks (index register)
¨ Register penunjuk segmen (segment pointer register)
¨ Register penunjuk stack (stack pointer register)
¨ Register penanda (flag register)
2. Control dan Status Register
Register yang digunakan oleh unit kontrol untuk mengintrol operasi CPU dan
oleh program sistem operasi untuk mengontrol eksekusi program
– Register untuk alamat dan buffer
¨ Memory Address Register (MAR)
¨ Memory Buffer Register (MBR)
¨ I/O AR (I/O Address Register)
¨ I/O BR (I/O Buffer Register)
– Register untuk eksekusi instruksi
¨ Program Counter (PC)
¨ Instruction Register (IR)
– Register untuk informasi status
Register
ini berisi informasi status. Dapat
berupa satu register atau kumpulan register. Register atau kumpulan register
ini disebut PSW (Program Status Word).
1. Program Counter (PC)
§ Berisi alamat instruksi yang akan diambil
2. Instruction Register (IR)
§ Berisi alamat instruksi terakhir
3. Memory Address Register
(MAR)
§ Berisi alamat penyimpanan dalam memori
4. Memori Buffer Register
(MBR)
§ Berisi data yang dibaca dari memori atau yang
diyliskan ke memori
Aktivitas CPU :
– Fetch Instruction/mengambil instruksi
CPU
harus membaca instruksi dari memory
– Fetch
Data/Mengambil Data
Eksekusi suatu instruksi mungkin memerlukan pembacaan
data dari memory atau modul I/O
– Process
Data/Mengolah Data
Eksekusi
suatu instruksi mungkin memerlukan suatu operasi aritmatika atau logika terhadap data
– Write
Data/Menulis Data
Hasil
eksekusi mungkin memerlukan
penulisan
data ke memory
SIKLUS
INSTRUKSI
- Pengolahan yang dilakukan CPU untuk mengeksekusi sebuah instruksi
Siklus
Instruksi meliputi :
1. Fetch Cycle (Siklus mengambil)
- Mengambil instruksi yang akan dieksekusi
2. Execute Cycle (Siklus Eksekusi)
- Melakukan operasi yang ditentukan oleh opcode instruksi
3. Interrupt Cycle (Siklus Instruksi)
- Apabila interrupt diaktifkan dan interrupt telah terjadi, simpan
status proses saat itu dan layani interrup
Penanda
(Flag) pada PSW
:
Sign :
Flag ini mencatat tanda yang dihasilkan operasi yang sebelumnya dijalankan
Sign : Flag ini mencatat tanda yang dihasilkan operasi
yang sebelumnya dijalankan
Zero : Flag ini mencatat apakah operasi sebelumnya
menghasilkan nilai nol.
Carry : kondisi dimana operasi penjumlahan atau perkalian menghasilkan hitungan yang tidak dapat ditampung register.
Carry : kondisi dimana operasi penjumlahan atau perkalian menghasilkan hitungan yang tidak dapat ditampung register.
Equal : Flag ini mencatat apakah operasi menghasilkan
kondisi sama dengan.
Overflow : Flag ini mencatat apakah kondisi menghasilkan
overlow.
Interupt enable/disable : Flag ini mencatat apakah interupt
sedang dapat diaktifkan atau tidak.
Supervisor : Pada mode supervisor maka seluruh interupt
dapat dilaksanakan.