Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение процессоры.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
172 Кб
Скачать
☆

Основные составляющие производительности и способы их оценки

Составляющая производительности

В чем измеряется

Время выполнения программы центральным процессором

В секундах на программу

Количество инструкций

В инструкциях, использованных для выполне­ния программы

Количество тактовых циклов на инструкцию (CPI)

В среднем количестве тактовых циклов на одну инструкцию

Продолжительность тактового цикла

В секундах на тактовый цикл

Как можно определить значение этих факторов в уравнении производительности? Время выполнения программы центральным процессором можно оценить, запустив программу, а продолжительность тактового цикла обычно приводится в документации компьютера. Труднее, наверное, будет определить количество инструкций и CPI. Разумеется, если известна тактовая частота и время выполнения программы центральным процессором, то для определения всего остального нужно получить лишь количество инструкций или CPI.

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

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

Представление о производительности программ.

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

Аппаратный или программный компонент

На что влияет?

Как влияет?

Алгоритм

На количество инструкций и, возможно, на CPI

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

Язык программиро­вания

На количество инструкций и на CPI

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

Компилятор

На количество инструкций и на CPI

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

Архитектура набора команд

На количество инструкций, на тактовую частоту и наСР1

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