User Tag List

Страница 35 из 81 ПерваяПервая ... 313233343536373839 ... ПоследняяПоследняя
Показано с 341 по 350 из 803

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

  1. #341

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    авоткстате - как оно конкретно реализовано? то же самое касаемо и EI
    можно ли сказать, что в z80 помимо iff1 и iff2 есть аналогичный флажок iff3 (iff4) ?
    или там какой-то целый отдельный блок (или несколько), который издевается над iff1?
    Прихожу без разрешения, сею смерть и разрушение...

  2. #342

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

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    вот тот же комп, но с процессором ST - идеальная картинка
    ST - это что за процессор? Полная маркировка какая?

  3. #343

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

    По умолчанию Особенности работы 5 и 3 флагов в командах SCF/CCF

    Цитата Сообщение от Titus Посмотреть сообщение
    Это может быть все, что угодно. Надо смотреть, что за процессор. В NMOS-е я таких моментов в формировании 3 и 5 флагов в SCF/CCF не вижу.
    Рассмотрев внимательнее, стало видно, что особенности есть!

    В отличие от классических АЛУ-команд, команда SCF в такте T3 не устанавливает результат работы АЛУ на обьединенную шину HBUS/LBUS (например, содержимое регистра A), в связи с чем при записи флагов 5 и 3 с шины LBUS в регистр F в такте T4, происходит запись заряда, оставшегося там с предыдущего состояния LBUS, которое следует рассмотреть более подробно.

    Как уже упоминалось, если команда в конце своей работы обновляет регистр F, то следующая за ней команда не перечитывает F из регистрового файла, а читает его прямо с шины LBUS, т.к. в этот момент на шину LBUS выдаются флаги. Что же касается флагов 5 и 3, то от предыдущего такта (Т3) на шине LBUS остается сильный заряд (например, значение регистра А), который и попадает во флаги 5 и 3.
    Говоря еще проще по шагам: В такте T3 шины LBUS и HBUS обьединены, на них находится содержимое регистра A. В такте T4 шины LBUS и HBUS разьединяются, и с шины LBUS происходит запись в регистр F, а на шину HBUS читается регистр A из регистрового файла.

    Теперь рассмотрим отличие работы команды SCF от классической АЛУ-команды.

    Рассмотрим такую последовательность команд ALU A,r; SCF; SCF; SCF и т.д.
    В такте T3 на шине LBUS было какое-то значение, т.е. оставшееся с предыдущей команды (ALU A,r) значение регистра A. В такте T4 оно записывается фо флаги 5 и 3, и также в этом такте читается значение регистра А на HBUS. В такте T1 следующего цикла шины HBUS и LBUS обьединяются, но на них ничего не выдается, т.к. команда SCF не использует АЛУ. И тут возникает вопрос, какой заряд сильнее? 0 или 1? Если 0 сильнее, то на обьединенной шине HBUS/LBUS будет содержимое A & F. Если 1 сильнее, то будет A | F. В течение тактов T1, T2, T3 ничего не меняется. А далее в такте T4 шины HBUS и LBUS снова разьединяются, на шину HBUS читается регистр A для следующей команды, а вот шина LBUS все еще сохраняет заряд A & F, и в таком виде записывает его в регистр флагов (мы тут рассматриваем только флаги 5 и 3). Далее в такте T1 следующего цикла шины HBUS и LBUS опять обьединяются, и на шине HBUS мы имеем сильный обновленный заряд (регистр A), и электрически соединяясь с шиной LBUS, на которой заряд более слабый, оставшийся от соединения шин 4 такта назад, что мы получим в сумме?
    Вот это вопрос. Шина HBUS сильно заряжена, а шина LBUS осталась с прежним зарядом, являющимся электрической суммой LBUS и HBUS предыдущего цикла. Если мы рассматриваем последовательность команд SCF, то регистр A не изменяется, значит HBUS подзаряжается одинаковым значением, которое постепенно (за сколько команд SCF) пересилит ослабевающий заряд LBUS, и в итоге через несколько итераций содержимое F (5 и 3 флаги) будет равняться не электрической сумме A и F, а только A, не зависимо от того, что сильнее, 0 или 1.

    Вот такие теоретические рассуждения, которые требуют проверки на практике.

    Если теория верна, то последовательность команд типа:

    Код:
    LD HL,$FFFF($0000,$FF00,$00FF)
    PUSH HL
    POP AF
    SCF
    Код:
    LD HL,$FFFF($0000,$FF00,$00FF)
    PUSH HL
    POP AF
    SCF(100 раз)
    долнжны давать разное значение флагов 5 и 3 (пока это тестить не надо, надо подумать о нормальном тесте).

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

    Поискал в интернете, и нашел здесь подтверждение моих предположений для родного NMOS:

    Код:
    if <previous instruction modified the flags> then
       YF = A.5
       XF = A.3
    else
       YF = YF | A.5
       XF = XF | A.3
    endif
    - - - Добавлено - - -

    Все-таки OR, а не AND (т.е. 1 более сильные).

    Если предыдущая команда не модифицирует флаги, то перед выполнением команды, регистр F читается на LBUS из регистрового файла, и заряд сильный, равноценный заряду на HBUS, куда читается A. Поэтому получается некая электрическая сумма по OR.

    А вот если предыдущая команда модифицирует флаги, то перед выполнением команды, регистр F (5 и 3 биты) читаются с LBUS, где остались слабо заряжены от предыдущей команды, поэтому хорошо заряженный HBUS (регистр A) их пересиливает.

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

    Итак, почему же плавают значения? Да потому что после обьединения HBUS и LBUS пртивоположные заряды дают нечто среднее, не 0 и 1, а 0.5. И в зависимости от чувствительности затворов, это может прочитаться как 0, а может как 1. Судя по всему, тяготеет ближе к 1, но т.к. все же на грани порога, то любой чих, примесь в кристалле, нюансы производства, наводки на процессор с платы, температура, могут сместить эту шаткую границу, поэтому и нестабильность, как я думаю.
    Последний раз редактировалось Titus; 28.09.2024 в 11:37.

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

    CodeMaster(28.09.2024), Dexus(29.09.2024), ZjoyKiLer(30.09.2024)

  4. #344

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

    По умолчанию Тесты SCF v0.1 для реалов

    Ввиду того, что загадка установки 5 и 3 флагов в командах SCF/CCF для NMOS Z80 наконец-то разгадана, написал несколько тестов шума SCF для реалов (тестировать CCF нет смысла ввиду абсолютно одинаковой внутренней реализации этих команд).

    В отличие от этого теста, все более наглядно, нет индикации бит, никак не участвующих в формировании 5 и 3 флагов. Заполнение экрана предполагаемым шумом более однородное и визуально понятное.

    Верхняя треть экрана отображает тест бита 3 (черный с белым), средняя треть экрана отображает тест бита 5 (синий с голубым).
    Также каждая треть разделена на несколько зон с разными комбинациями начальных флагов для теста.

    В архиве три теста:
    1. Классический SCF после команды 'не влияющей на флаги'.
    2. Тоже самое, но два SCF подряд.
    3. Классический тест, но перед SCF выполняется команда, влияющая на флаги.

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

    Расчехляйте ваши реалы и запускайте тесты!

    Пример картинки из теста на эмуляторе:


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

    p.s.: Можете тестировать на любом реале, не обязательно на NMOS.

    p.p.s: Тест убран, как устаревший. Используете Test SCF 9.
    Последний раз редактировалось Titus; 28.10.2024 в 15:53.

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

    zebest(28.09.2024), ZjoyKiLer(30.09.2024)

  5. #345

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

    По умолчанию

    Ну что, я то готов тестировать. Но...
    Проц сейчас стоит тот, что нестабильный, что надо.
    но надо или исходники тестов или с загрузчиком под ТР-ДОС. Тап-ку грузить сильно проблемно.
    Profi v3.2 -=- Speccy2010,r2

  6. #346

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

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

    Titus(28.09.2024), ZjoyKiLer(30.09.2024)

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

  8. #347

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

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    https://www.cpu-world.com/CPUs/Z80/NEC-D780C-1.html
    Шумы были, или картинка стабильная?

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

    Цитата Сообщение от zebest Посмотреть сообщение
    но надо или исходники тестов или с загрузчиком под ТР-ДОС. Тап-ку грузить сильно проблемно.
    В тапке обычный кодовый блок, бейсик грузится только для запуска кода. Все предельно просто.

  9. #348

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Шумы были, или картинка стабильная?
    всё было стабильно.

  10. #349

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

    По умолчанию

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

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

    Цитата Сообщение от Titus Посмотреть сообщение
    2. Тоже самое, но два SCF подряд.
    два SCF подряд - я думаю не имеют смысла, но это так, мысли вслух.

    Вобщем второй и третий тест стабильно, не шумят.
    Авот первый очень интересно шумит. Если считать по полоскам сверху вниз, то шумит нижняя вторая половина первой белой полосы и
    первая верхняя половина последней синей полосы..
    Там натуральные иероглифы в динамике!! возможно кЕтайцы или корейцы что-то знакомое точно узнали бы!!

    сорри, что ч\б, но результат и так виден))
    Последний раз редактировалось zebest; 28.09.2024 в 23:44.
    Profi v3.2 -=- Speccy2010,r2

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

    Titus(28.09.2024), ZjoyKiLer(30.09.2024)

  11. #350

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

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    всё было стабильно.
    Немножко странновато, если верить тому, что этот процессор NMOS.

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

    Цитата Сообщение от zebest Посмотреть сообщение
    два SCF подряд - я думаю не имеют смысла, но это так, мысли вслух.
    Для чистоты эксперимента надо было сделать и такие варианты.

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

    Цитата Сообщение от zebest Посмотреть сообщение
    Авот первый очень интересно шумит. Если считать по полоскам сверху вниз, то шумит нижняя вторая половина первой белой полосы и
    первая верхняя половина последней синей полосы..
    Это очень радует. Значит теория совпала с практикой.

    Обязательно нужно записать видео этого шума.

    Во втором и третьем тесте что на месте шума? Белое или черное?

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

    И еще, какая полная маркировка процессора?

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

    Цитата Сообщение от zebest Посмотреть сообщение
    шумит нижняя вторая половина первой белой полосы и
    первая верхняя половина последней синей полосы..
    Рисунок наводит на некоторые дополнительные мысли о перекрестном влиянии некоторых линий. Нужно видео, и нужны еще тесты с разных процессоров. А еще интересно, не будет ли меняться картина, если потрогать процессор пальцем, или слегка нагреть его.

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

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

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

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

Похожие темы

  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

Ваши права

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