PCI-X

PCI-X
PCI Local Bus
ZRAID at PCI-X at FSC Primtrgy TX200 S2.JPG
PCI-X moderkort, med ett kort installerat.
År skapat 1998 ; 25 år sedan ( 1998 )
Skapad av IBM , HP och Compaq
Ersatt av PCI Express (2004)
Bredd i bitar 64
Fart Halvduplex 266–4266 MB/s
Stil Parallell
Hotplugging-gränssnitt Frivillig

PCI-X , förkortning för Peripheral Component Interconnect eXtended , är en standard för datorbuss och expansionskort som förbättrar den lokala 32-bitars PCI- bussen för högre bandbredd som framför allt krävs av servrar och arbetsstationer . Den använder ett modifierat protokoll för att stödja högre klockhastigheter (upp till 133 MHz), men är annars liknande i elektrisk implementering. PCI-X 2.0 lade till hastigheter upp till 533 MHz, med en minskning av elektriska signalnivåer.

Kortplatsen är fysiskt en 3,3 V PCI-plats, med exakt samma storlek, plats och stifttilldelningar. De elektriska specifikationerna är kompatibla, men strängare. Men medan de flesta konventionella PCI-platser är den 85 mm långa 32-bitarsversionen, använder de flesta PCI-X-enheter den 130 mm långa 64-bitarsplatsen, till den grad att 64-bitars PCI-kontakter och PCI-X-stöd ses som synonyma .

PCI-X är faktiskt helt specificerat för både 32- och 64-bitars PCI-kontakter, och PCI-X 2.0 lade till en 16-bitars variant för inbäddade applikationer.

Den har ersatts i modern design av den liknande klingande PCI Express (officiellt förkortad som PCIe), med en helt annan fysisk kontakt och en helt annan elektrisk design, med en eller flera smala men snabba seriella anslutningsbanor istället för ett antal långsammare anslutningar parallellt .

Historia

Bakgrund och motivation

Ett PCI-X Gigabit Ethernet- expansionskort
Nätverkskort med dubbla portar för en enda PCI-X-plats för att spara på PCI-X-platser och utnyttja den fulla potentialen hos PCI-X 64- bitarsbussen

I PCI skjuts en transaktion som inte kan slutföras omedelbart upp av antingen målet eller initiatorn som utfärdar omförsökscykler, under vilka inga andra agenter kan använda PCI-bussen. Eftersom PCI saknar en delad svarsmekanism för att tillåta målet att returnera data vid en senare tidpunkt, förblir bussen upptagen av målet som utfärdar återförsökscykler tills den lästa datan är klar. I PCI-X, efter att mastern har utfärdat begäran, kopplas den från PCI-bussen, vilket tillåter andra agenter att använda bussen. Det delade svaret som innehåller den begärda datan genereras endast när målet är redo att returnera alla begärda data. Delade svar ökar bussens effektivitet genom att eliminera försökscykler, under vilka ingen data kan överföras över bussen.

PCI led också av den relativa bristen på unika avbrottslinjer. Med endast 4 avbrottsstift (INT A/B/C/D) kräver system med många PCI-enheter flera funktioner för att dela en avbrottslinje, vilket komplicerar avbrottshanteringen på värdsidan. PCI-X lade till Message Signaled Interrupts , ett avbrottssystem som använder skrivningar till värdminnet. I MSI-läge signaleras inte funktionens avbrott genom att hävda en INTx-linje. Istället utför funktionen en minnesskrivning till en systemkonfigurerad region i värdminnet. Eftersom innehållet och adressen är konfigurerade per funktion, dedikeras MSI-lägesavbrott istället för att delas. Ett PCI-X-system gör att både MSI-lägesavbrott och äldre INTx-avbrott kan användas samtidigt (men inte med samma funktion.)

Bristen på registrerade I/O begränsade PCI till en maximal frekvens på 66 MHz. PCI-X I/O registreras till PCI-klockan, vanligtvis med hjälp av en PLL för att aktivt styra I/O-fördröjning av bussstiften. Förbättringen av inställningstiden tillåter en ökning av frekvensen till 133 MHz.

Vissa enheter, framför allt Gigabit Ethernet-kort, SCSI-kontroller (Fibre Channel och Ultra320), och klusteranslutningar kunde i sig mätta PCI-bussens 133 MB/s bandbredd. Portar som använder en busshastighet fördubblad till 66 MHz och en bussbredd fördubblad till 64 bitar (med stiftantalet ökat till 184 från 124), i kombination eller inte, har implementerats. Dessa tillägg stöddes löst som valfria delar av PCI 2.x-standarderna, men enhetskompatibilitet utöver de grundläggande 133 MB/s fortsatte att vara svårt.

