User Tag List

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

Тема: Тесты ВМ1

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

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

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

    По умолчанию

    Круто!

    Похоже, что подтверждается моя теория о том, что у 1801ВМ1 есть зачатки предвыборки и если выполняемая команда производит обращение к памяти, то это вызывает увеличение её продолжительности на величину штрафа отмены предвыборки.

    Но также очевидно, что влияние видео-адаптера затрудняет тестирование "чисто процессорных" аспектов работы 1801ВМ1 и есть смысл уделить больше внимания работе 1801ВМ1 именно в составе БК.

    И первый вопрос на эту тему следующий:

    На форуме http://bk0010.org/forum/ в теме Тонкости и толстости ВМ1 прозвучало следующее утверждение:

    ? gid @ - 6 апреля 18:09
    Практический эксперимент показал, что для 1801ВМ1 в его так сказать HALT режиме прерывания происходят по адресам 160000+номер. Напр HALT/IRQ1 - по адресу 160002, Независимо от того, каково содержание SEL1. Читается или нет регистр 177716 сказать не могу, но в реальности его содержимое не важно.
    Т.е. утверждается, что хотя начальный старт и происходит по адресу из SEL1, но по команде HALT или сигналу IRQ1 - БК-0011 ( насколько я понял - тестировалась эта модель ) всегда переходит по адресу 160002, независимо от содержимого SEL1.

    Что-то мне с трудом в такое верится, может там тестирование не вполне правильно было проведено..

    Интересно, как поведёт себя тестируемая БК, выполнив команду HALT.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Но также очевидно, что влияние видео-адаптера затрудняет тестирование "чисто процессорных" аспектов работы 1801ВМ1
    Уточнение - тестовые последовательности запускались по адресу 100000 из эмулятора ПЗУ, то есть - обращения к ОЗУ не было.

    Цитата Сообщение от Patron Посмотреть сообщение
    Т.е. утверждается, что хотя начальный старт и происходит по адресу из
    ... skipped ...

    Интересно, как поведёт себя тестируемая БК, выполнив команду HALT.
    Набросайте тест - я прогоню на стенде. А то завтра УКНЦ приедет уже ))
    Последний раз редактировалось Vslav; 12.04.2013 в 00:40. Причина: опечатки

  4. #3

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Уточнение - тестовые последовательности запускались по адресу 100000 из эмулятора ПЗУ, то есть - обращения к ОЗУ не было.
    Точно! Там нулевая задержка RPLY, поэтому "дырки" в SYNC выглядят такими большими.

    Тогда при случае можно будет много чего протестировать.


    Цитата Сообщение от Vslav Посмотреть сообщение
    Набросайте тест - я прогоню на стенде.
    Тест команды HALT имеет самый простой код - сплошные нули.

    Т.к. команда HALT всегда вызывает HALT-Trap, то имея эту команду ( код 000000 ) на стартовом адресе - мы должны получить зацикленный HALT-Trap. В самом начале можно NOP поместить ( код 0240 ), чтобы отделить HALT от стартовой последовательности.

    Цитата Сообщение от Vslav Посмотреть сообщение
    А то завтра УКНЦ приедет уже
    Для 1801ВМ2 ( и тем более в составе УКНЦ ) нерешённых задачек ещё больше, чем для 1801ВМ1 !!!

  5. #4

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

    По умолчанию

    Тестовая последовательность:

    Код:
    000240	;	$1:	NOP
    000000	;		HALT
    000775	;		BR	$1
    Результат:


    При исполнении HALT:
    - выполняется цикл DAT I/O и устанавливается бит 3 в регистре SEL1
    - выполняется цикл DAT O, запись в 177676 - попытка сохранить PSW
    - так как 177676 в БК не реализован - возникает тайм-аут шины
    - тут любопытно (на картинке не видно в таком масштабе, к сожалению), после самого первого тайм-аута после аппаратного сброса процессор выполняет (пытается выполнить) запись (слова - WTBT низкий, но это значит слово по моему опыту) по адресу 154731 (единичка младшая игнор). Операция со стеком?
    - дальше цикл уже повторяется без вариаций - установка бита 3 в 177716 и попытка записи по 177676

    К сожалению, ответа на вопрос куда уходит ВМ1 после HALT пока нет. Думаю что я буду дорабатывать свой эмулятор, добавлю поддержку циклов DAT O и DAT I/O, тогда можно будет поддержать транзакции к 177674/6 и узнать, куда оно таки переходит.

    Цитата Сообщение от Patron Посмотреть сообщение
    .
    Для 1801ВМ2 ( и тем более в составе УКНЦ ) нерешённых задачек ещё больше, чем для 1801ВМ1 !!!
    Посмотрим в каком оно состоянии приедет, покупалось-то по "мусорной" цене. Работоспособность неизвестна, сначала в порядок попытаюсь привести, а у меня уже запасы КМ-ок к концу подходят .
    Вложения Вложения
    Последний раз редактировалось Vslav; 12.04.2013 в 09:28. Причина: Стилистические улучшения текста

  6. #5

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

    По умолчанию

    У процессора 1801ВМ1 есть и другие загадочные особенности.

    1. Штраф невзаимности - имеет место всегда, когда первый аргумент не обращается к памяти, а второй обращается. Из-за этого команда CMP (R0), R0 выполняется гораздо быстрее, чем CMP R0, (R0)

    А как это выглядит на шине..

    Для проверки нужно сравнить две последовательности:

    Код:
    	021000 		;	CMP	(R0), R0
    	000776 		;	BR	.-2.
    
    	020010 		;	CMP	R0, (R0)
    	000776 		;	BR	.-2.
    поместив в R0 адрес BR.

    ...

    2. Штраф второго операнда - из-за него команда TST (R0) выполняется быстрее, чем команда CMP (R0), R0

    Для проверки нужно сравнить две последовательности:

    Код:
    	005710 		;	TST	(R0)
    	000776 		;	BR	.-2.
    
    	021000 		;	CMP	(R0), R0
    	000776 		;	BR	.-2.
    поместив в R0 адрес BR.

  7. #6

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    У процессора 1801ВМ1 есть и другие загадочные особенности.
    1. Штраф невзаимности - имеет место всегда, когда первый аргумент не обращается к памяти, а второй обращается. Из-за этого команда CMP (R0), R0 выполняется гораздо быстрее, чем CMP R0, (R0)
    2. Штраф второго операнда - из-за него команда TST (R0) выполняется быстрее, чем команда CMP (R0), R0
    Так вот оно что!..
    А ещё интересно время выполнения (в тактах) таких команд:

    MOV (R0)+,(R1)+ 44 такта
    MOV (R0),(R1)+ 44 такта
    MOV (R0)+,(R1) 40 тактов
    MOV (R0),(R1) 40 тактов

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

    Цитата Сообщение от svofski Посмотреть сообщение
    Я такое уже делал: http://sensi.org/~svo/bkvideo -- вдруг пригодится.
    Удалось в итоге побороть проблему с уровнем видеосигнала?

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

    Цитата Сообщение от Patron Посмотреть сообщение
    Регистры зависят - их адреса определяются состоянием ножек 26 и 27:
    Код:
    Адреса внешних регистров:
    номер МП		адреса регистров
    		SEL1	SEL2
    00		177716	177714
    01		177736	177734
    10		177756	177754
    11		177776	177774
    Вдруг осознал, что на 4-процессорной БКшке мы могли бы проигрывать 4-канальную трекерную музыку через 4 Covox’а
    manwe.pdp-11.ru

  8. #7

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,308
    Спасибо Благодарностей отдано 
    1,034
    Спасибо Благодарностей получено 
    819
    Поблагодарили
    490 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Удалось в итоге побороть проблему с уровнем видеосигнала?
    Я этим не занимался. Там вопрос только в буферном усилителе. Но повторяемость конструкции все равно невысока из-за того, что она построена на основе довольно туманной ардуины с pic32.
    Больше игр нет

  9. #8

    Регистрация
    03.09.2018
    Адрес
    г. Орёл
    Сообщений
    68
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Вдруг осознал, что на 4-процессорной БКшке мы могли бы проигрывать 4-канальную трекерную музыку через 4 Covox’а
    В свое время я делал проигрыватель обычных MOD и STM файлов на УКНЦ. Использовал оба процессора. Играл на 1 Covox.

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

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

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

Похожие темы

  1. Тесты железа
    от Almaz в разделе Софт
    Ответов: 3
    Последнее: 18.03.2006, 02:33

Ваши права

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