Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
75 views9 pages

CSCI 4717/5717 Computer Architecture Buses - Common Characteristics

Buses are used to connect multiple devices together to allow communication over a single set of wires. A bus consists of several key components including data lines to transfer information, address lines to specify locations, and control lines to manage access. There are two main types of bus structures - parallel and serial. Modern computer systems typically use multiple isolated buses and bridges between buses to improve performance and support a variety of interfaces and bus speeds.

Uploaded by

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

CSCI 4717/5717 Computer Architecture Buses - Common Characteristics

Buses are used to connect multiple devices together to allow communication over a single set of wires. A bus consists of several key components including data lines to transfer information, address lines to specify locations, and control lines to manage access. There are two main types of bus structures - parallel and serial. Modern computer systems typically use multiple isolated buses and bridges between buses to improve performance and support a variety of interfaces and bus speeds.

Uploaded by

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

CSCI 4717/5717 Buses – Common Characteristics

• Multiple devices communicating over a single set of


Computer Architecture wires
• Only one device can talk at a time or the message
is garbled
Topic: Buses • Each line or wire of a bus can at any one time
contain a single binary digit. Over time, however, a
Reading: Stallings, Sections 3.4, 3.5, and 7.7 sequence of binary digits may be transferred
• These lines may and often do send information in
parallel
• A computer system may contain a number of
different buses
CSCI 4717 – Computer Architecture Buses – Page 1 CSCI 4717 – Computer Architecture Buses – Page 2

Buses – Structure Buses – Structure (continued)


• Serial versus parallel • Bus lines (parallel)
• Around 50-100 lines although it's possible – Data
to have as few as 3 or 4 – Address
– Control
• Lines can be classified into one of four
– Power
groups
– Data lines • Bus lines (serial)
– Data, address, and control are sequentially sent down
– Address Lines single wire
– Control Lines – There may be additional control lines
– Power – Power

CSCI 4717 – Computer Architecture Buses – Page 3 CSCI 4717 – Computer Architecture Buses – Page 4

Buses – Structure (continued) Bus Structure – Control lines


• Because multiple devices communicate on a line,
control is needed
• Data Lines • Timing
– Passes data back and forth • Typical lines include:
– Number of lines represents width – Memory Read or Write
– I/O Read or Write
• Address lines – Transfer ACK
– Designates location of source or destination – Bus request
– Width of address bus specifies maximum – Bus grant
memory capacity – Interrupt request
– Interrupt acknowledgement
– High order selects module and low order – Clock
selects a location within the module – Reset

CSCI 4717 – Computer Architecture Buses – Page 5 CSCI 4717 – Computer Architecture Buses – Page 6

1
Operation – Sending Data Operation – Requesting Data
• Obtain the use of the bus • Obtain the use of the bus
• Transfer the data via the bus • Transfer the data request via the bus
• Possible acknowledgement • Wait for other module to send data
• Possible acknowledgement

CSCI 4717 – Computer Architecture Buses – Page 7 CSCI 4717 – Computer Architecture Buses – Page 8

Physical Implementations
Classic Bus Arrangement
• All components attached to bus (STD bus) • Parallel lines on circuit
• Due to Moore's law, more and more functionality boards (ISA or PCI)
exists on a single board, so major components • Ribbon cables (IDE)
are now on same board or even the same chip

CSCI 4717 – Computer Architecture Buses – Page 9 CSCI 4717 – Computer Architecture Buses – Page 10

Physical Implementations (continued) Single Bus Problems


• Strip connectors on Lots of devices on one bus leads to:
mother boards (PC104) • Physically long buses
– Propagation delays – Long data paths mean that co-
• External cabling (USB or
ordination of bus use can adversely affect
Firewire) performance
– Reflections/termination problems
• Aggregate data transfer approaches bus
capacity
• Slower devices dictate the maximum bus speed

CSCI 4717 – Computer Architecture Buses – Page 11 CSCI 4717 – Computer Architecture Buses – Page 12

2
Multiple Buses Multiple Buses – Benefits
• Most systems use multiple buses to overcome • Isolate processor-to-memory traffic from
these problems I/O traffic
• Requires bridge to buffer (FIFO) data due to • Support wider variety of interfaces
differences in bus speeds • Processor has bus that connects as direct
• Sometimes I/O devices also contain buffering interface to chip, then an expansion bus
(FIFO) interface interfaces it to external devices
(ISA)
• Cache (if it exists) may act as the interface
to system bus

CSCI 4717 – Computer Architecture Buses – Page 13 CSCI 4717 – Computer Architecture Buses – Page 14

Expansion Bus Example Mezzanine Approach


• Differences in I/O speeds demands separating
devices.
• Separate items that are high-speed and those
that are not
• An additional high-speed bus is added to
communicate with the faster devices and also
the slower expansion bus
• Advantage is that high-speed devices are
brought closer to processor

CSCI 4717 – Computer Architecture Buses – Page 15 CSCI 4717 – Computer Architecture Buses – Page 16

Mezzanine Approach (continued)


