HOME
|
Following interrelated factors go into determining use of addressing bits:
Number of addressing modes: Sometimes an addressing mode can be indicated implicitly. For example, certain opcodes might always call for indexing. In other cases, addressing modes must be explicit and one or more mode bits will be needed.
Number of operands: Typical instructions on today’s machines provide for two operands. Each operand address in instruction might require its own mode indicator or use of a mode indicator could be limited to just one of address fields.
Register versus memory: Only a few bits are needed to specify register. More that registers can be used for operand references, fewer bits are needed. A number of studies indicate that a total of 8 to 32 user-visible registers is desirable.
Number of register sets: Some architectures have a collection of two or more specialized sets (such as data and displacement). A functional split requires fewer bits to be used in instruction.
Address range: For addresses that reference memory, range of addresses that can be referenced is related to number of address bits. With displacement addressing, range is opened up to length of address register.
Address granularity: In a system with 16- or 32-bit words, an address can reference a word or a byte at designer’s choice. Byte addressing is convenient for character manipulating but requires, for a fixed-sized memory, more address bits.
|