Co je bitová hloubka procesoru a jak ji určit? Jaká je bitovost operačního systému? x86 a x64 Jak zjistit, kolik bitů má procesor.

Mnozí na našem webu se ptají, jaká bitová velikost (bit) Windows by měla být nainstalována na počítači, 32 nebo 64 bit? V tomto článku si objasníme situaci s volbou 32 nebo 64 bitových systémů.

Nejprve si ujasněme, jaká je bitová hloubka (bitová hloubka) architektury.

Termíny 32-bit a 64-bit označují způsob, jakým procesor počítače (CPU) zpracovává informace. 64bitová verze systému Windows zpracovává velké množství paměti RAM (random access memory) efektivněji než 32bitový systém. Wikipedie má 2 stránky o 32 (x86) a 64bitové architektuře:

  • 32 (x86) - architektura procesoru se stejnou instrukční sadou, poprvé implementovaná v procesorech Intel.

    Název je odvozen od dvou čísel, která končila názvy raných procesorů Intel – 8086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). Za dobu své existence se sada příkazů neustále rozšiřovala a udržovala si kompatibilitu s předchozími generacemi.

    Kromě Intelu byla architektura implementována i do procesorů jiných výrobců: AMD, VIA, Transmeta, IDT atd. V současné době existuje další název pro 32bitovou verzi architektury - IA-32 (Intel Architecture - 32 ).

  • 64 - 64bitové rozšíření, instrukční sada, pro architekturu x86, vyvinutá společností AMD, umožňující spouštění programů v 64bitovém režimu.

    Jedná se o rozšíření architektury x86 s téměř úplnou zpětnou kompatibilitou. Microsoft a Oracle používají k označení této instrukční sady termín "x64", ale adresář souborů pro architekturu v distribucích Microsoft Windows se nazývá "amd64" (srov. "i386" pro architekturu x86).

    Instrukční sada x86-64 je aktuálně podporována:

  1. AMD - Procesory řady Z (například AMD Z-03), řada C (například AMD C-60), řada G (například AMD T56N), řada E (například AMD E- 450), E1, E2, A4, A6, A8, A10, FX, Athlon 64, Athlon 64 FX, Athlon 64 X2, Athlon II, Phenom, Phenom II, Turion 64, Turion 64 X2, Turion II, Opteron, FX, nejnovější modely Sempron;
  2. Intel (s drobnými zjednodušeními) nazvaný "Intel 64" (dříve známý jako "EM64T" a "IA-32e") v pozdních procesorech Pentium 4, stejně jako Pentium D, Pentium Extreme Edition, Celeron D, Celeron G-series, Celeron B-série, Pentium Dual-Core, Pentium T-series, Pentium P-series, Pentium G-series, Pentium B-series, Core 2 Duo, Core 2 Quad, Core 2 Extreme, Core i3, Core i5, Core i7, Atom (ne všechny) a Xeon;
  3. VIA - procesory Nano, Eden, QuadCore.

Ano, to vše je těžké pochopit. Vysvětlím vlastními slovy, 64bitová architektura OS je vylepšená 32 (86) bitová architektura. Má novější instrukční sady pro výpočty a zvládne i větší množství paměti RAM. Pokud vezmeme rodinu OS Windows, pak 32bitový OS ve skutečnosti zvládne pouze 3,2 gigabajtů RAM a 64 teoreticky až 4 terabajty. Co nám to říká?

Co si vybrat: 32 nebo 64?

O tom, že je vhodné instalovat OS na základě velikosti RAM. Pokud máte například 3 GB RAM nebo méně, je pro vás lepší nainstalovat 32bitový systém, a pokud máte více než 3 GB, je lepší nainstalovat 64bitový systém. Ale nezapomeň na to, jaký máš procesor. V naší službě jsme si již dlouho všimli, že pokud má procesor nízkou frekvenci (od 1 do 2,4 GHz), pak na 64bitovém OS počítač běží pomalu, i když má nainstalované 4 a více GB RAM. Podle naší služby je lepší na takové počítače nainstalovat 32bitové systémy a ne více než 4 GB RAM. Navíc velcí výrobci notebooků s nízkofrekvenčními procesory instalují z výroby i 32bitové systémy i se 4GB pamětí. Instalace 64bitové verze systému Windows vyžaduje procesor, na kterém lze spustit 64bitový systém Windows. Výhody použití 64bitového operačního systému jsou patrné zejména při práci s velkým množstvím paměti RAM (random access memory), například 4 GB nebo více. V takových případech 64bitový operační systém zpracovává velké množství paměti efektivněji než 32bitový systém. 64bitový operační systém pracuje rychleji při spouštění více programů současně a častém přepínání mezi nimi. V každém případě je na vás, co si nainstalovat, a na vaše otázky odpovíme níže.

Jak zjistím, zda má můj počítač 32bitový nebo 64bitový systém Windows?

Chcete-li použít systém Windows nebo zjistit, kterou verzi systému Windows váš počítač používá (32bitovou nebo 64bitovou), postupujte takto.

    Otevřete komponentu Systém. Chcete-li to provést, klepněte na tlačítko Start, klepněte pravým tlačítkem myši na Počítač a vyberte Vlastnosti. Ve Windows 8 otevřete Ovládací panely a přejděte na Systém.

    V části Systém můžete zobrazit typ systému.

Pokud váš počítač používá systém Windows XP, postupujte takto:

    Klepněte na tlačítko Start.

    • Pokud v zobrazeném okně není uvedeno „x64 Edition“, váš počítač používá 32bitovou verzi systému Windows XP.

      Pokud je v části Systém uvedeno „x64 Edition“, váš počítač používá 64bitovou verzi systému Windows XP.

Jak zjistím, zda můj počítač může používat 64bitovou verzi systému Windows?

