ПредишенСледващото

Раздел 12: Модул хардуер множител

Модул хардуер множител може да се използва микроконтролер MaxQ семейството за извършване на високоскоростен умножение. Модул хардуер множител се състои от две 16-битови операнди и регистрира 32-битов регистър резултат на това, само за четене, а батерията с различна в това семейство на микроконтролери от 32 бита на 48-битова. А хардуер множител може да се извършва умножението и натрупване / изваждане на две 16-битови операнди в един цикъл. Модул хардуер множител, вместо да се използва ядро ​​за обработка, поддържа следните действия:

  • Размножаване на подписани или неподписани две 16-битови операнди
  • Умножение подписан или неподписани натрупване на две 16-битови операнди
  • Умножение подписан или неподписани изваждане на две 16-битови операнди
  • Умножение с табела инверсия на двете 16-битови операнди

Архитектурата на хардуер множител

Хардуерният множител се състои от две 16-битови операнди регистри с паралелно зареждане (MA, MB); само за четене доведе регистър, състоящ се от две паралелни 16-битови регистри (MC1R и MC0R); батерия, която се състои от две или три 16-битови паралелни регистри (MC2, МС1 и MC0); и да се регистрирате за състоянието / команди (MCNT). Имайте предвид, че регистърът на дължината на думата и МС2 за наличие зависи от семейството MaxQ микроконтролер на определен тип. Фигура 44 показва блокова диаграма на хардуер множител.


Фигура 44. архитектурата на хардуер мултипликатор

Управление на хардуер множител

Избор на режима, в който използват хардуер множител, по четири бита официален регистрирате MCNT: SUS, MSUB, MMAC и SQU. Броят на операнди да бъде зареден за стартиране на специфичен режим се определя OPCs малко, с изключение на работа в режим на квадратиране (SQU = 1). В операция операция квадратиране започва веднага след изтегляне от операнд (УО или MB), независимо от състоянието бита OPCs. MCNT регистър бита дават възможност да изберете режим, а броят на операнди да се зареждат за извършване на операцията. Всеки запис на операцията регистъра MCNT автоматично се връща броя на броя на операнди заредени, но не влияе на съдържанието на регистрите на операнди, се установи, ако състоянието на бита CLD. След използване на регистър бита MCNT даден желан режим, след това веднага след зареждането на определено количество на тези битове операнди хардуер множител извършва умножение умножение с натрупване / изваждане или умножение инверсия.

Избор на изходящия регистър

А хардуер множител е MCW контрол малко информация селекция регистър запис, който позволява да се запазят записите в регистрите MC2: MC0 да MC регистър (акумулатор). Когато малко MCW е 1, в резултат на тази операция не се съхранява в регистрите на MS. Когато MCW бит изчистени до 0, съдържанието на регистрите MS се актуализират след всяка операция. MC1R и MC0R чифт регистри е само за четене и се актуализира, независимо от състоянието на MCW малко. В този чифт регистри винаги съдържа данните, които ще се зарежда в регистъра двойка МС1: MC0, при условие че MCW = 1 или MMAC = 0. Когато MCW = 0 и MMAC = 1, съдържанието на регистрите двойки MC1R: MC0R може да не съответстват съдържанието на MC1 регистъра чифт: MC0, но той е предвидим и може да бъде полезен в някои случаи. Тя е боядисана в таблицата 17 по-подробно.

Изборът на режим на работа със знак или без знак за операнди

Операнди могат да съдържат номера е подписан или неподписан типа данни, но следва да се определят чрез прилагане на софтуер инсталиране на SUS бита. За да работи в режим, с изключение на регистъра на знак битови операнди SUS MCNT трябва да се настрои на 1; да работят в режим, като се вземат предвид Sus знаковите битови операнди трябва да бъдат върнати до 0. Коефициентът на хардуер с дръжки неподписани числа двете абсолютни количества. За 16-битови двоични цифри операнди има стойности от 0 до 216-1 (xFFFFh). При работа в режим, като се вземат предвид знака на операндите трябва да бъде представена в two's-допълнение двоичен, в които най-маловажният бит определя знака на числото. Диапазон на 16-битови двоични допълнителни номера в обхвата от 2 (16-1) (x8000h) до 2 (16-1) - 1 (x7FFF). Резултатът от всяка операция с операнди са знак преди запис или натрупване / изваждане да се регистрират предварително MS преминава разширение знак. За да работи в режим на умножение инверсия SUS бит винаги трябва да бъде 0 (т.е. трябва да се определя като се вземе предвид начина на работа на знака на операнди). Опитът режим инверсия умножение с изключение на знака операнди води до неправилни резултати, както и настройката малко. Промяна на вида на избраните данни (операнди) чрез задаване малко не променя съдържанието на SUS MC регистрира. MS регистрира на разположение за четене / запис и може да бъде променян от софтуерно приложение, ако е необходимо.

Изберете броя на операнди

OPCs Bit ви позволява да изберете един или dvuhoperandny работа. Когато бит OPCs изчистени 0, множител започва да изпълнява някои бита SUS, MSUB и MMAC експлоатация само след зареждане на двете операнди (един в регистъра на МА, а другият - в случай на CF). Когато Bit OPCs е 1, действието започва да се извършва непосредствено след всяко зареждане на операндите (MA и MB). По време на работа квадратиране (SQU) статус бит OPCs се игнорира, и превръщането започва след зареждане на една от операнди (УО или МБ).

Работа хардуер множител

Достъпът до хардуера множител

Няма ограничения за това как най-бързо данните се вписват в регистъра операнди, или по реда на тяхното постъпване. Единственото изискване е, че регистрите на УО на данни и / или КФ съответстват на настройките бита регистрират MCNT. Хардуерен мултипликационен песни, написани на MA и MB и започва веднага след изчисления на необходимия брой операнди да бъдат записани. Ако избраният режим конверсия след регистрирането на два операнда, тогава преобразуването се извършва след регистрирането на два операнда. Ако програмата за кандидатстване трябва да се рестартира първия операнд, че е необходимо да стартирате същата операнд или използвайте CLD MCNT битови регистри за reinitialization хардуер множител; в противен случай зареждането на втория операнд ще започне изчисляването на работа. CLD бита е самопочистваща се и за reinitializing хардуерна множител. След установяване на това малко операнд се регистрира, чрез почистване и контра-записан брой операнди.

Някои части от настройката на режима за умножение започва веднага след операнда / операнди и запис се извършва в един цикъл. Данните в само за четене регистри, както и да доведе MC1R MC0R вече присъства в следващия кадър, а в режим на умножение на натрупване / изваждане (MCW = 0 и MMAC = 1) в данните регистрирате MC2: 0, за да инсталирате само един цикъл по-късно. Когато Bit MCW = 0, резултата в регистрите MC2: 0 също винаги да бъде на разположение само след допълнителна цикъл. Този цикъл е необходимо да се актуализира регистри МС2: 0 не пречи на други компютърни инициализация. Работи с хмел, могат да бъдат започнати (независимо от типа на данните и броя на операнди) без необходимост от формиране на забавянето между натоварването на операнди.

Таблица 17. Режими на хардуер множител

Свързани статии

Подкрепете проекта - споделете линка, благодаря!