Monday, February 6, 2012

Conventional PCI

Conventional PCI (PCI is an abridgement formed from Peripheral Component Interconnect,1 allotment of the PCI Local Bus accepted and generally beneath to PCI) is a computer bus for adhering accouterments accessories in a computer. These accessories can yield either the anatomy of an chip ambit adapted assimilate the motherboard itself, alleged a collapsed accessory in the PCI specification, or an amplification agenda that fits into a slot. The PCI Local Bus was aboriginal implemented in IBM PC compatibles, area it displaced the aggregate of ISA additional one VESA Local Bus as the bus configuration. It has after been adopted for added computer types. PCI is getting replaced by PCI-X and PCI Express, but as of 2011, a lot of motherboards are still fabricated with one or added PCI slots, which are acceptable for abounding uses.

The PCI blueprint covers the concrete admeasurement of the bus (including the admeasurement and agreement of the ambit lath bend electrical contacts), electrical characteristics, bus timing, and protocols. The blueprint can be purchased from the PCI Special Interest Group (PCI-SIG).

Typical PCI cards acclimated in PCs include: arrangement cards, complete cards, modems, added ports such as USB or serial, TV tuner cards and deejay controllers. PCI video cards replaced ISA and VESA cards, until growing bandwidth requirements outgrew the capabilities of PCI; the adopted interface for video cards became AGP, and again PCI Express. PCI video cards abide accessible for use with old PCs after AGP or PCI Express slots.2

Many accessories ahead provided on amplification cards are either frequently chip assimilate motherboards, or added frequently accessible in USB and PCI Express versions. Modern PCs generally accept no cards fitted. However, PCI is still acclimated for assertive specialized cardswhich?.

History

Work on PCI began at Intel's Architectonics Development Lab about 1990.

A aggregation of Intel engineers (composed primarily of ADL engineers) authentic the architectonics and developed a affidavit of abstraction chipset and belvedere (Saturn) partnering with teams in the company's desktop PC systems and bulk argumentation artefact organizations. The aboriginal PCI architectonics aggregation included, a part of others, Dave Carson, Norm Rasmussen, Brad Hosler, Ed Solari, Bruce Young, Gary Solomon, Ali Oztaskin, Tom Sakoda, Rich Haslam, Jeff Rabe, and Steve Fischer.

PCI (Peripheral Component Interconnect) was anon put to use in servers, replacing MCA and EISA as the server amplification bus of choice. In boilerplate PCs, PCI was slower to alter VESA Local Bus (VLB), and did not accretion cogent bazaar assimilation until astern 1994 in second-generation Pentium PCs. By 1996 VLB was all but extinct, and manufacturers had adopted PCI even for 486 computers.3 EISA connected to be acclimated alongside PCI through 2000. Apple Computer adopted PCI for able Power Macintosh computers (replacing NuBus) in mid-1995, and the customer Performa artefact band (replacing LC PDS) in mid-1996.

Later revisions of PCI added new appearance and achievement improvements, including a 66 MHz 3.3 V accepted and 133 MHz PCI-X, and the adjustment of PCI signaling to added anatomy factors. Both PCI-X 1.0b and PCI-X 2.0 are astern accordant with some PCI standards.

The PCI-SIG alien the consecutive PCI Express in 2004. At the aforementioned time they renamed PCI as Conventional PCI. Since then, motherboard manufacturers accept included progressively beneath Conventional PCI slots in favor of the new standard.

PCI History4 Spec Year Change Summary5

PCI 1.0 1992 Original issue

PCI 2.0 1993 Incorporated adapter and add-in agenda specification

PCI 2.1 1995 Incorporated clarifications and added 66 MHz chapter

PCI 2.2 1998 Incorporated ECNs, and bigger readability

PCI 2.3 2002 Incorporated ECNs, errata, and deleted 5 volt alone keyed add-in cards

PCI 3.0 2002 Removed abutment for the 5.0 volt keyed arrangement lath connector

Auto configuration

PCI provides abstracted anamnesis and I/O anchorage abode spaces for the x86 processor family, 64 and 32 bits, respectively. Addresses in these abode spaces are assigned by software. A third abode space, alleged the PCI Agreement Space, which uses a anchored acclamation scheme, allows software to actuate the bulk of anamnesis and I/O abode amplitude bare by anniversary device. Anniversary accessory can appeal up to six areas of anamnesis amplitude or I/O anchorage amplitude via its agreement amplitude registers.

In a archetypal system, the firmware (or operating system) queries all PCI buses at startup time (via PCI Agreement Space) to acquisition out what accessories are present and what arrangement assets (memory space, I/O space, arrest lines, etc.) anniversary needs. It afresh allocates the assets and tells anniversary accessory what its allocation is.

The PCI agreement amplitude aswell contains a baby bulk of accessory blazon information, which helps an operating arrangement accept accessory drivers for it, or at atomic to accept a chat with a user about the arrangement configuration.

Devices may accept an on-board ROM absolute executable cipher for x86 or PA-RISC processors, an Open Firmware driver, or an EFI driver. These are about all-important for accessories acclimated during arrangement startup, afore accessory drivers are loaded by the operating system.

In accession there are PCI Latency Timers that are a apparatus for PCI Bus-Mastering accessories to allotment the PCI bus fairly. "Fair" in this case agency that accessories will not use such a ample allocation of the accessible PCI bus bandwidth that added accessories aren't able to get bare plan done. Note, this does not administer to PCI Express.

How this works is that anniversary PCI accessory that can accomplish in bus-master approach is appropriate to apparatus a timer, alleged the Latency Timer, that banned the time that accessory can authority the PCI bus. The timer starts if the accessory assets bus ownership, and counts down at the amount of the PCI clock. If the adverse alcove zero, the accessory is appropriate to absolution the bus. If no added accessories are cat-and-mouse for bus ownership, it may artlessly grab the bus afresh and alteration added data.6


Interrupts

Full-size card

The aboriginal "full-size" PCI agenda is authentic as a acme of 107 mm (4.2 inches) and a abyss of 312 mm (12.283 inches). The acme includes the bend agenda connector. However, a lot of avant-garde PCI cards are half-length or abate (see below) and abounding avant-garde PCs cannot fit a full-size card.

Card backplate

In accession to these ambit the concrete admeasurement and area of a card's backplate are aswell standardized. The backplate is the allotment that fastens to the agenda cage to balance the agenda and aswell contains alien connectors, so it usually attaches in a window so it is attainable from alfresco the computer case. The backplate is anchored to the cage by a 6-32 screw.

The agenda itself can be a abate size, but the backplate accept to still be full-size and appropriately amid so that the agenda fits in any accepted PCI slot.

Half-length addendum agenda (de-facto standard)

This is in actuality the applied accepted now – the majority of avant-garde PCI cards fit central this length.

Width: 0.6 inches (15.24 mm)

Depth: 6.9 inches (175.26 mm)

Height: 4.2 inches (106.68 mm)

Low-profile (half-height) card

The PCI alignment has authentic a accepted for "low-profile" cards, which basically fit in the afterward ranges:

Height: 1.42 inches (36.07 mm) to 2.536 inches (64.41 mm)

Depth: 4.721 inches (119.91 mm) to 6.6 inches (167.64 mm)

The bracket is aswell bargain in height, to a accepted 3.118 inches (79.2 mm). The abate bracket will not fit a accepted PC case, but will fit in a 2U rack-mount case. Abounding manufacturers accumulation both types of bracket (brackets are about busted to the agenda so alteration them is not difficult).

These cards may be accepted by added names such as "slim".

Low Profile PCI FAQ

Low Profile PCI Specification

Mini PCI

Mini PCI Wi-Fi agenda Blazon IIIB

PCI-to-MiniPCI advocate Blazon III

MiniPCI and MiniPCI Express cards in comparison

Mini PCI was added to PCI adaptation 2.2 for use in laptops; it uses a 32-bit, 33 MHz bus with powered admission (3.3 V only; 5 V is bound to 100 mA) and abutment for bus arrive and DMA. The accepted admeasurement for Mini PCI cards is about a division of their full-sized counterparts. As there is no admission to the agenda from alfresco the case, clashing desktop PCI cards with brackets accustomed connectors, there are limitations on the functions they may perform.

Many Mini PCI accessories were developed such as Wi-Fi, Fast Ethernet, Bluetooth, modems (often Winmodems), complete cards, cryptographic accelerators, SCSI, IDE–ATA, SATA controllers and aggregate cards. Mini PCI cards can be acclimated with approved PCI-equipped hardware, application Mini PCI-to-PCI converters. Mini PCI has been abolished by the abundant narrower PCI Express Mini Card.

Technical data of Mini PCI

Mini PCI cards accept a 2 W best ability consumption, which banned the functionality that can be implemented in this anatomy factor. They aswell are appropriate to abutment the CLKRUN# PCI arresting acclimated to alpha and stop the PCI alarm for ability administration purposes.

There are three agenda anatomy factors: Blazon I, Blazon II, and Blazon III cards. The agenda adapter acclimated for anniversary blazon include: Blazon I and II use a 100-pin stacking connector, while Blazon III uses a 124-pin bend connector, i.e. the adapter for Types I and II differs from that for Blazon III, area the adapter is on the bend of a card, like with a SO-DIMM. The added 24 pins accommodate the added signals appropriate to avenue I/O aback through the arrangement adapter (audio, AC-Link, LAN, phone-line interface). Blazon II cards accept RJ11 and RJ45 army connectors. These cards accept to be amid at the bend of the computer or advancing base so that the RJ11 and RJ45 ports can be army for alien access.

Type Card on alien bend of host arrangement Connector Size Comments

IA No 100-Pin Stacking 7.5 × 70 × 45 mm Large Z ambit (7.5 mm)

IB No 100-Pin Stacking 5.5 × 70 × 45 mm Smaller Z ambit (5.5 mm)

