Pitanje:
Kako komunicirati brže od sistemskog sata
Isaac Middlemiss
2019-11-08 06:45:18 UTC
view on stackexchange narkive permalink

Čitao sam danas o novom (ish) Thunderboltu 3 i bio sam vrlo impresioniran specificiranom brzinom od 40Gbps.Tada sam pogledao najnoviju Intelovu brzinu procesora i9 ... oko 4,2 GHz maks.Kako sustav može komunicirati gotovo 10 puta brže od sata koji ga pokreće?Čak bi i paralelnoj komunikaciji i dalje trebalo 10 kanala da bi se postiglo 40 Gbps, a prema onome što mogu reći, USB-C ima samo 4 ili tako nešto.

Čitajući odgovore, čini se da postoje dva dijela: kako CPU / sustav komunicira tako velikom brzinom i kako ta velika brzina prijenosa podataka (koja se čini postignuta pomoću mnogo paralelnih linija) prolazi kroz usko grlosamog gromovitog kabela koji ima samo mali broj paralelnih kanala.

CPU satovi i komunikacijski satovi zaista imaju vrlo malo veze jedni s drugima.Osim toga, govorite o jednom bitu odjednom s Ethernetom, ali CPU obrađuje nekoliko stotina bitova (ovisno o broju jezgri) po taktu.
na bit po satu bio bi 4.2Gbps.dva 8,4, četiri 16,8 i tako dalje, na 8 ili 32 bitnoj sabirnici bilo bi više nego dovoljno interne propusnosti za napajanje vanjskog sučelja od 40 Gbps.Također shvatite da postoji i praskavost, jer velik dio tih podataka želi ući i izaći iz drame, što nije vrlo brzo.također shvatite ako se ovo koristi za video, možda imate okvire stranica u sram-u koje jezgreni procesor možda obrađuje ili ne obrađuje (iako u jezgri širokoj 64 bita možete u prosjeku napraviti puno obrade po satu).i ne ide sve thunderbolt 3 tako brzo.
Povezano: https://serverfault.com/questions/438907
I9-9900K (s oko 4,2 GHz max) ima memorijsku propusnost od oko 320 Gbps i (kao grubu pretpostavku) najmanje 5 puta veću propusnost L1 predmemorije.Da, vaš procesor od 4,2 GHz vjerojatno može premjestiti * 1500 Gbps * podataka (u izuzetno izmišljenim scenarijima koji se nikad ne događaju u stvarnom svijetu).
četiri odgovori:
vicatcu
2019-11-08 07:09:54 UTC
view on stackexchange narkive permalink

Pretpostavljam da je zabuna pretpostavka da možete poslati samo jedan bit po ciklusu takta. Postoji mnogo načina na koje komunikacijska shema može u osnovi kodirati više od jednog bita po simbolu. Simbol je apstraktna ideja kao atom prijenosa u komunikacijskom sustavu.

Doista je prevelika tema da bi je se u bilo kojem odgovoru na ovo pitanje moglo detaljno obraditi, ali zamislite da niste bili ograničeni na binarne vrijednosti i umjesto toga biste mogli poslati jedan od 1024 napona kao simbol. Zapravo bi to bilo 10 bitova informacija po simbolu, a vi biste dobili 10x "takta" u širini pojasa. Tako stari NTSC video, na primjer, kodira podatke.

Drugi način dobivanja takve širine pojasa je upotreba međuspremnika, a zatim delegiranje prijenosa na specijalizirane odašiljače i prijemnike, ponekad zvane SERDES (za serializator / deserializator) blokove. Ne možete održati protok koji su sposobni bez izvora ili sudopera koji su u stanju pratiti, ali možete smanjiti latenciju prijenosa blokova podataka između računalnih čvorova koristeći nešto slično. Potražite fazno zaključane petlje (zvane PLL-ovi), jer ih FPGA i ASIC-ovi mogu koristiti za izvođenje bržih taktova iz osnovnog sata za ovakve stvari.

Drugi je način jednostavno imati puno paralelnih kanala za prijenos podataka. Sjetite se starih paralelnih priključaka na osobnim računalima, u jedan sat prebacite čitavu hrpu bitova, svaki bit na svoju posebnu žicu. USB-C i njegovi srodnici imaju puno više podatkovnih igla nego primjerice jedan RX i jedan TX.

Propusnost je agregatno svojstvo koje uključuje neto učinak svih vrsta tehnika poput ovih, jer se mnoge mogu koristiti čak i zajedno.