Aby počítač fungoval v 64bitové verzi systému Windows, musí mít 64bitový procesor. Chcete-li zjistit, zda váš procesor podporuje 64bitové výpočty v systému Windows, postupujte takto:

  1. V typu vyhledávání MSINFO nebo
  2. Otevřete sekci Počítadla výkonu a nástroje. Chcete-li to provést, klikněte na tlačítko Start a vyberte součást Ovládací panely (v 8 okamžitě přejdeme do Ovládacích panelů). Do vyhledávacího pole zadejte Čítače výkonu a nástroje a pak ze seznamu výsledků vyberte Čítače výkonu a nástroje.

    Proveďte jednu z následujících akcí.

    • V systému Windows vyberte možnost Zobrazit a vytisknout podrobné informace o výkonu počítače a systému.

    V části Systém můžete vidět, jaký typ operačního systému používáte (v části Typ systému) a zda můžete používat 64bitovou verzi Windows (pod podporou 64bitů). (Pokud váš počítač již používá 64bitovou verzi systému Windows, sekce 64bitové podpory se nezobrazí.)

Chcete-li zjistit, zda počítač se systémem Windows XP může používat 64bitovou verzi systému Windows, postupujte takto:

    Klepněte na tlačítko Start.

    Klepněte pravým tlačítkem myši na Tento počítač a vyberte Vlastnosti.

    • Pokud je v části Systém uvedeno „x64 Edition“, procesor podporuje spuštění 64bitové verze systému Windows.

      Pokud není k dispozici štítek „x64 Edition“, může být procesor kompatibilní i s 64bitovými verzemi systému Windows. Chcete-li tuto možnost určit, stáhněte si a spusťte bezplatný Poradce pro upgrade na systém Windows 7 Poradce pro migraci na Windows 7.

Mohu upgradovat z 32bitového systému Windows na 64bitový systém Windows nebo přejít z 64bitového systému Windows na 32bitový systém Windows?

Pokud chcete upgradovat z 32bitové verze systému Windows na 64bitovou verzi systému Windows nebo naopak, měli byste zálohovat soubory a zvolit úplnou instalaci systému Windows. Poté musíte obnovit soubory a přeinstalovat programy.

Poznámky

    Chcete-li nainstalovat 64bitovou verzi systému Windows do počítače s 32bitovým systémem Windows, budete muset počítač spustit pomocí instalačního disku nebo souborů 64bitového systému Windows.

    Pokud počítač, který se spouští pomocí 64bitové verze instalačního disku nebo souborů systému Windows, tuto verzi systému Windows nepodporuje, zobrazí se chybová zpráva Správce spouštění systému Windows. Místo toho budete muset použít instalační disk nebo soubory z 32bitové verze systému Windows.

    Nástroj Migrace profilu uživatele nepřesouvá soubory z 64bitového systému Windows do 32bitového systému Windows. Pokud používáte 64bitovou verzi systému Windows XP, budete muset ručně přenést soubory na externí médium.

Mohu spouštět 32bitové programy a ovladače na 64bitovém počítači?

Většina programů určených pro 32bitové verze systému Windows poběží také v 64bitových verzích systému Windows. Některé antiviry jsou výjimkou.

Ovladače zařízení navržené pro 32bitové verze systému Windows nefungují na počítačích s 64bitovými verzemi systému Windows. Pokud se pokusíte nainstalovat tiskárnu nebo jiné zařízení s 32bitovým ovladačem, nebude v 64bitové verzi systému Windows fungovat správně.

Mohu spouštět 64bitové programy a ovladače na 32bitovém počítači?

Pokud je program speciálně navržen pro spuštění v 64bitovém systému Windows, nepoběží v 32bitovém systému Windows. (Většina programů určených pro 32bitové verze systému Windows však funguje také v 64bitových verzích systému Windows.)

Ovladače zařízení navržené pro 64bitové verze systému Windows nefungují na počítačích s 32bitovými verzemi systému Windows.

Potřebuji 64bitové ovladače zařízení při spuštění 64bitového systému Windows?

Ano. Všechna zařízení vyžadují ke spuštění v 64bitovém systému Windows 64bitové ovladače. Ovladače navržené pro 32bitové verze systému Windows nefungují na počítačích s 64bitovými verzemi systému Windows.

Jaké jsou nevýhody 64bitových Windows?

  • Zasekává se při malém množství paměti RAM.
  • Je obtížné najít ovladače pro stará zařízení, například tiskárny, skenery, TV tunery atd.
  • Některé starší programy a hry nefungují na 64bitové architektuře.
  • Některá starší Windows, například Windows 7 Starter, nelze spustit na 64bitovém systému.

No, to je vše, co jsme vám chtěli v tomto článku říci, doufáme, že se rozhodnete správně! Pokud potřebujete dobré počítačové tipy, klikněte na odkaz a zjistěte více o svém počítači.

Pokud nám v článku něco uniklo, napište nám do komentářů a my to doplníme. Také pokud vám byl materiál užitečný nešetřete na lajcích!

Bitová kapacita procesoru je určitý počet procesů zpracovaných za jednotku času. Existují x32 (x86) a x64bitové procesory a operační systémy. Znalost bitové kapacity procesoru je nezbytná pro správnou instalaci programů a velikost podporované paměti RAM.

Od roku 2015 jsou zastaralé počítače s procesorem x32. Takové počítače zvládají maximálně 4 GB RAM. Sloty na základní desce nepřijmou proužky RAM s objemem přesahujícím toto číslo. Operační systém musí být také 32bitový. Procesory nové generace mají x64 bitů. Zpracovávají data mnohem rychleji, podporují procesory od 2 jader a „čtou“ RAM od 4 GB do 32 GB. Windows musí být také 64bitový. Bitovost počítače můžete zkontrolovat prostřednictvím Vlastnosti. Chcete-li to provést, dvakrát klikněte na ikonu „Tento počítač“ na ploše. Dále klikněte na tlačítko „Vlastnosti systému“. Hodnota „Typ systému“ zobrazuje bitovou hodnotu operačního systému a rovná se bitové rychlosti centrálního procesoru. Ve verzích Windows 8, 8.1 tato hodnota současně označuje oba parametry: operační systém i CPU.


Další jednoduchou a účinnou metodou kontroly je podívat se na počet složek „Program Files“. Chcete-li to provést, přejděte na „Tento počítač“, otevřete „Místní disk (C:)“. Věnujte pozornost složkám „Program Files“. Pokud jej máte, znamená to, že počítač má kapacitu procesoru x32. Pokud jsou dva, jeden z nich je „Program Files (x86)“, pak je CPU x64.