IIA Yes 100-Pin Stacking 17.44 × 70 × 45 mm Large Z ambit (17.44 mm)

IIB Yes 100-Pin Stacking 5.5 × 78 × 45 mm Smaller Z ambit (5.5 mm)

IIIA No 124-Pin Agenda Bend 2.4 × 59.6 × 50.95 mm Larger Y ambit (50.95 mm)

IIIB No 124-Pin Agenda Bend 2.4 × 59.6 × 44.6 mm Smaller Y ambit (44.6 mm)

Mini PCI is audible from 144-pin Micro PCI.10

PC/104-Plus and PCI-104

The PC/104-Plus and PCI-104 anchored anatomy factors cover a stacking 120 pin PCI connector.

Other concrete variations

Typically customer systems specify "N × PCI slots" after allegorical absolute ambit of the amplitude available. In some small-form-factor systems, this may not be acceptable to acquiesce even "half-length" PCI cards to fit. Despite this limitation, these systems are still advantageous because abounding avant-garde PCI cards are appreciably abate than half-length.

Physical card dimensions

Full-size card

The aboriginal "full-size" PCI agenda is authentic as a acme of 107 mm (4.2 inches) and a abyss of 312 mm (12.283 inches). The acme includes the bend agenda connector. However, a lot of avant-garde PCI cards are half-length or abate (see below) and abounding avant-garde PCs cannot fit a full-size card.

Card backplate

In accession to these ambit the concrete admeasurement and area of a card's backplate are aswell standardized. The backplate is the allotment that fastens to the agenda cage to balance the agenda and aswell contains alien connectors, so it usually attaches in a window so it is attainable from alfresco the computer case. The backplate is anchored to the cage by a 6-32 screw.

The agenda itself can be a abate size, but the backplate accept to still be full-size and appropriately amid so that the agenda fits in any accepted PCI slot.

Half-length addendum agenda (de-facto standard)

This is in actuality the applied accepted now – the majority of avant-garde PCI cards fit central this length.

Width: 0.6 inches (15.24 mm)

Depth: 6.9 inches (175.26 mm)

Height: 4.2 inches (106.68 mm)

Low-profile (half-height) card

The PCI alignment has authentic a accepted for "low-profile" cards, which basically fit in the afterward ranges:

Height: 1.42 inches (36.07 mm) to 2.536 inches (64.41 mm)

Depth: 4.721 inches (119.91 mm) to 6.6 inches (167.64 mm)

The bracket is aswell bargain in height, to a accepted 3.118 inches (79.2 mm). The abate bracket will not fit a accepted PC case, but will fit in a 2U rack-mount case. Abounding manufacturers accumulation both types of bracket (brackets are about busted to the agenda so alteration them is not difficult).

These cards may be accepted by added names such as "slim".

Low Profile PCI FAQ

Low Profile PCI Specification

Mini PCI

Mini PCI Wi-Fi agenda Blazon IIIB

PCI-to-MiniPCI advocate Blazon III

MiniPCI and MiniPCI Express cards in comparison

Mini PCI was added to PCI adaptation 2.2 for use in laptops; it uses a 32-bit, 33 MHz bus with powered admission (3.3 V only; 5 V is bound to 100 mA) and abutment for bus arrive and DMA. The accepted admeasurement for Mini PCI cards is about a division of their full-sized counterparts. As there is no admission to the agenda from alfresco the case, clashing desktop PCI cards with brackets accustomed connectors, there are limitations on the functions they may perform.

Many Mini PCI accessories were developed such as Wi-Fi, Fast Ethernet, Bluetooth, modems (often Winmodems), complete cards, cryptographic accelerators, SCSI, IDE–ATA, SATA controllers and aggregate cards. Mini PCI cards can be acclimated with approved PCI-equipped hardware, application Mini PCI-to-PCI converters. Mini PCI has been abolished by the abundant narrower PCI Express Mini Card.

Technical data of Mini PCI

Mini PCI cards accept a 2 W best ability consumption, which banned the functionality that can be implemented in this anatomy factor. They aswell are appropriate to abutment the CLKRUN# PCI arresting acclimated to alpha and stop the PCI alarm for ability administration purposes.

There are three agenda anatomy factors: Blazon I, Blazon II, and Blazon III cards. The agenda adapter acclimated for anniversary blazon include: Blazon I and II use a 100-pin stacking connector, while Blazon III uses a 124-pin bend connector, i.e. the adapter for Types I and II differs from that for Blazon III, area the adapter is on the bend of a card, like with a SO-DIMM. The added 24 pins accommodate the added signals appropriate to avenue I/O aback through the arrangement adapter (audio, AC-Link, LAN, phone-line interface). Blazon II cards accept RJ11 and RJ45 army connectors. These cards accept to be amid at the bend of the computer or advancing base so that the RJ11 and RJ45 ports can be army for alien access.

Type Card on alien bend of host arrangement Connector Size Comments

IA No 100-Pin Stacking 7.5 × 70 × 45 mm Large Z ambit (7.5 mm)

IB No 100-Pin Stacking 5.5 × 70 × 45 mm Smaller Z ambit (5.5 mm)

IIA Yes 100-Pin Stacking 17.44 × 70 × 45 mm Large Z ambit (17.44 mm)

IIB Yes 100-Pin Stacking 5.5 × 78 × 45 mm Smaller Z ambit (5.5 mm)

IIIA No 124-Pin Agenda Bend 2.4 × 59.6 × 50.95 mm Larger Y ambit (50.95 mm)

IIIB No 124-Pin Agenda Bend 2.4 × 59.6 × 44.6 mm Smaller Y ambit (44.6 mm)

Mini PCI is audible from 144-pin Micro PCI.10

PC/104-Plus and PCI-104

The PC/104-Plus and PCI-104 anchored anatomy factors cover a stacking 120 pin PCI connector.

Other concrete variations

Typically customer systems specify "N × PCI slots" after allegorical absolute ambit of the amplitude available. In some small-form-factor systems, this may not be acceptable to acquiesce even "half-length" PCI cards to fit. Despite this limitation, these systems are still advantageous because abounding avant-garde PCI cards are appreciably abate than half-length.

PCI bus transactions

PCI bus cartage consists of a alternation of PCI bus transactions. Each transaction consists of an abode appearance followed by one or added abstracts phases. The administration of the abstracts phases may be from architect to ambition (write transaction) or vice-versa (read transaction), but all of the abstracts phases accept to be in the aforementioned direction. Either affair may abeyance or arrest the abstracts phases at any point. (One accepted archetype is a low-performance PCI accessory that does not abutment admission transactions, and consistently halts a transaction afterwards the aboriginal abstracts phase.)

Any PCI accessory may admit a transaction. First, it accept to appeal permission from a PCI bus adjudicator on the motherboard. The adjudicator grants permission to one of the requesting devices. The architect begins the abode appearance by broadcasting a 32-bit abode additional a 4-bit command code, again waits for a ambition to respond. All added accessories appraise this abode and one of them responds a few cycles later.

64-bit acclamation is done application a two-stage abode phase. The architect broadcasts the low 32 abode bits, accompanied by a appropriate "dual abode cycle" command code. Accessories which do not abutment 64-bit acclamation can artlessly not accede to that command code. The next cycle, the architect transmits the top 32 abode bits, additional the absolute command code. The transaction operates analogously from that point on. To ensure affinity with 32-bit PCI devices, it is banned to use a bifold abode aeon if not necessary, i.e. if the high-order abode $.25 are all zero.

While the PCI bus transfers 32 $.25 per abstracts phase, the architect transmits a 4 byte accredit signals advertence which 8-bit bytes are to be advised significant. In particular, a abode accept to affect alone the enabled bytes in the ambition PCI device. They are of little accent for anamnesis reads, but I/O reads ability accept ancillary effects. The PCI accepted absolutely allows a abstracts appearance with no bytes enabled, which accept to behave as a no-op.

PCI abode spaces

PCI has three abode spaces: memory, I/O address, and configuration.

Memory addresses are 32 $.25 (optionally 64 bits) in size, abutment caching and can be admission transactions.

I/O addresses are for affinity with the Intel x86 architecture's I/O anchorage abode space. Although the PCI bus blueprint allows admission affairs in any abode space, a lot of accessories alone abutment it for anamnesis addresses and not I/O.

Finally, PCI agreement amplitude provides admission to 256 bytes of appropriate agreement registers per PCI device. Each PCI aperture gets its own agreement amplitude abode range. The registers are acclimated to configure accessories anamnesis and I/O abode ranges they should accede to from transaction initiators. When a computer is aboriginal angry on, all PCI accessories accede alone to their agreement amplitude accesses. The computers BIOS scans for accessories and assigns Anamnesis and I/O abode ranges to them.

If an abode is not claimed by any device, the transaction initiator's abode appearance will time out causing the architect to arrest the operation. In case of reads, it is accepted to accumulation all-ones for the apprehend abstracts bulk (0xFFFFFFFF) in this case. PCI accessories accordingly about attack to abstain application the all-ones bulk in important cachet registers, so that such an absurdity can be calmly detected by software.

PCI command codes

There are 16 accessible 4-bit command codes, and 12 of them are assigned. With the barring of the different bifold abode cycle, the atomic cogent bit of the command cipher indicates whether the afterward abstracts phases are a apprehend (data beatific from ambition to initiator) or a abode (data beatific from an architect to target). PCI targets accept to appraise the command cipher as able-bodied as the abode and not accede to abode phases which specify an bottomless command code.

The commands that accredit to accumulation curve depend on the PCI agreement amplitude accumulation band admeasurement annals getting set up properly; they may not be acclimated until that has been done.

0000

Arrest Acknowledge

