- •Структура, алгоритм функционирования кэш-памяти
- •Алгоритмы восстановления информации в оперативной памяти.
- •Алгоритмы замещения: точные, приближенные.
- •7. Пример реализации кэш памяти в процессоре i486
- •Расслоение памяти. Расчет эффективности.
- •10. Конвейер команд. Временные проблемы конвейера (временные диаграммы).
- •11. Структура линейного конвейера.
- •Конфликты в конвейере( структурные, по данным, по управлению)
- •Решение проблемы условного перехода: статические, динамические.
- •Суперконвейерные процессоры. Суперскалярные процессоры.
- •Особенности risc и cisc архитектуры.
- •Стратегии выдачи и завершения команд суперскалярных процессоров
- •Метод переименования регистров. Метод переупорядочивания команд. Бвп команд.
- •Прерывание. Характеристики системы прерывания.
- •Программно-управляемый приоритет между прерывающими программами.
- •Структура контроллера прерываний.
- •Векторное прерывание. Обработка прерываний в реальном режиме.
- •Проблемы разработки систем ввода-вывода и методы решения.
- •Подключение систем ввода-вывода.?
Особенности risc и cisc архитектуры.
Принципы RISC-архитектуры:
Любая операция вне зависимости от типа выполняется за 1 такт.
Операция обработки данных реализуется в формате регистр-регистр. Обмен между ОП и регистром осуществляется с помощью специальных команд чтения или записи.
Система команд должна содержать min число наиболее часто используемых команд одинаковой длины.
Состав системы команд должен быть оптимизирован с учетом требований компиляторов высокого уровня.
Особенности реализации:
выполнение команды за 1 такт -> конвейер
высокая степень дробления конвейера
большое количество регистров (до 136 регистров)
При реализации регистров используют метод перекрываемых регистров. Большое количество регистров позволяет передавать информацию через последовательность регистров.
Рг временного хранения |
Рг локальных переменных |
Рг параметров |
Рг временного хранения |
Рг локальных переменных |
Рг параметров |
|
Рг глобальных переменных |
1 окно содержит параметры, передаваемые данной процедуре от ее вызвавшей и результаты вызываемой процедуры при возврате в нее. 2 окно содержит локальные и временные параметры. 3 окно является буфером для 2-х стороннего обмена между процедурами. Т.к. в RISC процессорах используется высокая система дробления конвейера, то неправильное предсказание приводит к очистке всех ступеней конвейера, что в итоге снижает производительность на 20-30%. Учитывая, что команды УП в RISC прогах появляются через каждые 10-12 команд (в CISC через 5-6), поэтому используют гибридные способы.
Для реализации эффективного предсказания переходов при конвейеризации команд используют метод переименования регистров, позволяющий использовать тот регистр, который наиболее эффективен для процессора.
Достоинства и недостатки RISC: 1) для RISC характерна простая структура УУ, что позволяет расположить на кристалле дополнительные регистры, блоки памяти и т.д.; 2) ориентировано на потоковую конвейерную обработку
недостатки RISC: 1) из-за небольшого количества команд на 30% длиннее, чем CISC; 2) большое количество регистров приводит к необходимости дешифрации, что увеличивает время доступа; 3) УУ всегда аппаратные и всегда менее гибко, склонно к ошибкам.
В настоящее время создатели RISC позаимствовали идею CISC и сложные инструменты, которые для программиста неделимы, разделены на множество RISC инструментов, которое выполняется схемным УУ.
Стратегии выдачи и завершения команд суперскалярных процессоров
В режиме параллельного выполнения нескольких команд процессор должен следить в какой последовательности: 1) ему выбирать команды из памяти; 2) выполнять команды; 3) позволяет изменять регистры и ячейки памяти.
В общем виде стратегию выдачи и завершения команд можно сгруппировать в следующем виде: 1) УВУЗ; 2) УВНЗ; 3) НВНЗ.
Предположим, что процессор способен одновременно выбирать и дешифрировать 2 команды. Передача обеих команд на дешифрацию происходит также одновременно. В состав процессора входит 3 ФБ (сложение, умножение и деление), 2 устройства, обеспечивающих запись результата.
Стратегия УВУЗ
Цикл |
ДК |
ИК |
* |
ЗД |
|||
1 |
1 |
2 |
|
|
|
|
|
2 |
3 |
4 |
1 |
2 |
|
|
|
3 |
3 |
4 |
1 |
|
|
|
|
4 |
|
4 |
|
|
3 |
1 |
2 |
5 |
5 |
6 |
|
|
4 |
|
|
6 |
|
6 |
|
5 |
|
3 |
4 |
7 |
|
|
|
6 |
|
|
|
8 |
|
|
|
|
|
5 |
6 |
Стратегия УВНЗ
Цикл |
ДК |
ИК |
ЗД |
||||
1 |
1 |
2 |
|
|
|
|
|
2 |
3 |
4 |
1 |
2 |
|
|
|
3 |
|
4 |
1 |
|
3 |
2 |
|
4 |
5 |
6 |
|
|
4 |
1 |
3 |
5 |
5 |
6 |
|
5 |
|
4 |
|
6 |
|
|
|
6 |
|
5 |
|
7 |
|
|
|
|
|
6 |
|
Стратегия НВНЗ
Цикл |
|
|
Окно |
|
|
|
|
|
1 |
1 |
2 |
1, 2 |
|
|
|
|
|
2 |
3 |
4 |
3, 4 |
1 |
2 |
|
|
|
3 |
5 |
6 |
4, 5, 6 |
1 |
|
3 |
2 |
|
4 |
|
|
5 |
|
6 |
4 |
1 |
3 |
5 |
|
|
|
|
5 |
|
4 |
6 |
6 |
|
|
|
|
|
|
5 |
|
Каждая декодированная команда вначале помещается в окно команд. Процессор может продолжить выборку и декодирование вплоть до полного заполнения буфера. Выдача команд на исполнение определяется не последовательностью поступления команд, а мерой их готовности.
Окно не является дополнительной ступенью конвейера, т.е. не сказывается на производительности конвейера. При данной стратегии команда 6 готова ранее, чем команда 5 и поэтому она исполняется раньше, это приводит к уменьшению времени выполнения программного кода на 1 цикл. В НВНЗ команда не может быть выдана, если она приводит к зависимости или конфликту. Эффективность заключается в том, что к выдаче готово большее количество команд, что позволяет уменьшить вероятность приостановки конвейера.
