Расчет производительности процессора
Основные теоретические положения
Центральный процессор выполняет основную работу по преобразованию данных в вычислительной системе, а также осуществляет в ней функции автоматизированного управления в соответствии с алгоритмами управляющей программы операционной системы. В частности, центральный процессор взаимодействует с каналами ввода-вывода, запуская операции ввода-вывода и получая информацию о результатах их выполнения, а также о состоянии системы ввода-вывода.
Центральный процессор – это устройство, обеспечивающее обработку данных по заданной программе и осуществляет следующие основные типы операций: выполнение команд, прерывание, сброс, регистрацию состояния (запись информации о состоянии вычислительной системы в целом или ее отдельных компонентов в определенные области основной памяти). Программу и обрабатываемые по ней данные процессор выбирает из основной (оперативной) памяти.
Процессор включает в себя, в большинстве случаев, одно или несколько операционных (или арифметическо-логических устройств), устройство управления, локальную память, средства контроля и диагностики.
Арифметическо-логическое устройство (АЛУ) выполняет операции преобразования данных. Оно включает в себя один или несколько сумматоров, а также регистры для хранения промежуточных данных и результатов преобразований. Арифметическо-логическое устройство может быть расширено специализированными операционными устройствами: сдвигателем; быстрым умножителем; десятичным сумматором; конвертером и др.
Устройство управления (УУ) – автомат, управляющий процессами передачи и обработки информации в процессоре. Это устройство принимает команды и формирует последовательность управляющих сигналов, проверяет их и т. п. Оно участвует в работе функциональных узлов путем выдачи синхронизирующих и управляющих сигналов.
В составе процессора может находиться локальная память различного функционального назначения: рабочие регистры, РОН, регистры-указатели, управляющие регистры, регистры служебных слов и т. п. Служебная память может использоваться для буферизации данных и команд, хранения таблиц преобразования адреса, ключей защиты и др.
Процессор может включать в себя набор специальных системных средств: службу времени (суточные часы, таймер и т. п.), средства межпроцессорной связи, пульт управления системой и др.
Средства контроля и диагностики позволяют обнаруживать и устранять неисправности без потери производительности процессора.
Процессор выполняет программу, выбираемую изосновной (оперативной) памяти, в несколько следующих этапов: выборка команды, распаковка команды и выборка операндов, выполнение операции и запись результатов в основную память, а, при необходимости, и обработку прерывания, изменение состояния процессора или системы в целом.
Логическая структура ЦП (рис.1) включает ряд функциональных средств: средства обработки, средства управления системой и программой, локальная память, средства управления каналами и основной памятью, системные средства.
Рис. 1 Логическая схема процессора.
Средства обработки обеспечивают выполнение операций с фиксированной и плавающей запятой, операций с десятичными данными и полями переменной длины. Локальная память состоит из регистров общего назначения и регистров с плавающей точкой, а также управляющих регистров.
Средства управления каналами обеспечивают хранение данных (буфер данных канала), подготовленных к передаче или принятых из канала, а также управление приоритетными доступам обрабатывающей подсистемы через канал ввода/вывода к периферийному оборудованию.
Центральный процессор ЭВМ включает в себя следующие базовые средства принципов работы ЭВМ:
- локальнуюя память: регистры общего назначения (16x32 р), регистры плавающей запятой (4x64 р), управляющие регистры (16x32 р);
- полный набор команд: команды арифметики с фиксированной и плавающей запятой, команды десятичная арифметика;
- системные средства: прямое управление, интервальный таймер, часы, компаратор, защита памяти, средство условного обмена и т. д.
Для хранения текущей информации обрабатываемой программы в центральном процессоре имеется локальная память: 16 регистров общего назначения, 4 регистра (для операндов) с плавающей точкой (по 64 двоичных разряда). Процессор также использует область основной памяти, которая является постоянно распределенной областью процессора для хранения управляющей информации, а также информации прерывания и контроля.
Центральный процессор может обращаться за информацией к шестнадцати общим регистрам, имеющих нумерацию от 0 до 15. Они могут быть использованы для хранения индекса воперациях над адресами, как накапливающие регистры в арифметических операциях с фиксированной точкой и в логических операциях. В общий регистр можно поместить одно слово (32 байта).
Регистры общего назначения идентифицируются числами от 0 до 15 и задаются в команде с помощью четырех битового поля R1. Два смежных общих регистра (четный и следующий нечетный) могут использоваться для хранения одного операнда размером 8 байт.
В операционной арифметике с плавающей точкой используются 4 специализированных регистра емкостью 8 байт каждый. Они идентифицируются номерами 0, 2, 4 и6. Каждый из них может содержать короткое (32-битовое) или длинное (64-битовое) число в формате с плавающей точкой. В операциях арифметики с плавающей точкой расширенной точности для 128-битовых чисел используются пары регистров с плавающей точкой 0-2 и 4-6.
К средствам управления памятью относятся буферная память, память ключей, защита и средства управления доступом к основной памяти.
К системным средствам относятся средства службы времени: часы астрономического времени, таймер и компаратор.
Интервальный таймер используется для отчета времени суток и интервалов времени. Обращение к интервальному таймеру для записи или чтения его значение может осуществляться любой командой, в которой предусмотрено обращение к основной памяти.
Компаратор используется для программной привязки процессов к определенному моменту времени.
Для приближенной оценки производительности процессора используем ограниченный набор форматов команд и операндов.
Форматы команд:
Формат регистр-регистр (RR)
0 15
Формат регистр-память (RX)
0 31
где КОП – код операции; R1 – регистр первого операнда; R2 – регистр второго операнда; Х2 – регистр индекса; В2 – регистр базы; D2 – смещение адреса.
Форматы операндов:
Короткий операнд с фиксированной запятой
0 15
Нормальный операнд с фиксиро-
ванной запятой
0 31
Короткий операнд с плавающей
0 7 8 31 запятой
Длинный опе-
ранд с плаваю-
0 7 8 63 щей запятой
Зн – разряд знака числа (мантиссы).
Выбор структуры процессора
Выбор структуры процессора определяется достижением заданной производительности при минимальных затратах оборудования.
Известны следующие способы повышения производительности процессора:
- совмещение отдельных этапов выполнения последовательно выбираемых команд и этапов выполнения операций;
- предвыборка и буферизация команд и операндов;
- введение нескольких операционных устройств;
- выбор алгоритмов ускоренного выполнения операций;
- специализация операционных устройств;
- введение в структуру буферной памяти (кэш-память);
- повышение уровня системы команд (спецоперации).
Каждый способ влечет за собой увеличение объема оборудования, а, значит увеличение стоимости процессора, снижение его эффективности, Поэтому необходимо оценивать целесообразность использования каждого способа с учетом затрат оборудования.
На рис. 2 показаны временные диаграммы выполнения команды с разбиением на этапы выполнения: БК - выборка команды; РК - распаковка команды; АО - вычисление адреса операнда; ВО - выборка операнда; ОП - выполнение операции; ЗР - запись результата. При этом отдельные этапы (PК, АО) могут быть выполнены за один такт, все другие этапы могут потребовать для своего выполнения нескольких тактов. Совмещение может выполняться только для этапов одинаковой длины; для случая, когда длительность совмещаемых этапов различна, длительность выполнения этапа выбирается по самому большому времени выполнения. Совмещение не может быть выполнено для взаимозависимых команд, так как выполнение следующей команды зависит от результата предыдущей операции: операция перехода или использование результата как операнда следующей операции.
Время выполнения команды процессором, при наличии совмещения, определяется выражением:
ТКТ = (N-Nс+1),
где ТКТ - время выполнения команды (тактов);
N - количество тактов выполнения команды;
Nc - количество совмещенных тактов.
Таким образом, производительность процессора определяется как количеством тактов выполнения каждой команды и временем перехода команд, так и количеством уровней совмещения обработки команд.
Метод совмещения выполнения команд обеспечивает увеличение пропускной способности устройств и при этом не изменяет время обработки отдельной команды. Поэтому, если среди команд встречаются зависимые, то пропускная способность процессора снижается на величину определенную характером зависимости совмещаемых команд. Зависимость команд как бы уменьшает число уровней совмещения, а, следовательно, и пропускную способность процессора.
Следует учитывать, что совмещение выполнения команд увеличивает объем оборудования и усложняет схемы управления тем сильнее, чем больше число уровней совмещения.
При выборе структуры процессора с совмещением выполнения команд должно быть определено:
- количество независимых исполнительных блоков;
- структура и алгоритмы работы исполнительных блоков;
- организация выполнения команд передачи управления;
- организация внутренней памяти процессора;
- степень совместного использования оборудования процессора в разных режимах обработки и управления.
На рис. 3представлена структурная схема процессора с полным совмещением выполнения команд. Блок выборки команд (БВК) содержит собственный сумматор для вычисления адреса операнда. Буферы команд предназначены для хранения последовательности исполняемых команд, в том числе по двум альтернативным направлениям для быстрого перехода.
Блок выборки операндов имеет раздельные регистры адреса и операнда, что позволяет совмещать запрос на выборку и прием предыдущего операнда. Буферная память операндов хранит последовательность операндов и коды операций последовательно исполняемых команд.
Арифметико-логическое устройство (АЛУ) имеет регистры на входе и выходе основного сумматора, что позволяет подавать новые операнды одновременно с записью результата предыдущей операции.
Сверхоперативная буферная память позволяет сократить время обращения к основной памяти до 2-х машинных тактов.
Критерием эффективности структурного построения процессора для всех моделей ЭВМ является отношение производительности к стоимости,т.е. достижение заданной производительности при наименьших затратах оборудования. Технико-экономическая эффективность может быть определена следующим образом:
Р = Пр/Ср,
где Пр – реальная производительность процессора (млн. ком/с);
Ср – стоимость процессора.
В расчетах Ср учитываются только основные устройства, указанные в структуре.
1. Выполнение одиночной команды:
Тк = Твк+Тво+Топ+Тзр+2*Тм
ВК | PK | AO | BO | ОП | ЗР |
------ | ------ | ------ | ------ | ==== | ------ |
№ такта: 1 |
2. Выполнение команд с частичным совмещением:
Тк = Твк+Тво+Топ+Тзр
BK | PK | AO | BO | ОП | ЗР | |||||||
N | ----- | ----- | ----- | ----- | === | ----- | ||||||
BK | PK | AO | BO | ОП | ЗР | |||||||
N+1 | ----- | ----- | ----- | ----- | === | ----- | ||||||
BK | PK | AO | BO | |||||||||
N+2 | ----- | ----- | ----- | ----- | ||||||||
№ такта |
3. Выполнение команд в режиме полного совмещения:
Тк = Топ
ВК | РК | АО | ВО | ОП | ЗР | ||||||
N | ----- | ----- | ----- | ----- | === | ----- | |||||
ВК | РК | АО | ВО | ОП | ЗР | ||||||
N+1 | ----- | ----- | ----- | ----- | === | ----- | |||||
ВК | РК | АО | ВО | ОП | ЗР | ||||||
N+2 | ----- | ----- | ----- | ----- | === | ----- | |||||
ВК | РК | АО | ВО | ОП | ЗР | ||||||
N+3 | ----- | ----- | ----- | ----- | === | ----- | |||||
ВК | РК | АО | ВО | ОП | ЗР | ||||||
N+4 | ----- | ----- | ----- | ----- | === | ----- | |||||
ВК | РК | АО | ВО | ОП | ЗР | ||||||
N+5 | ----- | ----- | ----- | ----- | === | ----- | |||||
№ такта |
Рис. 2 Принципы совмещения выполнения команд
|
|
|
|
|
|
|
Рис.3 Структурная схема процессора с совмещением выполнения команд
Пример расчета производительности процессора
Расчет производительности процессора состоит из следующих этапов:
1. Выбора логической структуры процессора (состава устройств, их функции и принципы взаимодействия), исходя из принципов работы ЭВМ (ЭВМ общего назначения).
2. Обоснование выбора технических параметров процессора с целью обеспечения достижения заданного значения производительности:
- производительности П (млн. оп\с);
- машинного такта Тм (нс);
- цикла локальной памяти Тл (нс);
- времени выборки из основной памяти Тп (нс).
3. Получение временных диаграмм и определение длительности выполнения основных команд процессора.
4. Оптимизация технико-экономических параметров процессора для достижения максимальной его эффективности, максимальной производительности при минимальной стоимости устройства, исходя из количества используемых элементов или объема памяти и соотношения - стоимость элементов устройства обратно пропорциональна техническим параметрам.
Для приближенной оценки производительности процессора будем использовать ограниченный набор форматов команд и операндов.