Разлика между x86 и x64

x86 срещу x64
 

Най-важната разлика между x86 и x64 е, че първата е 32-битова архитектура, а втората е 64-битова архитектура с инструкции. Архитектурата на набор от инструкции (ISA) е много важен термин, който се прилага за всеки процесор. Инструкциите, адресирането на паметта, регистрите и много други архитектурни секции на процесора се определят от ISA. x86 е световно известна ISA, въведена от Intel през 1978 г. с процесор 8086. Тогава се случиха различни разширения и през 2000 г. AMD създаде спецификацията, за да разшири x86 инструкцията, зададена на 64bit под името 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 битови, но в по-късни процесори е направено разширение до 32bit). 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.

С любезност на изображенията:

  1. Intel 8086 от Appaloosa (CC BY-SA 3.0)
  2. 64-битов процесор от Appaloosa (CC BY 3.0)