More than Just Lines on a Map: Best Practices for U.S Bike Routes
17.конвейрна обработка
1. Конвейрна обработка
Един от начините за повишаване на бързодействието на системата се
постига чрез
конвейрната обработка. Същността на метода изисква
едновременно да се изпълняват повече от 1 инструкция.
Най-простата двуфазна конвейрна обработка на инструкции (използвана в
микроконтролери от фамилия PIC), е илюстрирана нафиг.4.9.
Фазите дешифриране + изпълнение са обединени в една.
Тактовият цикъл е разделен на две основни фази:
1. извличане на инструкцията от програмната памет
2. дешифриране + изпълнение.
Във всяка от двете фази на цикъла се обработват два различни етапа на
всяка от инструкциите. Както се вижда от диаграмата, инструкция 1 се извлича
от програмната памет и зарежда регистъра на инструкциите през първата фаза.
През време на втората фаза тя се дешифрира и задейства сигналите за
изпълнение на операцията.
Инструкция 2 се извлича паралелно с изпълнението инструкция 1.
Изпълнението на инструкция 2 става през първа фаза на следващия цикъл,
когато се извлича инструкция 3. При следващите инструкции паралелната
работа се повтаря. Така в рамките на един цикъл се извършва паралелна
2. обработка и изпълнение на две инструкции, което означава ICP = 2.
Логиката на конвейрната обработка означава магистрала за данни да е
свободна по време на изпълнението от преноса на инструкция от програмната
памет. Това предполага харвардска архитектура с отделен програмен канал.
В големите
микропроцесори предпочитан начин на обработка е
многоканалната паралелна обработка. Този метод позволява в рамките на един
цикъл да се изпълняват едновременно множество инструкции. Наред с
изискването за харвардска организация, е необходимо по-голям брой
изпълнителни блокове като АЛУ, да бъдат с фиксирана плаваща запетая.
Необходими са и увеличен брой управляващи блокове.