С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Значит, надо увеличивать значение Factor до тех пор, пока результат не станет 10400 ( похоже, что такой результат будет при Factor = 40 ). Потом, запустив тест MOV.SAV и подставив измеренное значение - можно будет посмотреть, сколько тактов этой частоты придётся на одну регистровую команду. Если получится меньше 40 - значит одна регистровая команда выполняется быстрее одного такта СИП.
- - - Добавлено - - -
Можно подобрать значение Factor для частоты тактового генератора 2.6МГц ( результат 2600 - похоже, что такой результат будет при Factor = 10 ) - тогда, подставив измеренное значение в тесте MOV.SAV - можно узнать количество тактов генератора, затрачиваемых на выполнение каждой команды.
Последний раз редактировалось Patron; 15.09.2017 в 17:51.
Тесты Эл.60 платы М2.
- - - Добавлено - - -Код:.RUN ADD Add - v1.1 CPU KHz: 5300 > 2600 CPU KHz: 2600 R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0) Add R1 11 20 20 26 22 29 28 20 34 Add (R1) 15 24 24 31 26 33 32 24 39 Add (R2)+ 15 24 24 31 26 33 32 24 39 Add (PC)+ 15 24 24 31 26 33 32 24 39 Add @(R2)+ 22 31 31 37 33 40 39 31 45 Add -(R1) 17 26 26 33 29 35 34 26 41 Add @-(R1) 24 33 33 40 35 42 41 33 48 Add Addr 23 32 32 39 34 41 40 32 47 Add @Tab(R1) 30 39 39 45 41 48 47 39 53 Program completed. .RUN ASH ASH - v1.1 Memory Top: 122542 BUF words: 19537 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: Nop Evt: 5 ; Run: 4680 ; Res: 4685 ; CLC: 11.1 R2 = 0 1: ASh R2, R0 Evt: 0 ; Run: 1338 ; Res: 1338 ; CLC: 38.9 R2 = 1 1: ASh R2, R0 Evt: 0 ; Run: 1122 ; Res: 1122 ; CLC: 46.3 R2 = 8 1: ASh R2, R0 Evt: 0 ; Run: 518 ; Res: 518 ; CLC: 101.# R2 = -1 1: ASh R2, R0 Evt: 0 ; Run: 1238 ; Res: 1238 ; CLC: 42.0 R2 = -8 1: ASh R2, R0 Evt: 0 ; Run: 641 ; Res: 641 ; CLC: 81.# Program completed. .RUN ASH1 ASH1 - v1.1 Memory Top: 122542 BUF words: 19340 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: ASh #00., R0 Evt: 0 ; Run: 1199 ; Res: 1199 ; CLC: 43.4 1: ASh #01., R0 Evt: 0 ; Run: 1022 ; Res: 1022 ; CLC: 50.9 1: ASh #02., R0 Evt: 2 ; Run: 889 ; Res: 891 ; CLC: 58.# 1: ASh #03., R0 Evt: 0 ; Run: 778 ; Res: 778 ; CLC: 67.# 1: ASh #04., R0 Evt: 1 ; Run: 694 ; Res: 695 ; CLC: 75.# 1: ASh #05., R0 Evt: 0 ; Run: 631 ; Res: 631 ; CLC: 83.# 1: ASh #06., R0 Evt: 0 ; Run: 579 ; Res: 579 ; CLC: 90.# 1: ASh #07., R0 Evt: 0 ; Run: 534 ; Res: 534 ; CLC: 98.# 1: ASh #08., R0 Evt: 0 ; Run: 495 ; Res: 495 ; CLC: 105.# 1: ASh #09., R0 Evt: 0 ; Run: 462 ; Res: 462 ; CLC: 113.# 1: ASh #10., R0 Evt: 0 ; Run: 429 ; Res: 429 ; CLC: 121.# 1: ASh #11., R0 Evt: 2 ; Run: 406 ; Res: 408 ; CLC: 128.# 1: ASh #12., R0 Evt: 0 ; Run: 380 ; Res: 380 ; CLC: 137.# 1: ASh #13., R0 Evt: 0 ; Run: 362 ; Res: 362 ; CLC: 144.# 1: ASh #14., R0 Evt: 0 ; Run: 344 ; Res: 344 ; CLC: 152.# 1: ASh #15., R0 Evt: 0 ; Run: 327 ; Res: 327 ; CLC: 160.# 1: ASh #16., R0 Evt: 0 ; Run: 310 ; Res: 310 ; CLC: 168.# 1: ASh #17., R0 Evt: 0 ; Run: 298 ; Res: 298 ; CLC: 175.# 1: ASh #20., R0 Evt: 0 ; Run: 261 ; Res: 261 ; CLC: 200.# 1: ASh #30., R0 Evt: 0 ; Run: 188 ; Res: 188 ; CLC: 278.# 1: ASh #31., R0 Evt: 0 ; Run: 182 ; Res: 182 ; CLC: 287.# .RUN ASH2 ASH2 - v1.1 Memory Top: 122542 BUF words: 19336 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: ASh #000., R0 Evt: 4 ; Run: 1205 ; Res: 1209 ; CLC: 43.0 1: ASh #-01., R0 Evt: 0 ; Run: 1115 ; Res: 1115 ; CLC: 46.6 1: ASh #-02., R0 Evt: 0 ; Run: 991 ; Res: 991 ; CLC: 53.# 1: ASh #-03., R0 Evt: 0 ; Run: 904 ; Res: 904 ; CLC: 58.# 1: ASh #-04., R0 Evt: 0 ; Run: 826 ; Res: 826 ; CLC: 63.# 1: ASh #-05., R0 Evt: 0 ; Run: 754 ; Res: 754 ; CLC: 69.# 1: ASh #-06., R0 Evt: 0 ; Run: 690 ; Res: 690 ; CLC: 75.# 1: ASh #-07., R0 Evt: 0 ; Run: 654 ; Res: 654 ; CLC: 80.# 1: ASh #-08., R0 Evt: 0 ; Run: 609 ; Res: 609 ; CLC: 86.# 1: ASh #-09., R0 Evt: 0 ; Run: 570 ; Res: 570 ; CLC: 91.# 1: ASh #-10., R0 Evt: 0 ; Run: 538 ; Res: 538 ; CLC: 97.# 1: ASh #-11., R0 Evt: 0 ; Run: 512 ; Res: 512 ; CLC: 102.# 1: ASh #-12., R0 Evt: 0 ; Run: 485 ; Res: 485 ; CLC: 107.# 1: ASh #-13., R0 Evt: 0 ; Run: 459 ; Res: 459 ; CLC: 114.# 1: ASh #-14., R0 Evt: 0 ; Run: 437 ; Res: 437 ; CLC: 119.# 1: ASh #-15., R0 Evt: 0 ; Run: 417 ; Res: 417 ; CLC: 125.# 1: ASh #-16., R0 Evt: 0 ; Run: 403 ; Res: 403 ; CLC: 129.# 1: ASh #-17., R0 Evt: 0 ; Run: 386 ; Res: 386 ; CLC: 135.# 1: ASh #-20., R0 Evt: 0 ; Run: 344 ; Res: 344 ; CLC: 152.# 1: ASh #-30., R0 Evt: 0 ; Run: 252 ; Res: 252 ; CLC: 207.# 1: ASh #-31., R0 Evt: 0 ; Run: 245 ; Res: 245 ; CLC: 213.# .RUN ASH3 ASH3 - v1.1 Memory Top: 122542 BUF words: 19343 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: 0: ASh R2,R0 Evt: 0 ; Run: 1348 ; Res: 1348 ; CLC: 38.6 1: 1: ASh R2,R0 Evt: 0 ; Run: 1116 ; Res: 1116 ; CLC: 46.6 1: 2: ASh R2,R0 Evt: 0 ; Run: 955 ; Res: 955 ; CLC: 55.# 1: 3: ASh R2,R0 Evt: 2 ; Run: 836 ; Res: 838 ; CLC: 62.# 1: 4: ASh R2,R0 Evt: 0 ; Run: 743 ; Res: 743 ; CLC: 70.# 1: 5: ASh R2,R0 Evt: 0 ; Run: 673 ; Res: 673 ; CLC: 77.# 1: 6: ASh R2,R0 Evt: 2 ; Run: 608 ; Res: 610 ; CLC: 85.# 1: 7: ASh R2,R0 Evt: 0 ; Run: 557 ; Res: 557 ; CLC: 94.# 1: 8: ASh R2,R0 Evt: 0 ; Run: 518 ; Res: 518 ; CLC: 101.# 1: 9: ASh R2,R0 Evt: 0 ; Run: 481 ; Res: 481 ; CLC: 108.# 1: 10: ASh R2,R0 Evt: 0 ; Run: 446 ; Res: 446 ; CLC: 117.# 1: 11: ASh R2,R0 Evt: 0 ; Run: 418 ; Res: 418 ; CLC: 125.# 1: 12: ASh R2,R0 Evt: 0 ; Run: 396 ; Res: 396 ; CLC: 132.# 1: 13: ASh R2,R0 Evt: 0 ; Run: 374 ; Res: 374 ; CLC: 139.# 1: 14: ASh R2,R0 Evt: 0 ; Run: 354 ; Res: 354 ; CLC: 147.# 1: 15: ASh R2,R0 Evt: 2 ; Run: 335 ; Res: 337 ; CLC: 155.# 1: 16: ASh R2,R0 Evt: 0 ; Run: 318 ; Res: 318 ; CLC: 164.# 1: 17: ASh R2,R0 Evt: 0 ; Run: 304 ; Res: 304 ; CLC: 172.# 1: 20: ASh R2,R0 Evt: 0 ; Run: 267 ; Res: 267 ; CLC: 195.# 1: 30: ASh R2,R0 Evt: 0 ; Run: 191 ; Res: 191 ; CLC: 274.# 1: 31: ASh R2,R0 Evt: 0 ; Run: 186 ; Res: 186 ; CLC: 281.# .RUN ASH4 ASH4 - v1.1 Memory Top: 122542 BUF words: 19337 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: 0: ASh R2,R0 Evt: 0 ; Run: 1338 ; Res: 1338 ; CLC: 38.9 1: -1: ASh R2,R0 Evt: 0 ; Run: 1232 ; Res: 1232 ; CLC: 42.2 1: -2: ASh R2,R0 Evt: 0 ; Run: 1088 ; Res: 1088 ; CLC: 47.8 1: -3: ASh R2,R0 Evt: 0 ; Run: 977 ; Res: 977 ; CLC: 53.# 1: -4: ASh R2,R0 Evt: 0 ; Run: 889 ; Res: 889 ; CLC: 59.# 1: -5: ASh R2,R0 Evt: 0 ; Run: 813 ; Res: 813 ; CLC: 64.# 1: -6: ASh R2,R0 Evt: 2 ; Run: 746 ; Res: 748 ; CLC: 70.# 1: -7: ASh R2,R0 Evt: 0 ; Run: 688 ; Res: 688 ; CLC: 76.# 1: -8: ASh R2,R0 Evt: 0 ; Run: 641 ; Res: 641 ; CLC: 81.# 1: -9: ASh R2,R0 Evt: 0 ; Run: 600 ; Res: 600 ; CLC: 87.# 1: -10: ASh R2,R0 Evt: 0 ; Run: 568 ; Res: 568 ; CLC: 92.# 1: -11: ASh R2,R0 Evt: 0 ; Run: 532 ; Res: 532 ; CLC: 98.# 1: -12: ASh R2,R0 Evt: 0 ; Run: 503 ; Res: 503 ; CLC: 104.# 1: -13: ASh R2,R0 Evt: 0 ; Run: 481 ; Res: 481 ; CLC: 108.# 1: -14: ASh R2,R0 Evt: 0 ; Run: 455 ; Res: 455 ; CLC: 115.# 1: -15: ASh R2,R0 Evt: 0 ; Run: 433 ; Res: 433 ; CLC: 120.# 1: -16: ASh R2,R0 Evt: 0 ; Run: 417 ; Res: 417 ; CLC: 125.# 1: -17: ASh R2,R0 Evt: 0 ; Run: 396 ; Res: 396 ; CLC: 132.# 1: -20: ASh R2,R0 Evt: 0 ; Run: 352 ; Res: 352 ; CLC: 148.# 1: -30: ASh R2,R0 Evt: 0 ; Run: 257 ; Res: 257 ; CLC: 203.# 1: -31: ASh R2,R0 Evt: 0 ; Run: 249 ; Res: 249 ; CLC: 210.#
- - - Добавлено - - -Код:RUN ASHC ASHC - v1.1 Memory Top: 122542 BUF words: 19498 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: Nop Evt: 38 ; Run: 4679 ; Res: 4717 ; CLC: 11.0 R2 = 0 1: AShC R2, R0 Evt: 0 ; Run: 962 ; Res: 962 ; CLC: 54.# 1: AShC R2, R1 Evt: 0 ; Run: 959 ; Res: 959 ; CLC: 54.# R2 = 1 1: AShC R2, R0 Evt: 0 ; Run: 807 ; Res: 807 ; CLC: 65.# 1: AShC R2, R1 Evt: 0 ; Run: 807 ; Res: 807 ; CLC: 65.# R2 = 8 1: AShC R2, R0 Evt: 0 ; Run: 389 ; Res: 389 ; CLC: 134.# 1: AShC R2, R1 Evt: 0 ; Run: 387 ; Res: 387 ; CLC: 135.# R2 = -1 1: AShC R2, R0 Evt: 0 ; Run: 867 ; Res: 867 ; CLC: 60.# 1: AShC R2, R1 Evt: 0 ; Run: 867 ; Res: 867 ; CLC: 60.# R2 = -8 1: AShC R2, R0 Evt: 0 ; Run: 426 ; Res: 426 ; CLC: 122.# 1: AShC R2, R1 Evt: 0 ; Run: 426 ; Res: 426 ; CLC: 122.# Program completed. .RUN ASHC1 ASHC1 - v1.1 Memory Top: 122542 BUF words: 19347 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: AShC #00., R0 Evt: 0 ; Run: 872 ; Res: 872 ; CLC: 60.# 1: AShC #01., R0 Evt: 0 ; Run: 757 ; Res: 757 ; CLC: 69.# 1: AShC #02., R0 Evt: 0 ; Run: 658 ; Res: 658 ; CLC: 79.# 1: AShC #03., R0 Evt: 0 ; Run: 583 ; Res: 583 ; CLC: 89.# 1: AShC #04., R0 Evt: 2 ; Run: 528 ; Res: 530 ; CLC: 98.# 1: AShC #05., R0 Evt: 0 ; Run: 481 ; Res: 481 ; CLC: 108.# 1: AShC #06., R0 Evt: 0 ; Run: 440 ; Res: 440 ; CLC: 118.# 1: AShC #07., R0 Evt: 0 ; Run: 403 ; Res: 403 ; CLC: 129.# 1: AShC #08., R0 Evt: 0 ; Run: 377 ; Res: 377 ; CLC: 138.# 1: AShC #09., R0 Evt: 0 ; Run: 351 ; Res: 351 ; CLC: 149.# 1: AShC #10., R0 Evt: 0 ; Run: 327 ; Res: 327 ; CLC: 160.# 1: AShC #11., R0 Evt: 0 ; Run: 309 ; Res: 309 ; CLC: 169.# 1: AShC #12., R0 Evt: 0 ; Run: 292 ; Res: 292 ; CLC: 179.# 1: AShC #13., R0 Evt: 0 ; Run: 275 ; Res: 275 ; CLC: 190.# 1: AShC #14., R0 Evt: 0 ; Run: 263 ; Res: 263 ; CLC: 198.# 1: AShC #15., R0 Evt: 0 ; Run: 248 ; Res: 248 ; CLC: 211.# 1: AShC #16., R0 Evt: 0 ; Run: 239 ; Res: 239 ; CLC: 218.# 1: AShC #17., R0 Evt: 0 ; Run: 228 ; Res: 228 ; CLC: 229.# 1: AShC #20., R0 Evt: 0 ; Run: 202 ; Res: 202 ; CLC: 259.# 1: AShC #30., R0 Evt: 0 ; Run: 144 ; Res: 144 ; CLC: 364.# 1: AShC #31., R0 Evt: 0 ; Run: 142 ; Res: 142 ; CLC: 369.# .RUN ASHC2 ASHC2 - v1.1 Memory Top: 122542 BUF words: 19344 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: AShC #000., R0 Evt: 0 ; Run: 871 ; Res: 871 ; CLC: 60.# 1: AShC #-01., R0 Evt: 0 ; Run: 806 ; Res: 806 ; CLC: 65.# 1: AShC #-02., R0 Evt: 0 ; Run: 710 ; Res: 710 ; CLC: 73.# 1: AShC #-03., R0 Evt: 0 ; Run: 636 ; Res: 636 ; CLC: 82.# 1: AShC #-04., R0 Evt: 0 ; Run: 572 ; Res: 572 ; CLC: 91.# 1: AShC #-05., R0 Evt: 0 ; Run: 520 ; Res: 520 ; CLC: 100.# 1: AShC #-06., R0 Evt: 0 ; Run: 480 ; Res: 480 ; CLC: 109.# 1: AShC #-07., R0 Evt: 0 ; Run: 444 ; Res: 444 ; CLC: 117.# 1: AShC #-08., R0 Evt: 0 ; Run: 413 ; Res: 413 ; CLC: 126.# 1: AShC #-09., R0 Evt: 0 ; Run: 384 ; Res: 384 ; CLC: 136.# 1: AShC #-10., R0 Evt: 0 ; Run: 360 ; Res: 360 ; CLC: 145.# 1: AShC #-11., R0 Evt: 0 ; Run: 340 ; Res: 340 ; CLC: 153.# 1: AShC #-12., R0 Evt: 0 ; Run: 322 ; Res: 322 ; CLC: 162.# 1: AShC #-13., R0 Evt: 0 ; Run: 306 ; Res: 306 ; CLC: 170.# 1: AShC #-14., R0 Evt: 0 ; Run: 289 ; Res: 289 ; CLC: 181.# 1: AShC #-15., R0 Evt: 0 ; Run: 275 ; Res: 275 ; CLC: 190.# 1: AShC #-16., R0 Evt: 0 ; Run: 264 ; Res: 264 ; CLC: 198.# 1: AShC #-17., R0 Evt: 0 ; Run: 251 ; Res: 251 ; CLC: 208.# 1: AShC #-20., R0 Evt: 0 ; Run: 224 ; Res: 224 ; CLC: 233.# 1: AShC #-30., R0 Evt: 0 ; Run: 162 ; Res: 162 ; CLC: 323.# 1: AShC #-31., R0 Evt: 0 ; Run: 157 ; Res: 157 ; CLC: 333.# .RUN ASHC3 ASHC3 - v1.1 Memory Top: 122542 BUF words: 19342 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: 0: AShC R2,R0 Evt: 0 ; Run: 962 ; Res: 962 ; CLC: 54.# 1: 1: AShC R2,R0 Evt: 0 ; Run: 807 ; Res: 807 ; CLC: 65.# 1: 2: AShC R2,R0 Evt: 1 ; Run: 698 ; Res: 699 ; CLC: 74.# 1: 3: AShC R2,R0 Evt: 0 ; Run: 620 ; Res: 620 ; CLC: 84.# 1: 4: AShC R2,R0 Evt: 0 ; Run: 551 ; Res: 551 ; CLC: 95.# 1: 5: AShC R2,R0 Evt: 0 ; Run: 498 ; Res: 498 ; CLC: 105.# 1: 6: AShC R2,R0 Evt: 0 ; Run: 458 ; Res: 458 ; CLC: 114.# 1: 7: AShC R2,R0 Evt: 0 ; Run: 421 ; Res: 421 ; CLC: 124.# 1: 8: AShC R2,R0 Evt: 0 ; Run: 387 ; Res: 387 ; CLC: 135.# 1: 9: AShC R2,R0 Evt: 0 ; Run: 360 ; Res: 360 ; CLC: 145.# 1: 10: AShC R2,R0 Evt: 0 ; Run: 339 ; Res: 339 ; CLC: 154.# 1: 11: AShC R2,R0 Evt: 0 ; Run: 317 ; Res: 317 ; CLC: 165.# 1: 12: AShC R2,R0 Evt: 0 ; Run: 298 ; Res: 298 ; CLC: 175.# 1: 13: AShC R2,R0 Evt: 0 ; Run: 284 ; Res: 284 ; CLC: 184.# 1: 14: AShC R2,R0 Evt: 1 ; Run: 267 ; Res: 268 ; CLC: 195.# 1: 15: AShC R2,R0 Evt: 0 ; Run: 256 ; Res: 256 ; CLC: 204.# 1: 16: AShC R2,R0 Evt: 0 ; Run: 242 ; Res: 242 ; CLC: 216.# 1: 17: AShC R2,R0 Evt: 0 ; Run: 233 ; Res: 233 ; CLC: 224.# 1: 20: AShC R2,R0 Evt: 0 ; Run: 204 ; Res: 204 ; CLC: 256.# 1: 30: AShC R2,R0 Evt: 0 ; Run: 147 ; Res: 147 ; CLC: 356.# 1: 31: AShC R2,R0 Evt: 0 ; Run: 143 ; Res: 143 ; CLC: 366.# .RUN ASHC4 ASHC4 - v1.1 Memory Top: 122542 BUF words: 19336 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: 0: AShC R2,R0 Evt: 0 ; Run: 955 ; Res: 955 ; CLC: 55.# 1: -1: AShC R2,R0 Evt: 0 ; Run: 873 ; Res: 873 ; CLC: 60.# 1: -2: AShC R2,R0 Evt: 0 ; Run: 760 ; Res: 760 ; CLC: 69.# 1: -3: AShC R2,R0 Evt: 1 ; Run: 673 ; Res: 674 ; CLC: 77.# 1: -4: AShC R2,R0 Evt: 0 ; Run: 604 ; Res: 604 ; CLC: 86.# 1: -5: AShC R2,R0 Evt: 0 ; Run: 548 ; Res: 548 ; CLC: 95.# 1: -6: AShC R2,R0 Evt: 0 ; Run: 498 ; Res: 498 ; CLC: 105.# 1: -7: AShC R2,R0 Evt: 0 ; Run: 461 ; Res: 461 ; CLC: 113.# 1: -8: AShC R2,R0 Evt: 0 ; Run: 427 ; Res: 427 ; CLC: 122.# 1: -9: AShC R2,R0 Evt: 0 ; Run: 397 ; Res: 397 ; CLC: 131.# 1: -10: AShC R2,R0 Evt: 0 ; Run: 374 ; Res: 374 ; CLC: 139.# 1: -11: AShC R2,R0 Evt: 0 ; Run: 350 ; Res: 350 ; CLC: 149.# 1: -12: AShC R2,R0 Evt: 0 ; Run: 330 ; Res: 330 ; CLC: 158.# 1: -13: AShC R2,R0 Evt: 0 ; Run: 314 ; Res: 314 ; CLC: 166.# 1: -14: AShC R2,R0 Evt: 0 ; Run: 296 ; Res: 296 ; CLC: 176.# 1: -15: AShC R2,R0 Evt: 0 ; Run: 284 ; Res: 284 ; CLC: 184.# 1: -16: AShC R2,R0 Evt: 0 ; Run: 271 ; Res: 271 ; CLC: 193.# 1: -17: AShC R2,R0 Evt: 0 ; Run: 257 ; Res: 257 ; CLC: 203.# 1: -20: AShC R2,R0 Evt: 0 ; Run: 227 ; Res: 227 ; CLC: 230.# 1: -30: AShC R2,R0 Evt: 0 ; Run: 165 ; Res: 165 ; CLC: 317.# 1: -31: AShC R2,R0 Evt: 0 ; Run: 160 ; Res: 160 ; CLC: 327.#
- - - Добавлено - - -Код:RUN BIS BiS - v1.1 CPU KHz: 5300 > 2600 CPU KHz: 2600 R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0) BiS R1 11 20 20 26 22 29 28 20 34 BiS (R1) 15 24 24 31 26 33 32 24 39 BiS (R2)+ 15 24 24 31 26 33 32 24 39 BiS (PC)+ 15 24 24 31 26 33 32 24 39 BiS @(R2)+ 22 31 31 37 33 40 39 31 45 BiS -(R1) 17 26 26 33 29 36 34 26 41 BiS @-(R1) 24 33 33 40 36 42 41 33 48 BiS Addr 23 32 32 39 34 41 40 32 47 BiS @Tab(R1) 30 39 39 45 41 48 47 39 53 Program completed. .RUN BISB BiSB - v1.1 CPU KHz: 5300 > 2600 CPU KHz: 2600 R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2) BiSB R1 10 18 18 24 20 26 25 18 32 BiSB (R1) 13 21 21 28 23 30 29 22 36 BiSB (R4)+ 15 23 23 30 25 32 31 24 37 BiSB (PC)+ 14 22 22 29 24 31 30 23 37 BiSB @(R2)+ 20 28 28 34 30 37 36 29 42 BiSB -(R1) 17 25 25 32 28 34 33 26 40 BiSB @-(R3) 22 30 30 37 32 39 37 31 44 BiSB Addr 21 29 29 36 31 37 37 30 43 BiSB @Tab(R3) 27 36 36 42 37 44 43 37 50 Program completed. .RUN CMP Cmp - v1.1 CPU KHz: 5300 > 2600 CPU KHz: 2600 R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0) Cmp R1 11 16 16 23 18 25 24 16 31 Cmp (R1) 15 21 21 27 23 30 29 21 35 Cmp (R2)+ 15 21 21 27 23 30 29 21 35 Cmp (PC)+ 15 21 21 27 23 30 29 21 35 Cmp @(R2)+ 22 27 27 34 30 37 35 27 42 Cmp -(R1) 17 23 23 30 25 32 31 23 37 Cmp @-(R1) 24 30 30 37 32 39 37 30 44 Cmp Addr 23 29 29 35 31 37 37 29 43 Cmp @Tab(R1) 30 35 35 42 37 44 43 35 50 Program completed. .RUN CMPB CmpB - v1.1 CPU KHz: 5300 > 2600 CPU KHz: 2600 R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2) CmpB R1 10 14 14 21 16 23 22 15 29 CmpB (R1) 13 18 18 25 20 27 25 18 32 CmpB (R4)+ 15 20 20 27 22 29 27 21 34 CmpB (PC)+ 14 18 18 25 21 28 27 20 33 CmpB @(R2)+ 20 25 25 31 27 33 32 25 39 CmpB -(R1) 17 22 22 29 24 31 30 23 37 CmpB @-(R3) 22 27 27 33 29 35 34 28 41 CmpB Addr 21 25 25 32 27 34 33 26 40 CmpB @Tab(R3) 28 32 32 39 34 41 40 33 47 Program completed.
- - - Добавлено - - -Код:RUN DIV DIV - v1.1 Memory Top: 122542 BUF words: 19542 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: Nop Evt: 0 ; Run: 4711 ; Res: 4711 ; CLC: 11.0 R2/177772 ; R1/000005 ; R0/000005 1: Div R2, R0 Evt: 0 ; Run: 212 ; Res: 212 ; CLC: 246.# 1: Div R2, R1 Evt: 0 ; Run: 212 ; Res: 212 ; CLC: 246.# R2/177772 ; R1/000000 ; R0/000000 1: Div R2, R0 Evt: 0 ; Run: 211 ; Res: 211 ; CLC: 248.# R2/000177 ; R1/000000 ; R0/001777 1: Div R2, R0 Evt: 0 ; Run: 1000 ; Res: 1000 ; CLC: 52.0 R2/000000 ; R1/000000 ; R0/001777 1: Div R2, R0 Evt: 0 ; Run: 1003 ; Res: 1003 ; CLC: 51.8 Program completed. .RUN JMP JMP - v1.4 Memory Top: 122542 BUF words: 19563 CPU KHz: 5300 > 2600 CPU KHz: 2600 SOB Loops: 3368 ; CLC: 15.4 Br Loops: 1952 ; CLC: 11.2 Jmp (R0) Loops: 1814 ; CLC: 13.2 Jmp (PC) Loops: 1801 ; CLC: 13.4 Jmp (PC)+ Loops: 1673 ; CLC: 15.7 Mov R0, PC Loops: 1965 ; CLC: 11.0 Add R0, PC Loops: 1956 ; CLC: 11.2 Jmp LABEL Loops: 1504 ; CLC: 19.1 Jmp @#Addr Loops: 1619 ; CLC: 16.7 Jmp @(R0)+ Loops: 1619 ; CLC: 16.7 Jmp @-(R0) Loops: 1504 ; CLC: 19.1 Jmp xx(R0) Loops: 1514 ; CLC: 18.9 Jmp @x(R0) Loops: 1297 ; CLC: 24.7 Jmp @Var Loops: 1296 ; CLC: 24.7 Program completed. .RUN JSR JSR - v1.2 Memory Top: 122542 BUF words: 19488 CPU KHz: 5300 > 2600 CPU KHz: 2600 SOB Loops: 3344 ; CLC: 15.6 Loop Loops: 1059 ; CLC: 33.6 Loop +Interrupt Loops: 517 ; CLC: 85.0 IOT Loops: 694 ; CLC: 59.4 Trap Loops: 771 ; CLC: 51.9 JSR PC, (R0) Loops: 1166 ; CLC: 29.0 JSR R0, (PC) Loops: 1166 ; CLC: 29.0 JSR PC, (PC) Loops: 1167 ; CLC: 29.0 JSR PC, (PC)+ Loops: 1119 ; CLC: 30.9 JSR PC,@(PC)+ Loops: 1087 ; CLC: 32.3 JSR PC,@(R0)+ Loops: 1085 ; CLC: 32.4 JSR PC,@(SP)+ Loops: 1084 ; CLC: 32.4 JSR PC,@-(R0) Loops: 1042 ; CLC: 34.4 JSR R1,@-(R0) Loops: 1042 ; CLC: 34.4 JSR PC, Label Loops: 1034 ; CLC: 34.7 JSR PC,@Var Loops: 933 ; CLC: 40.2 JSR R1,@x(R0) Loops: 935 ; CLC: 40.1 .RUN MOV Mov - v1.1 CPU KHz: 5300 > 2600 CPU KHz: 2600 R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0) Mov R1 11 15 16 22 18 24 23 16 30 Mov (R1) 15 20 21 26 22 29 28 21 34 Mov (R2)+ 15 20 21 26 22 29 28 21 34 Mov (PC)+ 15 20 21 26 22 29 28 21 34 Mov @(R2)+ 22 26 28 33 29 36 34 28 41 Mov -(R1) 17 22 23 29 24 31 30 23 37 Mov @-(R1) 24 29 30 36 31 37 37 30 43 Mov Addr 23 28 29 34 30 37 36 29 42 Mov @Tab(R1) 30 34 36 41 37 43 42 36 49 Program completed. .RUN MOVB MovB - v1.1 CPU KHz: 5300 > 2600 CPU KHz: 2600 R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2) MovB R1 12 18 18 25 20 26 25 18 32 MovB (R1) 15 21 21 28 23 30 29 22 36 MovB (R4)+ 17 23 23 30 25 32 31 24 37 MovB (PC)+ 16 22 22 29 24 31 30 23 37 MovB @(R2)+ 22 28 28 34 30 37 36 29 42 MovB -(R1) 20 25 25 32 28 34 33 26 40 MovB @-(R3) 24 30 30 37 32 39 37 31 44 MovB Addr 23 29 29 36 31 37 37 30 43 MovB @Tab(R3) 30 36 36 42 37 44 43 37 50 Program completed.
- - - Добавлено - - -Код:RUN MOVPC1 MovPC - v1.2 CPU KHz: 5300 > 2600 CPU KHz: 2600 Mov (PC), (PC)+ 21.4 MovB (PC), (PC)+ 22.4 Mov (PC), R0 15.5 MovB (PC), R0 15.5 Mov (PC), (PC) 20.1 MovB (PC), (PC) 21.5 Mov (PC)+, R0 15.5 MovB (PC)+, R0 16.8 Mov R0, (PC)+ 16.8 MovB R0, (PC)+ 18.9 Program completed. .RUN MOVPC2 MovPC2 - v1.2 Memory Top: 122542 BUF words: 19530 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: Nop Evt: 18 ; Run: 4710 ; Res: 4728 ; CLC: 11.0 1: Mov R0, R0 Evt: 9 ; Run: 4676 ; Res: 4685 ; CLC: 11.1 1: Mov R0, (PC) Evt: 6 ; Run: 3312 ; Res: 3318 ; CLC: 15.7 1: MovB R0, (PC) Evt: 6 ; Run: 2825 ; Res: 2831 ; CLC: 18.4 1: Mov (PC), R0 Evt: 6 ; Run: 3365 ; Res: 3371 ; CLC: 15.4 1: MovB (PC), R0 Evt: 6 ; Run: 3341 ; Res: 3347 ; CLC: 15.5 ::: SP = PC ::: 1: Mov R0, (SP)+ Evt: 5 ; Run: 3100 ; Res: 3105 ; CLC: 16.7 1: MovB R0, (SP)+ Evt: 5 ; Run: 2753 ; Res: 2758 ; CLC: 18.9 1: Mov (SP),(SP)+ Evt: 4 ; Run: 2440 ; Res: 2444 ; CLC: 21.3 1: MovB (SP),(SP)+ Evt: 5 ; Run: 2316 ; Res: 2321 ; CLC: 22.4 Program completed. .RUN MUL MUL - v1.1 Memory Top: 122542 BUF words: 19458 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: Nop Evt: 38 ; Run: 4677 ; Res: 4715 ; CLC: 11.0 R2/177777 ; R1/000377 ; R0/177777 1: Mul R2, R0 Evt: 0 ; Run: 616 ; Res: 616 ; CLC: 85.# 1: Mul R2, R1 Evt: 0 ; Run: 417 ; Res: 417 ; CLC: 125.# R2/177777 ; R1/000000 ; R0/000000 1: Mul R2, R0 Evt: 0 ; Run: 616 ; Res: 616 ; CLC: 85.# 1: Mul R2, R1 Evt: 0 ; Run: 620 ; Res: 620 ; CLC: 84.# R2/000001 ; R1/000377 1: Mul R2, R1 Evt: 0 ; Run: 436 ; Res: 436 ; CLC: 120.# R2/000017 ; R1/000377 1: Mul R2, R1 Evt: 0 ; Run: 351 ; Res: 351 ; CLC: 149.# R2/000177 ; R1/000377 1: Mul R2, R1 Evt: 0 ; Run: 350 ; Res: 350 ; CLC: 149.# R2/001777 ; R1/000377 1: Mul R2, R1 Evt: 0 ; Run: 263 ; Res: 263 ; CLC: 198.# R2/017777 ; R1/000377 1: Mul R2, R1 Evt: 0 ; Run: 271 ; Res: 271 ; CLC: 193.# .RUN OP1 Op1 - v1.1 CPU KHz: 5300 > 2600 CPU KHz: 2600 SOB : 15 ! Last SOB : 13 ! Br : 11 ! BCS : 11 ! BCC : 11 ! SeC : 11 R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0) Tst 13 18 18 25 21 27 27 18 33 TstB 12 16 16 23 18 25 24 17 31 Inc 13 22 22 29 24 31 30 22 37 IncB 12 20 20 26 22 29 28 21 34 Clr 12 20 20 26 22 29 28 20 34 ClrB 12 18 18 25 21 28 27 20 33 MTPS 24 31 31 37 33 40 39 32 45 MFPS 22 28 28 34 30 37 36 29 42 XOr 11 20 20 26 22 29 28 20 34 SwaB 13 21 21 28 23 30 29 21 36 SXt 18 28 28 34 30 37 36 28 42 Program completed. .RUN RTS RTS - v1.1 Memory Top: 122542 BUF words: 19574 CPU KHz: 5300 > 2600 CPU KHz: 2600 1: Nop Evt: 9 ; Run: 4675 ; Res: 4684 ; CLC: 11.1 1: RtS PC Evt: 6 ; Run: 3098 ; Res: 3104 ; CLC: 16.8 1: RtS R0 Evt: 6 ; Run: 3108 ; Res: 3114 ; CLC: 16.7 1: RtS R1 Evt: 22 ; Run: 3108 ; Res: 3130 ; CLC: 16.6 1: RtI Evt: 17 ; Run: 1868 ; Res: 1885 ; CLC: 27.6 1: RtT Evt: 17 ; Run: 1868 ; Res: 1885 ; CLC: 27.6 Program completed.
А EIS,FIS тесты есть?
Во время работы над демкой Good Apple написал много тестов производительности. Мне нужно было знать точное время выполнения команд и - главное - целых блоков кода (выяснилось, что в силу архитектурных особенностей контроллера динамической памяти БК, сумма длительностей взятых по отдельности команд может не совпадать с реальной длительностью всего блока кода). Нужно это было потому, что я хотел выводить звук на Covox ровно каждые 176 тактов процессора, дабы поддерживать постоянную частоту звука 22727 Гц безо всякого джиттера.
Расчёт проводил как для медленной динамической памяти, так и помещая код в быструю верхнюю память контроллера жесткого диска. Результаты, конечно, разные.
Решил выложить часть тестов, чтобы все могли сверить свои эмуляторы
Исходники здесь же. Можете тестировать произвольные блоки кода и любые команды по отдельности.
speed-tests-manwe-1.zip
Вскоре собираюсь доделать тесты до конца (все команды) и выложить в отдельную тему в разделе БК-0010/11
Пока что промежуточные исходники и бинарники здесь.
Несколько примеров для БК-0010-01 3 МГц:
Аргументы fast, fm, f предназначались для обращения в fast memory, но по-моему там идёт обращение к тому типу памяти, который указан в заголовке теста. То есть для теста 45com-lo это будет обращение в low (нижнюю медленную) память.
Ещё картинки:
Скрытый текст
http://thesands.ru/bk0010/temp/45com-hi.jpg
http://thesands.ru/bk0010/temp/speed-lo.jpg
http://thesands.ru/bk0010/temp/speed-hi.jpg
http://thesands.ru/bk0010/temp/test4lo.jpg
http://thesands.ru/bk0010/temp/test4hi.jpg
http://thesands.ru/bk0010/temp/test5lo.jpg
http://thesands.ru/bk0010/temp/test5hi.jpg
[свернуть]
Производительность понятно как посчитать: 3 мегагерца делим на число тактов команды. Например, получаем 250'000 операций NOP в секунду. Отсюда одна команда NOP длится 4 микросекунды. В условиях выполнения в обычной медленной памяти.
Последний раз редактировалось Manwe; 27.09.2018 в 14:12.
manwe.pdp-11.ru
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU
На МПИ реализуется цикл "Безадресное чтение". В этом цикле выставляются только сигналы SEL и DIN, SYNC неактивен. Соответственно на шину должно выставится содержимое безадресного регистра, отвечать RPLY не надо. Этот же цикл реализуется и при прерываниях режима HALT, таких как останов, двойное зависание, ошибка получения адреса вектора прерывания, обработка команд FIS.
Соответственно ни в какой стек не лезет.
MM(07.12.2019)
МС1201.01 с процессором 1801ВМ1Г.
Тест от Титуса.
ASH (test 1) -ERROR 0x47F3 / TRAP 10
ASH (test 2) -ERROR 0xB7C3 / TRAP 10
ASHC (even) -ERROR 0x69EB / TRAP 10
ASHC (odd) -ERROR 0x32A3 / TRAP 10
DIV (even) -ERROR 0x9E4A / TRAP 10
DIV (odd) -ERROR 0x43D5 / TRAP 10
Остальные команды- OK.
Тест SPEED показывает только сложение.
RT11 по команде SH CON показывает EIS.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)