![]() |
|
![]() ![]() ![]() |
|
Notreg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
собственно..
--------------------
Надежна лишь смерть, жизнь - нет. |
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Ну в основе основ могу посоветовать книги товарища Фрунзе "Микроконтроллеры? Это же просто". В третьем томе достаточно хорошо расписаны основные операции над целочисленными данными. Причём там рассказано как оптимизировать и по размеру кода и по скорости выполнения. Для того, что бы понять систему команд ужно ознакомится толи с первым томом, то ли со вторым. Не смотри, что там рассматриваются пиковские микроконтроллеры - все алгоритмы применимы для любых ядер.
Потом есть ещё книга "Алгоритмические трюки для программистов" Генри Уоррена мл. В этой книге тоже есть чего почитать по теме... |
|||
|
||||
Notreg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
не то наверно, интересуют сами алгоритмы умножения через сложение, которые выполняет процессор своими регистрами
--------------------
Надежна лишь смерть, жизнь - нет. |
|||
|
||||
Notreg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
??
--------------------
Надежна лишь смерть, жизнь - нет. |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Ну кажется у Фрунзе что-то такое тоже есть. Посмотрите сначала, а потом говорите "не то" а что тут думать? n*m = n + n + .... + n (m раз) Есть ещё мануалы Интеловские и АМДэшные. Там как раз регистры подробно упоминаются -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 97 |
Первый момент: Не имеет значение какое семейство микропроцессора используется (и какой разрядности) - все алгоритмы применимы везде. И не важно - восьмибитная ли это атмега, или 32-битный арм7. Важно только то, что все числа представляются наборами отдельных байт. Так скажем тип int - есть двухбайтное число. Значит мы можем работать как с младшим байтом, так и со страшим. Т.е. складываем младшие байты, смотрим появился ли флаг переполнения (есть в любом семейтве микропроцессоров) и запоминаем факт наличия. Затем складываем старшие байты и если был факт переполнения, то инкрементируем результат. Опять смотрим флаг переполнения и если надо, то переносим значение в третий байт результата. Данный алгоритм применим к любому семейству микропроцессоров. Второй момент: Если необходимо использовать особенности конкретного семейства микропроцессора. Например в 32-ух разрядных мп удобнее работать с числами, кратными 32-ум байтам, нежели выделять из 32-ух бит 8 бит. Да и потом нужно смотреть какие операции микропроцессор может выполнять на аппаратном уровне. Т.е. та же самая атмега может производить беззнаковое умнжение однобайтных чисел. Тогда в подпрограмме умножения больших чисел мы можем сократить количество использования операций сложения для увеличения скорости работы. Суть всего - полистай третий том от товарища Фрунзе. Не совсем верно. Регистрами никто ничего не выполняет. Всегда что то выполняет АЛУ, а регистры используются для хранения даных. Опять же мотивируясь вторым моментом - если нужна привязка к какому то конкретному семейству, то ищи доки по этому семейству. Это сообщение отредактировал(а) UniBomb - 29.4.2008, 10:12 |
|||
|
||||
Notreg |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
так не пойдет нужно еще сдвигать, быстрее будет..
АЛУ выполняет, пользуясь регистрами..
Мля а я первый том качнул.. Это сообщение отредактировал(а) Notreg - 30.4.2008, 18:50 --------------------
Надежна лишь смерть, жизнь - нет. |
||||||
|
|||||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Компьютерная литература | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |