User Tag List

Страница 18 из 66 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя
Показано с 171 по 180 из 803

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

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

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

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

    По умолчанию Стандартный цикл выборки однобайтовой 4-х тактовой команды

    Стандартный цикл выборки однобайтовой 4-х тактовой команды (без торможения памяти по WAIT):

    Скрытый текст

    [свернуть]


    Замечу, что даже основные циклы не совсем совпадают с фирменной документацией по Z80. А именно - циклы T1-T4 смещены на пол-такта:

    Скрытый текст

    [свернуть]


    Обозначения:

    Если в ноере такта присутствует точка (T1.1 или T1.2), это означает, что имеется в виду 1-й или 2-й полутакт.
    Номер полутакта может быть больше 2 вследствие прохождения сигналом промежуточных триггеров. Например, T1.3 обозначает третий полутакт от начала такта T1. Не смотря на то, что по времени он может совпадать с T2.1, правильнее обозначать его именно T1.3, т.к. он инициирован тактом T1.

    • В первом цикле любой команды в такте Т1.1 активны сигналы READ_PCR и SEL_PC, по которым регистр PC читается из регистрового файла и записывается в регистр PCR.

    • В такте T1.2 регистр PCR записывается в регистр адреса REG_ADR, содержимое которого выставляется на шину адреса AB0..15.
      В этом же такте инкрементированное значение PCR записывается в регистр PCR2.

    • По переднему фронту такта T1.3 (T2.1) устанавливаются сигналы MREQ и RD, выдавая внешней схеме запрос чтения памяти.
      Также в такте T1.3 (T2.1) происходит запись регистра PCR2 обратно в регистр PC.

    • По переднему фронту такта T2.2 устанавливается сигнал DP_DL, по которому данные с DB0..7 через шину DLATCH0..7 записываются в регистр REG_DATA.

    • По переднему фронту такта Т2.3 (Т3.1) устанавливается сигнал LOAD_IR, по которому данные с шины DBUS0.7 записываются в регистр команды REG_COMMAND. При этом в течение такта T2.3 (T3.1) на шине DBUS0..7 удерживается ноль.
      Также в этом такте активны сигналы READ_PCR и SEL_IR, по которым регистр IR читается из регистрового файла и записывается в регистр PCR.

    • По переднему фронту такта Т3.2 снимается сигнал DP_DL, прекращая запись внешних данных в регистр REG_DATA.
      В такте Т3.2 на шине DBUS0..7 появляется значение регистра REG_DATA и остается там до следующего такта T2.2.
      Так же в этом такте данные с шины DBUS0..7 продолжают записываться в регистр REG_COMMAND.
      Фактически фронт T3.2 - это момент защелкивания данных с шины DB0..7 в регистре REG_COMMAND.
      Таким образом, с момента выставления сигнала RD и до момента защелкивания данных в REG_COMMAND отводится чуть менее 1.5 тактов.
      В этом же такте регистр PCR записывается в регистр адреса REG_ADR, содержимое которого выставляется на шину адреса AB0..15.
      В этом же такте инкрементированное значение PCR (инкрементируются младшие 7 бит) записывается в регистр PCR2.
      В этом же такте сбрасывается сигнал MREQ.

    • По переднему фронту такта T3.3 (T4.1) сбрасывается сигнал LOAD_IR, прекращая запись регистра REG_DATA в REG_COMMAND.
      В этом же такте происходит запись регистра PCR2 обратно в регистр IR.
      В этом же такте устанавливается сигнал MREQ,

    • По переднему фронту такта T4.3 (T5.1) сбрасывается сигнал MREQ.

      Таким образом, длительность цикла чтения - 1.5 такта (и более, если активен WAIT), длительность цикла регенерации памяти - 1 такт.

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

    Barmaley_m(04.09.2024), Eltaron(05.09.2024), ZXMAK(04.09.2024)

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Если в ноере такта присутствует точка (T1.1 или T1.2), это означает, что имеется в виду 1-й или 2-й полутакт.
    Номер полутакта может быть больше 2 вследствие прохождения сигналом промежуточных триггеров. Например, T1.3 обозначает третий полутакт от начала такта T1. Не смотря на то, что по времени он может совпадать с T2.1, правильнее обозначать его именно T1.3, т.к. он инициирован тактом T1.

    В первом цикле любой команды в такте Т1.1 активны сигналы READ_PCR и SEL_PC, по которым регистр PC читается из регистрового файла и записывается в регистр PCR.

    В такте T1.2 регистр PCR записывается в регистр адреса REG_ADR, содержимое которого выставляется на шину адреса AB0..15.
    В этом же такте инкрементированное значение PCR записывается в регистр PCR2.

    По переднему фронту такта T1.3 (T2.1) устанавливаются сигналы MREQ и RD, выдавая внешней схеме запрос чтения памяти.
    Также в такте T1.3 (T2.1) происходит запись регистра PCR2 обратно в регистр PC.

    По переднему фронту такта T2.2 устанавливается сигнал DP_DL, по которому данные с DB0..7 через шину DLATCH0..7 записываются в регистр REG_DATA.

    По переднему фронту такта Т2.3 (Т3.1) устанавливается сигнал LOAD_IR, по которому данные с шины DBUS0.7 записываются в регистр команды REG_COMMAND. При этом в течение такта T2.3 (T3.1) на шине DBUS0..7 удерживается ноль.
    Также в этом такте активны сигналы READ_PCR и SEL_IR, по которым регистр IR читается из регистрового файла и записывается в регистр PCR.

    По переднему фронту такта Т3.2 снимается сигнал DP_DL, прекращая запись внешних данных в регистр REG_DATA.
    В такте Т3.2 на шине DBUS0..7 появляется значение регистра REG_DATA и остается там до следующего такта T2.2.
    Так же в этом такте данные с шины DBUS0..7 продолжают записываться в регистр REG_COMMAND.
    Фактически фронт T3.2 - это момент защелкивания данных с шины DB0..7 в регистре REG_COMMAND.
    Таким образом, с момента выставления сигнала RD и до момента защелкивания данных в REG_COMMAND отводится чуть менее 1.5 тактов.
    В этом же такте регистр PCR записывается в регистр адреса REG_ADR, содержимое которого выставляется на шину адреса AB0..15.
    В этом же такте инкрементированное значение PCR (инкрементируются младшие 7 бит) записывается в регистр PCR2.
    В этом же такте сбрасывается сигнал MREQ.

    По переднему фронту такта T3.3 (T4.1) сбрасывается сигнал LOAD_IR, прекращая запись регистра REG_DATA в REG_COMMAND.
    В этом же такте происходит запись регистра PCR2 обратно в регистр IR.
    В этом же такте устанавливается сигнал MREQ,

    По переднему фронту такта T4.3 (T5.1) сбрасывается сигнал MREQ.

    Таким образом, длительность цикла чтения - 1.5 такта (и более, если активен WAIT), длительность цикла регенерации памяти - 1 такт.
    почему то RFSH не указан

  4. #3

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

    По умолчанию

    Цитата Сообщение от Deadly Посмотреть сообщение
    почему то RFSH не указан
    Что значит почему? )
    На диаграмме указан)

    Все, что интересно, можно посмотреть по схеме. Я рисую графики смотря на схему) И вы так сможете, я верю в вас)

  5. #4

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Все, что интересно, можно посмотреть по схеме. Я рисую графики смотря на схему) И вы так сможете, я верю в вас)
    назвался груздём, ....
    не всегда понимаю твою логику, ты выложил диаграмму, мол смотрите, ок принимается.
    дублируешь текстом, но в тексте упущены важные сигналы, о чём упоминул.
    реакция, ну типа, смотри туда, а на текст не смотри! так получаетс?

  6. #5

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

    По умолчанию

    Цитата Сообщение от Deadly Посмотреть сообщение
    назвался груздём, ....
    Никуда я полезать не собираюсь)

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

    Цитата Сообщение от Deadly Посмотреть сообщение
    не всегда понимаю твою логику, ты выложил диаграмму, мол смотрите, ок принимается.
    Я выкладываю фрагменты диаграмм и описаний для привлечения внимания интересующихся лиц.
    И для того, чтобы люди могли ознакомиться в ОБЩЕМ, как процессор работает.
    А диаграммы работы всех команд я составлять не собираюсь)

  7. #6

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

    По умолчанию

    Похоже, подобные разборы не заходят) Буду иметь в виду)

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

    AlexCrush(12.10.2024)

  8. #7

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Похоже, подобные разборы не заходят) Буду иметь в виду)
    Мне очень зашло! Жду следующих разборов, очень интересно!

    Кстати, для построения временных диаграмм (в документе про анализ схемы "Орель БК-08") мне удалось удачно использовать симулятор VHDL. Я реализовал часть анализируемой схемы на VHDL, а потом просимулировал ее и включил результаты симуляции в документ. Тем самым решается сразу 2 задачи: защита от ошибок симуляции схемы "вручную"; получение VHDL-реализации этой же схемы, которая бы, в случае необходимости, заработала на FPGA.

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

    Titus(04.09.2024)

  9. #8

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    защита от ошибок симуляции схемы "вручную"
    Симуляция схемы вручную интересна тем, что позволяет лучше понять логику работы того или иного узла.

  10. #9

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

    По умолчанию

    Они полезны для понимания логики работы. но фанатов этого знания бесконечно мало...

  11. #10

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    Они полезны для понимания логики работы. но фанатов этого знания бесконечно мало...
    Да, пожалуй, это интересно единицам)
    Основному пользователю нужен или готовый эмулятор/симулятор, или хотя бы модель на верилоге)
    Или интересные споры о методах разработки)

Страница 18 из 66 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя

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

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

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

Похожие темы

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

Ваши права

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