throbber
Extending PCI
`Performance
`Beyond the Desktop
`
`Research
`Cover Feature
`
`PCI buses are not only prevalent in desktop systems, they are also being
`reconfigured for industrial applications, embedded systems, laptops, other
`mobile devices, and graphics applications.
`
`Shlomo Weiss
`Tel Aviv
`University
`
`Ehud
`Finkelstein
`Seagull
`Semiconductor
`Ltd.
`
`I n just a few years since its introduction, the PCI
`
`(peripheral component interconnect) bus1 has
`become an industry standard, implemented in
`most PC systems as well as in some workstations.
`Designed for the desktop PC market, the PCI bus
`cannot be used directly in most embedded systems or
`in industrial applications due to packaging, reliabil-
`ity, or maintenance considerations.
`As a result of its widespread use, various groups
`have developed several PCI-related standards. These
`standards bring PCI performance to other segments
`of the computer industry and enable the use of PCI sil-
`icon, software, and firmware in nondesktop systems.
`While the proliferation of PCI-related standards cer-
`tainly attests to PCI’s success, some confusion arises
`because it is not always clear why there are so many
`standards, what the differences are between them, and
`which standards apply to a specific application.
`
`PCI BUS BASICS
`The I/O expansion bus connects most I/O periph-
`erals into the system. It consists of connector slots into
`which I/O controller cards can be inserted. A bus stan-
`dard provides an interface between a computer sys-
`tem and I/O peripherals; it specifies control and
`transfer protocols that are supported, and mechanical
`and electrical requirements that compatible I/O cards
`must meet. By far the most popular of the expansion
`buses is the Industry Standard Architecture (ISA) bus,
`based on the original IBM PC/AT bus. At only 5
`Mbytes/s, the ISA bus is inadequate for many of
`today’s high-performance peripherals, however, and
`higher performance buses have been developed.
`The PCI bus is designed to overcome many of the
`limitations in previous buses. It can transfer data at a
`peak rate of 132 Mbytes/s using the current 32-bit data
`path and a 33-MHz clock speed. High-end imple-
`mentations featuring a 64-bit data path and 66-MHz
`clock may transfer data as fast as 524 Mbytes/s. (For
`more information see the “PCI Bus Extensions and
`
`80
`
`Computer
`
`Options” sidebar.) PCI is a local bus, sometimes also
`called an intermediate local bus, to distinguish it from
`the CPU bus. The concept of the local bus solves the
`downward compatibility problem in an elegant way.
`The system may incorporate other buses, such as ISA,
`and adapters compatible with these buses. On the
`other hand, high-performance adapters, such as graph-
`ics or network cards, may plug directly into the PCI,
`as shown in Figure 1.
`The PCI bus can be expanded to a large number of
`slots using PCI-to-PCI bridges, which connect sepa-
`rate, small PCI buses to form a single, unified, hierar-
`chical PCI bus. When traffic is local to each bus, more
`than one bus may be active at a time. This allows load
`balancing, while still allowing any PCI master on any
`bus to access any PCI target on any other PCI bus.
`All PCI-compliant cards are automatically configured
`for PCI bus transactions. There is no need to set up
`jumpers to set the card’s I/O address, interrupt request
`number, or direct memory access (DMA) channel num-
`ber. By incorporating the optional OpenBoot standard,2
`any device with OpenBoot firmware can boot systems
`containing any microprocessor, without any operating-
`system- or CPU-specific software support. Even without
`OpenBoot, it is common to see drivers for many video
`cards and SCSI controllers that cover multiple CPU
`architectures and operating systems.
`The PCI bus supports advanced features such as bus
`snooping—to enforce cache coherency even with mul-
`tiple bus masters—and a locking mechanism to sup-
`port semaphores. At the same time, it also supports
`older standards. For example, the PCI interoperates
`with existing ISA cards by supporting subtractive
`decoding of addresses (allowing addresses not decoded
`by PCI cards to go to a non-PCI bus such as ISA). It
`supports standards such as those for VGA (video
`graphics array) and IDE (integrated drive electronics)
`controllers. To do so, the PCI allows these devices to
`be locked at fixed I/O addresses, which the operating
`system requires to boot successfully.
`
`0018-9162/99/$10.00 © 1999 IEEE
`
`1
`
`Comcast, Ex. 1210
`
`

`

`PCI Bus Extensions and Options
`PCI 2.1 specifies several optional fea-
`tures intended to provide room for future
`growth and accommodate multiple plat-
`forms and architectures. We cover the
`most important options and extensions.
`
`64-Bit Extension
`A PCI device can optionally support 64-
`bit addressing or data transfer or both.
`The 64-bit address extension supports
`address space sizes beyond 4 Gbytes. The
`64-bit data transfer extension lets a 64-bit
`master transfer eight bytes in each data
`phase to a 64-bit target. The transaction
`defaults to 32-bit data transfers if the
`selected target does not support the 64-bit
`extension. A 64-bit master can fit into a
`32-bit card slot. Lacking the signals that
`
`support the 64-bit data transfer capabil-
`ity, the targets will not sense the 64-bit
`transfer request, forcing the bus master to
`use the lower half of the bus.
`
`PCI devices that do not use the extra band-
`width. This is why Intel defined AGP as a
`point-to-point connection, rather than a
`shared bus.
`
`66-MHz Extension
`The PCI 2.1 specification includes a 66-
`MHz extension with the intent of provid-
`ing high bandwidth for advanced graphics
`and video applications. It appears that the
`66-MHz PCI and AGP interfaces aim at
`solving the same problem. However, use of
`the 66-MHz PCI bus is limited because 66-
`MHz operation requires all devices on the
`bus to support the 66-MHz extension. If
`any 33-MHz PCI device connects to a 66-
`MHz PCI bus, the bus defaults to 33-MHz
`operation. Thus, using a 66-MHz, shared
`PCI bus unnecessarily increases the cost of
`
`3.3 V, 5 V, and Universal Cards
`The core of a PCI card is a PCI chipset
`that uses either 5 V or 3.3 V logic. Systems
`must support the older 5 V PCI cards.
`Mobile systems must operate at 3.3 V to
`save power, and 3.3 V is also required by all
`66-MHz implementations. So systems will
`continue to use one or the other voltage, and
`manufacturers must key 5 V and 3.3 V cards
`to prevent insertion into the wrong slot.
`Some vendors provide universal cards
`with logic that can work at either 5 V or
`3.3 V. They key such cards to plug into
`either 5 V or 3.3 V slots.
`
`CPU bus
`
`Figure 1. PCI bus
`architecture.
`
`Basic I/O
`system
`ROM
`
`PCI host
`bridge
`
`PCI bus
`
`L2 cache
`
`DRAM
`
`CPU
`L1 cache
`
`Basic I/O
`functions
`
`ISA
`bridge
`
`SCSI
`controller
`
`LAN
`interface
`
`Graphics
`interface
`
`ISA bus
`
`INDUSTRIAL APPLICATIONS
`Price is a significant design consideration in desk-
`top PC systems for consumers. In contrast, designs for
`critical embedded computing systems—like those used
`in telecommunications, industrial automation, and
`military applications—must also account for two
`other primary factors, reliability and maintenance. To
`meet these needs, industry has typically turned to the
`
`VME bus, but is increasingly considering different
`forms of PCI.
`
`Reliability
`In desktop PCs, ISA and PCI adapters are inserted
`into card edge connectors located on a motherboard.
`A PCI card is typically fastened only at one point of
`the edge opposite to the connector. This mechanical
`
`June 1999
`
`81
`
`2
`
`

`

`Table 1. VME card characteristics.
`
`No. of 96-pin
`connectors
`1
`2
`
`No. of
`address bits
`24
`32
`
`No. of
`data bits
`16
`32
`
`Card
`3U
`6U
`
`arrangement cannot withstand shock and vibration
`very well, and the card edge connectors are subject to
`shifting or even disconnection. This poor situation is
`made worse by the use of an active backplane, a moth-
`erboard on which both ICs and connectors are
`mounted. In an industrial or military environment,
`the mechanical stresses involved in supporting cards
`may lead to failures in the motherboard.
`To work around these problems, critical embedded
`systems use pin-and-socket connectors, front-panel
`retainers that lock the card to the frame, and card
`guides. These devices mechanically support every card
`on all four edges. A passive backplane also enhances
`reliability; its primary function is to provide electrical
`connections and shielding. Mechanical stresses on
`such a backplane are low because of the front-panel
`retainers and card guides.
`
`Maintenance
`Low mean time to repair is a key requirement in crit-
`ical embedded systems. Failures in a passive backplane
`are uncommon due to robust mechanical characteris-
`
`tics and the lack of active components. The use of a
`passive backplane considerably simplifies maintenance
`because ICs and other active components are on cards
`plugged into the backplane that can be speedily
`removed. This simple replacement procedure applies to
`all the cards in the system, such as processor cards or
`peripherals. The system controller is simply one of the
`cards plugged into the backplane. In fact, in telecom-
`munications products, it is totally unacceptable for the
`backplane to be a field-replaceable assembly.
`
`VME bus
`To meet their reliability and maintenance require-
`ments, the telecommunications, industrial automa-
`tion, military, and medical markets have made wide
`use of the VME bus.3 VME began its life as a 16-bit
`data/24-bit address bus called VERSAbus; it worked
`with Motorola 680· 0-based machines. VERSAbus
`was later modified to use the EuroCard form factor,
`after which it was renamed VME (Versa Module
`Eurocard). Today, VME supports 32-bit data/32-bit
`address cards. VME64 supports 64-bit cards. The
`VME system now supports all popular microproces-
`sors, including the Motorola 680· 0, Sun Sparc,
`Compaq Alpha, and Intel · 86.
`VME systems are usually based on a passive back-
`plane with one or more CPU cards, and one or more
`I/O cards. VME backplanes may have as many as 21
`I/O cards. VME cards come in two form factors: 3U
`and 6U, which are defined by the VMEbus Inter-
`national Trade Association (VITA).3 Table 1 lists how
`these two cards vary.
`
`Glossary
`AGP (Accelerated Graphics Port): Standard that specifies a
`high-bandwidth connection between the graphics controller and
`main memory.
`CardBus: Laptop version of the PCI bus.
`CompactPCI: Passive backplane bus that attempts to replace
`VME. Cards are the same size as VME cards.
`HiRelPCI: Standard currently being developed by IEEE. It sup-
`ports the scalable coherent interface (SCI).
`IRQ: Interrupt request.
`IDE (intelligent drive electronics): Standard specifying how to
`connect secondary storage devices that have an embedded con-
`troller with the ISA bus.
`PC/104: The embedded system version of the ISA bus. Also
`the name of the consortium that serves as a custodian of the
`standard.
`PC/104-Plus: Standard that specifies PC/104 size cards with
`both ISA and PCI bus.
`PC Card: New name for the 1994 release of the PCMCIA
`standard.
`PCI (peripheral component interconnect): Local-bus standard.
`
`PCI SIG (PCI Special Interest Group): Association established
`to monitor and enhance the development of the PCI bus.
`PCMCIA (Personal Computer Memory Card International
`Association): Organization that developed the PCMCIA stan-
`dard, the laptop version of an ISA compatible I/O expansion bus.
`PICMG (PCI Industrial Computer Manufacturers Group):
`Consortium of computer product vendors established to extend the
`PCI specification for use in industrial computing applications. De-
`veloped the PCI-ISA passive backplane and CompactPCI standards.
`PMC (PCI Mezzanine Card): Defined as IEEE Std P1386.1,
`PMC cards use PCI chips and may be mounted on VME cards.
`SmallPCI: Expansion card with form factor identical to PC
`Card and CardBus. Primarily intended for original-equipment
`manufacturer products.
`VGA (video graphics array): Originally a PC video card made
`by IBM, VGA today serves as a hardware compatibility standard
`for PC video cards.
`VITA (VMEbus International Trade Association): Organi-
`zation of VME bus manufacturers that supports the PCI Mezza-
`nine Card standard.
`VME (Versa Module Eurocard): Passive backplane bus.
`
`82
`
`Computer
`
`3
`
`

`

`The second connector in 6U cards provides addi-
`tional address and data bits, and 32 user pins. The
`user pins allow extra user cables to connect to the card
`through the rear of the backplane. This arrangement
`allows users to rapidly switch cards without removing
`the cables first. The 3U and 6U VMEbus cards can be
`adapted to 9U racks if they use the first two connec-
`tors to define a VMEbus. Today, most standard cards
`are 32-bit-wide 6U cards.
`
`PCI-based buses
`Although analysts expect the VME architecture to
`continue dominating the industrial system market (at
`least in the near future), PCI’s success has led to three
`new standards that apply PCI technology to industrial
`systems:
`
`• PCI-ISA passive backplane standard,
`• PMC (PCI Mezzanine Card), and
`• CompactPCI.
`
`A fourth standard, HiRelPCI, is currently under
`development by an IEEE working group.
`PCI-ISA passive backplane. This standard specifies
`a passive backplane with two buses, ISA and PCI, and
`a CPU card with dimensions identical to the dimen-
`sions of the longer PCI cards. The CPU card contains
`all the components normally located on the mother-
`board (including the PCI chipset that implements the
`PCI-ISA bridge), and two connectors, one each for
`the ISA and PCI buses. Hence the “active” mother-
`board function is replaced with a plug-in CPU card.
`All field-replaceable expansion cards plug into a pas-
`sive backplane that has only connectors on it. As we
`mentioned earlier, passive backplanes improve relia-
`bility, simplify maintenance, and are required in many
`applications.
`The PCI-ISA standard supports up to 15 ISA slots
`and four PCI slots. As in desktop PCs, these multiple
`slots allow the use of off-the-shelf ISA and PCI
`adapters, which use standard ISA and PCI edge con-
`nectors. These connectors are less reliable than the
`pin-and-socket connectors used in VME and Com-
`pactPCI systems.
`PCI Mezzanine Card. The PCI Mezzanine Card stan-
`dard4 uses existing PCI silicon and packages it in a
`different form factor suitable for mounting on exist-
`ing CPU cards. These cards are used most in VME-
`based systems. In this way, manufacturers of
`VME-based systems enjoy VME’s expandability with
`a wide selection of PCI-based solutions. PMC is
`defined as IEEE P1386.1 and backed by VITA, the
`VMEbus International Trade Association.
`PMC is basically an I/O expansion card for single-
`board computers. In desktop PCs, PCI cards are per-
`pendicular to the motherboard, a space-consuming
`
`Connectors (2)
`
`160 mm
`
`6U Eurocard
`
`233.35 mm
`
`Figure 2. 3U and 6U
`form factor Eurocards.
`A slot may contain
`one double-height 6U
`card or two single-
`height 3U cards.
`The card guides are
`not shown.
`
`3U Eurocard
`
`100 mm
`
`160 mm
`
`installation. In contrast, PMCs provide a low-profile
`configuration for systems that cannot directly use PCI
`technology due to space limitations. Two single PMCs
`or one double PMC can be attached in parallel to a
`VME board. PMC does not replace the VME bus.
`CompactPCI. The CompactPCI standard5,6 attempts
`to replace VME directly by using PCI chips on 3U or
`6U form factor cards, called Eurocards. Figure 2
`shows the size of these cards and how they insert into
`slots. The Eurocard mechanical form factor is com-
`mon in embedded systems due to the VME bus’s pop-
`ularity, and the use of card guides and pin-and-socket
`connectors results in a rugged and reliable package.
`This is the main reason for adopting the Eurocard
`mechanics in CompactPCI. An added benefit is that
`because VME and CompactPCI cards have the same
`form factor, you can mix them in the same frame. The
`two buses can interconnect via a CompactPCI-VME
`bridge.
`CompactPCI uses high-density 2-mm connectors
`designed for telecom products. 3U cards use two con-
`nectors, as shown in Figure 2. The lower connector
`contains 32-bit PCI signals; the upper connector is for
`64-bit cards. 6U cards use three additional connec-
`tors for user-defined I/O. Note that the lower two con-
`nectors are identically defined in 3U and 6U cards.
`Hence, as far as PCI bus signals are concerned, 3U
`and 6U cards are electrically interchangeable. Unlike
`normal PCI, CompactPCI allows up to eight cards on
`a backplane without a bridge chip. This improvement
`is mostly due to the improved noise margins obtained
`from the use of high-quality connectors and large
`numbers of ground pins.
`In comparison with VME, CompactPCI has the fol-
`lowing benefits:
`
`June 1999
`
`83
`
`4
`
`

`

