PDA

Просмотр полной версии : расскажите о PDP-11 и его софте



bigral
13.03.2012, 03:34
Привет всем,

не то чтобы долго и много читал про славный pdp-11, но просто открывая страницы этого раздела форума и википедии посвященные pdp-11 у непосвященного голова идет кругом! Сразу бросается в глаза 16-bit cpu с супер расширенной системой команд и профессиональным софтом. Потом понимаешь что этот "гигант" так и не смог перешагнуть 16bit address limit и погиб. Но все же оставил после себя просто кучу памятников (все это смахивает на некое подобие древне-египетской цивилизации).

Так вот хотелось бы услышать рассказ о PDP-11 и его софте из уст ГУРУ. Может ли кто в кратце изложить как развивалась эта платформа, какие были ветки развития, какой софт где появился куда портировался, что с чем совместимо, от чего есть исходники от чего нету, какие исходники и где можно запустить, можно ли построить самому "железный" PDP-11 какой софт на нем будет работать, где хранилище pdp-11 софта, что pdp-11 софт собой представляет.

UPDATE 29-sep-2014: вот тут книга 77-го года которая очертила как бы всю суть вопроса с высоты птичьего полета http://archive.computerhistory.org/resources/text/DEC/pdp-11/DEC.PDP-11.1977.102646131.pdf

BYTEMAN
13.03.2012, 03:39
Да, поддерживаю, а также интересно знать, чем же этот PDP-11 настолько супер-пупер, по сравнению с той же PC-архитектурой..

hobot
13.03.2012, 06:02
(все это смахивает на некое подобие древне-египетской цивилизации)
Остро! По заграничному )))


чем же этот PDP-11 настолько супер-пупер, по сравнению с той же PC-архитектурой..
ИМХО: такое сравнение не корректно в принципе, и уж в настоящее время тем более )))

form
13.03.2012, 09:36
Потом понимаешь что этот "гигант" так и не смог перешагнуть 16bit address limit и погиб

И в каком месте он не смог перешагнуть 16bit address если большинство моделей было с 22бит адресной шиной? А насчет погиб - официальный PDP-11 выпускался до 2003 года, а клоны выпускаются и сейчас, причем сильно подняли цены после 2003... Не так плохо для погибшей системы ;)

---------- Post added at 12:32 ---------- Previous post was at 12:31 ----------


можно ли построить самому "железный" PDP-11

Здесь (http://pdp-11.org.ru/~form/pdp11-83/) все написано :)

---------- Post added at 12:36 ---------- Previous post was at 12:32 ----------


Да, поддерживаю, а также интересно знать, чем же этот PDP-11 настолько супер-пупер, по сравнению с той же PC-архитектурой..

Здесь у каждого ощущения свои. Я помню свои сильные впечатления когда начал програмить на PC: операция память-память невозможна, регистры неравноправны итд :)

Ну и мелочи вроде таких, что в незащищенном RT-11 большая часть ошибок - просто падение программы, в DOS - почти гарантированное повисание системы :)

Titus
13.03.2012, 12:28
Здесь у каждого ощущения свои. Я помню свои сильные впечатления когда начал програмить на PC: операция память-память невозможна, регистры неравноправны итд :)

Ну и мелочи вроде таких, что в незащищенном RT-11 большая часть ошибок - просто падение программы, в DOS - почти гарантированное повисание системы :)
В сравнении с DOS и x86 вообще мало что может проиграть в удобстве)
Сравните с той же Amiga, где процессор очень похож, только еще более навороченный, не говоря уже о системе.

CodeMaster
13.03.2012, 13:03
чем же этот PDP-11 настолько супер-пупер, по сравнению с той же PC-архитектурой..

Обычно говорят не об архитектуре вообще, а о преимуществе ортогональной системы команд используемой в DECовских процессорах (а затем и в Мотороловских). Что особо актуально при программировании на асме, с развитием компиляторов ЯВУ это теряло актуальность. Хотя если говорить и об архитектуре, то в х86 даёт о себе знать обратная совместимость и это "костыли к подпоркам"


И в каком месте он не смог перешагнуть 16bit address если большинство моделей было с 22бит адресной шиной?

Он не пошёл в массы (т.к. его туда никто особо и не продвигал) и "персональные" версии лимит в 16 бит перешагнуть не смогли.


такое сравнение не корректно в принципе, и уж в настоящее время тем более

От времени это не зависит, ПЦ это "персональные" компы, они (х86 архитектура) зашли с тыла и по большей части вытеснили всё остальное со специализированных сегментов.

form
13.03.2012, 13:06
"персональные" версии лимит в 16 бит перешагнуть не смогли.

Это верно для советов, но не для DEC :)
У DEC как раз персональные были только 22бит.
Только DEC сделал все, чтобы эти персоналки остались не более чем придаток к большим машинам :)

CodeMaster
13.03.2012, 13:09
Это верно для советов, но не для DEC
У DEC как раз персональные были только 22бит.
Только DEC сделал все, чтобы эти персоналки остались не более чем придаток к большим машинам

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

form
13.03.2012, 13:16
Ну, это уже ньансы. Тут можно цены вспомнить, лицензионную политику (ПЦ поднялись только потому что IBM на них сразу болт положила), а то глядишь у всех сейчас на столах Амиги стояли ;-)))

Ну стратегию DEC легко проследить по мелочам на примере того же Professional. Когда в P/OS 3.0 стали переносить полезные фичи из одноименной версии RSX-11M-PLUS/McroRSX, старательно избежали переноса наиболее полезных фич которые бы позволили таскать серьезный софт с "болших" систем. В исходниках M-PLUS видно, что готовилась ProMicro/RSX, но видимо по той же причине так и не вышла. Ну а вершиной веселости наверное является случай с многопроцессорными PDP-11/74 которые так и остались единичными экземплярами, розданными для тестирования - оказалось, что CIS на них был реализован так, что уделывал свежие супербыстрые VAX-11/780 - пришлось это дело прикрыть :)

---------- Post added at 16:16 ---------- Previous post was at 16:13 ----------

Но, что примечательно, многопроцессорность при этом осталась хорошо документированной, а поддержка ее так и не была выброшена и как ни странно, работает даже в Mentecовском уже M+ 4.6 :)

vinxru
13.03.2012, 13:35
PDP-11 погибла, так как фирма DEC решила её умышленно похоронить, что бы пропихнуть свою новую архитектуру. Но PDP-11 прожила еще 10 лет, после урезания финансирования.

С моей точки зрения, как программиста, PDP-11 - это язык высокого уровня. Каждая команда PDP-11 выполняет множество действий, множество раз может обращаться к памяти, изменить значение нескольких регистров.

Например команда
ADD @(R0)-, @+(R2)

аналогична командам 8086
MOV ACC, (R0)
MOV ACC, (ACC)
SUB R0, 2
ADD R2, 2
MOV ACC2, (R2)
MOV (ACC2), ACC

Где ACC - это регистры недоступные программисту.

А на процессоре 8080 код будет еще в 3 раза больше.

Технически это выглядит так: Процессор PDP-11 выполняет программу на собственном языке (не PDP-11), которая зашита в процессор. Это микрокод. Эта программа читает команду PDP-11 из памяти и на каждую команду PDP-11 выполняет десяток собственных команд. Как будто запущен эмулятор. Например, ПЗУ с микрокодом в процессорах 1801ВМ занимает половину кристалла.

Кристалл процессора 1801ВМ1. Справа ПЗУ (или ПЛМ) с микрокодом.
http://pics.livejournal.com/kt315b/pic/0000632e/s320x240

А всё это нам дает язык программирования заточенный под человека! И это всем нравилось.


операция память-память невозможна

Даже память-память-память-память :)

Такую операцию невозможно выполнить за один такт, поэтому не очень она и нужна в нормальных процессорах.

form
13.03.2012, 13:40
PDP-11 погибла, так как фирма DEC решила её умышленно похоронить, что бы пропихнуть свою новую архитектуру. Но PDP-11 прожила еще 10 лет, после урезания финансирования.

Официальный PDP-11 прожил до 2003 года как уже было сказано, но это уже был не DEC - оно было продано до того как DEC сам продался.



С моей точки зрения, как программиста, PDP-11 - это язык высокого


У меня есть живой пример - портирование программы из BSD (на C) с переводом ее на MACRO-11 и добавкой функционала которого до этого не было. Результат короче по количеству строк :)


Такую операцию невозможно выполнить за один такт, поэтому не очень она и нужна в нормальных процессорах.

Зато такая операция занимает меньше места чем поделенная на пару операций, а главное не несет дополнительных затрат на кодирование методов адресации :)
Но суть не в этом, а в том, что когда ты уже привык, что возможно вообще все, а на новой платформе натыкаешься на каждом шагу на ограничения...

vinxru
13.03.2012, 13:47
Потом понимаешь что этот "гигант" так и не смог перешагнуть 16bit address limit и погиб

x86 без напряга перешагнул в x386, а потом в x64. Это мог бы сделать и PDP-11, если бы DEC захотела.

P.S. Тока по пути заплутал и забрел в защищенный режим 286 процессора.

form
13.03.2012, 13:54
x86 без напряга перешагнул в x386, а потом в x64. Это мог бы сделать и PDP-11, если бы DEC захотела.

64битная архитектура у DEC была задолго до x86_64, но это не помешало им пролететь :)
Хотя для справделивости надо отметить, что HP пока еще поддерживает ее, но в каждой новой версии OpenVMS для Alpha, возможности урезаются :)

bigral
13.03.2012, 14:08
Я все же хотел бы услышать какой-нибудь более менее связный рассказ а не короткие коментарии, иначе тема быстро зафлудится и её скинут во флейм.

1. По поводу 64kB лимита, я не считаю что страничная организация памяти это выход, это скорее всего костыль, тот же open watcom поддерживает модель памяти HUGE в которой Вы легко сможете обьявить массив размером в 900Кб и работать с ним ничего не замечая на i8088, так было портированно немало софта под DOS НО! мы должны признать что это всего лишь способ для некоторых ситуаций и никaкой не путь эволюции. Без 386-го x86 архитектура давно была бы там где и все 8bit процессоры. Есть правда примеры как бешенная скорость 8bit процессора позволила ему стать эмулятором XT+VGA http://www.google.com/url?sa=t&rct=j&q=running%20windows%203.0&source=web&cd=5&ved=0CD4QtwIwBA&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D5RF 45uEaFlU&ei=HhpfT72COonY4QTMmL3TBw&usg=AFQjCNFoZRFqRl_p0xnOOmkFJSM5qaJi_A&cad=rja но мы ведь понимаем что расширение внутренних регистров до 32bit дало бы гораздо больше этому чипу.

