Foundationপ্রথম নীতি থেকে
LEVEL 3 · CPU Architecture

RISC

রিস্ক (সরলীকৃত ইনস্ট্রাকশন সেট কম্পিউটার)

Reduced Instruction Set Computer — সরল, fixed-length, uniform instruction; শুধু LOAD/STORE memory ছোঁয়, বাকি সব register-এ। Pipelining-বান্ধব ডিজাইনের জন্য ১৯৮০-র দশকে জন্ম।

also: RISC

১৯৮০-এ Patterson ও Ditzel-এর measurement দেখাল compiler CISC-এর জটিল instruction (VAX-এর POLY-এর মতো) প্রায় ব্যবহারই করে না — বেশিরভাগ execute-হওয়া instruction সরল (move, add, compare, branch)। উপসংহার: জটিল instruction বাদ দিয়ে সরল instruction-গুলোকেই দ্রুততম করো।

চারটা মূল সিদ্ধান্ত: fixed-length encoding, load-store architecture (arithmetic শুধু register-এ, memory ছোঁয় শুধু LOAD/STORE), বড় register file (৩২টা সাধারণ), hardwired control (microcode না)।

Fixed-length-এর আসল সুবিধা pipelining-এ — পরের instruction ঠিক কোথায় শুরু তা decode ছাড়াই জানা যায় (PC + 4), তাই একাধিক instruction সমান্তরালে fetch/decode করা সহজ।

উদাহরণ: MIPS, ARM/ARM64, RISC-V, SPARC, PowerPC। এই platform-এর CPU Emulator প্রজেক্ট RISC-V RV32I বেছেছে ঠিক এই সরলতার জন্যই।

RISC-V-এর একটা চমকপ্রদ ব্যতিক্রম — কোনো flags/condition-code register নেই; BLT/BEQ-এর মতো instruction সরাসরি দুইটা register তুলনা করে branch নেয়, hazard-tracking সরল রাখতে।

“কম instruction = ভালো” ভুল ধারণা — আসল প্রশ্ন জটিলতা কোথায় রাখা হচ্ছে (hardware-এ, না compiler-এ), কতটা কমছে না। আধুনিক x86-64-ও ভেতরে RISC-সদৃশ micro-op-এ instruction ভাঙে (P6/Pentium Pro, ১৯৯৫ থেকে) — ISA বাইরে CISC, বাস্তবায়ন ভেতরে RISC-সদৃশ।