Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

• What are the 4 general characteristics of a computer system that need to be ta

ID: 3818535 • Letter: #

Question

• What are the 4 general characteristics of a computer system that need to be taken into consideration when performing instruction set design?

• In general, instructions of an instruction set can be divided into a number of categories based on their basic operations. How many categories dose our textbook discussed? What are these categories? For each category, provide a brief description.

• Define RISC and CISC. What are the main issues of RISC/CISC debates? Compare and contrast RISC and CISC. • What are the advantages and disadvantages of RISC architectures? Provide a list of main features (at least 5) of RISC architecture.

• What is MIPS? Find a list of MIPS basic instructions. Make this list as complete as you can.

• Give AT LEAST 5 examples of where RISC architecture is used. Find out about what processors are inside some of the popular favorite electronic devices (e.g., game consoles, cell phones, MP3 players, etc.), for example, Apple iPods, Apple iPhone, Nintendo Game Boy Advance, PlayStaion 4 Game Console.

Explanation / Answer

1) An instruction set is a list of all the instructions, that a processor can execute.The design of an instruction set is very complex, because it affects so many aspects of the computer system. The instruction set defines many of the functions performed by the CPU and thus has a significant effect on the imple­mentation of the CPU. Thus, programmer requirements must be considered in designing the instruction set.

The most important design issues include the following:

2) Based on the instructions instruction set can be divided into number of categories such as:

Arithmetic Instructions:

Arithmetic instructions perform several basic operations such as addition, subtraction, division, multiplication etc. After execution, the result is stored in the first operand.

For example: ADD A,R1 – The result of addition (A+R1) will be stored in the accumulator.

Branch instructions:

A branch instruction, also called a jump instruction, has as one of its operands the address of the next instruction to be executed. Most often, the instruction is a conditional branch instruction.

Unconditional jump instructions: When the instrucctions are execution of a jump to a new location from where the program continues execution is executed.

Data Transfer instructions:

Data transfer instructions move the content of one register to another. The register the content of which is moved remains unchanged. If they have the suffix “X” (MOVX), the data is exchanged with external memory.

For example: MOV A,Rn=Moves the register to the accumulator

Logical Instructions:

Logic instructions perform logic operations upon corresponding bits of two registers. After execution, the result is stored in the first operand.Some of the basic logical operations that can be performed on Boolean or binary data are AND, OR, NOT, XOR, …

These logical operations can be applied bitwise to n-bit logical data units.For example:

if two registers contain the data (R1) - 10100101 (R2) - 00001111 then (R1) AND (R2) – 00000101

Bit oriented: Similar to logic instructions, bit-oriented instructions perform logic operations. The difference is that these are performed upon single bits.

3) RISC and CISC:

Central Processing Unit Architecture operates the capacity to work from “Instruction Set Architecture” to where it was designed. The architectural designs of CPU are RISC (Reduced instruction set computing) and CISC (Complex instruction set computing).

RISC: During and after early 1980s ,there was great deal of focusing on the reducing of instructions and thus the simpler instructions sets in the compters.It was made easier to compile high level language programs into machine level using the smpler and reduced instructionsin the instruction set.The computer that contains reduced number of instructions in the set is called the Reduced Instructions Set Computer.

After 1990s the Reduced instructions have incorporated some of the more complex instructions from CISC.

CISC: Before 180s there was agreat deal in reducing the semantic gap between the languages used to program computes and machine languages.It was believd that making the machine languages more hig levels would increase perofrmance by making the machine laguage programs to compute easier way.so the cmplex instruction set was designed resulting CISC.The CISC approach attempts to minimize the number of instructions per program, sacrificing the number of cycles per instruction. Computers based on the CISC architecture are designed to decrease the memory cost.

The main issues of RISC and CISC debates include:

The RISC vs CISC debate really heated up back in late 80's. The RISC camp believed that the instruction decoder was growing so complex in CISC processors, that the CISC designs didn't optimally use the available transistors. Moreover, CISC designs used microcode to handle the complex instructions. So many CISC instructions required multiple CPU clock cycles to complete.

Advanatges of RISC:

Disadvantages oof RISC:

RISC vs CISC:

CISC RISC

It is prominent on hardware It is prominent on softwre

It has high cycles per second It has low cycles per second

It has transistors used for storing instructions More transistors are used for storing memory

which are complex

LOAD and STORE memory to memory is induced LOAD and STORE register-register are independent

in instructions

It has multi clock. It has single clock

Characteristics of RISC:

MIPS:

MIPS is Microprocessor without interlocked Pipelining Stges is reduced RISC of Instruction set architecture.Early MIPS were 32 bit and later 64 bit added.MIPS could be what we use instead of ARM. For every non-arm based thing you have you have perhaps at least one ARM based thing, even the x86 you are possibly reading this on, has one or some ARM cores in it.

There are only three different instruction formats, which are very similar to each other.

1) R-type

2) I-type

3) J-type

R-type: Register-to-register arithmetic instructions use the R-type format.This format includes six different fields. — op is an operation code or opcode that selects a specific operation.

— rs and rt are the first and second source registers.

— rd is the destination register.

— shamt is only used for shift instructions.

— func is used together with op to select an arithmetic instruction.

I-type: Load, store, branch and immediate instructions all use the I-type format.For uniformity, op, rs and rt are in the same positions as in the R-format.

— rs is a source register—an address for loads and stores, or an operand for branch and immediate arithmetic instructions.

— rt is a source register for branches, but a destination register for the other I-type instructions.

The address is a 16-bit signed two’s-complement value. It can range from -32,768 to +32,767.

J-type: The jump instruction uses the J-type instruction format.

The jump instruction contains a word address, not an offset.

It has two fields op and address fields.The op field contains 6bits and address field contains 26 bits of storge.

5) Risc architectures are used in Apple ipod,MIPS,itanium,ARM,power PC's.

Apple ipod uses ARM cortex processor and x86 AMD APu processor is used in game cons