Professional Documents
Culture Documents
Bus Design
Bus Design
Compiled by
1. Abenezer Sleshi ATR/7940/11
2. Aymen Mohammednur ATR/5985/11
3. Bethlehem Teshibelay ETR/9292/11
4. Semere Habtu ATR/2583/11
5. Semere Tereffe ATR/4113/11
i
Introduction
There are a wide variety of different bus implementations that are based on different parameters
or design elements. The basic parameters used to classify and differentiate buses are outlined in
the figure below;
In this document we will be designing two different buses based on the parameters above. Our
thought process going into this was let’s design two buses which will be geared towards two
different tasks. The objectives or both buses are the following;
1|Page
1st Bus Design
Bus Type - Multiplexed
The use of the same lines for multiple purposes is known as Multiplexing. A multiplexed bus is a
type of bus structure in which the number of signal lines comprising the bus is less than the number
of bits of data, address, and/or control information being transferred between elements of the
system. The information is transferred sequentially, i.e., time-domain multiplexed, with additional
control lines being used for sequencing the transfer.
We chose multiplexed bus over dedicated bus because it reduces the number of address and data
pins and dedicates those pins for other several microprocessor functions. This means the use of
fewer lines, which saves space, hence cost.
Our main reason to choose Centralized arbitration method for this bus design is due to the increased
speed and lower costs.
Timing – Synchronous
In synchronous timing, the timing of transactions on the bus is under the control of a synchronizing
clock signal. The bus includes a clock line upon which a clock transmits a regular sequence of
alternating 1s and 0s of equal duration.
We chose Synchronous timing mainly to take advantage of the high transmission speed it provides.
This choice also helps us avoid timing errors which are bound to happen in an asynchronous
system.
2|Page
Bus Width – Data
The data bus is used to transfer the data bits between the CPU and memory in contrast to the
address bus which is used to send the address information to memory. Each bit of the data must be
transferred on a different wire of the data bus. Width of the data bus is equivalent to the number
of wires used in the data bus.
Although both the data and address buses are integral parts of the architecture, for the system we’re
designing we’re choosing more data bus width. Since the width of the data bus determines the
amount of data transferred per memory transfer operation, the wider the data bus, the more data
can be transferred per unit of time, resulting in a faster running computer.
A bus provides several data transfer types as described below. All buses provide both write and
read assigns.
Read: In this operation address is put on the address bus and after sufficient access time data is
available on the data bus.
Write: Address is put on the multiplexed bus and then immediately after latching period data is
put on the multiplexed bus.
3|Page
Read-Modify-Write: A read followed immediately by a write to the same address.
Read-After-Write: Consisting of a write followed immediately by a read from the same address
(for error checking purposes).
Block: One address cycle followed by n data cycles. The first data item is transferred to or from
the specified address; the remaining data items are transferred to or from subsequent addresses.
For our bus design, we will be implementing a Block Data Transfer because we want a continuous
stream of data transfer as opposed the other data transfer types which have time delays.
4|Page
2nd Bus Design
Bus Type – Dedicated
A dedicated bus line is permanently assigned either to one function or to physical subset of
computer components (e.g., I/O bus connects all I/O modules). A store operation can put both the
address and the data on the bus at the same time.
We chose dedicated bus for this case because it was really important for us to focus on performance
and dedicated bus protects the various bus lines from traffic congestion and delays and improves
the reliability of services. Having separate data and address lines also simplifies the bus.
The main reason we chose a distributed method of arbitration is because we wanted to design a
fault-tolerant system where it is critical that single point failures don’t cause the complete system
to fail. Other reasons include flexibility which means it’s easy to implement and add new services.
Timing – Asynchronous
Asynchronous timing does not involve a clock and, the occurrence of one event on a bus follows
and depends on the occurrence of a previous event.
We chose asynchronous because it is more flexible than synchronous timing which is tied to a
fixed clock rate. Moreover, asynchronous bus systems can take advantage of advances in device
performance.
The address bus is used to send the address information to memory. Each wire of the address bus
can convey 1 bit of the address. Each memory byte is identified by a unique memory address. The
width of the address bus determines the size of the memory that the computer can use.
5|Page
For this specific design, we’re choosing more address bus width because the wider the address
bus, the more memory a computer can use and more memory allows the computer to store more
data and solve larger and specialized problems such as sorting big amount of data.
We’re choosing block again for the said benefit it has which is providing a continuous stream of
data without any time delays.
Performance
• While Bus 1 is geared towards increased speed of transmission, Bus 2 is generally more
robust and efficient.
Cost
• The use of multiplexing and centralized schemes in the general design specifications of
Bus 1 makes it cost effective when compared to Bus 2 which uses the more expensive
schemes.
Flexibility
• Bus 1 is more flexible in the sense that it’s designed to be general purposed while Bus 2 is
flexible in its internal design which makes it more maintainable.
6|Page
Reference
• https://www.mvorganizing.org/what-is-the-difference-between-synchronous-and-
asynchronous-bus/
• https://www.tutorialspoint.com/what-are-the-elements-of-bus-design-in-computer-
architecture
• http://www.mathcs.emory.edu/~cheung/Courses/255/Syl-ARM/4-intro/bus-
width.html
• https://youtu.be/iQdu0AzauOo
7|Page