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-সদৃশ।