Počet jader procesoru a jeho bitovou hloubku můžete zkontrolovat pomocí Správce úloh. Vyvolejte ji pomocí kombinace kláves Ctrl+Alt+Delete nebo kliknutím pravým tlačítkem myši na hlavní panel a výběrem „Spustit správce úloh“.


Otevře se okno Správce úloh systému Windows. Přejděte na kartu „Výkon“. Pokud je váš procesor 64bitový, uvidíte dvě okna CPU s různými diagramy, jako na snímku obrazovky. Pokud je pouze jedno okno, pak je procesor 32bitový.


A poslední způsob, jak přesně zkontrolovat bitovou kapacitu počítače bez dalších programů, je Správce zařízení. Otevřeme jej následovně: stiskněte klávesu „Start“, klikněte na kartu „Ovládací panely“. V zobrazeném okně klikněte na kategorii „Hardware a zvuk“. Na kartě „Zařízení a tiskárny“ klikněte na „Správce zařízení“. Vedle tohoto textu je nakreslen žlutomodrý štít.


Otevřelo se další okno programu. Otevřete položku „Počítač“ a položku „Procesory“. Význam čteme v pododstavcích. Můj počítač má kapacitu x64 a dvě procesorová jádra, jak je znázorněno na snímku obrazovky. Pokud je váš počítač 32bitový, bude mít jeden procesor a samozřejmě jiný model počítače. Kromě těchto údajů můžete ve Správci zařízení zobrazit informace o každé části počítače, nainstalovaném ovladači a hardwaru. Chcete-li zobrazit informace pomocí programu, použijte aplikaci CPU-Z.


Nyní víte, jaká je bitová kapacita centrálního procesoru a její význam. A snadno si to jakýmkoliv způsobem ověřte.

Ve většině případů uživatelé myslí na bitovost operačního systému a procesoru, až když s tím začnou.

Pak vyvstávají dvě otázky. Za prvé, jaký operační systém je nainstalován, 32 nebo 64 bit. A za druhé, je možné nainstalovat 64bitový systém, podporuje to procesor?

Na tyto otázky se pokusíme odpovědět v tomto materiálu. Zde si povíme, jak zjistit, jaký systém je aktuálně nainstalován a zda procesor podporuje instalaci 64bitového systému.

Kapacita systému a procesoru ve Windows 8 nebo Windows 10

Pokud používáte Windows 8 nebo, pak abyste zjistili, zda procesor podporuje 64bitový systém a jaký systém je aktuálně nainstalován na vašem počítači, nepotřebujete žádný další software. Všechny potřebné informace lze získat pomocí nástrojů zabudovaných do Windows.

Chcete-li to provést, jednoduše otevřete okno „Zobrazit informace o vašem počítači“. Toto okno lze otevřít různými způsoby. Pokud je například na ploše ikona počítače, můžete na ni jednoduše kliknout pravým tlačítkem myši a z nabídky, která se otevře, vybrat položku „Vlastnosti“. Nebo můžete otevřít „Ovládací panely“ a přejít do části „Systém a zabezpečení – Systém“. Nejjednodušší způsob, jak otevřít okno „Zobrazit informace o vašem počítači“, je kombinace kláves Windows-Pause/Break.

Po otevření okna „Zobrazit informace o vašem počítači“ musíte věnovat pozornost řádku „Typ systému“; bude indikovat bitovou bitovost operačního systému a bitovost procesoru.

Pokud máte například 64bitový systém a 64bitový procesor, bude to vypadat jako na obrázku níže.

Pokud máte nainstalovaný 32bitový systém, ale 64bitový procesor, bude to vypadat takto.

Pokud je procesor uveden jako 64bitový, znamená to, že podporuje 64bitové systémy a v případě potřeby jej můžete nainstalovat.

Kapacita systému a procesoru ve Windows 7 a XP

Pokud používáte Windows 7 nebo Windows XP, výše popsaná metoda vám neposkytne všechny informace. Například Windows 7 má také okno „Zobrazit informace o vašem počítači“ a otevírá se stejně jako ve Windows 8 nebo Windows 10 (přes Vlastnosti počítače, Ovládací panely nebo pomocí kombinace kláves Windows-Pause/Break). Ale ve Windows 7 toto okno obsahuje pouze informace o bitové hloubce systému, informace o bitové hloubce procesoru nejsou.

Ve Windows XP můžete také otevřít okno s informacemi o vašem počítači, kde se nazývá „Vlastnosti systému“. Chcete-li jej otevřít, musíte kliknout pravým tlačítkem myši na ikonu „Tento počítač“ a vybrat „Vlastnosti“ nebo stisknout kombinaci kláves Windows-Pause/Break. Ve Windows XP bude v okně Vlastnosti systému bitová hloubka systému uvedena pouze v případě, že používáte 64bitový systém Windows XP.

Pokud je Windows XP 32bitový, pak o bitové hloubce nebude ani zmínka.

18. 07.2018

Blog Dmitrije Vassiyarova.

Kapacita procesoru – pojďme se ponořit do podstaty

Ahoj moji milí čtenáři, pokračuji v naší sérii rozhovorů věnovaných srdci jakéhokoli počítače. Dnes bude předmětem diskuse bitová kapacita procesoru. Možná někteří z vás nevěnovali pozornost tomuto indikátoru a dokonce úspěšně používali počítač bez těchto informací. Ale protože jste se rozhodli zvýšit úroveň svých znalostí, pojďme zjistit, co to je a co to ovlivňuje.

Abychom se co nejvíce přiblížili pochopení procesu, považuji za nutné připomenout si některé pojmy.

Informace v procesoru jsou prezentovány v digitální podobě, která zase vypadá jako série pulzů s určitou sekvencí signálů (je zde napětí - „1“, žádné napětí - „0“). Jeden puls je malá informace.

Signály přicházejí do tranzistorů logických obvodů krystalu s určitou hodinovou frekvencí. Pokud čip čte každý bit zvlášť, bude to velmi dlouhé a nepohodlné. Je mnohem snazší zpracovat jeden nebo více symbolů v jednom hodinovém cyklu, které představují velmi specifické informace.

Pro pohodlnější práci procesoru s daty má speciální registry pro záznam množství informací zpracovávaných CPU v jednom. Každý z nich obsahuje sadu 4, 8, 16, 32 nebo 64 kódových znaků, nazývaných „strojové slovo“.