Pentium
Example

(Source: http://www.amd.com/us-
en/assets/content_type/white_papers_and_tech_docs/21644.pdf)
CSCI 4717 – Computer Architecture Buses – Page 17 CSCI 4717 – Computer Architecture Buses – Page 18

3
Bus Types Bus Types
Dedicated vs. Time Multiplexed Physical Dedication
• Dedicated
– Physically separating buses and controlling
– Separate data & address lines
them with a "channel changer“
• Time multiplexed – Advantages – faster
– Shared lines – Disadvantages – physically larger
– Address valid or data valid control line
– Advantage - fewer lines
– Disadvantages
• More complex control
• Degradation of performance

CSCI 4717 – Computer Architecture Buses – Page 19 CSCI 4717 – Computer Architecture Buses – Page 20

Bus Arbitration Centralised vs. Distributed Arbitration

• Listening to the bus is not usually a • Centralised Arbitration


problem – Single hardware device controlling bus
• Talking on the bus is a problem – need access – Bus Controller/Arbiter
arbitration to allow more than one module – May be part of CPU or separate
to control the bus at one time • Distributed Arbitration
• Arbitration may be centralised or – Each module may claim the bus
distributed – Access control logic is on all modules
– Modules work together to control bus

CSCI 4717 – Computer Architecture Buses – Page 21 CSCI 4717 – Computer Architecture Buses – Page 22

Synchronous Bus Timing


Bus Timing
• Events determined by clock signals
• Co-ordination of events on bus • Control Bus includes clock line
• Synchronous – controlled by a clock • A single 1-0 cycle is a bus cycle
• Asynchronous – timing is handled by well- • All devices can read clock line
defined specifications, i.e., a response is
delivered within a specified time after a • Usually sync on leading/rising edge
request • Usually a single cycle for an event
• Analogy – Orchestra conductor with baton
• Usually stricter in terms of its timing
requirements
CSCI 4717 – Computer Architecture Buses – Page 23 CSCI 4717 – Computer Architecture Buses – Page 24

4
Synchronous Bus Timing
Asynchronous Timing
• Devices must have certain tolerances to
provide responses to signal stimuli
• More flexible allowing slower devices to
communicate on same bus with faster
devices.
• Performance of faster devices, however, is
limited to speed of bus

CSCI 4717 – Computer Architecture Buses – Page 25 CSCI 4717 – Computer Architecture Buses – Page 26

Asynchronous Timing – Read Asynchronous Timing – Write

CSCI 4717 – Computer Architecture Buses – Page 27 CSCI 4717 – Computer Architecture Buses – Page 28

Peripheral Component
Bus Width Interconnection (PCI) Bus
• Wider the bus the better the data transfer Brief history
rate or the wider the addressable memory • Original PC came out with 8-bit ISA bus which
space was slow, but had enormous amount of existing
equipment.
• Serial “width” is determined by • For AT, IBM expanded ISA bus to 16-bit by
length/duration of frame adding connector
• Many PC board manufacturers started making
higher speed, proprietary buses
• Intel released the patents to its PCI and this
soon took over as the standard
CSCI 4717 – Computer Architecture Buses – Page 29 CSCI 4717 – Computer Architecture Buses – Page 30

5
PCI Bus (continued) Required PCI Bus Lines (Table 3.3)
Brief list of PCI 2.2 characteristics • Systems lines – clock and reset
• General purpose • Address & Data
• Mezzanine or peripheral bus – 32 time multiplexed lines for address/data
• Supports single- and multi-processor – Parity lines
architectures • Interface Control
• 32 or 64 bit – multiplexed address and data – Hand shaking lines between bus controller and
devices
• Synchronous timing
– Selects devices
• Centralized arbitration (requires bus controller)
– Allows devices to indicates when they are
• 49 mandatory lines (see Table 3.3) ready
CSCI 4717 – Computer Architecture Buses – Page 31 CSCI 4717 – Computer Architecture Buses – Page 32

Required PCI Bus Lines Optional PCI Bus Lines


(continued) There are 51 optional PCI 2.2 bus lines
• Arbitration • Interrupt lines
– Not shared – Not shared
– Direct connection to PCI bus arbiter – Multiple lines for multiple interrupts on a single device
• Cache support
• Error lines – parity and critical/system
• 64-bit Bus Extension
– Additional 32 lines
– Time multiplexed
– 2 lines to enable devices to agree to use 64-bit transfer
• JTAG/Boundary Scan – For testing procedures

CSCI 4717 – Computer Architecture Buses – Page 33 CSCI 4717 – Computer Architecture Buses – Page 34

PCI Commands PCI Transaction Types


• Transaction between initiator (master) and • Interrupt acknowledge – prompts identification
target from interrupting device
• Special cycle – message broadcast
• Master claims bus
• I/O read – read to I/O address space
• During address phase of write, 4 C/BE
• I/O write – write to I/O address space
lines signal the transaction type
• Memory read – 1 or 2 data transfer cycles
• One or more data phases
• Memory read line – 3 to 12 data transfer cycles
• Memory read multiple – more than 12 data
transfers

