Click
to go to ENCM 369 Winter 2009 HOME PAGE
ENCM 369 Winter 2009 Midterm Information
Author: Steve Norman
Last modified: Wed Feb 4 18:14:42 MST 2009
Contents
The test will be from 6:30 to 8:00pm on Thursday, February 26,
for both L01 and L02.
The location is MFH 162, for both L01 and L02.
If you do not know exactly where MFH 162 is,
please take the time to find it well in advance
of 6:30PM on the 26th!
[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 24, 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 x86-like
calling conventions of Lab 5 Exercise E.
But you might have to read code using
the x86-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 24 and/or 26, 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 sometimes see
addu, addiu, and subu used,
since many 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 addition 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
several 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 2009 midterm is not ready yet,
but it will be very similar to the reference material
for the 2008 midterm,
which you can find on this page
full of old midterm papers and solutions.
[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]