EEE2007 - Notes, Documents and Links
I teach one half of this course, the other half is taught by Dr. Coleman.
My part has four lectures for the first five weeks.
Practicals take place in the Merz Computing Lab.
The first practical session is likely to be in week 3 - details
will be announced during lectures.
Topics taught include hardware architecture,
assembly language, and C programming.
There is one assembly language programming
project, and one C project. Dr. Coleman teaches
the Motorola architecture part of the course, and he sets his own assignments.
Direct entry and ECE students
should consult the course materials on C programming from EEE1008 - see
my EEE1008 web page (look for the familiarisation exercises).
In particular, the introduction to Cygwin is
important. You should go through this material before you start the actual
practicals. It takes about an hour.
Cygwin software
The Cygwin software used during the practicals is available for download.
See the EEE1008 web page for detailed instructions.
Assembly Language:
These practicals use the Easy68k simulation software from
www.easy68k.com. This software can be downloaded freely.
On the PC cluster, you can access it under
Start -> Programs -> EECE -> Easy68K -> Edit68K.
Documents
Text files describing the Motorola instruction set and the Ascii set
can be found
here and
here.
Exercise
The specification can be found
here.
Project 1
The specification will be made available on Blackboard around week 3. Submission
is also via Blackboard.
You can also have a look at the
marksheet.
The submission deadline is Tuesday 6th November.
Project 2
The specification will be made available on Blackboard around week 6. Submission
is also via Blackboard.
You can also have a look at the
marksheet.
The submission deadline is Tuesday 27th November.
Note that you have to put the following
lines at the start of the program:
#include <stdio.h>
#include <string.h>
The exam
The examination is three hours long.
Any topic discussed in the lectures and printed on your lecture notes
may be asked about. In the C and assembly questions, I may ask you to write little
fragments of code to illustrate the algorithms. Each question is
supposed to contain two elements: material from the lectures
("bookwork") and something to test your understanding of the
principles involved ("problem solving").
Here is an example question:
a) Sketch an outline of a
CPU, and explain its operation. In particular, explain what operations
take place when the CPU fetches an instruction during the
Fetch-Execute cycle. [6 marks]
Answer outline: this refers to the lecture slide "CPU Structure" and
those that follow, and for the second part the slide called "Instruction
Fetch". A "sketch" means a diagram with the major sub-units; I don't expect
a very detailed picture here. Give a brief explanation about each of
those units, and how you use them to fetch an instruction.
b) How does the CPU control I/O devices? Using the serial port as an
example, explain the use of address decoders. [6 marks]
Answer outline: this is about memory mapping; see the slide "Address Decoder"
and following. You would be expected to draw the diagrams on the second and
third slides and a brief explanation. I would NOT expect you to discuss the
logic of the address decoders themselves.
c) Explain in detail the sequence of control signals that occur both
at the master and slave ends, over a synchronous bus, when the CPU
writes data to a RAM chip. [7 marks]
Answer outline: this refers to the slide "Syncronous Bus", except that I want
an explanation of the WRITE cycle, as explained in the lectures. The difference
is simply that the the data is provided by the Master at the same time as the
address bits.
d) Explain how a large RAM memory can be built from several small RAM
chips (NOTE the question would specify the sizes of the
chips). Explain how the internal organization of the smaller chips
affects the architecture and size of the overall memory. [6 marks]
Answer outline: this refers to the slides called "Memory Expansion". You would
be expected to draw some diagrams similar to those on slides 3 and 4, and
give some explanation similar to that on slides 1 and 2.