Рефераты. Тест на быстродействие микропроцессора

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

Министерство образования РФ

Череповецкий государственный университет

Кафедра ПО ЭВМ

Дисциплина:

«Организация ЭВМ и систем»

КУРСОВАЯ РАБОТА

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

Выполнил студент: Лужинский Андрей

Группа: 1ПО-32

Принял преподаватель: Зуев А.Н.

Подпись преподавателя _______________

Дата сдачи _______________

Череповец 2001

| |Содержание

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

§ 1. Задание


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

§2. Обзор существующих систем


2.1. Введение

Создание фирмой Intel первого микропроцессора в 1971 году положило начало эпохе компьютеризации. «Благодаря микропроцессорам компьютеры стали массовым общедоступным продуктом», - заявил Тед Хофф (Ted Hoff), один из изобретателей первого микропроцессора.
За чуть более чем 25 лет процессоры прошли поистине гигантский путь.
Первый чип Intel 4004 работал на частоте 750 Кгц, содержал 2300 транзисторов и стоил около $200. Производительность его оценивалась в 60 тыс. операций в секунду. На сегодняшний день реальная производительность микропроцессоров превзошла 1300 Мгц.
Сравнение приведённых значений подтверждают оценку успехов микропроцессорной индустрии, данную основателем и председателем совета директоров фирмы Intel Гордоном Муром (Gordon Moor): «Если бы автомобилестроение эволюционировало со скоростью полупроводниковой промышленности, то сегодня «Роллс-Ройс» стоил бы всего 3 доллара, мог бы проехать полмиллиона миль на одном галлоне бензина, и было бы дешевле его выбросить, чем заплатить за парковку».
Такое интенсивное развитие технологий в обществе, где основным предметом труда становится информация, является следствием растущего спроса на основные орудия труда – компьютеры. На сегодняшний день компьютеризация является одним из главных направлений научно-технического прогресса.
Количество и качество производимых в стране компьютеров, степень насыщенности вычислительной техники самых разных отраслей становится одним из основных критериев её экономического и военного потенциала.
В микропроцессорах – наиболее сложных микроэлектронных устройствах - воплощены самые передовые достижения инженерной мысли. В условиях свойственной данной отрасли производства жёсткой конкуренции и огромных капиталовложений, выпуск каждой новой модели микропроцессора – так или иначе, связан с очередным научным, конструкторским, технологическим прорывом.


2.2. Микропроцессор Pentium.
На сегодняшний день микропроцессоры Pentium компании Intel занимают лидирующее положение на рынке микропроцессоров. Посмотрим архитектуру этих процессоров.
Семейство микропроцессоров Pentium (II, Ш, 4) включает в себя высокопроизводительные процессоры Intel, работающие на тактовых частотах от
60 до 2000 Мгц. Процессор Pentium полностью программно совместим с предыдущими микропроцессорами Intel, и позволяет применять ранее разработанные программы
В отличие от предыдущих микропроцессоров с системой команд х86, процессоры семейства Pentium обладают рядом целых технических новшеств, к числу которых относятся:

. суперскалярная архитектура;

. раздельные кэш-памяти для команд и данных;

. предсказание переходов;

. высокопроизводительные операции с плавающей точкой;

. усовершенствованная 64-разрядная шина данных;

. средства обеспечения целостности данных;

. SL-технология со средствами управления энергопотреблением;

. поддержка многопроцессорности;

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

. поддержка различных страниц памяти.

Рассмотрим эти новшества более подробно.

I. Суперскалярная архитектура
Два конвейера процессора могут выполнять две команды одновременно. Команды выполняются в 5 этапов:

1. предвыборка;

2. декодирование 1;

3. декодирование 2;

4. выполнение;

5. запись результатов;
При этом несколько команд могут находиться на разных этапах выполнения.
Однако два конвейера не являются независимыми. При остановке одного останавливается и другой.

Раздельные кэш-памяти команд и данных

Каждая кэш память процессора имеет размер 8 Кбайт (для версий Pentium I) и
16 Кбайт (для версий Pentium II, MMX, III). Кэш памяти являются частично ассоциативными. Поиск требуемой информации выполняется в стандартных 32- байтовых строках.
Буфер трансляции адресов (TLB) преобразует ячейки внешней памяти в соответствующий адрес данных в кэш памяти.

Предсказание переходов

Процессор Pentium – первый х86 совместимый микропроцессор. Выполняет утверждение переходов, используя буфер BTB (Branch Target Buffer) и два буфера предварительной выборки.
Алгоритм упреждения переходов процессора Pentium не только прогнозирует выбор простых ветвей, но поддерживает и более сложное прогнозирование. Это делается с помощью хранения в буфере BTB нескольких адресов переходов. BTB хранит до 256 результатов переходов, что позволяет выполнять правильное предсказание с вероятностью не менее 0,8.

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