Lijepo.Pokrili ste sve što sam zamislio, i još jedan način.Nešto sam naučio!
Dakle, u osnovi šaljemo više bitova po taktu?
@ElEctric više bitova po ciklusu ili specijalizirani kontroleri koji čine CPU cikluse irelevantnim.Ili oboje.
Lijep odgovor, ali dodao bih dvije stvari: DDR trik (prijenos podataka o rastućem _ i_ padajućem boku signala sata);te da CPU sat i periferni sat ne trebaju biti sinkronizirani (nadalje, Thunderbolt komunikacija je serijska veza koja svoje podatke prikuplja izravnim pristupom memoriji; dok podatkovna sabirnica CPU paralelno prenosi 64 bita).
@ElEctric Moderna računala vrlo su asinkrona.Isti taj moderni i9 CPU u OP-ovom pitanju može čak pokretati svoje različite jezgre, na različitim neovisnim brzinama takta.Umetnuta predmemorija radi na svom zasebnom satu, memorija radi na zasebnom satu, PCIe sabirnica radi na drugom satu, SATA sabirnice rade na neovisnim satovima, ethernet ima vlastite satove itd. Thunderbolt kontroler će vidjetiulazni međuspremnik ispunjava punim riječima odjednom iz sabirnice, istodobno čita iz tog međuspremnika i koristi zaseban sat za serializaciju tih riječi na svom izlazu.
@J ...: imajte na umu da dual / četverojezgreni Intelovi čipovi (uobičajene potrošačke stvari, ne HEDT ili Xeon) * imaju * sve jezgre u istoj domeni sata, kao i L3 predmemoriju (uncore).npr.na mojoj radnoj površini Skylake i7-6700k, pokretanje beskonačne petlje jedna jedra zadržat će drugu jezgru na 4GHz, čak i ako izvodi kôd vezan uz memoriju gdje bi se energy_performance_preference = balance_power normalno spuštao na 2.7GHz ili nešto slično.Ali da, i9 CPU su HEDT modeli, koji koriste iste matrice kao i Xeon čipovi, i mislim da čak i relativno niski brojevi jezgri matrica imaju asinhroni satovi s nerezultiranim maksimumom (jezgre).
Ali da, općenito postoji mnogo različitih domena sata.Čak i proračunski potrošački čipovi imaju asinhronizaciju memorijskog sata iz jezgara i PCIe takta, itd.
@PeterCordes To je bio samo primjer.Smatrao sam da to odgovara kako je to posebno navedeno u pitanju i prilično je dobar primjer asinkracije koja je uzeta na duboku razinu.
@J ...: da, to je dobar primjer.Samo sam htio dodati da se u slučaju da se netko zapita zašto * njihova * radna površina ne djeluje na taj način.Znam da sam se znao pitati kad sam čitao stvari o jezgri satova na Intelovim procesorima, ali kao da to nisam vidio na svojoj radnoj površini.
@J ... bih li vas sažeo (i jedan od primjera vicatcua) kako sporiji CPU ili sistemski sat mogu brzo napuniti međuspremnik koristeći paralelne kanale, a zatim PLL ili neki drugi mnogo brži signal takta serializira te podatke do groma?
@IsaacMiddlemiss da, mislim da je to pokriveno
StainlessSteelRat
2019-11-09 01:00:01 UTC
view on stackexchange narkive permalink

Nema izravne korelacije između brzine procesora i periferne brzine.

Nije 10 ×. Thunderbolt 3 - \ $ \ frac {40 Gbps} {8 bita / bajt} = 5 Gbyte / s \ $ . Ova brzina se čak ne čini nerealnom za 64-bitni procesor od 4,2 GHz.

Ali ovdje se ne radi o tome. Imamo perifernu opremu sa serijskom komunikacijom + grafičkom karticom. Četiri puta veća širina podataka + dvaput propusnost videozapisa od postojećih mogućnosti. Kao što link kaže, performanse radne površine s prijenosnog računala. Jedna luka koja će ih sve povezati i u tami ih povezati.

Iz Thunderbolt 3 - USB-C koji sve to radi

Thunderbolt 3

Korisnici već dugo žele performanse na mobilnom računalu na razini radne površine. Thunderbolt je razvijen kako bi istovremeno podržavao najbrže podatke i najviše videopojasne širine dostupne na jednom kabelu, uz istovremeno napajanje. Tada je nedavno USB grupa predstavila USB-C konektor, koji je mali, reverzibilan, brz, napaja i omogućuje ostalim I / O-ima osim USB-a da rade na njemu, maksimalizirajući svoj potencijal. Dakle, u najvećem napretku od svog osnutka, Thunderbolt 3 dovodi Thunderbolt na USB-C brzinom od 40 Gbps, ispunjavajući svoje obećanje, stvarajući jedan kompaktni port koji to sve čini.