2. По поводу железного PDP-11 ту ссылку я конечно же читал и смотрел на ebay - вывод старое железо если и доступно то место ему не дома а в музее так как это ЭТАЛОН! и потерять его будет не простительно, никто ведь не работает с оригиналами папирусов - для этого нужно использовать копии. Интересует именно современная реализация, тем более что запасы старых советских комплектующих еще есть, и на сколько я понимаю PDP-11 процессоры производятся в Беларуси\России (?) на крайняк что если расширить FPGA-BK0011?

3. Как я догадываюсь самой крутой системой является RSX? Есть ли исходники? В чем её отличие от древнего unix 6 или OS/9?

4. error handling - тут прозвучало что нестрашны сбои в exe, как это достигнуто?

form
13.03.2012, 14:15
Я все же хотел бы услышать какой-нибудь более менее связный рассказ

Для серьезного рассказа нужна серьезная книга, а не тема для форума.



3. Как я догадываюсь самой крутой системой является RSX? Есть ли исходники? В чем её отличие от древнего unix 6 или OS/9?

Понятие "самой крутой" системы растяжимое. Каждой системе есть свое применение, и во многих местах древний RT-11 окажется сильнее современных UNIXов... RSXов же несколько вариантов и они между собой опять таки разлиючатся очень сильно. Вкратце об этом можно прочитать на английской википедии, а подробное объяснение потащит за собой хвост других объяснений :)


4. error handling - тут прозвучало что нестрашны сбои в exe, как это достигнуто?

Не то, чтобы не страшны, но многие ловятся даже при незащищенном режиме. Просто сам процессор предусматривает отработку минимальных ошибок - таких как несуществующая команда процессора, несуществующий адрес памяти итд. На PC же в том режиме в котором работает DOS этого всего нету.
Это впрочем не означает, что в RT-11 программа вообще не сможет свалить систему :)
Хотя есть случай при котором это верно.

vinxru
13.03.2012, 14:51
на сколько я понимаю PDP-11 процессоры производятся в Беларуси\России

Если вы имеете ввиду процессоры 1801ВМ1-6, то их нельзя считать полноценными PDP-11. Так как PDP-11 отождествляется с западом, а это полностью советский процессор со своими тараканами.

Насколько я знаю, у почти всех PDP-11 процессор собирался на рассыпухе. Недавно на барахолке продавали советский клон DEC Pro-350 за скромные 37000 руб. То же на рассыпухе.

(Сказал на всякий случай.)

form
13.03.2012, 15:01
Насколько я знаю, у почти всех PDP-11 процессор собирался на рассыпухе.

Да нет, точно также сам процессор бывает в микросхеме. Другое дело, что модуль процессора обычно представляет собой целую плату, но она кроме собственно процессора много еще чего содержит. KDJ11-E к примеру по сути законченная система - можно голый модуль запустить в работу :)

У меня попроще конфигурация - нужно два модуля (http://pdp-11.org.ru/~form/files/pics/1183/1183-2.jpg) чтобы было что посомтреть :)

---------- Post added at 18:01 ---------- Previous post was at 18:00 ----------

А насчет рассыпухи - у нас тоже были свои Электроники 100-25 к примеру :)

CodeMaster
13.03.2012, 15:01
Насколько я знаю, у почти всех PDP-11 процессор собирался на рассыпухе. Недавно на барахолке продавали советский клон DEC Pro-350 за скромные 37000 руб. То же на рассыпухе.

Ну, если микросборку 1811ВМ1 считать рассыпухой, POWER 5 тоже тогда на рассыпухе собран :-/

Patron
13.03.2012, 15:20
Рекомендую прочитать весьма познавательное автобиографическое интервью основателя фирмы DEC Кена Олсена (http://americanhistory.si.edu/collections/comphist/olsen.html), записанное в 1988 г.

http://www.subnews.us/wp-content/uploads/2011/02/ken-olsen.jpg

Мне, в частности, запомнилась его мысль о том, что рывком в развитии электроники, начавшемся после Второй Мировой войны - американцы обязаны огромному числу военных кораблей, на которых сотни тысяч молодых парней в течении нескольких лет службы имели единственное развлечение - ковыряться в бесчисленных электронных устройствах, которыми напичканы военные суда.

alone
13.03.2012, 15:49
Никто не пробовал гонять Unix на PDP-11?

form
13.03.2012, 15:52
Никто не пробовал гонять Unix на PDP-11?

UNIXи для моего староваты, а 2BSD вполне себе работают.

---------- Post added at 18:52 ---------- Previous post was at 18:50 ----------

Ну и ULTRIX пашет - чего ему будет :)

bigral
14.03.2012, 01:27
Никто не пробовал гонять Unix на PDP-11?

Вакуленко выложил ДЕМОС вместе с эмулятором ДВК я пробовал загружать, некоторые файлы большего размера были чем я ожидал увидеть.

http://ramlamyammambam.livejournal.com/149983.html

По поводу "построить свой PDP-11": Странное дело, половина советской электронной\программной индустрии трудилось над копированием\совместимост� �ю с PDP-11 архитектурой и ничего из этого нельзя использовать?

что это? http://www.angstrem.ru/products/micro/LSI-11/
а это? http://www.angstrem.ru/products/micro/LSI2/
и это? http://transistor.by/products/especial/microcircuitry/Microprocessor/series588/?all=1

а еще есть КР581, К1804, КР1807, КН1811, КН1831, это все тоже было "по приколу" выпущенно и сейчас недоступно\неюзабельно?

hobot
14.03.2012, 02:32
По поводу "построить свой PDP-11": Странное дело, половина советской электронной\программной индустрии трудилось над копированием\совместимост� �ю с PDP-11 архитектурой и ничего из этого нельзя использовать?

что это? http://www.angstrem.ru/products/micro/LSI-11/
а это? http://www.angstrem.ru/products/micro/LSI2/
и это? http://transistor.by/products/especi...ries588/?all=1

а еще есть КР581, К1804, КР1807, КН1811, КН1831, это все тоже было "по приколу" выпущенно и сейчас недоступно\неюзабельно?

Юзабельно это наверное ))) И используется, тут была ссылка в соседней теме
на производство почти полноценных ДВК для управляющих производством систем, похоже делают выпускают до сих пор (В Питере и
в Белорусии , но цены???? Для себя такую собирать ???
Это не персональная ЭВМ ))) И что вы понимаете под словом "использовать" ? Все перечисленные процессоры и проч. это частный случай PDP11-совместимых процессоров со своими особенностями и уникальностью, разве нет?

Получаем сейчас (не рассматривая вариант родной PDP11 по рецепту forma) дешёвые (доступные) отечественные аналоги это либо
БК - вариации моделей, цены от 500р и до бесконечности
УКНЦ(школьно-промышленные МС0511) по деньгам примерно как БК
следующая ступенька наверное - ДВК - но это уже серьёзные рубли, да
и поддерживать дома такую машинку надо паяльником владеть сильно очень )))
Никакого спора нет, кому что ближе и по карману и опять же я со своей колокольни
сужу, мне знаком и ближе УКНЦ или БК скажем, родной ПДП стоит у forma, потому что ему это ближе и нужнее... а вот массового "мощного" и "доступного" ПДП-аналога - похоже нужно с нуля что-то делать (имеется в виду упрощать и удешевлять, миниатюризация и всё такое - а это снова деньги и не маленькие наверно).
Хорошо что есть у кого спросить, есть программы(софт) и сочувствующие, есть реально организаторы производства очень нужных(незаменимых) узлов(контроллеры) для существующих моделей.
Это уже совсем не худшая ситуация.
Резюме: отечественные аналоги ПИДИПИ-11 скорее живы чем не живы)))
Зарубежные исходя из вышеизложенного также наверное от изчезновения
далеки, но вот потребитель для них (этих систем) очень маленький % граждан, а из этого % не все готовы деньгами платить за крутые железки или новые разработки, хотя с миру по нитке не так и дорого бы вышло )))
Кратко писать не умею, извините.
:redface:


___________ что то с ходу не нашёл ссылки на производство, но
тут они все рядышком где-то ))) http://zx.pk.ru/showpost.php?p=467631&postcount=10

bigral
17.03.2012, 03:39
Ну немного почитав в МПСС про такой себе процессор "Дипломат-1" на 588-й серии и сделав вывод о том что железо сие маловероятно достижимо на данный момент, решил пойти vhdl+fpga путем и залил в свою AlteraDE1 вот это: http://pdp2011.sytse.net/wordpress/pdp-11/

получил такой ответ в терминале:



Hello, world [t44]: cpu 11/34
boot from rl:


пытался скачанный отсюда image unix7 :http://osvirtual.net/en/unix-v5-v6-and-v7-for-pdp-11/
преобразовать в формат по 256 байт в сектор и залить на sd-шку не бутится!

Короче мне нужен типа "курс молодого бойца" как мне залить систему на комп? Как я догадываюсь нельзя тут взять image от одной PDP-11 и запустить без переустановки системы на другой, так как конфигурация разная и надо производить инсталяцию с нуля да?

hobot
17.03.2012, 05:04
Я бы добавил просьбу от себя ( в плане наработок для отечественных аналогов прошлого и настоящего).
Расскажите пожалуйста подробнее о таких системах как
РАФОС(Э-60,ДВК) и
ФОДОС 3.0(УКНЦ)

http://savepic.net/2568368.png

