0% found this document useful (0 votes)
120 views60 pages

William Stallings Computer Organization and Architecture 9 Edition

This chapter discusses the basic components and organization of the von Neumann computer architecture. It describes how data and instructions are stored in memory and processed sequentially by the CPU. The document outlines the fetch-execute cycle, input/output components, interrupts, and how different modules like the processor, memory, and I/O devices are interconnected via buses.

Uploaded by

Fahmida Rahman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
120 views60 pages

William Stallings Computer Organization and Architecture 9 Edition

This chapter discusses the basic components and organization of the von Neumann computer architecture. It describes how data and instructions are stored in memory and processed sequentially by the CPU. The document outlines the fetch-execute cycle, input/output components, interrupts, and how different modules like the processor, memory, and I/O devices are interconnected via buses.

Uploaded by

Fahmida Rahman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 60

+

William Stallings
Computer Organization
and Architecture
9th Edition
+
Chapter 3
A Top-Level View of Computer
Function and Interconnection
+
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
+
von Neumann architecture
+
Hardware
and Software
Approaches
Software
• A sequence of codes or instructions Software
• Part of the hardware interprets each instruction and
generates control signals
• Provide a new sequence of codes for each new program
instead of rewiring the hardware
Major components:
• CPU I/O
• Instruction interpreter Components
• Module of general-purpose arithmetic and logic
functions
• 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 address Memory buffer
MEMORY
register (MAR) register (MBR)
• Specifies the address • Contains the data to
in memory for the be written into
next read or write memory or receives
the data read from
memory

MAR

I/O address I/O buffer


register (I/OAR) register (I/OBR)
+ • Specifies a • Used for the
particular I/O device exchange of data
between an I/O
module and the CPU
MBR
Computer
Components:
Top Level
View
+
Basic Instruction Cycle
+
Fetch Cycle
 At the beginning of each instruction cycle the processor fetches an
instruction from memory

 The program counter (PC) holds the address of the instruction to be


fetched next

 The processor increments the PC after each instruction fetch so that


it will fetch the next instruction in sequence

 The fetched instruction is loaded into the instruction register (IR)

 The processor interprets the instruction and performs the required


action
Action Categories

• Data transferred from processor to • Data transferred to or


memory or from memory to processor from a peripheral device
by transferring between
the processor and an I/O
module

Processor- Processor-
memory I/O

Data
Control processing

• An instruction may specify that the • The processor may


sequence of execution be altered perform some arithmetic
or logic operation on data
+
+
Example
of
Program
Execution
+
Instruction Cycle State Diagram
+
Classes of Interrupts
+

Program
Timing:
Short I/O
Wait
+

Program
Timing:
Long I/O
Wait
Program Flow Control
+
Instruction Cycle With Interrupts
Instruction Cycle State Diagram
With Interrupts
+
Transfer of Control via Interrupts
Transfer of
Control

Multiple
Interrupts

+
+ Time Sequence of Ex
Multiple Interrupts am
ple
+
I/O Function
 I/O module can exchange data directly with the processor

 Processor can read data from or write data to an I/O module


 Processor identifies a specific device that is controlled by a particular I/O
module
 I/O instructions rather than memory referencing instructions

 In some cases it is desirable to allow I/O exchanges to occur directly


with memory
 The processor grants to an I/O module the authority to read from or write
to memory so that the I/O memory transfer can occur without tying up the
processor
 The I/O module issues read or write commands to memory relieving the
processor of responsibility for the exchange
 This operation is known as direct memory access (DMA)
+ Computer
Modules
The interconnection structure must support the following
types of transfers:

Memory Processor I/O to or


I/O to Processor
to to from
processor to I/O
processor memory memory

