Milyen nagy a 128 bit?
Mivel a Windows 7 32 és 64 bites architektúraformátumban érkezik, a vélekedés szerint a következő processzorok és operációs rendszerek 128 bitesek lesznek. Igaz ez; és ez a következő természetes fejlődés?
Mi a 128 bites számítástechnika? Nos, a 32 bites számítástól kezdve a CPU 232 bit információ feldolgozására képes, ami 4 294 967 296, azaz valamivel több mint 4 gigát jelent. A 64 bites számítás szintén 264 vagy 18,446,744,073,709,551,616; ez több mint 18 exobájt memória (kvintillió). Ez csak 64 bitre vonatkozik. És 128 bites? Az 2128 vagy 3,402823669209383846346337460743177e+38 bit. Ez rengeteg bit, amivel dolgozni kell. Szóval szükség van erre? Ez a kérdés; az operatív bitek és a rendelkezésre álló bitek két különböző dolog. Tudnak-e a számítógépek, és ami még fontosabb, a szoftverek ennyi bitteret használni?
A CPU
Az előző kérdés megválaszolása a CPU felépítésétől függ. A CPU-nak vannak regiszterei, az ALU-k (aritmetikai-logikai egység ), amely a matematikát végzi, és az adatbusz, amely az adatokat a gyorsítótárból a memóriába mozgatja. A fetch-execute ciklus fontos az adatok feldolgozásának kezelésében.
A regiszterek nem részei a memóriának, inkább ideiglenes tárolási területek, és a vezérlőegység álcája alatt működnek. Utasításokat vagy adatokat fogadnak, és logikai vagy aritmetikai műveleteket végeznek. A CPU vagy mikroprocesszor egység szerepéről bővebben olvashat.
A regiszterek a CPU-ban
Mit csinál a regiszter?
A regiszterek fogadják az információt a memóriából vagy a CPU-tól, ideiglenesen tárolják, és a vezérlőegység utasításai szerint továbbítják. A regiszterek órajelhez vannak kötve, ahol a regiszterben lévő utasítás egy órajelciklus alatt végrehajtódik. A regiszterek száma számítógépről számítógépre változik; mindegyik regisztert egy adott funkció végrehajtására tervezték. A regiszterek meghatározott tárolókapacitással rendelkeznek, attól függően, hogy hány bittel tervezték őket. Egy mikroszámítógépben általában 14 regiszter található.
1]Az akkumulátor regiszter egy speciális adatregiszter, és az ALU utolsó feldolgozási lépésének eredményét tárolja.
2]A felhasználó által látható regiszterek adatregiszterekre és címregiszterekre oszthatók.
3]A címregiszterek a memóriaregiszterek és a következő adat tárolására szolgálnak.
4]Az adatregiszterek adatokat tárolnak.
5]A feltételregiszterek határozzák meg, hogy az utasítás végrehajtásra kerüljön-e vagy sem.
6]A konstansregiszterek csak olvasható értékek tárolására szolgálnak.
7]A lebegőpontos regiszterek lebegőpontos számokat tárolnak.
8]Az általános célú regiszterek az adatokat és címeket tartják.
9]A speciális célú regiszterek a program állapotának tárolására szolgálnak, és a programszámlálóból,
10]veremmutatóból és
11]állapotregiszterekből áll.
12]A programszámláló a következő végrehajtandó utasítás címét tartja.
13]Az utasításregiszter az utasítást tartja végrehajtás közben.
14]Az indexregiszter tárolja a memóriacímek indexét.
A CPU működésének vizuális értelmezése címmel további információkat olvashat a regiszterekről.
Physical Address Extension in 32 Bit Processors
Szóval van-e mód arra, hogy a 32 bites processzor úgy működjön, mint egy 64 bites? Valójában van. Ezt úgy hívják, hogy Physical Address Extension (PAE).
A Physical Address Extension egy olyan technika, amely lehetővé teszi a CPU-k számára, hogy több memóriát címezzenek, mint amennyi a terv szerint rendelkezésre áll. Ez csak x86-os rendszereken lehetséges, ahol a 32 bitet 64 bitig lehet feljuttatni. Ez úgy valósul meg, hogy a címzési regiszter felosztja a teljes memóriát különböző memóriabankokra, ahol aztán lehetővé teszi a teljes memória elérését. Így ahogy a 32 bites adatregiszter adatot kap, fel tudja osztani az adatot egy második bankba, és megkapja a 64 bites műveletet, és egy ciklusban feldolgozza azt.
Amikor ez a folyamat a helyére kerül, a 32 bites regiszterek együttesen viselkednek, hogy egy 64 bites regisztert utánozzanak. Ez lehetővé teszi a CPU-ciklus működését, hogy két regisztert dolgozzon fel, és egy ciklusban küldje el az ALU-nak feldolgozásra. De nem ez az egyetlen elérhető CPU-megvalósítás.
Non-Uniform Memory Access
Egy másik CPU-megvalósítás a Non-Uniform Memory Access (NUMA), amely lehetővé teszi a CPU-k számára, hogy a memóriacímek távolságától függetlenül hozzáférjenek a memóriához. Mivel egyes memóriahelyek közelebb vannak a CPU-hoz, míg mások távolabb, a CPU-nak tovább tart feldolgozni a távolabbi memóriában lévő adatokat. Ennek megoldására a CPU-t csomópontokra bontják, így a feldolgozás csomópontonként történik, és így a memória fizikai helyétől függetlenül gyorsabb. Az alkalmazások így képesek kihasználni a 64 bites feldolgozás előnyeit egy 32 bites környezetben, ha a NUMA működik. Ez felveti a kérdést: lehetővé teheti-e ez a fajta feldolgozás a 128 bites műveleteket?
64 bites és 128 bites operációs rendszer
A 128 bites rendszerek használata nem elkerülhetetlen, miközben a CPU-ban vannak olyan folyamatok, amelyek segítségével egy 32 bites processzor 64 bitesként, egy 64 bites processzor pedig 128 bitesként viselkedhet. Ha a Physical Address Extension, amely most csak az x86-os (32 bites) rendszerekre vonatkozik, módosítanák a 64 bites rendszerekre, hogy azok 128 bites rendszerként viselkedhessenek, az sokat segítene a 128 bites működésben. Ugyanez vonatkozik a NUMA-t használó módosításokra is, ebben az esetben a CPU-tól eltávolított memóriahelyek száma miatt kell használni, mert a 64 bites CPU-k természetesen nagyobb méretűek lesznek, mint egy 32 bites CPU.
Végül vannak olyan alkalmazások, mint a 128 bites titkosítás, vagy a kriptográfia, amelyek természetesen kihasználhatják a 128 bites CPU előnyeit. A titkosítási folyamat gyorsabb lesz, mert csak egy feldolgozási ciklusra lesz szükség a titkosítás elvégzéséhez. Ez azonban azt mutatja, hogy a 128 bites processzor teljes kihasználásához olyan alkalmazásokra van szükség, amelyek úgy vannak megírva, hogy zökkenőmentesen illeszkedjenek a CPU műveleteibe.
Ez a pont az egyik legnagyobb hátránya az alkalmazási gyakorlatnak. A legtöbb alkalmazás még mindig csak a 32 bites szintre van írva, még a 64 bites szintre sem. Ehhez olyan szoftvertervezési programok kellenek, amelyeket 128 bites alkalmazások létrehozására írtak át. Az olyan szoftvertervezési programoknak, mint a Visual Studio, vagy a .Net Framework, vagy az SQL Server 2005, vagy az SQL Server 2008, 128 bites alkalmazásokat kellene készíteniük. De ezek még nincsenek ezen a szinten – most 32 bites alkalmazásokat készítenek.
Mit fog elérni egy 128 bites folyamat?
A nagyobb és gyorsabb feldolgozási teljesítmény a természetes válasz erre a kérdésre. Ideálisak a nagy feldolgozási teljesítményt igénylő összetett alkalmazások, azaz az egy CPU-ciklus alatt elvégezhető feldolgozás. Ilyenek a mérnöki, vagy matematikai, vagy tudományos műveletek. Ezek a kifinomult pénzügyi vagy gazdasági modellezés. Ezek az összetett orvosi, vagy biológiai, vagy kémiai feldolgozások is, amelyeket gyorsan kell elvégezni. Bármelyik ilyen alkalmazás, amelynek gyorsan kell eredményeket generálnia, profitálhat egy olyan operációs rendszerből, amely képes szinkronban lenni egy 128 bites CPU-val. A 128 bites architektúrával kapcsolatos kérdésekről a Windows 128 bites architektúra – Mennyi RAM-ot képes kezelni egy processzor.
Intel Micro Architecture Image: Wikimedia Commons
Intel 1820 Architecture Image: Wikimedia Commons
Numa: Kép Wikimedia Commons
Ez a bejegyzés a sorozat része: 64 Bit Computing vs 32 Bit Computing
Ahogy a CPU-k egyre kifinomultabbak, úgy az őket támogató operációs rendszerek is egyre kifinomultabbak. Ez történik most a 64 bites számítógépekkel és a régebbi 32 bites számítógépekkel. Cikksorozatunk célja annak megértése, hogy a CPU mérete hogyan befolyásolja az operációs rendszert.
- A Windows7 X64 és X86 közötti különbség
- A 32-bites és 64-bites Windows 7 közötti különbség összehasonlítása
- Elérhetjük-e a 128 bites operációs rendszer működőképességét, és mit fog elérni?