You are on page 1of 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.

3. Discuss in two points what makes a good ISA.


➢ The two point which makes a good ISA are as follows:
I. A good ISA should define a set of instructions that can be implemented efficiently in
current and future technologies, resulting in cost-effective designs over several
generations.
II. A good ISA should provide a clean target for compiled code. Regularity and
completeness of a range of choices are important traits that are not always present in
an ISA.

4. Explain the important of ISA regards to three aspects: programmability,


implementability, compatibility.
➢ The importance of ISA regards to three aspects are as follows:
I. Programmability:
They can switch from a microprogrammed design to direct
execution, or add pipelines or superscalar facilities, provided that they maintain
backward compatibility with the previous ISA.

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.

5. How can ISA be implemented regards to forward compatibility?


➢ Forward compatibility for the older system usually means backward compatibility for the
new system, i.e. the ability to process data from the old system; the new system usually has
full compatibility with the older one, by being able to both process and generate data in the
format of the older system. The objective for forward compatible technology is for old
devices to recognize when data has been generated for new devices. A forward compatible
design can process at least some of the data from future ISA extensions.

6. Discuss how memory is structured in ISA level.


➢ Addressing memory is one of the most important functions of the ISA. Most computer
systems divide memory into 8-bit bytes. The ISA decides how to format these bytes into
larger structures such as 32-bit integers. The most common cell size at the moment is 8 bits,
but cell sizes from 1 bit to 60 bits have been used. An 8-bit cell is called a byte. The reason
for using 8-bit bytes is that ASCII characters are 7 bits, so one ASCII character plus a parity
bit fits into a byte. If UNICODE comes to dominate the industry in the future, then future
computers may be based on 16-bit consecutively numbered units. Bytes are generally
grouped into 4-byte (32-bit) or 8-byte (64-bit) words with instructions available for
manipulating entire words. Many architectures require words to be aligned on their natural
boundaries, so, for example, a 4-byte word may begin at address 0, 4, 8, etc., but not at
address 1 or 2. Similarly, an 8-byte word may begin at address 0, 8, or 16, but not at address
4 or 6.

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.

11. What is opcode expansion and why it is useful?


➢ The concept of expanding opcode can best be seen through an example. Consider a machine
in which instructions are 16 bits long and addresses are 4 bits long. This might be
reasonable on a machine that has 16registers on which all arithmetic operations take place.
One design would be a 4-bit opcode and three addresses in each instruction, giving 16 three
address instructions.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

------------------------- ------------------------- ------------------------- -----------------------

Opcode Address 1 Address 2 Address 3

The use of opcode expansion is that more op-code bits means more instructions and
accesses more address bits which means more addressable locations.

12. Calculate the following using opcode expansion mechanism.


a. One 4 bit opcode with three 4 bit address

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

------------------------- ------------------------- ------------------------- -----------------------

Opcode Address 1 Address 2 Address 3


b. Two 3 bit opcode and four 3 bit address

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

------------------ ----------------- ------------------ ----------------- ------------------ -----------------

Opcode 1 Opcode 2 Address 1 Address 2 Address 3 Address 4

c. Two 8 bit opcode and two 8 bit address

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

---------------------------- ---------------------------- ---------------------------- ----------------------------

Opcode 1 Opcode 2 Address 1 Address 2

13. Describe the differences between dyadic and monadic instructions.


➢ The differences between dyadic and monadic instructions are as follows:
Dyadic Instruction Monadic Instruction
• Dyadic operations are those that combine • Monadic operations have one operand and
two operands to produce a result. produce one result.

• 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.

You might also like