An I/O
module is
allowed to
exchange
Processor
Processor data directly
reads an Processor Processor
reads data with memory
instruction writes a unit sends data to
from an I/O without
or a unit of of data to the I/O
device via an going
data from memory device
I/O module through the
memory
processor
using direct
memory
access
A communication pathway Signals transmitted by any one
connecting two or more devices device are available for reception
• Key characteristic is that it is a shared by all other devices attached to Bus
transmission medium the bus
• If two devices transmit during the same
time period their signals will overlap
Inte
and become garbled
r
con
Typically consists of multiple
nect
communication lines
• Each line is capable of transmitting
Computer systems contain a
number of different buses that
ion
signals representing binary 1 and provide pathways between
binary 0 components at various levels of
the computer system hierarchy

System bus
• A bus that connects major computer
components (processor, memory, I/O)
The most common computer
interconnection structures are
based on the use of one or more
system buses
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
+ Address Bus Control Bus

 Used to designate the source or  Used to control the access and the
destination of the data on the data bus use of the data and address lines
 If the processor wishes to read a
word of data from memory it puts
 Because the data and address lines
the address of the desired word on are shared by all components there
the address lines must be a means of controlling their
use
 Width determines the maximum
possible memory capacity of the  Control signals transmit both
system command and timing information
among system modules
 Also used to address I/O ports
 Timing signals indicate the validity
 The higher order bits are used to
of data and address information
select a particular module on the
bus and the lower order bits select  Command signals specify operations
a memory location or I/O port
to be performed
within the module
Bus Interconnection Scheme
Bus

Confi
gurat
ions
+
Elements of Bus Design
Timing of
Synchronous
Bus Operations
Timing of
Asynchronous
Bus
Operations
+
Point-to-Point Interconnect

Principal reason for change was At higher and higher data rates
the electrical constraints it becomes increasingly difficult
encountered with increasing the to perform the synchronization
frequency of wide synchronous and arbitration functions in a
buses timely fashion

A conventional shared bus on


the same chip magnified the
difficulties of increasing bus Has lower latency, higher data
data rate and reducing bus rate, and better scalability
latency to keep up with the
processors
+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

 Layered protocol architecture


 These processor level interconnects use a layered protocol
architecture rather than the simple use of control signals found in
shared bus arrangements

 Packetized data transfer


 Data are sent as a sequence of packets each of which includes
control headers and error control codes
Multicore
Configuration
Using
QPI
QPI Layers
+
Physical Interface of the Intel QPI
Interconnect
+
QPI Multilane Distribution
+
QPI Link Layer

 Flow control function


 Performs two key functions:  Needed to ensure that a sending
flow control and error control QPI entity does not overwhelm a
 Operate on the level of the receiving QPI entity by sending
flit (flow control unit) data faster than the receiver can
 Each flit consists of a 72- process the data and clear buffers
for more incoming data
bit message payload and an
8-bit error control code
called a cyclic redundancy  Error control function
check (CRC)
 Detects and recovers from bit
errors, and so isolates higher
layers from experiencing bit
errors
+
QPI Routing and Protocol Layers

Routing Layer Protocol Layer


 Packet is defined as the unit of
 Used to determine the course that a transfer
packet will traverse across the
available system interconnects  One key function performed at this
level is a cache coherency protocol
 Defined by firmware and describe which deals with making sure that
the possible paths that a packet can main memory values held in
follow multiple caches are consistent

 A typical data packet payload is a


block of data being sent to or from
a cache
+
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

 PCI Express (PCIe)


 Point-to-point interconnect scheme intended to replace bus-based schemes such as
PCI
 Key requirement is high capacity to support the needs of higher data rate I/O
devices, such as Gigabit Ethernet
 Another requirement deals with the need to support time dependent data streams
+
PCIe
Configuration
+
PCIe Protocol Layers
PCIe Protocol Layers

Transaction Layer : Responsible for converting requests or


completion data from device core to a valid PCIe transaction
Data Link Layer : Integrity of transactions across the link. 
Physical Layer : Actually transmit and receive transactions
across a PCIe link. On power-on the physical layer initializes
the number of layers to be used , link speed etc. The TL and
DLL are oblivious to how the data is transmitted, it is taken
care by the PL.
+ Receives read and write requests from the

