Tutorial 5
Tutorial 5
Tutorial 5
1. What is ISA and describe why ISA is important for computer architecture.
➢ An Instruction Set Architecture (ISA) is an abstract model of a computer. It is also referred
to as architecture or computer architecture. The Instruction Set Architecture is the part of
the processor that is visible to the programmer or compiler writer. ISA is important for
computer architecture because the ISA serves as the boundary between software and
hardware.
2. Discuss the three questions which usually emerge during ISA level. How can these
questions be answered?
➢ The three questions which usually emerge during ISA level are:
I. Is it compatible with its predecessor?
II. Can I run my old operating system on it?
III. Will it run all my existing application programs unmodified?
➢ These questions can be solved by making the ISA backward compatible which is used to
preserve older software that would have otherwise been lost when a manufacturer decides
to stop supporting older hardware. Backward compatibility also acts as an additional selling
point for new hardware.
II. Implementability:
ISA eases to design high-performance implementations and also
maintains and implements the ability to evolve the technology. It also expresses the
programs efficiently.
III. Compatibility:
As long as the ISA is backward compatible with the previous models, they
are pretty much independent with the hardware. ISA makes it easy to express programs
efficiently. It also eases to maintain programmability as languages and programs.
7. Discuss the relationship between registers from microarchitecture level and ISA level.
Provide the reason why all the registers from ISA level can be seen from
microarchitecture level.
➢ In general, the registers visible at the microarchitecture level, such as TOS and MAR are
not visible at the ISA level. However, a few of them, such as the program counter and stack
pointer, are visible at both levels. On the other hand, registers visible at the ISA level are
always visible at the microarchitecture level since that is where they are implemented.
8. What are the differences between special purpose and general purpose register?
➢ The differences between special purpose and general purpose register are as follows:
Special Purpose Register General Purpose Register
• Special purpose registers are used to store • General purpose registers, on the other hand
state information about the machine/change serve as scratchpad for software. They are
state configuration. As the name suggests, used for passing parameters to functions,
each special purpose register is designated storing return values, and intermediate
for a purpose and that purpose alone. values during computations.
• It is used for selecting modes of the timers. • It can be used for data manipulation.
9. Describe the functions of LOAD, STORE and MOVE instruction in ISA level.
➢ The functions are:
i. LOAD: The function of load is to copy data from main memory into a register.
ii. STORE: The function of store operate is to copy data from a register into main
memory.
iii. MOVE: The function of move instructions is to copy data among the registers.
10. Describe the advantages and disadvantages of having different length instructions.
➢ The advantages of having different length instructions are as follows:
i. It easy to provide a large repertoire of opcodes, with different opcode lengths.
Addressing can be more flexible, with various combinations of register and memory
references plus addressing modes.
ii. Addressing is more flexible, efficient and compact with combination of memory,
register and addressing modes.
➢ The disadvantages of having different length instructions are as follows:
i. An increase in the complexity of the CPU.
ii. Processor completely depends upon instructor length.
The use of opcode expansion is that more op-code bits means more instructions and
accesses more address bits which means more addressable locations.
17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
• All ISAs have instructions to perform • The instructions are sometimes shorter,
addition and subtraction on integers though often other information must be
specified because one fewer address has to be
specified than with dyadic operations.
• Multiplication and division of integers are • Instructions to shift or rotate the contents of
nearly standard as well a word or byte are quite useful and are often
provided in several variations.
• Another group of dyadic operations includes • Shifts are operations in which the bits are
the Boolean instructions. moved to the left or right, with bits shifted
off the end of the word being lost. Rotates are
shifts in which bits pushed off one end
reappear on the other end.