Pendahuluan
Karakteristik Eksekusi Instruksi
The Use of a Large Register File
Compiler-Based Register Optimization
Reduced Instruction Set Architecture
100

Apa singkatan RISC

Reduced Instruction Set Computer

100

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

100
Apa pentingnya register dalam eksekusi instruksi

–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.

100

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

100

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

200

Apa itu Multiprocessor Systems?

Menggunakan lebih dari satu prosesor untuk meningkatkan performa

200

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

200

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


200

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

200

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.

300

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.

300

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.

300

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.

300

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

300

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

400

Apa itu Pipeline?

Paralelisme dalam eksekusi instruksi, termasuk instruction pipelining dan vector processing.

400

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

400

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

400

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

400

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)

500

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.

500

Anda mendapat bonus nilai 500

tapi anda lanjut ke pertanyaan selanjutnya

500

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

500

bandingkan Large Register File vs Compiler Optimization

  • Large Register File

    • Keuntungan: Mengurangi kebutuhan akses ke memori, sehingga meningkatkan kecepatan eksekusi instruksi.
    • Kekurangan: Memerlukan lebih banyak transistor dan daya, yang dapat meningkatkan kompleksitas dan konsumsi energi prosesor.
  • Compiler Optimization

    • Keuntungan: Mengurangi kompleksitas hardware dengan mengoptimalkan penggunaan register melalui teknik kompilasi.
    • Kekurangan: Tidak selalu optimal jika register sudah penuh, karena tetap memerlukan akses ke memori utama dalam beberapa kasus.
500
Jelaskan Skema pipelining pada RISC

–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.

M
e
n
u