Difficulty: Medium
Correct Answer: Have both their operands in the main store.
Explanation:
Introduction / Context:
Instruction-set architectures (ISAs) classify instructions by where operands are fetched and where results are written. Understanding Storage-to-Storage (memory-to-memory) operations helps distinguish them from Register-to-Register and Register-to-Storage formats, which impact performance, code density, and CPU design.
Given Data / Assumptions:
Concept / Approach:
Storage-to-Storage instructions fetch both source operands directly from memory and typically store the result back to memory, minimizing explicit register use. This differs from Register-to-Storage (one operand in a register, one in memory) and Register-to-Register (both operands in registers).
Step-by-Step Solution:
Verification / Alternative check:
Examining an ISA manual that lists “MOVS”, “CMPS”, or block memory ops confirms that some instructions read two memory locations and update memory directly without explicit general-purpose register destinations.
Why Other Options Are Wrong:
Common Pitfalls:
Assuming all modern CPUs forbid memory-to-memory ALU ops. Some CISC ISAs retain them; RISC designs prefer register-based operations for pipeline simplicity.
Final Answer:
Have both their operands in the main store.
Discussion & Comments