![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сижу в центре кремниевой долины и программирую на фортране для БЭСМ-6. На дворе 2016 год, а вот поди ж ты, возникла настоятельная потребность. Нужно извлечь с диска некий бинарный образ и преобразовать в текстовый HEX файл. Надо сказать, Фортран-ГДР отличный инструмент для подобных задач. Мониторная система Дубна, симулятор ОС Диспак, книжки Мазного и Салтыкова-Макаренко под рукой. Решение выглядит так: hexdump.b6
История вопроса следующая. Есть процессор микро-БЭСМ, и для него есть тест системы команд. Тест написан на языке ассемблера, а сам ассемблер имеется в исходных текстах для БЭСМ-6. К ассебмлеру также прилагается линкер. Всё это запускается под мониторной системой "Дубна" на симуляторе ОС Диспак. На самом деле написана эта кросс-система была под ОС Дубна, и пользуется некоторыми её особенностями, поэтому пришлось на скорую руку привинтить несколько дубненских экстракодов к симулятору Диспака. Но это всё мелочи. В конце концов ассемблер с линкером заработали и на диске получился двоичный образ теста, размером около 24 килобайт. Как его извлечь оттуда? Тем более, что хранится он под управлением некой "библиотеки виртуальной памяти", и формат хранения не описан. Но есть API, набор фортрановских вызовов. Не вопрос: пишем програмулину и получаем нужный результат. Теперь можно смело запускать тест на симуляторе Verilog.
История вопроса следующая. Есть процессор микро-БЭСМ, и для него есть тест системы команд. Тест написан на языке ассемблера, а сам ассемблер имеется в исходных текстах для БЭСМ-6. К ассебмлеру также прилагается линкер. Всё это запускается под мониторной системой "Дубна" на симуляторе ОС Диспак. На самом деле написана эта кросс-система была под ОС Дубна, и пользуется некоторыми её особенностями, поэтому пришлось на скорую руку привинтить несколько дубненских экстракодов к симулятору Диспака. Но это всё мелочи. В конце концов ассемблер с линкером заработали и на диске получился двоичный образ теста, размером около 24 килобайт. Как его извлечь оттуда? Тем более, что хранится он под управлением некой "библиотеки виртуальной памяти", и формат хранения не описан. Но есть API, набор фортрановских вызовов. Не вопрос: пишем програмулину и получаем нужный результат. Теперь можно смело запускать тест на симуляторе Verilog.
no subject
Date: 2016-11-28 20:44 (UTC)По поводы архитектуры - я частично согласен. Согласен в плане того, что конструктив машин был опять же не оптимизирован под цену. Политика фирмы - делать все внутри компании, но вся внутренняя логистика не была ориентирована на оптимизацию по цене. Это не Commodore, а именно DEC. При этом, они не понимали, что рынок хочет. Младшие машины то у них делались либо как управляющие либо инженерные. Для массового потребителя не было софта, и никто не работал с разработчиками. RSX для своего времени была адекватной ОСью, но опять же, не для массовой культуры.
Я не думаю, что VMS мог захватить мир. Даже если бы они ее переписали на Сях. Для начала там надо было открыть сам проект для публики, как сделали Bell Labs и потом Berkeley. DEC зарабатывала деньги на продаже исходников. Раздавать бесплатно - не их конек.
Под развитием я понимал, что сама DEC могла сделать бюджетную серию процессоров на базе J11. Не сделали. В модульном подходе к архитектуре нет ничего страшного. Собственно, все машины были тогда модульными. И то, что видеоконтроллер, был отдельной платой, - в этом тоже ничего страшного. Также делались и большинство других машин, включая PC'юки. Контроллер только был ни то ни се. Он ведь медленный был, и софт для него не написали.
>Но даже на старом процессоре можно было жить как минимум до начала 90х
Не, процессор умер еще в 80-х. 80286 - та еще фигня была, толком ее никто так и не сумел использовать. В PDP-11 было сразу несколько проблем. Никак не решалась проблема с сегментацией исполняющего кода без оверлеев и извратов. 64К и все. Оверлей, может, и прост, но медленный. Усложняет компиляторы, к тому же. В защищенном режиме 80286 такого не было. MMU - это отдельная фиговина, приделанная к процессору и весьма примитивная. Нужно было простое решение, где адресация в процессоре жила вместе с MMU. Не Rocket Science, конечно. Но не сделали. Если бы они продолжали жить на PDP-11 дальше, то быстро бы сдались перед наступающей Моторолой (68x) и Интелом (80386 в первую очередь).
Если бы Ольсен знал прикуп в начале 90-х, то сделал бы что-то дешевое из железяк других компаний. Как это сделали Intel. Только у DEC это могло получиться более разумно. Инженерная машина - прородитель workstation еще в начале 80-х на 68000, граф адаптером, с поддержкой разные ОС'ей и поддержкой старого софта. На сайте Computer History Museum лежит интервью с разработчиками 68000. Они там говорили, что были вдохновлены PDP-11 и делали процессор по образу и подобию с ортогональной системой команд. Была надежда, что и DEC на них обратит внимание.
no subject
Date: 2016-11-29 01:42 (UTC)>>>Не, процессор умер еще в 80-х. 80286 - та еще фигня была, толком ее никто так и не сумел использовать.
Ну почему же?
Я помню как еще в конце 80х когда появились PC и была возможность сравнить напрямую CM1420, ДВК и PC - СМ1420 была вполне ОК, она была существенно быстрей XT, и приблизительно на уровне ранних PC AT (с 80286 процессором). ДВК теоретически была вполне ОК, там главная проблема была с мерзейшими винчестерами которые постоянно ломались, и вообще с низкой надежностью.
>>>В PDP-11 было сразу несколько проблем. Никак не решалась проблема с сегментацией исполняющего кода без оверлеев и извратов. 64К и все.
Оверлей - не такая уж большая проблема, это ненамного хуже чем сегментация памяти в 8086. И в принципе на основе этого же механизма (окон в память) можно было сделать схему вроде сегментов у 8086 - нужна была просто поддержка от компилятора. Но даже с простыми оверлеями все спокойно делалось.
Кстати, там поддерживалась такая штука как резидентный оверлей - это когда весь исполнимый код загружается в память, и переключение оверлеев происходит просто перенастройкой менеджера памяти. Работает это очень быстро.
С большой памятью для данных ситуация аналогичная - была поддержка регионов, т.е. можно было аллокировать большой обьем памяти но доступ получался страничным. Это чуть сложней и медленней сегментов, но тоже работает.
>>>Если бы они продолжали жить на PDP-11 дальше, то быстро бы сдались перед наступающей Моторолой (68x) и Интелом (80386 в первую очередь).
Так о том и речь - PDP11 процессор был бы ОК пока память персоналок была в пределах пары мегабайт - как у типичных DOS машин. Когда речь пошла о большей памяти - тогда конечно нужна полноценная виртуальная память и 32бит адресация.
>>>RSX для своего времени была адекватной ОСью, но опять же, не для массовой культуры.
Для персоналок самой подходящей была RT11 - ее собственно на ДВК обычно и использовали. По идеологии она очень похожа на MS DOS, но только сделана на порядок лучше.
А RSX - это был скорее ранний аналог NT. Собственно - WinNT и является дальним потомком RSX - VAX VMS был развитием идей RSX, а WinNT стала развитием идей VMS.
Но для профессионального использования RSX, и потом VMS были очень гут - на порядок лучше чем BSD тех лет.
>>>Они там говорили, что были вдохновлены PDP-11 и делали процессор по образу и подобию с ортогональной системой команд.
Да, 68000 сделан на идеологии PDP11, но только нового поколения. ИМХО 68000 во многом лучше чем VAX - более стройная система команд, без излишеств вакса, и умещался в одном небольшом кристалле.
Кстати, был и микропроцессорный МикроVAX - он собственно и должен был быть (по мнению Dec) рабочей станцией. Но цена была совсем не гуманная.
>>>DEC зарабатывала деньги на продаже исходников. Раздавать бесплатно - не их конек.
А раздавать ОС бесплатно и не требуется - как доказала Микрософт, на продаже ОС вполне можно жить - и жить хорошо. Проблема Dec была в том что они зарабатывали не на ОС, а на очень дорогом железе - как Эппл. И разрешать использовать свою ОС на стороннем железе Dec отказывался категорически.
Если бы у них была ОС для массового чипа (для того же Интела), и если бы Dec начал продавать ОС - то они вполне могли бы стать Микрософтом.
...
Но все это теперь история, которая как известно не имеет сослагательного наклонения. Хотя поразмышлять о том как оно могло бы быть по-другому - бывает интересно :-)