`3.6 inches
`
`3.8 inches
`
`120-pin
`PCI card
`
`104-pin
`ISA bus
`
`PC/104
`ISA card
`
`PC/104-Plus
`PCI card
`
`PC/104-Plus
`PCI card
`
`(a)
`
`Figure 3. Views from
`(a) above a single
`PC/104-Plus card and
`(b) the side of cards
`stacked one on top of
`another using space-
`through connectors.
`Spacers are not
`shown.
`
`(b)
`
`• CompactPCI systems use the same PCI chips and
`the same software as desktop PC systems.
`Operating systems, drivers, and applications that
`run on desktop PCs also run on CompactPCI sys-
`tems. Hence several operating systems and appli-
`cations work with CompactPCI platforms.
`• PCI chips are plentiful. As a result, these chips
`are inexpensive and can be used in CompactPCI
`systems. Due to high integration levels, a PCI
`chipset consists of only a few chips, which con-
`siderably simplifies system design.
`• The CompactPCI peak bandwidth is 132
`Mbytes/s for the 33-MHz 32-bit implementation,
`and 264 Mbytes/s for the 33-MHz 64-bit imple-
`mentation. This bandwidth is identical to the PCI
`bus peak bandwidth.
`
`HiRelPCI. The IEEE 1996 working group is now
`developing HiRelPCI.7 The group intends this bus to
`be a high-reliability, high-availability system for
`transportation control and telecommunications.
`Basic bus operation follows the PCI specification,1
`and the current draft proposal specifies a connector
`similar to that of CompactPCI. It also specifies two
`metric board formats,8 6su and 12su, which are both
`larger than the corresponding VME and Com-
`pactPCI inch-based 3U and 6U Eurocard formats
`shown in Figure 2.
`HiRelPCI adds features to support a large number
`of nodes. For example, large systems often involve
`long delays, but PCI was not designed to handle long
`latency devices. PCI-2.0-compliant target devices had
`to hold the bus until they could deliver the data, no
`matter how long it took. The bus couldn’t be used dur-
`ing this latency time, nor was the latency time limited.
`To solve these problems, the PCI Special Interest
`Group—an industry consortium—modified the PCI
`
`standard in a few subtle ways and included the fol-
`lowing changes in revision 2.1:
`
`• Target latency is limited to a specified number of
`cycles. Any target requiring longer latency must
`terminate the transaction.
`• A PCI 2.1 master must reissue a request if the tar-
`get disconnects without delivering data. The mas-
`ter must retry the request until the target is ready.
`• After disconnecting, the target must refuse any
`request other than the previous one. This pre-
`serves the read order.
`
`This solution lets other masters compete for the bus
`between the request and the target reply, but it has
`two problems:
`
`• The master has to poll the target until it receives
`the data, wasting bus bandwidth that other mas-
`ters could use.
`• Because polling occurs at fixed time intervals, the
`master will get the data when it polls the target
`after the data is ready, rather than getting the data
`as soon as the target is ready. This makes a long-
`latency transaction even longer.
`
`HiRelPCI addresses the latency problem by extend-
`ing PCI to include a packet mode. This mode provides
`split response operation, which improves system per-
`formance by freeing the bus during the time the target
`needs to fetch or process data. Packet operations are
`transparent to normal PCI transactions. A HiRelPCI
`bus can operate in packet or PCI mode or both.
`
`EMBEDDED SYSTEMS: SINGLE-BOARD
`COMPUTER EXPANSION
`PC/104 is the embedded system version of the ISA
`
`84
`
`Computer
`
`5
`
`

