RUSSIAN

Профессиональное программирование на ассемблере x64 с расширениями AVX, AVX2 и AVX­512

Book information

Publisher
ДМК Пресс
Year
2021
ISBN
9785970609286, 9781484240625
Language
russian
Format
PDF
Filesize
34 MB (35820373 bytes)
Edition
1
Pages
628\629
Time added
2021-07-07 09:21:38

Description

В книге рассматривается программирование для 64­разрядной архитектуры x86 и использование расширенного набора векторных команд (AVX). Изучив этот материал, вы сможете кодировать быстродействующие функции и алгоритмы с использованием 64­разрядного языка ассемблера x86 и расширений набора команд AVX, AVX2 и AVX­512. Примеры исходного кода разработаны с использованием Visual Studio C++ и MASM; для их запуска рекомендуется ПК на базе x86 с 64­разрядной ОС Windows 10 и процессором, поддерживающим AVX. Предполагается, что читатели имеют опыт программирования на языках высокого уровня и базовые знания C++. Книга предназначена разработчикам, которые хотят научиться писать код с использованием языка ассемблера x64. Профессиональное программирование на ассемблере x64 с расширениями_переплет Профессионально программирование на Асссемблере_30_05_.pdf Предисловие от издательства Об авторе О техническом редакторе Благодарности Вступление О чем эта книга Глава 1 Архитектура ядра x86-64 1.1. Исторический обзор 1.2. Типы данных 1.2.1. Основные типы данных 1.2.2. Числовые типы данных 1.2.3. Типы данных SIMD 1.2.4. Прочие типы данных 1.3. Внутренняя архитектура 1.3.1. Регистры общего назначения 1.3.2. Регистр RFLAGS 1.3.3. Указатель команд 1.3.4. Операнды команд 1.3.5. Адресация памяти 1.4. Различия между программированием x86-64 и x86-32 1.4.1. Недопустимые команды 1.4.2. Устаревшие команды 1.5. Обзор набора команд 1.6. Заключение Глава 2 Программирование ядра x86-64. Часть 1 2.1. Простая целочисленная арифметика 2.1.1. Сложение и вычитание 2.1.2 Логические операции 2.1.3 Операции сдвига 2.2. Расширенная целочисленная арифметика 2.2.1. Умножение и деление 2.2.2. Вычисления с использованием смешанных типов 2.3. Команды адресации памяти и состояния 2.3.1. Режимы адресации памяти 2.3.2. Условные команды 2.4. Заключение Глава 3 Программирование ядра x86-64. Часть 2 3.1. Массивы 3.1.1. Одномерные массивы 3.1.2. Двумерные массивы 3.3. Строки 3.3.1. Подсчет символов 3.3.2. Конкатенация строк 3.3.3. Сравнение массивов 3.3.4. Обращение массива 3.4. Заключение Глава 4 Векторное расширение набора команд AVX 4.1. Обзор AVX 4.2. Концепции программирования SIMD 4.3. Арифметика с переносом или арифметика с насыщением? 4.4. Среда выполнения AVX 4.4.1. Набор регистров 4.4.2. Типы данных 4.4.3. Синтаксис команд 4.5. Скалярные вычисления AVX с плавающей запятой 4.5.1. Концепция программирования с плавающей запятой 4.5.2. Набор скалярных регистров с плавающей запятой 4.5.3. Регистр управления и состояния 4.5.4. Обзор набора команд 4.6. Операции с упакованными числами с плавающей запятой в AVX 4.6.1. Обзор набора команд 4.7. Операции с упакованными целыми числами в AVX 4.7.1. Обзор набора команд 4.8. Различия между x86-AVX и x86-SSE 4.9. Заключение Глава 5 Программирование AVX – cкалярные вычисления с плавающей запятой 5.1. Скалярная арифметика с плавающей запятой 5.1.1. Арифметика с плавающей запятой одинарной точности 5.1.1. Арифметика с плавающей запятой двойной точности 5.2. Скалярные сравнения и преобразования с плавающей запятой 5.2.1. Сравнение с плавающей запятой 5.2.2. Преобразования чисел с плавающей запятой 5.3. Скалярные массивы и матрицы с плавающей запятой 5.3.1. Массивы значений с плавающей запятой 5.3.2. Матрицы значений с плавающей запятой 5.4. Соглашение о вызовах 5.4.1. Базовые фреймы стека 5.4.2. Использование энергонезависимых регистров общего назначения 5.4.3. Использование энергонезависимых регистров XMM 5.4.4. Макросы для прологов и эпилогов 5.5. Заключение Глава 6 Программирование AVX – упакованные числа с плавающей запятой 6.1. Упакованная арифметика с плавающей запятой 6.2. Сравнение упакованных чисел с плавающей запятой 6.3. Преобразования упакованных чисел с плавающей запятой 6.4. Массивы упакованных чисел с плавающей запятой 6.4.1. Квадратные корни из упакованных чисел с плавающей запятой 6.4.2. Поиск минимального и максимального значений массива упакованных значений с плавающей запятой 6.4.3. Наименьшие квадраты упакованных чисел с плавающей запятой 6.5. Упакованные матрицы значений с плавающей запятой 6.5.1. Транспонирование матрицы 6.5.2. Умножение матриц 6.6. Заключение Глава 7 Программирование AVX – упакованные целые числа 7.1. Сложение и вычитание упакованных целых чисел 7.2. Сдвиг упакованных целых чисел 7.3. Умножение упакованных целых чисел 7.4. Обработка изображений с применением упакованных целых чисел 7.4.1. Минимальные и максимальные значения пикселей 7.4.2. Средняя интенсивность пикселей 7.4.3. Преобразования пикселей 7.4.4. Гистограммы изображений 7.4.5. Пороговая обработка изображений 7.5. Заключение Глава 8 Подробнее про AVX2 8.1. Среда выполнения AVX2 8.2. Команды AVX2 для упакованных чисел с плавающей запятой 8.3. Команды AVX2 для упакованных целых чисел 8.4. Расширения набора команд X86 8.4.1. Числа с плавающей запятой половинной точности 8.4.2. Слитное умножение-сложение (FMA) 8.4.3. Расширения набора команд для регистров общего назначения 8.5. Заключение Глава 9 Программирование AVX2 – упакованные числа с плавающей запятой 9.1. Арифметика упакованных чисел с плавающей запятой 9.2. Массивы упакованных чисел с плавающей запятой 9.2.1. Простые вычисления 9.2.2. Среднее арифметическое значение столбца 9.2.3. Коэффициент корреляции 9.3. Умножение и транспонирование матриц 9.4. Обращение матриц 9.5. Команды смешивания и перестановки 9.6. Команды извлечения данных 9.7. Заключение Глава 10 Программирование AVX2 – упакованные целые числа 10.1. Основные операции над упакованными целыми числами 10.1.1. Основные арифметические операции 10.1.2. Упаковка и распаковка 10.1.3. Увеличение размера 10.2. Обработка изображений с упакованными целочисленными пикселями 10.2.1. Усечение пикселей 10.2.2. Поиск минимального и максимального значений RGB 10.2.3. Преобразование RGB в оттенки серого 10.3. Заключение Глава 11 Программирование AVX2 – расширенные команды 11.1. Программирование операций FMA 11.1.1. Свертки 11.1.2. Скалярные операции FMA 11.1.3. Операции FMA с упакованными операндами 11.2. Команды для работы с регистрами общего назначения 11.2.1. Бесфлаговое умножение и сдвиги 11.2.2. Расширенные манипуляции битами 11.3. Преобразования с плавающей запятой половинной точности 11.4. Заключение Глава 12 Система векторных команд AVX-512 12.1. Обзор AVX-512 12.2. Среда выполнения AVX-512 12.2.2.Типы данных 12.2.3. Синтаксис команды 12.3. Обзор набора команд 12.3.1. AVX512F 12.3.2. AVX512CD 12.3.3. AVX512BW 12.3.4. AVX512DQ 12.3.5. Регистры маски операции 12.4. Заключение Глава 13 Программирование AVX-512 – числа с плавающей запятой 13.1. Скалярные операнды с плавающей точкой 13.1.1. Маскирование слиянием 13.1.2. Маскирование нулем 13.1.3. Округление на уровне команды 13.2. Упакованные числа с плавающей запятой 13.2.1. Арифметика упакованных чисел с плавающей запятой 13.2.2. Сравнение упакованных чисел с плавающей запятой 13.2.3. Средние значения столбца упакованных чисел с плавающей запятой 13.2.4. Векторные перекрестные произведения 13.2.5. Умножение матрицы на вектор 13.2.6. Свертки 13.3. Заключение Глава 14 Программирование AVX-512 – упакованные целые числа 14.1. Базовая арифметика 14.2. Обработка изображений 14.2.1. Пиксельные преобразования 14.2.2. Пороговая обработка изображений 14.2.3. Статистика изображений 14.2.4. Преобразование формата RGB в оттенки серого 14.3. Заключение Глава 15 Стратегии и методы оптимизации 15.1. Микроархитектура процессора 15.1.1. Обзор архитектуры процессора 15.1.2. Функциональная схема конвейера микроархитектуры 15.1.3. Механизм выполнения 15.2. Оптимизация кода на языке ассемблера 15.2.1. Основные методы 15.2.2. Операции с плавающей запятой 15.2.3. Ветвление программы 15.2.4. Выравнивание данных 15.2.5. Методы SIMD 15.3. Заключение Глава 16 Продвинутое программирование 16.2. Постоянные хранилища в памяти 16.3. Предварительная выборка данных 16.4. Многопоточность 16.5. Заключение Приложение П.1. Программные утилиты для процессоров x86 П.2. Visual Studio П.2.1. Запуск примера исходного кода П.2.2. Создание проекта Visual Studio C ++ П.3. Основные и дополнительные материалы П.3.1. Справочные руководства по программированию на X86 П.3.2. Справочные материалы по x86 и микроархитектуре П.3.3. Вспомогательные ресурсы П.3.4. Ссылки на ресурсы по алгоритмам П.3.5. Ссылки на ресурсы по C ++

Similar books

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

2025 · PDF

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

2022 · PDF

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

2021 · PDF

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

2022 · PDF

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

2023 · PDF

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

2022 · PDF

Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»

Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»

2014 · PDF