CISC, RISC and Register


1)CISC(Complex Instruction Set Computer) :

1. Uses instruction of variable size
2. Instruction have different fetching time
3. Instruction set is large and simple

Image result for risc and cisc architecture4. Compiler addressing modes as most operation are memory based
5. Compiler design is complex
6. Total size of program is small as few instructions are required to perform a task. This is because the instructions are complex and powerful
7. instructions have variable number of operands
8. Ideal for processors performing a variety of operations
9. Since instructions are complex, they generally require a micro-programmed control unit
10. Execution speed is slower as most operations are memory based
11. Since number of cycles per instruction varies, pipe-lining has more bubbles or stalls

For example MULT 3:4 ,6:5. This instruction when executed will load two numbers and multiply them up and then store the result in a register.MULT here is a complex instruction and here we don’t require much of loading and storing elements from the computer’s memory rather they(CISC instructions) act directly on it. IT emphasises on multi clock instructions.

Examples of CISC processors are:

  • Intel 386, 486, Pentium, Pentium Pro, Pentium II, Pentium III
  • Motorola’s 68000, 68020, 68040, etc.

2)RISC(Reduced Instruction Set Computer)
1. Uses instruction of fixed size
2. Most instructions take same time to fetch
3. Instruction set simple and small

Image result for risc and cisc architecture

4. Less addressing modes as most operations are registered based
5. Compiler design is complex
6. Total size of program is large as many instructions are required to perform a task. This is because instructions are simple
7. Instructions uses fixed number of operands
8. Ideal for processors performing dedicated operations
9. Since instructions are simple, they can be decoded by hardware control unit
10. Execution speed is faster as most operations are register based
11. Since number of cycles per instruction os fixed it gives better degree of pipe-lining

so, here instead of MULT as a single instruction, there are a series of loading and storing instructions
Ex: LOAD A, 3:4
LOAD B, 6:5
STORE A, 3:4

Examples of RISC processors:

  • IBM RS6000, MC88100
  • DEC’s Alpha 21064, 21164 and 21264 processors

Computer Registers:In computer architecture, a processor register is a very fast computer memory used to speed the execution of computer programs by providing quick access to commonly used values-typically, the values being in the midst of a calculation at a given point in time.These registers are the top of the memory hierarchy, and are the fastest way for the system to manipulate data. In a very simple microprocessor, it consists of a single memory location, usually called an accumulator. Registers are built from fast multi-ported memory cell. They must be able to drive its data onto an internal bus in a single clock cycle. The result of ALU operation is stored here and could be re-used in a subsequent operation or saved into memory.

Registers are normally measured by the number of bits they can hold, for example, an 8-bit register means it can store 8 bits of data or a 32-bit register means it can store 32 bit of data.Registers are used to store data temporarily during the execution of a program. Some of the registers are accessible to the user through instructions. Data and instructions must be put into the system.

Registers Perform:-

1) Fetch: The Fetch Operation is used for taking the instructions those are given by the user and the Instructions those are stored into the Main Memory will be fetch by using Registers.

2) Decode: The Decode Operation is used for interpreting the Instructions means the Instructions are decoded means the CPU will find out which Operation is to be performed on the Instructions.

3) Execute: The Execute Operation is performed by the CPU. And Results those are produced by the CPU are then Stored into the Memory and after that they are displayed on the user Screen.

Image result for register in cpu

Types of Registers are as Followings:

1)MAR stand for Memory Address Register: This register holds the memory addresses of data and instructions. This register is used to access data and instructions from memory during the execution phase of an instruction. Suppose CPU wants to store some data in the memory or to read the data from the memory. It places the address of the-required memory location in the MAR.

2)Program Counter:The program counter (PC), commonly called the instruction pointer (IP) in Intel x86 microprocessors, and sometimes called the instruction address register, or just part of the instruction sequencer in some computers, is a processor register.It is a 16 bit special function register in the 8085 microprocessor. It keeps track of the the next memory address of the instruction that is to be executed once the execution of the current instruction is completed. In other words, it holds the address of the memory location of the next instruction when the current instruction is executed by the microprocessor.

3)Accumulator Register:This Register is used for storing the Results those are produced by the System. When the CPU will generate Some Results after the Processing then all the Results will be Stored into the AC Register.

4)Memory Data Register (MDR):MDR is the register of a computer’s control unit that contains the data to be stored in the computer storage (e.g. RAM), or the data after a fetch from the computer storage. It acts like a buffer and holds anything that is copied from the memory ready for the processor to use it. MDR hold the information before it goes to the decoder.MDR which contains the data to be written into or readout of the addressed location. For example, to retrieve the contents of cell 123, we would load the value 123 (in binary, of course) into the MAR and perform a fetch operation. When the operation is done, a copy of the contents of cell 123 would be in the MDR. To store the value 98 into cell 4, we load a 4 into the MAR and a 98 into the MDR and perform a store. When the operation is completed the contents of cell 4 will have been set to 98, by discarding whatever was there previously.

The MDR is a two-way register. When data is fetched from memory and placed into the MDR, it is written to in one direction. When there is a write instruction, the data to be written is placed into the MDR from another CPU register, which then puts the data into memory.The Memory Data Register is half of a minimal interface between a micro program and computer storage, the other half is a memory address register.

5)Index Register: A hardware element which holds a number that can be added to (or, in some cases, subtracted from) the address portion of a computer instruction to form an effective address. Also known as base register. An index register in a computer’s CPU is a processor register used for modifying operand addresses during the run of a program.

6)Memory Buffer Register:MBR stand for Memory Buffer Register. This register holds the contents of data or instruction read from, or written in memory. It means that this register is used to store data/instruction coming from the memory or going to the memory.

7)Data Register:A register used in microcomputers to temporarily store data being transmitted to or from a peripheral device.