Designing ISAs

There are different factors to consider when looking at different ISAs:

  1. Instruction length: number of bits per instruction Are instructions short, long or variable?
  2. Memory organisation: is memory byte- or word- addressable
  3. No. of (explicit) operands per instruction. We could use a stack or one or more registers, we also need to consider how many addressable registers there are.
  4. Addressing modes: is there direct, indirect or indexed addressing?
  5. Type, size and location of operands.
  6. Types of operations available. What can the ISA actually perform?

When choosing an ISA, we care about:

  • main memory space occupied by a program
  • instruction complexity and bit length
  • total number of instructions in set

System clock

A system clock is used to synchronise all internal components, the clock outputs a steady high-frequency signal.

  • A fixed number of clock cycles are required to carry each data movement or computational operation.
  • Clock frequency

    The clock frequency, measured in Hertz, determines the speed with which all operations are carried out. Clock cycle time is the reciprocal of frequency.

    A clock has a cycle time of .

    Link to original
  • The CPU time required to run a program is given by the general performance equation: We can improve CPU throughput if we reduce:
    1. Number of instructions per program.
    2. Number of cycles per instruction.
    3. Number of seconds per clock cycle.
Link to original