Short CO1 questions in the exact style of Q1(a)/(c). Answer aloud, then reveal.
1.1State Moore’s Law and summarize its consequences.
Moore’s Law (Gordon Moore, 1965): the number of transistors that can be placed on an integrated-circuit chip doubles approximately every two years.
Consequences: (1) the cost of computer logic and memory circuitry has fallen dramatically; (2) shorter electrical path length increases operating speed; (3) computers become smaller and more convenient to use in many environments. → Cheaper, faster, smaller.
1.2Distinguish computer architecture from computer organization.
Architecture = attributes visible to the programmer (instruction set, data word length, registers, addressing modes, I/O). Organization = the hardware realization hidden from the programmer (control signals, buses, memory technology). Same architecture can have different organizations.
1.3Put these in order and name what each does: Loader, Compiler, Linker, Assembler.
Compiler → Assembler → Linker → Loader.
Compiler: C → assembly. Assembler: assembly → object (machine) module. Linker: combines object modules and library routines into one executable. Loader: places the executable into memory to run.
1.4Explain how abstraction helps programmers cope with complexity (with a diagram).
Abstraction hides the details of each lower level behind a simple interface, so a programmer works at one level without understanding the one below. The layers:
High-level language
Assembly
Machine code
Hardware
Each layer is designed independently: the C programmer ignores transistors, the compiler writer ignores silicon. This division of concerns is what makes large systems buildable.
1.5What is RISC vs CISC? Give two examples of each and say which one MIPS is.
RISC = Reduced Instruction Set Computing: simple, fixed-length instructions (ARM, MIPS, PowerPC, RISC-V). CISC = Complex Instruction Set Computing: complex, variable-length instructions (Intel x86, IBM System/360). MIPS is RISC — every instruction is exactly 32 bits.
1.6Convert a = b − c to mid-level and low-level language. What are these three levels called?
High-level: a = b − c; → Mid-level (assembly): sub $s0, $s1, $s2 → Low-level (machine code): the 32-bit binary encoding.
High-level language → assembly language → machine language. (The full binary encoding of sub is worked in the MIPS chapter.)
1.7What is a register, and what is it built from?
A register is fast on-chip storage built from flip-flops, holding a fixed number of bits (8/16/32). It captures its input on each clock edge and supplies operands to the ALU.