Pokusím se tento proces popsat jednoduchými slovy a jasnou analogií. Je to jako učit číst dítě, které se právě začalo učit abecedu. Písmena jsou dlouhá a nesrozumitelná, ale slabiky jsou jednodušší. Kromě toho jsou dítěti nejprve nabídnuta slova speciálně rozdělená na jedno- nebo dvoupísmenné slabiky. A když si tuto dovednost osvojí, dokáže přečíst něco složitějšího, přidat slabiky tří nebo čtyř písmen.

Stejně tak inženýři léta zdokonalovali mikroprocesory a nadále je „cvičili“ na čtení delších „strojových slov“. Ale pro použití v technické dokumentaci není takový termín nejlepší volbou.

Proto se hodnota udávající velikost bloku informací zpracovaných v jednom hodinovém cyklu nazývala bitová kapacita procesoru. Tento parametr, stejně jako „slovo“, se měří v bitech.

Průběh bitů procesoru

Vůbec prvním sériovým čipem byl 4bitový Intel 4004, určený výhradně pro kalkulačky. Pomocí kombinace 4 nul nebo jedniček lze zakódovat 2^4=16 znaků. A to stačilo na 10 čísel a 6 znaků základních početních operací.

Ne nadarmo jsem uvedl příklad s výpočtem, abych ukázal, že ve skutečnosti je pro efektivní provoz CPU v počítačích potřeba velká bitová kapacita. Ostatně i 8bitové procesory mají značná omezení.

Výrobci čipů proto aktivně pracovali nejen na technologii zpracování křemenných krystalů, ale také na mikroarchitektuře, což je systém interakce mezi jednotlivými komponentami procesoru a zpracovávanými daty.

V důsledku toho se v roce 1978 objevil první 16bitový procesor 8086 běžící na x86, který se ukázal jako velmi úspěšný, protože měl obrovský potenciál pro neustálé zlepšování a zdokonalování.

Jeho třetí generace umožnila v roce 1985 vytvořit 32bitový procesor Intel 80386, již běžící na architektuře IA-32.

Pokrok se nezastaví

Samotný systém x86 od počátku své existence pravidelně dostával nejrůznější rozšíření, která přidávala nové funkce. Potřeba toho však byla konstantní: objem zpracovávaných dat a velikost používaných souborů neustále rostly. A 32bitové procesory již nebyly bezmocné při řešení složitých problémů (blok větší než 4 GB se již nevešel do registru CPU).

Intel se pokusil vytvořit novou architekturu IA-64 se zpětnou kompatibilitou, ale její rychlost byla neuspokojivá.

Větších úspěchů při řešení tohoto problému dosáhli jejich přímí konkurenti AMD. Šli osvědčenou cestou. A v roce 2003 představili nové rozšíření pro 32bitovou architekturu s názvem AMD64.

Řešení implementované v procesorech Opteron, Athlon 64 a Turion 64 se ukázalo být natolik úspěšné, že Intel získal licenci na sadu řídicích instrukcí. Na základě toho již vytvořili svůj vlastní produkt: architekturu EM64T. Což se v současnosti používá ve všech jejich procesorech.

Takové inovace umožnily nejen zrychlit provoz samotného procesoru. Ale také umožnily využít paměťovou sběrnici k přesunu souborů téměř neomezené velikosti.

Vzhledem k tomu, že 64bitový procesor je pokročilejším řešením, pravděpodobně budete chtít zjistit, zda je procesor nainstalovaný ve vašem počítači takový. Řeknu vám, kde tyto informace hledat.

V nejnovějších verzích Windows to lze provést otevřením nastavení systému, kde je uvedena bitová hloubka operačního systému a procesoru, která se může lišit. Pokud váš počítač není příliš starý, pak s největší pravděpodobností uvidíte, že CPU na něm je moderní. K tomuto účelu je také vhodné použít malý program CPU-Z, který poskytne spoustu podrobných informací o procesoru (včetně označení řídících instrukcí).

Co je ovlivněno bitovou hloubkou operačního systému a procesoru?

A zde má mnoho lidí často otázku: „Můj procesor je 64bitový, ale operační systém v mém počítači je 32bitový. Co se stane, nevyužívám efektivně možnosti hardwaru svého počítače?" rozhodně ti neodpovím. Ano to je...

Zde jsou nuance 32bitového operačního systému:

  • Většina oblíbených programů a aplikací pro PC je nabízena k instalaci (stažení) buď ve dvou verzích, nebo jsou univerzální. A úspěšně fungují na systémech s jakoukoli kapacitou. Dokonce i Windows jsou nabízeny k instalaci ve 32 nebo 64 bitové podobě. Proč jsou obě možnosti stále oblíbené? Více o tom později;
  • Takový OS nevidí RAM větší než 4 GB. 32bitový systém má však zjevné výhody: zpracovává informace po menších částech. To znamená, že čtení a přenos jednoho strojového slova stráví méně času. Díky tomu můžete s pamětí pracovat efektivněji. A také s jednoduchými aplikacemi a malými soubory;

64bitový systém je vynikající volbou pro hry, zpracování videa a další náročné programy. Ale pro ni je lepší mít RAM s rezervou. Proč? Ano, protože spotřebovává více zdrojů. Ostatně efektivita využití jeho prostoru u takového operačního systému může být nižší než u 32bitového;

Nyní, když jste určili své preference OS, vraťme se k bitové velikosti procesoru. Pokud je 32bitový, lze nainstalovat pouze odpovídající systém. Pokud máte 64bitový procesor, můžete nainstalovat jakoukoli verzi operačního systému. Nezapomínejte ale na množství paměti RAM.

Tím naše seznámení s bitovou kapacitou procesoru končí. Doufám, že se nyní budete moci pochlubit svými znalostmi na toto téma i v rozhovoru s odborníky.

Uvidíme se na nových stránkách mého blogu a přeji všem hodně štěstí.

Účelem tohoto článku je pokus zasít pochybnosti do hlavy čtenáře, který je přesvědčen, že o bitové hloubce ví všechno nebo téměř všechno. Pochybnosti by však měly být konstruktivní, aby motivovaly vlastní výzkum a zlepšily porozumění.

