Важная информация

User Tag List

Страница 139 из 271 ПерваяПервая ... 135136137138139140141142143 ... ПоследняяПоследняя
Показано с 1,381 по 1,390 из 2702

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

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Или я неправильно помню, и на 1801ВМ1 не предусмотрено четырёх-процессорной системы?..
    Предусмотрено. А слова состояния по адресу 177776 в 1801ВМ1 - не предусмотрено.
    Так что все верно, процессор номер 3 берет стартовое значение PC читая адрес 177776.

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

  3. #1382
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,998
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    А слова состояния по адресу 177776 в 1801ВМ1
    Семён Семёныч! Забыл про это... Давно с ВМ1 не общался..

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

    По умолчанию

    Хм, а что, при входе в обработчик прерывания или исключения пользовательского режима происходит обнуление старшего байта PSW? Я тут нарыл что микрокод запуска обработчика пользовательского прерывания читает PSW из вектора и затем его старший байт обнуляет. Таким образом PSW10 и PSW11 сбрасываются при входе в обработчик.

  5. #1384
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,998
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    при входе в обработчик прерывания или исключения пользовательского режима происходит обнуление старшего байта PSW
    Скорее всего, это особенность 1801ВМ1. Тот же 1801ВМ3 ведёт себя несколько сложнее.

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

    По умолчанию

    Существенно обновил документ по 1801ВМ1, описан микроавтомат, заполнена таблица микропереходов (хотя описано далеко не все), уже понятно каких инструкций в ВМ1 точно нет - предварительно заполнена также таблица процессорных инструкций. Разобран и описан микрокод процедур начального старта, входа в обработчики пользовательских и пультовых прерываний. Выкладываю предварительную версию от 8-Jun-2018, потому что пока нет ясности когда у меня будет время и желание заниматься завершением документирования ВМ1.

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

  7. #1386
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,998
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vslav, Вы точно документ выложили? 404 ругаицца

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Vslav, Вы точно документ выложили? 404 ругаицца
    Сорри, я на отдыхе - тут инет медленный. Уже точно по ftp докачалось - можно забирать.

  9. #1388
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    4. Назначение выводов Нога 5.
    Вход запроса на доступ к магистрали для ведущего процессора с аппаратным номером 0, ведущий процессор никогда не использует данный вывод как выход.

    Выход запроса на доступ к магистрали для процессоров с номерами 1-3 и других внешних модулей системы
    Как-то оно не очень. Может лучше так?

    Вход запроса на доступ к магистрали для ведущего процессора с аппаратным номером 0 от процессоров с номерами 1-3 и других внешних модулей

    Выход запроса на доступ к магистрали для процессоров с номерами 1-3. Ведущий процессор (номер 0) никогда не использует данный вывод как выход.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

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

    По умолчанию

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

    Инструкция RESET любопытно выполняется - активируется nINIT, потом в R12 заносится 3408, гонятся цикл с декрементом R12 на 2, по достижению нуля снимается nINIT, в R12 снова записывается 3408, цикл с декрементированием повторяется, по достижению нуля запускается выборка и исполнение следующей инструкции.

  11. #1390
    Master
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    545
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    136
    Поблагодарили
    105 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо. Я тоже пытался декодировать таблицу микрокода, но понял, что не осилю и забросил. Там у меня получались какие-то очень уж сложные, нетривиальные условия для значений IR чтобы переходить с одного микроадреса на другой.
    Поэтому есть предложение, хоть ещё чу-чуточку дополнить таблицу описания переходов между адресами микроинструкций программного автомата 1801ВМ1А, чтобы можно было на основе того, что есть, доделать остальное.

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

    Например, переход с 01 на 31:
    Код:
    [0x01](x0001xxxxx000111 001xxxxx) -> [0x31](0001100110011001001010010100011000)
    если опкоды CLR(B),COM(B),INC(B),DEC(B),NEG(B),ADC(B),SBC(B),TST(B),ROR(B),ROL(B),ASR(B),ASL(B),SXT
    с аргументом PC
    [0x01](x0001xxxxx000xxx 001xxxxx) -> [0x31](0001100110011101001010010100011000)
    если опкоды CLR(B),COM(B),INC(B),DEC(B),NEG(B),ADC(B),SBC(B),TST(B),ROR(B),ROL(B),ASR(B),ASL(B),SXT
    с аргументом R0-R6
    Переход с 01 на 37, немного не как у вас:
    Код:
    [0x01](0000000000000001 001xxxxx) -> [0x37](0001100111111111001000110000011100)
    если опкод WAIT
    [0x01](0000000000000101 001xxxxx) -> [0x37](1111111111111111111110100110011100)
    если опкод RESET
    [0x01](00000000101xxxxx 001xxxxx) -> [0x37](0001100111011111001010010100011000)
    если опкоды CLxx, SExx [000240-000277]
    [0x01](0000110100xxxxxx 001xxxxx) -> [0x37](0001101001011011001000110000011100)
    если опкод MARK nn
    Переход с 01 на 45:
    Код:
    [0x01](0000000001xxxxxx 001xxxxx) -> [0x45](1111111110111010101010111110111101)
    если опкоды [000110-000177] - JMP с допустимым аргументом
    [0x01](x000xxxxxxxxxxxx 001xxxxx) -> [0x45](0001111110111111011010111110111101)
    если опкоды SWAB,CLR(B),COM(B),INC(B),DEC(B),NEG(B),ADC(B),SBC(B),ROR(B),ROL(B),ASR(B),ASL(B),SXT,MFPS
    с нерегистровой адресацией (010-077)
    [0x01](0000100xxxxxxxxx 001xxxxx) -> [0x45](1111111110111011101010111110111101)
    если опкод JSR Rn с нерегистровой адресацией (010-077)
    [0x01](x000101111xxxxxx 001xxxxx) -> [0x45](0001111110111111001010111110111101)
    если опкод TST(B) с нерегистровой адресацией (010-077)
    [0x01](1000110100xxxxxx 001xxxxx) -> [0x45](0001111110111011001010111110111101)
    если опкод MTPS с нерегистровой адресацией (010-077)
    Переход с 01 на 47:
    Код:
    [0x01](xx0xxxxxxx000xxx 001xxxxx) -> [0x47](0001111111111011011110111110111101)
    если опкоды MOV(B),BIC(B),BIS(B) с нерегистровыми адресациями источника и адресацией приёмника PC, и с адресациями -(PC),Rn
    и не только.
    [0x01](xx0xxxxxxxxxxxxx 001xxxxx) -> [0x47](0001111111111111011110111110111101)
    если опкоды MOV(B),BIC(B),BIS(B) с пока не понятными условиями. все те адресации, которые не попадают в предыдущий набор
    [0x01](x01xxxxxxx000xxx 001xxxxx) -> [0x47](0001111111111011001110111110111101)
    если опкоды CMP(B),BIT(B) условия как для пары предыдущих наборов
    [0x01](x01xxxxxxxxxxxxx 001xxxxx) -> [0x47](0001111111111111001110111110111101)
    если опкоды CMP(B),BIT(B) условия как для пары предыдущих наборов
    [0x01](x110xxxxxx000xxx 001xxxxx) -> [0x47](0001111111111011111110111110111101)
    если опкоды ADD,SUB условия как для пары предыдущих наборов
    [0x01](x110xxxxxxxxxxxx 001xxxxx) -> [0x47](0001111111111111111110111110111101)
    если опкоды ADD,SUB условия как для пары предыдущих наборов
    Переход с 01 на 50:
    Код:
    [0x01](x000xx0x11000xxx 001xxxxx) -> [0x50](0001000110011101001010010100111001)
    если опкоды SWAB Rn [000300-000306], MFPS Rn [106700-106706] 
    [0x01](x000xx0xxx000xxx 001xxxxx) -> [0x50](0001000110011001001010010100111001)
    если опкоды SWAB PC [000307], MTPS Rn [106400-106407], MFPS PC [106707]
    Переход с 01 на 52:
    Код:
    [0x01](xxxxxx0xxx000111 001xxxxx) -> [0x52](1111000111011001101111010101111011)
    если опкоды MUL R3,PC[070307], MFPD PC[106507], MTPD PC[106607] 
    [0x01](xxxxxx0xxx000xxx 001xxxxx) -> [0x52](1111000111011101101111010101111011)
    если опкоды MUL R3,Rn[070300-070306], MFPD Rn[106500-106506], MTPD Rn[106600-106606]
    Переход с 01 на 7b:
    Код:
    [0x01](x0000xxxxxxxxxxx 001xxxxx) -> [0x7b](1111111111111101110110110110011101)
    если команды ветвления
    [0x01](x0000xxxxx000xxx 001xxxxx) -> [0x7b](1111111111111001110110110110011101)
    если команды ветвления
    в скобках слева: ir, mr(без битов адреса ячейки), входные параметры для vm1a_plm, справа - 34-битный выход для vm1a_plm
    [свернуть]


    Т.е. получается частичное декодирование инструкции, и потом переход на следующий адрес и там дальнейшее декодирование и /или обработка. Но вот уже дальше пошли такие диапазоны, что я просто не смог определить маску или несколько масок, по которым бы отлавливать попадающие инструкции. После оптимизации для прошивки ПЛМ там очень уж не очевидные перекрытия стали получаться.

Страница 139 из 271 ПерваяПервая ... 135136137138139140141142143 ... ПоследняяПоследняя

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

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

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

Похожие темы

  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

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

Ваши права

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