User Tag List

Страница 43 из 227 ПерваяПервая ... 394041424344454647 ... ПоследняяПоследняя
Показано с 421 по 430 из 2264

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

  1. #421

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Код:
    3$:
    	Mov	@#TKS, (R5)+
    	Mov	#7., R0
    	SOB	R0, .
    	SOB	R1, 3$
    Это сколько будет в тактах процессора ?
    Цитата Сообщение от Alex_K Посмотреть сообщение
    Это вопрос скорее к Titus-у, он измерениями занимался. Можно конечно взять из эмулятора UKNCBTL, но там довольно усредненные значения.
    Из эмулятора UKNCBTL:
    MOV @#...,(R)+ - 67 тактов;
    MOV #...,R - 25 тактов;
    SOB в цикле - 45 тактов;
    SOB последний - 25 тактов.

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

  3. #422

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Отлично ловится из прерываний
    Т.е. прерывание возникает в тот момент, когда должен прийти стоповый бит и если этот бит стартовый - в этот же момент устанавливается и признак BREAK, а в младший байт регистра данных помещается ноль.

    ---------- Post added at 00:55 ---------- Previous post was at 00:52 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Если это ЦП, то порядок чисел такой:
    80+30+35+35
    Т.е. в NOPах это будет 180/16 = 12, а за два цикла - 24 NOPа.

    А один бит передаётся за 50 NOPов.

    ...

    А, понял - продолжительность цикла SOB надо ещё умножить на 7
    Последний раз редактировалось Patron; 08.02.2013 в 01:57.

  4. #423

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Т.е. прерывание возникает в тот момент, когда должен прийти стоповый бит и если этот бит стартовый - в этот же момент устанавливается и признак BREAK, а в младший байт регистра данных помещается ноль.
    Да.
    После этого сколько бы BREAK не висел, готовности больше не будет, а в регистре данных будет висеть то же значение (120000).
    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

  5. #424

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Т.е. в NOPах это будет 180/16 = 12, а за два цикла - 24 NOPа.
    NOP - 14-15 тактов, на большинстве машин 14.

  6. #425

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    NOP - 14-15 тактов, на большинстве машин 14.
    Тогда в одном цикле теста получается 27 NOPов, а в двух - 54 NOPа.

    Выходит, что бит BREAK устанавливается в регистре статуса приёмника ВП1-065 ровно через один битовый интервал после установки бита готовности.

    ---------- Post added at 01:18 ---------- Previous post was at 01:09 ----------

    А бит переполнения устанавливается ещё через 11 битовых интервалов:
    Код:
    09  00000000 10000000   00000000 10000000 
    10  00000000 10000001   00000000 10000001   
    11  00000000 10000001   00000000 10000001 
    01  00000000 10000001   00000000 10000001   
    02  00000000 10000001   00000000 10000001 
    03  00000000 10000001   00000000 10000001   
    04  00000000 10000001   00000000 10000001 
    05  00000000 10000001   00000000 10000001   
    06  00000000 10000001   00000000 10000001 
    07  00000000 10000001   00000000 10000001   
    08  00000000 10000001   00000000 10000001 
    09  00000000 10000001   00000000 10000001   
    10  00010000 10000001   00010000 10000001

  7. #426

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

    По умолчанию

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

    ...

    Хотя, секрета тут никакого нет. Пока бит готовности не установлен - запись в порт ни на что не влияет. Важнее проверить - сохраняется ли в регистре данных порта значение, если оно было записано туда при сброшенном бите готовности.
    Последний раз редактировалось Patron; 08.02.2013 в 15:10.

  8. #427

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Результаты теста выводятся в тестируемый порт. По умолчанию - это порт С2 УКНЦ.
    Предложение: для тестов делать в начале программы ячейки, хранящие регистры-векторы. Тогда можно будет без пересборки тесты запускать на других машинах...

    Код:
    TTP - Test TTP port
    ===================
    
    14«231»
    
    Test completed
    Добавил также тест в свой DL<>DL (8 символов):

    Код:
    TEST9:: .WORD   T9
            MOV     #BUFSZ,R1
    10$:    MOVB    R1,@#TDA
            SOB     R1,10$
            BR      .
    Код:
    TEST #9
    000010 000001 
    FLAG: 000000


    ---------- Post added at 17:59 ---------- Previous post was at 17:57 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Важнее проверить - сохраняется ли в регистре данных порта значение, если оно было записано туда при сброшенном бите готовности.
    Даже если сохраняется внутренне, проверить не получится: как значение для вывода оно не отработается, а биты эти в регистре данных WO и назад не читаются. Впрочем это ничем не отличается от "не сохраняется"
    Последний раз редактировалось form; 08.02.2013 в 15:04.
    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. #428

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Даже если сохраняется внутренне, проверить не получится: как значение для вывода оно не отработается, а биты эти в регистре данных WO и назад не читаются. Впрочем это ничем не отличается от "не сохраняется"
    Мой эмулятор только что так же популярно об этом мне напомнил - каждая команда INC @#TPB посылает исключительно и только байт 01.

    ---------- Post added at 14:15 ---------- Previous post was at 14:10 ----------

    Цитата Сообщение от form Посмотреть сообщение
    Добавил также тест в свой DL<>DL (8 символов)
    Фактически - это разновидность NOP-метра, проверяющего время установки готовности при передаче байта порт, сдвиговый регистр которого в этот момент свободен.

  10. #429

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

    По умолчанию

    Для дальнейшего тестирования работы последовательных портов с сигналом BREAK - мною написан тест BRKT4.

    Для правильной работы теста необходимо, чтобы при его выполнении квитирование было отключено, поэтому не следует трогать настройку COM-порта
    Код:
    fOutxCtsFlow = FALSE
    Также не следует включать сжатие при загрузке с этого сервера.

    Этот тест проверяет, какой сигнал получит COM-порт PC если установить BREAK в середине передачи байта 0377, а также проверяет гипотезу о наличии и работе буфера FIFO в контроллере 1801ВП1-065.

    Тест требует наличия с другой стороны тестируемой линии специального тестового варианта сервера HX Server, который умеет по запросу клиента посылать в линию эхо, а также превращает получаемые в порту сигналы в текстовые сообщения.

    Для проведения тестов нужно запустить прилагаемый HX Server на порту PC, подключенному к УКНЦ, ДВК или PDP-11, а на другой стороне - запустить программу BRKT4.SAV. Если адрес и вектор используемого со стороны PDP-11 порта отличаются от адреса и вектора порта С2 УКНЦ - программу следует перекомпилировать, указав в исходниках нужные значения.

    Код:
    TKS	=: 176570
    TKINT	=: 370
    Результаты тестирования сервер выводит в окно Teletype и сохраняет в файле Teletype.log.

    Запускать тесты на УКНЦ можно загрузившись с HX - на этот случай в дистрибутиве тестового сервера уже находится образ BRKT-1-2-3-4.DSK, подключенный к приводу HX1:


    По сравнению с предыдущей тестовой версией сервера произошло существенное изменение протокола HX в части пакетов спецкоманд BREAK и ECHO - теперь пакеты спецкоманд получили собственный тип пакета 0373, поэтому опубликованные ранее тестовые программы не смогут запрашивать BREAK у данного сервера.

    Адаптированные исходники предыдущих тестов также включены в архив.

    ...
    Вложения Вложения
    Последний раз редактировалось Patron; 23.09.2014 в 14:19.

  11. #430

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Для дальнейшего тестирования работы последовательных портов с сигналом BREAK - мною написан тест BRKT4.
    За компанию...

    Кривой порт:
    Код:
    ===================================
    BRKT4 - Test COM-port BREAK Part #4
    ===================================
    
    Test 1: Send 0377 - Wait half bits - set 1 byte BREAK
    «017»_Break__Error_1 byte BREAK
    
    
    Test 2: Send 0377 - Wait half bits - set 2 byte BREAK
    «017»_Break__Error_te BREAK
    
    
    Test 3: Send 0377 - Wait half bits - set 8 byte BREAK
    «017»_Break__Error_te BREAK
    
    
    Ask HX Server for ECHO: 'AB' - Wait 100 ms - Read bytes..
    B
    
    Ask HX Server for ECHO: 'ABC' - Wait 100 ms - Read bytes..
    C
    
    Test completed
    Нормальный порт:
    Код:
    ===================================
    BRKT4 - Test COM-port BREAK Part #4
    ===================================
    
    Test 1: Send 0377 - Wait half bits - set 1 byte BREAK
    _Error_<017><360>
    
    Test 2: Send 0377 - Wait half bits - set 2 byte BREAK
    _Error_<017><000><360>_Break+0_
    
    Test 3: Send 0377 - Wait half bits - set 8 byte BREAK
    _Error_<017><000><000><000><000><000><000><000>_Break+0__Break_<000><377>
    
    Ask HX Server for ECHO: 'AB' - Wait 100 ms - Read bytes..
    B
    
    Ask HX Server for ECHO: 'ABC' - Wait 100 ms - Read bytes..
    C
    
    Test 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

Страница 43 из 227 ПерваяПервая ... 394041424344454647 ... ПоследняяПоследняя

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

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

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

Ваши права

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