Termín „bitová kapacita“ se často používá při popisu výpočetních zařízení a systémů, což znamená počet bitů, které jsou současně uloženy, zpracovány nebo přeneseny do jiného zařízení. Ale konkrétně ve vztahu k centrálním procesorovým jednotkám (CPU), jako nejsložitějším zástupcům výpočetního hardwaru, které nelze rozdělit na jednotlivé části (dokud někdo nepřišel na to, jak samostatně prodávat cache nebo multiplikátor uvnitř čipu), koncept tzv. bitová kapacita se ukazuje jako velmi vágní. Spekulativní příklad to pomůže demonstrovat.

Představte si, že jsme v požehnaných 80. letech, na světě jsou (stále) desítky výrobců CPU a v jednom z nich pracujete na další generaci. Na světě zatím nejsou žádné 256bitové SSE8, vestavěné GPU a 5kanálové paměťové řadiče, ale již máte hotový 16bitový procesor (přesněji je v technické dokumentaci napsáno „16bit“ ), ve kterém je 16 bitů všude a ve všem – od všech externích sběrnic až po architektonickou velikost zpracovávaných dat. Skutečným příkladem takového CPU by byly první jednobalíčkové (i když ne jednočipové) CPU pro architekturu DEC PDP-11. A nyní přichází úkol managementu – vyvinout novou, zpětně kompatibilní generaci stejného CPU, která bude 32bitová – aniž by bylo upřesněno, co se tím to druhé myslí. Právě toto chápání je třeba nejprve objasnit. Naše hlavní otázka tedy zní: co přesně je potřeba zdvojnásobit z hlediska bitové kapacity v našem stále zcela 16bitovém CPU, aby se výsledný procesor mohl nazývat 32bitový? Abychom usnadnili řešení problému, použijeme dva přístupy: systematizovat definice a podívat se na příklady.

První věc, která vás napadne, je bitová hloubka toho, co přesně počítat? Vraťme se k definici jakéhokoli informačního systému: jeho tři hlavní funkce jsou zpracování, ukládání a vstup/výstup dat, za které zodpovídá procesor(y), paměť a periferie. Vzhledem k tomu, že komplexní hierarchicky soběpodobný systém se skládá z mnoha komponent, lze tvrdit, že toto rozdělení funkcí je zachováno na úrovni komponent. Stejný procesor například zpracovává především data, ale je také povinen je ukládat (pro to má relativně malou paměť) a vyměňovat si je s jinými komponentami (k tomu existují různé sběrnice a jejich řadiče). Proto funkčně oddělíme bitové hloubky zpracování, ukládání a výměny informací.

Dovolil bych si tvrdit, že všichni výrobci jakéhokoli programovatelného hardwaru, zejména procesorů, se z 90 % nesnaží o koncové uživatele, ale o programátory. Z pohledu výrobců tedy musí procesor provádět správné příkazy správným způsobem. Na druhou stranu detaily krystalové struktury (topologické, elektrické a fyzikální parametry jednotlivých tranzistorů, hradel, logických prvků a bloků) mohou být skryty nejen před uživatelem, ale i před programátorem. Ukazuje se, že bitovou hloubku je třeba odlišit implementací – fyzickou a architektonickou.

Je třeba dodat, že programátoři se také liší: většina aplikačních programů píše v jazycích na vysoké úrovni pomocí kompilátorů (což činí kód do jisté míry nezávislým na platformě), některé ovladače pro zápis a součásti OS (což je nutí k větší opatrnosti). o zohlednění skutečných možností hardwaru), existují tvůrci používající assembler (který samozřejmě vyžaduje znalost cílového procesoru) a někteří sami píší kompilátory a assemblery (podobně). Proto programátory dále pochopíme přesně ty, pro které jsou detaily hardwarové implementace důležité, když ne pro psaní programu obecně, tak alespoň pro optimalizaci jeho rychlosti - „architektonická“ bitová kapacita něčeho se bude týkat konkrétně programování. v nativním strojovém jazyce procesoru nebo pohodlnějším assembleru, aniž byste se dostali do nitra CPU (toto jsou otázky mikroarchitektury, kterou jsme pro větší rozlišení nazvali fyzickou implementací). Popsané nuance stále ovlivňují všechny programátory, protože... Jazyky na vysoké úrovni jsou téměř vždy překládány do strojového kódu kompilátory a kompilátory také musí někdo napsat. Stranou nezůstávají ani výjimky v podobě tlumočených jazyků - samotní tlumočníci jsou také vytvářeni pomocí kompilátorů.

Zbývá zvážit bitovou hloubku toho, jaké informace nás zajímají. Co obecně spotřebovává a generuje CPU v informačním smyslu? Příkazy, data, adresy a signální a řídicí kódy. O těch druhých nemluvíme – jejich bitová hloubka je v konkrétní hardwarové implementaci striktně fixní a ve většině případů není programově ovladatelná. S příkazy je to trochu složitější – například v architektuře rodiny RISC musí být šířka libovolného přístupu do paměti rovna fyzické šířce datové sběrnice procesoru, vč. a při čtení kódu (až na některé relaxace v moderních ARM a PowerPC). To je dobré pro CPU - nejsou žádné problémy s nezarovnaným přístupem, všechny instrukce mají stejnou, nebo proměnnou, ale jednoduše vypočítanou délku. Ale pro programátora je to špatné - RISC je zkrácená sada instrukcí, které navíc zabírají více místa než s kompaktnějším kódováním (stejný algoritmus vyžaduje více instrukcí, ale stejný počet instrukcí vyžaduje více bajtů). Proto právě paradigma CISC vyhrálo největší přístup svou rozmanitostí a proměnlivou délkou příkazů, která se nerovná bitové kapacitě něčeho. Samozřejmě, že všechny moderní CPU jsou vnitřně skutečné RISC, ale to je pouze fyzické, nikoli architektonické. Zbývají pouze dva typy informací – data a adresy. Pojďme se na ně podívat, shromážděme je

