Предходна страница
 
 

2. 3. Модули за обработка на данни в CPU

            На фиг. 2-2 са показани модулите за обработка на данни на серията 'C62x, а на фиг.2-3 - модулите за обработка на данни на серията 'C67x, които се състоят от:


 

 
 













2.3.1. Регистрови файлове с общо предназначение - А и В

            Всеки  от  регистровите  файлове  се  състои  от 16  32-битови регистъра (А0-А15) за файл А и В0-В15 за файл В). Те  могат  да  се използват за съхраняване на данни или адреси. Регистрите А1, А2, В0, В1, В2 могат да се използват за регистри на условията.Регистрите А4-А7 и В4-В7 могат да се използват за кръгово адресиране. Регистровите  файлове  поддържат  32-  и  40-битови  целочислени  данни.  32-битовите  данни  могат    да   се разполагат   във   всеки  регистър. 40-битовите  данни  се  разполагат  в  два   регистъра:  младшите  32  бита  се разполагат  в  четния   регистър,  а  останалите  8  старши  бита  се разполагат в младшите 8 бита на следващия регистър с по-голям номер (който евинаги нечетен).  'C67x  използва тези регистрови двойки за разполагане на 64-битовичисла с плаваща запетая с двойна точност.

Фиг.2-2.Модули за обработка на данни в CPU на TMS320C62x


 
 
 
 

Фиг.2-3. Модули за обработка на данни в CPU на TMS320C67x


 
 
 
 

2.3.2. Функционални устройства
 
            Осемте  функционални устройства в модулите за обработка на данни(МОД) в 'C62x/C67x могат да бъдат разделени  на  две  групи  по четири. Всяко функционално устройство от единия модул за обработка на данни е почти  идентично  със  съответното  си  устройство от другия модул. Функционалните устройства са описани в таблица 2-1.
            Повечето  шини  за  данни  в  CPU  поддържат  32-битови  данни, а някои поддържат и дълги 40-битови данни.  Всяко  функционално  устройство  има  собствен  32-битов  порт  за  запис  в  регистровия  файл с общо предназначение. Всички устройства от модул А за обработка на данни записват в регистровия файл А, а тези от модула  В  за  обработка  на  данни - в регистровия  файл В. Всяко функционално устройство има два 32-битови порта  за  четене  на  операнди  src1  и  src2.  Четири устройства (.L1, .L2, .S1 и .S2) имат допълнителен 8-битов порт  за  40-битов  запис, както и 8-битов входен порт за 40-битово четене. Т. к. всяко устройство има собствен 32-битов  порт  за  запис, всичките  осем  функционални устройства могат да се използват паралелно във всеки цикъл.

Табл.2-1.Функционални устройства и изпълнявани от тях операции
Функционални устройства
Операции върху операнди с фиксирана запетая
Операции върху операнди с плаваща запетая
.L модул (.L1,.L2) 32/40-битови аритметични операции и сравнения
Нормализация на 32/40-битови числа
32-битови логически операции
Аритметични операции
Преобразувания: DP® SP, INT® DP, INT® SP
.S модул (.S1,.S2) 32-битови аритметични операции
32/40-битови премествания и 
32-битови побитови операции
32-битови логически операции
Разклонения
Генериране на константи
Трансфер от/към регистровия файл за управление (само .S2)
Сравнения и извличане на квадратен корен
Операции по абсолютна стойност
Преобразуване SP към DP
.M модул (.M1,.M2) 16 х 16 бита умножение Умножение на 32 х 32 бита 
Умножение на операнди с плаваща запетая
.D модул (.D1,.D2) 32-битово събиране,изваждане,
линейно и кръгово изчисляване на
адрес
Зареждане и разполагане с 5-битово
константно отместване
Зареждане и разполагане с 15-битово константно отместване (само за .D2)
Зареждане на двойна дума с 5-битово константно oтместване

    SP - число с единична точност
    DP - число с двойна точност
    INT - цяло число
 
 
 


2.3.3. Регистри за управление на TMS320C62x/C67x

            Устройство  .S2  може  да чете  и  записва  регистрите  за  управление, показани  на  фиг. 2-2  и фиг. 2-3. Таблица 2-2  показва  отделните  регистри за управление и функциите им. Всеки от регистрите за управление е достъпен чрез инструкцията MVC.

Табл.2-2.Регистри за управление

