Monday, 29 September 2014

Komponen CPU

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