`

`bus. PC/104-based embedded systems incorporate 16-
`and 32-bit x86 processors running at 16- to 33-MHz
`clock rates. Many of these systems are upgraded ver-
`sions of earlier implementations that used 8-bit micro-
`controllers, and the 5-Mbytes/s ISA (PC/104) bus
`meets their bandwidth requirements. Introducing the
`Pentium CPU into embedded systems, however, leads
`to a need for an extended PC/104 bus. The result is
`the PC/104-Plus standard,9 which defines a new form
`factor and a pass-through connector for PCI but
`remains compatible with existing PC/104 cards.
`PC/104-Plus offers
`
`• compact 3.6-inch by 3.8-inch cards,
`• self-stacked cards (which provide expansion
`without backplanes or card cages), and
`• the use of pin-and-socket connectors and four-
`corner mounting (which have reliable electric
`connections and good shock and vibration char-
`acteristics).
`
`As illustrated in Figure 3b, a typical system may
`consist of PC/104 (ISA) cards and PC/104-Plus (PCI)
`cards stacked using pass-through connectors; stack-
`ing lets you use multiple cards on a single bus.
`As in other ISA systems, the 104-pin ISA bus is split
`into two connectors, shown on the right sides of
`Figures 3a and 3b. The 120-pin PCI bus in PC/104-
`Plus modules uses a high-density (2-mm) connector,
`which consumes less space than ISA connectors. On
`the other hand, PCI connector pins (to the left in
`Figure 3b) are thinner and more vulnerable than ISA
`connector pins (on the right). Because PC/104 systems
`do not use card guides, a connector pin “shroud”
`(which is not shown in Figure 3) serves as a guide for
`the PCI connector and protects the connector pins.
`
`LAPTOPS
`As its name indicates, CardBus, release 1.0 of the
`PCMCIA (Personal Computer Memory Card Inter-
`national Association) standard, was designed for
`memory cards that are primarily used in laptops.
`These Type I cards are about the size of a credit card
`and 3.3 mm thick. The next version, release 2.0,
`enabled the use of network, modem, and other I/O
`expansion cards by introducing a higher capacity, 5-
`mm thick, Type II form factor. Type II maintains back-
`ward compatibility (Type I cards will work in Type II
`slots). Release 2.0 also defines a Type III (10.5-mm
`thickness) primarily for use in PCMCIA hard disk
`drives. Two vertical Type II slots may contain either
`two Type II cards or a single Type III device.
`The version of the standard released in 1994 (and
`updated a few times since) was renamed PC Card10
`instead of PCMCIA release 3.0. PC Cards use the
`same form factor and Type I, Type II, or Type III
`
`Card services
`
`Socket services
`
`Socket services
`
`Adapter
`
`Adapter
`
`Slots
`
`Slots
`
`Figure 4. PC Card and
`CardBus need socket
`services software to
`deal with different
`hardware interfaces.
`Card services software
`manages system
`resources among PC
`Cards.
`
`thickness as PCMCIA release 2.0.
`The PC Card standard also defines several enhance-
`ments; the enhancement pertinent to this discussion
`is a 32-bit, 33-MHz interface called CardBus.
`CardBus is very similar to PCI, but addresses addi-
`tional issues such as hot swap and power down, which
`are essential in laptop implementations. CardBus can-
`not use PCI chips directly, but it is very easy to mod-
`ify existing PCI chips to be CardBus compatible.
`CardBus uses Type I, Type II, or Type III thickness,
`and the same form factor and connector as PC Card.
`A PC Card can use a CardBus slot; a connector key,
`however, prevents a user from inserting a CardBus
`card into a PC Card slot.
`Each PC Card (or CardBus) slot connects to an
`adapter that can control multiple slots (called sockets
`in PC Card literature). Because adapters from differ-
`ent vendors often have different hardware interfaces,
`a software layer called socket services provides a
`generic interface to PC Card adapter hardware.
`Hence, socket services hides inconsistencies in the
`hardware interface. The next software layer, card ser-
`vices, enables the use of the same slot for different PC
`Cards. Card services manages a pool of resources
`(such as memory maps, I/O addresses, and interrupt
`request lines) and assigns resources to PC Cards
`plugged into the system.
`Figure 4 shows where these layers of support soft-
`ware are in the system implementation.
`
`MOBILE SYSTEMS: SMALLPCI
`SmallPCI11 is a small form factor of PCI endorsed
`by the PCI Special Interest Group; it has dimensions
`and connectors very close to those of CardBus.
`CardBus and SmallPCI target different market seg-
`ments, however.
`
`June 1999
`
`85
`
`6
`
`

`

`Figure 5. In (a) an
`implementation with-
`out AGP, the graphics
`controller must access
`the system memory
`through the PCI bus;
`(b) with AGP, the
`graphics controller
`has direct access to
`the system memory
`through the bridge.
`For clarity, I/O devices
`connected to the PCI
`bus and the connec-
`tion of the CPU bus to
`the bridge are not
`shown.
`
`System
`memory
`
`System
`memory
`
`Graphics
`controller
`and local
`memory
`
`PCI to
`memory
`bridge
`
`Graphics
`controller
`and local
`memory
`
`AGP bus
`
`AGP/PCI
`to
`memory
`bridge
`
`PCI bus
`
`PCI bus
`
`(a)
`
`(b)
`
`CardBus developers intend it to be a standard for
`end-user cards and, as such, it supports both hot swap-
`ping and PCMCIA backward compatibility. As we
`have discussed, however, CardBus requires special
`software support (socket services) for its operation.
`On the other hand, the developers of SmallPCI
`intend it for OEMs who want to install small func-
`tional modules based on PCI chips inside their prod-
`ucts. Potential applications include set-top boxes,
`PDAs, traffic controllers, elevator controllers, navi-
`gational systems, and other products that require
`small-form-factor packages.
`SmallPCI supports all the features of a standard PCI
`card (without a 64-bit extension), but adds a
`CLKRUN signal. CLKRUN controls the PCI clock
`frequency to support a reduced power mode. A
`SmallPCI card has the same form factor as PC Card
`and CardBus, and inserts into a connector mounted
`on and parallel to the system board. The connector is
`keyed to prevent insertion of PC Card or CardBus
`devices.
`
`GRAPHICS APPLICATIONS
`Intel developed the Accelerated Graphics Port stan-
`dard12 to give PCs a high-bandwidth graphics expan-
`sion slot. Because of its high speed, they designed AGP
`for point-to-point operation. Accordingly, it supports
`a single graphics expansion card. As shown in Figure
`5, AGP provides a high-bandwidth path between the
`graphics controller and the system memory, which
`allows the graphics engine to use both local and main
`memory efficiently. As a result, some 3D data struc-
`tures may shift from the graphics card’s local memory
`into main memory.
`
`Texture data, for example, is read only and resides
`in main memory without causing data consistency
`problems. Data loaded from secondary storage into
`the graphics card’s local memory must pass through
`main memory anyway; leaving it in main memory
`saves the transfer to the graphics card.
`Clearly, moving data to main memory reduces the
`cost of the graphics local memory, but requires allo-
`cation of additional main memory. This alternative is
`attractive for two reasons. First, main memory uses
`less-expensive memory chips. Second, the extra main
`memory purchased to support graphics applications is
`also available to other applications.
`As Figure 5 shows, AGP does not replace the PCI
`bus. Essentially, AGP is an additional connection point
`into the main memory, through the bridge chipset.
`This path is both logically and physically independent
`of the PCI bus. Most I/O devices use the PCI bus and
`PCI transactions, leaving AGP for the exclusive use of
`graphics devices. AGP maintains compatibility with
`the standard PCI protocol, but uses additional signals
`to add new AGP data transfer modes, called AGP
`transactions.
`There is a distinction between a bus and its trans-
`actions. For example, a PCI bus can only run PCI
`transactions. Because the AGP standard is an exten-
`sion of the PCI standard, AGP buses can run both PCI
`and AGP transactions. So AGP bus traffic can inter-
`leave AGP and PCI transactions.
`Compared with the PCI standard, AGP offers the
`following benefits:
`
`• Data transfer rates of 133 MHz. With a sustained
`throughput of more than 500 Mbytes/s, AGP
`
`86
`
`Computer
`
`7
`
`

`

`throughput is substantially higher than that of
`current 33-MHz PCI buses.
`• Demultiplexed address and data transfers. By
`adding an optional, 8-bit address bus, multiple
`read requests can be queued up through this bus,
`while the main address/data bus is used for data
`transfer. Request queuing helps achieve 100 per-
`cent actual bus usage (rather than an asymptotic
`performance level on infinitely long bursts, as in
`the PCI bus).
`• Pipelined memory operations. By decoupling
`read data transfers from read requests, a system
`can initiate multiple requests without waiting for
`the first request to finish. This feature helps hide
`memory access latency.
`
`Pipelined AGP transactions provide split response
`operation. The graphics controller initiates a pipelined
`transaction by placing a memory read request. The
`bridge responds by providing the data later. The
`graphics controller can issue additional requests,
`which may be also pipelined without waiting for pend-
`ing transactions to complete. The number of out-
`standing transactions is limited by the amount of
`buffering in the graphics and bridge chips.
`
`P CI’s success gave birth to multiple PCI-related
`
`standards. These standards build upon PCI
`technology and leverage it for the benefit of
`other areas for which normal PCI cards are unsuit-
`able. Because of its huge volume, the desktop PC mar-
`ket enjoys ongoing investments of billions of dollars
`in hardware and software innovation. PCI-related
`standards enable the use of these innovations in
`telecommunications, instrumentation, industrial con-
`trol, military applications, and other segments of the
`computer industry.
`The future of PCI lies in 64-bit-wide and 66-MHz
`implementations. Further into the future, implemen-
`tations of PCI-X, a specification currently under devel-
`opment, will support throughputs of up to one
`gigabyte per second. v
`
`Acknowledgment
`We thank the referees for numerous comments and
`suggestions that have improved this article’s contents,
`structure, and presentation.
`
`2. IEEE Std. 1275, IEEE Standard for Boot (Initialization
`Configuration) Firmware: Core Requirements and Prac-
`tices, IEEE, Piscataway, N.J., 1994; http://standards.
`ieee.org/catalog/bus.html.
`3. The VMEbus Handbook, VMEbus Int’l Trade Assoc.,
`Scottsdale, Ariz., 1989; http://www.vita.com.
`4. IEEE Draft Std. P1386.1 Physical/Environmental Lay-
`ers for PCI Mezzanine Card, PMC, IEEE, Piscataway,
`N.J., 1995; http://standards.ieee.org/catalog/drafts.html.
`5. CompactPCI Specification, Revision 1.0, PCI Industrial
`and Computer Manufacturers Group (PICMG), Wake-
`field, Mass., 1995; http://www.picmg.com.
`6. CompactPCI vs. Industrial PCs, Force Computers, San
`Jose, Calif., 1997; http://www.forcecomputers.com/
`technology.htm.
`7. IEEE P1996 HiRelPCI (unapproved draft), Summit
`Computer Systems Inc., San Jose, Calif., 1996; http://
`www.scsi.com/IEEE.htm.
`8. IEEE Std. 1301.2, IEEE Recommended Practices for
`the Implementation of a Metric Equipment Practice,
`IEEE, Piscataway, N.J., 1993; http://standards.ieee.org/
`catalog/bus.html.
`9. PC/104-Plus Standard, Ampro Computers Inc., San
`Jose, Calif., 1997; http://www.ampro.com/forum/
`specs/pc104p10.pdf.
`10. PC Card Standard, Personal Computer Memory Card
`Int’l Assoc. (PCMCIA), San Jose, Calif., 1997; http://
`www.pcmcia.org.
`11. SmallPCI Specification, Revision 1.0, PCI Special Inter-
`est Group, Hillsboro, Ore., 1996; http://www.pcisig.
`com.
`12. Accelerated Graphics Port Interface Specification, Revi-
`sion 1.0, Intel Corp., Santa Clara, Calif., 1996.
`
`Shlomo Weiss is a faculty member of the department
`of electrical engineering/systems at Tel Aviv Univer-
`sity. His research interests include branch prediction,
`cache memory, and embedded systems. Weiss has a
`PhD in computer science from the University of Wis-
`consin at Madison. He is a member of the IEEE
`and the IEEE Computer Society. Contact Weiss at
`shlomow@msil.sps.mot.com.
`
`References
`1. PCI Local Bus Specification, Revision 2.1, PCI Special
`Interest Group, Hillsboro, Ore., 1995; http://www.
`pcisig.com.
`
`Ehud Finkelstein is a VLSI design engineer at Seagull
`Semiconductor Ltd. His research interests include
`CPU architectures, CAD tools, and programmable
`logic. He has an MSc in electrical engineering from
`Tel Aviv University.
`
`June 1999
`
`87
`
`8
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket