Digital Systems I (3-0-3)
Prerequisite: CS 1
Course Objective: Basic concepts of hierarchical
and modular design for digital computational systems. Boolean functions,
logic gates and switches, combinational and sequential circuits, and digital
arithmetic. Role of the basic datapath, controller, and memory system in
the overall machine architecture.
Text: at the level of Mano & Kime, Logic
and Computer Design Fundamentals, Prentice-Hall, 1997.
Introduction: Digital Systems and Computer Architecture { 0.5 weeks
}
- Levels of abstraction, hierarchical and modular design principles
- Design tools and simulation
Number Systems and Codes { 1 week }
- Notations vs. representations
- Signed representations
- Operations (addition, subtraction)
Switches, Gates, and VLSI Circuits { 2 weeks }
- Binary values, Logical functions, Boolean algebra
- Expressions, truth tables, standard forms
- Simplification, Karnaugh maps, don't cares
- Basic gate types, mixed-logic notation
- VLSI technology: MOSFET switches
- Designing with switches
Combinational Design { 2 weeks }
- Design using logic gates
- Multiplexers, demultiplexers, decoders, encoders; pass gate implementations
- Adders, subtractors
Sequential Design { 2 weeks }
- Transparent latch, flip-flops, registers
- Clocking schemes (single clock, complementary, two-phase)
- Shift registers, counters, state machine design
Datapath Architectures { 1 week }
- Basic datapath, bus organizations
- Register file, adder/subtractor, logical/shift unit
- Datapath timing, register transfer notation
Controller Design { 1 week }
- State machine, hardwired vs. microprogrammed control
- Instruction decoding: opcode,operands,basic addressing modes
- Program counter, unconditional and conditional branching
Basic Memory System { 1 week }
- Memory protocol, linear addressable memory
- Memory interface, system I/O
Introduction to Instruction Set Architectures { 3 weeks }
- Instruction set issues (orthogonality, regularity, RISC vs. CISC)
- Relationship to datapath and controller
- Operands, data types, addressing modes
- Data manipulation instructions
Control flow, subroutines, interrupts