Szerkesztő:UTF48/Digióta
Ez egy esszé. Nem feltétlenül a konszenzust tükrözi, csak a megalkotói véleményét; a célja az, hogy ugyanazokat az érveket ne kelljen újra és újra elismételni. Ha egyetértesz az alapvető mondanivalójával, nyugodtan módosíthatod vagy átfogalmazhatod. Ha nem értesz egyet vele, írd meg egy külön esszében a saját véleményedet, és linkeld be a lap aljára. |
Digitális idióta
[szerkesztés]Digitális ideákat hasztalan üldözők táborához tartozom. Nem vagyok hajlandó elfogadni, hogy emberöltőn keresztül felhalmozott tudásbázist és a hozzá tartozó terminológiát lehessen egy tollvonással hibásnak itélni. Ezért tartozom a digitális idióták azaz digióták közé.
Miről is van szó?
[szerkesztés]Valamikor az elektronikus számítógépek létrehozásának hajnalán valahol valamikor valaki (itt most nem fontos) kitalálta a kettes számrendszer használatának praktikusságát. Minden adatot számként tárolva, minden számot kettes számrendszerben felírva. Minden számjegy egy bit.
A számítógép működését vezérlő egységek ennek a támogatására készültek. Az egyik egység amikor egy adatot akar kezelni, akkor hivatkozik az adatot tároló egység helyére. Ezt hívják címnek. Az adat pedig az, amit ezen a címen el lehet érni.
A zseniális lusta, de legalábbis kézenfekvő egyszerűsítés az, hogy a címek is adatok. A program kódja ugyanúgy adat, mint a többi adat amin a program dolgozik. Az operációs rendszer számára a program is csak adat.
Az adatok
[szerkesztés]A biteket persze csoportosítjuk. Ez szükséges és praktikus is volt, mert a feldolgozásuk kezdetben eléggé lassú volt. A bitek csoportosítása gyakorlatilag az adatkezelés párhuzamosítása is volt. (Jól sejti a kedves olvasó, a legtöbb modern számítógép, noha Turing teljes, nem hasonlít egy olyan Turing-gépre aminek a szalagján 0-k és 1-esek vannak.)
Tehát csoportosítjuk a biteket. A bitek valamely csoportját címezzük a regiszterekben, a memóriában, a perifériákon.
Hány bit is alkosson egy csoportot? 1-nél több nyilván.
- 2 bit: 4 különböző állapot. Ezen még egy decimális számjegy sem fér el.
- 3 bit: 8 különböző állapot. 8-as számrendszerhez akár már jó lehet. Nagyságrendileg megfeleltethető a RTM méretének. Sok helyen még most is használják a digitális világban a 8-as számrendszert. Bár kissé zavaró ez a 3-as szám. Olyan esetleges. 3 biten nem lehet a 10-es számrendszer számjegyeit tárolni.
- 4 bit: 16 különböző állapot. Ez már túl sok, ha számrendszert akarok ilyen számjegyekből csinálni, akkor a 9 után újabb szimbólumokat kell használni, hogy tudjunk beszélni az így csoportosított bitekről. Már itt létrejött a Hexadecimális számrendszer. Najó, sok, de más szóval elegendő. Ilyen bitkupacokkal már lehet decimális számrendszerben is számjegyeket kezelni, tehát számolni. Biztos van olyan számológép vagy processzor amelynek a működésében ez a 4 bites csoportosítás esetenként megtalálható.
- 5 bit: 32 különböző állapot. Elfér benne az angol ábécé összes betűje vagy számok. Ez eléggé sánta így.
Tulajdonképpen a bitek száma lehetne valami kerek szám. Igy ha adatot tárolunk egy bitkupacban akkor jól tudjuk csoportosítani az adat darabokat.
- 6 bit: 64 állapot. Ezzel már lehet minimálisan írni olvasni. De az igények alapján kicsit több bitet építeni nem annyira macerás, mint amennyi előnye lehet picit több bitnek.
- 7 bit: 128 állapot. Ez már annyira jó, hogy elfér benne a teljes ábécé kis és nagybetűkkel, számokkal matematikai műveletekkel, írásjelekkel, sőt még a terminál vezérlőkarakterekkel is. Egyetlen problémája, hogy a 7 prímszám.
- 8 bit: 256 állapot Ez már olyan sok, hogy azt sem tudja a programozó mit kezdjen vele. Elfér benne két hexa számjegy. Az ASCII kommunikációhoz még egy paritásbit is belefér. És különben is kettő hatvány. Ez annyira bejött, hogy nevet is kapott. 8 bit lett egy byte. Történelmileg az adatok egységeinek megmaradt a byte.
- 10 bit: Nem terjedt el a 10 bites csoportosítás, pedig abban BCD-ben nem 0-tól 99-ig lehetett volna számolni, hanem mondjuk 0-tól 999-ig. 1024 különböző állapot.
Szóval 8 bit lett a befutó az adatoknál. És az összetett algoritmusok és hardware-ek elkezdték használni ennek többszörösét.
A címek
[szerkesztés]- 16 bit: A 16 bites címzés 65536 különböző memóriarekesz megcímzését biztosította. Ez nem azt jelentette, hogy volt is ilyen sok memória, hanem azt, hogy megcímehetjük-e.
A 10 bittel leírható 1024 a 10-es számrendszerben nagy számokon elámuló emberek szemében elég nagy szám ahhoz, hogy jelentősséggel bírjon. Ezer gépi szó memória egy időben eléggé nagy szó volt. Pláne ennek bármely többszöröse. Rá is ragadt a kilo előtag.
A címbitek számának növekedésével a kilobyte mint mértékegység egyre nagyobb számok mögé került odaírásra. Viszont mindig is szigorúan 1024-et jelentettek. Évek teltek így, könyvespolcok teltek meg ezzel a terminológiával, generációk nőttek fel ezzel a tudással.
16 bit mágikus határ az lett a 64kilobyte rövidebben 64KB vagy csak 64K. márkanevek honosodtak meg a 2 hatványaiból és többszöröseiből. C=64, C=16, MO8X, PROPER8, PROPER16, PROPER32 ...
Amikor a PC a szegmentálásos technikával 20 bitre növelte a címezhetőséget, akkor mindenki tudta, hogy 640K minrenre elég. Plusz 384K ROM az összesen 1024K
És el kezdett fraktálosodni ez a sok 2 hatványos méret. az 1024 kilobájtot lehetett 1 megabájtnak hívni. De igazából nem szólt ez másról, mint hogy hány bit a címtartomány.
Ugorjunk 32 bitre és egyből megkapjuk a 4096 Megabájtot azaz a 4 Gigabájtot. Minden 10 bit után újraindul a számlálás egy újabb 1024-es prefixszel.
Sokáig a diszkek méretének kiszámításánál is az volt, hogy össze kellett szorozni a szektorméretet (pl 512 bájt azaz fél kilobájtot) a cilinderek, fejek és sávonkénti szektorok számával. És meg is kaptuk az eredményt. KB-ban. ha megában akartuk, osztottunk mennyivel is? Igen, 1024-gyel.
A prefixek névleg megegyeztek az SI prefixeivel. kilo, mega, giga, stb... De sose jelentettek 1000-et. A byte, mint mértékegység nem volt a fizika hatáskörében. Nem is igazából mértékegység. igazából dimenziótlan számokról mint mennyiségekről beszélünk. a byte mint utótag jelezte, hogy az előtag nem 10^3 hanem 2^10. A 64K-s memóriát soha senki nem mondta kicsit több mint 65 és fél kilobájtnak. A 65,536 * 1000 műveletből sem az első sem a második tényező nem kettő hatvány. Nem lehet vele könnyedén számolni.
Azért képzeljük el a C=65.536 számítógép kistestvérét a C=16.384-et. Ugye abszurd...
És akkor egyszercsak valamikor valaki valahol úgy gondolta, hogy 1000-rel számol. Fittyet hányva a teljes szakma évtizedeken keresztül felhalmozott tudására, terminológiájára, szokásaira. Valószínűleg nem programozó volt, hanem mondjuk döntéshozó. Hozott is döntést.
Az eredmény a következő lett. Újradefiniálták évtizedek kilobájt fogalmát. 1024-ről 1000-re. Kinyomtatott könyvek, chipekre írt feliratok, generációk tudása lett számszakilag hibás.
Folytatása következik. Forrásolok...