Utvecklare använde så småningom den kombinerade 64-bitars och 66-MHz-förlängningen som en grund, och, förutseende framtida behov, etablerade 66-MHz- och 133-MHz-varianter med en maximal bandbredd på 532 MB/s respektive 1064 MB/s. Det gemensamma resultatet lämnades in som PCI-X till PCI Special Interest Group ( Special Interest Group of the Association for Computing Machinery ) . Efterföljande godkännande gjorde det till en öppen standard som kan användas av alla datorutvecklare. PCI SIG kontrollerar teknisk support, utbildning och efterlevnadstestning för PCI-X. IBM, Intel, Microelectronics och Mylex skulle utveckla stödjande styrkretsar. 3Com och Adaptec skulle utveckla kompatibla kringutrustningar. För att påskynda användningen av PCI-X i branschen erbjöd Compaq PCI-X utvecklingsverktyg på deras webbplats.

PCI-X 1.0

PCI-X-standarden utvecklades gemensamt av IBM , HP och Compaq och lämnades in för godkännande 1998. Det var ett försök att kodifiera proprietära servertillägg till PCI-lokalbussen för att åtgärda flera brister i PCI och öka prestanda hos enheter med hög bandbredd , såsom Gigabit Ethernet, Fibre Channel och Ultra3 SCSI- kort, och gör att processorer kan kopplas samman i kluster .

Intel gav bara ett kvalificerat välkomnande till PCI-X och betonade att nästa generations buss måste vara en "i grunden ny arkitektur". Utan Intels stöd kunde PCI-X inte användas i datorer. Enligt Rick Merritt från EE Times, "En konflikt mellan PCI SIG och en viktig Intel-interconnect-designer som ledde utvecklingen av Accelerated Graphics Port fick Intel att dra sig ur den initiala PCI-X-satsningen". PCI-X-gränssnittet antogs dock kort av Apple, för de första generationerna av Power Macintosh G5 .

De första PCI-X-produkterna tillverkades 1998, till exempel Adaptec AHA-3950U2B dubbla Ultra2 Wide SCSI-kontroller, men vid den tidpunkten hänvisades PCI-X-kontakten bara till som "64-bitars redo PCI" på förpackningen, vilket antydde på framtida framåtkompatibilitet . Det faktiska PCI-X-varumärket blev standard först senare, vilket troligen sammanföll med den utbredda tillgängligheten av PCI-X-utrustade moderkort. När fler detaljer om PCI Express släpptes i augusti 2001, uttryckte PCI SIG-ordförande Roger Tipley sin övertygelse att "PCI-X kommer att finnas på servrar för alltid eftersom det tjänar en viss nivå av funktionalitet, och det kanske inte är tvingande att byta till 3GIO [PCI Express] för den funktionen. Vi lärde oss det genom att inte kunna bli av med ISA. ISA hängde med på grund av alla dessa system som inte var delar med hög volym." Tipley meddelade också att (vid den tiden) PCI SIG planerade att vika ihop PCI Express och PCI-X 2.0 till ett enda verk som preliminärt kallas PCI 3.0, men det namnet användes så småningom för en relativt mindre revidering av konventionell PCI.

PCI-X 2.0

2003 ratificerade PCI SIG PCI-X 2.0. Den lägger till 266-MHz- och 533-MHz-varianter, vilket ger ungefär 2 132 MB/s respektive 4 266 MB/s genomströmning. PCI-X 2.0 gör ytterligare protokollrevisioner som är utformade för att underlätta systemets tillförlitlighet och lägga till felkorrigerande koder till bussen för att undvika återsändningar. För att hantera ett av de vanligaste klagomålen med PCI-X-formfaktorn, utvecklades 184-stiftskontakten, 16-bitarsportar för att göra det möjligt för PCI-X att användas i enheter med snäva utrymmesbegränsningar. I likhet med PCI-Express lades PtP-funktioner till för att enheter på bussen ska kunna prata med varandra utan att belasta CPU eller bussstyrenhet.

Trots de olika teoretiska fördelarna med PCI-X 2.0 och dess bakåtkompatibilitet med PCI-X och PCI-enheter har den inte implementerats i stor skala (från och med 2008). Denna brist på implementering beror främst på att hårdvaruleverantörer har valt att integrera PCI Express istället.

