- софт для процессора 1801вм3
- [+] Старые сообщения (8)
-
? anonymous - 27.04.2009 05:21
Вот я вооружился схемой и копией с заводского ТО, единственное, что имеет страничную адресацию в Э85 - это дополнительные ПЗУ. Из MMU процессора (1811ВТ1), и младшие - с внутренней шины, выходят через буфера на c-bus 22 адресных разряда, как и во всех старших моделях pdp11, которые расходятся по всей системной плате, заходят на схему регенерации ОЗУ, где через мултиплексоры подаются на озу, самые старшие биты выбирают плату ОЗУ, средние из старших 6 разрядов - банк на ней. Никакого контроллера для переключения страниц не имеется.
А сама BSD была написана именно на 16-разрядной машине, с процессором допускающим splited I/D пространства для каждого из 3 режимов, при этом ядро и драйверы жили в моде системы, виртуальные машины для заданий в моде пользователя, а разделяемые библиотеки - в моде супервизора, код задания и область данных задачи были каждая в 64к, за адресацией массивов больщих, чем разрядная сетка при косвенной адресации, должен был следить компилятор, который на всех обращениях к структурам данных вводил проверки, из-за чего BSD работает крайне медленно, что как раз вчера-сегодня подмечалось в отношении ДЕМОС в конференции MO.DEC, подвигая по массиву окошко, в исполняемом коде это решается компиляцией с оверлейной структурой. MMU обеспечивает ловушки при обращениях к неотображенным областям, как, например, вызов подпрограммы из другого 8-килобайтного банка, окно отображения которого при этом системой подвигается на нужное место физической памяти.
Если вы это имели в виду, говоря про страницы - тогда мы всего лишь не поняли терминологию друг друга, а если существовал некий особый контроллер страничной памяти, то я прошу поделиться информацией о нем.
-
? Александр@ - 27.04.2009 10:24
Возможно я что-то действительно путаю по поводу переключения страниц в Э85. Однако... 4.3BSD разрабатывался под VAX, но все еще компилировался и запускался на 11-ых. Не знаю, как проблема с большими бинарниками решалась на F11. Но... Хорошо, что I/D сделали, понимаю, как делалась виртуальная память и как происходило управление старшими адресными разрядами. Кстати, пока искал документацию, нашел интересную статью:
http://www.imc.kiev.ua/doc/design-44bsd/overview-memory-management.html
Обратим внимание, что менеджер памяти был оптимизирован под VAX. Только в 4.4 взяли платформенно независимый менджер от Mach ядра. Тут еще одна параллель наклюнулась. MacOS то на нем тоже базируется. :)
А потом я нашел вот это:
http://ru.wikipedia.org/wiki/%D0%94%D0%95%D0%9C%D0%9E%D0%A1
Похоже, у меня действительно глюк. Перепутал ДВК-4 с Э85. Это на ДВК-4 ДЕМОС извращался со страничным переключением и виртуальой адресацией.
-
? anonymous - 27.04.2009 16:53
Про I/D я писал, что оно было, когда делался 2BSD на родине, а в F11(т.е. в 11/23), как и в 11/33, идеология которой сидит в ВМ3, его нет как раз. (11/33 это несуществовавшая машина, с процессором 11/34 и qbus, ее делать не стали, т.к. к тому времени, как ее можно было бы пустить на рынок, уже была готова 11/53, с I/D) А Э85 на базе МПК 1831 (аналог PRO380) так и не начали серийно делать - СССР растащили на части и все загнулось.
Но и в ДВК нет никакой страничной памяти, у ДВК еще проще схема.
Единственные две машины с процессором pdp11 и страничной памятью были - Союз-Неон ПК11/16 и БК0011...
-
? Александр@ - 27.04.2009 22:35
По поводу страниц уже понял. Тем не менее, неэффективная реализация виртуальной памяти в ДЕМОС'е на базе 4BSD тоже остается фактом. Теперь только остается спросить разработчиков или добраться до исходников, чтобы понять, как оно там было сделано. При возможности спрошу Антонова, он должен помнить подобные вещи.
Э85 серийно таки выпускалась, хоть и недолго и не так массово, как ДВК. Ей активо начали асучивать автопром. Забавно, что авиаторы получили VAX'ы под асу, исходя из логики, что самолеи сложнее и важнее. :) Э85 какое-то время были единственными отечественными ПК, на которых бегал Юних. Но сама железяка была страшна ненадежной. А драйверы под RT/RSX были страшными. Винчестер только наполовину был виден, дискету отформатировать без поллитры нельзя было. Я еще школьником был, и все эти премудрости выучил достаточно быстро. Потом учил взрослых дядей, как дырявить шилом дискеты, какие кнопки жать и.т.п. Застал момент, когда на Э85 запустили ДЕМОС. Мне, правда, с той машиной баловаться не давали. С тех пор я проникся уважением к Юниху, к нему детей не допускали. :)
-
? anonymous - 27.04.2009 22:47
Не было серийных Э85 на 1831, все 85ки делались на 1811, как аналог PRO350. А форматирование - отдельная история, там в пзу процессора на плате НГМД не прошита была программа форматирования, это была ВЕ51 с надписью "КАЧАН", их пережигали потом на полностью рабочую прошивку.
-
? Александр@ - 28.04.2009 04:58
Пардон, я невнимательно прочитал. Подумал, что речь шла о Э85 вобще. Кстати, в википедии по поводу PRO350/PRO380 то же самое пишут, что главной архитектурной проблемой было ограничение размера программ до 64К. Даже для начала 80-х годов это уже было серьезным ограничением. На Pro замечательно жила родная 2.9BSD. Отсюда возникает вопрос, что там такого крутого сделал Демос под Э85, кроме как драйверы подправил? :)
-
? anonymous - 28.04.2009 15:21
Сделали крутое нечто, ибо ДЕМОС сравним с 2BSD11, которая на PRO350 не работает вообще, а на 380 ее поленились портировать (а работала бы!), 2.9 и 2.11 это совершенно разное впечатление создающие у пользователя системы, 2.11 практически повторяет 4BSD, а 2.9 - дремучие юниксы 5/6. Введение механизма организации окна только на исполняемый линейный участок кода и, соответственно, прерывание по любому вызову за пределы его, с целью подменить распределение отображения, как раз и является изюминкой, позволившей собирать большие программы, например даже vi не работает в 2.9, там надо ed пользовать построчный :) На tuhs.org имеются v5/6/7, ultrix11v3 и 2.9/10/11 bsd, можно скачать и завести под эмулятором, ради интереса.
-
? Александр@ - 28.04.2009 22:10
Спасибо за ссылку, поиграюсь на досуге. 2.11 - это последний вариант BSD, запускающийся на PDP-11. Его в 92-м году сделали. Демос к тому времени уже развалился. Хотя, может, кто и патчил. 2.11, кстати, до сих поддерживается энтузиастами.
-
? bigral - 10.05.2012 20:53
Подниму свою старую тему, чтоб немного уточнить некоторые детали. 1) Из Вашего разговора можно резюмировать что на 1801ВМ3 нельзя организовать систему с разграниченными I/D областями? 2) Получается в программах для 2.11 BSD можно использовать массивы длинной более 64кб?
-
? anonymous - 11.05.2012 21:56
1) можно с помощью внешних схем, т.е. не через стандартный MMU, т.к. ВМ3 выдает информацию, к какой памяти обращается, но не позволяет вызвать прерывание по нарушению границы окна внешним сигналом.
2) нет, ползающее окно, насколько помню, распостранялось на разделяемые библиотеки. Данные - те же 64к остаются.
-
? Александр...@ - 13.05.2012 00:56
Зачем прерывание по нарушении границы в I/D разделении? Или я вопроса оригинального не понял либо вашего ответа. Либо одно из двух. :)
Кстати, как ВМ3 вобще сообщает, что ему нужен I или D? В Q-Bus данные либо In либо Out, а разделения в типе нет.
-
? Александр...@ - 13.05.2012 00:59
Кстати, по поводу ВМ3 и софта. Есть два вполне живых проекта FPGA'ных версий PDP 11/70. 2.11 заводится на одном из них по крайней мере.
http://opencores.org/project,w11
http://pdp2011.sytse.net/wordpress/
¤
Сдается мне, что проще FPGA версию запустить, чем что-то изображать на ВМ3.
-
? anonymous - 13.05.2012 01:09
Для того, чтоб код "веером" выглядел. У ВМ3 А21 в фазе передачи данных указывает на адресацию к коду или данным.
-
? Александр...@ - 13.05.2012 01:13
Так значит есть I/D хоть какой-то с потерей одного разряда адресации правда.
-
? anonymous - 13.05.2012 01:30
Почему с потерей и какого разряда?
-
? Александр...@ - 13.05.2012 01:34
Судя по вашему вопросу в "фазе передачи данных" адрес не используется вобще. Значит, вобще ничего не теряется. Ну хорошо. Значит, вобще есть I/D.
-
? anonymous - 13.05.2012 01:37
Ну да, в фазе передачи данных, а в фазе передачи адреса - работает по стандарту.
-
? Александр...@ - 13.05.2012 02:34
Про веер можно немного поподробней? :) Имелась в виду проверка перехода страницы или 64K барьера?
-
? bigral - 13.05.2012 11:12
Да есть живые и развивающиеся проекты для fpga, пробовал - работают, даже много в чем помогут разобраться думаю, в том числе и софтовые эмуляторы помогают и документация. Но запуск софта на реальном ВМ3 тоже интересен.
-
? Александр...@ - 14.05.2012 00:24
Для ВМ3 выбор сильно меньше, к сожалению. Помимо RT-11 можно только ДЕМОС запустить и, вроде как, народ с какими-то приплясываниями умудряется RSX запустить.
-
? Ал-р - 15.05.2012 14:40
Какой-такой соФТ для ВМе3 ...
- << Форум