Computer Science Engineering (CSE) Exam  >  Computer Science Engineering (CSE) Notes  >  PCI (Peripheral Component Interconnect)

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE) PDF Download

PCI (Peripheral Component Interconnect)
The peripheral component interconnect (PCI) is a popular high-bandwidth, processorindependent bus that can function as a peripheral bus. The current standard allows the use of up to 64 data lines at 66 MHz, for a raw transfer rate of 528 MByte/s, or 4.224 Gbps. It requires very few chips to implement and supports other buses attached to the PCI bus.

Intel began work on PCI in 1990 for its Pentium-based systems. The industry association, the PCI Special Interest Group (SIG), developed and further and maintained the compatibility of the PCI specifications. PCI is designed to support a variety of microprocessor-based configurations, including both single- and multiple-processor systems. It makes use of synchronous timing and a centralized arbitration scheme.

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

Figure 1.23a shows a typical use of PCI in a single-processor system. The bridge acts as a data buffer so that the speed of the PCI bus may differ from that of the processor’s I/O capability. In a multiprocessor system (Figure 1.23b), one or more PCI configurations may be connected by bridges to the processor’s system bus. Again, the use of bridges keeps the PCI independent of the processor speed yet provides the ability to receive and deliver data rapidly.

Bus Structure
PCI may be configured as a 32- or 64-bit bus. There are 49 mandatory signal lines for PCI which are divided into the following functional groups:

  • System pins: Include the clock and reset pins.
  • Address and data pins: Include 32 lines that are time multiplexed for addresses and data. The other lines in this group are used to interpret and validate the signal lines that carry the addresses and data.
  • Interface control pins: Control the timing of transactions and provide coordination among initiators and targets.
  • Arbitration pins: Unlike the other PCI signal lines, these are not shared lines. Rather, each PCI master has its own pair of arbitration lines that connect it directly to the PCI bus arbiter.
  • Error reporting pins: Used to report parity and other errors. In addition, the PCI specification defines 51 optional signal lines, divided into the following functional groups:
  • Interrupt pins: These are provided for PCI devices that must generate requests for service. As with the arbitration pins, these are not shared lines. Rather, each PCI device has its own interrupt line or lines to an interrupt controller.
  • Cache support pins: These pins are needed to support a memory on PCI that can be cached in the processor or another device.
  • 64-bit bus extension pins: Include 32 lines that are time multiplexed for ad dresses and data and that are combined with the mandatory address/data lines to form a 64-bit address/data bus.
  • JTAG/boundary scan pins: These signal lines support testing procedures.

PCI Commands
Bus activity occurs in the form of transactions between an initiator, or master, and a target. When a bus master acquires control of the bus, it determines the type of transaction that will occur next The commands are as follows:

  • Interrupt Acknowledge
  • Special Cycle
  • I/O Read
  • I/O Write
  • Memory Read
  • Memory Read Line
  • Memory Read Multiple
  • Memory Write
  • Memory Write and Invalidate
  • Configuration Read
  • Configuration Write
  • Dual address Cycle 

Interrupt Acknowledge is a read command intended for the device that functions as an interrupt controller on the PCI bus.

The Special Cycle command is used by the initiator to broadcast a message to one or more targets.

The I/O Read and Write commands are used to transfer data between the initiator and an I/O controller.


The memory read and write commands are used to specify the transfer of a burst of data, occupying one or more clock cycles. The three memory read commands have the uses outlined in Table 

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

The Memory Write command is used to transfer data in one or more data cycles to memory.

The Memory Write and Invalidate command transfers data in one or more cycles to memory. In addition, it guarantees that at least one cache line is written.

The two configuration commands enable a master to read and update configuration parameters in a device connected to the PCI.

The Dual Address Cycle command is used by an initiator to indicate that it is using 64-bit addressing.


Data Transfers 
Every data transfer on the PCI bus is a single transaction consisting of one address phase and one or more data phases.

Figure 1.24 shows the timing of the read transaction. All events are synchronized to the falling transitions of the clock, which occur in the middle of each clock cycle. Bus devices sample the bus lines on the rising edge at the beginning of a bus cycle. The following are the significant events, labeled on the diagram:

a. Once a bus master has gained control of the bus, it may begin the transaction by asserting FRAME. This line remains asserted until the initiator is ready to complete the last data phase. The initiator also puts the start address on the address bus, and the read command on the C/BE lines.

b. At the start of clock 2, the target device will recognize its address on the AD lines.

c. The initiator ceases driving the AD bus. A turnaround cycle (indicated by the two circular arrows) is required on all signal lines that may be driven by more than one device, so that the dropping of the address signal will prepare the bus for use by the target device. The initiator changes the information on the C/BE lines to designate which AD lines are to be used for transfer for the currently addressed data (from 1 to 4 bytes). The initiator also asserts IRDY to indicate that it is ready for the first data item.

d. The selected target asserts DEVSEL to indicate that it has recognized its address and will respond. It places the requested data on the AD lines and asserts TRDY to indicate that valid data are present on the bus.

e. The initiator reads the data at the beginning of clock 4 and changes the byte enable lines as needed in preparation for the next read.

f. In this example, the target needs some time to prepare the second block of data for transmission. Therefore, it deasserts TRDY to signal the initiator that there will not be new data during the coming cycle.Accordingly,the initiator does not read the data lines at the beginning of the fifth clock cycle and does not change byte enable during that cycle. The block of data is read at beginning of clock 6.