В частности интересно на базе какого дистрибутива RT-11 они собирались, там похоже частично русифицированное ядро.
(дискета с загрузчиком ФОДОС3.0 из архива Arseny (поставлялась в школы вместе с УКНЦ), там уроки по Химии вроде ! (http://pdp-11.org.ru/~hobot_lmb/ukdwk_archive/ukncbtlwebcomplekt/ARS/NSK/NSK025.DSK))

bigral
19.03.2012, 01:18
Хм, видать просто так не расскажешь про PDP-11 и его софт раз так мало желающих это сделать :)

Ну что ж будем читать по немногу доки.

К стати интересный вопрос - вот в УК-НЦ есть 2 шины МПИ и типа как 2 компа в одном, интересно можно ли на этом простроить мультипроцессорный PDP-11 чтоб он был совместим с DEC железом подобным этому http://opencores.org/project,w11,roadmap#Fig_R-2 (PDP-11/70MP)? И вообще если есть например 2шт Э-60 можно ли прикрутить к ним мез-шинный адаптер и запустить RSX для мульти-процессорной системы?

form
19.03.2012, 10:35
можно ли на этом простроить мультипроцессорный PDP-11 чтоб он был совместим с DEC железом

Мультипроцессорный PDP-11 - стандартная вещь, но с тем как оно сделано в УКНЦ ничего общего не имеет. А построить многопроцессорную конфигурацию в принципе можно, только недостающее железо придется самому собирать - вряд-ли удастся найти живой 11/74 - это большая редкость и если у кого есть - не отдадут :)

vinxru
19.03.2012, 10:40
Процессоры 1801ВМ умеют работать в многопроцессорных системах.

form
19.03.2012, 10:42
Процессоры 1801ВМ умеют работать в многопроцессорных системах.

Это нестандарт.

Patron
19.03.2012, 11:24
Это нестандарт.В смысле - люди знают, что можно подключить к одной шине 2, 3 или даже 4 процессора ВМ1, но никто не знает ни одной программы (и тем более операционной системы), которая бы работала в такой конфигурации.

form
19.03.2012, 11:42
В смысле - люди знают, что можно подключить к одной шине 2, 3 или даже 4 процессора ВМ1, но никто не знает ни одной программы (и тем более операционной системы), которая бы работала в такой конфигурации.

В PDP-11 многопроцесорная конфигурация как раз с раздельными шинами, причем UNIBUS. Каждый проц имеет свою шину, свой сетевой таймер и свой консольный DL11 177560/60. Остальные устройства разбрасываются по шинам как удобнее, а драйвер при этом дополнительно кроме регистра и вектора должен знать URM устройства.

При этом обязательно есть устройства, позволяющие подключаться с одного проца к чужой шине. Детально не копался, есть документация для внутреннего пользования по теме. Единственная операционка которая это все поддерживает - RSX-11M-PLUS и все, что касается многопроцессорности в системе было в официальной документации.

E11 поддерживает эмуляцию 11/74 в многопроцовом режиме хотя не без глюков.

Patron
19.03.2012, 12:16
В PDP-11 многопроцесорная конфигурация как раз с раздельными шинами, причем UNIBUS.А ОЗУ у них общее, подключенное ко всем шинам одновременно ?

form
19.03.2012, 12:23
А ОЗУ у них общее, подключенное ко всем шинам одновременно ?

Вроде общее используется.
В документации E11 можно кратко почитать устройство, подробнее можно на bitsavers во всяких предварительных документациях.
Я никогда не изучал тему в виду отсутствия железа для экспериментов :)

Хотя ради интереса в E11 как-то сгенерил систему на пробу (http://pdp-11.org.ru/~form/files/sysgen40mp.html)...

bigral
19.03.2012, 23:58
Хотя ради интереса в E11 как-то сгенерил систему на пробу (http://pdp-11.org.ru/~form/files/sysgen40mp.html)...

Вопрос по "сгенерил" - что в этом RSX-11M-plus есть исходники всего что там работает и оно компилируется при установке?

Я тут смотрел на fpga железо и по ходу дела тот же http://opencores.org/project,w11 уже эмулит pdp-11/70 и есть планы сделать из него pdp-11/74. Так что возможно скоро все смогут на "fpga железе" запускать SMP pdp-11 систему у себя на столе. И иметь возможность изучить работу RSX-11M-plus.

form
20.03.2012, 00:05
Вопрос по "сгенерил" - что в этом RSX-11M-plus есть исходники всего что там работает и оно компилируется при установке?


Для самой системы и драйверов исходники есть. Также для многих системных программ которые работают со структурами данных системы есть исходники. Для основных утилит исходников нет - только библиотеки из которых их собирают, но оно не особо и нужно.

При установке (разворачивании дистрибутива к примеру) ничего не компилируется. Генерация - процесс сборки системы под свои нужды - тут уже и компилится и собирается. Вся документация есть по крайней мере на RSX-11M-PLUS V4.0. Этого вполне достаточно - остальное можно найти в release notes и хелпе от поздних систем.

bigral
20.03.2012, 04:01
Судя по всему этот RSX-11M-PLUS V4.0. и дал максимум того что можно выжать из pdp-11 железа.

Но странное дело, вот чего пишут аксакалы:


Осенью 1983 года на СМ-1425 с мультиплексором СМ-8514 заработало 14! фрязинских дисплеев - это была победа. RSX выглядел грустно. Позже А.Ларин установил ПОШ - переключатель общей шины - и мы соединили две машины. Работало две СМ-14, и к ним было подключено 24 дисплея. Можно было всем одновременно работать без ограничений, и это при памяти 256K и 5-тимегабайтных дисках. Уверен - сегодня можно сделать то же самое раз этак в 1000 дороже!

Взято отсюдова: http://www.rocket.kharkov.ua/demosl.htm

тут я че-то не понял, что unix v7 и\или bsd2 cмогли работать на мульти процессорной машине собранной из двух СМ-1425 (PDP 11/73)? а RSX этого не мог?

form
20.03.2012, 06:09
Судя по всему этот RSX-11M-PLUS V4.0. и дал максимум того что можно выжать из pdp-11 железа.

Но странное дело, вот чего пишут аксакалы:



Взято отсюдова: http://www.rocket.kharkov.ua/demosl.htm

тут я че-то не понял, что unix v7 и\или bsd2 cмогли работать на мульти процессорной машине собранной из двух СМ-1425 (PDP 11/73)? а RSX этого не мог?

Многопроцесорность планировалась в M-PLUS изначально.
А процитированное прочитай внимательнее - там про многопроцессорность ничего не говорится.

---------- Post added at 09:09 ---------- Previous post was at 09:02 ----------

Кстати по написанию "RSX" вообще непонятно о чем речь идет. Может они там RSX-11M гоняли :)

tki
20.03.2012, 15:03
Я обслуживал см-1420 и ДВК около 10 лет и могу назвать одно принципиальное отличие PDP и софта для него от того, что мы увидели на Intel. Разница примерно такая же, как между дорогим фарфором (DEC) и одноразовой посудой (WINTEL). Прежде всего софт был более экономичный и надежный. Производительность СМ1420 для математических задач была выше чем у 286, на 12 Мгц. Хотя тактовая у процессора СМ-ы была ниже. Cистемы PDP реализовывали надежную многозадачку, в то время, когда МС имел только кривой псевдомногозадачный виндовс и резидентные программы под ДОС. Языки программирования под PDP обладали несравненно более богатым функционалом, при том что ресурcы самих железяк были значительно скромнее ресурсов на Intel. Когда работал с PDP было ощущение, что работаешь с удобным, надежным и добротным инструментом.

CodeMaster
20.03.2012, 15:17
Производительность СМ1420 для математических задач была выше чем у 286, на 12 Мгц

Всё типа суперс, но СМ 1420 это шкаф, а 286 это ящик. Про то что DEC задушила свои персоналки уже обсуждали.


примерно такая же, как между дорогим фарфором (DEC) и одноразовой посудой (WINTEL).

Да, и эта разница называется цена. У Intel кроме PC был например AS/400, который почему-то мир не захватил. Кроме того у этих машин разные сергменты применения и сравнивать их не корректно.

tki
20.03.2012, 15:27
Кроме того у этих машин разные сергменты применения и сравнивать их не корректно.
Cегмент применения был один, и я как раз в нем работал. Кафедральный ВЦ при ВУЗ, а одна из задач была - перенос прикладного софта с устаревающего "шкафа" на новенькие 286-е. Портировали расчетные программы, написанные на Fortran, Pascal и задачи реального времени по управлению промышленными роботами, написанными на Modula-2. Так что приходилось в равной объеме сидеть и за ВТА-шками, и за ДВК-шками и за PC-ками. Советское DEC-подобное железо сливало по своей надежности PC. А вот софт был на голову выше. В итоге, чаще матерились на виснущих PC, из-за глюков софта, чем на сбоящем дековском железе. Речь идет за конец 80-х, начало 90-х годов. Тогда PC у нас в стране отнюдь не были "персональными". И стоили дороже ДВК и даже СМ.

CodeMaster
20.03.2012, 15:36
Cегмент применения был один, и я как раз в нем работал.

Если так, то я тоже на них работал и система САПР на СМ 1420 с его диджитайзером, работой всепую и 8 дюймовыми дисками была просто ппц. А на 286-м на кафедре был AutoCAD 10 и между зависаниями оного (хотя я лично их особо не помню, меня больше доставал глючный принтер Hyundai) я мог сделать гараздо больше чем на не виснущей СМ 1420.


Тогда PC у нас в стране отнюдь не были "персональными". И стоили дороже ДВК и даже СМ.

У нас их и не делали, а где делали, там они стоили адекватно и в итоге и у нас так же стали стоить и даже дешевле. Меня долго прикалывала борьба западных производителей за ПК дешевле $1000, я в 1996 себе купил новый первопень за $500.

vinxru
20.03.2012, 15:41
Х.м. а я 486DX-2 за 1000$ (с монитором)

tki
20.03.2012, 15:42
Если так, то я тоже на них работал и система САПР на СМ 1420 с его диджитайзером, работой всепую и 8 дюймовыми дисками была просто ппц
У нас была графическая станция на 286-ом процессоре для CМ-ы. а диски были DP и ДК. Их периодически приходилось чистить изопропиловым спиртом и переформатировать с лета на зиму, т.к. не было кондиционеров. :-) Ленточки приходилось иногда вымораживать в холодильнике, для того, чтобы вытащить с них информацию. Но все равно CМ-а больше нам, инженерам, нравилась, чем PC. Она была теплая и живая. :-) А на счет висняков железа - это очень сильно зависило от электронщика. У меня в лаборатории был талантливый спец и CМ-а всегда была в превосходном состоянии

CodeMaster
20.03.2012, 15:48
Но все равно CМ-а больше нам, инженерам, нравилась, чем PC.

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


Она была теплая и живая. :-)

Это да ;-)