software above the TL and creates request
packets for transmission to a destination via
the link layer

PCIe  Most transactions use a split transaction


technique
Transaction Layer (TL)  A request packet is sent out by a source
PCIe device which then waits for a
response called a completion packet

 TL messages and some write transactions


are posted transactions (meaning that no
response is expected)

 TL packet format supports 32-bit


memory addressing and extended 64-bit
memory addressing
Transaction Layer – Overview 

The Transaction Layer Packet (TLP) originates at the TL.


A PCIe transaction can have the following levels of
classification

Is it a Read or write transaction -- I


Is it a request (to read or write) or completion (for read or write)
-- II 
Is it a memory / configuration/ IO or message (request or
completion ) -- III
Transaction Layer –Overview 
There are major types of transaction layer packets : 
1. Memory - Transaction to and from a memory mapped
location. They can use 32 bit or 64 bit addressing.
2. I/O - Transactions targeting to and from a I/O location.
PCIe mainly supports this for backward compatibility of
address space. Uses only 32 bit addressing. 
3. Configuration - Transactions targeting the configuration
space targeted for device config and setup during
enumeration
4. Message (new type specific to PCIe) - This is a new
class of transaction in PCIe. Since there are no side band
signals as in PCI. The interrupts, error and power
management signals are mapped and transmitted as
message transactions.
PCIe TLP Transaction Types
Data Link Layer - overview 
The data link layer assigns a 12 bit sequence number to each TLP
as it is passed from the transmit to receive side.  
 
Sequence number checks is on a per link basis i.e., Sequence
number can be different across links

1)      Data Link Layer is the gatekeeper for each individual link in


the PCI Express system 
2)      Ensures data sent across the link is correct and received in
the same order it was sent.
3)      Link Management functions are accomplished with the
DLLPs (Data Link Layer Packets) which are used by the DLL for
error notification, power management, flow control etc.
Data Link Layer - overview 

Services of a DLL can be broadly classified into :


•  Data Exchange 
•  Error Detection and Retry
•  TLP Sequence number and LCRC generation 
•  Initialization and Power Management
 
Physical Layer- overview 
The two key sub-blocks of the
physical layer are : Logical sub-
block and electrical sub-block.
   Logical Sub-block – Decision
maker for the physical layer.
   The logical sub-block has a
transmit and receive unit.
  Transmit Unit has three primary
stages of operation :
Data scrambling
128b/130b encoding and
packet   framing
  
Physical Layer- overview 

Receive unit takes the de-serialized


physical packet from link, removes
framing, decodes and descrambles
the packet
   The electrical sub-block
functions as the delivery
mechanism for the physical link.
   Its primary functions include :
Serial- parallel conversion, Clock
extraction and Lane-to-Lane de-
skew.
PCIe
Transmit
and Receive
Block
Diagrams
+
PCIe Multilane Distribution
+
The TL supports four address spaces:

 Memory  I/O
 The memory space includes  This address space is used for
system main memory and PCIe legacy PCI devices, with
I/O devices reserved address ranges used to
 Certain ranges of memory address legacy I/O devices
addresses map into I/O devices

 Configuration  Message
 This address space enables the  This address space is for control
TL to read/write configuration signals related to interrupts,
registers associated with I/O error handling, and power
devices management
+

PCIe
Protocol
Data
Unit
Format
+
TLP Memory Request Format
+ Summary A Top-Level View of
Computer Function and
Interconnection
Chapter 3
 Point-to-point interconnect
 Computer components
 QPI physical layer
 Computer function
 QPI link layer
 Instruction fetch and execute
 QPI routing layer
 Interrupts
 QPI protocol layer
 I/O function
 Interconnection structures  PCI express
 Bus interconnection  PCI physical and logical
 Bus structure architecture
 Multiple bus hierarchies  PCIe physical layer
 Elements of bus design  PCIe transaction layer
 PCIe data link layer

You might also like