User Tag List

Страница 24 из 157 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 1564

Тема: Программирование на УКНЦ как?

  1. #231

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Приоритет процессора - его параметр. Это не только возможно, но и необходимо.

    Нужно делать MTPS #200 перед началом теста. Иначе все, что генерит прерывания будет прерывать твой тест.

    Если же используется таймер (прерывания) для отсчета, тогда надо позаботиться, чтобы все остальное не мешалось - на всякий случай
    У меня измерения происходят между двумя прерываниями сетвеого таймера. А остальные прерывания в это время хоть и разрешены, но фактически они не вызываются. Хотя, для чистоты эксперимента, надо бы отключать. Хотя, опять же повторюсь, видно, что они не влияют.

  2. #232

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    У меня измерения происходят между двумя прерываниями сетвеого таймера. А остальные прерывания в это время хоть и разрешены, но фактически они не вызываются. Хотя, для чистоты эксперимента, надо бы отключать. Хотя, опять же повторюсь, видно, что они не влияют.
    Между двумя срабатываниями ненадежно.
    Лучше бы за больший интервал.
    И сам тест - он-то запускается из прерывания от таймера? - иначе стартовая точка неопределена.
    Ну и хандлер прерывания таймера - он надеюсь свой и в момент учета единственный?
    Последний раз редактировалось form; 29.11.2011 в 18:15.
    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. #233

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Между двумя срабатываниями ненадежно.
    Лучше бы за больший интервал.
    И сам тест - он-то запускается из прерывания от таймера? - иначе стартовая точка неопределена.
    Чем же не надежно? Все надежно. С точностью до команды. Конечно от таймера)

  4. #234

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Чем же не надежно? Все надежно. С точностью до команды. Конечно от таймера)
    А те кто проги тестовые пишут дураки зачем-то заполняют большой кусок памяти командой и натравливают счет на него

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

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

    По умолчанию

    А на счет прерываний, могущих помещать измерениям. Каналы 0..2 не помешают, т.к. в это время ЦП сидит в ожидании окончания теста, и ничего не далает. Единственное, может помешать нажатие клавиши на клавиатуре и программируемый таймер.

    ---------- Post added at 17:20 ---------- Previous post was at 17:19 ----------

    Цитата Сообщение от form Посмотреть сообщение
    А те кто проги тестовые пишут дураки зачем-то заполняют большой кусок памяти командой и натравливают счет на него

    Нет, конечно можно попробовать опереться и на одно прерывания таймера, но ответа на вопрос как организовано я не получил. Как минимум хандлер таймера должен быть свой и единственный и сам тест запускать должен именно он.
    То, что пишут другие - это их личное дело)
    Конечно тест запускает собственный обработчик прерывания от таймера. А после теста восстанавливает его.

  6. #236

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А на счет прерываний, могущих помещать измерениям. Каналы 0..2 не помешают, т.к. в это время ЦП сидит в ожидании окончания теста, и ничего не далает. Единственное, может помешать нажатие клавиши на клавиатуре и программируемый таймер.

    ---------- Post added at 17:20 ---------- Previous post was at 17:19 ----------


    То, что пишут другие - это их личное дело)
    Конечно тест запускает собственный обработчик прерывания от таймера. А после теста восстанавливает его.
    А сам тест (где команды побежали которые считаются) запускается хандлером таймера (например по команде RTI)?
    Или как вариант - WAIT и после сразу тест, а хандлер отлавливает конец.
    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. #237

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А сам тест (где команды побежали которые считаются) запускается хандлером таймера (например по команде RTI)?
    Или как вариант - WAIT и после сразу тест, а хандлер отлавливает конец.
    Чтобы не было вопросов, вот как он запускается, и выходится. Все числа в десятичной арифметике, если не указано иное.

    Код:
    		MTPS	#0			;Разрешить прерывания
    	
    3$:		BR	3$			;Остановка программы и ожидание прерываний	
    	
    ;=============================================== Первая итерация прерывания от сетевого таймера
    						;Необходима для избежания случая, когда запрос на прерывания 
    						;от таймера уже установлен, а прерывания запрещены, в связи с чем
    						;прерывание наступает с запозданием.
    TMInit:	
    		MOV	R0,-(SP)		;
    		MOV	PC,R0			;
    		ADD	#TMHandler-.,R0		;
    		MOV	R0,@#^O100		;Адрес вектора = TMHandler
    		MOV	(SP)+,R0		;
    		RTI				;
    
    ;=============================================== Главный цикл тестирования команд
    TMHandler:
    		MOV	#TMExit,@#^O100		;Адрес вектора = TMHandler
    
    OpBufLoop:
    		.WORD	0			;Комада подготовки данных для каждого цикла		
    OpBuf:
    		.BLKW	2048			;Буфер для тестируемых команд
    OpBufEnd:
    		INC	R4			;Увеличиваем счетчик циклов
    		JMP	(R5)			;Бесконечный цикл --> OpBufLoop
    
    
    ;=============================================== Буфер данных
    
    DBuf:
    		.BLKW	2048			;Буфер для данных и стека тестируемых команд
    DBufEnd:
    	
    ;===============================================
    TMExit:						;Обработчик прерывания для выхода из цикла измерений
    		MOV	(SP)+,R5		;R5 - адрес прерывания цикла
    		MOV	PC,R2			;
    		ADD	#CPUTCnt-.,R2		;
    		MOV	R2,-(SP)		;Взамен на стек положить адрес продолжения программы CPUTCnt
    
    		MOV	TMPSW,@#^O102		;Восстановить PSW вектора
    		MOV	TMPC,@#^O100		;Восстановить адрес обработки прерывания
    
    		RTI				;Выход из прерывания 
    		
    ;-----------------------------------------------
    CPUTCnt:	
    		ADD	#4,SP			;Восстановить стек после одного вложенного прерывания
    Последний раз редактировалось Titus; 29.11.2011 в 18:29.

  8. #238

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Чтобы не было вопросов, вот как он запускается, и выходится.
    А-а, ну все-таки значит куча команд в буфере
    Попробуй вместо BR . дождаться прерывания командой WAIT - ради интереса
    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. #239

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А-а, ну все-таки значит куча команд в буфере
    Попробуй вместо BR . дождаться прерывания командой WAIT - ради интереса
    Не хочу) У меня уже все отлажено, и меряет с точностью до сотых долей такта)

  10. #240

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Не хочу) У меня уже все отлажено, и меяет с точностью до сотых долей такта)
    Лучше сделай тест нормальный вместо кривого SPEED.SAV. В том числе можно универсально - чтобы и грузить в ПП
    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

Страница 24 из 157 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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