- •1. Що таке Асемблер?
- •9.Які ресурси середовища Intel64 для виконання програм
- •10. Режимы работы процессоров ia-32 (Режими роботи процесорів архітектури x86)
- •1 Реальный режим
- •2 Режим системного управления
- •3 Защищенный режим
- •11) Який адресний простір архітектури ia-32 і чим він визначається?
- •12 Який адресний простір архітектури Intel64 і чим він визначається?
- •14.Способи переведення у іншу систему числення. Приклади
- •13. Позиційні системи числення. Поняття та основні формули
- •15. Способи представлення від'ємних чисел
- •16. Додатковий код. Приклади
- •17. Зміщений код. Приклади
- •18 Формати з плаваючою точкою. Стандарти
- •19 Стандартний двійковий 32-бітовий формат з плаваючою точкою
- •20 Тандартний двійковий 64-бітовий формат з плаваючою точкою
- •21.Стандартний двійковий 80-бітовий формат з плаваючою точкою
- •22. Порівняння основних стандартних двійкових форматів з плаваючою точкою
- •23. Фізична память. Як узнати розрядність адрес?
- •24. Моделі пам'яті у процесорах архітектури x86
- •25. Сегментована пам'ять
- •26. Flat - модель пам'яті
- •27. Сторінкова пам'ять
- •28. Регістри процесора архітектури ia-32
- •29. Регістри процесора архітектури Intel64
- •30. Регістри загального призначення.
- •31. Сегментні регістри
- •8 Прапорів полягання
- •1 Прапор управління
- •5 Системних прапорів
- •35 Операнди команд та способи адресації операндів
- •36 Безпосередні операнди команд
- •37 Регістрові операнди команд
- •38 Способи вказування комірок пам'яті у якості операндів команд
- •39. Що таке опосередкована адресація стосовно вказування операнду команди?
- •40. Що таке база, індекс, зміщення, масштаб у операнді команди?
- •41Полное определение
- •44. Структура вихідного тексту програми на Асемблері
- •45.Директиви Асемблера. Найпопулярніші на вашу думку директиви
- •46.Директиви вказування типу процесора та моделі пам'яті
- •47. Директиви створення даних
- •48. Директива invoke. Приклади
- •49. Директива align. Приклади
- •50. Базові типи даних архітектури процесорів x86
- •51. Числові типи даних
- •52.Упаковані simd типи даних
- •Використання
- •53. Основні групи команд процесорів архітектури x86
- •54. Команди копіювання даних
- •Xchg Обмін данімі між операндами
- •55. Команди додавання цілих чисел
- •56. Команди віднімання цілих чисел
- •57. Команди множення цілих чисел
- •58. Команди ділення цілих чисел
- •59. Побітові логічні команди
- •60. Програмування читання та запису окремих бітів
- •61. Команди зсувів
- •62. Команди циклічного зсуву
- •63 Команды перехода
- •64 Реализация if-then-else
- •65, 66 Програмування циклів на асемблері?
- •67 Цикл з постумовою (рис. 2)
- •68. Програмування циклу зі збереженням біту переносу cf
- •69. Програмування циклу на основі команд loop
- •70. Програмування вкладених циклів
- •71. Команди обробки рядків даних
- •72. Команди stos, stoSx
- •73. Команди movs,movsx.
- •74. Префікс повторення rep та його різновиди.
- •75.Що таке структурованість та модульність програм. Наведіть приклади.
- •76. Макроси. Приклади програмування
- •77. Процедури. Визначення, виклик. Приклади програмування
- •78. Способи передавання значень параметрів процедурам
- •79. Локальні дані процедур
- •80. Пролог та епілог процедури
- •81. Стековий кадр процедури
- •82. Написання модульних програм на Асемблері
- •83. Можливості використання мов високого рівня сумісно з Асемблером
- •84. Конвенції виклику процедур
- •85. Конвенція cdecl. Приклад програмування.
- •86. Конвенція stdcall. Приклад програмування.
- •87. Асемблерні вставки у мовах високого рівня.
- •88. Середовище x87 fpu
- •89. Команди x87 fpu. Приклад програми.
- •90. Стек даних x87 fpu. Приклад програми.
- •91. Команди simd
- •92. Розширення mmx
- •93. Розширення sse
- •94. Типи даних sse
- •95. Векторны команди sse
- •96 Горизонтальне додавання
- •97. Команди movups та movaps. Приклад використання
- •98. Векторні команди множення sse. Приклад використання
- •99. Векторні команди додавання sse. Приклад використання
- •100. Команда shufps та її застосування
- •101. Розширення avx
- •102. Типи даних avx
- •103. Команды avx
- •104. Особенности команд avx по отношению к sse
- •105. Эволюция simd-расширений системы команд процессоров архитектуры х86
52.Упаковані simd типи даних
SIMD (англ. single instruction, multiple data — одиночний потік команд, множинний потік даних) - це елемент класифікації згідно з таксономією Флінна для паралельних процесорів, де до багатьох елементів даних виконується одна або однакові команди. SIMD - це одна з головних умов, котра гарантує можливість паралельного виконання алгоритмів.
Використання
При обробці мультимедійної інформації, наприклад накладання фільтрів, необхідно виконувати однакові дії над кожним пікселем зображення — саме тому дана архітектура дуже широко використовується при обробці мультимедійної інформації.
Векторний процесор — процесор, в якому операндами деяких команд можуть слугувати впорядковані масиви даних — вектори.
GPU - орієнтація відеокарт — це обробка мультимедійної відео інформації, яка найкраще відповідає представленню SIMD архітектури.
Архітектура MAJC — багатоядерний та багатопоточний мікропроцесор, від компанії Sun Microsystems, котрий був орієнтований на обробку мультимедійної інформації у мережі.
Векторні розширення центрального процесора X86 та x86_64: в центральні процесори додавалися набори інструкцій для роботи з мультимедійними даними:
MMX(Multimedia Extensions)- комерційна назва додаткового набору інструкцій, що виконують характерні для процесів кодування / декодування потокових аудіо / відео даних дії за одну машинну інструкцію.
3DNow! — розширення для набору інструкцій платформи X86, яку розробила компанія Advanced Micro Devices(AMD), що дозволяє виконувати прості векторні операції,.
SSE(Streaming SIMD Extensions)— набір інструкцій, розроблених Intel, як відповідь на аналогічний набір інструкцій 3DNow! відAMD
AVX(Advanced Vector Extensions)— розширення системи команд X86 для мікропроцесорів Intel та AMD, запропоноване компанією Intel у березні 2008.
Векторні розширення NEON ARM процесорів — набір з 64- та 128-бітових SIMD інструкцій, що надає стандартизоване прискорення для засобів медіа та сигнальної обробки прикладних програм.
Реалізація блоків SIMD виконується розпаралелюванням обчислювального процесу між даними. Тобто коли через один блок даних проходить по черзі багато потоків даних.
Джерело http://uk.wikipedia.org/wiki/SIMD
53. Основні групи команд процесорів архітектури x86
Систему команд процессора 8086 образуют 113 базовых команд, многие из которых допускают использование разнообразных режимов адресации.
По функциональному назначению выделяют спедующие группы команд:
- команды передачи данных
Dst, src, mem, reg, sreg, ac, data, mov.
- команды арифметических операций
Add, adc, inc,- команды прибавления
Sub, sbb, dec, neg - команды вычитания
Cmp – команда сравнения
Mul, imul – команды умножения
Div, idiv – команды деления
Cbw, cwd – команды преобразования
- команды логических операций и сдвигов
AND, OR, XOR и TEST - команды логических операций
Rol , ror , rcl , rcr, shl , shr , sal , sar – команды сдвигов
- команды передачи управления
Команды передачи управления процессора 8086 подразделяются на команды безусловных переходов, условных переходов, вызовов, возвратов, управления циклами и команды прерываний.
- цепочечные команды
-команды управления микропроцессором - Команды данной группы обеспечивают программное управление различными функциями процессора. Они делятся на две подгруппы: команды установки флагов и команды синхронизации.
ДЖЕРЕЛО http://www.emanual.ru/download/www.eManual.ru_1255.html
