CH03 COA11e
CH03 COA11e
Chapter 3
A Top-Level View of
Computer Function and
Interconnection
Copyright © 2019, 2016, 2013 Pearson Education, Inc. 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
• Hardwired program
– The result of the process of connecting the various components in the
desired configuration
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Hardware and Sequence of
arithmetic
Software Data
and logic
functions
Results
Instruction Instruction
codes interpreter
Control
signals
General-purpose
Data arithmetic Results
and logic
functions
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
CPU Main Memory
0
System 1
2
Figure 3.2 PC MAR Bus
Instruction
Instruction
Instruction
IR MBR
I/O AR
Data
Execution
unit Data
I/O BR Data
Data
PC = Program counter
Buffers IR = Instruction register
MAR = Memory address register
MBR = Memory buffer register
I/O AR = Input/output address register
I/O BR = Input/output buffer register
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Fetch Cycle
Processor- Processor-
memory I/O
Data
Control
processing
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
0 3 4 15
Opcode Address
Figure 3.4 (a) Instruction format
0 1 15
S Magnitude
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Memory CPU Registers Memory CPU Registers
300 1 9 4 0 3 0 0 PC 300 1 9 4 0 3 0 1 PC
301 5 9 4 1 AC 301 5 9 4 1 0 0 0 3 AC
302 2 9 4 1 1 9 4 0 IR 302 2 9 4 1 1 9 4 0 IR
Figure 3.5 •
•
940 0 0 0 3
•
•
940 0 0 0 3
941 0 0 0 2 941 0 0 0 2
Step 1 Step 2
Memory CPU Registers Memory CPU Registers
300 1 9 4 0 3 0 1 PC 300 1 9 4 0 3 0 2 PC
301 5 9 4 1 0 0 0 3 AC 301 5 9 4 1 0 0 0 5 AC
302 2 9 4 1 5 9 4 1 IR 302 2 9 4 1 5 9 4 1 IR
• •
• •
940 0 0 0 3 940 0 0 0 3 3+2=5
941 0 0 0 2 941 0 0 0 2
Step 3 Step 4
Memory CPU Registers Memory CPU Registers
300 1 9 4 0 3 0 2 PC 300 1 9 4 0 3 0 3 PC
301 5 9 4 1 0 0 0 5 AC 301 5 9 4 1 0 0 0 5 AC
302 2 9 4 1 2 9 4 1 IR 302 2 9 4 1 2 9 4 1 IR
• •
• •
940 0 0 0 3 940 0 0 0 3
941 0 0 0 2 941 0 0 0 5
Step 5 Step 6
Multiple Multiple
operands results
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
User 1 2 3
WRITE WRITE WRITE
Program
Figure 3.7
(a) No
interrupts
I/O 4 I/O 5
Program Command END
User 1 2a 2b 3a 3b
WRITE WRITE WRITE
Program
(b) Interrupts,
short I/O wait
User 1 2 3
WRITE WRITE WRITE
Program
(c) Interrupts,
long I/O wait
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
User Program Interrupt Handler
Figure 3.8
1
i
Interrupt
occurs here i+1
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Figure 3.9
Fetch Cycle Execute Cycle Interrupt Cycle
Interrupts
Disabled
Check for
Fetch Next Execute
START Interrupt;
Instruction Instruction Interrupts Process Interrupt
Enabled
HALT
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Time
1 1
Figure 3.10 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
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Time
1 1
4 4
Figure 3.11
I/O operation; 2 I/O operation
processor waits concurrent with
processor executing;
then processor
waits
5
5
2
4
4
3 I/O operation
concurrent with
I/O operation; processor executing;
processor waits then processor
waits
5
5
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Figure 3.12
Instruction Operand Operand
fetch fetch store
Multiple Multiple
operands results
Return for
string or
Instruction complete, vector data
No
fetch next instruction interrupt Interrupt
check
Interrupt
Interrupt
Figure 3.13
Interrupt
handler Y
Interrupt
User program handler X
Interrupt
handler Y
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Figure 3.14
Printer Communication
User program
interrupt service routine interrupt service routine
t=0
15
0 t=
t =1
t = 25
t= t = 25 Disk
40 interrupt service routine
t=
35
Data N–1
External
Address M Ports Data
Internal
Data Interrupt
Signals
External
Data
Instructions Address
Control
Data CPU Signals
Interrupt Data
Signals
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
The interconnection structure must support the
following types of transfers:
An I/O
module is
allowed to
exchange
Processor Processor data directly
reads an Processor reads data Processor with
instruction writes a unit from an I/O sends data memory
or a unit of of data to device via to the I/O without
data from memory an I/O device going
memory module through the
processor
using direct
memory
access
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
A communication pathway Signals transmitted by any
connecting two or more one device are available for
devices reception by all other
• Key characteristic is that it is a devices attached to the bus
shared transmission medium • If two devices transmit during the
same time period their signals
will overlap and become garbled
Bus
Typically consists of
Interconnection
multiple communication Computer systems contain a
lines number of different buses
that provide pathways
• Each line is capable of between components at
transmitting signals representing
binary 1 and binary 0 various levels of the
computer system hierarchy
System bus
• A bus that connects major The most common computer
computer components (processor,
memory, I/O) interconnection structures
are based on the use of one
or more system buses
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Data Bus
• Data lines that provide a path for moving data among system
modules
• May consist of 32, 64, 128, or more separate lines
• The number of lines is referred to as the width of the data bus
• The number of lines determines how many bits can be
transferred at a time
• The width of the data bus
is a key factor in
determining overall
system performance
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Address Bus Control Bus
• Used to designate the source or • Used to control the access and the
destination of the data on the use of the data and address lines
data bus
– If the processor wishes to • Because the data and address lines
read a word of data from are shared by all components there
memory it puts the address must be a means of controlling their
of the desired word on the use
address lines • Control signals transmit both
• Width determines the maximum command and timing information
possible memory capacity of the among system modules
system
• Also used to address I/O ports • Timing signals indicate the validity
– The higher order bits are of data and address information
used to select a particular • Command signals specify
module on the bus and the operations to be performed
lower order bits select a
memory location or I/O port
within the module
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Figure 3.16
Control lines
Data lines
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Point-to-Point Interconnect
Principal reason for change At higher and higher data
was the electrical rates it becomes
constraints encountered increasingly difficult to
with increasing the perform the synchronization
frequency of wide and arbitration functions in a
synchronous buses timely fashion
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Quick Path Interconnect
QPI
• Introduced in 2008
• Multiple direct connections
– Direct pairwise connections to other components eliminating
the need for arbitration found in shared transmission systems
I/O device
I/O Hub
Figure 3.17
DRAM
DRAM
Core Core
A B
DRAM
DRAM
Core Core
C D
I/O device
I/O device
I/O Hub
Routing Routing
Flits
Link Link
Rcv Clk
Transmission Lanes Reception Lanes
Fwd Clk
Rcv Clk
#1 #2 #n
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
QPI Link Layer
• Flow control function
• Performs two key – Needed to ensure that a
functions: flow control sending QPI entity does not
and error control overwhelm a receiving QPI
– Operate on the level of entity by sending data faster
the flit (flow control unit) than the receiver can process
– Each flit consists of a 72- the data and clear buffers for
bit message payload and more incoming data
an 8-bit error control Error control function
code called a cyclic – Detects and recovers from bit
redundancy check (CRC) errors, and so isolates higher
layers from experiencing bit
errors
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
QPI Routing and Protocol Layers
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Peripheral Component Interconnect (PCI)
• A popular high bandwidth, processor independent bus that
can function as a mezzanine or peripheral bus
• Delivers better system performance for high speed I/O
subsystems
• PCI Special Interest Group (SIG)
– Created to develop further and maintain the compatibility of the PCI
specifications
Figure 3.21
Gigabit PCIe
Memory
Ethernet
Chipset
PCIe–PCI PCIe
Memory
Bridge
PCIe
PCIe PCIe
Switch
PCIe PCIe
Physical Physical
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
byte stream
Figure 3.23 B7 B6 B5 B4 B3 B2 B1 B0
B4 B5 B6 B7
B0 B1 B2 B3
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
D+ D–
8b
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
• Memory • I/O
– The memory space includes – This address space is used
system main memory and for legacy PCI devices, with
PCIe I/O devices
– Certain ranges of memory
reserved address ranges
addresses map into I/O used to address legacy I/O
devices devices
• Configuration • Message
– This address space enables – This address space is for
the TL to read/write control signals related to
configuration registers interrupts, error handling,
associated with I/O devices and power management
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Table 3.2
PCIe TLP Transaction Types
Address Space TLP Type Purpose
Memory Read Request
Transfer data to or from a location in the system
Memory Memory Read Lock Request
memory map.
Memory Write Request
I/O Read Request Transfer data to or from a location in the system
I/O I/O Write Request memory map for legacy
I/O Write Request devices.
Config Type 0 Read Request
Config Type 0 Write Request Transfer data to or from a location in the
Configuration configuration
Config Type 1 Read Request space of a PCIe device.
Config Type 1 Write Request
Message Request
Message Provides in-band messaging and event reporting.
Message Request with Data
Completion
Memory, I/O, Completion with Data
Configuration
Returned for certain requests.
Completion Locked
Completion Locked with Data
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Number
of octets
1 STP framing 1 Start
Appended by PL
2 Sequence number
DLLP
Created
by DLL
Figure 3.25 4
2 CRC
12 or 16 Header 1 End
0 or 4 ECRC
4 LCRC
1 STP framing
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
A Top-Level View of
Summary Computer Function
and Interconnection
Chapter 3 • Point-to-point interconnect
– QPI physical layer
• Computer components
– QPI link layer
• Computer function
– QPI routing layer
– Instruction fetch and
execute – QPI protocol layer
– Interrupts • PCI express
– I/O function – PCI physical and logical
architecture
• Interconnection structures
– PCIe physical layer
• Bus interconnection
– PCIe transaction layer
– PCIe data link layer
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved
Copyright
This work is protected by United States copyright laws and is provided solely
for the use of instructions in teaching their courses and assessing student
learning. dissemination or sale of any part of this work (including on the
World Wide Web) will destroy the integrity of the work and is not permit-
ted. The work and materials from it should never be made available to
students except by instructors using the accompanying text in their
classes. All recipients of this work are expected to abide by these
restrictions and to honor the intended pedagogical purposes and the needs of
other instructors who rely on these materials.
Copyright © 2019, 2016, 2013 Pearson Education, Inc. All Rights Reserved