32 bitů -=-=-=-=- Remember, an int is not always 16 bits. I'm not sure, but if the 80386 is one step closer to Intel's slugfest with the CPU curve that is aymptotically approaching a real machine, perhaps an int has been implemented as 32 bits by some Unix vendors...? -- Derek Terveer Toto je jedna z formulek, která je velmi často omílána v různých časopisech. Dozvíme se, že Windows 95 jsou 32 bitový operační systém, že používá 32 bitovou FAT a dokonce má 32 bitový přístup k disku. Někteří píšou, že pentium je 64 bitový procesor atd... Kupodivu málokdo ví, co to přesně znamená a k čemu to vlastně je dobré. Reklamy nám pouze vsugerovaly, že co je 32 bitové, to je moderní, rychlé, stabilní a dává pocit jistoty a bezpečí. To je samozřejmě nesmysl. Kolik bitů má procesor se určuje většinou podle šířky datových cest. Tedy kolik bitů se po takové cestě v procesoru přetáhne naráz. Z tohoto pohledu opravdu 32 bitové procesory toho zvládnou víc než 16ti bitové. Procesory Intelu jsou 32 bitové od 386DX. Pro 32 bitový procesor je dobré psát kód, který těch 32 bitů opravdu využije. Všechny předcházející procesory z řady 80x86 byly 16ti bitové (alespoň navenek) a proto i assemblerové instrukce jsou takové, že 32 bitů nevyužijou a pokaždé zpracovávají pouze 16ti bitová data. Procesory 386 přirozeně rozšířily tuto instrukční sadu a přidaly 32 bitové registry. Pokud použijete 32bitový registr na místě 16ti bytového, počítá se interně v 32 bitech a teprve potom se vlastně využije celý procesor. Je li nějaký kód 32 bitový, znamená to vlastně jenom to, že namísto 16ti bytových registrů používá i tyto 32 bitové. Takový kód by měl být schopen využít všechny schopnosti procesoru. Je ale otázkou, jestli sčítáni 16+16 provedené 32bitově je rychlejší, než sčítání 16+16 16bitově. Logická odpověď je, že není. 32bitové sčítání sice využije celý procesor, ale zase sčítá navíc jenom pár zbytečních cifer, které jsou stejně nulové. Procesor toho musí udělat o něco víc, a tak by to mělo být o něco pomalejší. Dněšní procesory ale provedou sčítání jak 16tibitově, tak 32bitově v jednom taktu a tak by to mělo být stejné. Z této úvahy je vidět, že zrychlení způsobené 32 bitovým procesorem nepříde samo, ale je nutné přepsat programy tak, aby 32 bitů opravdu využily. výheň