CSE243 Mid-term exam review questions
Spring 2002
The questions on the mid-term exam will resemble some or all of these. The
actual questions you see on the exam will be more specific (some of these are
incomplete, and unanswerable), but they may also be slightly different than
these. Don't be concerned with memorizing anything: I will give you all the
tables or diagrams you need to answer the questions, but you must be able to
understand the tables and diagrams and interpret them appropriately.
You will not be able to use any external resources during the exam, which
includes but is not limited to books, notes, PDAs, pagers, cell phones, scraps
of paper, calculators, roommates, and parents.
- Understand the similarities and differences between the following
number formats: sign and magnitude, 1's complement, 2's complement. Be
able to convert base-10 numbers to each of these, and to convert from each of
these to base-10. See section 2.1.1 starting on page 27.
- Understand the names and meanings of different addressing modes:
immediate, register, direct, indirect, indexed, auto-increment,
auto-decrement, indexed, and base-with-index. See table 2.1 on page 48, but
be more concerned with Name and Addressing function than
Assembler syntax. I will tell you what the syntax means in order to
avoid any possible confusion with having to learn different assembly languages
(PDP-11 vs. SPARC).
- Understand addressing modes enough to be able to calculate the
effective addresses of certain operands. Problem 2.13 on page 100 is a
good example.
- Be able to read and understand assembly language programs like the
ones found on pages 51 (figure 2.12) and 55 (figure 2.15). This includes
basic instructions, branching, and addressing modes. Be prepared to ``run'' a
program like this by hand. I will describe any instructions you need to use.
- Understand how to encode and decode instructions. I will give you
an instruction format, like the ones on page 96, and lists of opcode and
operand encodings, and then ask you to encode an assembly instruction into its
binary format. Likewise, I may ask you to decode a binary word into an
assembly instruction. In either case, I will provide you with the necessary
encodings. You need not memorize anything for this, but understand how the
process works.
- Given a single stage adder like the one on page 370 (figure 6.2
(a)), and given some time units for si and
ci+1 (how long it takes for these signals to become valid),
determine how long it would take for all output signals of an n-stage
full adder to stabilize using (A) ripple carries and (B) carry
lookahead.
- Multiply two numbers using the Booth algorithm. See attached sheet
for an example. (Example from lecture will be provided soon)
- Decode some 32-bit binary number using the IEEE floating point
notation. See section 6.7.1 starting on page 394.
- Given some diagram of a processor data path, generate the sequence of
microcode instructions to perform some given assembly instructions.
The diagram will resemble the one either on page 413 (single bus) or page 424
(three bus).
- Understand the similarities and differences between microprogrammed
control and hardwired control. Start with figures 7.10 (page 426)
and 7.18 (page 432).