Máme tři kritéria pro typy bitové kapacity: funkční (zpracování, ukládání a výměna), implementační (fyzická a architektonická) a typická (data a adresy). Celkem existuje již 12 druhů této nepochopitelné věci. Předpokládejme, že pro každou kombinaci kritérií pro náš zdrojový CPU odpovídáme „16-bit“ (jak fyzická kapacita zpracování dat, tak architektonické úložiště adres a vše ostatní). Nyní se podívejme, která z těchto otázek musí nutně dát odpověď „32bitová“, aby výsledný procesor dopadl přesně takto.

Začněme architektonickou částí. Musí CPU ukládat data a adresy v logickém 32bitovém formátu, aby mohl být nazýván 32bitovým? Pokud jde o data, samozřejmě ano, ale s adresami to není tak jednoduché. Téměř všechny 8bitové (podle dat) CPU mají schopnost ukládat 16bitové adresy do párů registrů (jinak by neviděly 16bitové adresování běžné na těchto platformách), ale to neznamená, že se nazývají 16bitové. . Možná, že když CPU umí ukládat 32bitová data, ale pouze 16bitové adresy, už se to dá nazvat 32bit?..

Na podobné otázky týkající se architektonických výpočtů nad 32bitovými daty a adresami, stejně jako softwarové 32bitové výměny dat se softwarovým 32bitovým adresováním, může být odpověď stejná - s daty je to nutné, ale s adresami to není skutečnost.

Přejděme k fyzické implementaci. Měl by CPU ukládat data a adresy ve fyzicky 32bitovém formátu? Ukazuje se, že to není nutné, protože... pro 32bitové operandy lze spárovat registry, což úspěšně využívají 8bitové CPU počínaje i8080. A 16bitový Z8000 Zilog mohl dokonce zčtyřnásobit registry, čímž získal 64bitový argument (pouze pro data). To není tak efektivní, protože... Celkový objem dat, která se vejdou do souboru registru, se nezvýší, ale to nebylo vyžadováno. Vždy je ale možné přistupovat jak k vyšší, tak k dolní polovině virtuálního 32bitového registru – kámen v zahradě architektur IA-32 a MC68k, kde se dostanete pouze do spodní poloviny (v IA-32 – také s předponou, která zpomaluje provádění ).

Pokračujme. Měl by CPU zpracovávat data a adresy ve 32bitových fyzických blocích? Ukazuje se, a to není nutné, operandy lze zpracovat na poloviny v 16bitových funkčních zařízeních. Za připomenutí stojí procesor Motorola MC68000, používaný v prvních Macintoshích, Amigách, Ataris a dalších populárních strojích - byl považován za 32bitový, má 32bitové registry, ale neexistuje ani jeden 32bitový FU (objevil se pouze v 68020). Existují však až tři 16bitové ALU, z nichž dvě lze spárovat při provádění 32bitové operace. Modely i8080 a Z80 měly 8bitové ALU, které prováděly 16bitové operace pro postupný výpočet adresy přes své bajty. Později se tento příběh opakoval se sadou SSE a jejími 128bitovými operandy, které byly zpočátku zpracovávány na 64bitových FU.

A konečně výměna: potřebuje procesor fyzicky přijímat a přenášet data ve 32bitových blocích s 32bitovým adresováním? Téměř všichni výrobci CPU odpověděli na první otázku vydáním čipů s poloviční šířkou sběrnice: 8 bitů pro 16bitový i8088, 16 bitů pro 32bitové MC68000/010 a i80386SX/EX/CX a dokonce 8 bitů pro 32 -bit MC68008. Fyzická šířka adresové sběrnice je mnohem zábavnější. Začněme tím, že u vícebajtových datových sběrnic (tj. počínaje 16bitovými) může k adresování fyzické paměti docházet slovy nebo byty. V prvním případě je adresa slova vždy dodána na adresovou sběrnici a datová sběrnice čte nebo zapisuje její požadovanou část - od jednoho bajtu až po celé slovo. Pro indikaci přístupové bitové hloubky lze použít samostatnou sběrnici byte-mask (v architektuře x86 se tato technika začala používat od i386 - jeden bit na každý bajt datové sběrnice), nebo kombinace řídicích signálů s bity nižšího řádu adresové sběrnice, které v tomto režimu nejsou potřeba (pro Na 32bitové datové sběrnici je adresa slova zcela dělitelná 4, a proto jsou nejnižší 2 bity adresové sběrnice vždy nula) - to byl případ před vydáním i386. Případ bytového adresování je možný pouze s dynamickou úpravou šířky sběrnice a ze známých CPU byl použit pouze u MC68020/030. Výsledkem je, že dnes se adresování slov používá společně s byte maskou, takže fyzická šířka adresové sběrnice je menší než její logická šířka o počet bitů, o jeden menší než šířka datové sběrnice v bajtech. Z čehož vyplývá, že 32bitová fyzická adresová sběrnice může existovat pouze s 8bitovou datovou sběrnicí, což by žádný architekt nebo inženýr se zdravým rozumem ze zřejmých důvodů neudělal.

