Ekzamen Flashcards
Билет1
Известны три препятствия на пути развития современных ВС: ILP wall, Power wall и Memory wall. Какие технологии построения ВС наиболее чувствительны к указанным преградам?
Memory wall – ограничение пропускной способности памяти.
ILP wall – ограничение параллелизма уровня команд (трудно найти не зависимые инструкции в потоке).
Power wall – ограничение потребляемой энергии.
Технологии Multicore является наиболее чувствительной к указанным ограничениям. (Multicore – несколько продвинутых ядер).
Билет1
Опишите отличия в применении метода чередования (interleaving) для конвейеризации функциональных устройств процессора, банков оперативной памяти и модулей внешней памяти.
Чередование для конвейеризации банков ОП нужно для уменьшения задержек поступления данных в систему. После использования одного банка, ему необходимо время для дальнейшего использования, поэтому лучше обратиться к другому банку.
Чередование для конвейеризации Fu позволяет избавиться от простоев при выполнении команд. Если образуется кэш промах, то переход на команду, не зависящую от этого перехода.
Чередование для модулей внешней памяти – уменьшение времени на чтение данных.
Последние две нужны для минимизации задержек поступления данных в систему, в отличии от чередования для конвейеризации Fu.
Билет2
Опишите достоинства и недостатки архитектуры с длинным командным словом в сравнении с современными суперскалярными архитектурами.
Суперскалярные архитектуры: исполняется переменное число инструкций за такт, используя методы, как статического (развертка кода компилятором), так и динамического (алгоритм Томосула, неупорядоченная модель обработки) планирование.
VLIW – исполняют фиксированное число независимых инструкций за такт. Параллелизм уровня инструкций обеспечивается статически на этапе компиляции.
Достоинства:
+ Упрощение структуры микропроцессора (основная часть нагрузки ложится на компилятор).
+ Снижение энергопотребления.
+ Алгоритмы выбора порядка исполнения команд в компиляторах может быть существенно сложнее и эффективнее, чем алгоритмы аппаратного планирования инструкций.
Недостатки:
- Нет мобильности программного обеспечения (работа с определенным набором Fu).
- Зависимость от VLIW компилятора, их мало.
- Код для VLIW обладает невысокой плотностью. Из-за большого кол-ва пустых инструкций для простаивающих устройств программы для VLIW процессоров могут быть гораздо длиннее, чем аналогичные программы для суперскалярных архитектур.
Билет2
Опишите достоинства и недостатки схемы gshare в сравнении со схемами GAp.
Достоинства gshare:
+ более точные предсказания, коэффициент попадания выше;
+ более экономично, одна таблица второго уровня;
+ сравнительно невысокое время доступа;
Недостатки gshare:
- с коллизией предсказания ухудшаются;
- размер глобальной истории предсказателя gshare ограничен до логарифма от количества счетчиков.
Билет3
Какими факторами (в случае “идеальной” последовательности инструкций) ограничена степень ILP в процессорах различных архитектур?
ILP – параллелизм уровня инструкций – исполнение последовательности независимых инструкций параллельно.
Факторы:
- Ограничен размерами ББИ – базовый блок инструкций (линейная последовательность кода без перехода во внутрь или наружу). Меньше зависимостей –> больше возможностей для распараллеливания.
- Ограничен кол-вом регистров. Большое кол-во регистров в RISK предотвращает конфликты по имени регистров.
- Неэффективность компиляторов.
Билет3
Сравните реализации векторной обработки в виде конвейерного ALU и в виде массива ALU.
Реализация в виде конвейерного ALU намного производительнее т.к. за один такт ALU может выполнить несколько операций (нормализация, сложение мантисс, сдвиг мантиссы, сравнение порядков) и этим операциям не придется ждать выполнения предыдущих операций не причастных к ним в отличии от реализации векторной обработки в виде массива ALU.
Билет4
Каковы преимущества и недостатки символического разворачивания циклов против программной конвейеризации циклов?
Достоинства:
+ Исполняется меньше кол-во инструкций для поддержки циклов (связанные с командами перехода, изменение значения счетчика цикла).
+ При большом ББИ – больше комбинаторных возможностей для перепланирования инструкций (удаление простоев).
Недостатки:
- Нужно большое кол-во регистров для предотвращения конфликта по имени регистров.
- Независимость итераций необходима.
- Большой программный код.
- Не уменьшает время, когда цикл работает с неполной скоростью.
Билет4
Укажите факторы, сдерживающие распространение архитектуры EPIC.
1) При выпуске новой версии EPIC архитектуры все старое ПО можно потребовать полной перекомпиляции.
2) Оптимизированная для одного устройства программа может оказаться совершенно непригодной для работы на следующем поколение процессоров.
3) VLIW компилятором очень мало.
Билет №5
Какой процессор (скалярный, суперскалярный, суперскалярный с неупорядоченным исполнением, суперскалярный с неупорядоченным исполнением и переименованием) наиболее (наименее) чувствителен к размеру базового блока инструкций?
Скалярный самый не чувствительный к размеру ББИ, т. к. он выполняет только одну операцию за такт.
Далее суперскалярный с неупорядоченным исполнение и переименованием регистров, т. к. у него нет зависимостей по данным.
Суперскалярный более чувствителен к размеру ББИ, т. к. при большом размере ББИ будет меньше зависимостей, меньше простоев.
Суперскалярный с неупорядоченным исполнением самый чувствительный, т. к. при малом ILP он будет выполнять задачу намного быстрее.
Билет5
Недостатки MMX/XMM на фоне векторных процессоров других производителей.
Фиксированная длина вектора, зависящая от кода операции (длина кода привязана к длине вектора).
Билет №6
Охарактеризуйте сопряжение алгоритма Томасуло с различными ISA (ROSC, CISC, RISC)
Алгоритм Томасула позволяет последовательные инструкции выполнить не последовательно.
Не имеет смысла применять алгоритм Томасуло для архитектур ROSC и CISC, так как результат внедрения алгоритма Томасуло в данные архитектуры будет неэффективен.
Билет №7
Какое соотношение между скоростью выполнения арифметических операций и скоростью обмена с основной памятью характерно для современных SMP-компьютеров?
SMP – симметричное мультипроцессирование – архитектура многопроцессорных комп., в которой два или более одинаковых процессоров подключаются к общей памяти.
Выполнение арифметических операций на процессоре. SMP системы позволяют любому процессору работать над любой задачей независимо от того, где в памяти хранятся данные для этой задачи.
С поддержкой ОС, SMP системы могут легко перемещать задачи между процессорами эффективно распределяя нагрузку.
Память медленнее процессоров, которые к ней обращаются. Скорость выполнения арифметических операций больше, чем скорость обмена с основной памятью.
Билет7
Какие уровни параллелизма используются при суперскалярном процессировании?
ILP – параллелизм уровня инструкций. Исполнение последовательности независимых инструкций одновременно (параллельно).
LLP – параллелизм уровня циклов (разворачивание цикла увеличивает ББИ, позволяет уделять больше тактов простоя, т. к. больше инструкций могут быть переупорядочены) – параллелизм между итерациями цикла.
Билет7
Опишите достоинства и недостатки схемы gshare в сравнении со схемами GAp.
Достоинства gshare:
+ более точные предсказания, коэффициент попадания выше;
+ более экономично, одна таблица второго уровня;
+ сравнительно невысокое время доступа;
Недостатки gshare:
- с коллизией предсказания ухудшаются;
- размер глобальной истории предсказателя gshare ограничен до логарифма от количества счетчиков.
Билет №8
Сравните схемы классификации параллелизма по уровню и по гранулярности. Каковы области применения этих схем? Каковы их достоинства и недостатки?
Мелкозернистый: мелкоуровневый и на уровне команд.
Каждое параллельное вычисление достаточно мало и элементарно, составляется из десятков команд. Распараллеливаемые единицы – выражения или отдельные итерации цикла, имеющие небольшие зависимости по данным
Среднезернистый: на уровне команд и уровень потоков.
Распараллеливаемые единицы – вызываемые процедуры. Организуется программистом. Роль компилятора - выбор оптимальной последовательности инструкций.
Крупнозернистый: уровень потоков и уровень задач.
Каждое параллельное вычисление достаточно независимо от остальных, требуется относительно редкий обмен информацией между отдельными вычислениями. Распараллеливаемые единицы – большие и независимые программы. Обеспечивается ОС.
Гранулярность – отношение объема вычислений, выполненных в параллельной задаче, к объему коммуникаций.
Параллелизм по гранулярности – обеспечивается компилятором, программистом, ОС.
Параллелизм по уровню – усовершенствование архитектуры (увеличение ступеней конвейера, несколько конвейеров в одном CPU, многопоточность, мультипроцессоры).
Билет8
При переходе с однопроцессорной машины на четырёхпроцессорную возможно ли ускорение вычислений в два раза? При каких условиях?
Не всегда зависит от доли последовательной части f, при f>50% нельзя говорить о существенном ускорении. Только если доля f мала, имеет смысл многократное увеличение числа процессоров.
Билет №9
Законы Амдала и Густафсона в идентичных условиях дают различные значения ускорения. Каковы области применения этих законов?
Закон Амдала применяют, когда имеет значение скорость вычисления (имеет значение f – доля последовательной части.)
Закон Густафсона. Вместо того чтобы решать задачу быстрее, увеличивается точность вычисления.
Билет9
Охарактеризуйте эволюцию ISA с точки зрения проблемы семантического разрыва
Семантический разрыв - это мера различия принципов, лежащий в основе языков программирования высокого уровня, которые определяют архитектуру ЭВМ.
До появления языков высокого уровня, до появления СБИС, стремились удовлетворить растущие потребности развивающихся технологий программирования, включая в состав ISA новые, более развитые команды. Но угнаться не могли àобразовался семантический разрыв.
Переход на RISC и постоянное совершенствование языков программирования, закрепился семантический разрыв.
Билет №10
Сравните скалярные вычисления с плавающей точкой в SSE2 и в FPU (x86).
1) SSE2 – регистровая архитектура.
FPU – стековая архитектура.
SSE2 использует 8 128-битных регистров, включенных в архитектуру х86. С вводом расширений SSE, каждое из которых трактуется как 2 последовательных значения с плавающей точкой двойной точности.
FPU – математический сопроцессор – отдельный функциональный модуль во всех процессорах архитектуры х86. Его реализация обусловлена наличием специального набора команд для устройства вычислений с плавающей точкой.
SSE2 рациональнее использует ресурсы процессора, чем FPU.
Билет10
Каковы отличия между параллелизмом уровня команд и микроуровневым параллелизмом?
Микроуровневый параллелизм (ступени конвейера) уменьшает число тактов на инструкцию (много транзисторов простаивало при выполнении одной инструкции).
Параллелизм уровня команд (несколько конвейеров CPU) среднее количество инструкций за такт увеличивается…
Билет №11
Алгоритм Томасуло. Может ли ограниченность аппаратного РФ привести к структурному конфликту? Целесообразно ли многократное увеличение размера аппаратного РФ?
Переименование регистров заключается в том, что одно и то же обозначение может означать разные данные. Так как в РФ малое количество логических файлов ->структурный конфликт.
При отображении регистров происходит преобразование программных ссылок на аппаратные регистры ссылки на большой набор физических регистров. По существу процессор «размножает» клонированием, ограниченно число программируемых аппаратных регистров, тем самым в нем находится много теневых регистров, которых больше, чем систем команд, поэтому многократное увеличение размера аппаратного РФ не имеет смысла.