tki
20.03.2012, 15:49
У нас их и не делали, а где делали, там они стоили адекватно и в итоге и у нас так же стали стоить и даже дешевле. Меня долго прикалывала борьба западных производителей за ПК дешевле $1000, я в 1996 себе купил новый первопень за $500.
Если мне не изменяет склероз, 286-я в 1989-ом году стоила по тем, советским, деньгам около 40 000! Это когда стипендия была у отличника всего 50 рублей. А процессорный блок СМ-2420, память и еще какой-то контроллер (уже не помню, то-ли дисковый, то ли - ленточный) правда немного Б/У, был мой "добыт" для лаборатории, по-моему, тыщи за 4 всего. Это не смотря на то, что ЦП и ОЗУ у СМ-ок было сосредоточением драгметаллов.

bigral
20.03.2012, 17:02
А процитированное прочитай внимательнее - там про многопроцессорность ничего не говорится. Кстати по написанию "RSX" вообще непонятно о чем речь идет. Может они там RSX-11M гоняли :)

А про что ж тут говориться? Как я понял они обьединили 2-а PDP-11 unibus-a на котором оказалось 2 CPU каждый со своими терминалами, памятью, I/O. На этом всем они пустили Демос который был сурогатом из исходников unix_7 и какого-то там VAX unix-a (v32?).

Про RSX-11М: исходники его как я понимаю на macro11? а им система нужна была портируемая, вот наверное и понравился им unix тем что там было все на С.

---------- Post added at 15:02 ---------- Previous post was at 14:49 ----------


Разница примерно такая же, как между дорогим фарфором (DEC) и одноразовой посудой (WINTEL).

Мда, судя по всему там где больше ресурса, эфективность его использования падает очень быстро.
В теории на том же 286 с его protected режимом можно было написать эквивалентный PDP-11 софт, учитывая что памяти в таких системах было 1Mb минимум, I/D разделение сделать легко сегментами, kernel/user режим есть (Оно и понятно между 286 и PDP-11/70 аж 10 лет разницы). Но этого никто не сделал, просто прикрутили LARGE/HUGE модели памяти и писали AutoCAD-ы под это дело (DOS), а все потому что для мощи самой прикладной программы нужна только память и скорость а надежность дело вторичное тем более для AutoCAD-a.

form
20.03.2012, 17:29
А про что ж тут говориться? Как я понял они обьединили 2-а PDP-11 unibus-a на котором оказалось 2 CPU каждый со своими терминалами, памятью, I/O. На этом всем они пустили Демос который был сурогатом из исходников unix_7 и какого-то там VAX unix-a (v32?).

Про RSX-11М: исходники его как я понимаю на macro11? а им система нужна была портируемая, вот наверное и понравился им unix тем что там было все на С.

Тут говорится о переключателе шин - когда одно устройство цепляется к двум машинам. Вещь с многопроцессорностью ничего общего не имеющая. У меня контроллер диска на 11/83 содержит в описании большую портянку на тему как подключать его к нескольким машинам одновременно.

Исходники всех RSX на MACRO-11. RSX-11M - это самый простой из полноценных - тот, что ничего не знает про многопроцессорность, может быть собран без большинства фич (включая управление памятью) и не поддерживает общих RO сегментов и подгружаемых общих библиотек. Если такую систему нагрузить большой толпой народа при количестве памяти близкой к 18бит (248, 256Kb) - будет большая драка за память и соответственно повышенная дисковая активность.

RSX-11M-PLUS не работает в 18битной конфигурации в принципе, 256Kb сответственно для него минимум и это очень мало. Вот здесь (http://zx.pk.ru/showpost.php?p=477372&postcount=246) можно посмотреть на картинке что творится в памяти такой системы. Соответственно такая конфигурация тоже мало пригодна для толпы народа.

Если же памяти будет 512kB - получится вполне рабочая конфигурация для толпы, в M+ при этом уже можно ощущать какую-то пользу и даже включить дисковый кэш.

У себя держу конфигурацию с 2Mb - этого хватает на все случаи жизни с огромным дисковым кэшем и сетью. Вставить второй мег памяти никогда не имел желания - будет трудно смотреть на состояние памяти :)

---------- Post added at 20:11 ---------- Previous post was at 20:06 ----------

Добавлю от себя, что описанная выше конфигурация (M+ на 256Kb) была вживую опробована на ДВК-4 с двух терминалов, загружено с флопа, "свап" файл (для понятности так его обзываю) на том же флопе и постоянно дергается, на одном терминале идет активная работа с файлами (жрущая память при том не слабо), а на втором терминале можно вводить команды и они не особо тормозят даже :)
Понятно, команды - не навороченные экранные текстовые редакторы :)

---------- Post added at 20:29 ---------- Previous post was at 20:11 ----------

Кстати где-то в этой теме кажется был вопрос про ULTRIX...
Вот здесь (http://zx.pk.ru/showpost.php?p=388233&postcount=54) лог тестового запуска :)

bigral
20.03.2012, 17:34
RSX-11M-PLUS не работает в 18битной конфигурации в принципе, 256Kb сответственно для него минимум и это очень мало. Вот здесь (http://zx.pk.ru/showpost.php?p=477372&postcount=246) можно посмотреть на картинке что творится в памяти такой системы. Соответственно такая конфигурация тоже мало пригодна для толпы народа.


Так все ж познается в сравнении, что unix_7 или Демос намного круче себя поведут с памятью в 256kb?

form
20.03.2012, 17:42
Так все ж познается в сравнении, что unix_7 или Демос намного круче себя поведут с памятью в 256kb?

Вопрос не имеет смысла. Сравнивать надо конкретные задачи.
Причем собственно можно не строить предположений, а взять и попробовать :)

С учетом того, что самая мощная программа в демосе - vi, а в v7 - ed... ;)

---------- Post added at 20:42 ---------- Previous post was at 20:38 ----------

вот тут (http://code.google.com/p/vak-opensource/downloads/list) есть эмулятор ДВК, достаточный для запуска ДЕМОСа и сам демос.

KokaF77
21.03.2012, 15:49
У меня контроллер диска на 11/83 содержит в описании большую портянку на тему как подключать его к нескольким машинам одновременно.
form, описанием не поделитесь? :) Очень интересует этот момент. А может есть ссылочка на такой же документ в сети? :)

form
21.03.2012, 15:52
form, описанием не поделитесь? :) Очень интересует этот момент. А может есть ссылочка на такой же документ в сети? :)

Здесь (http://pdp-11.org.ru/~form/pdp11-83/#docs) есть. Описание контроллера CQD-420. Правда здесь не тот случай который упоминался про СМ-1425 - здесь речь про общую SCSI шину для нескольких машин.

KokaF77
21.03.2012, 16:01
form, спасибо! Просто, я думал это что-то "не сказочное". :)

form
21.03.2012, 16:04
form, спасибо! Просто, я думал это что-то "не сказочное". :)

Чаще всего соединяли именно диски-ленты MASSBUS или SCSI. Как между машинами так и между разными контроллерами - когда одно устройство можно достать с разных сторон. Последнее и в современных системах можно встретить :)

bigral
21.03.2012, 17:45
Чаще всего соединяли именно диски-ленты MASSBUS или SCSI. Как между машинами так и между разными контроллерами - когда одно устройство можно достать с разных сторон. Последнее и в современных системах можно встретить :)

SCSI - это шина в которой ходят "пакеты" (по сути аналог сети как тот же IP или Ethernet) ясное дело что в такой "сервис ориентированной" системе легко можно навесить пачку серверов и клиентов. Как я понимаю Unibus и Q-bas совсем другие в этом плане и похожи скорее на ISA или ZXBUS по своей натуре, или я ошибаюсь?

Так вот в данном куске текста говорится о совместной работе двух PDP компов с 256kB ram и 24 терминалами под UNIX! При этом как-бы намекается что под RSX это было бы невозможно. Не думаю что RSX не смог бы использовать 1 подключенный накопитель сразу к двум PDP.

Так что судя по этому тексту у меня человека от PDP-11 далекого складывается такое впечатление что все же там было 2 CM-a c памятью по 128Kb каждый с общим Unibus. Скажите есть ли хоть какие-то шансы что оно так и было а не иначе?

form
21.03.2012, 17:56
Как я понимаю Unibus и Q-bas совсем другие в этом плане и похожи скорее на ISA или ZXBUS по своей натуре, или я ошибаюсь?

По применению сравнить можно, хотя сами шины достаточно разные.



Так вот в данном куске текста говорится о совместной работе двух PDP компов с 256kB ram и 24 терминалами под UNIX! При этом как-бы намекается что под RSX это было бы невозможно.

Уже про то как автор упоминает "RSX" ясно, что сам он в нем не разбирается и возможно даже не видел в глаза, а только повторяет чьи-то слова. Человек который действительно работал с RSX назвал бы точно какой именно RSX - от этого меняется все. Что касается работы всего с 24 терминалов, подобная конфигурация постоянно встречалась в институтах да еще и на 18битных машинах и RSX-11M вполне уверенно работал если не позволяли запускать очень мощные программы вроде DECовского EDT.



Не думаю что RSX не смог бы использовать 1 подключенный накопитель сразу к двум PDP.

Сам по себе нет также как и UNIX, DEMOS или даже 2.11BSD. Ни одна из этих систем сама по себе такую конфигурацию не поддерживает. Многопутевые связи поддерживает RSX-11M-PLUS (и никто более). А самодельную поддержку понятно можно сделать.



Так что судя по этому тексту у меня человека

Судя по тексту, это просто повторение чего-то с чужих слов.

В сущности - зачем вообще строить предположения когда можно просто взять и проверить?

bigral
21.03.2012, 18:12
В сущности - зачем вообще строить предположения когда можно просто взять и проверить?

До "проверить" пока еще "не дорос".

На данном этапе всего лишь хочу вникнуть в RSX как систему и ее возможности. Вот забутировал вчера на AlteraDE1 с прошивкой PDP-11/44 и RL0/RL1 тот install image RSX-11M V4.0.

Пока не ясно как его установить на RP или еще хоть куда нибудь.
Далее интересно будет посмотреть в исходники и сделать вывод применим ли этот подход на других системах с 16bit адресами (например ZX).

А уж потом уже! главная цель выяснить как работает 11/74 RSX-11M-plus SMP система с точки зрения софта и железа и возможно ли сделать что-то подобное если не с реальным советским железом типа УКНЦ то хотябы в FPGA.

form
21.03.2012, 18:23
Пока не ясно как его установить на RP или еще хоть куда нибудь.

