(Aceasta este a treia dintr-o postare în patru părți care pune 10GB/s în perspectivă. În prima parte, am descris ceea ce ar putea face un robot ipotetic care se hrănește cu filme cu un SSD de 10GB/s. Partea a doua a definit unitățile standard de măsură – biți și octeți – utilizate în tehnologiile informatice. Această secțiune încearcă să explice o problemă deosebit de confuză în ceea ce privește stocarea și datele: două definiții utilizate în mod obișnuit pentru aceleași prefixe de unitate.)
Ați cumpărat vreodată un sistem de calculator cu, să zicem, un dispozitiv de stocare de 500GB, dar când l-ați pornit pentru prima dată, sistemul de operare a raportat doar 465GB? Am văzut în partea a doua că giga- ar trebui să însemne miliard, deci o unitate de 500GB ar trebui să aibă o capacitate de 500 de miliarde de octeți – nu 465 de miliarde. Corect?
Corect!
Și nici corect nu este.
Dacă vi s-a întâmplat să cercetați discrepanța, probabil că v-ați dat seama că cei 35GB lipsă nu lipseau deloc. Doar că giga- nu este întotdeauna folosit exact așa cum crezi tu că ar trebui. La fel cum mulți brutari consideră că cuvântul dozină înseamnă 13, în unele cercuri giga- este folosit pentru a însemna 1.073.741.824! Pentru mulți dintre noi, care am crescut înțelegând că un miliard este un 1 urmat de nouă 0, această „altă” definiție ar putea avea nevoie de unele clarificări.
O călătorie pe Calea Memoriei
Computerele utilizează informații și instrucțiuni conținute în fișiere de date. Aceste fișiere de date rezidă în două locuri într-un sistem informatic modern: memoria primară și memoria secundară. Memoria primară, acum cel mai frecvent memoria cu acces aleatoriu (RAM), conține date pe care procesoarele calculatoarelor le pot accesa imediat. Memoria secundară este, în principal, o stocare pe termen mai lung, cum ar fi unitățile de hard disk (HDD) și unitățile cu stare solidă (SSD). Datele care se găsesc în memoria secundară trebuie mai întâi să fie mutate în memoria RAM înainte ca un computer să le poată utiliza. Situația se aseamănă cu biroul unui birou și dulapul de dosare: Documentele de pe biroul biroului sunt ca niște fișiere în RAM, deoarece sunt singurele pe care dumneavoastră – ca un procesor de calculator – le puteți accesa, citi și asupra cărora puteți acționa imediat; puteți utiliza și documentele din dulapul de dosare, sau stocarea secundară, dar numai după ce le luați din dulap și le puneți pe birou.
Dimensiunea unui fișier, indiferent unde se găsește, este exprimată de obicei în octeți. Și, după cum s-a menționat în partea a doua a acestei postări, deoarece aceste dimensiuni se ridică de obicei la mii, milioane sau chiar miliarde de octeți, aceste dimensiuni sunt rareori menționate fără prefixe speciale. Problema apare deoarece producătorii de dispozitive de stocare secundară au folosit în mod istoric setul tradițional de definiții ale prefixelor pentru a măsura capacitățile de stocare ale unităților lor, în timp ce producătorii de memorie RAM și de cipuri CPU au ales să folosească un alt set de definiții pentru aceleași prefixe!
A Tale of Two Systems
Majoritatea industriilor de calculatoare și electronice folosesc sistemul de prefixare metric, sau zecimal. Forma sa actuală a fost inițial standardizată de Sistemul Internațional de Unități (SI) în 1960. Sistemul metric de prefixe are ca bază numărul 10, astfel încât prefixele sale corespund numerelor care sunt puteri întregi ale lui 10. Kilo-, de exemplu, este 103 – ceea ce înseamnă 10 înmulțit cu el însuși de trei ori – sau 1.000. Prefixele ulterioare din sistem pot fi exprimate cu ușurință ca puteri ale acelui 1.000. Prefixul mega-, de exemplu, este 1.0002 (1.000.000), iar giga- este 1.0003 (1.000.000.000.000). Industria de stocare utilizează sistemul de prefixe metrice pentru a descrie capacitatea dispozitivelor de stocare secundară.
Sistemul de prefixe binare intră în joc atunci când vorbim despre memoria primară. Sistemul de prefixe binare are la bază numărul 2, astfel încât prefixele sale corespund numerelor care sunt puteri întregi ale lui 2. Atunci când datele ajung în memoria primară, fiecărei informații i se atribuie o adresă unică care permite procesorului să găsească datele atunci când are nevoie de ele. Până la mijlocul anilor 1960, o schemă de adresare binară a devenit standard în arhitecturile de calculatoare, deoarece un sistem binar permite ca datele binare din memorie să fie aranjate cel mai eficient astfel încât toate să aibă adrese valide.
La început, capacitățile de memorie principală au fost exprimate în numere absolute, dar când primii profesioniști în domeniul calculatoarelor au simțit nevoia de a exprima capacități de memorie mai mari, au simțit, de asemenea, nevoia de a folosi prefixe pentru a le descrie. Industria de stocare adoptase deja utilizarea sistemului de prefixe metrice bazat pe SI. Pentru comoditate, acești profesioniști au decis să adopte și ei sistemul de prefixe… cu unele modificări. Ei au observat că numărul 1.024, sau 210 (binar), era aproximativ egal cu 1.000, sau 103 (zecimal), așa că au început să folosească prefixul kilo nu pentru a însemna 1.000, ci pentru a însemna 1.024! Prefixele ulterioare din sistem pot fi exprimate ca puteri ale acelui 1.024. Mega-, de exemplu, a devenit 1,0242 și giga- a devenit 1,0243.
Tabelul următor extinde un tabel prezentat în partea a doua a acestei postări prin includerea nu numai a semnificației fiecărui prefix, ci și a valorii exacte a prefixelor din ambele sisteme.
Trebuie să ne amintim, totuși, că capacitatea totală a SSD-ului nostru ipotetic este tot de 500.000.000.000.000 de octeți. Doar că, atunci când împărțiți acest număr la un gigabyte, puteți avea două valori diferite, deoarece există două definiții diferite ale gigabyte-ului. Atunci când definiți un gigabyte ca fiind 1.0003 (sau 1.000.000.000.000) de octeți, așa cum face Sistemul Internațional de Unități și cum fac producătorii de unități de stocare, atunci 500.000.000.000.000 de octeți este același lucru cu 500GB. Atunci când definiți un gigabyte ca fiind 1.0243 (sau 1.073.741.824) octeți, așa cum fac producătorii de memorie RAM și unele sisteme de operare importante, atunci 500.000.000.000 de octeți este același lucru cu 465GB.La început, acest lucru nu era o problemă – diferența de aproximare era neglijabilă. La urma urmei, discrepanța dintre un kilobyte metric și un kilobyte binar este de numai 2,4%. În plus, oricine a vorbit vreodată despre KB știa deja dacă este vorba despre 1.000 de octeți de stocare sau 1.024 de octeți de memorie. Dar, odată cu trecerea timpului, capacitățile atât de memorie, cât și de stocare au început să crească. Pe măsură ce capacitățile cresc, diferențele relative dintre valorile zecimale și cele binare ale aceluiași prefix devin mai pronunțate. De exemplu, deși discrepanța dintre kilo- binar și metric ar putea fi de numai 2,4%, diferența dintre un giga- în cele două interpretări crește la 7,4%, și la 12,6% atunci când vorbim de peta-!
Din cauza potențialului de probleme legate de această discrepanță, la sfârșitul anilor 1990 a început o mișcare în cercurile științifice pentru a stabili în mod oficial o convenție de denumire nouă și distinctă pentru prefixele numerelor binare mari. În 1998, prefixele binare rezultate au fost adoptate de către organismele de standardizare Comisia Electrotehnică Internațională (IEC), Organizația Internațională pentru Standardizare (ISO) și Institutul Național de Standarde și Tehnologie (NIST), iar în prezent sunt denumite „prefixe IEC”. Prefixele din acest sistem sunt menite să ofere distincții evidente între cele două sisteme și sunt formate ca contracții care combină primele două litere ale prefixelor SI cu literele bi (prescurtare de la binary). Tabelul următor prezintă o listă a prefixelor și semnificațiile acestora.
Deși ramificațiile utilizării eronate a unui prefix atunci când ar trebui să folosești celălalt ar putea să nu fie la fel de dramatice ca deconectarea care a dus la infama incendiere din 1999 a Mars Climate Orbiter al NASA, atunci când software-ul său a calculat forța propulsoarelor sale în „lire”, dar un alt software a preluat datele presupunând că acestea erau în unitatea metrică „newtoni”, înțelegerea diferenței dintre aceste sisteme vă poate salva de la surprize – sau cel puțin de la confuzie.Din nefericire, nu toți producătorii de computere, software și memorii au început încă să folosească definițiile științifice standardizate, așa că este încă posibil să vedeți același prefix folosit atât pentru interpretările metrice, cât și pentru cele binare. Confuzia în rândul consumatorilor poate apărea în continuare atunci când dispozitivul de stocare pe care îl instalează indică o capacitate folosind prefixele standard, dar sistemul lor de operare, care poate exprima capacitățile de memorie primară și de stocare secundară în termeni de prefix binar, afișează ceea ce pare a fi o capacitate diferită. În prezent, pentru a atenua confuzia, majoritatea producătorilor de sisteme de stocare includ pe produsele lor și în literatura de specialitate explicații care definesc valoarea exactă a prefixului pe care îl folosesc.
Partea următoare a acestei postări va acoperi ratele de transfer și considerațiile unice luate în exprimarea lor cu date.
.