
- •2. Учебно-методический блок
- •2.1 Теоретическая часть
- •Краткая история развития компьютерной техники.
- •2. Ко времени ее реализации должна быть достаточно развита техническая база для реализации идеи в массовом масштабе.
- •3. В практической реализации этой идеи должна быть заинтересована значительная часть общества (должен «созреть» социальный заказ).
- •2. Обобщенная структурная схема компьютера
- •3.Оценка производительности компьютеров
- •4. Классификация и краткий обзор современных компьютеров
- •Суперкомпьютеры
- •Мини-компьютеры
- •Микроконтроллеры
- •5. Формы представления информации в компьютере.
- •5.1. Кодирование в компьютерах числовой информации.
- •Десятичная:
- •Шестнадцатеричная:
- •Двоично-десятичная:
- •5.2. Кодирование в компьютерах символьной (алфавитно-цифровой) информации.
- •5.3 Кодирование в компьютерах звуковой информации.
- •5.4 Кодирование в компьютерах визуальной информации.
- •Основы компьютерной арифметики.
- •1. Операции сложения и вычитания целых чисел.
- •2. Операции с вещественными числами.
- •7. Элементная база компьютера.
- •8. Структура и функционирование cpu.
- •9. Способы адресации информации
- •10. Система прерываний компьютера.
- •Основные понятия.
- •Основные характеристики систем прерывания.
- •4. Классификация систем прерывания.
- •11. Принципы организации системы ввода/вывода в компьютерах.
- •Общие положения
- •3. Ввод/вывод по прерыванию.
- •4. Ввод/вывод с прямым доступом к памяти.
- •12. Конструктив атх рс и архитектура системной платы
- •13. Устройства ввода информации
- •1. Клавиатура
- •2. Мышь.
- •14. Организация оперативных запоминающих
- •1. Общие принципы функционирования
- •2. Тайминги
- •3. Тенденции развития
- •4. Распределение адресного пространства оп пк.
- •2.2 Лабораторный практикум
- •2.3 Методические рекомендации для преподавателей и студентов
- •2.3.1.Методические рекомендации по изучению дисциплины для преподавателя
- •2.3.2. Методические рекомендации для студентов
- •2.3.3. Методические рекомендации для применения активных и интерактивные формы проведения занятий
- •3.Глоссарий
- •Диагностико-контролирующий блок
- •Тест по теме: «Архитектура компьютеров» Вариант №1
- •Тест по теме: «Архитектура пк» Вариант №2
- •Блок наглядно-демонстрационного материала
3.Оценка производительности компьютеров
Производительность компьютеров складывается из многих факторов, из которых главные:
Быстродействие центрального процессора;
Эффективность компилятора;
Быстродействие подсистемы памяти.
Остальные компоненты системы (такие как подсистема ввода/вывода, графическая подсистема, сеть, а также операционная система) оказывают очень маленькое влияние на результаты тестов, в особенности при запуске тестов на одном системном процессоре.
Наиболее важным является быстродействие центрального процессора. Оно зависит в основном от трех параметров:
- частоты синхронизации (тактовой частоты);
- среднего числа тактов синхронизации, требующихся на выполнение одной команды;
- количества команд, необходимых для решения задачи;
и все они, так или иначе, связаны друг с другом и влияют друг на друга.
Поэтому, строго говоря, единственной подходящей и надежной мерой измерения производительности является время выполнения реальной, конкретной программы, и корректное сравнение разных компьютеров по производительности можно проводить только для этих реальных, конкретных программ. Однако, практически, программы на компьютерах могут выполняться совершенно разные и, естественно, желание иметь возможность сравнивать различные компьютеры с более общих позиций. Следовательно, сравнивать между собой компьютеры с более или менее приемлемой эффективностью, можно только проверив их производительность при выполнении некоторого набора программ, составленных для задач различного практического назначения.
Осознав важность и даже необходимость этого подхода, крупнейшие производители компьютерного оборудования учредили в 1988г. бесприбыльную корпорацию SPEC (Standard Performance Evaluation Corporation или System Performance Evaluation Cooperative) – консорциум по оценке производительности компьютеров, который специально занимается разработкой наборов тестов для оценки производительности компьютеров. Тестовые задачи SPEC поставляются в виде пакетов программ в исходном коде и являются основой для оценки производительности систем в условиях интенсивной вычислительной нагрузки.
Первый пакет SPEC был разработан в 1992 году (SPEC CPU92) и показали себя очень хорошо. В дальнейшем пакет был усовершенствован с учетом новых типов процессоров и нового программного обеспечения, и в 2000 году был выпущен пакет SPEC CPU2000, а в 2006 году – пакет SPEC CPU2006.
Задачи SPEC CPU2006 подразделяются на две подгруппы, каждая из которых предназначена для оценки своего типа производительности интенсивного вычислительного кода:
Набор задач CINT2006, измеряющий производительность при обработке целых чисел. Этот тест состоит из 12 задач, написанных на языках СИ и СИ++ и выбранных из различных прикладных областей теории цепей, разработки логических схем, упаковки текстовых файлов, интерпретатора языка ЛИСП, электронных таблиц и компиляции программ;
Набор задач CFP2006, измеряющий производительность при обработке вещественных чисел (чисел с плавающей запятой). Этот набор состоит из 17 приложений, написанных на языках C, C++, Fortran, также выбранных из различных прикладных областей следующего типа: разработка аналоговых схем, моделирование методом Монте-Карло, квантовая химия, оптика, радиотехника, квантовая физика, астрофизика, прогноз погоды, и другие научные и инженерные задачи.
Таким образом, тестовый пакет SPEC CPU2006 предусматривает возможность получения двух фундаментальных оценок: SPEC int2006 и SPEC fp2006. Для каждой из этих оценок предусмотрены две метрики производительности системы. Первая из них – метрика скорости (speed), определяет производительность системы при однозадачном режиме работы, а вторая – метрика пропускной способности (rate), отражает, какое количество задач способна решить система в определенный, фиксированный промежуток времени.
Наконец, каждая из этих метрик может измеряться в двух различных вариантах компиляции кода, которые получили название базового (base) и пикового (peak) вариантов.
Таким образом, тестовый пакет SPEC CPU2006 предлагает возможность измерения до 8 различных метрик производительности системы, которые отображены в таблице III.1.
Таблица III.1.
Название метрики |
Набор задач |
Тип запуска |
Тип оптимизации |
|
|||
SPEC int2006 |
CINT 2006 |
speed |
peak |
SPEC int_base2006 |
CINT 2006 |
speed |
base |
SPEC int_rate2006 |
CINT 2006 |
rate |
peak |
SPEC int_rate_base2006 |
CINT 2006 |
rate |
base |
SPEC fp2006 |
CFP 2006 |
speed |
peak |
SPEC fp_base2006 |
CFP 2006 |
speed |
base |
SPEC fp_rate2006 |
CFP 2006 |
rate |
peak |
SPEC fp_rate_base2006 |
CFP 2006 |
rate |
base |
Отметим, что полное время работы тестов для получения базовых метрик SPEC int2006 и SPEC fp2006, на компьютере Sun ''Ultra Enterprise'' составило примерно 12 дней.
При определении производительности суперкомпьютеров, которые, в основном, используются для научно-технических расчетов, широко применяются так называемые «Ливерпульские циклы» - LINPACK. Они представляют собой тестовые пакеты, состоящие из наборов фрагментов Фортран-программ, каждый из которых взят из реальных программных систем, эксплуатируемых в Ливерморской национальной лаборатории им. Лоуренса (США). Обычно, при проведении испытаний используется либо малый набор из 14 циклов, либо большой набор, состоящий из 24 циклов.
По мере расширения использования компьютеров при обработке транзакций в сфере бизнеса, все более важной становится возможность справедливого сравнения компьютерных систем между собой. С целью разработки сравнительной оценки компьютеров по производительности обработки транзакций была также создана специальная бесприбыльная организация TPC (Transaction Processing Performance Council), которая разработала такие наборы тестов как: TPC-A, TPC-B, TPC-C, TPC-D, TPC-E и др.
(Транзакция - Transaction – есть одно входное сообщение, передаваемое в систему, или из нее, безотносительно того, передается ли оно целиком или собирается в ходе диалога. Входное сообщение отражает некоторое событие в «реальном мире». В компьютерной индустрии термин транзакция может означать почти любой вид взаимодействия или обмена информацией: обработка запроса, запрос, запись файла измерений и т.п.
Однако в мире бизнеса «транзакция» имеет вполне определенный смысл: коммерческий обмен товарами, услугами или деньгами. Наиболее характерными примерами систем обработки транзакций являются системы управления учетом системы резервирования авиабилетов и банковские системы).
Можно также упомянуть о тестовых пакетах для тестирования компьютеров при специфических условиях работы.
ZD Business Winston 2001 1.02 – для офисных приложений.
ZD Content Creation Winston 2002 1.0 – для мультимедийных приложений.
Si Soft Sandra Standard 2002 1.8.59 – для тестирования подсистем памяти.
ZD Win Bench 99 2.0 – для тестирования дисковых подсистем, обработки 2D-графики.
Mad Onion 3D Mark 2001 – при обработке 3D-графики.
Сравнением времени выполнения заданных тестов на различных компьютерах мы можем качественно сравнить компьютеры по их производительности. Однако для получения некоторой количественной характеристики производительности необходимо определить единицы производительности, что дает возможность более удобного сравнения компьютеров между собой. В качестве единиц производительности обычно используются такие единицы как MIPS и MFLOPS, однако при использовании их надо учитывать некоторые особенности, которые могут существенно исказить полученные результаты.
MIPS (Millions Instructions per Second) – миллион команд в секунду.
Поскольку MIPS – представляет собой количество инструкций (команд), выполняемых в единицу времени, то более производительные компьютеры должны иметь более высокий рейтинг MIPS. Эта единица проста и понятна пользователю но:
- MIPS зависит от системы команд процессора, что затрудняет сравнение по MIPS компьютеров, имеющих разные системы команд;
- MIPS даже на одном компьютере меняется от программы к программе;
- MIPS может меняться по отношению к производительности в противоположную сторону.
Классическим примером этого последнего случая является рейтинг MIPS для компьютера, в состав которого входит сопроцессор, предназначенный для операций с числами с плавающей точкой (с вещественными числами). Дело в том, что, поскольку, в общем случае, на каждую команду с плавающей точкой требуется большее количество тактов синхронизации, чем на целочисленную команду, то программы, используя сопроцессор плавающей точки, выполняются за меньшее время, однако имеют меньший рейтинг MIPS, так как выполняют за единицу времени меньшее число команд.
При отключении такого сопроцессора, операции над числами с плавающей запятой реализуются с помощью подпрограмм, использующих более простые команды целочисленной арифметики и, как следствие, такие компьютеры имеют более высокий рейтинг MIPS, поскольку выполняют большее число простых команд в единицу времени. Однако, при этом, выполняют настолько большое общее количество команд для решения задачи, что общее время выполнения программы значительно увеличивается, т.е. производительность компьютера уменьшается.
MFLOPS (Millions Floating-point Operation per Second) – миллион операций в секунду, с числами, представленными в формате с плавающей запятой (вещественными числами).
При решении научно-технических задач, в которых существенно используется арифметика с плавающей запятой, производительность всегда старались оценивать в MFLOPS. Как единица измерения MFLOPS предназначена для оценки производительности только операций с плавающей запятой и, поэтому, не применима вне этой ограниченной области. Например, программы компиляторов имеют рейтинг MFLOPS близкий к нулю, вне зависимости от того, насколько быстр компьютер, поскольку компиляторы редко используют арифметику с плавающей запятой. Ясно, что рейтинг MFLOPS зависит от компьютера и от программы. Эта единица более безобидна, чем MIPS. Она базируется на количестве выполняемых операций, а не команд. По мнению многих программистов, одна и та же программа, работающая на разных компьютерах, будет выполнять различное число команд, но одно и то же количество операций с плавающей запятой.
Однако и с этой единицей не все гладко. Например, рейтинг MFLOPS меняется не только на смеси целочисленных команд и операций с плавающей запятой, но и на смеси быстрых и медленных операций с плавающей запятой. Например, программа только с операциями сложения будет иметь более высокий рейтинг, чем программа, в которой будут содержаться только операции деления.
Однако рейтинг по MFLOPS очень широко используется при сравнении компьютеров, используемых главным образом для научно-технических приложений, поскольку подавляющее количество вычислительных операций в этой области производится с вещественными числами. А для того, чтобы выровнять времена выполнения операций различного рода, вводятся так называемые нормализованные операции с плавающей запятой, и эта нормализация широко используется при проведении контрольных испытаний на тестовых пакетах «Ливерморские циклы» (LINPACK), с целью сравнения между собой суперкомпьютеров.
Для наглядности, в таблице 3.1 приведены соотношения между некоторыми реальными и нормализованными операциями с плавающей запятой, которыми пользуются авторы «Ливерпульских циклов» для вычисления рейтингов MFLOPS.
Таблица 3.1
Реальные операции с плавающей запятой |
Нормализованные операции с плавающей запятой |
|
|
Сложение, вычитание, сравнение, умножение |
1 |
Деление, квадратный корень |
4 |
Экспонента, синус, … |
8 |