Установка зависит от исходного носителя и от того на какой носитель ставить, но в целом сводится к разворачиванию дистрибутива и генерации системы для RSX-11M. Для M-PLUS можно ограничиться разворачиванием дистрибутива или прегенеренной системы.

RP - неоднозначно. От точного названия меняется тип контроллера и между собой не то, что не совметимы, а вообще все разное :)

Если назвать точный тип диска который нужен, я могу просто сделать образ с дистрибутивом.



А уж потом уже! главная цель выяснить как работает 11/74 RSX-11M-plus SMP система с точки зрения софта и железа и возможно ли сделать что-то подобное если не с реальным советским железом типа УКНЦ то хотябы в FPGA.

На УКНЦ ни о каком SMP даже речи не идет (равно впрочем как и об RSX-11M-PLUS - он не то, что на 16битах - он даже на 18 не работает) :)

Ну и дополнительно что касается многопроцессорности, следует сразу учитывать, что официально такая конфигурация не поддерживалась хотя и вошла во все доки по M-PLUS, а сами PDP-11/74 в серию не пошли. Чтобы сгенерировать многопроцессорный M-PLUS потребуется отредактировать один файлик в дистрибутиве, после чего он не забудет выругаться, что все дальнейшее unsupported, а кучу вопросов просто не будет задавать, считая, ответ очевидным :)
В любом случае эксперименты лучше ставить с M-PLUS 4.0 или около того (хотя в принципе удавалось и 4.6 запустить, а на mim.update.uu.se он даже в принципе такой).

xailar
22.03.2012, 00:39
form, вопрос от глупца
- можно ли установить M-PLUS на ДВК 4 с 1 м памяти и с 4 терминалами
- можно ли на присоединенную корзину с процессорм вм3 и 256 м памяти и еще что либо и собрать SMP систему

hobot
22.03.2012, 01:42
form, вопрос от глупца
- можно ли установить M-PLUS на ДВК 4 с 1 м памяти и с 4 терминалами
- можно ли на присоединенную корзину с процессорм вм3 и 256 м памяти и еще что либо и собрать SMP систему
ОФФТОП:
Это всё для шоу? ))) А флаеры будут )))?

xailar
22.03.2012, 02:32
hobot, ДЛЯ КОЛЛЕКЦИОНЕРОВ - все что хотите

form
22.03.2012, 06:35
form, вопрос от глупца
- можно ли установить M-PLUS на ДВК 4 с 1 м памяти и с 4 терминалами
- можно ли на присоединенную корзину с процессорм вм3 и 256 м памяти и еще что либо и собрать SMP систему

Для установки нужны или стандартные устройства (с точки зрения DEC) или нужно написать драйверы ДВКшного винчестера. Дискеты для такой системы не годятся, я их просто использовал как очень простые устройства с точки зрения драйвера для проверки запуска в принципе.

Что касается SMP - тут все просто - надо с нуля создавать железо которого почти никто никогда не видел.

bigral
22.03.2012, 15:41
RP - неоднозначно. От точного названия меняется тип контроллера и между собой не то, что не совметимы, а вообще все разное :) Если назвать точный тип диска который нужен, я могу просто сделать образ с дистрибутивом.

Тут задекларированна такая поддержка винтов:
If the RK or RL disks are too small, then there is the option to configure a RH70 (for 11/70) or RH11 controller with a single RP03, RP04, RM05, RP06, or RP07 disk. The disk data for the RM or RP disk is also stored on a SD card.

Я не очень в курсе какой из этих "RP03, RP04, RM05, RP06, RP07" наиболее "стандартный" вариант шоли.



На УКНЦ ни о каком SMP даже речи не идет (равно впрочем как и об RSX-11M-PLUS - он не то, что на 16битах - он даже на 18 не работает) :)


Можно детальнее обьяснить почему? Как я понимаю процессор требует какой-то фичи которую трудно\невозможно прикрутить снаружи его?

И почему это RSX-11M-PLUS требует 22bit? В чем существенная разница между 16bit/18bit/22bit PDP процами? Может возможно MMU прикрутить снаружи процессора?

form
23.03.2012, 04:31
RH11 controller with a single RP03

:))))))))))))))))))))))))))))))))))))))))))))))))) ))))


И почему это RSX-11M-PLUS требует 22bit? В чем существенная разница между 16bit/18bit/22bit PDP процами? Может возможно MMU прикрутить снаружи процессора?

Быть может разница именно в написанном? ;)
MMU прикрутить снаружи полноценно нереально. Почему - уже говорилось в этой или в соседней теме вчера.

bigral
23.03.2012, 05:23
:))))))))))))))))))))))))))))))))))))))))))))))))) ))))

че так весело? расскажи и я посмеюсь


Быть может разница именно в написанном? ;)
MMU прикрутить снаружи полноценно нереально. Почему - уже говорилось в этой или в соседней теме вчера.

Ну интересуют именно детали, откуда эти дополнительные биты берутся, где они? (ну не знаю там внутри проца они или снаружи регистр задает эти дополнительные адреса и т.д.)

Наверно я чето пропустил, расскажи для тех кто в танке. Почему не реально прикрутить снаружи 22bit MMU?

xailar
25.03.2012, 00:27
form, неужели кроме как с винта на ДВК 4 ( проц вм3 и 1 м памяти) нельзя установить RSX- M , а если с ленты или посредством дискет

bigral
25.04.2012, 19:49
К стати, а где можно взять дистрибутив RSX-11M-PLUS v4.6 ?

update: сам нашел тут: ftp://ftp.trailing-edge.com/pub/rsxdists/

bigral
15.05.2012, 23:53
Тем кто очень хочет НО не знает с чего начать знакомство с PDP-11 и его софтом советую начинать с вот этого документа для полных ламеров: http://www.bitsavers.org/pdf/dec/pdp11/rsx11/RSX11Mplus_V4.x/1/AA-FD03B-TC_Introduction_to_RSX-11M_PLUS_Sep87.pdf

на всякий случай пару команд:


>login
Account or name: user
Password: user
или
Account or name: system
Password: system

>help

bigral
27.12.2012, 04:43
Спустя десятилетия bsd 2.11 снова в сети!!! И не с софт-эмулятора, а с реального железа, подробности тут - http://pdp2011.sytse.net/wordpress/

а сам сервак тут - http://pdp11.sytse.net/

form
29.12.2012, 03:25
bsd 2.11 снова в сети!!!

Вот только такой системы нету ;)
Есть 2.11BSD :)

Весьма похожа на современные BSD системы.
На моем 11/83 не грузится родным загрузчиком без патча #411 чтоли (с SCSI).

Patron
31.12.2012, 14:15
При аппаратной загрузке любого устройства PDP-11 - в память читается 1-й сектор 0-й дорожки, в R0 записывается номер привода и управление передаётся на адрес 0.

Поэтому, размер начального загрузчика ограничен 512 байтами. А так как некоторые адреса используются для векторов прерываний и не могут быть заняты - для первичного драйвера ( т.е. полноценной подпрограммы чтения носителя, вызываемой из основного кода начального загрузчика с параметрами R0 = Block, R1 = WordCount, R2 = BufAddr ) остаётся заметно меньше 512 байтов.

Задача ещё больше усложняется, когда размер сектора устройства меньше 512 байтов - тогда помимо первичного драйвера в первых словах начального загрузчика приходится иметь подпрограмму "дочитывания начального загрузчика", загружающую начальный загрузчик и первичный драйвер.

Один из наиболее сложных случаев - драйвер DX, вынужденный раскручиваться со 128 байтов, находящихся в 1-м секторе:



.DRBOT DX,BOOT1,READ

. = DXBOOT+14
.WORD READS-DXBOOT
.WORD 340
.WORD WAIT-DXBOOT
.WORD 340

. = DXBOOT+34 ;34-52 USEABLE
BOOT1: MOVB UNITRD-DXBOOT(R0),RDCMD ;SET READ FUNCTION FOR CORRECT UNIT
REETRY: MOV @PC,SP ;INIT SP WITH NEXT INSTRUCTION
MOV #200,R2 ;AREA TO READ IN NEXT PART OF BOOT
CLR R0 ;SET TRACK NUMBER
BR B2$ ;OUT OF ROOM HERE, GO TO CONTINUATION

. = DXBOOT+56
UNITRD: .BYTE CSGO+CSRD ;READ FROM UNIT 0, SETS WEIRD BUT OK PS
.BYTE CSGO+CSRD+CSUNIT ;READ FROM UNIT 1

. = DXBOOT+70 ;PAPER TAPE VECTORS
WAIT: TST @R4 ;IS TR, ERR, DONE UP? INT ENB CAN'T BE
BEQ WAIT ;LOOP TILL SOMETHING
BMI REETRY ;START AGAIN IF ERROR
RTIRET: RTI ;RETURN

. = DXBOOT+120
READS: MOV (PC)+,R4 ;R4 -> RX STATUS REGISTER
BOTCSR: .WORD DX$CSR
MOV R4,R5 ;R5 WILL POINT TO RX DATA BUFFER
MOV (PC)+,(R5)+ ;INITIATE READ FUNCTION
RDCMD: .WORD 0 ;GETS FILLED WITH READ COMMAND
IOT ;CALL WAIT SUBROUTINE
MOV R3,@R5 ;LOAD SECTOR NUMBER INTO RXDB
IOT ;CALL WAIT SUBROUTINE
MOV R0,@R5 ;LOAD TRACK NUMBER INTO RXDB
IOT ;CALL WAIT SUBROUTINE
MOV #CSGO+CSEBUF,@R4 ;LOAD EMPTY BUFFER FUNCTION INTO RXCS
BROFFS = READF-. ;USE FOR COMPUTING BR OFFSET
RDX: IOT ;CALL WAIT SUBROUTINE
TSTB @R4 ;IS TRANSFER READY UP?
BPL RTIRET ;BRANCH IF NOT, SECTOR MUST BE LOADED
MOVB @R5,(R2)+ ;MOVE DATA BYTE TO MEMORY
DEC R1 ;CHECK BYTE COUNT
BGT RDX ;LOOP AS LONG AS WORD COUNT NOT UP
CLR R2 ;KLUDGE TO SLUFF BUFFER IF SHORT WD CNT
BR RDX ;LOOP

