Permalänk
Avstängd

Datorns tidtagningsförmåga (klurig)

Jag undrar lite om datorns tidtagningsförmåga, vad den är kapabel till. Vad den har för precision och så.

Jag vet att man kan mäta sekunder och millisekunder, men hur långt ner kan man egentligen gå?
Microsekunder, tror jag man kan mäta också.

Men nanosekunder då?
picosekunder? femtosekunder? attosekunder? zeptosekunder? yoctosekunder?

Är datorns tidtagningsförmåga beroende på CPU'n eller RTC'n (real-time clock), både och, eller beror det vad man gör?

Har olika datorer olika bra tidtagningsförmåga?

I RTC artikeln på Wikipedia står det: "Virtually all RTCs use a crystal oscillator. In many cases the oscillator's frequency is 32.768 kHz. This is the same frequency used in quartz clocks and watches, and for the same reasons, namely that the frequency is exactly 2^15 cycles per second, which is a convenient rate to use with simply binary counter circuits."

Har datorns tidtagningsförmåga blivit nån bättre de senaste 25 åren?

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk

RTC är väl fortfarande ingen direkt het tidmätare... Antar att precisionen är helt beroende på hur snabbt datorn behandlar interuppts och hur OS:et schemalägger saker. Däremot finns det väl vad jag förstått cykelräcknare inbyggda i de flesta processorer för att lättare kunna debugga/optimera och de borde man ju i så fall kunna mäta rätt bra med... Cykeltiden för 3GHz operation är väl i snabb huvudräkning ~333 picosekunder? Dessa cykelräknare är väl inte direkt tänkt att mäta kontinuerlig tid med utan snarare kanske tiden för att genoföra en viss serie operationer och jag har ingen aning om hur många bitar räknarna är på... är det nån som har mer koll?

Visa signatur

/Hej hopp!

Permalänk
Avstängd

Men datorns tid tickar ju på även i BIOS, utan att nåt operativ system körs.
Sen kan man ha ett OS med en real-time kernel.

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk

Mjo... att mäta tiden utan att ett operativsystem körs borde ju öka precisionen något iaf. Men det måste ju fortfarande ske ett avbrott av nått slag och en avläsning av klockkretsen. Att läsa av tidien i ett OS med RT kernel behöver ju inte nödvändigtvis vara bättre. En RT kernel är ju oftast i första hand ute efter att ge förutsägbara avbrottstider hellre än toksnabba (även om det givetvis också är önskvärt). Dock kan man väl anta att de flesta operativsystem tillhandahåller nått API med någon form av "HighResolutionTimer". Hur exakta de är varierar säkert väldigt mycket.

Visa signatur

/Hej hopp!

Permalänk
Avstängd

Trodde det fanns många snillar här på SweClockers, ingen som har något bra svar?

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Medlem

På swec pågår ideligen djupa hårdvaruanalyser och hetska debatter om hurvida man är ATi eller Nvidia Fanboy eller inte, hurvida PS3 är skönare x360 eller inte och om man verkligen orkar med microsofts ops eller om linux is the shit.

Men precis som att datorn aldrig kan producera "riktiga" slumptal utan att man kopplar in extra hårdvara som ger datorn något att mäta känns det som att det skulle bli tvunget med nåt liknande för att få tillförlitliga resultat för tidsmätning.

Hittade iaf en svensk wiki artikel om ämnet, hoppas den kan bidra med något.

http://www.sics.se/~mn//OpenMechatronicsWiki/index.php/Timing

Permalänk
Avstängd

Både ATI och NVIDIA suger. Möjligtvist så kanske NVIDIA suger mindre.

Skumt att något som tid, som borde vara väldigt simpelt är så komplicerat.

Undrar hur forskare mäter tid när man verkligen behöver mäta så exakt som möjligt, och när minsta lilla tidsskillnad är högst väsentlig.

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Citat:

Ursprungligen inskrivet av Fred Flinta
Både ATI och NVIDIA suger. Möjligtvist så kanske NVIDIA suger mindre.

Skumt att något som tid, som borde vara väldigt simpelt är så komplicerat.

Undrar hur forskare mäter tid när man verkligen behöver mäta så exakt som möjligt, och när minsta lilla tidsskillnad är högst väsentlig.

Räknar inte de svängningarna hos en cesium133-atom?

