Miért nem tudunk 256 / 512 / 1024 / akármennyi bites számítógépeket építeni?
- Én informatikus vagyok, csak azért mondom, nem teljesen hülye.
- Bár nem értek a technikához.
- Valahol tudom, ennek a proceszorok teherbírása / melegedése az oka.
- De tényleg, mi más?
- De ha processzorok méretét nem korlátoznánk???
- Miért ne lehetne egy processzor akár alaplap méretű? Ha egyszer az a legfontosabb?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Akkor folytassuk. Illetve kezdjük az elején.
Vissza kell menni az időben 1944 nyaráig. H.H.Goldstine így erről az eseményről "Valamikor 1944 nyarán, az aberdeeni vasutállomás peronján vártam a Philadelphiába induló vonatot, amikor egyszercsak arra jött Neumann. Ezt megelőzően sohasem találkoztam a nagy matematikussal, bár természetesen sokat tudtam róla, és több alkalommal hallgattam előadását is. Meglehetős vakmerőség volt tehát részemről, hogy odamentem ehhez a világhírű emberhez, bemutatkoztam, és beszélgetni kezdtünk." H.H Goldstine akkoriban (től származik a fenti idézet) az amerikai hadsereg alkalmazásában állt és a számítógépekkel kapcsolatos kutatások, elsősorban az ENIAC és útódjának az EDVAC-nak volt mai szóval a "projektmanagere". Ő így emlékezett meg arról, hogy találkozott Neumann Jánossal és kezdődött meg egy kettejük számára közös munka, a világ többi embere számára itt találkozott először Neumann a "korszerű" számítástechnikával. Nagyjából egy évvel később 1945. június 30-án készült el Neumann a következő legalább 25-30 évet meghatározó munkájával aminek a címe: "First Draft of a Report on the EDVAC" ebben szerepelnek a később Neumann elvek néven ismerté vált "tézisek". Ami alapján épületek a számítógépek legalább az 1960-as évek végéig, 70-es évek elejéig, illetve ezen alapulnak az első programozási nyelvek is. Érdemes egyébként eredetiben olvasn (sajnos relevens, jó minőségű teljes magyar fordítással még nem találkoztam, csak részleges, kivonatolt fordításokat láttam).
Ebben az egyik gondolat ami fontos, hogy meg kell nézni, hogy hány számjegy pontosságra van szükségünk. Ez az általános mérnöki gyakorlatban általában 8 decimális jegy /Neumann korában!/. Manapság 10-12 általában megfelelő eredményt ad (néhány esetben kell ennél több pl. ha globális GPS-ben gondolkodunk 360 fok->40 000 km /kb./ és 1mm-t szeretnénk leírni ahhoz egy 14 jegy hosszúságú számra lesz szükségünk, ahhoz, hogy itt az eredmény pontos legyen kell még jópár számjegy /pl. ha négyzetre emelünk, stb./ ez azt jelenti, hogy kb. 20 jegy pontos számokra lesz szükségünk).
1 decimális számjegy leírásához log2(10)=3,32bit szükséges, 20 jegyű szám esetén 66,4 bit /67 bit/ kell legalább. Neumann korában a 8 jegyű számok miatt 8x3,32=26,56->27 bites számokra volt szükségük. Nem véletlenül épültek sokági 48 bites gépek mert egy 27 bites mantisszához még tettek előjelet (28.bit) és maradt még 19+1 bit a karakterisztikára /exponens, kitevő más néven/ elegendő volt a mérnöki számításokhoz. Ez nagyon jól működött számtalan ilyen gép épült.
A végén egyre kevésbé volt fentartható a dolog. Egyrészt egyre szűkebb volt a 8 értékes jegy és kellett a 10-12 értékes jegy /34-40 bit mantissza/ és kezdett a 48 bit kevés lenni. Ekkor jöttek mindenféle ötletek. Illetve köszöntöttek be az 1970-es évek. És jelent meg a Unix, a C és társai, illetve a 70-es évek közepe táján a 8 bites mikroprocesszorok amelyek "letarolták a világot". Elterjedtek a mikroszámítógépek a maguk korlátaival. És dőlt el végérvényesen, hogy a világ "8 bites" és ennek mindenféle többszöröse. Ekkoriban születtek mindenféle sokszor ma már "hajmeresztőnek látszó megoldás" és pl. jelent meg a 80 bites lebegőpontos szám (ez már egészen jól használható volt). Illetve váltak egészen gyorssá a processzorok, hogy az "ábárzolható számtartomány" és a processzor szóhossza függetlenné válhatott egymástól. Azaz már nem szükséges az amit Neumann eredetileg leírt, hogy a proci szóhossza legyen egyenlő a szükséges számábrázolási tartománnyal. (Ezt már a 8 bites gépek is bebizonyították, hogy 8 bites gépekkel is kellően gyorsan lehetett számolni akárhány jegyű számokkal).
Innen kezdve nem a Neumanni módszerrel kell a szóhoszt kalkulálni, hanem inkább azt kell megnézni, hogy mi az optimális gyárthatóság, sebesség, stabilitás stb. szempontjából. És ebből a szempontból a 64 bit egy kellemes szóhossz. Egyébként ha a Neumanni módszer szerint gondolkodnánk, valahol a 90 bit körüli lenne egy kellemes, és ideálisnak tekinthető szóhossz. Egy 90 bites proci esetén fent már számoltuk, hogy 67 bit a mantissza, 1 bit a mantissza előjele, 1 bit a karakterisztika előjele és marad 21 bit karakterisztika számára. Ez a ma felmerülő mérnöki számításokhoz nagyon megfelelő méret lenne. Igaz a világ nem erre ment el.
2. Gondolat:
Miért zabál rengeteg erőforrást a Windows és a többi program? A megfejtés az objektum orientált programozás háza táján keresendő. Az OOP hardveres szemmel nem hatékony. Ezzel mindenki egyetért. Az OOP jelentősége ott van, hogy leegyszerűsíti a programok fejlesztését, tesztelését, léterhozását (most itt ne egy Hello, world! bonyolultságú programból indulj ki). És ma már annyira olcsó a hardver, hogy a TCO számításokon rendre kijön, hogy olcsóbb venni 3x drágábban hardvert, mint 15x annyit fizetni a programozóknak azért, hogy a kód picit hatékonyabb legyen. Ez alól néhány kivétel van (pl. a játék programok) de ott is megy a programfejlesztés költség-hardverköltség optimalizálás. Egyszerűen lehetne jobbra megírni a windowst (linuxot bármit) csak nem biztos, hogy megérné, olócsbb venni 2x annyir RAM-ot és gyorsabb procit mint fizetni még 10x 15x annyit a programokért. Régen amikor nagyon szűkös volt az erőforrás (értsd pl. 60-as 70-es évek fordulójától kb. 90-es évek közepéig) arányaiban véve sokkal de sokkal drágáabbak voltak a szoftverek, mert lényegesen nagyobb erőforrás igénye volt a programozók részéről. Pl. ismert, hogy az IBM valamikor a 60-as évek végén piacra akarta dobni a 360 sorozatot az OS360 nevű oprendszerrel, de nem lett kész az operációs rendszer mert irtó sokáig tartott beszuszakolni a rendelkezésre álló memóriába és ideiglenesen ki kell "gyorsan" fejleszteni egy másik op.rendszert, hogy egyáltalán a gépet el tudják adni, és a két oprendszer ég és föld volt egymáshoz képest. De ugyanez a szenvedés volt a Windows 95 környékén is, az is késett, csúszott, bizonytalan volt az egész.
Lehetne ma is írni olyan oprendsert amelyik lényegesen jobban gazdálkodik a gép erőforrásaival, lényegesen "gyorsabb" és minden szempontból jobb de árban nem lenne versenyképes. Ezért tartunk itt. És nem biztos, hogy ez rossz irány.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Mégegyszer megpróbálom röviden, érthetően elmondani a gondolatomat.
Egy - bármilyen - operációs rendszer telepítése során legyen lehetőségem egy adott erőforrás korlátozáshoz, amihez az adott op. rendszer soha, semmilyen körülmények között nem fér hozzá!
Persze nem sok ilyen lehetséges.
Nem tudok beleszólni a megszakításokba, a megszakítás vezérlőbe.
Enéklül az op. rendszer nem tudna működni.
Ami talán elgondolgodtató az a memória, illetve a processzor idő.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
61/63
Háááát, most egy hétig agyalhatok mindazon, amin leírtál.
Le a kalappal!
"Lehetne ma is írni olyan oprendszert amelyik lényegesen jobban gazdálkodik a gép erőforrásaival, lényegesen "gyorsabb" és minden szempontból jobb de árban nem lenne versenyképes."
De miért?
64/65
Igazad van. Csak hát a dolgok összefüggenek.
De, tényleg eltértem a tárgytól. KÖSZI.
Abszolút igazad van. Ez tényleg két kérdés / probléma.
Köszi, hogy szóltál!
De hadd mondjak valamit!
Az egész gondolatom abból az egy tapasztalatból indult ki / keletkezett, hogy akármennyi erőforrást biztosítok magamnak - proci, memória - a Windows öntörvényűen elveszi mindet! Amúgy nem csak a Win, de pl. a Firefox is!
63/67 Gondolathoz.
Most hogyan tudnék egy gépen - Windows, vagy bármi más alatt - Assembly programot futtatni?
Ja, betöltök egy régi DOS-t ha van még floppy lemezem és meghajtóm.
Tudjátok: amikor a DOS 'operációs rendszer' működött, akkor, amikor elindítottáll egy programot, akkor az op. rendszer elvesztette a hatalmát.
Onnantól csak a felhasználói program vezérelte a gépet.
Ez volt a szép! Vagy működött, vagy összeomlott.
61/63
Miért is nem lenne versenyképes?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
"De miért?" Fent részletesen leírtam. Nézzünk egy konkrét példát (egy másik kérdés kapcsán leírtam már). Ez valós feladatunk volt. Akartak gyártani 50 000 db. vezérlőt, ezen volt egy mikrokontroller. Megírtuk a programot, és ebből kiderült, hogy melyik mikronktorrlerbe fér be. A megrendelő kitalálta, hogy van egy 12 centtel olcsóbb változat, ha azt építi be annak még van egy olyan következménye, hogy összeségében 16 centtel lesz olcsóbb egy darab. Fogta a 16 centet beszorozta 50 000 db-al, és kijött, hogy 8000 USD az árkülönbség ha az olcsóbba beférünk. Ha ennél olcsóbban kijön az a fejlesztési munka, hogy optimalizáljuk még egy kicsit a feladatot akkor nyer rajta a cég. Végül 3500USD-ből megvolt az optimalizáció, és így az 50 000 db-os szérián volt 4500USD megtakarítás. Ha csak 20 000 db-ot akartak volna gyártani akkor már nem éri meg a programon optimalizálni, mert akkor meg olcsóbb betenni a nem olyan jó programot a drágább hardverrel.
Ugyanez nagyban az oprendeszerekkel, programokkal. X idő kifejleszteni egy programot, Y idő a tesztelés. A kettő összköltsége számítható /meg tegyünk hozzá kis nyereséget meg stb. így együtt lesz/ (pl. ez legyen összesen 10 000 000 USD, hogy könnyű legyen vele számolni). Azt is lehet becsülni hány példányban lesz eladva a program (legyen ez a szám 10 000 db.) Így egy példányra jutó költség 1 000 USD ennyiért kell adni a boltban, ehhez kell egy 800 USD-s hardver.
Ha elkezdödik az optimalizálás ami rengeteg idő és energia felmegy az egész 12 000 000 USD-re és máris 1 200 USD lesz az amiért meg tudod venni a programot. Ehhez viszont elegendő egy 700 USD-s hardver. Az egyik esetben 1800USD-t költöttél összesen (SW+HW) a másik esetben 1900USD (SW+HW) melyik éri meg jobban neked? Nagyjából ennyi. Az arányok nem biztos, hogy jók de valami hasonló a számítás menete.
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!