Apa singkatan RISC
Reduced Instruction Set Computer
Apa latar belakang Karakteristik eksekusi instruksi?
–Evolusi bahasa pemrograman tingkat tinggi (high-level languages/HLL) telah meningkatkan kompleksitas arsitektur prosesor.
–Perbedaan antara operasi yang didukung oleh HLL dan instruksi perangkat keras menciptakan "semantic gap", yang berdampak pada efisiensi eksekusi dan ukuran program.
–Untuk menjembatani kesenjangan ini, arsitektur prosesor dikembangkan dengan set instruksi yang lebih luas, berbagai mode pengalamatan, dan dukungan terhadap fitur HLL di tingkat hardware
–Operand yang sering diakses harus berada dalam register karena register lebih cepat dibandingkan memori utama dan cache.
–Studi menunjukkan bahwa sebagian besar referensi operand dalam bahasa pemrograman tingkat tinggi (HLL) mengacu pada variabel lokal, sehingga penggunaan register lebih efisien dibandingkan akses ke memori utama.
Apa Pentingnya Optimasi Register oleh Compiler
–Dalam arsitektur RISC, jumlah register yang tersedia terbatas (16–32 register).
–Compiler bertanggung jawab untuk mengalokasikan register sehingga operand tetap berada di register selama mungkin, mengurangi load/store ke memori utama.
–Tujuan utama: Meminimalkan operasi load-store, karena akses ke memori utama lebih lambat dibandingkan akses ke register
Apa Motivasi Pengembangan Arsitektur RISC
–CISC berkembang dengan set instruksi yang kompleks untuk mendukung bahasa pemrograman tingkat tinggi (HLL) secara langsung.
–Dua alasan utama pengembangan CISC:
•Menyederhanakan kerja compiler → Dengan menyediakan instruksi tingkat tinggi yang mirip dengan HLL.
•Meningkatkan kinerja eksekusi → Dengan mengurangi jumlah instruksi dalam program.
–Namun, penelitian menunjukkan bahwa banyak instruksi dalam CISC tidak selalu efisien karena:
•Instruksi yang lebih kompleks sulit dioptimalkan oleh compiler.
•Beberapa instruksi memerlukan lebih banyak siklus eksekusi dibandingkan beberapa instruksi sederhana yang setara
Apa itu Multiprocessor Systems?
Menggunakan lebih dari satu prosesor untuk meningkatkan performa
Apa Aspek Utama dalam Karakteristik Eksekusi Instruksi?
–Operasi yang Dilakukan
•Menentukan fungsi utama prosesor dan interaksinya dengan memori.
•Analisis menunjukkan bahwa instruksi assignment (penugasan) mendominasi eksekusi program, menunjukkan pentingnya pemindahan data yang efisien.
•Selain itu, banyaknya instruksi cabang (IF, LOOP) mengindikasikan pentingnya mekanisme kontrol sekuensial yang dioptimalkan untuk pipelining
–Penggunaan Operand
•Frekuensi dan tipe operand yang digunakan mempengaruhi desain memori dan mode pengalamatan.
•Hasil studi menunjukkan bahwa sebagian besar instruksi hanya beroperasi dengan beberapa operand, sehingga penggunaan register file yang besar lebih efisien dibandingkan ketergantungan pada memori utama
–Sequencing Eksekusi
•Menentukan organisasi kontrol dan pipeline dalam prosesor.
•Instruksi yang sering digunakan dalam program harus dioptimalkan untuk meningkatkan efisiensi pipelining.
•Contohnya, teknik delayed branching dapat mengurangi dampak negatif cabang dalam eksekusi pipeline
Bagaimana cara strategi penggunaan register
•Pendekatan Software (Compiler-Based Optimization)
–Compiler mengoptimalkan alokasi register, memastikan variabel yang sering digunakan tetap berada di register selama mungkin.
–Teknik Register Allocation: Compiler menggunakan analisis program untuk menentukan variabel mana yang harus disimpan di register.
•Pendekatan Hardware (Large Register File)
–Menggunakan jumlah register yang besar, memungkinkan lebih banyak variabel disimpan dalam register tanpa perlu sering mengakses memori utama.
–Pendekatan ini diterapkan pada RISC oleh Berkeley RISC Group dan SPARC Architecture
jelaskan Teknik Graph Coloring dalam Alokasi Register
–Teknik utama dalam optimasi register adalah "Graph Coloring", yang berasal dari disiplin topologi.
–Graph Coloring adalah metode di mana:
•Setiap variabel dalam program dipetakan ke register simbolik.
•Dibuat Register Interference Graph (RIG), di mana setiap node merepresentasikan register dan setiap edge menghubungkan register yang tidak dapat digunakan bersamaan.
•Graf dicat dengan n warna (jumlah register yang tersedia) untuk mengalokasikan register secara optimal.
•Jika beberapa node tidak bisa mendapatkan warna (register yang cukup), maka operand yang tidak mendapatkan register harus dipindahkan ke memori utama
Apa Karakteristik RISC
•Satu Instruksi Per Siklus (One Instruction Per Cycle)
–Setiap instruksi dieksekusi dalam satu siklus mesin, tanpa microcode.
–Hal ini memungkinkan hardwired control unit, yang lebih cepat dibandingkan pendekatan microprogramming di CISC.
•Operasi Register-to-Register
–Sebagian besar operasi dilakukan antara register, bukan langsung dengan memori.
–Hanya instruksi LOAD/STORE yang dapat mengakses memori.
–Keuntungan: Mengurangi ketergantungan pada akses memori yang lebih lambat.
•Mode Pengalamatan Sederhana (Simple Addressing Modes)
–RISC menggunakan sedikit mode pengalamatan, seperti register direct dan immediate addressing.
–Berbeda dengan CISC yang memiliki berbagai mode pengalamatan kompleks seperti indirect addressing dan indexed addressing
•Format Instruksi yang Sederhana
–Instruksi dalam RISC memiliki panjang tetap, misalnya 32-bit.
–Semua instruksi memiliki format yang seragam, mempermudah dekode instruksi dan pipelining.
Sebutkan dengan singkat, Inovasi AOK di tahun 1950
–Konsep Keluarga (Family Concept) - IBM System/360 (1964)
•Memisahkan arsitektur komputer dari implementasinya.
•Berbagai model dengan harga dan performa berbeda tetap menggunakan arsitektur yang sama.
–Unit Kontrol Mikroprogrammed (Microprogrammed Control Unit) - Wilkes (1951), IBM S/360 (1964)
•Mempermudah desain dan implementasi unit kontrol, serta mendukung konsep keluarga komputer.
–Memori Cache - IBM S/360 Model 85 (1968)
•Meningkatkan kecepatan akses data dengan menyisipkan cache dalam hierarki memori.
Apa Implikasi pada Desain Arsitektur Komputer?
Hasil penelitian ini berdampak pada pengembangan dua pendekatan arsitektur utama:
•Complex Instruction Set Computer (CISC)
–Menawarkan set instruksi yang luas dengan banyak mode pengalamatan untuk mendukung HLL.
–Contoh: IBM VAX, Intel x86.
•Reduced Instruction Set Computer (RISC)
–Menggunakan set instruksi sederhana, lebih banyak register, dan fokus pada pipeline optimization.
–Contoh: MIPS R4000, SPARC.
Jelaskan Register Windows (Window-Based Register File)
–Setiap fungsi/prosedur memiliki set register sendiri, sehingga tidak perlu menyimpan atau mengambil data dari memori setiap kali terjadi pemanggilan prosedur.
–Teknik ini mempercepat eksekusi prosedur dan mengurangi overhead penyimpanan ke memori utama.
Jelaskan Contoh Penerapan Graph Coloring dalam Alokasi Register
–Misalkan ada 6 register simbolik, tetapi hanya 3 register fisik tersedia.
Simbolik Register
A dan D => register R1
B => register R2
Register C dan E => Register R3
F => tidak ada regsiter yang tersedia, harus disimpan di memory
Apa Dampak Implementasi RISC
–RISC lebih cepat karena pipeline lebih efisien: Dengan instruksi sederhana dan panjang tetap, pipelining lebih mudah diterapkan.
–Compiler memiliki peran lebih besar dalam optimasi program: Karena RISC memiliki lebih sedikit instruksi kompleks, compiler harus melakukan lebih banyak optimasi untuk menghasilkan kode yang efisien.
–Banyak prosesor modern mengadopsi prinsip RISC: Misalnya, ARM, MIPS, dan PowerPC mengimplementasikan prinsip RISC, sementara arsitektur x86 mulai mengadopsi fitur-fitur RISC-like dalam desainnya
Apa itu Pipeline?
Paralelisme dalam eksekusi instruksi, termasuk instruction pipelining dan vector processing.
Bandingkan RISC dan CISC
Jumlah Instruksi= CISC: Banyak; RISC: Terbatas Format Instruksi= CISC: Variabel; RISC: Tetap Pipeline= CISC: Kompleks; RISC: Efisien Penggunaan Register= CISC: Sedikit; RISC: Banyak Mode Pengalamatan= CISC: Beragam; RISC: Sederhana
Bandingkan Large Register File vs Cache Memory
* Fokus Utama=
Large Register File: Semua variabel lokal disimpan di register;
Cache Memory: Menyimpan data yang baru diakses
* Unit Penyimpanan=
Large Register File: Variabel individu;
Cache Memory: Blok memori
* Efisiensi Akses=
Large Register File: Lebih cepat untuk variabel lokal; Cache Memory: Efektif untuk data yang sering digunakan
* Mekanisme Penyimpanan=
Large Register File: Berdasarkan kedalaman prosedur;
Cache Memory: Menggunakan replacement algorithm
Apa kesimpulan Penerapan Graph Coloring dalam Alokasi Register
Jika terlalu banyak variabel aktif dalam program, beberapa harus disimpan di memori, yang menyebabkan overhead load/store
Jelaskan Pipelining dalam Instruksi RISC
–Pipelining digunakan untuk meningkatkan throughput prosesor dengan memungkinkan beberapa instruksi berjalan secara bersamaan di berbagai tahap eksekusi.
–Instruksi dalam RISC biasanya menggunakan pendekatan register-to-register, sehingga hanya memerlukan dua tahap utama dalam eksekusi:
•I: Instruction Fetch → Mengambil instruksi dari memori.
•E: Execute → Melakukan operasi ALU dengan input dan output dari register.
–Untuk instruksi LOAD/STORE, ada tiga tahap:
•I: Instruction Fetch
•E: Execute (Menghitung alamat memori)
•D: Memory Access (Membaca atau menulis dari/ke memori)
Ciri utama RISC dibanding arsitektur sebelumnya
✅Banyak register umum dan optimalisasi penggunaan register melalui compiler.
✅ Set instruksi yang terbatas dan sederhana.
✅ Optimasi pipeline untuk eksekusi instruksi yang lebih efisien.
Anda mendapat bonus nilai 500
tapi anda lanjut ke pertanyaan selanjutnya
Simpulkan antara Large Register File vs Cache Memory
•Large register file lebih unggul dalam menangani variabel lokal, sementara cache lebih baik dalam menangani data yang sering digunakan secara global
bandingkan Large Register File vs Compiler Optimization
Large Register File
Compiler Optimization
–Tanpa pipelining, setiap instruksi harus menunggu sampai instruksi sebelumnya selesai, menyebabkan banyak waktu idle.
–Dengan pipelining, tahap-tahap dari beberapa instruksi bisa berjalan secara paralel, meningkatkan throughput.
Dengan pipelining, instruksi kedua dapat mulai dieksekusi sebelum instruksi pertama selesai, mengurangi waktu idle.