Ale to není vše. Proč vůbec potřebujeme 32bitové fyzické nebo logické adresování? Od poloviny do konce 80. let se na trhu právě objevily megabitové paměťové čipy; typické množství paměti pro PC se stále měří ve stovkách kilobajtů, ale o něco později - v megabajtech. A 32bitové adresování vám umožní přístup k 4 GB fyzické paměti RAM! Kdo by to mohl v příštích 20 letech v osobních počítačích potřebovat?! Není divu, že první populární „32bitové“ CPU vůbec neměly 32 bitů šířky logické adresové sběrnice: MC68000 jich mělo 24 (23 fyzických + 1 pro správu bitů) a MC68008 20. Intel 386SX ( vydaný o 3 roky později než původní kompletně 32bitový i80386 kromě polovičního snížení datové sběrnice také zmenšil adresovou sběrnici na 24 (23 fyzických) bitů a její embedded verze 386EX/CX měly 26bitovou sběrnici. Navíc první čipové sady, které umožňovaly provoz s 32bitovými adresami, se objevily až v 90. letech a první základní desky, které měly dostatečný počet paměťových slotů pro umístění >4 GB modulů tehdejší maximální velikosti, se objevily až v 90. v roce 2000. Přestože se první CPU s 64bitovou fyzickou adresovou sběrnicí (IBM/Motorola PowerPC 620) objevily již v roce 1994.

Takže fyzicky vůbec nic v procesoru nemusí být 32bitové. Stačí architektonicky přesvědčit programátora, že CPU provádí 32bitové operace s jednou instrukcí. A i když při absenci plnohodnotných interních zdrojů bude nevyhnutelně dekódován do mikrokódových řetězců pro správu 16bitových fyzických informací a hardwarových jednotek – to už programátora nezajímá. Stačí tedy přepsat firmware, předělat dekodér a řídicí obvod a hned se z našeho 16bitového procesoru stane 32bitový?

Jak víte, každý dobrý nápad může být doveden do bodu absurdity a pak se zdiskredituje. Výjimkou není ani navýšení bitové kapacity CPU. V tuto chvíli by si měl architekt okamžitě položit otázku – proč to všechno? Zvýšení datové bitové hloubky je dobré pro urychlení práce s nimi (často je potřeba zpracovávat hodnoty, které se nevejdou do 16 bitů), a adresy - abyste mohli pracovat s velkým objemem dat (limit 64 KB pro 16 -bitové adresování, nějak oslabené segmentovým modelem IA -16, omezovalo programátory již v polovině 80. let). Adresování stránek můžete samozřejmě provádět softwarově přepínatelnými bankami (8bitové CPU dokázaly na oblíbených levných PC a herních konzolích adresovat 1 MB), ale za cenu komplikování programů a zpomalení přístupu k paměti. Stejně tak, má smysl udělat data 32bitová, aby to sotva zrychlilo výkon ve srovnání se zpracováním 32bitových čísel na 16bitové platformě pod kontrolou programu, nikoli mikrokódem? Tímto způsobem pouze zjednodušíme programování, ušetříme na počtu příkazů, ale nedosáhneme skokového nárůstu rychlosti. Z čehož docházíme k závěru, že zvýšení bitové hloubky je nutné implementovat tak, aby vlastně vedlo ke kvalitativnímu (více paměti) i kvantitativnímu (rychlejší provoz) skoku ve schopnostech architektury. „Více paměti“ zde konkrétně odkazuje na kvalitativní vývoj, protože mnoho algoritmů a aplikací obecně odmítne pracovat, pokud není dostatek paměti RAM, zatímco i pomalý procesor dříve nebo později program spustí. Virtuální paměť s výměnou disku nemá smysl v ničem menším než 32bitové implementaci.

Ale znamená to všechno, že tolik prostředků, jak hardwarových, tak architektonických, v CPU musí být 32bitových, aby se mohlo nazývat plnohodnotným 32bitovým procesorem? Vůbec ne. Vezměme stejný MC68000 – má 32bitovou architekturu pro data a adresy a 32bitové registry, ale 16bitové ALU a externí datovou sběrnici a 24bitové fyzické externí adresování. Nedostatečná „32bitová“ mu však nebrání předběhnout „16bitovou“ 80286, která se objevila o 3 roky později: na benchmarku Dhrystones MC68000, oblíbeném v 80. letech, na 8 MHz dosahuje skóre 2100 „papoušků“, a 286 při 10 MHz - 1900 (také 16bitový i8088 při 4,77 MHz - 300).

To vše nám ale nepomůže odpovědět na otázku – jaká je bitová kapacita procesoru? Ve chvíli, kdy jsme již došli k určitému závěru, se na scéně objevuje nový hrdina – datový typ. Vše výše uvedené se týkalo pouze celočíselných výpočtů a jejich argumentů. Najdou se ale i skutečné. Navíc zatím pracujeme se skalárními veličinami, ale existují i ​​vektorové. Ale podle pověstí má Intel v úmyslu postavit skutečný koprocesor přímo uvnitř svého nového 80486 (připomenu: na našem dvoře, zhruba řečeno, jsou 80. léta). Vezmeme-li v úvahu skutečnost, že vnitřní fyzická a architektonická reprezentace dat (nepracuje s adresami FPU) je 80bitová – jak tedy můžeme tu „čtyřku“ nazvat „32/80bitovým“ procesorem? Vraťme se do současnosti – jak říkáte Pentium MMX, které odebralo 64 bitů z každého 80bitového skalárního reálného registru a nazvalo je celočíselným vektorovým registrem? A co Pentum Pro/II s 256bitovou datovou sběrnicí mezi L2 cache a jádrem? (Ještě dříve MIPS R4000 a jeho varianty disponovaly interním L2 řadičem s externí 128bitovou sběrnicí až po samotnou mezipaměť.) A co Pentium III se svými 128bitovými XMM registry, i když každý takový vektor může v současnosti ukládat pouze 32bitové komponenty a být zpracovány pouze ve dvojicích v 64bitových FU, ale ne ve čtyřech? Jak bychom měli vnímat příkazy vektorového adresování jako Scatter a Gather, které se v současné době připravují pro nové architektury (zejména Intel Larrabee), kde jsou části vektorového registru vnímány jako adresy, nikoli data, a lze tedy uvažovat i o adresování xxx-bit?

Novodobá debata o přechodu z 32bitové na 64bitovou platformu tento příběh opakuje s dodatky, které ještě více osolí již tak pestrý pokrm. Za prvé, když se podíváte na míru zdvojnásobení bitové kapacity (bez ohledu na to, co se tím myslí) jednočipových CPU, ukáže se, že došlo k přechodu z prvního 4bitového na prvních 32bitových za pouhých 8 let - od roku 1971 (i4004) do 1979 g. (MC68000 a mnohem méně známý NS32016). Další zdvojnásobení na 64 bitů trvalo 10 let – i860 měl 32bitovou celočíselnou skalární ALU a 32bitové registry pro všeobecné použití s ​​párováním, ale 64bitovou FPU a celočíselnou vektorovou FU, 64bitové externí sběrnice a pro poprvé, interní 128bitová mezipaměť jádra sběrnice. Mezitím se do PC dostalo 64 bitů - uplynulo dalších 15 let, i když 64bitový přístup do paměti (přes stejnou 64bitovou datovou sběrnici, ale pro „32bitový“ procesor) se objevil již u prvních Pentií v r. 1993. Ale problém je v tom, že pro celočíselné skalární výpočty byly dva hlavní typy operandů – data a adresy – stále dostatečné pouze na to, aby byly 32bitové. O redundanci 32bitového adresování pro 80.–90. již bylo řečeno, ale striktní potřeba 64bitových celočíselných výpočtů, na rozdíl od 32bitových, také dosud nevznikla a není patrná ani nyní. U celých čísel rozsah od –2 10 9 do 2 10 9 nebo od 0 do 4 10 9 pokrývá velkou většinu potřeb a vzácné momenty 64bitů jsou zcela uspokojeny staromódní metodou - operacemi na částech operandy s carry, který není o tolik pomalejší a dostupný od prvních okamžiků vzniku 32bitových architektur. Další pikantnost přidává fakt, že 64bitová aritmetika přes celá čísla v architektuře x86 se objevila ještě před AMD64 a EM64T a je to vektorová aritmetika - počínaje sadou SSE2 (2001) existují příkazy paddq a psubq pro sčítání a odečítání 64 komponenty -bit integers a 32bitové instrukce pro násobení pro libovolnou architekturu vytvářejí 64bitové číslo (instrukce dělení je podle toho přijímají; podobně pro mnoho 16bitových platforem, včetně IA-16).

Bitové velikosti některých PC procesorů

KritériumBitová hloubka
Funkčnízpracovává seúložný prostorvýměna
Implementacefyzickýarchitektonickýfyzickýarchitektonickýfyzickýarchitektonický
Typické (D: data; A: adresy)DADADADADADA
i8080/85, Z808 8 8-16 16 8 8 8-16 16 8 16 8-16 16
Z800016 16 8-64 16 16 16 8-64 16 8-16 23 8-64 23
MC68000/010 (MC68008)16 16 8-32 32 32 32 8-32 32 8-16 (8) 24 (20) 8-32 32
MC68020/03032 32 8-32 32 32 32 8-32 32 8-32 32 8-32 32
i8086/186* (i8088/188*)16 16 8-16 16 16 16 8-16 16 8-16 (8) 20 8-16 20
i8028616 16 8-16 16 16 16 8-16 16 8-16 24 8-16 24
i80386DX32 32 8-32 32 32 32 8-32 32 8-32 32 8-32 32
i80386SX (EX/CX)32 32 8-32 32 32 32 8-32 32 8-16 24 (26) 8-32 32
i86032/64|64 32 8-64/64|64 32 32/64/32 32 8-64/64/64 32 64 64 8-64 64
i8048632/80 32 8-32/80 32 32/80 32 8-32/80 32 32 32 8-80 32
Pentium, K5 (Pentium Pro)32/80 32 8-32/80 32 32/80 32 8-32/80 32 64 32 (36) 8-80 32 (51)
Pentium MMX (Pentium II)32/80|64 32 8-32/80|64 32 32/80|64 32 8-32/80|64 32 64 32 (36) 8-80 32 (51)
K6 (K6-2)32/80| 64(/64) 32 8-32/80| 64(/64) 32 32/80| 64(/64) 32 8-32/80| 64(/64) 32 64 32 8-80 32
Athlon32/80| 64/64 32 8-32/80| 64/64 32 32/80| 64/64 32 8-32/80| 64/64 32 64 36 8-80 51
Athlon XP32/80| 64/64 32 8-32/80| 64/32-128 32 32/80|64/128 32 8-32/80| 64/128 32 64 36 8-128 51
Pentium III (Pentium 4/M, jádro)32/80| 64/64 32 8-32/80| 64(+128)/32-128 32 32/80| 64(+128)/128 32 8-32/80| 64(+128)/128 32 64 36 8-128 51
Pentium 4 D/EE (Athlon 64*)64/80| 64/64 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64(+16) 40 8-128 52
Atom32-64/80| 64/64-128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64 36 8-128 51
Core 2 (i7*)64/80| 128/128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 64 (192+16) 40 8-128 52
Athlon II*, Phenom (II)*64/80| 128/128 64 8-64/80|64 + 128/32-128 64 64/80|64 + 128/128 64 8-64/80|64 + 128/128 64 128+16 40 (48) 8-128 52

* - Multiplexovaná datová a adresová sběrnice (pro CPU s integrovaným paměťovým řadičem - pouze meziprocesor)
„A/B|C/D“ - pro data je uvedena bitová kapacita skalárního celého čísla / reálného čísla | vektorové celé číslo / reálné domény
„X+Y“ – má domény tohoto typu dvou bitů
„X-Y“ - v závislosti na příkazu nebo FU přijímá všechny střední hodnoty s celočíselnou mocninou dvou

Pokud jste dočetli až sem, pak byl stanovený cíl článku s největší pravděpodobností již dosažen a ideální konečné přesné stanovení bitové hloubky nebylo nalezeno. Možná vůbec neexistuje, a to je dokonce dobře. Pokud je totiž počítač hlavním nástrojem pro práci s informacemi, pak každá IT technologie je metodou zlepšování výkonu počítače. Bitová hloubka sama o sobě nedává nic v izolaci od zbytku arzenálu špičkových informačních technologií. Skvěle fungují PDA/komunikátory, mobilní telefony, netbooky, přehrávače médií a další kapesní elektronika, stejně jako obrovské množství vestavěných ovladačů a palubních počítačů, což zvyšuje jejich oblibu i bez jakýchkoli 64bitových možností. Proč tedy přecházet na větší bity? Proč například ještě nikdo nepotřebuje 64bit v Intel Atom pro netbooky, kde 8 GB paměti nejen že nikdo nepotřebuje, ale navíc za pár hodin vyždímají baterii do sucha a vědecké či ekonomické výpočty (kde 64 celých bit) to nikdo nespustí? Jednou z možných odpovědí je „protože můžeme“. Dalších pár milionů tranzistorů na zdvojnásobení zbývajících 32bitových bloků bude kapkou v moři bran, které již byly vynaloženy na vše ostatní na stejném čipu. Rychlý pokrok mikroelektroniky jako hlavní lokomotivy IT učinil integrovaný tranzistor tak levným, že nyní „64bitový“ typový štítek, který potěší každého obchodníka, bude stát spotřebitele deset centů navíc, což není jen podvod, ale velmi reálné zrychlení 10-50% v 1-5% aplikacích. A když malá ovčí kůže nestojí skoro nic, proč ne?