Архитектуры CISC и RISC (часть 2)


Подавляющее число процессоров создано в соответствии с архитектурами CISC и RISC, которые находятся в постоянном развитии. В своей эволюции каждая из них часто заимствует достоинства и решения соперника 

trans Архитектуры CISC и RISC (часть 2)trans Архитектуры CISC и RISC (часть 2)trans Архитектуры CISC и RISC (часть 2)trans Архитектуры CISC и RISC (часть 2)trans Архитектуры CISC и RISC (часть 2)trans Архитектуры CISC и RISC (часть 2)trans Архитектуры CISC и RISC (часть 2)  

Евгений Рудометов 
 

Часть 1 
  

Эволюция CISC

Набор x86 и его расширения 

Необходимо еще раз отметить, что эволюция указанных в предыдущей части статьи процессоров, а также их более производительных потомков, сопровождалась неуклонным ростом тактовых частот и постоянным расширением наборов выполняемых команд. Тем не менее, несмотря на архитектурные изменения внутренних структур процессоров, конструкторы старались максимально сохранить программную совместимость. Постепенно для процессоров Intel и многочисленных их клонов, созданных другими компаниями, появился ряд стандартов и рекомендаций для разработчиков и пользователей. Они были объединены в некий набор, получивший наименование x86. Под этим наименованием понимается процессорная архитектура и одноименный набор команд, которые были впервые реализованы в соответствующих изделиях Intel. Кстати, название образовано от двух цифр, которыми заканчивались названия процессоров Intel ранних моделей: x86 от Intel 80×86.

За время своего существования набор процессорных команд постоянно расширялся, сохраняя совместимость с предыдущими поколениями. Однако постепенно стало очевидно, что 32-битное адресное пространство архитектуры x86 ограничивает производительность приложений. Действительно, 32-разрядное адресное пространство позволяет процессору осуществлять непосредственную адресацию лишь 4 Гбайт данных, что часто недостаточно для современных приложений. Для решения этой проблемы было предложено ввести 64-разрядное расширение к уже существующей 32-разрядной архитектуре x86. Новая версия архитектуры получила название EM64T или чаще x86-64, хотя по старинке часто называют просто x86.

По мере совершенствования полупроводниковых технологий, внутреннего устройства процессоров и усложнения аппаратно-программного обеспечения компьютеров, призванных решать все более сложные задачи, состав x86 дополняется различными расширениями. В качестве примера можно привести следующие наборы: x87, IA-32, MMX, SSE, SSE2, x86-64, SSE3, SSSE3, SSE4, SSE5, AVX, AVX2, SGX. Эти и последующие расширения, поддержанные соответствующими электронными средствами, интегрированными в состав процессоров, призваны увеличить производительность, а также сократить время разработки и выполнения системных и прикладных программ.

Конечно, совершенствование и расширение наборов команд является важным, но не единственным направлением в обеспечении высоких уровней производительности процессоров. Очевидно, что производительность пропорциональна числу выполняемых команд в секунду. Она увеличивается с ростом тактовой частоты, но сильно зависит от типа и реализации команд. При этом выполнение каждой из них требует нередко десятков, а иногда и сотен циклов тактового генератора. Это означает, что выполнение сложных команд требует больше времени, чем выполнение простых. Компенсировать эту особенность и повысить производительность удается внедрением соответствующих конструкторских решений и новых технологий. В качестве примера можно привести две очень интересные и весьма эффективные разработки, внедренные в процессоры разных производителей, начиная с Intel Pentium (1993 г.). Речь идет о суперскалярности и суперконвейерности.

CISC & RISC 03

Процессор Intel Pentium
(Википедия)

  

О суперскалярности и суперконвейерности  в следующей части  данной статьи.

>>    Часть 3 
      


Ссылки по теме