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

User Tag List

Страница 1 из 226 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 2253

Тема: Особенности процессоров и устройств архитектуры PDP-11. Тесты. Диагностика.

  1. #1
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Особенности процессоров и устройств архитектуры PDP-11. Тесты. Диагностика.

    Без долгих вступлений - протестируем влияние бита T в PSW на обслуживание запросов IRQ от таймера и порта терминала.

    В приложении - дополненный вариант теста PDP-11 Interrupts Test #1c
    Вложения Вложения

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

  3. #2
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В кернел пока не перключается, соответственно MTPS не работает итд.
    Из под FB:

    Код:
    .RU PDPT1C
    
    PDP-11 Interrupts Test #1c
    
    MTPS #340
    ...Press Key...
    BIS #100,@#TTPS
    Set T x3
    RTI | NOP | WAIT | NOP | NOP | NOP
    >>> Trap to 014 <<<   ; 001234    
    >>> Interrupt <<< 100 ; 001234    
    >>> Trap to 014 <<<   ; 001234    
    >>> Trap to 014 <<<   ; 001234    
    >>> Interrupt <<< 060 ; 001234    
    >>> Interrupt <<< 064 ; 001234    
    NOP
    NOP
    NOP
    NOP
    
    MTPS #340
    ...Press Key...
    BIS #100,@#TTPS
    Set T x3
    RTT | NOP | WAIT | NOP | NOP | NOP
    >>> Interrupt <<< 100 ; 001432    
    >>> Trap to 014 <<<   ; 001432    
    >>> Trap to 014 <<<   ; 001432    
    >>> Trap to 014 <<<   ; 001432    
    >>> Interrupt <<< 060 ; 001432    
    >>> Interrupt <<< 064 ; 001432    
    NOP
    NOP
    NOP
    NOP
    
    MTPS #340
    BIS #100,@#TTPS
    ...Press Key...
    Set T x3
    RTT | NOP | NOP | NOP | NOP | NOP
    >>> Interrupt <<< 100 ; 001630    
    >>> Trap to 014 <<<   ; 001630    
    >>> Trap to 014 <<<   ; 001630    
    >>> Trap to 014 <<<   ; 001630    
    >>> Interrupt <<< 060 ; 001630    
    >>> Interrupt <<< 064 ; 001630    
    NOP
    NOP
    NOP
    NOP
    NOP
    
    Program completed.
    
    .


    ---------- Post added at 17:01 ---------- Previous post was at 16:59 ----------

    Кстати в доке по KDJ11B про T-бит написано просто NM (non maskable) и перечислен в списке с остальными прерываниями. Для EMT/BPT итд статус просто не пишется.
    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
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Странно, как это после RTT в обработчике Т-трапа не выполняются никакие команды (и все прерывания возникают "на одном месте")..
    Вложения Вложения
    Последний раз редактировалось Patron; 22.02.2012 в 13:05.

  5. #4
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Странно, как это после RTT в обработчике Т-трапа не выполняются никакие команды (и все прерывания возникают "на одном месте")..
    Ничего странного - про это чуть ли не ты же и упоминал вчера, что если есть что готовое для прерывания, оно сразу и сработает. Вот если бы IRQ* не были выставлены на момент RTT, тогда бы провалился на команду.
    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

  6. #5
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вот и тест на реальном УКНЦ.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	TTC1.jpg 
Просмотров:	2084 
Размер:	82.7 Кб 
ID:	33139   Нажмите на изображение для увеличения. 

Название:	TTC2.jpg 
Просмотров:	2006 
Размер:	83.2 Кб 
ID:	33140   Нажмите на изображение для увеличения. 

