CSCI 237
Computer Organization
Home | Lectures | Labs | Links | CS@Williams
The table below lists the practice problems from the book that test topics we emphasized in class. I recommend completing these practice problems to reinforce the course material in prepration for the exam.
| Problem | Page | Topics Covered (Notes) |
|---|---|---|
| Ch. 2 | 31 | Data Representation |
| 2.17 | 65 | Converting Hexadecimal to binary representations; unsigned vs. twos-complement. |
| 2.22 | 79 | Sign extension. (Equation 2.3 is on page 64) |
| 2.23 | 80 | Arithmetic shifting. |
| 2.24 | 82 | Effect of truncating on signed/unsigned. |
| 2.29 | 93 | Signed addition; overflow. |
| 2.30 | 94 | Overflow. (No need to compile the code, but this solution should help with add_ok in the lab) |
| 2.45 | 111 | Binary fractional values. |
| 2.47 | 117 | IEEE Floating point encoding/decoding. |
| Ch. 3 | 163 | Assembly |
| 3.1 | 182 | Addressing/Operand Forms |
| 3.2 | 185 | Operand sizes |
| 3.6 | 192 | Load Effective Address |
| 3.8 | 194 | Arithmetic Operations |
| 3.11(A) | 197 | Assembly Tricks |
| 3.13 | 204 | Comparisons |
| 3.16 | 212 | C if/else ↔ C goto code |
| 3.18 | 213 | if/else ↔ assembly |
| 3.24 | 224 | while loops ↔ assembly |
| 3.27 | 231 | C for loop ↔ C goto code |
| 3.28 | 231 | for ↔ assembly |
| 3.30 | 236 | Switch Statements |
| 3.33 | 246 | Procedure Arguments, Registers, & the Stack |
| 3.34 | 253 | Local storage & caller/callee saved registers |
| 3.36 | 256 | Arrays and addressing |
| 3.40 | 262 | Nested Array iteration and memory layout |
| 3.41 | 268 | Struct data types |
| Ch. 4 | Y86-44 and Processor Design | |
| 4.1 | 360 | Encoding Y86_64 |
| 4.2 | 360 | Decoding Y86_64 |
| 4.4 | 370 | C ↔ Y86_64 |
| 4.13 | 387 | Instruction Processing Stages |
| Ch. 6 | The Memory Hierarchy | |
| 6.2 | 592 | Hard disk parameters |
| 6.4 | 595 | Hard disk access patterns |
| 6.8 | 609 | C code and spatial locality |
| 6.9 | 616 | Cache parameters |
| 6.10 | 624 | Direct-mapped caches |
| 6.12-6.15 | 628 | Set-associative caches |
| 6.21 | 643 | Locality & Memory Mountains |
| Ch. 9 | Virtual Memory | |
| 9.1 | 805 | Virtual Address Sizes |
| 9.2 | 807 | Page Table Entries |
| 9.3 | 816 | Address Translation |
| 9.4 | 824 | Address Translation with TLBs |
| 9.6 | 849 | Implicit free lists: Block size & header values |
| 9.7 | 852 | Minimum block sizes |
| 9.10 | 864 | Fragmentation and segregated lists |