g. During clock 6, the target places the third data item on the bus. However, in this example, the initiator is not yet ready to read the data item (e.g., it has a temporary buffer full condition). It therefore deasserts IRDY. This will cause the target to maintain the third data item on the bus for an extra clock cycle.

h. The initiator knows that the third data transfer is the last, and so it deasserts FRAME to signal the target that this is the last data transfer. It also asserts IRDY to signal that it is ready to complete that transfer.

i. The initiator deasserts IRDY, returning the bus to the idle state, and the target deasserts TRDY and DEVSEL.

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

Arbitration
PCI makes use of a centralized, synchronous arbitration scheme in which each master has a unique request (REQ) and grant (GNT) signal. These signal lines are attached to a central arbiter (Figure 1.25) and a simple request–grant handshake is used to grant access to the bus. 

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

Figure 1.26 is an example in which devices A and B are arbitrating for the bus. The following sequence occurs:

a. At some point before the start of clock 1, A has asserted its REQ signal.
b. During clock cycle 1, B requests use of the bus by asserting its REQ signal.
c. At the same time, the arbiter asserts GNT-A to grant bus access to A.
d. Bus master A samples GNT-A at the beginning of clock 2 and learns that it has been granted bus access. It also finds IRDY and TRDY deasserted, which indicates that the bus is idle. It also continues to assert REQ-A, because it has a second transaction to perform after this one.
e. The bus arbiter samples all REQ lines at the beginning of clock 3 and makes an arbitration decision to grant the bus to B for the next transaction. It then asserts GNT-B and deasserts GNT-A. B will not be able to use the bus until it returns to an idle state.
f. A deasserts FRAME to indicate that the last data transfer is in progress.It puts the data on the data bus and signals the target with IRDY.The target reads the data at the beginning of the next clock cycle.
g. At the beginning of clock 5, B finds IRDY and FRAME deasserted and so is able to take control of the bus by asserting FRAME. It also deasserts its REQ line, because it only wants to perform one transaction.

Subsequently, master A is granted access to the bus for its next transaction.

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE) 

The document PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE) is a part of Computer Science Engineering (CSE) category.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)

Top Courses for Computer Science Engineering (CSE)

FAQs on PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

1. What is PCI in computer science engineering?
Ans. PCI stands for Peripheral Component Interconnect. It is a type of computer bus used for attaching hardware devices to the motherboard of a computer. It provides a standardized interface for communication between the computer's central processing unit (CPU) and peripheral devices such as graphics cards, sound cards, and network adapters.
2. How does PCI work in computer science engineering?
Ans. PCI works by providing a high-speed data path between the CPU and peripheral devices. It uses a bus architecture, where the CPU acts as the bus master and controls the data transfers. The PCI bus consists of multiple slots on the motherboard, and each slot can accommodate a PCI card. The CPU communicates with the peripheral devices by sending and receiving data packets through the bus.
3. What are the advantages of using PCI in computer science engineering?
Ans. Some advantages of using PCI in computer science engineering include: - Compatibility: PCI is a widely adopted standard, which means that most hardware devices are designed to work with it. This ensures compatibility between different devices and systems. - Scalability: PCI supports multiple slots on the motherboard, allowing for easy expansion of the computer's capabilities. Additional devices can be added or upgraded without the need for major changes in the system. - Performance: PCI provides high-speed data transfer rates, enabling efficient communication between the CPU and peripheral devices. This results in improved system performance and responsiveness. - Hot-plugging: PCI supports hot-plugging, which means that devices can be inserted or removed from the system while it is powered on. This allows for easy installation and removal of hardware without the need to restart the computer. - Versatility: PCI is a versatile bus that can accommodate various types of devices, including graphics cards, sound cards, network adapters, and storage controllers. It provides a single interface for connecting different types of peripherals.
4. Are there any limitations or drawbacks of using PCI in computer science engineering?
Ans. While PCI has numerous advantages, it also has some limitations and drawbacks. These include: - Bandwidth limitations: PCI has a limited bandwidth, which means that it may not be suitable for high-performance applications that require extensive data transfer rates. This can result in potential bottlenecks when using bandwidth-intensive devices. - Compatibility issues: Although PCI is a widely adopted standard, there may still be compatibility issues between different versions of PCI and newer devices. Older PCI devices may not work properly with newer PCI versions, requiring additional adapters or upgrades. - Limited number of slots: The number of available PCI slots on a motherboard is limited. This can become a limitation when trying to add multiple peripheral devices, especially in systems with high expansion requirements. - Lack of power management: PCI does not have built-in power management capabilities, meaning that devices connected via PCI may consume power even when not in use. This can lead to increased power consumption and reduced energy efficiency.
5. How does PCI compare to other bus architectures in computer science engineering?
Ans. PCI has several advantages over older bus architectures such as ISA (Industry Standard Architecture) and VESA (Video Electronics Standards Association). It provides higher data transfer rates, improved compatibility, and supports hot-plugging, which were not available in these older standards. However, PCI has been succeeded by newer standards such as PCI Express (PCIe), which offer even higher performance and more advanced features. PCIe has become the dominant bus architecture in modern computers due to its increased bandwidth, scalability, and power management capabilities.
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Objective type Questions

,

Previous Year Questions with Solutions

,

study material

,

Important questions

,

past year papers

,

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

,

shortcuts and tricks

,

Free

,

practice quizzes

,

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

,

PCI (Peripheral Component Interconnect) - Computer Science Engineering (CSE)

,

Viva Questions

,

mock tests for examination

,

Sample Paper

,

Summary

,

Exam

,

MCQs

,

ppt

,

Extra Questions

,

video lectures

,

Semester Notes

,

pdf

;