=== Prosesor === CPU adalah otak dari sebuah computer Fungsi CPU adalah menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil instruksi, menguji instruksi tersebut dan menjalankan instruksi astu demi satu. CPU terdiri dari beberapa bagian : 1. Unit Kontrol Bertanggung jawab mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut. 2. ALU Menjalankan operasi-operasi seperti penjumlahan, pengurangan, dan Boolean AND 3. Register Memori kecil berkecepatan tinggi yang digunakan untuk menyimpan hasilhasil sementara dan informasi control tertentu. Program Counter ( PC ) Sebuah register yang berfungsi menunjuk, mengambil dan menjalankan instruksi berikutnya. Instruction Register ( IR ) Register yang berfungsi untuk menyimpan instruksi yang sedang berjalan Akumulator (AC) Register yang berfungsi mengumpulkan hasil-hasil aritmetik Bus 1. Sekumpulan kabel-kabel paralel untuk mentarnsmisikan alamat (address), data, dan sinyal-sinyal control. 2. Menghubungkan komponen-komponen yang ada dalam CPU dengan Memori dan Peralatan I/O. 1 === Organisasi CPU === Jalur Data adalah organisasi bagian internal dari CPU von Neumann yang terdiri dari register, ALU dan beberapa bus. Sebagian besar instruksi dapat dibagi dalam 2 kategori: 1. Register-Memori 2. Register-Register CPU menjalankan setiap instruksi dalam beberapa langkah: 1. Mengambil instruksi berikutnya dari memori dan membawanya ke dalam register instruksi 2. Mengubah PC (Pencacah Program) agar menunjuk ke instruksi selanjutnya 3. Menentukan jenis instruksi yang baru saja diambil 4. Jika instruksi tersebut menggunakan sebuah word dalam memori, ditentukan dimana instruksi tersebut berada. 5. Mengambil word tersebut, jika diperlukan, dan membawanya ke dalam sebuah register CPU 6. Menjalankan instruksi 7. Kembali ke langkah 1 untuk memulai menjalnkan instruksi berikutnya. Rangkaian langkah-langkah ini sering disebut siklus baca-decode-execute. Interpreter 1. Sebuah program yang mengambil, memriksa, dan menjalankan instruksiinstruksi dari program lain 2. Program yang mempunyai kesamaan fungsi seperti CPU hardware. 3. Sebuah interpreter membagi instruksi-instruksi dari mesin targetnya ke dalam langkah-langkah kecil. Karena itu, mesin tempat interpreter tersebut beroperasi jauh lebih sederhana dan murah dibanding sebuah prosesor hardware. 2 Komputer sederhana dengan instruksi-instruksi yang dijalankan interpreter mempunyai beberapa keuntungan : 1. Kemampuan untuk memperbaiki instruksi-instruksi yang dijalankan secara tidak tepat dalam bidang tersebut, atau membetulkan kesalahan-kesalahan desain dalam hardware utama 2. Kesempatan untuk menambahkan instruksi baru dengan biaya rendah. 3. Desain tersruktur yang memungkinkan pengembangan, pengujian, dan pendokumentasian instruksi-instruksi kompleks secara efisien. Keuntungan utama dari pendekatan yang berbasis interpreter adalah kemampuan untuk mendesain sebuah prosesor sederhana, dengan kompleksitas hanya pada memori yang menyimpan interpreter tersebut. === RISC VS CISC === Selama akhir 1970-an, karena keberadaan interpreter, maka telah dilaksanakan eksperimen dengan instruksi yang sangat kompleks. Para perancang mencoba untuk menutupi “ perbedaan semantic “ antara mesinmesin apa yang dapat menjalankan instruksi dan bahasa pemrograman tingkat tinggi apa yang dibutuhkan RISC = Reduced Instruction Set Computer Jumlah instruksi yang tersedia relative sedikit Cara yang paling tepat untuk mendesain sebuah computer adalah menyediakan sejumlah kecil instruksi sederhana yang beroperasi dalam satu siklus jalur data Suatu konsep untuk merancang keeping VLSI CPU yang tidak menggunakan interpretasi Contoh : DEC Alpha CISC = Complex Instruction Set Computer Berisi sebuah inti RISC yang menjalankan instruksi yang paling sedrehana dalam satu siklus jalur data Dapat menginterpretasikan instruksi yang lebih kompleks dengan CISC biasa Instruksi-instruksi menjadi cepat 3 == Prinsip-Prinsip Desain untuk Komputer Modern == Sebuah prinsip dalam merancang CPU yang memiliki tujuan umum yang harus dipatuhi oleh perancang Beberapa prinsip utama sbb : 1. Semua instruksi secara langsung dijalnkan oleh hardware 2. Memaksimalkan kecepatan dimana instruksi-instruksi itu dikeluarkan 3. Instruksi harus mudah untuk didekodekan 4. Hanya instruksi Load dan Store yang diakses ke memori 5. Menyiapkan banyak register MIPS = Millions of Instruction per Second Artinya : Dapat mengeksekusi banyak instruksi dalam waktu singkat === Paralelisme === Para perancang computer berusaha untuk meningkatkan kinerja mesin-mesin yang dirancangnya dengan membuat chip-chip agar bekerja lebih cepat dengan menambah kecepatan detaknya. Paralelisme ialah melakukan dua hal atau lebih secara sekaligus sebagai suatu cara untuk mencapai kinerja yang lebih tinggi pada suatu kecepatan detak tertentu. Ada dua bentuk umum paralelisme : 1. Paralelisme Instruksi-Level 2. Paralelisme Prosesor-Level Paralelisme Instruksi-Level Dimanfaatkan dalam instruksi-instruksi individu agar dapat mengeksekusi lebih banyak instruksi/detik dari mesin tersebut. 4 Penyangga Prabaca Sekumpulan register tempat menyimpan instruksi agar dapat segera diambil saat dibutuhkan nantinya. Pepiline Suatu konsep pelaksanaan instruksi yang dibagi dalam banyak bagian, dimana masing-masing bagian ditangani oleh hardware khusus dan keseluruhan bagian dapat beroperasi secara parallel. Tahap Latensi Waktu yang dibutuhkan untuk menjalankan sebuah instruksi Lebar Pita Prosesor Banyaknya prosesor yang dimiliki oleh CPU Pepiline U Pepiline yang dapat menjalankan sebuah instruksi Pentium yang selali berubahubah Pepiline V Pepiline yang hanya dapat menjalankan instruksi integer sederhana Arsitektur Superskalar Sebuah istilah untuk suatu pendekatan pelaksanaan instruksi yang hanya dengan satu pepiline tunggal tetapi dapat melakukan pelbagai fungsi. Paralelisme Prosesor-Level Berbagai macam CPU menangani pelbagai masalah yang sama Komputer-Komputer Larik : Prosesor Larik Sejumlah besar prosesor yang sama menjalankan rangkaian instruksi yang sama pada kumpulan data yang berbeda. Prosesor Vektor Prosesor yang mirip dengan prosesor larik. Perbedaanya adalah pada pada prosesor vector seluruh operasi tambahannya dijalankan dalam sebuah elemen penambah tunggal dengan banyak pepiline. Register Vektor 5 Sekumpulan register konvensional yang dapat di load dari memori dalam suatu instruksi tunggal, yang meload register-register tersebut dari memori secara serial Multiprosesor Suatu system dengan lebih dari satu CPU yang memiliki sebuah memori bersama Multikomputer Sebuah system yang terdiri dari banyak computer yang saling terhubung dimanamana masing-masing memiliki memori sendiri-sendiri, dan tidak ada memori bersama. 6