B2$: MOV SP,R1 ;SET TO BIG WORD COUNT
INC R0 ;SET TO ABSOLUTE TRACK 1
MOV @PC,R3 ;ABSOLUTE SECTOR 3 FOR NEXT PART
.ASSUME BPT EQ 3
BPT ;CALL READS SUBROUTINE
;SECTOR 2 OF RX BOOT
BOOT2: CMPB (R3)+,(R3)+ ;BUMP TO SECTOR 5
BPT ;CALL READS SUBROUTINE
CMPB (R3)+,(R3)+ ;BUMP TO SECTOR 7
BPT ;CALL READS SUBROUTINE
BIT #CSUNIT,RDCMD ;CHECK UNIT ID
BNE BOOT ;BRANCH IF BOOTING UNIT 1, R0=1
CLR R0 ;SET TO UNIT 0
BR BOOT ;NOW WE ARE READY TO DO THE REAL BOOT

READ: MOV (PC)+,@(PC)+ ;MODIFY READ ROUTINE
.WORD 167
.WORD RDX-DXBOOT
MOV (PC)+,@(PC)+
.WORD READF-RDX-4
.WORD RDX-DXBOOT+2
MOV #READ1-DXBOOT,@#B$READ ;CALLS TO B$READ WILL GO TO READ1
MOV #TRWAIT-DXBOOT,@#20 ;LETS HANDLE ERRORS DIFFERENTLY
CLR @#JSW ;CLEAR JSW SINCE THE DX BOOT IN SYSCOM AREA
TST HRDBOT ;DID WE REACH HERE VIA A HARDWARE BOOT?
BEQ READ1 ;YES, DON'T SET UP UNIT NUMBER
MOV @#B$DEVU,R3 ;NO, SET UP UNIT NUMBER
MOVB UNITRD-DXBOOT(R3),RDCMD ;STORE UNIT NUMBER
READ1: ASL R0 ;CONVERT BLOCK TO LOGICAL SECTOR
ASL R0 ;LSN=BLOCK*4
ASL R1 ;MAKE WORD COUNT BYTE COUNT
1$: MOV R0,-(SP) ;SAVE LSN FOR LATER
MOV R0,R3 ;WE NEED 2 COPIES OF LSN FOR MAPPER
MOV R0,R4
CLR R0 ;INIT FOR TRACK QUOTIENT
BR 3$ ;JUMP INTO DIVIDE LOOP

2$: SUB #23.,R3 ;PERFORM MAGIC TRACK DISPLACEMENT
3$: INC R0 ;BUMP QUOTIENT, STARTS AT TRACK 1
SUB #26.,R4 ;TRACK=INTEGER(LSN/26)
BPL 2$ ;LOOP - R4=REM(LSN/26)-26
CMP #-14.,R4 ;SET C IF SECTOR MAPS TO 1-13
ROL R3 ;PERFORM 2:1 INTERLEAVE
4$: SUB #26.,R3 ;ADJUST SECTOR INTO RANGE -1,-26
BPL 4$ ;(DIVIDE FOR REMAINDER ONLY)
ADD #27.,R3 ;NOW PUT SECTOR INTO RANGE 1-26
BPT ;CALL READS SUBROUTINE
MOV (SP)+,R0 ;GET THE LSN AGAIN
INC R0 ;SET UP FOR NEXT LSN
TST R1 ;WHATS LEFT IN THE WORD COUNT
BGT 1$ ;BRANCH TO TRANSFER ANOTHER SECTOR
RETURN

READF: TST @R4 ;ERROR, DONE, OR TR UP?
BEQ READF ;BR IF NOT
BMI BIOERR ;BR IF ERROR
TSTB @R4 ;TR OR DONE?
BPL READFX ;BR IF DONE
MOVB @R5,(R2)+ ;MOVE DATA BYTE TO MEMORY
DEC R1 ;CHECK BYTE COUNT
BGT READF ;LOOP IF MORE
MOV #1,R2 ;SLUFF BUFFER IF SHORT WD CNT
;DON'T DESTROY LOC 0
BR READF ;LOOP

TRWAIT: TST @R4 ;ERROR, DONE, OR TR UP?
BMI BIOERR ;HARD HALT ON ERROR
BEQ TRWAIT ;BR IF NOT
READFX: RTI

. = DXBOOT+606
BOOT: MOV #10000,SP ;SET STACK POINTER
MOV R0,-(SP) ;SAVE THE UNIT NUMBER
MOV #2,R0 ;READ IN SECOND PART OF BOOT
MOV #<4*400>,R1 ;EVERY BLOCK BUT THE ONE WE ARE IN
MOV #1000,R2 ;INTO LOCATION 1000
CLR (PC)+ ;CLEAR TO SHOW HARDWARE BOOT
HRDBOT: .WORD 1 ;INITIALLY SET TO 1
CALL READ ;GO READ IT IN
MOV #READ1-DXBOOT,@#B$READ ;STORE START LOCATION FOR READ ROUTINE
MOV #B$DNAM,@#B$DEVN ;STORE RAD50 DEVICE NAME
MOV (SP)+,@#B$DEVU ;STORE THE UNIT NUMBER
JMP @#B$BOOT ;START SECONDARY BOOT

.DREND DX



Последние из 128 байтов "предзагрузчика" DX позволяют оценить, на какие ухищрения пришлось идти разработчикам для сокращения объёма кода:



B2$: MOV SP,R1 ;SET TO BIG WORD COUNT
INC R0 ;SET TO ABSOLUTE TRACK 1
MOV @PC,R3 ;ABSOLUTE SECTOR 3 FOR NEXT PART
.ASSUME BPT EQ 3
BPT ;CALL READS SUBROUTINE

form
31.12.2012, 15:47
При аппаратной загрузке любого устройства PDP-11 - в память читается 1-й сектор 0-й дорожки

Я бы так не стал говорить про любое устройство - не каждое устройство вообще имеет выбираемые дорожки :)
Скажем так, каждое дисковое устройство.


Поэтому, размер начального загрузчика ограничен 512 байтами.

Опять таки дискового загрузчика.


А так как некоторые адреса используются для векторов прерываний и не могут быть заняты

Кроме того если речь идет о RT-11, там еще в загрузчик обязательно входят подпрограммы печати сообщений всякие.


на какие ухищрения пришлось идти разработчикам

Это еще что.
Загрузчик с перфоленты (тот, что в ПЗУ сидит если он есть) куда страшнее :)

profAleks
04.01.2013, 10:32
Привет всем,

Так вот хотелось бы услышать рассказ о PDP-11 и его софте из уст ГУРУ. Может ли кто в кратце изложить как развивалась эта платформа, какие были ветки развития, какой софт где появился куда портировался, что с чем совместимо, от чего есть исходники от чего нету, какие исходники и где можно запустить, можно ли построить самому "железный" PDP-11 какой софт на нем будет работать, где хранилище pdp-11 софта, что pdp-11 софт собой представляет.

Ваше желание исполено. DEC PDP-11 as is himself (http://sariolla.ru/index.php?option=com_content&view=article&id=79%3Apdp-11humor&catid=39%3Ahumorkafedra&Itemid=66).
http://sariolla.ru/picture/LOL/crz.gif http://sariolla.ru/picture/LOL/vi.gif

Titus
04.01.2013, 12:10
Ваше желание исполено. DEC PDP-11 as is himself (http://sariolla.ru/index.php?option=com_content&view=article&id=79%3Apdp-11humor&catid=39%3Ahumorkafedra&Itemid=66).
http://sariolla.ru/picture/LOL/crz.gif http://sariolla.ru/picture/LOL/vi.gif

Троллинг и самореклама.

bigral
07.03.2013, 16:16
вот страничка с кучей сцыл http://www.eskimo.com/~nickz/dec.html

anasana
07.03.2013, 16:38
вот страничка с кучей сцыл http://www.eskimo.com/~nickz/dec.html
Nicholas Zymaris, кстати, отличный специалист, разбирающийся в тонкостях архитектуры и ПО, напрограммировал уйму прикольных штучек :), с ним вообще очень интересно общаться (почтовый адрес внизу его странички), но это накладывает и определенные требования к его собеседнику :), например я над его письмами и по месяцу могу бестолку медитировать когда он в dec-овские дебри забирается :).

hobot
07.03.2013, 22:03
anasana, скинь ему ссылку на архив графических игрушек для БК или УК-НЦ )
Такого ведь у них не было и нет ) Или он в курсе ? Может ему БКашку заменять на что-нибудь родное? )

bigral
08.03.2013, 02:32
anasana, скинь ему ссылку на архив графических игрушек для БК или УК-НЦ )
Такого ведь у них не было и нет ) Или он в курсе ? Может ему БКашку заменять на что-нибудь родное? )

К стати учитывая что с графикой явная проблема в архитектуре pdp-11 систем решил ему написать по этому поводу. Ну и на нашем форуме тоже зреет тема "графика нового поколения для pdp-11 совместимых систем". Почему зреет - просто, у БК своя графика у УК-НЦ своя у ДВК своя, при таком разнобое и шатании не факт что можно будет портировать весь софт на все платформы, просто изза того что скорость и возможности разные. Но выход наверное есть - "машинонезависимый протокол" + железко типа GAMEDUINO.

NovaStorm
08.03.2013, 10:26
>+ железко типа GAMEDUINO
Вот это по-моему ущербный подход. Зачем тогда к этой железке рядом PDP? Сегодня даже простейший контроллер мощнее целого шкафа из 70х. Поэтому, на мой взгляд, делать что-то есть смысл, если оно могло быть реализовано ещё в то время. Хотя конечно ПЛИС использовать можно и нужно, не мазохизмом же на мелкой логике заниматься =)

bigral
08.03.2013, 18:45
>+ железко типа GAMEDUINO
Вот это по-моему ущербный подход. Зачем тогда к этой железке рядом PDP? Сегодня даже простейший контроллер мощнее целого шкафа из 70х. Поэтому, на мой взгляд, делать что-то есть смысл, если оно могло быть реализовано ещё в то время. Хотя конечно ПЛИС использовать можно и нужно, не мазохизмом же на мелкой логике заниматься =)

Согласен, когда написал "железко типа GAMEDUINO" то ни в коем случае не имел ввиду схему превышающую по интерграции весь набор плат pdp-11/70 на порядок. В идеале это железко должно быть вполне по силам сделать "советскому радиолюбителю" на родной 155-й серии + советские микропроцессорные комплекты и другие советские микрухи повышенной интерграции.

