2. CENTRAL PROCESSING UNIT
A CENTRAL PROCESSING UNIT (CPU), ALSO CALLED A CENTRAL PROCESSOR, MAIN
PROCESSOR OR JUST PROCESSOR, IS THE ELECTRONIC CIRCUITRY THAT
EXECUTES INSTRUCTIONS COMPRISING A COMPUTER PROGRAM. THE CPU PERFORMS
BASIC ARITHMETIC, LOGIC, CONTROLLING, AND INPUT/OUTPUT (I/O) OPERATIONS
SPECIFIED BY THE INSTRUCTIONS IN THE PROGRAM.
3. ARITHMETIC LOGIC UNIT -
THE ARITHMETIC AND LOGIC UNIT CONTAINS ELECTRONIC CIRCUITRY THAT EXECUTES ALL
ARITHMETIC AND LOGIC OPERATIONS THAT CONTROL UNIT ASKS, SO AS TO EXECUTE SET OF
INSTRUCTIONS OR PROGRAM.
CONTROL UNIT -
• THE CONTROL UNIT OF THE CPU USES ELECTRICAL SIGNALS TO DIRECT THE ENTIRE COMPUTER
SYSTEM TO CARRY OUT, OR EXECUTE, STORED PROGRAM INSTRUCTIONS.
• THE CONTROL UNIT MUST COMMUNICATE WITH BOTH THE ARITHMETIC/LOGIC UNIT AND
MEMORY.
• HELPS IN FETCHING INPUT, DIRECTS SYSTEM TO EXECUTE PARTICULAR INSTRUCTION AT A
PARTICULAR TIME AND GENERATE OUTPUT FOR A PROGRAM
4. REGISTERS
REGISTERS ARE A TYPE OF COMPUTER MEMORY USED TO QUICKLY ACCEPT, STORE, AND TRANSFER
DATA AND INSTRUCTIONS THAT ARE BEING USED IMMEDIATELY BY THE CPU. ... A PROCESSOR
REGISTER MAY HOLD AN INSTRUCTION, A STORAGE ADDRESS, OR ANY DATA (SUCH AS BIT SEQUENCE
OR INDIVIDUAL CHARACTERS). THERE ARE IN TOTAL 14 REGISTERS, OUT OF WHICH 6 ARE GENERAL
PURPOSE REGISTERS.
5. • 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
• THE 8085 HAS SIX GENERAL-PURPOSE REGISTERS TO STORE 8-BIT DATA; THESE ARE
IDENTIFIED AS- B, C, D, E, H, AND L. THESE CAN BE COMBINED AS REGISTER PAIRS – BC,
DE, AND HL, TO PERFORM SOME 16-BIT OPERATION.
ACCUMULATOR
• THIS REGISTER IS USED FOR STORING THE RESULTS THOSE ARE PRODUCED BY THE
SYSTEM FOR SHORT TIME.
• ACCUMULATOR IS AN 8-BIT REGISTER (CAN STORE 8-BIT DATA) THAT IS THE PART OF
THE ARITHMETIC AND LOGICAL UNIT (ALU).
• ACCUMULATOR IS ALSO DEFINED AS REGISTER A.
6. INSTRUCTION REGISTER
• INSTRUCTION REGISTER CONTAINS THE CURRENT INSTRUCTION BEING EXECUTED BY THE
CPU.
• THE CPU WILL PERFORM THE OPERATION INDICATED BY THE INSTRUCTION CODE
CONTAINED IN THE INSTRUCTION REGISTER.
• IT CONTAINS THE INSTRUCTION MOST RECENTLY FETCHED OR EXECUTED.
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 OF AN INSTRUCTION.
• CONTENTS OF MAR IS DIRECTLY CONNECTED TO THE ADDRESS BUS.
7. MEMORY BUFFER REGISTER
• 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.
• CONTENTS OF MBR ARE DIRECTLY CONNECTED TO THE DATA BUS.
• ALSO KNOWN AS MEMORY DATA REGISTER.
PROGRAM COUNTER
• THIS REGISTER CONTAINS THE ADDRESS OF THE NEXT INSTRUCTION
• THE VALUE IN THE PROGRAM COUNTER WILL BE INCREASED AFTER THE CENTRAL PROCESSING
UNIT FINISHES EXECUTING ONE INSTRUCTION.
• A BRANCH OR SKIP INSTRUCTION WILL ALSO MODIFY THE CONTENT OF THE PC.
9. PROGRAM EXECUTION IN CENTRAL PROCESSING UNIT
PROGRAM - IN COMPUTING, A PROGRAM IS A SPECIFIC SET OF ORDERED OPERATIONS
FOR A COMPUTER TO PERFORM. IN THE MODERN COMPUTER THAT JOHN VON NEUMANN
OUTLINED IN 1945, THE PROGRAM CONTAINS A ONE-AT-A-TIME SEQUENCE OF
INSTRUCTIONS THAT THE COMPUTER FOLLOWS. TYPICALLY, THE PROGRAM IS PUT INTO
A STORAGE AREA ACCESSIBLE TO THE COMPUTER.
10. INSTRUCTION EXECUTION WITHIN A PROGRAM
• FETCH THE INSTRUCTION
• DECODE THE INSTRUCTION
• EXECUTE THE INSTRUCTION
• STORE THE INSTRUCTION
Control Unit, ALU & Registers play an important role in Program Execution
11. FETCH
1. LOAD THE ADDRESS OF NEXT INSTRUCTION IN THE PC AND OF CURRENT INSTRUCTION THE MAR.
– SO THAT THE CONTROL UNIT CAN DIRECTLY 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 MBR
– MBR 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 MBR INTO THE IR.
– THUS THE NEXT INSTRUCTION IS COPIED FROM MEMORY -> MBR -> IR.
12. 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 INSTRUCTION REGISTERS.
13. EXECUTE
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 MEMORY BUFFER
– COPY DATA IN MEMORY BUFFER REGISTER INTO ACCUMULATOR
• 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).
14. STORE THE OUTPUT
• RESULT OF CALCULATIONS IN CENTRAL PROCESSING UNIT STORED IN MAIN
MEMORY OR SENT TO OUTPUT DEVICES.
• PROGRAM COUNTER COULD BE UPDATED TO A NEW ADDRESS BY INCREMENTING.