COA-Instruction Set Design

One of the most interesting, most complex and most analysed aspects of computer design is Instruction Set Design.Because it affects so many aspects of computer system.That is, Instruction Set defines many of the functions performed by processor and thus has significant affect on the implementation of the processor.Means, in simple words, Instruction Set plays an important role in design of CPU as it defines many functions of it.And the processor size, power consumption by computer, speed etc. are also in somewhat depend on Instruction Set, i.e., smaller the IS(Instruction Set) implies small processor size, better speed etc.,.Now, in addition to this, Instruction Set is also the programmer's means of controlling the processor.

Therefore, while designing an Instruction Set for CPU, the designer must design Instruction Set which has many benefits, small and programmer's requirement also be considered while designing an Instruction Set.

Now, some of the important(fundamental) factors  which play an important role for designing of Instruction Set for a processor are:

1.Operation repertoire-How many and which operation to provide and how              complex operation should be:


   It plays an important role as the number of bits required for the operation code of an instruction          depend on the total number of operations available in the computer.That is, the operation code must    consists of at least n bits for a given 2n(or less) distinct operations.As an illustration, consider a          computer with 64 distinct operation, here the opcode consisting of 6 bits because 26 =64.

2.Data Types-What are the operands data type to be provided?(Or The various        types of data upon which operations are performed?)


    Data types are the like integers(unsigned or signed), long integers, float, double, character, strings,       etc.,.It includes issues like what data types are to be supported by Instruction Set.And this factor         plays an imporatnt role, as if Instruction set support more data types, then, the development of             system program becomes easier for programmers.

3.Registers-What are the number of registers which can be referenced by instruction and how they are used?


This is also an important factor, as during execution , firstly the required operands are transferred from main memory to CPU register for processing the Instruction.To process the Instruction various types of registers are used and to sent the result after computing(processing) to main memory.Basically the processor must contain 8 registers.

4.Addressing-What are the modes of specifying operand address?


It involves a set of technique for addressing data in memory or in registers.It plays an important role as address field in instruction format are small, and addresses are larger, by addressing modes, we can specify address of operands in fewer bits, whether they located at my location or anywhere i.e., processor, register, etc.

5.Instruction format: What should be the instruction format?


This involves, issues like instruction length, number of addresses, length of various elements of instruction set ,etc.,.Some instruction set support more than one instruction format.And it plays  imp. role as by it, we can analysed sequence of micro-operations initiated by the instruction.

These issues are highly interrelated and must be considered together in designing an Instruction Set.

Note:
It may surprise you to know that some of the most fundamental issues relating to the design of instruction set are remain dispute.


3 comments: