CS 2734
Computer Organization II
Checklist on the Conventional Machine Level
- Registers
- What registers does the machine have?
- How are they named?
- What are the purposes of the registers?
- How big are the registers?
- How can data be moved to, from or between registers?
- Does the processor have hardware support for register windows?
- Memory structure and addressing
- How is memory organized?
- What is the smallest addressable unit of memory?
- How are the smallest units grouped into larger units
(size, order)?
- What is the maximum memory size supported?
- What ways can the address of a memory cell be
specified as an operand?
- Computational unit
- What data formats does the machine support?
- What operations can be performed on each data type?
- What integer arithmetic operations does the machine support?
- What logical operations does the machine support?
- What types of shift operations are available?
- Does the processor support floating operations?
- If a floating point coprocessor is available, how does the
instruction set support it?
- Control unit
- What is the normal sequencing of instructions?
- What types of transfer of control are possible?
- How can branch addresses be expressed in the instruction?
- What conditions can be tested in a conditional transfer?
- How is the return address stored in a function call?
- What conditions can cause an interrupt? A trap?
- Can interrupts be inhibited? If so how?
- What happens to control when an interrupt occurs?
- How does the processor support I/O?
- How are abnormal or error conditions detected?
- Instruction set format
- What are the basic instruction formats?
- How are opcodes encoded?
- How are operands encoded?
- What types of addressing are allowed?
- What combinations of operands are supported?
- Support for linkage
- What kind of hardware support for parameter passing is
there?
- What is the form of the activation records?
- Does the machine support a stack?