User Tag List

Результаты опроса: Нужен ли FPU 8-мибитным машинам ?

Голосовавшие
38. Вы ещё не участвовали в этом опросе
  • Да нужен - must have

    15 39.47%
  • Не особо то и нужен, но пусть будет

    7 18.42%
  • Вообще то нужен, но никто ничё не напишет, поэтому скорее нет чем да.

    6 15.79%
  • Нет не нужен - must die

    10 26.32%
Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 31

Тема: FPU

  1. #21

    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    причём тут TS-Conf
    А что это?

    ---------- Post added at 17:56 ---------- Previous post was at 17:55 ----------

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    нет, не пойдёт ))
    Нет, значит нет.

  2. #22

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А мы сможем рулить орбитальной группировкой сразу после установки FPU?
    Если нет, то - нафиг.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  3. #23

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,103
    Спасибо Благодарностей отдано 
    1,336
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ewgeny7, Сможем!
    Сразу же у нас появится эта возможность. Чтобы ей воспользоваться надо будет написать программку-симулятор. И в реальном времени, в виртуальном пространстве, с помощью клавиш OPQASp.

  4. #24

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    А мы сможем рулить орбитальной группировкой сразу после установки FPU?
    Сможем. Надо будет только Elite поправить

  5. #25

    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    27 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    Exclamation

    Теоретически сделать такой сопроцессор нет проблем. Практический проблем куча. Главная: наперкуа? Вот один товарищ хотел как-то:https://github.com/cheveron/sebasic4...h-Co-processor Да воз ныне там...

    ---------

    Раз тут обсуждаются концепты, то можно рассмотреть такие варианты:

    0) Т.к. эмулятор бейсиковского калькулятора всё равно нужно сначала написать хотя бы в виде прототипа, то для начала стоит сделать как доработку какого-либо ZX эмулятора. Причем, для отладки очень удобно делать снапшот системной памяти и регистров Z80 как на входе по адресу 0x38, так и на всех возможных выходах из калькулятора. Там собираем кучу примеров для эмулятора калькулятора и долго и муторно добиваемся, что наша реализация на Си или asm другого процессора будет давать точно такой же результат (такую же разницу в снапшотах)..

    1) Замена Z80 своей реализацией на FPGA (пропускаем совсем дорого).

    2) Замена Z80 своей реализацией на каком-нибудь ARM микроконтроллере + CPLD для реализации интерфейса с остальной системой (PSoC 4 тут как бы должен хорошо подойти). На ARM крутиться эмулятор Z80, при попадании адрес 0x38 переключаемся встроенный в ARM программный эмулятор спектрумовской плавучки.

    3) Тот же ARM+CPLD устанавливаем между системой и реальным Z80, пока не дошли до выборки команды из 0x38 прозрачно работает только Z80, а иначе вместо кода, который считал бы Z80 из ПЗУ, ему подкидывает ARM несколько инструкций которые позволяют считать требуемый контекст Z80 (значения его регистров).
    Потом, пока ARM вычитывает калькуляторные инструкции и сам непосредственно работает с системой памятью, а в это время Z80 получает постоянно инструкцию перехода на и инструкцию назад и таким образом дожидается пока калькулятор в ARM отработает (ес-но Z80 при этом не гадит на системной шине). Результаты (значение), которые нужно прописать в регистр Z80, выполняются подсовыванием соответствующих инструкций в Z80 до того, как ему отправят RET, чтоб он вернулся на место где был вызов калькулятора после того как его снова подключат в систему.

    4) Вариант предыдущего пункта, но стоим не между процессором Z80 и системой, а сбоку, как ПЗУ (аля TR-DOS) или DMA устройство. Слушаем шину, встретили выборку инструкции по 38h, - начинаем пихать свои инструкции, а не то, что в ПЗУ. Опять же вычитываем контекст, а далее либо отправляем Z80 в короткий сон, а само через DMA получаем, всё что нам нужно, либо периодически отправляем нужные инструкции, что за нас Z80 что-то из памяти прочитал, либо записал. В пределе такой устройство вообще можно подключить вместо ПЗУ без дополнительных проводов (только оно не будет знать, что это именно началась выборка команды, а не простое чтение), кроме того не будет работать в системах, где у шина данных ПЗУ не подключена напрямую к процессору и нет возможности со стороны ПЗУ считать записи в ПЗУ... oops, не без дополнительных проводов не получиться - нужно понимать, что Z80 пишет в память...
    Последний раз редактировалось troosh; 17.09.2015 в 13:46.

  6. #26

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от troosh Посмотреть сообщение
    Теоретически сделать такой сопроцессор нет проблем. Практический проблем куча. Главная: наперкуа? Вот один товарищ хотел как-то:https://github.com/cheveron/sebasic4...h-Co-processor Да воз ныне там...
    Интересная статья - возьму на вооружение.

    Цитата Сообщение от troosh Посмотреть сообщение
    Раз тут обсуждаются концепты, то можно рассмотреть такие варианты:
    Варианты конечно замысловатые, но заточены они под то что ПЗУ нельзя модифицировать, я же думал наоборот - изменить программную реализацию некоторых (далеко не всех) команд калькулятора аппаратной (реализацией).

    Цитата Сообщение от MVV Посмотреть сообщение
    к тебе встречное предложение - заняться разработкой FPU для uGFX.
    да думал об этом, но тот вариант что я задумал займёт около 5к ЛЕ и наверное не влезет.

  7. #27

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    на opencores.org мне приглянулись несколько проектов:
    FPU - http://opencores.com/project,fpu100
    Cordic - http://opencores.com/project,cf_cordic или http://opencores.com/project,verilog_cordic_core

    Цитата Сообщение от MVV Посмотреть сообщение
    На сколько эффективно и оправданно будет работать FPU в сравнении с параллельными вычислениями на трех NextZ80@42MHz и какие операции способно будет выполнять FPU?
    думаю это будет работать намного быстрее если реализовать на "Конечном Автомате" - да и для n>1 процессоров писать софты весьма нетривиальная задача )

  8. #28

    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    27 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    Варианты конечно замысловатые, но заточены они под то что ПЗУ нельзя модифицировать, я же думал наоборот - изменить программную реализацию некоторых (далеко не всех) команд калькулятора аппаратной (реализацией).
    Возможно я не до конца понимаю в чём смысл делать свой FPU в FPGA, когда можно взять заметно более быстрый ARM из младших кортексов и на его асме сделать функции бит в бит по результату совпадающией с оригинальной реализацией на Z80 (когда есть эталон отладка милое дело, иначе ад). Либо взять Cortex-M4 уже с железным FPU, если плевать на точность... Но это я по себе сужу, если б я такое решил делать.

    Или тут какая-то блокировка в сознании, что это уже не правильно осквернять z80 каким-то армецом (но avr на клавиатуру это норм)? Или пинов не хватает, - ну так я выше расписывал как их сэкономить...

    Улучшать только тригиометрию не имет смысла, тем более такими экзотическими способами, главное чтоб были быстрые плюс и умножение. Разве что под какой-то конкретный алгоритм, например при текстурировании.

    Раз зашла речь о NextZ80, то там можно сделать, чтоб на некотрых участках ROM, переставал отслеживаться тайминг как у оригинального Z80 (начинал работать на полной скорости), а далее добавлять инструкции R800, пока это не будет вредить совместимости другим программам (помню были защиты от реверса программ на спектруме, которые использовали множество недокументированных опкодов и безумное число префиксов - они сдохнут от изменения системы команд и ПЗУ).

  9. #29

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от troosh Посмотреть сообщение
    Возможно я не до конца понимаю в чём смысл делать свой FPU в FPGA, когда можно взять заметно более быстрый ARM из младших кортексов и на его асме сделать функции бит в бит по результату совпадающией с оригинальной реализацией на Z80
    Просто платка с FPGA уже есть - под неё и пишу, а ARM ещё спаять надо )
    Цитата Сообщение от troosh Посмотреть сообщение
    Или тут какая-то блокировка в сознании, что это уже не правильно осквернять z80 каким-то армецом
    нету никакой блокировки - с ARMами дела не имел просто - была б у меня платка с ARMом - на ней бы упражнялся ))
    Цитата Сообщение от troosh Посмотреть сообщение
    тоб на некотрых участках ROM, переставал отслеживаться тайминг как у оригинального Z80
    там как бы изначально нет такой привязки - всё заточено на максимум скорости.
    Но опять же повторюсь - на процессоре всё равно не сделать быстрее чем на конечном автомате в FPGA - разве что если процессор на 500+ МГц или ядер овердохрена )

  10. #30

    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    27 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    там как бы изначально нет такой привязки - всё заточено на максимум скорости.
    Но опять же повторюсь - на процессоре всё равно не сделать быстрее чем на конечном автомате в FPGA - разве что если процессор на 500+ МГц или ядер овердохрена )
    Я имел ввиду, что для совместимости (с плёнки погрузить, мультиколор насладиться) можно сделать там режим когда тайминг у команд 3.5МГц, но на некоторых участках ПЗУ будет разгоняться...

    На сложных проектах прототип на FPGA может быть медленнее раз в 100 того же верилога в кремнии (суже по тому, с чем реально сталкивался).

    Много ядер не нужно - там своя специфика начинается, обычно на это идут когда одно ядра быстрее нет возможности сделать. Или нужен реалтаим и/или задачи независимы и хорошо параллеляться.
    Последний раз редактировалось troosh; 29.09.2015 в 12:18.

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •