- •Структура, алгоритм функционирования кэш-памяти
- •Алгоритмы восстановления информации в оперативной памяти.
- •Алгоритмы замещения: точные, приближенные.
- •7. Пример реализации кэш памяти в процессоре i486
- •Расслоение памяти. Расчет эффективности.
- •10. Конвейер команд. Временные проблемы конвейера (временные диаграммы).
- •11. Структура линейного конвейера.
- •Конфликты в конвейере( структурные, по данным, по управлению)
- •Решение проблемы условного перехода: статические, динамические.
- •Суперконвейерные процессоры. Суперскалярные процессоры.
- •Особенности risc и cisc архитектуры.
- •Стратегии выдачи и завершения команд суперскалярных процессоров
- •Метод переименования регистров. Метод переупорядочивания команд. Бвп команд.
- •Прерывание. Характеристики системы прерывания.
- •Программно-управляемый приоритет между прерывающими программами.
- •Структура контроллера прерываний.
- •Векторное прерывание. Обработка прерываний в реальном режиме.
- •Проблемы разработки систем ввода-вывода и методы решения.
- •Подключение систем ввода-вывода.?
Метод переименования регистров. Метод переупорядочивания команд. Бвп команд.
Когда команды выдаются и завершаются упорядоченно, каждый Рг в любой точке программы содержит какое-то значение. Применение стратегий приводит к тому, что запись в Рг производится неупорядоченно.
Пусть есть код: MUL R2, R0, R1 ; ADD R0, R1, R2 ; AUB R2, R0, R1
Основная идея состоит в том, что каждый новый результат записывается в один из свободных дополнительных регистров. При этом ссылка на замененный регистр во всех последующих командах соответ. образом корректируется. Число физических регистров обычно больше числа логических. Дополнительные регистры используют в процедуре переименования для временного хранения результатов до момента разрешения конфликтов. Затем значение возвращается в штатное место.
При анализе программного кода составляется таблица подстановки, в которой номера логических регистров динамически отображаются на номера физических. Это реализуется с помощью буфера переименования. Он состоит из n ячеек. Поиск осуществляется ассоциативным методом. Еще есть аппаратно-регистровый файл.
|
ВЗ |
Рг |
Значение |
ЗД |
ПП |
|||||||||
0 |
1 |
4 |
40 |
1 |
1 |
|||||||||
1 |
1 |
0 |
0 |
1 |
1 |
|||||||||
|
1 |
1 |
10 |
1 |
1 |
|||||||||
n-1 |
|
|
|
|
|
ВЗ – вход занят. Единичное значение говорит о том, что вход не доступен.
Рг – номер переименованного регистра. В поле содержится номер логического регистра, для замены которого выделяется данная ячейка.
ПП – последнее переименование. Если в БП несколько ячеек через поле Рг ссылается на один и тот же регистр, то единица в поле ПП будет там, где находится ссылка на последний регистр.
Переупорядочивание команд
После декодирования команд и переименования регистров команды передаются на исполнение в ФБ. Выдача команд в ФБ производится также неупорядоченно по мере готовности операндов. Необходимо обеспечить корректность операндов. В основе реализации этого метода лежит использование окна команд, т.е. небольшая БП, куда помещаются все команды. Количество одновременно выполняемых команд: от 3 до 5.
|
|
|
|
|
|
|
|
|
|
|
|
ADD |
R3 |
0 |
40 |
1 |
R6 |
ADD |
20 |
1 |
200 |
1 |
R5 |
Буфер восстановления последовательности
Данная стратегия – инструмент для поддержки правильной последовательности исполнения команд в случае параллельной работы нескольких ФБ. В головной части буфера указываются команды, которые выданы. В буфере устанавливается идентификатор состояния команды. Если команда находится в стадии исполнения, то ей присваивается идентификатор «Х», если завершена, то «f». Все команды заносятся в буфер в порядке, определенной программой. В хвостовой части указываются команды, подлежащие удалению. Удаление происходит, если команда выполнена и предшествующая команда также завершена (от 5 до 64 входов).
