This document summarizes the central processing unit (CPU) and its organization. The CPU has three main parts: the register set, arithmetic logic unit (ALU), and control unit. It describes two common CPU organizations: general register organization and stack organization. General register organization uses multiple registers and a register set with a register file and ALU. The stack organization uses a last-in, first-out stack and stack pointer register. It also discusses addressing modes that provide programming versatility and reduce the number of bits in instruction addresses.
In this chapter, the coverage of basic I/O and programmable peripheral interfaces is expanded by examining a technique called interrupt-processed I/O.
An interrupt is a hardware-initiated procedure that interrupts whatever program is currently executing.
This chapter provides examples and a detailed explanation of the interrupt structure of the entire Intel family of microprocessors.
pipelining is the concept of decomposing the sequential process into number of small stages in which each stage execute individual parts of instruction life cycle inside the processor.
Complete description of AT89xxx (8051 based) microcontrollers with timers, serial communication and assembly language programming. Interfacing of some real time devices like led, sensor, and seven segment display is also covered.
In this chapter, the coverage of basic I/O and programmable peripheral interfaces is expanded by examining a technique called interrupt-processed I/O.
An interrupt is a hardware-initiated procedure that interrupts whatever program is currently executing.
This chapter provides examples and a detailed explanation of the interrupt structure of the entire Intel family of microprocessors.
pipelining is the concept of decomposing the sequential process into number of small stages in which each stage execute individual parts of instruction life cycle inside the processor.
Complete description of AT89xxx (8051 based) microcontrollers with timers, serial communication and assembly language programming. Interfacing of some real time devices like led, sensor, and seven segment display is also covered.
About Cache Memory
working of cache memory
levels of cache memory
mapping techniques for cache memory
1. direct mapping techniques
2. Fully associative mapping techniques
3. set associative mapping techniques
Cache memroy organization
cache coherency
every thing in detail
Register Organization of 8086, Architecture, Signal Description of 8086, Physical Memory
Organization, General Bus Operation, I/O Addressing Capability, Special Processor Activities,
Minimum Mode 8086 System and Timings, Maximum Mode 8086 System and Timings.
Addressing Modes of 8086.
To those who would like to have a copy of this slide, just email me at martzmonette@yahoo.com and please tell me why would you want this presentation. Thank you very much and GOD BLESS YOU
About Cache Memory
working of cache memory
levels of cache memory
mapping techniques for cache memory
1. direct mapping techniques
2. Fully associative mapping techniques
3. set associative mapping techniques
Cache memroy organization
cache coherency
every thing in detail
Register Organization of 8086, Architecture, Signal Description of 8086, Physical Memory
Organization, General Bus Operation, I/O Addressing Capability, Special Processor Activities,
Minimum Mode 8086 System and Timings, Maximum Mode 8086 System and Timings.
Addressing Modes of 8086.
To those who would like to have a copy of this slide, just email me at martzmonette@yahoo.com and please tell me why would you want this presentation. Thank you very much and GOD BLESS YOU
I am working as a Assistant Professor in ITS, Ghaziabad.This slides is very useful for UPTU,UTU,JNU,BHU etc.please give feedback to me in friendly_rakesh2003@yahoo.co.in
Computer engineering - overview of microprocessorsEkeedaPvtLtd
Computer engineering is a part of the Engineering and Technology course that deals with software and computers. It integrates different fields of computer and electronic engineering in order to develop computer software and hardware. The computer engineers are trained with both software and hardware related subjects so that they can understand and implement their knowledge in the real world too. The computer engineers have various opportunities when it comes to their career. The advancement in technology and the requirement of various software has paved a glorious path for computer engineers. From big MNCs to small startups, everyone is in need of a computer genius. Computer engineering mainly deals with microcontrollers and processors, circuit designing, designing personal as well as supercomputers, etc. This stream completely focuses on providing knowledge about both software and hardware for students.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
The word comes from the combination micro and processor.
Processor means a device that processes whatever. In this context processor means a device that processes numbers, specifically binary numbers, 0’s and 1’s.
To process means to manipulate. It is a general term that describes all manipulation. Again in this content, it means to perform certain operations on the numbers that depend on the microprocessor’s design.
1. Chap. 8 Central Processing Unit 8-1
8-1 Introduction
3 major parts of CPU : Fig. 8-1
1) Register Set
2) ALU
3) Control
Design Examples of simple CPU
Hardwired Control : Chap. 5
Microprogrammed Control : Chap. 7
In this chapter : Chap. 8 Computer Architecture as seen by the programmer
Describe the organization and architecture of the CPU
with an emphasis on the user’s view of the computer
by using two way
General purpose organization
Stack organization
Addressing mode and instruction format
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
2. General Register Organization 8-2
8-2 General Register Organization
External Input
The importance of register
C lo c k In p u t
Memory locations are needed for storing
pointers, counters, return address, temporary R1
results, and partial products during multiplication R2
R3
Memory access is the most time-consuming R4
operation in a computer R5
R6
More convenient and efficient way is to store R7
intermediate values in processor registers Load
Bus organization for 7 CPU registers : Fig. 8-2 ( 7 lin e s )
SELA MUX MUX SELB
2 MUX : select one of 7 register or external data
A bus B bus
input by SELA and SELB 3× 8
decoder
BUS A and BUS B : form the inputs to a
common ALU SELD A r it h m e t ic lo g ic u n it
OPR (A LU )
ALU : OPR determine the arithmetic or logic
microoperation
External Output
» The result of the microoperation is available for
O u tp u t
external data output and also goes into the inputs ( a ) B lo c k d ia g ra m
of all the registers 3 3 3 5
3 X 8 Decoder : select the register (by SELD) SELA SELB SELD OPR
that receives the information from ALU ( b ) C o n tro l w o rd
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
3. 8-3
C lo c k In p u t
R 1
R 2
R 3
R 4
R 5
R 6
R 7
L o a d
(7 lin e s )
S E L A M U X M U X S E L B
3 × 8 A b u s B b u s
d e c o d e r
S E L D A r it h m e t ic lo g ic u n it
O P R (A L U )
O u tp u t
( a ) B lo c k d ia g r a m
3 3 3 5
S E L A S E L B S E L D O P R
( b ) C o n tro l w o rd
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
4. 8-4
Binary selector input : R1 ← R 2 + R 3
1) MUX A selector (SELA) : to place the content of R2 into BUS A
2) MUX B selector (SELB) : to place the content of R3 into BUS B
3) ALU operation selector (OPR) : to provide the arithmetic addition R2 + R3
4) Decoder selector (SELD) : to transfer the content of the output bus into R1
Control Word
14 bit control word (4 fields) : Fig. 8-2(b)
» SELA (3 bits) : select a source register for the A input of the ALU
» SELB (3 bits) : select a source register for the B input of the ALU Tab. 8-1
» SELD (3 bits) : select a destination register using the 3 X 8 decoder
» OPR (5 bits) : select one of the operations in the ALU Tab. 8-2
Encoding of Register Selection Fields : Tab. 8-1
» SELA or SELB = 000 (Input) : MUX selects the external input data
» SELD = 000 (None) : no destination register is selected but the contents of the output
bus are available in the external output
Encoding of ALU Operation (OPR) : Tab. 8-2 Control Word, Control Memory
Microprogrammed Control
Examples of Microoperations : Tab. 8-3
TSFA (Transfer A) : R7 ← R1, External Output ← R 2, External Output ← External Input
XOR : R5 ← 0 ( XOR R5 ⊕ R5)
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
5. Design of control world 8-5
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
6. question 8-6
(a) 32 multiplexers, each of size 16 × 1.
(b) 4 inputs each, to select one of 16 registers.
(c) 4-to-16 – line decoder
(d) 32 + 32 + 1 = 65 data input lines
32 + 1 = 33 data output lines
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
7. 8-7
Stack Organization
8-3 Stack Organization
Stack or LIFO(Last-In, First-Out)
A storage device that stores information
» The item stored last is the first item retrieved = a stack of tray
Stack Pointer (SP)
» The register that holds the address for the stack
» SP always points at the top item in the stack
Two Operations of a stack : Insertion and Deletion of Items
A d d re s s
» PUSH : Push-Down = Insertion
» POP : Pop-Up = Deletion 64
Stack
» 1) Register Stack (Stack Depth) FU LL EM TY
a finite number of memory words or register(stand alone)
» 2) Memory Stack (Stack Depth)
a portion of a large memory 4
SP C 3
Register Stack : Fig. 8-3 B 2
A 1
PUSH : SP ← SP + 1 : Increment SP Last Item 0
M [ SP ] ← DR : Write to the stack
SP = 0,
EMTY = 1, If ( SP = 0) then ( FULL ← 1) : Check if stack is full
DR
FULL = 0 EMTY ← 0 : Mark not empty
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
8. 8-8
POP :The first item is stored at address 1, and the last item is stored at address 0
DR ← M [ SP ] : Read item from the top of stack * Memory Stack
PUSH = Address 감소
SP ← SP − 1 : Decrement Stack Pointer * Register Stack
If ( SP = 0) then ( EMTY ← 1) : Check if stack is empty PUSH = Address 증가
FULL ← 0 : Mark not full A d d re s s
M e m o ry u n it
Memory Stack : Fig. 8-4 PC
1000
P ro g ra m
PUSH : SP ← SP − 1 ( in s t ru c tio n s )
* 초기 상태
M [ SP ] ← DR
2000
SP = 4001 AR
» The first item is stored at address 4000 D a ta
POP : DR ← M [ SP ] (o p e ra n d s )
SP ← SP + 1 * Error Condition
3000
PUSH when FULL = 1
S ta c k
Stack Limits POP when EMTY = 1
Check for stack overflow(full)/underflow(empty) 3997
SP 3998
» Checked by using two register
3999
Upper Limit and Lower Limit Register 4000
» After PUSH Operation Start Here 4001
SP compared with the upper limit register
» After POP Operation
SP compared with the lower limit register DR
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
9. Stack Full and Empty Condition 8-9
(a) Stack full with 64 items.
(b) stack empty
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
10. Evaluating Arithmetic Expressions 8-10
Inpix Prepix Postpix notation
RPN (Reverse Polish Notation) StackArithmetic
The common mathematical method of writing arithmetic expressions imposes
difficulties when evaluated by a computer
A stack organization is very effective for evaluating arithmetic expressions using
Reverse Polish Notation in following manner
A * B + C * D → AB * CD * +
» ( 3 * 4 ) + ( 5 * 6 ) → 34 * 56 * +
6
4 5 5 30
3 3 12 12 12 12 42
3 4 * 5 6 * +
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
11. Instruction Formats 8-11
8-4 Instruction Formats
Fields in Instruction Formats
1) Operation Code Field : specify the operation to be performed
2) Address Field : designate a memory address or a processor
register
3) Mode Field : specify the operand or the effective address
(Addressing Mode)
There are 3 type of CPU organization
1) Single AC Organization :
2) General Register Organization. :
3) Stack Organization. :
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
12. 8-12
3 types of CPU organizations X = Operand Address
1) Single AC Org. : ADD X AC ← AC + M [ X ]
2) General Register Org. : ADD R1, R2, R3 R1 ← R 2 + R 3
3) Stack Org. : PUSH X TOS ← M [ X ]
The influence of the number of addresses on computer instruction we will
evaluate with
Three address instruction
Two address instruction R1 ← M [ A] + M [ B ]
one address instruction R 2 ← M [C ] + M [ D ]
Zero address instruction M [ X ] ← R1 ∗ R 2
X = (A + B)*(C + D) using
- 4 arithmetic operations : ADD, SUB, MUL, DIV
- 1 transfer operation to and from memory and general register : MOV
- 2 transfer operation to and from memory and AC register : STORE, LOAD
- Operand memory addresses : A, B, C, D
- Result memory address : X
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
13. Three Address Instruction 8-13
X = (A + B)*(C + D)
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
14. 8-14
2) Two-Address Instruction
MOV R1, A R1 ← M [ A]
ADD R1, B R1 ← R1 + M [ B ]
MOV R2, C R 2 ← M [C ]
ADD R2, D R2 ← R2 + M [ D]
MUL R1, R2 R1 ← R1 ∗ R 2
MOV X, R1 M [ X ] ← R1
» The most common in commercial computers
» Each address fields specify either a processor register or a memory operand
3) One-Address Instruction
LOAD A AC ← M [ A]
ADD B AC ← A[C ] + M [ B ]
STORE T M [T ] ← AC
LOAD C AC ← M [C ]
ADD D AC ← AC + M [ D ]
MUL T AC ← AC ∗ M [T ]
STORE X M [ X ] ← AC
» All operations are done between the AC register and memory operand
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
15. 8-15
4) Zero-Address Instruction
PUSH A TOS ← A
PUSH B TOS ← B
ADD TOS ← ( A + B )
PUSH C TOS ← C
PUSH D TOS ← D
ADD TOS ← (C + D )
MUL TOS ← (C + D ) ∗ ( A + B )
POP X M [ X ] ← TOS
» Stack-organized computer does not use an address field for the instructions ADD, and
MUL
» PUSH, and POP instructions need an address field to specify the operand
» Zero-Address : absence of address ( ADD, MUL )
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
16. 8-16
Program to evaluate X = ( A + B ) * ( C + D )
LOAD R1, A R1 ← M [ A]
LOAD R2, B R2 ← M [ B]
LOAD R3, C R3 ← M [C ]
LOAD R4, D R4 ← M [ D]
ADD R1, R1, R2 R1 ← R1 + R 2
ADD R3, R3, R4 R3 ← R3 + R 4
MUL R1, R1, R3 R1 ← R1 ∗ R3
STORE X, R1 M [ X ] ← R1
8-5 Addressing Modes
Addressing Mode 의 필요성
1) To give programming versatility to the user
» pointers to memory, counters for loop control, indexing of data, ….
2) To reduce the number of bits in the addressing field of the instruction
Instruction Cycle
1) Fetch the instruction from memory and PC + 1
2) Decode the instruction
3) Execute the instruction
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
17. 8-17
Program Counter (PC)
PC keeps track of the instructions in the program stored in memory
PC holds the address of the instruction to be executed next
PC is incremented each time an instruction is fetched from memory
Addressing Mode of the Instruction
1) Distinct Binary Code
» Instruction Format 에 Opcode 와 같이 별도에 Addressing Mode Field 를 갖고 있음
2) Single Binary Code
» Instruction Format 에 Opcode 와 Addressing Mode Field 가 섞여 있음
Instruction Format with mode field : Fig. 8-6
Opcode Mode Address
Implied Mode
Operands are specified implicitly in definition of the instruction
Examples
» COM : Complement Accumulator
Operand in AC is implied in the definition of the instruction
» PUSH : Stack push
Operand is implied to be on top of the stack
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
18. 8-18
Immediate Mode
Operand field contains the actual operand
Useful for initializing registers to a constant value
Example : LD #NBR
Register Mode
Operands are in registers
Register is selected from a register field in the instruction
» k-bit register field can specify any one of 2 k registers
Example : LD R1 AC ← R1 Implied Mode
Register Indirect Mode
Selected register contains the address of the operand rather than the operand
itself
Address field of the instruction uses fewer bits to select a memory address
» Register 를 select
Example : LD (R1) AC ← M [R1]
Autoincrement or Autodecrement Mode
Similar to the register indirect mode except that
» the register is incremented after its value is used to access memory
» the register is decrement before its value is used to access memory
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
19. 8-19
Example (Autoincrement) : LD (R1)+ AC ← M [ R1], R1 ← R1 + 1
Direct Addressing Mode
Effective address is equal to the address field of the instruction (Operand)
Address field specifies the actual branch address in a branch-type instruction
Example : LD ADR AC ← M [ ADR ]
ADR = Address part of Instruction
Indirect Addressing Mode
Address field of instruction gives the address where the effective address is
stored in memory
Example : LD @ADR AC ← M [ M [ ADR ]]
Relative Addressing Mode
PC is added to the address part of the instruction to obtain the effective address
Example : LD $ADR AC ← M [ PC + ADR ]
Indexed Addressing Mode
XR (Index register) is added to the address part of the instruction to obtain the
effective address
Example : LD ADR(XR) AC ← M [ ADR + XR ]
Base Register Addressing Mode Not Here
the content of a base register is added to the address part of the instruction to
obtain the effective address
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer
20. 8-20
Similar to the indexed addressing mode except that the register is now called a
base register instead of an index register
» index register (XR) : LD ADR(XR) AC ← M [ ADR + XR ] ADR
index register hold an index number that is relative to the address part of the instruction
» base register (BR) : LD ADR(BR) AC ← M [ BR + ADR ] BR
base register hold a base address
the address field of the instruction gives a displacement relative to this base address
A d d re s s M e m o ry
Numerical Example
PC = 200 200 L o a d to A C Mode
Addressing Mode Effective Address Content of AC
201 A d d re s s = 5 0 0
Immediate Address Mode 201 500
Direct Address Mode 500 800 R1 = 400 202 N e x t in s tru c tio n
Indirect Address Mode 800 300
Register Mode 400 XR = 100
Register Indirect Mode 400 700
399 450
Relative Address Mode 702 325
Indexed Address Mode 600 900 AC 400 700
Autoincrement Mode 400 700
800
Autodecrement Mode 399 450 500
R1 = 400
600 900
500 + 202 (PC)
R1 = 400 (after) 702 325
500 + 100 (XR)
R1 = 400 -1 (prior)
800 300
Computer System Architecture Chap. 8 Central Processing Unit Dept. of Info. Of Computer