User Tag List

Страница 25 из 81 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 803

Тема: Реверс-инжиниринг Z80

  1. #241

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Titus, а почему Z80 опкод защёлкивает по спаду такта, а данные (аргументы и прочее) по фронту (так же, как и ВМ80)? С чем связано такие различие в циклах внешней шины?
    До чтения аргументов из памяти еще не дошел. Как дойду, расскажу.

    А вот до записи в память дошел уже на примере базовых команд типа LD (dd),r.

    Интересно, что все 3 последних такта команды (цикл M4) посвящены записи байта в память.
    Причем, цикл записи длится значительно дольше (2.5 такта после выставления адреса), чем цикл чтения (1.5 такта после выставления адреса).
    Не знаю, с чем это связано. Может считалось, что на заре компьютеров запись в память происходила медленнее, чем чтение?
    Думаю, если бы на запись отвели не 2.5 такта, а 1.5, как и на чтение, то такие команды, как LD (dd),r занимали бы 6 тактов, а не 7.

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

  3. #242

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Titus, а почему Z80 опкод защёлкивает по спаду такта, а данные (аргументы и прочее) по фронту (так же, как и ВМ80)? С чем связано такие различие в циклах внешней шины?
    Это связано с тем, что цикл чтения кода операции короче (1.5 такта), чем цикл чтения данных (2 такта). Поэтому и завершаются они в разных полутактах. А цикл чтения кода операции короче, как я думаю, из-за того, что в 4 такта надо было упихнуть и цикл чтения кода операции, и цикл регенерации памяти. На каждый из них пол-такта на установку адреса, и 1.5 такта на чтение. А в цикле чтения данных такого ограничения нет, поэтому, цикл и длиннее. Он мог бы быть 2.5 такта, но еще нужно пол-такта, чтобы сохранить результат, поэтому он длится 2 такта.

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

    Кстати, вот еще одна веская причина при реализации на ПЛИС, по которой нельзя отказаться от тактирования внутренних блоков по фронту CLK, и по спаду. Раз даже внешние события могут происходить и по фронту, и по спаду CLK.

  4. #243

    Регистрация
    18.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    349
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    429
    Поблагодарили
    129 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не сходиться с ld a, (hl)

  5. #244

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

    По умолчанию

    Цитата Сообщение от Deadly Посмотреть сообщение
    Не сходиться с ld a, (hl)
    Поточнее, что именно и с чем не сходится?

  6. #245

    Регистрация
    18.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    349
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    429
    Поблагодарили
    129 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Твои слова с 6 тактами

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

    Ты пишешь что чтение 1.5 тактов, а запись 2.5. и если бы запись была бы как чтение то команда ЛД (хл),а исполнялась 6 тактов, мб если ЛД а, (хл) исполнялась за 6, но нет она тоже исполняется за 7

  7. #246

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Похоже, вот тут активно обсуждают баги Z80. Киньте им ссылку, если кто-то там зареган.
    https://stardot.org.uk/forums/viewto...433901#p433901
    Последний раз редактировалось zebest; 12.09.2024 в 12:55.
    Profi v3.2 -=- Speccy2010,r2

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

    Titus(12.09.2024)

  8. #247
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от Deadly Посмотреть сообщение
    Ты пишешь что чтение 1.5 тактов, а запись 2.5. и если бы запись была бы как чтение то команда ЛД (хл),а исполнялась 6 тактов, мб если ЛД а, (хл) исполнялась за 6, но нет она тоже исполняется за 7
    Верно, Z80 данные данные пишет и читает одинаково, в итоге 3 такта. Разница лишь в чтении опкода. Вот без учёта тактов ожидания:

    PS Извините, запамятовал и перепутал фазы. Чтение опкода по фронту, чтение/запись данных по спаду. Инверсия от F2 ВМ80.

  9. #248

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

    По умолчанию

    Цитата Сообщение от Deadly Посмотреть сообщение
    Твои слова с 6 тактами

    Ты пишешь что чтение 1.5 тактов, а запись 2.5. и если бы запись была бы как чтение то команда ЛД (хл),а исполнялась 6 тактов, мб если ЛД а, (хл) исполнялась за 6, но нет она тоже исполняется за 7
    Это цикл чтения кода команды 1.5 такта. А цикл чтения данных 2 такта. Плюс пол-такта на запись результата в регистр. Цикл записи 2.5 такта, но эти последние пол-такта - это удержание данных на шине уже после снятия MREQ, чтобы сперва снимался MREQ, а потом данные. Итого, и LD A,(HL), и LD (HL),A выполняются за одинаковое время, за 7 тактов, с учетом дополнительных расходов.

  10. #249

    Регистрация
    18.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    349
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    429
    Поблагодарили
    129 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я все прекрасно понимаю, я лишь указал что в твоей логике прикол. Но ты его не увидел, по этому ладушки поехали дальше

  11. #250

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

    По умолчанию

    Полистал книжечку по Verilog'у.

    Чета вообще все просто, если не использовать ненужные навороты.
    Соедени все линии assign'ом, поставь always-блоки на фронты тактирования, все.
    Язык выглядит абсолютно простым.

    Главное перевести всю схему с полностью синхронный формат сперва, что я попутно и делаю,
    пока что на 100% сохраняя логическое соответствие оригиналу.

    Но все равно в итоге придется уходить от Z-шин и проходных регистров, обьединяющих несколько шин.
    Последний раз редактировалось Titus; 12.09.2024 в 14:41.

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

    Reobne(19.09.2024)

Страница 25 из 81 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 1739
    Последнее: 09.01.2025, 10:55
  2. Ответов: 32
    Последнее: 18.12.2024, 18:19
  3. Реверс-инжиниринг игры Boovie
    от Oleg N. Cher в разделе Программирование
    Ответов: 41
    Последнее: 09.01.2022, 23:07
  4. Реверс МК-92
    от Случайность в разделе Программируемые калькуляторы
    Ответов: 55
    Последнее: 24.04.2021, 23:47
  5. Реверс инжиниринг печатной платы
    от Filin в разделе Несортированное железо
    Ответов: 36
    Последнее: 11.03.2018, 22:46

Ваши права

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