Difference between revisions of "Syllabus"

From CSE362 Wiki
Jump to navigationJump to search
Line 104: Line 104:
 
#### General Principles (Joseph Fisher)
 
#### General Principles (Joseph Fisher)
 
#### Example: IBM VLIW Prototype
 
#### Example: IBM VLIW Prototype
 +
#### Example: Intel i860
 
#### Example: Intel Itanium/EPIC
 
#### Example: Intel Itanium/EPIC
 
## Microprogramming
 
## Microprogramming

Revision as of 17:18, 2 December 2015

  1. The General Purpose Machine
    1. User's View
    2. Programmer's View
    3. Architect's View
    4. Logic Designer's View
  2. Machines, Machine Languages and Digital Logic
    1. Classification of Computers
      1. 4-, 3-, 2-, 1-, and 0-Address Instructions
      2. Stack-based Machines
      3. General Register Machines (1 1/2 Address Machines)
      4. Load/Store Machines
    2. Instruction Types
      1. Data Movement Instructions
      2. Arithmetic and Logic Instructions
      3. Branch Instructions
    3. Introduction of the SRC (Simple RISC Computer)
      1. SRC Instruction Set
      2. SRC Assembler/Simulator*
    4. Using RTN (Register Transfer Notation)
      1. RTN Description of the SRC*
    5. Addressing Modes (w/RTN Descriptions)
      1. Immediate Addressing
      2. Direct Addressing
      3. Indirect Addressing
      4. Register Direct Addressing
      5. Register Indirect Addressing
      6. Displacement-based Addressing
      7. Indexed Addressing
      8. Relative Addressing
    6. Hardware Implications of RTN
  3. Processor Design
    1. Introduction to the Design Process
    2. 1-Bus SRC Microarchitecture (w/VHDL Model)*
      1. Data Path
      2. Control
    3. 2-Bus SRC Microarchitecture
    4. 3-Bus SRC Microarchitecture
    5. Reset Considerations
    6. Exceptions/Interrupts
  4. Memory System Design
    1. Components of the Memory System
    2. Memory Types
      1. EPROM
        1. Example: SRC EPROM Memory Subsystem*
      2. SRAM
        1. Example: SRC SRAM Memory Subsystem*
      3. DRAM (FPM, EDO, VRAM)
        1. Example: SRC DRAM Memory Subsystem*
      4. SDRAM (SDRAM, DDR, DDR2)
      5. FLASH Memory
    3. Memory Modules
      1. Example: 72-pin 16 MB FPM DRAM DIMM
      2. Example: 144-pin 64 MB EDO DRAM DIMM
      3. Example: 184-pin 128 MB ECC DDR DRAM DIMM
    4. Two-Level Hierarchy
    5. Cache
      1. Associative Caches*
      2. Direct-Mapped Caches*
      3. N-Way Set-Associative Caches*
      4. Read/Write/Replacement Policies*
    6. Virtual Memory
      1. Segmentation
      2. Paging
      3. Regaining Lost Ground: The TLB
    7. Overall Memory Subsystem with Introduction to I/O Issues
  5. Input/Output
    1. I/O Subsystems Overview
    2. Programmed I/O
      1. General Principles
      2. Example: SRC Stereo Audio Card Using Programmed I/O(w/VHDL Model)*
    3. Interrupt-Driven I/O
    4. DMA (Direct Memory Access)
      1. General Principles
      2. Example: SRC Stereo Audio Card Using DMA Engine(w/VHDL Model)*
      3. Example: PCI(e)
        1. Parallel vs. Serial I/O Buses
    5. I/O Error Detection and Correction*
      1. Parity
      2. Hamming/SECDED Codes (ECC Memory)
      3. CRC Codes
  6. Peripherals and Peripheral Buses
    1. RS-232C
    2. Universal Serial Bus V2.0
    3. IEEE 1394 (Firewire)
    4. Video
      1. RS-170
      2. NTSC
      3. VGA, SVGA, HDTV
      4. GPUs
        1. Example: NVIDIA FERMI CUDA GPU Architecture
        2. Example: Simple GPU for the 1-bus SRC
    5. Hard Disks
  7. Advanced Topics
    1. Pipelining
      1. General Principles
      2. Example: Pipelined SRC (w/VHDL Model)*
      3. Flynn Limit
    2. Instruction Level Parallelism
      1. Superscalar Processors
        1. General Principles
        2. Example: Intel Pentium (1st Superscalar X86 CPU)
        3. Example: AMD K7 (9-issue, Speculative Out-of-Order Execution, etc.)
      2. VLIW Machines
        1. General Principles (Joseph Fisher)
        2. Example: IBM VLIW Prototype
        3. Example: Intel i860
        4. Example: Intel Itanium/EPIC
    3. Microprogramming
      1. General Principles
      2. Example: Microprogrammed SRC (w/VHDL Model)*
    4. Code Morphing
      1. Example CPU: Transmeta Crusoe
      2. Example System: HP Laptop
    5. Extending the Address Space
      1. 16- to 32-bit: Intel 80386
      2. 32- to 64-bit: AMD Hammer vs Intel Itanium
    6. Multicore CPUs
      1. Amdahl's Law
      2. Symetric Multiprocessing (SMP)
        1. Example: Intel i7-980X
      3. Cache Coherency
        1. MESI (Illinois Protocol)
        2. MESIF (Intel starting with Nahelem)
        3. MOESI (AMD starting with AMD64)
      4. Simultaneous Multi-Threading (SMT)
        1. Intel Hyperthreading
        2. Sun Microsystems Barrel Processors
      5. ccNUMA
        1. AMD Opteron
      6. OpenMP
      7. Intel Xeon Phi