
          Document:  PCI Frequently Asked Questions list
        Maintainer:  Patrick Duffy, duffy@theory.chem.ubc.ca
    Revision Dates:  9/13/95, 11/26/95
       Archived at:  ftp.netcom.com, in directory /pub/ab/abe/
                     CompuServe (GO BENCHMARK)
         Web pages:  http://warp.eecs.berkeley.edu/os2/workbench/work.htm
                     http://www.os2forum.or.at/english/info/os2hardwareinfo/
                     (note that the first URL may not have up-to-date
                     versions of the lists)

This document is intended for use by individuals and corporations in a
non-commercial manner.  It may be distributed freely within those
limitations.  Commercial use of this document in any manner requires
prior written permission of the author.

This is the PCI Frequently asked Questions list. It is designed to
provide a beginning guide to what is turning out to be the dominant bus
standard among PCs. It attempts to answer all of the following
questions: Dates in brackets indicate the last revision date for the
related entry.

                             New This Week:
                             --------------

Question 4 (a), how to obtain more information on the PCI standard, has
had extra detail added to it.

1) What's PCI?

2) How does the PCI bus compare with:
   a) ISA
   b) EISA
   c) VL
   d) MCA

3) What are the features of the various PCI revisions?
   a) 2.0
   b) 2.1

4) How can I obtain more information about the PCI specification?
   a) How to obtain the PCI specification
   b) How to obtain more general information

5) I've heard that many new PCI chipsets support EDO RAM.  What is EDO
   RAM and how will it benefit me?

6) I would like my new Pentium system to use parity RAM.  Which chipsets
   will make use of parity RAM?

7) I'm upgrading from an ISA/VL/EISA system:
   a) What will still work in my new system?
   b) What do I not need to replace?
   c) What should I consider replacing?
   d) When using a PCI motherboard, if i don't replace my sound
      and I/O card won't it slow down the PCI board?
   e) What types of motherboards will work best?
   f) How much faster will my new system be?

------------------------------------------------------------------------

1) What's PCI? (8/27/95)

PCI, or Peripheral Component Interconnect is, briefly, a new way of
interconnecting the peripherals (cards you plug into the motherboard)
with both the system memory and the CPU.  It was designed from the start
to alleviate many of the headaches that installation of a new card into
an ISA bus-based computer would cause (IRQ conflicts, address conflicts,
etc.).  All PCI standards are set by a committe to ensure wide industry
support.  Some of its major features:

   a) Multiple busmasters on the same bus.  (Several SCSI controllers
      running at the same time, for example.)

   b) Auto-configuring.  All components which plug into the PCI bus will
      be configured by the BIOS, making jumpers for this unnecessary.

   c) IRQ sharing.  The PCI bus is able to share a single interrupt
      between cards.

   d) High bus bandwidth.  The PCI bus runs at a maximum rate of 33 MHz
      (66 MHz in PCI 2.1 -- see later) and is capable of transferring 32
      bits (4 bytes) per clock cycle, for a maximum throughput of 132
      (264 in PCI 2.1) MB/sec (though bus latency times usually lower
      this to significantly less than maximum in real implementations).

   e) Multiple functions on one card.  The PCI specification allows for
      up to 8 functions (video, sound...) on a single card.

The PCI bus works with two different types of cards: 3.3 volt and 5
volt. These two different types of cards cannot be accidentally plugged
into the wrong slot, as the "keys" for the cards are on opposite ends of
the slot (most currently shipping motherboards have 5 volt connectors).
Of course the 3.3 volt and 5 volt cards won't work in the same slot,
with the single exception of cards which can operate with either voltage
(this is covered in the PCI spec).  An interesting trivia note is that
the connectors used for PCI cards are the same as those used for MCA.

The PCI bus is also limited to a maximum of four slots per bus (for
technical reasons); if more PCI slots are desired then a PCI - PCI
bridge must be used, in the same way that PCI is bridged to other buses
now.  Of those four slots, two must be able to accommodate a
busmastering device, and the busmaster-enabled slots must be labelled
somehow either on the board itself or in the manual for the board.

