User Tag List

Показано с 1 по 10 из 16

Тема: Вечер в Музее. Аппаратные эмуляторы — вторая жизнь ретрокомпьютеров

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

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

    Регистрация
    16.08.2015
    Адрес
    г. Москва
    Сообщений
    12
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Потактовая точность эмулятора - это еще и возможность (даже теоретическая) заместить оригинальную микросхему эмулятором. Предположим у нас есть супер шустрый микроконтроллер, на ARM64 на 3 ГГц. Вытаскиваем Агнус, Дениз, или, даже Лизу из платы и вставляем эмулятор в оригинальную плату. С PC/XT получилось еле-еле. А в этом случае? Нужно, чтобы время отклика, Tsetup/Thold на входе и Tdelay на выходе совпадали с оригиналом.
    Думаю, будет очень сложно эмулировать железо.

    - - - Добавлено - - -

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от MaxisMSX Посмотреть сообщение
    Потактовая точность эмулятора - это еще и возможность (даже теоретическая) заместить оригинальную микросхему эмулятором.
    Для меня потактовая эмуляция - это прежде всего возможность не держать для эмуляции любимых платформ всякие сторонние железяки на FPGA, а иметь просто компьютер, и на нем запускать и играться) Удобно и комфортно)

    - - - Добавлено - - -

    Другой вопрос, что потактово точных эмуляторов сейчас практически нет.
    Потому что для этого нужен реверс всех чипов и желание программиста написать потактово точную эмуляцию.
    От Спектрума реверса нет (реверс Z80 в процессе причесывания).
    От УКНЦ реверс всех чипов есть, но потактового эмулятора еще никто не написал.
    И т.д.

    Кстати, сложность программного эмулятора еще и в том, что нужен не просто реверс чипов, а полное понимание их работы. Тогда как в FPGA можно просто засунуть реверс, даже не понимая всех нюансов его работы.
    Понятно, что вариант, когда программно тупо симулируется работа вентилей описанная на Верилоге - это в эмулятор не засунешь, будет сверхмедленно на современных машинах.

  4. #3

    Регистрация
    16.08.2015
    Адрес
    г. Москва
    Сообщений
    12
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Для меня потактовая эмуляция - это прежде всего возможность не держать для эмуляции любимых платформ всякие сторонние железяки на FPGA, а иметь просто компьютер, и на нем запускать и играться) Удобно и комфортно)

    - - - Добавлено - - -

    От Спектрума реверса нет (реверс Z80 в процессе причесывания).

    Кстати, сложность программного эмулятора еще и в том, что нужен не просто реверс чипов, а полное понимание их работы. Тогда как в FPGA можно просто засунуть реверс, даже не понимая всех нюансов его работы.
    Понятно, что вариант, когда программно тупо симулируется работа вентилей описанная на Верилоге - это в эмулятор не засунешь, будет сверхмедленно на современных машинах.
    T80 проходит тест ZEXALL. Т.е. это уже почти 100% эквивалент. Во время встречи как раз говорил про то, что ранние процессоры основывались на динамическом дизайне и двухфазном тактовом сигнале. Даже, если он вырабатывается внутри, не все процессы происходят от нарастающей кромки входного тактового сигнала. Поэтому здесь главное понять как правильно эмулировать. Ещё одна проблема - внутренние шины с 3 состоянием. Сейчас такие методы невозможно применить, т.к. нет современных ПЛИС с подобной архитектурой, да и подобный дизайн не синтезируется. Т.е. netlist всё равно необходимо адаптировать.
    Тем не менее, реверс на системном уровне лучше программный, т.к. можно более-менее быстро разобраться, как все работает.

    В идеале нужно отличное понимание того, как работает сабж для реверса (документация, системный анализ, тесты, анализ топологии).
    Для этого необходим аппаратно-программный эмулятор, чтоб модель эмулируемого объекта можно было сначала отладить в софте, а затем формально перенести в железо (про это тоже рассказывал на Вечере).
    По любому, реверс занимает наибольшее количество времени (не только базовая модель, но и все баги оригинального дизайна, а их хватает).

  5. #4

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

    По умолчанию

    Цитата Сообщение от MaxisMSX Посмотреть сообщение
    Тем не менее, реверс на системном уровне лучше программный, т.к. можно более-менее быстро разобраться, как все работает.
    Не понимаю, что такое 'реверс на системном уровне'.

    Реверс - это только восстановление схемы по кристаллу. И ничего другого.

    - - - Добавлено - - -

    Цитата Сообщение от MaxisMSX Посмотреть сообщение
    T80 проходит тест ZEXALL. Т.е. это уже почти 100% эквивалент.
    Это еще не показатель. Близко к 100% функционально, это не 100%.

    Этот пользователь поблагодарил Titus за это полезное сообщение:

    CodeMaster(28.08.2024)

  6. #5

    Регистрация
    16.08.2015
    Адрес
    г. Москва
    Сообщений
    12
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Не понимаю, что такое 'реверс на системном уровне'.

    Реверс - это только восстановление схемы по кристаллу. И ничего другого.
    А вот и нет. Есть функциональный эквивалент, например, поведенческая модель. Синтезировать её нельзя. Эта модель генерится автоматически из С++ модели. Далее по желанию. Либо сами, либо на откуп toolchain.
    В большинстве случаев топологию отреверсить нельзя. Как только количество металлических слоёв больше 2, всё, приехали. Но, если прицепиться логическим анализатором и анализатором прототипа, то можно получить:
    - тестовые векторы
    - статистические зависимости (как запись в тот или иной порт влияет на дисперсию событий)
    Затем из этих двух элементов делаем rule checker или маску проверки. И продолжаем гонять железку.
    Цель - получение достаточно точной функциональной копии.

    Пример1: Yamaha V9938 обратно совместим с TMS 9918. Чем эта совместимость была обеспечена? Функциональным реверсом. Топология не изучалась (т.к. не было необходимых утилит, также нарушение патентного права). Дата выхода TMS9918 - 79 год. 9938 - 1984 год. Начало работ 1982 год, т.е. через 3 года после выхода 9918.

    Пример2: Yamaha YM2602 где-то 1983 год. Тоже фунциональный ревес.

    Почему так? Потому что не 100% эквивалент был нужен, а примерная фунциональная обратная совместимость (также позволяет получить патентную чистоту). Видео интерфейс другой и видео память тоже.

    Топологический реверс нужен чтобы из I8080A сделать кр580ик80. Да и то эта задача достаточно сложная.
    Последний раз редактировалось MaxisMSX; 26.08.2024 в 01:58.

    Этот пользователь поблагодарил MaxisMSX за это полезное сообщение:

    axe_chita(02.09.2024)

  7. #6

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

    По умолчанию

    Цитата Сообщение от MaxisMSX Посмотреть сообщение
    А вот и нет. Есть функциональный эквивалент, например, поведенческая модель.
    Хорошо, не будем спорить)
    Для меня полный стопроцентный реверс не может быть без реверса кристалла) Все остальное - это приближение, наблюдая поведение 'черного ящика' извне. Даже если это приближение на 99.99%.

    Этот пользователь поблагодарил Titus за это полезное сообщение:

    AlexG(27.08.2024)

  8. #7

    Регистрация
    16.08.2015
    Адрес
    г. Москва
    Сообщений
    12
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Хорошо, не будем спорить)
    Для меня полный стопроцентный реверс не может быть без реверса кристалла) Все остальное - это приближение, наблюдая поведение 'черного ящика' извне. Даже если это приближение на 99.99%.
    Согласен, что для 100% реверса необходима топология и доскональное знание особенностей техпроцесса (грубо говоря модель транзисторов). Только начиная с 2х металлических слоёв - дело затруднительное. С 4х - почти невозможное. Т.е. все современные микросхемы, вышедшие из середины 90х на 100% отреверсить нельзя, да и бессмысленно.
    Например в процессорах начала 90х - первых Пентиумах, PowerPC, MIPS R4000+, Sparc используется 4х портовая память в большинстве случаев full custom design, т.е. netlist на транзисторном уровне используются проходные вентили, Dtype Latch и другие нехорошести. Т.е. даже если есть топология, реверс в синтезируемый RTL напрямую не получится. Проще взять готовую функциональную модель.

    Пример из индустрии: ARM7 - не синтезируется (full custom design), ARM7S - синтезируется (semicustom design), MIPS32 синтезируется, ColdFire синтезируется. Но это только процессоры средней производительности синтезируются (обычно выпускаются fabless компаниями). Высокопроизводительные обычно нет (дизайн имеет динамическое управление по питанию на уровне регистров и TTA на транзистрорах, а также совершенно сумасшедшее управление тактовым сигналом для снижения динамического потребления).

    Вывод: анализ топологии необходим и возможен, но только для сравнительно небольших микросхем (SoC до начала 90х).

    Мы же все покупали и Cyrix586, и AMD486 вместо Intel, и не замечали разницы. Т.е. все программы работали. При этом и TI, и AMD, и NEXGEN не пользовались топологическим реверсом ядра Intel. Только функциональным, а какой результат!

    И последнее, во всех фирмах сначала делают синхронную модель процессора (что ложится на ПЛИС), а потом разными формальными методами пытаются ускорить ее (и это уже на ПЛИС не ложится).
    Последний раз редактировалось MaxisMSX; 28.08.2024 в 04:32.

  9. #8

    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    974
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    164 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MaxisMSX Посмотреть сообщение
    Топологический реверс нужен чтобы из I8080A сделать кр580ик80. Да и то эта задача достаточно сложная.
    Для него УЖЕ решена, как и некоторых других процессоров.

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

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

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

Похожие темы

  1. Ответов: 0
    Последнее: 05.11.2023, 00:19
  2. Ответов: 20
    Последнее: 28.09.2019, 22:08
  3. Ответов: 21
    Последнее: 10.06.2016, 19:10
  4. Ответов: 22
    Последнее: 11.06.2011, 19:18

Ваши права

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