Linux PCI device driver development-PCI architecture (I)

Source: Internet
Author: User
PCI is a widely used bus standard. It provides many new features that are better than other bus standards (such as EISA) and has become the most widely used computer system, and the most common bus standard. Linux's inner nuclear energy well supports the PCI bus. This paper focuses on the intel 386 architecture and discusses the basic framework for developing the PCI device driver program in Linux.

PCIBus System Architecture
PCI is the abbreviation of Peripheral Component Interconnect. As a common bus interface standard, PCI is widely used in computer systems. PCI provides a complete set of bus interface specifications to describe how to connect peripheral devices in computer systems in a structured and structured manner, it also depicts the electrical characteristics and behavior conventions of peripheral devices during connection, and defines in detail how different components in a computer system interact correctly.
Whether on an Intel chip-based PC or an alpha chip-based workstation, PCI is undoubtedly the most widely used bus interface standard. Unlike the old ISA bus, PCI completely separates bus subsystems in computer systems from storage subsystems) to complete the interaction with the bus subsystem, as shown in figure 1.
1 PCISubsystem architecture
Because a higher clock frequency is used, the PCI bus can achieve better overall performance than the ISA bus. The clock frequency of the PCI bus is generally within the range of 25 MHz to 33 MHz. Some of them can even reach 133 MHz or 266 MHz, while the maximum clock frequency is MHz in 64-bit systems. Although most PCI devices currently use a 32-bit data bus, the PCI specification has provided 64-bit extension implementation, so that the PCI bus can better achieve platform independence, PCI bus is now available in architectures such as IA-32, Alpha, PowerPC, sparc64 and IA-64. The PCI bus has three significant advantages, enabling it to ultimately replace the historical mission of the ISA bus:

  • Better performance in data transmission between computers and peripherals;
  • Be independent from specific platforms as much as possible;

  • You can easily implement plug and play.
Figure 2 is a typical computer system logic based on the PCI bus. each part of the system is connected by the PCI bus and the PCI-PCI bridge. It is not hard to see that the CPU and ram need to be connected to the PCI bus 0 (that is, the primary PCI Bus) through the PCI bridge, and the graphics card with the PCI interface can be directly connected to the primary PCI bus. The PCI-PCI Bridge is a special PCI device that connects PCI bus 0 and PCI Bus 1 (that is, from the PCI Main Line) together, usually PCI Bus 1 is called the downstream of the PCI-PCI bridge (downstream), while PCI bus 0 is called the upstream of the PCI-PCI bridge (upstream ). In the figure, scsicard And ethernet card are connected from the PCI bus. To be compatible with the old ISA bus standard, the PCI bus can also be connected through a PCI-ISA bridge to support previous ISA devices. The ISA bus is connected with a multi-functional I/O controller to control the keyboard, mouse, and soft drive.
2 PCISystem
Here I only give a general introduction to the architecture of the PCI bus system, if you want to learn more, David A rusling in the Linux kernel (http://tldp.org/LDP/tlk/dd/pci.html) the Linux PCI subsystem is described in detail.
Previous Article: Linux NIC Driver for instances
Next article: Linux PCI device driver development-PCI architecture (II)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.