
- •Структура, алгоритм функционирования кэш-памяти
- •Алгоритмы восстановления информации в оперативной памяти.
- •Алгоритмы замещения: точные, приближенные.
- •7. Пример реализации кэш памяти в процессоре i486
- •Расслоение памяти. Расчет эффективности.
- •10. Конвейер команд. Временные проблемы конвейера (временные диаграммы).
- •11. Структура линейного конвейера.
- •Конфликты в конвейере( структурные, по данным, по управлению)
- •Решение проблемы условного перехода: статические, динамические.
- •Суперконвейерные процессоры. Суперскалярные процессоры.
- •Особенности risc и cisc архитектуры.
- •Стратегии выдачи и завершения команд суперскалярных процессоров
- •Метод переименования регистров. Метод переупорядочивания команд. Бвп команд.
- •Прерывание. Характеристики системы прерывания.
- •Программно-управляемый приоритет между прерывающими программами.
- •Структура контроллера прерываний.
- •Векторное прерывание. Обработка прерываний в реальном режиме.
- •Проблемы разработки систем ввода-вывода и методы решения.
- •Подключение систем ввода-вывода.?
Суперконвейерные процессоры. Суперскалярные процессоры.
Эффективность конвейера находится в прямой зависимости от того с какой частотой на его вход подаются команды. Добиться n-кратного увеличения темпа работы конвейера можно 2-мя путями: 1) разбиение каждой команды на n подступеней при одновременном повышении тактовой частоты в n раз. 2) включение в состав процессора n конвейеров, работающих с перекрытием.
Первый из подходов называют суперконвейеризацией. Каждая из ступеней стандартного конвейера разбивается на 2 более простые подступени и выполняемые подступени занимают половину такта конвейера.
Рисунок!
К суперконвейерам относятся процессоры, которые имеют количество ступеней конвейера > 6. При реализации таких процессоров тактирование вдвое больше, чем внешняя частота. Увеличение количества ступеней конвейера достигается за счет разбиения этапов рабочего цикла конвейера. Главное требование: возможность реализации операции в каждой подступени наиболее простыми техническими средствами, а значит с min затратами времени.
Удлинение конвейеров ведет не только к повышению производительности, но и к усугублению проблем, характерных для любого конвейера, т.е. появлению конфликтов, что связано с необходимостью очистки больших ступеней и в итоге задержке исполнения команд.
Суперскалярные процессоры
Один из наиболее эффективных подходов повышения производительности – введение в вычислительный процесс различных уровней параллелизма. Основной объем вычислительной нагрузки обычно приходится на скалярное вычисление и дополнительный параллелизм, реализуемый в суперскалярных процессорах. Повышение производительности за счет включения в состав процессора как нескольких самостоятельных ФБ, каждый из которых выполняет свою операцию.
1) Блок выборки команд извлекает команду из основной памяти через кэш команд. Этот блок хранит несколько значений СчК и обработку команды УП.
2) Блок декодирования выполняет дешифрацию КОП команды, извлеченной из кэша. В процессорах Intel эти блоки совмещены.
3) Блок диспетчеризации и распределения взаимодействия между собой и выполняют функции контроллера. Оба блока хранят очереди декодированных команд. Очередь блока распределения передается по самостоятельным буферам, наз. накопителями команд. Эти команды уже дешифрированы, определено место нахождения операндов, но еще не выполнены. Каждый накопитель связан со своим ФБ. Поэтому число накопителей = числу ФБ. Блок диспетчеризации хранит список свободных ФБ, наз. табло. Табло используют для отслеживания состояния очереди распределения. Один раз за цикл блок диспетчеризации извлекает команды из своей очереди, считывает из памяти или из регистров операнды команд в зависимости от состояния табло помещает команды в очередь распределения. Эта операция наз. выдачей команд. Блок распределения проверяет команду на наличие всех необходимых для ее выполнения операндов и лишь затем начинает выполнение команды.
4) ФБ. Блок с фиксированной и плавающей точкой.
5) Блок обновления анализирует полученный результат и распределяет его в те команды, где он используется в качестве операнда.
Результат исполнения команд записывается либо в регистровый файл, либо в кэш данных в зависимости от кэша команд, используемым в данном процессоре.
Суперскалярность предполагает параллельную работу max числа исполнительных блоков, что возможно только при выполнении нескольких сперскалярных команд.