cpu & its execution of instruction

26

Upload: baabtracom-no-1-supplier-of-quality-freshers

Post on 27-Jun-2015

170 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Cpu & its execution of instruction
Page 2: Cpu & its execution of instruction

Rahees [email protected]/raheescvtwitter.com/raheescvin.linkedin.com/in/raheescv09633155669

CPU & ITS EXECUTION OF INSTRUCTION

Page 3: Cpu & its execution of instruction

Disclaimer: This presentation is prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring PartnerBaabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd

Page 4: Cpu & its execution of instruction

CPU• central processing unit or processor• This is the brain of the computer, it does all the processing• The main purpose of a CPU is to execute instructions• The CPU executes the binary representation of the instructions,

-i.e., machine code.• programs are stored in memory (RAM)

Page 5: Cpu & its execution of instruction

STRUCTURE OF A CPU

Page 6: Cpu & its execution of instruction

ALU• The ALU consists of circuits to perform arithmetic (+, -, ×, /)

and logical operations (<, ≤ >, ≥, and, or)-Adder

-Multiplier-Shifter-Comparitor

-Etc…

• Operations in the ALU set status flags like carry, overflow, positive, zero, negative, etc

• The output (result) of the computation (obtained by the ALU) is often stored in a general purpose register

Page 7: Cpu & its execution of instruction

Control Unit• The control unit is in charge of managing the fetch-execute

cycle• It sends out control signals to all other devices• A control signal indicates that the device should activate or

perform it’s function• The control unit must communicate with both the

arithmetic/logic unit and memory.

Page 8: Cpu & its execution of instruction

System Bus• System Bus connects the CPU to memory and I/O devices• It is a collection of wires that carries electrical current • There are 3 parts to a bus

1. THE DATA BUS :--sometimes called the memory bus-for both data and program instructions-handles the transfer of all data and instructions between functional areas of the computer.

2. THE CONTROL BUS :--control signals from the Control Unit to devices, and feedback lines for acknowledging that the devices are ready or for interrupting the CPU

3. ADDRESS BUS :--the address of the memory location or I/O device that is to perform the given data movement operation

Page 9: Cpu & its execution of instruction

Registers

• Two kind of registers are there

1. User registers2. Control registers

Page 10: Cpu & its execution of instruction

User registers

• These store data and addresses (pointers to data)

• These are manipulated by your program instructionsExample: Add R1, R2, R3

R1 R2 + R3• Computers will have between

-1 and hundreds of registers-Possibly divided into data and address registers

• Registers are usually the size of the computer’s word size -32 or 64 bits today, previously it had been 8 or 16 bits

• Some machines use special-purpose registers -each register has an implied usage

Page 11: Cpu & its execution of instruction

User registers (cntnd).

• Others have general-purpose registers -A general purpose register is a memory cell.

-Each general purpose register has a unique name-It is used to store intermediate result of complex

computation-use them any way you want to

Page 12: Cpu & its execution of instruction

Control registers• Registers that store information used by the control unit to

perform the fetch-execute cycle

1. Program Counter (PC) -the memory location of the next instruction

2. Instruction Register(IR)-the current instruction being executed-The CPU will perform the operation indicated by the

instruction code contained in the instruction register. 3. Status flags

- information about the results of the last instruction executed eg:- “was there an overflow”,

“ was the result positive”, “ zero or negative” ….. ? Etc)

4. Stack Pointer – location in memory of the top of the run-time stack (used

for procedure calls and returns)

Page 13: Cpu & its execution of instruction

Control and status registers (cntnd)5. Memory address registers (MAR):

-Contains the address of a location in memory.-This register is used to access data and instructions from memory during the

execution of an instruction.6. Memory buffer register (MBR):

- Contains a word of data to be written to mem ory or the word most recently read.-It is the register that contains the data to be stored in the computer storage or 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,

Page 14: Cpu & its execution of instruction

Types of instruction• All existing computers (CPU) execute the following 3

types of instructions:

• Arithmetic and logic operations :-• (+ , - , / , * , AND, OR ,NOT)

• The result of an arithmetic and logic operation is often stored in a general purpose register

