Final Exam Topics
- Know how to convert to and from sign magnitude, 1's complement, 2's complement and bias 127.
- Know how to convert to and from hex, binary, octal and decimal.
- Know when and how to perform sign extension.
- Know how to convert to and from IEEE FPS format. Know the special representations or +infinity, -infinity, NaN and 0.
- Understand how to convert from ascii inputs to a binary 2's comlement integer or to a binary float number.
- Know the truth tables for the logical operators (AND, OR, XOR, NAND, NOR, NOT) and what they are used for (when applicable).
- Know the shift operators and what they are used for. Be ready to describe the mathematical significance of arithmetic right shift or logical left shift.
- Be ready to perform masking and setting of bits. Know how to test if a bit is set.
- Be able to add, subtract and multiply numbers in unsigned and 2's complement formats.
- Know how to divide unsigned numbers.
- Know how to perform the step by step addition, subtraction and multiplication of IEEE FPS numbers.
- Be ready to describe and detect overflow and underflow.
- Understand the different addressing modes: Immediate, Register, Direct, Register Direct, Base Displacement, and Indirect.
- Understand the differences between three address instructions, two address instructions and one address or accumulator instructions.
- Understand the basic TAL instruction set.
- Be able to write TAL code.
- Be able to debug TAL code.
- Be able to trace and show the output for TAL code.
- Be able to explain and use arrays in TAL.
- Be able to explain and use stacks and queues in TAL.
- Describe use of system stack and what it allows us to do and write code using it.
- Understand TAL procedures and what the caller and called code are responsible for.
- Understand how an assembler works and what a symbol table is used for.
- Be able to hand assemble TAL to binary
- Be able to describe and perform symbol to address allocation/translation.
- Be able to explain the TAL use of syscall for I/O operations
- Understand the different I/O mechanisms and which TAL supports.
- Be able to describe the exception mechanism in conceptual terms.
- Be able to modify an exception handler to add a feature.
- Describe some of the tasks a kernel must perform.
- Describe the difference between using interrupts and spin-waiting.
- What is coprocessor 0? When can it be accessed? Why do we have it?
- What is coprocessor 1? Why are these operations in a separate processor? How does the exception mechanism play into this process?
- What are the 5 basic pipeline stages?
- How does increasing the number of stages in the pipeline increase performance? How does it decrease performance?
- Draw a basic diagram of a computer system: bus, cache, ALU, FPU, Memory, I/O, etc.