CH03-COA10e - 2024
CH03-COA10e - 2024
William Stallings
Computer Organization
and Architecture
10th Edition
© 2016 Pearson Education, Inc., Hoboken,
NJ. All rights reserved.
+ Chapter 3
A Top-Level View of Computer
Function and Interconnection
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Computer Components
Contemporary computer designs are
based on concepts developed by John von
Neumann at the Institute for Advanced
Studies, Princeton;
Referred to as the von Neumann architecture
and is based on three key concepts:
Data and instructions are stored in a single read-
write memory
The contents of this memory are addressable by
location, without regard to the type of data
contained there.
Execution occurs in a sequential fashion (unless
explicitly modified) from one instruction to the next.
+
Computer Components
Thesummary of the concepts was discussed
in Chapter 2:
There is a small set of basic logic components that can
be combined in various ways to store binary data and
perform arithmetic and logical operations on that data;
There
are tow ways to combined the basic logic
components:
Programming in hardware:
to construct a special-purpose configuration,
The resulting “program” is in the form of hardware
and is termed a hardwired program.
Programming in software:
to construct a general-purpose configuration,
The method of programming, a sequence of codes or
instructions is called software.
+ Data
Data
Sequence of
arithmetic
Sequence
and
of
logic
arithmetic
functions
and logic
Results
Results
functions
(a) Programming in hardware
Approaches
codes
Instruction interpreter
Instruction
codes interpreter
Control
signals
Control
signals
General-purpose
Data arithmetic
General-purpose Results
and logic
arithmetic
Data functions Results
and logic
functions
(b) Programming in software
(b) Programming in software
Major Components:
• CPU
•Instruction interpreter I/O
•Module of general-purpose arithmetic and logic functions Components
• I/O Components
• Input module
• Contains basic components for accepting data and
instructions and converting them into an internal
+ form of signals usable by the system
• Output module: Means of reporting results
• Memory, or Main Memory
• operations on data may require access to more than
just one element at a time in a predetermined sequence.
• there must be a place to temporarily store both
instructions and data.
Data Exchange Between CPU & Memory
and CPU & I/O
Memory address Memory buffer MEMORY
register (MAR) register (MBR)
• Specifies the • Contains the data
address in to be written into
memory for the memory or
next read or write receives the data
read from
memory
MAR
• Program is consists of
a set of instructions I/O AR
Data
Execution
stored in memory. unit Data
I/O BR
• An instruction Data
Data
processing consists of
two steps: I/O Module n–2
The processor reads n–1
(fetches) instructions
from memory one at a
time,
PC = Program counter
Then executes each Buffers IR = Instruction register
MAR = Memory address register
instruction. MBR = Memory buffer register
I/O AR = Input/output address register
Figure 3.2 illustrates the top-level I/O BR = Input/output buffer register
components and suggests the
interactions among them. Figure 3.2 Computer Components: Top-Level View
Instruction Fetch and Execute
Data
Control
processing
0 1 15
S Magnitude
• 0001 = Load AC •
940 0 0 0 3
941 0 0 0 2
•
940 0 0 0 3
941 0 0 0 5
from memory
• 0010 = Store AC to Step 5 Step 6
memory
• 0101 = Add to AC
from memory
Figure 3.5 Example of Program Execution
(contents of memory and registers in hexadecimal)
Instruction Operand Operand
fetch fetch store
Multiple Multiple
operands results
1 4 1 4 1 4
Interrupt Interrupt
2b Handler Handler
END END
3a
3 3
3b
(a) No interrupts (b) Interrupts; short I/O wait (c) Interrupts; long I/O wait
i
Interrupt
occurs here i+1
Interrupts
Disabled
Check for
Fetch Next Execute
START Interrupt;
Instruction Instruction Interrupts Process Interrupt
Enabled
HALT
1 1
4 4
I/O operation
I/O operation;
processor waits 2a concurrent with
processor executing
5 5
2b
2
4
I/O operation
4 3a concurrent with
processor executing
I/O operation;
processor waits 5
5 3b
1 1
4 4
5
2
4
4
3 I/O operation
concurrent with
I/O operation; processor executing;
processor waits then processor
waits
5
5
Multiple Multiple
operands results
No
Instruction complete, Return for string interrupt
fetch next instruction or vector data
Dealing With
Multiple Interrupts Interrupt
handler Y
Interrupt
handler Y
Interrupt
handler Y
Interrupt
handler Y
15
0 t=
t =1
t = 25
t= t = 25 Disk
40 interrupt service routine
t=
35
Interconnection
Address 0 Data
Data
Structures
N–1
External
Address M Ports Data
Internal
Data Interrupt
Signals
External
Data
Instructions Address
Control
Data CPU Signals
Interrupt Data
Signals
An I/O
module is
allowed to
Processor Processor exchange
Processor data
reads an reads data Processor
writes a directly
instruction from an sends data
unit of with
or a unit of I/O device to the I/O memory
data to
data from via an I/O device without
memory
memory module going
through the
processor
using DMA
Used to designate the source or Used to control the access and the use
destination of the data on the data of the data and address lines;
bus;
If the processor wishes to read
Because the data and address lines are
a word of data from memory it shared by all components there must
puts the address of the desired be a means of controlling their use;
word on the address lines. Control signals transmit both
Width determines the maximum command and timing information
possible memory capacity of the among system modules;
system Timing signals indicate the validity of
Also used to address I/O ports data and address information.
The higher order bits are used Command signals specify operations
to select a particular module to be performed.
on the bus, and
Typical control lines include:
the lower order bits select a
memory location or I/O port Memory Write & Read, I/O write &
within the module Read, Transfer ACK, Bus Request &
Grant, Interrupt request & ACK,
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved. Clock, and Reset.
CPU Memory Memory I/O I/O
Control lines
Data lines
I/O device
I/O Hub
DRAM
DRAM
Core Core
A B
DRAM
DRAM
Core Core
C D
I/O device
I/O device
I/O Hub
Routing Routing
Provides the framework for
directing packets through
Flits the fabric.
Link Link
Responsible for;
Physical Phits Physical reliable transmission and
flow control.
unit of transfer is an 80-
bit Flit (flow control unit).
Fwd Clk
Rcv Clk
Transmission Lanes Reception Lanes
Fwd Clk
Rcv Clk
Gigabit PCIe
Memory
Ethernet
Chipset
PCIe–PCI PCIe
Memory
Bridge
PCIe
PCIe PCIe
Switch
PCIe PCIe
Physical Physical
B5 B1 128b/ PCIe
130b lane 1
B7 B6 B5 B4 B3 B2 B1 B0
B6 B2 128b/ PCIe
130b lane 2
B7 B3 128b/ PCIe
130b lane 3
Differential
Scrambler Receiver
8b 1b Clock recovery
circuit
Data recovery
128b/130b Encoding circuit
130b 1b
1b 130b
Transmitter Differential
128b/130b Decoding
Driver
128b
D+ D–
Descrambler
(a) Transmitter
8b
(b) Receiver
Configuration Message
This address space This address space is for
enables the TL to control signals related to
read/write configuration interrupts, error handling,
registers associated with and power management
I/O devices
Appended by PL
2 Sequence number
DLLP
Created
by DLL
4
2 CRC
12 or 16 Header 1 End
0 or 4 ECRC
4 LCRC
1 STP framing