Difference between revisions of "Syllabus"

From CSE362 Wiki
Jump to navigationJump to search
 
(294 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
## Instruction Sets
+
|ASSIGNED
## Introduction of the SRC (Simple RISC Computer)
+
|DUE
## Using RTN (Register Transfer Notation)
+
 
## Addressing Modes
+
|-
## Hardware Implications of RTN
+
|1
# Processor Design
+
|AUG 28
## Design Process
+
|Course Introduction<br />Classification of Computers and Instructions<br />Addressing Modes
## SRC 1-Bus Microarchitecture
+
|[[media:Day_1.pdf‎|Course Introduction]]<br />[[media:Ch1CSDA.pdf‎|Chapter 1]]<br />[[media:Ch2CSDA.pdf‎|Chapter 2]]
## Data Paths
+
|Homework 1
## Logic Design
+
|
## Control
+
 
## Multiple-Bus Designs
+
|-
## Reset
+
|2
## Design Expectations
+
|AUG 30
# Memory System Design
+
|RISC vs. CISC<br />The Really Simple RISC Computer (RSRC)<br />SRC/RSRC Assembly Language
## Components of the Memory System
+
|[[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]]
## RAM Structure
+
|
## Memory Modules
+
|
## Two-Level Hierarchy
+
 
## Cache
+
|-
### Associative Caches*
+
|3
### Direct-Mapped Caches*
+
|SEPT 4
### N-Way Set-Associative Caches*
+
|RSRC VHDL/FPGA Implementation
### Read/Write/Replacement Policies*
+
|[[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]
## Virtual Memory
+
|Homework 2
### Segmentation
+
|Homework 1
### Paging
+
 
### Regaining Lost Ground: The TLB
+
|-
## Overall Memory Subsystem With Introduction to I/O Issues
+
|4
# Input/Output
+
|SEPT 6
## I/O Subsystems Overview
+
|Introduction to Memory<br />Address Decoding<br />Xilinx IP Cores<br />&rarr;Xilinx FPGA Block RAM<br />&rarr;Xilinx Digital Clock Manager (DCM)
## Programmed I/O
+
|[[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]]
### General Principles
+
|
### Example: Programmed I/O on the SRC (w/VHDL Model)*
+
|
## Interrupt-Driven I/O
+
 
## DMA (Direct Memory Access)
+
 
### General Principles
+
|-
### Example: DMA Engine for the SRC (w/VHDL Model)*
+
|5
### Example: PCI(e)
+
|SEPT 11
#### Parallel vs. Serial I/O Buses
+
|Microprogramming the RSRC
## I/O Error Detection and Correction*
+
|[[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]]
### Parity
+
|Lab 1
### Hamming/SECDED Codes (ECC Memory)
+
|Homework 2
### CRC Codes
+
 
# Advanced Topics
+
|-
## Pipelining
+
|6
### General Principles
+
|SEPT 13
### Example: Pipelined SRC (w/VHDL Model)*
+
|1-Bus vs 2-Bus vs 3-Bus Microarchitecture<br />Introduction to Pipelining
## Instruction Level Parallelism
+
|[[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]]
### Superscalar Processors
+
|
#### General Principles
+
|
#### Example: Intel Pentium (1st Superscalar X86 CPU)
+
 
#### Example: AMD K7 (9-issue, Speculative Out-of-Order Execution, etc.)
+
|-
### VLIW Machines
+
|7
#### General Principles
+
|SEPT 18
#### Example: IBM VLIW Prototype
+
|Pipelining the SRC/RSRC
#### Example: Intel Itanium/EPIC
+
|[[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]]
## Microprogramming
+
|Homework 3
### General Principles
+
|
### Example: Microprogrammed SRC (w/VHDL Model)*
+
 
## Code Morphing
+
|-
### Example: Transmeta Crusoe
+
|8
## Extending the Address Space
+
|SEPT 20
### 16- to 32-bit: Intel 80386
+
|Pipelined SRC/RSRC VHDL/FPGA Implementation<br /><br />Interrupts/Exceptions
### 32- to 64-bit: AMD Hammer vs Intel Itanium
+
|[[media:Ch5CSDA.pdf‎|Chapter 5]]<br />[[media:Pipelined_SRC.pdf‎|Pipelined SRC/RSRC Execution Simulation]]<br />[[media:Ch4WDR.pdf‎|Chapter 4]]
## Multicore CPUs
+
|
### Example: Intel i7-980X
+
|
 +
 
 +
|-
 +
|9
 +
|SEPT 25
 +
|Review
 +
|
 +
|
 +
|Homework 3<br />Lab 1
 +
 
 +
|-
 +
|10
 +
|SEPT 27
 +
|Exam 1
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
|11
 +
|OCT 2
 +
|Memory DIMMs and Modules<br />Introduction to Schematic Capture
 +
|[[media:Ch7CSDA.pdf‎|Chapter 7]]<br />[[media:ExpressSCH_Quick_Start_Guide.pdf|ExpressSCH Quick Start Guide]]
 +
|Homework 4<br />Lab 2
 +
|
 +
 
 +
|-
 +
|12
 +
|OCT 4
 +
|FPM DRAM<br />SRC/RSRC FPM DRAM Design Examples
 +
|[[media:MT4LC8M8B6.pdf‎|FPM DRAM Datasheet]]<br />[[media:FPM_DRAM_Example.pdf|SRC/RSRC FPM DRAM Design Examples]]
 +
|
 +
|
 +
 
 +
|-
 +
|13
 +
|OCT 9
 +
|SDRAM<br />DDR DRAM<br />DDR2 DRAM<br />DDR3 DRAM
 +
|[[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