x86 kontra x64
Najważniejszą różnicą między x86 i x64 jest to, że pierwsza z nich to architektura 32-bitowa, a druga to 64-bitowa architektura zestawu instrukcji. Architektura zestawu instrukcji (ISA) to bardzo ważny termin, który odnosi się do każdego procesora. Instrukcje, adresowanie pamięci, rejestry i wiele innych elementów architektury procesora są określane przez ISA. x86 to światowej sławy ISA, wprowadzony przez firmę Intel w 1978 roku wraz z procesorem 8086. Potem wydarzyły się różne rozszerzenia i w 2000 roku AMD stworzyło specyfikację rozszerzenia zestawu instrukcji x86 do 64-bitowego 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 to architektura zestawu instrukcji wprowadzona przez firmę Intel ze słynnym procesorem 8086. W 1978 roku Intel wprowadził procesor 8086, który był procesorem 16-bitowym. 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 przez nazwę x86. Wraz z wprowadzeniem 80386 instrukcja x86 została rozszerzona do systemu 32-bitowego. W tym przypadku 32 bity oznaczają, że wszystkie rejestry, magistrala pamięci i magistrala danych są 32-bitowe. Potem pojawiły się procesory Pentium jako Pentium I, Pentium II, Pentium III, Pentium IV i wszystkie te również miały 32-bitową architekturę. Ale różne inne rozszerzenia miały miejsce w architekturze x86, takie jak dodanie instrukcji, takich jak MMX, SSE i SSE2. Oprócz tego dokonano również wielu innych ulepszeń. Następnie zestaw instrukcji x86 został rozszerzony do zestawu instrukcji 64-bitowych i od tego momentu nazywano go x64, co omówimy w następnej sekcji. 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ę wraz z procesorem 8086.
8086 procesor
Co to jest x64?
System 32-bitowy może reprezentować tylko 232 różne wartości i dlatego adresowanie pamięci jest ograniczone do tej liczby adresów. 232 bajty są równe 4 GB, a zatem x86 miał maksymalny limit pamięci adresowalnej wynoszący 4 GB. Aby temu zaradzić, dokonano dalszych rozszerzeń 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 kolejna nazwa nadana tej architekturze AMD64. Ta architektura AMD64 lub x64 znana jest również 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 można zaadresować 264 różne wartości, co daje ogromny górny limit możliwej maksymalnej pamięci. AMD K8 był pierwszym procesorem, który zaimplementował tę 64-bitową architekturę. Wtedy Intel również przyjął tę architekturę. Dzięki procesorom Intel Core, które rozpoczęły się od Intel Core 2, Intel zaczął używać tej architektury w swoich procesorach. Obecnie wszystkie procesory Intela, takie jak Core i3, Core i5 oraz Core i7, korzystają z tej architektury x64. Ważną rzeczą do podkreślenia jest to, że ta architektura x64 jest nadal kompatybilna wstecz ze starym zestawem instrukcji x86.
64-bitowy procesor
Jaka jest różnica między x86 a x64?
• x86 został wprowadzony około roku 1978, a x64 pojawił się niedawno w roku 2000.
• x86 wyłonił się ze słynnego procesora Intel 8086, a zatem x86 został wprowadzony przez firmę Intel. Ale x64, które pojawiło się jako rozszerzenie x86, zostało wprowadzone 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ą szynę pamięci i 32-bitową szynę 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óre jest górną granicą 4 GB (232 bajtów). Ale w systemach x64 ten limit jest ogromny i wynosi 264 bajtów.
• x64 jest rozszerzeniem x86; dlatego jest znacznie ulepszony i potężny 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 x86. Dlatego x64 może znacznie szybciej obsłużyć obliczanie większych liczb całkowitych, ponieważ nie ma potrzeby używania kilku rejestrów w takim przypadku do dzielenia wartości i przechowywania jak w x86.
• x64 może równolegle przesyłać dane o większym rozmiarze 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 równolegle przesyłać tylko 32 bity.
Podsumowanie:
x86 kontra x64
Architektura zestawu instrukcji x86 jest 32-bitowa, podczas gdy architektura zestawu instrukcji x64 jest 64-bitowa. x64 pojawił się jako rozszerzenie istniejącej architektury x86. Rejestry, szyna pamięci, szyna danych na architekturach x86 mają 32 bity, podczas gdy na x64 jest to 64 bity. Dlatego maksymalna ilość adresowalnej pamięci jest znacznie większa w systemach x64 niż w systemach x86.x86 został wprowadzony przez Intela z procesorem 8086, który był procesorem 16-bitowym, az czasem ten procesor x86 został rozszerzony do 32-bitowego. Później AMD wprowadziło architekturę x64, rozszerzając istniejącą architekturę x86, a ta x64 jest w pełni kompatybilna wstecz z zestawem instrukcji x86.