ECE243 - “SPRING” 2008
Andreas Moshovos (*)
** Warning **
There may be errors or omissions in the notes that follow and of course I’m responsible for them. If you do spot an error please let me know. There no intentional errors in the notes. Irrespective of any typos and other errors, you are responsible for the “correct answer” to questions and problems.
How these relate to the recommended book: In our lectures we will use a slightly different order than the book and also emphasize some topics more than others. Accordingly, there may not always be a direct correspondence between a lecture and a book section. Where possible I will be noting the book sections each lecture corresponds to.
If you want to experiment with NIOS II programs outside of the labs I recommend purchasing a DE-1 board.
Chapter 8 from Altera’s NIOS II Processor Reference: NIOS II Instruction Reference
The complete NIOS II Processor Reference: NIOS II Processor Reference Handbook
THEMATIC SECTION #1: Understanding what computers do at the low level:
What you need to know to successfully program a computer
Week of January 7
(book chapter 1 except 1.6 & 1.7)
* More information about floating point numbers – we will not cover or discuss any of this material.
(book 2.2 – 2.3)
* if there is time we will cover this in the lectures:
**** Practice questions
Week of January 14
(book 3.8 and some of 3.9 and 2.4)
Updated on 16/1/2008. Updates shown in red.
(book 2.6, 3.10 and Ultragizmo manual 2.1)
Added 16/1/2008: Step-by-Step Examples of loads and stores
Week of January 21
(book 2.4.5, 2.4.6, 3.11.1, 3.11.2)
(not as-is in the book related sections 2.11 and 3.15)
Week of January 28
Corrections on Jan. 31
Strings are zero-terminated in C. So “lala” is stored in memory as five bytes: ‘l’, ‘a’, ‘l’, ‘a’, 0.
You can think of strings as arrays of bytes where the last element is always zero.
See lecture 2 for more information.
Week of February 4
Please ignore the digital design of the PIT interface and the circuits for address decoding. We will discuss these later in the course.
13. The Timer Device
Fixed typos and rewrote the introduction on Feb 6 and Feb 10.
Week of February 11
Week of February 18 is reading week
Week of February 25
THEMATIC SECTION #2: Building Processors:
What you need to know to build a computer
(*) Permission is given to reproduce these notes provided that a notice of their origin is clearly given. All rights reserved just in case :)
Week of March 10
Week of March 17, 2008
Week of March 24, 2008
27. Caches (Prof. Steffan) – We will be going over this material over several lectures
Correction on April 9, 2008. Shown in red.
Week of March 31, 2008
Week of April 7,
33. Virtual Memory and Pipelining Concept (no notes – not part of the material that will be tested in the final)