x86 срещу x64
Най-важната разлика между x86 и x64 е, че първият е с 32-битова архитектура, а вторият е с 64-битова архитектура на набор от инструкции. Архитектурата на набора от инструкции (ISA) е много важен термин, който се прилага за всеки CPU. Инструкциите, адресирането на паметта, регистрите и много други архитектурни секции на CPU са определени от ISA. x86 е световно известна ISA, представена от Intel през 1978 г. с процесора 8086. След това се случиха различни разширения и през 2000 г. AMD създаде спецификацията за разширяване на набора инструкции x86 до 64 бита под името AMD64. По-късно други компании като Intel също внедриха тази спецификация и този AMD64 е този, който се идентифицира с името x64.
Какво е x86?
x86 е архитектура на набор от инструкции, въведена от Intel с известния процесор 8086. През 1978 г. Intel представи процесора 8086, който беше 16-битов процесор. По-късно те представиха различни процесори като 80186, 80286, 80386 и 80486 и всички бяха обратно съвместими с оригиналния набор от инструкции, използван в процесора 8086. Тъй като всички тези процесори завършват с номер 86, архитектурата на набора от инструкции беше идентифицирана с името x86. С въвеждането на 80386 инструкцията x86 беше разширена до 32-битова система. Тук 32 бита означава, че всички регистри, шина на паметта и шина за данни са 32 бита. След това процесорите Pentium се появиха като Pentium I, Pentium II, Pentium III, Pentium IV и всички те също следваха 32-битова архитектура. Но различни други разширения се случиха с x86 архитектурата, като добавяне на инструкции като MMX, SSE и SSE2. Освен това бяха направени и много други подобрения. След това наборът от инструкции x86 беше разширен до 64-битов набор от инструкции и от този момент нататък се наричаше x64, което ще обсъдим в следващия раздел. Както и да е, като цяло x86 се отнася до 32-битовата архитектура, развила се от 16-битова архитектура, дошла с процесора 8086.
8086 процесор
Какво е x64?
32-битова система може да представя само 232 отделни стойности и следователно адресирането на паметта е ограничено до този брой адреси. 232 байта са равни на 4 GB и следователно x86 имаше ограничение за максимална адресируема памет от 4 GB. За да се преодолее това, бяха направени допълнителни разширения на x86 архитектурата. AMD, около 2000 г., въведе такава спецификация, която разшири x86 архитектурата до 64 бита. Това беше представено под името AMD64. x64 е друго име, дадено на тази AMD64 архитектура. Тази AMD64 или x64 архитектура е известна също под името x86_64. С 64-битовата архитектура всички регистри станаха 64-битови, а шината на паметта и шината за данни също станаха 64-битови. Сега 264 различни стойности могат да бъдат адресирани и това дава огромна горна граница на възможната максимална памет. AMD K8 беше първият процесор, който внедри тази 64-битова архитектура. Тогава Intel също възприе тази архитектура. С процесорите Intel Core, които започнаха от Intel Core 2, Intel започнаха да използват тази архитектура в своите процесори. В момента всички процесори на Intel като Core i3, Core i5 и Core i7 използват тази x64 архитектура. Някои важни неща, които трябва да се подчертаят, е, че тази x64 архитектура все още е обратно съвместима със стария набор от инструкции x86.
64 битов процесор
Каква е разликата между x86 и x64?
• x86 беше представен през около 1978 г., докато x64 се появи по-скоро през 2000 г.
• x86 се появи от известния процесор Intel 8086 и следователно x86 беше представен от Intel. Но x64, който дойде като разширение на x86, беше представен от AMD.
• x86 архитектурата е 32-битова. (Първите x86 процесори бяха 16-битови, но в по-късните процесори беше направено разширение до 32-битови). x64 архитектурата е 64 бита.
• Процесорите с архитектура на набор от инструкции x86 следователно имат 32-битови регистри, 32-битова шина на паметта и 32-битова шина за данни. Но x64 има 64-битови регистри, 64-битова шина на паметта и 64-битова шина за данни.
• x86 има ограничение за максимална адресируема памет, която е горна граница от 4 GB (232 байта). Но при x64 системи това ограничение е огромно, което е 264 байта.
• x64 е разширение на x86; следователно е много подобрен и мощен от стария x86.
• Стойностите, които могат да се съхраняват в регистър, в система x64, са по-големи от стойностите, които могат да се съхраняват в регистър, базиран на x86. Следователно x64 може да се справи с изчисленията на по-големи цели числа много по-бързо, тъй като няма нужда да се използват няколко регистъра в такъв случай, за да се раздели стойността и да се съхрани, както в x86.
• x64 може паралелно да предава данни с по-голям размер по шината за данни. Тоест, 64-битова шина за данни може да предава паралелно 64 бита, докато x86 архитектурата, която има 32-битова шина, може да предава паралелно само 32 бита.
Резюме:
x86 срещу x64
Архитектурата на набора от инструкции x86 е 32-битова, докато архитектурата на набора от инструкции x64 е 64-битова. x64 дойде като разширение на съществуващата x86 архитектура. Регистрите, шината на паметта, шината за данни на x86 архитектури са 32 бита, докато това е 64 бита на x64. Следователно максималният размер на адресируемата памет е много по-висок в x64 системите, отколкото в x86 системите.x86 беше представен от Intel с процесора 8086, който беше 16-битов процесор и с времето този x86 беше разширен до 32-битов. След това по-късно AMD представи x64 архитектурата, като разшири съществуващата x86 архитектура и този x64 е напълно обратно съвместим с x86 набор от инструкции.