Professional Documents
Culture Documents
Computer Architecture
Agenda for 7-May-2019
Prof. James L. Frankel
Harvard University
Version of 4:11 PM 7-May-2019
Copyright © 2019 James L. Frankel. All rights reserved.
Pre-Class 1/29/2019
• Photos of class members, course staff, AV staff
First Class Meeting on 1/29/2019
• Our class web site is located at URL:
http://sites.fas.harvard.edu/~cscie287/spring2019/
• Order books
• Contemporary Logic Design, 2/e; Katz & Borriello
• Computer Organization and Design: The Hardware/Software Interface, 5/e; Patterson
& Hennessy
• The Designer's Guide to VHDL, 3/e; Ashenden
• Students who will not be coming to class for the midterm exam should
make arrangements now for a proctor
Required Readings
• Refer to the Approximate Schedule section of the course website for
required readings to be completed before each class meeting
Section
• Section meets immediately before class
• 6:45-7:45 PM in 1 Story Street, Room 307
• Very important
• Discusses concepts & issues that are not covered in class
• Great forum for a more interactive dialog
• Is live streamed and also recorded
Altera/Terasic DE2-70/DE2-115 Hardware
• Show class the hardware
• Distance students should order the hardware now
• Terasic DE2-115 FPGA kit
• Available from Terasic (http://www.terasic.com.tw/en/)
• Academic pricing is available ($595 usual; $309 academic)
• Screen shot that shows that you’re registered in the course is sufficient to get the academic
pricing
• In addition to Terasic FPGA board, order USB to serial adapter & serial cable
• Possible static dissipative devices: mat, strap, ground point
• For local students, on February 19, 2019 during class, we will lend you the
hardware for the semester
• No static dissipative devices are included
• All borrowed hardware must be returned at the end of the semester
Piazza Poll about Altera DE2 Hardware
• All students must complete the Piazza poll “Hardware survey” (to be
created shortly) about purchasing vs. borrowing hardware
• We will have hardware available only for students who complete the
poll with the answer, “I plan to borrow and will be on campus the
days hardware is loaned and returned”
Say Hello!, Student Locations, Harvard Key,
Using nice
• Submit a video using Say Hello! in Canvas
• Reminder: Students who will not be coming to class for the midterm
exam should make arrangements now for a proctor
• Midterm will be three hours long
• Must start the exam from 8:00 PM ET on Tuesday, March 12, 2019 to 8:00 PM
ET on Wednesday, March 13, 2019
Reminder about Section
• Section meets immediately before class
• 6:45-7:45 PM in 1 Story Street, Room 307
• Very important
• Discusses concepts & issues that are not covered in class
• Great forum for a more interactive dialog
• Is live streamed and also recorded
Problem Sets
• Problem Set 0 was due this past Sunday night
• For local students, on February 19, 2019 during class, we will lend you the hardware for
the semester
• No static dissipative devices are included
• All borrowed hardware must be returned at the end of the semester
• You must be present in the last class meeting (on May 14, 2019) to return the hardware
• There will be one more opportunity to return hardware after the due date (on May 17, 2019)
• Please respond to the PollEv survey (sent through Piazza) about picking up FPGA hardware in person
Say Hello! in Canvas
• Please submit a Say Hello! video in Canvas
Enroll in Piazza
• Enroll in Piazza
• Important questions are answered in that forum
• Ask questions in Piazza so the whole class can benefit from the
answers
• Personal questions should be sent to the course staff via e-mail
• If appropriate, include all three course staff members in e-mail to allow the
fastest reply
New Material for this Week
• Finish covering Boolean Logic slides
• Start with the XNOR Gate Observations slide
• Questions?
• From last class?
• From PS0, PS1, or PS2?
• From section?
• Anything else?
• Reminder: Students who will not be coming to class for the midterm exam
should have already made arrangements for a proctor
• Midterm will be three hours long
• Must start the exam from 8:00 PM ET on Tuesday, March 12, 2019 to 8:00 PM ET on
Wednesday, March 13, 2019
Problem Sets
• Problem Set 1 was due this past Sunday night
• Your best source for information needed to complete PS2 is from lecture,
course slides, section, and readings
• Please note the readings associated with class meetings in the syllabus
New Material for this Week
• Cover new slides
• Quick review of Computer Logic
• [Place Values delayed until later]
• [Numeric Encodings delayed until later]
• [Gray Codes & Karnaugh Maps delayed until later]
• [Canonical Form, Minterms & Maxterms delayed until later]
• [Dealing with Time in Combinational Circuits delayed until later]
• MIPS Instruction Set
• MIPS Datapath - Single Memory - No Pipelining
• MIPS Coding Snippets
• MIPS Assembly Language
Pre-Class 2/19/2019
• Photos of class members, course staff, AV staff
Fourth Class Meeting on 2/19/2019
• Questions?
• From last class?
• From PS0, PS1, or PS2?
• From section?
• Anything else?
• Reminder: Students who will not be coming to class for the midterm
exam should have already made arrangements for a proctor
• Midterm will be three hours long
• Must start the exam from 8:00 PM ET on Tuesday, March 12, 2019 to 8:00 PM
ET on Wednesday, March 13, 2019
Problem Sets
• Problem Set 2 will be due on Sunday, February 24, 2019
New Material for this Week
• Finish covering MIPS Instruction Set slides
• Start with the Load Word Instruction slide
• Unfortunately, you will not be able to run and test your final program
under emulation until PS5 is complete
Midterm Exam
• Our midterm exam is next week, Tuesday, March 12, 2019 from 8 PM
to 11 PM in our usual classroom
• Ask any questions about the midterm exam today or on Piazza before
noon ET on the day of the exam
• Section will be meeting at its usual time next week, but there will be no
discussion of the midterm exam in fairness to distance students
• Also, there will be no questions during the exam – also in fairness to distance
students
Midterm Exam Material
• All material covered in class through and including today’s class
meeting
• Problem sets through PS3
• All readings on the syllabus through and including today’s readings
Slide Deck Material that is Midterm Eligible
• Binary Logic Levels • MIPS Instruction Set
• Boolean Logic • MIPS Datapath - Single Memory - No
• Boolean Logic Continued Pipelining
• Advanced Boolean Logic • MIPS Coding Snippets
• Laws and Theorems of Boolean Logic • MIPS Assembly Language
• Computer Logic • Hazards and Glitches
• Place Values • Endianness
• Numeric Encodings • Finite State Machines
• Gray Codes & Karnaugh Maps • VHDL
• Canonical Form, Minterms & • VHDL Looping
Maxterms • Assembler Concepts (a.k.a. Some
• Dealing with Time in Combinational Assembly Is Required)
Circuits • Criteria for Final Project Proposal
Types of Midterm Questions
• Similar to book questions
• Short answer
• Programming
• Hardware design
• The point values in the exam are equal to the number of minutes that a
student who would score highly might take to complete the question
• The exam in lengthy – don’t be concerned if you don’t complete everything
• Initially, spend approximately the number of minutes on each question that
the question is worth, then return to the question later to complete them
as available time permits
Show the DE2-70 User Manual
• Do not program the Flash memory
• That is, ensure that the slide switch is always in the RUN position (not in the
PROG position)
• Show VHDL programs (on the class web site at Hardware Related
References -> VHDL Programs)
• 4-bit comparator versions
• Invert segment versions
• Debounce switch
• Rotate segments
• Identify segments
New Material for this Week
• Cover new material
• VHDL Looping
• Hazards and Glitches
• Endianness
Pre-Class 3/12/2019
• Photos of class members, course staff, AV staff
Seventh Class Meeting on 3/12/2019
• Midterm Exam
• 8 PM ET – 11 PM ET
Spring Break 3/19/2019
Pre-Class 3/26/2019
• Photos of class members, course staff, AV staff
Eighth Class Meeting on 3/26/2019
• Questions?
• From midterm exam?
• From previous classes?
• From problem sets 1-4?
• From section?
• From readings?
• Memory-mapped I/O?
• http://sites.fas.harvard.edu/~cscie287/spring2019/io_interface.txt
• Altera Memory Initialization File (.mif) format?
• http://sites.fas.harvard.edu/~cscie287/spring2019/def_mif.htm
• Unresolved from Piazza?
• Anything else?
Spring Break
• I trust that everyone had a relaxing and/or productive Spring Break!
John Hennessy’s MIT Distinguished Lecturer
Series Talk
• He presented evidence that we are now really at the end of seeing
large performance increases in conventional architectures
• He argued that Domain-Specific Architectures are the way of the
future
• Example: Google’s Tensor Processing Unit (TPU) for TensorFlow
State of Midterm Exam Grading
• We’ve not quite finished the midterm exam grading
Problem Sets
• Problem Set 4 will be due on this coming Sunday, March 31, 2019
• There are three weeks to complete PS4 because of Spring Break
• Operations are:
• result a + b
• result b
• result ~ b
• result b + 1
• result – b
• result a – b
Logic Design for ALU Bit-Slice: Based on Full
Adder (1 of 2)
• Operations are:
• result a + b
• result b
• result ~ b
• result b + 1
• result – b
• result a – b
• Operations are:
• result a + b
• result b
• result ~ b
• result b + 1
• result – b
• result a – b
Logic Design for ALU Bit-Slice: Using a Truth
Table Approach (1 of 2)
• Operations are:
• result a + b Function = 0
• result b Function = 1
• result ~ b Function = 2
• result b + 1 Function = 3
• result – b Function = 4
• result a – b Function = 5
• Operations are:
• result a + b Function = 0
• result b Function = 1
• result ~ b Function = 2
• result b + 1 Function = 3
• result – b Function = 4
• result a – b Function = 5
Present Problem Set 5
• Emulator/Simulator
• Now, you’ll finally be able to test your code written for PS4!
• Your emulator may also serve as a software model for the correct
implementation of instructions in your CPU
• Corrections/modifications to:
• ISA (Instruction Set Architecture)
• Block Diagram
• Principles of Operation documentation
• Final program in your assembly language
• Assembler
Emulator Implementation (1 of 3)
• Your emulator need not implement your architecture in the same way
that your hardware/VHDL/FPGA will implement your architecture
• Architecture identical
• All aspects that an assembly language programmer could see and all aspects that are
described in your Principles of Operation documentation
• Not organizationally identical
• Does not need to implement instructions/sequencer in the same way that the hardware
will implement these aspects
• Our memory subsystem is little endian
Emulator Implementation (2 of 3)
• You must implement I/O to the serial (RS-232) ports
• Your emulator need not implement the PS/2 and LCD ports and their
status/control bits
• The Preliminary Final Project Problem Set (ALU) will be due this
coming Sunday, April 7, 2019
• Now, you’ll finally be able to test your code written for PS4!
• Your emulator may also serve as a software model for the correct
implementation of instructions in your CPU
• Corrections/modifications to:
• ISA (Instruction Set Architecture)
• Block Diagram
• Principles of Operation documentation
• Final program in your assembly language
• Assembler
New Material for this Week
• Cover new material
• Pipelining/MIPS Multicycle Data Path continuing from the Right to Left Data
Paths are Problematic slide
• Shifters
• PDP-8 instruction set
• PDP-11 instruction set
Pre-Class 4/9/2019
• Photos of class members, course staff, AV staff
Tenth Class Meeting on 4/9/2019
• Questions?
• From midterm exam?
• From previous classes?
• From problem sets 1-5?
• From Preliminary Final Project problem set?
• From section?
• From readings?
• Memory-mapped I/O?
• http://sites.fas.harvard.edu/~cscie287/spring2019/io_interface.txt
• Altera Memory Initialization File (.mif) format?
• http://sites.fas.harvard.edu/~cscie287/spring2019/def_mif.htm
• PDP-8 instruction set?
• Unresolved from Piazza?
• Anything else?
Midterm Exam Grading
• Return remaining midterm exams
• Now, you’ll finally be able to test your code written for PS4!
• Your emulator may also serve as a software model for the correct
implementation of instructions in your CPU
• Corrections/modifications to:
• ISA (Instruction Set Architecture)
• Block Diagram
• Principles of Operation documentation
• Final program in your assembly language
• Assembler
Present Problem Set 6
• Problem 1 (Counts toward Problem Set grade): Detailed description of
what happens on each cycle and for each clock edge for all
instructions
• For DE2-70:
• http://sites.fas.harvard.edu/~cscie287/spring2019/tools/Memory%20Subsystem%20VHDL%2020141118%20cscie93_DE2-70.zip
• See the DE2-70 Top-Level Shell File in the Memory Subsystem Summary
document
• For DE2-115:
• http://sites.fas.harvard.edu/~cscie287/spring2019/tools/Memory%20Subsystem%20VHDL%2020141118%20cscie93_DE2-115.zip
• See the DE2-115 Top-Level Shell File in the Memory Subsystem Summary
document
Present Solutions to Midterm Exam
Question 1: Timing Waveforms, Hazards, and
Glitches
• 𝑓 𝐴, 𝐵, 𝐶, 𝐷 = 𝑚(6, 7, 8, 9, 12, 13, 14, 15)
• 1a: Schematic using AND, OR, and INVERTER (i.e., NOT) gates in sum-
of-products form
• 1b: Timing waveform graph
• 1c: Karnaugh map, or K-Map
• 1d: Does this circuit exhibit a hazard? What is the evidence for or
against the presence of a hazard? If there is a hazard, what kind of
hazard is it?
Present Solutions to Midterm Exam
Question 7: Finite State Machine (FSM) for E-ZPass
• Mealy FSM – Output associated with transitions (edges/arcs)
• Inputs:
• C: car present
• D: dime
• Q: quarter
• T: transponder
• Output: G: Gate
• Solution One: States for idle, 0¢ (carPresent), 10¢, 20¢, 25¢, 30¢, ≥35¢
• Solution Two: Realize that there is no difference between the 25¢ & 30¢
states, so they are combined into a single 25¢or30¢ state
Midterm, FSM
• Inputs represented by CDQT
• Issues are:
• Self loops
• Covering all possible inputs
• No conflicts on inputs
• Must be Mealy
• Include state assignment table
• Identify start state
New Material for this Week
• Cover new material
• PDP-8 instruction set slides
• Opcode 6 is for In-Out Transfer instructions
• PDP-11 instruction set slides
• Present condition codes and how they are combined for comparisons
Pre-Class 4/16/2019
• Photos of class members, course staff, AV staff
Eleventh Class Meeting on 4/16/2019
• Questions?
• From midterm exam?
• From previous classes?
• From problem sets 1-6?
• From Preliminary Final Project problem set?
• From section?
• From readings?
• Memory-mapped I/O?
• Altera Memory Initialization File (.mif) format?
• Interface to the memory subsystem?
• PDP-8 instruction set?
• Unresolved from Piazza?
• Anything else?
Midterm Exam Grading
• Return remaining midterm exams
• Now, you’ll finally be able to test your code written for PS4!
• Pretty cool to see your assembly language program running?
• Your emulator may also serve as a software model for the correct
implementation of instructions in your CPU
• Corrections/modifications to:
• ISA (Instruction Set Architecture)
• Block Diagram
• Principles of Operation documentation
• Final program in your assembly language
• Assembler
Problem Set 6
• Problem 1 has been revised
• 𝑓 𝐴, 𝐵, 𝐶, 𝐷 = 𝑚(0, 2, 4, 6)
New Material for this Week
• Cover new material
• PDP-11 instruction set slides
• Caching slides through Set Associative Caches slide
Pre-Class 4/23/2019
• Photos of class members, course staff, AV staff
Twelfth Class Meeting on 4/23/2019
• Questions?
• From midterm exam?
• From previous classes?
• From problem sets 1-6?
• From Preliminary Final Project problem set?
• From section?
• From readings?
• Memory-mapped I/O?
• Altera Memory Initialization File (.mif) format?
• Interface to the memory subsystem?
• PDP-8 instruction set?
• Unresolved from Piazza?
• Anything else?
Problem Sets
• Problem Set 6 will be due this coming Sunday, April 28, 2019
Problem Set 6
• Problem 1 (Counts toward Problem Set grade): Detailed description of
what happens on each cycle and for each clock edge for all
instructions
• The culmination of your final project is to run the assembly language code
that you wrote for your processor in Problem Set 4, Parts 2 through 9
under your processor on the FPGA
• In addition, you are welcome to write, run, and demonstrate additional interesting
programs running on your hardware
• You should describe and demonstrate the special feature(s) that you
implemented
Final Project Class Meeting
• Final class meeting is on Tuesday, May 14, 2019 from 6:45 PM to
~11:00 PM, as necessary
• This is three weeks from today
• Students will present their final project to the class and answer
questions
• Students will create a pre-recorded ten minute video to be shown in class that
shows their final project
• Five minutes are reserved for a Q & A session
Final Project Presentation
• Included in your presentation should be slides that show your:
• block diagram
• clocking scheme
• sequencing logic
• interesting design aspects of your logic
• your instruction set
• assembler
• emulator
• special feature(s)
• a demo of your project running with the memory subsystem
• Show a small number of programs running on your hardware that
demonstrate the capabilities of your hardware (including any novel
features you have implemented)
Final Project Logistics
• Local students will participate in the question and answer session in
person
• The Q&A sessions for all distance students will take place over a web
conferencing application
• Distance students should send their web conferencing ID to the
course staff in advance of the final class meeting
Final Project Code & Document Submission
• By 2 PM ET on Friday, May 17th, each class member should submit
(with git tag term-project) a Final Project report which will include:
• the slides used during your presentation
• an overview of the processor
• an up-to-date copy of the processor block diagram
• an up-to-date copy of your processor's instruction set (i.e., your Principles of
Operation manual)
• VHDL code for the complete design
• a current copy of the source code for your assembler
• a current copy of the source code for your emulator
• documented sample programs for your processor
Returning Hardware
• Students who borrowed hardware will need to return their hardware
during the last class meeting on Tuesday night, May 14th
• Alternatively, students who want to keep their hardware until the
final project submission deadline of 2 PM ET on Friday, May 17th, will
need to make special arrangements prior to the final class meeting to
return their hardware
Issue with Generated sysclk1
• clock_divide_limit will slow down the effective rate of the generated clocks
• If this value is non-zero, the generated clocks will be gated to zero for this number of
cycles in between clock pulses
• If this value is zero (or left unmapped), the clocks are not gated
• Device and Pin Options: Reserve all unused pins: As input tri-stated
Altera Hardware Reminders (2 of 2)
• Read the documentation for the memory subsystem that needs to be
compiled with student projects
• cscie93.sdc: this file specifies some clock and timing information for the Altera
TimeQuest Timing Analyzer
• To enable an accurate timing analysis, and avoid warnings about undefined clocks, you should
include this file in your project as well
• DE2-70 Only: Once you have included our VHDL files in your project, in order to
successfully compile your project you will need to add the following to your project’s
.qsf file:
• set_parameter -name CYCLONEII_SAFE_WRITE "\"RESTRUCTURE\"“
• This line can be added anywhere among the existing set_global_assignment lines
• Without this line, your compilation will fail with memory configuration errors from the
memory compiler
• See Other suggestions under Configuring your Quartus II Project
mem_reset
• When mem_reset is asserted to the memory subsystem, no sysclk1 or
sysclk2 clock pulses are generated
• Therefore, your use of mem_reset to reset your FSMs to their initial
states must be asynchronous to the clock (i.e., because you will not
received a clock pulse when mem_reset is asserted, you cannot use a
usual state transition that checks for mem_reset to cause your FSMs
to be in their initial (idle/reset) state
• So, you should use mem_reset to reset your FSMs, but check for
mem_reset before you wait for the (rising) edge of the clock (sysclk1)
Sample FSM Reset VHDL Code
stateMachine: process(mem_reset, sysclk1) is
variable newState: StateType;
begin
if mem_reset = '1' then
newState := state_reset;
elsif rising_edge(sysclk1) then
case presentState is
when state_reset =>
if mem_dataready_inv = '1' then
...
Demo of PS6 VHDL Solution
New Material for this Week
• Cover new material
• Caching slides
• Continue from Set Associative Caches slide
• Serial Communication slides
• Virtual Memory slides
• Through Two-Level Page Table slide
Pre-Class 4/30/2019
• Photos of class members, course staff, AV staff
Thirteenth Class Meeting on 4/30/2019
• Questions?
• Section?
• Final Project?
• Previous classes?
• Any problem sets?
• Preliminary Final Project problem set?
• Readings?
• Midterm exam?
• Memory-mapped I/O?
• Altera Memory Initialization File (.mif) format?
• Interface to the memory subsystem?
• PDP-8 or PDP-11 instruction set?
• Unresolved from Piazza?
• Anything else?
Problem Sets
• Problem Set 6 was due this past Sunday, April 28, 2019
Final Project Class Meeting
• Final class meeting is on Tuesday, May 14, 2019 from 6:30 PM to
~11:00 PM, as necessary
• This is two weeks from today
• Sign up for presentation slots during class next week
• Students will present their final project to the class and answer
questions
• Students will create a pre-recorded ten minute video to be shown in class that
shows their final project
• Five minutes are reserved for a Q & A session
Final Project Code & Document Submission
• By 2 PM ET on Friday, May 17th, each class member should submit
(with git tag term-project) a Final Project report which will include:
• the slides used during your presentation
• an overview of the processor
• an up-to-date copy of the processor block diagram
• an up-to-date copy of your processor's instruction set (i.e., your Principles of
Operation manual)
• VHDL code for the complete design
• a current copy of the source code for your assembler
• a current copy of the source code for your emulator
• documented sample programs for your processor
Returning Hardware
• Students who borrowed hardware will need to return their hardware
during the last class meeting on Tuesday night, May 14th
• Alternatively, students who want to keep their hardware until the
final project submission deadline of 2 PM ET on Friday, May 17th, will
need to make special arrangements prior to the final class meeting to
return their hardware
New Final Project Clocking Scheme
• Present Final Project Clocking Scheme slides
New Material for this Week
• Cover new material
• Virtual Memory slides
• Continue from Two-Level Page Table slide
• VLSI Design
• Processor Photomicrographs (See https://en.wikipedia.org/wiki/Transistor_count)
• Intel 4004 (4-bit CPU, 1971, 2,300 transistors)
• Intel 8008 (8-bit CPU, 1972, 3,500 transistors)
• Intel 8080 (8-bit CPU, 1974, 6,000 transistors)
• Intel 8085 (8-bit CPU, 1976, 6,500 transistors)
• Intel 8088 (16-bit CPU, 1979, 29,000 transistors)
• Intel 80286 (16-bit CPU, 1982, 134,000 transistors)
• Intel 80386DX, i387, 486, 486DX2
• Intel i960 Cobra (32-bit CPU, 1984)
Pre-Class 5/7/2019
• Photos of class members, course staff, AV staff
Fourteenth Class Meeting on 5/7/2019
• Questions?
• Remaining from Section?
• Final Project?
• Final Project Presentation?
• Previous classes?
• Any problem sets?
• Preliminary Final Project problem set?
• Readings?
• Memory-mapped I/O?
• Altera Memory Initialization File (.mif) format?
• Interface to the memory subsystem?
• Serial port/terminal emulation?
• Unresolved from Piazza?
• Anything else?
Course Evaluations
• Please complete the course evaluations sent from the Extension
School
Problem Sets
• All Problem Sets were already due
Final Project Class Meeting
• Final class meeting is next week – on Tuesday, May 14, 2019 from
6:30 PM to ~11:00 PM, as necessary
• This is one week from today
• Sign up for presentation slots now!
• Students will present their final project to the class and answer
questions
• Students will create a pre-recorded ten minute video to be shown in class that
shows their final project
• Five minutes are reserved for a Q & A session
Dinner After Final Presentations
• We will go out for dinner at the Border Café after the final
presentations
• Day outing
• Meet in the morning on the North Shore
• Pick up lunch
• Sail during the day
• Dinner together in the evening
Final Project Code & Document Submission
• By 2 PM ET on Friday, May 17th, each class member should submit
(with git tag term-project) a Final Project report which will include:
• the slides used during your presentation
• an overview of the processor
• an up-to-date copy of the processor block diagram
• an up-to-date copy of your processor's instruction set (i.e., your Principles of
Operation manual)
• VHDL code for the complete design
• a current copy of the source code for your assembler
• a current copy of the source code for your emulator
• documented sample programs for your processor
Returning Hardware
• Students who borrowed hardware will need to return their hardware
during the last class meeting on Tuesday night, May 14th
• Alternatively, students who want to keep their hardware until the
final project submission deadline of 2 PM ET on Friday, May 17th, will
need to make special arrangements prior to the final class meeting to
return their hardware
• We will be available to accept returns of hardware on Tuesday evening/night,
May 21st, 2019 in Science Center, Room 101e from 6:30 PM ET to 8:30 PM ET
New Material for this Week
• Cover new material
• Demo of Logic Analyzer & Oscilloscope
• Output of logic analyzer fed to video feed?
• Magnetic core memory functionality
• Slides: Magnetic Core Memory 01 through 05
• Show & Tell of core memory
• Show & Tell of raw wafer, etched wafer, chip in DIP carrier
• Use microscope or close-up camera?
• Dependency analysis
• Slides: Dependencies, Instruction Scheduling, Optimization, and Parallelism
• SIMD computer organization
• Sketch on whiteboard
• Data Flow architecture
• A Preliminary Architecture for a Basic Data-Flow Processor, Jack B. Dennis & David P. Misunas
• Network connectivity
• Slides: Parallel Systems