This is a appropriate anatomy of apprehend aeon around addressed to the arrest controller, which allotment an arrest vector. The 32-bit abode acreage is ignored. One accessible accomplishing is to accomplish an arrest accede aeon on an ISA bus application a PCI/ISA bus bridge. This command is for IBM PC compatibility; if there is no Intel 8259 appearance arrest ambassador on the PCI bus, this aeon charge never be used.

0001

Appropriate Cycle

This aeon is a appropriate advertisement abode of arrangement contest that PCI agenda may be absorbed in. The abode acreage of a appropriate aeon is ignored, but it is followed by a abstracts appearance absolute a burden message. The currently authentic letters advertise that the processor is endlessly for some acumen (e.g. to save power). No accessory anytime responds to this cycle; it is consistently concluded with a adept arrest afterwards abrogation the abstracts on the bus for at atomic 4 cycles.

0010

I/O Read

This performs a apprehend from I/O space. All 32 $.25 of the apprehend abode are provided, so that a accessory can (for affinity reasons) apparatus beneath than 4 bytes account of I/O registers. If the byte enables appeal abstracts not aural the abode ambit accurate by the PCI accessory (e.g. a 4-byte apprehend from a accessory which alone supports 2 bytes of I/O abode space), it accept to be concluded with a ambition abort. Multiple abstracts cycles are permitted, application beeline (simple incrementing) admission ordering.

The PCI accepted is black the use of I/O amplitude in new devices, preferring that as abundant as accessible be done through capital anamnesis mapping.

0011

I/O Write

This performs a abode to I/O space.

010x

Reserved

A PCI accessory accept to not accede to an abode aeon with these command codes.

0110

Anamnesis Read

This performs a apprehend aeon from anamnesis space. Because the aboriginal anamnesis amplitude a PCI accessory is acceptable to apparatus is 16 bits, the two atomic cogent $.25 of the abode are not needed; agnate advice will admission in the anatomy of byte baddest signals. They instead specify the adjustment in which admission abstracts accept to be returned. If a accessory does not abutment the requested order, it accept to accommodate the aboriginal chat and again disconnect.

If a anamnesis amplitude is apparent as "prefetchable", again the ambition accessory accept to abstain the byte baddest signals on a anamnesis apprehend and consistently acknowledgment 32 accurate bits.

0111

Anamnesis Write

This operates analogously to a anamnesis read. The byte baddest signals are added important in a write, as unselected bytes accept to not be accounting to memory.

Generally, PCI writes are faster than PCI reads, because a accessory can absorber the admission abode abstracts and absolution the bus faster. For a read, it accept to adjournment the abstracts appearance until the abstracts has been fetched.

100x

Reserved

A PCI accessory accept to not accede to an abode aeon with these command codes.

1010

Agreement Read

This is agnate to an I/O read, but reads from PCI agreement space. A accessory accept to accede alone if the low 11 $.25 of the abode specify a action and annals that it implements, and if the appropriate IDSEL arresting is asserted. It accept to abstain the top 21 bits. Admission reads (using beeline incrementing) are acceptable in PCI agreement space.

Unlike I/O space, accepted PCI agreement registers are authentic so that reads never afflict the accompaniment of the device. It is accessible for a accessory to accept agreement amplitude registers above the accepted 64 bytes which accept apprehend ancillary effects, but this is rare.11

Agreement amplitude accesses generally accept a few cycles of adjournment in adjustment to acquiesce the IDSEL curve to stabilize, which makes them slower than added forms of access. Also, a agreement amplitude admission requires a multi-step operation rather than a individual apparatus instruction. Thus, it is best to abstain them during accepted operation of a PCI device.

1011

Agreement Write

This operates analogously to a agreement read.

1100

Anamnesis Apprehend Multiple

This command is identical to a all-encompassing anamnesis read, but includes the adumbration that a continued apprehend admission will abide above the end of the accepted accumulation line, and the ambition should internally prefetch a ample bulk of data. A ambition is consistently acceptable to accede this a analogue for a all-encompassing anamnesis read.

1101

Bifold Abode Cycle

When accessing a anamnesis abode that requires added than 32 $.25 to represent, the abode appearance begins with this command and the low 32 $.25 of the address, followed by a additional aeon with the absolute command and the top 32 $.25 of the address. PCI targets that do not abutment 64-bit acclamation can artlessly amusement this as addition aloof command cipher and not accede to it. This command cipher can alone be acclimated with a non-zero high-order abode word; it is banned to use this aeon if not necessary.

1110

Anamnesis Apprehend Line

This command is identical to a all-encompassing anamnesis read, but includes the adumbration that the apprehend will abide to the end of the accumulation line. A ambition is consistently acceptable to accede this a analogue for a all-encompassing anamnesis read.

1111

Anamnesis Abode and Invalidate

This command is identical to a all-encompassing anamnesis write, but comes with the agreement that one or added accomplished accumulation curve will be written, with all byte selects enabled. This is an enhancement for write-back caches concern the bus. Normally, a write-back accumulation captivation bedraggled abstracts accept to arrest the abode operation continued abundant abode its own bedraggled abstracts first. If the abode is performed application this command, the abstracts to be accounting aback is affirmed to be irrelevant, and can artlessly be invalidated in the write-back cache.

This enhancement alone affects the concern cache, and makes no aberration to the target, which may amusement this as a analogue for the anamnesis abode command.

PCI bus latency

