Обзор существующих микропроцессорных систем. Их архитектурные особенности. Структурные методы уменьшения времени доступа к памяти. Способы измерения реальной производительности. Алгоритм и листинг работы программы по определению быстродействия компьютера.
Аннотация к работе
Курсовая работа по дисциплине: "Организация ЭВМ и систем" на тему: "Тест на быстродействие микропроцессора" Выполнил студент: Лужинский АндрейСделать тест, который проверяет быстродействие микропроцессора.Команды называются скалярными, если входные операнды и результаты являются числами (скалярами). Команды называются векторными, если входные операнды и, возможно, результаты являются вектором (массивом) чисел, а для преобразования данных массива (вектора) используется одна векторная команда. Повышение производительности микропроцессоров достигается за счет увеличения тактовой частоты, совершенствования параллельной и конвейерной обработки данных, а также уменьшения времени доступа к памяти. Разнесенная архитектура позволяет достигать при скалярной обработке производительности, характерной для векторных процессоров, за счет предвыборки данных из памяти и автоматической развертки нескольких последовательных витков цикла в А - процессоре. Совершенствование архитектуры микропроцессоров и механизма доступа к памяти не может происходить без принятия совокупности соглашений о структуре программ и обрабатываемых данных.В результате этого процессору приходится совершать огромное количество команд, которые могли быть заменены несколькими. Вина лежит не на программных продуктах, а на тех системах программирования, с помощью которых эти программы создавались. Решение: создавать средства для создания программ максимально эффективным способом, обращая внимание на используемые процессором адресации и размещение данных. На сегодняшний день минимальную технологию изготовления имеют процессоры Intel Pentium 4, и она составляет 0,13 мкм (для сравнения: процессор AMD с архитектурой К 7, тактовой частотой 1000Мгц имеет 0,18 мкм. 4) Так же скорость вычисления уменьшается изза того, что процессору приходится останавливать свою работу и выполнять аппаратные прерывания.Рассмотрим недостаток № 3.Выбираем операцию из предложенных на экране. Если это операция сложения, то выполняется алгоритм суммирования ряда, если умножение, то выполняется вычисление факториала. Ввели N, то рад сложения выглядит следующим образом: 1 2 3 … N=СУММА Включаем таймер и запоминаем начальное значение. Выполняем выбранную операцию на Pascal.Procedure Add_Pascal(N:word); {Сложение на Pascal} var i:word; asm in al,40h mov bl,al in al,40h {Считываем начальное значение тиков от таймера} mov bh,al mov t1,bx end; writeln("Время выполнения сложения на Pascal: ",(time2-time1):6:12); @@q: {Выполняем сложение} inc dx add ax,dx loop @@q in al,40h mov cl,al in al,40h mov ch,al mov t2,cx end; asm in al,40h mov bl,al in al,40h {Считываем начальное значение тиков от таймера} mov bh,al mov t1,bx end;В каждом блоке две процедуры: первая - это выполнение операции на языке Pascal, а вторая - выполнение этой же операции на языке Assembler. Состоит из двух процедур, которые выполняют сложение на языке Pascal и Assembler. Сначала считываем начальное число тиков, затем выполняем операцию и снова считываем число с микросхемы. Разница, разделенная на произведение 65535*18,2 и будет временем выполнения операции. asm in al,40h mov bl,al in al,40h {Считываем начальное значение тиков от таймера} mov bh,al mov t1,bx end;Для проведения эксперимента вводятся числа: 10;100;1000;5000;10000;15000;20000;25000;30000;35000;50000;60000;65000;Все вычисления выполнялись на микропроцессоре AMD Athlon 1000 MHZ. Средняя температура процессора при вычислении 64 °С. Введенное знвчение Pascal AssemblerНачиная анализировать полученные результаты, хотелось бы привести график роста производительности при увеличении числа итераций. При применении языка Assembler рост производительности наблюдается от 10 итераций до 25000 и дальше стремиться к постоянному значению равному ~3,7. С умножением дело обстоит немного иначе: производительность резко увеличивается (от 1 до 10,3) при изменении числа итераций от 10 до 5000 и дальше выравнивается, стремясь к постоянному значению. По сравнению со сложением, производительность гораздо выше, хотя время выполнения этих операций в отдельности имеет несущественное различие, но при выполнении этих операций в цикле лидирующее положение занимает умножение. Затем при выполнении операции мы должны наши входные значения переписать в соответствующие регистры, выполнить операцию и вернуть значение обратно в память.