As a final note, not all PCI implementations are created equally.  Many
PCI chipsets, for instance, do not support an (optional) feature called
"byte merging", in which writes to sequential memory addresses are
merged into one PCI-to-memory operation.  (This will cause the bus to
have to actually wait for a 60 MHz Pentium CPU to catch up.)  Some
motherboards (like the Intel board, for example) will also automatically
configure the PCI bus for you, eliminating the need to fiddle with any
jumpers of any kind.  (Others, like the Asus boards, do not support this
to my knowledge.)
------------------------------------------------------------------------

2) How does the PCI bus compare with:

   a) tbe ISA bus? (8/27/95)

      Right from the start, it should be apparent both that the PCI bus
      is not compatible with ISA (even the expansion slots for the two
      buses are different), and that technically PCI is much more
      advanced than ISA.  The ISA bus runs at a slower speed (8 MHz on
      most systems, though on many PCI/ISA systems with enhanced ISA
      timing the bus may be run at 10 or 11 MHz), does not allow for
      multiple busmasters (only one may be on the bus at any one time)
      and, because of the DMA controller it uses, will not allow
      peripherals which employ DMA to directly address memory above 16
      MB.  ISA will also not auto-configure, and will not share
      interrupts.  The ISA bus will support a maximum real-world data
      transfer rate of about 5 MB/sec (16 MB/sec is the theoretical
      maximum; burst transfer rates may approach about half of this),
      and uses a 16 bit data path.

      The ISA bus, in spite of its technical inferiority to PCI, still
      has a place in PC architecture, however; certainly you don't need
      PCI-type bandwidth for 16 bit/44.1 kHz digital audio, and serial
      ports are hardly taxing.  For that matter, neither are 900+ Kb/s
      CD-Rom and tape drives or ethernet 10Base-x.  However, use of
      these in combination with several other cards on the same (ISA)
      bus (video, disk I/O, etc.) will severely limit performance on
      most systems.

   b) The EISA bus? (8/27/95)

      The EISA bus is an attempt to extend ISA to a 32-bit bus which
      allows for proper busmastering.  While having the resulting
      advantage of compatibility with the large number of ISA-based
      cards in existence, this causes it to be slower than it could be,
      as it transfers 32 bits per clock cycle but runs at 8 MHz (for a
      theoretical maximum of 32 MB/sec).  The EISA bus also does not
      autoconfigure, though it is capable of sharing interrupts.  EISA
      never really caught on, and appears to be fading in popularity.

   c) tbe VL bus? (8/27/95)

      The VL bus was designed to overcome the speed limitations of the
      ISA bus.  It talks both directly to the CPU and the memory, and
      typically runs at the external clock rate of the CPU (up to a
      maximum of 40 MHz, though there are many boards which run at 50
      MHz, strictly a violation of the VL spec's).  As it is a 32-bit
      bus, the high speeds at which it runs can make for some very fast
      data transfers.

      The VL bus has its limitations, however.  For one, it truly is a
      "local bus", meaning that it talks directly to memory and to the
      CPU with no intervention from any bus arbitrators.  Because of
      this, there is the possibility that one bad card could cause
      serious damage to the system.  Also because of the local nature of
      the bus, busmastering on the VL bus causes the CPU to be blocked
      from accessing RAM while the busmaster is talking to it.  VL is
      limited to two or three slots per bus for power-consumption
      reasons.

      The VL bus, because it is simply an extension of the ISA bus, also
      does not support autoconfiguring or IRQ sharing.

      One additional problem not often mentioned is the physical length
      of the card connectors.  They are quite long and, as a result,
      flexing the motherboard (as may occur when, say, an older case is
      moved) may cause the VL part of the card to become partially
      unseated, no matter how well clamped in it is at the ISA end.

   d) the MCA bus? (8/27/95)

      The MCA bus has very similar capabilities to the PCI bus. That is,
      it supports IRQ sharing, multiple busmasters, etc., just as does
      PCI.  However, MCA does not autoconfigure in the same way that PCI
      does (it must be done via a reference disk).  The MCA bus used on
      PS/2s typically runs at 10 MHz, and supports transfer rates of 32
      bits/clock cycle (maximum) for a theoretical maximum rate of 40
      MB/sec.  The maximum possible data transfer rate for MCA is 160
      MB/sec, though running the bus at this speed would break
      compatibility with older cards.

      MCA can be made to run as fast (or faster) than the PCI bus in
      some cases as it has certain features which PCI does not. Most
      notable among these features is "streaming", whereby the 32-bit
      address bus is used to carry data as well as the 32 bit data bus
      (PCI has only one 32-bit bus for both addresses and data and so
      cannot stream). In addition, the MCA bus may accommodate more
      slots in a single bus than PCI; up to 10 may be present, so that a
      bridge to another bus is generally not necessary.