TU CPU ima više satova; periferne jedinice mogu raditi puno brže od navedene brzine procesora, bilo istrčavanjem bržeg sata ili primjenom paralelne komunikacije.

Ne i ne i ne.

U računalu postoji više satova. Unutar CPU-a nalazi se jedan sat. Periferne jedinice mogu ili izračunati brzinu takta iz sistemskog sata (sporije) ili upotrijebiti kristal da naprave svoj sat.

Paralelne komunikacije pošle su putem dodo-a, zastarjelog. Paralelne komunikacije bile su ograničene na kratke udaljenosti. USB, I2C, I2S, CAN itd. Svi su serijski protokoli.

Vaš procesor od 4,2 GHz ne komunicira na 4,2 GHz.To je takt, bolji pokazatelj su MIP-ovi.A to su programske upute, a ne vanjska komunikacija.

64-bitni procesor koji radi na 4,2 GHz ne možete izjednačiti s perifernim uređajem koji serijski radi na 20 GHz.Takt od 20 GHz nije izveden iz 4.2 GHz.Na 20 GHz frekvencija je više analogna nego digitalna.

Sada se lupanje bitova, pravilno dizajniran, 64-bitni procesor od 4,2 GHz vjerojatno mogao raditi serijski od 20 GHz (5 Gbyte / s), ali to nije njegova svrha.

Ovo zapravo ne odgovara na pitanje, dok sam pokušavao shvatiti kako se zapravo postižu veće brzine.Vicatcuov odgovor, na primjer, daje nekoliko ilustracija kako se velike brzine podataka mogu postići u inače ograničenom sustavu.
Ali vaše pitanje podrazumijeva da postoji veza između dva sata, a očito da nije.
Tada bi možda bolji način izraza vašeg odgovora mogao biti "U CPU postoji više satova; periferne jedinice mogu raditi puno brže od navedene brzine CPU-a, bilo bržim taktom bilo implementiranjem paralelne komunikacije"
jcaron
2019-11-09 05:32:11 UTC
view on stackexchange narkive permalink

Ostali su se odgovori više usredotočili na Thunderbolt stranu stvari, ali osvrnimo se na izjavu

Najnovija Intelova brzina procesora i9 ... približno 4,2 GHz

4,2 GHz je sistemski takt, koji je (na vrlo, vrlo pojednostavljen način) usporediv s brojem uputa u sekundi po jezgri (stvarno je puno složenije od toga, jer ne trebaju sve upute isto vrijeme za izvršenje postoje vremena čekanja itd.).

Ali u svakom ciklusu CPU će obrađivati ​​podatke (u / iz registara, predmemorije, RAM-a i moguće I / O, od najbržeg do najsporijeg). U međuvremenu i druge periferne jedinice također mogu čitati iz RAM-a / pisati u RAM bez da CPU bude uključen (to se naziva DMA).

Tada je glavno usko grlo često RAM. Treba biti dovoljno brz da napaja CPU po potrebi (za upute za pokretanje i obradu podataka), radi DMA, a u nekim se slučajevima dijeli s GPU-om ili djeluje kao međuspremnik okvira za video (tada postoji neka komponenta koja čita RAM koji djeluje kao međuspremnik okvira za njegovo slanje na video izlaz, na svakom kadru - za Full HD 1920 x 1080 rezoluciju pri 60 Hz s 24-bitnom bojom, to je gotovo 3 Gbit / s, za 4K @ 60 fps, 4 puta više).

RAM koristi široke sabirnice, obično 32 ili 64-bitne širine. Postoji nekoliko zasebnih kanala. Čini se da je trenutno najbrži RAM DDR4-3200, koji omogućuje 3200 milijuna 64-bitnih prijenosa u sekundi. To je 25600 Mbytes / s ili 204800 Mbit / s (preko 200 Gbit / s), po kanalu.

CPU i9-9980XE može imati 4 memorijska kanala. To znači da RAM može podržavati preko 800 Gbit / s, pa je 40 Gbps samo kikiriki u usporedbi s tim.

Impresivan dio o Thunderboltu je postizanje te brzine na većim udaljenostima (ne nekoliko cm na matičnoj ploči), putem relativno jednostavnog kabela (ne stotine konektora, potrebnih za podršku višestrukih 64-bitnih RAM sabirnica).

Mister Mystère
2019-11-08 22:21:02 UTC
view on stackexchange narkive permalink

Postoji mnogo tehnika za kodiranje ili dekodiranje velike količine informacija u jedan "komunikacijski segment / vagon" (koji se nazivaju simbolima). Digitalno-analogni pretvarač tipa R-2R (prikazan u nastavku) jedna je od najjednostavnijih, ali učinkovitih metoda prijenosa npr. 16 puta brže od komunikacijskog sata - pod uvjetom da se analogno-digitalni pretvarač prijemnika pretvori u roku takta (glavno ograničenje: šum).

