The abstract hardware–software contract: the instructions, registers, addressing modes, and data types a processor exposes to software (independent of how the chip is physically built).
ISA vs microarchitecture?
ISA = visible interface/"menu" (e.g. x86-64); microarchitecture = the internal implementation/"kitchen" (e.g. Intel's vs AMD's design of the same ISA).
The single deepest RISC vs CISC difference?
Where complexity lives — CISC pushes it into hardware (fat instructions); RISC pushes it into the compiler/software (simple instructions).
Define a load/store architecture.
Arithmetic/ALU instructions operate only on registers; memory is accessed solely via explicit LOAD and STORE instructions. (RISC hallmark.)
State the Iron Law of processor performance.
Time = IC × CPI × T_cycle (instruction count × cycles per instruction × clock period).
Derive why the Iron Law's units work out.
(instr/prog)·(cyc/instr)·(s/cyc): instr and cyc cancel → s/prog = total CPU time.
Which Iron-Law factor does CISC reduce, and what does it cost?
Reduces IC; costs higher CPI and harder-to-shrink clock period.
Which factors does RISC favor?
Low CPI (~1 via pipelining) and short T_cycle; accepts a higher IC.
Why does fixed-length encoding help RISC?
Uniform instructions decode and pipeline easily → low CPI and faster clock.
Common misread of "RISC"?
That it means fewer instructions in the ISA; really it means reduced complexity per instruction.
How do modern x86 CPUs blur the line?
They decode CISC instructions into RISC-like micro-ops (µops) and run those in a RISC-style pipeline — CISC outside, RISC inside.
Recall Feynman: explain it to a 12-year-old (hidden — try first!)
Imagine giving instructions to a robot to make a sandwich.
CISC robot: you say "make a sandwich!" — one big command. The robot has tons of built-in machinery to figure out all the little steps. Short for you, complicated robot.
RISC robot: you must say "pick up bread… spread butter… add cheese… close bread." — many tiny commands. The robot is simple and does each tiny step super fast, but you (the compiler) have to think harder and talk more.
Neither is "best" — it depends on whether you'd rather have a clever robot or a clever instructor. And the ISA is just the list of words the robot promises to understand.
Dekho, ISA matlab Instruction Set Architecture — ye CPU aur software ke beech ka contract hai. ISA batata hai ki processor kaun-kaun se instructions samajhta hai, kitne registers hain, memory kaise access hoti hai. Yaad rakho: ISA = menu (kya order kar sakte ho), microarchitecture = kitchen (chef andar kaise banata hai). Ek hi ISA (jaise x86-64) ko Intel aur AMD alag-alag tarike se banate hain.
Ab RISC vs CISC ek design philosophy ki ladai hai. Ek hi line yaad kar lo: CISC complexity ko hardware me daalta hai, RISC complexity ko compiler/software me daalta hai. CISC me ek hi mota instruction (jaise ADD A,B) sidhe memory pe kaam kar leta hai — instruction count kam, par har instruction multi-cycle (CPI zyada). RISC me sirf load/store hi memory chhuते hain, baaki sab register-to-register; instructions chhote, fixed-length, isliye pipeline me fit ho jaate hain aur CPI ~1 ho jaata hai.
Performance samajhne ke liye Iron Law hai: T=IC×CPI×Tcycle. CISC IC kam karta hai par CPI badha leta hai; RISC IC thoda badha leta hai par CPI aur clock period dono chhote kar leta hai. Koi "hamesha fast" nahi — workload pe depend karta hai. Aur ek important baat: aaj ke x86 chips andar se CISC instructions ko chhote micro-ops (µops) me todke RISC-style pipeline me chalate hain — yaani bahar CISC, andar RISC. Exam me ye line likh doge to professor khush.