Kiedy używany jest termin „x86”, czy zawsze odnosi się do wersji 32-bitowej?

2

Kiedy używany jest termin „x86”, czy zawsze odnosi się do wersji 32-bitowej? I czy chodzi tylko o procesory Intel?

Siergiej
źródło

Odpowiedzi:

6

x86 to skrót od „rodziny procesorów 80386 i wyższych”, gdzie „x” oznacza liczbę 2 i więcej. (Był procesor 80186, ale był używany tylko w specjalnym przypadku, a 80286 nie był niczym więcej niż gloryfikowanym 80186). Wszystkie były oparte na 8086, bardzo popularnym procesorze 8/16 bitów z lat 80-tych (8/16 oznacza, że ​​był to procesor 8-bitowy z pewnymi ulepszeniami, które sprawiły, że prawie 16 bitów).

80386 (znany również jako „386”) był 32-bitowy. 80486 (znany jako „486”) był 32-bitowy. 80586 (pierwsza generacja procesorów Pentium) również był 32-bitowy. Procesory w tej samej rodzinie od 586 były 32-bitowe lub 64-bitowe.

x86 odnosi się również do zestawu instrukcji używanych przez te procesory. Wszystkie procesory w tej rodzinie używają tego samego podstawowego zestawu instrukcji, ale z kilkoma różnicami:

  1. Wprowadzenie instrukcji MMX, MMX2 i SSE w procesorach Pentium II i wyższych.
  2. Procesory 64-bitowe zawierają dodatkowe instrukcje 64-bitowe. Te procesory są znane jako procesory x86_64.

AMD ma własną notację dla podobnych procesorów, ale nadal mówi w języku x86 w rdzeniu. amd64 zapewnia funkcje podobne do x86_64 i 3dNow! zapewnia podobne funkcje jak MMX i SSE firmy Intel.

Intel stworzył także inną architekturę - IA64 lub iTanium. Wykorzystuje on zupełnie inny zestaw instrukcji i jest stosowany tylko w bardzo wysokiej klasy maszynach - komputerach mainframe, systemach przemysłowych itp.

Krótko mówiąc, „x86” oznacza „każdy procesor, który w swoim rdzeniu używa 32-bitowego zestawu instrukcji Intel opartych na oryginalnym zestawie instrukcji 8086” - może to być Intel, AMD, Via lub inne.

Majenko
źródło
Przepraszam, że grasz, ale kiedy mówisz 8/16 means it was an 8 bit processor with some enhancements that made it almost like 16 bitsi że x86 jest powyższym rdzeniem. Czy to oznacza, że ​​64-bitowe maszyny są w zasadzie jak 8-bitowe procesory? A może po prostu źle czytam? A jeśli masz dwa foldery programu Windows (normalny i jeden x86), czy to oznacza, że ​​x86 uruchamia wszystko w nim jako 32-bitowe, a nie 64-bitowe? Dzięki! Bardzo mnie to intryguje. :)
Austin
1
@Austin Wszystkie instrukcje, które istnieją w 8086, istnieją również w 286, 386, 486, pentium itp., Aż do najnowszych procesorów Core. Więc tak, pod tym względem są „jak” 8-bitowe procesory. W ten sam sposób, w jaki Citroen 2CV i Jaguar XJ6 są takie same, ponieważ oba pobierają ten sam rodzaj benzyny. Poza tym małym rdzeniem podobieństwa są niesamowicie różne. Na przykład XJ6 ma więcej cylindrów niż 2CV ...
Majenko,
1
Jeśli masz napisane i skompilowane oprogramowanie dla 32-bitowego systemu operacyjnego działającego na 64-bitowym systemie operacyjnym (uwaga: tutaj jest to system operacyjny, a nie układ - możesz uruchomić 32-bitowy system operacyjny na 64-bitowym układzie) i nie ma znaczenia, że ​​jest to wersja 64-bitowa), oprogramowanie 32-bitowe musi zostać przetłumaczone, aby działało z bibliotekami i funkcjami wewnętrznymi 64-bitowego systemu operacyjnego. Tę warstwę zgodności zapewnia system Windows, gdy rozdziela 32-bitowe i 64-bitowe oprogramowanie skompilowane. Działa więc w wersji 64-bitowej, ale dopiero po wstawieniu dodatkowej warstwy tłumaczenia, aby wyglądała na 64-bitową.
Majenko,