Selasa, 17 Oktober 2017

Central Processing Unit (CPU)

CPU ( Central Processing Unit ) berfungsi sebagai pusat pengolahan dan eksekusi data berdasarkan routine-routine program yang diberikan. CPU mengendalikan seluruh sistem komputer sehingga sebagai konsekuensinya memiliki koneksi ke seluruh modul yang menjadi bagian sistem komputer.
1.      ALU ( Arithmatic and Logical Unit )
            ALU melaksanakan seluruh perhitungan ( penambahan, pengurangan, perkalian atau pembagian ) dan operasi logika. ALU berfungsi melakukan operasi aritmatik dan logika yang terbagi menjadi 4 kelas, yaitu desimal arithmatic, fixed point arithmatic, floating point arithmatic, dan logic operation. Terdapat 2 macam bilangan yang ditangani oleh prosesor, yaitu bilangan fixed point dan bilangan floating point.
Tugas ALU antara lain :
1.      Bertugas untuk membentuk fungsi-fungsi pengolahan data komputer
2.      ALU sering disebut mesin bahasa ( Machine Language ) karena bagian ini mengerjakan instruksi-instruksi bahasa mesin yang diberikan padanya
3.      ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean, yang masing-masing memiliki spesifikasi tugas tersendiri

Bilangan Fixed Point

            Bilangan fixed point adalah bilangan yang memiliki nilai digit spesifik pada salah satu titik desimalnya. Hal ini akan membatasi jangkauan nilai yang mungkin untuk angka-angka tersebut. Namun, hal ini justru dapat dihitung oleh prosesor.

Bilangan Floating Point 
            Bilangan floating point adalah bilangan yang diwujudkan dalam notasi ilmiah. Yaitu berupa angka pecahan desimal dikalikan dengan angka 10 pangkat bilangan tertentu, misalnya: 705,2944 x 109, atau 4,3 x 10-7. Cara penulisan angka seperti ini merupakan cara singkat untuk menuliskan angka yang nilainya sangat besar maupun sangat kecil. Bilangan seperti ini banyak digunakan dalam pemrosesan grafik dan kerja ilmiah. Proses arithmatika bilangan floating point memang lebih rumit dan prosesor membutuhkan waktu yang lebih lama untuk mengerjakannya, karena mungkin akan menggunakan beberapa siklus detak ( Clock Cycle ) prosesor.
Oleh karena itu, beberapa jenis komputer menggunakan prosesor sendiri untuk menangani bilangan floating point. Prosesor yang khusus menangani bilangan floating point disebut Floating Point Unit ( FPU ) atau disebut juga dengan nama math co-processor. FPU dapat bekerja secara pararel dengan prosessor. Dengan demikian proses perhitungan bilangan floating point dapat berjalan lebih cepat. Keberadaan FPU integrated ( bersatu dengan prosessor ) sudah menjadi kebutuhan standart komputer masa kini, karena banyak sekali aplikasi-aplikasi yang beroperasi menggunakan bilangan floating point.
2.      CU ( Control Unit )

            Unit kontrol adalah bagian dari prosessor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. Tanggungjawab unit kontrol adalah 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 ( Arithmatic Logic Unit ). Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output.
Tugas dari unit kendali ( Control Unit ) ini adalah :

1.    Mengatur dan mengendalikan alat-alat input dan output
2.    Mengambil instruksi-instruksi dari memori utama
3.    Mengambil data dari memori utama ( jika diperlukan ) untuk diproses
4.    Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika
5.    Mengawasi kerja ALU
6.    Menyimpan hasil proses ke memori utama
Macam-macam CU ( Control Unit ) :

1.      Single-Cycle CU ( Control Unit )

            Proses di CU ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle. Maka dari itu tidak memerlukan state. Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada unit control 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 ). Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya.
Empat jenis instruksi ini adalah :
– R-format ( berhubungan dengan register )
– lw ( membaca memori )
– sw ( menulis memori )
– beg ( branching )

2.      Multi-Cycle CU ( Control Unit )

            Berbeda dengan unit control yang single-cycle, unit control multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing-masing output control line dapat ditentukan. Masing-masing akan menjadi fungsi dari 10 buah input logic. 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.
