Тест: быстродействие микропроцессора

Автор работы: Пользователь скрыл имя, 15 Апреля 2012 в 12:40, курсовая работа

Описание

Задание
Сделать тест, который проверяет быстродействие микропроцессора. Проанализировать несколько микропроцессоров с различными характеристиками.

Содержание

§ 1. Задание 3
§2. Обзор существующих систем 3
§3. Недостатки существующих систем 13
§4. Алгоритм решения 14
§5. Описание алгоритма 16
§6. Листинг программы 16
§7. Описание программы 20
§8. Экспериментальные данные 20
§9. Полученные результаты 21
§10. Выводы 23
§11. Список литературы 25

Работа состоит из  1 файл

Микропроцессор К.Р..doc

— 331.00 Кб (Скачать документ)

Наиболее часто используются  три способа организации кэш-памяти, отличающиеся объёмом аппаратуры, требуемой для их реализации. Это так называемая кэш-память с прямым отображением (direct-mapped cache), частично ассоциативная кэш-память (set-associative cache) и ассоциативная  кэш память (full associative cache).

Расслоение памяти. Другим структурным способом уменьшения времени доступа к памяти служит расслоение памяти. В предположении, что выборка из памяти выполняется по последовательным адресам возможно использование k блоков памяти с размещением в блоке I, где I=0,…, k-1, слов с адресами n=I+krrp mod k, где p=0,1,…,M. В этом случае возможно k параллельных обращение в память по адресам, принадлежащим различным блокам. Поэтому выборка команд программы за исключением команд, выбираемых как результат ветвления, может быть ускорена применением расслоения памяти. Аналогично может быть ускорена обработка массивов данных

Многоуровневая иерархия  и расслоение памяти могут использоваться совместно.

 

Способы измерения производительности

Пиковая (техническая) производительность представляют собой теоретический максимум быстродействия компьютера при  идеальных условиях. Данный максимум определяется как число вычислительных операций, выполняемых в единицу времени всеми имеющимися в процессоре обрабатывающими логико-арифметическими устройствами. Предельное быстродействие достигается при обработке бесконечной последовательности не связанных между собой и не конфликтующих при доступе в память команд (т.е. когда результат любой операции не зависит от действий, выполненных другими командами). При этом предполагается, что все операнды выбираются из внутрикристальной кэш-памяти данных, а команды – из кэш-памяти команд. Разумеется, подобная ситуация чисто гипотетическая, и на практике ни одна система не в состоянии работать сколь-нибудь длительное время с пиковой производительностью, хотя и может приближаться к этой величине. Например, на текстах Linpack при больших размерностях обрабатываемых матриц (10001000) почти все компьютеры демонстрируют производительность в диапазоне от 0,8 до 0,95 от пикового значения.

Пиковая производительность является единственной по-настоящему объективным параметром (для его определения необходимо знать несколько параметров процессора) и совершенно не зависит от типа выполняемой программы. Речь идёт о тактовой частоте процессора, которая для подавляющего большинства современных компьютеров определяет темп формирования результатов на выходе арифметического конвейера, и числе арифметических конвейеров. Не трудно установить соответствие между единицами измерения тактовой частоты и производительности процессора. Очевидно, что 1 Мгц соответствует 1 MFLOPS или 1 MIPS-пиковой производительности одного конвейера, в зависимости от того, какой тип операций рассматривается – с плавающей или с фиксированной точкой. Не следует забывать также о разрядности обрабатываемых чисел, чтобы избежать не корректного сравнения производительности для 32- 64- разрядных данных. Но в любом случае правила вычисления пиковой производительности, при всей их внешней простоте, могут оказаться чрезвычайно полезными при обсуждении достоинств компьютеров. Чтобы определить пиковую производительность машин, надо умножить тактовую частоту на количество параллельно выполняемых операций. Например, арифметическое устройство Pentium каждый такт может формировать один результат полноразрядной (64 бит) операций с плавающей точкой или два результата 32-х разрядных целочисленных операций. Следовательно, для Pentium/90 пиковая производительность равна 90 MFLOPS при выполнении вычислений с плавающей точкой и 180 MIPS при целочисленной 32-х разрядной обработке.

Особенно удобно использовать показатели предельного быстродействия для сравнения возможностей процессоров в первом приближении. Американские специалисты по контролю за экспортом вооружений при оценке уровня производительности компьютеров используют показатель основной теоретической производительности (CTP), измеряемой в Mtops – миллионах теоретических операций  в секунду. CTP зависит только от аппаратных средств компьютера (тактовой частоты, набора функциональных устройств, пропускной способности и набора внутренних шин, длины разрядной сетки и так далее).

 

 

