CPU terdiri dari beberapa komponen sebagai bagian
dari struktur CPU untuk dapat melaksanakan fungsi dan tugasnya. Komponen-komponen
CPU antara lain Register,
Arithmatic Logic Unit (ALU), Control Unit, dan CPU interconections seperti yang
terlihat pada gambar 1 dan struktur detailnya seperti pada gambar 2.
Gambar 1. Komponen CPU
Gambar 2. Struktur Detail CPU
a. Registers merupakan alat penyimpanan
yang paling deket dengan prosesor yang memiliki 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
diolah 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.
b. Arithmatic Logic Unit (ALU) merupakan
unit yang bertugas untuk melakukan operasi aritmatika dan operasi logika
berdasarkan instruksi yang ditentukan. ALU sering disebut mesin bahasa karena
ALU terbagi atas dua bagian, yaitu unit aritmatika dan unit logika boolean yang
masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama ALU adalah
melakukan semua perhitungan aritmatika yang terjadi sesuai dengan instruksi
program seperti
penjumlahan, pengurangan, perkalian juga pembagian.
ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga
sirkuit elektronik yang digunakan disebut adder. Contoh operasi logika adalah logika AND dan OR. Operasi
ini tentunya dengan cara membandingkan dua buah elemen logika menggunakan
operator logika seperti :
·
= :sama dengan
·
<>
: tidak sama dengan
·
< : kurand dari
·
<= : kurang dari atau sama dengan
·
> : lebih dari
·
>= : lebih dari atau sama dengan
Gambar 3. ALU
c. Control Unit adalah komponen yang
mengatur jalanya program pada CPU dan
bertugas mengontrol komputer secara keseluruhan sehingga terjadi
sinkronisasi kerja antarkomponen dalam menjalankan fungsi-fungsi operasinya. Pada awal desain komputer, CU diimplementasikan sebagai
ad-hoc logic yang susah untuk didesain. Namun saat ini 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 diantaranya adalah
register, ALU, tergister instruksi, bus dan peralatan input/output diluar chip.
Pada komputer modern setiap subsistem ini memiliki kontrolernya masing-masing
dan CU bertindak sebagai pemantau. Termasuk dalam
tanggung jawab control unit yaitu mengambil instruksi-instruksi 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
bagian output. Dengan demikian tugas
dari unit kendali ini adalah :
·
Mengatur dan mengendalikan alat-alat
masukan(input device) dan keluaran (output device)
·
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
Ada dua macam
Control unit (CU) antara lain :
· Single-Cycle
CU
Proses di CU 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.
Gambar 4. Single Cycle CU
· 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.
Gambar 5. Multi Cycle CU
d. CPU Interconections adalah sistem
koneksi dan bus yang menghubungkan komponen-komponen internal CPU, yaitu
Registers, ALU, Control Unit dan juga dengan bus-bus eksternal CPU yang
terhubung dengan sistem lainya, seperti memori utama, piranti masukan/keluaran.
No comments:
Post a Comment