Senin, 15 September 2014

CONTROL UNIT

    1. Unit Control adalah salah satu bagian dari cpu yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukandi bagian ALU  di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.Pada awal-awal desain komputer , CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CUdiimplementasikan sebagai sebuah microprogram  yang disimpan di dalam tempat penyimpanan kontrol . Beberapa dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi,bus dan peralatan
      input/output di luar chip Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).
      sedangkan Tugas dari CU adalah sebagai berikut:
  1. Mengatur dan mengendalikan alat-alat input dan output.
  2. Mengambil instruksi-instruksi dari memori utama.
  3. Mengambil data dari memori utama kalau diperlukan oleh proses.
  4. Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
  5. Menyimpan hasil proses ke memori utama.
Cu sendiri di bedakan menjadi 2 macam yaitu
Single-Cycle CU
Proses di CUl 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.
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 d 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.
  1. Register Register prosesor inilah yang digunakan untuk melakukan macam2 operasi. Misalnya c = a + b, maka register “eax” akan me-load nilai dari “a” (di memory), kemudian pada register “eax” ditambahkan nilai dari “b”, lalu “eax” ditulis ke memory pada posisi variabel “c”Register terbagi dalam berbagai kelas:· Register Data, digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer)
    · Register Alamat, digunakan untuk menyimpan alamat dan mengakses memori
    · Regiser General Purpose, digunakan untuk menyimpan angka dan alamat sekaligus
    · Register Floating-Point, digunakan untuk menyimpan angka bilangan titik mengambang ( floating-point )
    · Register Konstanta, digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca ( bersifat read-only )
    · Register Vektor, digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD ( Single Instruction, Multiple Data )
    · Register Special Purpose, digunakan untuk menyimpan data internal prosesor
    · Register Spesifik, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri.
    Pengaruh ukuran register terhadap kecepatan:
    secara teori, pada saat memori melakukan proses baca-tulis ( load-store ) maka register 64-bit mampu melakukan proses 2x kecepatan register 32-bit, tetapi ini hanya teoritis saja, pada kenyataannya prosesor juga menghabiskan waktu untuk melakukan hal-hal lain selain baca-tulis, proses matematis, proses vector, dll.
    Pengaruh ukuran register terhadap presisi:
    Secara gampangnya, makin panjang register, maka makin banyak angka-angka dibelakang koma yang dapat dihitung secara akurat. Sebagai gambaran: misalkan resolusi bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real pada 64-bit bisa mencapai 0.0000001 ( jauh lebih presisi )
    Pengaruh ukuran register terhadap ukuran memori:
    Pada arsitektur 32-bit, register alamat mampu menunjukkan posisi memori dari 0 s/d 4’294’967’295 ( 4 GiB – 1 ). Maka dari itu pada arsitektur 32-bit muncul batasan 4 GiB pada sistem arsitektur. Pada arsitektur 64-bit, register alamat mampu menunjukkan posisi memori dari 0 s/d 18’446’744’073’709’551’615 ( 16 EiB – 1 ). sehingga bisa dikatakan tidak ada lagi batasan 4 GiB pada sistem berbasis arsitektur 64-bit.
    Pengaruh ukuran register terhadap dataset:
    Dataset adalah istilah ukuran seperangkat data yang diload ke dalam memory untuk diproses dan ditulis kembali ke harddisk. System 32-bit terbatas pada dataset sebesar ( 2^32 ) – 1 , atau ( 4GiB – 1 ) . Mengingat sebagian memory harus digunakan untuk OS dan program database ybs, maka biasanya dataset hanya sebesar 1-2 Gib saja. Artinya, sebuah database yang berukuran 20 Gib harus diproses 10-20x, sedangkan pada sistem 64-bit tidak memiliki batasan di atas dan dapat meload dataset sebesar ketersediaan memory, maka database yang berukuran 20 Gib dapat diload keseluruhnya ( tergantung dari kapasitas memory ).
    Perbedaan 32-bit dan 64-bit pada dasarnya mengacu pada teknologi pemrosesan (processor) pada komputer mengenai bagaimana menangani informasi. Processor 64-bit akan mampu mereferensikan pengalamatan data pada memory dibanding processor 32-bit, dan secara teori ini akan dapat memproses data lebih cepat dan performance komputer menjadi lebih baik.
    Jenis -jenis register
    Register terbagi menjadi beberapa kelas:
    • Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
    • Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
    • Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
    • Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang.
    • Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phinulltruefalse dan lainnya.
    • Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
    • Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
    • Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.
  2. ALU ALU, singkatan dari Arithmetic And Logic Unit (unit aritmatika dan logika), adalah salah satu bagian dalam dari sebuah ikroprosesor 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 (Arithmetic And Logic Unit)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. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:a. sama dengan (=)b. tidak sama dengan (<>)
    c. kurang dari (<)
    d. kurang atau sama dengan dari (<=)
    e. lebih besar dari (>)
  3. CPU interconenction (BUS),
    adalah sistem koneksi yang menghubungkan begian-bagian dalam CPU dan juga koneksi CPU keluar seperti ke RAM, perangkat input-output dan ke Slot ekspansi (PCI)
Sumber :

Tidak ada komentar:

Posting Komentar