Почему существует так много архитектур ЦП: x86, x64, x87 и т. Д.? - PullRequest
6 голосов
/ 30 марта 2011

Основной отличается просто набор инструкций или что-то более важное ??

Ответы [ 4 ]

6 голосов
/ 18 июня 2012

Почему существует так много архитектур ЦП?

В первые дни просто заставить процессор работать вообще было большим достижением.Ранние сборщики разрабатывали вещи с аппаратным обеспечением настолько просто, насколько это возможно, просто для того, чтобы что-то работало - они обычно заканчивали наборами инструкций, которые были очень причудливыми.добавил новые инструкции, но оставил старые инструкции в покое.(Это обычно называют «договорами о совместимости»).

Люди придумали десятки инноваций, которые упростили программирование ЦП или ускорили или улучшили его каким-либо другим способом - регистры индекса, регистры адреса, регистры данных,более широкие регистры адресов, более широкие регистры данных, регистр связи, прерывания, подпрограмма CALL с одной командой, вычисление эффективного адреса одной команды, конвейерная обработка, умножение одной команды, VLIW и т. д. Многие из этих нововведений требовали, по крайней мере, новых команд, если не полностьюобновленные наборы инструкций.(Другие нововведения, такие как кэш, сделали процессоры быстрее без изменения набора инструкций, поэтому новый процессор по-прежнему работает со всеми старыми программами без изменений).

Политика IBM в 1982 году заключалась в том, чтобы требовать как минимум 2 источника длявсе части.(Даже сегодня многие производители не хотят покупать «детали из одного источника»).Чтобы убедить IBM купить процессоры Intel, Intel лицензировала их разработки для AMD, лицензированного производителя второго источника.Судебный процесс по этой лицензии был очень открытым.

Длительный судебный процесс между Intel и AMD беспокоил многих разработчиков процессоров.Когда какой-то дизайнер ЦП придумал какое-то новое новшество, вместо того, чтобы постепенно добавлять несколько инструкций в набор команд x86 или какой-либо другой ранее существующий набор инструкций - рискуя получить иск, - дизайнеры ЦП чувствовали себя более комфортно, предлагая совершенно разные наборы инструкцийчтобы продемонстрировать даже относительно незначительные инновации.

В нескольких случаях два разных человека сталкиваются с противоречивыми инновациями - каждый явно превосходит старые процессоры до того, как один из них был изобретен, но кажется невозможнымсоздать процессор, который поддерживает обе инновации одновременно.

Сегодня все еще существует множество различных типов компьютерных архитектур .

3 голосов
/ 30 марта 2011

x86 - это сокращенное название серии процессоров 8086.Да, это определенный набор инструкций;и обычно указывает, что это 32-битная система (размер шины).x64 обычно имеет тот же набор команд, но это 64-битная система (размер шины).Я никогда не слышал о x87, но на быстрый взгляд;кажется, что это сопроцессор с плавающей запятой, выделенный из архитектуры x86.Другая архитектура, которую вы увидите, - это архитектура SPARC, которая является совершенно другой архитектурой и набором команд из серии x86.

2 голосов
/ 30 марта 2011

Существуют также семейства процессоров, поэтому разница может быть значительной. Только подумайте о RISC вычислениях или основанных на стеке процессорах.

2 голосов
/ 30 марта 2011

Набор инструкций может немного отличаться;однако ключевые различия заключаются в длине регистров и, как следствие, в количестве адресуемой памяти.

x86 has 32 bit registers 
x87 is a floating point extension of x86
x64 has 64 bit registers

См. также:

http://en.wikipedia.org/wiki/X87

http://en.wikipedia.org/wiki/X86

http://en.wikipedia.org/wiki/X64

...