Реальная производительность

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

Для оценки производительности различных вычислительных средств  в мировой практике наибольшее распространение получило использование наборов характерных для той или иной области применения вычислительной техники задач.  Время выполнения одной каждой из задач набора составляет основу для расчёта индекса производительности исследуемой вычислительной установки. Индекс производительности является относительной оценкой, несущей информацию о том, на сколько быстрее или медленнее исследуемая вычислительная установка выполняет подобные задачи по сравнению с некоторой широко распространенной ЭВМ (последнюю часто называют базовой или эталонной).

 

 

Способы измерения реальной производительности

При оценке производительности на тестах приходится решать три проблемы, связанные с анализом результатов контрольного тестирования производительности:

      отделение показателей, которым можно доверять безоговорочно, от тех, которые должны восприниматься с известной долей настороженности (проблема достоверности оценок);

      выбор конторольно-оценочных тестов, наиболее точно характеризующих производительность при обработке типовых задач пользователя (проблема адекватности оценок);

      правильное истолкование результатов тестирования производительности, особенно если они выражены  в довольно экзотических единицах типа MWIPS, Drystoones/s и т.д. (проблема интерпретации).

Первую группу тестов измерения производительности составляют тесты производителей, разрабатываемые компаниями-изготовителями компьютеров для «внутреннего» применения – оценивая качества собственных продуктов. Главная особенность этих тестов заключается в том, что они ориентированы на сравнение ограниченного множества однотипных компьютеров, часто относящихся к одному семейству.

Пользовательские тесты создаются крупными компаниями, специализирующимися на внедрение компьютерных технологий, или совместными усилиями групп пользователей, объединённых сходством решаемых задач. Эти средства предназначены для выбора компьютеров и ПО, наиболее подходящие под определённые прикладные задачи. В принципе такой подход позволяет получить наиболее точные оценки производительности для конкретного класса приложений, хотя и сопряжён со значительными усилиями пользователей по созданию тестовых программ и проведению испытаний компьютеров.

Сегодня наиболее распространенными являются наборы тестов компании SPEC (Standard Performance Evolution Corporation) – SPEC (89, 92,95), которые и будут рассматриваться ниже

Пакет тестовых программ SPEC 89 включает в себя два тестовых набора – Cint 89, состоящий из четырёх программ с целочисленной обработкой, и Cfp 89, объединяющий шесть программ со значительным объемом информации над числами с плавающей точкой двойной точности.

Все десять модулей представляют собой достаточно сложные программы на языках C и FORTRAN с широким спектром решаемых задач – от оптимизации матриц булевой алгебры до моделирования замещения атомов в квантовой химии.

 

 

Пакет тестовых программ SPEC 92

SPEC 92 состоит из наборов тестовых пакетов Сint92 и Cfp92.

Пакет оценочных программ Cint92 предназначен для оценки производительности микропроцессоров при выполнении целочисленных операций, преимущественно в коммерческой области применения. В его состав входят 6 эталонных тестов, написанных на языке Си и представляющих собой задачу из теории сетей, интерпретатор языка Lisp, задачу логического проектирования, Unix – утилиту упаковки тестового файла размером 1 Мбайт \, который 20 раз подвергается сжатию, операции со строками и столбцами электронной таблицы и компилятор языка Си.

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

В его состав входят 14 различных прикладных программ, две из которых написаны на языках Си и 12 – на языке Фортран. В пакет входят программы схемного проектирования, проектирования термодинамики ядерного реактора методом Monte-Carlo, задачи квантовой химии и физики, решение уравнения Максвелла, преобразование координат, трассировка оптических лучей, задачи робототехники и нейросетей, моделирование человеческого уха, решение уравнения Навье-Стокса для определения  параметра межгалактического газа, семь библиотечных функций обработки матриц (умножение, обращение и т.д.) и ряд других.

Пакет SPEC 92 имеет одно новшество. Речь идёт о характеристиках мультипрограммной обработки SPECrate, формируемых в рамках метода одной нагрузки. Суть последнего заключается в следующем: тестируемый компьютер выполняет задание, состоящее из множества копий одной программы, а показателем производительности многопроцессорной обработки служит количество копий, завершенных за определённый интервал времени. Для получения оценки SPECrate используются те же программы, что и для расчёта показателей SPECint92 и SPECfp92. Разница только в том, что тестовый модуль реализуется как несколько копий, образующих одно задание, а результатом измерений является нормированное общее время выполнения всех копий задания. Подобной процедуре подвергается каждая из 20 тестовых программ, что позволяет получить шесть частных оценок SPECratio, для программ целочисленной обработки, и 14 – для программ обработки вещественных чисел.