Однозначно вся эта идея будет дискредитирована и не получит поддержки если влепить туда cyclon тот что в altera de1 стоит, в этом случае сам по себе видеоадаптер будет выглядеть как гипертрофированный придаток и не будет никаких причин НЕ доработать его до полной самодостаточной ЭВМ способной заменить pdp-11.

hobot
09.03.2013, 15:38
bigral,
NovaStorm, самое главное при этом не потерять существующую базу игрушек и графических разработок.

быть вполне по силам сделать "советскому радиолюбителю"
ИМХО: вот почему большинство проектов тухнут уже на выходе, если заведомо рассчитывать только на радио-губителей, да ещё интересующихся PDP ? Тут уже
не раз звучал вопрос сколько вы наберёте людей и средств под такое? 3-человека?
Нужен продукт под ключ !!! А не под паяльник ) Но это моё мнение, я уже очень много постов этой теме посвятил, но ни понимания своей позиции, ни поддержки не ощутил. Если что могу сформулировать всё очень чётко по очередному разу (если конечно кому-то интересно моё мнение).

---------- Post added at 15:38 ---------- Previous post was at 15:36 ----------

bigral, если у вас с ним действительно завяжется переписка, очень прошу передать ему привет от [hobot'a] и уточнить - может у него копия "Страны Монстров"
в архивах затянулась где-то? )

bigral
10.03.2013, 00:47
ИМХО: вот почему большинство проектов тухнут уже на выходе, если заведомо рассчитывать только на радио-губителей, да ещё интересующихся PDP ? Тут уже не раз звучал вопрос сколько вы наберёте людей и средств под такое? 3-человека? Нужен продукт под ключ !!! А не под паяльник ) Но это моё мнение, я уже очень много постов этой теме посвятил, но ни понимания своей позиции, ни поддержки не ощутил. Если что могу сформулировать всё очень чётко по очередному разу (если конечно кому-то интересно моё мнение).

hobot, спасибо за смелость, открыто высказать мнение по видению завтрашнего места PDP-11 хотябы в сообществе zx.pk.ru, это не много не мало а попытки найти "КОНЦЕПЦИЮ будущего pdp-11" минимум для форумчан. Просто у многих "не далеких" людей концептологи ассоциируются с трепачами и клоунами, о чем писал тот же back cat и небыл понят в большенстве случаев, ясное дело что никто таким казаться не хочет.

По поводу предложенного развития pdp-11 платформ по аналогии с современными ZX-ами типа (ZX-Evo) рискну предположить что это ТУПИКОВАЯ ветка. Потому как ZX-evo это тот же ZX токо на новом железе и с большим размахом и наворотами. Это наверно прикольно для ZX платформы, потому как ZX платформа по сравнению с pdp-11 просто "обычный граф терминал" или "игровой контроллер". PDP-11 же состоит из CPU с виртуальной памятью + пачка абстрактных интерфейсов (они по сути и есть HAL). Если уж брать по большому счету то архитектура pdp-11 и современных компов одинакова. Но так как "размах" сегодня дичайший, то начинающему программеру чтобы разобраться с "архитектурой" современных компов и их OS-ов нужно перекопать десятки мегабайт сорцов. В случае же pdp-11 железные лимиты "заставили" сделать почти все тоже самое в 32kW виртуального адресного! Это наша удача pdp-11 теперь ИДЕАЛЬНАЯ платформа для обучения новичков "правильным привычкам" и разработки новых "правильных" технологий.

hobot
10.03.2013, 01:48
а попытки найти "КОНЦЕПЦИЮ будущего pdp-11" минимум для форумчан.
Ни для кого-то ни за кого-то я не чего не искал и не ищу !
Всегда стараюсь простой вопрос задать - ЗАЧЕМ?
Зачем вам ВМ3 и RSX ? Что с ней делать без старого софта и игрушек?
Развивать новую графику? Согласен это интересно, но об этом никогда не писал и в подобные проекты (обсуждения) даже не вникаю - поскольку мне это не интересно.

Я писал с целью - пробить \ узнать - только о УК-НЦ более адаптированной под современное использование вот и всё ! Новодел УК-НЦ - выполненый на примере новых плат для БК(я даже ссылку дал на конкретный проект) - и я узнал многое и больше чем знал пока не получил некоторые ответы. Меня и моя машинка устраивает в нынешней комплектации.

На игровом форуме и в целом общался с горсткой вновь прибывших - они родились в 90-х, а в школу пошли когда этих машин БК,ДВК,УК-НЦ уже не было нигде !!! Им интересно пощупать что такое ПИДИПИ и картинки ретро-игр многих привлекают, вот они идут в "почти-закрытый" форум или на молоток и что они видят? Пузырящиеся полуубитые платы 20-летней давности по нереальным ценам ? У одного контроллер самопал, у другого на проводках что-то висит,
(у многих руки только до эмуляторов доходят и это уже хорошо!).
я пытался узнать заинтересованность в стандартной новой комплектации и примерную цену всего этого. А так кому что хочется(можется) тот это соберёт себе так
или иначе - это у людей не отнять. Вот о чём я писал всю дорогу (но видимо плохо я мысли выражаю свои).


предложенного развития pdp-11 платформ по аналогии с современными ZX-ами типа (ZX-Evo)
Ничего не знаю ни о старых ZX ни о развитии в каких-то рамках, поскольку опять же мне это не интересно - минус мне, но не охота ещё и этим голову забивать.

Я то в принципе всем доволен, на 30% своих вопросов я так или иначе получил вменяемые ответы от знающих людей. Мне бы вот "Страну Монстров" Зеленоградскую отыскать ) Что бы на своей живой машинке погонять её или в эмуляторе (по выбору).

Короче говоря всегда когда я пишу о PDP я подразумеваю частный случай
в виде УК-НЦ. ДВК и БК всегда отдельно оговариваю и с самого начала
и до сегодня всегда так делал. Родное железо - мне нравится статьи и посты от forma читать и фотки, но себе мне оно не нужно. Модульный
эмулятор Patrona шедевр, но 80% времени я гоняю UKNCBTL )))
Такая вот статистика. Спасибо всем авторам эмуляторов и организаторам
производства жизненно необходимого железа иначе картина была бы не просто печальной, а вообще никакой! ) Но это не значит, что все должны хотеть (или захотеть) уметь (или захотеть уметь) писать эмуляторы или паять контроллеры? )))
Извиняюсь за много букв. Надеюсь я ответил на вопрос - если он был вообще ко мне? )))

profAleks
12.03.2013, 22:58
Бейсик на ДВК-3М (http://sariolla.ru/index.php?option=com_content&view=article&id=305%3A-pdp-11&catid=51%3Aemulation-and-virtual-computers&Itemid=90), как это было.

AlecV
12.03.2013, 23:17
К стати учитывая что с графикой явная проблема в архитектуре pdp-11 систем решил ему написать по этому поводу.

Проблему с графикой в PDP-11 решили в DECPRO 350/380.

AlexCherny
13.03.2013, 14:42
Вставлю и здесь свои 5 копеек. Помню, что в областные центры Украины по системе Гипроводхоза поставлялись СМ-1420 в комплекте с огромным графическим дисплеем и световой ручкой на длинном металлическом проводе. Название устройства не помню, было оно серийным, но очень капризным (кривые драйверы, куча надстроек) и редким. Софт под него писали киевские разработчики на пл. Леси Украинки, что-то типа ЛИРА (ЛИнейный РАсчет). Так в этом софте была даже защита от копирования! (но ломаемая) )))

bigral
13.03.2013, 16:28
да все это безусловно было, судя по всему еще в начале 70-х графика для DEC считалась перспективным и важным направлением, но все это породило всего лишь кучу РАЗНЫХ реализаций (которые требовали 100% загрузки проца и памяти бедного на ресурсы pdp-11), в результате ни одной такой КРУТОЙ чтоб была доступна штатно как текcтовый терминал мы не имеем.

AlexCherny
13.03.2013, 17:45
А ведь тут http://en.wikipedia.org/wiki/PDP-11 есть описания и линки на графические терминалы от DEC и не только, а также упоминания разных ОС, в том числе на Unix с линками.

---------- Post added at 15:45 ---------- Previous post was at 15:29 ----------

Об "Электроника-79" (11/70) - http://www.electriz.ru/mini-evm-elektronika/mini-evm-elektronika-79.html

Titus
16.03.2013, 18:26
Вопрос PDP-шникам - подскажите формат нулевого сектора .SAV файла, какие там битовые поля и чего к чему.

Patron
16.03.2013, 19:27
Вопрос PDP-шникам - подскажите формат нулевого сектора .SAV файла, какие там битовые поля и чего к чему.



7. ФОРМАТ ФАЙЛА SAV


ФОРМАТ SAV ИСПОЛЬЗУЕТСЯ ДЛЯ ПРОГРАММ, КОТОРЫЕ БУДУТ
РАБОТАТЬ В ФОНОВОМ РАЗДЕЛЕ. ЭТОТ ФОРМАТ СОДЕРЖИТ АБСОЛЮТНЫЕ
АДРЕСА ПАМЯТИ.

В НУЛЕВОМ БЛОКЕ ФАЙЛА НАХОДИТСЯ ИНФОРМАЦИЯ, СОСТАВЛЕН-
НАЯ КОМПОНОВЩИКОМ ДЛЯ МОНИТОРА. ОСТАЛЬНЫЕ БЛОКИ СОДЕРЖАТ
ДВОИЧНЫЕ КОДЫ ПРОГРАММЫ.

В ЯЧЕЙКАХ НУЛЕВОГО БЛОКА ФАЙЛА НАХОДИТСЯ СЛЕДУЮЩАЯ
ИНФОРМАЦИЯ ДЛЯ МОНИТОРА:

0 - ПЕРВЫЕ ТРИ СИМВОЛА (VIR) КЛЮЧА VIRTUAL В КОДЕ
RAD50; ИСПОЛЬЗУЕТСЯ, ЕСЛИ КОМПОНОВКА ПРОИЗВОДИЛАСЬ
С КЛЮЧОМ /V;

2 - ВЕРХНИЙ ВИРТУАЛЬНЫЙ АДРЕС ПАМЯТИ, ИСПОЛЬЗУЕМЫЙ
ПРОГРАММОЙ; ИСПОЛЬЗУЕТСЯ, ЕСЛИ ПРИ КОМПОНОВКЕ В
КОМАНДНОЙ СТРОКЕ БЫЛ УКАЗАН КЛЮЧ /V;

