Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Большого смысла нет. Разбиение на 8 команд (для 32 бит) сделано условно,
Отправлено
vmp 25 января 2008 г. 11:11
В ответ на:
И есть ли смысл в аппаратном (+) отправлено
SM 25 января 2008 г. 00:43
в основном для того, чтобы не делать команду со временем выполнения 8 тактов.
А менять там нужно всегда в одном и том же месте.
При шифровании по ГОСТ на каждый блок данных (8 байт) выполняются 32 цикла (сложение с ключом - замена - сдвиг - XOR и обмен). Поэтому даже незначительное сокращение числа тактов приводит к заметному росту быстродействия.
Для 16 битного аккумулятора я бы предпочел 2 4-тактовые команды замена_L и замена_H. Работает с парой регистров (можно фиксированной) и указателем на uz. За один вызов меняют все 4 тетрады в аккумуляторе. Формат uz лучше оставить 32-битный, соответственно замена_L берет адрес uz + (temp4 << 2), замена_H - uz + ((temp4 << 2) + 2).
uz лучше брать из ОЗУ, поскольку экономия памяти для ОЗУ более важна. Для ПЗУ почти всегда можно развернуть uz, используя 1 килобайт вместо 64 байт.
А регистровую пару можно сдвигать за одну команду на несколько разрядов?
Составить ответ | Вернуться на конференцию
Ответы
- Ответ: (+) — SM (25.01.2008 13:05:53 80.92.255.53, 979 байт)