Физические параметры памяти компьютера, влияющие на производительность. Связный текст

Страницы работы

Содержание работы

Физические параметры памяти компьютера, влияющие на производительность:

  1. Число и размер доступных регистров
  2. Параметры кэш-памяти: объем, размер строки, ассоциативность
  3. Число элементов TLB
  4. Параметры основной памяти: объем, число банков
  5. Параметры шины данных: ширина, частота

Параметры обращений к памяти, влияющие на производительность:

  1. Порядок перебора элементов в памяти
  2. Шаг перебора элементов
  3. Локальность обработки данных
  4.  

Связный текст

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

  • Регистровая память – самая быстрая и самая маленькая память в компьютере. Исполнительные устройства процессора из нее считывают параметры операций и в нее заносят результаты. Располагается регистровая память на кристалле процессора.
  • Оперативная (основная) память – относительно быстрая память… Она используется для хранения программ, которые исполняются на компьютере в текущий момент, и данных, которые в настоящий момент обрабатываются. Оперативная память располагается на отдельных кристаллах на материнской плате.
  • Дисковая память – очень медленная память, так как имеет движущиеся механические части. Она используется для длительного хранения программ и данных.

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

В современных компьютерах в иерархии между регистровой и оперативной памятью обычно располагается кэш-память. Она является вспомогательной и обычно содержит копии блоков данных из оперативной памяти. При обращении в оперативную память блок данных также заносятся в более быструю кэш-память, чтобы при повторном обращении к нему задержка была уже меньше. Сейчас кэш-память компьютера обычно содержит два или три уровня. Каждый уровень иерархии памяти имеет множество параметров, которые так или иначе влияют на производительность. Для достижения наибольшей производительности программы структура обращений к памяти в ней должна как можно лучше соответствовать физической архитектуре памяти.

Будем рассматривать уровни иерархии сверху вниз.

Регистровая память – самая быстрая и самая маленькая (время доступа: 1 такт, объем: 64-256 слов). Это ячейки памяти, расположенные на кристалле процессора – совсем рядом с исполнительными устройствами. Наибольшая скорость вычислений достигается тогда, когда все необходимые данные помещаются в регистрах, и нет обращений к более медленной памяти. Важной характеристикой процессора является число регистров, доступных для использования в программах. Чем больше регистров доступно программисту, тем меньше вероятность, что процессору придется обращаться к более медленной памяти, и тем быстрее выполняется программа. Часть регистров обычно используется операционной системой и приложением. В следующей таблице представлены фрагменты программ на языке Си, использующие различное количество целочисленных переменных, и соответствующие им фрагменты кода на ассемблере:

Похожие материалы

Информация о работе