ECE 2020: Outline
- Introduction to Computing Systems
- building complex systems out of simple elements
- examples in today's products
- architecture block diagram: computation, storage, I/O, program
- Switch Design
- behavior versus implementation
- truth tables
- switch combinations: series and parallel
- semiconductor switches: n-type and p-type
- implementing logical functions
- implementing basic gates
- introduction to VLSI technology
- Boolean Algebra
- Boolean expressions and algebra
- DeMorgan's square and DeMorgan's theorem
- standard forms: SOP/POS using min/max terms
- Gate Design
- designing with gates versus switches
- decoupling behavior and implementation using mixed logic
- implementing SOP and POS expressions
- gate delay and energy dissipation
- pass gates and floating outputs
- Simplification
- expression simplification
- Karnaugh maps
- negative logic and don't cares
- Building Blocks
- binary representation of numbers
- powers of two
- encoders/decoders
- pass gates and tri-state outputs
- multiplexers/demultiplexers
- programmable logic arrays
- Number Systems
- words versus bits
- notations: decimal, binary, hexadecimal
- representations: unsigned versus two's complement
- representations: integer, fixed point, and floating point
- symbolic representations
- Arithmetic
- addition and subtraction
- ranges and resolutions
- errors and overflows
- adder/subtractor implementation
- Latches and Registers
- need for state
- combinational vs. sequential logic
- bistable element using basic gates
- RS latch
- transparent latch
- shift register
- registers
- two phase non-overlapping clocking
- edge versus level sensitive triggering
- read enable and write enable
- energy and power in a clocked system
- Counters
- basic toggle cell operation
- building binary counters
- building divide by N counters
- cascading multi-digit counters
- State Machines
- state machine operation
- transition diagrams
- transition tables
- state machine implementation: Moore and Mealy
- state machine operation in behavioral HDL
- in-class mini-lab: state machines
- Memory
- memory cell behavior and protocol
- static random access memory (SRAM) cell
- dynamic RAM (DRAM) cell
- memory chip organization
- building memory systems
- bit, byte, and word addressing
- alignment, byte order
- Datapaths
- operands: register file and immediate values
- execution units: adder/subtractor, logical unit, shifter
- basic datapath: three bus architecture
- memory interface
- programming datapaths in microcode
- Introductory Assembly Programming
- basic computer organization
- instruction formats
- datapath operations: arithmetic, logical, shift, memory
- conditional execution (if-then-else)
- basic loops (while)