Оценка производительности ЭВМ
Основа для сравнения ЭВМ различных типов это производительность ЭВМ, то есть время, которое затрачивает ЭВМ на выполнение некоторого объема работы. Самую точную практическую оценку производительности конкретной ЭВМ можно получить лишь из времени работы реальной программы, для выполнения которой нужна данная ЭВМ. Однако поскольку ЭВМ используются, как правило, для решения различных задач, то существуют многообразные тесты, с помощью которых можно оценить возможности ЭВМ.
Самой простой (и самой неточной) характеристикой производительности является число MIPS (Million Instructions Per Second) - миллион команд (инструкций) над числами с фиксированной точкой за секунду. В общем случае MIPS определяется как отношение количества команд в программе ко времени ее выполнения. Большее число MIPS на практике не значит более высокой производительности ЭВМ. Это число, вообще говоря, может меняться при выполнении разных программ даже на одной ЭВМ. Операции с плавающей точкой состоят из нескольких десятков обычных целочисленных операций, поэтому если ЭВМ с низким числом MIPS имеет боле эффективную реализацию плавающей арифметики, то такая ЭВМ может быть более производительной, чем ЭВМ с высоким числом MIPS.
Для оценки производительности ЭВМ, предназначенных для решения научно-технических задач, в которых существенно используется плавающая арифметика, применяется оценка по числу MFLOPS (Million Floating Point Operations Per Second) - миллион операций над числами с плавающей точкой за секунду. Эта оценка гораздо более точна, чем оценка по MIPS, но справедлива только для оценки возможностей ЭВМ при работе с плавающими числами. Например, производительность современных супер ЭВМ достигает десятков GFLOPS. Производительность ПЭВМ имеет порядок десятков MFLOPS.
Единицей измерения производительности может служить время. Процессор, выполняющий тот же объем вычислений за меньшее время является более производительным. Некоторое представление о быстродействии процессора дают частоты, на которых работают процессор и системная шина.
Важной характеристикой является среднее количество тактов синхронизации, приходящееся на одну команду - CPI (clock cycles per instruction). При известном количестве выполняемых команд в программе этот параметр позволяет оценить время, необходимое для выполнения данной программы. Продолжительность выполнения конкретной программы зависит от числа команд, из которой состоит программа.
Таким образом, на время выполнения некоторой конкретной программы влияет тактовая частота ЭВМ, среднее число тактов, необходимое для реализации команды и общее число команд, из которых состоит программа.
Очевидно, что для сокращения времени выполнения программы нужно повышать тактовую частоту, уменьшать необходимое число тактов для выполнения одной команды, уменьшать общее число команд, из которых состоит программа.
Два последних требования противоречивы и по этой причине существуют две архитектуры процессоров: CISC и RISC. При этом CISC - процессоры обладают большим набором длинных команд, а RISC - процессоры - небольшим набором часто используемых коротких команд.
Таким образом оценка производительности ЭВМ - дело достаточно сложное. Вывести некую «абсолютную» величину скорости работы отдельно для процессора (без учета влияния конфигурации ЭВМ) практически невозможно, так как слишком многое зависит от операционной системы, объема оперативной памяти, аппаратного окружения и т.д.
Для решения задач исследования ЭВМ и анализа ее характеристик применяют два больших класса методов: экспериментальные и теоретические. К первым относятся различные тестовые и измерительные программы, ко вторым - различные математические модели, связанные с применением аналитических и численных методов и методов статистического (имитационного) моделирования.
Обе группы методов, как правило, предназначены для получения оценок временных характеристик и производительности ЭВМ, а также изучения влияния на эти характеристики различных параметров системы.
Экспериментальные методы широко используются не только для оценки производительности ЭВМ и систем и, в частности, для оценки их памяти.
Суть экспериментальных методов сводится к измерению той или иной характеристики действующей ЭВМ при выполнении на ней какой-либо работы (решении задачи или набора задач). Эти методы позволяют получить непосредственные значения интересующих величин с относительно малыми затратами, так как время измерения обычно невелико (от нескольких секунд до нескольких часов).
Стандартные тестовые программы (более точно название программы для оценки производительности, или benchmark programs/utilities, так как тестирование обычно предполагает просто проверку работоспособности) являются наиболее распространенным вариантом получения характеристик производительности для типовых применений ЭВМ, в особенности для сравнения различных моделей ЭВМ одного класса или близких классов. В частности, такие программы широко используются для оценки характеристик ПЭВМ. Однако общий характер таких программ делает их оценки не слишком близкими к конкретной ситуации. При этом возможны следующие разновидности таких программ:
· программы, оценивающие временные характеристики отдельно взятых устройств памяти, чаще всего, кэш-памяти, оперативной памяти и жестких дисков на основе измерения времени передачи блоков данных различной длины (например, SiSoft SANDRA, Speed System Test, Dr. Hardware и др.). Эти программы часто дают и общие индексы производительности для процессора с памятью;
· программы, оценивающие характеристики всей системы в целом для различных типов задач и показывающие относительные индексы производительности памяти (например, ZIFF Davis WinBench, 3DMark, SYSmark и др.). Причем такие программы могут либо предлагать на выбор несколько различных классов задач для оценки: дисковые приложения, графику, мультимедийные и игровые пакеты, либо быть узконаправленными, проводящими оценку только для одного типа задач.
Основной особенностью всех программ оценки производительности является то, что сравнение различных аппаратных конфигураций (системы памяти, ЭВМ в целом) можно производить только на одной и той же программе. Это вызвано тем, что, даже если программа определяет абсолютные значения характеристик, эти значения для различных программ, как правило, не совпадают, причем это несовпадение может быть весьма существенным.
Теоретические методы оценки. В тех случаях, когда экспериментальные методы оценки характеристик ЭВМ либо не дают необходимых результатов, либо вообще не могут быть использованы по какой-нибудь причине, например, на этапе разработки архитектуры ЭВМ, применяют различные теоретические методы. Поскольку процесс функционирования ЭВМ имеет (квази) стохастический характер, то и модели, используемые для оценки характеристик ЭВМ в основном вероятностные.
Одними из наиболее часто используемых моделей являются модели теории массового обслуживания.
Численные методы используются непосредственно для решения уравнений, описывающих процессы, протекающие в модели системы массового обслуживания, построенной для оцениваемой системы. Они позволяют получить численные значения анализируемых характеристик при различных значениях параметров модели.
Методы статистического (или имитационного) моделирования обычно используют программные датчики (псевдо) случайных величин и многократно программно «прогоняют» ход процесса обслуживания обращения к памяти ЭВМ, имитируя его поведение и набирая статистику по выполненным прогонам.
Статистическое моделирование также позволяет проверить правильность предположений, принятых при разработке аналитических моделей, без проведения дорогостоящих и не всегда осуществимых экспериментов на действующих системах.
Вопросы и задания для самопроверки
1. Дайте определение понятию «высказывание».
2. Составьте таблицу истинности логических операций «конъюнкция», «дизъюнкция», «исключающее или».
3. Составьте таблицу истинности логических операций «импликация» и «эквиваленция».
4. Нарисуйте схему логических операций «И-НЕ», «ИЛИ-НЕ».
5. Логическая операция «инверсия». Приоритет выполнения логических операций.
6. Триггер, регистр и сумматор: назначение и принципы работы.
7. Дайте определение понятиям архитектура и структура ЭВМ. В чем разница между этими понятиями?
8. Принципы Дж. фон Неймана.
9. Из каких устройств состояла машина фон Неймана?
10. Назовите поколения ЭВМ и их отличительные особенности.
11. Шины данных, адреса и управления: устройство и назначение.
12. Как можно классифицировать ЭВМ?
13. В чем измеряется производительность ЭВМ?
14. Какие методы оценки производительности ЭВМ вы знаете?
15. Построить таблицу истинности для следующих логических выражений: С = ((Ā Ú В) → В) Ú А,
C=BÚA® ÙA,
С= AÙB ~ (AÅB).
16. Какое значение примет логическое выражение
C =(BÚA)Ù(B® А), если A=1, B=1?
17. Какое значение примет логическое выражение
C =(AÅB)ÚĀÙB, если A=1, B=0?
18. В какое состояние перейдет RS-триггер, если на вход S подать 1, а на вход R-0?
19. Сколько разрядов может иметь двоичное число, чтобы его можно было записать в регистр из 9 триггеров. Какое максимальное число можно записать в такой регистр?
20. В 5-разрядном последовательном регистре записано число 11001, какое число будет в нем записано после сдвига влево на 2 разряда, вправо на 3 разряда, циклического сдвига вправо на 2 разряда, циклического сдвига влево на 4 разряда?