User Tag List

Страница 1 из 11 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 145

Тема: Commercial Instruction Set (CIS) на PDP-11 и я

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

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

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Commercial Instruction Set (CIS) на PDP-11 и я

    Приехал мне один интересный аддон для KDF11-B. И если его вставить куда надо, то можно увидеть:

    Код:
    RT-11SB  V05.07
    
    .R MSCPCK
    
    .SHO CONF
    
    RT-11SB  V05.07
    Booted from DU2:RT11SB
    
    USR     is set SWAP
    EXIT    is set SWAP
    KMON    is set NOIND
    MODE    is set NOSJ
    TT      is set NOQUIET
    ERROR   is set ERROR
    SL      is set OFF
    EDIT    is set KED
    FORTRAN is set FORTRA
    KMON nesting depth is 3
    
    CLI is set DCL, CCL, UCL, NO UCF
    
    PDP 11/23 PLUS Processor
    256KB of memory
    FP11 Hardware Floating Point Unit
    Extended Instruction Set (EIS)
    Commercial Instruction Set (CIS)
    Memory Management Unit
    Parity Memory
    60 Hertz System Clock
    
    FPU support
    
    
    .TYP HX7:TEST.MAC
            .TITLE  TEST
            .MCALL  .EXIT, .PRINT
    
    START:
            MOV     N1DSC,   R0
            MOV     N1DSC+2, R1
            MOV     N2DSC,   R2
            MOV     N2DSC+2, R3
            MOV     N3DSC,   R4
            MOV     N3DSC+2, R5
    
            ADDN                             ; !!!!!!!!!!
    
            BIT     #37, N3DSC
            BEQ     100$
    
            .PRINT  #NUM3
            BR      300$
    
    100$:
            .PRINT  #ERR
    
    300$:
    
            .EXIT
    
    N1DSC:
            .WORD   50000+NUM1L, NUM1
    N2DSC:
            .WORD   50000+NUM2L, NUM2
    N3DSC:
            .WORD   50000+5., NUM3
    
    NUM1:   .ASCII  /+12345/
    NUM1L=.-NUM1
    
    NUM2:   .ASCII  /+23456/
    NUM2L=.-NUM2
    
    NUM3:
            .BLKB   32.
    NUM3L=.-NUM3
    
            .BYTE   0
    
    ERR:    .ASCIZ  /Error/
    
            .EVEN
    
            .END    START
    
    
    .LOA HX7:
    
    .EXE HX7:TEST
    35801
    Поскольку набор команд CIS окружён прямо таки мистическим ореолом и достаточно слабо освещён в документации и поскольку у меня есть, на ком и на чём его помучить, решил завести про него отдельную тему.

    Процессора PDP-11, на которых он есть, думаю можно посчитать пальцами одной руки. Но с учётом того, что Vslav собирается вскрыть и набор F-11 (1811) - возможно удастся вычитать и микросхемы микрокода CIS и реализовать его в будущем FPGA варианте F-11. У меня (пока?) только одна микросборка, реализующая этот набор и я не готов её жертвовать для деструктивного считывания

    Учитывая интересы сообщества любителей DEC - сомневаюсь, что кто то ещё, кроме меня, будет развлекаться с этим набором команд, но я могу предоставить удалённый доступ к стенду с процессором, где есть эти команды, так что если (вдруг) желающие найдутся - можно договориться - когда и насколько

    Ещё информация.

    "Сообщается, что коммерческий набор команд KEV11-C (документация по нему невозможно найти) является дополнительным чипом для набора микросхем LSI-11, который добавляет поддержку подмножества CIS, иногда известного как DIS (набор команд DIBOL).

    Он также включает в себя EIS (но не FIS).

    DIS не может использоваться с микросхемой с плавающей запятой KEV11-A не только из-за ограниченного количества сокетов uROM на платах ЦП LSI-11, но также потому, что DIS и базовый набор команд вместе используют все адресное пространство uROM.

    DIS стал стандартом в некоторых коммерчески ориентированных системах LSI-11; процессоры KD11-P и KD11-Q (M7264-BB и M7264-YB соответственно) являются моделями ЦП с установленным KEV11-C.

    Варианты чипа

    KEV11-C использует два uROM: 3025D 23-004B5 и 3026D (возможно B?) 23-005B5. (Также может быть гибридная версия KEV11-C, то есть с одной несущей DIP, но номер детали неизвестен.)

    Версия опции KEV11-C с двумя uROM, очевидно, занимает два гнезда uROM; поэтому он используется с 40-контактным гибридом (два чипа на одном носителе), который содержит два uROM базового набора команд. Гибрид - 23-001B6, 23-002B6 или 23-003B6 (для M7264 ECO 10, ECO 12 и ECO 16 соответственно)."
    Последний раз редактировалось Hunta; 17.08.2020 в 00:59.

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

    litwr(01.10.2020)

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

  3. #2

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё таки напортачил ещё в одном месте. Надо было делить, а я умножил. Так что старые результаты по CIS по прежнему не верны.
    Новые данные (и вроде корректные )

    Код:
    .RUN SPEED3
    
    Тест быстродействия
    
    R1+R0            533 тыс. оп./сек
    R1+@R0           332 тыс. оп./сек
    R0*R0             41 тыс. оп./сек
    R2/R0            130 тыс. оп./сек
    CIS MULPI 1      0,5 тыс. оп./сек
    CIS MULPI 2        2 тыс. оп./сек
    CIS ADDNI 1     3,25 тыс. оп./сек
    CIS ADDNI 2      6,5 тыс. оп./сек
    MOV 8 word 1    7,75 тыс. оп./сек
    MOV 8 word 2    9,22 тыс. оп./сек
    .

  4. #3

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, если не насажал опять ошибок, то вот как то так:

    Код:
    .RUN SPEED3
    
    Тест быстродействия
    
    R1+R0           532 554 оп./сек
    R1+@R0          331 706 оп./сек
    R0*R0            40 784 оп./сек
    R2/R0           130 207 оп./сек
    CIS MULPI 1         432 оп./сек
    CIS MULPI 2       2 005 оп./сек
    CIS ADDNI 1       3 145 оп./сек
    CIS ADDNI 2       6 496 оп./сек
    MOV 8 word 1      7 736 оп./сек
    MOV 8 word 2      9 205 оп./сек
    .

  5. #4

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как оказалось, DIS - это подмножество CIS. Добавил информацию в первое сообщение.

  6. #5

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновлённый вариант программы (в чём отличие - Пост 104):

    Код:
    .RUN SPEED3
    
    Тест быстродействия
    
    R1+R0 classic                     531 272 оп./сек
    
    R1(23456.)+R0(12345.) empty       165 729 оп./сек
    R1(23456.)+R0(12345.)             126 598 оп./сек ; 536 172
    
    R1+@R0 classic                    331 022 оп./сек
    
    R1(23456.)+@R0(M-12345.) empty    165 728 оп./сек
    R1(23456.)+@R0(M-12345.)          110 531 оп./сек ; 331 867
    
    R0*R0 classic                      40 764 оп./сек
    
    empty 11.*12.                     165 722 оп./сек
    11.*12.                            32 670 оп./сек ; 40 692
    
    R2/R0 classic                     140 979 оп./сек
    
    R2-R3(34567.)/R1(321.) empty      126 606 оп./сек
    R2-R3(34567.)/R1(321.)             20 122 оп./сек ; 23 924
    
    CIS MULPI 1                           432 оп./сек
    
    CIS MULP  1 empty                  57 081 оп./сек
    CIS MULP  1                           459 оп./сек ; 463
    
    CIS MULPI 2                         2 005 оп./сек
    
    CIS MULP  2 empty                  57 078 оп./сек
    CIS MULP  2                         2 459 оп./сек ; 2 570
    
    CIS ADDNI 1                         3 145 оп./сек
    CIS ADDN  1                           518 оп./сек
    CIS ADDNI 2                         6 496 оп./сек
    CIS ADDN  2                         2 563 оп./сек
    MOV 8 word 1                       14 503 оп./сек
    MOV 8 word 2                       17 002 оп./сек
    CIS MOV 8 word 1                   14 015 оп./сек
    .
    Последние три тесты - это сравнение классического цикла на SOB и команды MOVC (пересылка строки символов) CIS

    Код:
        ACTION <<CR><LF>\MOV 8 word 1\>
    
          LET R0 := #ABUF01
          LET R1 := #ABUF02
          THRU R2 := #<ABUF02-ABUF01>/2
            LET (R1)+ := (R0)+
          END
      
    
        ACTION <<CR><LF>\MOV 8 word 2\>
    
          LET R0 := #ABUF01
          LET R1 := #ABUF02
          THRU R2 := #<ABUF02-ABUF01>/4
            LET (R1)+ := (R0)+
            LET (R1)+ := (R0)+
          END
      
    
        ACTION <<CR><LF>\CIS MOV 8 word 1\>
    
          MOVCI
            MBUF01, MBUF02, SPACE
    8 и 9 слов против 4-ых. Надо будет увеличить длину строки с 16-ти символов на побольше

  7. #6

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот блин Память мне упорно подсказывала, что в MACRO-11 есть директива .PACKED
    И точно - полез в документацию - есть такая

    Код:
        748	000046	   022 	   064 	   126 	  .PACKED +123456789012345, P01LEN
    	000051	   170 	   220 	   022
    	000054	   064 	   134
        749
        750	000056				D01:
        751	000056	060017 			  .WORD 60000+P01LEN
        752	000060	000046'			  .WORD P01VAL
    А вот LINK отказался собирать такую программу Или я что то не так делаю

  8. #7

    Регистрация
    13.07.2018
    Адрес
    г. Переславль-Залесский
    Сообщений
    710
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    41 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Очень похожие на CIS инструкции есть в х-86. Я ранее думал, для чего их впихнули??? Однако ветер дул в том числе от DEC
    Возможно в Воронеже и были прошивки с CIS для F-11... Но в массы не пошло.
    И вопрос-вопросов, был ли CIS для J-11?

  9. #8

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Посмотреть сообщение
    Очень похожие на CIS инструкции есть в х-86. Я ранее думал, для чего их впихнули??? Однако ветер дул в том числе от DEC
    На мейнфреймах инструкции типа DEC CIS были всегда, а на x86/68k/Z80/6502/... совсем другое, побайтовое.
    Мерял тайминги десятичных инструкций на мейнфрейме IBM - там прямая зависимость от длин обоих операторов. Поэтому для таких инструкций нужно приводить формулу, число тактов или мкс с двумя параметрами-длинами. На некоторых мейнфреймах (думаю, всех, начиная с 90-х) эти инструкции оптимизированы, зараз обсчитывают группы до 4-байт (8-и цифр). Может на System/Z там уже зараз и 8 байт берут.

  10. #9

    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,245
    Спасибо Благодарностей отдано 
    343
    Спасибо Благодарностей получено 
    369
    Поблагодарили
    261 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну CIS появились еще во времена IBM360 и DEC их впихнул именно для поддержки бизнес-приложений
    собственно Oracle2 как раз на PDP-11 и работал и явно использовал CIS
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  11. #10

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Посмотреть сообщение
    И вопрос-вопросов, был ли CIS для J-11?
    Пока есть только один факт, не требующий подтверждения - на обратной стороне подложки J-11 есть контакты для подключения ещё пары микросхем, а сверху не распаян ещё один трехножечный элемент И в интернете мне попадалась информация и не раз (не могу сказать, насколько можно ей доверять - я, по крайне мере, не пытался её проверить), что для J11 ДЕЛАЛИ, но ОТМЕНИЛИ CIS. И так же попадалась причина - что бы и J11 не создавал конкуренцию первым VAX-ам (не даром же производительность J11 в топе достигает 1 vup).

    Цитата Сообщение от SuperMax Посмотреть сообщение
    ну CIS появились еще во времена IBM360
    Мне кажется вполне возможным, что идеи работы с форматом данных, которые использует CIS, могли (и скорее всего) появились гораздо раньше - как только компы начали более менее активно использовать для бизнес задач. Причём, наверное, в первую очередь - финансовые. Ибо формат с плавающей точкой может и быстрее, но он не точный (как там выглядит в нём запись, скажем, числа 0.3? Вот как - 037631, 114631, 114631, 114632 - это я выбрал двойную точность ), а объяснить что нашей налоговой, что их - куда это делись копейки? Какой такой неточный формат чисел? Это вы от налогов прибыль скрываете! - округлениями/усечениями - не прокатит А формат CIS - это, по сути, целые числа, для которых просто договорились - где находится десятичная точка И результаты будут точным - вот вам результат деления, вот вам остаток - всё, с точностью до копеек-центов.

    Цитата Сообщение от SuperMax Посмотреть сообщение
    Oracle2 как раз на PDP-11 и работал и явно использовал CIS
    Нууу... совсем не уверен. Вроде как CIS был только в PDP-11/23(F11),23+(F11),24(F11),44(1980 - а вроде как Oracle 2 вышел в районе 79-ого) и (по инфе из simh) J11 - везде как опция.

    То есть если Oracle 2 и использовал CIS (именно набор инструкций, а не формат данных) - то это могло быть только на F11, а он вышел вроде в 1979 - что то тоже сомнительно - что бы выпуcтить Oracle в этом же году, надо было иметь информацию и возможность тестирования продукта на (ещё) не вышедшем процессоре. Да, DEC отличалась тем, что часто инфа о новых продуктах выходила до того, как их можно было приобрести (и бывало, что так и оставалась инфой), но что бы она раскрыла внутреннюю инфу и дала доступ к предварительным вариантам железа.. Чёт я сомневаюсь

Страница 1 из 11 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 0
    Последнее: 29.08.2017, 14:06
  2. Jet Set Willy: The Nightmare Edition
    от Rindex в разделе Игры
    Ответов: 0
    Последнее: 05.02.2016, 20:18
  3. Jet Set Luis
    от Rindex в разделе Игры
    Ответов: 1
    Последнее: 28.09.2015, 13:58
  4. 8bit space party, (live set)
    от siril в разделе События
    Ответов: 14
    Последнее: 30.07.2011, 11:46
  5. Jet Set Willy: The 2010 Megamix
    от Rindex в разделе Игры
    Ответов: 4
    Последнее: 30.12.2010, 19:39

Ваши права

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