Catatan Belajar Teknologi Mikroelektronika, IC, dan AI.
ARM (RISC) dan CISC
Untuk membantu memahami perbedaan filosofi antara ARM (RISC) dan CISC, akan digunakan analogi restoran. sempurna . Bayangkan Anda yang adalah seorang programmer adalah pelanggan yang datang ke restoran dan ingin memesan Nasi Goreng Ayam. Restoran Kompleks menggunakan pendekatan CISC sementara restoran Ringkas menggunakan pendekatan ARM / RISC.
1. Pendekatan CISC (Restoran Kompleks)
Di restoran CISC, menunya sangat lengkap dan spesifik. Pelayan siap melakukan tugas-tugas rumit untuk Anda.
Cara Memesan: Anda cukup berkata kepada pelayan, "Saya pesan Nasi Goreng Ayam satu." (Satu instruksi kompleks).
Di Balik Layar (Dapur): Koki di dapur harus sangat terlatih dan memiliki peralatan masak yang super lengkap dan mahal. Koki harus memotong ayam, menanak nasi, mengulek bumbu, dan menggorengnya sekaligus untuk memenuhi pesanan spesifik Anda.
Kelebihan: Pelanggan (programmer) sangat dimudahkan. Cukup berikan satu perintah, semua beres.
Kekurangan: Dapur restoran ini sangat besar, menggunakan banyak alat elektronik yang boros listrik, menghasilkan panas yang tinggi, dan biaya operasionalnya (jumlah transistor) sangat mahal.
2. Pendekatan ARM / RISC (Restoran Ringkas)
Di restoran ARM, menunya sangat mendasar. Restoran ini tidak menyediakan menu "Nasi Goreng Ayam" yang langsung jadi. Mereka hanya menyediakan instruksi-instruksi dasar.
Cara Memesan: Anda tidak bisa memesan langsung jadi. Anda harus memberikan instruksi satu per satu secara bertahap:
"Tolong ambilkan nasi putih ke piring." (Instruksi 1: Load data dari memori)
"Tolong tambahkan potongan ayam dan bumbu." (Instruksi 2: Load data kedua)
"Tolong aduk dan masak semuanya." (Instruksi 3: Execute / ADD di ALU)
"Tolong sajikan di meja saya." (Instruksi 4: Store kembali hasilnya)
Di Balik Layar (Dapur): Koki di dapur tugasnya sangat sederhana dan gerakannya sangat cepat. Mereka hanya melakukan satu tugas kecil per satu detak waktu.
Kelebihan: Karena tugas kokinya sederhana, dapurnya bisa dibuat sangat kecil, hemat energi (hemat baterai), tidak menghasilkan panas berlebih, dan setiap tugas kecil bisa diselesaikan dengan sangat instan (1 siklus kerja).
Kekurangan: Pelanggan (dalam hal ini adalah Compiler atau bahasa pemrograman) harus lebih repot mendikte langkah-langkahnya secara detail agar makanan bisa tersaji.
Jadi kalau di CISC si koki itu bolak balik sendiri mengambil bahan lalu memasaknya ? Sementara kalau di ARM koki sama sekali tidak boleh mengambil bahan ?
Ya, di CISC si koki itu bolak balik sendiri mengambil bahan lalu memasaknya dan di ARM koki sama sekali tidak boleh mengambil bahan.
Secara teknis perangkat keras, analogi bolak-balik tersebut berjalan seperti ini:
1. Di CISC: Koki Punya Akses Bolak-Balik ke Kulkas (RAM)
Koki CISC memiliki jalur kabel langsung yang terhubung ke memori RAM luar.
Ketika Anda memberikan perintah penjumlahan, sirkuit koki CISC akan menghentikan pekerjaannya sejenak, berjalan ke RAM untuk mengambil bahan pertama, berjalan lagi ke RAM untuk mengambil bahan kedua, lalu kembali ke kompornya untuk memasak.
Efeknya: Proses ini memakan waktu beberapa siklus detak (clock cycles) karena perjalanan bolak-balik ke RAM luar itu relatif lambat bagi sebuah prosesor.
2. Di ARM: Koki "Diharamkan" Menyentuh Kulkas (RAM)
Arsitektur ARM memiliki aturan ketat yang disebut Load/Store Architecture. Sirkuit koki (ALU/Unit Pemroses) sama sekali tidak punya kabel langsung untuk membaca data di dalam RAM. Koki ARM hanya boleh diam di depan kompor.
Semua bahan harus diantarkan oleh "asisten khusus" dan ditaruh di atas meja nampan di sebelah kompor. Meja nampan ini di dalam prosesor disebut Register.
Koki ARM hanya mau mengambil bahan dari Register, memasaknya, dan menaruh hasilnya kembali ke Register.
Jika hasil masakan ingin dimasukkan kembali ke kulkas (RAM), asisten khusus tadi yang harus mengambilnya dari Register dan membawanya ke RAM.
Mengapa aturan ARM ini justru membuatnya lebih cepat?
Meskipun terdengar merepotkan karena harus lewat asisten (Register), aturan ARM ini membawa keuntungan luar biasa:
Kecepatan Konstan: Karena semua bahan sudah siap di nampan (Register) yang letaknya menempel langsung di samping kompor, koki ARM bisa memasak dengan kecepatan super stabil. Hampir setiap masakan selesai hanya dalam 1 siklus detik (clock). Tidak ada waktu yang terbuang untuk menunggu perjalanan ke RAM luar.
Sirkuit Lebih Sederhana: Desainer chip ARM tidak perlu pusing membuat sirkuit koki yang rumit dengan kemampuan navigasi ke RAM. Cukup buat sirkuit koki yang fokus pada fungsi memasak cepat.
KESIMPULAN :
CISC bertindak seperti Restoran Kompleks. Koki di dapur sangat kompleks; dia harus bolak-balik sendiri ke kulkas (RAM) untuk mengambil bahan, memasak, dan mengembalikannya dalam satu perintah tunggal. Hasilnya? Pekerjaan beres, tapi dapurnya sangat boros sumber daya listrik dan cepat panas.
ARM bertindak seperti Restoran Ringkas. Koki diharamkan menyentuh kulkas (RAM). Semua bahan harus diantarkan oleh asisten ke atas nampan antrean (Register). Koki hanya diam di depan kompor dan memasak apa yang ada di nampan. Hasilnya? Dapur sangat kecil, super cepat, dan sangat hemat sumber daya listrik.