Chyba v procesorech Intel Pentium -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Intel CPUs are not defective, they just act that way. -- Henry Spencer Any sufficiently advanced bug is indistinguishable from a feature. -- Kulawiec V konferenci linux-kernel právě proběhla zpráva oznamující, že instrukční sada procesorů Pentium společnosti Intel obsahuje instrukci umožňující regulovat teplotu procesoru. This is not a good_thing(tm). Dick Johnson Ale vážně. Následující program po spuštění na počítači s procesorem Intel Pentium zastaví vnitřní hodiny procesoru, čímž se jeho teplota sníží na teplotu okolí. Program byl vyzkoušen na procesorech Intel Pentium od 75 do 166 Mhz a to nejen v Linuxu, ale i v operačních systémech MS-DOS, Windows 95 a samozřejmě i Windows NT (3.51 i 4.0). char x[5] = {0xf0, 0x0f, 0xc7, 0xc8, 0x00}; void main() { void(*f)() = x; (*f)(); } Podobný efekt mají i další instrukce (viz tabulka). (Závislost mezi konečnou teplotou procesoru a instrukcí se mi zatím nepodařilo odhalit). +--------------+---------------------+ | Op. kód | Instrukce | +--------------+---------------------+ | f0 0f c7 c8 | lock cmpxchg8b %eax | | f0 0f c7 c9 | lock cmpxchg8b %ecx | | f0 0f c7 ca | lock cmpxchg8b %edx | | f0 0f c7 cb | lock cmpxchg8b %ebx | | f0 0f c7 cc | lock cmpxchg8b %esp | | f0 0f c7 cd | lock cmpxchg8b %ebp | | f0 0f c7 ce | lock cmpxchg8b %esi | | f0 0f c7 cf | lock cmpxchg8b %edi | +--------------+---------------------+ Chybné instrukce procesoru Intel Pentium Pavel Janík ml., 8. listopadu 1997 Článek je převzat z druhého čísla Linuxových novin, které si můžete přečíst na http://www.freesoft.cz/noviny výheň