------------------------------------------------------ Test 4 (Tuesday April 22) Final Exam Review Topics and Questions ------------------------------------------------------ -Ian! D. Allen - idallen@idallen.ca - www.idallen.com Bring two good, soft pencils and a very good eraser to the test. Test format: Short answers, calculations, multiple choice. No essay questions. Note: To help you check your answers during the test, I may give you the "check sum of the digits" in the answer. For example, if the answer is supposed to be 1289 I may tell you that the "check" sum of digits is 20 (20=1+2+8+9, the sum of digits in 1289). If the sum of digits in your answer doesn't add up to the number I give you, your answer is wrong and you will need to come back to it and try again. Course Home Page: http://teaching.idallen.com/cst8214/08w/ - see "The Big Picture" in the week08notes.txt file under Class Notes. - see all the Class Notes files, including the week08notes.txt file Topics for Test 4 - the final exam: The final exam covers all material, including lab material. - see the file test3topics.txt for the lab material topics - this file covers only the text/lecture/slide topics Chapter 1 * Table 1.1 page 5: know the names and decimal and power-of-two values of all prefixes from Pico (10**-12, 2**-40) up to Tera (10**12, 2**40) * What is Cache, page 10. * Section 1.5.6: Moore's law page 27 * Know what is meant by "orders of magnitude" (powers of 10) * Questions p.36: 3, 5, 6, 7, 8, 21, 24 * Exercises p.37: 2, 3, 14 Chapter 2 * Conversion among all of decimal, binary, octal, hexadecimal. * Integers: unsigned, one's complement, two's complement, sign-magnitude - adding two's complement numbers (binary or hexadecimal) - no math will be done on sign-magnitude or one's complement * What causes the integer carry and overflow flags to be set in the ALU? * What CPU flag indicates that an unsigned integer addition is wrong? * What CPU flag indicates that a two's complement integer addition is wrong? * Add two numbers (in binary or hex) and give the Result, Carry, Overflow and state whether the Result is correct for signed vs. unsigned math. Convert the Result to decimal as signed and unsigned. * Questions p.93: 1-9, 12, 15 * Exercises p.94: 1-9 * Conversions to/from decimal and IEEE 754 SP floating-point * Differentiate between range, accuracy and precision * What causes floating-point overflow, underflow * Approximate range (in binary and decimal) of IEEE 754 SP floating-point * Basic layout of the ASCII character set (but not specific letters) * Conversion between ASCII ctrl chars, upper-case letters, lower-case letters * Parity (section 2.6.3) * Questions p.93: 1-9, 12, 13, 15-19, 22-24 * Exercises p.94: 1-9, 23, 25, 28a, 29a, 29b, 30, 31, 46 Chapter 3 * Sections 3.2.0, 3.2.1, 3.2.2 * simplification of simple Boolean expressions (some of 3.2.3) * simple Boolean expression complements (some of 3.2.4) * Table 3.5, 3.6 * Boolean identities and deMorgan (most importantly deMorgan) * bitwise operations (see p.122 and Class Notes file bit_operations.txt) * Questions p.154: 1-6 * Exercises p.155: 1-4, 8, 11, 12b, 13, 15 Chapter 4 * Sections 4.1, 4.2, 4.4, 4.5, 4.6 (omit interleaving), 4.8 * Sections 4.9.0, 4.9.1, (omit interrupts), 4.9.3, 4.10 * the functions of the seven MARIE registers * the function and meaning of the first nine MARIE opcodes (Table 4.2) * the RTN/RTL for each of the first nine MARIE opcodes (4.8.4) * describe in detail the fetch/increment/execute cycle see the text_errata.txt file and week11notes.txt * trace a simple program, showing how the MARIE registers change * hand-assemble a simple program into hexadecimal * Section 4.14, Chapter Summary * Questions p.236: 1, 3, 4, 5, 9, 14, 17-20, 24-29, 32, 34, 39, 40 * Exercises p.237: 1, 3-5, 8, 9, 11-14, 15a, 25 * True/False p.241: 2, 3, 4, 5, 6, 7 Chapter 5 * 5.1, 5.2 intro, 5.2.1, 5.2.2, 5.2.3, 5.2.4 (fixed vs. variable) * Big-Endian v.s Little-Endian (section 5.2.2) * Example 5.1 (three-, two-, one-, and zero-address instruction sets) * 5.3 intro only (the list of types of instructions) * 5.4 intro, 5.4.1, 5.4.2 (only immediate, direct, indirect, indexed) * Figure 5.3, Table 5.1 p.260 * 5.5 (the pipeline concept, not the mathematics) * Pipeline conflicts: resource conflict, data dependency, branching * 5.6 intro, 5.6.1 (overview), 5.6.2 (overview), 5.6.3 (overview) * Chapter 5 Summary * Questions p.274: 4, 7, 9, 15 (only immediate, direct, indirect, indexed) * Questions p.275: 17, 18, 20, 23 * Exercises p.275: 1, 2, 3, 4, 5, 12, 13, 14, 18, 19 Chapter 6 * 6.1, 6.2, 6.3, 6.3.1, 6.4 intro only, 6.4.4 * describe: ROM, PROM, EPROM, EEPROM, flash (p.282) * the key idea of cache is? (p.284) * The Memory Hierarchy (Figure 6.1) * describe: temporal locality, spatial locality, sequential locality (p.285) * 6.5 intro only, 6.6 (Fig. 6.21), Chapter Summary * 6.5: describe: paging terminology (list p.302-303) * describe: the benefits of using virtual memory (p.314) * Questions p.319: 1, 2, 3, 4, 5, 6, 7, 8, 21, 30, 31, 32, 33, 37 * Exercises p.325: 20 Chapter 7 * 7.1, 7.2, 7.3 p.329: Note that "50% faster" means "multiply by 1.5" * 7.4 (intro only), 7.4.1 (early parts, no channel) polled (programmed) vs. interrupt, DMA * 7.4.2, 7.4.3 (only synchronous vs. asynchronous) * 7.5 intro (serial vs. parallel), 7.5.1 (overview), 7.5.2 * 7.6 intro, 7.6.1 define: sector, track, cylinder, platter define: seek time, rotational delay, access time define: head crash * Chapter 7 Summary (programmed I/O, DMA, channel I/O, character I/O, block I/O, serial, parallel) * using Amdahl's Law (don't memorize the formula) * Two ways I/O is done: polled/programmed vs. interrupt-driven * Two places I/O is done: via CPU or via DMA/channel controller(s) * describe: parallel vs. serial * describe: cylinder, head, sector, platter, parking heads, disk pack * describe: head crash, seek time, rotational latency, access time * Questions p.379: 1, 4, 5, 6, 8, 17, 18 (not clusters), 19, 21, 22 * Exercises p.381: 1, 2, 3, 11, 12, 14, 18, 19