Важная информация

User Tag List

Страница 29 из 63 ПерваяПервая ... 252627282930313233 ... ПоследняяПоследняя
Показано с 281 по 290 из 625

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

  1. #281
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    как быть, если захочешь протестировать команды с автоинкрементным способом адресации, которые записывают значения в какой-нибудь буфер?
    Перед началом теста значение ячейки 0 сохраняется и обнуляется.
    Можно помещать в R0 первое слово после буфера команд, а промежуток между концом буфера и верхом доступной памяти обнулять.

  2. #282
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,573
    Спасибо Благодарностей отдано 
    1,230
    Спасибо Благодарностей получено 
    1,793
    Поблагодарили
    690 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Здесь я абсолютно согласен, не только 27( (PC)+ ), но и 37( @(PC)+ ), 6х и 7х. В этом случае нужный аргумент уже извлекался в результате предвыборки и микрокод это учитывал, чтобы два раза не читать. Но после этих адресаций счетчик команд увеличивался на два, а в случае с @PC оставался тем же. Глюк может быть связан еще с тем, что есть два счетчика команд СК1 и СК2. СК2 вроде всегда больше СК1 на два, но в этом глюке между ними получается рассинхронизация.
    Вообще, все это странно. Логичней предположить, что СК2 обгонит на 2 свое правильное значение, нежели отстанет на 2. А получается, что на 2 отстает.

  3. #283
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Так же задавать предварительные значения в регистрах.
    Восьмеричные или десятичные ?

  4. #284
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    ---------- Post added at 00:32 ---------- Previous post was at 00:31 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Восьмеричные или десятичные ?
    Без точки в конце - восьмеричные, с точкой - десятичные. Как в MACRO-11.

  5. #285
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,573
    Спасибо Благодарностей отдано 
    1,230
    Спасибо Благодарностей получено 
    1,793
    Поблагодарили
    690 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Посмотрел схему счетчиков. В нормальном режиме СК1 опережает СК2 на два. Так что получается, или СК1 уже опережает на четыре, или СК2 начинает отставать на два. А то как объяснить двойное выполнение команды.
    Какой вы считаете СК1, а какой СК2?
    Я считаю СК1 - это PC. Или это помимо PC счетчики? Т.е. всего 3?

  6. #286
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Какой вы считаете СК1, а какой СК2?
    Я считаю СК1 - это PC. Или это помимо PC счетчики? Т.е. всего 3?
    Ну по описанию в ТО это так, т.к. в копию счетчика команд копируется именно СК1, а СК2 вроде используется для предвыборки.
    Тогда все-таки СК2 опережает СК1, а после этого глюка получается, что СК1 начинает опережать СК2.

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

  8. #287
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,573
    Спасибо Благодарностей отдано 
    1,230
    Спасибо Благодарностей получено 
    1,793
    Поблагодарили
    690 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Тогда все-таки СК2 опережает СК1, а после этого глюка получается, что СК1 начинает опережать СК2.
    Тогда уж не опережает, а сравнивается.

  9. #288
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Тогда уж не опережает, а сравнивается.
    Больно мудрено. Команды задним числом исполняются, а адресация по PC уже бежит впереди паровоза.
    По блок-схемам из СК1 есть вычитание 2, а прибавление 2 только к СК2.

    Ну ладно, ночь на дворе, с утра лучше думаться будет.

    ---------- Post added at 00:56 ---------- Previous post was at 00:53 ----------

    Так что внимательно читайте ТО на 1801ВМ2 и вникайте. Может чего и обнаружится, но наверное вряд ли. А то есть еще косяк с командой с кодом 030, которая должна исполняться как команда с кодом 020, но делает совершенно невообразимые действия. Тоже разработчики просчитались.

  10. #289
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Новый тест MovPCy_v1.1 должен помочь лучше протестировать "стрёмные" команды.

    При запуске теста можно задать следующие параметры:

    Код:
    .RU MOVPCY
    MovPCy - v1.1
    Mem Top: 137564
    Max Row:  11000
    CPU KHz:   5300 >
    MTPS   : 000000 >
    Command: 011700 >
    Row Len:   1000 >
    Grow   :      0 >
    R1     : 000000 >
    R2     : 000000 >
    R3     : 000000 >
    Addons :      3 >
    W1     : 000240 >
    W2     : 000240 >
    W3     : 000240 >
    Loops  :    106 >
     
    Command: 011700         Loops:   106   ;  Ticks:    5
     
    R0: 000240  ;  R1: 000000  ;  R2: 000000  ;  R3: 000000
    R0:    160  ;  R1:      0  ;  R2:      0  ;  R3:      0
     
    Program completed.
     
    .
    Код:
    Mem Top  - Верхний адрес свободной памяти.
    Max Row  - Максимальное возможное значение Row Len
    CPU KHz  - Тактовая частота тестируемого процессора в килогерцах (десятичное).
    MTPS     - Значение PSW во время тестирования (восьмеричное).
    Command  - Тестируемая команда (восьмеричное).
    Row Len  - Число экземпляров (1..Max Row) тестируемой команды в тестовом буфере.
    Grow     - Шаг увеличения Row Len в рекурсивном тесте ( 0..100 ).
    R1 R2 R3 - Начальное значение регистра ( 8/10 ).
    Addons   - Число дополнительных слов ( 0..64 ) в конце теста.
    W1..Wnn  - Дополнительное слово ( 8/10 ).
    Loops    - Число циклов теста при Grow == 0.
    Тестовая последовательность завершается следующим кодом:
    Код:
    Foot0:
    	Dec	R5
    	BEq	1$
    
    	Jmp	@#LoopStart
    	.Word	Bad.Jmp
    1$:
    	Mov	#R.T.I, @#100
    	Inc	R4
    	MTPS	#0
    	Return
    Foot1:
    ...

    Параметр Grow включает режим рекурсивного теста, при котором после завершения двух циклов тестирования значение Row Len увеличивается на величину Grow и всё повторяется до тех пор, пока величина Row Len не достигнет Max Row.

    Преждевременное завершение рекурсивного теста происходит только при возникновении Trap_To_4 или Trap_To_24.

    ...

    Разрешается изменять значения регистров R0, R1, R2, R3.

    Перед запуском теста в регистр R0 помещается младший адрес обнулённого буфера данных после тестового буфера.

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

    Для завершения программы и выхода в монитор после выхода в пульт - нужно или продолжить выполнение программы, или перезапустить её с адреса 01000 .

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

  11. #290
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию собрание тестов с исходника на 4 марта 2013.

    Код:
    Image  :   testy04032013.dsk
    
    Format :   DSK 
    Size   :   800 Kb
    
    Volume ID: RT11A
    Owner    : 
    
    File       Blocks    Date       Bytes
    ---------- ------ ----------- ----------
    BIS   .MAC    20  22-Feb-2013     10'240
    BIS   .SAV     5  22-Feb-2013      2'560
    BISB  .MAC    20  22-Feb-2013     10'240
    BISB  .SAV     5  22-Feb-2013      2'560
    CMPB  .MAC    20  22-Feb-2013     10'240
    CMPB  .SAV     5  22-Feb-2013      2'560
    IRQ   .MAC    29  20-Feb-2013     14'848
    IRQ   .SAV     7  20-Feb-2013      3'584
    MAP   .MAC     6  18-Feb-2013      3'072
    MAP   .SAV     3  18-Feb-2013      1'536
    MOV   .MAC    20  21-Feb-2013     10'240
    MOV   .SAV     5  21-Feb-2013      2'560
    MOVPC .MAC    18  24-Feb-2013      9'216
    MOVPC .SAV     5  24-Feb-2013      2'560
    TSPAL .SAV     5  13-Feb-2013      2'560
    TSPSPD.SAV    18  16-Feb-2013      9'216
    TSSPDH.SAV    24  18-Feb-2013     12'288
    TSTMR .SAV    12  01-Feb-2013      6'144
    MOVPC1.MAC    17  26-Feb-2013      8'704
    MOVPC1.SAV     5  26-Feb-2013      2'560
    PPTES .SAV    45  16-Apr-1986     23'040
    MOVPCY.MAC    36  02-Mar-2013     18'432
    MOVPCY.SAV     9  02-Mar-2013      4'608
    < UNUSED >  1247                 638'464
    ---------- ------ ----------- ----------
     23 Files, 339 Blocks
     1247 Free blocks
    Поскольку завтра вечером или послезавтра у меня должна появится
    (вернуться) возможность запуска живой УК-НЦ, хотел сегодня скинуть
    тесты на дискету. Тут вроде бы все ? По установкам значений буду подсматривать в отчеты Alex_K.
    Вложения Вложения
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

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

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

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

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

Похожие темы

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

Ваши права

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