3.      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 digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya. Jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak bisa diibaratkan sebagai CPU, yang berisi ingatan-ingatan, suatu kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
a. Set register
Apabila bit ini bernilai 0, maka register data dapat diupdate setiap detiknya, namun apabila bit ini bernilai 1, maka register data tidak dapat diupdate. Bit ini tidak akan berpengaruh terhadap kondisi RESET
b. Register-register kontrol
Register-register untuk komunikasi dengan unit-unit diluar CPU :
– MAR ( Memory Address Register ), Digunakan untuk menyatakan alamat lokasi operand dalam memori yang akan dibaca atau ditulis oleh CPU
– MBR / MDR ( Memory Buffer atau Data Register ), Merupakan tempat penyimpanan ( sementara ) data yang baru saja dibaca atau data yang akan dituliskan ke memori
– PC ( Program Counter ), Digunakan untuk menyatakan alamat lokasi instruksi yang akan dibaca oleh CPU dari memori
Jenis-jenis register :
1.      a) Register data, Digunakan untuk menyimpan angka-angka dalam bilangan bulat ( Integer )
b) Register alamat, Digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori
c) Register general purpose, Digunakan untuk menyimpan angka dan alamat secara sekaligus
d) Register floating point, Digunakan untuk mnyimpan angka-angka bilangan titik mengambang ( Floating Point )
e) Register konstanta ( Constant Register ), Digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca ( bersifat read – only )
f) Register vector, Digunakan untuk menyimpan hasil pemprosesan vektor yang dilakukan oleh prosesor SIMD
g) Register special purpose, Digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status
h) Register yang spesifik terhadap model mesin ( Machine Specific Register ), digunakan untuk menyimpan data internal prosesor atau pengaturan yang berkaitan dengan prosesor itu sendiri

4.      CACHE MEMORY

Cache berasal dari kata cash yakni sebuah tempat penyimpanan atau tempat penyimpanan sementara. Sesuai definisi tersebut Cache Memory adalah tempat menyimpan data sementara. Cache Memory ini terletak antara register dan memory utama sehingga pemrosesan data tidak langsung mengacu pada memory utama. Penggunaan cache digunakan untuk meminimalisir terjadinya bottleneck dalam aliran data antara prosesor dan RAM. Sedangkan dalam terminologi software, istilah ini merujuk pada tempat penyimpanan sementara untuk beberapa file yang sering diakses ( biasanya diterapkan dalam network ).
Jenis-jenis cache memory
Cache umumnya terbagi menjadi beberapa jenis seperti L1 cache, L2 cache dan L3 cache. Cache yang dibangun kedalam CPU itu sendiri disebut sebagai level 1 ( L1 ) cache. Cache yang berada dalam sebuah chip yang terpisah yang terpisah disebelah CPU disebut Level 2 ( L2 ) cache. Beberapa CPU memiliki keduanya, L1 cache dan L2 built-in dan menugaskan chip terpisah sebagai cache Level 3 ( L3 ) cache. Cache yang dibangun dalam CPU lebih cepat daripada cache yang terpisah. Namun, cache terpisah masih sekitar dua kali lebih cepat dari Random Access Memory ( RAM ). Cache lebih mahal daripada RAM tetapi mother board dengan built-in cache sangat baik untuk memaksimalkan kinerja sistem.
Fungsi dan manfaat cache memory
Cache berfungsi sebagai tempat penyimpanan sementara untuk data atau instruksi yang diperlukan oleh prosessor. Cache juga berfungsi untuk mempercepat akses data pada komputer karena cache menyimpan data/informasi yang telah diakses oleh suatu buffer, sehingga meringankan kerja prosesor. Manfaat lain dari cache memory adalah bahwa CPU tidak harus menggunakan sistem bus motherboard untuk mentransfer data.setiap kali data harus melewati bus sistem, kecepatan transfer data memperlambat kemampuan motherboard. CPU dapat memproses data lebih cepat dengan menghindari hambatan yang diciptakan oleh sistem bus.

5.      VIRTUAL MEMORY

Virtual memory adalah sebuah sistem yang digunakan oleh sistem operasi untuk menggunakannya sebagai memori sekunder yaitu hard-disk seolah-olah ia menggunakannya sebagai memori internal/utama ( RAM ) fisik yang terpasang didalam sebuah sistem komputer. Sistem ini beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut dengan page file. Proses pemakaian virtual memory di windows umumnya dapat dilihat di task manager.
6.      SISTEM BUS


