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.