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 |