User Tag List

Страница 134 из 227 ПерваяПервая ... 130131132133134135136137138 ... ПоследняяПоследняя
Показано с 1,331 по 1,340 из 2264

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

  1. #1331

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

    По умолчанию

    Елку выкинул, откопал процессор ВМ3, но он, увы, с датой 89/10. Пока посканировал, никаких новых регистров нет, есть некоторые отличия в содержимом регистров, но непонятно, является ли это особенностью маски процессора. Полетаев писал что маску поменяли в середине 89 года, так что может быть это уже новая ревизия.

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

    89/10

    172300/034016
    172302/070512
    172304/055412
    172306/076516
    172310/033512
    172312/070410
    172314/065412
    172316/026514

    172340/005471
    172342/005663
    172344/006261
    172346/005323
    172350/005513
    172352/004755
    172354/005565
    172356/004072
    172512/007367
    172516/177717

    177572/000000
    177574/000000
    177576/001760

    177600/037012
    177602/073114
    177604/063416
    177606/065412
    177610/072516
    177612/037516
    177614/015516
    177616/032516

    177640/001621
    177642/007677
    177644/007773
    177646/007775
    177650/003263
    177652/003375
    177654/007267
    177656/005777

    177714/160007
    177716/000000
    177776/000004
    92/01

    172300/077516
    172302/077516
    172304/077516
    172306/077516
    172310/077516
    172312/077516
    172314/077516
    172316/037516

    172340/007777
    172342/007777
    172344/007777
    172346/007777
    172350/007777
    172352/007777
    172354/007777
    172356/007677
    172512/007777
    172516/177717

    177572/000000
    177574/000000
    177576/001760

    177600/077516
    177602/077516
    177604/077516
    177606/077516
    177610/077516
    177612/077516
    177614/077516
    177616/077516

    177640/007777
    177642/007777
    177644/007777
    177646/007777
    177650/007777
    177652/007777
    177654/007777
    177656/007777

    177714/160007
    177716/000000
    177776/000004
    [свернуть]


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

    Выполнил такой фрагмент:
    Код:
        
        309	001330	012701 	000002 		entry:		mov	#2, R1			;
        310	001334	012702 	177776 				mov	#177776, R2		; Адрес PSW
        311	001340	012712 	140340 				mov	#140340, (R2)		; Установить USER-моду
        312	001344	010611 					mov	SP, (R1)		; Какой стек ?
        313	001346	012706 	004444 				mov     #4444, SP		; Стек USER-моды
        314	001352	012712 	000340 				mov     #340, (R2)		; Установить KERNEL-моду
        315	001356	010611 					mov	SP, (R1)		; Какой стек ?
        316	001360	012706 	002222 				mov     #2222, SP		; Стек KERNEL-моды
        317	001364	012711 	001372 				mov	#ehalt, (R1)		;
        318	001370	000000 					halt				; Установить HALT-моду
        319											;
        320	001372	005712 			ehalt:		tst	(R2)			; Прочитать PSW
        321	001374	010611 					mov	SP, (R1)		; Какой стек ?
        322	001376	012712 	140340 				mov     #140340, (R2)		; Выбрать стек USER
        323	001402	010611 					mov	SP, (R1)		; Какой стек ?
        324	001404	012712 	000340 				mov     #340, (R2)		; Выбрать стек KERNEL
        325	001410	010611 					mov	SP, (R1)		; Какой стек ?
        326
        327	001412	012737 	177600 	172512 			mov	#177600, @#172512	; PARH2 -> IO Page
        328	001420	005737 	100000 				tst	@#100000		; Чтение 17760000 вызовет зависание
        329	001424	000240 					nop				;
        330	001426	000777 					br	.			;
    Получилось такое: []
    Почему-то в HALT режиме SP равен установленному значению 22228, хотя PSW и PC при переходе в HALT сохранились в стеке 200008
    Транзакции по 177776 на внешней шине процессора не отображаются, хотя адрес 177776 мелькает.

  2. #1332

    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,246
    Спасибо Благодарностей отдано 
    498
    Спасибо Благодарностей получено 
    557
    Поблагодарили
    436 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Елку выкинул, откопал процессор ВМ3, но он, увы, с датой 89/10. Пока посканировал, никаких новых регистров нет, есть некоторые отличия в содержимом регистров, но непонятно, является ли это особенностью маски процессора. Полетаев писал что маску поменяли в середине 89 года, так что может быть это уже новая ревизия.

    "Ёлка" была от БКшки ?
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU

  3. #1333

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

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    "Ёлка" была от БКшки ?
    Нет, от Деда Мороза Скво и мучачос без ёлки Новый Год считают неполноценным, искуственная их тоже не устраивает (ну звери, да), приходится папе c деревом мордоваться. За деревом находился шкафчик, в котором все ретро было сложено - не подобраться. Адреса 177714 и 177716 я просто из листинга забыл выкинуть, они у меня в ПЛИС реализованы, используются для отладки, к ВМ3 и БК отношения не имеют.

  4. #1334

    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,246
    Спасибо Благодарностей отдано 
    498
    Спасибо Благодарностей получено 
    557
    Поблагодарили
    436 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    ... Полетаев писал что маску поменяли в середине 89 года, так что может быть это уже новая ревизия.
    Зная специфику НЦ, могу предположить, что цеховые могли использовать старые шаблоны, пока у них не кончится "моторесурс" ( по русски - пока не загадят ). Таким образом, как я писал сильно выше, реально новодел мог пойти от ~ 1 года после помпезной замены логического брака.
    А для камней производства после 12.1991. вааще ничего неопределено - ни тип шаблонов, ни буква, ни к-во грязи на корпусе БИС... Это происходило от того, что датой 12.1991. маркировали примерно до осени 1992 ( иначе Заказчик не хотел покупать, зная цеховые повадки ), а датой 01.1992 могли маркировать, пока линию не пустили на металл - года так до 1994-1995.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU

  5. #1335

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Получилось такое
    Похоже, что на картинке не первый прогон теста после включения питания, потому что исходные значения SP таинственным образом оказались равны тем значениям, которые были записаны в них далее по тесту. Надо как-то узнать, какие значения имеют регистры SP у обоих процессоров сразу после включения питания.


    Цитата Сообщение от Vslav Посмотреть сообщение
    Почему-то в HALT режиме SP равен установленному значению 22228, хотя PSW и PC при переходе в HALT сохранились в стеке 200008
    Я ожидал этого, потому что судя по всему - если в раннем ВМ3 режим пульта был организован через специальный режим включённого MMU ( поэтому там мапятся все адреса и есть свой указатель стека ), то в позднем ВМ3 режим пульта организован через специальный режим выключенного MMU ( поэтому там мапятся только некоторые адреса, нет собственного указателя стека, а PSW и PC сохраняются при входе по фиксированным адресам ).

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

    Картинка обрывается на адресе 01410 - отработку зависания в режиме HALT не видно. Ожидается, что при отработке зависания в режиме HALT процессор ВМ3 ничего никуда не пишет, загружая новые значения PC и PSW из вектора 04 - это так ?

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

    Показ содержимого PSW на шине ( как выяснилось ) надо производить командой: Mov (R2), (R1)

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

    Но с другой стороны, при входе в прошивку 377 - первым делом для сохранения регистров делается вызов CALL. При произвольном значении SP такое невозможно ( да и сохранить исходное значение SP после вызова CALL можно только в том случае, когда вызов CALL не использует SP ). Может статься, что в режиме HALT, использующие стек команды - используют особый скрытый регистр, недоступный для чтения и записи через обращение к SP.

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

    Код:
    	.ASect
    	. = 0
    	Jmp	@#Next			// Точка входа пульта.
    
    	. = 24
    	.Word	Start			// Адрес старта.
    	.Word	340
    Start:
    	Mov	#2, R1		
    	Mov	#177776, R2		// Адрес PSW
    
    	Mov     #140340, (R2)		// Установить USER-моду
    	Mov	SP, (R1)		// Какой стек ?
    	Mov     #4444, SP		// Стек USER-моды
    	Mov     #340, (R2)		// Установить KERNEL-моду
    	Mov	SP, (R1)		// Какой стек ?
    	Mov     #2222, SP		// Стек KERNEL-моды
    	Mov	#Next, (R1)
    	HALT				// Установить HALT-моду
    
    Next:
    	Mov	(R2), (R1)		// Прочитать PSW
    	Call	Next2			// Где сохранит PC ?
    Next2:
    	Mov	SP, (R1)		// Какой стек ?
    	Mov	(SP), (R1)		// Откуда прочитает ?
    	Mov     #140340, (R2)		// Выбрать стек USER
    	Mov	SP, (R1)		// Какой стек ?
    	Mov     #340, (R2)		// Выбрать стек KERNEL
    	Mov	SP, (R1)		// Какой стек ?
    
    	Mov	#Next3, (R1)
    	Mov	#177600, @#172512	// PARH2 -> IO Page
    	Tst	@#100000		// Чтение 17760000 вызовет зависание
    	Nop
    Next3:
    	Br	.-2.
    - - - Добавлено - - -

    Любопытно - прошивка 134 написана так, что если запись в SP изменяет указатель стека HALT-моды, то прошивка входит в бесконечный цикл, а это означает, что во всех версиях 1801ВМ3 указатель стека HALT-моды не доступен через обращение к SP.
    Последний раз редактировалось Patron; 26.01.2016 в 14:52.

  6. #1336

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

    По умолчанию

    Приняты специальные меры:
    - на процессор подается низкий DCLO
    - включается питание
    - загружается ПЛИС
    - появляется тактовая частота
    - устанавливается низкий ACLO
    - запускается анализатор
    - снимается DCLO, потом ACLO

    Результат: []
    Как видно - записываются нулевые значения обоих стеков. Маловероятно что это специальные осмысленные значения, просто так триггеры установились по включению. Если бы был реализован сброс по DCLO, то мы наблюдали бы их и в предыдущем тесте. В-общем, при включении питания в указателях стека мусор, микрокод их не инциализирует, значения этих регистов переживают сброс, все как в ВМ1.

    Выполнение всего теста в анализатор не влазит - не хватает памяти в ПЛИС, я попытался поднять тактовую частоту процессора, и тут выявился сюрприз - после команды HALT еще один цикл шины выполняется предвыборки следующей команды - по адресу 1370 HALT, читался адрес 1372, потом только начинали выполняться операции по адресам 17776/17774. А при повышенной частоте (я пробовал 6.25/7.2) предвыборка почему-то выполняется уже по адресу 150472: []

    Там возникает зависание, в итге весь тест опять не влез. Интересно поведение HLTM - он активируется именно в момент исполнения HALT, и предвыборка уже выполняется с этим активным сигналом. Число Пи процессор считает правильно на 6.25/7.2МГц, точек на корпусе нет, не греется, вероятно это ВМ3А, уж на 6МГц должен работает, сбой маловероятен, поэтому факт предвыборки по транслированному адресу странный.

    Чтобы посмотреть обработку зависания в пульте, я тест чуток укоротил и синхронизировал анализатор по срезу HLTM: []
    Видно что висит долго, не выходит из зависания не менее 200 тактов, результата опять нет, увы.

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

  8. #1337

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Как видно - записываются нулевые значения обоих стеков. Маловероятно что это специальные осмысленные значения, просто так триггеры установились по включению.
    А уменя, наборот - есть подозрение, что R0..R6 у ВМ3 при включении питания обнуляются. Узнать ответ легко - последовательность MOV Rx,(PC)+ нас рассудит.


    Цитата Сообщение от Vslav Посмотреть сообщение
    Выполнение всего теста в анализатор не влазит
    Не проблема - сделаем два теста:


    1. Тест стеков :

    Код:
    	.ASect
    	. = 0
    	Jmp	@#Next			// Точка входа пульта.
    
    	. = 24
    	.Word	Start			// Адрес старта.
    	.Word	340
    Start:
    	Mov	#2, R1		
    	Mov	#177776, R2		// Адрес PSW
    
    	Mov     #140340, (R2)		// Установить USER-моду
    	Mov     #4444, SP		// Стек USER-моды
    	Mov     #340, (R2)		// Установить KERNEL-моду
    	Mov     #2222, SP		// Стек KERNEL-моды
    	HALT				// Установить HALT-моду
    
    Next:
    	Mov	(R2), (R1)		// Прочитать PSW
    	Call	Next2			// Где сохранит PC ?
    Next2:
    	Mov	SP, (R1)		// Какой стек ?
    	Tst	(SP)			// Откуда прочитает ?
    	Mov     #140340, (R2)		// Выбрать стек USER
    	Mov	SP, (R1)		// Какой стек ?
    	Mov     #340, (R2)		// Выбрать стек KERNEL
    	Mov	SP, (R1)		// Какой стек ?
    	Br	.-2.

    2. Тест зависания :

    Код:
    	.ASect
    	. = 0
    	Jmp	@#Next			// Точка входа пульта.
    
    	. = 24
    	.Word	Start			// Адрес старта.
    	.Word	340
    Start:
    	HALT				// Установить HALT-моду
    
    Next:
    	Mov	#177600, @#172512	// PARH2 -> IO Page
    	Tst	@#100000		// Чтение 17760000 вызовет зависание
    	Nop
    	Br	.-2.
    Последний раз редактировалось Patron; 26.01.2016 в 17:26.

  9. #1338

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

    По умолчанию

    Похоже никакого стека в режиме пульта нет:
    - mov R0, -(SP) в обработчике HALT использует значение SP режима ядра
    - повторный HALT вызывает сохранение PSW/PC по тем же адресам 17776/17774
    То есть - вместо стека имеется просто пара ячеек памяти для сохранения значений.

  10. #1339

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

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Похоже никакого стека в режиме пульта нет
    Если команды CALL и RETURN в режиме HALT используют SP - прошивка 134 зависает.

  11. #1340

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Если команды CALL и RETURN в режиме HALT используют SP - прошивка 134 зависает.
    Есть у меня такое предположение, что специальный регистр указателя стека SP для режима HALT используется только для команд CALL, RETURN и RTI. А для обычной адресации используется SP текущей моды. Ибо нигде в 134-й прошивке при работе в режиме HALT не используются адресации (SP)+ и -(SP).

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

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

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

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

Ваши права

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