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


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

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

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

Часть 2 
  

Увеличение производительности

Суперскалярность и суперконвейерность

 

Суперскалярность — это поддержка параллелизма на уровне инструкций. Это означает, что суперскалярный процессор способен выполнять более одной операции за один такт, то есть способен выполнять несколько инструкций одновременно. Обычно данная возможность достигается увеличением количества одинаковых функциональных узлов процессора (АЛУ, FPU и др.), способных работать одновременно. Это обеспечивает существенный рост производительности процессора и, как следствие, всей системы.

Здесь целесообразно напомнить способы увеличения производительности, которые могут использоваться совместно:

  • использование конвейера,
  • увеличение количества функциональных узлов процессора (суперскалярность),
  • увеличение количества ядер (многоядерность),
  • увеличение количества процессоров (многопроцессорность).

Конвейер — это способ организации вычислений, используемый в современных процессорах и контроллерах с целью повышения их производительности (увеличения числа инструкций, выполняемых в единицу времени). При использовании конвейера количество узлов остается прежним, увеличение же производительности достигается за счет одновременной работы узлов, ответственных за разные стадии обработки инструкций одного потока.

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

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

 

Суперконвейерность означает, что процессор имеет несколько вычислительных конвейеров. К слову сказать, у Intel Pentium их было два, что позволяло ему при одинаковых частотах в идеале быть вдвое производительней своего предшественника в лице i486, выполняя сразу 2 инструкции за такт. Дальнейшее же увеличение числа конвейеров еще больше увеличивает производительность, что и реализуется в более мощных процессорах.

Остается добавить, что указанные решения демонстрируют особенности эволюции процессоров CISC, к которым относятся широко известные мобильные, десктопные и серверные модели, созданные не только корпорацией Intel, но и аналогичная продукция ряда других компаний, например, AMD, Motorola, IBM.

  

О CISC и RISC —  в следующей части  данной статьи.

>>    Часть 4 
      


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