enter image description here

U današnje vrijeme analogna komunikacija ne koristi samo amplitudu, već i fazne podatke za unošenje još više bitova u ciklus komunikacijskog sata, kao što je prikazano u Ova tema (Izjava o odricanju odgovornosti: Tamo imam jedan odgovor, ali to je mogu se sjetiti samo teme koja o ovome govori). A ovo je samo puki primjer mnoštva tehnika koje postaju sve složenije sa svakom proteklom godinom.

enter image description here

Za digitalnu komunikaciju uglavnom se svodi na: 1) broj paralelnih linija (1 za serijsku komunikaciju, USB je serijska veza iako ima dvije podatkovne linije, oni su uvijek vrijednosti jedan nasuprot drugog radi povećanja robusnosti na uobičajene modni šum po razlici) i 2) kompresija. Kada komprimiranjem šaljete datoteke u vrijednosti od 100 MB u poštanski sandučić s ograničenjem od 10 MB, efektivno šaljete u jednom ciklusu sata više od fizičke nestisnute brzine podataka. Kao što postoji mnogo tehnika modulacije (vidjeti gore), tako postoji i mnogo tehnika kompresije. Imajte na umu da su dostupni namjenski čipovi za kompresiju / dekompresiju koji u potpunosti iskorištavaju kompresiju kao sredstvo za povećanje brzine prijenosa. Imajte na umu da ne kažem da se to radi za prijenos video zapisa, jer kompresija / dekompresija dodaje latenciju. Međutim, to je, na primjer, jedna metoda koja se koristi za satelitske veze.

Napokon, ograničenja brzine podataka stvarno su ograničenja za zadanu stopu pogreške. Ako svom komunikacijskom protokolu dodate neko kodiranje koje otkriva pogreške i automatski ih ispravlja (pomoću, na primjer, državnih strojeva na oba kraja), možete povećati brzinu podataka iznad navedenog ograničenja za istu stopu pogrešaka.

Tako podaci ulaze i izlaze iz računala brže od CPU takta ili kako "jedan muškarac / žena može premjestiti više ili manje kanti iz vaše kuće u drugu" (amplitudska i / ili fazna modulacija, kompresija, kodiranje. ..).

enter image description here

Sada, za "kako donijeti kante od svojih vrata do mjesta gdje ih želite u svojoj kući", to je do širine vaše sabirnice podataka: 64-bitna računala su iz tog razloga preuzela 32-bitna računala, obrađujte još dvaput podaci za svaki ciklus takta. To je broj kanta koje istodobno može uzeti osoba u vašoj kući (pretpostavimo da živite na vrhu radioaktivnog otpada). Mislim da bi obrada jezgri mogla utjecati na čiste prijenose ako se satovi jezgri postupno ukidaju radi bržeg premještanja podataka na sabirnici podataka, ali uglavnom dijele ne samo istu sabirnicu već i isti sat (maksimalni takt zasigurno je postavljen na maksimalno vrijeme širenja podataka duž sabirnice). Ovo je očito pojednostavljeno gledište, mnogi čimbenici dolaze u obzir - ali ima prednost dodavanja više razloga zašto je to moguće.

Dozvola buke.Zanima me prodaju li se 4-bitni flash ADC-ovi posebno za to
Kompresija zapravo ne pomaže jer se kompresija bez gubitaka i dalje mora nositi s najgorim scenarijem: nestlačivom bukom.(npr. HBO logotip).Također nije poželjno da većina video kabela uvede kašnjenje kodiranja / dekodiranja.Što je točnije, HDMI / DisplayPort ne koriste kompresiju i nitko ne želi * kompresiju s gubicima * u videokabelu;prihvaća se samo tamo gdje je to potrebno (poput videozapisa putem WiFi-a).Ili naravno video putem interneta, pa čak i za video kamere koje pohranjuju snimke, umjesto da ih samo pošalju na prikaz.
@DKNguyen Mogli bi biti i ADC-ovi s višim bitom koji zanemaruju posljednji par zbog buke.
@DKNguyen Oni će biti jedan dio čipa koji vrši sve kodiranje / dekodiranje potrebno za signal.
@user253751 Obično, ali više sam se pitao o stvarima za posebne prilagođene programe koji se koriste zajedno s FPGA-om, a ne o uobičajenijim, standardiziranim protokolima poput etherneta, PCIe-a ili raznih vrsta radija.Pronašao sam MAX1002 i MAX1003 koji su, čini se, pripremljeni za takve stvari.Ipak su bili jedini koje sam pronašao.


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 4.0 licenci pod kojom se distribuira.
Loading...