------------------------------------------------------------------------

3) What are the features of the various PCI revisions?

   a) 2.0 (8/27/95)

      Revision 2.0 of the PCI standard is currently implemented
      in older-generation motherboards (for example, those using the
      Neptune and Saturn chipsets).  It has all the features and
      limitations discussed in question (1).

   b) 2.1 (9/4/95)

      Revision 2.1 of the PCI standard is now widely available in the
      new generation of shipping motherboards (for example, those which
      employ the Intel Triton chipset).  It includes the following
      changes from PCI 2.0:

      - backwards compatible with PCI 2.0

        If a PCI 2.1-compliant card and a PCI 2.0-compliant card are on
        the same bus, the PCI bus will be run at 33 MHz instead of 66.

      - 66 MHz (maximum) bus speeds

      - Apparently also there are 64-bit extensions defined in PCI 2.1.
        There are as yet, however, no PC implementations which support
        them.

      - PCI to PCI bridges, which will allow for more than three or four
        PCI slots per motherboard.  In addition, some PCI cards (such as
        the Adaptec 3940 twin-channel SCSI controller) exploit this
        bridging capability to obtain multiple SCSI channels in a single
        PCI slot.

------------------------------------------------------------------------

4) How can I obtain more information about the PCI specification?

   a) How to obtain the PCI specification (11/26/95)

      The most direct way is to call Intel, at (800) 433-5177.  This
      will allow you to join the PCI special interest group, and to
      obtain a copy of the latest PCI specifications.  You can also
      write to them:

      PO BOX 14070
      Portland, OR 97214

      They sell the following PCI specification manuals:

      PCI spec (general)
      PCI bios spec
      PCI multimedia guide (motion video)
      PCI bridge spec
      PCI mobile design guide (laptops)

   b) How to obtain more general information (8/27/95)

      If you don't need the whole specification but would still like a
      little more information about PCI, I've found the following
      documents (available from Intel FaxBACK, (800) 628-2283) to be
      useful and relatively concise summaries.  The numbers beside the
      titles are the document numbers you'll need to order the
      associated articles:

      7048:  PCI and VL-bus:  What are the Differences?
      7056:  PC Basics:  Bus Standards Explained (ISA, EISA, VL/VESA, PCI)
      7108:  PCI:  Technical Description
      7157:  PCI Fundamentals

------------------------------------------------------------------------

5) I've heard that many new PCI chipsets support EDO RAM.  What is EDO
   RAM and how will it benefit me? (8/27/95)

   The EDO in the name "EDO RAM" is an acronym for "Extended Data Out".
   This means that the RAM can output data for longer periods of time
   than conventional DRAM.  It does this by holding data on the outputs
   of the DRAM while preparing for the next read operation.  As a
   result, there is an approximately 20 ns overlap between one read and
   the next.

   The fact that EDO RAM can output data for a longer period than
   conventional RAM has several immediate consequences.  The one of most
   concern to OS/2 users is an artifact of OS/2's multitasking ability.
   When OS/2 switches between tasks, it must load the mew task into
   memory.  Quite obviously, the faster it can do that, the faster the
   task-switching will be, and the smoother the system will seem.

------------------------------------------------------------------------

