User Tag List

Страница 146 из 174 ПерваяПервая ... 142143144145146147148149150 ... ПоследняяПоследняя
Показано с 1,451 по 1,460 из 1740

Тема: Реверс-инжиниринг УКНЦ (1515ХМ1&2, 1801ВП1, 1801ВМ2)

  1. #1451

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Там еще интереснее. По ошибкам шины на предвыборке ABORT не генерируется, вместо этого подается фантомный REPLY.
    А я-то думаю, зачем там и ABORT и TO_RPLY.
    Просто пока руки не дошли до этого блока. Слишком много всего в ВМ2.

  2. #1452

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

    По умолчанию

    Интересная особенность у блока программного сброса по команде RESET (000005).
    Таймингами генерации INIT в этом случае заведует блок таймаута. Вот такая унивесальность.
    Когда активируется программный INIT, на выход процессора выдается сигнал INIT и блок таймаута начинает считать, а микропрограммный автомат приостанавлвиается.
    Когда блок таймаута досчитал до 53 (сигнал TOUT), с выхода процессора снимается INIT, но микропрограмма все еще стоит на месте.
    Видимо, в этом интервале внешнем устройствам дается время переинициализироваться после INIT.
    Далее блок таймаута достчитывает до 512 (спад сигнала TINIT), и работа процессора продолжается.

    Кстати, сигнал PLI_NRDY - это вовсе не сигнал неготовности ПЛМ прерываний, как можно подумать из названия. Он как раз и отвечает за альтернативный режим работы таймера, и приостановку микропрограммы на это время. Но переименовывать его я конечно же не стану)

    Из такого алгоритма работы INIT, использующего таймер, возникает определенный вопрос. А что если при выборке команды RESET, была предвыборка следующей команды с несуществующего адреса, и начался отсчет таймаута. А тут бац, и INIT решила воспользоваться таймером. Накладочка получается)

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

    Далее можно порассуждать. Вот у нас завис DIN из-за того, что шина не отвечает. При этом включился режим INIT.
    Приоритет у INIT выше, поэтому событие TEVENT (таймаут шины) по достижении таймером значения 53 - не произойдет.
    В общем, программный INIT отработает полностью, затем таймер таймаута пойдет считать по кругу, и уже на втором круге возьмет свое.
    Таким образом, если случился таймаут по предвыборке следующей команды после RESET, то DIN зависнет на 565 тактов.
    А учитывая, что внешние устройства при этом сбросятся, еще не известно, как они среагирует на этот активный DIN.
    Последний раз редактировалось Titus; 28.11.2020 в 16:55.

  3. #1453

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    361
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Далее можно порассуждать. Вот у нас завис DIN из-за того, что шина не отвечает. При этом включился режим INIT.
    Приоритет у INIT выше, поэтому событие TEVENT (таймаут шины) по достижении таймером значения 53 - не произойдет.
    В общем, программный INIT отработает полностью, затем таймер таймаута пойдет считать по кругу, и уже на втором круге возьмет свое.
    Таким образом, если случился таймаут по предвыборке следующей команды после RESET, то DIN зависнет на 565 тактов.
    А учитывая, что внешние устройства при этом сбросятся, еще не известно, как они среагирует на этот активный DIN.
    На реальной УКНЦ нормально срабатывает. Занёс в 0157776 команду RESET и запустил. Был TRAP4, в стеке адрес 0160002. А что там в реальности происходит неизвестно, надо запросить моделирование.

  4. #1454

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    На реальной УКНЦ нормально срабатывает. Занёс в 0157776 команду RESET и запустил. Был TRAP4, в стеке адрес 0160002. А что там в реальности происходит неизвестно, надо запросить моделирование.
    Так он и должен нормально срабатывать, только все это время, пока удерживается INIT и еще после него значительное время, должен быть активным сигнал DIN.

  5. #1455

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    361
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Так он и должен нормально срабатывать, только все это время, пока удерживается INIT и еще после него значительное время, должен быть активным сигнал DIN.
    Ну я написал, что надо запросить моделирование.

  6. #1456

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    361
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    ВМ2: Адресации однооперадных команд
    Цитата Сообщение от Titus Посмотреть сообщение
    INC(B), DEC(B), CLR(B), NEG(B), COM(B), ADC(B), SBC(B),
    ASR(B), ROR(B), ASL(B), ROL(B), TST(B), SWAB, SXT, MFPS,
    JMP, JSR:
    Как-то ту не совсем понятно с MTPS. В начальном описании её нет, но в алгоритме исполнения микрокода она упоминается.
    Цитата Сообщение от Titus Посмотреть сообщение
    // TST(B), MTPS:
    // Read (IO_RD, IO_IN) - Инициировать цикл чтения шины в регистр BRD
    Далее интереснее:
    Цитата Сообщение от Titus Посмотреть сообщение
    if MTPS GOTO 0x18 // Завершить команду MTPS особым способом
    А по адресу 0x18 обработка JMP/JSR:
    Цитата Сообщение от Titus Посмотреть сообщение
    //---------------------------------------------------------------------- Обработка JMP/JSR
    0x18: if (JMP) // Если JMP
    PC1=PC2=RA PLI_REQ // Запросить проверку запросов на прерывание
    GOTO 0x21 // Перейти на команду выборки следующей некэшированной инструкции
    else // Иначе JSR
    RA=R6=R6-2 IO_WR, IO_CMD // Инициировать цикл записи BRD на шину
    Я конечно понимаю, что здесь много общего с MTPS Rn, но на этом как-то не акцентируется внимание.

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

  8. #1457

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Как-то ту не совсем понятно с MTPS. В начальном описании её нет, но в алгоритме исполнения микрокода она упоминается.
    Забыл в шапке ее вписать. Конечно, она есть.

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

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А по адресу 0x18 обработка JMP/JSR:
    Тут видится несостыковка потому что по адресу 0x18 находится И обработчик JMP/JSR, и обработчик окончания MTPS.
    Попробую это обозначить специально.

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

    Исправил описание, добавил MTPS.

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

    Alex_K(29.11.2020)

  9. #1458

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    361
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Исправил описание, добавил MTPS.
    Ещё бы продублировать, что там будет на GOTO 0x08.

    А когда будут двухоперандные команды?

  10. #1459

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Ещё бы продублировать, что там будет на GOTO 0x08.
    Можно

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

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А когда будут двухоперандные команды?
    Как дойду до них)
    Вон, некоторые микрокод по году расшифровывают, а вы от меня хотите за месяц все сразу)

  11. #1460

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    361
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Как дойду до них)
    Вон, некоторые микрокод по году расшифровывают, а вы от меня хотите за месяц все сразу)
    Цитата Сообщение от Titus Посмотреть сообщение
    Очень увлекательное, хотя, и требующее времени и внимательности, занятие - восстанавливать микрокод.
    Но, тут как с кошечкой в пылесосе, главное втянуться
    А уж команды EIS, самое интересное. Большой интерес представляют алгоритмы знакового умножения и деления. С беззнаковыми числами проще.

Страница 146 из 174 ПерваяПервая ... 142143144145146147148149150 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 32
    Последнее: 18.12.2024, 18:19
  2. Реверс-инжиниринг игры Boovie
    от Oleg N. Cher в разделе Программирование
    Ответов: 41
    Последнее: 09.01.2022, 23:07
  3. Реверс инжиниринг печатной платы
    от Filin в разделе Несортированное железо
    Ответов: 36
    Последнее: 11.03.2018, 22:46
  4. Куплю 1515ХМ1-6006, 1515ХМ1−6008
    от moxjemi в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 10.01.2012, 17:23
  5. 1801ВМ2 А и Б
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 03.05.2010, 11:51

Ваши права

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