User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 79

Тема: Размышления на тему новых БК ДВК итд

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    наблюдая за новоделом могу сказать что он не весь одинаков! есть как-бы классы:

    1-й класс "резиновая баба" - это эмуль пущенный на современном процессоре (обычно arm-e), сюда можно отнести все что сделанно по форме как ретро-железо но в нутрях имеет китайский stick-pc или raspberry pi с запущенным эмулятором; (популярность такого новодела почти НОЛЬ, хороший пример - avr spectrum);

    2-й "мега силикон" - это когда стоит FPGA по жирности на порядок превышающая количество транзисторов в оригинале и способная работать на частоте на 2 порядка превышающей оригинал; (популярность слегка больше ноля);

    3-й "ретро силикон" - это сбисы тех времен + дискретная логика (круто)

    4-й "новодел ретро силикон" - это новые схемы совместимые со старым софтом, либо работающие с новыми драйверами и возможно с новым или патченным софтом, на тех же 556рт1 ПЛМ + дискретная логика и прочее (мегакруто)
    Последний раз редактировалось bigral; 29.12.2015 в 15:26.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    1-й класс "резиновая баба" - это эмуль пущенный на современном процессоре (обычно arm-e), сюда можно отнести все что сделанно по форме как ретро-железо но в нутрях имеет китайский stick-pc или raspberry pi с запущенным эмулятором; (популярность такого новодела почти НОЛЬ, хороший пример - avr spectrum);
    Резиновой бабой эмулятор является до тех пор, пока не будет в виде эмуляции (на основе процессора), или в виде симуляции (на основе FPGA) реализована точная копия железа требуемой системы. А будет это не ранее, чем будут реверсены все составные чипы устройства. И грамотно сэмулированы/ссимулированы. Тогда резиновая баба легким движением руки превращается в элегантный 100%-й клон.

  4. #3

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А будет это не ранее, чем будут реверсены все составные чипы устройства. И грамотно сэмулированы/ссимулированы. Тогда резиновая баба легким движением руки превращается в элегантный 100%-й клон.
    В случае процессора 1801ВМ1 весьма похоже, что создать идеально точный 100%-й клон методом абстрактной симуляции почти невозможно. Дело в том, что при эксплуатации в некоторых нереальных режимах, которые никогда не встречаются на практике ( например - нулевая задержка установки RPLY и задержка снятия RPLY в 4 такта ) - поведение процессора в некоторых ситуациях становится настолько сложным, что выявить абстрактную зависимость таймингов от истории предыдущих команд весьма непросто. Но зато в ограниченном подмножестве реально используемых режимов работы - абстрактные зависимости таймингов команд процессора 1801ВМ1 достаточно тривиальны, что позволяет осуществлять 100% точную абстрактную симуляцию поведения процессора на шине.

  5. #4

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Дело в том, что при эксплуатации в некоторых нереальных режимах, которые никогда не встречаются на практике ( например - нулевая задержка установки RPLY и задержка снятия RPLY в 4 такта ) - поведение процессора в некоторых ситуациях становится настолько сложным, что выявить абстрактную зависимость таймингов от истории предыдущих команд весьма непросто.
    Мне сложно предложить решение этой проблемы, т.к. в модель ВМ1 я не вникал, ибо являюсь ожидателем ВМ2, на нем и посмотрим)

  6. #5

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Мне сложно предложить решение этой проблемы, т.к. в модель ВМ1 я не вникал, ибо являюсь ожидателем ВМ2, на нем и посмотрим)
    Решение простое - явный запрет использования абстрактной модели в никогда не используемых режимах. Вряд ли запрет использования модели при задержке снятия RPLY больше 2 тактов может как-то сильно ограничить потенциальных пользователей, если учесть, что ни в одной реальной системе с процессором 1801ВМ1 задержка снятия RPLY не превышает 2 тактов.

    Но проблема сложного поведения в нереальных режимах вполне может проявиться и у ВМ2, поэтому лучше заранее учесть такую возможность, поскольку эмуляция логической схемы процессора в последовательном алгоритме оказалась на практике на один - два порядка медленнее, чем необходимо для достижения моделью быстродействия оригинала, а значит - для достижения эмулятором не только адекватной точности, но и адекватной скорости работы, у абстрактной симуляции нет альтернатив.

  7. #6

    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,480
    Спасибо Благодарностей отдано 
    310
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    217 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    пока не будет в виде эмуляции (на основе процессора)
    Что-то тяжело идет эмуляция ВМ1 на Си, видимо без распараллеливания кода не обойтись.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  8. #7

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Решение простое - явный запрет использования абстрактной модели в никогда не используемых режимах.
    На ПЛИС синтезируемые модели 1801ВМ1 по результатам реверса вроде же ведут себя в точности как процессор? Фантомные циклы на месте и прочее. Небольшая рассинхронизация в пределах полутакта второстепенных сигналов типа BSY/SEL не считается.

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

  9. #8

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    На ПЛИС синтезируемые модели 1801ВМ1 по результатам реверса вроде же ведут себя в точности как процессор?
    Это мы о своём - эмуляции сложных логических схем на PC и микроконтроллерах.


    Цитата Сообщение от Vslav Посмотреть сообщение
    Абстрактную модель можно попытаться построить на микромашине, то есть симулировать не весь верилог, а только исполнение микрокоманд и только по фронту тактового сигнала, тогда есть шанс что оно уложится в реальное время и не надо будет строить эмуляцию поведения, которую действительно достаточно сложно формализовать.
    Долго ли, коротко ли, но спустя месяц нуднейшей работы и кучу прогонов сотни ПЗУ-тестов - 100% точные абстрактные модели поведения ВМ1А и ВМ1Г для реальных режимов через какое-то время будут готовы.

    После этого можно заняться и эмулятором микромашины.
    Последний раз редактировалось Patron; 29.12.2015 в 23:06.

  10. #9

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Абстрактную модель можно попытаться построить на микромашине, то есть симулировать не весь верилог, а только исполнение микрокоманд и только по фронту тактового сигнала, тогда есть шанс что оно уложится в реальное время и не надо будет строить эмуляцию поведения, которую действительно достаточно сложно формализовать.
    Понятное дело, что эмуляция процессора повентильная - это не жаление ни ресурсов ПЦ, ни пользователя. Нужна умная оптимизация.

  11. #10

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Что-то тяжело идет эмуляция ВМ1 на Си, видимо без распараллеливания кода не обойтись.
    Я уже морально созрел для написания Verilog-движка, но относительно многопоточной реализации есть некоторые сомнения. Во-первых, логично предположить, что все вычислительные потоки должны создаваться только один раз на этапе загрузки модели и усыпляться до изменения любого из сигналов в их списке зависимостей. При изменении любого сигнала - он пробуждает все потоки из своего списка зависимостей и засыпает до завершения их всех. То же рекурсивно происходит и в каждом из разбуженных потоков. Когда вся толпа разбуженных потоков отработает - обработка изменения конкретного сигнала завершится. И так каждый раз при каждом изменении какого-то сигнала.

    Для одноядерного процессора это будет ГОРАЗДО медленнее, чем простой циклический перебор списка зависимостей у каждого изменившегося сигнала. Для двухъядерного процессора большого выигрыша тоже может и не быть.

    Поэтому для начала, скорее всего, есть смысл сделать циклический вариант движка и лишь в дальнейшем (возможно) многопоточный вариант.
    Последний раз редактировалось Patron; 29.12.2015 в 23:08.

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Размышления о будущем
    от Airgfx в разделе PC Remakes
    Ответов: 19
    Последнее: 09.09.2017, 16:37
  2. Sinclair QL празднует 30-ти летие, плюс размышления
    от PATHNK в разделе Зарубежные компьютеры
    Ответов: 44
    Последнее: 31.12.2016, 09:09
  3. Размышления на тему компьютеров на ПЛИС
    от Mick в разделе ZX Концепции
    Ответов: 161
    Последнее: 14.11.2015, 18:50

Ваши права

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