Просмотр полной версии : Дискуссии вокруг УКНЦ и прочее.
О измерениях быстродействия 1801-й и некотрых 1806 процессоров уже было написано.
А вот практические задачи по типу как копирование массива ОЗУ ( например, 1 Кбайт ) - пока что-то не было написано.
Прошу принять участие владельцев всех типов ЭВМ, особенно на Z80 - 3.5 мгц, 580ВМ80-2.5 мгц и некотрых др.
Допускаются любые способы оптимизации исполняемого кода.
( Очень даже вероятно, что БК11М-4 мгц существенно отстанет от Z80-3.5 мгц 48 Кбайт ДОЗУ ).
Образец текста программы для ДВК/БК , набирать с 1000 адресу :
001000 : 012700 010000 012701 000200 012702 002000 012703 004000
001020 : 012223 012223 012223 012223 012223 012223 012223 012223
001040 : 077111 077020 000000
Что делает программа ?
Копирует 4096 раз массив 1 2 Кбайт ( длина 002000 слов / 004000 байтов ) с адреса 002000 в адрес 004000.
Для особо точного измерения можно потом в адресе 001040 число 077111 заменить на 077101 и замерить время Холостого Хода ( чисто время организации цикла ).
Результат мумрулятора ДВК-2 МС1201.01 5.3 мгц :
33 сек, ХХ - 2.5 сек, производительность - 134.3 Кбайт/с ( 1 Кбайт = 1024 байт ).
BlaireCas
02.06.2023, 15:23
Провел тест на железной УКНЦ. За 250 тиков (50Гц) скопировался мегабайт. Пять секунд. Итого грубо 200кб/с.
Негусто, ну что-ж, и так попрет :)
Команды тупее некуда:
mov #100., R4
clr VSYCNT
10$: mov #BUF1, R0
mov #BUF2, R1
mov #5000., R3
20$: mov (R0)+, (R1)+
sob R3, 20$
sob R4, 10$
Провел тест на железной УКНЦ.
Я как-то прикидывал другой вариант - на ВМ3 с памятью без ожидания копирование в VM: получалось где-то в районе 600-800 кб.. Не помню точно, надо в теме по 1201.2018 поискать..
BlaireCas
02.06.2023, 16:07
Кстати вроде даже на правду похоже если я верно вспомнил тайминги УКНЦ:
mov (R0)+, (R1)+ 42 такта
sob с переходом 32 такта
Итого 74 такта, всего на копирование мегабайта 500 000 операций итого 37М тактов. На частоту процессора в 8МГц ну примерно около 5 сек. (скидка еще на то что где-то видеочип слегонца в такты не попал и т.д.)
Можно разумеется разворачивать циклы ускорять и прочую шнягу использовать, но это уже от лукавого.
(вот только не надо господа с mos6502 бугага устраивать, навроде ахахах укнц тормоз, операция в 42 такта курам на смех :) как-бы и в 92 бывает ashc сдвиг на 15 бит если.. как-то с этим живем)
Тут ещё надо учитывать, что время доступа тратится на считывание потока команд из памяти...
Одна команда на перенос слова... Плюс одна команда для случая с SOB или две без оного или даже более в других случаях...
Итого на копирование одного слова - выборка двух команд из той же памяти, как минимум.
Можно провести оптимизацию кода за счёт увеличения объёма кода. Ну на 30% быстрее...
Возможно ускорение будет ещё более за счёт предвыборки... Но это не точно. Надо смотреть каждый аппаратный случай отдельно.
Типа того :
mov #100., R4
clr VSYCNT
10$: mov #BUF1, R0
mov #BUF2, R1
mov #500., R3
20$: mov (R0)+, (R1)+
mov (R0)+, (R1)+
mov (R0)+, (R1)+
mov (R0)+, (R1)+
mov (R0)+, (R1)+
mov (R0)+, (R1)+
mov (R0)+, (R1)+
mov (R0)+, (R1)+
mov (R0)+, (R1)+
mov (R0)+, (R1)+
; SOB в коде выполняется в 10. раз реже :)
sob R3, 20$
sob R4, 10$
Плюс-минус можно оценить по скорости копирование на(с) VM: для компьютеров с MMU
BlaireCas
02.06.2023, 17:06
Тут ещё надо учитывать, что время доступа тратится на считывание потока команд из памяти...
Так с этим кодом стало ну почти 300кб/с. 294 или навроде. Впрочем логично.
А насчет предварительного считывания очередной команды - у меня есть такие подозрение что видеоконтроллер в УКНЦ гробит эту хорошую фишку ВМ2 процессора (все-равно проц сидит и ожидает доступа к ОЗУ сколько-то тактов).
Возможно для последовательных команд скажем inc R0 - оно и ускорится, а вот для команд с доступом к ОЗУ - даже не знаю.
Надо бы другие случаи посмотреть...
Другие системы.
Но если есть живая УКНЦ, то почему бы ешё не посмотреть, что будет твориться, если скормить сее ПП...
Понятно, что ПП медленнее, что тот же видеоконтроллер лезет в память... Но чисто из любопытства :)
BlaireCas
02.06.2023, 18:19
Но если есть живая УКНЦ, то почему бы ешё не посмотреть, что будет твориться, если скормить сее ПП...
Получилось СИЛЬНО тормознее почему-то. Не ставил разворачивание циклов. Копирование мегабайта с банальным sob - 435тиков. Тормознее в 1.7 раза.
Довольно странно ибо ПП по мегагерцам не во столько раз медленнее.
Может где-то код кривой написал. Там разумеется побольше оверхеда идет из-за адресации в ПП (ну и я буферы в половину уменьшил).
Код для ПП в саааамом конце.
(кстати эмулятор UKNCBTL показывает довольно близкие результаты к реальному железу, только ЦП там чуть медленнее, а ПП наоборот быстрее :) )
.mcall .ttyout .exit
.enabl LC
.list meb
VSIOLD: .word 0
VSYCNT: .word 0
PPCOMM: .word 0
; //////////////////////////////////////////////////////////////////////////////
; // START
; //////////////////////////////////////////////////////////////////////////////
START:
; run PPU code
inc PPCOMM ; ask PPU for 'phase 1 ready'
mov #PPUSTA, R4 ; run PPU code
mov #<PPUEND-PPUSTA/2>, R5
call PPRUN
tst PPCOMM ; wait for 'ppu phase 1 ready'
bne .-4
; set vsync interrupt for counting
mov @#100, VSIOLD
mov #VSYNCI, @#100
; ask PPU run test and wait for it to finish
inc PPCOMM
clr VSYCNT
tst PPCOMM
bne .-4
; restore vsync interrupt
mov VSIOLD, @#100
; clear PPU RAM
call PPRELE ; release PPU memory
; print results
mov VSYCNT, R0
call P00000
.exit
; //////////////////////////////////////////////////////////////////////////////
; 50Hz interrupt
VSYNCI: inc VSYCNT
rti
P00000: mov #5, R3
PrintP: mov #Pri000+5, R5
1$: mov R0, R1
clr R0
div #10., R0
add #'0, R1
movb R1, -(R5)
sob R3, 1$
PriOut: movb (R5)+, R0
beq 3$
.ttyout
br PriOut
3$: return
Pri000: .ASCIZ /00000/
.EVEN
; //////////////////////////////////////////////////////////////////////////////
; // CPU -> PPU exchange
; //////////////////////////////////////////////////////////////////////////////
; PPU message
;
PPMSG: .WORD PPARR ; address of beginning of array
.WORD 177777 ; end of transmission
; PPU data exchange array
;
PPARR: .BYTE 0 ; return value (0 - OK)
PPCMD: .BYTE 0 ; command
.WORD 32 ; device type (32 - PPU mem)
PPAPP: .WORD 0 ; address for PPU
PPACP: .WORD 0 ; address for CPU
PPLEN: .WORD 0 ; length in words
; send command to PPU with exch array
PPSEN: mov R0, -(SP)
mov R1, -(SP)
mov #PPMSG, R0 ; array address
mov #5, R1 ; bytes to send+1 (sending from @#PP_MSG)
br 1$
2$: movb (R0)+, @#176676
1$: tstb @#176674 ; test if we are ready to send
bpl 1$ ; cycle if >= 0 (not set last bit in byte)
sob R1, 2$
mov (SP)+, R1
mov (SP)+, R0
return
; send and start PPU code
; R4 - start addr in CPU
; R5 - length / 2
PPRUN: movb #1, PPCMD ; 1 - allocate memory
mov R5, PPLEN
call PPSEN
tstb PPARR ; test if allocate success
beq 1$ ; 0 - OK
; .print #MSG010
.exit ; fatal error - out of memory in PPU
1$: movb #20, PPCMD ; 20 - write to PPU mem
mov R5, PPLEN
mov R4, PPACP
call PPSEN
movb #30, PPCMD ; 30 - run
call PPSEN
return
; release PPU memory in case of something..
PPRELE: movb #2, PPCMD ; 2 - release memory
call PPSEN
return
; //////////////////////////////////////////////////////////////////////////////
; // PPU code
; //////////////////////////////////////////////////////////////////////////////
PPUSTA:
; clear current command (phase 1 ready, code loaded)
mov #PPCOMM/2, @#177010
clr @#177014
; wait for 'start test'
2$: mov #PPCOMM/2, @#177010
tst @#177014
beq 2$
mov #200., R4
10$: mov PC, R0
add #PPBUF1-., R0
mov PC, R1
add #PPBUF2-., R1
mov #2500., R3
20$: mov (R0)+, (R1)+
sob R3, 20$
sob R4, 10$
; test ends
mov #PPCOMM/2, @#177010
clr @#177014
return
PPBUF1: .blkw 2500.
PPBUF2: .blkw 2500.
; //////////////////////////////////////////////////////////////////////////////
; // END PPU CODE
; //////////////////////////////////////////////////////////////////////////////
PPUEND:
.END START
А насчет предварительного считывания очередной команды - у меня есть такие подозрение что видеоконтроллер в УКНЦ гробит эту хорошую фишку ВМ2 процессора (все-равно проц сидит и ожидает доступа к ОЗУ сколько-то тактов).
Возможно для последовательных команд скажем inc R0 - оно и ускорится, а вот для команд с доступом к ОЗУ - даже не знаю.
Ускорится. Пока декодируется команда MOV (R0)+,(R1)+, по предвыборке уже читается следующая. Вот её чтение может притормозить исполняющуюся команду. Декодирование завершилось, надо память читать, а там ещё следующая команда по предвыборке не прочлась. Но это низкая вероятность.
А вот если вместо SOB использовать DEC/BNE, будет ли быстрее?
- - - Добавлено - - -
Получилось СИЛЬНО тормознее почему-то. Не ставил разворачивание циклов. Копирование мегабайта с банальным sob - 435тиков. Тормознее в 1.7 раза.
Довольно странно ибо ПП по мегагерцам не во столько раз медленнее.
А в ПП доступ к памяти 8-битный, потому что слово контроллером считывается за два приёма. С записью вроде там получше, положилось слово для записи в контроллер, он выдал RPLY, процессор дальше продолжает работу, а он за два приёма слово записывает.
И ещё, по поводу скорости обмена ...
Вспомним о том, что ИРПР был и 16 бит шириной.
И как мне утверждал парнишка, который крутился у комплекса где были связаны 16-битным ИРПР СМ-1400 и ДВК, скорость обмена была 240 Кбайт в секунду...
Не ведаю откуда и куда при этом данные пересылались. И даже не ведаю что за софт там был :(
Сам я этот комплекс видел только с пионерского расстояния :(
Полазить по нему меня никто не пустил бы...
- - - Добавлено - - -
Интересно бы было ещё попробовать на ПП уменьшить число SOB вышеописанным образом ...
Любопытна была бы кратность ускорения.
BlaireCas
03.06.2023, 11:11
Интересно бы было ещё попробовать на ПП уменьшить число SOB вышеописанным образом ...
Любопытна была бы кратность ускорения.
Итого: Во всех тестах копируется 1мб (миллион байт) по словам. В ЦП копируется буфер 10кб -> 10кб и зацикливается 100 раз. В ПП копируется буфер 5кб -> 5кб и зацикливается 200 раз. Не думаю что тут сильно большое влияние окажет. Все цифры замера это количество тиков прерывания 50Гц. Для перевода в кб/с - 50000/цифра = кб/с
ЦП:
1) стандартный mov sob = 250 (200кб/с)
2) замена sob на dec bne = 279 (sob лучше)
3) разворот цикла, 10 раз подряд mov и только затем sob = 170 (294 кб/с, ускорение почти в полтора раза)
(попробовал развернуть цикл на 50mov-ов :) - получилось 306кб/с, ну думаю дальше не надо уже)
ПП:
1) mov sob = 435 (114кб/с)
2) разворот цикла, 10 раз mov и затем sob = 290 (172кб/с, ускорение в полтора раза, аналогично ЦП вообщем ускорение)
После прогрева УКНЦ результаты ухудшаются примерно на 1-2% поэтому тут циферки все "приблизительные".
Для эмулятора UKNCBTL 2022-окт билд (использовался лучший вариант с 10 раз mov):
ЦП: 190 (263кб/с немного медленнее реала)
ПП: 245 (204кб/с немного быстрее реала)
- - - Добавлено - - -
А в ПП доступ к памяти 8-битный, потому что слово контроллером считывается за два приёма.
Ах вон видимо где собака закопана. А то думаю "чего он ПП так тормозно работает".
---
Еще один момент, я тут посмотрел на замеры скорости на БК-0010-01: mov (R0)+,(R1)+ , замерял Manwe ему можно верить. Так у него получилось 44 такта процессора.
У УКНЦ сейчас начал замерять - у меня 51.52 такта.
У Alex_K было 50 тактов (быстрее машинка либо кварцы либо я не знаю, у меня СЭМЗ, у него была Квант).
randomizer
03.06.2023, 14:08
У меня получалось 364 464 байт/сек с кодом ниже частотой ЦП 10МГц
MOV #200.,R0
1$: CALL CpLine
SOB R0,1$
RETURN
CpLine:
.REPT 40
MOV (R2)+,(R1)+
.ENDR
RETURN
366 132 байт/сек если вынести стек в SRAM
392 156 байт/сек если вынести код и стек в SRAM
469 208 байт/сек копирование SRAM -> DRAM
765 550 байт/сек копирование SRAM -> SRAM
BlaireCas
03.06.2023, 14:34
У меня получалось 364 464 байт/сек
Это УКНЦ? А можно как-бы весь код? Слишком уж быстро.
(может конечно что-то модифицировано, но даже если брать 50 тактов (у меня допустим еще медленнее, 51.5) на mov (r0)+, (r1)+ и произвести 182к операции для копирования 364к байт - это будет 9.1м тактов что явно превышает тактовую частоту процессора для копирования в 1сек)
randomizer
03.06.2023, 14:53
https://github.com/aberranthacker/soft_scroll_test/blob/422c604e9de61190dd69a092454ca6f05e7c9022/main.mac#L305
Код делает программный вертикальный скрол изображения 320x200 2 бита на пиксель, 16 000 байт
Замерялось сколько произошло прерываний по обратному ходу за время отрисовки 200 экранов.
439 в первом случае, и вышло 364 464 байт/сек (+/-)
Частота ЦП на 20% выше стандартной, и скорость получается примерно на 20% выше.
- - - Добавлено - - -
Тут ещё замеры. (https://github.com/aberranthacker/UKNC_upgrades#%D1%82%D0%B5%D1%81%D1%82-%D1%81%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D0%B8-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8-%D0%B2-%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C) С секундомером в руках.
BlaireCas
03.06.2023, 14:59
Частота ЦП на 20% выше стандартной
"Ах вон оно че, Михалыч" (с) :) Подумал что тут магия какая-то.
(мой код для замера в ЦП скажем так попроще)
.mcall .exit, .ttyout
.list meb
VSYOLD: .word 0 ; old vsync int
VSYCNT: .word 0 ; vsync count
; vsync interrupt
VSYNI: inc VSYCNT
rti
; //////////////////////////////////////////////////////////////////////////////
; START
; //////////////////////////////////////////////////////////////////////////////
START: ; new vsync interrupt
mov @#100, VSYOLD
mov #VSYNI, @#100
mov #100., R4
clr VSYCNT
10$: mov #BUF1, R0
mov #BUF2, R1
mov #100., R3
20$: .rept 50.
mov (R0)+, (R1)+
.endr
sob R3, 20$
sob R4, 10$
; restore vsync int
mov VSYOLD, @#100
; output results
mov VSYCNT, R0
call P00000
.exit
; //////////////////////////////////////////////////////////////////////////////
P00000: mov #5, R3
PrintP: mov #Pri000+5, R5
1$: mov R0, R1
clr R0
div #10., R0
add #'0, R1
movb R1, -(R5)
sob R3, 1$
PriOut: movb (R5)+, R0
beq 3$
.ttyout
br PriOut
3$: return
Pri000: .ASCIZ /00000/
.EVEN
BUF1: .BLKW 5000.
BUF2: .BLKW 5000.
.END START
результаты интересные :)
с другой стороны подтверждается теория.
ПП ЦП в УКНЦ хилый помощник :(
Худо-бедно только ввод-вывод...
и то могли бы для ЦП сэмулировать DU, например...
А то MZ только на УКНЦ...
BlaireCas
03.06.2023, 15:26
ПП ЦП в УКНЦ хилый помощник
Ну как Alex_K подсказал - там чтение идет по байтам в ПП. Что-ж..
Да оно и на практике подтверждалось что там тормоза. Все-же он не основной проц. Поэтому вот всякие возгласы "да там два процессора" - это та еще ерундень, с ним и работать непросто и еще и тормозит на памяти.
8 дорожек всего "сэкономили" и удушили ПП :(
ПП ЦП в УКНЦ хилый помощник
Худо-бедно только ввод-вывод...
Так ПП и делался как "интеллектуальный" контроллер внешних устройств. Скажите спасибо разработчикам, что сделали возможность грузить туда свой код.
- - - Добавлено - - -
8 дорожек всего "сэкономили" и удушили ПП
Удушить-то удушили, а где вы лишние ноги у БМК найдёте, там они и так почти все используются и лишних восьми ног не было бы. ОЗУ в диапазоне адресов 0100000-0177777 (040000-077777 через РА) было бы доступно только через РА/РД, там хоть можно было бы свои данные хранить.
randomizer
03.06.2023, 19:37
Худо-бедно только ввод-вывод...
ПП по умолчанию исполняет код из ПЗУ, а у него 16 битная шина.
Например при выводе символов на экран, запись данных идёт через специальный регистр, из которого уже БМК разносит их по трём банкам памяти.
Не чтобы худо бедно.
- - - Добавлено - - -
8 дорожек всего "сэкономили" и удушили ПП
У УКНЦ три восмибитных банка памяти по 64К.
К ЦП подцеплено два из них, по чётным адресам один, по нечётным второй. Получаем 16 бит.
А у ПП один банк. 8 бит.
Так что если и сэкономили, то 8 микросхем памяти)
BlaireCas
03.06.2023, 20:28
У УКНЦ три восмибитных банка памяти по 64К.
К ЦП подцеплено два из них, по чётным адресам один, по нечётным второй. Получаем 16 бит.
Я кстати всегда считал что в ЦП память идет дальше чем до 177777 (8), даже так в асме у меня всякая ерундень мол:
4198 GlobalDarken:
4199 257000 000616 003416 .word 398, 7*256+14
4200 257004 001527 006015 .word 855, 12*256+13
4201 257010 000000 .word 0
4202
4203 GlobalLevel:
4204 257012 000000 000002 000000 .word 0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,2,0,0,0,1,0,0,0,1, 0,0,0,0,0,4,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,2,0,0,0, 1,0,0,0,1,0,4,4,4,4,4
257020 000000 000000 000001
257026 000000 000000 000000
257034 000001 000000 000000
Это листинг но не нативного макроасм.
К сожалению код там не выполнить, все-ж проц остается 16-битным.
Это листинг но не нативного макроасм.
Хрень это, а не асм
randomizer
03.06.2023, 21:07
Я кстати всегда считал что в ЦП память идет дальше чем до 177777 (8), даже так в асме у меня всякая ерундень мол:
Так ведь идёт, просто нижние 32К каждого банка доступны напрямую, верхние через регистры адреса/данных.
BlaireCas
03.06.2023, 23:44
Хрень это, а не асм
Ну не ругайся, дядя :) Адреса больше 177777, а уж как там линкер это соберет это другое дело (возможно как-то иначе чем обычный тоже).
И кстати в УКНЦ даже в книжке по прототипу вроде писали что 2 по 32к озу отходят в ЦП, почему у него могут быть адреса до 400000 (я понимаю как это глупо звучит с 16-бит процом), а еще один 32к в ПП (но тот их может припамить на ПЗУ, правда вылез косяк что примапить-то он примапливает, но запись идет в ОЗУ, а читается с ПЗУ, Alex_K еще пояснял мол ПЗУ-то быстрее считывается и пофиг что туда припамлено)
Резюмирую, что УКНЦ - в целом, на момент выпуска, была приличной машиной. Хотя её вполне можно было бы оптимизировать.
Для того, чтобы что-то новое сделать, надо сделать было хоть как-то... Потом началась работа над ошибками по мелочам, но УКНЦ-2 в массы не пошла ...
litwr, увидел, что лёгким движением руки программиста, скорость чтения-записи памяти можно поднять на треть... Сферический конь в вакууме во всей своей красе ...
Достопочтимый дон Hunta, как доберётся до программы измерения скорости быстродействия, при наличии некоторого времени, возможно, загадочно улыбнётся и добавит в программу измерения быстродействия измерение скорости работы памяти в разных вариантах :)
Мне, да и полагаю, что не только мне, была бы интересна разница в скорости обращения к памяти на разных системах. Как скажется на скорости предвыборка, конвейер, кэш....?
Для уважаемых обладателей УКНЦ есть некоторый пример оптимизации кода по быстродействию, но я полагаю, что они и так всё знали в теории. А тут конкретная суровая правда жизни :)
BlaireCas
04.06.2023, 00:06
litwr, увидел, что лёгким движением руки программиста, скорость чтения-записи памяти можно поднять на треть... Сферический конь в вакууме во всей своей красе ...
На самом деле как-бы тут не относились к litwr и чтобы он за срачи тут не разжигал - он говорит ведь зачастую верно. Знает пдп архитектуру (в части укнц или двк). От него были очень неплохие темы мол померяйте производительность бейсика с пи-затвором и т.д., но его тут подзагнобили ибо как-бы ну тут часть форума для пдп-совместимых, а не для срача что мос6502 обходит всех по тактам.
(обычное для форума, залез на zx-pk - сам виноват, это я от программеров диззи на синклер слышал, мол форум ну он такой, своеобразный, там начнут за три такта меряться)
Мог ведь litwr по человечески обратиться к дону Hunta?
И получил бы нужное ему без проблем...
Но ведь понесло ... :(
Тем более Hunta был ведь не против...
по поводу того, что мос6502 обходит всех по тактам - назначение мос6502 другое, да время разработки разное.
Может быть имеет смысл сравнить по тактам мос6502 и J-11? в той конфигурации, когда RAM работает на скорости кэша ;)
измерение скорости работы памяти в разных вариантах
Технически это возможно, но как отделить скорость работы проца от скорости работы памяти?
Примерно так как тут сделали ... Код с ветвлением (возможно разным, sob и ...) Код с минимумом ветвления, массовое повторение одинаковых инструкций... Вроде бы сотня за глаза и уши.
Можно посчитать сколько из пропускной способности памяти уходит на чтение кода...
Сумма и будет представлять сколько от пропускной способности памяти может освоить процессор. Если будет кэш, то всё станет сложнее :( и интереснее :)
Адреса больше 177777
Начнём с того, что у стандартного MACRO-11 адреса 16-ти битные, так что никуда они выше 177777 не вылезут.
По поводу линкера. Опять же стандартный - будет делать стандартный SAV - и там опять никуда выше 177777 вылезти не получится. Учитывая формат OBJ (стандартного) с его 16-ти битными адресами, то, что вылезло на том листинге выше 177777 - после усечения пойдёт в младшие адреса - запортив то, что там предполагалось.
У RSX более навороченный линкер и он, насколько я помню, в случае VIRTUAL-ных массивов в F77 как то делает так, что после загрузки программа занимает больше 64 кб памяти. Но вот что с выделением места в образе программы и делает ли это линкер RSX или он просто что-то указывает в заголовке, а делает уже RSX при загрзуке - не скажу. Если и знал, то сейчас не помню - надо эксперименты ставить.
Так что какой бы линкер не использовался - на выходе должен быть файл программы, готовый к загрузке и под конкретную операционку. И вот это всё сильно ограничивает. Максимум, что можно сделать - это прогу с оверлеями, но учитвая, что она будет не вся постоянно доступна для проца - как линкер поймёт - что и как заоверлеить - я не представляю. Стандартно - делает описание оверлеев разраб.
- - - Добавлено - - -
массовое повторение одинаковых инструкций..
Так там И извлечение из памяти И выполнение инструкции. Даже если она NOP. Я уже малость думал на эту тему, что бы в SPEED подкорретировать вычисление скорости выполнения команд, избавившись от скорости работы памяти, но ничего путного пока не придумывается. Плюс в этом подгаживают процы с предвыборкой.
Единственный способ нативно преодолеть предел 64К - I/D пространство. И то всего в 2 раза, но с ограничениями...
В случае VIRTUAL, ключа /V: и прочая - работает диспетчер памяти , он в адресное пространство задачи подсовывает разные кусочки памяти.
- - - Добавлено - - -
Если просто предвыборка, то читаться из памяти инструкции будут не по одному разу... Особенно в коротком цикле...
В длинном, с многократным повторением - предвыборка менее скажется.
Вариант кэша ещё ... Программу в кэш... Данные не в кэше. Потом наоборот :)
Единственный способ нативно преодолеть предел 64К - I/D пространство. И то всего в 2 раза, но с ограничениями..
Но даже там всё основывается на том, что а) нужно делать разные секции б) аккуратно разбросать код и данные, учитывая, что некоторые данные всё равно будут в секции кода и в) поддержку со стороны линкера.
В случае VIRTUAL, ключа /V: и прочая - работает диспетчер памяти - он в адресное пространство задачи подсовывает разные кусочки памяти.
Но управляет этим всё равно программа. Пусть не напрямую изменяя регистры ДП в случае XM/XB/ZM/ZB мониторв в RT и в mapped варианте RSX, но всё равно программа. То есть просто так взять и преодолеть 64 кб - всё равно не получится
Вдогонку про SPEED. На самом деле я ЗНАЮ одну процессорную плату, на которой на скорость памяти можно забить, но это была специально так спроектирована плата - МС1201.2018 (возможно и .2016)
- - - Добавлено - - -
Если просто предвыборка, то читаться из памяти инструкции будут не по одному разу... Особенно в коротком цикле...
В длинном, с многократным повторением - предвыборка менее скажется.
Скажется, скажется
Вариант кэша... Программу в кэш... Данные не в кэше. Потом наоборот
Всё зависит от того, как работает кэш (у него тоже есть задержки) и какой его размер. Могу сказать пока только про KDJ11-A и KDJ11-B - там, если уместить блок в 8 кб, то можно увидеть скорость в (Частота кварца/4), собстенно, это и позволило мне подвтердить утверждение, что J11 может выдать до 4.5 миллионов оп/с, ну а на моих камнях - и до шести (с кварцев в 24 МГц)
Посмотреть и на данные снятые с МС1201.2018 было бы интересно. Как материал для сравнения.
Предвыборка на сколько инструкций?
Если у нас много одинаковых команд, можно посчитать на сколько скажется ;)
Нам никто не мешает взять хоть тысячу, даже десять тысяч команд :)
- - - Добавлено - - -
можно ещё взять поток команд без обращения к памяти(чисто выборка команд) и поток с обращениями...
И ещё, в документации по J-11 читал, что есть режим, когда вся память работает по скорости, как кэш...
Посмотреть и на данные снятые с МС1201.2018 было бы интересно.
Да ничего особенного - ВМ3 он и есть ВМ3.
Нам никто не мешает взять хоть тысячу, даже десять тысяч команд
В моём SPEED кодовый блок копируется столько раз, сколько есть свободной памяти, то есть на простых блоках (из одной команды) - там вполне под 40000-45000 команд
И ещё, в документации по J-11 читал, что есть режим, когда вся память работает по скорости, как кэш...
Не так. Там есть сигнал - типа Попали в кэш. Когда на определённом этапе микроцикла (он 4 такта) он выставлен в 1, то чтение (и только чтение) из памяти будет длится 4 такта (один микроцикл). Если он не выставлен, то чтение будет длится 2 микроцикла (8 тактов) минимум - но до появления аналога RPLY
Вот поэтому маскимальная скорострельность - тактовая делить на 4.
И правильней будет сказать, что не вся память работает по скорости как кэш, а скорость памяти достаточна, что бы в нужное время (до схема) выставляла сигнал Попали в кэш. Как это сделали на PDP-11/93-94
И кстати в УКНЦ даже в книжке по прототипу вроде писали что 2 по 32к озу отходят в ЦП, почему у него могут быть адреса до 400000 (я понимаю как это глупо звучит с 16-бит процом)
Как говорят, пруф в студию. Что-то быстрым поиском в описании прототипа я такого не нашёл. Может быть вы перепутали 40000 с 400000. Но и 40000 поиском не находится, только 140000.
- - - Добавлено - - -
(но тот их может припамить на ПЗУ, правда вылез косяк что примапить-то он примапливает, но запись идет в ОЗУ, а читается с ПЗУ, Alex_K еще пояснял мол ПЗУ-то быстрее считывается и пофиг что туда припамлено)
Да, есть такое дело. В диапазоне 100000-117777 ("окно") ПЗУ можно отключить, правда есть одно НО, если вставлен контроллер IDE или ЭД от Электронных Работ, то они при отключении ПЗУ и выборе слота ставят в "окно" свою память. А вот в диапазоне от 120000 до 176777 ПЗУ действительно не отключить и читаться будет быстрее ПЗУ с наложением предыдущего чтения ОЗУ от контроллера ОЗУ ПП. Складываться, из-за инверсной шины, они будут по ИЛИ. Контроллер ОЗУ ПП сначала на шину выставляет свой регистр, а потом прочитывает в него два байта, после даёт RPLY.
BlaireCas
04.06.2023, 09:56
Начнём с того, что у стандартного MACRO-11 адреса 16-ти битные, так что никуда они выше 177777 не вылезут.
В самом УКНЦ есть регистровый доступ к памяти. Пишешь в ячейку адрес памяти/2 - в другой ячейке читаешь/пишешь слово данных. Соответственно есть доступ вплоть до адреса 400000. Код понятное дело по высоким адресам не запустить. Но данные-то там можно хранить, почему-бы и нет.
К сожалению да, стандартный макро-11 тут не годится. Поэтому приходится использовать нестандартный макро-11 (еще и под винду который). Тот позволяет делать адреса выше 177777 (и имеет пару других плюшек навроде метки длинного размера).
А также писать некий кастомный линкер и к программке прикручивать лоадер свой собственный.
Нестандартно всё это конечно да и возможно мало кто использует эту верхнюю память (обычно она используется под видеоэкран).
В самом УКНЦ есть регистровый доступ к памяти.
Это как доп устройство.
Но данные-то там можно хранить, почему-бы и нет.
Данные можно и на диске хранить - почему бы и нет. Вот только основное, чего не хватает на PDP-11 (хотя не хватает - громко сказано) - это прямо адресуемая память больше 64 кб. Но это ограничение архитектуры, с которой никакой ассемблер не поможет.
Плюс (точнее минус) последствия использования такого ассемблера - с хорошей вероятностью будут проблемы с модулями, написанными под стандартный (и его возможности) MACRO-11. Плюс (снова минус) - а если есть уже оттранслированный (стандартным MACRO-11) модуль - насколько просто будет слинковать его с результатом нестандартного?
Ну и что касается меня - все варианты нестандартных MACRO-11 для меня заканчиваются ровно на моменте - нет поддержки макросов и/или условной трансляции.
Что же касается
еще и под винду который
- с RTP это вообще не проблема - доступен ВЕСЬ функционал и ВСЕ программы под RT
- - - Добавлено - - -
Соответственно есть доступ вплоть до адреса 400000.
Вот прям прямой доступ, да? или всё таки через
регистровый доступ
?
А если через регистровый - то какой смысл в нестандартном MACRO-11?
BlaireCas
04.06.2023, 10:24
Как говорят, пруф в студию.
Извиняюсь. Как-говорится немного не то сказал (..и не в преферанс, и не выиграл, а проиграл :)
https://rykovodstvo.ru/pars_docs/refs/64/63144/63144_html_m42832596.gif
Ну .. почти. Адреса только деленные на 2 указаны.
Это "«Персональный компьютер укнц» №1 1995 год"
- - - Добавлено - - -
какой смысл в нестандартном MACRO-11
Ну удобно все-же представлять память непрерывной 0-400000 поскольку схемотехнически оно как-то так и сделано. (вон картинка). Другое дело что без костылей такую программу как уже сказал не загрузить в УКНЦ.
Почему удобно - пишешь в коде:
.=200000
DATA01: .word 1,2,3,4,5
и знаешь что в итоге у тебя по адресу 200000 будут лежать 1,2,3,4,5
И кстати да, чтобы не уходить в оффтоп - надо будет еще затестировать скорость копирования вот той "верхней" памяти. Правда боюсь все тут станет несколько печальнее..
И кстати да, чтобы не уходить в оффтоп - надо будет еще затестировать скорость копирования вот той "верхней" памяти. Правда боюсь все тут станет несколько печальнее..
Через РА и РД?
и знаешь что в итоге у тебя по адресу 200000 будут лежать 1,2,3,4,5
Правда? Или всё таки
Другое дело что без костылей такую программу как уже сказал не загрузить в УКНЦ.
Потому как нефига не будет по адресам 200000 лежать то, что нужно - стандартный линкер не поймёт, а нестандартного, как и загрузчика, как я понял - нету, по крайне мере пока, в природе.
Технически же, предполагаю работу через регистр УК-НЦ, я могу (только без загрузки данных) организовать это и на стандартном MACRO, а используя свой код (всё равно его писать надо) - и проинить эту "верхнюю" память нужными значениями. А что для из этого предлагает нестандартный MACRO. И самый главный вопрос - а на выходе то у него что?
BlaireCas
04.06.2023, 11:48
Через РА и РД?
Да, а как иначе?
Наскорую руку набросал примитив (может быть можно быстрее, но я-ж программист от сохи :)
; test 2 - high mem copy
clr VSYCNT
mov #176640, R4
mov #176642, R5
mov #100., TEMPR0
30$: mov #100000, R0 ; source addr = 200000
mov #120000, R1 ; dest addr = 240000
mov #500., R3 ; copy 5000. words
40$: .rept 10.
mov R0, (R4)
mov (R5), R2
mov R1, (R4)
mov R2, (R5)
inc R0
inc R1
.endr
sob R3, 40$
dec TEMPR0
bne 30$
Получилось 109 кб/с
- - - Добавлено - - -
Технически же, предполагаю работу через регистр УК-НЦ, я могу (только без загрузки данных) организовать это и на стандартном MACRO,
Спасибо конечно. Да я думаю тут программистов для УКНЦ можно по пальцам руки пересчитать. А уж кто из них что-то реально пишет, так 1-2 и они уж знают как сделать себе удобно при разработке.
Фишка с этой памятью слишком специфична для конкретной машинки УКНЦ и что-то изобретать - думаю не надо. Лично я свой линкер и загрузчик писал по листингам с этого макро11 для винды.
Да и вообще это все не pdp-стандарт же работа с такими адресами, ну его.
Примерно такое же обращение к памяти у КЦГД. И процессор напрямки адресовать только 64 К :(
У конкретно 1801ВМ2 есть одна возможность "удвоить" память. Это режим HALT. Есть вывод SEL...
Но.... Я ни одной конструкции не знаю, чтобы это использовалось. Да и программировать в такой моде необычно.
По моему скромному и сугубо частному мнению, где это можно было реализовать - КЦГД.
Там как раз 96 К ОЗУ и до 24 К ПЗУ, да страница ввода/вывода на 8 К. Но её можно было бы поджать - запихнув туда таблицы адресов строк.
Никакой совместимости не нужно ... И можно было даже немного упростить конструкцию. Не нужны были бы регистры адреса и данных...
И ограничения по командам в режиме HALT и прерывания... :(
Проще внешний диспетчер памяти прикрутить, как в ПК-11/16...
Проще внешний диспетчер памяти прикрутить
Честно говоря - проще ВМ3 взять и получить полные плюшки от СТАНДАРТНОГО ДП. Особенно учитывая, что он обеспечивает так же ЗАЩИТУ памяти. А так же не требует чего-то внешнего
Ну для меня всегда была загадка, что 1801ВМ3 окромя плат процессора да спецтехники не прикрутили...
Ведь зараза, так и просился на "УКНЦ-2", "БК-..." и прочая...
Только сдаётся мне, что с выработкой 1801ВМ3 на производстве были проблемы :(
уж про 1801ВМ4 - печалька :(
А вот с 1801ВМ2 и даже 1806ВМ2 проблем не было ... Их было даже слишком много :)
По сему и городили ПК-11/16... Вещь крутая, очень интересная, но были бы в достатке 1801ВМ3 - её бы не было, было бы что другое на 1801ВМ3 ...
Резюмирую, что УКНЦ - в целом, на момент выпуска, была приличной машиной. Хотя её вполне можно было бы оптимизировать.
Для того, чтобы что-то новое сделать, надо сделать было хоть как-то... Потом началась работа над ошибками по мелочам, но УКНЦ-2 в массы не пошла ...
litwr, увидел, что лёгким движением руки программиста, скорость чтения-записи памяти можно поднять на треть... Сферический конь в вакууме во всей своей красе ...
По многим данным, УКНЦ было скорее что-то очень похожее на большой распил. Угробили под неё и Корвет и БК. Но, в итоге, допилили в 90-е и сейчас пилят типа многоцветность и получился ныне реально приличный ретро-компик. Интересно бы узнать когда-нибудь, почему такую чудо-юдо архитектуру придумали? С почти бесполезным ПП и чемпионской по странности и тормознутости графикой.
А что до оптимизаций, то таких зверств как программеры делают на z80 и 8080 для PDP-11 никогда не предвидется. Это надо додуматься, чтобы писать сложный обработчик прерываний для ускорения копирования блоков памяти! В этом смысле тесты числа π или Мандельброта - это редкие мультиплатформенные тесты очень оптимизированного кода. Типа захочешь разогнать, а никак.
Мог ведь litwr по человечески обратиться к дону Hunta?
И получил бы нужное ему без проблем...
Но ведь понесло ... :(
Тем более Hunta был ведь не против...
по поводу того, что мос6502 обходит всех по тактам - назначение мос6502 другое, да время разработки разное.
Может быть имеет смысл сравнить по тактам мос6502 и J-11? в той конфигурации, когда RAM работает на скорости кэша ;)
А никто к нему и не обращался. Просто предложил продолжить тему про SOB, который есть не везде, темой XOR, который тоже не везде. А Хунта начал ругаться. Взял код из моего предыдущего поста, выдал его за свой и стал что-то доказывать! Утверждать, что может макрос для XOR написать в 4 строки. А есть авторитетное мнение, что не может, писалка сломается. Поэтому давайте его лучше отговаривать, кто же нам тут без него будет писать на форум? :)
Если реально интересно про 6502, то рискну порекомендовать свою статью на хабре. Там впрямую сравниваются 6502 и Z80. Но в сухом остатке будет то, что 6502 очень хорош для логики управления (переходы за 2-3 цикла) и на 8-битных расчетах. По J11 у меня данные с 11/93, где всё в кеше, на одинаковых частотах J11 раза в 2 c маленьким хвостиком быстрее 6502 и даже чуть быстрее 65816. 6502 проц 1976 года, один из первых, а J11 - это уже 80-е. И имеем в виду, что 6502 - это один из самых массовых процессоров в истории, до сих пор в ходу. И сделала его маленькая фирма, которую почти сразу разгромили. 6502, как и ARM, это сравнительно редкие примеры того, когда достоинства изделия превзошли тугие кошельки оппонентов. Zilog, Intel, Motorola, DEC и некоторые другие крутили миллиардами и могли расчитывать больше на маркетинг, чем на качество.
- - - Добавлено - - -
Кстати, было бы интересно Мандельброта на J11 запустить, но DEC Pro 380 редкая штучка, не найти для тестов. Даже Электронику 85 трудно уговорить включить для пользы дела. :(
Утверждать, что может макрос для XOR написать в 4 строки.
Ля ля только не надо. Если внимательно читать, то я написал, что можно написать макрос, который заменить XOR, будет превращаться в четыре команды и работать будет ортогонально, в отличии от исходной команды XOR. Ну и как вариант, если на машине есть XOR, то будет использовать для допустимых вариантов XOR, а для не допустимых - 4 команды.
Но поскольку у litwr голова забита известно чем - он и прочитать не может написанное, а уж написать самому макрос - может даже и не пробовать - он на просто командах задачу не осилил, чего про макросы говорить.
randomizer
04.06.2023, 17:46
По многим данным, УКНЦ было скорее что-то очень похожее на большой распил. Угробили под неё и Корвет и БК.
УКНЦ, выглядит как удешевлённый вариант ДВК, полноценный аналог PDP-11 системы. В этом отношении, как её можно сравнивать с БК, и тем более уж с Корвет?
Да и что ни говори, УКНЦ, самый массово производившийся микрокомпьютер.
УКНЦ, выглядит как удешевлённый вариант ДВК, полноценный аналог PDP-11 системы. В этом отношении, как её можно сравнивать с БК, и тем более уж с Корвет?
Да и что ни говори, УКНЦ, самый массово производившийся микрокомпьютер.
Вот именно, если бы это был реально удешевленный ДВК было бы очень хорошо. Но и ДВК, как и DEC Pro, это не полноценные PDP-11, а некие приближения. А сравнивать можно, поскольку назначение и характер использования совпадают. Можно ещё заметить, что и БК и Корветы использовали для управления оборудованием. Про УКНЦ про такое не знаю. А про массовость, то похоже большая часть тиража была просто списана. Поскольку до реальных пользователей УКНЦ стал доходить только в 90-е, а до этого его прятали по всяким УПК, откуда они могли массово списываться.
По многим данным, УКНЦ было скорее что-то очень похожее на большой распил. Угробили под неё и Корвет и БК. Но, в итоге, допилили в 90-е и сейчас пилят типа многоцветность и получился ныне реально приличный ретро-компик. Интересно бы узнать когда-нибудь, почему такую чудо-юдо архитектуру придумали? С почти бесполезным ПП и чемпионской по странности и тормознутости графикой.
А что до оптимизаций, то таких зверств как программеры делают на z80 и 8080 для PDP-11 никогда не предвидется. Это надо додуматься, чтобы писать сложный обработчик прерываний для ускорения копирования блоков памяти! В этом смысле тесты числа π или Мандельброта - это редкие мультиплатформенные тесты очень оптимизированного кода. Типа захочешь разогнать, а никак.
Там всё просто... 1801ВМ1 он скорее всего с производства хотели снять...
Что на производстве есть? - 1801ВМ2...
Его и впихнули в урезаном режиме на роль ПП. А какие ещё варианты?? К580ВМ1??? Что ещё было в массах тогда???
1801ВМ2 - родной Зеленоградский... План ещё помогает выполнить :)
Ну а то, что ПП удушен - плевать... Дискетки подключить можно :)
Да и народ должен работать на ЦП.
- - - Добавлено - - -
По поводу графики, как могли, так и делали... Чтобы попроще ...
По факту считали, что нужен графический терминал. Но если на УКНЦ разработчики худо-бедно его сделали, так как им деваться некуда было...
На КЦГД они сделали просто клон текстового VT100 без загрузки. И то косяки натворили.
У БК там очень всё своё... Как можно проще и дешевле...
- - - Добавлено - - -
Графику от Электроники-85 - не пристроить :( Сложно да дорого... И требуется MMU.
- - - Добавлено - - -
А что до оптимизаций, то таких зверств как программеры делают на z80 и 8080 для PDP-11 никогда не предвидется.
Да ладно... Писали жутко :)
Один клон NC сидящий внутри КЦГД чего стоил :)
Народ игры для КЦГД писал... Только они не дошли до нашего времени :(
Самый цимис был, когда тебе задачу на Электронике-60(без буквы М, то есть нет FIS), но мало памяти и в качестве терминала - машинка -Консул :)
Дискет нет, есть только перфостанция ;)
Система ПЛОС. Перфоленточный Макро-11, построчный редактор текста для телетайпа... И надо всё продумать, иначе перфоленты не напасёшься.
Я это не застал, но мне рассказывали бывалые... :)
Желающие могут попробовать поработать с такими EDIT и для особых ценителей - программируемый построчный редактор текстов TECO(инструкция к нему на 300 страниц )
Z-80 в нашей стране просто не было в массах до 1990 года примерно. Это за рубежом они во всю цвели и пахли.
Что касается 6502...
Хороший процессор, я не спорю ... Но.... Как всегда большое такое Но....
Его клона в СССР просто не было :(
В Агат, просто ставили вместо одного процессора - целый узел из нескольких элементов на 588 серии(на первых), либо импортный 6502 (после в массах)..
Был ещё болгарский процессор СМ630Р, но шёл он вместе с "Правец-8М", я его видел со стороны в 8 классе(компьютер, не процессор)...
Его клона в СССР просто не было
Враки.
http://www.155la3.ru/4k601vm1.htm
https://pic.maxiol.com/thumbs2/1685944656.1401661194.img202009021334581.jpg (https://pic.maxiol.com/?v=1685944656.1401661194.img202009021334581.jpg&dp=2)
Наша попытка скопировать процессор MOS Technology 65C02. Процессор разрабатывался для ПЭВМ "Агат", но не был запущен в серию, то есть сделали поштучно(ну тысячу...) и увсё :(
Считай, что не было...
Например, возможно, что 1801ВМ4 больше сделали, так как они были на нормальной производственной линии...
КМОП микросхема от московского Научно-исследовательского центра физики и технологии (ныне это НПО "Физика"). Они много просто не могут да и не могли делать.
Его клона в СССР просто не было
Считай, что не было..
Отговорки-отговорочки.
Единичные образцы были на много что... Но проблема в том, что их делать массово негде было :(
Но проблема в том, что их делать массово негде было
Там вполне могла быть и проблема воспроизводимости, АКА процент выхода годных кристаллов
- - - Добавлено - - -
Отговорки-отговорочки.
Можно сказать-спросить и по другому - есть ли Агаты на этих микросхемах и если есть - сколько их?
Потому как если их ВООБЩЕ нет...
Потому как если их ВООБЩЕ нет...
Вроде были модемы на этих чипах, и их (вроде) как именно под использование в модемах и выпустили.
Скажу так, в статье про Агаты не упоминаются эти процессоры от слова совсем.
Думаю, что слишком поздно образцы сделали.
В итоге УКНЦ уже в массовом производстве.. И чего рыпаться ???
Хотя на роль ПП 6502 для УКНЦ - вполне пошёл бы ...
Но колесо производства УКНЦ раскрутилось и критические изменения были чреваты.
По сему УКНЦ разных заводов и разного времени выпуска отличаются по мелочам.
Или наличием/отсутствием какого-то модуля или блоком питания...
- - - Добавлено - - -
В каких именно модемах и сколько штук было произведено....?
модемы на этих чипах
О как! Занимательно..
- - - Добавлено - - -
Хотя на роль ПП 6502 для УКНЦ - вполне пошёл бы ...
Тут примерно такая же хрень, как с программированием на web. Клиент (ака браузер) по истЕрическим причинам понимает JavaScript (это щас прям как данность). Но помимл клиента есть ещё бэк (то, что работает на серевере). И возникает вопрос - на чём писать бэк? Поэтому в большинстве своём в веб разработке присутствуют два языка - один, имя которого не будем поминать всуе, и второй :) Скажем, я чаще всёго сталкиваюсь с JavaScript+C# :)
Так вот, к чему это я - разраб должен знать два языка.
И если засунули бы в УК-НЦ 6502, то потребовалось бы знание не только MACRO-11, но ещё и чего-то под 6502. Плюс второй тулкит. А оно нам (тогда) надо было?
- - - Добавлено - - -
По сему УКНЦ разных заводов
А это ещё и требовалось бы размножить на разных заводах. Я, кстати, ещё забыл и про знания для электронщиков - 6502 плюс обвязка
- - - Добавлено - - -
Ой, я ещё про ремонтников забыл :)
В целом же - ВМ2 с системой команд - отличный проц, который начали выпускать в районе 82 года, УК-НЦ - в районе 87, то есть проц уже лет пять как клепали. А наш К602ВМ1 - где-то в конце 80-ых, то есть явно ещё в сыром состоянии. Ну а использовать 6502 в УК-НЦ - его ещё и где-то купить надо - думаю - это было проблематичней, чем 1801ВМ2
Про второй тулкит, это с какой стороны посмотреть...
Можно и так:
Те, кто попроще(школяры в основном), тем тулкит на 6502 не нужен ;) Не нужно им ПП программировать.
Те, кто продвинутее (студиусы да прочая), пусть изучают второй процессор ;)
Но беда в том, что 6502 на массовом производстве просто не было...
Даже когда появились в микродозах - смысла переделывать УКНЦ не было.
УКНЦ состоялся и массово производился. Производство отлажено. Компоненты все были в наличии :)
Имело смысл думать над УКНЦ-2 с ЦП вроде 1801ВМ3... Но не успели.
Те, кто попроще(школяры в основном), тем тулкит на 6502 не нужен Не нужно им ПП программировать.
Те, кто продвинутее (студиусы да прочая), пусть изучают второй процессор
Я не про школяров и студентов, я про разработчиков УК-НЦ
Но беда в том, что 6502 на массовом производстве просто не было...
Даже если бы и был - смысла пилить продукт на двух РАЗНЫХ процах - никакого. Вот КАКОЙ плюс ты получишь от того, что, скажем, ПП в УК-НЦ будет 6503?
Имело смысл думать над УКНЦ-2
Имело или не имело - мы сейчас не скажем - мы не знаем, что было в голове у РУКОВОДСТВА. А чисто практически - что бы сделать (новый) продукт - нужен был какой-то стимул у РАЗРАБОТЧИКОВ продукта и у РУКОВОДСТВА производства. Вопрос - какой был у них тогда стимул??
Ну разработчики...
Они сделать могли только из того, что было в наличии...
А так разные процессоры в компьютерах вполне применялись. Возьмём ту же ДВК из последних :
1. Процессоры совместимые с PDP-11... весь джентельменский набор из 1801: ВМ1,ВМ2,ВМ3(очень хотелось бы ВМ4, но увы :( ...)
2. Несовместимые: 1818ВМ1, 1816ВЕ48
И это в стандартной комплектации...
Плюс от замены ПП процессора, сказать невозможно :(
Так как менять его было не на что.
Ой, один могу сказать: люди изучали бы другой процессор, что расширило бы их кругозор :)
Стимулирование РАЗРАБОТЧИКОВ продукта и у РУКОВОДСТВА производств - честно признаю, свою недостаточную компетентность в этом вопросе :(
Есть какие-то познания, но явно недостаточные. Ну не работал я в этой системе тогда....
Они сделать могли только из того, что было в наличии...
Предположим, клон 6502 был в наличии
Плюс от замены ПП процессора, сказать невозможно
Если невозможно сказать - то и менять никто не будет
Ой, один могу сказать: люди изучали бы другой процессор, что расширило бы их кругозор
Для ПРОИЗВОДСТВА это - не аргумент. Это когда у тебя хобби - может быть аргументом, но не при изготовлении НЕЧТА, что ты собираешься продавать. Там аргументов, на самом деле, один - УВЕЛИЧЕНИЯ ДОХОДА. Всё. Все остальные аргументы - они для хобби. Будет УК-НЦ с 6502 дешевле в производстве (читай - при той же продажной цене будет больше доход) - ОТЛИЧНО, МЕНЯЕМ. Даже такой аргумент, как быстродействие - не всегда сработает. Точнее говоря, пользователь должен (по любой причине) решит, что более быстродействующий проц - это ХОРОШО. Тогда он при одинаковой (а возможно и большей) цене с конкурентом выберет ТВОЙ комп.
- - - Добавлено - - -
Ну и пока не будет ПРИЧИНЫ, понятной для производства - почему вместо второго ВМ2 надо поставить 6502 (или его клон) - говорить не о чем.
Вон тут один деятель тут решил сделать дирижабль частного пользования для сбора клюквы на болотах. Но обосновать, почему это будут покупать - не смог даже на уровне - сколько будет стоить этот дирижабль и за сколько он отобоъётся, после чего начнёт покупателю приносить НЕКИЙ доход.
Ну производство - это производство :)
Но диктует производству - заказчик...
Скажет - хочу... И производство никуда не денется ;)
Оно будет брыкаться, сопротивляться...
Но в СССР их бы в стойло поставили.
Вот были бы избытки 6502 и недостаток 1801ВМ2 - переделали бы УКНЦ... Или вообще другую машину сделали бы... Никуда не делись бы...
Вот сейчас ситуация другая...
А тогда даже если 6502 был бы дороже чем 1801ВМ2... Но был в наличии ...
Но диктует производству - заказчик...
Не всё так просто - ни тогда, ни тем более сейчас. Заказчик - он часто хочет взятого с неба. Примерно как на прошлой работе - захотел заказчик определённый функционал в мобильном приложении. И выяснилось, что на иос это сделать можно, а на андроиде - фиг вам. Месяц, насколько я в курсе, наши манагеры бодались с ним и в конце концов - не стали делать функционал в том виде, в котором хотел заказачик. Сделали по другому - одинаково на иос и андроиде. Не, в принципе мы БЫЛИ согласны - любые капризы за ваши деньги - но получалось ТАКОЙ срок и ТАКАЯ (поэтому) сумма..
Вот были бы
во рту грибы - и был бы не рот, а целый огород. Чего гадать - что было бы, если бы? История не знает сослагательного наклонения. Тем более, что ты сегодняшний думаешь исходя из текущей реальности, а как бы ты поступил тогда - сейчас уже НЕ СКАЗАТЬ. Содержимое головы малость другое.
Или вообще другую машину сделали бы... Никуда не делись бы...
И это тоже мысли тебя сегодняшнего. Плюс - отсутствие опыта принятия решений на таком уровне. Вот и кажется тебе - стоит только захотеть..
А тогда даже если 6502 был бы дороже чем 1801ВМ2... Но был в наличии ...
И ничего мы сейчас не скажем - чего и как было бы.
Банально, с точки зрения простоты производства - я уже сказал - проще, когда в УК-НЦ одинаковые процы. То есть или два 1801ВМ2 или два 6502.
Сейчас рынок... И любой каприз за ваши деньги - главное направление :)
Вот цена и есть ограничитель хотелок заказчика ;)
А в СССР - было не совсем так. Оттуда и низкая эффективность тогдашней экономики.
Сколько и что стоит решал госкомцен. Рынок тоже был, но в извращённой форме.
А тогда в массах что было из микропроцессоров - 580 серия из 8 разрядных, 1801, 1811 - из 16 разрядных...
1810 - ближе к финишу сделали. Секционники были, но их меньше... Все остальные - слёзы(типа 1831)...
Z-80 перед самым развалом. Делали из того, что было ...
И любой каприз за ваши деньги - главное направление
Я хочу термоядерную ЭС. Деньги есть. Сделаешь?
Вот цена и есть ограничитель хотелок заказчика
Я хочу пройтись по поверхности солнца. Сделаешь?
И ты не ответил на главный вопрос. ЧТО даст замена ПП с 1801ВМ2 на 6502? И не с точки зрения человека, у которого компы - хобби, а с точки зрения ген директора, для кототорого оснвное - прибыль.
Ну не работал я в этой системе тогда
А сейчас ты в этой системе (управление фирмой по производству компьютеров) работаешь? Опыт появился? Тогда ответь на этот вопрос.
- - - Добавлено - - -
Вот цена и есть ограничитель хотелок заказчика
Кстати, по поводу этого и той ситуации с мобилкой. Мы тогда заказчику слегка приврали. Потому как что бы сделать так как он хотел (по словам нашего разраба по мобилке) - как он образно выразился - надо было написать свой андроид. Манагеры не стали именно так передавать, а выкатили ему какой то несуразный срок. Не скажу точно - я не выяснил, а на обсуждении фраза была (насколько я помню) - "ну мы ему зарядили срок.. он и отказался"
Хоть полёт на Марс :)
Сразу предупреждаю, что возврат на Землю сильно дороже будет ;)
Вопрос чисто в объёме бабла и сроках ;)
А к термояду уже очень близко подползли.
Был бы СССР - был бы уже термояд. Да и до Марса бы долетели..
После развала СССР финансирование подрезали на многое :(
- - - Добавлено - - -
Должность моя - ведущий инженер-электроник
Место работы http://niikam.ru
Вопрос чисто в объёме бабла и сроках
Ну-ка? распиши мне план организации моей прогулки по поверхности солнца - со сроками и суммами!
Какая то из двух фраз - этой
Был бы СССР - был бы уже термояд. Да и до Марса бы долетели..
и этой
А в СССР - было не совсем так. Оттуда и низкая эффективность тогдашней экономики.
Сколько и что стоит решал госкомцен. Рынок тоже был, но в извращённой форме.
у тебя вранье. Потому как или так или так, но не одновременно. Где соврал?
И в завершение темы 6502 как ПП.
Пока ты не приведешь факты - что даст применение 6502 вместо 1801ВМ2 - точки зрения производства (ладно, опыта у тебя нет, эту можешь не приводить), с точки зрения программиста, с точки зрения электронщика - я буду считать вот это
Хотя на роль ПП 6502 для УКНЦ - вполне пошёл бы ...
попыткой распила бюджета ;)
От себя по поводу 6502. Где-то в районе 88-90 годов (точнее уже не скажу) участвовал я в проекте попила бюд.. хм.. в проекте замена терминалов к какому-то миникомпьютеру. Память упорно подсказывает, что это был СМ-2П, но.. моя роль была в написании софта для устройства замены, так что - про то, что было на другой стороне - есть только одна подсказка - текст - на экране - редактировался на стороне устройства, а потом копия экрана отправлялась на другую сторону. И, насколько я помню, с таким я сталкивался только на СМ-2. Но - этот момент не сильно важен. Интересно другое. В качестве замены терминала некая саратовская фирма типа современных ИП впаривала какой-то лаборатории в СГУ (не скажу наверняка, что в СГУ) - АГАТЫ! И мне надо было написать прогу для Агата, которая бы работала как эмулятор терминала. Кстати, вот тебе ещё тема для попила ( ;) ) бюджета - сделать КЦГД на 6502 - благо теперь их есть. Возвращаясь к Агату. Мои впечатления от системы команд данного проца в том время были - так себе система команд. Плевался не сильно, но - не понравилась. Единственный плюс - я только не плевался, а не блевал, как от системы команд PC
Так что от себя (как программиста) скажу - нету плюсов от замены 1801ВМ2 на 6502.
Ваши пллюсы?
Увы, поверхности у Солнца нет... Газ однако :(
Но любой КАПРИЗ за ваши ДЕНЬГИ :)
Сначала бабло, на отселение Земли к другой звезде...
Потом на создание поверхности на Солнце.
Затем, на уменьшение гравитации в зоне поверхности :)
И ещё на работы в области генной инженерии, чтобы заказчик дожил и может быть вместо работ по гравитации - модификация генома , чтобы мог гулять при повышенной гравитации ;)
Но любой КАПРИЗ за ваши ДЕНЬГИ
Похоже
план организации моей прогулки по поверхности солнца - со сроками и суммами!
опять попытка попила бюджета
Потому как в
Сначала бабло, на отселение Земли к другой звезде...
Потом на создание поверхности на Солнце.
Затем, на уменьшение гравитации в зоне поверхности
И ещё на работы в области генной инженерии, чтобы заказчик дожил и может быть вместо работ по гравитации - модификация генома , чтобы мог гулять при повышенной гравитации
ни сроков ни сумм.
На этом считаю тему - 6502 вместо 1801ВМ2 закрытой.
За бугром тоже порезали финансы на развитие науки после 1991 года :(
Что касается 6502 - это всего лишь один из множества зарубежных процессоров. И главное было его достоинство - относительно небольшая цена при производительности за рубежом в то время.
сделать КЦГД на 6502 - это смысла нет. Так как КЦГД мало кому нужен сейчас. :( Потребности вполне удовлетворяются старыми платами.
И дешевле будет использовать как графический дисплей что-то из более современного - STM32 или что-то вроде...
Благо платки из поднебесной продаются по сходной цене. Просто графический дисплей под какую-то систему команд сделать не так сложно.
Вот чтобы использовать загружаемый софт в КЦГД - там попотеть придётся :)
Эмулятор надо будет делать почти полный.
- - - Добавлено - - -
Что касается точных сроков и сумм, то на это нужно открыть дополнительное финансирование ;)
За бугром тоже порезали финансы на развитие науки после 1991 года
А это здесь (на - любой каприз за ваши деньги) причём?
И главное было его достоинство - относительно небольшая цена при производительности за рубежом.
Фраза - ни о чём.
Так как КЦГД мало кому нужен сейчас.
Мне нужен. С выходом на VGA
STM32 или что-то вроде...
Не нравятся они мне
Благо платки из поднебесной продаются по сходной цене.
Да хоть беЗплатно. Ну то есть для - поиграться - у меня есть примерно так 5-6 плат с двух разных (если я правильно помню) вариантах, но основная цель - всё таки научится использовать с прицелом - есть софт под них, надо переделать под что-то (скорее всего PDP-11) другое, нужен эталонный экземпляр. Всё, больше причин нету :)
Вот чтобы использовать загружаемый софт в КЦГД - там попотеть придётся
Я всё ближе к этому подхожу - на основе FPGA, естественно :) Но основная проблема - свободное время
Обсуждали же платку тут с выходом на VGA и подключением клавиатуры и мыши PS/2 с эмуляцией VT100( точнее ANSI).
Но она не понравилась...
Решение на FPGA тоже способ... Тем более 1801ВМ2 изучили капитально :)
Обсуждали же платку тут
Я читал. Не понравилось. а) не люблю С б) (в том числе из-за него) не сложилось со всякими микроконтроллерами в) программирования мне и на работе хватает :)
Так что я полезу в программирование при определённом стимуле, в переделку с C на C# при наличии бОльшего стимула, в программирование на микроконтроллере.. ну ОЧЕНЬ большого стимула.
КЦГД меня интересует потому как есть софт под него (в том числе и мой) плюс теперь у меня есть ещё платы с FPGA, так что можно будет сделать его как отдельную коробку, то есть - прямо таки терминал. И подключать поэтому - куда угодно :)
Ну и как плюс - и мышь в том числе. А с учёт того, что проц будет на FPGA - если мне надо будет расширить функционал - это будет проще, чем на оригинале
Я особых проблем, в реализации КЦГД на FPGA не вижу. Раскрыта внутренняя 1801ВМ2, схема КЦГД доступна :)
Вопрос чисто в цене ... Были бы FPGA по цене гуманнее ещё...
Как улучшить КЦГД ?
Самое простое:
Можно добавить какие-нибудь регистры расширения адреса на странице в/в. Старое п/о о их существовании знать не будет...
но новое п/о сможет использовать больший объём памяти. Расширение адреса для РА/РД и для таблиц адресов строк...
Чуть сложнее:
Неплохо было бы сделать аппаратное рисование векторов и копирование блоков графических массивов.
Это то, что относительно просто.
А так все наработки компьютерной графики :)
Хватило бы воображения да времени...
Раскрыта внутренняя 1801ВМ2
Насколько я помню - там не зависимости кода от ВМ2
Были бы FPGA по цене гуманнее ещё...
Они тоже разные бывают. Вопрос - в какую влезет требуемая прошивка.
Ну если влезет 1801ВМ2 и память (на наружных микросхемах), плюс два(можно три :) ) последовательных порта, плюс порт мыши... Плюс порт HDMI . Остальное сравнительно скромненько :)
Плюс порт HDMI
Нет, это я точно делать не буду. По крайне мере в обозримом будущем
память (на наружных микросхемах)
Классический КЦГД можно и на BRAM сделать - зависит от камня
плюс два(можно три ) последовательных порта
Нахрена??
плюс порт мыши...
Клавиатура и мышь - PS/2. COM порт - (огромное) извращение, usb - как и HDMI пока не готов
Минимум один порт для связи с компьютером, можно ещё так же скорость поднять...
Ведь если делать на FPGA, то процессор возможно изрядно разогнать :)
Второй порт для классической клавиатуры ДВК на 4800 бод ...
И ещё, ВП-65 ведь тоже разобрана :)
Третий - либо вторая линия(это было на оригинальных терминалах от DEC VT....), либо отладка, либо выход на принтер :)
Второй порт для классической клавиатуры ДВК на 4800 бод ...
Нафиг, я уже загрёбся их чистить от сгнившего паролона
либо вторая линия(это было на оригинальных терминалах от DEC VT....), либо отладка, либо выход на принтер
Тоже в баню
Ком порт для комп, PS2/порт (можно даже сдвоенный) под клаву/мышь. Ком порт для отладки - на этапе отладки , после этого нафиг не нужен
Это решать не мне что да как делать...
Мне вот интересно, а как с КЦГД мышь работает? ни разу не видел :(
В описании прочитал аппаратно что да как... Но ни про её поддержку ... Ни про п/о её использующее ... :(
Хотя сами мыши, как не удивительно - продавались.
Мне вот интересно, а как с КЦГД мышь работает?
По крайне мере в той ПЗУ, которая у меня и которую я дизассемблил - ничего про мышь, насколько я помню - нет. Подозреваю, что или не успели или (что тоже весьма вероятно) код в ПЗУ не уместился - и оставили как вариант - подгрузка модуля в КЦГД
В классическом ПЗУ только эмуляция текстового VT100 и всё :(
Ну ещё возможность загрузки дополнительного п/о ...
В классическом ПЗУ
В упор не помню, но вроде где то валялись у меня и второй вариант ПЗУ (который вроде из трёх мс), но даже если и есть, то я их не дизасмил. Так что про них ничего не скажу
только эмуляция текстового VT100
Ну почему - есть и VT52. Да и сложно назвать это эмуляцией. Скорей - совместим с.
VT100 включает в себя эмуляцию VT52, ради совместимости со старым софтом...
Отличие терминалов от КЦГД - главное, что к терминалам может быть подключена периферия(принтер)...
Потом есть поддержка кириллицы. В КЦГД зашиты дополнительные символы, скорее всего от оригинала...
Насчёт мелких косяков - не ведаю :(
Тогда не было возможности сравнить, так как не было доступа к оригинальной документации.
Про KeyGP - тоже сказать ничего не могу, так как не сталкивался с ним.
И в книжке про KeyGP не декларируется совместимость с каким-либо терминалом...
Из более-менее доделанных загрузок, была загрузка якобы совместимая с VT-340, ну так они(ВЦ+ кафедра вычислительной математики заявляли)...
Я полагаю, что таких загрузок было много.. Но не дошло до нас :( .
Но вся проблема в том, что строк развёртки у КЦГД менее, чем у VT-340 даже в черезстрочном режиме...
Или есть 25 строка в текстовом режиме ... Как они её - не ведаю... Это я сейчас такой вумный благодаря интернету :) , а тогда ... :(
Я полагаю, что таких загрузок было много.. Но не дошло до нас .
Не знаю была ли там загрузка или нет, но был под ДВК Бейсик с графикой MSX.
Вроде даже шел в комлекте с АДОС 06.04. Только нет ни у кого :-(
Не знаю была ли там загрузка или нет, но был под ДВК Бейсик с графикой MSX.
В варианте ПЗУ, который 181 - графики нет никакой - когда допиливал ГРАФОР - пришлось делать и модуль рисования линии, так что если этот бейсик был расчитан и на 181 ПЗУ - должна быть подгрузка..
В варианте ПЗУ, который 181 - графики нет никакой - когда допиливал ГРАФОР - пришлось делать и модуль рисования линии, так что если этот бейсик был расчитан и на 181 ПЗУ - должна быть подгрузка..
Там сказано что этому бейсику KeyGP нужен, а он вроде в ПЗУ. Так что может и без подгрузки
KeyGP - в двух версиях был, либо в ПЗУ , либо загрузочная...
И основная прошивка КЦГД - тоже две версии было... И народ на первую ругался, на ошибки, то на другую версию, что проблема с загрузками...
То есть со старой всё ОК было, а на новой проблемы ... :(
У меня есть гнусные измышления, что таким образом конкурентов KeyGP убирали.
Там сказано что этому бейсику KeyGP нужен, а он вроде в ПЗУ
Если мне не изменяет память, было два варианта KeyGP - один работал на КЦГД со 181 ПЗУ, а второй был зашит в ПЗУхи - когда ставились три ПЗУ. Я сейчас шерстю свою файлопомойку на предемет нахождения всего о КЦГД..
181 - и есть "старая" версия ПЗУ, под неё большинство загрузок и написаны.
Когда KeyGP - добавляли две ПЗУ... Или ставили новую вместо 181. То есть все три меняли... Но я сам с этим не сталкивался :(
По поводу бейсика, там вроде как версия УКНЦ -Вильнюс была... Вся графика через ESC-последовтельности. Насколько похожи версии бейсика не ведаю :(
То есть все три меняли...
Какая то непонятка. 181 - она одна. И две свободных панели для МС
- - - Добавлено - - -
Ну, если второй вариант - это 182+183+184 - то они у меня тоже есть
- - - Добавлено - - -
Судя по комментариям в файлах - 182 заменяет 181 и может работать одна, 182-183- дополнения для 182, тот самый KeyGP, работающий из ПЗУ
ругались на 182...
Ничего не могу сказать - тогда у меня её не было, так что - ни попробовать ни дизассемблить... Вот руки доберутся до создания КЦГД - тога можно попробовать что хочешь, а с моих FullODT на DE10 я её хоть пошагово могу проходить :)
По сути все графические игры/программы, что я видел для КЦГД, работают со 181 + LOAD.SAV.
Графика под 182 вообще была?
У меня есть железный КЦГД с родной 182 прошивкой. Надо бы в ремулятор 183-184 прошить.
Эх, найти бы ещё софта... Сапры всякие и т.д., ведь точно должны быть
Сапры всякие и т.д., ведь точно должны быть
Helios есть :)
Графика под 182 вообще была?
Дизасмить надо - будет понятней. Но что то мне подказывает, что в 182 графика - врятли..
Helios есть
Так он же вроде под свой видеоадаптер, не под КЦГД?
Так он же вроде под свой видеоадаптер, не под КЦГД?
У меня валяется какой-то вариант (в сопроводиловке написано - для ДВК-4) и там есть файлы kcgdhl.sav и kcgdrs.sav а в одном из описаний:
1.6 Требования к техническим средствам АРМ конструктора печатных плат
Для успешной работы конструктора печатных плат с системой "Гелиос-вега",
рабочее место конструктора должно состоять из ПЭВM ДВК-4 или любой другой
эвm имеющую оперативную память не менее 256 Кб , диспечер памяти КТ-11,
графический контроллер КЦГД, цветной монитор и дисковый накопитель
необходимого обьема.
Hunta занимается различным выполнением команд разными процессорами PDP-11. Не знаю какая будет реакция, но, может, ему и другим будет интересно:
когда-то я заводил разговор о программе в "одну" команду, которая обнуляет всю память и было обсуждение этого трюка. Так вот - это работает не на всех процессорах.
когда-то я заводил разговор о программе в "одну" команду, которая обнуляет всю память
Если не обнуление, а просто запись одного и того же во все ячейки, то 14747 в 157776 и вперёд. Работает везде
BlaireCas
08.06.2023, 21:08
А что это за команда? Навроде mov -(PC), -(PC) или что-то аналогичное?
Навроде mov -(PC), -(PC)
Да, оно самое.
Берёт себя, копирует в ячейку перед и передаёт туда управление
- - - Добавлено - - -
Доходит до 0, копирует себя в PS, а вот тут зависит от проца и содержимого SP - что будет
нет - именно обнуление, там сначала что-то нужно занести, кажется, в R6. Интересно, что работает именно не везде, а не на всех. Даже думали применить этот факт, что бы программа(если вставить в нее такое) "знала" - на чем именно она работает.
После ; - мои комментарии
Код требует настройки R0 (но можно взять и любой другой регистр из R0..R5), SP и ячеек памяти 4 и 6
.SET EDIT K52
.SET SL ON
.RUN HD7:CLKON
?MON-F-Dir I/O err 121760
.
@ 152436
; Память после RT
@0/040000
00000002/104350
00000004/142504
00000006/000340
@157700/000005
00157702/005713
00157704/100002
00157706/052754
00157710/000001
00157712/010704
; Настройка
@$0/000113 160000
@$6/121644 160000
@0/040000 14710
00000002/104350
00000004/142504 0
00000006/000340 0
00000010/142504
; Запуск
@0G
@ 000002
; Проверка
@0/000000
00000002/000000
00000004/000000
00000006/000000
00000010/000000
00000012/000000
00000014/000000
00000016/000000
00000020/000000
@157700/000000
00157702/000000
00157704/000000
00157706/000000
00157710/000000
@157760/000000
00157762/000000
00157764/000000
00157766/000000
00157770/000000
00157772/000000
00157774/000000
00157776/000000
@
Вроде не использует чего то хитро-зависимого, в выходные попробую на F11 и J11
Но если не требуется именно обнуление - в моём вариант всего одна команда и никаких предварительных настроек :)
- - - Добавлено - - -
А, да, технически ещё требуется настройка PS - там должен быть ноль в момент старта. И вот тут на разных процах возможны варианты. Так что, скорее всего, более универсальный способ запуска - это нарисовать в памяти небольшую программу - не везде такое возможно с пульта.
не использует чего то хитро-зависимого
я как раз про противоположное, выявляющее именно разницу в работе разных процессоров, а не стремление к универсальности. И - программный трюк - именно в одну команду (с предварительной настройкой чего-то одного - вроде, - стека), в тех старых обсуждениях на этом форуме кто-то вспоминал как это сделать (думал - Вы). Я не программист и мне трудно понять как это работало. Ну, да и ладно - раз Вам не интересно, то и забудем...
P.S. возможно это:
"Доходит до 0, копирует себя в PS, а вот тут зависит от проца и содержимого SP - что будет "
И - программный трюк - именно в одну команду
Именно. Одна команда
Доходит до нулевой ячейки, обнуляет там команду и встаёт по HALT-у
- - - Добавлено - - -
именно разницу в работе разных процессоров
Если именно разные процы, а не экземпляры - то это уже всё описано и как выяснять - понятно.
Если разные экземпляры - то если только по содержимому регистров после включения питания, потому как всё остальное - предопределено
- - - Добавлено - - -
Я не программист и мне трудно понять как это работало.
И вообще - правильно ли оно вспомнилось по прошествию времение
Разные экземпляры одного процессора, могут в теории отличаться, если разные версии и следовательно разные фотошаблоны использовались...
Ой, ещё вариант забыл - это брак производственный ... :(
И отделить одно от другого - сложно.
По поводу заполнению одной командой - можно команду и вверх развернуть ... Но зависит от конкретной реализации процессора, в какой момент будет меняться PC в разных модах адресации.
В документации по PDP-11 всё чётко прописано :), но сама DEC нарушила свой стандарт :( Про других производителей можно скромно промолчать.
И ещё, могут быть вырожденные случаи на машинах с MMU настроенным определённым образом :) ,
когда задача виртуальна, 64 кб памяти и нет отображения ни на страницу ввода/вывода и вектора.
Тогда возможно зацикливание одной командой до прерывания ;)
А уж если приоритет процессора задрать, то вообще до применения пульта :)
Разные экземпляры одного процессора, могут в теории отличаться, если разные версии и следовательно разные фотошаблоны использовались...
Вот только команды будут выполняться одинаково. Как я написал - разное содержимое регистров на старте - это ещё может быть
брак производственный
Если брак такой, что проц не проходит тесты - это вообще не вариант
Ну у нас жалобы были на первые 1801ВМ3 :(
Возможно и на другие процессоры были, но мы просто не знаем о них...
Проходит тесты... Но...
Вопрос в том какие именно и в каком объёме...
- - - Добавлено - - -
Я полагаю, что если бы можно было бы почитать жалобы производителям процессоров, то можно было бы многое узнать...
- - - Добавлено - - -
Это как по стандартам сети GSM - вклинится в чужой телефонный разговор невозможно, но почему-то у меня пару раз такое было...
Ну у нас жалобы были на первые 1801ВМ3
Их кто-то видел? Или как обычно - слухи. Давай экземпляр - посмотрим. А гадать мне ужа надоело.
Возможно и на другие процессоры были, но мы просто не знаем о них...
Вот когда узнаешь - тогда и пиши. С гаданиями - к бабке. А том у нас вон тоже гадали - сколько может выдать ВМ3 и J11 по максимуму - каких я только гаданий не слышал. А всё оказалос проще.
Я полагаю, что если бы можно было бы
Давай ты не будешь гадать и полагать - а приводить факты. Точка.
- - - Добавлено - - -
А ещё вспомни про слухи и гадания о том, что на ВМ3 RSX не работает
Насчёт "RSX не работает на ВМ3 " я знал, что это не так с 1990 года ;)
Уж 33 года как ...
Его и впихнули в урезаном режиме на роль ПП. А какие ещё варианты?? К580ВМ1??? Что ещё было в массах тогда???
1801ВМ2 - родной Зеленоградский... План ещё помогает выполнить :)
Зачем вообще это ПП?! Сделали бы как на MSX, с портами и отдельной памятью, а так получилось чудо-юдо диковинное: память общая, но через порты. А ВМ2 реально хорош, уделывает F11 совсем. Только частоту бы повыше и ММУ и тогда даже J11 выглядел бы совсем скромно.
По факту считали, что нужен графический терминал. Но если на УКНЦ разработчики худо-бедно его сделали, так как им деваться некуда было...
На КЦГД они сделали просто клон текстового VT100 без загрузки. И то косяки натворили.
Народ игры для КЦГД писал... Только они не дошли до нашего времени :(
КЦГД - редкая экзотика, там вроде и программ практически нет, хотя одна-две игры вроде и сохранились. Вот КГД был удачной штучкой, просто и всё работало. Помню как увидел такую графику после Коммодорчика, сразу зауважал.
Самый цимис был, когда тебе задачу на Электронике-60(без буквы М, то есть нет FIS), но мало памяти и в качестве терминала - машинка -Консул :)
Дискет нет, есть только перфостанция ;)
Студентом застал пакетный режим с перфокартами на ЕС-1045. Знал бы, что это было в первый и последний раз, отнёсся бы с большим уважением. :)
- - - Добавлено - - -
А к термояду уже очень близко подползли.
Был бы СССР - был бы уже термояд. Да и до Марса бы долетели..
Согласен, но это фантастическая теория, а на практике наука стала обгонять политику, а такое всегда пресекается, потому и всё развалилось. Вроде были товарищи, что предлагали и дешёвые запуск спутников и термояд, но кого-то убили, кого-то высмеяли.
- - - Добавлено - - -
Интересно другое. В качестве замены терминала некая саратовская фирма типа современных ИП впаривала какой-то лаборатории в СГУ (не скажу наверняка, что в СГУ) - АГАТЫ! И мне надо было написать прогу для Агата, которая бы работала как эмулятор терминала. Кстати, вот тебе ещё тема для попила ( ;) ) бюджета - сделать КЦГД на 6502 - благо теперь их есть. Возвращаясь к Агату. Мои впечатления от системы команд данного проца в том время были - так себе система команд. Плевался не сильно, но - не понравилась. Единственный плюс - я только не плевался, а не блевал, как от системы команд PC
Вот в этом и разница с УКНЦ. Агатов сделали всего-то тысяч 10, но они работали и это имеет массы свидетельств. УКНЦ якобы наштамповали тысяч 300, но до 90-х их как-бы и не было. Большой был распил! А Ямах вообще было тысячи 4 всего закуплено.
я знал, что это не так с 1990 года
А другие знали, что это так и в 2020-2021-2022
- - - Добавлено - - -
Агатов сделали всего-то тысяч 10, но они работали и это имеет массы свидетельств
И от этого система команд барахлом быть не перестала
- - - Добавлено - - -
А, да, ещё у этих "замечательных" Агатов, которых, по словам (ППП!) некоторых наклепали (для распила) аж 10к штук были не менее "замечательные" дисководы. Вот на них я тогда именно что матерился - приходилось держать 5(!) копий дискеты с прогой. С таким качеством - классический распил. А дискеты, записанные на УК-НЦ (две копии) без проблем прочитались через более чем 25 лет. Интересно было бы взглянуть на те агатовские - но комп настолько меня не впечатлил, что больше я с ним дел решил не иметь
- - - Добавлено - - -
там вроде и программ практически нет, хотя одна-две игры вроде и сохранились.
Ыксперты подтянулись. Про Helios сразу видно - ничего не слышали. А уж если копнуть помойку Хобота, так вообще (для него) будет - о сколько нам открытий чудных...
И от этого система команд барахлом быть не перестала
Делать 16-разрядные операции на 6502 - это примерно как 32-разрядные на пдп-11. Хотя на 6502 фактически имеем 128 16-разрядных адресных регистра. Возняк ещё в 70-е использовал макрооперации. Есть у 6502 и другие плюшки, например, ORA (5,x) на пдп трудно даже вообразить, такое даже Хунта не реализует макросом. :) Тяжело ему макросы даются. :) Никак. :) По сравнение с более поздним Z80, 6502 ничуть не хуже в среднем. Но 3илог своё изделие пропихивал опираясь на миллиарды Exxon и прямую поддержку от Microsoft и персонально Билла.
А, да, ещё у этих "замечательных" Агатов, которых, по словам (ППП!) некоторых наклепали (для распила) аж 10к штук были не менее "замечательные" дисководы. Вот на них я тогда именно что матерился - приходилось держать 5(!) копий дискеты с прогой. С таким качеством - классический распил. А дискеты, записанные на УК-НЦ (две копии) без проблем прочитались через более чем 25 лет. Интересно было бы взглянуть на те агатовские - но комп настолько меня не впечатлил, что больше я с ним дел решил не иметь
Не повезло тут. Наверное были дрянные болгарские. Позже пошли нормальные, на 800К.
Ыксперты подтянулись. Про Helios сразу видно - ничего не слышали. А уж если копнуть помойку Хобота, так вообще (для него) будет - о сколько нам открытий чудных...
К сожалению, не довелось мне такое использовать. Может, если есть эмулятор, то последую совету.
- - - Добавлено - - -
И ещё на Агатах софт был очень классный типа языков лиспа и рапиры, электронные таблиц, игр типа Ультимы - этого на более мощных PDP-11 и БК не было.
Делать 16-разрядные операции на 6502
Барахло
тяжело ему макросы даются
В отличии от плагиатора-недучки - он вообще этого не знает, только списывать у дургих. Что, макрос XOR не получается, а очень нужен? И списать у Хунты не получается - ему он (пока) не нужен. Ах, бяда-бяда-огорчение
6502 ничуть не хуже в среднем
Барахло
Не повезло тут. Наверное были дрянные болгарские. Позже пошли нормальные, на 800К.
То есть с первой попытки не осилили, ЧТД
К сожалению, не довелось мне такое использовать. Может, если есть эмулятор, то последую совету.
Не сумеешь
И ещё на Агатах софт был очень классный типа языков лиспа и рапиры, электронные таблиц, игр типа Ультимы
Откуда слямзили, а, плагиатор?
этого на более мощных PDP-11 и БК не было.
А как насчёт многопользовательской операционки реально времени на агате? Што, никак?
софт был очень классный типа языков лиспа и рапиры, электронные таблиц, игр типа Ультимы
Плагиатор, как обычно, не в курсАх
А как насчёт многопользовательской операционки реально времени на агате? Што, никак?
Это ВМ3 и 90-e уже и только для Хунты. :)
Это ВМ3 и 90-e уже и только для Хунты.
О, так RSX на ВМ3 не работает же! Врёт и не краснеет.
- - - Добавлено - - -
90-e уже
И снова вранье. 1801ВМ1 - разработан был явно раньше ДВК-1, которая была разработана в 1981, то есть сам проц - конец 70-ых-самое начало 80-х. МС1201.1 - объём памяти 48 кб - то есть больше, чем требуется RSX-11M - вполне можно запустить RSX. К моменту выхода ДВК-1 6502 выпускался явно больше пяти лет - но чем то похожим на RSX на нём и не пахло - фууууууу, барахло
- - - Добавлено - - -
Ну и как подведение итогов - всё, что сказано litwr - ППП!
BlaireCas
10.06.2023, 18:08
Зачем вообще это ПП?
Тут-бы спросить "а зачем там вообще нужен ПП"? Но видимо нужен был.
Тот-же .print сам себя не отрисует, экран не проскроллит.
А также там дисковод, магнитофон, кассетки ПЗУшные и прочие приблуды которые вроде на шину второго процессора вешались (платки в слоты вставлялись).
Тут-бы спросить "а зачем там вообще нужен ПП"? Но видимо нужен был.
На самом деле - схема не новая. СпецПериферийные проц - изобретение давнее и задача - разгрузить (от каких-то) задач ЦП. У той же Э85 - графический процессор - он тоже как бы процессор, просто более узко специлизированный. Более близкий пример - КЦГД. Но и большой плюс (у ПП и КЦГД) - проц с той же системой команд, так что а) можно даже писать загружаемый модули и б) на той же системе команд
Ещё пример - PDP-2011 и PDP-11X - сетевая карта - построена на PDP-11, VT105 - на PDP-11. До сетевухи недобрался (там свои заморочки из-за моих переделок), но вот VT105 firmaware я слега подшлифовал. Причём из-за того, что система команд та же - ОЧЕНЬ быстро. Хотя тут мне сильно помог добавленный FullODT - можно отлаживать ЧТО угодно на встроенном в проц функционале. У некоторых PDP-11 есть microODT, но там функционал (из-за другого принципа встраивания) очень бедный
BlaireCas
10.06.2023, 21:56
СпецПериферийные проц - изобретение давнее и задача - разгрузить (от каких-то) задач ЦП.
Ну вот я не спец по тем временам, а черт его знает зачем изобрели. Но! Те-же EMT прерывания не всегда трогали ЦП и вообщем-то RT-11 работала и даже адреса совпадали отчасти. На всякий экран работал ПП и ну что-ж поделать, так придумывалось. Считалось видимо что люди вообще в ПП не полезут и он им не нужен особо. Запуливаешь туда ESC-последовательности - он пишет/рисует на терминале (мониторе) сам.
В БК (где было сделано иначе) с РТ-11 были траблы насколько помню, хотя какую-то версию все-же адаптировали.
(как небольшой хинт еще скажу - знакоместа с KOI-8R 8х10 кажется у УКНЦ занимают ну скажем так некоторое место, а зачем его занимать в ЦП?)
Но! Те-же EMT прерывания не всегда трогали ЦП и вообщем-то RT-11 работала и даже адреса совпадали отчасти.
Ой! А это как?
Ну вот я не спец по тем временам, а черт его знает зачем изобрели.
Я написал - разгрузить ЦП от некоторых задач. Учитывая что в те времена он был не такой уж быстрый
В БК (где было сделано иначе) с РТ-11 были траблы насколько помню
В БК основная трабла с RT в том, что RT ожидает наличия консольного терминала по определённым адресам. Технически - достаточно похоже на ситуацию с Электроникой-85 (ака Pro 350), но там сама DEC подрихтовала RT, которая, обнаружив, что она на Pro - начинает вести себя немного по другому. Ну и что то похожее сделали с RT для БК
Вторая проблема - размер памяти. Я, в принципе, запустил RT на 16-ти кб, но это был так себе впечатление
Те-же EMT прерывания не всегда трогали ЦП
Кто-то что-то с чем-то спутал ;)
Зачем вообще это ПП?! Сделали бы как на MSX, с портами и отдельной памятью, а так получилось чудо-юдо диковинное: память общая, но через порты. А ВМ2 реально хорош, уделывает F11 совсем. Только частоту бы повыше и ММУ и тогда даже J11 выглядел бы совсем скромно.
ну ВМ2 с ДП - есть такое, ПК-11/16(правда с1806ВМ2) :)
Да и сильно не разогнать :( самый быстрый ВМ2 в КЦГД :)
Но проблема не в процессоре, а в памяти и периферии...
Память - дохлая и тормозная :(
И в дефиците :(
Коды Хемминга ввели не от хорошей жизни(хотя звучит круто :) ), так как памяти для ВМ3 было нужно много...
КЦГД - редкая экзотика, там вроде и программ практически нет, хотя одна-две игры вроде и сохранились. Вот КГД был удачной штучкой, просто и всё работало. Помню как увидел такую графику после Коммодорчика, сразу зауважал.
Ой, да ладно... Последние годы пихали везде. На кафедру пришла ДВК-3М2...
Это МС1201.2 с 1801ВМ2(56 Кб ОЗУ) ...
Но к ней прилагалось КЦГД(96 Кб ОЗУ !!!) и КНГМД и два дисковода по 40 !!!!! треков и увсё... Корзину на 3/4 забили...
Работать нормально в бейсике или макро.. С остальным надо попотеть ... Всё с тормозами :(
Например генерить компилятор на минимальный размер... Распихивать файлы на две дискеты... Писать специальные командные файлы или делать свою программу -довесок.
Только в нашем химико-технологическом институте были и на КЦГД крутые работы(институтский ВЦ+ кафедра вычислительной математики), и игры(я знал с десяток людей пишущих), и чисто минимум(это у меня).
Ведь таких институтов было много и сильно больших нашего. Были и специализированные... Так что объём был гигантским, коий и канул в лету :(
Написали много и спасибо за это "Кванту" :(
Люди убили мега времени, а могли ведь сделать что более полезное :(
Нет, конечно все подтянули квалификацию программиста, даже я :) Но....
Студентом застал пакетный режим с перфокартами на ЕС-1045. Знал бы, что это было в первый и последний раз, отнёсся бы с большим уважением. :)
На Электронике-60 перфокарт не было, была перфолента.
- - - Добавлено - - -
Насчёт периферийного процессора, когда копировали микропроцессорный набор Интела - передрали и специальный периферийный процессор...
1810 включала процессоры:
ВМ86, ВМ87, ВМ88 и ... ВМ89(он самый)
Но вот почему-то я ни разу не видел и даже не слышал, чтобы его хоть кто-то хоть где-то применил.
Применяли что угодно, только не специально разработанный ...
- - - Добавлено - - -
EMT - она всегда относится только к тому процессору, на коем исполнена.
Вот программа на основании этого EMT может предпринять какие-то деяния... И они могут быть весьма разными.
ну ВМ2 с ДП - есть такое, ПК-11/16(правда с1806ВМ2)
Только менеджер памяти в НЕОНе не имеет никакого отношения к процессору, это по сути внешнее устройство.
Но вот почему-то я ни разу не видел и даже не слышал, чтобы его хоть кто-то хоть где-то применил.
Если только меня память не подводит - на ЕС1842. В целом же - если использовать эту микросхему или её исходный вариант от intel - там существенное изменение внутренней шины - опять же, если не подводит память - будет две шины - одна в память, другая на периферию. И когда делали первые IBM PC, то не стали ставить - потому как не нужно (сделали шину проще), дорого и вроде (опять же - память) - вроде как ISA на такой вариант не посадишь, нужно что-то типа EISA.
В целом - игрушка вроде как интересная, но не под дешёвые PC. И как раз тот самый периферийный процессор.
У меня была мысль купить и попробовать поиграться, но... 1810 - не моя область интересов, тут на DEC времени не хватает..
- - - Добавлено - - -
внешнее устройство.
Да ещё и нестандартное - тот же XM без переделки не пойдёт.
В целом, ДП и в PDP-11 можно считать внешним устройством - в том же F11 можно выташить и на каких-то процах Unibus платы ДА из процессорной корзины можно тоже - туда-сюда :) Но в отличии от обычной периферии - более тесная интеграция с процом
Так на первых PDP-11 так и было, ММU - внешнее устройство... Деталька на плате сдохла, отключаешь MMU и работаешь с 56 Кб... Даже на СМ-4
Внутрь процессора ввели ММU потом
Так на первых PDP-11 так и было, ММU - внешнее устройство
Вот только в произвольно место в корзине не воткнешь - нужна более тесная связь с процессорм. Так что - внешнее - да не совсем
Да ещё и нестандартное - тот же XM без переделки не пойдёт.
Да и с переделкой не пойдёт. Нету там PSW по адресу 177776. Что-то типа KERNEL пытается использовать ВПО (внутреннее программное обеспечение) из ПЗУ в режиме HALT процессора. На этом там и выполнена поддержка работы процессов. Процессы работают в режиме USER и имеют каждый своё виртуальное адресное пространство.
так и в ПК-11/16 диспетчер памяти куда угодно не воткнуть...
Его место между процессором и памятью.
И используется 250 вектор...
так и в ПК-11/16 диспетчер памяти куда угодно не воткнуть...
Но нужной тесной интеграции с процом - нету. Так что я бы не называл его ДП. Так, расширитель памяти
Да и с переделкой не пойдёт. Нету там PSW по адресу 177776. Что-то типа KERNEL пытается использовать ВПО (внутреннее программное обеспечение) из ПЗУ в режиме HALT процессора. На этом там и выполнена поддержка работы процессов. Процессы работают в режиме USER и имеют каждый своё виртуальное адресное пространство.
По сему и пришлось свою операционку писать ... Аспект.
так и в ПК-11/16 диспетчер памяти куда угодно не воткнуть...
Его место между процессором и памятью.
И используется 250 вектор...
И где в НЕОНе используется 250 вектор?
- - - Добавлено - - -
По сему и пришлось свою операционку писать ... Аспект.
АСПект это фактически графическая надстройка над RT-11. И то процессы не могут пользоваться функциями RT-11, ибо другое виртуальное адресное пространство. Для этой цели написаны процессы для работы с файловой системой, независимо от RT-11. Но этот процесс поддерживает только дисководы, MFM-винчестер и электронный диск. Подключили к НЕОНу IDE и АСПект не имеет доступа к нему.
Как хошь назови... Но функции похожие.
ПК-11/16 - это хороший графический терминал... Эдакий КЦГД-2 :)
Ему бы разрешение по-более... Но... некуда выводить большее разрешение :(
Нет, были мониторы под большее разрешение(Винница, например, делала) , но дорогие :(
- - - Добавлено - - -
а как Аспект может поддержать IDE, если когда писали - IDE не внесли в поддерживаемые устройства...
IDE контроллер появился опосля того, как ....
- - - Добавлено - - -
IDE накопители появились поздно.
- - - Добавлено - - -
Первая PC совместимая машина на кафедре - Искра-1030, MFM
Мазовии - XT совместимые, MFM
Потом АТ, 286 .... MFM...
Видел в институт поставили 386, но там SCSI...
Видел IBM c ESDI внешне очень похож на MFM(те же два кабеля к накопителю, хотя по сути шаг в сторону IDE)
Видел HDD на шлейфе FDD(позвали меня, так как NU не видели HDD такой, я более такое чудо не встречал и не находил упоминания)
IDE - в массы пошёл после того как...
И на момент писания Аспекта IDE просто не было..
В мире он IDE был... Но он был в конкурентной борьбе... Выживал :) И даже выжил... :)
Но на тот момент времени IDE был дороже.
BlaireCas
11.06.2023, 01:01
Кто-то что-то с чем-то спутал
ЕМТ 375 так-уж напрягало ЦП в УКНЦ? Вовсе нет. (это .readw)
Тут я могу ошибаться, но оно имхо напрягало ПП с дисководом.
Вообще, IDE идеологически из MFM сборки диска с контроллером появился(позже допилено до RLL, ARLL и далее)... Но контроллеры были разные... И контроллер MFM ПК-11/16 явно не соответствует по совместимости IDE :(
- - - Добавлено - - -
Ну да ... .read и прочая напрягает драйвер... Уж драйвер и напрягает ПП.
BlaireCas
11.06.2023, 01:17
.read и прочая напрягает драйвер
ЕМНИП просто драйвер ждал ответа. И соответственно ЦП тоже простаивал. Но на деле оно должно было быть все возложено на ПП. Сложно сделать было рапараллеливание. Невероятно сложно для программеров. Мол подождем чего ответит - ну и о ответило!
- - - Добавлено - - -
Про .ttyout или .print вообще молчу. Без ПП они не будут рабочими (а это тоже ЕМТ прерывания)
ЕМТ 375
EMT 375 EMT 375-ому рознь. Этак можно сказать, что EMT 375 напрягает какой-нибудь RK05
ЕМНИП просто драйвер ждал ответа.
Драйвер, как правило, ждёт не ответа, а прерывания.
И соответственно ЦП тоже простаивал.
Зависит от того, как программа написана. Плюс, если программа (программа, а не ЦП!) перешла в ожидание, процессору вполне может быть чем заняться - например - прилетело прерывание от терминала (тот же .PRINT), который обработал очередной выводимый символ.
Сложно сделать было рапараллеливание.
Нет. Потому как помимо .READW есть .READ и .READC - в RT-11 (недаром она real time) сделано всё, что бы во время (потенциального) ожидания завершения чего-то можно было ещё что-то делать. А дальше зависит от квалификации программиста
Драйвер по идеологии RT-11, начинает работу... А далее возможны варианты...
По идее после завершения операции должно быть прерывание...
Но не на всех устройствах.... Тот же КНГМД(МХ: :) ) - там прерываний нет от слова совсем ;)
И драйвер все дела делает в процессе начала операции.
Запросы:
.READW и .WRITEW - программа приостанавливается и ждёт завершения операции...(потом разбираемся с результатами)
.READ и .WRITE - программа поставила запрос в очередь на ввод/вывод и побежала дальше по своим делам. (Быстрее... на всё плевать)
.READC и .WRITEС - аналогично предыдущему, но есть нюанс , программа указывает, какую подпрограмму завершения выполнить по окончании ввода/вывода (коя и будет разбирать результаты)
но на КНГМД(МХ: ) - это филькина грамота, пока операция не завершится, обратно управление не получишь
и вообще КНГМД(МХ: ) - вредительское устройство сделанное на коленке для выполнения плана, а сколько сил оно у людей высосало...
с ним боролись и даже побеждали, но ... :(
конечно для набития текста это было пофиг...
BlaireCas
11.06.2023, 10:57
Господа, речь была о "нужности/ненужности" второго процессора в конкретной машинке УКНЦ.
Предположим вот нет его. Испарился он :)
Что тогда делать - занять всеми этими процедурками (да хотя-бы вывода на экран) основную память обычного процессора? Ее и так там негусто.
Или сделать аналог видеоадаптера (очередной КЦГД вообщем).
Или сделать аналог видеоадаптера (очередной КЦГД вообщем).
А КЦГД имеет свой процессор 1801ВМ2 на борту.
- - - Добавлено - - -
Господа, речь была о "нужности/ненужности" второго процессора в конкретной машинке УКНЦ.
Предположим вот нет его. Испарился он
В качестве примера Союз-НЕОН ПК-11/16. Один процессор, до 4Мб памяти на борту, крутейший видеоадаптер. Но, есть одно но. Из-за своего менеджера памяти он несовместим с архитектурой PDP-11. Многие реальные регистры заменены виртуальными, которые программно обрабатываются в HALT-режиме. Т.к. каждый процесс сидит в своём виртуальном адресном пространстве в режиме USER, то отсутствуют и прерывания EVNT и VIRQ. Контроллер прерываний прерывает процессор через ногу HALT, т.е. прерывания обрабатываются ВПО в HALT-режиме. А прерывания для RT-11 эмулируются.
В качестве примера Союз-НЕОН ПК-11/16
И вот это всё барахло.. э.. пардон, задачи - должен обрабатывать основной проц. Вопрос
Предположим вот нет его. Испарился он
насколько он с этим всем в параллель справится.
речь была о "нужности/ненужности" второго процессора в конкретной машинке УКНЦ
Технически, всё это дело мог бы обрабатывать один проц.
Но.
Как я уже написал - на выполнение всяких дел в ПОЛЬЗОВАТЕЛЬСКОЙ программе остаётся меньше ресурсов (памяти, времени проца).
И во вторых. Учитывая, что машинка с графикой и по сути - алфавитно-цифрового режима нет - вопрос - как это дело переживёт RT-11? Так же, как в БК - то есть - берём стандартную RT-11, допиливаем работу в терминалом - и получаем ПРОФИТ? Сколько на это допиливание понадобится времени и сил? Штатно машинка шла с RT-11 5.0, а я вот захотел 5.7
Или берём вариант, который пошёл в производство. Сколько мне времени понадобится для того, что бы 5.7 перенести на УК-НЦ? Столько, сколько понадобится на написание драйвера MZ (подсказка - в сценарии, который выше - а) на это тоже понадобится время и б) ЗНАЧИТЕЛЬНО БОЛЬШЕ времени, ибо контроллер в УК-НЦ не сильно не интеллектуальный (читай - не такой как MY) - и придётся всю логику работы с 128-ой писать в драйвере)
Так что да - вариант, который сделали в УК-НЦ - весьма хорошо. Детали реализации подкачали, на ОБЩАЯ АРХИТЕКТУРА - на пятёрку
А некоторые (litwr) пусть и дальше д$$т на MSX
И вот это всё барахло.. э.. пардон, задачи - должен обрабатывать основной проц. Вопрос
Вот в Союз-НЕОН всё это делает один процессор и из-за виртуализации и обработки в HALT-режиме тратится куча процессорного времени. Архитектура конечно необычная, но из-за неё сам компьютер перестал быть системой реального времени.
ну ВМ2 с ДП - есть такое, ПК-11/16(правда с1806ВМ2) :)
Внешнее ДП - типичнейшая штука. Все первые процы имели ДП извне, как-то Z8000, NS32016, 68020. Только Интель это сломал, выпустив интегрированное ММУ в 80286. Но нут наши отличились и сделали отдельное ММУ к клону 8086. Хотя до сих спорят, смогли ли на этом ММУ Зиникс запускать? Вообще ММУ это совсем просто и дешево. У нас в конторе его студент за несколько месяцев прикрутил, как 30 лет назад студенты в Беркли. Тут были какие-то политические тормоза, стало трендом "а давайте без ММУ" после шоу в Беркли: Аппл делал ММУ в Лизе и Аппл 3, а потом резко отказался в Макинтошах, Амиги даже на 68030 (где ММУ встроенно) делали без ММУ, в Атари СТ есть только рудименты - короче, разделяли рынки ПК и рабочих станций, но Интель и тут пролезло на разломе. А сколько было всяких уродцев вроде Юникс без ММУ!
Да и сильно не разогнать :( самый быстрый ВМ2 в КЦГД :)
А сколько там у него герц, неужели больше 8.5?
Но проблема не в процессоре, а в памяти и периферии...
Память - дохлая и тормозная :(
Почему-то не любили кеши наши инженеры, игнорировали напрочь.
Коды Хемминга ввели не от хорошей жизни(хотя звучит круто :) ), так как памяти для ВМ3 было нужно много...
Неужели с памятью?! И что автокоррекция работала? В нашем прорывном Арвиде использовали код Голея
Ой, да ладно... Последние годы пихали везде. На кафедру пришла ДВК-3М2...
Это МС1201.2 с 1801ВМ2(56 Кб ОЗУ) ...
Но к ней прилагалось КЦГД(96 Кб ОЗУ !!!) и КНГМД и два дисковода по 40 !!!!! треков и увсё... Корзину на 3/4 забили...
Важная значит у вас была кафедра и со связями в правильном министерстве. :) Машинка была ну очень недешевая, это наверное тыщ на 20. А кто-нибудь пробовал оценить, сколько ДВК было выпущено? ДВК была реальная машинка, не то что УКНЦ. Буду удивлен, если узнаю, что КЦГД было сделано более тысячи.
Работать нормально в бейсике или макро.. С остальным надо попотеть ... Всё с тормозами :(
Например генерить компилятор на минимальный размер... Распихивать файлы на две дискеты... Писать специальные командные файлы или делать свою программу -довесок.
Только в нашем химико-технологическом институте были и на КЦГД крутые работы(институтский ВЦ+ кафедра вычислительной математики), и игры(я знал с десяток людей пишущих), и чисто минимум(это у меня).
Ведь таких институтов было много и сильно больших нашего. Были и специализированные... Так что объём был гигантским, коий и канул в лету :(
Написали много и спасибо за это "Кванту" :(
Люди убили мега времени, а могли ведь сделать что более полезное :(
Может что и всплывет ещё. Если правильно понял намёк Хунты, нормального эмулятора ДВК нет до сих пор, хотя софта там на порядки больше, чем на УКНЦ. Странно.
На Электронике-60 перфокарт не было, была перфолента.
Встречал только на картинках, даже представить не могу, как с этим работали. Наверное также как с магнитными лентами, бабина и есть бабина. :)
Насчёт периферийного процессора, когда копировали микропроцессорный набор Интела - передрали и специальный периферийный процессор...
Странно, что в КЦГД и УКНЦ не ставили Интель 8080, который сама DEC использовала в терминалах и прочих периферийных нуждах. Хотя в УКНЦ ПП похоже ставили просто чтобы побольше ВМ2 куда-то впихнуть. Лучше бы сделали БК0011 на ВМ2. И, кстати, RT-11 отлично на БК0011 идёт. А если бы сделали прерывания при обращения к портам терминала, то шло бы совсем превосходно. И никаких чудо-юдных ПП.
- - - Добавлено - - -
Любо Хунте блудословие. Кончал бы свой блуд и макрос писал. Для тех, кто не в курсе, слово блуд - это производное от заблуждение. Хотя, дорогой мой Хунта, спешу вас успокоить, так как и это тоже скоро пройдет.
Вот в Союз-НЕОН всё это делает один процессор и из-за виртуализации и обработки в HALT-режиме тратится куча процессорного времени. Архитектура конечно необычная, но из-за неё сам компьютер перестал быть системой реального времени.
А посмотрите, сколько процессорного времени тратится под штатной RSX-11 на издержки ввода-вывода. Уверен, что Неон печатает символы под RT-11 быстрее штатной фирменной системы под RSX-11.
BlaireCas
11.06.2023, 11:57
Хотя в УКНЦ ПП похоже ставили просто чтобы побольше ВМ2 куда-то впихнуть.
Возможно ставили потому-что МПИ был более-менее освоен, а в УКНЦ по нему подключались разные внешние девайсы. Что-то другое городить да хоть на 580вм80-м процессоре ну такое-себе, из разряда "а зачем?"
О "пользе" ПП как идеи хорошо получилось у Коммодора, там дисководы реально как каналы у мейнфрейма, реально отдельный компьютер, который раза в два дороже и раза в три тяжелее основного. Скорость в 20-50 раз медленнее, чем у дисководов Аппл 2 и маленьких Атарей! У последних всё делает ЦП. :)
Почему-то не любили кеши наши инженеры, игнорировали напрочь.
Ага, конечно. Банальный пример - СМ1420
Неужели с памятью?! И что автокоррекция работала?
А оно то и не знало. Двойка.
Любо Хунте блудословие. Кончал бы свой блуд и макрос писал.
Что, так макрос нужен, что никак не успокоишься? Это тебе не код тырить и выдавать за свой, тут уметь надо. Я - умею. Ты - нет.
А посмотрите, сколько процессорного времени тратится под штатной RSX-11 на издержки ввода-вывода.
Опять двойка. RSX - система реального времени, так что даже расписано - чего и сколько. Но у тебя оно же даже на 1801ВМ3 не работает - откуда тебе знать такие тонкости.
Кстати, читатели данной ветки. Учтите - litwr читает её (неожиданно) тоже - скоро всё выше написанно будет за свои "мысли" выдавать. Так что надо, как в АйТи-шниках - подсунуть ему коробку с интернетом
- - - Добавлено - - -
Буду удивлен, если узнаю, что КЦГД было сделано более тысячи.
Ты валерьянки побольше выпей, а то как бы и в дурку не загреметь от неожиданности
- - - Добавлено - - -
Для тех, кто не в курсе, слово блуд - это производное от заблуждение.
А
бабина и есть бабина.
от слова баба. В то время как не у озабоченных (SOB!)
Значение слова «бобина»
БОБИ́НА, -ы, ж. Катушка, барабан, валик, на которые наматывается что-л. (пряжа, проволока и т. п.). (Малый академический словарь, МАС)
А посмотрите, сколько процессорного времени тратится под штатной RSX-11 на издержки ввода-вывода. Уверен, что Неон печатает символы под RT-11 быстрее штатной фирменной системы под RSX-11.
Если говорить про штатную RT-11, то вывод на экран у НЕОНа, из-за виртуализации регистров и прерываний, просто швах. Для этого для НЕОНа RT-11 и патчили, чтобы выводить не посимвольно, а целиком строками. Если в его виртуальный регистр поместить число большее 255, то это считается адресом строки и вывод происходит быстро. А при использовании оригинальной RT-11 вывод идёт посимвольно через прерывания и тут УКНЦ работает значительно быстрее.
Хотя в УКНЦ ПП похоже ставили просто чтобы побольше ВМ2 куда-то впихнуть.
Ну вы поняли, да - опять "гениальная" мысль от litwr
- - - Добавлено - - -
Возможно ставили потому-что МПИ был более-менее освоен
Плюс одинаковая общая архитектура плюс одна система команд плюс он всё таки 16-ти разрядный, а не 8-ми с другой системой команд
Хотя в УКНЦ ПП похоже ставили просто чтобы побольше ВМ2 куда-то впихнуть.
Уже сколько пишу везде, но видно плохо читают. ПП в УКНЦ выполняет роль контроллера периферии, чтобы разгрузить ЦП от этого. И прошивка в ПЗУ неплохо написана, ПП с этим прекрасно справляется.
- - - Добавлено - - -
И, кстати, RT-11 отлично на БК0011 идёт. А если бы сделали прерывания при обращения к портам терминала, то шло бы совсем превосходно.
А где вы в БК видели порты терминала, и где она отлично идёт? Это патченная-перепатченная система, для того, чтобы она запустилась на БК. Попробуйте соберите с нуля с помощью SYSGEN новую сборку, пойдёт она БК?
из-за ... прерываний
Прерывание - затратная операция и чем больше выставляем скорость передачи по последовательной линии - тем больше накладные расходы. Как то пытаясь решить эту проблему, DEC даже сделала мультиплексор, умевший работать по ПДП, но там были определённые требования, что бы драйвер терминала использовал ПДП. Чисто практически же - я как-то поковырялся с измерением реальной скорости передачи и получилось, что переход с 57600 на 115200 при работе на прерываниях - это не двукратно увеличение реальной скорости, а хорошо если 1.5
- - - Добавлено - - -
Уже сколько пишу везде, но видно плохо читают.
Да он вообще читать не умеет. Бабина и есть бабина
- - - Добавлено - - -
Попробуйте соберите с нуля с помощью SYSGEN новую сборку, пойдёт она БК?
Бог с тобой, он и слова то такого не знает.
- - - Добавлено - - -
И, кстати, RT-11 отлично на БК0011 идёт. А если бы сделали прерывания при обращения к портам терминала, то шло бы совсем превосходно. И никаких чудо-юдных ПП.
Пять баллов!!! К сожалению, только по стобальной системе
- - - Добавлено - - -
Даа... с ящиком с интернетом - это я погорячился.. Персонаж и сам справится
BlaireCas
11.06.2023, 12:36
Ну про РТ-11 на БК конечно перебор. Она там кривая-косая и патчено-перепатчено. Если в тот-же УКНЦ еще можно впихнуть ванильную RT-11 от DEC насколько понимаю. То с БК это жесть небось ужас летящий на крыльях ночи.
И, кстати, RT-11 отлично на БК0011 идёт. А если бы сделали прерывания при обращения к портам терминала, то шло бы совсем превосходно. И никаких чудо-юдных ПП.
Вот даже интересно, как автор перла выкручиваться будет. С 1801ВМ3 и RSX у него получилось от слова "никак", хотя он ТАК старался. Занятно будет, что здесь "изобретёт". Типа - описался, как с SOB (R2)+, R1 ?
- - - Добавлено - - -
Ну про РТ-11 на БК конечно перебор.
У автора этого перла - это не перебор, это его обычное бурление
Если в тот-же УКНЦ еще можно впихнуть ванильную RT-11 от DEC насколько понимаю.
Вообще без вопросов - всё, что нужно - драйвер системного (то есть MZ) диска.
То с БК это жесть небось ужас летящий на крыльях ночи.
Не то что бы жесть - но усилий придётся приложить много. Хотя, если бы памяти было побольше, то можно было пойти по пути Pro 350 - то есть немного подпатчить загрузчик и сделать драйвер PI под БК
BlaireCas
11.06.2023, 12:55
нормального эмулятора ДВК нет до сих пор
Нууу.. А нормальный эмулятор это что? Все фишки КЦГД чтобы работали? Ну возможно оно никому не нужно просто было. Да и ДВК много моделей ведь разных как я понимаю. Попробуй все заэмулируй. Тут вон с той-же УКНЦ - все микросхемы товарищ разобрал, выложил всё, но собрать это воедино в каком-нибудь spartan fpga никому не удалось (хотя есть некоторые намеки, в телеграме человек постил что экран заработал, стартовое меню высветилось).
А нормальный эмулятор это что?
Навскидку - вроде как да, только КЦГД не хватает. Но не могу сказать про - всё ли остальное есть в эмуляторах. Но тут есть проблема - в одном эмуляторе один набор, в другом - другой, в сумме не хватает одной-двух плат, а вот в конкретике - больше.
В этом плане интересней FPGA - там допилинные модули можно объединять.
Лично мне сейчас больше всего интересен КГЦД - так как есть софт, который с ним умеет работать. Но скорее всего - я быстрее получу свой вариант на FPGA, чем в каком-то программном эмуляторе.
Тут вон с той-же УКНЦ - все микросхемы товарищ разобрал, выложил всё, но собрать это воедино
Там основная проблема, как я понимаю, в том, что из того реверса много чего асинхронного - то есть в реале работает, а в FPGA, который "несколько" побыстрее реала - где-то не бьются времянки - и усё. У меня была мысль поиграться с результатами реверса, но - время, блин, свободное
Про PC-совместимый "Поиск" ноют, что убрали отдельный видеоконтроллер, всё удешевили, даже опрос клавы программый процом, машина стала медленной и вообще Г.
Про УКНЦ ноют, что приделали второй процессор, и вообще он не нужен, всё можно повесить на один и будет ок.
Классика :)
- - - Добавлено - - -
Навскидку - вроде как да, только КЦГД не хватает. Но не могу сказать про - всё ли остальное есть в эмуляторах.
Эмуляторы машин-то есть, а вот с эмуляторами терминалов грустно, очень грустно.
У Титуса отличный эмулятор терминалов, но подключены они, блин, к УКНЦ. А отключить их и сделать COM/IP порт он не то чтобы очень хочет, и вообще похоже наигрался с эмуляторами :( А исходники закрытые.
По сути в идеале бы сделать эмулятор большинства отечественных терминалов, и уже был бы громадный плюс. Их к симху, к эмулятору ДВК, к реалу и вообще к чему угодно можно было бы подключить.
Про PC-совместимый "Поиск" ноют
Про УКНЦ ноют
Кто умеет - делает сам, кто не умеет - ноет... что Хунта макрос XOR не делает :D
По сути в идеале бы сделать эмулятор большинства отечественных терминалов
Я сейчас подумал, что, навскидку, вроде получается только КГД не сделать в виде внешнего блока. А КСМ (и КСД) с КГЦД можно сделать в виде внешнего и действительно - можно подключить и к эмулятору ДВК Патрона и к simh-у - через COM порт. Такую фигню я уже сделал с VT105 - благо с DE10 есть выходы на COM порты.
Некоторая проблема будет с подключением к железному ДВК - там нужна будет ещё плата консольного терминала с выходом на com порт - но и это достаточно просто решаемо
Некоторая проблема будет с подключением к железному ДВК - там нужна будет ещё плата консольного терминала с выходом на com порт - но и это достаточно просто решаемо
Может я чего не понимаю, но чем плох родной порт на МС1201.0х ? Только переход с ИРПС на RS232 подвесить и готово.
Может я чего не понимаю, но чем плох родной порт на МС1201.0х ?
Не помню уже - чего там с портами :) Хотя память подсказывает, что вроде можно посадить их на консольные адреса. Тогда да, остается только переход с токовой петли :)
Про PC-совместимый "Поиск" ноют, что убрали отдельный видеоконтроллер, всё удешевили, даже опрос клавы программый процом, машина стала медленной и вообще Г.
Про УКНЦ ноют, что приделали второй процессор, и вообще он не нужен, всё можно повесить на один и будет ок.
Классика :)
Буду очень признателен за ссылку на нытьё про Поиск. Особенно загадочно звучит ваша фраза, что удешевление - это повод для нытья. По моему скромному мнения Поиск - это лучший советский домашний компик. Знакомые имели, всё отлично шло. Проц у Поиска процентов на 40 побыстрее PC-оригинала, издержек на эмуляцию клав-контроллера почти 0, на видео - побольше, но графика CGA работала нормально. A про Г - это на совесть писавшего. :( Наверное от дурного хунтоприсутствия. :(
- - - Добавлено - - -
Кстати, и для школ Поиски были бы оптимальным выбором.
- - - Добавлено - - -
Если говорить про штатную RT-11, то вывод на экран у НЕОНа, из-за виртуализации регистров и прерываний, просто швах. Для этого для НЕОНа RT-11 и патчили, чтобы выводить не посимвольно, а целиком строками. Если в его виртуальный регистр поместить число большее 255, то это считается адресом строки и вывод происходит быстро. А при использовании оригинальной RT-11 вывод идёт посимвольно через прерывания и тут УКНЦ работает значительно быстрее.
Да, действительно, Неон медленно работает с выводом символов. Вот данные по π-затвору при расчете 3000 цифр.
Hеoн terminal RT-11SJ 3.7%
11/84 telnet 2.11BSD 13%
11/93 terminal 2.11BSD 0.9%
11/93 terminal RSX-11M+ 2.1%
Процент времени работы функции печати к общему времени работы программы. Однако, торможение от tcp/ip гораздо значительнее.
- - - Добавлено - - -
А где вы в БК видели порты терминала, и где она отлично идёт? Это патченная-перепатченная система, для того, чтобы она запустилась на БК. Попробуйте соберите с нуля с помощью SYSGEN новую сборку, пойдёт она БК?
Нету таких портов у БК (об этом и писал), но могли бы сделать костыль для их эмуляции через прерывание. И в чем проблема из-за патченности? Всё работает, если памяти хватает. Кстати, то, что не работает, то не работает и под RTEM, а это значит, что все реально стоящие программы работают.
И в чем проблема для квалифицированного системного программиста в доведении исходников до соответствия к нужному железу? Вся страна этим страдала после знатного решения на копирование зарубежной техники.
Зачем вообще это ПП?! Сделали бы как на MSX, с портами и отдельной памятью, а так получилось чудо-юдо диковинное: память общая, но через порты. А ВМ2 реально хорош, уделывает F11 совсем. Только частоту бы повыше и ММУ и тогда даже J11 выглядел бы совсем скромно.
Делали из того, что гарантированно было в наличии и без напрягов. 580 - делал не Зеленоград.
КЦГД - редкая экзотика, там вроде и программ практически нет, хотя одна-две игры вроде и сохранились. Вот КГД был удачной штучкой, просто и всё работало. Помню как увидел такую графику после Коммодорчика, сразу зауважал.
КЦГД ставили на все ДВК последних годов выпуска. Их было очень много для СССР. Например, Электроника -85 на порядок более редкая штука по сравнению с ДВК. Ну может кроме Воронежа...
КГД/КСМ - прекратили выпуск, так как две платы выпускать сложнее, чем одну. И ещё, на КГД удваивали объём памяти... Зачем? чтобы использовать как электронный диск :)
- - - Добавлено - - -
Это ВМ3 и 90-e уже и только для Хунты. :)
Я вот видел ОС РВ на ДВК :) Декабрь 1989 года ... На ВЦ института.
- - - Добавлено - - -
Тут-бы спросить "а зачем там вообще нужен ПП"? Но видимо нужен был.
Тот-же .print сам себя не отрисует, экран не проскроллит.
А также там дисковод, магнитофон, кассетки ПЗУшные и прочие приблуды которые вроде на шину второго процессора вешались (платки в слоты вставлялись).
Без ПП было бы всё печальнее...
И ещё, структура видео на УКНЦ очень похожа на КЦГД. Только ПП медленнее КЦГД(10 Мгц однако) и его заставили работать с периферией. Зато на ЦП было реальное время ;)
- - - Добавлено - - -
Союз-НЕОН ПК-11/16 - это вынужденное решение, так как боялись, что с 1801ВМ3 будут проблемы.
Вот если бы отрубить лишнюю периферию, выкинуть RT-11, то получился бы неплохой терминал.
- - - Добавлено - - -
Я только про один эмулятор КЦГД слышал. И он своеобразный :)
Нету таких портов у БК (об этом и писал), но могли бы сделать костыль для их эмуляции через прерывание. И в чем проблема из-за патченности? Всё работает, если памяти хватает. Кстати, то, что не работает, то не работает и под RTEM, а это значит, что все реально стоящие программы работают.
И в чем проблема для квалифицированного системного программиста в доведении исходников до соответствия к нужному железу? Вся страна этим страдала после знатного решения на копирование зарубежной техники.
Браво, на лету!
А посмотрите, сколько процессорного времени тратится под штатной RSX-11 на издержки ввода-вывода. Уверен, что Неон печатает символы под RT-11 быстрее штатной фирменной системы под RSX-11.
Hеoн terminal RT-11SJ 3.7%
11/93 terminal RSX-11M+ 2.1%
И печатает Неон быстрее, да да.
Ну, бабина - она и есть бабина
Что касается Поиска, то был компьютер, с коего драли... PC Junior(народу не понравился, выпуск мал, но в руководства попал)
Кое-что в Поиске даже лучше сделано. У меня был знакомый у кого был Поиск.
- - - Добавлено - - -
Насчёт внешнего терминала на БК... Есть адаптер последовательного порта. На него можно повесить внешний терминал. А уж программка меняющая адрес и вектор консоли системы - есть в дистрибутиве RT-11
Я вот видел ОС РВ на ДВК
Ты чего народ в заблуждение вводишь, не мог работать RSX на ВМ3, а значит и ОС РВ - так сам бабина сказал, он не соврёт!
КЦГД ставили на все ДВК последних годов выпуска. Их было очень много для СССР. Например, Электроника -85 на порядок более редкая штука по сравнению с ДВК. Ну может кроме Воронежа...
КГД/КСМ - прекратили выпуск, так как две платы выпускать сложнее, чем одну. И ещё, на КГД удваивали объём памяти... Зачем? чтобы использовать как электронный диск :)
Э85 - редкая штучка, это понятно. Но неужели выпуском ДВК никто в деталях не интересовался? Вообще как-то мало информации, а компик совсем неплох.
Без ПП было бы всё печальнее...
И ещё, структура видео на УКНЦ очень похожа на КЦГД. Только ПП медленнее КЦГД(10 Мгц однако) и его заставили работать с периферией. Зато на ЦП было реальное время ;)
УКНЦ учебный компьютер, если нужно в реальном времени контроллер, то система на 6502 будет намного оперативнее. Никаких серьёзных аргументов о пользе ПП в УКНЦ исполнении так и не услышал. :( Если бы сделали видео как на БК0011 через простое переключение банков памяти было бы возможно даже быстрее по моему скромному мнению.
Союз-НЕОН ПК-11/16 - это вынужденное решение, так как боялись, что с 1801ВМ3 будут проблемы.
Вот если бы отрубить лишнюю периферию, выкинуть RT-11, то получился бы неплохой терминал.
Так можно и Амигу в терминалы определить. :)
- - - Добавлено - - -
Ты чего народ в заблуждение вводишь, не мог работать RSX на ВМ3, а значит и ОС РВ - так сам бабина сказал, он не соврёт!
Ну а Хунта предпочитает бобов, а не бабов. Всё нос по ветру старается удержать. :) Конечно, это не макрос писать, там думать надо. :) :)
- - - Добавлено - - -
Что касается Поиска, то был компьютер, с коего драли... PC Junior(народу не понравился, выпуск мал, но в руководства попал)
Кое-что в Поиске даже лучше сделано. У меня был знакомый у кого был Поиск.
Это очень сомнительно. PCjr имел нормальный видеочип (существенно лучше CGA) и шикарный звуковой, а клава вообще беспроводная! Там был только тормоз, с совмещением видеопамяти. Что-то там скорее с ценами не срослось, конкуренция на рынке домашних компиков была реальная. Но Tandy сделали очень успешный клон, который отлично зашел. Если запускать игры до середины 90-х предлагалась опция Tandy-графики, а это и есть PCjr-графика.
А Поиск реально вошел в историю как самый минималистичный IBM PC клон.
УКНЦ учебный компьютер, если нужно в реальном времени контроллер, то система на 6502 будет намного оперативнее. Никаких серьёзных аргументов о пользе ПП в УКНЦ исполнении так и не услышал. Если бы сделали видео как на БК0011 через простое переключение банков памяти было бы возможно даже быстрее по моему скромному мнению.
И управление дисководом на программном уровне как в Apple II, а тут ещё прерывание от терминала пришло и о, ужас, в это время нажали клавишу. И как эту всю ситуацию на 6502 разрулить? Вы бы хотя бы листинги ПЗУ посмотрели, поняли как там всё устроено. А то мол, никаких серьёзных аргументов мне не предоставили. Если считаете, что что-то не так, то надо АРГУМЕНТИРОВАННО показать, что здесь плохо, и КАК надо сделать. А у вас одни слова без всяких доказательств.
P.S. Да, наверное сессию у вас я бы не сдал.
Ну а Хунта предпочитает бобов, а не бабов.
Как и всё догадки бабины - мимо.
Конечно, это не макрос писать, там думать надо.
Что, очень нужен? ;) Всё никак не уговаривается написать за тебя, да? И тут обломс у бабины ;)
если нужно в реальном времени контроллер, то система на 6502 будет намного оперативнее.
Аха, щаз. В мечтах некоторых только.
- - - Добавлено - - -
И как эту всю ситуацию на 6502 разрулить?
Как как. Повесился бы.
- - - Добавлено - - -
Да, наверное сессию у вас я бы не сдал.
Да не дай бог. Вообще к обучению таких кадров не допускать
Кстати, Электроника МС0515 и Немига также без ПП обошлись.
И управление дисководом на программном уровне как в Apple II, а тут ещё прерывание от терминала пришло и о, ужас, в это время нажали клавишу. И как эту всю ситуацию на 6502 разрулить? Вы бы хотя бы листинги ПЗУ посмотрели, поняли как там всё устроено. А то мол, никаких серьёзных аргументов мне не предоставили. Если считаете, что что-то не так, то надо АРГУМЕНТИРОВАННО показать, что здесь плохо, и КАК надо сделать. А у вас одни слова без всяких доказательств.
P.S. Да, наверное сессию у вас я бы не сдал.
Ну причем тут Apple II? Возняк, когда его делал даже не знал, что такое прерывания. В Апплах до 2е вообще их практически не поддерживали! Возняк их просто не понимал. Но человек он был аккуратный, поэтому сделал чудо-юдо решение, все просчитать по тактам. Какие тут прерывания от терминала?! :) :) :) Первые прерывания в Апплах появились только на мышинной карте.
Но свет клином на Возняке не сходится. Создатель 6502 все тонкости понимал очень хорошо и Возняка потом доучил. Одна из главных фишек 6502 - это очень быстрая реакция на прерывание, 7 тактов. А 65С02 может вообще реагировать мгновенно. Поэтому 6502 это один из сертифицированных процессоров для медицинского оборудования, даже казалось бы более крутой процессор 21-о века ez80 такой сертификат не имеет.
Хунта бы точно не сдал. Работа предователя имеет свои неприятные моменты. Типа студент может знать, но считать своё достоинство выше возможности это показать. Что тут делать? Многие уходят от неприятностей, ставя оценку за наглый вид. Но у нас не экзамен. А вроде вполне джентельменский разговор, с хунтавключениями. :) C'est la vie.
Хунта бы точно не сдал
Ты бы у меня и на пересдачи не сдал. Именно за наглый вид. Вкупе с незнанием - без шансов.
А вроде вполне джентельменский разговор, с хунтавключениями
Не тянешь на джентельмена. Даже на джентельмена удачи.
Какие тут прерывания от терминала?!
А вот такие. ПП в УКНЦ является контроллером всей периферии. И там очень активно используются прерывания, а не тупо опрашиваются все устройства по готовности. И весьма умно сделано. Даже драйвер дисковода при работе старается не подвешивать ПП, т.к. 1801ВП1-128 не имеет режима прерываний. И всё неплохо работает, да ещё разработчики в прошивке позволили загружать свои модули.
А так из-за 8-разрядности процессора всё периферию пришлось бы переводить на 8 разрядов. Так что 1801ВМ2 здесь при месте, с той же системой команд, многие программы грузили в ОЗУ ПП свои модули при работе. А так я представляю себе проблемы программиста, пишет он программу на MACRO-11, а в ПП её грузить надо в кодах 6502.
Так что с вашей стороны я никаких аргументов не услышал, конкретики не было никакой.
- - - Добавлено - - -
Кстати, Электроника МС0515 и Немига также без ПП обошлись.
По поводу Немиги и его дисковода, подобного КНГМД (MX) для ДВК я знаю. Только этот КНГМД (MX) хороший пример для того, как не надо делать. И при таком драйвере система RT-11 уже не RT, в смысле real time. Подорожечное чтение и запись занимают много времени и уже бесполезны такие запросы RT-11, как .READ,.WRITE,.READC,.WRITC.
Если такой подход ещё как нибудь можно понять в SJ-мониторе, мол пользователь подождёт, но уже не в FB-мониторе, тем более в XM. Про RSX-11 я уж помолчу.
УКНЦ учебный компьютер, если нужно в реальном времени контроллер, то система на 6502 будет намного оперативнее. Никаких серьёзных аргументов о пользе ПП в УКНЦ исполнении так и не услышал. :( Если бы сделали видео как на БК0011 через простое переключение банков памяти было бы возможно даже быстрее по моему скромному мнению.
Аргумент тут один - на конвейере 6502 - не было в СССР :(
По сему поставить было нереально. Вот в Корветы импорт лепили...
Так можно и Амигу в терминалы определить. :)
Были программы эмуляции терминалов на Амиге :)
Это очень сомнительно. PCjr имел нормальный видеочип (существенно лучше CGA) и шикарный звуковой, а клава вообще беспроводная! Там был только тормоз, с совмещением видеопамяти. Что-то там скорее с ценами не срослось, конкуренция на рынке домашних компиков была реальная. Но Tandy сделали очень успешный клон, который отлично зашел. Если запускать игры до середины 90-х предлагалась опция Tandy-графики, а это и есть PCjr-графика.
А Поиск реально вошел в историю как самый минималистичный IBM PC клон.
Проблема была в совместимости этого видеочипа :(
Лебединая песня светового пера ...
И памяти мало :(
- - - Добавлено - - -
Кстати, Электроника МС0515 и Немига также без ПП обошлись.
Получились ещё более учебные компьютеры. Немига, на мой взгляд - дорога. Вот МС0515 - настоящий учебный компьютер(недорог и прост) - именно для масс, уровня школ . Однако слишком поздно сделали :(
И ещё недостаток - ограниченная совместимость(Вот УКНЦ - совместим более-менее) :(
И ещё - есть внешний диспетчер памяти :) хоть и простенький...
Ну причем тут Apple II? Возняк, когда его делал даже не знал, что такое прерывания. В Апплах до 2е вообще их практически не поддерживали! Возняк их просто не понимал. Но человек он был аккуратный, поэтому сделал чудо-юдо решение, все просчитать по тактам. Какие тут прерывания от терминала?! :) :) :) Первые прерывания в Апплах появились только на мышинной карте.
Но свет клином на Возняке не сходится. Создатель 6502 все тонкости понимал очень хорошо и Возняка потом доучил. Одна из главных фишек 6502 - это очень быстрая реакция на прерывание, 7 тактов. А 65С02 может вообще реагировать мгновенно. Поэтому 6502 это один из сертифицированных процессоров для медицинского оборудования, даже казалось бы более крутой процессор 21-о века ez80 такой сертификат не имеет.
Хунта бы точно не сдал. Работа предователя имеет свои неприятные моменты. Типа студент может знать, но считать своё достоинство выше возможности это показать. Что тут делать? Многие уходят от неприятностей, ставя оценку за наглый вид. Но у нас не экзамен. А вроде вполне джентельменский разговор, с хунтавключениями. :) C'est la vie.
Для того, чтобы воспользоваться возможностью этой реакции на прерывание - необходимо соответствующее аппаратное окружение, кое и позволит отработать всё так быстро. А с этим печалька :(
- - - Добавлено - - -
КНГМД (MX) - вредительский агрегат... коим заткнули дыру и слишком долго держали в производстве :(
Немига, на мой взгляд - дорога.
Чем?
По сути почти ДВК.
Учебный компьютер должен быть максимально прост и дёшев.
Всё должно быть на одной плате , по-возможности. Требованиям удоволетворяет БК, МС0515 и УКНЦ
Немига походит на старые ДВК(Электронику-60) с КГД, коей заменили КГД на что-то чуть более продвинутое.
Немига , это моё личное впечатление, сделана на том, что могли сделать... Много металла. На столе стоит два блока. Платы ни с чем не совместимы механически.
Питание от постоянки +27 в - ничего не напоминает??? ;) То есть нужен ломовой блок питания на 27 в постоянк на класс.
Поставить если рядом Немигу и УКНЦ... да сравнить... Хотя бы с MSX... Хотя бы внешне.
Учебный компьютер должен быть максимально прост и дёшев.
Всё должно быть на одной плате , по-возможности. Требованиям удоволетворяет БК, МС0515 и УКНЦ
Немига походит на старые ДВК(Электронику-60) с КГД, коей заменили КГД на что-то чуть более продвинутое.
Немига , это моё личное впечатление, сделана на том, что могли сделать... Много металла. На столе стоит два блока. Платы ни с чем не совместимы механически.
Питание от постоянки +27 в - ничего не напоминает??? То есть нужен ломовой блок питания на 27 в постоянк на класс.
Поставить если рядом Немигу и УКНЦ... да сравнить... Хотя бы с MSX... Хотя бы внешне.
Понятно. Всегда считал что это забавно, когда кто-то на основе своей неосведомленности делает глубокоидущие выводы....
Начать, хотя бы, с того, что у ученической Немиги один блок.
>Всё должно быть на одной плате , по-возможности. Требованиям удоволетворяет БК, МС0515 и УКНЦ
Именно поэтому у УКНЦ фактически несменяемый адаптер СА сделан отдельной платой да еще с недешевым присоединением?
И потом, как лихо Вы в одну кучу замешали компьютеры с отдельной клавиатурой и компьютеры в клавиатуре. Или детали не важны, важно чтобы подогнать под Ваши "требования"?
>Немига походит на старые ДВК(Электронику-60) с КГД, коей заменили КГД на что-то чуть более продвинутое.
Ещё скажите что процессор на том же МПК собран ;-)
>сделана на том, что могли сделать...
Я не совсем распарсил Вашу фразу, но если речь шла о том, что Немигу сделали на том, чтобы было доступно - то да, это именно так, и, Вы не поверите, я знаю всего один случай, когда с бытовыми/школьными ЭВМ было иначе - Зеленоград (БК, УКНЦ).
Во всех остальных случаях разработчики были вынуждены исходить из доступности компонентов.
>Поставить если рядом Немигу и УКНЦ... да сравнить... Хотя бы с MSX... Хотя бы внешне.
А чего не сравнить внешне БК и MSX ? Просто что-то несравнимое сравнивать - такое себе извращение.
С Немигой люди оперативно решали поставленную им задачу, и справились вполне успешно. Да, использовали и корпус, и (скорее всего) блоки питания и корзину от уже выпускавшихся приборов. И комплектуху взяли производимую локально, в отдельно взятой республике (или даже городе).
- - - Добавлено - - -
Учебный компьютер должен быть максимально прост и дёшев.
Вот про этот тезис можно чуть подробнее? Типа школярам и деревянные счёты сгодятся? Им же всё-равно не для дела?
О забота об эргономике - пофиг, и так сойдёт, детское здоровье не жалко?
один блок, так как без периферии...
СА- УКНЦ это было требование, под разные типы сети. И эта особенность даже использовалась, по крайней мере один раз:
Кроме классического кольца, была сделана система СВД ВУЗ, где кольцо поменяли на звезду, сменив адаптер.
Зеленоград мог сделать, так как у него было оборудование.
Немига - плод оборонщиков. 27 в постоянки - визитная карточка оборудования бортового, военного, савязи и прочая. Обычно ещё резервное питание.
По ценам сравнить сложно :(
Но в большинстве случаев, у оборонщиков получается дороже чем у гражданских для оборудования одного типа.
БК - это вообще первый заход. И что получилось, то получилось со всеми + и -
УКНЦ - это уже следующая работа над ошибками. Получилась сложнее...
Массово для народа(за рубежом) пошёл ZX Spectrum... Вот там самый минимум... :)
Детское здоровье - ограничить время занятий...
Но счёты, да, согласен - самый безопасный метод обучения... Нет электричества :) Только проку... :(
>один блок, так как без периферии...
А где в ученическом УКНЦ или в ученической Немиге периферия, напомните, пожалуйста....
>Кроме классического кольца, была сделана система СВД ВУЗ, где кольцо поменяли на звезду, сменив адаптер.
Сколько %% УКНЦ имели другой адаптер? 0.00001% или 0.00002% ?
>Зеленоград мог сделать, так как у него было оборудование.
Ну то есть Вы не отрицаете что у остальных просто вариантов не было?
>Немига - плод оборонщиков.
Немига - разработка одного из ВУЗов Минска.
Про то что сделали из того что было - уже обсудили. Если Вы считаете что плохо использовать уже что-то готовое и всё надо делать с нуля - дайте знать
>По ценам сравнить сложно
Это Вы так соскакиваете с темы? Вообще-то это Вы писали что учебный компьютер должен быть дешёвкой. Я как раз другого мнения.
>Но в большинстве случаев, у оборонщиков получается дороже чем у гражданских для оборудования одного типа.
Ваши домыслы про оборонщиков (что у них дороже) ровно из той же области что компьютер, разработанный в ВУЗе - плод оборонщиков.
и опять же, Ваше незнание уводит Вас в дебри Ваших фантазий. Задам простой наводящий вопрос: где, по Вашему, можно было производить учебный компьютер в БССР в 1989 году?
>БК - это вообще первый заход. И что получилось, то получилось со всеми + и -
>УКНЦ - это уже следующая работа над ошибками. Получилась сложнее...
Опять же, Ваше незнание уводит Вас в немыслимые дебри. БК не разрабатывался как школьный компьютер. Точка. Остальное - Ваши фантазии.
>Массово для народа(за рубежом) пошёл ZX Spectrum... Вот там самый минимум...
То есть вот такое г - по Вашему идеал для школьного компьютера?
Вы вот это серъёзно?!?!?!?!?!
>Детское здоровье - ограничить время занятий...
Исключением предмета Информатика? Пусть дома на спектрумах поиграют?
Простите, у Вас в школьное время, видимо, спектрум был? Это многое бы объяснило ;-)
Периферия - в больштнстве не было... :( Например, касета ПЗУ в УКНЦ , знаю про исключительно с бейсиком.
Была возможность много что подоткнуть, но увы, теоретическая :(
свыше 95% УКНЦ ничего не вкусили :(
Про Немигу - мало чего сказать могу... Не трогал руками :( Чисто интернет...
Для того, чтобы произвести что-то числом более десятка - надо знать что и где можно сделать, так что без сотрудничества с промышленностью не обошлось.
Так ведь производили :)
Стоимость учебного компьютера зависит от многих переменных...
В один год -одна, а в следующем году - другая...
Ведь в школах были классы БК... И даже на военной кафедре нашего института был класс БК.
Идеала я не вижу :( ZX Spectrum -наделали море... Но это не говорит что он замечательный...(например, с запуском CP/M большие проблемы) Просто оказался в нужное время и в нужном месте.
В школьное время: Правец-8, Tandy... На уроках информатики MSX.
Что такое Спектрум, я тогда просто не знал :( И даже на первом курсе института я этого не знал :( У нас их не было в стране в ощутимых количествах... Появились где-то с 1990 , бум сборки...
- - - Добавлено - - -
Что знал - начальница АРМ(Лариса Дмитриевна Самохвалова, надеюсь что жива, шикарная леди) поделилась, что муж привёз из-за рубежа Commodore. Вообще увидел в первый раз как женщина с осциллографом внутрь СМ-4
(что составляла основу АРМ) лезла
>Периферия - в больштнстве не было...
Чтд.
то есть Ваш довод про два ящика просто не состоятелен
>Про Немигу - мало чего сказать могу... Не трогал руками :( Чисто интернет...
"Давайте спорить о вкусе устриц с теми, кто их ел" (c) ММЖ
>Стоимость учебного компьютера зависит от многих переменных...
>В один год -одна, а в следующем году - другая...
Угу, весной у некоторых фантазии тоже ярче, такое насравнивают, диву даешься. То Немига им дорога, то ZX у них школьный компьютер.
>Идеала я не вижу :( ZX Spectrum -наделали море... Но это не говорит что он замечательный...(например, с запуском CP/M большие проблемы) Просто оказался в нужное время и в нужном месте.
Опять что-то непонятное даже Вам пишите. Мало ли где что и для чего наделали. В школах zx было мало, слава Богу.
> Вообще увидел в первый раз как женщина с осциллографом внутрь СМ-4
Ясно, смысл дискуссии Вами утрачен :-(
Создатели предусмотрели неплохие возможности по расширению и модернизации УКНЦ, что оно не реализовалось - это беда :(
Вот порт С2... Самый простой... И хоть что-то в него втыкали? В школах?
Из штатных : касеты ПЗУ, магнитофон(очень редко)
То, что к учительской подключалось: принтер и и контроллер дисководов...
Другие контроллеры были, но редкостью :( (Жёсткие диски и прочая)
Вы ели Немигу? ;)
Там на фото есть разъём МПИ... В него можно было воткнуть корзину(ДВК , Электроника-60)? Или с нагрузочной способностью беда?
Насчёт школьного компьютера... 1992 год... Москва, школа в Сабурово... И что у нас в качестве школьного компьютера: СМ-1700 Советский VAX... Не хило??? Вот такие взгляды были на школьный компьютер :)
Терминальный класс...
У нас в институте СМ-1700 в одном экземпляре была на кафедре физики... И запускали они на ней ... РАФОС :( Сам видел... Просто зав.кафедрой был член-кором.
Наш ВЦ удавился бы за СМ-1700... И далеко не только ВЦ...
Синклеры к нам добрались уже на излёте... Эа рубежом их было порядка на 3 более, если не на 4 чем у нас...
что оно не реализовалось - это беда
Простите, но беда - это парсить поток Вашего сознания. Купите уже зеркало что ли - вряд ли другие собеседники будут Вам настолько интересны ;-)
Про разъём на Немиге значит не ведаете :(
А что там ведать?
Стандартно туда подключается КНГМД и контроллер параллельного порта, расположенные в отдельном блоке (учительская модификация). Буферизации там нет
У учинических получается вообще самый мизер...
Как же организована системная консоль?
Там классическая RT-11работает? или есть тонкости?
Как же организована системная консоль?
Там классическая RT-11работает? или есть тонкости?
То есть прочитать выложенное в интернете ТО религия не позволяет? Хотите чтобы за Вас другие прочитали и тезисно Вам изложили?
Вы тоже, как один форумчанин с ником в виде позывного, и второй (litwr), преподаватель ? Хотите чтобы за Вас всё студенты делали? Или не важно кто, главное чтобы за Вас?
- - - Добавлено - - -
У учинических получается вообще самый мизер...
Мизер по сравнению с чем? С БК? Или со спектрумом???? ;-)
ТО скачал бы да прочитал бы, если бы была Немига у меня.
По информации emuverse.ru:
Консоль эмулируется.
Не понравилось :( :
что символьная ширина строк - 50 символов в строке в "старой" и 64 символа в строке в "новой" версии.
То есть многие программы корректно работать не будут :(
>ТО скачал бы да прочитал бы, если бы была Немига у меня.
Так если Вам не надо, зачем тогда у меня спрашиваете? Просто скучно?
>Не понравилось :что символьная ширина строк - 50 символов в строке в "старой" и 64 символа в строке в "новой" версии
G8.SYS - драйвер знакогенератора (для КВТ "Немига" версии 4.05 и выше), предназначенный для работы с программами написанными для ПЭВМ
типа ДВК. Он обеспечивает вывод 80 символов в строку. Загружается командой SET G8 ON.
Без драйвера 8х8 символ...
512/80=6,4... то есть в фонте максимум 6 точек на символ...
у КЦГД 10 точек ширины на знакоместо.
Вот у Электроники-85 аж 12 точек на знакоместо.
то есть в фонте максимум 6 точек на символ...
Промежуток между символами делать не надо?
Ну промежуток это если только простой текст, а ведь есть ещё псевдографика(с времён VT100, а то и ранее), коя должна смыкаться как по горизонтали, так и по вертикали...
То есть в режиме совместимости ситуация ещё хуже... Для раздела между символами текста - один пиксель... Итого ширина фонта по факту 5 пикселей :( На грани ...
Ну это как на КЦГД в 132 символа на строку режиме...
Меня всегда искренне поражали чудаки, которые считают что на мс6105 должно быть 80 символов в строке.
Если не нужно зрение - испортить его можно разными путями, но вдобавок к этому еще и желание пукнуть шире задницы ради режима совместимости.....
>Вот у Электроники-85 аж 12 точек на знакоместо.
И что это ей или Вам дало?
Просто у Вас что ни пост - всё какое-то невнятное нытье. Не нравится Вам Немига - купите себе БК, так как раз для Вас 32/64 символа в строке, и Вас это не смущает.
А у Вас всё то ложка не такая, То тарелка не такая, то салфетки не того цвета. Да заради Бога - не нравится тарелка с ложкой - не кушайте. Нойте дальше.
а ведь есть ещё псевдографика
И выводим мы текст на терминал исключительно псевдографикой.
Программ использующих псевдографику не так уж и много, но они есть...
Даже в дистрибутиве RT11 :) Сам когда-то использовал псевдографику на КЦГД :)
А вот ежели программа спросила про модель терминала, о VT100 в ответ...
Значит запускаем псевдографические ...
Как-то так...
- - - Добавлено - - -
Меня всегда искренне поражали чудаки, которые считают что на мс6105 должно быть 80 символов в строке.
Если не нужно зрение - испортить его можно разными путями, но вдобавок к этому еще и желание пукнуть шире задницы ради режима совместимости.....
>Вот у Электроники-85 аж 12 точек на знакоместо.
И что это ей или Вам дало?
Просто у Вас что ни пост - всё какое-то невнятное нытье. Не нравится Вам Немига - купите себе БК, так как раз для Вас 32/64 символа в строке, и Вас это не смущает.
А у Вас всё то ложка не такая, То тарелка не такая, то салфетки не того цвета. Да заради Бога - не нравится тарелка с ложкой - не кушайте. Нойте дальше.
По сравнению с современными мониторами, те не котируются :(
Но других просто не было в массах :(
Я не ною ;) Покупать если буду, то плату FPGA.
C Электроникой-85 меня судьба не сводила... Видел только на расстоянии :(
Программ использующих псевдографику не так уж и много, но они есть...
Если на мониторе херово различимы обычные символы - обычному, рядовому пользователю срать будет на то, насколько он круто изображает псевдографику - как тебе ТАКАЯ мысль
Вопрос в организации знакоместа...
Фиксированные разрывы меж символов и интервал между строками в дисплейных системах - есть способ экономии ресурсов(памяти, быстродейсвия да прочая).
В КЦГД пофиг, ресурсов достаточно :) Там по сути всё графика :) Аналогично в УКНЦ.
По сему там есть в наборе фонтов псевдографика, которая смыкается, как у настоящего VT100.
Насколько я понял, КЦГД довольно точно эмулирует VT100. Из отличий - наличее кирилицы...
Да отсутствие настроечного меню ...
В более старых системах, в том числе на КР580ВГ75, с ресурсами хуже было :(
По сему экономили как могли и на чём могли.
Вопрос в организации знакоместа...
Фиксированные разрывы меж символов и интервал между строками в дисплейных системах - есть способ экономии ресурсов(памяти, быстродейсвия да прочая).
В КЦГД пофиг, ресурсов достаточно Там по сути всё графика
По сему там есть в наборе фонтов псевдографика, которая смыкается, как у настоящего VT100.
В более старых системах, в том числе на КР580ВГ75, с ресурсами хуже было
По сему экономили как могли и на чём могли.
А я что - про это спросил???
Так на КЦГД в моде 80 колонок очень неплохо отображается текст :)
И всё с промежутками хорошо ...
Так на КЦГД в моде 80 колонок очень неплохо отображается текст
И всё с промежутками хорошо ...
Раз моё так "внимательно" читается, смысла особого мне читать - тоже не вижу.
- - - Добавлено - - -
И вообще - как только вопрос уводят в сторону - я на этом сразу заканчиваю
Если такой подход ещё как нибудь можно понять в SJ-мониторе, мол пользователь подождёт, но уже не в FB-мониторе, тем более в XM. Про RSX-11 я уж помолчу.
А что на УКНЦ идет ХМ или хотя бы FB? Cомнительно. И, повторю, УКНЦ - учебный компьютер, оттого, что ЦП несколько лишних микросекунд потратит на обработку очередного запроса от устройств вв никому ни тепло, ни холодно.
- - - Добавлено - - -
Аргумент тут один - на конвейере 6502 - не было в СССР :(
По сему поставить было нереально. Вот в Корветы импорт лепили...
Тут тайна великая, какая-то деталь большой политики тех лет. Стоили эти процы копейки, закупали же телевизоры и кассеты в огромных количествах. Для Агатов процы в Индии закупали. И клон сделать, не проблема была, болгары осилили. В Корветах ничего импортного не было.
Проблема была в совместимости этого видеочипа :(
Лебединая песня светового пера ...
И памяти мало :(
Повторю, не было никакой проблемы совместимости, читайте про Tandy 1000. Просто играли против PC Jr и отголоски тех баталий до сих пор летают в головах.
Для того, чтобы воспользоваться возможностью этой реакции на прерывание - необходимо соответствующее аппаратное окружение, кое и позволит отработать всё так быстро. А с этим печалька :(
С этим у 6502 никаких проблем не было. Кстати, в некоторых коммодорских дисководах 2 6502, один на интерфейсе, а другой управляет механикой. Но потом от этого отказались, один процессор отлично справлялся и на УКНЦ бы отлично справился
А что на УКНЦ идет ХМ или хотя бы FB? Cомнительно.
знания фрагментарные и поверхностные при безграничной наглости.
Самокритика автора. Внезапно - FB (как и RSX! :D) вполне себе идёт на УК-НЦ :D
А что на УКНЦ идет ХМ или хотя бы FB? Cомнительно.
Самокритика автора. Внезапно - FB (как и RSX! ) вполне себе идёт на УК-НЦ
Поскольку тратить временя писать драйвер под что-то от УК-НЦ (типа MZ или WD) смысла не вижу (мне, как и с макросом, пока это не нужно) и поскольку этот персонаж имеет привычку переобуваться на ходу, что бы осталось для истории - пример загрузки RSX на ВМ2 (тот, который стоит и на УК-НЦ):
DEVICE TT001: NOT IN CONFIGURATION
RSX-11M V4.8 BL70 28.K
>RED HD:=SY:
>RED HD:=LB:
>MOU HD:RSX11MBL70
>@HD:[1,2]STARTUP
>* Please enter time and date (DD-MMM-YYYY HH:MM) [S]: 17-JUN-2023 12:17
>@ <EOF>
>PAR
LDR 045164 045050 000000 MAIN TASK
PAR14K 055710 056000 070000 MAIN TASK
GEN 055654 056000 040000 SUB TASK
SYSPAR 055744 146000 012000 MAIN TASK
>
- - - Добавлено - - -
Учитывая, что УК-НЦ - это ВЕСЬМА стандартный PDP-11 - всё, что нужно для загрузки на нём RSX - драйвера под MZ и/или WD. Если мне не изменяет память, form вроде возился с этим (загрузкой RSX на УК-НЦ), но так ли это и довёл ли он это дело (как для эмулятора Патрона - пример выше) до конца - искать лень :)
- - - Добавлено - - -
Ну и загрузка FB монитора.. Может позже выложу скриншот, а может и нет - посомтрю, насколько сумею перебороть лень ради возможности попинать труп "эксперта"
- - - Добавлено - - -
Ещё из занимательного до кучи:
RSX-11M V4.8 BL70 (DVKEMU) 28K 17-JUN-23 12:30:27
TASK= *IDLE* FREE= SY0:1775. DY1:DMO
DY0:DMO HD1:OFL PARS
POOL=1004.:1006.:2.
1004.:1006.:2. LDR :T
PAR14K:T
IN: GEN :S
2 SYSPAR:T
11K
OUT:
1
3K
0*******1*******3*******5*******7*******8*******10 ******12******
E-----------------------------------------T---------S-----------
----------------------------------------------------T-----------
14******15******17******19******21******22******24 ******26******
ERRSEQ
0.
BlaireCas
17.06.2023, 12:25
А что на УКНЦ идет ХМ или хотя бы FB?
FB идет, пробовал на эмуляторе, на живой УКНЦ не пробовал. Есть образ с ней. (думаю легко нагуглить кому надо).
А XM - это ведь для какой-то расширеной памяти? Ну в УКНЦ как-то не особо есть видимо расширенная память (хотя ее там и больше 64кб, но она юзается под экран обычно)
https://i.imgur.com/QkLTV0c.png
- - - Добавлено - - -
Поскольку тратить временя писать драйвер под что-то от УК-НЦ (типа MZ или WD) смысла не вижу
А чем отличаются вообще эти MX MY MZ? Глупый наверное вопрос, я просто не соображаю в системном программинге :) На УКНЦ вроде как еще по памяти со школы помню был MZ
FB идет, пробовал на эмуляторе, на живой УКНЦ не пробовал
Идёт без пЫска и скрЫпа - я пробовал на своей первой (где-то начало 90-ых) УК-НЦ, тогда ещё на rt-11 5.0. Но не пришёл к выводу, зачем он МНЕ может понадобиться, так что попробовал и всё. Учитывая, что у FB одинаковые драйвера с SJ/SB - вообще никаких проблем с запуском
А XM - это ведь для какой-то расширеной памяти?
Для начала - нужен ДП (ака KT-11) - без него даже грузиться не будем - сколько бы памяти не было
Это вот это-же FB или нет?
Да, FB
- - - Добавлено - - -
А чем отличаются вообще эти MX MY MZ?
MX только под стандартную корзину, так что не слышал, что бы он был на (железном) УК-НЦ, хотя теоретически собрать можно. У него свой формат записи (5.5 секторов на дорожку, 11 на цилиндр (верхняя и нижняя головки), ЕМНИП) и самое главное - работает без прерывания. То есть начал драйвер читать или писать что-то - все ждём!
MY и MZ - формат дискеты один и тот же (то есть записанное на одном - вполне читаемо (если головки не сбили) на другом). MY - под стандартную корзину, MZ - под слот УК-НЦ. И - MY более интеллектуальное (читай - законченное устройство) - драйвер работае на уровен чтения/записи секторов, а MZ - это как железячная заготовка - драйвер (или firmware на ПП) будет делать много черновой работы - не так много, как с MX, но прилично. В случае УК-НЦ драйвер получается легковесным (как и MY) - работает на уровене секторов, но черновую работу для него выполняет ПП. Кстати, на MY стоит свой аналог ПП (только ВМ1, а не ВМ2 - который всю черновую и делает :)
- - - Добавлено - - -
Кстати, если найдутся идиоты и последуют совету "эксперта" и уберут ПП с УК-НЦ - то вся эта черновая работа ляжет на драйвер. И, ЕМНИП, работа тоже будет без прерываний - начали читать/писать - ВСЕ ждут. Ну, "эксперт" - он и есть "эксперт" - послушай его и сделай с точностью до наоборот :D
- - - Добавлено - - -
А, да - ещё цимис MY/MZ дискет - при некотором везении (контроллер флопов) они вполне читаемы/записываемы (как образ) на писюках
BlaireCas
17.06.2023, 12:58
А, да - ещё цимис MY/MZ дискет - при некотором везении (контроллер флопов) они вполне читаемы/записываемы (как образ) на писюках
Я помню какая-то наша техника, но с рабочей внутри MS DOS умела читать (насчет записывать забыл уже) дискеты от УКНЦ. А вот название ее стерлось давно из памяти. Но точно помню было дело что-то копировали. Это начало 90-х, то-есть техника явно СССР-овская была с какой-то платой видимо эмуляции IBM-PC.
По виду было нечто напоминающее ДВК (именно на вид, а не внутрях)
Я помню какая-то наша техника, но с рабочей внутри MS DOS умела читать (насчет записывать забыл уже) дискеты от УКНЦ
Ничего удивительного.
http://old-dos.ru/index.php?page=files&mode=files&do=show&id=4098
BlaireCas
17.06.2023, 13:14
Ничего удивительного.
Прикольно, 90-й год. Возможно что-то типа этого и было. Единственно MS-DOS работала на какой-то нашей машинке, не IBM, а с каким-то то-ли эмулятором, то-ли воткнутой платой цельного PC куда-то в аналог ДВК (и работало). На ней еще изучали этот MS-DOS помнится.
то-ли воткнутой платой цельного PC куда-то в аналог ДВК (и работало)
На ДВК сомнительно, аппаратных эмуляторов МС 1686 сделали 10 штук.
На Э85 с МС1702 - верю.
Но человеческая память штука ОЧЕНЬ ненадёжная. Так за ДВК по прошествии лет можно принять ЕС1841, Искру-1030, Нейрон-И9.66 и т.д. PC-совместимые машины с корзиной.
BlaireCas
17.06.2023, 13:32
На Э85 с МС1702 - верю.
А вот очень возможно. Память и правда ненадежна. Выглядит похоже, к тому-же я изначально с Воронежа, а они там и делались эти электроники.
Не, ДВК было немного другим, там было три кнопки сбоку типа "таймер" чего-то еще :) Но просто на вид похоже в то время было всё что имело отдельную клавиатуру и подобие плоского (не вертикального) системного блока и монитор сверху еще.
Это начало 90-х
Сейчас уже точно не вспомнить, когда я обнаружил, что дискеты MY/MZ можно читать на PC - это могло быть и когда у меня УК-НЦ появился и когда Квант-4С - примерно середина 90-ых. Даже программу написал для PC (на Modula-2 :) ) - чтобы создавать/писать образ с/на дискету. Активно этим пользовался, когда перетаскивал RSX-11M-Plus на Квант - даже другой софт с СМ-1420 начал перетаскивать на Квант и на дискеты. Жаль, не закончил - много чего ещё просто интересного так и сгинуло..
- - - Добавлено - - -
Но просто на вид похоже в то время было всё что имело отдельную клавиатуру и подобие плоского (не вертикального) системного блока и монитор сверху еще.
Квант-4С тоже плоский, хотя он уже и длиннее, чем Э85. Но и на нём - 3 кнопки рядом с выключателем и, вроде, он не с начала 90-ых выпускался, а где-то в середины (но это только предположение)
он не с начала 90-ых выпускался, а где-то в середины (но это только предположение)
Не верю. В середине 90х он уж точно был никому не нужен. На Кванте тогда уже линии по сборке IBM PS/2 смонтировали.
https://pic.maxiol.com/thumbs2/1686998815.1401653652.dscn6430.jpg (https://pic.maxiol.com/?v=1686998815.1401653652.dscn6430.jpg&dp=2)
- - - Добавлено - - -
Выглядит похоже, к тому-же я изначально с Воронежа, а они там и делались эти электроники.
А где видели, если не секрет?
BlaireCas
17.06.2023, 14:23
А где видели, если не секрет?
Была некоторая лаборатория рядом со школой, кажется от политехнического института. И там была кучка УКНЦ, ДВК и прочего советского. Находилось оно на улице лизюкова 81. Сейчас там лицей.
Там были даже древние веселые магнитные диски (винчестеры) которые размером с тумбочку и из этих дисков (из их блинов) потом еще антенны делали для ТВ.
(мы конечно в оффтоп ушли давно, но почему-бы и нет, тут получается тема чтобы поболтать просто)
Не верю. В середине 90х он уж точно был никому не нужен.
Посмотрел по датам. Память меня сильно подвела :) Бросил я им заниматься (судя по датам файлов с него) где-то в сентябре 96-ого года, вот появился он у меня в районе 90-91 - опять же, судя по датам файлов. Попробую найти от него шильдик.
Покупал я его с рук (у парня в комнате было четыре коробки с Квантами, взяли мы у него тогда два из них, но один я взял почти полностью, а второй мы слегка со знакомым раздербанили - он забрал один монитор, один принтер и все флоповоды (с первого тоже - у меня был сдвоенный блок, который я взял одновременно с УК-НЦ), а я - всё остальное
- - - Добавлено - - -
Нашёл :) Гы, занимательно, на нем написано МС 0507.03 (и МС1201.04 с мегабайтом!), выпуск 05.91, номер 00738, завод Квант :)
- - - Добавлено - - -
Получается, купил я его летом 91-ого, скорей во второй половине лета :) И уже к зиме на нём была RSX :) Быстро я её перенёc :) Хорошо что не знал, что не будет она на нём работать ;)
Была некоторая лаборатория рядом со школой, кажется от политехнического института. И там была кучка УКНЦ, ДВК и прочего советского. Находилось оно на улице лизюкова 81. Сейчас там лицей.
Я так и знал! :) :) :)
Я в этом лицее учился. Гораздо позднее, но остатки собрать таки успел.
В т.ч. да, именно оттуда есть MS DOS дискеты с программой RT-11.EXE.
Мир тесен )
А что на УКНЦ идет ХМ или хотя бы FB? Cомнительно. И, повторю, УКНЦ - учебный компьютер, оттого, что ЦП несколько лишних микросекунд потратит на обработку очередного запроса от устройств вв никому ни тепло, ни холодно.
Тут уже много написали и ответили. Да, FB-монитору не требуется MMU и он спокойно запускается. Запускал и на реале, всё прекрасно работает. А теперь по поводу учебного компьютера. Хоть он и позиционировался как учебный, но спасибо разработчикам, они заложили в него дополнительный потенциал. Потому он классом повыше. Архитектура магистрали ЦП полностью соответствует PDP-11 без MMU, в частности LSI-11. Так что почти никаких проблем со штатной RT-11 не наблюдается.
Есть только две маленькие проблемки с SJ-монитором, который собран без поддержки таймера, т.е. не обрабатывает запросы .CMKT и .MRKT. У него не очень хорошо написана п/п обслуживания прерываний с клавиатуры, в том числе и выход из этой п/п.
Первая проблема связана с тем, что при использовании клавиш, на которые назначены последовательность кодов, например стрелки, возникает эффект обратного буфера. Там п/п разрешает прерывания перед обработкой прочитанного кода. А т.к. в УКНЦ скорость значительно выше, чем 9600, то п/п не успевает положить прочитанный код в буфер, возникает ещё одно прерывание. И укладка в буфер начинается с самого последнего кода, далее при возврате вызов прерванного ранее. В итоге символы ложатся в буфер в обратном порядке.
Вторая проблема связана с эмуляцией FIS. Программа эмуляции так написана, что разрешает прерывания в HALT-режиме во время эмуляции, если команда FIS была вызвана с разрешенными прерываниями. П/п завершения прерывания общая с п/п обслуживания EMT. И эта п/п смотрит код EMT. Ну а у нас в стеке адрес больший 160000, и в режиме USER возникает TRAP4. Также там смотрится наличие нуля в одном из регистров, но после. Такая же проблема была и на ДВК с платой МС1201.02. Решалась проблема просто: менялся код так, чтобы сначала проверялся регистр, а потом код EMT.
В SJ-мониторе с поддержкой таймера, SB- и FB-мониторах этих проблем нет.
MY и MZ - формат дискеты один и тот же (то есть записанное на одном - вполне читаемо (если головки не сбили) на другом). MY - под стандартную корзину, MZ - под слот УК-НЦ. И - MY более интеллектуальное (читай - законченное устройство) - драйвер работае на уровен чтения/записи секторов, а MZ - это как железячная заготовка - драйвер (или firmware на ПП) будет делать много черновой работы - не так много, как с MX, но прилично. В случае УК-НЦ драйвер получается легковесным (как и MY) - работает на уровене секторов, но черновую работу для него выполняет ПП. Кстати, на MY стоит свой аналог ПП (только ВМ1, а не ВМ2 - который всю черновую и делает
КМД ДВК и КМД УКНЦ со стороны ЦП по сути одно и то же. Заготавливается блок данных, передаётся контроллеру КМД ДВК или ПП на УКНЦ. Далее делается вся работа и в памяти ЦП оказывается результат. КМД УКНЦ значительно облегчённый, т.к. вся работа делается в ПЗУ, к тому же ПП имеет канал доступа к памяти ЦП. В ДВК такого нет, потому и контроллер там законченный - на борту процессор, прошивка и доступ к памяти ЦП через DMA.
А вот работа с 1801ВП1-128 лучше написана в ПЗУ УКНЦ, т.к. ПП обслуживает несколько устройств, то драйвер дисковода там работает по прерываниям от программируемого таймера и соответственно тупо не опрашивает всё время сам контроллер, как это сделано в прошивке КМД ДВК. Но в КМД ДВК простительно, т.к. процессор там обслуживает только контроллер дисковода.
КМД ДВК и КМД УКНЦ со стороны ЦП по сути одно и то же.
Ну, насколько я себе представляю (могу ошибаться) УК-НЦ-шный вариант ещё адрес только 16-ти битный использует. А так в целом (возможно, ещё какие-то нюансы - не вспоминается, давно я с ними возился) - практически одно и тоже. Ну и ещё интересный фокус с КМД УК-НЦ - за счёт возможности загрузить программу в ОЗУ ПП - можно не только сделать свой вариант контроллера, но и работать на более низком уровне с дискетой. Скажем - со сбойном можно попробовать что-то вытянуть в отличии от КМД ДВК, где - ну не смогла я, не смогла :) Хотя, возможно на КМД ДВК (опять уже не помню) есть вариант - прочитать дорожку целиком и (опять же возможно) за счёт этого вытянуть что-то. Ну а на КМД УК-НЦ это (если и нет) - реализуемо. Надо пошерстить исходники - чего-то такое я делал для УК-НЦ :)
А вот работа с 1801ВП1-128 лучше написана в ПЗУ УКНЦ
Не то чтобы лучше - просто с учётом специфики в КМД ДВК не стали заморачиваться на работу по прерываниям.
Не то чтобы лучше - просто с учётом специфики в КМД ДВК не стали заморачиваться на работу по прерываниям.
А прерываний в 1801ВП1-128 и нету. В УКНЦ используется программируемый таймер. Запустили мотор, запрограммировали его на полсекунды для разгона мотора, передали управление ПП. Мотор разогнался, таймер дал прерывание, продолжаем дальше, ищем нужную дорожку, так же таймер программируем на время шага дорожки. Ну а самый писк - поймали заголовок сектора, прочли, бах, а там не тот номер. В итоге таймер программируется на время прохождения головки над сектором и прерывание будет уже в начале следующего сектора. А что делать, ПП обслуживает всю периферию, нельзя его подвешивать.
- - - Добавлено - - -
Ну, насколько я себе представляю (могу ошибаться) УК-НЦ-шный вариант ещё адрес только 16-ти битный использует. А так в целом (возможно, ещё какие-то нюансы - не вспоминается, давно я с ними возился) - практически одно и тоже. Ну и ещё интересный фокус с КМД УК-НЦ - за счёт возможности загрузить программу в ОЗУ ПП - можно не только сделать свой вариант контроллера, но и работать на более низком уровне с дискетой. Скажем - со сбойном можно попробовать что-то вытянуть в отличии от КМД ДВК, где - ну не смогла я, не смогла Хотя, возможно на КМД ДВК (опять уже не помню) есть вариант - прочитать дорожку целиком и (опять же возможно) за счёт этого вытянуть что-то. Ну а на КМД УК-НЦ это (если и нет) - реализуемо. Надо пошерстить исходники - чего-то такое я делал для УК-НЦ
Сам контроллер КМД УКНЦ не имеет доступа по DMA, этим занимается уже прошивка в ПЗУ через регистры адреса/данных. Потому тут некорректно говорить о 16-битном доступе по адресу. Т.к. этим занимается прошивка в ПЗУ УКНЦ, а в УКНЦ естественно шина адреса 16-битная, то более и не надо.
В КМД ДВК в прошивка 092, неофициальной 093 и 255 есть возможность запустить программу пользователя в "окне". Я писал такие программы. В прошивке 091 такой возможности нет.
А прерываний в 1801ВП1-128 и нету
Это я знаю и я не про это. Технически, можно было прикрутить таймер и сделать работу по прерываниям (от него), но смысла особого нет
Сам контроллер КМД УКНЦ не имеет доступа по DMA, этим занимается уже прошивка в ПЗУ через регистры адреса/данных. Потому тут некорректно говорить о 16-битном доступе по адресу.
А эта пара - она как пишет в ОЗУ ЦП? Не использует цикл ПДП?
В КМД ДВК в прошивка 092, неофициальной 093 и 255 есть возможность запустить программу пользователя в "окне". Я писал такие программы. В прошивке 091 такой возможности нет.
До некоторого времени у меня были контроллеры только 091-ые, так что весь опыт - с ними
А эта пара - она как пишет в ОЗУ ЦП? Не использует цикл ПДП?
Только в ОЗУ ЦП, никакого DMA. Обмен идёт через видеоконтроллер, т.к. он имеет доступ ко всему ОЗУ.
- - - Добавлено - - -
До некоторого времени у меня были контроллеры только 091-ые, так что весь опыт - с ними
Можно попробовать неофициальную 093, она как раз для СОЗУ 1809РУ1.
Обмен идёт через видеоконтроллер, т.к. он имеет доступ ко всему ОЗУ.
Ну тогда при попытке замены на 1801ВМ3 будет ещё тяжелей - больше микрух нужно будет переделывать...
Можно попробовать неофициальную 093
Пока у меня самой микросхемы нет, так что пробовать на на чем. Ну и (теперь) есть контроллер на 255, только не понятно - насколько он рабочий - как руки дойдут - посмотрю - работает или нет
Ну тогда при попытке замены на 1801ВМ3 будет ещё тяжелей - больше микрух нужно будет переделывать...
Хотите 1801ВМ3 в УКНЦ запихать?
- - - Добавлено - - -
Ну тогда при попытке замены на 1801ВМ3 будет ещё тяжелей - больше микрух нужно будет переделывать...
Пока у меня самой микросхемы нет, так что пробовать на на чем. Ну и (теперь) есть контроллер на 255, только не понятно - насколько он рабочий - как руки дойдут - посмотрю - работает или нет
А самой 1801РЕ2 с неофициальной 093 нету. Официальная 093 это другое. Так что прошить в 1801РР1 или РЕ-мулятор.
Хотите 1801ВМ3 в УКНЦ запихать?
С одной стороны - нет (во всяком случае - в существующие варианты).
С другой стороны - бродит мысль всё таки сделать, как минимум, всю обвязку в FPGA (завершить, так сказать, начатое Titus-ом), но именно что бродит - если и возьмусь - то непредсказуемо - когда. Это мысль из семейства - собрать все компы, которые у меня когда-либо были (кроме PC) на новой (включа FPGA) элементной базе :) Ну и тогда - почему бы не вставить в "new УК-НЦ" 1801ВМ3 или что-то помощнее (J11) :)
FB монитор RT-11 прекрасно идёт на УКНЦ, даже с системными заданиями, подтверждаю :)
Можно насчёт RSX - задачу упростить, загрузить образ RSX специально написанной программой и специально сгенерённый. Но без драйверов не будет доступа к дискам :(
Но система будет в памяти и с ней кое-что можно сделать :)
Если кому-то очень надо было - драйвер MZ переделать из драйвера MY не так уж и сложно.
На УКНЦ даже UNIX стартанули....
Но так как смысла особого не видно, то на этом всё и остановилось.
Можно насчёт RSX - задачу упростить, загрузить образ RSX специально написанной программой
А ты думаешь - как я первоначально RSX на Квант-е грузил? И образ был не специально сгенерённый, а обычной.
У меня прикольнее было, я не дописал программу-драйвер, коя позволяла читать дискеты FAT-12 на ДВК с КМД(думаю, что и на MZ она вполне бы работала), примерно как магнитную ленту, устройство со специальной файловой структурой, кою обслуживает драйвер, при условии если файлы были записаны в корневом каталоге и имя соответствовало канонам RT-11 ... Размер, геометрия дискеты определялись и устанавливались в драйвере отдельной программой. Запись немного недопилил :(
Были и отдельные программы для чтения-записи файлов, но у меня всё прикидывалось родным устройством и читать спокойно могли родные программы RT-11 :) .
Смотрел как написаны были драйверы магнитной ленты и драйвер LD: , и уж на этой основе писал своё...
Ещё у меня есть подозрения, что возможно, существует файловый процессор для FAT под RSX.(не я один был такой умный)
возможно, существует файловый процессор для FAT под RSX
Ну, в случае RSX всё проще (штатный механизм для таких дел) и сложней - FCS и RMS больно сильно заточены под ODS-1 - придётся как-то это решать. Хотя в простейших случаях всё не так уж плохо (сложно) :)
Только в ОЗУ ЦП, никакого DMA. Обмен идёт через видеоконтроллер, т.к. он имеет доступ ко всему ОЗУ.
- - - Добавлено - - -
Можно попробовать неофициальную 093, она как раз для СОЗУ 1809РУ1.
Но для ЦП УКНЦ сее действо выглядит, так как будто работает DMA...
На первых КМД - глюки были при работе выше 64 К :(
Запускаешь XM c дискетки программу в расширенной памяти и приехали :(
Я тогда времени и нервов убил :(
Когда программа в нижней памяти - всё хорошо. :)
С DW: на XM всё и везде замечательно работало :)
- - - Добавлено - - -
Ну я полагаю, что файловый процессор, для случае файлов в корне диска и когда имя файла более-менее соответствует соглашению RSX-11, написать не так уж и сложно...
Можно и в подкаталог влезть , если не глубоко :)
На один уровень...
- - - Добавлено - - -
И вообще, мне сдаётся, что не только FAT, но и NTFS прикрутить можно, Но будут некие ограничения... :( Вопрос про память ... Там для работы с NTFS её много надо :(
Иначе будет ползать как сонная муха...
Но для ЦП УКНЦ сее действо выглядит, так как будто работает DMA...
DMA это запрос доступа к шине с использованием сигналов DMR/SACK/DMGO. Ничего подобного в УКНЦ нет. ПП осуществляет доступ к планам 1 и 2 через регистры 177010/177014. Таким образом доступны все 128 кБ. Контроллер ПП общается с видеоконтроллером сигналами RQ, CC0, CC1 и по шинам AC, DC.
- - - Добавлено - - -
На первых КМД - глюки были при работе выше 64 К
Запускаешь XM c дискетки программу в расширенной памяти и приехали
Я тогда времени и нервов убил
Ошибка в прошивке 091, там сохранялись только младшие 16 разрядов из 22-разрядного адреса, а шесть старших очищались.
Вот это место в прошивке 091:
; Обработка полученного кода функции
3060$: BIC #177740,R5 ; Оставить биты кода команды и GO
А это уже в прошивках 092 и 255:
; Обработка полученного кода функции
3112$: BICB #340,R5 ; Оставить биты кода команды и GO
Старшие биты адреса были в старшем байте. Потому, если адрес блока выше 64К, то облом.
Какая разница, способов организовать доступ к памяти много, с использованием сигналов DMR/SACK/DMGO - это всего лишь один из способов :)
Да и программно отследить доступ по сигналам DMR/SACK/DMGO, можно только по притормаживанию доступа к памяти и по изменению её содержимого...
То, что да, обычно используют по канонам DMR/SACK/DMGO... Но на УКНЦ зашли с другой стороны. Упростив конструкцию.
И ощущения у программиста ЦП - как будто идёт DMA. Константы в регистры закинул, в памяти массив данных появился(или прочитался из памяти) :)
Все эти тонкости начинают вылазить, только когда лезешь в ПП. Что ДМА типа фальшивый ;)
И ещё, на PDP-11 хорошо сделана работа с прерываниями... :) А вот с ДМА всё хардкорно :(
Какая разница, способов организовать доступ к памяти много, с использованием сигналов DMR/SACK/DMGO - это всего лишь один из способов
DMA - это именно DMR/SACK/DMGO, т.к. доступ идёт к шине, а значит не только к памяти, но и к странице ввода/вывода. Так что доступ к ОЗУ через РА/РД это никакое не DMA.
Вот в КМД ДВК там реально организован классический DMA.
Какая разница, способов организовать доступ к памяти много, с использованием сигналов DMR/SACK/DMGO - это всего лишь один из способов
Ну, строго говоря, во фразе некоторое количество ошибок, например - DMR/SACK/DMGO не используются для доступа к памяти даже при ПДП.
Доступ к памяти (да и вообще любой доступ к шине QBus/Unibus) - это сигналы SYNC/DATI/DATO/DATOB/RPLY (и их аналоги на Unibus)
А DMR/SACK/DMGO - это совсем про другое и только потому что они ОБЫЧНО предворяют ПДП - они получили такое название.
Шины QBus и Unibus - это шины с одним ведущим (master) и одним ведомым (slave) в каждый КОНКРЕТНЫЙ момент времени. А какой ведомый и как будет отвечать - определяет ведущий. Если на шине требуется наличие нескольких ведущих, в действие вступает арбитр шины - он назначает ведущего. И сигналы DMR/SACK/DMGO - это как раз общение с арбитром. Обычно (ОБЫЧНО!) в роли арбитра выступает процессор и обычно (ОБЫЧНО!) запрос на управление шиной - это запрос ПДП. Но обычно не означает, что оно всегда так. Никто не мешает сделать своего арбитра шины.
В случае с УК-НЦ, получается, что схема работает немного не так - доступ к памяти управляется через свою шину и со своим арбитром. И в такой схеме вполне возможно организовать и "одномоментный" доступ - типа двухпортовой памяти. Так это или нет в УК-НЦ - надо смотреть реализацию доступа к памяти в видеоконтроллере - я не стал выяснять, для меня этот вопрос на текущий момент не актуален.
И вот по всему вышеописанному - я бы не стал называть доступ к памяти через регистры - ПДП
- - - Добавлено - - -
DMA - это именно DMR/SACK/DMGO
Та же ошибка, DMR/SACK/DMGO - это не ПДП, это запрос к арбитру шины. Что потом будет делать (новый) ведущий - это уже второй вопрос.
DMA - если перевести, прямой доступ к памяти. И всё...
А уж как организован - дело десятое :)
У процессора есть возможность работать через механизм DMR/SACK/DMGO...
Но вот пользоваться ей или придумать что ещё... Тут решает проектировщик в соответствии с задачей.
И УКНЦ в этом не одинока ...
Были, например, отладочные стенды. Я видел один раз издаля :( там можно было что угодно положить в память. Вот только как там было сделано :( ???
Были(более распространённые) эмуляторы ПЗУ, я такую плату даже в руках держал... Программа записывалась со второго компьютера.
т.к. доступ идёт к шине, а значит не только к памяти, но и к странице ввода/вывода.
Не буду утверждать на 100 процентов, но что-то такое мне попадалось про некоторые процессоры, что устройство не может попасть на страницу в/в, только в память. Но - это надо описание кучи процов - чего, где и конкретно что попалось мне тогда на глаза. Память царапает - чего-то такое было у PDP-11/70 с его Massbus. Плюс - по любому это будет экзотикой.
Ну и не всё, что доступно на странице в/в процесору - обязательно будет доступно устройству ПДП, например, часто PSW и регистры ДП не доступны по ПДП - например, F11/1811 J11/1831 (насколько мне не изменяет память) отличаются этим
- - - Добавлено - - -
DMA - если перевести, прямой доступ к памяти. И всё...
Если переводить дословно. Но для PDP-11 это ОДИН ИЗ ВАРИАНТОВ управления шиной
- - - Добавлено - - -
А уж как организован - дело десятое
В случае УК-НЦ и регистров доступ к памяти идёт МИНУЮ шину QBUS, так что нет, это не доступ ПДП на QBus
- - - Добавлено - - -
У процессора есть возможность работать через механизм DMR/SACK/DMGO...
Процессор вообще не работает через DMR/SACK/DMGO
Мы же говорим про прямой доступ к памяти...
Но не про использование QBus :)
ПП "обходит" шину ЦП. Но эффект почти такой же, как от классического DMA. Данные в памяти или из памяти :)
Мы же говорим про прямой доступ к памяти...
Но не про использование QBus
И в УК-НЦ не используется от слова совсем QBus? Святым духом всё передаётся? В ВМ2 ЗАЛОЖЕНА на уровне проца использование QBus, а значит - ВСЁ РАЗГОВОРЫ о доступе к шине подчиняются ПРАВИЛАМ QBus!
Вот родишь свой проц PDP-11 не для Unibus/QBus - тогда и поговорим
Но эффект почти такой же, как от классического DMA/
О, у нас уже есть понятия классичесого ПДП? Или разговор всё таки про УК-НЦ?
- - - Добавлено - - -
Короче. Размешивать кашу в твоей голове мне надоело. Почитай САМ книжки про PDP-11 и как работают её шины. Тогда, может, и вернёмся к разговору.
Доступ к видеопамяти ПП через что имеет? через регистры, кои работают в обход арбитража QBus...
А он есть такой... И даже сделала сама Dec :)
И даже он есть у дона Hunta :)
Т-11 однако :)
Ой, ещё один вспомнил :) Даже СССР :)
Уже ещё один вспомнил...
Т-11 однако
Причём здесь T11?
Т-11 может работать не с QBus, ему синхронизация пассивного устройства не нужна.
Ладно на FPGA ... Там уровни и токи другие, но логически это QBus, худо-бедно... Можно нормальную QBus вывести, если что через буффера... :)
Но без синхронизации пассивного устройства - это уже не QBus...
Не буду утверждать на 100 процентов, но что-то такое мне попадалось про некоторые процессоры, что устройство не может попасть на страницу в/в, только в память. Но - это надо описание кучи процов - чего, где и конкретно что попалось мне тогда на глаза. Память царапает - чего-то такое было у PDP-11/70 с его Massbus. Плюс - по любому это будет экзотикой.
Ну и не всё, что доступно на странице в/в процесору - обязательно будет доступно устройству ПДП, например, часто PSW и регистры ДП не доступны по ПДП - например, F11/1811 J11/1831 (насколько мне не изменяет память) отличаются этим
Не буду утверждать про другие процы, не знаю. Но с Mix делали опыты с КМД ДВК. На платах МС1201.* с процессорами 1801ВМ1 и 1801ВМ2 сигнал BS формируется логикой на материнской плате. Соответственно из "окна" КМД я имел доступ к странице ввода-вывода и выводил текст через регистры терминала. С 1801ВМ3 оказалось хуже, он сам формирует сигнал BS, соответственно когда он в отключке, то этот сигнал не формируется. В этом случае этот сигнал должен формировать сам КМД и по схеме такое есть и вроде такое есть по результатам реверса 1801ВП1-095/096. Но увы, с 1801ВМ3 не заработало.
Т-11 может работать не с QBus, ему синхронизация пассивного устройства не нужна.
На этот счёт ничего сказать не могу, у меня знания T-11 (точнее - его особенности работы с наружкой) поверхностные. Даже в PDP-11X этот вариант - не рабочий. Вот руки дойдут, тогда буду знать больше.
Вот только сейчас мы говорим о УК-НЦ - а в нём классический QBus со всеми компонентами, включая арбитра шины
- - - Добавлено - - -
С 1801ВМ3 оказалось хуже, он сам формирует сигнал BS, соответственно когда он в отключке, то этот сигнал не формируется. В этом случае этот сигнал должен формировать сам КМД и по схеме такое есть и вроде такое есть по результатам реверса 1801ВП1-095/096. Но увы, с 1801ВМ3 не заработало.
Если я не путаю (давно возился с MY последний раз) - там вообще много чего-то неправильного у MY в плане работы с сигналом BS, начиная с того, что плата не смотрит на него, а пытается декодировать ПОЛНЫЙ адрес с шины - и из-за этого она у меня не взлетела с 1831/J11 - эта парочка мало того, что выдаёт только 13-ти битный адрес + BS при обращении к странице в/в, так вроде что то ещё лепит своё (но вот это не точно - надо поднимать старые эксперименты) на A21-A13, и это что-то - не всё единицы. А когда я попробовал разобраться с декодированием адреса и наоборт - с выдачей адреса и BS в ПДП - то быстро запутался и плюнул на это дело.
Т-11 может работать не с QBus, ему синхронизация пассивного устройства не нужна.
Так там действительно нет прерывания TRAP4 или есть?
В исходниках RT-11 во вторичном загрузчике при проверке существования регистров есть макрос T11NOP, который при условии переменной PDT$OP=1 вставляет команду NOP, ну почти как в Союз-НЕОН с его виртуальными регистрами.
- - - Добавлено - - -
Если я не путаю (давно возился с MY последний раз) - там вообще много чего-то неправильного у MY в плане работы с сигналом BS, начиная с того, что плата не смотрит на него, а пытается декодировать ПОЛНЫЙ адрес с шины - и из-за этого она у меня не взлетела с 1831/J11 - эта парочка мало того, что выдаёт только 13-ти битный адрес + BS при обращении к странице в/в, так вроде что то ещё лепит своё (но вот это не точно - надо поднимать старые эксперименты) на A21-A13, и это что-то - не всё единицы. А когда я попробовал разобраться с декодированием адреса и наоборт - с выдачей адреса и BS в ПДП - то быстро запутался и плюнул на это дело.
А у него полное декодирование адреса и сделано потому что сигнал BS у него не входящий, а исходящий. Но как показала практика с 1801ВМ3 это особо не помогло. А так в новых прошивках даже есть п/п для вывода текста на терминал через "окно". Но эти п/п не используются.
Так там действительно нет прерывания TRAP4 или есть?
Trap4 - он несколько не однозначный, но если речь идёт о прерывании по тайм-ауту с шины - да, нету. На SBC-11 (ака Falcon) таймер, который это дело организует - внешний. Причём даже по сигналу от него происходит не классическое прерывание по 4-ому вектору, а что-то типа RESET (надо схему смотреть - детали не помню), когда проц уходит по определённому адресу (можно задать варианты), обычно в ПЗУ, а там уже код определяет, что типа тайм-аут - и иммитирует прерывание по 4-ому вектору. Но при этом пропускается следующее слово за инструкцией, которая вызвала тайм-аут - поэтому, например в RT-11, после такой инструкции обычно ставят NOP
- - - Добавлено - - -
А у него полное декодирование адреса и сделано потому что сигнал BS у него не входящий, а исходящий.
Аха, значит правильно помню. Но вот сигнал BS они точно сделали неправильно, так как он (для устройств ПДП) и входящий и исходящий. СЪЭкономить, что ли, решили..
У меня есть некоторое подозрение, что сигналы управления ПДП на УКНЦ просто никуда не выведены. Далее процессоров не идут... :(
Единственное место , где их можно посмотреть - на разъёме адаптера последовательного порта или сетевого адаптера(для ЦП и ПП). Но на ЦП ПДП не нужен...
Разъёмы расширения??? для ПП... Вроде на схеме есть сигналы обозначенные ТПД и ППД... Но вот работают ли...???
Кто-нибудь хоть одно устройство с ПДП для УКНЦ знает?
- - - Добавлено - - -
Из-за того, что многие регистры внутри процессора, по сему по BS не добраться...
А глядя на КМД - ощущение, что проектанты документацию читали по диагонали... :(
Или в КМД перепили плату, изначально бывшей стендом, при этом изрядно накосячив... оттуда стремление всё под контроль :)
место , где их можно посмотреть
Схема. И не гадать.
У меня есть некоторое подозрение, что сигналы управления ПДП на УКНЦ просто никуда не выведены. Далее процессоров не идут...
Единственное место , где их можно посмотреть - на разъёме адаптера последовательного порта или сетевого адаптера(для ЦП и ПП). Но на ЦП ПДП не нужен...
Разъёмы расширения??? для ПП... Вроде на схеме есть сигналы обозначенные ТПД и ППД... Но вот работают ли...???
Схему посмотрите. Выведены как на разъём ЦП, куда подключается сетевая карта, так и на разъёмы ВУ1 и ВУ2, это шина ПП.
- - - Добавлено - - -
Кто-нибудь хоть одно устройство с ПДП для УКНЦ знает?
Не попадалось, да и на форуме не проскакивало.
Не попадалось, да и на форуме не проскакивало.
Я так думаю что работающее по ПДП а) более специфично (навскидку только mass storage устройства приходят в голову) и б) сложней в реализации. Поэтому и нет. Я из новоделов пока только свои эмуляторы RK и RL знаю, но, поскольку не следил за этим - могу и просто не вспомнить из новодельного. Думал, что AZ сделают с ПДП, но.. сделали как сделали - не особо и интересно поэтому
мне, как и с макросом, пока это не нужно
Мне кажется, что вы просто не понимаете темы, а сразу "рветесь в бой". Никто у вас макроса не заказывал. Тема у нас весьма абстрактная, про то что даже профи из DEC такой макрос не осилили и поэтому переносить программы на машины, не поддерживающие XOR, нужно в ручном режиме.
про то что даже профи из DEC такой макрос не осилили и поэтому переносить программы на машины, не поддерживающие XOR, нужно в ручном режиме
Они много чего не осилили. Это не значит, что такой макрос написать нельзя.
Никто у вас макроса не заказывал.
Правда. А вот по постоянному вспоминанию некоторыми этого макроса логично (как эти же некоторые говорят) предположить другое. Что макрос очень нужен - но вот силёнок написать - не хватает сил.
BlaireCas
26.06.2023, 00:23
Ооо, новая тема? Тут-то хоть можно флудить? Например 6502 нам неподошел потому-что.. неподошел
(не то чтобы я был против 6502 - это очень зачетный и точно тактированный процессор, пусть и скажем-так он устарел)
Ооо, новая тема? Тут-то хоть можно флудить?
Но-но!!! Без фанатизма... ;-)
Никто у вас макроса не заказывал.
Завязывайте уже. Второй раз "выколупывать" результаты ваших "перестрелок пометом" из полезных сообщений я не буду - просто удалю тему, как источник флуда и флейма. Отношения выясняйте в ЛС (если получится).
Завязывайте уже. Второй раз "выколупывать" результаты ваших "перестрелок пометом" из полезных сообщений я не буду - просто удалю тему, как источник флуда и флейма. Отношения выясняйте в ЛС (если получится).
Может где-нибудть написать, какие темы здесь неприемлемы? Вроде лично никого не трогал, а реакции иногда какие-то как на боль. До сих пор ничего не понимаю. Был бы очень признателен тому, кто в личку написал и хотя бы намекнул, почему помет идет.
Если вопрос про 6502, то там, действительно, с ОС не очень пошло. Но оси от Аппл имеют некоторые преимущества над RT-11 и даже RSX-11, особенно по файловым системам. Мало знаю про SOS, а это было нечто очень достойное. Многопользовательских ОС на 6502 не знаю, хотя какой-то Юникс энтузиасты вроде пилили. Однако, многопользовательская ОС есть для 8080 (MP/M), поэтому реально было бы такое иметь и для 6502.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot