Allocation of Bits among Opcode and Operand
The trade-off here is between numbers of bits of opcode vs. the addressing capabilities. An interesting development in this regard is development of variable length opcode.
A number of the factors which are considered for selection of addressing bits:
- Number of addressing modes: The more are the explicit addressing modes more bits are required for mode selection. Though some machines have implicit modes of addressing.
- As far as memory references are concerned granularity suggests whether an address is referencing a byte or a word at a time. This is more relevant for machines that have 16 bits, 32 bits and so on higher bit words. Byte addressing though may be better for character manipulation, butneed more bits in an address. For illustration memory of 4K words (1 word = 16 bit) is to be addressed directly then it needs:
WORD Addressing = 4K words
= 212words
⇒ 12 bits are needed for word addressing.
Byte Addressing = 212 words
= 213 bytes
⇒ 13 bits are needed for byte addressing.