Inti sebuah Motherboard ( chipset ) adalah beberapa bus yang menghantarkan sinyal antar masing-masing komponen. Bus dapat disebut sebagai lintasan umum / bersama yang digunakan untuk transfer data. Untuk komunikasi data, jalur ini dapat juga untuk komunikasi dua buah komputer atau lebih. Prosesor, memori utama, dan perangkat I/O dapat diinterkoneksikan dengan menggunakan bersama, yang fungsi utamanya adalah menyediakan jalur komunikasi untuk transfer data. Bus tersebut menyediakan jalur yang diperlukan untuk mendukung interupt dan arbitrasi.
Sumber :

Arsitektur Set Instruksi

Set instruksi didefinisikan sebagai suatu aspek dalam arsitektur computer yang dapat dilihat oleh para pemrogram.
Dua bagian utama arsitektur komputer:
1.      Instruction set architecture (ISA) / arsitektur set instruksi
     ISA meliputi spesifikasi yang menentukan bagaimana programmer bahasa mesin akan berinteraksi oleh computer. ISA menentukan sifat komputasional computer.
2.      Hardware system architecture (HSA) / arsitektur system hardware
     HAS berkaitan dengan subsistem hardware utama computer (CPU, system memori dan IO). HSA mencakup desain logis dan organisasi arus data dari subsistem.
Jenis-jenis Instruksi
·         Data processing/pengolahan data : instruksi aritmetika dan logika.
·         Data storage/penyimpanan data : instruksi-instruksi memori.
·         Data movement/perpindahan data : instruksi I/O.
·         Control/control : instruksi pemeriksaan dan percabangan.

Instruksi aritmetika memiliki kemampuan untuk mengolah data numeric. Sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit, bukan sebagai bilangan. Operasi-operasi tersebut dilakukan teutama untuk data di register CPU.
Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data kedalam memori dan mengembalikan hasil komputasi kepada pengguna.
Desain set Instruksi
            Desain set instruksi merupakan masalah yang sangat kompleks yang melibatkan banyak aspek, diantaranya adalah:
1.      Kelengkapan set instruksi
2.      Ortogonalitas (sifat independensi instruksi)
3.      Kompatibilitas :
·       source code compatibility
·       Object code Compatibility
4.        Operation Repertoire
Yaitu berapa banyak dan opera siapa saja yang disediakan, dan berapa sulit operasinya
5.        Data Types
Yaitu tipe/jenis data yang dapat olah
6.        Instruction Format
Adalah panjangnya, banyaknya alamat,dsb.
7.        Register
Merupakan banyaknya register yang dapat digunakan

Teknik Pengalamatan
1.      Immediate Addressing
2.      Direct Addressing
3.      Indirect Addressing
4.      Register addressing
5.      Register indirect addressing
6.      Displacement addressing

7.      Stack addressing



Immediate Addressing (Pengalamatan Segera)
Adalah bentuk pengalamatan yang paling sederhana.
·         Operand benar-benar ada dalam instruksi atau bagian dari intsruksi
·         Operand sama dengan field alamat
·         Umumnya bilangan akan disimpan dalam bentuk complement dua
·         Bit paling kiri sebagai bit tanda
·         Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data

Keuntungan :
·         Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
·         Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat
·          
Kekurangan :
·         Ukuran bilangan dibatasi oleh ukuran field

Direct Addressing (Pengalamatan Langsung)
1.      Teknik ini banyak digunakan pada komputer lama dan komputer kecil
2.      Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus

Kelebihan :
·         Field alamat berisi efektif address sebuah operand

Kekurangan :
·         Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word

Indirect Addressing (Pengalamatan tak langsung)

1.      Merupakan mode pengalamatan tak langsung
2.      Field alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang

Kelebihan :
·         Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
Kekurangan :
·         Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi


Register addressing (Pengalamatan Register)

1.      Metode pengalamatan register mirip dengan mode pengalamatan langsung
2.      Perbedaanya terletak pada field alamat yang mengacu pada register, bukan pada memori utama
3.      Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose
Keuntungan :
1.      Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
2.      Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat
Kerugian :
·         Ruang alamat menjadi terbatas

Sumber :