PCI Express -teknologi har længe været brugt til at forbinde grafikkort og andre eksterne enheder, såsom NVMe SSD'er. Implementeringen af femte generation af grænsefladen sker med ankomsten af Alder Lake -processorer fra Intel og Zen 4 -processorer fra AMD. Men PCI Express 6.0 -specifikationen er færdiggjort og bringer flere forbedringer i forhold til femte generation.
PCI Express 6.0 følger fra starten de samme forbedringer som de tidligere generationer af denne grænseflade, det vil sige, at den er baseret på en fordobling af båndbredden i forhold til den tidligere generation. I tilfælde af PCI Express 6.0 har der imidlertid været behov for dybtgående ændringer i udviklingen af sjette generation af denne grænseflade.
Båndbredden på PCI Express 6.0 er 128 GB / s til en 16-linjers grænseflade, en overdrevet høj båndbredde for en I / O-grænseflade, og det er et firdobling i forhold til den nuværende PCI Express 4.0, som vi bruger til nuværende grafik kort. Springet betyder også et spring fra NVMe SSD flash -controllere fra 7-8 GB / s til 28 -32 GB / s med PCI Express 6.0.
Bagudkompatibilitet og problemet med signalinstabilitet
PCI Express -interfacet har altid været bagudkompatibelt med tidligere versioner af protokollen, det betyder, at vi kan tilslutte et PCI Express 1.0 -kort til et PCI Express 6.0 -slot, og det vil fungere, fordi pinagen vil være nøjagtig den samme. Så det er ikke muligt at øge antallet af stifter for at øge båndbredden uden at øge hastigheden. Løsningen? Forøg den urhastighed, hvormed grænsefladen fungerer.
Problemet med PCI Express 6.0? Når vi øger urets hastighed på en grænseflade, bliver den mere ustabil med afstanden, og efter seks generationer har de været nødt til at foretage ændringer i grænsefladen på grund af den høje hastighed, som grænsefladen fungerer på en traditionel måde. Og hvis du ser på tabellen, der ledsager disse linjer, taler vi om en teoretisk hastighed på 64 GHz, som deformerer signalet nok, selv på den korte afstand er begge ender i et PCI Express -interface.
Dette har tvunget til at træffe en række foranstaltninger for at gøre springet til PCI Express 6.0 muligt.
Først af forbedringerne i PCI Express 6.0, brug af PAM4
Hvordan ved en ekstern eller intern grænseflade på en chip, om værdien er 1 eller 0? Godt, enkelt, afhængigt af den spænding, som informationen transmitteres i. Binære systemer er baseret på brugen af to spændinger med tilstrækkelig afstand mellem dem, så spændingsfaldet eller stigningen gør, at signalet ikke forvirres. I analoge systemer forudsætter en simpel variation i spændingen en ændring i informationen. Af denne grund taler computere i binært.
Hvad har dette at gøre med PCI Express 6.0? Da vi ikke kan øge båndbredden, fordi signalet er forvrænget og hverken antallet af stifter til bagudkompatibilitet, skal der findes en løsning, og dette går gennem brugen af PAM4 -kodning eller Pulse Amplitude Modulation, som vi allerede har set i GDDR6X og er ikke baseret på brugen af to spændingsværdier, men 4 spændingsværdier for hver pin. På denne måde kan vi kode værdierne 00, 01, 10 og 11 på hver pin. I alt fire værdier i stedet for de to klassiske værdier, der ville være 0 eller 1.
Løsningen undgår at øge båndbredden og benene, men det fortæller os, at det i PCI Express 7.0 ikke længere vil være muligt fra konventionelle metoder. Vi kan se brugen af fotonik og optiske grænseflader, men med forbedringerne af PCI Express 6.0 frisk ud af ovnen, er det bedre at være tålmodig med dens efterfølger.
Ændringer i pakkesystemet
Springet til PAM-4 har ændret den måde, hvorpå PCI Express 6.0-grænsefladen sender sine pakker, på trods af at den er kompatibel med tidligere generationer ved at kommunikere i den traditionelle PAM-2 eller NRZ-tilstand. Virkeligheden er, at PAM-4-formatet ikke understøtter det tidligere pakkesystem, og derfor har kommunikationsprotokollen ændret sig på grund af det.
Den første ændring har været den såkaldte Forward Error Correction eller FEC, som er den nye protokol til at rette fejl ved afsendelse af data. Problemet er, at den båndbredde, der skal behandles, er så høj, at FEC tilføjer enorm latenstid, når dataene sendes. For at afhjælpe dette bruger PCI Express 6.0 -standarden en type pakke kaldet FLIT. En pakke er ikke andet end et sæt bits med en bestemt destination. Sendforsinkelsen for hver FLIT? Det afhænger af antallet af linjer på grænsefladen, men hver pakke har en latens på kun 2 ns på en 16-line PCI Express 6.0, men går op til 32 ns på en single-line interface.
FEC fungerer kun med faste størrelser, derfor har FLIT en størrelse på 256 bytes pr. Hver pakke eller TLP kan have en størrelse fra 0 byte til 4096 bytes, og derfor kan hver pakke bestå af flere FLITS.
Tredje opgradering til PCI Express 6.0, variabelt forbrug
PCI Express 6.0 tilføjer en ny tilstand med lav strøm, kaldet L0P. Denne tilstand gør det muligt for grænsefladen at reducere sit strømforbrug, når datastrømmen, der sendes, er lavere end grænsefladen kan transmittere. For at gøre dette varierer den urhastighed, hvormed grænsefladen fungerer på bestemte dataoverførselsmomenter, alt uden at forårsage et stop, der tilføjer datatransmission latenstid.
Problemet er, at denne mekanisme er forbundet med FLITS og FEC og derfor med PAM4, hvilket betyder, at det kun er muligt at bruge i PCI Express 6.0 -tilstand og ikke i de andre tilstande.