Министерство образования РФ Череповецкий государственный университет Кафедра ПО ЭВМ Дисциплина: «Организация ЭВМ и систем» КУРСОВАЯ РАБОТАТема: «Тест: быстродействие микропроцессора» Выполнил студент: Лужинский Андрей Группа: 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.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.
IV. Высокопроизводительный блок операций с плавающей точкой
В процессоре применяется блок вычислений с плавающей точкой, использующий сложные восьмиступенчатые конвейеры и внутренние функции. Большинство команд с плавающей точкой начинают выполняться в одном из целочисленных конвейеров, а затем передаются на конвейеры с плавающей точкой. Умножение и деление реализованы как внутренние функции.
2.3. Архитектурные особенности микропроцессоров
Типы команд микропроцессора.
В ходе эволюционного развития архитектур процессоров в состав системы команд вводились и закреплялись сложные команды, которые, по мнению разработчиков, соответствовали решаемым задачам. Мерой этого соответствия чаще всего был объём двоичного кода программы.
Команды бывают разных типов: «регистр, регистр-регистр»; «память, память-память»; «регистр-память» и др. Сложные команды модифицируют содержимое групп регистров и ячеек памяти, и для их реализации при приемлемых затратах оборудования, как правило, применяется микропрограммирование.
Команды называются скалярными, если входные операнды и результаты являются числами (скалярами).
Команды называются векторными, если входные операнды и, возможно, результаты являются вектором (массивом) чисел, а для преобразования данных массива (вектора) используется одна векторная команда.
Само появление векторных команд обусловлено стремлением ускорить обработку массивов данных за счёт исключения затраты времени на выборку и дешифрацию команд обработки, одинаковых для всех компонент входных массивов.
При сохранении последовательных программ для ускорения обработки применяются суперскалярные процессоры, в которых за счёт параллельной работы функциональных устройств процессора в одном такте вырабатывается несколько скалярных результатов.
Структурный параллелизм микропроцессоров.
Повышение производительности микропроцессоров достигается за счёт увеличения тактовой частоты, совершенствования параллельной и конвейерной обработки данных, а так же уменьшения времени доступа к памяти. Современные микропроцессоры содержат десять и более обрабатываемых устройств, каждое из которых предоставляет собой конвейер. Эффективная загрузка параллельно функционирующих конвейеров обеспечивается либо аппаратурой процессора, либо компилятором, на вход которого поступают программы на последовательном языке программирования, либо совместно с аппаратурой и компилятором.
В компиляторах используется изощрённая техника извлечения параллелизма из последовательных программ. Аппаратура микропроцессоров ориентированна на выделение более простых форм параллелизма, в том числе естественного. Стремление использовать присущий большинству программ естественный параллелизм вычисления целочисленных адресных выражений и собственно обработки данных в формате с плавающей точкой привело к появлению разнесенных структур (decoupled architecture). Условно микропроцессоры с разнесённой архитектурой называются А - процессорами и Е- процессорами.
Разнесённая архитектура позволяет достигать при скалярной обработке производительности, характерной для векторных процессоров, за счёт предвыборки данных из памяти и автоматической развёртки нескольких последовательных витков цикла в А – процессоре. Проблемы расщепления программы на подпрограммы для А - и Е- процессора решаются на уровне компилятора или специальным блоком-расщепителем.
Структурные методы уменьшения времени доступа к памяти.
Совершенствование архитектуры микропроцессоров и механизма доступа к памяти не может происходить без принятия совокупности соглашений о структуре программ и обрабатываемых данных. Это обусловлено, например, тем, что время доступа в основную память в десять и более раз больше, чем время выполнения преобразования данных в регистрах процессора. Поэтому необходимо находить решения по уменьшению времени доступа, учитывающие этот факт.
Иерархическая структура памяти. Идеальная память должна обеспечивать процессор командами так, чтобы не вызывать простоев процессора. При этом память должна иметь большую емкость. В современных условиях уменьшение времени доступа достигается введением многоуровневой иерархии памяти. Время доступа зависит от объема и типа используемой памяти.