Elements of Computing Systems // 1: boolean logic
Basic logic gates (AND, OR, NAND) are the most atomic building blocks of computers and can quickly be combined to create chips capable of arithmetic.
- Examples of gates: And, Or, Xor, Multiplexer, Demultiplexer, + multi bit versions
- Boolean truth table (each permutation) can be derived from boolean expression, and vice versa
- HDL (Hardware Description Language) used to define logic of chip, which can be handed to manufacturers
- Those specs typically ran through all test cases
- Bitwise operators - apply operator to each bit in given operands
- Multi-way/Multi-bit inputs work the same but allow M inputs. For a multiplexer/demultiplexer, there need to be log2m inputs to select the right input
- Log2(3) = 8 === 2 to power of 3 = 8
- Behavioral simulation - implementing logic in conventional code, to test before committing to HDL
- Use of boolean algebra to describe behavior of logic gates articulated by Claude Shannon in 1937. Argued most important MSc thesis in comp sci