реклама на сайте
подробности

 
 
> Умножение 2байтовых чисел, как лучше воспользоваться аппаратным умножителем?
skopus
сообщение Nov 23 2005, 13:31
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124



Как можно использовать аппаратный умножитель, чтобы ускорить процедуру умножения чисел типа 16 x 9 и 16 x 8?

В первом случае совсем трудно. Для того чтоб сохранить необходимую точность, приходится использовать 9 битное значение в таком вот, например, формате:

01:C5 = 1.769227
00:B9 = 0.721208
81:30 = -1.188309
80:83 = -0.511272

Я так понимаю, что команда FMULS мне не подходит. В книге Евстифеева сказано, что формат 1.7 (страший разряд - целая часть, младший - дробная) Кстати где тогда хранится знак? и чем тогда отличается от FMUL ?

Поскольку я переделываю старую программу написанную для другого процессора, где не было аппаратного умножителя, то в принципе можно все сделать по аналогии. Но мы очень расчитывали на то, что можно будет выполнить умножение не за 85 тактов, а всего за 2. Так что вопрос быстродействия стоит ребром.

Может у кого-нибудь есть идеи по этому поводу?
Буду очень благодарен
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
skopus
сообщение Nov 23 2005, 14:28
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124



в апноте в разделе про умножение 16 на 16 с 16 битным результатом есть следующаая фраза.
when doing integer multiplication in C language, this is how it is done. Значит ли это, что, к примеру, в IAR C обычнфй оператор умножения работает именно так, как предлагается в аппноте?

Цитата(Rash @ Nov 23 2005, 17:22) *
Если не вкурсе зайди сюда, тут много чё на русском найдётся
http://www.efind.ru/ad/adframe.php?n=a40f2...3&target=_blank


по этой ссылке только реклама, заблокированная аутпостом...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- skopus   Умножение 2байтовых чисел   Nov 23 2005, 13:31
- - KRS   По поводу знака - для FMUL без знака исходные чис...   Nov 23 2005, 14:02
- - Rash   Смотри команды: MULS ? MULSU и т.д. в инструкциях ...   Nov 23 2005, 14:11
- - skopus   Спасибо огромное! Очень ценный PDF!   Nov 23 2005, 14:14
- - m16   Добавлю , у атмела есть апнота   Nov 23 2005, 14:20
- - Rash   Если не вкурсе зайди сюда, тут много чё на русском...   Nov 23 2005, 14:22
|- - vet   Цитата(skopus @ Nov 23 2005, 17:28) в апн...   Nov 23 2005, 14:36
|- - KRS   Цитата(skopus @ Nov 23 2005, 17:28) в апн...   Nov 23 2005, 14:47
- - Rash   Цитата(skopus @ Nov 23 2005, 18:28) в апн...   Nov 23 2005, 14:44
- - mse   Мож я чего не понял? А в чём проблема? Обычное умн...   Nov 23 2005, 20:35
- - skopus   блин, никогда этим не занимался А это нужно обяза...   Nov 25 2005, 10:30
- - Vic1   ЦитатаУмнож обычным многобайтным способом и учти, ...   Nov 25 2005, 12:54
- - skopus   так и не получилось у меня реализовать это в IAR C...   Dec 9 2005, 12:01
- - mse   ЦитатаИли может кто не поленится и напишет примерч...   Dec 9 2005, 21:45
- - skopus   а как использовать ассемблерную функцию в Си. Я уж...   Dec 12 2005, 09:08
|- - m16   skopus Зачем это нужно? ИАР использует аппаратн...   Dec 12 2005, 09:37
- - skopus   результат его умножения я вообще не могу интерпрет...   Dec 12 2005, 09:48


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016