CPU (CENTRAL PROCESSING UNIT)

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.

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