-
- Если пользоваться формулой a*b = ((a+b)^2 - (a-b)^2)/4 ,
упорядочить а b, учесть случаи разной и одинаковой четности
множителей, то необходимо - 256 слов по 16 бит = 512 байт. Boвa(844 знак., 22.04.2024 16:36 - 16:39)
- Тама выше указано про использование ПЗУ 8x8. Кроме того,
оригинальный MCS-51 умножал 8x8 за 4 цикла (48 тактов). Так что
матричного умножителя в нем не просматривается. А вот
последовательное умножение по два разряда за цикл - вполне. LightElf(10 знак., 22.04.2024 17:08, ссылка)
- ПЗУшный умножитель 8*8 проще сделать из 4 4*4 и 3 сумматоров. - mse homjak(22.04.2024 21:28)
- Не получается 4 машинных цикла. - LightElf(23.04.2024 14:35)
- Не скажу за циклы, но за 3 такта, легко: mse homjak(77 знак., 23.04.2024 17:23)
- Дык я о том и говорю, что получается 3 цикла, а не 4. То есть "нэ
так все было". - LightElf(23.04.2024 17:35)
- Видимо, стандартное "сдвиг-сложэние". Но там, ИМХО, тожэ укладывается в 8, ну пусть, 16 тактов. - mse homjak(24.04.2024 11:03)
- Дык я о том и говорю, что получается 3 цикла, а не 4. То есть "нэ
так все было". - LightElf(23.04.2024 17:35)
- А там 48 тактов, а не 4 машинных цикла :) А так да, интересно как
это сделали - symbions(23.04.2024 14:49)
- а чем они отличаются по числу клоков? )) - POV(23.04.2024 14:50)
- в оригинале минимальное время исполнения команды 12 тактов
задающего генератора. - Zoro(23.04.2024 15:28)
- Есть машинный цикл. В оригинале он 12 тактов (6 фаз). Всё к этому делу и привязано. Так 48 тактов или 4 МЦ - однохуйственно. - POV(23.04.2024 15:50)
- Для "однотактовых" клонов 8051 время выполнения MUL - 4такта.
Среднее время выполнения обычной команды (арифметика, пересылки)
2-3 такта. NOP - 1 такт :) - AlexBi(23.04.2024 15:34)
- Я думаю там те же 12 клоков на МЦ. "Просто" оно скрыто от
пользователя 12ю тактовыми сигналами с смещением. - POV(23.04.2024 15:54)
- АВРки смогли 1 команда - 1 такт. Просто по разным фронтам. - mse homjak(23.04.2024 17:17)
- Не обязательно. Могли просто внутреннюю шину "широкой" (да хоть
128256 разрядов!) сделать. - reZident(23.04.2024 16:35)- И как это поможет команде ADD A,#50?... POV(373 знак., 23.04.2024 16:43)
- Ну вот "однотактовый" ADuC84x, например, эту команду (ADD A,#50) за
2 цикла выполняет. Где цикл = тактовому импульсу. reZident(1 знак., 23.04.2024 17:10, картинка)
- А у "однотактного" MG82F6D17 - ровно на такт больше. Зато у него
INC DPTR однотактный (если даташит не врет). Короче, в новых черт
ногу сломит. Обсуждать есть смысл только оригинал. LightElf(1 знак., 23.04.2024 17:32, картинка)
- Ну да, недавно вон при 32х битный 51 ссылка была )) Гугл перевод китайского DS не дал ни малейшего понимания как при сохранении совместимости это может работать... POV(147 знак., 23.04.2024 17:38 - 18:02)
- Я ж писал выше - это то, что доступно пользователю. Внутренней кухни он не знает... а мы же именно о кухне говорим?... POV(407 знак., 23.04.2024 17:26, картинка)
- А у "однотактного" MG82F6D17 - ровно на такт больше. Зато у него
INC DPTR однотактный (если даташит не врет). Короче, в новых черт
ногу сломит. Обсуждать есть смысл только оригинал. LightElf(1 знак., 23.04.2024 17:32, картинка)
- Ну вот "однотактовый" ADuC84x, например, эту команду (ADD A,#50) за
2 цикла выполняет. Где цикл = тактовому импульсу. reZident(1 знак., 23.04.2024 17:10, картинка)
- И как это поможет команде ADD A,#50?... POV(373 знак., 23.04.2024 16:43)
- "Не верю". Всё-таки с момента появления i8051 тулзы для
проектирования чипов шагнули вперёд, можно сделать и однотактный
проц. - SciFi(23.04.2024 16:30)
- "я думаю" что все однотактные ни разу не однотактные, а как раз работают по смещенным клокам... POV(209 знак., 23.04.2024 16:40)
- Я думаю там те же 12 клоков на МЦ. "Просто" оно скрыто от
пользователя 12ю тактовыми сигналами с смещением. - POV(23.04.2024 15:54)
- в оригинале минимальное время исполнения команды 12 тактов
задающего генератора. - Zoro(23.04.2024 15:28)
- а чем они отличаются по числу клоков? )) - POV(23.04.2024 14:50)
- Не скажу за циклы, но за 3 такта, легко: mse homjak(77 знак., 23.04.2024 17:23)
- Смотря кому проще. Дезигнер сделает мегатабличку и передаст на производство, пусть они там ипуцца. Ему так проще! :-) - SciFi(22.04.2024 21:33)
- Не получается 4 машинных цикла. - LightElf(23.04.2024 14:35)
- Я художник, я так вижу. - Boвa(22.04.2024 21:03)
- ПЗУшный умножитель 8*8 проще сделать из 4 4*4 и 3 сумматоров. - mse homjak(22.04.2024 21:28)
- (а+б) - 9 бит. дальнейшее возведение в двойку - 18 бит. - POV(22.04.2024 16:39)
- Тама выше указано про использование ПЗУ 8x8. Кроме того,
оригинальный MCS-51 умножал 8x8 за 4 цикла (48 тактов). Так что
матричного умножителя в нем не просматривается. А вот
последовательное умножение по два разряда за цикл - вполне. LightElf(10 знак., 22.04.2024 17:08, ссылка)
- Если пользоваться формулой a*b = ((a+b)^2 - (a-b)^2)/4 ,
упорядочить а b, учесть случаи разной и одинаковой четности
множителей, то необходимо - 256 слов по 16 бит = 512 байт. Boвa(844 знак., 22.04.2024 16:36 - 16:39)