Software
Frame Size - How many different frame sizes should there be?
a. Only one, no exceptions
b. Multiple sizes - allow compiler to allocate if non-standard
c. Multiple sizes - have 2 or more freelists
Load/Dump - How should Load/Dump work?
a. Assign frame when dumping, deallocate after loading
b. All internal frames have allocated shodow frames.
Split Frame - When does a frame copy for spaghetti operations occur?
a. On Return
b. On Load of frame into machine
Previouse Frame - When does the previous frame have to be in the machine?
a. Return Precondition
b. To access previous frame’s vars
No Push - How is the pushing of a return value prevented?
a. No Push bit in frame
b. Special return opcode that doesn’t push
Stack Locking - When should stack frames be locked down?
a. Never locked - Dump and Load would fault
b. All frames on free list and in use are locked
Context Frames - Should each context have its own freelist of frames
a. Yes
b. No
Hardware
PC - How should the PC be reloaded on refill and jumps?
a. PC reg would contain all of PC and an incrementer. It would not use main data path to update.
b. Use main data path to reload PC
Page Faults - Do page faults use the main data paths or do they act transparently to microinstruction cycle?
a. Yes
b. No
Free List Empty - How should an empty free list be detected?
a. General Precondition
b. After Dump ucode executes, aborting the UFN/Call
c. Before Dump