Название:	TTC3.jpg 
Просмотров:	1321 
Размер:	81.8 Кб 
ID:	33141  

  7. #6
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ничего странного - если есть что готовое для прерывания, оно сразу и сработает. Вот если бы IRQ* не были выставлены на момент RTT, тогда бы провалился на команду.
    А вот и нет!

    Как же тогда в этом куске:
    Код:
    MTPS #340
    ...Press Key...
    BIS #100,@#TTPS
    Set T x3
    RTT | NOP | WAIT | NOP | NOP | NOP
    >>> Interrupt <<< 100 ; 001432    
    >>> Trap to 014 <<<   ; 001432    
    >>> Trap to 014 <<<   ; 001432    
    >>> Trap to 014 <<<   ; 001432    
    >>> Interrupt <<< 060 ; 001432    
    >>> Interrupt <<< 064 ; 001432    
    NOP
    NOP
    NOP
    NOP
    три Т-трапа происходят НА ОДНОМ МЕСТЕ и ни одна из команд программы не выполняется, хотя обработчики Т-трапа заканчиваются командой RTT.

    ...

    Цитата Сообщение от Alex_K Посмотреть сообщение
    тест на реальном УКНЦ.
    Вот это мне гораздо больше нравится!

    Очевидно, что у formа "нереальный УКНЦ" :)))

    Кстати, весьма похоже, что на 1801ВМ2 бит Т просто вводит дополнительную блокировку прерываний, которую нейтрализует команда WAIT, ожидающая и обслуживающая одно прерывание.

  8. #7
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    три Т-трапа происходят НА ОДНОМ МЕСТЕ[/b] и ни одна из команд программы не выполняется, хотя обработчики Т-трапа заканчиваются командой RTT
    Ну положим я все еще не уверен в правильности теста
    Свой же тест я приводил и результат в нем был однозначный - RTT дает шанс прерыванию и никаких гвоздей.

    К примеру я не сильтно уверен в результатах прерывания по 64 так как мы одновременно трогаем устройство которое его должно дать.
    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

  9. #8
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Кстати, весьма похоже, что на 1801ВМ2 бит Т просто вводит дополнительную блокировку прерываний, которую нейтрализует команда WAIT, ожидающая и обслуживающая одно прерывание.
    Бит T блокирует прерывания просто в силу своего приоритета. Блок прерываний в 1801ВМ2 при своей работе просматривает все незамаскированные прерывания на данный момент и выбирает самое приоритетное. У T-бита приоритет равен 3, у таймера (EVNT) - 6, VIRQ - 7.
    А команда WAIT блокирует прерывание по T-разряду, поэтому и выполняется прерывание по таймеру.
    И еще в тесте хорошо видна особенность 1801ВМ2 (а может и не только его), когда происходит возврат по RTT без установки бита T, то блок прерываний не запрещается на один шаг. Это видно на последних шагах, когда сохраненный в стеке счетчик команд оказывается одним и тем же.

  10. #9
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ну положим я все еще не уверен в правильности теста
    Именно поэтому так важен результат теста на реальной УКНЦ. Ведь там запускался тот же самый код, а результаты гораздо более логичные - после каждой команды RTT гарантированно выполняется одна команда программы.

    Возможно, как-то влияют прерывания от таймера. Дело в том, что во время работы программы они случаются примерно по одному на каждую строчку вывода на экран.

    Если наша попытка перехвата V100 была как-то пресечена операционкой и перед нашим обработчиком V100 или после него выполняется код операционки - тогда это может как-то влиять.

    Есть возможность запустить этот тест с гарантированно выключенным таймером?

  11. #10
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Именно поэтому так важен результат теста на реальной УКНЦ. Ведь там запускался тот же самый код, а результаты гораздо более логичные - после каждой команды RTT гарантированно выполняется одна команда программы.

    Возможно, как-то влияют прерывания от таймера. Дело в том, что во время работы программы они случаются примерно по одному на каждую строчку вывода на экран.

    Если наша попытка перехвата V100 была как-то пресечена операционкой и перед нашим обработчиком V100 или после него выполняется код операционки - тогда это может как-то влиять.

    Есть возможность запустить этот тест с гарантированно выключенным таймером?
    Не забываем только, что на УКНЦ есть только один IRQ, а у меня их 4

    ---------- Post added at 17:36 ---------- Previous post was at 17:36 ----------

    Сейчас отключим.

    ---------- Post added at 17:38 ---------- Previous post was at 17:36 ----------

    Код:
    .GET PDPT1C
    
    .E 40
    001000
    
    .D 10000=5037,177546,137,1000
    
    .ST 10000
    
    PDP-11 Interrupts Test #1c
    
    MTPS #340
    ...Press Key...
    BIS #100,@#TTPS
    Set T x3
    RTI | NOP | WAIT | NOP | NOP | NOP
    >>> Trap to 014 <<<   ; 001234    
    >>> Interrupt <<< 060 ; 001234    
    >>> Trap to 014 <<<   ; 001234    
    >>> Interrupt <<< 064 ; 001234    
    >>> Trap to 014 <<<   ; 001234    
    NOP
    (зависон - WAIT видимо, клавишу тык)
    
    MTPS #340
    ...Press Key...
    BIS #100,@#TTPS
    Set T x3
    RTT | NOP | WAIT | NOP | NOP | NOP
    >>> Interrupt <<< 060 ; 001432    
    >>> Trap to 014 <<<   ; 001432    
    >>> Interrupt <<< 064 ; 001432    
    >>> Trap to 014 <<<   ; 001432    
    NOP
    >>> Trap to 014 <<<   ; 001434    
    (зависон - WAIT видимо, клавишу тык)
    NOP
    >>> Trap to 014 <<<   ; 001434    
    NOP
    NOP
    NOP
    
    MTPS #340
    BIS #100,@#TTPS
    ...Press Key...
    Set T x3
    RTT | NOP | NOP | NOP | NOP | NOP
    >>> Interrupt <<< 060 ; 001630    
    >>> Trap to 014 <<<   ; 001630    
    >>> Interrupt <<< 064 ; 001630    
    >>> Trap to 014 <<<   ; 001630    
    NOP
    >>> Trap to 014 <<<   ; 001632    
    NOP
    NOP
    NOP
    NOP
    
    Program completed.
    
    .
    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

Страница 1 из 226 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Тесты ВМ1
    от nzeemin в разделе БК-0010/0011
    Ответов: 90
    Последнее: 05.10.2018, 12:24
  2. Диагностика
    от dk_spb в разделе Корвет
    Ответов: 31
    Последнее: 21.07.2017, 23:52
  3. Проблема двух процессоров.
    от Mikka_A в разделе Несортированное железо
    Ответов: 21
    Последнее: 28.11.2006, 17:04

Ваши права

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