Лабораторная работа 1
Использование оптимизирующего компилятора
Измерение временных интервалов в программах на языке Си
Использование оптимизирующего компилятора
Задание к лабораторной работе 1
|
Лабораторная работа 2
Изучение ассемблерного листинга программы (x86)
Описание регистров архитектур x86 и x86-64
Команды архитектур x86 и x86-64
Задание к лабораторной работе 2
Дополнительно:
X86 Assembly/GAS Syntax
Викиучебник: Ассемблер в Linux для программистов C
Sun C Compiler manual page
Разбор простого ассемблерного листинга:
Пример 1
Пример 2
|
Лабораторная работа 3
Изучение ассемблерного листинга программы (Itanium)
Описание архитектуры Itanium
Команды архитектуры Itanium
Задание к лабораторной работе 3 (Itanium)
Дополнительно:
Книга: Itanium Architecture for Programmers
(
Itanium+Architecture+for+Programmers.chm )
|
Лабораторная работа 4
Использование SIMD-расширений архитектуры x86
Задание к лабораторной работе 4
Встроенные функции SSE (SSE
intrinsics)
Последовательный обход памяти
Пример использования встроенных функций SSE
Пример использования процедуры xDGEMM
из библиотеки BLAS в программе на Си
|
Лабораторная работа 5
Определение параметров кэш-памяти: объем кэш-памяти
Задание к лабораторной работе 5
|
Лабораторная работа 6
Определение параметров кэш-памяти: степень ассоциативности кэш-памяти
Задание к лабораторной работе 6
|