Поиск:

Ответ в темуСоздание новой темы Создание опроса
> арифметические операции в цифровых процессорах, нужна инфа 
:(
    Опции темы
Notreg
Дата 19.4.2008, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



собственно..
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
UniBomb
Дата 21.4.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Ну в основе основ могу посоветовать книги товарища Фрунзе "Микроконтроллеры? Это же просто". В третьем томе достаточно хорошо расписаны основные операции над целочисленными данными. Причём там рассказано как оптимизировать и по размеру кода и по скорости выполнения. Для того, что бы понять систему команд ужно ознакомится толи с первым томом, то ли со вторым. Не смотри, что там рассматриваются пиковские микроконтроллеры - все алгоритмы применимы для любых ядер. 

Потом есть ещё книга "Алгоритмические трюки для программистов" Генри Уоррена мл. В этой книге тоже есть чего почитать по теме...


--------------------
PM MAIL ICQ Skype   Вверх
Notreg
Дата 24.4.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



не то наверно, интересуют сами алгоритмы умножения через сложение, которые выполняет процессор своими регистрами
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
Notreg
Дата 28.4.2008, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



??
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
ksili
Дата 29.4.2008, 05:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Цитата(Notreg @  25.4.2008,  00:05 Найти цитируемый пост)
 интересуют сами алгоритмы умножения через сложение

Ну кажется у Фрунзе что-то такое тоже есть. Посмотрите сначала, а потом говорите "не то"


Цитата(Notreg @  25.4.2008,  00:05 Найти цитируемый пост)
алгоритмы умножения через сложение

а что тут думать? 
n*m = n + n + .... + n (m раз)

Есть ещё мануалы Интеловские и АМДэшные. Там как раз регистры подробно упоминаются


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
UniBomb
Дата 29.4.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(Notreg @  24.4.2008,  20:05 Найти цитируемый пост)
 интересуют сами алгоритмы умножения через сложение

Первый момент:
Не имеет значение какое семейство микропроцессора используется (и какой разрядности) - все алгоритмы применимы везде. И не важно - восьмибитная ли это атмега, или 32-битный арм7. Важно только то, что все числа представляются наборами отдельных байт. Так скажем тип int - есть двухбайтное число. Значит мы можем работать как с младшим байтом, так и со страшим. Т.е. складываем младшие байты, смотрим появился ли флаг переполнения (есть в любом семейтве микропроцессоров) и запоминаем факт наличия. Затем складываем старшие байты и если был факт переполнения, то инкрементируем результат. Опять смотрим флаг переполнения и если надо, то переносим значение в третий байт результата. Данный алгоритм применим к любому семейству микропроцессоров.

Второй момент:
Если необходимо использовать особенности конкретного семейства микропроцессора. Например в 32-ух разрядных мп удобнее работать с числами, кратными 32-ум байтам, нежели выделять из 32-ух бит 8 бит. Да и потом нужно смотреть какие операции микропроцессор может выполнять на аппаратном уровне. Т.е. та же самая атмега может производить беззнаковое умнжение однобайтных чисел. Тогда в подпрограмме умножения больших чисел мы можем сократить количество использования операций сложения для увеличения скорости работы.

Суть всего - полистай третий том от товарища Фрунзе.


Цитата(Notreg @  24.4.2008,  20:05 Найти цитируемый пост)
которые выполняет процессор своими регистрами

Не совсем верно. Регистрами никто ничего не выполняет. Всегда что то выполняет АЛУ, а регистры используются для хранения даных. Опять же мотивируясь вторым моментом - если нужна привязка к какому то конкретному семейству, то ищи доки по этому семейству.

Это сообщение отредактировал(а) UniBomb - 29.4.2008, 10:12


--------------------
PM MAIL ICQ Skype   Вверх
Notreg
Дата 30.4.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



Цитата

а что тут думать? 
n*m = n + n + .... + n (m раз)


так не пойдет нужно еще сдвигать, быстрее будет..

Цитата

Регистрами никто ничего не выполняет.


АЛУ выполняет, пользуясь регистрами..

Цитата

Суть всего - полистай третий том от товарища Фрунзе.


Мля а я первый том качнул..

Это сообщение отредактировал(а) Notreg - 30.4.2008, 18:50
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Компьютерная литература | Следующая тема »


 




[ Время генерации скрипта: 0.1102 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.