Coba jelasin Pemanfaatan perangkat keras dari RISC dong

Untuk tingkat kinerja umum tertentu, chip RISC biasanya akan memiliki transistor jauh lebih sedikit yang didedikasikan untuk logika inti yang awalnya memungkinkan desainer untuk meningkatkan ukuran set register dan meningkatkan paralelisme internal.

Fitur lainnya dari arsitektur RISC yaitu:

Format instruksi seragam, menggunakan satu kata dengan kode operasi di posisi bit yang sama untuk proses dekode yang lebih sederhana

Semua register tujuan umum dapat digunakan sama sebagai sumber/tujuan dalam semua instruksi, menyederhanakan desain kompiler (register titik kambang sering disimpan terpisah)

Mode pengalamatan sederhana dengan pengalamatan kompleks yang dilakukan oleh urutan instruksi

Tipe data dalam perangkat keras yang sedikit (misalnya, tidak ada string bita atau desimal berkode biner)

Desain RISC juga lebih mungkin menampilkan model memori Harvard, di mana aliran instruksi dan aliran data dipisahkan secara konseptual; ini berarti bahwa memodifikasi memori di mana kode dipegang mungkin tidak berpengaruh pada instruksi yang dijalankan oleh prosesor (karena CPU memiliki instruksi terpisah dan tembolok data), setidaknya sampai instruksi sinkronisasi khusus dikeluarkan; Prosesor CISC yang memiliki instruksi terpisah dan tembolok data umumnya menjaga mereka disinkronkan secara otomatis, untuk kompatibilitas mundur dengan prosesor yang lebih tua.

Banyak desain RISC awal juga berbagi karakteristik memiliki slot penundaan cabang, ruang instruksi yang segera setelah lompatan atau cabang. Instruksi di ruang ini dijalankan, apakah cabang diambil atau tidak (dengan kata lain efek cabang tertunda). Instruksi ini membuat ALU CPU sibuk untuk waktu tambahan yang biasanya diperlukan untuk melakukan cabang. Saat ini, slot penundaan cabang dianggap sebagai efek samping yang tidak menguntungkan dari strategi tertentu untuk menerapkan beberapa desain RISC, dan desain RISC modern umumnya menghilangkannya (seperti PowerPC dan versi SPARC dan MIPS yang lebih baru).

Beberapa aspek yang dikaitkan dengan desain berlabel RISC pertama sekitar tahun 1975 termasuk pengamatan bahwa penyusun yang dibatasi memori saat itu sering tidak dapat memanfaatkan fitur yang dimaksudkan untuk memfasilitasi pengkodean perakitan manual, dan bahwa mode pengalamatan yang kompleks membutuhkan banyak siklus untuk dilakukan karena akses memori tambahan yang diperlukan. Dikatakan bahwa fungsi semacam itu akan lebih baik dilakukan dengan urutan instruksi yang lebih sederhana jika ini dapat menghasilkan implementasi yang cukup kecil untuk memberi ruang bagi banyak register, mengurangi jumlah akses memori yang lambat. Dalam desain sederhana ini, sebagian besar instruksi memiliki panjang seragam dan struktur yang serupa, operasi aritmatika terbatas pada register CPU dan hanya instruksi muat dan simpan terpisah yang mengakses memori. Properti ini memungkinkan penyeimbangan tahap pipa yang lebih baik dari sebelumnya, membuat pipa RISC secara signifikan lebih efisien dan memungkinkan frekuensi jam yang lebih tinggi.

Namun dorongan lain dari kedua RISC dan desain lainnya berasal dari pengukuran praktis pada program dunia nyata. Andrew Tanenbaum menyimpulkan banyak dari mereka, menunjukkan bahwa prosesor sering memiliki pendekat yang terlalu besar. Misalnya, ia menunjukkan bahwa 98% dari semua konstanta dalam sebuah program akan muat dalam 13 bit, namun banyak desain CPU yang didedikasikan 16 atau 32 bit untuk menyimpannya. Ini menunjukkan bahwa, untuk mengurangi jumlah akses memori, mesin panjang tetap dapat menyimpan konstanta dalam bit yang tidak terpakai dari kata instruksi itu sendiri, sehingga mereka akan segera siap ketika CPU membutuhkannya (seperti pengalamatan langsung dalam desain konvensional). Ini membutuhkan kode operasi kecil untuk meninggalkan ruang bagi konstanta berukuran wajar dalam kata instruksi 32-bit.

Karena banyak program dunia nyata menghabiskan sebagian besar waktu mereka untuk melakukan operasi sederhana, beberapa peneliti memutuskan untuk fokus pada pembuatan operasi tersebut secepat mungkin. Kecepatan jam CPU dibatasi oleh waktu yang dibutuhkan untuk menjalankan sub-operasi paling lambat dari instruksi apa pun; mengurangi waktu siklus itu sering mempercepat pelaksanaan instruksi lain. Fokus pada "instruksi yang dikurangi" menyebabkan mesin yang dihasilkan disebut "komputer set instruksi yang dikurangi/disederhanakan" (RISC). Tujuannya adalah untuk membuat instruksi yang begitu sederhana sehingga mereka dapat dengan mudah disalurkan, untuk mencapai keluaran jam tunggal pada frekuensi tinggi.

Kemudian, dicatat bahwa salah satu karakteristik yang paling signifikan dari prosesor RISC adalah bahwa memori eksternal hanya dapat diakses oleh instruksi muat atau simpan. Semua instruksi lainnya terbatas pada register internal. Ini menyederhanakan banyak aspek desain prosesor: memungkinkan instruksi untuk menjadi panjang tetap, menyederhanakan pipa, dan mengisolasi logika untuk menangani keterlambatan dalam menyelesaikan akses memori (kehilangan tembolok, dll) ke hanya dua instruksi. Hal ini menyebabkan desain RISC disebut sebagai arsitektur muat-simpan.