6) I would like my new Pentium system to use parity RAM.  Which chipsets
   will make use of parity RAM? (8/27/95)

   The Triton chipset does NOT use parity RAM (although some systems
   will still accept parity RAM in the SIMM sockets without using it).
   The SIS chipset, the Mercury chipset, and the Neptune chipset all are
   capable of taking and using parity RAM.  None of these chipsets has
   built-in IDE, however, so that you may wind up with a system with a
   defective on-board IDE controller.  Check with your system vendor to
   ensure this does not happen.

------------------------------------------------------------------------

7) I'm upgrading from an ISA/VL/EISA system:

   a) What will still work in my new system? (8/27/95)

      Assuming the cards you used in your old system were all of
      reasonable quality and sound implementation, all of what you had
      before should still work now.  "Should" is the operative word
      here; if you're unsure, ask to try the card in the new system. Of
      course, if you have a VL card, you'll need a VL slot on your new
      PCI board into which you can plug it.  The same goes for ISA and
      EISA cards as well.

   b) What do I not need to replace? (8/27/95)

      There are no PCI sound cards, so you definitely do not need to
      look into replacements for any that you might have.  In general as
      well, because of their low bandwidth, I/O cards can be re-used
      (serial/parallel/game), as can I/O cards dedicated to
      low-bandwidth peripherals such as CD-ROM and MO drives.

   c) What should I consider replacing? (8/27/95)

      If you have a busmastering ISA SCSI controller, replace it with a
      PCI-equivalent one.  Not only will it be faster, it will also make
      moot the problems which ISA has with 16 MB memory limitations and
      busmastering controllers.  You will also get proper busmastering
      (i.e. the CPU can access memory while the cards do), and just in
      general better performance.  The upgrade need not be expensive either;
      PCI SCSI controllers based on the NCR chip (see the PCI SCSI
      controller list) are available for less than $100.

      ISA-based video cards are also a prime candidate for replacement.
      The higher bandwidth of PCI will allow for faster screen draws
      when running at high colour depth, and you won't need to worry
      about setting or unsetting memory apertures or any of that.

   d) When using a PCI motherboard, if i don't replace my sound
      and I/O card won't it slow down the PCI board? (8/27/95)

      No it won't.  The sound and I/O cards are on the ISA bus (in
      general), and so will have no effect on the PCI bus.  In addition,
      components on the ISA (and PCI) bus operate independently, so that
      a slow serial port (for example) will not slow down the hard disk
      controller.  The only instance in which performance might be
      adversely affected is if the system must wait for a serial port or
      sound card operation to finish before it may proceed with another
      task.  As OS/2 is multitasking, however, this is extremely
      unlikely to occur.

   e) What types of motherboards will work best? (8/27/95)

      All different types of motherboards (those with bridges to
      ISA/EISA/VL slots) can be made to work well, and many do.
      Generally PCI/ISA motherboards are all well-implemented, as are
      PCI/EISA.  The problem comes, however, when dealing with PCI/VL
      boards.  Many of these let the VL bus talk to the CPU, and then
      bridge the PCI bus to the VL bus.  Doing so causes a performance
      hit on the PCI bus.  If you must have a PCI/VL motherboard, ensure
      that the CPU is bridged directly to the PCI bus, and that any VL
      buses are bridged to the PCI bus.  (Only one of which I know, the
      Asus AVP4, implements VL in this manner.)

   f) How much faster will my new system be? (8/27/95)

      Ironically enough, unless you've bottlenecked your system (by
      using fast hard drives and/or high-resolution video) probably not
      very.  Given, though, that most people today _do_ run at 1024x768,
      and typical new fast hard drives are running at 4 MB+/sec, the
      standalone user could see a jump in performance that way.

      The real people to benefit, however, will be the people who run
      servers.  ISA/EISA/VL just don't cut it in servers (for various
      reasons), and PCI-based replacements will go a long way to solving
      their bandwidth problems.

------------------------------------------------------------------------

That's what I know as best I know how to say it.  E-Mail me with
suggestions/corrections and I'll post again.
-- 
Patrick Duffy, duffy@theory.chem.ubc.ca

"Never send a monster to do the work of an Evil Scientist."


