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

User Tag List

Страница 7 из 10 ПерваяПервая ... 345678910 ПоследняяПоследняя
Показано с 61 по 70 из 97

Тема: Про Motorola, IBM, DEC, ...

  1. #61
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    94 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Cами значит не знаете. Грусто.
    .SAV. Первый блок - некоторое количество ячеек со служебной информацией (типа - точка входа, начальное значение стека, размер загрузки) плюс свободные ячейки и место под стек (если по умолчанию, то начальное значение стека 1000(8)). Если специально не задавать значение стека и не играться абсолютными секциями, код и данные пойду с адреса 1000, и в .SAV файле это будет второй блок. То есть, если не принимать специальных мер, минимальный размер программы в RT - 2 блока. При тех же условиях в RSX - 4 блока (первые два - служебная информация).

    Цитата Сообщение от litwr Посмотреть сообщение
    Вот в мой программке кода согласно листингу от макро-11 889 байт, а размер сава - 1536
    889(10) байта - два блока - итого размер .SAV три блока или 512*3=1536 байт. Фраза выше говорит о полном не знании даже RT

    Цитата Сообщение от litwr Посмотреть сообщение
    Вы ПДП-11 с современными контроллерами сравниваете?!
    Аха. И применение на атомных станциях PDP говорит о полном Г среди современных контроллеров.

    Цитата Сообщение от litwr Посмотреть сообщение
    Не знаю, что у вас за Квант.
    И я про тоже - полное не знание фактов.

    Цитата Сообщение от litwr Посмотреть сообщение
    Это какой-то системный процесс?
    В RSX нет понятия системных процессов. Есть ядро, есть драйвера, есть задачи (task), которые часто по простому называют программами. Некоторые задачи выполняет специальные функции (например, F11ACP - работа с файловой системой, все запросы к файлам идут через неё, но с точки зрения RSX - это задача)

    Цитата Сообщение от litwr Посмотреть сообщение
    Mожете показать его файл в листинге каталога?
    Код:
            .TITLE  TEST
            .MCALL  RDBBK$, WDBBK$
            .MCALL  CRRG$S, CRAW$S
            .MCALL  SPND$S
            .MCALL  EXTK$S
            .MCALL  EXIT$S
            .LIST   ME
    START:
            CRRG$S  #RDB
            MOV     RDB+R.GID, WDB+W.NRID
            CRAW$S  #WDB
            SPND$S
            EXIT$S
    
    RDB:    RDBBK$  100000, , , <RS.ATT!RS.DEL!RS.EXT!RS.WRT!RS.RED>
    WDB:    WDBBK$  1, 200, 0, 0, 200, <WS.64B!WS.MAP!WS.DEL!WS.EXT!WS.WRT!WS.RED>
            .END    START
    [* КОНЕЦ ТЕКСТА *]
    Цитата Сообщение от litwr Посмотреть сообщение
    сли знаете нормальную программу для RSX-11, большую 64кб, дайтe ссылку на компьютере BQT.
    Текст "супер-программы" приведён выше
    Цитата Сообщение от litwr Посмотреть сообщение
    И почему макро-11 забыли, который простые переходы просчитать не может?
    Потому что, в отличии от вас, я знаю - особенности системы команд PDP-11 и как работает Macro-11 и почему он не может "просчитать" простые переходы
    Цитата Сообщение от litwr Посмотреть сообщение
    У нас обычно работали с RT-11 или Unix
    А в нормальных конторах работала многопользовательская RSX с памятью от мегабайта (например СМ-1420 или СМ-1600) и нормальной поддержкой программ, которым требуется немного больше памяти, чем 64 кб. Компиляторы с Fortran-а, кстати, генерировали код, который умел это дело.
    Цитата Сообщение от litwr Посмотреть сообщение
    На этом форуме постов, связанных с RT-11, раз в 100 побольше, чем для других пдп11 осей. Там тоже знаете супер-код, больший 64 кб?
    А в RSX и XM мониторе подход очень похожий, так что написать программу особого труда не составит. Кстати, опять же - компилятор с Fortran-а позволял писать программы, которым требовалось больше 64 кб, причём в наличии было два варианта библиотек поддержки - для программы, которая будет работать под XM монитором (по сути аналогичный подход, как и в RSX) или (внезапно) под SJ или FB, при условии, что проц PDP с MMU и размером памяти больше 56 кб

    В целом, вывод не изменился - знания PDP-11 у человека на уровне начинающего чайника. Можно больше не обращать внимания на его перлы про PDP-11 и ОС для PDP-11

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

    А это пример программы (на MACRO-11) (загружает virgin (когда загрузчик RSX ещё не прописан в нулевой сектор раздела) RSX из под RT на CF )
    Код:
    R$$T11 = 1
    
    M$$EXT = 1
    
    .NLIST
    .INCLUDE /KXX:DSMAC.MAC/
    .INCLUDE /KXX:MYMAC.MAC/
    .INCLUDE /KXX:ASCII.MAC/
    .INCLUDE /KXX:HWDF.MAC/
    .LIST
    
    MODULE NAME=<BOOTZF>, VER=<01>, COMM=<BOOT RSX from ZF>, TYPE=<NOSECT>
    
      .MCALL .ASSUME
    
      ;
      ; This module contains a special driver used by BOOT and SAVE
      ; to read and write system images.
      ;
      ; Driver inputs:
      ;       R2 = Not used
      ;       R3 = Not used
      ;       R4 = Unit number
      ;       R5 = 0 Use CSR address stored in the driver
      ;       R5 <> 0 use CSR address stored in R5
      ;
      ; Driver outputs:
      ;       R0 = Residual block count
      ;       R2 = Possible memory size from configuration table
      ;       R1 = Device name in ascii
      ;       R4 = Physical unit number
      ;       R5 = CSR address
    
      ;
      ; INITIALIZE PROPER BIT SETTING FOR SSR3
      ;
    
      S3$BTS==0	; INIT TO NO BITS SET
    
      .IF DF M$$EXT
    
        S3$BTS==S3$BTS!MM3.UN!MM3.22	; ENABLE 22 BIT MODE AND UNIBUS MAP
    
      .ENDC
    
      PROCEDURE BOOTZF
      BEGIN
        ;
        ; from SAVe - code analog
        ;
    
        NOP			; 00
        GOTO 10$		; 02
    HLBN: .WORD 0		; 04 high lbn
    LLBN: .WORD 26084.+2	; 06 low lbn 26084 + 2
    
    			; magic number
          .BYTE 020         ; 10 PDP-11 instruction set
          .BYTE 133         ; 11 All controllers except pcxxx
          .BYTE 041         ; 12 ODS-1 file format
          .BYTE 163         ; 13 1's compliment checksum
    
    10$:
    
         GOTO 20$
    20$:
    
        LET @#PS  :B= #PR7
    
        ;
        ; For virgin system image
        ;
        LET BBLKH := @#4	;;; (HIGH) LBN of image
        LET BBLKL := @#6	;;; (LOW)  LBN of image
        LET BLEN  := ZFLLEN	;;; length of load file
    
        LET R5   := (PC)+		; Csr address - set in savcm or minjbb
    $BBCSR: .WORD   1
                                    ; Default to what boot rom passed
                                    ; (0= use CSR in special driver)
                                    ; (+ = use value passed in r1)
                                    ; (- = use value stored in $BBCSR)
    
        IF RESULT IS GT THEN	; LE - in IO page
          LET $BBCSR := R1		; CSR from hardware boot
        END
    
        IF #MM0.EN OFF.IN @#SSR0 THEN
    
          LET R5 := #KISAR0		;;; INIT POINTER TO MAPPING REGISTERS
          LET R1 := #0              ;;; INIT I SPACE MEMORY OFFSET
    
          REPEAT
    
            LET KISDR0-KISAR0(R5) := #77406	;;; SET I SPACE 4K RW
            LET (R5)+             := R1	;;; SET I SPACE APR OFFSET
    
            LET R1 := R1 + #200			;;; ADVANCE I SPACE OFFSET
    
          UNTIL R5 HI #KISAR7	;;; DONE YET? IF HI YES
    
          LET @#KISAR7 := #177600	;;; SET UP I/O PAGE MAPPING
    
          .IF DF M$$EXT
    
            LET @#SSR3 := #S3$BTS	;;; SET UP SSR3
    
          .ENDC
    
          LET @#SSR0 := @#SSR0 + #1 ;;; MM0.EN == 1	; ENABLE MAPPING
        END
    
        ; 00000000-03777777
        ; 04000000-07777777
        ; 10000000-13777777
        ; 14000000-17777777
        ;   14000000-14777777
        ;   15000000-15777777
        ;   16000000-16777777
        ;     16776000 -> 167760
        ;         2000
        ;   17000000-17777777
    
        LET @#KISAR6 := #167760	;;; SET 140000 MAPPING
    
        LET R4 := #140000
        LET R1 := #0
        THRU R3 := #256.*2
          LET (R4)+ := (R1)+
        END
    
        LET R2 := #0
        LET R4 := R0		; R0 from hardware boot - unit number
        IF RESULT IS PL THEN	; If MI, this is the second incarnation
          LET SP   := #3000		; Set up stack for special driver
          LET PUSH := #0		; put on a stopper
          LET PUSH := #0		; two parts
        END
        LET R5 := $BBCSR		; CSR from hardware boot
        LET SP := #$ZFDRV-BOOTZF+140000
        JMP @#$ZFDRV-BOOTZF+140000
        .BLKW 20.			; Stack
    
        $GOTO $ZFDRV
      END BOOTZF
    
      ;
      ; Special driver
      ;
    
      PROCEDURE $ZFDRV
        ; Note - At this point the following must be true:
        ;       R0 = unit number from hardware bootstrap, possibly with flag bit
        ;       R2 = 0 tell the driver not to use UMRs
        ;       R3 = 0 no BAE offset needed
        ;       R4 = unit number from hardware bootstrap, possibly with flag bit
        ;       R5 = 0 or the CSR address (see $BBCSR above)
      BEGIN
        GOTO ZF0			;;; Br around fixed stuff
    
    SZFNAM: .WORD "ZF		;;; Device name
    SZFCSR: .WORD ZFBASE+P$CSR2	;;; Default CSR address
    SZFFUN: .BYTE CS.RD, -1		;;; Function code and unit number
    
    ZF0:
        IF R5 EQ #0 THEN
          LET R5 := SZFCSR		;;; CSR address supplied? If no, get saved CSR address
        END
        LET SZFCSR := R5		;;; save CSR
    
        LET SZFFUN+1 :B= R4		;;; save unit number
    
        LET R5 := SZFCSR		;;; get saved CSR address
    
        LET (PC)+ := @#KISAR3
    
    SKxSAR: .WORD 0
    
        LET R1 := (PC)+		;;; Get buffer address
    ZFSA: .WORD 0
    
        LET  CARRY := CLEARED	;;; Convert to 32wd block address
        LET  R1 := R1 L.ROTATE 2
        SWAB R1
        LET ZFSA := R1
    
        LET R3 := PC + #<SZFFUN-.>	;;; Set address for pic code
    
        LET (PC)+ := @#4		;;; Save starting block number
    ZFBLKH: .WORD 0			;;; Current LBN (HIGH)
    
        LET R1      :B= 1(R3) OFF.BY #^C<377>
        MUL #40, R1			;;; offset for 1Gb
        LET ZFBLKH  :=  ZFBLKH + R1	;;; OFFSET
    
        LET (PC)+ := @#6		;;; ...
    ZFBLKL: .WORD 0			;;; Current LBN (LOW)
    
        IFB #CS.RD NE (R3) THEN	;;; Is this a write function?
          LET MOVE := (PC)+		;;; Set generic fill silo instruction
            LET (R2) := (R1)+	;;; Fill silo instruction
        END
    
        ;
        ; Common parameter setup
        ;
        REPEAT
    
          LET @#KISAR3 := ZFSA	;;; Setup APR3 to map to buffer
    
          LET R4 := (PC)+		;;; Get load length
    ZFLLEN: .WORD   498.-2		;;; ?? was 3
    
          LET (R5) := #DC.STA!DC.NIE
            NOP
            NOP
          LET R5 := R5 + #P$STAT-P$CSR2
    ;
    ; controller basic loop
    ;
    ZFLOOP:
    
    										.ASSUME CS.BSY EQ <^O200>
          REPEAT UNTILB (R5) PL #0 AND #CS.DRD SET.IN (R5)
    
          LET R0 :B= ZFBLKH+1				;;; HIGH BYTE HIGH LBN - "TRACK"
          LET R0 := R0 OFF.BY #^C<17>  SET.BY #DH.PRM	;;; ONLY LOW 4 BITS PLUS FIXED BITS
    
          LET P$DH-P$CMD(R5)   :B= R0	;;; "TRACK"+fixed bits
          LET P$CYLH-P$CMD(R5) :B= ZFBLKH	;;; "HYGH CYLINDER" BYTE
          LET P$CYLL-P$CMD(R5) :B= ZFBLKL+1	;;; "LOW  CYLINDER" BYTE
          LET P$SNUM-P$CMD(R5) :B= ZFBLKL	;;; "SECTOR"
    
          LET R1 := #255.			;;; MAX CHUNK
          IF R1 HI R4 THEN			;;; MAX CHUNK LESS OR EQUAL REST LENGTH ?
            LET R1 := R4			;;; NO - REST OF IMAGE
          END
    
          LET (PC)+ := R1
    ZFCHNK: .WORD   0
    
          LET P$SCNT-P$CMD(R5) :B= R1	;;; SECTOR COUNT
    
          LET (R5)       :B= (R3)		;;; Start the function
    
          .REPT   5.
            NOP
          .ENDR
    
          ;
          ; Common transfer loop
          ;
    COMMON:
    
          ;
          ; Perform silo/memory transfers - empty silo OR, fill silo before writing
          ;
          LET R2    := R5 + #P$DBUF-P$CMD	;;; Copy CSR address, point to IDE data buffer
          LET (PC)+ := ZFCHNK
    ZFCNK2: .WORD   0
    
          REPEAT
    
            REPEAT
    										.ASSUME CS.BSY EQ <^O200>
              REPEAT UNTILB #CS.RD EQ (R3) ORB (R5) PL #0
    
            UNTIL #CS.DRQ SET.IN (R5)
    
            IF #CS.ERR SET.IN (R5) GOTO ERR	;;; If error, try again
    
            LET R1 := #60000	;;; Set base for APR3 mapping
            THRU R0 := #256.	;;; Set count of words in silo
    MOVE:
              LET (R1)+ := (R2)	;;; Empty silo (will change to fill silo)
            END			;;; Loop until done
    
            LET @#KISAR3 := @#KISAR3 + #10	;;; Update APR3 mapping by 256. words
    
            TST (PC)+		;;; Is the NXM trap setup?
    TRPFLG: .WORD 0			;;; Flag=0 first time thru
            IF RESULT IS EQ THEN
    
              LET (PC)+ := @#4	;;; Save current trap 4 vector
    TRPPC: .WORD 0			;;;
              LET (PC)+ := @#6	;;; ...
    TRPPS: .WORD 0			;;;
    
              LET TRPFLG := TRPFLG + #1	;;; Indicate that we have been here
              LET @#6 := #PR7			;;; Set new PS
              LET R0  := PC + #<TRP4-.>	;;; Calculate trap address
              LET @#4 := R0		;;; Set new PC
            END
    
            LET ZFCNK2 := ZFCNK2 - #1
          UNTIL RESULT IS EQ
    
          TST (PC)+			;;;
    ERR:
          SEC
    
        UNTIL RESULT IS CC
    
        LET ZFSA := @#KISAR3
    
        LET R1     := ZFCHNK	;;; RESTORE CHUNK SIZE
        LET ZFBLKL := ZFBLKL + R1	;;; Update current LBN
        LET ZFBLKH := ZFBLKH + CARRY
        LET R4     := R4 - R1	;;; ONE CHUNK LESS
        LET ZFLLEN := R4    	;;; SAVE REST
    
        IF RESULT IS HI GOTO ZFLOOP
    
        GOTO ZFDONE
      END $ZFDRV
    
      ;
      ; We are finished
      ;
      PROCEDURE TRP4
      BEGIN
        $GOTO ZFDONE
      END TRP4
    
      PROCEDURE ZFDONE
      BEGIN
        LET @#4 :=  TRPPC	;;; Restore PC
        LET @#6 :=  TRPPS	;;; Restore PS
    
        LET R5 := R5 + #P$CSR2-P$STAT
    
        ;
        ; For virgin system
        ;
        LET R0 := R5
        LET R1 := (PC)+
    BBLKH: .WORD 0				;;; (HIGH) LBN of image
        LET R2 := (PC)+
    BBLKL: .WORD 0				;;; (LOW)  LBN of image
        LET R3  :B= 1(R3) OFF.BY #^C<377>	;;; Get unit number
        LET R4  :=  SZFNAM			;;; Get device name
        LET R5  :=  (PC)+			;;; Get device name
    BLEN: .WORD 0				;;; length of load file
    
        ;
        ; For SAVe
        ;
    ;    LET R0  :=  R4	;;; Get residual block count
    ;    LET R1  :=  SZFNAM	;;; Get device name
    ;    LET R4  :B= 1(R3)	;;; Get unit number
    ;    LET R5 := R5 + #P$CSR2-P$STAT
    
        LET @#KISAR3 := SKxSAR
    
        ;
        ; For virgin system
        ;
    
        LET PC := #4672
        LET PC := #65772
    
    ZFEND:
    
        ;
        ; For SAVe
        ;
        RETURN			;;; must be return and must be last
    				;;; instruction in ZF special driver
    				;;; (SAV assumed this is return
    				;;; and replace it in VBN 1,2,3 of
    				;;; SAVED IMAGE !!!!!
      END ZFDONE
    
      ;
      ; Driver table
      ;
    
    DRVS:
      .ASCII /ZF/			; ZF driver
      .WORD  ZFLLEN		; Address of load length
      .WORD  ZFSA			; Address of buffer address
      .WORD  SZFFUN		; Address of function code/unit
      .WORD  $ZFDRV		; Driver entry address
      .WORD  <ZFEND-$ZFDRV>/2	; Size of driver in words
      .WORD  CS.WT		; Write function code
      .WORD  CS.RD		; Read function code
      .WORD  0			; Unit select bits
      .WORD  SZFFUN		; Address of function code word
      .WORD  SZFCSR		; Address of CSR address
    
      PROCEDURE START
      BEGIN
        RESET
        LET SP := #10000
        LET R0 := #0
        LET R1 := #BOOTZF
    
        THRU R2 := #<ZFEND+2-BOOTZF>/2
          LET (R0)+ := (R1)+
        END
    
        LET R0 := #1
        LET R1 := #ZFBASE+P$CSR2
    
        LET PC := #0
    
      END START	
    
    END BOOTZF
    
    .END START
    Пример того, как может выглядеть программа на языке ассемблера. Используется СТАНДАРТНЫЙ Macro-11

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

    Цитата Сообщение от Hunta Посмотреть сообщение
    Есть ядро, есть драйвера, есть задачи (task),
    Забыл ещё про разделяемые библиотеки - аналог .dll - но с точки зрения системы - это области памяти с загруженными кодом и/или данными. Ещё один вариант (но уже достаточно экзотичный) использования разделяемой библиотеки - для доступа к (части) страницы в/в со стороны непривилегированных задач.
    Последний раз редактировалось Hunta; 09.02.2020 в 15:46.

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

  3. #62
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    3,079
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    62
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    48 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Если бы вы покапали получше, та нашли бы, что этот пример было специально выбран, чтобы показать преимущество 68к по плотности кодов. Там адресные регистры используются как временная память, а у х86 регистров не хватает. Кстати, лучший полученный код для рисования линии для х86 - 81 байт. Код для Арма используют трудные трюки, а код для х86 - совсем пpостой. Другой пример, перевод числа в десятичный формат показал значительное преимущество х86.
    сильно сомневаюсь, это который?

    Цитата Сообщение от litwr Посмотреть сообщение
    Код по затворному пи получился одинаковым по размеру (136 байт), но амигавцам для этого пришлось писать ненормальный код, использующий стек, который надо заранее для программы в системе выделить.
    зато арм может столько "стеков" навыделять, насколько свободных регистров под указатели хватит

    Цитата Сообщение от litwr Посмотреть сообщение
    Но это всё частности, а тут сами армовцы конкретно признают code density is less so an application in RISC is likely to consume more memory than the equivalent in CISC
    а до конца предложение дочитывать не судьба? полностью:
    In addition, code density is less so an application in RISC is likely to consume more memory than the equivalent in CISC; however the ARM has a few tricks up its sleeve to reverse this assumption.
    то есть армовец, напротив, ВОЗРАЖАЕТ против такого предположения

    Цитата Сообщение от litwr Посмотреть сообщение
    и такого можно найти ещё в весьма солидных источниках.
    ага, "высочайший" уровень работы с источниками по предыдущему примеру уже понятен
    вот как можно после этого браться за исторические статьи? журнализм какой-то (в худшем смысле этого слова)

    Цитата Сообщение от litwr Посмотреть сообщение
    Повторю, "танк" с ДОСом или Виндузом нормально работал для сотен миллионов юзеров,
    разве что каких-нибудь секретарш, которые никогда не запускали больше трёх с половиной софтин на них
    в досе - постоянный трах с тремя кнопками, настройкой дополнительной памяти и подбором совместимых драйверов мыши
    а для виндозов поначалу даже избегали писать топ-игры, пока характеристики железа не подросли

    Цитата Сообщение от litwr Посмотреть сообщение
    У Арм с регистрами всё в порядке, речь была именно о 68к. Регистров у 68000 столько же, сколько у х86,
    еще раз, перечитывать до полного просветления:
    у 68000 столько же РЕГИСТРОВ ДАННЫХ, сколько у 8086 регистров НЕ-СОВСЕМ-ОБЩЕГО НАЗНАЧЕНИЯ
    и ПЛЮС к ним АДРЕСНЫЕ, то есть АДРЕСА НЕ ЗАНИМАЮТ РЕГИСТРЫ ДАННЫХ, В ОТЛИЧИЕ ОТ 8086
    то есть по факту у 8086 в каждый момент времени меньше регистровой памяти под данные
    (и это даже без учёта разрядности 16 против 32!)

    Цитата Сообщение от litwr Посмотреть сообщение
    Зато х86 имеет больше регистров, если работать с байтами.
    если обрабатывать только байты, то у x86 те же 8 байтовых регистров и 4 небайтовых "адресных"
    а у моторолы - 8 байтовых и 8 небайтовых адресных - иииии победа присуждается мотороле!

    Цитата Сообщение от litwr Посмотреть сообщение
    Наверное амиги и т.п. с 80286 - это было бы очень дорого, но с 80186 наверное получилось бы супер, не дороже, чем с 68000. 80186 был заметно дешевле и ненамного медленнее 80286.
    ага, щяз, "ненамного" - это раза в полтора-два

    Цитата Сообщение от litwr Посмотреть сообщение
    А том и речь, что Интел всегда имела более дешевые аппаратные компоненты для своих процов.
    да при чём тут интел и процовые компоненты? в рабочих станциях дорогие быстрые диски, память, видеокарты...

    Цитата Сообщение от litwr Посмотреть сообщение
    У них у всех цикл обращение к памяти был 4 такта. 80286 - 2, у Арма - 1.
    Цитата Сообщение от litwr Посмотреть сообщение
    Спасибо, отличнику! Но как он такой умный объяснит, что MOV из памяти выполняется на 80286 выпоняется всегда за 3 такта,
    не "всегда", а "в лучшем случае" за три такта

    Цитата Сообщение от litwr Посмотреть сообщение
    Это верно, но сам-то 80286 или 80186 побыстрее 68000.
    толку-то от сферобыстроты в вакууме? когда на практике даже в песюках дешёвых под вайтами бывал и медленней

    Цитата Сообщение от litwr Посмотреть сообщение
    В 80286 есть нормальный ммю и вы это знаете.
    нет, я знаю, что для НОРМАЛЬНОГО не понадобилось бы потом срочно добавлять к нему еще и V86

    Цитата Сообщение от litwr Посмотреть сообщение
    На амигах не было никакого ммю и это вы знаете.
    на поздних был, на остальных чипсет с многозадачностью справлялся почему-то лучше, чем "нормальный ммю 286"

    Цитата Сообщение от litwr Посмотреть сообщение
    А вот на Архимедах ммю ставили, но базовая система RiscOS так до сих пор (с ней продолжают работать - довольно неплохо смотрится на Пи с малиной) и осталась лишь условно многозадачной - там, например, при выходе в консоль, все процессы замирают.
    насколько знаю, тому причиной не железо, а скорей недостаток человековремени у акорна (что потом уже сказалось и на железе)

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

  4. #63
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    94 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, поскольку уровень господина-"эксперта" мне совершенно понятен, а свободное время не бесконечно, пошёл ка я лучше доделывать драйвер CF, а то ещё модуль Ethernet для Кванта-2020 заждался. Будет Ethernet - любой желающий сможет подключиться к Квант-у и посмотреть на программу, которая может использовать до трех с чем-то мб памяти на 16-ти битной машине с нормальным ДП и ОС. Кстати, заодно и на СОВЕТСКУЮ программу редактор-оболочку, которая примерно так года на год-полтора опередила по идеям NC. Жаль только, что первоначально была сделана версия под RSX, а не под RSX и RT

  5. #64
    Activist
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    253
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    .SAV. Первый блок - некоторое количество ячеек со служебной информацией (типа - точка входа, начальное значение стека, размер загрузки) плюс свободные ячейки и место под стек (если по умолчанию, то начальное значение стека 1000(8)). Если специально не задавать значение стека и не играться абсолютными секциями, код и данные пойду с адреса 1000, и в .SAV файле это будет второй блок. То есть, если не принимать специальных мер, минимальный размер программы в RT - 2 блока. При тех же условиях в RSX - 4 блока (первые два - служебная информация).

    889(10) байта - два блока - итого размер .SAV три блока или 512*3=1536 байт. Фраза выше говорит о полном не знании даже RT
    Вот это уже интереснее. Имеем, как минимум, один блок загрузочной информации, а таких блоков в СОМ-файлe всегда ровно 0.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Аха. И применение на атомных станциях PDP говорит о полном Г среди современных контроллеров.
    На всех атомных станциях стоят ПДП-11 - это уже дигноз - обостренная пидипимания.

    Цитата Сообщение от Hunta Посмотреть сообщение
    И я про тоже - полное не знание фактов.
    Не знаю про детали вашего Кванта. Где бы их мог получить? Рассказали бы. Для меня Квант, это что-то с ВМ4 и памятью метра на 2, минимум.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Текст "супер-программы" приведён выше
    Вас попросили имя файла в каталоге, чтобы виден был размер.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Потому что, в отличии от вас, я знаю - особенности системы команд PDP-11 и как работает Macro-11 и почему он не может "просчитать" простые переходы
    От того, что вы знаете, почему что-то сделано плохо, оно от этого лучше не становится. Ну мастерп был пьян, скрипка не удалась, бывает. Но скрипка не удалась.

    Цитата Сообщение от Hunta Посмотреть сообщение
    А в нормальных конторах работала многопользовательская RSX с памятью от мегабайта (например СМ-1420 или СМ-1600) и нормальной поддержкой программ, которым требуется немного больше памяти, чем 64 кб. Компиляторы с Fortran-а, кстати, генерировали код, который умел это дело.
    Тут я с вами согласен, RSX-11 была самой продвинутой среди осей для пдп-11. Но тормозной, без каталогов (их вроде там как-то вроде и можно прикрутить, но почему-то обычно этого не делали). У нас вроде народ этим занимался, как побольше программы под пдп-11 делать и что-то получилось, но это типа редкого нестандарта - если бы это было не так, вы бы сразу назвали имена типичных файлов и их назначение. Компьютер BQT в открытом доступе и его RSX-11 может считаться эталонной. С другой стороны, абсолютное большинство людей, имевших дело с пдп-11 в СССР про RSX-11 почти ничего и не знал.

    Цитата Сообщение от Hunta Посмотреть сообщение
    А в RSX и XM мониторе подход очень похожий, так что написать программу особого труда не составит. Кстати, опять же - компилятор с Fortran-а позволял писать программы, которым требовалось больше 64 кб, причём в наличии было два варианта библиотек поддержки - для программы, которая будет работать под XM монитором (по сути аналогичный подход, как и в RSX) или (внезапно) под SJ или FB, при условии, что проц PDP с MMU и размером памяти больше 56 кб
    И где же такие программы среди стандартных? В ДОСе таких было много и даже большинство.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Пример того, как может выглядеть программа на языке ассемблера. Используется СТАНДАРТНЫЙ Macro-11
    И что тут особенного? Любой нормальный макроассемблер так может. Больше использую fasm (для x86 и ARM) - там возможности для макросов, которых для макро-11 нет.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Забыл ещё про разделяемые библиотеки - аналог .dll - но с точки зрения системы - это области памяти с загруженными кодом и/или данными. Ещё один вариант (но уже достаточно экзотичный) использования разделяемой библиотеки - для доступа к (части) страницы в/в со стороны непривилегированных задач.
    Ещё экзотичнее! А нормального файла с программой более 64 кб так и не представленно.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    сильно сомневаюсь, это который?
    68k
    Код:
    todec:   ;converts d5 to stringbuf, it occupies 42 bytes
              lea stringbuf(pc),a2
              moveq #10,d1
    .l1:      move.l d5,d2
              move.l d5,d0
              clr.w d0
              swap d0
              divu d1,d0
              swap d0
              swap d2
              move.w d0,d2
              swap d2
              divu d1,d0
              move.w d2,d0
              swap d2
              or.b #'0',d2
              move.b d2,(a2)+
              move.l d0,d5
              bne .l1
              rts
    x86
    Код:
    todec:    ;convert dx:ax to stringbuf, it occupies 30 bytes
              mov bx,stringbuf
              mov si,10
    .l1:      mov cx,ax
              mov ax,dx
              xor dx,dx
              div si
              xchg ax,cx
              div si
              or dl,'0'
              mov [bx],dl
              inc bx
              mov dx,cx
              or cx,ax
              jnz .l1
              retn
    Есть ещё код для 68000, использующий трюки со стеком, на 36 байт.
    Код:
        lea	(stringbuf,pc),a2
    	moveq	#10,d1
    loop
    	move.l	d5,-(a7)	; 0012 3456
    	moveq	#0,d5
    	move.w	(a7)+,d5	; 0000 0012
    	divu.w	d1,d5		; 0008 0001
    	move.l	d5,d0
    	move.w	(a7)+,d5	; 0008 3456
    	divu.w	d1,d5		; 0006 d208
    	swap	d5		; d208 0006
    	or.b	#'0',d5
    	move.b	d5,(a2)+
    	move.w	d0,d5		; d208 0001
    	swap	d5		; 0001 d208
    	bne.b	loop
    	rts
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    зато арм может столько "стеков" навыделять, насколько свободных регистров под указатели хватит
    Опять вы сбились, текст был про амиги, а там 68к и регистр стека один (два точнее, но второй пользователю недоступен). Этот трюк у амиговцев и получился только потому, что у 68к системный стек отдельный, на х86 так бы не получилось, там прерывания могли бы попортить данные.


    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а до конца предложение дочитывать не судьба? полностью:

    то есть армовец, напротив, ВОЗРАЖАЕТ против такого предположения
    Что там не дочитано? Там написано, что да, хуже, но у нас есть трюки. Типа да ваше авто быстрее нашей лошадки, но лошадка может и по полю проскакать диагональю. Тема плотности кода - непростая. На одних задачах одно лучше, на других другой. Но код Арма без пальца побольше х86 практически всегда. Вот, например, ссылка.


    Цитата Сообщение от Lethargeek Посмотреть сообщение
    ага, "высочайший" уровень работы с источниками по предыдущему примеру уже понятен
    вот как можно после этого браться за исторические статьи? журнализм какой-то (в худшем смысле этого слова)
    Какие исторические статьи? Может проблема в том, что люди, которые хорошо знают Арм (англичане-энтузиасты) никогда не сомневались при общении со мной (а они мою статью про АРМ читали), что плотность кодов у АРМа пониже. Хотя, Арм-Палец нередко позволяет обогнать х86 по плотности, но, повторю, ценой тормозов. Но это уже не старый добрый британский Арм, а то что из него сделали.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    разве что каких-нибудь секретарш, которые никогда не запускали больше трёх с половиной софтин на них
    в досе - постоянный трах с тремя кнопками, настройкой дополнительной памяти и подбором совместимых драйверов мыши
    а для виндозов поначалу даже избегали писать топ-игры, пока характеристики железа не подросли
    Вы работали с секретаршами? Если у них что-то падает, то будет истерика, а они работали и без истерик. А Дум откуда взялся, который Амиги закрыл? А Квейк, Цивилизация и почти все топовые игры до конца 90-х? Ерунду пишите.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    еще раз, перечитывать до полного просветления:
    у 68000 столько же РЕГИСТРОВ ДАННЫХ, сколько у 8086 регистров НЕ-СОВСЕМ-ОБЩЕГО НАЗНАЧЕНИЯ
    и ПЛЮС к ним АДРЕСНЫЕ, то есть АДРЕСА НЕ ЗАНИМАЮТ РЕГИСТРЫ ДАННЫХ, В ОТЛИЧИЕ ОТ 8086
    то есть по факту у 8086 в каждый момент времени меньше регистровой памяти под данные
    (и это даже без учёта разрядности 16 против 32!)

    если обрабатывать только байты, то у x86 те же 8 байтовых регистров и 4 небайтовых "адресных"
    а у моторолы - 8 байтовых и 8 небайтовых адресных - иииии победа присуждается мотороле!
    Разрядность у 68000 адреса только 24 бита, а с данными по 32-бита работа идет очень медленно. У х86 роль адресных играют сегментные регистры, а в 68000 вам нужно постоянно и ЯВНО прописывать базовый адресный регистр. Если вам нужна индексация, то двойных индексов, как в х86, у 68к нет вообще, так как один из регистров - это база. Поэтому возня с адресными регистрами на 68к неприятный сюрприз для знакомых с х86 архитектурой.

    Для байтов у 8086 8 нормальных байтовых регистров и ещё три для пар байт, у 68000 8-байтовых регистров и 8 адресных регистров, которые использовать для работы с данными непросто. Как пары байт их использовать не получится точно и байты в них грузить нельзя. Проверьте свою арифметику.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    не "всегда", а "в лучшем случае" за три такта
    Вот вам ещё, отличникам, пример. Инструкция MOVS выполняется за 5 тактов: 2 на прием из памяти, 2 на запись и 1 на саму инструкцию - два регистра надо изменить. В MOV та же история, 1 такт на саму инструкцию, 2 два на память.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    толку-то от сферобыстроты в вакууме? когда на практике даже в песюках дешёвых под вайтами бывал и медленней
    Не понял фразы.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    нет, я знаю, что для НОРМАЛЬНОГО не понадобилось бы потом срочно добавлять к нему еще и V86
    Дос хорошо пошел, вот и добавили поддержку. Для нормальнольного мультитаскинга в 80286 все было отлично, не хуже лучших ПДП-11, а скорее лучше.


    Цитата Сообщение от Lethargeek Посмотреть сообщение
    на поздних был, на остальных чипсет с многозадачностью справлялся почему-то лучше, чем "нормальный ммю 286"
    Какая на Амигах многозадачность - простейшая, как и на первых виндузах. И Доса на амигах не было, а это и было главной проблемой на х86. Зиникс очень надежная система, с правильной архитектурой, но народ на Дос подсел.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    да ну, ересь, эффект будет сколько-нибудь заметным, если мне регулярно будет нужно сразу куча крохотных отдельных программок (не могу представить себе, зачем бы)
    Речь идет только о маленьком удобстве. Ещё пример, кэш включить, выключить и т.п.

    Цитата Сообщение от Hunta Посмотреть сообщение
    В общем, поскольку уровень господина-"эксперта" мне совершенно понятен, а свободное время не бесконечно, пошёл ка я лучше доделывать драйвер CF, а то ещё модуль Ethernet для Кванта-2020 заждался. Будет Ethernet - любой желающий сможет подключиться к Квант-у и посмотреть на программу, которая может использовать до трех с чем-то мб памяти на 16-ти битной машине с нормальным ДП и ОС. Кстати, заодно и на СОВЕТСКУЮ программу редактор-оболочку, которая примерно так года на год-полтора опередила по идеям NC. Жаль только, что первоначально была сделана версия под RSX, а не под RSX и RT
    А почему эксперта? Кто так меня вам представил так без меня? Лишь собираю данные. Правильно и вежливо ко мне обращаться надо - господин архивариус. Успехов в ретро-программировании. Некоторые такие крутые программы написали, что в 80-е и присниться немогло. И ещё не все шедевры прошлых лет найдены. Завел в Корветах тему про Турбо-Паскаль 4 для 8080 - работал лучше, чем Турбо-Паскаль 3 для z80 и даже 8088. И даже чем-то вроде обходил 4 на 8088! Но сорсов до сих пор нет. Автор хотел заработать... А ведь шедевр получился, хотя сам не тестировал - может там и багов вагон.

  6. #65
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    Павлодар
    Сообщений
    3,690
    Спасибо Благодарностей отдано 
    60
    Спасибо Благодарностей получено 
    174
    Поблагодарили
    130 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Спасибо, отличнику! Но как он такой умный объяснит, что MOV из памяти выполняется на 80286 выпоняется всегда за 3 такта, а на 68030 за от 5 до 42 (если повезет с кэшем, то от 3 до 30).
    Если один раз понять, чем отличаются CLK от PROC CLK и почему последний фигурирует в маркетинговых флаерах то вся магия растворяется. Повторюсь: продолжайте прогуливать физику и ваша жизнь наполнится чудесами и магией.

  7. #66
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    94 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Вот это уже интереснее. Имеем, как минимум, один блок загрузочной информации, а таких блоков в СОМ-файлe всегда ровно 0.
    Это не блок загрузочный информации. .SAV - образ памяти. Памяти в PDP начинается с адреса 0. Если тупо грузануть с адреса 0 - затрутся вектора и служебные ячейку. Так что загрузка пойдёт с адреса 1000, а это блок номер 2.

    Цитата Сообщение от litwr Посмотреть сообщение
    Вас попросили имя файла в каталоге, чтобы виден был размер.
    Цитата Сообщение от litwr Посмотреть сообщение
    RSX-11 была самой продвинутой среди осей для пдп-11. Но тормозной, без каталогов (их вроде там как-то вроде и можно прикрутить, но почему-то обычно этого не делали).
    Цитата Сообщение от litwr Посмотреть сообщение
    С другой стороны, абсолютное большинство людей, имевших дело с пдп-11 в СССР про RSX-11 почти ничего и не знал.
    Код:
    MCR > DIR DU1:[MACPROG]BIGPRG.TSK
    
    Directory DU1:[MACPROG]
    2020-02-09 20:53
    
    BIGPRG.TSK;1        4.      C  2020-02-09 13:45
    
    Total of 4./4. blocks in 1. file
    
    MCR > DIR DU:[3,54]DCL.TSK
    
    Directory DU0:[3,54]
    2020-02-09 20:56
    
    DCL.TSK;2           442.    C  2017-07-19 13:30
    
    Total of 442./442. blocks in 1. file
    
    MCR >
    Моя программа была написана как пример. Она во время выполнения расширяет доступную себе память, запрашивая у системы 2 мбайта и приостанавливает своё выполнение. Пример программы, которая использует больше 64 кб - BRU, второй пример выше. Так же в листингах выше - те самые каталоги, которых у вас отчего то в rsx не было и которые надо было как то прикручивать - то есть полное незнание rsx

    Цитата Сообщение от litwr Посмотреть сообщение
    И где же такие программы среди стандартных? В ДОСе таких было много и даже большинство.
    А стандартные писались так, что бы они занимали как можно меньше памяти (даже ценой оверлеев), потому что в те времена цена памяти была запредельной. Из документации:

    The RSX-11M Realtime Operating System can be used on any DEC PDP-11 computer(*) ....

    ---------
    (*) The minimum configuration is a 16K PDP-11/10 with a Teletype (Teletype is a registered trademark of the Teletype Corporation) or LA30 for the console terminal; one RK disk drive? which is the system distribution medium; a KW11-L/P for the system clock; a hardware bootstrap loader, and either one additional RK disk drive, a DECtape or cassete.

    16кб. А не как сейчас - 16 Гб ещё и мало будет. Поэтому и была написана RT-11 для машин с минимальным размером памяти. И если посмотреть на то, что сейчас есть в наличии из PDP совместимого - больше всего БК, УК-НЦ, 1201.01, 1201.02 - все без ДП и с макс размером памяти соответственно - 56кб

    В 84-ом году, когда на лаборатории на химфаке МГУ сменили СМ-3 на СМ-4 с 248 кб памяти, первое что мы тогда сделали - поставили RSX. И везде в МГУ - если на машине было ДП и памяти больше 64 кб - доставали и ставили RSX. Где бы не работал позже - или ОС-РВ или (при возможности) ставили RSX
    Так что
    Цитата Сообщение от litwr Посмотреть сообщение
    С другой стороны, абсолютное большинство людей, имевших дело с пдп-11 в СССР про RSX-11 почти ничего и не знал.
    полная хрень.
    Цитата Сообщение от litwr Посмотреть сообщение
    А нормального файла с программой более 64 кб так и не представленно.
    Ну да, "специалист" даже непонял

    Цитата Сообщение от litwr Посмотреть сообщение
    Не знаю про детали вашего Кванта.
    Ну это очевидно и так
    Цитата Сообщение от litwr Посмотреть сообщение
    Где бы их мог получить?
    В интернете, вестимо
    Цитата Сообщение от litwr Посмотреть сообщение
    Рассказали бы. Для меня Квант, это что-то с ВМ4 и памятью метра на 2, минимум.
    Вот пусть этим и остаётся

    Цитата Сообщение от litwr Посмотреть сообщение
    Правильно и вежливо ко мне обращаться надо - господин архивариус.
    Для начала - заслужить это надо. Но когда человек порет чушь от незнания предмета...

    Я закончил, больше общаться желания нет от слова совсем.

  8. #67
    Activist
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    253
    Спасибо Благодарностей отдано 
    36
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Если один раз понять, чем отличаются CLK от PROC CLK и почему последний фигурирует в маркетинговых флаерах то вся магия растворяется. Повторюсь: продолжайте прогуливать физику и ваша жизнь наполнится чудесами и магией.
    Писал про реальное быстродействие, которое этими тактами просчитывается. Вы не ответили на вопрос, отличник! Похоже и вам двойка. Нет тут отличников.
    Цитата Сообщение от Hunta Посмотреть сообщение
    Это не блок загрузочный информации. .SAV - образ памяти. Памяти в PDP начинается с адреса 0. Если тупо грузануть с адреса 0 - затрутся вектора и служебные ячейку. Так что загрузка пойдёт с адреса 1000, а это блок номер 2.
    А почему бы не грузить сразу с адреса 1000 как СОМа с 800? Называйте как хотите, но 512 или больше байт имеем на системные нужды. Типичная загрузочная информация.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Моя программа была написана как пример. Она во время выполнения расширяет доступную себе память, запрашивая у системы 2 мбайта и приостанавливает своё выполнение. Пример программы, которая использует больше 64 кб - BRU, второй пример выше. Так же в листингах выше - те самые каталоги, которых у вас отчего то в rsx не было и которые надо было как то прикручивать - то есть полное незнание rsx
    Спасибо, уважаемый. А почему вы решили, что у меня какое-то знание особенно большое про RSX-11? У меня есть некоторая информация и интерес к некоторым деталям - всё. Сказать полное незнание нельзя - у меня есть программки для RSX-11 и небольшой опыт работы. А теперь по делу. Не могли бы помочь понять, а как RSX-11 позволяет прикладной программе работать с памятью большей 64 кб? Адреса 16-битные, а базовые адреса - это системный ресурс. И ещё, уважаемый эксперт, насчет каталогов. Сталкивался с тем, что в RSX-11 были каталоги только первого уровня, но не было второго, который должен прикручиваться отдельно - вы как эксперт должны знать о таком - в ваших примерах вложенных каталогов не нашёл - подскажите, пожалуйста, где, если пропустил.

    Цитата Сообщение от Hunta Посмотреть сообщение
    А стандартные писались так, что бы они занимали как можно меньше памяти (даже ценой оверлеев), потому что в те времена цена памяти была запредельной. Из документации:

    The RSX-11M Realtime Operating System can be used on any DEC PDP-11 computer(*) ....

    ---------
    (*) The minimum configuration is a 16K PDP-11/10 with a Teletype (Teletype is a registered trademark of the Teletype Corporation) or LA30 for the console terminal; one RK disk drive? which is the system distribution medium; a KW11-L/P for the system clock; a hardware bootstrap loader, and either one additional RK disk drive, a DECtape or cassete.

    16кб. А не как сейчас - 16 Гб ещё и мало будет. Поэтому и была написана RT-11 для машин с минимальным размером памяти. И если посмотреть на то, что сейчас есть в наличии из PDP совместимого - больше всего БК, УК-НЦ, 1201.01, 1201.02 - все без ДП и с макс размером памяти соответственно - 56кб
    На ПДП-11 с с середины 80-х ставили много памяти - системки недешёвые, ставили её немало и раньше на мини-менфреймы с Юникс и, возможно, с RSX-11. Ho юзер получал только менее 64 кб. Не понятно, что тут спорить. Большие коды поддерживались только каким-то шаманством.

    Цитата Сообщение от Hunta Посмотреть сообщение
    В 84-ом году, когда на лаборатории на химфаке МГУ сменили СМ-3 на СМ-4 с 248 кб памяти, первое что мы тогда сделали - поставили RSX. И везде в МГУ - если на машине было ДП и памяти больше 64 кб - доставали и ставили RSX. Где бы не работал позже - или ОС-РВ или (при возможности) ставили RSX
    Так что полная хрень.
    А химфак - это весь Союз? Даже не смешно. У меня знакомые с Демосом работали, тут на форуме люди в основном про RT-11. Тоже в МГУ работал, но на физфаке, знаю людей из лаборатории DEC, что работали там в 90-е, но это уже была эра Альфа.

    Цитата Сообщение от Hunta Посмотреть сообщение
    В интернете, вестимо
    Вот нашел.
    ДВК-4М
    На основе «Электроника МС 1201.04». Имеет память размером 1 МБ, которая могла использоваться как RAM-диск.

    Было выпущено несколько компьютеров с сопроцессором плавающей точки К1801ВМ4. На части компьютеров стояла ОС ДЕМОС-ДВК. Продвинутые пользователи ставили вместо неё RT11-SJ («Single Job» — однозадачную ОС от PDP-11) или RT11-FB (многозадачная), RT11-XM («eXtended Memory» — расширенная память), RT11-CD (система для УКНЦ), Фодос — по сути кривой перевод на русский с этих ОС.

    Квант-4С
    Комплектация аналогична ДВК-4М, но комплекс смонтирован в горизонтальном металлическом корпусе.
    Цитата Сообщение от Hunta Посмотреть сообщение
    Вот пусть этим и остаётся
    Понятно, что ВМ3 и опциональный ВМ4. Что не так? Чем опять "эксперт-специалист" вам, истинному эксперту, не угодил? Но нашел ещё ссылку - такой у вас? Там цена почти 20000 руб. Года нет. Неужели 1987? Обсуждающий народ считает, что это покруче ЕС-1841 - согласен.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Для начала - заслужить это надо. Но когда человек порет чушь от незнания предмета...
    Ничего я вам не порю, а спрашиваю вас как специалиста-эксперта. Терплю ваши г. и прочие словестные выходки - а вы же в МГУ работали и не слесарем.
    Последний раз редактировалось litwr; 09.02.2020 в 23:37.

  9. #68
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    94 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    512 или больше байт имеем на системные нужды. Типичная загрузочная информация.
    Образ памяти. Место под стек нужно? По умолчанию - с адреса 1000, то есть резервируется (по умолчанию) в блоке 1. Стек изначально пустой - зачем его грузить. Вектора прерываний используются в работе. Их грузить из .sav и затирать рабочие? Поэтому прочитали блок 1, получили инфу о стеке, о точке входа, сколько блоков грузить. Дальше один запрос на чтение и передача управления. Где речь идёт о таблице релокации и правке в памяти загруженного, как в .exe?

    Цитата Сообщение от litwr Посмотреть сообщение
    А почему вы решили, что у меня какое-то знание особенно большое про RSX-11? У меня есть некоторая информация и интерес к некоторым деталям - всё.
    Тогда не несите чушь и слушайте, что говорят те, кто работает с RSX с 84-ого года.

    Цитата Сообщение от litwr Посмотреть сообщение
    Не могли бы помочь понять, а как RSX-11 позволяет прикладной программе работать с памятью большей 64 кб? Адреса 16-битные, а базовые адреса - это системный ресурс.
    Запросы к ядру

    Цитата Сообщение от litwr Посмотреть сообщение
    Сталкивался с тем, что в RSX-11 были каталоги только первого уровня, но не было второго, который должен прикручиваться отдельно
    Вообще то первый уровень - это каталог [0,0]. Рабочие каталоги - это уже второй уровень. Файловая система ODS-1. Третий уровень делали в P/OS. Поддержка третьего и дальше уровней штатно - ODS-2 и выше. Не могу сказать точно, почему не сделали, но судя по тому что я виде в исходниках VMS - это слишком ресурсно-затратно для тех времён. Хотя у меня есть мысль - добавить это дело на современных процессорах PDP-11

    Цитата Сообщение от litwr Посмотреть сообщение
    А химфак - это весь Союз? Даже не смешно
    А я не только на химфаке работал.

    Цитата Сообщение от litwr Посмотреть сообщение
    тут на форуме люди в основном про RT-11
    Тут на форуме у людей в основном БК и УК-НЦ

    Цитата Сообщение от litwr Посмотреть сообщение
    Вот нашел.
    Цитата Сообщение от litwr Посмотреть сообщение
    Продвинутые пользователи ставили вместо неё RT11
    Продвинутый пользователь перенес на неё RSX примерно лет за 10 до того, как на этом форуме поднялся вопрос (и долго муссировался), что RSX на ВМ3 не заработает, потому что в нём ошибки. Хорошо, что я примерно так в 91-92 годах об этом не подозревал и просто перенёс.

    Цитата Сообщение от litwr Посмотреть сообщение
    спрашиваю вас как специалиста-эксперта.
    Вы не спрашиваете. Вы утверждаете вещи, в которых не разбираетесь, по вашему же признанию
    Цитата Сообщение от litwr Посмотреть сообщение
    А почему вы решили, что у меня какое-то знание особенно большое про RSX-11?
    Цитата Сообщение от litwr Посмотреть сообщение
    а вы же в МГУ работали и не слесарем.
    Аха. В 19 лет. И не слесарем.

  10. #69
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    3,079
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    62
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    48 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Код:
    todec:    ;convert dx:ax to stringbuf, it occupies 30 bytes
              mov bx,stringbuf
              mov si,10
    .l1:      mov cx,ax
              mov ax,dx
              xor dx,dx
              div si
              xchg ax,cx
              div si
              or dl,'0'
              mov [bx],dl
              inc bx
              mov dx,cx
              or cx,ax
              jnz .l1
              retn
    странная какая конверсия в перевёрнутую строку, но ладно уж
    только по-честному вместо mov для загрузки адреса буфера надо бы использовать lds
    да и параметры в регистры dx:ax тоже как-то попадают сперва из памяти

    но самое смешное, что код arm2, оптимизированный на скорость (~18 тактов на итерацию!) занимает не так чтобы очень много - 56 байт
    а если вызывать деление процедурой (каковая всё равно еще где-нибудь в большой программе будет нужна) - только 20 байт

    Цитата Сообщение от litwr Посмотреть сообщение
    Опять вы сбились, текст был про амиги, а там 68к и регистр стека один
    не "опять", потому что первым с арма на амиги сбился не я

    Цитата Сообщение от litwr Посмотреть сообщение
    Что там не дочитано? Там написано, что да, хуже, но у нас есть трюки.
    не-не-не, ничего такого там НЕ написано! первая часть:
    In addition, code density is less so an application in RISC is likely to consume more memory than the equivalent in CISC;
    ...говорит о неких абстрактных "рисках", а вторая:
    however the ARM has a few tricks up its sleeve to reverse this assumption.
    ...говорит о том, что конкретно арм способен ОПРОВЕРГНУТЬ (дословно: "перевернуть") это предположение!

    Цитата Сообщение от litwr Посмотреть сообщение
    Но код Арма без пальца побольше х86 практически всегда. Вот, например, ссылка.
    это ссылка на исследование качества компиляторов 2010-х годов, причём после долгих лет застоя на поле арма

    Цитата Сообщение от litwr Посмотреть сообщение
    Какие исторические статьи? Может проблема в том, что люди, которые хорошо знают Арм (англичане-энтузиасты) никогда не сомневались при общении со мной (а они мою статью про АРМ читали), что плотность кодов у АРМа пониже
    сомневаюсь, что все поголовно не сомневались, почитав, как реагировали амижники

    Цитата Сообщение от litwr Посмотреть сообщение
    Хотя, Арм-Палец нередко позволяет обогнать х86 по плотности, но, повторю, ценой тормозов. Но это уже не старый добрый британский Арм, а то что из него сделали.
    это то, что сделали ради мобильного рынка, где преобладали 16-битные шины, и на самом деле вовсе не для плотности, а для скорости

    Цитата Сообщение от litwr Посмотреть сообщение
    Вы работали с секретаршами? Если у них что-то падает, то будет истерика, а они работали и без истерик.
    значит, я работал с неистеричными (а если что-то падало, выяснялось, что причиной была всунутая дискетка с посторонним софтом)

    Цитата Сообщение от litwr Посмотреть сообщение
    А Дум откуда взялся, который Амиги закрыл?
    к тому времени амиги прекрасно закрывались самостоятельно в результате "эффективного менеджмента"

    Цитата Сообщение от litwr Посмотреть сообщение
    Разрядность у 68000 адреса только 24 бита, а с данными по 32-бита работа идет очень медленно. У х86 роль адресных играют сегментные регистры,
    нетушки, только половину этой роли они играют

    Цитата Сообщение от litwr Посмотреть сообщение
    а в 68000 вам нужно постоянно и ЯВНО прописывать базовый адресный регистр. Если вам нужна индексация, то двойных индексов, как в х86, у 68к нет вообще, так как один из регистров - это база. Поэтому возня с адресными регистрами на 68к неприятный сюрприз для знакомых с х86 архитектурой.
    вообще для знакомых с x86 архитектурой возня привычна, потому что программирование x86 - это и есть постоянная возня со ВСЕМИ регистрами

    Цитата Сообщение от litwr Посмотреть сообщение
    Для байтов у 8086 8 нормальных байтовых регистров и ещё три для пар байт,
    так, стопэ, а байты откуда брать? как без адресных регистров читать из памяти?

    Цитата Сообщение от litwr Посмотреть сообщение
    у 68000 8-байтовых регистров и 8 адресных регистров, которые использовать для работы с данными непросто.
    как будто "пары байт" x86 для работы с байтами использовать очень просто - в основном обмен и временное хранение
    но обмены есть и в 68000 - половинок регистров данных и целых регистров, включая адресные
    что примерно так же можно применять для работы с байтами - и сколько тогда байтовой регистровой памяти?

    Цитата Сообщение от litwr Посмотреть сообщение
    Как пары байт их использовать не получится точно и байты в них грузить нельзя.
    почему это нельзя? из регистров данных можно грузить; и в арифметике и логике применять как байты-источники

    Цитата Сообщение от litwr Посмотреть сообщение
    Не понял фразы.
    для понимания погуглить таблицы dhrystone тестов и подивиться на разброс результатов

    Цитата Сообщение от litwr Посмотреть сообщение
    Дос хорошо пошел, вот и добавили поддержку. Для нормальнольного мультитаскинга в 80286 все было отлично,
    ага, нормальный такой мультитаскинг, при котором over 95% наличного софта не работает, всё отлично

    Цитата Сообщение от litwr Посмотреть сообщение
    Какая на Амигах многозадачность -
    - наблюдаемая в объективной реальности over 95% амижных юзеров

    Цитата Сообщение от litwr Посмотреть сообщение
    Речь идет только о маленьком удобстве. Ещё пример, кэш включить, выключить и т.п.
    выключалку нужно написать один раз
    Прихожу без разрешения, сею смерть и разрушение...

  11. #70
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    94 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    На ПДП-11 с с середины 80-х ставили много памяти - системки недешёвые, ставили её немало и раньше на мини-менфреймы с Юникс и, возможно, с RSX-11. Ho юзер получал только менее 64 кб. Не понятно, что тут спорить. Большие коды поддерживались только каким-то шаманством.
    А ничего, что первая RSX вышла в 74 году? Или тогда тоже ставили "много" памяти?
    Цитата Сообщение от litwr Посмотреть сообщение
    Ho юзер получал только менее 64 кб
    Для XM монитора и RSX с поддержкой ДП - полная хрень - доказано выше.
    Цитата Сообщение от litwr Посмотреть сообщение
    Большие коды поддерживались только каким-то шаманством.
    Ещё одна полная хрень. Для RSX и XM монитора RT - отлично документировано и достаточно легко используется. Причём можно насчитать аж три подхода.

    - прямая работа с соответствующими запросами к ядру системы
    - непрямая работа - оверлеи, резидентные в памяти - в RSX. Вроде что то подобные было и в XM мониторе, но учитывая его убогую многозадачность, я RT практически не использую, поэтому сходу не могу не подтвердить, не опровергнутью
    - массивы Virtual (теоретически - только под данные, но мы в своё время научились хитрить, но не получив от этого никакой пользы - для кода вернулись к пункту 2

    Для нахватавшихся знаний из мутных статей в инете, а не из официальной документации или личного опыта - пусть остаётся "только каким-то шаманством".

    Хотя да, поскольку создатели Unix поделок шли каким-то своим тёмным путём - возможно, в Unix это так и осталось тёмным шаманством.

Страница 7 из 10 ПерваяПервая ... 345678910 ПоследняяПоследняя

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

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

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

Похожие темы

  1. DEC vs IBM holy war тема
    от bigral в разделе ДВК, УКНЦ
    Ответов: 218
    Последнее: 19.03.2019, 22:45
  2. CM601P клон Motorola 6800
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 15.03.2011, 11:05
  3. эмулятор zx-spectrum на motorola razr v3
    от jyly0s в разделе Эмуляторы
    Ответов: 2
    Последнее: 21.01.2007, 19:16

Ваши права

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