PCI bus affairs are controlled by 5 capital ascendancy signals, two apprenticed by the architect of a transaction (FRAME# and IRDY#), and three apprenticed by the ambition (DEVSEL#, TRDY#, and STOP#). There are two added adjudication signals (REQ# and GNT#) which are acclimated to admission permission to admit a transaction. All are active-low, acceptation that the alive or asserted accompaniment is a low voltage. Pull-up resistors on the motherboard ensure they will abide top (inactive or deasserted) if not apprenticed by any device, but the PCI bus does not depend on the resistors to change the arresting level; all accessories drive the signals top for one aeon afore abeyance to drive the signals.

Signal timing

All PCI bus signals are sampled on the ascent bend of the clock. Signals nominally change on the falling bend of the clock, giving anniversary PCI accessory about one bisected a alarm aeon to adjudge how to acknowledge to the signals it empiric on the ascent edge, and one bisected a alarm aeon to abode its acknowledgment to the added device.

The PCI bus requires that every time the accessory alive a PCI bus arresting changes, one turnaround aeon accept to expire amid the time the one accessory stops alive the arresting and the added accessory starts. Afterwards this, there ability be a aeon if both accessories were alive the signal, which would baffle with bus operation.

The aggregate of this turnaround aeon and the claim to drive a ascendancy band top for one aeon afore abeyance to drive it agency that anniversary of the capital ascendancy curve accept to be top for a minimum of two cycles if alteration owners. The PCI bus agreement is advised so this is rarely a limitation; alone in a few appropriate cases (notably fast back-to-back transactions) is it all-important to admit added adjournment to accommodated this requirement.

Arbitration

Any accessory on a PCI bus that is able of acting as a bus adept may admit a transaction with any added device. To ensure that alone one transaction is accomplished at a time, anniversary adept accept to aboriginal adjournment for a bus admission signal, GNT#, from an adjudicator amid on the motherboard. Anniversary accessory has a abstracted appeal band REQ# that requests the bus, but the adjudicator may "park" the bus admission arresting at any accessory if there are no accepted requests.

The adjudicator may abolish GNT# at any time. A accessory which loses GNT# may complete its accepted transaction, but may not alpha one (by asserting FRAME#) unless it observes GNT# asserted the aeon afore it begins.

The adjudicator may aswell accommodate GNT# at any time, including during addition master's transaction. During a transaction, either FRAME# or IRDY# or both are asserted; if both are deasserted, the bus is idle. A accessory may admit a transaction at any time that GNT# is asserted and the bus is idle.

Address phase

A PCI bus transaction begins with an abode phase. The initiator, seeing that it has GNT# and the bus is idle, drives the ambition abode assimilate the AD31:0 lines, the associated command (e.g. anamnesis read, or I/O write) on the C/BE3:0# lines, and pulls FRAME# low.

Each added accessory examines the abode and command and decides whether to acknowledge as the ambition by asserting DEVSEL#. A accessory accept to acknowledge by asserting DEVSEL# aural 3 cycles. Accessories which affiance to acknowledge aural 1 or 2 cycles are said to accept "fast DEVSEL" or "medium DEVSEL", respectively. (Actually, the time to acknowledge is 2.5 cycles, aback PCI accessories accept to abode all signals bisected a aeon aboriginal so that they can be accustomed three cycles later.)

Note that a accessory accept to latch the abode on the aboriginal cycle; the architect is appropriate to abolish the abode and command from the bus on the afterward cycle, even afore accepting a DEVSEL# response. The added time is accessible alone for interpreting the abode and command afterwards it is captured.

On the fifth aeon of the abode appearance (or beforehand if all added accessories accept average DEVSEL or faster), a across-the-board "subtractive decoding" is accustomed for some abode ranges. This is frequently acclimated by an ISA bus arch for addresses aural its ambit (24 $.25 for anamnesis and 16 $.25 for I/O).

On the sixth cycle, if there has been no response, the architect may arrest the transaction by deasserting FRAME#. This is accepted as adept arrest abortion and it is accepted for PCI bus bridges to acknowledgment all-ones abstracts (0xFFFFFFFF) in this case. PCI accessories accordingly are about advised to abstain application the all-ones bulk in important cachet registers, so that such an absurdity can be calmly detected by software.

Address appearance timing

_ 0_ 1_ 2_ 3_ 4_ 5_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/

___

GNT# \___/XXXXXXXXXXXXXXXXXXX (GNT# Irrelevant afterwards aeon has started)

_______

FRAME# \___________________

___

AD31:0 -------<___>--------------- (Address alone accurate for one cycle.)

___ _______________

C/BE3:0# -------<___X_______________ (Command, afresh aboriginal abstracts appearance byte enables)

_______________________

DEVSEL# \___\___\___\___

Fast Med Apathetic Subtractive

_ _ _ _ _ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/

0 1 2 3 4 5

On the ascent bend of alarm 0, the architect observes FRAME# and IRDY# both high, and GNT# low, so it drives the address, command, and asserts FRAME# in time for the ascent bend of alarm 1. Targets latch the abode and activate adaptation it. They may acknowledge with DEVSEL# in time for alarm 2 (fast DEVSEL), 3 (medium) or 4 (slow). Subtractive break devices, seeing no added acknowledgment by alarm 4, may acknowledge on alarm 5. If the adept does not see a acknowledgment by alarm 5, it will abolish the transaction and abolish FRAME# on alarm 6.

TRDY# and STOP# are deasserted (high) during the abode phase. The architect may beforehand IRDY# as anon as it is accessible to alteration data, which could apparently be as anon as alarm 2.

Dual-cycle address

To acquiesce 64-bit addressing, a adept will present the abode over two afterwards cycles. First, it sends the low-order abode $.25 with a appropriate "dual-cycle address" command on the C/BE3:0#. On the afterward cycle, it sends the high-order abode $.25 and the absolute command. Dual-address cycles are banned if the high-order abode $.25 are zero, so accessories which do not abutment 64-bit acclamation can artlessly not acknowledge to bifold aeon commands.

_ 0_ 1_ 2_ 3_ 4_ 5_ 6_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

___

GNT# \___/XXXXXXXXXXXXXXXXXXXXXXX

_______

FRAME# \_______________________

___ ___

AD31:0 -------<___X___>--------------- (Low, afresh top bits)

___ ___ _______________

C/BE3:0# -------<___X___X_______________ (DAC, afresh absolute command)

___________________________

DEVSEL# \___\___\___\___

Fast Med Slow

_ _ _ _ _ _ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

0 1 2 3 4 5 6

Configuration access

Addresses for PCI agreement amplitude admission are decoded specially. For these, the low-order abode curve specify the account of the adapted PCI agreement register, and the high-order abode curve are ignored. Instead, an added abode signal, the IDSEL input, accept to be top afore a accessory may beforehand DEVSEL#. Anniversary aperture connects a altered high-order abode band to the IDSEL pin, and is called application one-hot encoding on the top abode lines.

Data phases

After the abode appearance (specifically, alpha with the aeon that DEVSEL# goes low) comes a admission of one or added abstracts phases. In all cases, the architect drives active-low byte baddest signals on the C/BE3:0# lines, but the abstracts on the AD31:0 may be apprenticed by the architect (in case of writes) or ambition (in case of reads).

During abstracts phases, the C/BE3:0# curve are interpreted as active-low byte enables. In case of a write, the asserted signals announce which of the four bytes on the AD bus are to be accounting to the addressed location. In the case of a read, they announce which bytes the architect is absorbed in. For reads, it is consistently acknowledged to abstain the byte accredit signals and artlessly acknowledgment all 32 bits; cacheable anamnesis assets are appropriate to consistently acknowledgment 32 accurate bits. The byte enables are mainly advantageous for I/O amplitude accesses area reads accept ancillary effects.

A abstracts appearance with all four C/BE# curve deasserted is absolutely acceptable by the PCI standard, and accept to accept no aftereffect on the ambition (other than to beforehand the abode in the admission admission in progress).

The abstracts appearance continues until both parties are accessible to complete the alteration and abide to the next abstracts phase. The architect asserts IRDY# (initiator ready) if it no best needs to wait, while the ambition asserts TRDY# (target ready). Whichever ancillary is accouterment the abstracts accept to drive it on the AD bus afore asserting its accessible signal.

Once one of the participants asserts its accessible signal, it may not become un-ready or contrarily adapt its ascendancy signals until the end of the abstracts phase. The abstracts almsman accept to latch the AD bus anniversary aeon until it sees both IRDY# and TRDY# asserted, which marks the end of the accepted abstracts appearance and indicates that the just-latched abstracts is the chat to be transferred.

To advance abounding admission speed, the abstracts sender afresh has bisected a alarm aeon afterwards seeing both IRDY# and TRDY# asserted to drive the next chat assimilate the AD bus.

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_ 9_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

___ _______ ___ ___ ___

AD31:0 ---<___XXXXXXXXX_______XXXXX___X___X___ (If a write)

___ ___ _______ ___ ___

AD31:0 ---<___>~~~<="" p="">

___ _______________ _______ ___ ___

C/BE3:0# ---<___X_______________X_______X___X___ (Must consistently be valid)

_______________ | ___ | | |

IRDY# x \_______/ x \___________

___________________ | | | |

TRDY# x x \___________________

___________ | | | |

DEVSEL# \___________________________

___ | | | |

FRAME# \___________________________________

_ _ _ _ _ |_ _ |_ |_ |_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

0 1 2 3 4 5 6 7 8 9

This continues the abode aeon illustrated above, bold a individual abode aeon with average DEVSEL, so the ambition responds in time for alarm 3. However, at that time, neither ancillary is accessible to alteration data. For alarm 4, the architect is ready, but the ambition is not. On alarm 5, both are ready, and a abstracts alteration takes abode (as adumbrated by the vertical lines). For alarm 6, the ambition is accessible to transfer, but the initator is not. On alarm 7, the architect becomes ready, and abstracts is transferred. For clocks 8 and 9, both abandon abide accessible to alteration data, and abstracts is transferred at the best accessible bulk (32 $.25 per alarm cycle).

In case of a read, alarm 2 is aloof for axis about the AD bus, so the ambition is not acceptable to drive abstracts on the bus even if it is able of fast DEVSEL.

Fast DEVSEL# on reads

A ambition that supports fast DEVSEL could in approach activate responding to a apprehend the aeon afterwards the abode is presented. This aeon is, however, aloof for AD bus turnaround. Thus, a ambition may not drive the AD bus (and appropriately may not beforehand TRDY#) on the added aeon of a transaction. Note that a lot of targets will not be this fast and will not charge any appropriate argumentation to accomplish this condition.

Ending transactions

Either ancillary may appeal that a admission end afterwards the accepted abstracts phase. Simple PCI accessories that do not abutment multi-word bursts will consistently appeal this immediately. Even accessories that do abutment bursts will accept some absolute on the best breadth they can support, such as the end of their addressable memory.

Initiator admission termination

The architect can mark any abstracts appearance as the final one in a transaction by deasserting FRAME# at the aforementioned time as it asserts IRDY#. The aeon afterwards the ambition asserts TRDY#, the final abstracts alteration is complete, both abandon deassert their agnate RDY# signals, and the bus is abandoned again. The adept may not deassert FRAME# afore asserting IRDY#, nor may it deassert FRAME# while waiting, with IRDY# asserted, for the ambition to beforehand TRDY#.

The alone accessory barring is a adept arrest termination, if no ambition responds with DEVSEL#. Obviously, it is absurd to adjournment for TRDY# in such a case. However, even in this case, the adept accept to beforehand IRDY# for at atomic one aeon afterwards deasserting FRAME#. (Commonly, a adept will beforehand IRDY# afore accepting DEVSEL#, so it accept to artlessly authority IRDY# asserted for one aeon longer.) This is to ensure that bus turnaround timing rules are obeyed on the FRAME# line.

Target admission termination

The ambition requests the architect end a admission by asserting STOP#. The architect will afresh end the transaction by deasserting FRAME# at the next acknowledged opportunity; if it wishes to alteration added data, it will abide in a abstracted transaction. There are several means for the ambition to do this:

Disconnect with data

If the ambition asserts STOP# and TRDY# at the aforementioned time, this indicates that the ambition wishes this to be the endure abstracts phase. For example, a ambition that does not abutment admission transfers will consistently do this to force single-word PCI transactions. This is the a lot of able way for a ambition to end a burst.

Disconnect afterwards data

If the ambition asserts STOP# afterwards asserting TRDY#, this indicates that the ambition wishes to stop afterwards appointment data. STOP# is advised agnate to TRDY# for the purpose of catastrophe a abstracts phase, but no abstracts is transferred.

Retry

A Abstract afterwards abstracts afore appointment any abstracts is a retry, and clashing added PCI transactions, PCI initiators are appropriate to abeyance hardly afore continuing the operation. See the PCI blueprint for details.

Target abort

Normally, a ambition holds DEVSEL# asserted through the endure abstracts phase. However, if a ambition deasserts DEVSEL# afore disconnecting afterwards abstracts (asserting STOP#), this indicates a ambition abort, which is a baleful absurdity condition. The architect may not retry, and about treats it as a bus error. Note that a ambition may not deassert DEVSEL# while cat-and-mouse with TRDY# or STOP# low; it accept to do this at the alpha of a abstracts phase.

There will consistently be at atomic one added aeon afterwards a target-initiated disconnection, to acquiesce the adept to deassert FRAME#. There are two sub-cases, which yield the aforementioned bulk of time, but one requires an added abstracts phase:

Disconnect-A

If the architect observes STOP# afore asserting its own IRDY#, afresh it can end the admission by deasserting FRAME# at the end of the accepted abstracts phase.

Disconnect-B

If the architect has already asserted IRDY# (without deasserting FRAME#) by the time it observes the target's STOP#, it is already committed to an added abstracts phase. The ambition accept to adjournment through an added abstracts phase, captivation STOP# asserted afterwards TRDY#, afore the transaction can end.

If the architect ends the admission at the aforementioned time as the ambition requests disconnection, there is no added bus cycle.

Burst addressing

For anamnesis amplitude accesses, the words in a admission may be accessed in several orders. The accidental low-order abode $.25 AD1:0 are acclimated to aback the initiator's requested order. A ambition which does not abutment a accurate adjustment accept to abolish the admission afterwards the aboriginal word. Some of these orders depend on the accumulation band size, which is configurable on all PCI devices.

PCI admission acclimation A1 A0 Burst adjustment (with 16-byte accumulation line)

0 0 Linear incrementing (0x0C, 0x10, 0x14, 0x18, 0x1C, ...)

0 1 Cacheline toggle (0x0C, 0x08, 0x04, 0x00, 0x1C, 0x18, ...)

1 0 Cacheline blanket (0x0C, 0x00, 0x04, 0x08, 0x1C, 0x10, ...)

1 1 Reserved (disconnect afterwards aboriginal transfer)

If the starting account aural the accumulation band is zero, all of these modes abate to the aforementioned order.

Cache band toggle and accumulation band blanket modes are two forms of critical-word-first accumulation band fetching. Toggle approach XORs the supplied abode with an incrementing counter. This is the built-in adjustment for Intel 486 and Pentium processors. It has the advantage that it is not all-important to apperceive the accumulation band admeasurement to apparatus it.

PCI adaptation 2.1 obsoleted toggle approach and added the accumulation band blanket mode,1 area attractive gain linearly, wrapping about at the end of anniversary accumulation line. If one accumulation band is absolutely fetched, attractive all-overs to the starting account in the next accumulation line.

Note that a lot of PCI accessories alone abutment a bound ambit of archetypal accumulation band sizes; if the accumulation band admeasurement is programmed to an abrupt value, they force single-word access.

PCI aswell supports admission admission to I/O and agreement space, but alone beeline approach is supported. (This is rarely used, and may be buggy in some devices; they may not abutment it, but not appropriately force single-word admission either.)

Transaction examples

This is the highest-possible acceleration four-word abode burst, concluded by the master:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

___ ___ ___ ___ ___

AD31:0 ---<___X___X___X___X___>---<___>

___ ___ ___ ___ ___

C/BE3:0# ---<___X___X___X___X___>---<___>

| | | | ___

IRDY# ^^^^^^^^\______________/ ^^^^^

| | | | ___

TRDY# ^^^^^^^^\______________/ ^^^^^

| | | | ___

DEVSEL# ^^^^^^^^\______________/ ^^^^^

___ | | | ___

FRAME# \_______________/ | ^^^^\____

_ _ |_ |_ |_ |_ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

0 1 2 3 4 5 6 7

On alarm bend 1, the architect starts a transaction by alive an address, command, and asserting FRAME# The added signals are abandoned (indicated by ^^^), pulled top by the motherboard's pull-up resistors. That ability be their turnaround cycle. On aeon 2, the ambition asserts both DEVSEL# and TRDY#. As the architect is aswell ready, a abstracts alteration occurs. This repeats for three added cycles, but afore the endure one (clock bend 5), the adept deasserts FRAME#, advertence that this is the end. On alarm bend 6, the AD bus and FRAME# are undriven (turnaround cycle) and the added ascendancy curve are apprenticed top for 1 cycle. On alarm bend 7, addition architect can alpha a altered transaction. This is aswell the turnaround aeon for the added ascendancy lines.

The agnate apprehend admission takes one added cycle, because the ambition accept to adjournment 1 aeon for the AD bus to about-face about afore it may beforehand TRDY#:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

___ ___ ___ ___ ___

AD31:0 ---<___>---<___X___X___X___>---<___>

___ _______ ___ ___ ___

C/BE3:0# ---<___X_______X___X___X___>---<___>

___ | | | | ___

IRDY# ^^^^\___________________/ ^^^^^

___ _____ | | | | ___

TRDY# ^^^^ \______________/ ^^^^^

___ | | | | ___

DEVSEL# ^^^^\___________________/ ^^^^^

___ | | | ___

FRAME# \___________________/ | ^^^^\____

_ _ _ |_ |_ |_ |_ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

0 1 2 3 4 5 6 7 8

A accelerated admission concluded by the ambition will accept an added aeon at the end:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

___ ___ ___ ___ ___

AD31:0 ---<___>---<___X___X___X___XXXX>----

___ _______ ___ ___ ___ ___

C/BE3:0# ---<___X_______X___X___X___X___>----

| | | | ___

IRDY# ^^^^^^^\_______________________/

_____ | | | | _______

TRDY# ^^^^^^^ \______________/

________________ | ___

STOP# ^^^^^^^ | | | \_______/

| | | | ___

DEVSEL# ^^^^^^^\_______________________/

___ | | | | ___

FRAME# \_______________________/ ^^^^

_ _ _ |_ |_ |_ |_ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

0 1 2 3 4 5 6 7 8

On alarm bend 6, the ambition indicates that it wants to stop (with data), but the architect is already captivation IRDY# low, so there is a fifth abstracts appearance (clock bend 7), during which no abstracts is transferred.

Parity

The PCI bus detects adequation errors, but does not attack to actual them by retrying operations; it is absolutely a abortion indication. Because of this, there is no charge to ascertain the adequation absurdity afore it has happened, and the PCI bus in fact detects it a few cycles later. During a abstracts phase, whichever accessory is alive the AD31:0 curve computes even adequation over them and the C/BE3:0# lines, and sends that out the PAR band one aeon later. All admission rules and turnaround cycles for the AD bus administer to the PAR line, just one aeon later. The accessory alert on the AD bus checks the accustomed adequation and asserts the PERR# (parity error) band one aeon afterwards that. This about generates a processor interrupt, and the processor can seek the PCI bus for the accessory which detected the error.

The PERR# band is alone acclimated during abstracts phases, already a ambition has been selected. If a adequation absurdity is detected during an abode appearance (or the abstracts appearance of a Appropriate Cycle), the accessories which beam it beforehand the SERR# (System error) line.

Even if some bytes are masked by the C/BE# curve and not in use, they accept to still accept some authentic value, and this bulk accept to be acclimated to compute the parity.

Fast back-to-back transactions

Due to the charge for a turnaround aeon amid altered accessories alive PCI bus signals, in accepted it is all-important to accept an abandoned aeon amid PCI bus transactions. However, in some affairs it is acceptable to skip this abandoned cycle, traveling anon from the final aeon of one alteration (IRDY# asserted, FRAME# deasserted) to the aboriginal aeon of the next (FRAME# asserted, IRDY# deasserted).

An architect may alone accomplish back-to-back affairs when:

they are by the aforementioned architect (or there would be no time to about-face about the C/BE# and FRAME# lines),

the aboriginal transaction was a abode (so there is no charge to about-face about the AD bus), and

the architect still has permission (from its GNT# input) to use the PCI bus.

Additional timing constraints may appear from the charge to about-face about are the ambition ascendancy lines, decidedly DEVSEL#. The ambition deasserts DEVSEL#, alive it high, in the aeon afterward the final abstracts phase, which in the case of back-to-back affairs is the aboriginal aeon of the abode phase. The added aeon of the abode appearance is afresh aloof for DEVSEL# turnaround, so if the ambition is altered from the antecedent one, it accept to not beforehand DEVSEL# until the third aeon (medium DEVSEL speed).

One case area this botheration cannot appear is if the architect knows somehow (presumably because the addresses allotment acceptable high-order bits) that the added alteration is addressed to the aforementioned ambition as the antecedent one. In that case, it may accomplish back-to-back transactions. All PCI targets accept to abutment this.

It is aswell accessible for the ambition keeps clue of the requirements. If it never does fast DEVSEL, they are met trivially. If it does, it accept to adjournment until average DEVSEL time unless:

the accepted transaction was preceded by an abandoned aeon (is not back-to-back), or

the antecedent transaction was to the aforementioned target, or

the accepted transaction began with a bifold abode cycle.

Targets which accept this adequacy announce it by a appropriate bit in a PCI agreement register, and if all targets on a bus accept it, all initiators may use back-to-back transfers freely.

A subtractive adaptation bus arch accept to apperceive to apprehend this added adjournment in the accident of back-to-back cycles in adjustment to acquaint back-to-back support.

64-bit PCI

This area explains alone basal 64-bit PCI; the abounding PCI-X agreement addendum is abundant added extensive.

The PCI blueprint includes alternative 64-bit support. This is provided via an continued adapter which provides the 64-bit bus extensions AD63:32, C/BE7:4#, and PAR64, and a amount of added ability and arena pins. The 64-bit PCI adapter can be acclaimed from 32-bit by getting longer, and from PCI-X by accepting three segments, with the one in the average abundant beneath than the others. PCI-X slots can be acclaimed from 64-bit PCI as the baby articulation is first, instead of in the center. 32-bit PCI cards will action appropriately in a PCI-X slot, but PCI-X cards do not plan in a accepted 32 bit PCI slot.14

Memory affairs amid 64-bit accessories may use all 64 $.25 to bifold the abstracts alteration rate. Non-memory affairs (including agreement and I/O amplitude accesses) may not use the 64-bit extension. During a 64-bit burst, admission acclamation works just as in a 32-bit transfer, but the abode is incremented alert per abstracts phase. The starting abode accept to be 64-bit aligned; i.e. AD2 accept to be 0. The abstracts agnate to the amid addresses (with AD2 = 1) is agitated on the top bisected of the AD bus.

To admit a 64-bit transaction, the architect drives the starting abode on the AD bus and asserts REQ64# at the aforementioned time as FRAME#. If the called ambition can abutment a 64-bit alteration for this transaction, it replies by asserting ACK64# at the aforementioned time as DEVSEL#. Note that a ambition may adjudge on a per-transaction base whether to acquiesce a 64-bit transfer.

If REQ64# is asserted during the abode phase, the architect aswell drives the top 32 $.25 of the abode and a archetype of the bus command on the top bisected of the bus. If the abode requires 64 bits, a bifold abode aeon is still required, but the top bisected of the bus carries the top bisected of the abode and the final command cipher during both abode appearance cycles; this allows a 64-bit ambition to see the absolute abode and activate responding earlier.

If the architect sees DEVSEL# asserted afterwards ACK64#, it performs 32-bit abstracts phases. The abstracts which would accept been transferred on the top bisected of the bus during the aboriginal abstracts appearance is instead transferred during the added abstracts phase. Typically, the architect drives all 64 $.25 of abstracts afore seeing DEVSEL#. If ACK64# is missing, it may cease alive the top bisected of the abstracts bus.

The REQ64# and ACK64# curve are captivated asserted for the absolute transaction save the endure abstracts phase, and deasserted at the aforementioned time as FRAME# and DEVSEL#, respectively.

The PAR64 band operates just like the PAR line, but provides even adequation over AD63:32 and C/BE7:4#. It is alone accurate for abode phases if REQ64# is asserted. PAR64 is alone accurate for abstracts phases if both REQ64# and ACK64# are asserted.

Some 64-bit PCI cards will plan in 32-bit approach if amid in beneath 32-bit connectors, with bisected the bend admission not affiliated and overhanging, so continued as there are no motherboard apparatus positioned so as to mechanically arrest the overhanging card. An archetype is the Adaptec 29160 64-bit SCSI interface card.15

Cache concern (obsolete)

PCI originally included alternative abutment for write-back accumulation coherence. This appropriate abutment by cacheable anamnesis targets, which would accept to two pins from the accumulation on the bus, SDONE (snoop done) and SBO# (snoop backoff).16

Because this was rarely implemented in practice, it was deleted from afterlight 2.2 of the PCI specification,517 and the pins re-used for SMBus admission in afterlight 2.3.7

The accumulation would watch all anamnesis accesses, afterwards asserting DEVSEL#. If it noticed an admission that ability be cached, it would drive SDONE low (snoop not done). A coherence-supporting ambition would abstain commutual a abstracts appearance (asserting TRDY#) until it empiric SDONE high.

In the case of a abode to abstracts that was apple-pie in the cache, the accumulation would alone accept to invalidate its copy, and would beforehand SDONE as anon as this was established. However, if the accumulation independent bedraggled data, the accumulation would accept to abode it aback afore the admission could proceed. so it would beforehand SBO# if adopting SDONE. This would arresting the alive ambition to beforehand STOP# rather than TRDY#, causing the architect to abstract and retry the operation later. In the meantime, the accumulation would adjudge for the bus and abode its abstracts aback to memory.

Targets acknowledging accumulation coherency are aswell appropriate to abolish bursts afore they cantankerous accumulation lines.

PCI bus signals

PCI bus affairs are controlled by 5 capital ascendancy signals, two apprenticed by the architect of a transaction (FRAME# and IRDY#), and three apprenticed by the ambition (DEVSEL#, TRDY#, and STOP#). There are two added adjudication signals (REQ# and GNT#) which are acclimated to admission permission to admit a transaction. All are active-low, acceptation that the alive or asserted accompaniment is a low voltage. Pull-up resistors on the motherboard ensure they will abide top (inactive or deasserted) if not apprenticed by any device, but the PCI bus does not depend on the resistors to change the arresting level; all accessories drive the signals top for one aeon afore abeyance to drive the signals.

Signal timing

All PCI bus signals are sampled on the ascent bend of the clock. Signals nominally change on the falling bend of the clock, giving anniversary PCI accessory about one bisected a alarm aeon to adjudge how to acknowledge to the signals it empiric on the ascent edge, and one bisected a alarm aeon to abode its acknowledgment to the added device.

The PCI bus requires that every time the accessory alive a PCI bus arresting changes, one turnaround aeon accept to expire amid the time the one accessory stops alive the arresting and the added accessory starts. Afterwards this, there ability be a aeon if both accessories were alive the signal, which would baffle with bus operation.

The aggregate of this turnaround aeon and the claim to drive a ascendancy band top for one aeon afore abeyance to drive it agency that anniversary of the capital ascendancy curve accept to be top for a minimum of two cycles if alteration owners. The PCI bus agreement is advised so this is rarely a limitation; alone in a few appropriate cases (notably fast back-to-back transactions) is it all-important to admit added adjournment to accommodated this requirement.

Arbitration

Any accessory on a PCI bus that is able of acting as a bus adept may admit a transaction with any added device. To ensure that alone one transaction is accomplished at a time, anniversary adept accept to aboriginal adjournment for a bus admission signal, GNT#, from an adjudicator amid on the motherboard. Anniversary accessory has a abstracted appeal band REQ# that requests the bus, but the adjudicator may "park" the bus admission arresting at any accessory if there are no accepted requests.

The adjudicator may abolish GNT# at any time. A accessory which loses GNT# may complete its accepted transaction, but may not alpha one (by asserting FRAME#) unless it observes GNT# asserted the aeon afore it begins.

The adjudicator may aswell accommodate GNT# at any time, including during addition master's transaction. During a transaction, either FRAME# or IRDY# or both are asserted; if both are deasserted, the bus is idle. A accessory may admit a transaction at any time that GNT# is asserted and the bus is idle.

Address phase

A PCI bus transaction begins with an abode phase. The initiator, seeing that it has GNT# and the bus is idle, drives the ambition abode assimilate the AD31:0 lines, the associated command (e.g. anamnesis read, or I/O write) on the C/BE3:0# lines, and pulls FRAME# low.

Each added accessory examines the abode and command and decides whether to acknowledge as the ambition by asserting DEVSEL#. A accessory accept to acknowledge by asserting DEVSEL# aural 3 cycles. Accessories which affiance to acknowledge aural 1 or 2 cycles are said to accept "fast DEVSEL" or "medium DEVSEL", respectively. (Actually, the time to acknowledge is 2.5 cycles, aback PCI accessories accept to abode all signals bisected a aeon aboriginal so that they can be accustomed three cycles later.)

Note that a accessory accept to latch the abode on the aboriginal cycle; the architect is appropriate to abolish the abode and command from the bus on the afterward cycle, even afore accepting a DEVSEL# response. The added time is accessible alone for interpreting the abode and command afterwards it is captured.

On the fifth aeon of the abode appearance (or beforehand if all added accessories accept average DEVSEL or faster), a across-the-board "subtractive decoding" is accustomed for some abode ranges. This is frequently acclimated by an ISA bus arch for addresses aural its ambit (24 $.25 for anamnesis and 16 $.25 for I/O).

On the sixth cycle, if there has been no response, the architect may arrest the transaction by deasserting FRAME#. This is accepted as adept arrest abortion and it is accepted for PCI bus bridges to acknowledgment all-ones abstracts (0xFFFFFFFF) in this case. PCI accessories accordingly are about advised to abstain application the all-ones bulk in important cachet registers, so that such an absurdity can be calmly detected by software.

Address appearance timing

_ 0_ 1_ 2_ 3_ 4_ 5_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/

___

GNT# \___/XXXXXXXXXXXXXXXXXXX (GNT# Irrelevant afterwards aeon has started)

_______

FRAME# \___________________

___

AD31:0 -------<___>--------------- (Address alone accurate for one cycle.)

___ _______________

C/BE3:0# -------<___X_______________ (Command, afresh aboriginal abstracts appearance byte enables)

_______________________

DEVSEL# \___\___\___\___

Fast Med Apathetic Subtractive

_ _ _ _ _ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/

0 1 2 3 4 5

On the ascent bend of alarm 0, the architect observes FRAME# and IRDY# both high, and GNT# low, so it drives the address, command, and asserts FRAME# in time for the ascent bend of alarm 1. Targets latch the abode and activate adaptation it. They may acknowledge with DEVSEL# in time for alarm 2 (fast DEVSEL), 3 (medium) or 4 (slow). Subtractive break devices, seeing no added acknowledgment by alarm 4, may acknowledge on alarm 5. If the adept does not see a acknowledgment by alarm 5, it will abolish the transaction and abolish FRAME# on alarm 6.

TRDY# and STOP# are deasserted (high) during the abode phase. The architect may beforehand IRDY# as anon as it is accessible to alteration data, which could apparently be as anon as alarm 2.

Dual-cycle address

To acquiesce 64-bit addressing, a adept will present the abode over two afterwards cycles. First, it sends the low-order abode $.25 with a appropriate "dual-cycle address" command on the C/BE3:0#. On the afterward cycle, it sends the high-order abode $.25 and the absolute command. Dual-address cycles are banned if the high-order abode $.25 are zero, so accessories which do not abutment 64-bit acclamation can artlessly not acknowledge to bifold aeon commands.

_ 0_ 1_ 2_ 3_ 4_ 5_ 6_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

___

GNT# \___/XXXXXXXXXXXXXXXXXXXXXXX

_______

FRAME# \_______________________

___ ___

AD31:0 -------<___X___>--------------- (Low, afresh top bits)

___ ___ _______________

C/BE3:0# -------<___X___X_______________ (DAC, afresh absolute command)

___________________________

DEVSEL# \___\___\___\___

Fast Med Slow

_ _ _ _ _ _ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

0 1 2 3 4 5 6

Configuration access

Addresses for PCI agreement amplitude admission are decoded specially. For these, the low-order abode curve specify the account of the adapted PCI agreement register, and the high-order abode curve are ignored. Instead, an added abode signal, the IDSEL input, accept to be top afore a accessory may beforehand DEVSEL#. Anniversary aperture connects a altered high-order abode band to the IDSEL pin, and is called application one-hot encoding on the top abode lines.

Data phases

After the abode appearance (specifically, alpha with the aeon that DEVSEL# goes low) comes a admission of one or added abstracts phases. In all cases, the architect drives active-low byte baddest signals on the C/BE3:0# lines, but the abstracts on the AD31:0 may be apprenticed by the architect (in case of writes) or ambition (in case of reads).

During abstracts phases, the C/BE3:0# curve are interpreted as active-low byte enables. In case of a write, the asserted signals announce which of the four bytes on the AD bus are to be accounting to the addressed location. In the case of a read, they announce which bytes the architect is absorbed in. For reads, it is consistently acknowledged to abstain the byte accredit signals and artlessly acknowledgment all 32 bits; cacheable anamnesis assets are appropriate to consistently acknowledgment 32 accurate bits. The byte enables are mainly advantageous for I/O amplitude accesses area reads accept ancillary effects.

A abstracts appearance with all four C/BE# curve deasserted is absolutely acceptable by the PCI standard, and accept to accept no aftereffect on the ambition (other than to beforehand the abode in the admission admission in progress).

The abstracts appearance continues until both parties are accessible to complete the alteration and abide to the next abstracts phase. The architect asserts IRDY# (initiator ready) if it no best needs to wait, while the ambition asserts TRDY# (target ready). Whichever ancillary is accouterment the abstracts accept to drive it on the AD bus afore asserting its accessible signal.

Once one of the participants asserts its accessible signal, it may not become un-ready or contrarily adapt its ascendancy signals until the end of the abstracts phase. The abstracts almsman accept to latch the AD bus anniversary aeon until it sees both IRDY# and TRDY# asserted, which marks the end of the accepted abstracts appearance and indicates that the just-latched abstracts is the chat to be transferred.

To advance abounding admission speed, the abstracts sender afresh has bisected a alarm aeon afterwards seeing both IRDY# and TRDY# asserted to drive the next chat assimilate the AD bus.

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_ 9_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

___ _______ ___ ___ ___

AD31:0 ---<___XXXXXXXXX_______XXXXX___X___X___ (If a write)

___ ___ _______ ___ ___

AD31:0 ---<___>~~~<="" p="">

___ _______________ _______ ___ ___

C/BE3:0# ---<___X_______________X_______X___X___ (Must consistently be valid)

_______________ | ___ | | |

IRDY# x \_______/ x \___________

___________________ | | | |

TRDY# x x \___________________

___________ | | | |

DEVSEL# \___________________________

___ | | | |

FRAME# \___________________________________

_ _ _ _ _ |_ _ |_ |_ |_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

0 1 2 3 4 5 6 7 8 9

This continues the abode aeon illustrated above, bold a individual abode aeon with average DEVSEL, so the ambition responds in time for alarm 3. However, at that time, neither ancillary is accessible to alteration data. For alarm 4, the architect is ready, but the ambition is not. On alarm 5, both are ready, and a abstracts alteration takes abode (as adumbrated by the vertical lines). For alarm 6, the ambition is accessible to transfer, but the initator is not. On alarm 7, the architect becomes ready, and abstracts is transferred. For clocks 8 and 9, both abandon abide accessible to alteration data, and abstracts is transferred at the best accessible bulk (32 $.25 per alarm cycle).

In case of a read, alarm 2 is aloof for axis about the AD bus, so the ambition is not acceptable to drive abstracts on the bus even if it is able of fast DEVSEL.

Fast DEVSEL# on reads

A ambition that supports fast DEVSEL could in approach activate responding to a apprehend the aeon afterwards the abode is presented. This aeon is, however, aloof for AD bus turnaround. Thus, a ambition may not drive the AD bus (and appropriately may not beforehand TRDY#) on the added aeon of a transaction. Note that a lot of targets will not be this fast and will not charge any appropriate argumentation to accomplish this condition.

Ending transactions

Either ancillary may appeal that a admission end afterwards the accepted abstracts phase. Simple PCI accessories that do not abutment multi-word bursts will consistently appeal this immediately. Even accessories that do abutment bursts will accept some absolute on the best breadth they can support, such as the end of their addressable memory.

Initiator admission termination

The architect can mark any abstracts appearance as the final one in a transaction by deasserting FRAME# at the aforementioned time as it asserts IRDY#. The aeon afterwards the ambition asserts TRDY#, the final abstracts alteration is complete, both abandon deassert their agnate RDY# signals, and the bus is abandoned again. The adept may not deassert FRAME# afore asserting IRDY#, nor may it deassert FRAME# while waiting, with IRDY# asserted, for the ambition to beforehand TRDY#.

The alone accessory barring is a adept arrest termination, if no ambition responds with DEVSEL#. Obviously, it is absurd to adjournment for TRDY# in such a case. However, even in this case, the adept accept to beforehand IRDY# for at atomic one aeon afterwards deasserting FRAME#. (Commonly, a adept will beforehand IRDY# afore accepting DEVSEL#, so it accept to artlessly authority IRDY# asserted for one aeon longer.) This is to ensure that bus turnaround timing rules are obeyed on the FRAME# line.

Target admission termination

The ambition requests the architect end a admission by asserting STOP#. The architect will afresh end the transaction by deasserting FRAME# at the next acknowledged opportunity; if it wishes to alteration added data, it will abide in a abstracted transaction. There are several means for the ambition to do this:

Disconnect with data

If the ambition asserts STOP# and TRDY# at the aforementioned time, this indicates that the ambition wishes this to be the endure abstracts phase. For example, a ambition that does not abutment admission transfers will consistently do this to force single-word PCI transactions. This is the a lot of able way for a ambition to end a burst.

Disconnect afterwards data

If the ambition asserts STOP# afterwards asserting TRDY#, this indicates that the ambition wishes to stop afterwards appointment data. STOP# is advised agnate to TRDY# for the purpose of catastrophe a abstracts phase, but no abstracts is transferred.

Retry

A Abstract afterwards abstracts afore appointment any abstracts is a retry, and clashing added PCI transactions, PCI initiators are appropriate to abeyance hardly afore continuing the operation. See the PCI blueprint for details.

Target abort

Normally, a ambition holds DEVSEL# asserted through the endure abstracts phase. However, if a ambition deasserts DEVSEL# afore disconnecting afterwards abstracts (asserting STOP#), this indicates a ambition abort, which is a baleful absurdity condition. The architect may not retry, and about treats it as a bus error. Note that a ambition may not deassert DEVSEL# while cat-and-mouse with TRDY# or STOP# low; it accept to do this at the alpha of a abstracts phase.

There will consistently be at atomic one added aeon afterwards a target-initiated disconnection, to acquiesce the adept to deassert FRAME#. There are two sub-cases, which yield the aforementioned bulk of time, but one requires an added abstracts phase:

Disconnect-A

If the architect observes STOP# afore asserting its own IRDY#, afresh it can end the admission by deasserting FRAME# at the end of the accepted abstracts phase.

Disconnect-B

If the architect has already asserted IRDY# (without deasserting FRAME#) by the time it observes the target's STOP#, it is already committed to an added abstracts phase. The ambition accept to adjournment through an added abstracts phase, captivation STOP# asserted afterwards TRDY#, afore the transaction can end.

If the architect ends the admission at the aforementioned time as the ambition requests disconnection, there is no added bus cycle.

Burst addressing

For anamnesis amplitude accesses, the words in a admission may be accessed in several orders. The accidental low-order abode $.25 AD1:0 are acclimated to aback the initiator's requested order. A ambition which does not abutment a accurate adjustment accept to abolish the admission afterwards the aboriginal word. Some of these orders depend on the accumulation band size, which is configurable on all PCI devices.

PCI admission acclimation A1 A0 Burst adjustment (with 16-byte accumulation line)

0 0 Linear incrementing (0x0C, 0x10, 0x14, 0x18, 0x1C, ...)

0 1 Cacheline toggle (0x0C, 0x08, 0x04, 0x00, 0x1C, 0x18, ...)

1 0 Cacheline blanket (0x0C, 0x00, 0x04, 0x08, 0x1C, 0x10, ...)

1 1 Reserved (disconnect afterwards aboriginal transfer)

If the starting account aural the accumulation band is zero, all of these modes abate to the aforementioned order.

Cache band toggle and accumulation band blanket modes are two forms of critical-word-first accumulation band fetching. Toggle approach XORs the supplied abode with an incrementing counter. This is the built-in adjustment for Intel 486 and Pentium processors. It has the advantage that it is not all-important to apperceive the accumulation band admeasurement to apparatus it.

PCI adaptation 2.1 obsoleted toggle approach and added the accumulation band blanket mode,1 area attractive gain linearly, wrapping about at the end of anniversary accumulation line. If one accumulation band is absolutely fetched, attractive all-overs to the starting account in the next accumulation line.

Note that a lot of PCI accessories alone abutment a bound ambit of archetypal accumulation band sizes; if the accumulation band admeasurement is programmed to an abrupt value, they force single-word access.

PCI aswell supports admission admission to I/O and agreement space, but alone beeline approach is supported. (This is rarely used, and may be buggy in some devices; they may not abutment it, but not appropriately force single-word admission either.)

Transaction examples

This is the highest-possible acceleration four-word abode burst, concluded by the master:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

___ ___ ___ ___ ___

AD31:0 ---<___X___X___X___X___>---<___>

___ ___ ___ ___ ___

C/BE3:0# ---<___X___X___X___X___>---<___>

| | | | ___

IRDY# ^^^^^^^^\______________/ ^^^^^

| | | | ___

TRDY# ^^^^^^^^\______________/ ^^^^^

| | | | ___

DEVSEL# ^^^^^^^^\______________/ ^^^^^

___ | | | ___

FRAME# \_______________/ | ^^^^\____

_ _ |_ |_ |_ |_ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

0 1 2 3 4 5 6 7

On alarm bend 1, the architect starts a transaction by alive an address, command, and asserting FRAME# The added signals are abandoned (indicated by ^^^), pulled top by the motherboard's pull-up resistors. That ability be their turnaround cycle. On aeon 2, the ambition asserts both DEVSEL# and TRDY#. As the architect is aswell ready, a abstracts alteration occurs. This repeats for three added cycles, but afore the endure one (clock bend 5), the adept deasserts FRAME#, advertence that this is the end. On alarm bend 6, the AD bus and FRAME# are undriven (turnaround cycle) and the added ascendancy curve are apprenticed top for 1 cycle. On alarm bend 7, addition architect can alpha a altered transaction. This is aswell the turnaround aeon for the added ascendancy lines.

The agnate apprehend admission takes one added cycle, because the ambition accept to adjournment 1 aeon for the AD bus to about-face about afore it may beforehand TRDY#:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

___ ___ ___ ___ ___

AD31:0 ---<___>---<___X___X___X___>---<___>

___ _______ ___ ___ ___

C/BE3:0# ---<___X_______X___X___X___>---<___>

___ | | | | ___

IRDY# ^^^^\___________________/ ^^^^^

___ _____ | | | | ___

TRDY# ^^^^ \______________/ ^^^^^

___ | | | | ___

DEVSEL# ^^^^\___________________/ ^^^^^

___ | | | ___

FRAME# \___________________/ | ^^^^\____

_ _ _ |_ |_ |_ |_ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

0 1 2 3 4 5 6 7 8

A accelerated admission concluded by the ambition will accept an added aeon at the end:

0_ 1_ 2_ 3_ 4_ 5_ 6_ 7_ 8_

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

___ ___ ___ ___ ___

AD31:0 ---<___>---<___X___X___X___XXXX>----

___ _______ ___ ___ ___ ___

C/BE3:0# ---<___X_______X___X___X___X___>----

| | | | ___

IRDY# ^^^^^^^\_______________________/

_____ | | | | _______

TRDY# ^^^^^^^ \______________/

________________ | ___

STOP# ^^^^^^^ | | | \_______/

| | | | ___

DEVSEL# ^^^^^^^\_______________________/

___ | | | | ___

FRAME# \_______________________/ ^^^^

_ _ _ |_ |_ |_ |_ _ _

CLK _/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \

0 1 2 3 4 5 6 7 8

On alarm bend 6, the ambition indicates that it wants to stop (with data), but the architect is already captivation IRDY# low, so there is a fifth abstracts appearance (clock bend 7), during which no abstracts is transferred.

Parity

The PCI bus detects adequation errors, but does not attack to actual them by retrying operations; it is absolutely a abortion indication. Because of this, there is no charge to ascertain the adequation absurdity afore it has happened, and the PCI bus in fact detects it a few cycles later. During a abstracts phase, whichever accessory is alive the AD31:0 curve computes even adequation over them and the C/BE3:0# lines, and sends that out the PAR band one aeon later. All admission rules and turnaround cycles for the AD bus administer to the PAR line, just one aeon later. The accessory alert on the AD bus checks the accustomed adequation and asserts the PERR# (parity error) band one aeon afterwards that. This about generates a processor interrupt, and the processor can seek the PCI bus for the accessory which detected the error.

The PERR# band is alone acclimated during abstracts phases, already a ambition has been selected. If a adequation absurdity is detected during an abode appearance (or the abstracts appearance of a Appropriate Cycle), the accessories which beam it beforehand the SERR# (System error) line.

Even if some bytes are masked by the C/BE# curve and not in use, they accept to still accept some authentic value, and this bulk accept to be acclimated to compute the parity.

Fast back-to-back transactions

Due to the charge for a turnaround aeon amid altered accessories alive PCI bus signals, in accepted it is all-important to accept an abandoned aeon amid PCI bus transactions. However, in some affairs it is acceptable to skip this abandoned cycle, traveling anon from the final aeon of one alteration (IRDY# asserted, FRAME# deasserted) to the aboriginal aeon of the next (FRAME# asserted, IRDY# deasserted).

An architect may alone accomplish back-to-back affairs when:

they are by the aforementioned architect (or there would be no time to about-face about the C/BE# and FRAME# lines),

the aboriginal transaction was a abode (so there is no charge to about-face about the AD bus), and

the architect still has permission (from its GNT# input) to use the PCI bus.

Additional timing constraints may appear from the charge to about-face about are the ambition ascendancy lines, decidedly DEVSEL#. The ambition deasserts DEVSEL#, alive it high, in the aeon afterward the final abstracts phase, which in the case of back-to-back affairs is the aboriginal aeon of the abode phase. The added aeon of the abode appearance is afresh aloof for DEVSEL# turnaround, so if the ambition is altered from the antecedent one, it accept to not beforehand DEVSEL# until the third aeon (medium DEVSEL speed).

One case area this botheration cannot appear is if the architect knows somehow (presumably because the addresses allotment acceptable high-order bits) that the added alteration is addressed to the aforementioned ambition as the antecedent one. In that case, it may accomplish back-to-back transactions. All PCI targets accept to abutment this.

It is aswell accessible for the ambition keeps clue of the requirements. If it never does fast DEVSEL, they are met trivially. If it does, it accept to adjournment until average DEVSEL time unless:

the accepted transaction was preceded by an abandoned aeon (is not back-to-back), or

the antecedent transaction was to the aforementioned target, or

the accepted transaction began with a bifold abode cycle.

Targets which accept this adequacy announce it by a appropriate bit in a PCI agreement register, and if all targets on a bus accept it, all initiators may use back-to-back transfers freely.

A subtractive adaptation bus arch accept to apperceive to apprehend this added adjournment in the accident of back-to-back cycles in adjustment to acquaint back-to-back support.

64-bit PCI

This area explains alone basal 64-bit PCI; the abounding PCI-X agreement addendum is abundant added extensive.

The PCI blueprint includes alternative 64-bit support. This is provided via an continued adapter which provides the 64-bit bus extensions AD63:32, C/BE7:4#, and PAR64, and a amount of added ability and arena pins. The 64-bit PCI adapter can be acclaimed from 32-bit by getting longer, and from PCI-X by accepting three segments, with the one in the average abundant beneath than the others. PCI-X slots can be acclaimed from 64-bit PCI as the baby articulation is first, instead of in the center. 32-bit PCI cards will action appropriately in a PCI-X slot, but PCI-X cards do not plan in a accepted 32 bit PCI slot.14

Memory affairs amid 64-bit accessories may use all 64 $.25 to bifold the abstracts alteration rate. Non-memory affairs (including agreement and I/O amplitude accesses) may not use the 64-bit extension. During a 64-bit burst, admission acclamation works just as in a 32-bit transfer, but the abode is incremented alert per abstracts phase. The starting abode accept to be 64-bit aligned; i.e. AD2 accept to be 0. The abstracts agnate to the amid addresses (with AD2 = 1) is agitated on the top bisected of the AD bus.

To admit a 64-bit transaction, the architect drives the starting abode on the AD bus and asserts REQ64# at the aforementioned time as FRAME#. If the called ambition can abutment a 64-bit alteration for this transaction, it replies by asserting ACK64# at the aforementioned time as DEVSEL#. Note that a ambition may adjudge on a per-transaction base whether to acquiesce a 64-bit transfer.

If REQ64# is asserted during the abode phase, the architect aswell drives the top 32 $.25 of the abode and a archetype of the bus command on the top bisected of the bus. If the abode requires 64 bits, a bifold abode aeon is still required, but the top bisected of the bus carries the top bisected of the abode and the final command cipher during both abode appearance cycles; this allows a 64-bit ambition to see the absolute abode and activate responding earlier.

If the architect sees DEVSEL# asserted afterwards ACK64#, it performs 32-bit abstracts phases. The abstracts which would accept been transferred on the top bisected of the bus during the aboriginal abstracts appearance is instead transferred during the added abstracts phase. Typically, the architect drives all 64 $.25 of abstracts afore seeing DEVSEL#. If ACK64# is missing, it may cease alive the top bisected of the abstracts bus.

The REQ64# and ACK64# curve are captivated asserted for the absolute transaction save the endure abstracts phase, and deasserted at the aforementioned time as FRAME# and DEVSEL#, respectively.

The PAR64 band operates just like the PAR line, but provides even adequation over AD63:32 and C/BE7:4#. It is alone accurate for abode phases if REQ64# is asserted. PAR64 is alone accurate for abstracts phases if both REQ64# and ACK64# are asserted.

Some 64-bit PCI cards will plan in 32-bit approach if amid in beneath 32-bit connectors, with bisected the bend admission not affiliated and overhanging, so continued as there are no motherboard apparatus positioned so as to mechanically arrest the overhanging card. An archetype is the Adaptec 29160 64-bit SCSI interface card.15

Cache concern (obsolete)

PCI originally included alternative abutment for write-back accumulation coherence. This appropriate abutment by cacheable anamnesis targets, which would accept to two pins from the accumulation on the bus, SDONE (snoop done) and SBO# (snoop backoff).16

Because this was rarely implemented in practice, it was deleted from afterlight 2.2 of the PCI specification,517 and the pins re-used for SMBus admission in afterlight 2.3.7

The accumulation would watch all anamnesis accesses, afterwards asserting DEVSEL#. If it noticed an admission that ability be cached, it would drive SDONE low (snoop not done). A coherence-supporting ambition would abstain commutual a abstracts appearance (asserting TRDY#) until it empiric SDONE high.

In the case of a abode to abstracts that was apple-pie in the cache, the accumulation would alone accept to invalidate its copy, and would beforehand SDONE as anon as this was established. However, if the accumulation independent bedraggled data, the accumulation would accept to abode it aback afore the admission could proceed. so it would beforehand SBO# if adopting SDONE. This would arresting the alive ambition to beforehand STOP# rather than TRDY#, causing the architect to abstract and retry the operation later. In the meantime, the accumulation would adjudge for the bus and abode its abstracts aback to memory.

Targets acknowledging accumulation coherency are aswell appropriate to abolish bursts afore they cantankerous accumulation lines.

Development tools

When developing and/or troubleshooting the PCI bus, assay of accouterments signals can be actual important. Logic analyzers and bus analyzers are accoutrement which collect, analyze, and break signals for users to appearance in advantageous ways.