IBM var en av de (få) leverantörerna som gav PCI-X 2.0 (266 MHz) stöd i sina System i5 Model 515, 520 och 525; IBM annonserade dessa kortplatser som lämpliga för 10 Gigabit Ethernet- adaptrar, vilket de också tillhandahållit. HP erbjöd PCI-X 2.0 i vissa ProLiant- och Integrity -servrar och erbjöd dubbla portar 4Gbit/s Fibre Channel- adaptrar, som också fungerar på 266 MHz. AMD stödde PCI-X 2.0 (266 MHz) via dess 8132 Hypertransport till PCI-X 2.0 tunnelchip. ServerWorks var en högljudd anhängare av PCI-X 2.0 (till nackdel för den första generationens PCI Express) särskilt genom dess chef Raju Vegesna, som dock fick sparken kort därefter för oenighet om färdplanen med Broadcoms ledning.

2003 meddelade Dell att de skulle hoppa över PCI-X 2.0 till förmån för snabbare antagande av PCI Express-lösningar. Som rapporterats av PC Magazine började Intel lägga PCI-X åt sidan i sin färdplan från 2004, till förmån för PCI Express, med argumentet att den senare hade betydande fördelar i termer av systemfördröjning och strömförbrukning, mer dramatiskt uttryckt som att undvika "1 000-stiften apocalypse" för deras Tumwater -chipset.

Teknisk beskrivning

PCI-X reviderade den konventionella PCI- standarden genom att fördubbla den maximala klockhastigheten (från 66 MHz till 133 MHz) och därmed mängden data som utbyts mellan datorprocessorn och kringutrustning. Konventionell PCI stöder upp till 64 bitar vid 66 MHz (även om allt över 32 bitar vid 33 MHz endast ses i avancerade system). Den teoretiska maximala mängden data som utbyts mellan processorn och kringutrustning med PCI-X är 1,06 GB/s, jämfört med 133 MB/s med standard PCI. PCI-X förbättrar också feltoleransen för PCI, vilket gör att till exempel felaktiga kort kan återinitieras eller tas offline.

PCI-X är bakåtkompatibel med PCI i den meningen att hela bussen faller tillbaka till PCI om något kort på bussen inte stöder PCI-X.

