211service.com
64 bitų klausimas
Ar ateityje turėsite 64 bitų kompiuterį?
Turėdami visą ažiotažą, susijusį su 64 bitų procesoriais, tikriausiai manote, kad mano atsakymas būtų nedviprasmiškas „taip“ ir netrukus taip pat! Tačiau atidėkite nuošalyje rinkodaros šlamštą apie tokius lustus kaip AMD Athlon64; Tiesą sakant, 64 bitai yra daug mažiau svarbūs, nei jūs manote kompiuterių pramonėje. Iš tiesų, nebent esate „Macintosh“ vartotojas, galbūt nenusipirksite 64 bitų kompiuterio dar dešimtmetį, jei iš tikrųjų kada nors jį pirksite.
Pirma, šiek tiek fono. Daugumoje šiuolaikinių stalinių ir nešiojamųjų kompiuterių procesoriai yra 32 bitų lustai. Dauguma jų yra pagrįsti neįtikėtinai sėkminga „Intel“ IA32 architektūra, dar žinoma kaip x86 (kaip 286, 386, 486). „Intel“ „Celeron“ ir „Pentium“ mašinos yra IA32, kaip ir AMD „Athlon“ lustai.
Tačiau staiga 64 bitų mašinos turi savotišką kašelį. Jau dvejus metus AMD parduoda procesorius, galinčius vienu metu paleisti ir 32 bitų, ir 64 bitų kodą; kompiuteriai, sukurti naudojant šiuos lustus, gali veikti arba Linux, arba specialią 64 bitų Windows XP versiją, kurią Microsoft išleido anksčiau šiais metais. Tuo tarpu „Apple“ visus savo „Power Mac“ kompiuterius pristato su G5 mikroprocesoriumi – IBM sukurtomis 64 bitų smegenimis. Ir tam tikra prasme visos šios stalinių kompiuterių sistemos pasivijo: „Nintendo“ perėjo prie 64 bitų 1996 m., kai pristatė savo „Nintendo64“ žaidimų konsolę.
Kad suprastumėte, kodėl visa tai svarbu, pirmiausia turite suprasti, kad frazė 32 bitai yra tam tikra santrumpa, kurią naudoja kompiuterių dizaineriai. Šis skaičius nurodo du dalykus kompiuterio architektūroje. Pirma, tai reiškia, kiek bitų šie kompiuteriai naudoja, kai nurodo vietą atmintyje, kurioje saugoma informacijos dalis. Antra, jis nurodo mikroprocesoriaus viduje esančių registrų, naudojamų matematiniams darbams atlikti, dydį. Kiekvienas bitas gali būti 1 arba 0, todėl 32 bitai gali būti naudojami 232 arba 4 294 967 296 skirtingoms reikšmėms nurodyti. Taigi akivaizdus skirtumas tarp 32 bitų ir 64 bitų mašinų yra tas, kad 64 bitų sistemos yra daug didesnės mašinos: jos gali apdoroti daugiau atminties, o skaičiuoti su didesniais skaičiais.
Tačiau daugiau nebūtinai reiškia geriau – tai priklauso nuo to, ko gaunate daugiau.
Žemyn atminties juosta
Perėjimas nuo 32 bitų prie 64 bitų yra svarbiausias, kai kalbama apie šių kompiuterių gebėjimą tvarkyti atmintį. 32 bitų kompiuteryje veikianti programa gali lengvai atkurti 4 gigabaitus atminties, o 232 yra maždaug 4,3 mlrd. Kita vertus, programa, veikianti 64 bitų kompiuteryje, gali adresuoti 264, tai yra 4 milijardai kartų 4 milijardai baitų, o tai yra stebėtinai didelis skaičius. Tiesiog atlikite skaičius ir aišku, kad 64 bitų sistemoje yra daug daugiau erdvės. Tačiau šie du faktai iš tikrųjų sukelia daug painiavos, kaip matysime.
Originaliame IBM asmeniniame kompiuteryje buvo naudojamas „Intel 8088“ mikroprocesorius – juokingas mažas lustas, užpildytas keistais inžineriniais kompromisais. Iš esmės 8088 buvo 16 bitų procesorius: jis turėjo 16 bitų matematinius registrus, leidžiančius lengvai atvaizduoti skaičius nuo 0 iki 65 535 (arba nuo -32 768 iki 32 767), ir 16 bitų adresų registrus, leidžiančius lengvai bendrauja su 64 kilobaitais pagrindinės atminties. Dabar 64K nepakako daug kam padaryti, net 1981 m., kai pirmą kartą buvo pristatytas kompiuteris, todėl 8088 turėjo segmentų registrų rinkinį, kuris buvo perkeltas 4 bitais į kairę ir įtrauktas į adresų registrą prieš iš tikrųjų išleidžiant atminties adresus. skaityti ar rašyti. Dėl to 8088 galėjo lengvai pasiekti iki vieno megabaito atminties. 1981 m. megabaitas buvo daug RAM. Iš tiesų tuomet kompiuterių dizaineriai negalėjo įsivaizduoti, kad įprastam namų ar verslo vartotojui reikės tiek atminties, jau nekalbant apie tai, kad jis galėtų sau tai leisti, daugelį metų. Taigi IBM dizaineriai nubrėžė liniją per kompiuterio atminties žemėlapį ir vaizdo ekrano atmintį įdėjo tiesiai į viršutinės pusės vidurį, efektyviai apribodami ankstyvuosius asmeninius kompiuterius iki ne daugiau kaip 640 kilobaitų RAM. Tai buvo 640K ribos, kurią IBM kompiuteris nustatė savo DOS operacinei sistemai, atsiradimas.
Po kelerių metų „Intel“ pristatė kitą savo mikroprocesorių 80286. (80186 niekada nebuvo naudojamas asmeniniuose kompiuteriuose.) 286 buvo IBM PC/AT pagrindas. Jame buvo emuliacijos režimas (vadinamas tikruoju režimu), leidžiantis 286 paleisti tą pačią programinę įrangą kaip ir 8088, tačiau jis taip pat turėjo išplėstinį, apsaugotą režimą, leidžiantį veikti su iki 16 megabaitų RAM. Didžioji dauguma šių mašinų veikė realiuoju režimu, kad galėtų paleisti Microsoft DOS ir visas kitas programas, kurios buvo sukurtos originaliam IBM asmeniniam kompiuteriui. Iš tiesų, 286 buvo daug populiaresnis naudojant 8088 programinę įrangą nei 8088, nes 286 buvo daug greitesnis. Kai pradėsite tai padaryti, labai mažai 286 lustų iš tikrųjų buvo paleista apsaugotu režimu.
1985 m. Intel pristatė 80386 lustą – pirmąjį 32 bitų procesorių x86 šeimoje. Dar kartą šis mikroprocesorius turėjo vadinamąjį realų režimą, kad galėtų paleisti DOS ir likusią 8088 programinės įrangos bazę. Šios mašinos galėjo suktis aplink originalią 8088 – ne todėl, kad jos buvo 32 bitų mašinos, o todėl, kad jos turėjo greitesnį taktinį dažnį ir įmantresnį vidinį dizainą. Taip pat buvo keletas įmonių, parduodančių DOS plėtinius, leidžiančius programoms, įkeltoms naudojant DOS, pasinaudoti visa 32 bitų adresų erdve. Šie plėtiniai perjungė kompiuterį į 32 bitų režimą matematiniams tikslams, bet grąžino įrenginį į 16 bitų režimą, kai programai reikėjo pasiekti kompiuterio standųjį diską. Nepaisant to, 32 bitų programos, veikiančios šiuose 32 bitų procesoriuose, buvo išimtis, o ne taisyklė.
Tik tada, kai šioje srityje 32 bitų įrenginiai gerokai pranoko 16 bitų, „Microsoft“ pradėjo tiekti savo pirmąją tikrą 32 bitų operacinę sistemą – „Windows 95“. Iki to laiko „Intel“ išleido dar dvi x86 pagrindu veikiančių įrenginių kartas. mašinos - 80486 ir Pentium. Taip, „Microsoft“ galėjo pristatyti 32 bitų operacinę sistemą prieš „Windows 95“ pristatymą. Tačiau tai tikriausiai būtų buvę klaida: kam parduoti operacinę sistemą, kuri neveikia daugumoje rinkoje esančių kompiuterių?
Visa ši istorija staiga vėl tampa aktuali, nes svarstome apie kitą didelį PC architektūros šuolį – perėjimą nuo 32 bitų prie 64 bitų skaičiavimo. Tačiau, nors atlygis nuo 16 bitų adresų erdvės (arba 20 bitų, jei atsižvelgsite į 8088 segmentuotą architektūrą) į 32 bitus buvo didžiulis, dauguma kompiuterių vartotojų beveik nepastebės perėjimo nuo 32 bitų iki 64 bitų. Priežastis ta, kad 32 bitai iš tikrųjų yra pakankamai dideli, kad būtų galima išspręsti daugumą skaičiavimo užduočių – ne tik šiandienos, bet ir rytojaus.
Mažai tikėtina, kad perkėlimas nuo 32 bitų į 64 sukels tokį patį kvantinį greičio ar galimybių šuolį, kokį gavome nuo 16 bitų iki 32. Taip, 64 bitų adresas yra tikrai nereikšmingas, bet 32 bitai nėra ko čiaudėti.
Šiandien yra nedaug programų, kurioms tikrai reikia daugiau nei 4 gigabaitų atminties. Jei tai, ką darote, yra tekstų apdorojimas, skaičiuoklės, el. paštas ir naršymas internete, 32 bitai suteiks pakankamai vietos adresams įsivaizduojamai ateičiai. Mano „Windows“ stalinis kompiuteris yra atmintis, kurios „Internet Explorer“ kopija paprastai išplečiama iki 64 megabaitų. Tačiau tai vis tiek yra šešiasdešimt ketvirtadalis įrenginio 4 gigabaitų atminties žemėlapio dydžio. Neįsivaizduoju, kad galėčiau paleisti žiniatinklio naršyklę, kuriai prireiktų 4 gigabaitų atminties žemėlapio: vien tik parsisiųsti tiek informacijos per savo DSL liniją prireiktų beveik 10 valandų!
Galite pamanyti, kad kelių užduočių atlikimas su kitomis, panašiai didelėmis programomis, sukeltų nuolatinį atminties įtampą iki tokio lygio, kad daro nerimauti dėl adresų erdvės naudojimo. Tačiau taip nėra. „Windows“, „Unix“ ir kitos modernios operacinės sistemos naudoja techniką, vadinamą virtualia atmintimi, kad kiekvienai programai suteiktų atskirą atminties žemėlapį. 32 bitų kompiuteryje tai reiškia, kad kiekviena veikianti programa gauna savo 4 gigabaitus virtualios atminties, su kuria galima žaisti. Taigi, nors vienas veikiančios programos egzempliorius negali pasiekti daugiau nei 4 gigabaitų, 32 bitų įrenginyje, kuriame veikia Windows XP ir 10 ar 20 gigabaitų atminties, nekiltų problemų dalytis šia atmintimi išpūstos naršyklės, išpūstos Word kopijos. 2003 m. ir išpūsta „Access“ kopija.
Didelis skirtumas yra ta 64 bitų adresų erdvė, kai vienai programai reikia vienu metu pasiekti daugiau nei 4 gigabaitus atminties. Pavyzdžiui, jei naudojate tarptautinei korporacijai skirtą duomenų saugyklą su 10 terabaitų internetinės saugyklos, jūsų duomenų bazės serveris gali būti labai naudingas, nes atmintyje bus saugoma 10 arba 20 gigabaitų indekso failų. Didelio masto modeliavimas taip pat galėtų būti naudingas, nes turėtų daug RAM, pavyzdžiui, modeliuoti rytojaus orus.
Tokios įmonės kaip „Dell“ tiekia namų kompiuterius su 512 megabaitų RAM ir „Windows XP“ kompiuterius, kurie visoms savo programoms nuolat naudoja 1,5 gigabaito atminties, todėl rinkodaros specialistai, siūlantys 64 bitų skaičiavimą, sakys, kad jums reikia 64 bitų įrenginio. peržengti greitai artėjantį 4 gigabaitų limitą. Netikėk. Tiesą sakant, „Dell“ jau parduoda 32 bitų kompiuterius su 8, 16 ir 32 gigabaitų RAM. Rinkodaros specialistai nori, kad pirktumėte 64 bitų įrenginius, nes šios sistemos kainuoja daugiau.
Kitas būdas, kuriuo 64 bitų mašinos pranoksta šiandienines 32 bitų sistemas, yra matematika. Šiuolaikiniuose 32 bitų įrenginiuose yra procesoriai, galintys atvaizduoti bet kurį sveikąjį skaičių nuo 0 iki 4 294 967 295 (tai yra 232-1), o 64 bitų įrenginiai gali pateikti sveikuosius skaičius nuo 0 iki 18 446 744 073 709 551 415 ().
Vėlgi, galimybė atlikti matematiką su šiais didžiuliais skaičiais vienoje instrukcijoje gali būti didžiulis pranašumas kai kuriose mokslinėse programose. Tačiau pasirodo, kad daugeliui kasdienių biuro užduočių 64 bitų sveikųjų skaičių matematika nėra tokia naudinga. Pradedantiesiems taip yra todėl, kad jau turime mašinų, galinčių veikti 64 bitų: šiandienos mašinos tiesiog tai daro su specialios paskirties slankiojo kablelio apdorojimo įrenginiais arba su keliomis 32 bitų instrukcijomis. Daugumai operacijų specialios 64 bitų matematikos aparatinės įrangos tiesiog nereikia.
Jums nereikia priimti mano žodžio šiuo klausimu. Tiesiog pažvelkite į kitų 64 bitų architektūrų istoriją. Nors 64 bitai yra naujiena x86 pasaulyje, kiti mikroprocesoriai prie 64 bitų perėjo dar 1990-aisiais. Alpha, MIPS64 ir Sparc64 yra 64 bitų mašinos. Tačiau dauguma šiuose kompiuteriuose veikiančių programų iš tikrųjų ignoruoja kiekvieno skaičiaus viršutinius 32 bitus, nes šie skaitmenys visada yra 0.
Tikrasis 64 bitų pelnas: naujesni dizainai
Visi šie argumentai prieš 64 bitų mašinas susilieja į medį, tačiau atsisėdus prieš naująjį Apple G5 kompiuterį: nesvarbu, ar redaguojate vaizdo įrašą, ar tiesiog naršote internete, įrenginys jaučiasi žymiai greitesnis nei 32 bitų. G4 pusbroliai. Taigi ką duoda?
Išskyrus „Intel Itanium“ procesorių, šiandieniniai 64 bitų įrenginiai paprastai paleidžia 32 bitų kodą greičiau nei jų 32 bitų pusbroliai dėl tos pačios priežasties, dėl kurios 32 bitų „Intel 80386“ veikė 16 bitų kodą greičiau nei 8088 ir 80286. Priežastis ta, kad 64 bitų CPU yra tiesiog modernesni įrenginiai. Šie lustai yra pagaminti naudojant pažangesnius silicio procesus, turi didesnį taktinį dažnį ir daugiau tranzistorių. AMD Athlon64 ir IBM G5 turi ne tik platesnius registrus: jų silicio smegenyse taip pat yra daugiau funkcinių vienetų. Šie lustai geriau atlieka tokius dalykus kaip kelių instrukcijų vykdymas vienu metu, netvarkingas vykdymas ir šakų numatymas. Tas 64 bitų PowerMac G5, veikiantis Apple Store, daugiausia naudoja 32 bitų kodą. Įspūdingą įrenginio greitį lemia dviejų procesorių derinys, greitesnis laikrodžio dažnis, didesnė talpykla ir geresnė atminties magistralė.
Taip, AMD ir IBM galėjo įdiegti tą pačią technologiją į naują 32 bitų dizainą. Tačiau šiais laikais naujo lusto sukūrimas kainuoja milijardus dolerių. 64 bitų procesorius gali kainuoti didesnę kainą nei 32 bitų procesorius, todėl šioms įmonėms naudinga įdiegti naujausias ir geriausias technologijas į savo 64 bitų gaminius.
Žvelgiant į ateitį, 64 bitų kompiuteriai tikrai prigis, nes 64 bitų mašinos tiesiog atliks geriau, naudodamos šiandieninį 32 bitų kodą, nei šiandieniniai 32 bitų procesoriai. Tačiau rinka gali lengvai vystytis kita kryptimi. Šie papildomi 32 bitai sunaudoja daug energijos, todėl įmonės, kuriančios nešiojamiesiems ir delniniams kompiuteriams skirtus CPU, gali tiesiog panaudoti 64 bitų įrenginiams sukurtus triukus savo 32 bitų įrenginiuose.
Tas pats nutiko ir žaidimų konsolėse. Nors prieš kelerius metus buvo daug įspūdžių, kai „Nintendo“ nusprendė naudoti 64 bitų R4300i procesorių savo „Nintendo 64“ sistemai, vaizdo žaidimų grotuvai iš tikrųjų neturėjo naudos iš papildomų 32 bitų adreso ar matematikos. Tuo metu R4300i buvo greitas lustas, nes jame buvo įdiegta daug kitų naujausių metodų, leidžiančių pagreitinti programos vykdymą. Jis galėjo užtikrinti tokį patį našumo lygį, jei tie gudrybės būtų buvę pritaikyti 32 bitų procesoriui. Greitį atnešė gudrybės, o ne smulkmenos.
128 bitų apribotas?
Išgyvenus šuolį nuo 8 iki 16 bitų, tada nuo 16 iki 32, o dabar nuo 32 iki 64, natūralu manyti, kad kažkada tolimoje ateityje pereisime nuo 64 bitų prie 128 bitų sistemų. Nelaikykite kvėpavimo.
Svarbu atsiminti, kad bitai yra eksponentiniai. 32 bitų sistema gali kreiptis 65 tūkst kartų daugiau atminties nei 16 bitų sistema, o 64 bitų sistema turi teorinę atminties adresų erdvę 4 mlrd kartų didesnis nei 32 bitų sistemoje. Iš tikrųjų galėtumėte sukurti vieną atminties sistemą, kurioje būtų 264 baitai atminties, naudojant šiuolaikinę aparatinę įrangą, tačiau jums reikės naudoti daugiau nei 200 milijonų standžiųjų diskų, kurių kiekviename telpa 256 gigabaitai informacijos. Tai daugiau saugyklos vietos, nei 2003 m. suteikė visa pasaulio standžiųjų diskų pramonė. Taigi, nors šiandien galima sukurti atminties sistemą, talpinančią 264 baitus, tikriausiai tektų naudoti visus prie interneto prijungtus kompiuterius pasaulyje. .
Nors įmanoma įsivaizduoti ateitį, kai kompiuteriai galės pasiekti 264 baitų duomenų bazes, sunku įsivaizduoti vieną problemą, dėl kurios programai reiktų turėti tiek atminties vienoje adresų erdvėje. Viena iš priežasčių, kodėl tokia neįtikėtinai didelė sistema nėra prasminga, yra ta, kad nesukursite tokios sistemos su vienu procesoriumi ir viena vieninga adresų erdve: vietoj to naudotumėte milijonus ar milijardus apdorojimo elementų, kurių atmintis persidengia ir atsakomybė. Tokiu būdu, jei vienas procesorius ar atminties blokas sugestų, kitos sistemos sklandžiai perimtų valdymą.
Atsižvelgiant į tokius argumentus, gana neprotinga įsivaizduoti, kad jums prireiks 2128 bitų saugyklos – ne per visą mūsų gyvenimą, ne per visą gyvenimą.
Kita vertus, dėl viso šito galiu visiškai klysti: 64 bitai gali būti kaip tik norint sukurti viso kūno virtualią realybę su proto ir proto keitimo galimybėmis. Arba labiau tikėtina, kad tokios įmonės kaip „Dell“ gali nuspręsti sekti „Apple“ pavyzdžiu ir nustoti pardavinėti žemos klasės įrenginius su 32 bitų procesoriais, o pasikliauti 64 bitų mašinų rinkodaros ažiotažu, kad pateisintų didesnę pelno maržą.
Tačiau atminkite, kad apačioje visada yra vietos. Ir kadangi 32 bitų mašinos greičiausiai bus naudingos dar bent dešimtmetį, jei ne ilgiau, nustebčiau, kai „Dell“ perleis šią rinką kitai įmonei. Tiesiog pažvelkite į „Apple“: nors visi „Apple“ parduodami „PowerMac“ staliniai kompiuteriai yra su G5 procesoriais, bendrovė vis dar naudoja G4 savo „iMac“, „eMac“ ir „PowerBook“ kompiuteriuose.
Asmeniškai manau, kad 32 bitų sistemos bus su mumis dar ilgai.