REPRESENTING INSTRUCTIONS
Numbers are kept in computer hardware as a series of high and
low electronic signals, and so they are considered base 2 numbers. (Just as
base 10 numbers are called decimal numbers, base 2 numbers are
called binary numbers.) A single digit of a binary number is thus the “atom” of
computing, since all information is composed of binary digits or bits. This
fundamental building block can be one of two values, which can be thought of as
several alternatives: high or low, on or off, true or false, or 1 or 0.
Instructions are also kept in the
computer as a series of high and low electronic signals and may be represented
as numbers. In fact, each piece of an instruction can be considered as an
individual number, and placing these numbers side by side forms the
instruction.
Since registers are part of
almost all instructions, there must be a convention to map register names into
numbers. In MIPS assembly language, registers $s0 to $s7 map onto registers 16
to 23, and registers $t0 to $t7 map onto registers 8 to 15. Hence, $s0 means
register 16, $s1 means register 17, $s2 means register 18, . . . , $t0 means
register 8, $t1. means register 9, and so on.
MIPS Fields
MIPS fields are given names to make them
easier to discuss.
The meaning of each name of the fields in MIPS
instructions:
op: Basic operation of the instruction, traditionally called
the opcode. rs: The first register source operand.
rt: The
second register source operand.
rd: The
register destination operand. It gets the result of the operation.
shamt:
Shift amount.
funct: Function. This field selects the
specific variant of the operation in the op field and is
sometimes called the function code.
A problem
occurs when an instruction needs longer fields than those
specified above. For example, the load word instruction must specify
two registers and a constant. If the address were to use one of the 5-bit fields
in the format above, the constant within the load word instruction would
be limited to only 25 or 32. This constant is used to select elements from
arrays or data structures, and it often needs to be much larger than 32. This
5-bit field
is too small to be useful.
This leads us to the hardware design principle: Good design
demands good compromises.
Today’s computers are built on two key principles:
1. Instructions
are represented as numbers.
2. Programs
are stored in memory to be read or written, just like numbers.
These principles lead to the stored-program concept; its invention let the computing genie out of its bottle. specifically, memory can contain the source code for an editor program, the corresponding compiled machine code, the text that the compiled program is using, and even the compiler that generated the machine code. One consequence of instructions as numbers is that programs are often shipped as files of binary numbers. The commercial implication is that computers can inherit ready-made software provided they are compatible with an existing instruction set. Such “binary compatibility” often leads industry to align around a small number of instruction set architectures.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.