Har för mig från den fysik jag lärt mig att hela det metriska systemet är baserat på ljusets hastighet och cesium-atomens svängningar.

Permalänk
Avstängd

NIST-F1 är en trevlig klocka.
NIST-F1 is a cesium fountain atomic clock that serves as the United States' primary time and frequency standard. As of the summer of 2005, it is so accurate that it will neither gain nor lose one second in more than 60 million years.

Vanliga RTC klockor är Phillips PCF8563 och Maxim DS1307, både "Provides year, month, day, weekday, hours, minutes and seconds".
Så det tycks vara att RTC bara kan gå ner till sekunder, ska man mäta mer får man använda CPU'n, men jag kan ha fel.

Citat:

Ursprungligen inskrivet av Nebudchanezzer
Räknar inte de svängningarna hos en cesium133-atom?

Har för mig från den fysik jag lärt mig att hela det metriska systemet är baserat på ljusets hastighet och cesium-atomens svängningar.

Caesium is also notably used in atomic clocks, which are accurate to seconds in many thousands of years. Since 1967, the International System of Measurements bases its unit of time, the second, on the properties of caesium.

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Medlem

Frågan är vad en normal människa skall med precisionen till Polarn han har oftast inte koll på skillnaden mellan natt och dag eller 5min eller 1 timme

Visa signatur

