User Tag List

Страница 73 из 174 ПерваяПервая ... 697071727374757677 ... ПоследняяПоследняя
Показано с 721 по 730 из 1740

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

  1. #721

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

    По умолчанию

    Цитата Сообщение от SuperMax Посмотреть сообщение
    нашел несколько новых КА1515ХМ1-136 от 9203
    среди них одна с компаундом сверху
    я правильно понял что уже не нужны для вскрытия ?
    В принципе мне не нужны, т.к. вскрыты и отреверсены.

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

  3. #722

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SuperMax Посмотреть сообщение
    нашел несколько новых КА1515ХМ1-136 от 9203
    среди них одна с компаундом сверху
    я пранильно понял что уже не нужны для вскрытия ?
    Нет, фотка со сколом уже отреверсена, и есть еще один экземпляр ожидающий вскрытия чтобы перефотографировать. Если там не получится - может подумать об еще парочке 136-ых. Но пока - не надо и есть вероятность что не понадобится.

  4. #723

    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    429
    Поблагодарили
    196 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    С позволения @Vslav'а, сделал оптимизированную версию реверса 1801ВП1-120 в стиле отреверсенных 1515ХМ2.
    @Titus, Будет время, поправь нумерацию выводов в 120й.
    CPU:
    DOUTC=>4
    DINC=>5
    INITC=>9
    IAKOC=>8
    ARC=>12
    RPLYC=>11
    PPU:
    SYNCP=>30
    INITP=>35
    DOUTP=>32
    A0=>33
    A1=>28

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

    Titus(24.07.2020)

  5. #724

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

    По умолчанию Растактовка записи в регистр октета точки



    Наименования сигналов:

    ACT_WRITE - устанавливается по фронту записи в регистр октета. Сбрасывает по CLCA3_F3 (фаза завершения).
    CLCA3_F1 - фаза F1. Передача данных видеоконтроллеру, аналогично записи в регистр планов 1 и 2.
    CLCA3_F2 - фаза F2. Запись данных плана 0 в ОЗУ ПП.

    RQ - сигнал запроса обмена с видеоконтроллером. Повторяет CLCA3_F1.
    CC0 - сигнал запроса записи в планы 1 и 2. Повторяет ACT_WRITE.


    Описание:

    Запись в регистр октета (адрес 177024) начинается по переднему фронту DOUT. Одновременно с этим устанавливается сигнал подтверждения записи RPLY. Таким образом, запись в регистр октета имеет для процессора нулевую задержку. Одновременно с этим устанавливается сигнал CC0. Также во время активного DOUT производятся логические операции с младшим байтом, выставленным на шине AD0..AD7. Назовем этот байт OCTET.
    1) if (MASK_Q0 == 1), then PLANE0_DATA = (OCTET & INC_COLOR_Q0) | (~OCTET & [PAPER_H_Q12.Q8.Q4.Q0.PAPER_L_Q12.Q8.Q4.Q0])
    2) if (MASK_Q1 == 1), then PLANE1_DATA = (OCTET & INC_COLOR_Q1) | (~OCTET & [PAPER_H_Q13.Q9.Q5.Q1.PAPER_L_Q13.Q9.Q5.Q1])
    3) if (MASK_Q2 == 1), then PLANE2_DATA = (OCTET & INC_COLOR_Q2) | (~OCTET & [PAPER_H_Q14.Q10.Q6.Q2.PAPER_L_Q14.Q10.Q6.Q2])
    В итоге в регистрах данных планов, для которых MASK_Qx = 1, защелкиваются новые вычисленные значения.

    По отрицательному фронту CLCA (такт 4) устанавливается сигнал RQ.

    По положительному фронту CLCA (такт 8) на шину A0..A7 выводится содержимое регистра PLANE2_DATA.
    Через пол-такта (такт 8.5) на шину D0..D7 выводится содержимое регистра PLANE1_DATA.
    Еще через пол-такта по внутреннему сигналу видеоконтроллера A_D_LATCH (такты 9 и 10), содержимое шин A0..A7 и D0..D7 защелкивается видеоконтроллером с шин AG0..AG7 и DG0..DG7 в регистрах DC_H, и DC_L, соответственно.

    Через один такт (такт 12) шины A0..A7, D0..D7 освобождаются для видеоконтроллера на 4 такта, сигналы RQ, CC0 переводятся в неактивное состояние.

    По положительному фронту CLCA начинается процесс записи данных PLANЕ0 в ОЗУ ПП. Сигнал WE установлен, что означает запись в ОЗУ.
    Такт 16 - на шину A0..A7 выводится младшая часть адреса планов PLANE_ADR.
    Такт 16.5 - на шину D0..D7 выводятся данные регистра PLANE0.
    Такт 17 - видеоконтроллером устанавливается сигнал RAS, по которому в ОЗУ защелкивается адрес строки (младшая часть адреса планов).
    Такт 17.5 - на шину A0..A7 выводится старшая часть адреса планов PLANE_ADR.
    Такт 18 - устанавливается сигнал CAS, по которому в ОЗУ защелкивается адрес столбца (старшая часть адреса планов).
    Такт 19.5 - снимается сигнал RAS, по которому данные запоминаются в ОЗУ.

    Такт 20 - завершение процесса.
    Шины A0..A7, D0..D7 освобождаются, сигналы CAS и WE снимаются.

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

    Цитата Сообщение от Ynicky Посмотреть сообщение
    @Titus, Будет время, поправь нумерацию выводов в 120й.
    Спасибо за наблюдательность. Иногда не обращаю внимания на номера ножек, т.к. они в глаза не бросаются, номера и номера)

    1801ВП1-120-Optimized - rev 15

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

    Замечу, что рисуя диаграммы, я параллельно исправляю какие-то ошибки или неточности в оптимизированных схемах, так что если кто-то (например, @Ynicky) строит FPGA-модель по ним, то надо иметь это в виду.

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

    Alex_K(24.07.2020), nzeemin(24.07.2020), Ynicky(24.07.2020)

  6. #725

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

    По умолчанию Растактовка записи в регистр адреса планов



    Наименования сигналов:

    ACT_WRITE - устанавливается по фронту записи в регистр адреса планов. Сбрасывает по CLCA4_F5 (фаза завершения).
    CLCA4_F1 - фаза F1. Адрес планов записывается в видеоконтроллер.
    CLCA4_F2 - фаза F2. Чтение данных плана 0 из ОЗУ ПП.
    CLCA4_F3 - фаза F3. Чтение данных планов 1 и 2 из видеоконтроллера.


    Описание:

    Запись в регистр адреса планов (адрес 177010) начинается по переднему фронту DOUT. Одновременно с этим устанавливается сигнал подтверждения записи RPLY. Таким образом, запись в регистр адреса планов имеет для процессора нулевую задержку. Во время активного DOUT данные с шины AD0..AD15 защелкиваются в регистре адреса планов PLANE_ADR.

    По отрицательному фронту CLCA (такт 4) устанавливается сигнал RQ.

    По положительному фронту CLCA (такт 8) на шину A0..A7 выводится старшая часть регистра адреса планов PLANE_ADR.
    Через пол-такта (такт 8.5) на шину D0..D7 выводится младшая часть регистра адреса планов PLANE_ADR.
    Еще через полтора такта (такт 10) содержимое шин A0..A7 и D0..D7 защелкивается видеоконтроллером с шин AG0..AG7 и DG0..DG7 в регистрах DC_H, и DC_L, соответственно.

    Через один такт (такт 12) шины A0..A7, D0..D7 освобождаются для видеоконтроллера на 4 такта, сигнал RQ переводится в неактивное состояние.

    По положительному фронту CLCA начинается процесс чтения данных из ОЗУ ПП в регистр PLANE0_DATA.
    Такт 16 - на шину A0..A7 выводится младшая часть адреса планов PLANE_ADR.
    Такт 17 - видеоконтроллером устанавливается сигнал RAS, по которому в ОЗУ защелкивается адрес строки (младшая часть адреса планов).
    Такт 17.5 - на шину A0..A7 выводится старшая часть адреса планов PLANE_ADR.
    Такт 18 - устанавливается сигнал CAS, по которому в ОЗУ защелкивается адрес столбца (старшая часть адреса планов). В течение активного сигнала CAS данные с шины D0..D7 защелкиваются в регистре плана 0 (PLANE0_DATA).
    Такт 19.5 - снимается сигнал RAS.

    Такт 20 - завершение процесса чтения.
    Шины A0..A7 освобождается, сигнал CAS снимается.
    Устанавливаются сигналы RQ и CC1.

    Такт 24..26 - данные планов 1 и 2, предоставленные видеоконтроллером, защелкиваются с шины D0..D7 в регистре PLANE1_DATA, и с шины A0..A7 в регистре PLANE2_DATA, соответственно.

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

    Не смотря на то, что задержка (latency) записи в регистры октета, планов 1&2, адреса планов нулевая, пропускная способность (throughput) для этих команд значительно ниже.
    Подробней можно расписать только зная точную растактовку ВМ2, а также особенности работы контроллеров памяти ПП и ЦП.
    Однако, знание нюансов работы контроллеров и процессора, значительно увеличивает возможность оптимизации работы с графикой УКНЦ по скорости.
    Последний раз редактировалось Titus; 25.07.2020 в 00:13.

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

    Alex_K(24.07.2020), Ynicky(25.07.2020)

  7. #726

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

    По умолчанию Растактовка записи в регистр данных плана 0

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

    [свернуть]


    Описание:

    Запись в регистр плана 0 (адрес 177012) начинается по переднему фронту DOUT. Если контроллер все еще занят операциями записи в регистр октета или в регистр адреса планов, то начало записи в регистр плана 0 задержится до окончания последнего цикла CLCA предыдущей операции. Во время всего активного цикла DOUT данные с шины AD0..AD7 защелкиваются в регистре плана 0 (PLANE0_DATA).

    В последнем такте отрицалельного фронта CLCA (такт 7) происходит подготовка данных для записи.

    По положительному фронту CLCA начинается процесс записи данных PLANЕ0 в ОЗУ ПП. Сигнал WE установлен, что означает запись в ОЗУ.
    Такт 8 - на шину A0..A7 выводится младшая часть адреса планов PLANE_ADR.
    Такт 8.5 - на шину D0..D7 выводятся данные регистра PLANE0.
    Такт 9 - видеоконтроллером устанавливается сигнал RAS, по которому в ОЗУ защелкивается адрес строки (младшая часть адреса планов).
    Такт 9.5 - на шину A0..A7 выводится старшая часть адреса планов PLANE_ADR.
    Такт 10 - устанавливается сигнал CAS, по которому в ОЗУ защелкивается адрес столбца (старшая часть адреса планов).
    Такт 11.5 - снимается сигнал RAS, по которому данные запоминаются в ОЗУ.

    Если была запись байта (WTBT = 1), то:
    Такт 12 - выдается сигнал RLPY, а также освобождаются шины A0..A7, D0..D7, сигналы CAS и WE снимаются.
    В ответ на сигнал RPLY, процессор снимает сигнал DOUT.

    Если же была запись слова (WTBT = 0), то происходит полный повтор предыдущего цикла CLCA, записывается по тому же адресу тот же самый байт.
    В такте 20 выдается сигнал RLPY, а так же освобождаются шины A0..A7, D0..D7, сигналы CAS и WE снимаются.
    В ответ на сигнал RPLY, процессор снимает сигнал DOUT.

    Замечание: Словная запись в регистр плана 0 является побочным эффектом использования механизма словной/байтовой записи в память. Двойная запись одного и того же байта по тому же адресу связана с тем, что при записи в регистр плана 0 не задействован механизм поочередной записи младшего/старшего байта по последовательным адресам.

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

    Alex_K(25.07.2020)

  8. #727

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Замечание: Словная запись в регистр плана 0 является побочным эффектом использования механизма словной/байтовой записи в память. Двойная запись одного и того же байта по тому же адресу связана с тем, что при записи в регистр плана 0 не задействован механизм поочередной записи младшего/старшего байта по последовательным адресам.
    В обоих случаях медленно. При словной записи контроллер ПП делает двойную запись, а при байтовой записи для команд MOVB, CLRB, MFPS сам процессор сначала делает фиктивное чтение по записываемому адресу. Так что тут быстрее, наверное надо сделать тесты.

  9. #728

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

    По умолчанию Растактовка записи в ОЗУ ПП

    Диаграммы байтовой и словной записи полностью идентичны записи в регистр плана 0.


    Описание:

    Запись в ОЗУ ПП начинается по переднему фронту DOUT. Если контроллер все еще занят операциями записи в регистр октета или в регистр адреса планов, то начало записи в ОЗУ задержится до окончания последнего цикла CLCA предыдущей операции.

    В последнем такте отрицалельного фронта CLCA (такт 7) происходит подготовка данных для записи.


    Запись байта (WTBT = 1):

    По положительному фронту CLCA начинается процесс записи данных в ОЗУ ПП. Сигнал WE установлен, что означает запись в ОЗУ.
    Такт 8 - на шину A0..A7 выводится младшая часть адреса (LATCH_ADR).
    Такт 8.5 - на шину D0..D7 выводятся данные с AD0..AD7, если запись по четному адресу, и данные с AD8..AD15, если запись по нечетному адресу.
    Такт 9 - видеоконтроллером устанавливается сигнал RAS, по которому в ОЗУ защелкивается адрес строки (младшая часть адреса).
    Такт 9.5 - на шину A0..A7 выводится старшая часть адреса (LATCH_ADR).
    Такт 10 - устанавливается сигнал CAS, по которому в ОЗУ защелкивается адрес столбца (старшая часть адреса).
    Такт 11.5 - снимается сигнал RAS, по которому данные запоминаются в ОЗУ.

    Такт 12 - выдается сигнал RLPY, а также освобождаются шины A0..A7, D0..D7, сигналы CAS и WE снимаются.
    В ответ на сигнал RPLY, процессор снимает сигнал DOUT.


    Запись слова (WTBT = 0):

    По положительному фронту CLCA начинается процесс записи младшего байта в ОЗУ ПП. Сигнал WE установлен, что означает запись в ОЗУ.
    Такт 8 - на шину A0..A7 выводится младшая часть адреса (LATCH_ADR). Младший бит принудительно равен 0.
    Такт 8.5 - на шину D0..D7 выводятся данные с AD0..AD7.
    Такт 9 - видеоконтроллером устанавливается сигнал RAS, по которому в ОЗУ защелкивается адрес строки (младшая часть адреса).
    Такт 9.5 - на шину A0..A7 выводится старшая часть адреса (LATCH_ADR).
    Такт 10 - устанавливается сигнал CAS, по которому в ОЗУ защелкивается адрес столбца (старшая часть адреса).
    Такт 11.5 - снимается сигнал RAS, по которому данные запоминаются в ОЗУ.

    Такт 12 - шины A0..A7, D0..D7 освобождаются для видеоконтроллера на 4 такта, сигналы CAS и WE снимаются.

    По положительному фронту CLCA начинается процесс записи старшего байта в ОЗУ ПП. Сигнал WE установлен, что означает запись в ОЗУ.
    Такт 16 - на шину A0..A7 выводится младшая часть адреса (LATCH_ADR). Младший бит принудительно равен 1.
    Такт 16.5 - на шину D0..D7 выводятся данные с AD8..AD15.
    Такт 17 - видеоконтроллером устанавливается сигнал RAS, по которому в ОЗУ защелкивается адрес строки (младшая часть адреса).
    Такт 17.5 - на шину A0..A7 выводится старшая часть адреса (LATCH_ADR).
    Такт 18 - устанавливается сигнал CAS, по которому в ОЗУ защелкивается адрес столбца (старшая часть адреса).
    Такт 19.5 - снимается сигнал RAS, по которому данные запоминаются в ОЗУ.

    Такт 20 - выдается сигнал RLPY, а также освобождаются шины A0..A7, D0..D7, сигналы CAS и WE снимаются.
    В ответ на сигнал RPLY, процессор снимает сигнал DOUT.

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

    Цитата Сообщение от Alex_K Посмотреть сообщение
    В обоих случаях медленно. При словной записи контроллер ПП делает двойную запись, а при байтовой записи для команд MOVB, CLRB, MFPS сам процессор сначала делает фиктивное чтение по записываемому адресу. Так что тут быстрее, наверное надо сделать тесты.
    Я думаю, что практически нет смысла использовать запись в регистр плана 0, если видео-ОЗУ расположено в доступной части ОЗУ ПП (ниже адреса 0x8000, или же ниже адреса регистров 0xFE00, если страницы ОЗУ спроецированны в верхнюю память). И тут несколько причин:
    1. Байтовая запись медленная из-за фиктивного чтения.
    2. Словная запись медленная, т.к. занимает двойное время, но записывает один байт.
    3. И, наконец, запись в регистр адреса планов (а ведь туда надо записать адрес) - это ОЧЕНЬ МЕДЛЕННАЯ операция, требующая чтения ОЗУ ПП, ОЗУ ЦП, и при этом еще и подтормаживающая в это время ЦП.

    Словом, я бы рекомендовал программистам никогда не использовать запись в регистр планов 0.

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

    Alex_K(25.07.2020)

  10. #729

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Растактовка записи в ОЗУ ПП
    Ждем растактовку чтения из ОЗУ ПП. Так как с точки зрения шины QBUS/МПИ байтового чтения нет, то должно всегда читаться за два прохода - сначала младший байт, потом старший.

  11. #730

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

    По умолчанию

    Вообще, к разработчикам механизма работы с ОЗУ много вопросов. Я бы назвал придуманные ими конструкциями сложными, косячными и местами бесполезными. Множество ресурсов потрачено на регистровый доступ к памяти, и при этом вообще не предусмотрен никакой автоинкремент адреса. Относительно неплохие графические возможности без механизма быстрой переброски данных - это товарный поезд с дрезиной вместо тепловоза. А ведь в эти самые же потраченные ресурсы ПЛМ вполне можно было напихать подходящие для быстрой работы функции. Но, похоже, действительно, компьютер был задуман как чисто учебный, но никак не игровой.

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

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

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

Эту тему просматривают: 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

Ваши права

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