• Memory transfer operations• Transfer the content from some specific memory location to

a specific register (memory cell) in the CPU.

• and vice versa (transfer the content from some specific register (memory cell) in the CPU to some specific memory location).

Page 15: Cpu & its execution of instruction

Types of instruction Cntnd.• Branch operations :-

•A branch instruction will cause the CPU to branch (jump) to the specified location in memory

• After the jump has occurred, the CPU will continue to execute the instructions in sequence, until another branch/jump instruction is encountered

• There are 2 kinds of branch operations:

1.A unconditional branch instruction will always cause the CPU to jump to the target location

2.A conditional branch instruction will only cause the CPU to jump to the target location when the specified condition is met

Page 16: Cpu & its execution of instruction

Instruction execution cycle

• The following is a summary of the 4 steps used to execute a single instruction

• Fetch the instruction• Decode the instruction• Execute the instruction• Store the instruction

Page 17: Cpu & its execution of instruction

Fetch the instruction

1. Load the address of next instruction in the PC into the MAR.

– So that the control unit can fetch the instruction from the right part of the memory.

2. Copy the instruction/data that is in the memory address given by the MAR into the MDR.– MDR is used whenever anything is to go from the CPU to main

memory, or vice versa. 3. Increment the PC by 1.

– So that it contains the address of the next instruction, assuming that the instructions are in consecutive locations.

4. Load the instruction/data that is now in the MDR into the IR.– Thus the next instruction is copied from memory -> MDR -> IR.

Page 18: Cpu & its execution of instruction

DECODE

1. Contents of IR split into operation code and address if present e.g. store, add or jump instructions.

2. Decode the instruction that is in the IR

Page 19: Cpu & its execution of instruction

EXECUTE

• If the instruction is a jump instruction then– Load the address part of the instruction in the IR into the PC.

• If the instruction is an input / load (directly) instruction then

take data input and place in accumulator.• If the instruction is a load (from memory) instruction.

– Copy address part of the instruction (to load from) in the IR into MAR.– Copy data from memory address held in MAR to MDR.– Copy data in MDR into accumulator

Page 20: Cpu & its execution of instruction

Execute contd

• If the instruction is a store instruction then:– Copy address part of the instruction (to store in) in the IR into MAR.– Copy data in accumulator to MDR.– Copy data in MDR into memory address held in MAR.

• If the instruction is an add instruction then:– Copy address part of the instruction (of number to add) in the IR

into MAR.– Copy number from memory address held in MAR into MDR.– Add number in MDR to number in accumulator (accumulator will

now hold the result).

Page 21: Cpu & its execution of instruction

Execute contd• If the instruction is an output (from memory) instruction

then:– Copy address part of the instruction (of data to output) in IR into

MAR.– Output contents of MDR.

Page 22: Cpu & its execution of instruction

Store the output

• Result of calculations in cpu stored in main memory or sent to output devices.

• program Counter could be updated to a new address

Page 23: Cpu & its execution of instruction

THANK YOU

Page 24: Cpu & its execution of instruction

Want to learn more about programming or Looking to become a good programmer?

Are you wasting time on searching so many contents online?

Do you want to learn things quickly?

Tired of spending huge amount of money to become a Software professional?

Do an online course @ baabtra.com

We put industry standards to practice. Our structured, activity based courses are so designed to make a quick, good software professional out of anybody who holds a passion for coding.

Page 25: Cpu & its execution of instruction

Follow us @ twitter.com/baabtra

Like us @ facebook.com/baabtra

Subscribe to us @ youtube.com/baabtra

Become a follower @ slideshare.net/BaabtraMentoringPartner

Connect to us @ in.linkedin.com/in/baabtra

Give a feedback @ massbaab.com/baabtra

Thanks in advance

www.baabtra.com | www.massbaab.com |www.baabte.com

Page 26: Cpu & its execution of instruction

Emarald Mall (Big Bazar Building)Mavoor Road, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550

NC Complex, Near Bus StandMukkam, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550

Cafit Square,Hilite Business Park,Near Pantheerankavu,Kozhikode

Start up VillageEranakulam,Kerala, India.Email: [email protected]

Contact Us