Różnica między x86 a x64

x86 vs x64
 

Najważniejsza różnica między x86 a x64 polega na tym, że pierwsza z nich to architektura 32-bitowa, a druga to 64-bitowa architektura zestawu instrukcji. Architektura zestawu instrukcji (ISA) jest bardzo ważnym terminem stosowanym do każdego procesora. Instrukcje, adresowanie pamięci, rejestry i wiele innych części architektury procesora są określone przez ISA. x86 to znany na całym świecie program ISA wprowadzony przez firmę Intel w 1978 r. z procesorem 8086. Potem miały miejsce różne rozszerzenia, aw 2000 roku AMD stworzyło specyfikację, aby rozszerzyć zestaw instrukcji x86 do 64-bitów pod nazwą AMD64. Później inne firmy, takie jak Intel, również wdrożyły tę specyfikację, a ten AMD64 jest identyfikowany przez nazwę x64.

Co to jest x86?

x86 jest architektura zestawu instrukcji wprowadzona przez firmę Intel ze słynnym procesorem 8086. W 1978 roku Intel wprowadził procesor 8086, który był 16-bitowym procesorem. Później wprowadzili różne procesory, takie jak 80186, 80286, 80386 i 80486, i wszystkie były wstecznie kompatybilne z oryginalnym zestawem instrukcji stosowanym w procesorze 8086. Ponieważ wszystkie te procesory kończą się numerem 86, architektura zestawu instrukcji została zidentyfikowana pod nazwą x86. Wraz z wprowadzeniem 80386 instrukcja x86 została rozszerzona na system 32-bitowy. Tutaj 32-bitowy oznacza, że ​​wszystkie rejestry, magistrala pamięci i magistrala danych są 32-bitowe. Potem procesory Pentium pojawiły się jako Pentium I, Pentium II, Pentium III, Pentium IV i wszystkie one również miały architekturę 32-bitową. Ale różne inne rozszerzenia miały miejsce w architekturze x86, takie jak dodanie instrukcji takich jak MMX, SSE i SSE2. Oprócz tego wprowadzono także wiele innych ulepszeń. Następnie zestaw instrukcji x86 został rozszerzony do 64-bitowego zestawu instrukcji i od tego momentu nazywano go x64, o czym będziemy dyskutować w następnej sekcji. W każdym razie x86 odnosi się do architektury 32-bitowej, która ewoluowała z architektury 16-bitowej, która wymyśliła procesor 8086.

8086 procesor

Co to jest x64?

System 32-bitowy może reprezentować tylko 232 różne wartości, a zatem adresowanie pamięci jest ograniczone do tej liczby adresów. 2)32 bajty są równe 4 GB, a zatem x86 miał maksymalny adresowalny limit pamięci 4 GB. Aby temu zaradzić, wprowadzono dalsze rozszerzenia architektury x86. AMD około 2000 roku wprowadziło taką specyfikację, która rozszerzyła architekturę x86 do 64 bitów. Zostało to wprowadzone pod nazwą AMD64. x64 to inna nazwa nadana tej architekturze AMD64. Ta architektura AMD64 lub x64 jest również znana pod nazwą x86_64. Dzięki architekturze 64-bitowej wszystkie rejestry stały się 64-bitowe, a magistrala pamięci i magistrala danych również stały się 64-bitowe. Teraz 264 można adresować różne wartości, co daje ogromną górną granicę możliwej maksymalnej pamięci. AMD K8 był pierwszym procesorem, który wdrożył tę 64-bitową architekturę. Następnie Intel również przyjął tę architekturę. Wraz z procesorami Intel Core, które zaczęły się od Intel Core 2, Intel zaczął używać tej architektury w swoich procesorach. Obecnie wszystkie procesory Intel, takie jak Core i3, Core i5 i Core i7, korzystają z tej architektury x64. Ważną rzeczą do podkreślenia jest to, że ta architektura x64 jest nadal wstecznie kompatybilna ze starym zestawem instrukcji x86.

64-bitowy procesor

Jaka jest różnica między x86 a x64?

• x86 został wprowadzony około roku 1978, podczas gdy x64 pojawił się niedawno w 2000 roku.

• x86 wyłonił się ze słynnego procesora Intel 8086, dlatego też x86 został wprowadzony przez Intela. Ale x64, które pojawiło się jako rozszerzenie x86, zostało wprowadzone przez AMD.

• Architektura x86 jest 32-bitowa. (Pierwsze procesory x86 miały 16 bitów, ale w późniejszych procesorach zastosowano rozszerzenie do 32 bitów). Architektura x64 jest 64-bitowa.

• Procesory z architekturą zestawu instrukcji x86 mają zatem 32-bitowe rejestry, 32-bitową magistralę pamięci i 32-bitową magistralę danych. Ale x64 ma 64-bitowe rejestry, 64-bitową magistralę pamięci i 64-bitową magistralę danych.

• x86 ma ograniczenie maksymalnej pamięci adresowalnej, która jest górną granicą 4 GB (232 bajty). Ale w systemach x64 limit ten jest ogromny, czyli 264 bajty.

• x64 to rozszerzenie x86; dlatego jest znacznie ulepszony i potężniejszy niż stary x86.

• Wartości, które można zapisać w rejestrze w systemie x64, są większe niż wartości, które można zapisać w rejestrze opartym na x86. Dlatego x64 może obsługiwać obliczenia większych liczb całkowitych znacznie szybciej, ponieważ nie ma potrzeby używania kilku rejestrów w takim przypadku, aby podzielić wartość i zapisać jak w x86.

• x64 może równolegle przesyłać dane o większych rozmiarach wzdłuż magistrali danych. Oznacza to, że 64-bitowa magistrala danych może równolegle przesyłać 64 bity, podczas gdy architektura x86 z 32-bitową magistralą może transmitować równolegle tylko 32 bity.

Streszczenie:

x86 vs x64

Architektura zestawu instrukcji x86 jest 32-bitowa, a architektura zestawu instrukcji x64 to 64 bity. x64 pojawiło się jako rozszerzenie istniejącej architektury x86. Rejestry, magistrala pamięci, magistrala danych na architekturze x86 mają 32 bity, podczas gdy na x64 jest to 64 bity. Dlatego maksymalna ilość adresowalnej pamięci jest znacznie wyższa w systemach x64 niż w systemach x86. x86 został wprowadzony przez Intela z procesorem 8086, który był 16-bitowym procesorem, a wraz z czasem ten x86 został rozszerzony do 32-bitów. Następnie AMD wprowadziło architekturę x64, rozszerzając istniejącą architekturę x86, a ta x64 jest w pełni kompatybilna wstecz z zestawem instrukcji x86.

Obrazy dzięki uprzejmości:

  1. Intel 8086 firmy Appaloosa (CC BY-SA 3.0)
  2. 64-bitowy procesor Appaloosa (CC BY 3.0)