Click
to go to ENCM 369 Winter 2008 HOME PAGE
ENCM 369 Winter 2008 Midterm Information
Author: Steve Norman
Last modified: Thu Feb 14 15:11:20 MST 2008
Contents
The test will be from 6:30 to 8:00pm on Thursday, February 28,
for both L01 and L02.
The location is ICT 102, for both L01 and L02.
[back to top of document]
The test is closed-book--do not not take any books or notes
to your seat.
Use of calculators or computers during the test is
not permitted.
[back to top of document]
First, a general principle:
The test will focus mainly on topics that were
heavily emphasized in lectures and labs.
We are not going to make a lot of marks depend on
topics that were given very little coverage in lectures and labs.
The test will cover all material up to and including Lab 5 and
the lectures of Tuesday, February 26, with the following exceptions:
- You will not have to answer questions about how
to use xspim.
- You will not have to write code using the IA-32-like
calling conventions of Lab 5 Exercise E.
But you might have to read code using
the IA-32-like calling conventions.
There may be a small number of marks associated
with material in the assigned reading from Chapters 1, 2, and 3
that was not covered in lectures.
Let me repeat that the number of marks related to this
material will be either zero or very small.
[back to top of document]
In lectures February 26 and/or 28, the MIPS
addu, addiu, and subu
instructions will be introduced,
along with their connections to
add, addi, and sub.
The point will be made that although we have used
add, addi, and sub
for integer addition and subtraction
in Labs 2 to 5 and lots of lecture and tutorial examples,
real MIPS C compilers will always pick
addu, addiu, and subu.
If you look at solutions to old midterms, you'll see
addu, addiu, and subu used,
since most old midterms took place at a point in the term
where students ought to have been familiar with them.
But this year, the midterm is early, so
add, addi, and sub will
be acceptable for all integer and subtraction needed
to answer midterm problems.
[back to top of document]
The test will have a similar format to the midterms from the last four years.
Questions will be of the following types:
- You will have to write SPIM procedures or other short sequences
of SPIM instructions.
You may be asked to translate C functions.
You may also be asked to write code to perform a
specified task without having any C code to work from.
When writing code, you must use only the instructions
and pseudoinstructions listed on the Reference Material sheet.
- You will have to draw diagrams and/or
predict register and memory contents to show that you know how a
given SPIM program works.
- You may have to write some short paragraphs
(roughly two or three sentences) to show that you
understand key terms and concepts from the course.
You will write all of your answers on the question paper,
in spaces provided for answers.
[back to top of document]
You will be provided with one or two pages of reference material
along with the question paper.
This material will include:
- A list of all 32 general purpose registers in a MIPS processor.
- Documentation for all of the instructions in a ``Midterm
Instruction Subset''.
The reference material page for the 2008 midterm is not ready yet,
but it will be similar to the reference material
for the 2006 midterm,
which you can find on this page
full of old midterm papers and solutions.
Because this year's midterm is earlier in the term than the 2006
midterm, there will be fewer MIPS instructions listed
for the 2008 ``Midterm Instruction Subset''
than in the 2006 ``Midterm Instruction Subset''.
[back to top of document]
Here are suggestions for review:
- Re-read the assigned sections from the textbook.
Pay particularly close attention to material that
got heavy coverage in lectures and/or labs.
- Review lecture notes and lab handouts carefully.
Many of the `Read This First' sections in lab handouts
contain useful information.
- Re-do lab exercises using pencil and paper,
especially those exercises that you found difficult
when you first did them.
Practice writing complete procedure definitions with
pencil and paper--writing code by hand is a bit different
from typing code in a text editor, and it's obviously
an important skill to develop for tests and exams.
- Re-do the tutorial exercises, but keep in mind that many
of the tutorial exercises are too open-ended to make
good midterm problems.
- Practice by doing problems from old midterms,
but keep in mind that topic coverage and topic order
has varied somewhat from year to year in this course.
[back to top of document]