5. Конвейер на TMS320C62x
Конвейерът на 'C62x осигурява гъвкавост, която опростява програмирането и подобрява производителността. Тази гъвкавост се дължи на два фактора:
Етапи в работата на конвейера
Конвейерните фази са разделени на три етапа:
Фиг. 5-1. Етапи в конвейера за работа с
фиксирана запетая
Зареждане
Фазите за зареждане в конвейера са :
PG : генериране на програмен адрес
PS : изпращане на програмния адрес
PW : изчакване на готовност
PR : получаване на програмен пакет за зареждане.
Серията 'C62x използва пакет
за зареждане (FP), състоящ се от
осем инструкции. Всичките осем инструкции протичат
заедно през процеса на зареждане през
фазите PG, PS, PW и PR. Фиг. 5-2(а) показва фазите на
зареждане в последователен ред отляво надясно.
Фиг. 5-2(в) е функционална диаграма на потока инструкции през фазите
на зареждане. По време на фазата PG
в CPU-то се генерира програмен адрес. Във фазата PS програмният
адрес се изпраща към паметта.
Във фазата PW се осъществява четене от паметта. Накрая
във фазатa PR пакетът за зареждане
се изпраща към CPU. Фиг. 5-2(с) показва
преминаването на пакетите за зареждане през фазите
на етапа зареждане в конвейера. На тази фигура първият зареждаем
пакет
(в PR) се състои от четири изпълними пакета,
вторият и третият зареждаеми пакети (в PW и PS)
съдържат по два изпълними пакета. Последният зареждаем пакет (в PG) съдържа
един изпълним пакет от осем инструкции.
Фиг. 5-2. Фази на зареждането в конвейера
Декодиране
Фазите при декодиране са:DP: разпределяне на зареждаемите пакети по модули
DC: декодиране на инструкциите във функционалните модули
Изпълнение
Таблица 5.1. Описание на фазите при изпълнение
|
|
|
Е1 | За всички видове
инструкции се оценяват условията.
За инструкциите за обмен се генерират адреси и модифицираните адреси се записват в регистровия файл. За инструкциите за преход зареждаемия пакет във фаза PG се променя. За едноцикловите инструкции резултатите се записват в регистровия файл. |
Едноциклови |
Е2 | За инструкциите
за зареждане адресът се изпраща към паметта. За инструкциите за запис адресът
и данните се изпращат към паметта.
Ако е настъпило препълване, съответната едноциклова инструкция установява бита SAT в регистъра за контрол и управление CSR. За инструкциите за умножение резултатите се записват в регистровия файл. |
Умножение |
Е3 | Осъществяват се
достъпи до паметта за данни.
Ако е настъпило препълване, съответната инструкция за умножение установява бита SAT в регистъра за контрол и управление CSR. |
Запис |
Е4 | За инструкции за зареждане данните се получават на периферията на CPU. | |
E5 | За инструкциите за зареждане данните се записват в регистрите. | Четене |
Конвейерна обработка
Фиг. 5-3 показва всички фази от всеки етап на конвейера на 'C62x, подредени последователно отляво надясно.
Фиг. 5-3.
Фази на конвейера за работа с фиксирана запетая
Фиг. 5-6 показва един пример
за конвейерен поток от последователни зареждаеми
пакети, които съдържат по осем паралелни инструкции. В този случай, когато
конвейерът е пълен, всички инструкции
в един зареждаем пакет са в паралел
и се разпределят в един
изпълним пакет за всеки зареждаем пакет (FP). Зареждаемите
пакети се движат в групапрез
всяка фаза от конвейера. Например разгледайте цикъл 7 на фиг.
5-4. Когато инструкция
от пакет FPn достигне E1,
инструкциите в изпълнимия пакет от FP(n+1)се декодират. FP(n+2) е
във фаза DP, докато пакетите за зареждане FP(n+3), (n+4), (n+5)
и (n+6) са всеки
в една от четирите фази на програмното зареждане.
Фиг. 5-4.
Конвейерна обработка:един изпълним пакет на
всеки зареждаем пакет