CSCI 4717 – Computer Architecture Buses – Page 35 CSCI 4717 – Computer Architecture Buses – Page 36

6
PCI Read Timing Diagram
PCI Transaction Types (continued)
• Memory write – writing 1 or more cycles to memory
• Memory write and invalidate – writing 1 or more cycles to
memory allowing for cache write-back policy
• Configuration read – reading PCI device's configuration
(up to 256 configuration registers per device)
• Configuration write – writing PCI device's configuration
(up to 256 configuration registers per device)
• Dual address cycle – indication of 64-bit addressing on
32 bit lines

CSCI 4717 – Computer Architecture Buses – Page 37 CSCI 4717 – Computer Architecture Buses – Page 38

PCI Bus Arbitration Between Two Masters


PCI Bus Arbiter

CSCI 4717 – Computer Architecture Buses – Page 39 CSCI 4717 – Computer Architecture Buses – Page 40

Higher Performance External Buses IEEE 1394 FireWire


• Inexpensive alternative needed for SCSI
• Historically, parallel has been used for high • High performance serial bus
speed peripherals (e.g., SCSI, parallel port zip • Serial implies cheaper cabling (fewer wires, less
drives rather than serial port). High speed shielding, less synchronization)
serial, however, has begun to replace this need
• Small connectors for smaller devices
• Serial communication also used to be restricted
• Fast
to point-to-point communications. Now there's
an increasing prevalence of multipoint • Low cost
• Easy to implement
• Also being used in digital cameras, VCRs and
TVs

CSCI 4717 – Computer Architecture Buses – Page 41 CSCI 4717 – Computer Architecture Buses – Page 42

7
FireWire Configuration FireWire 3 Layer Stack
• Daisy chain/tree structure (Mac O/S Help
indicates that daisy chain is preference for
up to 16 devices)
• Up to 63 devices on single port – really 64
of which one is the interface itself
• Up to 1022 buses can be connected with
bridges
• Automatic configuration for addressing
• No bus terminators
• Hot swappable

CSCI 4717 – Computer Architecture Buses – Page 43 CSCI 4717 – Computer Architecture Buses – Page 44

FireWire 3 Layer Stack Arbitration – Basic form


Physical Layer
• Upon automatic configuration, each tree
designates a root
• Transmission medium, electrical and
signaling characteristics • Parent/child relationship forms tree topology
• Root acts as central arbitrator
• Up to 400 Mbps
• Requests are first-come-first-serve
• Arbitration – basic form • Simultaneous requests are granted first to the
– Fair arbitration closest node to the root and second to the lower
– Urgent arbitration ID number
• Link layer packet transmission • Two additional functions are used to best allocate
– Asynchronous the use of the bus
– Fair arbitration
– Isochronous
– Urgent arbitration

CSCI 4717 – Computer Architecture Buses – Page 45 CSCI 4717 – Computer Architecture Buses – Page 46

Fair arbitration Urgent arbitration


• Keeps one device from monopolizing the bus by • Allows overriding of fairness interval by
allowing only one request during a set fairness nodes configured as having an urgent
interval priority
• At beginning of interval, all devices set • Provides support for devices with severe
arbitration_enable flag latency requirements or high throughput
• Each device may compete for bus access such as video
• If bus access is granted, arbitration_enable flag • They may use the bus up to 75% of the
is cleared prohibiting bus access until next time, i.e., for each non-urgent packet,
fairness interval three urgent packets may be sent

CSCI 4717 – Computer Architecture Buses – Page 47 CSCI 4717 – Computer Architecture Buses – Page 48

8
FireWire 3 Layer Stack
Asynchronous
Link Layer
• Transmission of data in packets Packets contain
• Two types of transmission supported: • Variable amount of data
– Asynchronous • Several bytes of transaction layer
– Isochronous information
• Addressing information
• Acknowledgement

CSCI 4717 – Computer Architecture Buses – Page 49 CSCI 4717 – Computer Architecture Buses – Page 50

Asynchronous Sequence Asynchronous Sequence (continued)


• Arbitration sequence – gives one device control of
the bus
• Packet transmission – packet contains source and
destination IDs, type, CRC, and possible data
• Acknowledgement gap – allows destination to
receive and process message
• Acknowledgement – destination sends packet
containing source and destination IDs and code
indicating action taken
• Subaction gap – idle period between packets to
avoid bus contention
CSCI 4717 – Computer Architecture Buses – Page 51 CSCI 4717 – Computer Architecture Buses – Page 52

Isochronous Isochronous Sequence


• Fixed packet size w/variable amount of data
• Simplified addressing
• No acknowledgement
• Periodically, cycle_start packet is sent
indicating period where only isochronous
packets are transmitted
• Transaction – Request-response protocol
(This is what your code sees. It separates
the programmer from the packet-level stuff)

CSCI 4717 – Computer Architecture Buses – Page 53 CSCI 4717 – Computer Architecture Buses – Page 54

You might also like