Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Конвейерная обработка данных
При реализации конвейерной обработки выполнение каждой команды разбивается на несколько этапов (ступеней), аналогично сборке автомобиля на конвейере. Работа каждой ступени завершается за 1 такт работы МП. Результат на выходе конвейера появляется с каждым тактом МП (в идеальном случае). Если команды однотипны, то появление результата на выходе не тормозится в ожидании завершения предыдущей команды.
Если же используются разные типы команд, то возникает простой, когда на какой-то ступени конвейера ничего не выполняется.
На рисунке приведен 6-ти ступенчатый конвейер. Весь процесс выполнения команды разбивается на 6 частей: ВК – выборка очередной команды ДК – декодирование очередной команды ФА – формирование адреса операнда ПО – прием операнда из памяти ВО – выполнение операции РР – размещение результата в памяти ПР – простой ОЖ – ожидание
Если возникает ситуация, когда нет данных с предыдущей команды для выполнения следующей команды, то происходит замедление работы конвейера, для приведенного на нижнем рисунке примера скорость падает в 5/3 раза. Эффективность работы конвейера будет тем ниже, чем более разнородные команды будут использованы (более эффективно работает конвейер при использовании RISC архитектуры, а при использовании CISC архитектуры наблюдается самая неэффективная работа). С повышением тактовой частоты микрооперации приходится делать более элементарными, чтобы успеть выполнить их за 1 такт (1ГГц à такт 1 нс), следовательно, повышается количество ступеней конвейера для того, чтобы микрооперация успевала выполняться за 1 такт. Команды условного ветвления могут сильно замедлить работу конвейера. Для того, чтобы повысить эффективность работы конвейера при работе с командами ветвления используются механизмы предсказания ветвления. Простой механизм предсказания ветвления предполагает, что в очередной раз все будет так же, как в предыдущий. Вероятность правильного предсказания - до 80%. Более сложный механизм предполагает использование статистики. Вероятность правильного предсказания – до 95%. Суперскалярная структура. Возможность повышения производительности процессора достигается также путем включения в его структуру нескольких параллельных функционирующих операционных устройств, обеспечивающих одновременное выполнение нескольких операций, т.е. в процессоре имеется несколько исполнительных конвейеров, работающих параллельно. Такая структура МП называется суперскалярной. В идеале, в МП может одновременно обрабатываться столько команд, сколько в нем имеется операционных устройств. Реально при использовании от 4 до 10 операционных устройств удается обеспечить выполнение за такт от 2 до 6 команд, т.к. сложно обеспечить равномерную загрузку операционных устройств. Эффективная одновременная работа нескольких исполнительных конвейеров обеспечивается путем предварительной выборки и декодирования ряда команд и выделения среди них группы команд, которые могут использоваться одновременно. Обычно в МП используется несколько устройств для выполнения целочисленных операций, одно или несколько устройств для выполнения операций с плавающей точкой и отдельное устройство для обработки специальных форматов аудио и видео данных. Параллельно с ними работают устройства для формирования адресов и выборки операндов для исполняемых команд. Здесь реализуется спекулятивная (предварительная) выборка операндов. В итоге результаты последующих команд могут быть доступны раньше результатов предыдущих. Результаты выполнения команд могут быть получены не в том порядке, в каком они записаны в программе. Для упорядочивания вводится специальный буфер, который устанавливает требуемый порядок выдачи результатов. Одновременное выполнение команд может оказаться невозможным, если они обращаются к одному и тому же регистру. При ограниченной емкости РЗУ эта ситуация может возникать часто. Чтобы ее нейтрализовать, вводят специальные регистровые блоки, дублирующие основное РЗУ. Тогда, если происходит одновременное обращение к одному и тому же регистру, то один из запросов перенаправляется к дублирующему регистру – «переименование регистра». На рис. 1.8 представлена суперскалярная структура Гарвардской архитектуры. В ней используются 2 конвейера по 6 степеней в каждом. Устройство управления обеспечивает выборку, декодирование и распределение команд. В структуре присутствуют 2 устройства, которые работают с целочисленными данными (SIU1, SIU2), 1 устройство работает с данными в форме с плавающей запятой (FPU) и 1 устройство (MIU) выполняет сложные операции с целыми числами (умножение, деление). Блок работы с числами с плавающей запятой обслуживается собственным набором регистров по 64 бита (блок FPR); дополнительно имеется буфер - 1 набор из 8 регистров по 32 бита, т.е. каждый из регистров блока имеет дублирующий регистр. Блок DSU обеспечивает выборку операндов из памяти. После выполнения операнды накапливаются в специальном буфере (блоке завершения), который и записывает их в память в требуемой последовательности.
1.12 Контрольные вопросы и задания 1. Приведите определение микропроцессора. 2. Что понимается под микропроцессорным комплектом? 3. Из каких блоков состоит микропроцессорная система? 4. В чем состоят различия между принстонской и гарвардской архитектурами? 5. Охарактеризуйте понятия линии, шины и магистрали. 6. Как работает мультиплексированная шина? 7. В чем особенности CISC, RISC и VLIW архитектур? 8. Чем отличается структура МП от архитектуры МП? 9. Дайте определение синхронных и асинхронных магистралей. 10. В чем состоит специфика шин адреса, данных и управления? 11. Как работает конвейер в МП? 12. Что такое суперскалярная структура МП? Глава 2 Режимы работы МПС Выделяют следующие основные режимы работы МПС: 1) Обмен данными под управлением МП. 2) ПДП (прямой доступ к памяти), другие названия этого же режима – DMA, «захват магистрали». 3) Режим прерывания.
Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 2903; Нарушение авторского права страницы