Académique Documents
Professionnel Documents
Culture Documents
Submitted By:
Shaveta Gupta(IT)
3 Fundamental Components of
Computer
The CPU (ALU, Control Unit, Registers)
The Memory Subsystem (Stored Data)
The I/O subsystem (I/O devices)
Address Bus
Data Bus Memory
CPU
Control Bus Subsystem
I/O Device
Subsystem 2
Each of these Components are
connected through Buses.
BUS - Physically a set of wires. The
components of the Computer are
connected to these buses.
Address Bus
Data Bus
Control Bus
3
Address Bus
5
Control Bus
6
I/O Bus or Local Bus
In today’s computers the the I/O
controller will have an extra bus called
the I/O bus.
The I/O bus will be used to access all
other I/O devices connected to the
system.
Example: PCI bus
7
Instruction Cycles
Procedure the CPU goes through to
process an instruction.
1. Fetch - get instruction
2. Decode - interperate the instruction
3. Execute - run the instruction.
8
CPU organization
CPU controls the Computer
The CPU will fetch, decode and execute
instructions.
The CPU has three internal sections:
register section, ALU and Control Unit
9
Register Section
Includes collection of registers and a
bus.
Processor’s instruction set architecture
are found in this section.
Non accessible registers by the
programmer. These are to be used for
registers to latch the address being
accessed and a temp storage register.
10
Arithmetic/Logic Unit (ALU)
11
MEMORY ORGANIZATION
• Memory Hierarchy
• Main Memory
• Auxiliary Memory
• Associative Memory
• Cache Memory
• Virtual Memory
12
Memory
Main memory consists of a number of
storage locations, each of which is
identified by a unique address
The ability of the CPU to identify each
location is known as its addressability
13
Memory Hierarchy
MEMORY HIERARCHY
CPU Cache
memory
Register
Cache
Main Memory
Magnetic Disk
Magnetic Tape
14
Memory Subsystem
2 Types of Memory:
– ROM : Read Only Memory
Program that is loaded into memory and
cannot be changed also retains its data even
without power.
– RAM : Random Access Memory
Also called read/write memory. This type of
memory can have a program loaded and then
reloaded. It also loses its data with no power.
15
Different ROM Chips
Masked ROM :
ROM that is programmed with data when
fabricated. Data will not change once installed.
Hardwired.
Programmable ROM (PROM) :
Capable of being programmed by the user with
a ROM programmer. Not hardwired.
Erasable PROM (EPROM) :
Much like the PROM this EPROM can be
programmed and then erased by light.
EEPROM :
Another form of EPROM but is reprogammable16
Different RAM Chips
Dynamic RAM (DRAM) :
Leaky capacitors. Caps are charged and slowly
leak until they are refreshed to there original
data locations. Ex. Computer RAM
Static RAM (SRAM) :
Much like a register. The contents stay valid
and does not have to be refreshed. SRAM is
faster than DRAM but cost more Ex. Cache
– Each RAM chip has 2^n * m. n address
inputs and m bidirectional data pins 17
The operation of cache memory
Cache
Main
Memory CPU
Memory
(SRAM)
(DRAM)
= Bus connections 18
Addressing Modes
Immediate
Direct
Indirect
Register
Register Indirect
Displacement (Indexed)
Stack
19
Immediate Addressing
Operand is part of instruction
Operand = address field
e.g. ADD 5
– Add 5 to contents of accumulator
– 5 is operand
No memory reference to fetch data
Fast
Limited range 20
Immediate Addressing
Diagram
Instruction
Opcode Operand
21
Direct Addressing
Address field contains address of
operand
Effective address (EA) = address field
(A)
e.g. ADD A
– Add contents of cell A to accumulator
– Look in memory at address A for operand
Single memory reference to access data
No additional calculations to work out
effective address 22
Direct Addressing Diagram
Instruction
Opcode Address A
Memory
Operand
23
Direct Addressing Diagram
Instruction
Opcode Address A
Memory
Operand
24
Indirect Addressing (1)
Memory cell pointed to by address field
contains the address of (pointer to) the
operand
EA = (A)
– Look in A, find address (A) and look there
for operand
e.g. ADD (A)
– Add contents of cell pointed to by contents
of A to accumulator 25
Indirect Addressing (2)
Large address space
2n where n = word length
May be nested, multilevel, cascaded
– e.g. EA = (((A)))
Draw the diagram yourself
Multiple memory accesses to find
operand
Hence slower
26
IndirectInstruction
Addressing Diagram
Opcode Address A
Memory
Pointer to operand
Operand
27
Register Addressing (1)
Operand is held in register named in
address filed
EA = R
Limited number of registers
Very small address field needed
– Shorter instructions
– Faster instruction fetch
28
Register Addressing (2)
No memory access
Very fast execution
Very limited address space
Multiple registers helps performance
– Requires good assembly programming or
compiler writing
– N.B. C programming
register int a;
c.f. Direct addressing 29
Register Addressing Diagram
Instruction
Opcode Register Address R
Registers
Operand
30
Register Indirect Addressing
Instruction
Opcode Register Address R
Memory
Registers
32
Displacement Addressing
EA = A + (R)
Address field hold two values
– A = base value
– R = register that holds displacement
– or vice versa
33
Displacement Addressing Diagram
Instruction
Opcode Register R Address A
Memory
Registers
34
Relative Addressing
A version of displacement addressing
R = Program counter, PC
EA = A + (PC)
i.e. get operand from A cells from
current location pointed to by PC
c.f locality of reference & cache usage
35
Base-Register Addressing
A holds displacement
R holds pointer to base address
R may be explicit or implicit
e.g. segment registers in 80x86
36
Indexed Addressing
A = base
R = displacement
EA = A + (R)
Good for accessing arrays
– EA = A + (R)
– R++
37
Stack Addressing
Operand is (implicitly) on top of stack
e.g.
– ADD Pop top two items from stack
and add
38
Input-Output Organization
Keyboard 40
and Magnetic Magnetic
Printer
display disk tape
terminal
– Transfer
– Synchronous Data Transfer
All data transfers occur
simultaneously during the
occurrence of a clock pulse
Registers in the interface
share a common clock with
CPU registers
– Asynchronous Data Transfer
Internal timing in each unit
(CPU and Interface) is
independent
Each unit uses its own private
clock for internal registers
41
Data bus Data bus
Source Destination Source Destination
unit Strobe unit unit Strobe unit
Strobe Strobe
(b) Timing diagram (b) Timing diagram
42
Data bus Data bus
Data
Valid data
Ready for data
Data valid
– Handshake : Agreement betwee
Data valid
Data accepted
Data bus
Valid data
43
11-4 Modes of Transfer Read status register
1) Programmed I/O = 0
Flag
2) Interrupt-initiated I/O = 1
Continue
44
– Polling
Identify the highest-priority source by software
means
– One common branch address is used for all
interrupts
– Program polls the interrupt sources in sequence
– The highest-priority source is tested first
Polling priority interrupt
– If there are many interrupt sources, the time
required to poll them can exceed the time available
to service the I/O device
– 따라서 Hardware priority interrupt
– Daisy-Chaining :
Processor data bus
VAD 1 VAD 2 VAD 3
Interrupt request
INT
CPU
Interrupt acknowledge
INTACK
45
VAD
INTACK Priority in
PI Enable
Vector address
No interrupt request
Invalid : interrupt request, but no acknowledge
No interrupt request : Pass to other device
(other device requested interrupt )
Interrupt request
46
Direct Memory Access (DMA)
– DMA
DMA controller takes over the buses to manage
the transfer directly between the I/O device
and memory
bus
memory address for read/write Address register
DMA select CS
Internal
– 2) Set Word count register : Register select RS
the number of words to transfer Read RD Word count register
Bus grant BG
– 5) EOT (End of Transfer) : DMA request
Interrupt Interrupt
to I/O device
DMA Acknowledge
48
– DMA Transfer (I/O to Memory)
1) I/O Device sends a DMA request
2) DMAC activates the BR line
3) CPU responds with BG line
Interrupt
BG CPU
Random access
memory (RAM)
8) Word count BR
BG
controller
DMA request
device
49
Input-Output Processor (IOP)
– IOP
Communicate directly with all I/O devices
Fetch and execute its own instruction
– IOP instructions are specifically designed to facilitate
I/O transfer
– DMAC must be set up entirely by the CPU
Designed to handle the details of I/O
processing
Central Processing
unit (CPU)
Memory bus
Peripheral devices
Memory unit PD PD PD PD
Input-output
processor (IOP) I/O bus
50
– CPU - IOP Communication
Memory units acts as a message center :
– each processor leaves information for the other
Send instruction
Transfer status word
to test IOP path
to memory location
Continue
51
Input/output Devices
Input/output devices are required for
users to communicate with the
computer.
In simple terms, input devices bring
information INTO the computer and
output devices bring information OUT of
a computer system. These input/output
devices are also known as peripherals.
52
Input Devices are:
Keyboard
Mouse
Joystick
Scanner
Light Pen
Touch Screen
53
Output devices are:
Printers
Plotters
Monitor
LCD
54
Intel 8086/8088 Microprocessors
Intel 8086 and 8088 Microprocessors are
the basis of all IBM-PC compatible
computers
(8086 introduced in 1978, first IBM-PC released in 1981)
Bus Interface
Unit(BIU)
Execution Unit
Fetches Opcodes,
(EU)
Reads Operands,
Writes Data
8086/8088 MPU
58
8086/8088
8086/8088 consists of two internal units
– The execution unit (EU) - executes the
instructions
– The bus interface unit (BIU) - fetches
instructions, reads operands and writes results
The 8086 has a 6B prefetch queue
The 8088 has a 4B prefetch queue
59
8086/8088 Internal Organisation
EU BIU
AH AL SUMMATION
BH BL
Data Bus
CH CL
CS
DH DL
DS
SP
SS
BP
ES
DI
IO
BI
Internal Bus
Communications Control
Registers
8088
Bus
Temporary
Registers
Instruction Queue
ALU
EU
Control
1 2 3 4
Flags
60
BIU Elements
Instruction Queue: the next instructions or data can be
fetched from memory while the processor is executing
the current instruction
– The memory interface is slower than the processor execution
time so this speeds up overall performance
Segment Registers:
– CS, DS, SS and ES are 16b registers
– Used with the 16b Base registers to generate the 20b address
– Allow the 8086/8088 to address 1MB of memory
– Changed under program control to point to different segments
as a program executes
Instruction Pointer (IP) contains the Offset Address of
the next instruction, the distance in bytes from the
address given by the current CS register 61
8086/8088 20-bit Addresses
CS
IP
62
BIU Elements
Instruction Queue: the next instructions or data can be
fetched from memory while the processor is executing
the current instruction
– The memory interface is slower than the processor execution
time so this speeds up overall performance
Segment Registers:
– CS, DS, SS and ES are 16b registers
– Used with the 16b Base registers to generate the 20b address
– Allow the 8086/8088 to address 1MB of memory
– Changed under program control to point to different segments
as a program executes
Instruction Pointer (IP) contains the Offset Address of
the next instruction, the distance in bytes from the
address given by the current CS register 63
MAXIMUM MINIMUM
MODE MODE
GND 1 40 Vcc
AD14 AD15
AD13 A16,S3
AD12 A17,S4
AD11 A18,S5
AD10 A19,S6
AD9 /BHE,S7
AD8 MN,/MX
AD7 /RD
AD6 /RQ,/GT0 HOLD
AD5
8086 /RQ,/GT1 HLDA
AD4 /LOCK /WR
AD3 /S2 IO/M
AD2 /S1 DT/R
AD1 /S0 /DEN
AD0 QS0 ALE
NMI QS1 /INTA
INTR /TEST
CLK READY
GND 20 21 RESET
64
8086/8088 Summary
First Generation (introduced June 1978)
One of the first 16b processors on the
market
16b internal registers
16/8b external data bus
20b address bus (1MB addressable)
Used in 1st generation IBM PCs (1981)
65
Thanks
66