CS/COE 447 Spring 2010 Information for Exam 2 ============================== Exam 2 is Wednesday April 7. The exam will focus on the material since the last exam: What was covered in lecture (slides and on the board) Homeworks 2 and 3 Programming Assignment 2 Labs 8 through 11 The text: Chapter 2 2.4 Signed and Unsigned Numbers 2.8 Supporting Procedures Chapter 3 3.1 Introduction 3.2 Addition and Subtraction 3.3 Multiplication (you only need to know the third implementation) 3.4 Division (you only need to know the version covered in class) 3.5 Floating point Appendix C C.1 Introduction C.2 Gating, Truth tables and Logic equations C.3 Combinational logic C.5 Constructing a Basic Arithmetic Lontgic Unit C.7 Clocks C.8 Memory Elements == The exam will include a subset of the following: o Give the machine code for a given assembly-language instruction; the focus will be on cases where negative numbers are involved (immediates, offsets, branches, etc) o Given human-written assembly language instructions (i.e., in the "Source" column in MARS) identify which ones require more than one primitive instruction. Explain why more than one instruction is required. o As on Homework 2 (though the numbers will be different): "Viewing the following as 8-bit two's complement binary integers, perform the indicated operation. What decimal values are represented by the operands? Is there signed overflow?" 00100101 +11110101 ---------- "Viewing the following as 8-bit unsigned binary integers, perform the indicated operation. What decimal values are represented by the operands? Is there unsigned overflow?" 00100101 +11110101 ---------- o Given some MIPS instructions, is there signed overflow? Is there unsigned overflow? Please explain o Represent a given number in the IEEE 754 floating point representation o Translate a fractional decimal number into binary o Given a segment of code, specify what values are stored in which memory location or register by each instruction (so, be sure to trace through all the example code) o Write a subroutine involving the stack in some way (so, be sure you understand the solutions to Programming Assignment 2) o Use the hardware algorithm for unsigned integer division covered in lecture to perform a given operation o Use the hardware algorithm for unsigned integer multiplication (Version 3) covered in lecture to perform a given operation o Use Booth's algorithm for signed integer multiplication to perform a given operation o Given a truth table, write boolean expressions in sum of product form for the functions represented in a Table o Implement a boolean expression using combinatorial logic o Give a boolean expression for signed overflow o Give a boolean expression for unsigned overflow o Implement an ALU with specified functions, as covered in class o Implement a circuit using specified gates o Modify the ALU for the most significant bit so that slt works, even if the subtraction operation results in overflow o Match up timing diagrams with sequential circuits. You will be given labeled diagrams of the circuits.