Способы увеличения производительности

Теперь рассмотрим способы увеличения производительности компьютера, которые вытекают из формулы вычисления производительности:

·         Уменьшать количество команд в программе

·         Уменьшать S – число базовых шагов

·         Увеличение значения тактовой частоты. Ее можно увеличить в двух случаях:

o   Совершенствование технологии изготовления интегральных схем

o   Изготовление более простого базового шага. То есть электрические цепи становятся более короткими, и время одного такта меньше. Но упрощение базового шага не приведет к увеличению быстродействия, так как увеличится само число шагов.

Способы увеличения  производительности:

·         Использование КЭШ памяти. Доступ к КЭШ памяти занимает меньше времени, чем доступ к основной памяти, и КЭШ память расположена на одном кристалле с процессором, что ускоряет доступ.

·         Много времени тратится на выборку команд из памяти, и поэтому пока выполняется одна команда, можно считывать другую, которая заносится в буфер выборки  с упреждений.

·         Конвейерное выполнение команд процессором. Команда разбивается на два этапа: выборки и выполнения. Можно на процессоре параллельно выполнять одновременно несколько команд, то есть пока одна команда освободила какую то часть конвейера, можно туда ставить выполняться другую, или разбивают команду на несколько параллельных этапов, в зависимости от свободных этапов конвейера(hyperthreading– прим. Ред.). На рисунке изображена конвейерная обработка команд, состоящая из 6 этапов. Т1, Т2 … — такты выполнения команды. Как мы видим, одна команда выполняется за 6 тактов, когда 1 команда выполняется на 2 стадии, на 1 стадию уже заносится 2 команда, и так далее. То есть конвейер не «простаивает». Конвейерная обработка очень влияет на число S (число шагов выполнения команды) и в идеале оно приближается к одному, так как за каждый такт у нас на выходе есть результат одной команды. Существует две величины, характеризующие конвейер:

o   Пропускная способность конвейера – это количество команд, сходящих с конвейера в единицу времени. Чем короче такт, тем больше пропускная способность. То есть нужно разбивать команду на как можно большее количество стадий. И наблюдается тенденция увеличения количества стадий конвейера, что позволяет обрабатывать все более сложные команды и в то же время увеличить пропускную способность конвейера. Современные процессоры Pentium4 Prescottимеют длину конвейера 57 (она может меняться в зависимости от типа команды – прим. Ред.)

o   Латентность  это полное время прохождения команды по конвейеру.

·         Суперскалярная обработка. На рисунке изображен процессор с двумя исполнительными устройствами. Если в течении долгого времени удается поддерживать одновременную работу нескольких исполнительных устройств, то Sстановится меньше единицы. Но на практике это редко удается, разве что только для специализированных программ. На процессоре Pentium4 HT есть два конвейера, но второй редко вступает в работу ( на самом деле он один, просто технология HTсоздает виртуально существующий второй конвейер, стадиями которого являются освободившиеся и временно свободные элементы реального (единственного!) конвейера – прим. Ред.)

Ссылка на основную публикацию
Adblock detector