2.3. Архитектурные особенности микропроцессоров

Типы команд микропроцессора.
В ходе эволюционного развития архитектур процессоров в состав системы команд вводились и закреплялись сложные команды, которые, по мнению разработчиков, соответствовали решаемым задачам. Мерой этого соответствия чаще всего был объём двоичного кода программы.
Команды бывают разных типов: «регистр, регистр(регистр»; «память, память(память»; «регистр(память» и др. Сложные команды модифицируют содержимое групп регистров и ячеек памяти, и для их реализации при приемлемых затратах оборудования, как правило, применяется микропрограммирование.
Команды называются скалярными, если входные операнды и результаты являются числами (скалярами).
Команды называются векторными, если входные операнды и, возможно, результаты являются вектором (массивом) чисел, а для преобразования данных массива (вектора) используется одна векторная команда.
Само появление векторных команд обусловлено стремлением ускорить обработку массивов данных за счёт исключения затраты времени на выборку и дешифрацию команд обработки, одинаковых для всех компонент входных массивов.
При сохранении последовательных программ для ускорения обработки применяются суперскалярные процессоры, в которых за счёт параллельной работы функциональных устройств процессора в одном такте вырабатывается несколько скалярных результатов.

Структурный параллелизм микропроцессоров.
Повышение производительности микропроцессоров достигается за счёт увеличения тактовой частоты, совершенствования параллельной и конвейерной обработки данных, а так же уменьшения времени доступа к памяти. Современные микропроцессоры содержат десять и более обрабатываемых устройств, каждое из которых предоставляет собой конвейер. Эффективная загрузка параллельно функционирующих конвейеров обеспечивается либо аппаратурой процессора, либо компилятором, на вход которого поступают программы на последовательном языке программирования, либо совместно с аппаратурой и компилятором.
В компиляторах используется изощрённая техника извлечения параллелизма из последовательных программ. Аппаратура микропроцессоров ориентированна на выделение более простых форм параллелизма, в том числе естественного.
Стремление использовать присущий большинству программ естественный параллелизм вычисления целочисленных адресных выражений и собственно обработки данных в формате с плавающей точкой привело к появлению разнесенных структур (decoupled architecture). Условно микропроцессоры с разнесённой архитектурой называются А - процессорами и Е- процессорами.
Разнесённая архитектура позволяет достигать при скалярной обработке производительности, характерной для векторных процессоров, за счёт предвыборки данных из памяти и автоматической развёртки нескольких последовательных витков цикла в А – процессоре. Проблемы расщепления программы на подпрограммы для А - и Е- процессора решаются на уровне компилятора или специальным блоком-расщепителем.

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

. регистры 64 – 256 слов со временем доступа 1 такт процессора;

. кэш 1 уровня – 8к слов со временем доступа 1 – 2 такта;

. кэш 2-го уровня – 256к слов со временем доступа 3 – 5 тактов;

. основная память – до 4 Гигаслов со временем доступа 12 – 55 тактов.
Использую помимо основной памяти небольшую и более быструю буферную память, можно значительно сократить количество обращений к основной памяти, за счёт аккумуляции фрагмента программного кода в буферной памяти. Создание иерархической памяти за время, пока предшествующие блоки программ и данных между уровнями памяти за время пока предшествующие блоки обрабатываются микропроцессором, позволяет существенно сократить простои процессора в ожидании данных. При этом эффект уменьшения времени доступа к памяти будет тем больше, чем больше время обработки данных в буферной памяти по сравнению со временем пересылки между буферной и основной памятью. Это достигается при локальности обрабатываемых данных, когда процессор многократно использует одни и те же данные для выработки некоторого результата.
В связи с тем, что локально обрабатываемые данные могут возникать в динамике вычислений, и не обязательно сконцентрированы в одной области при статическом размещении в основной памяти, буферную память организуют как ассоциативную, в которой данные содержатся в совокупности с их адресом в основной памяти. Такая буферная память получила название кэш-память.
Кэш имеет совокупность строк, каждая из которых состоит из фиксированного количества единиц в памяти (байтов, слов с последовательными адресами
Типичный размер строки: 16,64,256 байтов).
Наиболее часто используются три способа организации кэш-памяти, отличающиеся объёмом аппаратуры, требуемой для их реализации. Это так называемая кэш-память с прямым отображением (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 параллельных обращение в память по адресам, принадлежащим различным блокам. Поэтому выборка команд программы за исключением команд, выбираемых как результат ветвления, может быть ускорена применением расслоения памяти. Аналогично может быть ускорена обработка массивов данных
Многоуровневая иерархия и расслоение памяти могут использоваться совместно.

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.