[ AMD 7800X3D // EK-Block @ custom loop, 2x420mm ][ MSI B650 Tomahawk ][ 32GB G.Skill Z5 Neo @ DDR6000 CL28 1T ][ AMD 7900XTX @ custom loop ][ Corsair 750D // Corsair RM1000X ][ 2TB Samsung 990PRO M.2 SSD ][ Win10 PRO x64 ][ LG 34GN850 ]

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av 2good4you
Frågan är vad en normal människa skall med precisionen till Polarn han har oftast inte koll på skillnaden mellan natt och dag eller 5min eller 1 timme

Sant, som normal människa behöver man nog inte den precisionen.

Dock intressant.

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Medlem

Alla processorer lär innehålla ett timerregister som ökar med 1 för varje klockcykel eller liknande.
Dock är väl klockan i en modern dator ganska ostadig som jag förstått det. Förr, när klockan baserades på en kristalloscillator var den förmodligen stabilare.
Högsta upplösningen borde var en klockcykel, kanske en halv. Dock tror jag upplösningen begränsas av klockans stabilitet och inte längden på klockcykeln.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av skägg
Dock är väl klockan i en modern dator ganska ostadig som jag förstått det. Förr, när klockan baserades på en kristalloscillator var den förmodligen stabilare.

Dåligt om dagens datorer har en sämre klocka än gamla datorer.
Utvecklingen ska ju gå framåt, inte bakåt!

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Avstängd

RTCn är exakt ner till en sekund.

När datorn postar sätts en "mjuk" klocka med hjälp av en timerinterrupt från RTC. Denna klocka har en upplösning på 54,92 ms, och kommer sig av datorns huvudklocka på 14,318 MHz. Denna klocka används praktiskt taget till allt. Via PLL genereras PCIs 33 MHz, USBs 48, FSB och sist och slutligen CPUns klockfrekvens (via en PLL i CPU).

54,92 ms är den upplösning man får i DOS av timerinterrupten. Moderna operativsystem på moderna moderkort ger en upplösning på 83,809 µs eller 11,9318 ms. Picosekunder och därunder kan man glömma att räkna med en PC. Om man kodar i assembler kan man - givet att man helt kan kontrollera instruktionsflödet - kontrollera nanosekunder.

Edit: Skägg och Fred Flinta: Dagens datorer är inte sämre än äldre. Båda är lika dåliga, och den vanliga "mjuka" klockan kommer från en kristall. Må vara att det är en 18,318 MHz-kristall och ingen 32 768 Hz-klockkristall. RTC har dock en egen 32,768 kHz-klockkristall.

Edit2: Enhet...

Visa signatur

http://www.theatlantic.com/national/archive/2012/05/how-the-p...
"If there's a simple lesson in all of this, it's that hoaxes tend to thrive in communities which exhibit high levels of trust. But on the Internet, where identities are malleable and uncertain, we all might be well advised to err on the side of skepticism."

Permalänk
Avstängd

54,92 ms det är ju långsamt.

Hur kommer det sig att man får en 83,809 µs eller 11,9318 ms upplösning när den var på 54,92 ms?

Så dagens datorer är lika dåliga som de äldre? Ingenting har hänt de senaste 10, 20 eller 30 åren?

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Fred Flinta
54,92 ms det är ju långsamt.

Hur kommer det sig att man får en 83,809 µs eller 11,9318 ms upplösning när den var på 54,92 ms?

Så dagens datorer är lika dåliga som de äldre? Ingenting har hänt de senaste 10, 20 eller 30 åren?

Korrekt, inget har hänt förutom att moderna operativsystem implementerar en bättre klocka "mjuk", då med upplösning på 11,9 ms - 83,8 µs.

Det är naturligtvis inte samma klocka som tickar med intervall om 54,92 ms som tickar i säg 83,8 µs. 54,92 ms fås genom en BIOS-intrerrupt medan de andra är implementerade i OS (också via interrupt förmodar jag).

PC-platformen är en kompromiss från fösta början som lider av 25 år gamla artefakter, så en exakt tidtagning kräver nog en extern klocka.

Vad är det du försöker mäta som kräver sådan precision?

Visa signatur

http://www.theatlantic.com/national/archive/2012/05/how-the-p...
"If there's a simple lesson in all of this, it's that hoaxes tend to thrive in communities which exhibit high levels of trust. But on the Internet, where identities are malleable and uncertain, we all might be well advised to err on the side of skepticism."

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av MBY
Vad är det du försöker mäta som kräver sådan precision?

Faktiskt ingenting, blev bara nyfiken av någon anledning.

Tyckte det vore intressant att få veta vad som är möjligt och hur stor precision man kan mäta med på en dator och hur forskare mäter löjligt snabba grejer som ljusets hastighet, etc.

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Fred Flinta
Faktiskt ingenting, blev bara nyfiken av någon anledning.

Tyckte det vore intressant att få veta vad som är möjligt och hur stor precision man kan mäta med på en dator och hur forskare mäter löjligt snabba grejer som ljusets hastighet, etc.

Forskare använder speciella klockor och inte PC. Det går att mäta picosekunder eller kortare med speciell elektronik eller speciella fysikaliska processer.

Visa signatur

http://www.theatlantic.com/national/archive/2012/05/how-the-p...
"If there's a simple lesson in all of this, it's that hoaxes tend to thrive in communities which exhibit high levels of trust. But on the Internet, where identities are malleable and uncertain, we all might be well advised to err on the side of skepticism."

Permalänk
Medlem

Ljusets hastighet beräknas genom observationer och mattematiska uträkningar där man känner till olika sträckor och därmed kan räkna ut ljusets hastighet.

Det första exprimentet sägs galileo ha utfört när han lät 2 personer med lyktor och en klocka deltaga. person ett skulle sätta på sin lyckta och exakt samtidigt sätta på klockan, när person två såg den förstes lykta tändas skulle han tända sin, första personen med klockan skulle därefter stänga av sin klocka efter att ha sett den andres ljus. Om exprimentet verkligen utfördes kan det inte ha gått så bra då människans reaktionsförmåga nog satt käppar i hjulet.

för att hålla detta inom data ramar så räknar man med att inom ett 30cm långt kretskort så tar det ljuset eller elktromagnetisk strålning om man så vill 1-miljardels sekund att färdas genom.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av MBY
[B]Korrekt, inget har hänt förutom att moderna operativsystem implementerar en bättre klocka "mjuk", då med upplösning på 11,9 ms - 83,8 µs.

Njaaeee, det stämmer inte riktigt. För linux har det hänt en del, för jag har timer på µs-upplösning tack vare APIC om man ska tro på följande:

http://doc.tm.uka.de/2001/walter_ibm_linux_challenge.pdf

Citat:

Cloned skrev:
Ljusets hastighet beräknas genom observationer och mattematiska uträkningar där man känner till olika sträckor och därmed kan räkna ut ljusets hastighet.

Um... nä.

Ljusets hastighet är numera definerad till exakt 299792458 m/s. Det är metern som räknas ut.

Hittade en mycket trevlig liten uppsats på math.ucr.edu
Finns en del på wikipedia också

Visa signatur

- J -

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av ss_lamby
Njaaeee, det stämmer inte riktigt. För linux har det hänt en del, för jag har timer på µs-upplösning tack vare APIC om man ska tro på följande:

http://doc.tm.uka.de/2001/walter_ibm_linux_challenge.pdf

Jupps, du har rätt. Tänkte inte på APIC, borde gjort min research bätte.

Visa signatur

http://www.theatlantic.com/national/archive/2012/05/how-the-p...
"If there's a simple lesson in all of this, it's that hoaxes tend to thrive in communities which exhibit high levels of trust. But on the Internet, where identities are malleable and uncertain, we all might be well advised to err on the side of skepticism."

Permalänk
Avstängd

Skulle inte kristallen kunnas bytas ut mot en "bättre" ?

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Fred Flinta
Skulle inte kristallen kunnas bytas ut mot en "bättre" ?

Jo, precis. Kristallen i en dator är på 14,318 MHz och den sista signifikanta siffran är just åttan. En bättre slipad kristall ger exaktare tid, men eftersom datorer inte är tänka som precisionsmätinstrument så använder man standardkristaller som är på 50 PPM eller värre. Klockkristallen på 32 768 Hz är stabilare, men även den har en onoggrannhet på kanske 10 PPM.

Inte alla datorer har ens så exakta kristaller om 14,318 MHz, utan det förekommer moderkort där trean (14,3 MHz) är den minsta signifikanta siffran.

I riktiga tidmätarapplikationer använder man TXCO, temperaturkompenserade kristaller eller OXCO, ungskontrollerade (kristallen värms i en liten ugn för att hålla jämn temperatur). Dylika kristalloscillatorer är flera storleksordningar dyrare än vanliga simpla kvartskristaller.

Sådana tidbasklockor brukar också synkronisera sig med jämna intervall mot ett atomur någonstans, antingen via GPS-satelliter (en gång i sekundern ungefär) eller via radio på DCF77-bandet (77,5 kHz, en gång i minuten till en gång i timmen).

Behöver man ännu bättre precision använder man ett atomur (som visserligen också innehåller kvartskristaller).

Oavsätt upplösningen på PC så är den inget bra referensur.

Visa signatur

http://www.theatlantic.com/national/archive/2012/05/how-the-p...
"If there's a simple lesson in all of this, it's that hoaxes tend to thrive in communities which exhibit high levels of trust. But on the Internet, where identities are malleable and uncertain, we all might be well advised to err on the side of skepticism."

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ss_lamby
Um... nä.

Ljusets hastighet är numera definerad till exakt 299792458 m/s. Det är metern som räknas ut.

Hittade en mycket trevlig liten uppsats på math.ucr.edu
Finns en del på wikipedia också

mm jag vet en meter är definierad av ljusets hastighet. 299792458 m/s är hastigheten i vakum. Den exakta hastigheten om jag inte minns fel fick man när man stallde upp en formel för elektromagnetisk strålning där hastigheten är beroende av mediets elektriska och magnetiska egenskaper. Man kunde sedan visa att detta även stämde för det uppmätta ljusets hastighet

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av MBY
Jo, precis. Kristallen i en dator är på 14,318 MHz och den sista signifikanta siffran är just åttan. En bättre slipad kristall ger exaktare tid, men eftersom datorer inte är tänka som precisionsmätinstrument så använder man standardkristaller som är på 50 PPM eller värre. Klockkristallen på 32 768 Hz är stabilare, men även den har en onoggrannhet på kanske 10 PPM.

Inte alla datorer har ens så exakta kristaller om 14,318 MHz, utan det förekommer moderkort där trean (14,3 MHz) är den minsta signifikanta siffran.

I riktiga tidmätarapplikationer använder man TXCO, temperaturkompenserade kristaller eller OXCO, ungskontrollerade (kristallen värms i en liten ugn för att hålla jämn temperatur). Dylika kristalloscillatorer är flera storleksordningar dyrare än vanliga simpla kvartskristaller.

Sådana tidbasklockor brukar också synkronisera sig med jämna intervall mot ett atomur någonstans, antingen via GPS-satelliter (en gång i sekundern ungefär) eller via radio på DCF77-bandet (77,5 kHz, en gång i minuten till en gång i timmen).

Behöver man ännu bättre precision använder man ett atomur (som visserligen också innehåller kvartskristaller).

Oavsätt upplösningen på PC så är den inget bra referensur.

Wow, du verkar riktigt kunnig!

PPM? Vad är det förkortning på?
TXCO, OXCO, står inget om det på Wikipedia? Konsigt...

Undrar hur synkronisering funkar, satellit-uppkopplingar har ju typ 500+ ms ping.

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Medlem

Ping är inget problem om du vet hur stor den är.

Antag att du hör en klocka ringa från två kilometer, du skulle då kunna kompensera genom att ställa klockan ca sex sekunder över klockslaget.

På samma sätt med klocksignaler, låt bara klockan 'ringa' genom att samtidigt berätta dess position.

(Jag har ingen aning om hur det fungerar egentligen, sitter bara och bedriver fredags-tankesmedja... SKÅL!)

- J -

Visa signatur

- J -

Permalänk
Avstängd

Man vill nog inte ha "ungefär", man strävar nog mer om nånting mer exakt.
Då kan man bara synca med en exakthet upp till en sekund.

Visa signatur

Mozilla Firefox - Rediscover the Web!

Permalänk
Medlem

Fred Flinta:
Jag vet inte vems inlägg du svarar på, men du citerar ordet ungefär, så jag antar att du menar MBYs förklaring om att gps-signaler går ungefär en gång i sekunden. Det är dock inte liktydigt att signalen ger en upplösning på en sekund.

En analogi är om du ringer en kompis för att synkronisera din klocka med hans varje månad, så svarar han antagligen inte vilken månad det för tillfället är, utan kanske år, månad, dag, timme, minut, sekund.

Om du menade citera min post på då jag skrev "ca 6 sekunder" så beror det på att ljudet blir ungefär sex sekunder fördröjt (det varierar på tryck och temperatur, samt att jag bara räknat ett överslag.) Att beräkna hur lång tid en elektromagnetisk puls tar på sig att sändas från Frankrike eller en satellit kan nog beräknas långt exaktare än sekunden utan några problem.

Vi börjar komma ganska långt utanför ämnet nu, så jag komme inte diskutera synkronisering i denna tråd mer.

- J -

Visa signatur

- J -

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Fred Flinta
Wow, du verkar riktigt kunnig!

PPM? Vad är det förkortning på?
TXCO, OXCO, står inget om det på Wikipedia? Konsigt...

Undrar hur synkronisering funkar, satellit-uppkopplingar har ju typ 500+ ms ping.

Ähh...

PPM är förkortning på "parts per million", alltså andelar per miljon. Om du tänker dig procent (andelar per hundra) och promille (andelar per tusen) så är PPM samma sak fast just andelar per miljon. Det finn PPB också, andelar per miljard (billion).

XCO är kortform för crystal controlled oscillator, dvs kristallkontrollerad oscillator. Sedan stoppar man in lite fler bokstäver för att ange vilket typ av oscillator, om den är t.ex. ungnskontrollerad eller temperaturkompenserad, osv.

Visa signatur

http://www.theatlantic.com/national/archive/2012/05/how-the-p...
"If there's a simple lesson in all of this, it's that hoaxes tend to thrive in communities which exhibit high levels of trust. But on the Internet, where identities are malleable and uncertain, we all might be well advised to err on the side of skepticism."

Permalänk
Geeks
SweClockers
Citat:

Ursprungligen inskrivet av ss_lamby
Ping är inget problem om du vet hur stor den är.

Antag att du hör en klocka ringa från två kilometer, du skulle då kunna kompensera genom att ställa klockan ca sex sekunder över klockslaget.

På samma sätt med klocksignaler, låt bara klockan 'ringa' genom att samtidigt berätta dess position.

(Jag har ingen aning om hur det fungerar egentligen, sitter bara och bedriver fredags-tankesmedja... SKÅL!)

- J -

Det ni diskuterar kallas för clock skew. Går att kompensera för detta på flera olika sätt. De vanligaste är att man försöker mäta någon slags medel-latency och sedan lägga till detta till synkroniseringen. Ett annat alternativ är att man helt enkelt tar tiden från det att man skickar request tills det att man får svar och kompenserar genom att lägga på halva den uppmätta tiden. Båda lösningarna har sina svagheter, men de är åtminstone enkla att greppa.

Visa signatur

» Kontakta oss » SweClockers på Facebook » SweClockers på Youtube » Blips of SweClockers (Spotify)
» Pappa till Moderskeppet » SweClockers chefredaktör 2007–2015