User Tag List

Показано с 1 по 10 из 2727

Тема: Цифровая археология: 1801 и все-все-все

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

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

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    MTPS не может сменить режим процессора по определению
    То в оригинальной PDP-11 не может, а в собственной разработке "по мотивам" да еще переделанной из НЦ - можно ожидать все что угодно. Придется подсмотреть на реальном 1801ВМ1 сколько там циклов выборки команды после mtps.

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

  3. #2

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    То в оригинальной PDP-11 не может, а в собственной разработке "по мотивам" да еще переданной из НЦ - можно ожидать все что угодно. Придется подсмотреть на реальном 1801ВМ1 сколько там циклов выборки команды после mtps.
    В собственной разработке тоже не может так как и в ней MTPS выполняет ту же функцию: записывает байт, что собственно и не позволяет поменять режим.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  4. #3

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    В собственной разработке тоже не может так как и в ней MTPS выполняет ту же функцию: записывает байт, что собственно и не позволяет поменять режим.
    Пультовый режим все равно организован своеобразно, вполне могли быть начальные варианты когда признак пульта размещался в битах psw[5] или psw[6].

    Цитата Сообщение от Patron Посмотреть сообщение
    Причина может быть связана с использованием микрокода SCC, который извлекает биты PSW из буфера кода команды.
    В АЛУ имеется копия регистра инструкций, извлечение нужных полей из опкода выполняется мгновенно в блоке генератора констант. Флаг Т тоже очищается с использованием константы. Вот фрагмент выполнямой последовательности микрокода для clr R0 mtps R0

    Код:
    # plr(173777507057)->(176), op(10,   y  ), x(17), y(17))
    # X=R0 (000000)
    # Y=000000 (const)
    # Read  @ 000206, 106400 ; завершение чтения регистра опкода
    # R0=000000       ; окончание clr R0, назначение приемника
    # mj(1, 04, 176), ir(106400)
    # plm(014733122470)
    # 
    # plr(014733122470)->(057), op(01,  x+y ), x(01), y(03))
    # X=R7 (000210) ; странный запуск чтения @PC, вместо PC результат попадает в R12
    # Y=000002 (const)
    # mj(1, 04, 057), ir(106400)
    # QBUS=tplm(1), plrt(4),    word read
    # ADR=000210
    # plm(172630146035)
    # R12=000212       
    # 
    # plr(172630146035)->(110), op(02,  x&~y), x(17), y(13))
    # X=R0 (000000)
    # Y=000020 (const)
    # mj(1, 04, 110), ir(106400)
    # plm(106674746035)
    # DAT=000000 (byte) ; новый PSW со сброшенным T
    # R12=000000 (byte)
    # 
    # plr(106674746035)->(111), op(16,  x&y ), x(10), y(13))
    # Read  @ 000210, 005001
    # X=PSW (000344)
    # Y=000020 (const)
    # mj(1, 04, 111), ir(106400)
    # plm(100176542075)
    # PSW=000000 (byte) ; непонятки
    # 
    # plr(100176542075)->(156), op(12,  x|y ), x(10), y(00))
    # Y=DAT (000400) 
    # X=PSW (000000)
    # mj(1, 04, 156), ir(106400)
    # plm(010737123467)
    # PSW=000000 (byte) ; записали сохраненный в DAT PSW
    # 
    # plr(010737123467)->(176), op(01,  x+y ), x(01), y(03))
    # X=R7 (000210) ; чтение кода инструкции (PC)+
    # Y=000002 (const)
    # QBUS=tplm(4), plrt(4),    word read
    # ADR=000210
    # R7=000212       
    # Read  @ 000210, 005001
    # mj(1, 00, 176), ir(005001)
    # plm(010737122431)
    При этом 791401 тест mtps проходит нормально. Но надо все равно проверить на реальном ВМ1, вполне может быть что у меня где-то ошибка.

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Интересно, а что будет, если эту следующую инструкцию невозможно считать, т.е. при чтении не будет ответа RPLY. Возникнет прерывание по TRAP4 или нет?
    После того как оперблок запросил у секвенсера Qbus транзакцию, она может закончится только двумя способами - успешное завершение по RPLY или наступление тайм-аута, при котором всегда безусловно фиксируется запрос на исключение и асинхронно абортируется микрокод - он принудительно переходит на микроадрес 176 - анализ прерываний и начало декодирования новой команды. То есть, на каком бы этапе выполнения команды не возник тайм-аут - исключение обязательно будет - триггер запроса установлен, и может быть сброшен только отработкой 4-го вектора.
    Последний раз редактировалось Vslav; 30.01.2015 в 02:00.

  5. #4

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,807
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    80 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Придется подсмотреть на реальном 1801ВМ1 сколько там циклов выборки команды после mtps.
    Учитывая, что команда MTPS R0 в реале выполняется на 12 тактов дольше, чем команда MFPS R0 - похоже, что и в реале читает дважды.

    Причина может быть связана с использованием микрокода SCC, который извлекает биты PSW из буфера кода команды.

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 28.06.2014, 17:50
  2. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  3. ЦИФРОВАЯ МУЗЫКА НА ZX
    от AAA в разделе Музыка
    Ответов: 98
    Последнее: 18.09.2011, 22:33
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Цифровая музыка от Вадима Ермеева
    от zxmike в разделе Музыка
    Ответов: 2
    Последнее: 06.08.2007, 23:13

Метки этой темы

Ваши права

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