- •Вопрос 1. Поколения архитектуры эвм. Основные характеристики.
- •Вопрос 2. Области применения и типы эвм. Классификация по быстродействию и областям применения
- •Вопрос 3. Принципы архитектуры Фон-Неймана.
- •Вопрос 4. Пользовательские регистры. Регистры общего назначения.
- •Вопрос 5. Пользовательские регистры. Сегментные регистры.
- •Вопрос 6. Основные характеристики памяти. Адресная, ассоциативная и стековая организация памяти.
- •Вопрос 7. Ассоциативная организация памяти: регистровая косвенная адресация (базовая и индексная)
- •Вопрос 8. Ассоциативная организация: регистровая косвенная адресация со смещением
- •Вопрос 9. Стековая память
- •Вопрос 10. Динамическая память. Статическая память
- •Вопрос 11. Режимы работы кэш-памяти
- •Вопрос 12. Структура эвм. Назначение и структура процессора
- •Вопрос 13. Системы команд. Классификация процессоров в соответствии с системой команд
- •Вопрос 14. Реальный режим процессора типа интел 8086. Сегмент, граница параграфа, смещение
- •Вопрос 15. Защищенный режим работы процессора. Таблицы дескрипторов
- •Вопрос 16. Виртуальный режим работы процессора типа интел 8086
- •Вопрос 17. Прерывания
- •Вопрос 18. Системы ввода-вывода.
- •Вопрос 19. Классификация процессоров. Cisc, risc, vliw, суперскалярные процессоры, misc.
- •Вопрос 20. Особенности risc архитектуры.
- •Вопрос 21. Параллельная обработка. Конвейерная организация. Типы конфликтов.
- •Вопрос 22. Архитектура суперскалярных процессоров. Предварительная выборка команд и предсказание переходов.
- •Вопрос 23. Архитектура эвм с длинным командным словом.
- •Вопрос 24. Процессор ia-64. Особенности построения и работы архитектура ia-64 (Merced)
- •Вопрос 25-26. Основные классы современных параллельных компьютеров. Numa, pvp, кластеры. Основные классы современных параллельных компьютеров. Mpp, smp
- •Массивно-параллельные системы (mpp)
- •Симметричные мультипроцессорные системы (smp)
- •Системы с неоднородным доступом к памяти (numa)
- •Параллельные векторные системы (pvp)
- •Кластерные системы
- •Вопрос 27. Вычислительные системы, классы архитектур.
Вопрос 22. Архитектура суперскалярных процессоров. Предварительная выборка команд и предсказание переходов.
Есть два подхода к отображению внутреннего параллелизма обработки данных на архитектурном уровне в системе команд, присущих микропроцессорам.
1 подход: никаких указаний на параллельную обработку внутри процессора система команд не содержит (суперскалярные процессоры).
2 подход: полностью открываются все возможности системе команд для параллельной обработки информации. В специально отведенных полях команды в каждом из параллельно работающих и обрабатывающих устройств предписывается действие, которое устройство должно совершить. Это процессоры с длинным командым словом – VLIW, или EPIC. Предполагается, что в таких микропроцессорах существуют компиляторы с языков высокого уровня, которые готовят программы для загрузки их в микропроцессоры.
Суперскалярные процессоры – дальнейшее развитие конвейеризации. Их отличительной особенностью является возможность выполнения нескольких команд за один процессорный цикл.
Архитектура их вычислительного ядра используюет несколько декодеров команд, которые могут нагружать работой множество исполнительных блоков. Если в процессе работы команды, обрабатываемые конвейером, не противоречат друг другу, и одна не зависит от результата другой, то такое устройство может осуществить параллельное выполнение команд. В суперскалярных системах формирование расписания управления команд возлагается на микропроцессор, что требует много ресурсов.
Статическая и динамическая структуры программы.
В соответствии с моделью последовательного программирования программы пишутся в предположении, что команды будут выполняться в том же порядке, в каком они представлены в программе. Программы могут иметь статическую и динамическую структуру. Текст последовательной программы, представленный на языке высокого уровня компилируется в машинный код, отражающий статическую структуру программы, то есть упорядоченное множество командных инструкций в памяти компьютера.
Процесс выполнения команды с конкретными наборами входных данных может быть представлен динамической структурой программы, то есть множеством инструкций в порядке их исполнения. Повысить степень параллелизма программы можно, изменяя соответствующим образом ее статическую и динамическую структуру.
Статическая структура однозначно соответствует исходному коду. Изменение статической структуры сводится к изменению исходного кода, что в общем случае не всегда возможно. Динамическая структура может быть изменена при неизменной статической структуре. Основная цель такого изменения – повышение степени параллельности выполнения команд. Допустимые границы преобразования динамической структуры задают существующие на множестве инструкций отношения: зависимость по управлению и зависимость по данным.
Зависимости по управлению (которые проявляются как переходы по условию) представляют главное препятствие высоко-параллельному выполнению потому, что эти зависимости должны быть установлены прежде чем будут выполнены все последующие команды.
Зависимости по данным обусловлены использованием одних и тех же ресурсов памяти (регистров, ячеек памяти) в разных командах. Поэтому для правильного исполнения программы необходимо использование этих ресурсов в предписываемом программой порядке.
При описании архитектуры суперскалярного процессора часто используется модель окна исполнения. При исполнении программы микропроцессор как бы продвигает по статической структуре программы окно исполнения. Команды в окне исполнения могут исполняться параллельно, если между ними нет зависимости.
Для устранения зависимостей, вызванных командами перехода, используется метод предсказания. Он позволяет извлекать и условно исполнять команды предсказанного перехода. Если позднее обнаруживается, что предсказание было сделано верно, то результат условно выполненных команд принимается. Если предсказание ошибочно – состояние процессора восстанавливается на момент принятия решения до перехода.