x86 kontra x64
Najważniejsza różnica między x86 i x64 polega na tym, że pierwsza to architektura 32-bitowa, a druga to architektura zestawu instrukcji 64-bitowych. Architektura zestawu instrukcji (ISA) to bardzo ważny termin odnoszący się do każdego procesora. Instrukcje, adresowanie pamięci, rejestry i wiele innych sekcji architektonicznych procesora są określane przez ISA. x86 to światowej sławy ISA wprowadzony przez firmę Intel w 1978 roku z procesorem 8086. Potem pojawiły się różne rozszerzenia iw 2000 roku AMD stworzyło specyfikację rozszerzającą zestaw instrukcji x86 do 64bit pod nazwą AMD64. Później inne firmy, takie jak Intel, również zaimplementowały tę specyfikację, a ten AMD64 jest identyfikowany pod nazwą x64.
Co to jest x86?
x86 to 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 używanym 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 do systemu 32-bitowego. Tutaj 32-bitowy oznacza, że wszystkie rejestry, szyna pamięci i szyna danych są 32-bitowe. Potem pojawiły się procesory Pentium jako Pentium I, Pentium II, Pentium III, Pentium IV i wszystkie te również były zgodne z architekturą 32-bitową. Ale w architekturze x86 pojawiły się różne inne rozszerzenia, takie jak dodanie instrukcji, takich jak MMX,SSE i SSE2. Oprócz tego wprowadzono również wiele innych ulepszeń. Następnie zestaw instrukcji x86 został rozszerzony do zestawu instrukcji 64-bitowych i od tego momentu był nazywany x64, co omówimy w następnej sekcji. W każdym razie, ogólnie rzecz biorąc, x86 odnosi się do architektury 32-bitowej, która wyewoluowała z architektury 16-bitowej, która pojawiła się w procesorze 8086.
8086 procesor
Co to jest x64?
System 32-bitowy może reprezentować tylko 2 32 różne wartości i dlatego adresowanie pamięci jest ograniczone do tej liczby adresów. 2 32 bajty to 4 GB, a zatem x86 miał maksymalny limit adresowalnej pamięci wynoszący 4 GB. Aby temu zaradzić, wprowadzono dalsze rozszerzenia do 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. W 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 2 64można zająć się różnymi wartościami, co daje ogromną górną granicę możliwej maksymalnej pamięci. AMD K8 był pierwszym procesorem, który zaimplementował tę 64-bitową architekturę. Wtedy Intel również przyjął tę architekturę. W przypadku procesorów Intel Core, które rozpoczęł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, używają tej architektury x64. Należy podkreślić, ż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ę później, w roku 2000.
• x86 wyłonił się ze słynnego procesora Intel 8086 i dlatego x86 został wprowadzony przez firmę Intel. Ale x64, który pojawił się jako rozszerzenie x86, został wprowadzony przez AMD.
• Architektura x86 jest 32-bitowa. (Pierwsze procesory x86 były 16-bitowe, ale w późniejszych procesorach dokonano rozszerzenia do 32-bitowego). 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 adresowalnej pamięci, które wynosi górny limit 4 GB (2 32 bajty). Ale w systemach x64 ten limit jest ogromny i wynosi 2 64 bajty.
• x64 jest rozszerzeniem x86; dlatego jest znacznie ulepszony i wydajny niż stary x86.
• Wartości, które mogą być przechowywane w rejestrze, w systemie x64, są większe niż wartości, które mogą być przechowywane w rejestrze opartym na architekturze x86. Dlatego x64 radzi sobie z obliczeniami większych liczb całkowitych znacznie szybciej, ponieważ nie ma w takim przypadku konieczności używania kilku rejestrów do dzielenia wartości i przechowywania jak w x86.
• x64 może równolegle przesyłać większe dane wzdłuż magistrali danych. Oznacza to, że magistrala danych 64-bitowa może przesyłać równolegle 64 bity, podczas gdy architektura x86, która ma magistralę 32-bitową, może przesyłać równolegle tylko 32 bity.
Streszczenie:
x86 kontra x64
Architektura zestawu instrukcji x86 jest 32-bitowa, podczas gdy architektura zestawu instrukcji x64 jest 64-bitowa. x64 przyszedł jako rozszerzenie istniejącej architektury x86. Rejestry, magistrala pamięci, magistrala danych na architekturach x86 mają 32 bity, podczas gdy to jest 64 bity na x64. Dlatego maksymalna ilość adresowalnej pamięci jest znacznie większa w systemach x64 niż w systemach x86. x86 został wprowadzony przez Intel z procesorem 8086, który był procesorem 16-bitowym, a z czasem ten x86 został rozszerzony do 32-bitowego. Później AMD wprowadziło architekturę x64 poprzez rozszerzenie istniejącej architektury x86 i ta x64 jest w pełni kompatybilna wstecz z zestawem instrukcji x86.
Zdjęcia dzięki uprzejmości:
- Intel 8086 firmy Appaloosa (CC BY-SA 3.0)
- 64-bitowy procesor firmy Appaloosa (CC BY 3.0)