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

User Tag List

Страница 27 из 29 ПерваяПервая ... 23242526272829 ПоследняяПоследняя
Показано с 261 по 270 из 282

Тема: Отечественные компьютеры: быстродействие

  1. #261
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vladtru Посмотреть сообщение
    Более новый вариант (04-02-2016)
    Прогнал Basic-тесты на реальном железе: БК 0010 и БК 0011М. Результаты БК 0010 немного отличаются от тех, что в таблице (насколько я понял, они получены из эмулятора). БК 0011М в таблице не было, так что встречайте новичка :)

    Таблица БК 0010 и 0011
    manwe.pdp-11.ru

  2. Этот пользователь поблагодарил Manwe за это полезное сообщение:

    vladtru (21.04.2020)

  3. #262
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Manwe, а можно было нормально поделиться, без вот этой гейской пропаганды? Она закрывает часть таблицы и её нельзя закрыть не вводя чего либо.

  4. #263
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,561
    Спасибо Благодарностей отдано 
    925
    Спасибо Благодарностей получено 
    871
    Поблагодарили
    635 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    HardWareMan, например



    F12.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

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

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  5. #264
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Black Cat / Era CG, ради чего? Кто больше заинтересован в этом? Ответишь на вопрос - сразу всё поймёшь.

  6. #265
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,561
    Спасибо Благодарностей отдано 
    925
    Спасибо Благодарностей получено 
    871
    Поблагодарили
    635 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    HardWareMan, да мне ж пофиг. Вижу фигню - убираю фигню. Все просто
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

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

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  7. Этот пользователь поблагодарил Black Cat / Era CG за это полезное сообщение:

    HardWareMan (18.04.2020)

  8. #266
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Скорость исполнения команды MOV с разными типами адресации на БК 0010 и БК 0011М (частоты 3, 4, 6 МГц, память медленная штатная и быстрая статическая в контроллере дисковода).

    Таблица
    manwe.pdp-11.ru

  9. Эти 2 пользователя(ей) поблагодарили Manwe за это полезное сообщение:

    svofski (20.04.2020), vladtru (04.05.2020)

  10. #267
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black Cat / Era CG Посмотреть сообщение
    Вижу фигню - убираю фигню.
    всё равно в остатке тоже фигня, которую хрен еще сохранишь нормально

    - - - Добавлено - - -

    я поставил было даже спасибку Manwe, поскольку за цифры никого не западло поблагодарить

    - - - Добавлено - - -

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

  11. #268
    Member
    Регистрация
    20.05.2013
    Адрес
    г. Ейск
    Сообщений
    197
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от LeoN65816 Посмотреть сообщение
    Цифры.
    ПЭВМ: модернизированный АГАТ-9.
    ЦП: 65C802 (умеет 6502, 65C02 и 65C816, распиновка 6502).
    Частота: стандарт 1.021МГц, турбо 2.8 МАХа и 3.5 МАХа.
    Операция: копирование блока памяти и заполнение блока памяти константой.
    Вложение 72244
    Очень интересная таблица, показывающая хотя бы в частном случае разницу между 6502 и 65816. Да и 6502 – тоже достаточно загадочный для меня, например, процессор. Известно, что по средней скорости в тестах при частоте 1 МГц он вполне сравним с 8080 на 2,5 МГц (часто даже быстрее) или даже с Z80 на частотах больше 3 МГц. А вот копирование и заполнение блоков памяти – слабая сторона 6502, так как нет ни спец. команд для этого (как у Z80), ни полноценных стековых операций, использующих всё адресное пространство, а не только нулевую страницу.

    Подскажите, пожалуйста, подробности, как вы тестировали. Можно ли увидеть сами тестовые фрагменты на ассемблере? Данные по скорости достаточно загадочные – например, не совсем понятно, как реализованы первые два варианта теста (где скорость невысокая) – после копирования каждого байта идут операции организации цикла или всё же цикл в какой-то степени развёрнут? А в быстрых вариантах используются стековые команды (Push)? (тогда копирование возможно только в нулевой странице?)

    Вообще, насколько я могу судить, наиболее интересно классическое копирование блоков памяти с произвольного адреса на произвольный адрес (на всем адресном пространстве, конечно) в развёрнутых циклах (обычно копируются фрагменты какой-то определенной длины – скажем, при выводе на экран, и программисты все равно стараются развернуть цикл, насколько возможно), а также наиболее быстрые способы (как у вас в таблице) – с нахождением данных или их адресов прямо в коде (типа LXI/PUSH для 8080) и опять же развернутыми циклами. Хорошо бы также указать, сколько тактов нужно на команды организации циклов (до 256 повторений и больше 256) – тогда можно добавлять их к тактам развернутых циклов и получить точные данные для любого числа повторений одинаковых цепочек команд внутри цикла.

  12. #269
    Master
    Регистрация
    20.06.2014
    Адрес
    г. Орск, Оренбургская обл.
    Сообщений
    778
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    62
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Здесь обновлённые данные.

    Цитата Сообщение от vladtru Посмотреть сообщение
    Да и 6502 – тоже достаточно загадочный для меня, например, процессор.
    Очень простой и шустрый процик. А 65816 еще лучше и вкуснее. Это как Z80 является улучшенной версией i8080, так и 65816 является улучшенной версией 6502, но намного значительнее улучшенной про сравнению Z80/i8080. Даже был разработан еще более продвинутый 32-битный 65832, но, к сожалению, он так и не выпускался...

    Цитата Сообщение от vladtru Посмотреть сообщение
    Известно, что по средней скорости в тестах при частоте 1 МГц он вполне сравним с 8080 на 2,5 МГц (часто даже быстрее) или даже с Z80 на частотах больше 3 МГц.
    А если i8080 и Z80 дать прикурить на 1 МГц, то будут ли они шустрее, чем 6502 на той же частоте?
    А если 6502 дать прикурить на 2.5 МГц или 3 МГц, то будет ли он шустрее, чем i8080 или Z80 на той же частоте?
    Таблица и видео всё наглядно показывают. Так что вывод совершенно очевиден!!!

    Цитата Сообщение от vladtru Посмотреть сообщение
    А вот копирование и заполнение блоков памяти – слабая сторона 6502, так как нет ни спец. команд для этого (как у Z80)
    Я бы так не судил. У 6502 подпрограмма копирования блока памяти работает быстрее (16 такт/байт, а если совсем точнее: 16 + (5+5+5+3)/256 = 16.0703125 такт/байт), чем инструкция копирования блока памяти у Z80 (LDIR: 21 такт/байт). Предвижу вопли спектрумистов: "Ну как же? А LDI нам даёт 16 тактов, а не 21!". На что еще раз обращу внимание: копирование блока памяти (да хоть 64КиБ!!!), а не одиночного байта одной инструкцией LDI!
    Ну а заполнение блока памяти еще шустрее - 11 такт/байт (точнее 11 + (5+5+3)/256 = 11.05078125 такт/байт).
    65816 имеет инструкции копирования блока памяти MVN/MVP - полный аналог LDIR/LDDR у Z80, только втрое (!!!) шустрее - 7 такт/байт против 21 у Z80. Вообще-то даже 7 такт/байт - это медленно... Можно было бы уложиться и в 3 такт/байт!

    Цитата Сообщение от vladtru Посмотреть сообщение
    Подскажите, пожалуйста, подробности, как вы тестировали. Можно ли увидеть сами тестовые фрагменты на ассемблере? Данные по скорости достаточно загадочные – например, не совсем понятно, как реализованы первые два варианта теста (где скорость невысокая) – после копирования каждого байта идут операции организации цикла или всё же цикл в какой-то степени развёрнут?

    Инструкция копирования, подпрограмма копирования, подпрограмма заполнения


    Код:
    zp00    =       $00
    zp02    =       $02
    zp04    =       $04
    
    zp10    =       $10
    
    Tick    =       $80
    
    Pos     =       $90
    
    Screen  =       $4000
    SizeOfScreen    = $4000
    
    NMI_On  =       $C040
    NMI_Off =       $C020
    
    
            .ba     $F800
    
            .cpu    65816
    
    Reset
            sei
            cld
            ldx     #$FF
            txs
            sta     $C100
            sta     $C111
            sta     $C122
            sta     $C133
            sta     $C144
            sta     $C058
            sta     $C05A
    
    
    Main
            bit     NMI_Off
            ldx     #0
            lda     #" "
    -       sta     $800,x
            sta     $900,x
            sta     $A00,x
            sta     $B00,x
            sta     $C00,x
            sta     $D00,x
            sta     $E00,x
            sta     $F00,x
            inx
            bne     -
            sta     $C786
    
            stz     zp10
            lda     #$A
            sta     zp10+1
            ldx     #0
            stx     Pos
    -       lda     Mes1,x
            beq     +
            jsr     Send
            inx
            bra     -
    +
    
            stz     zp10
            lda     #$C
            sta     zp10+1
            ldx     #0
            stx     Pos
    -       lda     Mes2,x
            beq     +
            jsr     Send
            inx
            bra     -
    +
    
            jsr     Delay5s
    
    
    
    
    ;       65816 MVN
    
            sta     $C720
            clc
            xce
            rep     #$30
            .al
            .rl
    
            lda     #$FFFE
            sta     Tick
    -
            lda     Tick
            bne     -
    
            lda     #64
            sta     zp04
    -
            lda     zp04
            and     #3
            tax
            lda     ColorTable,x
            sta     Screen
            ldx     #Screen
            ldy     #Screen+1
            lda     #SizeOfScreen-2
    
    ;----------------------
    ;main cycle, 7 ticks/byte
            mvn     0,0	;7
    ;----------------------
    
            dec     zp04
            bne     -
    
            bit     NMI_Off
            sec
            xce
            .as
            .rs
    
            sta     $C786
    
            lda     Tick+1
            jsr     PrintTwoDigits
            lda     Tick
            jsr     PrintTwoDigits
    
    
            stz     zp10
            lda     #$D
            sta     zp10+1
            ldx     #0
            stx     Pos
    -       lda     Mes3,x
            beq     +
            jsr     Send
            inx
            bra     -
    +
            jsr     Delay5s
    
    
    
    
    ;       6502 MoveMemory
    
            sta     $C720
    
            lda     #$FF
            sta     Tick+1
            lda     #$FE
            sta     Tick
    -
            lda     Tick
            bne     -
    
            lda     #64
            sta     zp04
    MM01
            lda     zp04
            and     #3
            tax
            lda     ColorTable,x
            sta     Screen
            lda     #1
            sta     zp02
            ldy     #0
            sty     zp00
            lda     #>Screen
            sta     zp00+1
            sta     zp02+1
            lda     #>SizeOfScreen
            sta     zp04+1
    
    ;----------------------
    ;main cycle, 16 ticks/byte
    -
            lda     (zp00),y	;5
            sta     (zp02),y	;6
            iny			;2
            bne     -		;3
    ;----------------------
    
            inc     zp00+1		;5
            inc     zp02+1		;5
            dec     zp04+1		;5
            bne     -		;3
            dec     zp04
            bne     MM01
    
            bit     NMI_Off
    
            sta     $C786
    
            lda     Tick+1
            jsr     PrintTwoDigits
            lda     Tick
            jsr     PrintTwoDigits
    
    
            stz     zp10
            lda     #$E
            sta     zp10+1
            ldx     #0
            stx     Pos
    -       lda     Mes4,x
            beq     +
            jsr     Send
            inx
            bra     -
    +
            jsr     Delay5s
    
    
    
    ;       6502 FillMemory
    
            sta     $C720
    
            lda     #$FF
            sta     Tick+1
            lda     #$FE
            sta     Tick
    -
            lda     Tick
            bne     -
    
            lda     #64
            sta     zp04
    FM01
            ldy     #0
            sty     zp00
            lda     #>Screen
            sta     zp00+1
            lda     #>SizeOfScreen
            sta     zp04+1
    
            lda     zp04
            and     #3
            tax
            lda     ColorTable,x
    
    ;----------------------
    ;main cycle, 11 ticks/byte
    -
            sta     (zp00),y	;6
            iny			;2
            bne     -		;3
    ;----------------------
    
            inc     zp00+1		;5
            dec     zp04+1		;5
            bne     -		;3
            dec     zp04
            bne     FM01
    
            bit     NMI_Off
    
            sta     $C786
    
            lda     Tick+1
            jsr     PrintTwoDigits
            lda     Tick
            jsr     PrintTwoDigits
    
    
            jsr     Delay5s
            jsr     Delay5s
    
            jmp     Main
    
    
    
    ColorTable   .by     0, $55, $AA, $FF
    
    
    
    Delay2s
            bit     NMI_Off
            stz     Tick
            stz     Tick+1
            bit     NMI_On
    -
            lda     Tick
            cmp     #100
            bne     -
            rts
    
    
    Delay5s
            bit     NMI_Off
            stz     Tick
            stz     Tick+1
            bit     NMI_On
    -
            lda     Tick
            cmp     #250
            bne     -
            rts
    
    
    PrintTwoDigits
            pha
            lsr
            lsr
            lsr
            lsr
            jsr     PrintDigit
            pla
            and     #15
            jsr     PrintDigit
            rts
    
    PrintDigit
            tax
            lda     HexDigit,x
            jsr     Send
            rts
    
    
    Send
            ldy     Pos
            sta     (zp10),y
            inc     Pos
            rts
    
    
    ;        .PETSCII
    
    HexDigit
    ;        .tx     "0123456789ABCDEF"
            .db     $B0, $B1, $B2, $B3, $B4, $B5, $B6, $B7
            .db     $B8, $B9, $C1, $C2, $C3, $C4, $C5, $C6
    
    Mes1
    ;        .tx     "Filling 64 screens 256x256x4colors (1MB) in NMI ticks:"
            .db     $C6, $49, $4C, $4C, $49, $4E, $47, $A0
            .db     $B6, $B4, $A0, $53, $43, $52, $45, $45
            .db     $4E, $53, $A0, $B2, $B5, $B6, $58, $B2
            .db     $B5, $B6, $58, $B4, $43, $4F, $4C, $4F
            .db     $52, $53, $A0, $A8, $B1, $CD, $C2, $A9
            .db     $A0, $49, $4E, $A0, $CE, $CD, $C9, $A0
            .db     $54, $49, $43, $4B, $53, $BA
            .db     0
    
    Mes2
    ;        .tx     "65816 MVN instruction (7 clocks/byte) - $"
            .db     $B6, $B5, $B8, $B1, $B6, $A0, $CD, $D6
            .db     $CE, $A0, $49, $4E, $53, $54, $52, $55
            .db     $43, $54, $49, $4F, $4E, $A0, $A8, $B7
            .db     $A0, $43, $4C, $4F, $43, $4B, $53, $AF
            .db     $42, $59, $54, $45, $A9, $A0, $AD, $A0
            .db     $A4
            .db     0
    
    Mes3
    ;        .tx     "6502 MoveMemory Sub  (16 clocks/byte) - $"
            .db     $B6, $B5, $B0, $B2, $A0, $CD, $4F, $56
            .db     $45, $CD, $45, $4D, $4F, $52, $59, $A0
            .db     $D3, $55, $42, $A0, $A0, $A8, $B1, $B6
            .db     $A0, $43, $4C, $4F, $43, $4B, $53, $AF
            .db     $42, $59, $54, $45, $A9, $A0, $AD, $A0
            .db     $A4
            .db     0
    
    Mes4
    ;        .tx     "6502 FillMemory Sub  (11 clocks/byte) - $"
            .db     $B6, $B5, $B0, $B2, $A0, $C6, $49, $4C
            .db     $4C, $CD, $45, $4D, $4F, $52, $59, $A0
            .db     $D3, $55, $42, $A0, $A0, $A8, $B1, $B1
            .db     $A0, $43, $4C, $4F, $43, $4B, $53, $AF
            .db     $42, $59, $54, $45, $A9, $A0, $AD, $A0
            .db     $A4
    
            .db     0
    
    
    
    NMI_Native
            inc     Tick
            rti
    
    
    NMI
            inc     Tick
            bne     +
            inc     Tick+1
    +
            rti
    
    
    IRQ
            rti
    
    
            .ba     $FFEA
            .wo     NMI_Native
            .wo     0
            .wo     IRQ
    
            .ba     $FFFA
            .wo     NMI
            .wo     Reset
            .wo     IRQ
    [свернуть]



    Цитата Сообщение от vladtru Посмотреть сообщение
    А в быстрых вариантах используются стековые команды (Push)?
    Да. Я же расписал аналог от Z80.

    Цитата Сообщение от vladtru Посмотреть сообщение
    (тогда копирование возможно только в нулевой странице?)
    Разумеется (только не в нулевой, а в первой). Однако, 65816 умеет полностью 64 КиБ.
    Последний раз редактировалось LeoN65816; 06.05.2020 в 00:26.
    Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

  13. Этот пользователь поблагодарил LeoN65816 за это полезное сообщение:

    vladtru (07.05.2020)

  14. #270
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от LeoN65816 Посмотреть сообщение
    У 6502 подпрограмма копирования блока памяти работает быстрее (16 такт/байт, а если совсем точнее: 16 + (5+5+5+3)/256 = 16.0703125 такт/байт), чем инструкция копирования блока памяти у Z80 (LDIR: 21 такт/байт). Предвижу вопли спектрумистов: "Ну как же? А LDI нам даёт 16 тактов, а не 21!". На что еще раз обращу внимание: копирование блока памяти (да хоть 64КиБ!!!), а не одиночного байта одной инструкцией LDI!
    а что, кто-то запрещает блок копировать цепочкой из ldi?
    не говоря уже о стековых извращениях

    Цитата Сообщение от LeoN65816 Посмотреть сообщение
    Ну а заполнение блока памяти еще шустрее - 11 такт/байт (точнее 11 + (5+5+3)/256 = 11.05078125 такт/байт).
    то есть вдвое медленнее z80
    Прихожу без разрешения, сею смерть и разрушение...

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

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

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

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

Похожие темы

  1. Ответов: 666
    Последнее: 20.03.2022, 01:46
  2. Отечественные компьютеры: Разное.
    от KALDYH в разделе Разное
    Ответов: 171
    Последнее: 01.03.2022, 14:45
  3. Раздел про отечественные компьютеры
    от CityAceE в разделе Форум
    Ответов: 47
    Последнее: 22.02.2012, 01:31
  4. Ответов: 59
    Последнее: 02.05.2011, 01:35

Ваши права

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