Меня всё время смущало, что по исходной версии программы SPEED время выполнения DIV было меньше, чем MUL на 1801ВМ3. Вот не верил я в этом и всё тут. Что и подвигло на написание своей версии, в которой всё стало на свои места
Посмотрел. Но не нашел особо ничего подозрительного. И в эмуляторе допустим emustudio как-раз сделана линейная зависимость времени выполнения ash #x,R0 от значения x.
Однако на железке время выполнения вовсе нелинейно вышло в зав-ти от того сколько раз прокрутить регистр. Причем очень интересно вышло.
Вот такой код заполняет относительно длинный буфер:
Запускается, замеряется время. Затем команда сдвига меняется на ash #1, R0 и т.д.Код:mov #12345, R0
ash #0, R0
Eсли вывести время выполнения сдвигов [0..8] и приращение к предыдущему то получится скажем такое (на 1млн таких комманд в усл.ед.)
На emustudio все линейно как и ожидалось
На реальной УКНЦ однако иначе (суть не в том что эмустудио быстрее, а в нелинейности):Код:Время Приращение
363 363
388 25
413 25
438 25
463 25
488 25
514 26
539 25
564 25
причем приращения не рандомные, повторение теста выдает точно то-же самоеКод:Время Приращение
511 511
534 23
584 50
604 20
634 30
656 22
667 11
704 37
730 26
В данном коде абсолютно не используется предвыборка, значит велико значение задержки при чтении из памяти. А чтение памяти идёт с разрешения арбитра видеоконтроллера. Попробуйте счётчик сдвига поместить в регистр R1 и для подсчета использовать только одну команду ASH R1,R0. Какие будут результаты?
Агааа.. Попробовал навроде такого:
Вот теперь зависимость от количества сдвигов линейная. Времена выполнения стали навроде 600,700,800,900..Код:mov #X, R1
clr R0
ash R1, R0
ash R1, R0
ash R1, R0
... много раз ...
ash R1, R0
return
Меняя буфер на ash #X, R0(много раз) получается нелинейность (с чего я и начал собственно).
Так это что-ж такое? Процессор пока выполнял ash R1,R0 успел предвыбрать следующее за ней слово (поскольку инструкция ровно в слово лезет)?
А если след. инструкция в слово не влезла (ash #X, R0) - то он не делает предвыборку и начинается какое-то ожидание? (причем не пойми точно какое).
Могу протестировать М7264ЕВ(без чипа FIS).
- - - Добавлено - - -
Тест скорости М7264ЕВ.
Не густо.Код:.SPEED
ТЕСТ БЫСТРОДЕЙСТВИЯ
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 232
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 168
.
- - - Добавлено - - -
Тест PDPCLK.
- - - Добавлено - - -Код:.PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
This CPU has no ASHC instruction !!!
Program completed.
Хреново, похоже и EIS нет.
М7264ЕВ c ПЗУ РУ3.
Код:.SPEED
ТЕСТ БЫСТРОДЕЙСТВИЯ
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 240
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 168
КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 32
КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 48
В реалности частоста одной фазы 2,603МГц.Код:.PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 126370
BUF words: 20640
Factor : 10 > 10
Factor : 10
CPU KHz: 2680
Program completed.
ADD.Код:.RUN HX1:ADD
Add - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600
R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)
Add R1 10 19 19 26 21 28 27 19 33
Add (R1) 15 24 24 30 26 32 31 24 38
Add (R2)+ 15 24 24 30 26 32 31 24 38
Add (PC)+ 15 24 24 30 26 32 31 24 38
Add @(R2)+ 21 30 30 36 32 39 38 30 44
Add -(R1) 17 26 26 32 28 34 33 26 40
Add @-(R1) 23 32 32 39 34 41 40 32 46
Add Addr 22 31 31 38 33 40 39 31 45
Add @Tab(R1) 29 38 38 44 40 46 45 38 52
Program completed.
ASH
- - - Добавлено - - -Код:RUN HX1:ASH
ASH - v1.1
Memory Top: 126370
BUF words: 20508
CPU KHz: 3400 > 2600
CPU KHz: 2600
1: Nop Evt: 0 ; Run: 4789 ; Res: 4789 ; CLC: 10.9
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 37.7
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 1148 ; Res: 1148 ; CLC: 45.3
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 531 ; Res: 531 ; CLC: 98.#
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 1268 ; Res: 1268 ; CLC: 41.0
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 662 ; Res: 662 ; CLC: 79.#
Program completed.
.RUN HX1:ASH1
ASH1 - v1.1
Memory Top: 126370
BUF words: 20311
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: ASh #00., R0 Evt: 0 ; Run: 1230 ; Res: 1230 ; CLC: 42.3
1: ASh #01., R0 Evt: 0 ; Run: 1048 ; Res: 1048 ; CLC: 49.6
1: ASh #02., R0 Evt: 5 ; Run: 909 ; Res: 914 ; CLC: 57.#
1: ASh #03., R0 Evt: 0 ; Run: 802 ; Res: 802 ; CLC: 65.#
1: ASh #04., R0 Evt: 4 ; Run: 714 ; Res: 718 ; CLC: 73.#
1: ASh #05., R0 Evt: 0 ; Run: 652 ; Res: 652 ; CLC: 80.#
1: ASh #06., R0 Evt: 2 ; Run: 592 ; Res: 594 ; CLC: 88.#
1: ASh #07., R0 Evt: 0 ; Run: 548 ; Res: 548 ; CLC: 95.#
1: ASh #08., R0 Evt: 0 ; Run: 505 ; Res: 505 ; CLC: 103.#
1: ASh #09., R0 Evt: 0 ; Run: 473 ; Res: 473 ; CLC: 110.#
1: ASh #10., R0 Evt: 0 ; Run: 439 ; Res: 439 ; CLC: 119.#
1: ASh #11., R0 Evt: 0 ; Run: 416 ; Res: 416 ; CLC: 125.#
1: ASh #12., R0 Evt: 0 ; Run: 392 ; Res: 392 ; CLC: 133.#
1: ASh #13., R0 Evt: 0 ; Run: 372 ; Res: 372 ; CLC: 140.#
1: ASh #14., R0 Evt: 0 ; Run: 353 ; Res: 353 ; CLC: 148.#
1: ASh #15., R0 Evt: 0 ; Run: 336 ; Res: 336 ; CLC: 155.#
1: ASh #16., R0 Evt: 0 ; Run: 320 ; Res: 320 ; CLC: 163.#
1: ASh #17., R0 Evt: 0 ; Run: 306 ; Res: 306 ; CLC: 170.#
1: ASh #20., R0 Evt: 0 ; Run: 270 ; Res: 270 ; CLC: 193.#
1: ASh #30., R0 Evt: 0 ; Run: 194 ; Res: 194 ; CLC: 269.#
1: ASh #31., R0 Evt: 0 ; Run: 189 ; Res: 189 ; CLC: 277.#
.
.RUN HX1:ASH2
ASH2 - v1.1
Memory Top: 126370
BUF words: 20307
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: ASh #000., R0 Evt: 7 ; Run: 1230 ; Res: 1237 ; CLC: 42.0
1: ASh #-01., R0 Evt: 0 ; Run: 1141 ; Res: 1141 ; CLC: 45.6
1: ASh #-02., R0 Evt: 0 ; Run: 1019 ; Res: 1019 ; CLC: 51.0
1: ASh #-03., R0 Evt: 5 ; Run: 926 ; Res: 931 ; CLC: 56.#
1: ASh #-04., R0 Evt: 0 ; Run: 841 ; Res: 841 ; CLC: 62.#
1: ASh #-05., R0 Evt: 0 ; Run: 778 ; Res: 778 ; CLC: 67.#
1: ASh #-06., R0 Evt: 0 ; Run: 714 ; Res: 714 ; CLC: 73.#
1: ASh #-07., R0 Evt: 0 ; Run: 666 ; Res: 666 ; CLC: 78.#
1: ASh #-08., R0 Evt: 0 ; Run: 627 ; Res: 627 ; CLC: 83.#
1: ASh #-09., R0 Evt: 0 ; Run: 589 ; Res: 589 ; CLC: 88.#
1: ASh #-10., R0 Evt: 0 ; Run: 555 ; Res: 555 ; CLC: 94.#
1: ASh #-11., R0 Evt: 0 ; Run: 525 ; Res: 525 ; CLC: 99.#
1: ASh #-12., R0 Evt: 0 ; Run: 498 ; Res: 498 ; CLC: 105.#
1: ASh #-13., R0 Evt: 0 ; Run: 471 ; Res: 471 ; CLC: 111.#
1: ASh #-14., R0 Evt: 0 ; Run: 450 ; Res: 450 ; CLC: 116.#
1: ASh #-15., R0 Evt: 2 ; Run: 431 ; Res: 433 ; CLC: 120.#
1: ASh #-16., R0 Evt: 0 ; Run: 413 ; Res: 413 ; CLC: 126.#
1: ASh #-17., R0 Evt: 0 ; Run: 396 ; Res: 396 ; CLC: 132.#
1: ASh #-20., R0 Evt: 0 ; Run: 350 ; Res: 350 ; CLC: 149.#
1: ASh #-30., R0 Evt: 0 ; Run: 259 ; Res: 259 ; CLC: 202.#
1: ASh #-31., R0 Evt: 0 ; Run: 252 ; Res: 252 ; CLC: 207.#
.
.RUN HX1:ASH3
ASH3 - v1.1
Memory Top: 126370
BUF words: 20314
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: ASh R2,R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 37.7
1: 1: ASh R2,R0 Evt: 1 ; Run: 1147 ; Res: 1148 ; CLC: 45.3
1: 2: ASh R2,R0 Evt: 0 ; Run: 982 ; Res: 982 ; CLC: 53.#
1: 3: ASh R2,R0 Evt: 0 ; Run: 862 ; Res: 862 ; CLC: 60.#
1: 4: ASh R2,R0 Evt: 0 ; Run: 767 ; Res: 767 ; CLC: 68.#
1: 5: ASh R2,R0 Evt: 2 ; Run: 690 ; Res: 692 ; CLC: 75.#
1: 6: ASh R2,R0 Evt: 0 ; Run: 627 ; Res: 627 ; CLC: 83.#
1: 7: ASh R2,R0 Evt: 0 ; Run: 574 ; Res: 574 ; CLC: 91.#
1: 8: ASh R2,R0 Evt: 0 ; Run: 531 ; Res: 531 ; CLC: 98.#
1: 9: ASh R2,R0 Evt: 2 ; Run: 493 ; Res: 495 ; CLC: 105.#
1: 10: ASh R2,R0 Evt: 0 ; Run: 460 ; Res: 460 ; CLC: 113.#
1: 11: ASh R2,R0 Evt: 0 ; Run: 431 ; Res: 431 ; CLC: 121.#
1: 12: ASh R2,R0 Evt: 0 ; Run: 406 ; Res: 406 ; CLC: 128.#
1: 13: ASh R2,R0 Evt: 2 ; Run: 383 ; Res: 385 ; CLC: 135.#
1: 14: ASh R2,R0 Evt: 0 ; Run: 363 ; Res: 363 ; CLC: 144.#
1: 15: ASh R2,R0 Evt: 0 ; Run: 343 ; Res: 343 ; CLC: 152.#
1: 16: ASh R2,R0 Evt: 0 ; Run: 329 ; Res: 329 ; CLC: 159.#
1: 17: ASh R2,R0 Evt: 0 ; Run: 314 ; Res: 314 ; CLC: 166.#
1: 20: ASh R2,R0 Evt: 2 ; Run: 277 ; Res: 279 ; CLC: 187.#
1: 30: ASh R2,R0 Evt: 0 ; Run: 196 ; Res: 196 ; CLC: 267.#
1: 31: ASh R2,R0 Evt: 0 ; Run: 192 ; Res: 192 ; CLC: 272.#
.
.RUN HX1:ASH4
ASH4 - v1.1
Memory Top: 126370
BUF words: 20308
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: ASh R2,R0 Evt: 0 ; Run: 1380 ; Res: 1380 ; CLC: 37.7
1: -1: ASh R2,R0 Evt: 0 ; Run: 1259 ; Res: 1259 ; CLC: 41.3
1: -2: ASh R2,R0 Evt: 0 ; Run: 1122 ; Res: 1122 ; CLC: 46.3
1: -3: ASh R2,R0 Evt: 0 ; Run: 1000 ; Res: 1000 ; CLC: 52.0
1: -4: ASh R2,R0 Evt: 0 ; Run: 910 ; Res: 910 ; CLC: 57.#
1: -5: ASh R2,R0 Evt: 0 ; Run: 831 ; Res: 831 ; CLC: 63.#
1: -6: ASh R2,R0 Evt: 0 ; Run: 767 ; Res: 767 ; CLC: 68.#
1: -7: ASh R2,R0 Evt: 0 ; Run: 711 ; Res: 711 ; CLC: 73.#
1: -8: ASh R2,R0 Evt: 0 ; Run: 662 ; Res: 662 ; CLC: 79.#
1: -9: ASh R2,R0 Evt: 2 ; Run: 620 ; Res: 622 ; CLC: 84.#
1: -10: ASh R2,R0 Evt: 0 ; Run: 582 ; Res: 582 ; CLC: 90.#
1: -11: ASh R2,R0 Evt: 0 ; Run: 549 ; Res: 549 ; CLC: 95.#
1: -12: ASh R2,R0 Evt: 0 ; Run: 517 ; Res: 517 ; CLC: 101.#
1: -13: ASh R2,R0 Evt: 0 ; Run: 493 ; Res: 493 ; CLC: 106.#
1: -14: ASh R2,R0 Evt: 0 ; Run: 468 ; Res: 468 ; CLC: 111.#
1: -15: ASh R2,R0 Evt: 0 ; Run: 448 ; Res: 448 ; CLC: 116.#
1: -16: ASh R2,R0 Evt: 2 ; Run: 428 ; Res: 430 ; CLC: 121.#
1: -17: ASh R2,R0 Evt: 0 ; Run: 410 ; Res: 410 ; CLC: 127.#
1: -20: ASh R2,R0 Evt: 2 ; Run: 364 ; Res: 366 ; CLC: 142.#
1: -30: ASh R2,R0 Evt: 0 ; Run: 265 ; Res: 265 ; CLC: 197.#
1: -31: ASh R2,R0 Evt: 2 ; Run: 258 ; Res: 260 ; CLC: 201.#
.
- - - Добавлено - - -Код:.RUN HX1:ASHC
ASHC - v1.1
Memory Top: 126370
BUF words: 20469
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: Nop Evt: 0 ; Run: 4818 ; Res: 4818 ; CLC: 10.8
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 986 ; Res: 986 ; CLC: 53.#
1: AShC R2, R1 Evt: 1 ; Run: 986 ; Res: 987 ; CLC: 53.#
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 832 ; Res: 832 ; CLC: 63.#
1: AShC R2, R1 Evt: 0 ; Run: 832 ; Res: 832 ; CLC: 63.#
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 399 ; Res: 399 ; CLC: 131.#
1: AShC R2, R1 Evt: 0 ; Run: 400 ; Res: 400 ; CLC: 130.#
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 890 ; Res: 890 ; CLC: 58.#
1: AShC R2, R1 Evt: 0 ; Run: 886 ; Res: 886 ; CLC: 59.#
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 436 ; Res: 436 ; CLC: 120.#
1: AShC R2, R1 Evt: 0 ; Run: 436 ; Res: 436 ; CLC: 120.#
Program completed.
.RUN HX1:ASHC1
ASHC1 - v1.1
Memory Top: 126370
BUF words: 20318
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: AShC #00., R0 Evt: 0 ; Run: 892 ; Res: 892 ; CLC: 58.#
1: AShC #01., R0 Evt: 4 ; Run: 778 ; Res: 782 ; CLC: 67.#
1: AShC #02., R0 Evt: 0 ; Run: 673 ; Res: 673 ; CLC: 77.#
1: AShC #03., R0 Evt: 0 ; Run: 601 ; Res: 601 ; CLC: 87.#
1: AShC #04., R0 Evt: 0 ; Run: 543 ; Res: 543 ; CLC: 96.#
1: AShC #05., R0 Evt: 0 ; Run: 492 ; Res: 492 ; CLC: 106.#
1: AShC #06., R0 Evt: 1 ; Run: 450 ; Res: 451 ; CLC: 116.#
1: AShC #07., R0 Evt: 0 ; Run: 414 ; Res: 414 ; CLC: 126.#
1: AShC #08., R0 Evt: 0 ; Run: 386 ; Res: 386 ; CLC: 135.#
1: AShC #09., R0 Evt: 0 ; Run: 359 ; Res: 359 ; CLC: 145.#
1: AShC #10., R0 Evt: 0 ; Run: 338 ; Res: 338 ; CLC: 154.#
1: AShC #11., R0 Evt: 0 ; Run: 317 ; Res: 317 ; CLC: 165.#
1: AShC #12., R0 Evt: 0 ; Run: 298 ; Res: 298 ; CLC: 175.#
1: AShC #13., R0 Evt: 0 ; Run: 284 ; Res: 284 ; CLC: 184.#
1: AShC #14., R0 Evt: 0 ; Run: 270 ; Res: 270 ; CLC: 193.#
1: AShC #15., R0 Evt: 0 ; Run: 257 ; Res: 257 ; CLC: 203.#
1: AShC #16., R0 Evt: 0 ; Run: 245 ; Res: 245 ; CLC: 213.#
1: AShC #17., R0 Evt: 0 ; Run: 235 ; Res: 235 ; CLC: 222.#
1: AShC #20., R0 Evt: 0 ; Run: 208 ; Res: 208 ; CLC: 251.#
1: AShC #30., R0 Evt: 0 ; Run: 150 ; Res: 150 ; CLC: 349.#
1: AShC #31., R0 Evt: 0 ; Run: 146 ; Res: 146 ; CLC: 359.#
.
.RUN HX1:ASHC2
ASHC2 - v1.1
Memory Top: 126370
BUF words: 20315
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: AShC #000., R0 Evt: 0 ; Run: 888 ; Res: 888 ; CLC: 59.#
1: AShC #-01., R0 Evt: 0 ; Run: 829 ; Res: 829 ; CLC: 63.#
1: AShC #-02., R0 Evt: 0 ; Run: 729 ; Res: 729 ; CLC: 71.#
1: AShC #-03., R0 Evt: 0 ; Run: 647 ; Res: 647 ; CLC: 80.#
1: AShC #-04., R0 Evt: 0 ; Run: 589 ; Res: 589 ; CLC: 88.#
1: AShC #-05., R0 Evt: 1 ; Run: 535 ; Res: 536 ; CLC: 97.#
1: AShC #-06., R0 Evt: 0 ; Run: 492 ; Res: 492 ; CLC: 106.#
1: AShC #-07., R0 Evt: 0 ; Run: 456 ; Res: 456 ; CLC: 114.#
1: AShC #-08., R0 Evt: 1 ; Run: 423 ; Res: 424 ; CLC: 123.#
1: AShC #-09., R0 Evt: 0 ; Run: 396 ; Res: 396 ; CLC: 132.#
1: AShC #-10., R0 Evt: 0 ; Run: 372 ; Res: 372 ; CLC: 140.#
1: AShC #-11., R0 Evt: 0 ; Run: 348 ; Res: 348 ; CLC: 150.#
1: AShC #-12., R0 Evt: 0 ; Run: 331 ; Res: 331 ; CLC: 158.#
1: AShC #-13., R0 Evt: 1 ; Run: 314 ; Res: 315 ; CLC: 166.#
1: AShC #-14., R0 Evt: 0 ; Run: 298 ; Res: 298 ; CLC: 175.#
1: AShC #-15., R0 Evt: 0 ; Run: 285 ; Res: 285 ; CLC: 183.#
1: AShC #-16., R0 Evt: 0 ; Run: 270 ; Res: 270 ; CLC: 193.#
1: AShC #-17., R0 Evt: 0 ; Run: 260 ; Res: 260 ; CLC: 201.#
1: AShC #-20., R0 Evt: 0 ; Run: 230 ; Res: 230 ; CLC: 227.#
1: AShC #-30., R0 Evt: 0 ; Run: 167 ; Res: 167 ; CLC: 313.#
1: AShC #-31., R0 Evt: 0 ; Run: 162 ; Res: 162 ; CLC: 323.#
.
.RUN HX1:ASHC3
ASHC3 - v1.1
Memory Top: 126370
BUF words: 20313
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: AShC R2,R0 Evt: 0 ; Run: 982 ; Res: 982 ; CLC: 53.#
1: 1: AShC R2,R0 Evt: 0 ; Run: 832 ; Res: 832 ; CLC: 63.#
1: 2: AShC R2,R0 Evt: 0 ; Run: 718 ; Res: 718 ; CLC: 73.#
1: 3: AShC R2,R0 Evt: 0 ; Run: 634 ; Res: 634 ; CLC: 82.#
1: 4: AShC R2,R0 Evt: 0 ; Run: 568 ; Res: 568 ; CLC: 92.#
1: 5: AShC R2,R0 Evt: 0 ; Run: 514 ; Res: 514 ; CLC: 101.#
1: 6: AShC R2,R0 Evt: 0 ; Run: 469 ; Res: 469 ; CLC: 111.#
1: 7: AShC R2,R0 Evt: 0 ; Run: 430 ; Res: 430 ; CLC: 121.#
1: 8: AShC R2,R0 Evt: 0 ; Run: 400 ; Res: 400 ; CLC: 130.#
1: 9: AShC R2,R0 Evt: 0 ; Run: 372 ; Res: 372 ; CLC: 140.#
1: 10: AShC R2,R0 Evt: 0 ; Run: 348 ; Res: 348 ; CLC: 150.#
1: 11: AShC R2,R0 Evt: 0 ; Run: 327 ; Res: 327 ; CLC: 160.#
1: 12: AShC R2,R0 Evt: 0 ; Run: 308 ; Res: 308 ; CLC: 169.#
1: 13: AShC R2,R0 Evt: 0 ; Run: 291 ; Res: 291 ; CLC: 179.#
1: 14: AShC R2,R0 Evt: 0 ; Run: 277 ; Res: 277 ; CLC: 188.#
1: 15: AShC R2,R0 Evt: 0 ; Run: 262 ; Res: 262 ; CLC: 199.#
1: 16: AShC R2,R0 Evt: 0 ; Run: 251 ; Res: 251 ; CLC: 208.#
1: 17: AShC R2,R0 Evt: 0 ; Run: 240 ; Res: 240 ; CLC: 218.#
1: 20: AShC R2,R0 Evt: 0 ; Run: 212 ; Res: 212 ; CLC: 246.#
1: 30: AShC R2,R0 Evt: 0 ; Run: 152 ; Res: 152 ; CLC: 344.#
1: 31: AShC R2,R0 Evt: 0 ; Run: 147 ; Res: 147 ; CLC: 356.#
.
.RUN HX1:ASHC4
ASHC4 - v1.1
Memory Top: 126370
BUF words: 20307
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: AShC R2,R0 Evt: 0 ; Run: 985 ; Res: 985 ; CLC: 53.#
1: -1: AShC R2,R0 Evt: 0 ; Run: 892 ; Res: 892 ; CLC: 58.#
1: -2: AShC R2,R0 Evt: 0 ; Run: 778 ; Res: 778 ; CLC: 67.#
1: -3: AShC R2,R0 Evt: 0 ; Run: 690 ; Res: 690 ; CLC: 75.#
1: -4: AShC R2,R0 Evt: 0 ; Run: 615 ; Res: 615 ; CLC: 85.#
1: -5: AShC R2,R0 Evt: 0 ; Run: 562 ; Res: 562 ; CLC: 93.#
1: -6: AShC R2,R0 Evt: 0 ; Run: 514 ; Res: 514 ; CLC: 101.#
1: -7: AShC R2,R0 Evt: 0 ; Run: 474 ; Res: 474 ; CLC: 110.#
1: -8: AShC R2,R0 Evt: 1 ; Run: 439 ; Res: 440 ; CLC: 118.#
1: -9: AShC R2,R0 Evt: 0 ; Run: 409 ; Res: 409 ; CLC: 127.#
1: -10: AShC R2,R0 Evt: 0 ; Run: 381 ; Res: 381 ; CLC: 137.#
1: -11: AShC R2,R0 Evt: 0 ; Run: 361 ; Res: 361 ; CLC: 144.#
1: -12: AShC R2,R0 Evt: 0 ; Run: 340 ; Res: 340 ; CLC: 153.#
1: -13: AShC R2,R0 Evt: 0 ; Run: 322 ; Res: 322 ; CLC: 162.#
1: -14: AShC R2,R0 Evt: 0 ; Run: 306 ; Res: 306 ; CLC: 170.#
1: -15: AShC R2,R0 Evt: 0 ; Run: 290 ; Res: 290 ; CLC: 180.#
1: -16: AShC R2,R0 Evt: 0 ; Run: 278 ; Res: 278 ; CLC: 188.#
1: -17: AShC R2,R0 Evt: 0 ; Run: 266 ; Res: 266 ; CLC: 196.#
1: -20: AShC R2,R0 Evt: 0 ; Run: 235 ; Res: 235 ; CLC: 222.#
1: -30: AShC R2,R0 Evt: 0 ; Run: 169 ; Res: 169 ; CLC: 310.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 165 ; Res: 165 ; CLC: 317.#
.
- - - Добавлено - - -Код:.RUN HX1:BIS
BiS - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600
R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)
BiS R1 10 19 19 26 21 28 27 19 33
BiS (R1) 15 24 24 30 26 32 31 24 38
BiS (R2)+ 15 24 24 30 26 32 31 24 38
BiS (PC)+ 15 24 24 30 26 32 31 24 38
BiS @(R2)+ 21 30 30 36 32 39 38 30 44
BiS -(R1) 17 26 26 32 28 34 33 26 40
BiS @-(R1) 23 32 32 39 34 41 40 32 46
BiS Addr 22 31 31 38 33 40 39 31 45
BiS @Tab(R1) 29 38 38 44 40 46 45 38 52
Program completed.
.RUN HX1:BISB
BiSB - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600
R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)
BiSB R1 9 17 17 24 19 26 25 18 31
BiSB (R1) 13 21 21 27 22 29 28 21 35
BiSB (R4)+ 15 22 22 29 25 31 30 24 36
BiSB (PC)+ 14 21 21 28 24 30 29 22 36
BiSB @(R2)+ 19 27 27 33 29 36 35 28 41
BiSB -(R1) 17 25 25 31 27 33 32 26 39
BiSB @-(R3) 21 29 29 36 31 38 36 30 43
BiSB Addr 20 28 28 35 30 36 36 29 42
BiSB @Tab(R3) 27 35 35 41 36 43 42 36 48
Program completed.
.RUN HX1:CMP
Cmp - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600
R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)
Cmp R1 10 16 16 22 18 25 23 16 30
Cmp (R1) 15 20 20 27 22 29 28 20 34
Cmp (R2)+ 15 20 20 27 22 29 28 20 34
Cmp (PC)+ 15 20 20 27 22 29 28 20 34
Cmp @(R2)+ 21 27 27 33 29 36 34 27 41
Cmp -(R1) 17 22 22 29 25 31 30 22 36
Cmp @-(R1) 23 29 29 36 31 38 36 29 43
Cmp Addr 22 28 28 34 30 36 36 28 42
Cmp @Tab(R1) 29 34 34 41 36 43 42 34 49
Program completed.
.RUN HX1:CMPB
CmpB - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600
R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)
CmpB R1 9 14 14 20 16 22 22 15 28
CmpB (R1) 13 17 17 24 19 26 25 18 31
CmpB (R4)+ 15 19 19 26 21 28 27 20 33
CmpB (PC)+ 14 18 18 25 20 27 26 19 32
CmpB @(R2)+ 19 24 24 30 26 32 31 25 38
CmpB -(R1) 17 21 21 28 24 30 29 22 36
CmpB @-(R3) 21 26 26 32 28 34 33 27 40
CmpB Addr 20 25 25 31 27 33 32 26 39
CmpB @Tab(R3) 27 31 31 38 33 40 39 32 45
Program completed.
- - - Добавлено - - -Код:.RUN HX1:DIV
DIV - v1.1
Memory Top: 126370
BUF words: 20513
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: Nop Evt: 4 ; Run: 4813 ; Res: 4817 ; CLC: 10.8
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 220 ; Res: 220 ; CLC: 237.#
1: Div R2, R1 Evt: 0 ; Run: 220 ; Res: 220 ; CLC: 237.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 218 ; Res: 218 ; CLC: 240.#
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1019 ; Res: 1019 ; CLC: 51.0
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1026 ; Res: 1026 ; CLC: 50.7
Program completed.
.RUN HX1:JMP
JMP - v1.4
Memory Top: 126370
BUF words: 20534
CPU KHz: 5300 > 2600
CPU KHz: 2600
SOB Loops: 3437 ; CLC: 15.1
Br Loops: 2006 ; CLC: 10.8
Jmp (R0) Loops: 1855 ; CLC: 12.9
Jmp (PC) Loops: 1855 ; CLC: 12.9
Jmp (PC)+ Loops: 1719 ; CLC: 15.1
Mov R0, PC Loops: 2005 ; CLC: 10.8
Add R0, PC Loops: 2004 ; CLC: 10.8
Jmp LABEL Loops: 1550 ; CLC: 18.4
Jmp @#Addr Loops: 1664 ; CLC: 16.1
Jmp @(R0)+ Loops: 1665 ; CLC: 16.1
Jmp @-(R0) Loops: 1545 ; CLC: 18.5
Jmp xx(R0) Loops: 1556 ; CLC: 18.3
Jmp @x(R0) Loops: 1333 ; CLC: 23.9
Jmp @Var Loops: 1336 ; CLC: 23.8
Program completed.
.RUN HX1:JSR
JSR - v1.2
Memory Top: 126370
BUF words: 20459
CPU KHz: 5300 > 2600
CPU KHz: 2600
SOB Loops: 3434 ; CLC: 15.1
Loop Loops: 1094 ; CLC: 32.4
Loop +Interrupt Loops: 534 ; CLC: 82.2
IOT Loops: 713 ; CLC: 57.8
Trap Loops: 791 ; CLC: 50.6
JSR PC, (R0) Loops: 1197 ; CLC: 28.3
JSR R0, (PC) Loops: 1203 ; CLC: 28.1
JSR PC, (PC) Loops: 1195 ; CLC: 28.4
JSR PC, (PC)+ Loops: 1143 ; CLC: 30.4
JSR PC,@(PC)+ Loops: 1120 ; CLC: 31.3
JSR PC,@(R0)+ Loops: 1113 ; CLC: 31.6
JSR PC,@(SP)+ Loops: 1120 ; CLC: 31.3
JSR PC,@-(R0) Loops: 1070 ; CLC: 33.5
JSR R1,@-(R0) Loops: 1070 ; CLC: 33.5
JSR PC, Label Loops: 1062 ; CLC: 33.8
JSR PC,@Var Loops: 961 ; CLC: 39.0
JSR R1,@x(R0) Loops: 957 ; CLC: 39.2
.RUN HX1:MOV
Mov - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600
R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)
Mov R1 10 15 16 21 17 24 22 16 29
Mov (R1) 15 19 20 26 21 28 27 20 33
Mov (R2)+ 15 19 20 26 21 28 27 20 33
Mov (PC)+ 15 19 20 26 21 28 27 20 33
Mov @(R2)+ 21 26 27 32 28 34 33 27 40
Mov -(R1) 17 21 22 28 24 30 29 22 36
Mov @-(R1) 23 28 29 34 30 36 36 29 42
Mov Addr 22 27 28 33 29 36 34 28 41
Mov @Tab(R1) 29 33 35 40 36 42 41 34 47
Program completed.
.RUN HX1:MOVB
MovB - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600
R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)
MovB R1 12 17 17 24 19 26 25 18 31
MovB (R1) 15 20 20 27 22 29 28 21 35
MovB (R4)+ 17 22 22 29 25 31 30 24 36
MovB (PC)+ 16 21 21 28 24 30 29 22 36
MovB @(R2)+ 21 27 27 33 29 36 35 28 41
MovB -(R1) 19 25 25 31 27 33 32 26 39
MovB @-(R3) 23 29 29 36 31 38 36 30 43
MovB Addr 22 28 28 35 30 36 36 29 42
MovB @Tab(R3) 29 34 34 41 36 43 42 36 48
Program completed.
- - - Добавлено - - -Код:.RUN HX1:MOVPC1
MovPC - v1.2
CPU KHz: 3400 > 2600
CPU KHz: 2600
Mov (PC), (PC)+ 20.9
MovB (PC), (PC)+ 21.8
Mov (PC), R0 15.2
MovB (PC), R0 15.2
Mov (PC), (PC) 19.6
MovB (PC), (PC) 20.9
Mov (PC)+, R0 15.2
MovB (PC)+, R0 16.3
Mov R0, (PC)+ 16.3
MovB R0, (PC)+ 18.4
Program completed.
.RUN HX1:MOVPC2
MovPC2 - v1.2
Memory Top: 126370
BUF words: 20501
CPU KHz: 3400 > 2600
CPU KHz: 2600
1: Nop Evt: 9 ; Run: 4810 ; Res: 4819 ; CLC: 10.8
1: Mov R0, R0 Evt: 8 ; Run: 4812 ; Res: 4820 ; CLC: 10.8
1: Mov R0, (PC) Evt: 6 ; Run: 3419 ; Res: 3425 ; CLC: 15.2
1: MovB R0, (PC) Evt: 5 ; Run: 2988 ; Res: 2993 ; CLC: 17.4
1: Mov (PC), R0 Evt: 6 ; Run: 3426 ; Res: 3432 ; CLC: 15.2
1: MovB (PC), R0 Evt: 6 ; Run: 3424 ; Res: 3430 ; CLC: 15.2
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 6 ; Run: 3205 ; Res: 3211 ; CLC: 16.2
1: MovB R0, (SP)+ Evt: 5 ; Run: 2837 ; Res: 2842 ; CLC: 18.3
1: Mov (SP),(SP)+ Evt: 5 ; Run: 2494 ; Res: 2499 ; CLC: 20.8
1: MovB (SP),(SP)+ Evt: 4 ; Run: 2388 ; Res: 2392 ; CLC: 21.7
Program completed.
.RUN HX1:MUL
MUL - v1.1
Memory Top: 126370
BUF words: 20429
CPU KHz: 4070 > 2600
CPU KHz: 2600
1: Nop Evt: 35 ; Run: 4808 ; Res: 4843 ; CLC: 10.7
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 635 ; Res: 635 ; CLC: 82.#
1: Mul R2, R1 Evt: 0 ; Run: 427 ; Res: 427 ; CLC: 122.#
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 630 ; Res: 630 ; CLC: 83.#
1: Mul R2, R1 Evt: 0 ; Run: 630 ; Res: 630 ; CLC: 83.#
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 445 ; Res: 445 ; CLC: 117.#
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 361 ; Res: 361 ; CLC: 144.#
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 361 ; Res: 361 ; CLC: 144.#
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 272 ; Res: 272 ; CLC: 192.#
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 280 ; Res: 280 ; CLC: 186.#
.RUN HX1:OP1
Op1 - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600
SOB : 15 ! Last SOB : 13 ! Br : 10 ! BCS : 10 ! BCC : 10 ! SeC : 10
R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)
Tst 13 18 18 25 20 27 26 18 32
TstB 12 16 16 22 18 25 23 17 30
Inc 13 21 21 28 24 30 29 21 36
IncB 12 19 19 26 21 28 27 20 33
Clr 12 19 19 26 21 28 27 19 33
ClrB 12 18 18 25 20 27 26 19 32
MTPS 23 30 30 36 32 39 38 31 44
MFPS 21 27 27 33 29 36 34 28 41
XOr 10 19 19 26 22 28 27 19 33
SwaB 13 20 20 27 22 29 28 20 35
SXt 18 27 27 33 29 36 35 27 41
Program completed.
.RUN HX1:RTS
RTS - v1.1
Memory Top: 126370
BUF words: 20545
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: Nop Evt: 9 ; Run: 4800 ; Res: 4809 ; CLC: 10.8
1: RtS PC Evt: 6 ; Run: 3182 ; Res: 3188 ; CLC: 16.3
1: RtS R0 Evt: 6 ; Run: 3205 ; Res: 3211 ; CLC: 16.2
1: RtS R1 Evt: 21 ; Run: 3205 ; Res: 3226 ; CLC: 16.1
1: RtI Evt: 3 ; Run: 1917 ; Res: 1920 ; CLC: 27.1
1: RtT Evt: 17 ; Run: 1923 ; Res: 1940 ; CLC: 26.8
Program completed.
Tест TSTVM2 на М7264ЕВ c ПЗУ РУ3.
Все -Ок кроме:
Микрокод скорее свего более ранний на РУ3.Код:Команда деления (частичный тест):
DIV (even) - OK
DIV (odd) - ERROR: 0x43D5 / 0x64D1