4 - 12 - НЕ ИСПОЛЬЗУЮТСЯ;

14, 16 - ВЕКТОР ПРЕРЫВАНИЙ ПО ИНСТРУКЦИИ BPT; УСТАНАВЛИ-
ВАЕТСЯ ТОЛЬКО, ЕСЛИ ПРИ РАБОТЕ XM-МОНИТОРА В
КОМАНДНОЙ СТРОКЕ КОМПОНОВЩИКА БЫЛ УКАЗАН КЛЮЧ /R;

20, 22 - ВЕКТОР ПРЕРЫВАНИЙ ПО ИНСТРУКЦИИ IOT; УСТАНАВЛИ-
ВАЕТСЯ ТОЛЬКО ПРИ РАБОТЕ XM-МОНИТОРА, ЕСЛИ В
КОМАНДНОЙ СТРОКЕ КОМПОНОВЩИКА УКАЗАН КЛЮЧ /R;

24 - 32
- НЕ ИСПОЛЬЗУЮТСЯ;

34, 36 - ВЕКТОР ПРЕРЫВАНИЙ ПО ИНСТРУКЦИИ TRAP; УСТАНАВЛИ-
ВАЕТСЯ, ЕСЛИ ПРИ КОМПОНОВКЕ В КОМАНДНОЙ СТРОКЕ БЫЛ
УКАЗАН КЛЮЧ /R;

40 - СТАРТОВЫЙ АДРЕС ПРОГРАММЫ;

42 - НАЧАЛЬНОЕ ЗНАЧЕНИЕ УКАЗАТЕЛЯ СТЕКА (ИЗМЕНЯЕТСЯ
КЛЮЧОМ КОМПОНОВЩИКА /M);

44 - СЛОВО СОСТОЯНИЯ ПРОГРАММЫ (JSW);

46 - АДРЕС ЗАГРУЗКИ USR (0 ОЗНАЧАЕТ СТАНДАРТНОЕ РАЗМЕ-
ЩЕНИЕ);

50 - ВЕРХНИЙ АДРЕС ПАМЯТИ, ИСПОЛЬЗУЕМЫЙ ПРОГРАММОЙ;

52 - 54
- НЕ ИСПОЛЬЗУЮТСЯ;

56 - В TS-МОНИТОРЕ ИСПОЛЬЗУЕТСЯ ДЛЯ УКАЗАНИЯ РАЗМЕРА
ОБЛАСТИ В КСЛОВАХ, ТРЕБУЕМОЙ ДЛЯ РАБОТЫ ПРОГРАММЫ;

60 - 64
- НЕ ИСПОЛЬЗУЮТСЯ;

66 - АДРЕС НАЧАЛА БЛОКОВ ОПРЕДЕЛЕНИЯ ОКОН (УСТАНАВЛИ-
ВАЕТСЯ, ЕСЛИ БЫЛ ЗАДАН КЛЮЧ КОМПОНОВЩИКА /V);

70 - 356
- НЕ ИСПОЛЬЗУЮТСЯ;

360 - 377
- КАРТА ЗАГРУЗКИ ПРОГРАММЫ В ПАМЯТЬ.

ЯЧЕЙКА 40, СОДЕРЖАЩАЯ АДРЕС ЗАПУСКА ПРОГРАММЫ, МОЖЕТ
БЫТЬ УСТАНОВЛЕНА ПРИ КОМПОНОВКЕ КЛЮЧОМ /TRANSFER. НАПРИМЕР,
УКАЗАТЬ АДРЕС ЗАПУСКА ПРОГРАММЫ РАВНЫМ 2000 (ВОСЬМЕРИЧНОЕ):

.LINK PROGR.OBJ/TRANSFER:2000

ПРОГРАММА PROGR.SAV, СОЗДАВАЕМАЯ КОМПОНОВЩИКОМ, БУДЕТ
ЗАПУСКАТЬСЯ С 2000 АДРЕСА. ОБЫЧНО АДРЕС ЗАПУСКА ПРОГРАММЫ
ОПРЕДЕЛЯЕТСЯ ИЗ ДИРЕКТИВЫ .END.

ЯЧЕЙКИ 360 - 377 В НУЛЕВОМ БЛОКЕ ФАЙЛА ИСПОЛЬЗУЮТСЯ
КОМПОНОВЩИКОМ ДЛЯ ПЕРЕДАЧИ ИНФОРМАЦИИ О РАСПРЕДЕЛЕНИИ ПАМЯ-
ТИ KMON. КАЖДЫЙ БИТ ЯЧЕЕК СООТВЕТСТВУЕТ ОПРЕДЕЛЕННОМУ БЛОКУ
ПАМЯТИ ИЗ 256 СЛОВ И УСТАНАВЛИВАЕТСЯ В ТОМ СЛУЧАЕ, ЕСЛИ
ПРОГРАММА ЗАНИМАЕТ ХОТЯ БЫ ОДНО СЛОВО В ДАННОМ БЛОКЕ ПАМЯ-
ТИ. ЭТА ИНФОРМАЦИЯ ИСПОЛЬЗУЕТСЯ KMON ДЛЯ ОПРЕДЕЛЕНИЯ, БУДЕТ
ЛИ ПОЛЬЗОВАТЕЛЬСКАЯ ПРОГРАММА ПЕРЕКРЫВАТЬ KMON И USR.

ПРИ ЗАГРУЗКЕ НУЛЕВОГО БЛОКА В KMON ПРОИЗВОДИТСЯ ПРО-
ВЕРКА ЯЧЕЕК БЛОКА ОТНОСИТЕЛЬНО БИТОВОЙ СХЕМЫ ЗАЩИТЫ СИСТЕ-
МЫ, КОТОРАЯ СОДЕРЖИТСЯ В RMON. В ЯЧЕЙКИ, КОТОРЫЕ ЗАЩИЩЕНЫ В
СХЕМЕ, ТАКИЕ, КАК НАПРИМЕР, ВЕКТОРЫ УСТРОЙСТВ СИСТЕМЫ,
ЗАПИСЬ ИНФОРМАЦИИ ИЗ НУЛЕВОГО БЛОКА НЕ ПРОИЗВОДИТСЯ.

КОМАНДЫ МОНИТОРА R И RUN СЛУЖАТ ДЛЯ ЗАГРУЗКИ И ЗАПУСКА
ПРОГРАММ ТИПА SAV. КОМАНДА RUN ОБ'ЕДИНЯЕТ ДВЕ КОМАНДЫ: GET
И START. ПРИ ВЫПОЛНЕНИИ ЭТОЙ КОМАНДЫ KMON СЧИТЫВАЕТ НУЛЕВОЙ
БЛОК ФАЙЛА ТИПА SAV ВО ВНУТРЕННИЙ БУФЕР USR, ВЫБИРАЕТ
ИНФОРМАЦИЮ ИЗ ЯЧЕЕК 40-62 И 360-377. СРАВНИВАЯ БИТОВУЮ
ЗАЩИТУ ПАМЯТИ (LOWMAP), НАХОДЯЩУЮСЯ В RMON, С ЯЧЕЙКАМИ В
НУЛЕВОМ БЛОКЕ, KMON ЗАГРУЖАЕТ В ПАМЯТЬ (В СООТВЕТСТВУЮЩУЮ
ОБЛАСТЬ RMON) ИЗ БУФЕРА USR ТЕ ЯЧЕЙКИ, КОТОРЫЕ НЕ ЗАЩИЩЕНЫ.
НАПРИМЕР, ВЕКТОРЫ ПРЕРЫВАНИЙ УСТРОЙСТВ, ДРАЙВЕРЫ КОТОРЫХ
ВКЛЮЧЕНЫ В СИСТЕМНЫЕ ТАБЛИЦЫ RMON, НЕ БУДУТ ИЗМЕНЕНЫ. ЗАТЕМ
KMON УСТАНАВЛИВАЕТ В ЯЧЕЙКУ 50 ВЕРХНИЙ АДРЕС ИСПОЛЬЗУЕМОЙ
ПАМЯТИ ИЛИ ВЕРХНИЙ АДРЕС ПРОГРАММЫ, КАКИМ БЫ БОЛЬШИМ ОН НИ
БЫЛ.

ПРИ ВЫПОЛНЕНИИ КОМАНДЫ RUN ИЛИ GET KMON ПРОВЕРЯЕТ ВОЗ-
МОЖНОСТЬ ПЕРЕКРЫТИЯ ЕГО ЗАГРУЖАЕМОЙ ПРОГРАММОЙ. ЕСЛИ ЭТО
ИМЕЕТ МЕСТО, ТО KMON ПЕРЕСЫЛАЕТ ПЕРЕКРЫВАЮЩИЕ БЛОКИ ПРОГ-
РАММЫ В ФАЙЛ СВОПИНГА SWAP.SYS. ПОСЛЕ ВЫПОЛНЕНИЯ ВСЕХ НЕОБ-
ХОДИМЫХ ОПЕРАЦИЙ KMON, ПЕРЕД ПЕРЕДАЧЕЙ УПРАВЛЕНИЯ RMON,
ПРОИЗВОДИТ СЧИТЫВАНИЕ В ПАМЯТЬ ТЕХ БЛОКОВ ПРОГРАММЫ, КОТО-
РЫЕ БЫЛИ ЗАПИСАНЫ В ФАЙЛ SWAP.SYS И ОБМЕНИВАЛИСЬ С БЛОКАМИ
KMON И, ВОЗМОЖНО, USR.

В СЛУЧАЕ ВЫПОЛНЕНИЯ КОМАНДЫ R, KMON НЕ ВЫБИРАЕТ КАРТУ
ЗАГРУЗКИ ДЛЯ ПРОСМОТРА, КАКИЕ БЛОКИ ФАЙЛА ДОЛЖНЫ ЗАГРУЖАТЬ-
СЯ. ВМЕСТО ЭТОГО ОН ОБРАЩАЕТСЯ К RMON И СЧИТЫВАЕТ ВСЮ
ИНФОРМАЦИЮ В ПАМЯТЬ СВЫШЕ 1000 АДРЕСА (КОМАНДА R НЕ ИСПОЛЬ-
ЗУЕТ ФАЙЛ SWAP.SYS). МОНИТОР СЧИТАЕТ, ЧТО KMON И USR БЫЛИ
УЖЕ ВЫГРУЖЕНЫ, И НАЧИНАЕТ ВЫПОЛНЕНИЕ ПРОГРАММЫ.