Lecture 2: From Code to Instructions. The FDX Cycle. Instruction Level Parallelism.
This class is basically a recap of an "Intro to Machine Organization" class. The topics covered are instruction, assembly code, registers, CISC vs. RISC, CPU organization (CU/ALU), FDX cyle.

A (somewhat simplified) schematic architecture
The Control Unit (CU) controls the "datapath" (i.e., the hardware collection of functional units + registers + data buses), while the Arithmetic Logic Unit (ALU) executes arithmetic and load/store operations.

C code -> intermediate representation -> assembly code -> machine code/instructions
The same C code leads to different assembly code using different ISAs and even using different flags during compilation. An ISA (Instruction Set Architecture) is a set of commands (e.g., sw, addiu, lw) that the CU understands. The two paradigms for ISAs are RISC (Reduced Instruction Set Computing Architecture) and CISC (Complex). The major difference is that in RISC, an instruction is encoded into a fixed set of bits (64), while CISC (e.g., Intel/AMD x86) instructions have various lengths.
- Fetch: An instruction is fetched from memory
- Execute: Once all data (operands) available, instruction is executed

Integrated Circuits: From Transistors to Chip Microarchitecture