Professional Documents
Culture Documents
Implied mode :In this mode, the instruction contains an indirect definition of the operand. An
example of an implied mode instruction is CMA (complement accumulator). Here, the operand
(complement) is implicitly specified in the instruction.
Immediate addressing mode :In this mode, the instruction contains both the opcode and the
operand. It can be said that an instruction that uses the immediate addressing mode contains an
operand field in place of an address field. The operation, as well as the operands, are mentioned in
the instruction. An example of immediate addressing mode instruction is ADD 10. Here, ADD, which is
the operation, and 10, which is the operand, are specified.
Register mode: In this mode, the instruction specifies a register. This register stores the operand.
An example of register mode instruction is:
AC = AC + [R]
This will add the operand stored at register R to the operand stored in the accumulator.
Register indirect mode: In this mode, the instruction specifies a register. This register stores the
effective address of the operand. An instruction that uses register indirect addressing mode is:
AC = AC + [[R]]
Direct addressing mode : In this mode, the instruction specifies an address. This address is the
address of the operand. An example of a direct addressing mode instruction is:
AC = AC + [X]
This will add the operand stored at address X with the operand stored in the accumulator. This mode
is also referred to as absolute addressing mode.
Indirect addressing Mode: In this mode, the instruction specifies an address. The memory
location specified by the address contains the address of the operand. An example of an indirect
addressing mode instruction is:
AC = AC + [[X]]
Indexed addressing mode: In this mode, the address of the operand is determined by adding
the contents of the address field and the contents of the index register.
Base register addressing mode :In this mode, the address of the operand is determined by
adding the contents of the address field and the contents of the base register.
A stack-based computer does not use the address field in the instruction. To evaluate an expression
first it is converted to reverse Polish Notation i.e. Postfix Notation.
Expression: X = (A+B)*(C+D)
Postfixed : X = AB+CD+*
PUSH A TOP = A
PUSH B TOP = B
PUSH C TOP = C
PUSH D TOP = D
This uses an implied ACCUMULATOR register for data manipulation. One operand is in the
accumulator and the other is in the register or memory location. Implied means that the CPU already
knows that one operand is in the accumulator so there is no need to specify it.
Expression: X = (A+B)*(C+D)
AC is accumulator
LOAD A AC = M[A]
ADD B AC = AC + M[B]
STORE T M[T] = AC
LOAD C AC = M[C]
ADD D AC = AC + M[D]
MUL T AC = AC * M[T]
STORE X M[X] = AC
3.Two Address Instructions –
This is common in commercial computers. Here two addresses can be specified in the instruction.
Unlike earlier in one address instruction, the result was stored in the accumulator, here the result can
be stored at different locations rather than just accumulators, but require more number of bit to
represent address.
Expression: X = (A+B)*(C+D)
MUL R1, R2 R1 = R1 * R2
MOV X, R1 M[X] = R1
This has three address field to specify a register or a memory location. Program created are much
short in size but number of bits per instruction increase. These instructions make creation of program
much easier but it does not mean that program will run much faster because now instruction only
contain more information but each micro operation (changing content of register, loading address in
address bus etc.) will be performed in one cycle only.
Zero-address instructions: Advantages: They are simple and can be executed quickly since they
do not require any operand fetching or addressing. They also take up less memory space.
Disadvantages: They can be limited in their functionality and do not allow for much flexibility in terms
of addressing modes or operand types.
One-address instructions: Advantages: They allow for a wide range of addressing modes,
making them more flexible than zero-address instructions. They also require less memory space than
two or three-address instructions.
Disadvantages: They can be slower to execute since they require operand fetching and addressing.
Two-address instructions: Advantages: They allow for more complex operations and can be
more efficient than one-address instructions since they allow for two operands to be processed in a
single instruction. They also allow for a wide range of addressing modes.
Disadvantages: They require more memory space than one-address instructions and can be slower to
execute since they require operand fetching and addressing.
Three-address instructions: Advantages: They allow for even more complex operations and
can be more efficient than two-address instructions since they allow for three operands to be
processed in a single instruction. They also allow for a wide range of addressing modes.
Disadvantages: They require even more memory space than two-address instructions and can be
slower to execute since they require operand fetching and addressing.
Write the short note on
Rounding is almost unavoidable when reporting many computations – especially when dividing
two numbers in integer or fixed-point arithmetic; when computing mathematical functions such as
square roots, logarithms, and sines; or when using a floating-point representation with a fixed number
of significant digits
Guard bits: You can eliminate the possibility of overflow by appending the appropriate number of
guard bits to a binary word. For a two’s complement signed value, the guard bits are filled with either
0’s or 1’s depending on the value of the most significant bit (MSB).
Performance metrics are defined as figures and data representative of an organization’s actions,
abilities, and overall quality. There are many different forms of performance metrics, including sales,
profit, return on investment, customer happiness, customer reviews, personal reviews, overall
quality, and reputation in a marketplace. Performance metrics can vary considerably when viewed
through different industries.
Performance metrics are integral to an organization’s success. It’s important that organizations select
their chief performance metrics and focus on these areas because these metrics help guide and gauge
an organization’s success. Key success factors are only useful if they are acknowledged and tracked.
Business measurements must also be carefully managed to make sure that they give right answers,
and that the right questions are being asked.
While there is not a global agreement on the interpretation, superscalar design techniques involve
parallel instruction decoding, parallel register renaming, speculative execution, and out-of-order
execution. These techniques are usually employed along with complementing design techniques
including pipelining, caching, branch prediction, and multi-core in current microprocessor designs.
Superscalar processor emerged in three consecutive phases as first, the idea was conceived,
then a few architecture proposals and prototype machines appeared, and finally, in the last phase, the
commercial products reached the market.
What is multi-core architecture?
Multicore refers to an architecture in which a single physical processor incorporates the core logic of
more than one processor. A single integrated circuit is used to package or hold these processors.
These single integrated circuits are known as a die. Multicore architecture places multiple processor
cores and bundles them as a single physical processor. The objective is to create a system that can
complete more tasks at the same time, thereby gaining better overall system performance.
The concept of multicore technology is mainly centered on the possibility of parallel computing, which
can significantly boost computer speed and efficiency by including two or more central processing
units (CPUs) in a single chip. This reduces the system’s heat and power consumption. This means
much better performance with less or the same amount of energy.
The architecture of a multicore processor enables communication between all available cores to
ensure that the processing tasks are divided and assigned accurately. At the time of task completion,
the processed data from each core is delivered back to the motherboard by means of a single shared
gateway. This technique significantly enhances performance compared to a single-core processor of
similar speed.
These features give magnetic disk devices an advantage over tape recorders. A disk unit has
the ability to read any given segment of an audio or video recording or block of data without
having to pass over a major portion of its content sequentially; locating desired information
on tape may take many minutes. In a magnetic disk unit, direct access to a precise track on a
specific disk reduces retrieval time to a fraction of a second.
Magnetic disk technology was applied to data storage in 1962. The random accessibility of
data stored in disk units made these devices particularly suitable for use as auxiliary
memories in high-speed computer systems. Small, flexible plastic disks called floppy disks
were developed during the 1970s. Although floppy disks cannot store as much information as
conventional disks or retrieve data as rapidly, they are adequate for applications such as
those involving minicomputers and microcomputers where low cost and ease of use are of
primary importance.
Explain the following
1. Programed I/o
Programmed input–output (also programmable input/output, programmed input/output,
programmed I/O, PIO) is a method of data transmission, via input/output (I/O), between a
central processing unit (CPU) and a peripheral device, such as a Parallel ATA storage device.
Each data item transfer is initiated by an instruction in the program, involving the CPU for
every transaction. In contrast, in direct memory access (DMA) operations, the CPU is
uninvolved in the data transfer.
The term can refer to either memory-mapped I/O (MMIO) or port-mapped I/O (PMIO). PMIO
refers to transfers using a special address space outside of normal memory, usually accessed
with dedicated instructions, such as IN and OUT in x86 architectures. MMIO refers to
transfers to I/O devices that are mapped into the normal address space available to the
program. PMIO was very useful for early microprocessors with small address spaces, since the
valuable resource was not consumed by the I/O devices.
Interrupt driven I/O is an alternative scheme dealing with I/O. Interrupt I/O is a way of
controlling input/output activity whereby a peripheral or terminal that needs to make or
receive a data transfer sends a signal. This will cause a program interrupt to be set. At a time
appropriate to the priority level of the I/O interrupt. Relative to the total interrupt system,
the processors enter an interrupt service routine. The function of the routine will depend
upon the system of interrupt levels and priorities that is implemented in the processor. The
interrupt technique requires more complex hardware and software, but makes far more
efficient use of the computer’s time and capacities
Consider two instructions i1 and i2, with i1 occurring before i2 in program order.
For example:
I1. R4 <- R1 + R5
I2. R5 <- R1 + R2
In any situation with a chance that i2 may finish before i1 (i.e., with concurrent execution), it
must be ensured that the result of register R5 is not stored before i1 has had a chance to
fetch the operands.