Съкращение
Име на регистъра
Описание
AMR Регистър за режима на адресиране Указва дали да се използва линейно или кръгово адресиране за всеки от осемте регистъра.Съдържа и размерите при кръгово адресиране.
CSR Регистър за статус и управление Съдържа бит за общо разрешение на прекъсванията, битове за управление на кеша и други битове за управление и статус.
IFR Регистър за флаговете на прекъсвания Отразява състоянието на прекъсванията.
ISR Регистър за установяване на прекъсвания Позволява да се установят чакащи прекъсвания от потребителя.
ICR Регистър за изчистване на прекъсванията Позволява на потребителя да изчиства чакащи прекъсвания.
IER Регистър за разрешение на прекъсванията Позволява индивидуално разрешаване/забраняване на прекъсванията.
ISTP Указател към таблицата за обслужване на прекъсванията Сочи началотo на таблицата за обслужване на прекъсванията.
IRP Указател за връщане от прекъсване Съдържа адрес,който трябва да се използва за връщане от маскируемо прекъсване.
NRP Указател за връщане от немаскируемо прекъсване Съдържа адрес,който трябва да се използва за връщане от немаскируемо прекъсване.
PCE1 Програмен брояч,фаза E1 Съдържа адреса на пакет с инструкции за изпълнение във фаза 1.

 
 
 

2.3.4. Разширения на регистровия файл за управление на TMS320C67x

            'C67x  има  три  допълнителни  конфигурационни  регистъра  за  поддръжка  на  операциите  с   плаваща запетая (табл.2-3). Тези регистри определят желания режим на закръгляване при операции с плаваща запетая за модулите .L и .M . Те съдържат също и битови полета за сигнализиране на следните състояния:
            - src1 и src2 не са нормализирани числа
            - резултатът от операция предизвиква препълване,незапълване на разредната решетка, когато е неточен, безкрайност или е невалиден.
            Има и полета за сигнализиране на делене на нула или опит за непозволено сравнение.
 
 

Tабл.2-3. Разширения на регистровия файл за управление на TMS320C67x

Съкращение
Име на регистъра
Описание
FADCR Конфигурационен регистър за събиране с плаваща запетая Определя режима на незапълване на разрядната решетка , режима на закръгляване, NaNs (невалидни числа) и други изключения за устройство .L .
FAUCR Конфигурационен регистър за междинни операции с плаваща запетая Определя режима на незапълване на разрядната решетка , режима на закръгляване, NaNs (невалидни числа) и други изключения за устройство .S .
FMCR Конфигурационен регистър за умножение с плаваща запетая Определя режима на незапълване на разрядната решетка ,режима на закръгляване, NaNs (невалидни числа) и други изключения за устройство .M .

 
 
 
 

2.3.5. Кръстосани магистрали между регистровите файлове А и В

            Всяко  функционално  устройство  чете  и записва директно регистровия файл от съответния му модул за обработка на данни. Устройствата .L1, .S1, .D1 и .M1 записват в регистров файл А, а устройствата .L2, .S2, .D2 и .M2 записват в регистров файл В.
            Всеки регистров файл е свързан с функционалните устройства на другия регистров файл чрез магистрала (1X  и  2X).   Тези  кръстосани   магистрали   позволяват  на  функционалните  устройства  от  единия  модул  за обработка  на  данни  достъп  до 32-битов операнд от регистровия файл на другия модул за обработка на данни. Магистралата  1X  позволява  на  функционалните  устройства  от  модул  А  за  обработка  на данни да четат от регистровия  файл В.  Магистралата  2X  позволява  на  функционалните устройства от модул В за обработка на данни  да  четат  от  регистровия  файл А.  Шест  от  функционалните  устройства  имат  достъп  до регистровия файл на другата страна чрез такава магистрала.
            Входовете  src2  на  .M1,  .M2,  .S1,  .S2  се  мултиплексират  между  кръстосаните  магистрали и съответните  на  модулите  регистрови  файлове. Входовете src1 и src2 на .L1 и .L2 се мултиплексират по същия начин.
            При  'C62x/C67x  съществуват  само  две  кръстосани  магистрали  1X  и  2X.  Това  позволява  само едно функционално  устройство  от  даден модул за обработка на данни да чете от регистровия файл на другия модул за обработка на данни по време на един такт или две кръстосани четения за един такт.
 
 


2.3.6. Магистрали за четене и запис в паметта

            Има  две  32-битови  магистрали  за  зареждане  от  паметта  в  регистровите  файлове:  LD1 за регистров файл  А,  LD2   за  регистров  файл В.  Серията   'C67x  има  още  по  една   32-битова  магистрала   за   всеки   от регистровите  файлове  А  и В, което позволява на инструкцията LDDW едновременно да зареди два 32-битови регистъра  в  страна А  и  два  32-битови  регистъра  в  страна В. Има  и две 32-битови магистрали ST1 и ST2 за съхраняване  на  съдържанието  на  регистрите  в  паметта.  Тези  магистрали  служат  и  за четене на 40-битови данни от устройства  .L и .S.
















2.3.7. Адресни магистрали

            Адресните  магистрали  DA1  и  DA2, показани  на  фиг. 2-2  и  фиг. 2-3, излизат  от  устройствата  .D. Те позволяват  генерираните  от единия регистров файл адреси да се използват от другия регистров файл за четене и  запис  в  паметта. Обаче  генерираните  едновременно  от .D1  и  .D2 могат да се насочат към съответните им магистрали DA1 и DA2 или да се кръстосат, т. е. от .D1 към DA2 и от .D2 към DA1.
 
 
 

Следваща страница 1