User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 627

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

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

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

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Начнем. Выбрал только экраны для новых тестов.
    Эта ваша машина с плавающими таймингами для ПП не очень хороший вариант для тестов. На большинстве машин все тайминги ПП стоят как прибитые в диапазоне кратном 4 тактам.

    Кстати, и никаких сенсаций.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Эта ваша машина с плавающими таймингами для ПП не очень хороший вариант для тестов. На большинстве машин все тайминги ПП стоят как прибитые в диапазоне кратном 4 тактам.

    Кстати, и никаких сенсаций.
    Посмотрите повнимательней результаты новых тестов относительно тестов Patron-а. Кое-где расхождение в два раза.

    ---------- Post added at 23:45 ---------- Previous post was at 23:43 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Возникает интересный вопрос - а читает ли повторно 1801ВМ2 следующую ячейку памяти, если записать её с адресацией относительно PC ..

    Очень любопытно выглядит совпадение скорости выполнения команд, и исполняющих, и пропускающих следующее записанное слово.
    Если пишется слово по адресу предвыборки, то процессор заново перечитывает его после исполнения текущей команды. У Titus-а в тестах в таких случаях получалось различие в 52 такта.

  4. #3

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Кое-где расхождение в два раза.
    При тесте команд
    Код:
    Mov     (PC),(PC)+
    MovB    (PC),(PC)+
    похоже не было учтено, что следующее слово пропускается - поэтому, если не разделить количество "пройденных" слов на 2 - скорость получается в два раза выше.

    Что же до команд
    Код:
    Mov     (PC),R0
    MovB    (PC),R0
    весьма похоже, что в отличие от всех остальных команд - скорость у них и в словном, и байтовом вариантах одинаковая.

    Однако относительно их скорости трудно дать однозначное заключение - ведь в результате глюков часть из них могут выполняться с инкрементной адресацией.

  5. #4

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Что же до команд
    Код:
    Mov     (PC),R0
    MovB    (PC),R0
    весьма похоже, что в отличие от всех остальных команд - скорость у них и в словном, и байтовом вариантах одинаковая.

    Однако относительно их скорости трудно дать однозначное заключение - ведь в результате глюков часть из них могут выполняться с инкрементной адресацией.
    Что до этих команд, то при исполнении есть глюки, если следующая команда после них не нарушает предвыборку. Patron, измените тесты, вместо трех NOP-ов вставьте три команды BR .+2 (код 0400), хотя достаточно одной, и все изменится.
    Я тут проводил тесты в пультовом отладчике, заполнял память с 01000 по 157764 командой MOV @PC,R0, оставшиеся ячейки - три NOP и JMP @#1000. В этом варианте получал TRAP4. Вместо NOP-ов пробовал другие команды, если вместо трех NOP ставил MOV @PC,R0, то все нормально, если команды, которые не нарушают предвыборку, например MOV R0,R0, то получал TRAP4.
    Вот такие вот дела. Что-то не учли разработчики в реализации предвыборки, потому такой глюк и происходит.

  6. #5

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    вместо трех NOP-ов вставьте три команды BR .+2 (код 0400), хотя достаточно одной, и все изменится.
    В приложении - изменённый вариант теста MovPC v1.1.
    Код:
    Foot0:
    	Br	.+2.
    
    	Dec	R5
    	BEQ	1$
    
    	Jmp	@#LoopStart
    1$:
    	Mov	#R.T.I, @#100
    	Return
    Foot1:
    Протестировать в цикле команду MovB (PC)+,(PC) без трёх NOPов невозможно, но зато без теста этой команды количество заглушек удалось сократить до одной.

    Мой прогноз - вылетать будет немного меньше, но глючить не перестанет.

    ...
    Вложения Вложения

  7. #6

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В приложении - изменённый вариант теста MovPC v1.1.
    Протестировать в цикле команду MovB (PC)+,(PC) без трёх NOPов невозможно, но зато без теста этой команды количество заглушек удалось сократить до одной.

    Мой прогноз - вылетать будет немного меньше, но глючить не перестанет.

    ...

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

    [свернуть]
    Последний раз редактировалось Alex_K; 16.02.2019 в 23:34.

  8. #7

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Посмотрите повнимательней результаты новых тестов относительно тестов Patron-а. Кое-где расхождение в два раза.
    Если с тем, что был зависающим - то с ним я не сравниваю, он вообще глючный.

    ---------- Post added at 00:04 ---------- Previous post was at 00:02 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Что же до команд
    Код:
    Mov     (PC),R0
    MovB    (PC),R0
    весьма похоже, что в отличие от всех остальных команд - скорость у них и в словном, и байтовом вариантах одинаковая.

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

  9. #8

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Никаких глюков нет, все стабильно, как часы.
    Стабильность и отсутствие глюков - не одно и то же.

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

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

    ---------- Post added at 23:21 ---------- Previous post was at 23:15 ----------

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Что-то не учли разработчики в реализации предвыборки, потому такой глюк и происходит.
    Если бы вылет происходил каждый раз - это одно дело. Но когда вылетает только один раз из нескольких ( а зачастую - из нескольких тысяч, т.к. если при вылете теста MOVPC.SAV в R5 находится 0 - значит было выполнено больше тысячи "проходов через NOP" ) - тогда это больше похоже на резкий скачок потребления тока, приводящий к сбою.

  10. #9

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Если бы вылет происходил каждый раз - это одно дело. Но когда вылетает только один раз из нескольких ( а зачастую - из нескольких тысяч, т.к. если при вылете теста MOVPC.SAV в R5 находится 0 - значит было выполнено больше тысячи "проходов через NOP" ) - тогда это больше похоже на резкий скачок потребления тока, приводящий к сбою.
    Да, здесь Вас не убедить, что если бы проблемы были в источнике, то УКНЦ все время глючила бы, но глюк происходит только при определенных обстоятельствах. Да и о каком резком скачке потребления может идти речь, вроде ничего энергосберегающего в УКНЦ нет, да и жрет он мало.

    Собственно тесты на других УКНЦ и с другими источниками питания могут дать ответ, но вот только никто кроме меня их запускать не хочет.

  11. #10

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Да, здесь Вас не убедить, что если бы проблемы были в источнике, то УКНЦ все время глючила бы, но глюк происходит только при определенных обстоятельствах. Да и о каком резком скачке потребления может идти речь, вроде ничего энергосберегающего в УКНЦ нет, да и жрет он мало.
    Вылет по Trap_To_4 ещё можно кое-как объяснить сбоем предвыборки. Но выполнение MOV как MOVB, уменьшение 1600. в R5 до нуля за пару сотен декрементов - это ничем кроме просадки питания объяснить нельзя.

    Собственно тесты на других УКНЦ и с другими источниками питания могут дать ответ, но вот только никто кроме меня их запускать не хочет.
    hobot хочет ( он сам говорил ).
    Видно - он просто ещё не понял, насколько СИЛЬНО этого хочет :)

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

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

Ваши права

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