Вопросы к зачету по курсу «Эффективное программирование современных микропроцессоров и мультипроцессоров» 1. Роли программиста, компилятора и процессора при оптимизации программ. Алгоритмическая оптимизация. Программная оптимизация. Оптимизация времени исполнения. 2. Устройство подсистемы памяти современных микропроцессоров. Условия эффективной работы подсистемы памяти. Причины неэффективной работы подсистемы памяти и способы их преодоления. 3. Устройство исполнительного конвейера современных микропроцессоров. Условия эффективной работы конвейера. Причины неэффективной работы конвейера и способы их преодоления. 4. Виды параллелизма, реализуемые в современных микропроцессорах. Требования к программам для эффективного использования различных видов параллелизма в микропроцессоре. 5. Трансляция программ на языке Си в код ассемблера. Возможности компиляторов по оптимизации программ. Препятствия для оптимизации программ компилятором. 6. Эффективная работа с данными в памяти. Влияние выравнивания данных, плотности размещения данных, объема данных, порядка обхода данных. Примеры. Особенности работы с данными нескольких потоков. 7. Профилирование программ. Цели профилирования. Способы профилирования. Информация, получаемая в результате профилирования. Профилировщики. 8. Векторизация вычислений. Векторные и матричные ЭВМ. Векторные расширения процессоров общего назначения. 9. Низкоуровневые языки программирования. Форт. Применение. Характеристика языка. Сравнение с другими языками программирования. Построение DSL. 10.Организация хранения словарей в форт-системах. 11.Локальная фильтрация изображений. 12.Библиотека OpenCV. Использование OpenCV для обработки растровых изображений, видеоданных. 13.Технологии программирования узлов гибридных кластеров. OpenCL. 14.Язык OpenCL в сравнении с ANSI C. 15.Интерфейс OpenCL для хост-части OpenCL-программы. Механизмы достижения высокой платформенной независимости. 16.Сравнение языков Форт, Lisp. Достоинства, недостатки, области применения. 17.ПЛИС. Назначение. Организация. Характеристики типичных представителей. 18.Средства программирования ПЛИС. Среды и языки. Краткая характеристика VHDL.