Computer buses and bus protocols
- A bus consists of
a set of wires used to
transfer data between
different devices inside
a computer
- A bus has:
- A standardized connector
(a physical property) used to
connect a
device onto the
bus
- A standardized communication
protocol
(specifing events and
the chronological timing)
used by all deviced connected
onto the bus to
ensure that the
data communication proceeds
correctly
|
- There are
many different kinds of
buses inside a
computer !!!
|
Buses inside a typical PC
A typical PC (around the year 1990) has
3 buses:
(1):
a very high speed
memory bus
Buses inside a typical PC
A typical PC (around the year 1990) has
3 buses:
(2):
a high speed
PCI (Peripheral Component Interconnect) bus
---
click here
Buses inside a typical PC
A typical PC (around the year 1990) has
3 buses:
(3):
a low speed
ISA (Industry Standard Architecture) bus
-
click here
(ISA is now deprecated)
Connectors (slots) of buses
Each type of
bus has
a standard that
specifies the
shape and
pin assignment of
its
connector
Example:
the PCI connectors (a.k.a. slots) on
a PC looks like this:
Good YouTube video on peripheral buses:
click here
Communication protocols
(in general)
From Wikipedia:
(
click here)
- A communication protocol
is a system of rules
that:
- allow two or more entities
of a communications system
to transmit information (data)
to each other.
|
- The communication protocol defines:
- the rules,
syntax,
semantics
and synchronization of communication
- possible (= optional)
error recovery methods
|
- A communication protocols
may be implemented
by hardware,
software, or
a combination of both.
|
Communication protocol used
in
computer buses
- Each type of
computer bus has a
standardized
communication protocol called:
a
bus protocol
- A bus protocol
consists of specification on
-
what/which
bus signal to
send and
-
when to
send the signal
|
- The "
what/which and
when
to send signals"
constitutes of a set of
standardized steps (=
protocol) that
devices on the
bus
must follow
in order to
perform
data transfer
between each other
|
So what exactly does a
communication protocol look like ?
- Sample
human
communication protocol:
(computer's protocol is similar)
- A: "Hi B, how are you"
- B: "Hi A, I'm fine.
What can I do for you today"
- A: "B, I like to get
C's phone number from you"
- B: "A, please wait while I look it up"
- .... (waiting...) ....
- B: "A, it's 123-4567".
Did you get that ?
- A: "B, thank, I got it"
(acknowledge for
correctness) -
Have a good day (= end)
- B: "A, have a good day" (= end)
|
- Bus protocl:
- A bus protocol
prescribes
a sequence of
rigid (= fixed)
steps
that communicating devices
must follow
to perform a
data transfer operation.
|
|
Communication protocols "signalling" used by electronic devices
- Electronical devices do
not
"talk" like humans to
each other
- Electronical devices uses
electical signals to
send
command/request and
responses to
each other
- A typical
protocol exchange steps like this:
- When CPU
sends some signals
which
indicates
some
request
address to some device
- The communication protocol will
specify
how a
devcie
must
reply to
the request (signal)
|
|
Specifying a
communication protocol
Implementing a
communication protocol
Why use
standardized buses ?
- Short answer:
economy...
- Any device that
comply to
the bus protocol standard can be
plugged in on to
the bus !!!
- A standardized bus protocol
will allow
any manufacturer of
computer equipment to
make devices that
comply to
the bus protocol standard
- Case in point:
Wikipedia:
Apple wishing to maintain control over supply chain of accessories
and the ability to
charge a licensing fee...
PS: the above
statement has been
removed from
the Wikipedia page - it was there....
|
Types of bus protocols
- The bus protocols can be
broadly devided into
2 categories:
-
Synchronous
bus protocols:
- The synchronous bus
include a "CLOCK" signal
used to pace events in
the bus protocol
- Events
(= state transitions
in the protocol FSM)
on a synchronous bus are
scheduled
using the "CLOCK" signal
|
-
Asynchronous
bus protocols:
- The asynchronous bus
does not use a
"CLOCK" signal
- The asynchronous bus
contains the
"Master Sync" and the
"Slave Sync"
signals to
synchronize (= schedule)
between
the master device and
the slave device
|
|
|
❮
❯