Assignment 10, due Nov 8
Part of
the homework for 22C:60, Fall 2004
|
Always, on every assignment, please write your name legibly as it appears on your University ID and on the class list! All assignments will be due at the start of class on the day indicated, and unless there is what insurance companies call "an act of God" - something outside your control; the only exceptions to this rule will be by advance arrangement.
Assume that your boss had declared that you must write a package to support polymorphic floating point operations, using either the IEEE format, our home-brew exponent-mantissa format, and perhaps others.
a) Estimate the most compact feasible size for an object of type IEEE format floating point, able to be passed as a parameter to a routine that expects any floating type. (Assume that, for efficient space, we use a single class descriptor for all objects of type IEEE format floating point.)
b) Estimate the time it will take to perform an add on two IEEE format floating point numbers taken from the activation record and returning the result to the activation record. Assume you must pass the parameters to the add method through the class descriptor, and that the routine itself does the add.
Note: both of these estimates require writing code and then couting bytes, for part a, or adding up the instruction times, for part b.
Give a timing diagram that illustrates how you can manipulate the inputs to this circuit to set this flipflop, reset this flipflop, put it into an indeterminate state, and recover from that state. The Q output should follow the waveform given in the timing diagram for the R S flipflop in chapter 11 of the notes.