De två mest grundläggande förändringarna är:

  • Den kortaste tiden mellan en signal som visas på PCI-bussen och ett svar på den signalen som inträffar på bussen har förlängts till 2 cykler, snarare än 1. Detta tillåter mycket snabbare klockhastigheter, men orsakar många protokollförändringar:
    • Förmågan hos det konventionella PCI-bussprotokollet att infoga väntetillstånd på vilken cykel som helst baserat på IRDY#- och TRDY#-signalerna har raderats; PCI-X tillåter endast att skurar avbryts vid 128-byte gränser.
    • Initiativtagaren måste avhäva FRAME# två cykler före slutet av transaktionen.
    • Initiativtagaren kanske inte infogar väntelägen. Målet kan, men bara innan någon data överförs, och väntetillstånd för skrivningar begränsas till multiplar av 2 klockcykler.
    • Likaså bestäms längden på en skur innan den börjar; den får inte stoppas på en godtycklig cykel med hjälp av signalerna FRAME# och STOP#.
    • Subtraktiv avkodning DEVSEL# äger rum två cykler efter "långsamma DEVSEL#"-cykeln snarare än på nästa cykel.
  • Efter adressfasen (och innan någon enhet har svarat med DEVSEL#), finns det en ytterligare 1-cykel "attributfas", under vilken 36 ytterligare bitar (både AD- och C/BE#-linjer används) med information om operationen överförs. Dessa inkluderar 16 bitar av begärandeidentifiering (PCI-buss, enhets- och funktionsnummer), 12 bitars skurlängd, 5 bitars tagg (för att associera delade transaktioner) och 3 bitars ytterligare status.

Versioner

3,3 V- och 5 V-nyckel av 64-bitars PCI-kort (både PCI och PCI-X). Medan de flesta 64-bitars PCI-X-kort är universella och är bakåtkompatibla med vanliga 32-bitars 5 V PCI-kortplatser, är PCI-X-kortplatserna 3,3 V och accepterar inte 5 V-bara PCI-kort.

I princip alla PCI-X-kort eller kortplatser har en 64-bitars implementering och varierar enligt följande:

  • Kort
    • 66 MHz (tillagd i Rev. 1.0)
    • 100 MHz (fungerar i 133 MHz-slots genom att tvinga en nedklockning av bussen till 100 MHz)
    • 133 MHz (tillagd i Rev. 1.0)
    • 266 MHz (tillagd i Rev. 2.0)
    • 533 MHz (tillagd i Rev. 2.0)
  • Slots
    • 66 MHz (hastighet som 66 MHz 64-bitars PCI, kan hittas på äldre servrar)
    • 133 MHz (vanligast)
    • 266 MHz (sällsynt på x86, huvudbuss på IBM pSeries från tiden)
    • 533 MHz (sällsynt)

Blandning av 32-bitars och 64-bitars PCI-kort i olika breddplatser

64-bitars PCI-X-kort delvis insatt i 32-bitars PCI-kortplats, visar kompatibilitet

De flesta 32-bitars PCI-kort kommer att fungera korrekt i 64-bitars PCI-X-platser, men busshastigheten kommer att begränsas till klockfrekvensen för det långsammaste kortet, en inneboende begränsning av PCI:s delade busstopologi. Till exempel, när ett PCI 2.3 66-MHz-kort installeras i en PCI-X-buss som kan 133 MHz, kommer hela bussens bakplan att begränsas till 66 MHz. För att komma runt denna begränsning har många moderkort flera PCI/PCI-X-bussar, med en buss avsedd för användning med höghastighets PCI-X kringutrustning, och den andra bussen avsedd för allmän kringutrustning.

Många 64-bitars PCI-X-kort är designade för att fungera i 32-bitarsläge om de sätts in i kortare 32-bitarskontakter, med viss hastighetsförlust. Ett exempel på detta är Adaptec 29160 64-bitars SCSI- gränssnittskort. Vissa 64-bitars PCI-X-kort fungerar dock inte i vanliga 32-bitars PCI-kortplatser. [ opålitlig källa? ] Även om det skulle fungera, kommer installation av ett 64-bitars PCI-X-kort i en 32-bitars kortplats att lämna 64-bitarsdelen av kortkantkontakten inte ansluten och överhängande, vilket kräver att det inte finns några moderkortskomponenter placerade så att för att mekaniskt blockera den överhängande delen av kortkantanslutningen.

Jämförelse med PCI-Express

Ett MOTU PCIX-424 ljudgränssnittskort, som också släpptes i standard PCI och PCIe varianter.

PCI-X förväxlas ofta med namn med liknande klingande PCI Express , vanligtvis förkortat som PCI-E eller PCIe, även om korten i sig är totalt inkompatibla och ser annorlunda ut. Även om de båda är höghastighetsdatorbussar för intern kringutrustning, skiljer de sig åt på många sätt. Den första är att PCI-X är ett 64-bitars parallellt gränssnitt som är bakåtkompatibelt med 32-bitars PCI-enheter. PCIe är en seriell punkt-till-punkt-anslutning med ett annat fysiskt gränssnitt som designades för att ersätta både PCI och PCI-X.

PCI-X och standard PCI-bussar kan köras på en PCIe-brygga, på samma sätt som ISA- bussar körs på vanliga PCI-bussar i vissa datorer. PCIe matchar även PCI-X och till och med PCI-X 2.0 i maximal bandbredd. PCIe 1.0 x1 erbjuder 250 MB/s i varje riktning (fil), och upp till 16 körfält (x16) stöds för närvarande varje riktning, i full duplex , vilket ger maximalt 4 GB/s bandbredd i varje riktning. PCI-X 2.0 erbjuder (vid sin maximala 64-bitars 533 MHz-variant) en maximal bandbredd på 4 266 MB/s (~4,3 GB/s), men endast i halvduplex .

PCI-X har tekniska och ekonomiska nackdelar jämfört med PCI Express. Det 64-bitars parallella gränssnittet kräver svår trace routing, eftersom, som med alla parallella gränssnitt, måste signalerna från bussen anlända samtidigt eller inom ett mycket kort fönster, och brus från intilliggande platser kan orsaka störningar. Det seriella gränssnittet i PCIe lider av färre sådana problem och kräver därför inte så komplexa och dyra konstruktioner. PCI-X-bussar, liksom standard PCI, är halvduplex dubbelriktade, medan PCIe-bussar är dubbelriktade med full duplex . PCI-X-bussar går bara så snabbt som den långsammaste enheten, medan PCIe-enheter kan självständigt förhandla busshastigheten. Dessutom är PCI-X-kortplatser längre än PCIe 1x till PCIe 16x, vilket gör det omöjligt att göra korta kort för PCI-X. PCI-X-kortplatser tar ganska mycket utrymme på moderkort, vilket kan vara ett problem för ATX och mindre formfaktorer .

Se även

Vidare läsning

externa länkar