Таким образом, SPECrateint 92 и SPECratfp 92 оценивают среднюю скорость выполнения задачи в многопроцессорном режиме работы системы. Кроме того, эти показатели позволяют получить представление о возможностях компилятора по организации параллельного мультизадачного кода, а также операционной системы – по эффективному динамическому распределению ресурсов системы (в частности, процессоров) между выполняемыми параллельными программами. Это делает оценки SPECrateint 92 и SPECratfp 92 особенно представительными для SMP-систем коллективного пользования, работающих в пакетном режиме.

Сводные сведения о программах, входящих в SPEC 89 и SPEC 92, приведены ниже в таблице.

 

Перечень программ наборов SPEC89, SPEC92.

Программа

Тест, язык, тип данных

Моделирование ПЛМ (PLA)

89+92, С, ФТ

Lisp – интерпретатор

89+92, С, ФТ

Формирование логических таблиц истинности

89+92, С, ФТ

Unix – утилита упаковки тестового файла размером 1Мбайт, который 20 раз подвергается сжатию

92, С, ФТ

Операция со строками и столбцами электронной таблицы

92, С, ФТ

Компилятор GNU, трансляция 19 программ на Си в оптимизированный код ассемблера

89+92, С, ФТ

Моделирование аналоговых цепей с высокой интенсивностью обменов с памятью

89+92, Фортран, ПТ, ДВ

Моделирование термодинамики ядерного реактора методом Монте-Карло; содержит большое число ветвлений и коротких циклов

89+92, Фортран, ПТ, ДВ

Задача квантовой химии для системы из 500 атомов

92, Фортран, ПТ, ДВ

Версия теста Mdijdp2 для одинарной точности

92, Фортран, ПТ, ОТ

Решение уравнений Максвелла

92, Фортран, ПТ, ДВ

Генерация сетки при моделировании процессов обтекания; программа ориентирована на тестирование параллельных систем

89+92, Фортран, ПТ, ДВ

Моделирование управления движением робота с использованием видеосистемы

92, С, ПТ

Решение сеточной задачи shallow – water для сетки 256х256

92, Фортран, ПТ

Задача квантовой физики вычисления массы элементарных частиц с использованием метода Монте-Карло; хорошо векторизуется и ориентирована на тестирование параллельных систем

92, Фортран, ПТ, ДВ

Решение уравнение Навье-Стокса для определения параметра межгалактического газа; программа хорошо векторизуется и ориентирована на тестирование параллельных систем

92, Фортран, ПТ, ДВ

Семь библиотечных функций обработки матриц (умножение, обращение и т.д.)

89+92, Фортран, ПТ, ДВ

Моделирование процесса замещения атомов на сериях Гаусса; программа плохо распараллеливается и содержит большой объем ввода/вывода

89+92, Фортран, ПТ, ДВ

Синтетический тест, имитирующий различные алгоритмы умножения матриц

89, Фортран, ПТ, ДВ          

Моделирование уха человека

92, С, ПТ, ДВ

 

Пакет тестовых программ SPEC 95

Появление нового набора программ обусловлено развитием микропроцессоров (повышение производительности и увеличением объёма внутрикристальной памяти), совершенствование компиляторов, стремление учесть требования стандартов открытых систем, атак же скорректированным после появления SPEC 92 представлением об актуальности различных областей приложения.

Современные процессоры выполняют решение тестов SPEC 92 в течение интервалов времени от одной до нескольких секунд, что вносит большие погрешности в измерения производительности. Объём кода программ и данных SPEC 92 таков, что программы и данные могут разместиться в кэш памяти процессора. Это вообще не позволяет получить сколько-нибудь достоверные оценки реальной производительности.

Индексы производительности в SPEC 95 даются по отношению к эталонной машине SPARC-station 10/40 в конфигурации с кэш памятью второго уровня.

Используются два тестовых набора CINT 95 и CFP 95, состоящие из 8 и 10 программ соответственно.

 

Таблица 2. Перечень программ набора CINT

 

Область приложения

Спецификация задачи

Моделирование

Моделирование кристалла Motorola 88100

Компиляция

Компиляция программы на Си и компиляция оптимизированного кода для процессора SPARC

Искусственный интеллект

Игра Го – игра сама против себя

Компрессия

Компрессия текстового файла размером 16 Мбайт

Интерпретация

Lisp-интерпретатор

Обработка изображений

Сжатие графических объектов(JPEG) с различными параметрами

Манипулирование текстовыми строками

Shell-интерпретатор

Базы данных

Построение таблиц и манипулирование с ними

Информация о работе Тест: быстродействие микропроцессора