качал я когда то документацию на сопроцессор 387ой
сколь я помню он сидит на шине процесора основного и якобы ловит коды команд
оттрабатывая нужные
Вид для печати
качал я когда то документацию на сопроцессор 387ой
сколь я помню он сидит на шине процесора основного и якобы ловит коды команд
оттрабатывая нужные
Нахрена Атмега? ПЗУ 64Кх16 и в ней поместятся все варианты перемножения любых двух восьмибитных чисел. Для умножения даже в два раза меньший нужен объём, ведь 2*3=3*2. А если добавить ещё один порт, то можно ещё и 64 вида операций вибирать - туда и сложение и деление и хоть тангенсы можно запихнуть . И всё на одной ПЗУ 64Мх16.
По моему 8 бит маловато. И если ориентироваться на 3Д, надо делать аппаратный умножитель матриц.
X` = X*k1 + Y*k2 + Z*k3 + k4
Y` = X*k5 + Y*k6 + Z*k7 + k8
Z` = X*k9 + Y*k10 + Z*k11 + k12
Причем k1-k12 будут для множества векторов идентичны.
В этому случае в сопроцессор мы загружаем адрес в памяти, где находится исходные вектора и куда сваливать результат.
caro, а изначально при включении множители в нуле? Их можно прочитать? Сохраняется ли состояние регистров множителей после чтения результата, т.е. можно один множитель использовать как константу? Состояние регистров множителей и результата меняется при аппаратном сбросе компа с клавиатуры, т.е. без сброса самой АТМеги?
Состояние произвольное, не определено.Цитата:
Сообщение от Black_Cat
Да, все регистры доступны для чтения. При записи в любой из регистров сомножителей, пересчитывается результат умножения.Цитата:
Сообщение от Black_Cat
Да, можно.Цитата:
Сообщение от Black_Cat
Нет, пока питание на Мегу подается, состояние регистров не меняется.Цитата:
Сообщение от Black_Cat
а в порты результата напрямую можно записать? :)
Да, можно. Результат перемножения будет испорчен.Цитата:
Сообщение от Black_Cat
При следующей записи в любой из сомножителей результат будет скорректирован.
У меня была идея при записи в регистры результата корректировать например второй сомножитель,
но пока это не сделано, тем более что у Меги нет аппаратного делителя.
Новую железку делать не нужно. Нужно экспериментировать с прошивкой NeoGS, она перезаливается на лету.