Raheescv
raheescv1992@gmail.com
www.facebook.com/raheescv
twitter.com/raheescv
in.linkedin.com/in/raheescv
09633155669
CPU...
Disclaimer: This presentation is prepared by trainees of
baabtra as a part of mentoring program. This is not official
docu...
CPU
• central processing unit or processor
• This is the brain of the computer, it does all the processing
• The main purp...
STRUCTURE OF A CPU
ALU
• The ALU consists of circuits to perform arithmetic (+, -, ×, /)
and logical operations (<, ≤ >, ≥, and, or)
-Adder
-...
Control Unit
• The control unit is in charge of managing the fetch-execute
cycle
• It sends out control signals to all oth...
System Bus
• System Bus connects the CPU to memory and I/O devices
• It is a collection of wires that carries electrical c...
Registers
• Two kind of registers are there
1. User registers
2. Control registers
User registers
• These store data and addresses (pointers to data)
• These are manipulated by your program instructions
Ex...
User registers (cntnd).
• Others have general-purpose registers
-A general purpose register is a memory cell.
-Each genera...
Control registers
• Registers that store information used by the control unit to
perform the fetch-execute cycle
1. Progra...
Control and status registers (cntnd)
5. Memory address registers (MAR):
-Contains the address of a location in memory.
-Th...
Types of instruction
• All existing computers (CPU) execute the following 3 types
of instructions:
• Arithmetic and logic ...
Types of instruction Cntnd.
• Branch operations :-
•A branch instruction will cause the CPU to branch (jump) to the specif...
Instruction execution cycle
• The following is a summary of the 4 steps used to execute a
single instruction
• Fetch the i...
Fetch the instruction
1. Load the address of next instruction in the PC into the MAR.
– So that the control unit can fetch...
DECODE
1. Contents of IR split into operation code and
address if present e.g. store, add or jump
instructions.
2. Decode ...
EXECUTE
• If the instruction is a jump instruction then
– Load the address part of the instruction in the IR into the PC.
...
Execute contd
• If the instruction is a store instruction then:
– Copy address part of the instruction (to store in) in th...
Execute contd
• If the instruction is an output (from memory) instruction
then:
– Copy address part of the instruction (of...
Store the output
• Result of calculations in cpu stored in main
memory or sent to output devices.
• program Counter could ...
THANK YOU 
Want to learn more about programming or Looking to become a good programmer?
Are you wasting time on searching so many con...
Follow us @ twitter.com/baabtra
Like us @ facebook.com/baabtra
Subscribe to us @ youtube.com/baabtra
Become a follower @ s...
Emarald Mall (Big Bazar Building)
Mavoor Road, Kozhikode,
Kerala, India.
Ph: + 91 – 495 40 25 550
NC Complex, Near Bus Sta...
Cpu & its execution of instruction
Upcoming SlideShare
Loading in …5
×

Cpu & its execution of instruction

365 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
365
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cpu & its execution of instruction

  1. 1. Raheescv raheescv1992@gmail.com www.facebook.com/raheescv twitter.com/raheescv in.linkedin.com/in/raheescv 09633155669 CPU & ITS EXECUTION OFINSTRUCTION
  2. 2. Disclaimer: This presentation is prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring Partner Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
  3. 3. 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)
  4. 4. STRUCTURE OF A CPU
  5. 5. 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
  6. 6. 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.
  7. 7. 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
  8. 8. Registers • Two kind of registers are there 1. User registers 2. Control registers
  9. 9. User registers • These store data and addresses (pointers to data) • These are manipulated by your program instructions Example: 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
  10. 10. 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
  11. 11. 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)
  12. 12. 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 memory 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,
  13. 13. 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).
  14. 14. 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
  15. 15. 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
  16. 16. 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.
  17. 17. 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
  18. 18. 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
  19. 19. 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).
  20. 20. 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.
  21. 21. 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
  22. 22. THANK YOU 
  23. 23. 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.
  24. 24. 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
  25. 25. Emarald Mall (Big Bazar Building) Mavoor Road, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 NC Complex, Near Bus Stand Mukkam, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 Cafit Square, Hilite Business Park, Near Pantheerankavu, Kozhikode Start up Village Eranakulam, Kerala, India. Email: info@baabtra.com Contact Us

×