
- •Оглавление
- •Введение
- •Основные отличия архитектур i686 и amd64
- •Общие принципы программирования на языке Assembler для платформ i686 и amd64
- •Регистры
- •Принцип передачи параметров в функции
- •Работа со стеком
- •Адресация
- •Листинг программы для сравнения архитектур i686 и amd64
- •Пример работы программы
- •Сравнение программ
- •Список литературы
Пример работы программы
Рисунок 1.Пример работы простейшей программы шифрования текста на архитектуре amd64.
Рисунок 2.Пример работы простейшей программы шифрования текста на архитектуре i686.
Сравнение программ
На таком простом примере сложно заметить прирост производительности «на глаз», но пример с шифрованием и дешифрованием данных был выбран неслучайно.
В большинстве алгоритмов шифрования и дешифрования данных, а также при составлении хэш-сумм требуется использование 64-х или более разрядных данных. Анализируя исходный код в примерах можно заметить, что использование 64-х разрядной архитектуры позволяет за один такт передать большее количество данных, а следовательно увеличить скорость работы алгоритма. При использовании многопоточных программ данный выигрыш будет заметен еще больше.
Вывод
В ходе выполнения данной курсовой работы был проведен сравнительный анализ основных отличий программирования на 32-х и 64-х разрядном ассемблерах.
Данный анализ показал, что использование 64-х разрядной архитектуры позволяет выполнять большинство задач быстрее, чем на 32-х разрядной архитектуре, но требует большего количество ресурсов компьютера и переучивания программиста. Стоит заметить, что для небольших математических задач и большинства бытовых возможностей 32-х разрядной архитектуры на данный момент хватает, но на данный момент стоит задуматься о том, чтобы уже делать приоритет на подготовку программистов для 64-х разрядных аппаратных платформ.
Список литературы
1.Ассемблер вLinuxдля программистовChttp://ru.wikibooks.org/wiki/Ассемблер_в_Linux_для_программистов_C
2. Все, что нужно знать, чтобы начать программировать для 64-разрядных
версий Windows, http://msdn.microsoft.com/ru-ru/library/dd335933.aspx
3. Архитектура x86-64 под скальпелем ассемблерщика, http://www.insidepro.com/kk/072/072r.shtml
4. Битва технологий: x64 против x86, http://www.platform64.net/x64blog/x64_soft/bitva_tehnologiy_x64_protiv_x86.h
tml
5. Сравнение производительности веб-браузеров x86 и x64,
http://www.platform64.net/x64blog/x64_soft/sravnenie_proizvoditelnosti_veb_br
auzerov_x86_i_x64.html
6. Что лучше установить на ноутбук: Windows x86 или x64,
http://www.interface.ru/home.asp?artId=23789
7. Ассемблер в UNIX (мини-FAQ), http://www.insidepro.com/kk/209r.shtml
8. История соглашений вызова, часть 5: amd64, http://www.transl-gunsmoker.ru/2008/12/5-amd64.html
9. От С к Ассемблеру (gcc assembler),
http://www.opennet.ru/base/dev/from_c_to_asm.txt.html