(Dette er det tredje indlæg i en firedeler, der sætter 10 GB/s i perspektiv. I den første del beskrev vi, hvad en hypotetisk robot med filmkiggeri ville kunne gøre med en SSD med 10 GB/s. Del 2 definerede de standardmåleenheder – bits og bytes – der anvendes i computerteknologier. Denne del forsøger at forklare et særligt forvirrende problem med lagring og data: to almindeligt anvendte definitioner for de samme enhedspræfikser)
Har du nogensinde købt et computersystem med f.eks. en lagerenhed på 500 GB, men da du startede det op for første gang, rapporterede dit operativsystem kun 465 GB? Vi så i del 2, at giga- skal betyde milliard, så et 500 GB-drev burde have en kapacitet på 500 milliarder bytes – ikke 465 milliarder. Ikke sandt?
Det er rigtigt!
Og heller ikke rigtigt.
Hvis du tilfældigvis gravede i uoverensstemmelsen, indså du sikkert, at de manglende 35 GB slet ikke manglede. Det er bare det, at giga- ikke altid bruges præcis som du tror, det skal. Ligesom mange bagere anser ordet dusin for at betyde 13, bruges giga- i visse kredse til at betyde 1.073.741.824! For mange af os, der er vokset op med at forstå, at en milliard er en 1 med ni 0’er efter den, kan denne “anden” definition kræve en afklaring.
En tur ned ad hukommelsesbanen
Computere bruger oplysninger og instruktioner, der er indeholdt i datafiler. Disse datafiler befinder sig to steder i et moderne computersystem: primær hukommelse og sekundær lagring. Primær hukommelse, som nu oftest er RAM-hukommelse (Random Access Memory), indeholder data, som computerprocessorerne kan få adgang til med det samme. Sekundær lagring er hovedsageligt længerevarende lagring, f.eks. harddiske (HDD’er) og SSD’er (Solid State Drives). Data, der findes i sekundær lagring, skal først flyttes over i RAM, før en computer kan bruge dem. Situationen kan sammenlignes med et skrivebord på et kontor og dets arkivskab: Dokumenter på kontorets skrivebord er som filer i RAM, da det er de eneste, som du – ligesom en computerprocessor – kan få adgang til, læse og foretage handlinger på med det samme; du kan også bruge dokumenter i arkivskabet eller sekundær lagring, men først efter at du har hentet dem fra skabet og lagt dem på skrivebordet.
Størrelsen af en fil, uanset hvor den findes, udtrykkes typisk i bytes. Og som nævnt i del 2 af dette indlæg, fordi disse størrelser typisk løber op i tusinder, millioner eller endog milliarder af bytes, nævnes disse størrelser sjældent uden særlige præfikser. Problemet opstår, fordi producenter af sekundære lagringsenheder historisk set har brugt det traditionelle sæt af præfiksdefinitioner til at måle lagerkapaciteten på deres drev, mens producenterne af RAM og CPU-chips har valgt at bruge et andet sæt af definitioner for de samme præfikser!
En fortælling om to systemer
De fleste computer- og elektronikindustrier bruger det metriske, eller decimale, præfikssystem. Dets nuværende form blev oprindeligt standardiseret af det internationale enhedssystem (SI) i 1960. Det metriske præfikseringssystem har tallet 10 som sin base, så dets præfikser svarer til tal, der er hele potenser af 10. Kilo- er f.eks. 103 – hvilket betyder 10 ganget med sig selv tre gange – eller 1 000. Efterfølgende præfikser i systemet kan let udtrykkes som potenser af 1 000. Præfikset mega- er f.eks. 1,0002 (1,000,000) og giga- er 1,0003 (1,000,000,000,000). Lagringsindustrien bruger det metriske præfiks-system til at beskrive kapaciteten af sekundære lagerenheder.
Det binære præfiks-system kommer i spil, når man taler om primær hukommelse. Det binære præfikseringssystem har tallet 2 som base, så dets præfikser svarer til tal, der er hele potenser af 2. Når data kommer til den primære hukommelse, tildeles hvert enkelt stykke information en unik adresse, der gør det muligt for processoren at finde dataene, når der er brug for dem. I midten af 1960’erne blev et binært adresseringsskema standard i computerarkitekturer, fordi et binært system gør det muligt at arrangere de binære data i hukommelsen mest effektivt, således at alle har gyldige adresser.
I begyndelsen blev hovedhukommelseskapaciteten udtrykt i absolutte tal, men da de tidlige computerfolk fandt et behov for at udtrykke større hukommelseskapaciteter, fandt de også et behov for at bruge præfikser til at beskrive dem. Lagringsindustrien havde allerede indført brugen af det SI-baserede metriske præfikseringssystem. For nemheds skyld besluttede disse fagfolk at indføre præfikseringssystemet også … med visse ændringer. De bemærkede, at tallet 1 024, eller 210 (binært), var omtrent lig med 1 000, eller 103 (decimaltal), så de begyndte at bruge præfikset kilo ikke for at betyde 1 000, men for at betyde 1 024! De efterfølgende præfikser i systemet kan udtrykkes som potenser af denne 1,024. Mega- blev f.eks. til 1,0242 og giga- blev til 1,0243.
Den følgende tabel udvider en tabel, der blev præsenteret i del 2 af dette indlæg, ved at inkludere ikke kun betydningen af hvert præfiks, men også den nøjagtige værdi af præfikserne i begge systemer.
Man skal dog huske, at den samlede kapacitet i vores hypotetiske SSD stadig er 500.000.000.000.000 bytes. Det er bare det, at når man dividerer dette tal med en gigabyte, kan man få to forskellige værdier, fordi der er to forskellige definitioner af gigabyte. Når man definerer en gigabyte som 1.0003 (eller 1.000.000.000.000) bytes, som det internationale enhedssystem og som lagerproducenterne gør, er 500.000.000.000.000 bytes det samme som 500 GB. Når man definerer en gigabyte som 1.0243 (eller 1.073.741.824) bytes, som RAM-producenter og nogle større styresystemer gør, er 500.000.000.000.000 bytes det samme som 465 GB.I de tidlige dage var dette ikke noget problem – forskellen i tilnærmelsen var ubetydelig. Diskrepansen mellem en metrisk kilobyte og en binær kilobyte er trods alt kun 2,4 %. Desuden vidste alle, der nogensinde talte om KB, allerede, om man talte om 1.000 byte lagerplads eller 1.024 byte hukommelse. Men efterhånden som tiden gik, begyndte kapaciteten i både hukommelse og lagerkapacitet at stige. Efterhånden som kapaciteten vokser, bliver de relative forskelle mellem de decimale og binære værdier af det samme præfiks mere udpræget. Selv om forskellen mellem den binære og metriske kilo- måske kun er 2,4 %, vokser forskellen mellem en giga- i de to fortolkninger f.eks. til 7,4 %, og til 12,6 %, når man taler om peta-!
På grund af de potentielle problemer med denne diskrepans begyndte en bevægelse i videnskabelige kredse i slutningen af 1990’erne for formelt at etablere en ny, særskilt navngivningskonvention for præfikser for store binære tal. I 1998 blev de resulterende binære præfikser vedtaget af standardiseringsorganerne International Electrotechnical Commission (IEC), International Organization for Standardization (ISO) og National Institute of Standards and Technology (NIST), og de kaldes nu “IEC-præfikser”. Præfikserne i dette system er beregnet til at give tydelige sondringer mellem de to systemer og er dannet som sammentrækninger, der kombinerer de to første bogstaver i SI-præfikserne med bogstaverne bi (en forkortelse for binær). Følgende tabel indeholder en liste over præfikserne og deres betydninger.
Og selv om konsekvenserne af at bruge det ene præfiks ved en fejltagelse, når man skal bruge det andet, måske ikke er så dramatiske som den afbrydelse, der resulterede i den berygtede afbrænding af NASA’s Mars Climate Orbiter i 1999, da dens software beregnede kraften i dens thrusters i “pounds”, men et separat stykke software indlæste dataene i den antagelse, at de var i den metriske enhed “newtons”, kan en forståelse af forskellen mellem disse systemer forhindre dig i at blive overrasket – eller i det mindste i at blive forvirret.Desværre er ikke alle computer-, software- og hukommelsesproducenter begyndt at bruge de standardiserede videnskabelige definitioner endnu, så det er stadig sandsynligt, at du vil se det samme præfiks anvendt til både metriske og binære fortolkninger. Der kan stadig opstå forvirring blandt forbrugerne, når den lagerenhed, de installerer, angiver én kapacitet ved hjælp af standardpræfikser, men deres operativsystem, som måske udtrykker primær hukommelse og sekundær lagerkapacitet i binære præfikser, viser noget, der ligner en anden kapacitet. For at mindske forvirringen indeholder de fleste lagerproducenter i dag forklaringer på deres produkter og litteratur, der definerer den nøjagtige værdi af det præfiks, de bruger.
Den næste del af dette indlæg vil dække overførselshastigheder og de unikke overvejelser, der tages i forbindelse med at udtrykke dem med data.