Fungsi CPU adalah menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil instruksiinstruksi, menguji instruksi tersebut, dan kemudian menjalankannya satu demi satu. Komponen-komponen itu dihubungkan oleh sebuah bus, yaitu sekumpulan kabel kabel pararel untuk mentransmisikan alamat (address), data, dan sinyal sinyal kontrol. Bus dapat berada di luar CPU, yang menghubungkan CPU dengan memori dan peralatan I/O (Input/Output), tapi juga ada di dalam CPU, seperti yang akan kita lihat sebentar lagi.
Register yang paling penting adalah Program Counter (PC), yang menunjuk ke instruksi berikutnya yang harus diambil untuk dijalankan. Nama "program counter" agak kurang tepat karena istilah ini tidak ada hubungannya sama sekali dengan counting (perhitungan), namun istilah ini telah digunakan secara luas. Selain itu, fungsi penting lainnya dari register adalah Instruction
Register (IR), yang menyimpan instruksi yang sedang dijalankan. Sebagian besar komputer juga memiliki beberapa register lain, sebagian diantaranya digunakan untuk tujuan umum dan sebagiannya lagi untuk tujuantujuan khusus.
Organisasi CPU
Organisasi bagian internal dari sebuah CPU von Neumann. Bagian ini disebut jalur data dan berisi register register (terutama 1 sampai 32), ALU (Arithmetic Logic Unit), dan beberapa bus yang menghubungkan bagian bagian tersebut.
ALU sendiri menjalankan operasi penambahan, pengurangan, dan operasioperasi sederhana lainnya pada inputinputnya, dengan demikian memberikan suatu hasil pada register output. Register output ini dapat disimpan kembali ke dalam sebuah register.
Menjalankan Instruksi
CPU menjalankan setiap instruksi dalam beberapa langkah kecil. Jelasnya, langkahlangkah
tersebut adalah sebagai berikut:
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 di mana 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 menjalankan instruksi berikutnya.
RISC versus CISC
Seseorang mungkin beranggapan bahwa dengan mempertimbangkan keunggulan keunggulan kinerja dari teknologi RISC, mesin mesin RISC (seperti DEC Alpha) akan mengungguli mesinmesin CISC (seperti Intel
Pentium) di pasaran Dimulai dengan 486, CPU CPU Intel berisi sebuah inti RISC yang menjalankan instruksiinstruksi paling sederhana (dan sangat umum) dalam satu siklus jalur data saja, sekaligus menginterpretasikan instruksi instruksi yang lebih kompleks dengan cara CISC biasa. Hasil nyatanya adalah bahwa instruksiinstruksi biasa menjadi cepat dan
Instruksi instruksi yang kurang biasa menjadi lamban. Meskipun pendekatan tiruan ini tidak secepat seperti sebuah desain RISC murni, pendekatan ini menghasilkan kinerja keseluruhan yang kompetitif asalkan software yang lama tetap dapat diaplikasikan dan tidak berubah.
Prinsip prinsip Desain untuk Komputer komputer Modern
Kini setelah lebih dari satu dekade sejak mesinmesin RISC pertama diperkenalkan, prinsip prinsip desain tertentu telah diakui sebagai cara yang tepat untuk mendesain komputer komputer sesuai dengan situasi teknologi hardware dewasa ini. Tapi dimungkinkan juga munculnya prinsipprinsip desain baru yang berbeda dengan prinsip desain yang telah diakui tersebut. Jadi para perancang komputer harus selalu mencermati kemungkinan adanya perubahanperubahan teknologi yang dapat mempengaruhi keseimbangan antara komponenkomponen.
1. Semua Instruksi Secara Langsung Dijalankan oleh Hardware
2. Memaksimalkan Kecepatan di mana Instruksi instruksi Dikeluarkan
3. Instruksiinstruksi Harus Mudah untuk Didekodekan
4. Hanya Instruksiinstruksi
5. Load and Store yang Diakses ke Memory
6. Menyiapkan Banyak Register
7. Paralelisme instruksilevel
Pipelining
Pipelining memungkinkan terjadinya perimbangan antara latensi (berapa lama waktu yang dibutuhkan untuk menjalankan sebuah instruksi), dan lebar pita processor (berapa banyak MIPS yang dimiliki CPU)
Arsitektur Superskalar
Jika satu pipeline bagus, maka tentu dua pipeline akan lebih bagus. Di sini suatu satuan membaca instruksi tunggal mengambil pasangan pasangan dari instruksi instruksi Secara bersama dan memasukkan masing masing pasangan ke dalam pipelinenya sendiri, lengkap dengan ALUnya sendiri bagi operasi paralel. Agar dapat beroperasi secara paralel, kedua instruksi tersebut tidak boleh berebutan dalam menggunakan sumber daya (contoh, register register), dan salah satu instruksi tidak boleh bergantung pada hasil dari instruksi yang lain. Seperti halnya dengan sebuah pipeline tunggal, begitu pul kompiler harus menjamin situasi ini tetap terjaga (yaitu, hardware tidak memeriksa dan memberikan hasil hasil yang salah jika instruksi instruksi tidak sebanding), atau konflik konflik dideteksi dan dihilangkan selama pelaksanaan dengan menggunakan hardware tambahan.







0 komentar:
Posting Komentar