User Tag List

Страница 51 из 63 ПерваяПервая ... 474849505152535455 ... ПоследняяПоследняя
Показано с 501 по 510 из 627

Тема: Расчёт точного времени выполнения команд различными процессорами архитектуры PDP-11.

  1. #501

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    точного совпадения не сделать
    Если частота прерываний по вектору 230 будет 2048 Гц и на каждое 41-е прерывание будет эмулироваться прерывание по вектору 100, то такое эмулируемое прерывание будет иметь частоту 49.95 Гц.

  2. #502

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Если частота прерываний по вектору 230 будет 2048 Гц и на каждое 41-е прерывание будет эмулироваться прерывание по вектору 100, то такое эмулируемое прерывание будет иметь частоту 49.95 Гц.
    Ну как вариант...
    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

  3. #503

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

    По умолчанию

    Новая версия RT11SP ( Pro350_HX_SP2.DSK - обнаруженные ниже ошибки здесь уже исправлены ) якобы должна запускать таймер Pro350 на частоте 2048 Гц и эмулировать прерывания по вектору 100 следующим образом:

    Код:
    ProINT::
    	TST	@#173030		;Prime clock to interrupt
    	Dec	(PC)+
    Pro.DV:	.Word	41.
    	BLE	Sim.V100
    	RtI
    Sim.V100:
    	Mov	#41., Pro.DV
    	Mov	@#102, -(SP)
    	Mov	@#100, -(SP)
    	RtI
    Поскольку разрешения прерываний у таймера Pro350 сбрасываются по RESET - в код обработки HARD EXIT добавлена инициализация периодических прерываний:

    Код:
    	RESET
    
    	TST	ProCLK
    	BEQ	3$
    
    	TST	      @#173030		;Prime clock to interrupt
    	BIS	#100, @#173026		;Set PERIODIC INTERRUPT ENABLE
    3$:
    Так как загрузчик RT11SJ переходит в монитор по HARD EXIT - код в загрузчике устанавливает только значения, не сбрасывающиеся по RESET:

    Код:
    	CALL	@#T4SEC		;Set carry if we trap
    
    	MOV	#173024,  R1	;R1 -> Pro350 Clock CSR0
    	MOV	#2*20!5, (R1)	;Set divider control and 2048Hz
    	MOV	#37, @#173202	;Enable clock
    
    	MOV	@#54, R2		;<< T11NOP >>;
    
    	BCS	No.CSR		;If C-bit set, CSR not there
    
    	MOV	#230,  R1
    	CALL	@#PROTEC		    ;Protect vector 230
    	ADD	#<ProINT-$RMON>, R2
    	MOV	R2,   (R1)+	    ;Set vector 230 to ProINT
    	MOV	#340, (R1)
    	BR	Ok.CSR
    No.CSR:
    	CLR	<ProCLK-$RMON>(R2)   ;Clear ProINT flag
    Ok.CSR:
    	CALL	@(SP)+		;Restore traps
    Последний раз редактировалось Patron; 20.07.2014 в 22:50.

  4. #504

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Код:
    	Mov	@#102, -(SP)
    	Mov	@#100, -(SP)
    	RtI
    В данном конкретном случае (SJ монитор) не мешает, но вообще код не совсем корректен - значение PSW может быть установлено не в то которое было бы если бы возникло реальное прерывание по 100 (и это может повлиять на результат [хотя для асинхронного прерывания врядли]). Лучше делать универсальный метод:
    Код:
            MOV     @#100,-(SP)
            MTPS    @#102
            JMP     @(SP)+
    Цитата Сообщение от Patron Посмотреть сообщение
    Поскольку разрешения прерываний у таймера Pro350 сбрасываются по RESET
    строго говоря, оно у большинства PDP-11 сбрасывается по RESET
    Последний раз редактировалось form; 20.07.2014 в 13:48.
    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. #505

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Код:
            MOV     @#100,-(SP)
            MTPS    @#102
            JMP     @(SP)+
    А почему не так :
    Код:
    	MTPS	@#102
    	JMP	@#100

  6. #506

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    А почему не так :
    Код:
    	MTPS	@#102
    	JMP	@#100
    Потому что это переход на адрес 100, а не по @100
    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

  7. #507

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Потому что это переход на адрес 100, а не по @100
    Тогда так:

    Код:
    	MTPS	@#102
    	JMP	@100(PC)
    А смещение настраивать в загрузчике.

  8. #508

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Тогда так:

    Код:
    	MTPS	@#102
    	JMP	@100(PC)
    А смещение настраивать в загрузчике.
    Смысла особого нет - выигрыш в скорости несущественнен, выигрыш в размере нулевой.
    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. #509

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    выигрыш в размере нулевой.
    Разве так одно слово не экономится?

  10. #510

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Разве так одно слово не экономится?
    Нет. И там и там 4 слова получается.
    Вот @(SP) без "+" было бы длиннее на слово.

    ---------- Post added at 17:28 ---------- Previous post was at 17:27 ----------

    А не, соврал, да, на слово отличается
    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

Страница 51 из 63 ПерваяПервая ... 474849505152535455 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 234
    Последнее: 26.02.2021, 11:05
  2. Время выполнения команд CPI/CPD/CPIR/CPDR
    от ARTi в разделе Программирование
    Ответов: 27
    Последнее: 18.12.2007, 16:32

Ваши права

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