Просмотр полной версии : Математический сопроцессор.
А никто не думал о подключении сопроцессора х87 или подобного к спектруму?
А никто не думал о подключении сопроцессора х87 или подобного к спектруму?
Думали и даже обсуждали неоднократно, цена слишком велика за такой нестандартный наворот для спекки а отдача будет небольшой. Быстрые операции с плавающей запятой обычно нужны в 3D где их можно заменить на табличные функции.
Причем, псевдотрехмерный DOOM написан без использования сопроцессора.
P.S. Спектруму реально может помочь, если к нему подключить GeForce GTX
Думали и даже обсуждали неоднократно, цена слишком велика за такой нестандартный наворот для спекки а отдача будет небольшой. Быстрые операции с плавающей запятой обычно нужны в 3D где их можно заменить на табличные функции.
не проще ли для этого запилить второй z80?
не проще ли для этого запилить второй z80?
ща если с сидбластером всё будет гуд, можно будет его использовать для дополнительных вычислений.
CodeMaster
04.04.2012, 16:39
ща если с сидбластером всё будет гуд, можно будет его использовать для дополнительных вычислений.
По сравнению с сидбластером х87 дешевле и наверное проще приклеить.
ща если с сидбластером всё будет гуд, можно будет его использовать для дополнительных вычислений.
так-то по-моему в zx-next был спаренный z80
CodeMaster
04.04.2012, 16:41
так-то по-моему в zx-next был спаренный z80
Он исключительно свой код обрабатывал и основного не касался.
Хочу напомнить, что в ZXMC2 для пробы введены порты
для быстрой операции умножения двух байт:
; порты сопроцессора:
; 0xE8EF - множимое (1)
; 0xE9EF - множитель (2)
; 0xEAEF,0xEBEF - результат (1)*(2)
Быстрые операции с плавающей запятой обычно нужны в 3D где их можно заменить на табличные функции.
ИМХО, мат. сопроцессор не помешал бы при расчёте масштабирования и вращения изображения.
---------- Post added at 16:13 ---------- Previous post was at 16:12 ----------
Разве табличные функции по быстродействию равны, тем , что может выполнить x87?
Black_Cat
04.04.2012, 18:12
А никто не думал о подключении сопроцессора х87 или подобного к спектруму?
Raydac что-то говорил что думал, или даже пытался подключить. Спроси если интересно
---------- Post added at 18:12 ---------- Previous post was at 18:07 ----------
Хочу напомнить, что в ZXMC2 для пробы введены портыдавно?
Хочу напомнить, что в ZXMC2 для пробы введены порты
давно?С прошивки версии 2.6 http://zx.pk.ru/showpost.php?p=118624&postcount=554
Black_Cat
04.04.2012, 19:26
С самой первой прошивки.т.е. в zxmc-1 уже было? а в доках нигде не отражено
т.е. в zxmc-1 уже было?Нет в ZXMC1 этого нет, поскольку в ней нет этих портов.
Я же специально отметил, что это появилось в ZXMC2 (начиная с версии 2.6)
http://zx.pk.ru/showpost.php?p=118624&postcount=554
Raydac что-то говорил что думал, или даже пытался подключить. Спроси если интересно
не, не пытался, была такая идея вроде, но в 90-х много всяких идей было, эта рассматривалась, но была отброшена вроде как по причине бессмысленности.. у Ивана Макарченко идея суперсопроцессора была получается реализована в Спринтере, но при таком Z80 просто превращается в очень сомнительный элемент системы, типа детсадовец при брате-боксере.. сейчас при наличии массы супердешевых супермикроконтроллеров сделать довесок к Z80 еще проще, но смысла нет имхо никакого, софта не будет под это
Black_Cat
05.04.2012, 00:23
Я же специально отметил, что это появилось в ZXMC2 (начиная с версии 2.6)пропустил. А до какой тактовой частоты процессора будет работать ZXMC?
пропустил. А до какой тактовой частоты процессора будет работать ZXMC?ATMega8515 и ATMega162 при 5 вольтах нормально работают на частоте до 18 Мгц (16 Мгц по datasheet).
Есть возможность через переходник ставить ATMega164/324/644/1284. Эти МК нормально работают до 24 Мгц (20 Мгц по datasheet).
Black_Cat
05.04.2012, 10:03
а на какой частоте Z80 ATMega будет успевать и перемножать и всё остальное?
а на какой частоте Z80 ATMega будет успевать и перемножать и всё остальное?ZXMC принципиально работают с /WAIT процессора, поэтому этим картам не важно на какой частоте работает Z80.
Пока ATMega перемножает, Z80 ждет, но поскольку операция перемножения в ATMega аппаратная, ожидание незначительно.
Хочу напомнить, что в ZXMC2 для пробы введены порты
для быстрой операции умножения двух байт:
; порты сопроцессора:
; 0xE8EF - множимое (1)
; 0xE9EF - множитель (2)
; 0xEAEF,0xEBEF - результат (1)*(2)
Получается мин. 60 тактов на умножение. По таблице не быстрее?
качал я когда то документацию на сопроцессор 387ой
сколь я помню он сидит на шине процесора основного и якобы ловит коды команд
оттрабатывая нужные
Хочу напомнить, что в ZXMC2 для пробы введены порты
для быстрой операции умножения двух байт:
; порты сопроцессора:
; 0xE8EF - множимое (1)
; 0xE9EF - множитель (2)
; 0xEAEF,0xEBEF - результат (1)*(2)
а на какой частоте Z80 ATMega будет успевать и перемножать и всё остальное?
Нахрена Атмега? ПЗУ 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 будут для множества векторов идентичны.
В этому случае в сопроцессор мы загружаем адрес в памяти, где находится исходные вектора и куда сваливать результат.
Black_Cat
30.04.2012, 12:06
caro, а изначально при включении множители в нуле? Их можно прочитать? Сохраняется ли состояние регистров множителей после чтения результата, т.е. можно один множитель использовать как константу? Состояние регистров множителей и результата меняется при аппаратном сбросе компа с клавиатуры, т.е. без сброса самой АТМеги?
caro, а изначально при включении множители в нуле?Состояние произвольное, не определено.
Их можно прочитать?Да, все регистры доступны для чтения. При записи в любой из регистров сомножителей, пересчитывается результат умножения.
Сохраняется ли состояние регистров множителей после чтения результата, т.е. можно один множитель использовать как константу?Да, можно.
Состояние регистров множителей и результата меняется при аппаратном сбросе компа с клавиатуры, т.е. без сброса самой АТМеги?Нет, пока питание на Мегу подается, состояние регистров не меняется.
Black_Cat
30.04.2012, 14:50
а в порты результата напрямую можно записать? :)
а в порты результата напрямую можно записать? :)Да, можно. Результат перемножения будет испорчен.
При следующей записи в любой из сомножителей результат будет скорректирован.
У меня была идея при записи в регистры результата корректировать например второй сомножитель,
но пока это не сделано, тем более что у Меги нет аппаратного делителя.
Black_Cat
30.04.2012, 15:17
У меня была идея при записи в регистры результата корректировать например второй сомножитель,
но пока это не сделано:) когда же у тебя дойдут руки до Меги..? столько всего хотелось бы.. :) вопрос риторический :)
Новую железку делать не нужно. Нужно экспериментировать с прошивкой NeoGS, она перезаливается на лету.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot