Difference between revisions of "Syllabus"

From CSE362 Wiki
Jump to navigationJump to search
 
(280 intermediate revisions by the same user not shown)
Line 1: Line 1:
# The General Purpose Machine
+
{| class="wikitable"
## User's View
+
|+FALL 2018
## Programmer's View
+
|-
## Architect's View
+
|LECTURE
## Logic Designer's View
+
|DATE
# Machines, Machine Languages and Digital Logic
+
|TOPICS
## Classification of Computers
+
|PREPARATION
### 4-, 3-, 2-, 1-, and 0-Address Instructions
+
|ASSIGNED
### Stack-based Machines
+
|DUE
### General Register Machines (1 1/2 Address Machines)
+
 
### Load/Store Machines
+
|-
## Instruction Types
+
|1
### Data Movement Instructions
+
|AUG 28
### Arithmetic and Logic Instructions
+
|Course Introduction<br />Classification of Computers and Instructions<br />Addressing Modes
### Branch Instructions
+
|[[media:Day_1.pdf‎|Course Introduction]]<br />[[media:Ch1CSDA.pdf‎|Chapter 1]]<br />[[media:Ch2CSDA.pdf‎|Chapter 2]]
## Introduction of the SRC (Simple RISC Computer)
+
|Homework 1
### SRC Instruction Set
+
|
### SRC Assembler/Simulator*
+
 
## Using RTN (Register Transfer Notation)
+
|-
### RTN Description of the SRC*
+
|2
## Addressing Modes (w/RTN Descriptions)
+
|AUG 30
### Immediate Addressing
+
|RISC vs. CISC<br />The Really Simple RISC Computer (RSRC)<br />SRC/RSRC Assembly Language
### Direct Addressing
+
|[[media:Ch2CSDA.pdf‎|Chapter 2]]<br />[[media:RISC.pdf‎|The Case for the RISC]]<br />[https://en.wikipedia.org/wiki/David_Patterson_(computer_scientist) David Patterson]<br />[https://www.ece.iastate.edu/profiles/david-ditzel/ David Ditzel]<br />[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer]]<br />[[media:The_RSRC_SRC_Instruction_Set.pdf|The SRC/RSRC Instruction Set]]
### Indirect Addressing
+
|
### Register Direct Addressing
+
|
### Register Indirect Addressing
+
 
### Displacement-based Addressing
+
|-
### Indexed Addressing
+
|3
### Relative Addressing
+
|SEPT 4
## Hardware Implications of RTN
+
|RSRC VHDL/FPGA Implementation
# Processor Design
+
|[[media:EVERYTHING_YOU_ALWAYS_WANTED.PDF|VHDL Tutorial]]<br />[[media:RSRC_Vivado_Tutorial.pdf|RSRC Vivado Tutorial]]<br />[https://www.xilinx.com/video/hardware/creating-basic-clock-constraints.html Xilinx Vivado Clock Constraints Tutorial]
## Introduction to the Design Process
+
|Homework 2
## 1-Bus SRC Microarchitecture (w/VHDL Model)*
+
|Homework 1
### Data Path
+
 
### Control
+
|-
## 2-Bus SRC Microarchitecture
+
|4
## 3-Bus SRC Microarchitecture
+
|SEPT 6
## Reset Considerations
+
|Introduction to Memory<br />Address Decoding<br />Xilinx IP Cores<br />&rarr;Xilinx FPGA Block RAM<br />&rarr;Xilinx Digital Clock Manager (DCM)
## Exceptions/Interrupts
+
|[[media:Ch7CSDA.pdf‎|Chapter 7]]<br />[[media:Am27c256.pdf‎|AM27C256 EPROM Datasheet]]<br />[[media:EPROM_Example.pdf‎|EPROM Example]]<br />[[media:Cy7c199n_8.pdf‎|CY7C199N SRAM Datasheet]]<br />[[media:SRAM_Example.pdf‎|SRAM Example]]
# Memory System Design
+
|
## Components of the Memory System
+
|
## Memory Types
+
 
### EPROM
+
 
#### Example: SRC EPROM Memory Subsystem*
+
|-
### SRAM
+
|5
#### Example: SRC SRAM Memory Subsystem*
+
|SEPT 11
### DRAM (FPM, EDO, VRAM)
+
|Microprogramming the RSRC
#### Example: SRC DRAM Memory Subsystem*
+
|[[media:Ch5CSDA.pdf‎‎|Chapter 5]]<br />[[media:Microprogrammed_RSRC_Control_Unit.pdf‎|Microprogrammed RSRC Control Unit]]<br />[[media:Control.pdf‎|Microprogrammed RSRC CONTROL.VHD]]<br />[[media:Controlstore.pdf‎|Microprogrammed RSRC CONTROLSTORE.VHD]]<br />[[media:Microcodedsrcvhdl.zip|Microcoded RSRC VHDL Zip File]]<br />[[media:64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf|Intel Software Developer's Manual (see pages 285, 339)]]<br />[[media:Microprogrammed_RSRC_Control_Unit_Modifed.pdf|Microprogrammed RSRC Control Unit Modified]]
### SDRAM (SDRAM, DDR, DDR2)
+
|Lab 1
### FLASH Memory
+
|Homework 2
## Memory Modules
+
 
### Example: 72-pin 16 MB FPM DRAM DIMM
+
|-
### Example: 144-pin 64 MB EDO DRAM DIMM
+
|6
### Example: 184-pin 128 MB ECC DDR DRAM DIMM
+
|SEPT 13
## Two-Level Hierarchy
+
|1-Bus vs 2-Bus vs 3-Bus Microarchitecture<br />Introduction to Pipelining
## Cache
+
|[[media:Ch4WDR.pdf‎|Chapter 4]]<br />[[media:Two_Bus_SRC.pdf‎|2-Bus SRC Block Diagrams]]<br />[[media:3_Bus_Block_Diagrams.pdf‎|3-Bus SRC Block Diagrams]]<br />[[media:Ch5CSDA.pdf‎‎|Chapter 5]]<br />[[media:BasicPipelinedSRC.pdf|Basic Pipelined SRC/RSRC]]
### Associative Caches*
+
|
### Direct-Mapped Caches*
+
|
### N-Way Set-Associative Caches*
+
 
### Read/Write/Replacement Policies*
+
|-
## Virtual Memory
+
|7
### Segmentation
+
|SEPT 18
### Paging
+
|Pipelining the SRC/RSRC
### Regaining Lost Ground: The TLB
+
|[[media:Ch5CSDA.pdf‎‎|Chapter 5]]<br />[[media:Table_5P1.pdf|Table 5.1]]<br />[[media:BasicPipelinedSRC.pdf|Basic Pipelined SRC/RSRC]]<br />[[media:Corrected_Figure_5.15.pdf|Corrected Figure 5.15]]
## Overall Memory Subsystem with Introduction to I/O Issues
+
|Homework 3
# Input/Output
+
|
## I/O Subsystems Overview
+
 
## Programmed I/O
+
|-
### General Principles
+
|8
### Example: SRC Stereo Audio Card Using Programmed I/O(w/VHDL Model)*
+
|SEPT 20
## Interrupt-Driven I/O
+
|Pipelined SRC/RSRC VHDL/FPGA Implementation<br /><br />Interrupts/Exceptions
## DMA (Direct Memory Access)
+
|[[media:Ch5CSDA.pdf‎|Chapter 5]]<br />[[media:Pipelined_SRC.pdf‎|Pipelined SRC/RSRC Execution Simulation]]<br />[[media:Ch4WDR.pdf‎|Chapter 4]]
### General Principles
+
|
### Example: SRC Stereo Audio CArd Using DMA Engine(w/VHDL Model)*
+
|
### Example: PCI(e)
+
 
#### Parallel vs. Serial I/O Buses
+
|-
## I/O Error Detection and Correction*
+
|9
### Parity
+
|SEPT 25
### Hamming/SECDED Codes (ECC Memory)
+
|Review
### CRC Codes
+
|
# Peripherals and Peripheral Buses
+
|
## RS-232C
+
|Homework 3<br />Lab 1
## Universal Serial Bus V2.0
+
 
## IEEE 1394 (Firewire)
+
|-
## Video
+
|10
### RS-170
+
|SEPT 27
### NTSC
+
|Exam 1
### VGA, SVGA, HDTV
+
|
## Hard Disks
+
|
# Advanced Topics
+
|
## Pipelining
+
 
### General Principles
+
|-
### Example: Pipelined SRC (w/VHDL Model)*
+
|11
## Instruction Level Parallelism
+
|OCT 2
### Superscalar Processors
+
|Memory DIMMs and Modules<br />Introduction to Schematic Capture
#### General Principles
+
|[[media:Ch7CSDA.pdf‎|Chapter 7]]<br />[[media:ExpressSCH_Quick_Start_Guide.pdf|ExpressSCH Quick Start Guide]]
#### Example: Intel Pentium (1st Superscalar X86 CPU)
+
|Homework 4<br />Lab 2
#### Example: AMD K7 (9-issue, Speculative Out-of-Order Execution, etc.)
+
|
### VLIW Machines
+
 
#### General Principles
+
|-
#### Example: IBM VLIW Prototype
+
|12
#### Example: Intel Itanium/EPIC
+
|OCT 4
## Microprogramming
+
|FPM DRAM<br />SRC/RSRC FPM DRAM Design Examples
### General Principles
+
|[[media:MT4LC8M8B6.pdf‎|FPM DRAM Datasheet]]<br />[[media:FPM_DRAM_Example.pdf|SRC/RSRC FPM DRAM Design Examples]]
### Example: Microprogrammed SRC (w/VHDL Model)*
+
|
## Code Morphing
+
|
### Example: Transmeta Crusoe
+
 
## Extending the Address Space
+
|-
### 16- to 32-bit: Intel 80386
+
|13
### 32- to 64-bit: AMD Hammer vs Intel Itanium
+
|OCT 9
## Multicore CPUs
+
|SDRAM<br />DDR DRAM<br />DDR2 DRAM<br />DDR3 DRAM
### Example: Intel i7-980X
+
|[[media:DRAM_TYPES.pdf‎|DRAM Types]]<br />[[media:MT48LCM8A2.pdf‎|MT48LC8M8A2 SDRAM Datasheet]]<br />[[media:1GbDDRx4x8x16.pdf‎|MT46V128M8 DDR DRAM Datasheet]]<br />[[media:2gbddr2.pdf‎|MT47H256M8 DDR2 DRAM Datasheet]]<br />[[media:4Gb_DDR3_SDRAM.pdf‎|MT41J512M8 DDR3 DRAM Datasheet]]<br />[[media:8Gb_DDR4_SDRAM.pdf|MT40A1G8 DDR4 DRAM]]<br />[https://reference.digilentinc.com/learn/programmable-logic/tutorials/nexys-4-ddr-sram-to-ddr-component/start DDR2 Core for Digilent NEXYS4DDR Board]<br />[https://www.xilinx.com/products/intellectual-property/ddr3.html Xilinx DDR3 Core for 7 Series FPGAs]
 +
|
 +
|Homework 4
 +
 
 +
|-
 +
|14
 +
|OCT 11
 +
|Cache<br />Virtual Memory
 +
|[[media:Ch7CSDA.pdf‎|Chapter 7]]<br />[[media:Cache_Example.pdf‎|SRC/RSRC Cache Example]]<br />[[media:SRC_Cache_Datapath.pdf‎|SRC/RSRC Cache Datapath Example]]<br />[[media:Intel_Haswell_Cache.png|Intel Core i7 (Haswell) Cache Parameters]]<br />[[media:VIRTUAL_MEMORY.pdf‎|Virtual Memory Concepts]]<br />[[media:Virtual_Memory_H&P.pdf|Virtual Memory H&P]]
 +
|Homework 5
 +
|
 +
 
 +
|-
 +
|
 +
|OCT 16
 +
|Fall Break
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
|15
 +
|OCT 18
 +
|Memory-Mapped I/O<br />Shared I/O<br />Polling<br />Interrupt-Driven I/O<br />Direct Memory Access (DMA)<br />The Multi-Master SRC Bus<br />Bus Arbitration
 +
|[[media:Ch8CSDA.pdf‎|Chapter 8]]<br />[[media:Stereo.pdf‎|SRC Stereo Card Bus Alternatives]]<br />[[media:IN_OUT_RTN.pdf|SRC IN and OUT RTN]]<br />[[media:THREE-SLOT_MULTI-MASTER_SRC_MOTHERBOARD.pdf‎|Three-Slot Multi-Master SRC Motherboard]]
 +
|Lab 3
 +
|Lab 2
 +
 
 +
|-
 +
|16
 +
|OCT 23
 +
|The PCI Bus
 +
|[[media:PCI_Lecture.pdf‎|PCI Lecture Notes]]<br />[[media:X86_Chipset_Evolution.pdf|X86 Chipset Evolution]]
 +
|
 +
|Homework 5
 +
 
 +
|-
 +
|17
 +
|OCT 25
 +
|Serial vs. Parallel I/O Buses<br />PCIe
 +
|[[media:LTSPICE_TUTORIAL.pdf‎|LTSPICE Tutorial]]<br />[[media:Reflection_Lecture.pdf‎|Reflection Lecture]]<br />[[media:PCIe_Lecture.pdf‎|PCIe Lecture]]
 +
|Homework 6
 +
|
 +
 
 +
|-
 +
|18
 +
|OCT 30
 +
|Parity<br />Hamming Codes<br />ECC Memory
 +
|[[media:Ch8CSDA.pdf‎|Chapter 8]]<br />[[media:Coding_Theory_001.pdf‎|Coding Theory 101]]<br />[[media:Hamming_Code_Example_With_Odd_Parity.pdf|Hamming Codes]]<br />[http://www.verien.com/pcie_primer.htm PCIe CRC]
 +
|
 +
|
 +
 
 +
|-
 +
|19
 +
|NOV 1
 +
|Disks<br />Video<br />DACs<br />ADCs
 +
|[[media:Ch9CSDA.pdf‎|Chapter 9]]<br />[[media:Video_Example.pdf‎|SRC Video Example]]<br />[[media:R2R_DAC.pdf‎|R2R DAC Example]]<br />[[media:2-Bit_Flash_ADC.pdf|Flash ADC Example]]
 +
|
 +
|Homework 6
 +
 
 +
|-
 +
|20
 +
|NOV 6
 +
|USB 2.0/3.0<br />IEEE 1394 (Firewire)
 +
|[[media:Ch10CSDA.pdf‎|Chapter 10]]<br />[[media:Usb_20.pdf|USB 2.0 Specification]]
 +
|
 +
|Lab 3
 +
 
 +
|-
 +
|21
 +
|NOV 8
 +
|Exam 2
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
|22
 +
|NOV 13
 +
|Very Long Instruction Word (VLIW) Computing<br />Superscalar/Out-of-Order Processing
 +
|[[media:CPU History.pdf|CPU History]]<br />[[media:Fisher_Paper_1.pdf‎|Fisher Paper 1]]<br />[[media:Fisher_Paper_2.pdf‎|Fisher Paper 2]]<br />[[media:VLIW.pdf‎|VLIW Notes]]<br />[[media:K7pres.pdf‎|AMD K7 Presentation]]
 +
|
 +
|
 +
 
 +
|-
 +
|23
 +
|NOV 15
 +
|Explicitly Parallel Instruction Computing (EPIC)<br />64-Bit Desktop Computing: AMD vs. Intel
 +
|[[media:Itanium.ua_ovw.pdf‎|Intel Intanium]]<br />[[media:MPF_Hammer_Presentation.pdf|AMD Hammer]]
 +
|
 +
|
 +
 
 +
|-
 +
|24
 +
|NOV 20
 +
|Transmeta Crusoe
 +
|[https://www.ece.iastate.edu/profiles/david-ditzel David Ditzel]<br />[[media:Paper_aklaiber_19jan00.pdf‎|Transmeta Crusoe White Paper]]<br />[[media:Transmeta_Laptop.pdf|HP Transmeta Crusoe Laptop]]
 +
|
 +
|
 +
 
 +
|-
 +
|
 +
|NOV 22
 +
|Thanksgiving Break
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
|25
 +
|NOV 27
 +
|Symmetric Multiprocessing (SMP)<br />Simultaneous Multithreading (SMT)<br />Introduction to Multicore/Cache Coherency<br />&rarr;Global Directory<br />&rarr;MESI (Snoopy/Pentium II)<br />&rarr;MOESI (ccNUMA/AMD Hammer)<br />&rarr;MESIF (ccNUMA/Intel Xeon Phi)
 +
|[[media:Intel-core-x-series-processor-overview.pdf|Intel Core i9]]<br />[[media:O13-024-sparc-t5-architecture-1920540.pdf|SPARC T5]]<br />[[media:01675013.pdf|Censier Paper]]<br />[[media:Papamarcos.isca84.pdf‎|Illinois Protocol Paper (1984)]]<br />[[media:29056402.pdf|Intel Pentium II MESI Chipset]]<br />[[media:MPF_Hammer_Presentation.pdf|AMD Hammer]]<br />[[media:Intel_Xeon_Phi_Whitepaper.pdf|Intel Xeon Phi]]
 +
|
 +
|
 +
 
 +
|-
 +
|26
 +
|NOV 29
 +
|Deep Dive: The Illinois Protocol (MESI)
 +
|[[media:Papamarcos.isca84.pdf‎|Illinois Protocol Paper (1984)]]<br />[[media:29056402.pdf|Intel Pentium II MESI Chipset]]
 +
|
 +
|
 +
 
 +
|-
 +
|27
 +
|DEC 4
 +
|Supercomputing
 +
|[https://en.wikipedia.org/wiki/TOP500 Top 500]<br />[https://en.wikipedia.org/wiki/FLOPS FLOPS]<br />[http://www.roylongbottom.org.uk/linpack%20results.htm Longbottom's Linpack Page]<br /n>[https://www.mir.wustl.edu/research/research-support-facilities/center-for-high-performance-computing-chpc WUSTL CHPC]<br />[https://source.wustl.edu/2017/12/view-12-4-17/#jp-carousel-245238 CHPC Photo]<br />[http://clusters.engineering.wustl.edu/index.php/Lab_Cluster WUSTL SEAS Linux Lab Cluster]
 +
|
 +
|
 +
 
 +
|-
 +
|28
 +
|DEC 6
 +
|Exam 3
 +
|
 +
|
 +
|
 +
 
 +
|}

Latest revision as of 18:13, 12 September 2018

FALL 2018
LECTURE DATE TOPICS PREPARATION ASSIGNED DUE
1 AUG 28 Course Introduction
Classification of Computers and Instructions
Addressing Modes
Course Introduction
Chapter 1
Chapter 2
Homework 1
2 AUG 30 RISC vs. CISC
The Really Simple RISC Computer (RSRC)
SRC/RSRC Assembly Language
Chapter 2
The Case for the RISC
David Patterson
David Ditzel
The Really Simple RISC Computer
The SRC/RSRC Instruction Set
3 SEPT 4 RSRC VHDL/FPGA Implementation VHDL Tutorial
RSRC Vivado Tutorial
Xilinx Vivado Clock Constraints Tutorial
Homework 2 Homework 1
4 SEPT 6 Introduction to Memory
Address Decoding
Xilinx IP Cores
→Xilinx FPGA Block RAM
→Xilinx Digital Clock Manager (DCM)
Chapter 7
AM27C256 EPROM Datasheet
EPROM Example
CY7C199N SRAM Datasheet
SRAM Example


5 SEPT 11 Microprogramming the RSRC Chapter 5
Microprogrammed RSRC Control Unit
Microprogrammed RSRC CONTROL.VHD
Microprogrammed RSRC CONTROLSTORE.VHD
Microcoded RSRC VHDL Zip File
Intel Software Developer's Manual (see pages 285, 339)
Microprogrammed RSRC Control Unit Modified
Lab 1 Homework 2
6 SEPT 13 1-Bus vs 2-Bus vs 3-Bus Microarchitecture
Introduction to Pipelining
Chapter 4
2-Bus SRC Block Diagrams
3-Bus SRC Block Diagrams
Chapter 5
Basic Pipelined SRC/RSRC
7 SEPT 18 Pipelining the SRC/RSRC Chapter 5
Table 5.1
Basic Pipelined SRC/RSRC
Corrected Figure 5.15
Homework 3
8 SEPT 20 Pipelined SRC/RSRC VHDL/FPGA Implementation

Interrupts/Exceptions
Chapter 5
Pipelined SRC/RSRC Execution Simulation
Chapter 4
9 SEPT 25 Review Homework 3
Lab 1
10 SEPT 27 Exam 1
11 OCT 2 Memory DIMMs and Modules
Introduction to Schematic Capture
Chapter 7
ExpressSCH Quick Start Guide
Homework 4
Lab 2
12 OCT 4 FPM DRAM
SRC/RSRC FPM DRAM Design Examples
FPM DRAM Datasheet
SRC/RSRC FPM DRAM Design Examples
13 OCT 9 SDRAM
DDR DRAM
DDR2 DRAM
DDR3 DRAM
DRAM Types
MT48LC8M8A2 SDRAM Datasheet
MT46V128M8 DDR DRAM Datasheet
MT47H256M8 DDR2 DRAM Datasheet
MT41J512M8 DDR3 DRAM Datasheet
MT40A1G8 DDR4 DRAM
DDR2 Core for Digilent NEXYS4DDR Board
Xilinx DDR3 Core for 7 Series FPGAs
Homework 4
14 OCT 11 Cache
Virtual Memory
Chapter 7
SRC/RSRC Cache Example
SRC/RSRC Cache Datapath Example
Intel Core i7 (Haswell) Cache Parameters
Virtual Memory Concepts
Virtual Memory H&P
Homework 5
OCT 16 Fall Break
15 OCT 18 Memory-Mapped I/O
Shared I/O
Polling
Interrupt-Driven I/O
Direct Memory Access (DMA)
The Multi-Master SRC Bus
Bus Arbitration
Chapter 8
SRC Stereo Card Bus Alternatives
SRC IN and OUT RTN
Three-Slot Multi-Master SRC Motherboard
Lab 3 Lab 2
16 OCT 23 The PCI Bus PCI Lecture Notes
X86 Chipset Evolution
Homework 5
17 OCT 25 Serial vs. Parallel I/O Buses
PCIe
LTSPICE Tutorial
Reflection Lecture
PCIe Lecture
Homework 6
18 OCT 30 Parity
Hamming Codes
ECC Memory
Chapter 8
Coding Theory 101
Hamming Codes
PCIe CRC
19 NOV 1 Disks
Video
DACs
ADCs
Chapter 9
SRC Video Example
R2R DAC Example
Flash ADC Example
Homework 6
20 NOV 6 USB 2.0/3.0
IEEE 1394 (Firewire)
Chapter 10
USB 2.0 Specification
Lab 3
21 NOV 8 Exam 2
22 NOV 13 Very Long Instruction Word (VLIW) Computing
Superscalar/Out-of-Order Processing
CPU History
Fisher Paper 1
Fisher Paper 2
VLIW Notes
AMD K7 Presentation
23 NOV 15 Explicitly Parallel Instruction Computing (EPIC)
64-Bit Desktop Computing: AMD vs. Intel
Intel Intanium
AMD Hammer
24 NOV 20 Transmeta Crusoe David Ditzel
Transmeta Crusoe White Paper
HP Transmeta Crusoe Laptop
NOV 22 Thanksgiving Break
25 NOV 27 Symmetric Multiprocessing (SMP)
Simultaneous Multithreading (SMT)
Introduction to Multicore/Cache Coherency
→Global Directory
→MESI (Snoopy/Pentium II)
→MOESI (ccNUMA/AMD Hammer)
→MESIF (ccNUMA/Intel Xeon Phi)
Intel Core i9
SPARC T5
Censier Paper
Illinois Protocol Paper (1984)
Intel Pentium II MESI Chipset
AMD Hammer
Intel Xeon Phi
26 NOV 29 Deep Dive: The Illinois Protocol (MESI) Illinois Protocol Paper (1984)
Intel Pentium II MESI Chipset
27 DEC 4 Supercomputing Top 500
FLOPS
Longbottom's Linpack Page
WUSTL CHPC
CHPC Photo
WUSTL SEAS Linux Lab Cluster
28 DEC 6 Exam 3