Миф: как IBM победил БЭСМ

StrangerR
Уже с Приветом
Posts: 38016
Joined: 14 Dec 2006 20:13
Location: USA

Re: Миф: как IBM победил БЭСМ

Post by StrangerR »

Блин, только сейчас прочел
Так это само собой когда в одном адресном пространстве выполняется несколько программ.
Так это как раз на IBM-360 программы крутились в ОДНОМ адресном пространстве. А у Бэсм-6 у каждой программы было СВОЕ адресное пространство, 32К слов, начиная с адреса 0. В этом и суть виртуальной памяти - юзер спейсы - имеют полностью независимые адресная пространства. И этого очень долго не было у IBM. Хотя сегодня это аксиома любого CPU.

И это было одной из причин, почему люди с Бэсм плевались при виде ЕС. (ХОтя люди с ЕС ровно так же имели право плеваться, узнав что на бэсм не было толком строковых операций, да и адресация была коротковатой, авторы безусловно сильно промахнулись, взяли бы они 64 бита - и жили бы долго и счастливо).
Да и вообще это не прямой доступ потому что достать нужный блок можно только прочитав (пропустив) предыдущие блоки.
Да нет, не прочитав а промотав. Промотка там была, помнится, весьма быстрой, и лента довольно быстро добегала до нужной информации. Причем у зон на ленте были заголовки и лента могла быстро промотаться а потом уточнить свою позицию. Ошибок да, помнится было много, но случаев потери информации на лентах - очень мало.

В общем, по организации памяти, работы с переферией, простоте и удобству виртуальной памяти и системы прерываний, кстати и индикации на пульте, БЭСМ была заметно впереди ИБМ (по крайней мере 360-й). По возможностям обработки текстовых данных, создания баз данных, и созданию нескоростной версии (там бы вылезли проблемы в необходимости быстро работать с прерываниями) компьюеера - позади. Но главная беда была нерыночность экономики, создав удачный компьютер, он не развивался, а следующий создавала другая команда. В итоге из Бэсмы так ничего и не вышло, а когда спохватились, начался уже полу-рынок и сделали таки Эльбрус-1КБ, было уже поздно (даже при наличии там Юникса, причем оцените - запихать полноценный Юникс на комьютер без побайтовой адресации надо еще было умудриться, как и сделать эмуляцию нормальных терминалов на ИБМовских).
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

StrangerR wrote:Все это в БЭСМах было, это же было в Ваксах и в PDP 11/70 /тут я не уверен но кажется там тоже оно было/, и насмерть отсутствовало в архитектуре IBM/360.
В PDP были свои адресные пространства, preemptive multitasking, а вот виртуальной памяти не было...
Кстати, ленты там тоже были примитивные, без прямого доступа
Справедливости ради, ленты с прямым доступом оказались тупиком. Кесарю кесарево, ленты для одного, диски для другого
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

zVlad wrote:
StrangerR wrote:...А в организации виртуальной памяти ИБМ отставала тогда лет на 10 от других.
Раз уж Вы говорите об ИБМ то почитайте вот про эту модель, 1967 года выпуска, на год раньше начала выпуска БЭСМ 6:

http://en.m.wikipedia.org/wiki/IBM_System/360_Model_67

Вот в этой модели как раз и была имплементирована виртуальная память в современном понимании как память бОльшего размера чем реальная, и с возможностью виртуальных машин по началу даже не понятой ИБМ.
Вы оба правы :)
Верно, это была первая и единственная машина 360, где это появилось
Можно сказать проба для того что сделали в 370
Но она появилась "announced in August 1965" - даже на три года раньше БЭСМ. То есть и тут БЭСМ уже отсавала
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

Читая статьи на вики я вот что нашел

"The Scientific Instruction Set feature, if installed, provided access to four floating point registers that could be programmed for either 32-bit or 64-bit floating point operations."

то есть IBM была в общем то логической машиной с байтовой адресацией, где мог ставиться FPU.
Советские машины НАОБОРОТ, были в первую очередь СЧЕТНЫМИ машинами, где FPU мог изображать еще и целую арифметику, а со строками работать было ужасно

Откуда это пошло?
Ведь этот момент где подходы прямо противоположны
Кстати, PDP тоже работала с целыми, FPU либо реализовывался программно (Фортраном), либо, если FPU unit был не установлен то он эмулировался.
Снова подход от чистой логики
А машина Стрела - пажалуйста, команды для синусов и логарифмов (правда они вызывали переход на подпрограмму, а сама машина умела только + - * /)
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

Dmitry67 wrote:...
Верно, это была первая и единственная машина 360, где это появилось
...
У IBM/360-67 было несколько конфигураций мощности и памяти, в том числи двухпроцессорные конфигурации. Это была не одна машина.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

Это было несколько конфигураций одной машины :)
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
Nekto
Уже с Приветом
Posts: 784
Joined: 06 Jul 2001 09:01
Location: SF, CA

Re: Миф: как IBM победил БЭСМ

Post by Nekto »

Я вот задумался - а как были подключены у нас (ВЦ СО АН) магнитофоны для графопостроителей Benson?
Сделано это было в конце 70-х, т.е. до того, как было организовано подключений обычных ЕС-овских магнитофонов. Бенсоновские магнитофоны были маленькие, на полудюймовой ленте.
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

StrangerR wrote:.... Главным признаком виртуальной памяти является наличие таблицы приписки виртуальной памяти на физическую, страничная организация памяти, прерывание по обращению в недоступную _сейчас_ страницу, механизмы page in и page out. Они были в Бэсм, они есть в современных ОС. Их не было в IMB/360. Программу нужно было грузить всю сразу и в последовательную память, приписки то нету... на бэсме в 128К слов памяти могло висеть задач с суммарной памятью в 2 - 3 раза больше, страницы были довольно стохастически размазаны по физической памяти, интерактивная программа если ничего не делала - вытеснялась, если не делала какая то функция - её страницу откачивали, когда понадобится подкачивали. Все это на довольно таки шустрых барабанах (позже на мини дисках) работало.

Тут ИБМ ловить нечего. Вот байтный доступ к памяти, отдельная работа с целыми числами - тут ИБМ кроет Бэсм. А в организации виртуальной памяти ИБМ отставала тогда лет на 10 от других.
Я почти бы готов был здаться вчера и согласиться с Вами по поводу виртуальной памяти, но что-то мне для этого все таки не хватало. Я пытался найти толковое описание принципов работы хотя бы одной ОЦ для БЭСМ 6, но не нашел. Вы тоже обясняете "по верхам" и Ваших обяснений явно не хватает. Мне также кажутся недостаточными обяснения тех авторов кто утверждает что на БЕ"СМ 6 виртуальной памяти не было. Но их обяснения для меня недостаточны, особенно в свете того что я услышал от Вас, в первую очередь о прерывании по отсутствию страницы и по их подкачке и вытеснении. Это все здорово, но, как известно в современных системах виртуальная память поддерживается совокупностью аппаратных и программных средств, причем программные - это службы ОС. Про такую службы в ОС для БЭСМ 6 я к сожалению ничего не знаю и не могу найти, и Вы ничего от этом внятно не проговаривали (вот лучше бы помогли разобраться умерив свои эмоции).

Следующее Ваше утверждение тоже навевает смутные сомнения:
StrangerR wrote:В Бэсм-6 же все процессы получали юзер аддресс спейс, начиная с адреса 0, и были насмерть изолированы друг от друга, как и в любом современном процессоре.
.
Память начиная с адреса 0 обычно нужна виртуальной машине чтобы в нее загрузилась система. В тоже время программы в виртуальных машинах (по крайней мере те что на МФ) могут обращаться за сервисом Hypervisor явно и неявно Hypervisor, например, предоставляет ВМ виртуальную память, процессор и другие ресурсы ЭВМ.

Что значит на БЭСМ 6 что процессы получают " юзер аддресс спейс, начиная с адреса 0"? Значит ли это что эти адрес спэс находятся под управлением Hypervisor, который и предоставляет юзер процессу ресурсы и другие системных функции (ввода-вывода, и т.п.)? Или это значит что юзерная программа подготавливается так что в нее включаются все системные погпрограммы и функции и что программа (с системой внутри, или наобород внутри системы) выполняется как одно целое и между такими процессарами действуют определенные договоренности (cooperative style)?

Мне кажется (я не могу найти ничего на инете про этом) что в БЭСМ 6 имело место быть что-то вроде второго (cooperative style) с системой добавленной в каждый юзер процесс выполняюшхейся как одно целое, плюс у операторов имелось средство вмешаться в этот кооператив и вывести его из нежаемого состояния.


Так что же там было на самом деле?
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

Dmitry67 wrote:Это было несколько конфигураций одной машины :)
Я бы сказал одной архитектуры все таки, а не машины.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

zVlad wrote:Память начиная с адреса 0 обычно нужна виртуальной машине чтобы в нее загрузилась система. В тоже время программы в виртуальных машинах (по крайней мере те что на МФ) могут обращаться за сервисом Hypervisor явно и неявно Hypervisor, например, предоставляет ВМ виртуальную память, процессор и другие ресурсы ЭВМ.

Что значит на БЭСМ 6 что процессы получают " юзер аддресс спейс, начиная с адреса 0"?
Это в том случае, если мы имеем систему виртуальных машин
В обычных системах (скажу по RSX-11M, которая работала на PDP-11), в пользовательском адресном пространстве с адреса 0 располагалась именно программа. Обычная пользовательская программа без какого либо намека на ОС. Адреса с 0 были обычной памятью (тогда как в физической памяти на младших адресах находились обработчики прерываний)

Как же осуществлялся ввод вывод в пользовательских процессах, так как они никак не видят устройства ввода вывода? в RSX-11M выполнялась команда EMT 377, которая вызывала прерывание. Данные подготавливались в стеке. ОС смотрела что от нее требовалось и делала это (или отвергала). То есть каждый процесс работал, как принято говорить сейчас, в своей "песочнице". Многопользовательскость была строго preemptive, а не cooperative (как на ранних Windows)

Но давайте заслушаем начальника транпортного цеха про БЭСМ. Просто в том что юзерское пространство начиналось с 0 я не вижу ничего странного, наоборот, это самое естественное
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

zVlad wrote:Или это значит что юзерная программа подготавливается так что в нее включаются все системные погпрограммы и функции и что программа (с системой внутри, или наобород внутри системы) выполняется как одно целое и между такими процессарами действуют определенные договоренности (cooperative style)?
А зачем пользовательской программе "все системные функции"?
Ей надо некоторое множество функций, доступных через некий интерфейс
Для PDP и VAX это делалось через команды, которые приводили к перрываниям
При этом сам код .exe получался очень маленьким, потому что, как раз, ничего из системы туда включать не надо было
Прерывания же использовались именно потмоу что это метод попасть из user mode (где почти ничего нельзя) в system mode,
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

Dmitry67 wrote:
zVlad wrote:Память начиная с адреса 0 обычно нужна виртуальной машине чтобы в нее загрузилась система. В тоже время программы в виртуальных машинах (по крайней мере те что на МФ) могут обращаться за сервисом Hypervisor явно и неявно Hypervisor, например, предоставляет ВМ виртуальную память, процессор и другие ресурсы ЭВМ.

Что значит на БЭСМ 6 что процессы получают " юзер аддресс спейс, начиная с адреса 0"?
Это в том случае, если мы имеем систему виртуальных машин
В обычных системах (скажу по RSX-11M, которая работала на PDP-11), в пользовательском адресном пространстве с адреса 0 располагалась именно программа. Обычная пользовательская программа без какого либо намека на ОС. Адреса с 0 были обычной памятью (тогда как в физической памяти на младших адресах находились обработчики прерываний)

Как же осуществлялся ввод вывод в пользовательских процессах, так как они никак не видят устройства ввода вывода? в RSX-11M выполнялась команда EMT 377, которая вызывала прерывание. Данные подготавливались в стеке. ОС смотрела что от нее требовалось и делала это (или отвергала). То есть каждый процесс работал, как принято говорить сейчас, в своей "песочнице". Многопользовательскость была строго preemptive, а не cooperative (как на ранних Windows)

Но давайте заслушаем начальника транпортного цеха про БЭСМ. Просто в том что юзерское пространство начиналось с 0 я не вижу ничего странного, наоборот, это самое естественное
Я тоже ничего криминального в том что юзерское пространство начинается с адреса 0 не вижу, и об этом уже сказал выше. Но, при условии что на компе есть Hypervisor. В Вашем случае он есть/был. Был ли он на БЭСМ 6 и как с ним общалось приложение, что Hypervisor мог и чего не мог, вот вопрос к начальнику.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

Присоединяюсь к вопросу, так как у БЭСМ 6 не было единственной канонической операционной системы, которая должна обслуживать запросы от процессов.
Были Д68, Дубна, Диспак, ИПМ, НД-70, БАМОС, УНИОС, Димон, Пульт, ДМС, Темп, Интеграл, УПО.
Соответсвенно ответ может быть разным для разных систем
Добавлю вопрос от себя: формат "exe" или как там это назывался, наверняка был разным для разных систем. Например, программа построенная для Дубна не пошла бы на Диспак?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

Вот что я могу привнести для обсуждения пока не появился начальник:
Как же получается действительный физический адрес?

Математический 15-разрядный адрес БЭСМ-6 делится на две части Старшие 5 разрядов определяют номер математической страницы, а младшие 10 разрядов - номер слова в данной странице. В структуре машины предусмотрена небольшая по объему, очень быстрая память, хранящая таблицу соответствия математических страниц (или листов) физическим страницам, и пятиразрядный номер математической страницы аппаратно подменяется соответствующим номером физической страницы. Иными словами, номер математической страницы можно рассматривать как адрес строки в таблице соответствий, по которому выбирается необходимая физическая страница реально существующей памяти машины. Таким образом, полный физический адрес слова в памяти формируется из раз рядов номера физической страницы, выбранных из таблицы, и разрядов номера слова в странице, взятых из математического адреса.

Отметим еще раз, что подмена номеров страниц производится очень быстро и делается полностью автоматически. Этот аппарат подмены номеров страниц позволяет в конечном итоге любой математической странице приписывать физический номер, а следовательно, дает возможность произвольным образом распределять реальную физическую память между математическими страницами путем изменения содержания регистровой памяти таблицы соответствия, или "приписки" таблицы.

Это открывает широкие возможности для динамического распределения и перераспределения ресурсов физической памяти между задачами, идущими в мультипрограммном режиме.
Звучит очень обещающе. Выделенное навевает мысли о TLB (Translation Look-aside buffer). Но TLB, при переключении процессов очишхается и накопление записей в ней происходит через просмотр неких "таблиц страниц". Ни о каких таких таблицах ссылка где я взял текст не говорит. Для меня это тупик.
A translation lookaside buffer (TLB) is a cache that memory management hardware uses to improve virtual address translation speed.[1] The majority of desktop, laptop, and server processors includes one or more TLBs in the memory management hardware, and it is nearly always present in any hardware that utilizes paged or segmented virtual memory.

The TLB is sometimes implemented as content-addressable memory (CAM). The CAM search key is the virtual address and the search result is a physical address. If the requested address is present in the TLB, the CAM search yields a match quickly and the retrieved physical address can be used to access memory. This is called a TLB hit. If the requested address is not in the TLB, it is a miss, and the translation proceeds by looking up the page table in a process called a page walk. The page walk requires a lot of time when compared to the processor speed, as it involves reading the contents of multiple memory locations and using them to compute the physical address. After the physical address is determined by the page walk, the virtual address to physical address mapping is entered into the TLB.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

Ну тут то как раз все очень просто: память БЭСМ была крошечной, так что пользовательский процесс имел всего 5 бит на номер страницы - всего 32 страницы (!!!). Для сравнения у Intel x86 было 4K страница, что для 2Gb давало 524K страниц. Тут количество переходило в качество. Вся информация по страницам для БЭСМ составляла 32*10bit = 320bit = 40bytes.(там правда были еще и биты тегов) Это можно было запихнуть в один большой специальный регистр, и более сложные многоуровневые методы, используемые про бОльшем объеме памяти, были не нужны

И в этом случае мы видим тоже тупик. Так как при большом объеме памяти такая схема уже не работает
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
StrangerR
Уже с Приветом
Posts: 38016
Joined: 14 Dec 2006 20:13
Location: USA

Re: Миф: как IBM победил БЭСМ

Post by StrangerR »

zVlad wrote:
Память начиная с адреса 0 обычно нужна виртуальной машине чтобы в нее загрузилась система. В тоже время программы в виртуальных машинах (по крайней мере те что на МФ) могут обращаться за сервисом Hypervisor явно и неявно Hypervisor, например, предоставляет ВМ виртуальную память, процессор и другие ресурсы ЭВМ.

Что значит на БЭСМ 6 что процессы получают " юзер аддресс спейс, начиная с адреса 0"? Значит ли это что эти адрес спэс находятся под управлением Hypervisor, который и предоставляет юзер процессу ресурсы и другие системных функции (ввода-вывода, и т.п.)? Или это значит что юзерная программа подготавливается так что в нее включаются все системные погпрограммы и функции и что программа (с системой внутри, или наобород внутри системы) выполняется как одно целое и между такими процессарами действуют определенные договоренности (cooperative style)?

Мне кажется (я не могу найти ничего на инете про этом) что в БЭСМ 6 имело место быть что-то вроде второго (cooperative style) с системой добавленной в каждый юзер процесс выполняюшхейся как одно целое, плюс у операторов имелось средство вмешаться в этот кооператив и вывести его из нежаемого состояния.


Так что же там было на самом деле?
Ну во первых, я же тоже не помню все, я не занимался все таки самой операционкой. Там в группе что я дал есть зубры которые запустили на эмуляторе Диспак, на нем МС Дубна, на ней ФОртран ГДР, посчитали программу,Ю вывели на АЦПУ (моделированное). Их и надо спрашивать.

НО значит именно первое. Юзер процесс видит перед собой машину с адресным пространством начинающимся с адреса 0 (который всегда читается как 0) и кончая оным 2**15 слов. Для взаимодействия с ОС есть команда которая вызывает прерывание (так вызываются системные функции). ОС меппит адресное пространсово процесса по странично на физическую память (или в никуда если не хочет страницу давать). Страницу можно закрыть на чтение или на чтение - запись и обращение вызовет прерывание. Все это используется ОС для подкачки - откачки - подгрузки страниц с командами (обычно с барабанов или с дисков).

Так работает и любая современная ОС, только сейчас (1) таблица приписки сидит в памяти а тогда сидела на специальных регистрах (слева на пульте светились), и (2) сейчас модно включать в адресное пространство юзера еще и адресное пространство кернела (чтобы кернел мог работать в контексте юзера) а там этого не было (кернел для хождения к юзеру разбирался по приписке куда ему идти).

Спросите в Гугле, там есть люди работавшие над ОС ДИСПАК, есть и тексты самой ОС ДИСПАК (правда они на Бэмше).
StrangerR
Уже с Приветом
Posts: 38016
Joined: 14 Dec 2006 20:13
Location: USA

Re: Миф: как IBM победил БЭСМ

Post by StrangerR »

Dmitry67 wrote:Ну тут то как раз все очень просто: память БЭСМ была крошечной, так что пользовательский процесс имел всего 5 бит на номер страницы - всего 32 страницы (!!!). Для сравнения у Intel x86 было 4K страница, что для 2Gb давало 524K страниц. Тут количество переходило в качество. Вся информация по страницам для БЭСМ составляла 32*10bit = 320bit = 40bytes.(там правда были еще и биты тегов) Это можно было запихнуть в один большой специальный регистр, и более сложные многоуровневые методы, используемые про бОльшем объеме памяти, были не нужны

И в этом случае мы видим тоже тупик. Так как при большом объеме памяти такая схема уже не работает
Ну тупика то особо нету. Просто да, страниц мало и просто было 32 регистра приписки - видны слева на одной из панелей все 32. Нужно было бы больше, сделали бы через память. Еще слева видны регистры кэша чтения - записи из памяти. В центре сверху регистры программы, внизу не помню кажется регистры конвейера команд, поправее регистры сумматора. Можно было поставить шаговый режим и нажимая ШАГ видеть как данные проходили по шагам конвейера и сумматора (естественно с ОС этот фокус не выходил из за прерываний).
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

StrangerR wrote:
Dmitry67 wrote:Ну тут то как раз все очень просто: память БЭСМ была крошечной, так что пользовательский процесс имел всего 5 бит на номер страницы - всего 32 страницы (!!!). Для сравнения у Intel x86 было 4K страница, что для 2Gb давало 524K страниц. Тут количество переходило в качество. Вся информация по страницам для БЭСМ составляла 32*10bit = 320bit = 40bytes.(там правда были еще и биты тегов) Это можно было запихнуть в один большой специальный регистр, и более сложные многоуровневые методы, используемые про бОльшем объеме памяти, были не нужны

И в этом случае мы видим тоже тупик. Так как при большом объеме памяти такая схема уже не работает
Ну тупика то особо нету. Просто да, страниц мало и просто было 32 регистра приписки - видны слева на одной из панелей все 32. Нужно было бы больше, сделали бы через память. Еще слева видны регистры кэша чтения - записи из памяти. В центре сверху регистры программы, внизу не помню кажется регистры конвейера команд, поправее регистры сумматора. Можно было поставить шаговый режим и нажимая ШАГ видеть как данные проходили по шагам конвейера и сумматора (естественно с ОС этот фокус не выходил из за прерываний).
Правильно ли будет считать что "регистр приписки" у Вас и "таблица соответствия математических страниц (или листов) физическим страницам", из цитаты которую я привел выше, это одно и тоже?
И, правильно ли будет понимать что каждая выполняющаяся программа имела свой "регистр приписки" - один из 32-х?
А система, под своим "регистром приписки" сидела? Была ли у системы резидентная, невытесняемая часть (я так полагаю иначе и быть не может)?
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

Попытаюсь угадать ответ. Резидентная часть была и наверняка занимала одну страницу, первую или последнюю.

А вот 32 это число страниц. Система должна была или переписывать для каждого процесса при смене контекста
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Vladimir1440
Уже с Приветом
Posts: 2085
Joined: 14 Sep 2013 13:07

Re: Миф: как IBM победил БЭСМ

Post by Vladimir1440 »

Nekto wrote:Я вот задумался - а как были подключены у нас (ВЦ СО АН) магнитофоны для графопостроителей Benson?
Сделано это было в конце 70-х, т.е. до того, как было организовано подключений обычных ЕС-овских магнитофонов. Бенсоновские магнитофоны были маленькие, на полудюймовой ленте.
У нас они были - через последовательный порт.

"Девятиногий" такой разьем. Он в СССР существовал очень давно. И на PC он - с самой первой IBM PC - (когда еще никакиx "мышей" не было, потому что Виндоус не было). Это именно "телекоммуникационный" порт (для связи устройств) был: всякие модемы, нуль-модемы, переферия и пр.

Единственное что если теxника производства СССР - шаг разьема был "метрический", а если импорт (как Бенсон) - доли дюйма (по крайней мере у нас: Бенсоны шли с французского завода но с дюймовыми коннекторами): 1.27мм между ножками. Поэтому советский "метрический" кабель "физически не лез" в импортный разьем (а по уровням сигналов, логике работы интерфейса, и пр. - совместимость была полная: самое сложное было "разьем найти").

Аттачаю фото какой-то древней русской коробки: "ИПС" - это он и есть ("интерфейс последовательный"). ИПР там - обычный Центроникс (паралельный порт для принтера, "интерфейс паралельный", тоже гад - "метрический"), "ВУ" - "внешнее устройство".
You do not have the required permissions to view the files attached to this post.
Last edited by Vladimir1440 on 16 Oct 2014 18:53, edited 1 time in total.
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

Кажется я нашел искомое описание принципов работы ОС на БЭСМ. Дайте время закончить некоторую работеньку и попытаться понять то ли я нашел.
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

Vladimir1440 wrote:
Nekto wrote:Я вот задумался - а как были подключены у нас (ВЦ СО АН) магнитофоны для графопостроителей Benson?
Сделано это было в конце 70-х, т.е. до того, как было организовано подключений обычных ЕС-овских магнитофонов. Бенсоновские магнитофоны были маленькие, на полудюймовой ленте.
У нас они были - через последовательный порт.

"Девятиногий" такой разьем. Он в СССР существовал очень давно. И на PC он - с самой первой IBM PC - (когда еще никакиx "мышей" не было, потому что Виндоус не было). Это именно "телекоммуникационный" порт (для связи устройств) был: всякие модемы, нуль-модемы, переферия и пр.

Единственное что если теxника производства СССР - шаг разьема был "метрический", а если импорт (как Бенсон) - доли дюйма (по крайней мере у нас: Бенсоны шли с французского завода но с дюймовыми коннекторами): 1.27мм между ножками. Поэтому советский "метрический" кабель "физически не лез" в импортный разьем (а по уровням сигналов, логике работы интерфейса, и пр. - совместимость была полная: самое сложное было "разьем найти").

Аттачаю фото какой-то древней русской коробки: "ИПС" - это он и есть ("интерфейс последовательный"). ИПР там - обычный Центроникс (парралельный порт для принтера, "интерфейс парралельный", тоже гад - "метрический"), "ВУ" - "внешнее устройство".
RS-232 назывался, верно?
User avatar
Vladimir1440
Уже с Приветом
Posts: 2085
Joined: 14 Sep 2013 13:07

Re: Миф: как IBM победил БЭСМ

Post by Vladimir1440 »

zVlad wrote:
Vladimir1440 wrote:
Nekto wrote:Я вот задумался - а как были подключены у нас (ВЦ СО АН) магнитофоны для графопостроителей Benson?
Сделано это было в конце 70-х, т.е. до того, как было организовано подключений обычных ЕС-овских магнитофонов. Бенсоновские магнитофоны были маленькие, на полудюймовой ленте.
У нас они были - через последовательный порт.

"Девятиногий" такой разьем. Он в СССР существовал очень давно. И на PC он - с самой первой IBM PC - (когда еще никакиx "мышей" не было, потому что Виндоус не было). Это именно "телекоммуникационный" порт (для связи устройств) был: всякие модемы, нуль-модемы, переферия и пр.

Единственное что если теxника производства СССР - шаг разьема был "метрический", а если импорт (как Бенсон) - доли дюйма (по крайней мере у нас: Бенсоны шли с французского завода но с дюймовыми коннекторами): 1.27мм между ножками. Поэтому советский "метрический" кабель "физически не лез" в импортный разьем (а по уровням сигналов, логике работы интерфейса, и пр. - совместимость была полная: самое сложное было "разьем найти").

Аттачаю фото какой-то древней русской коробки: "ИПС" - это он и есть ("интерфейс последовательный"). ИПР там - обычный Центроникс (паралельный порт для принтера, "интерфейс паралельный", тоже гад - "метрический"), "ВУ" - "внешнее устройство".
RS-232 назывался, верно?
В контексте вопроса (заданного в ветке) - он назывался именно "ИПС" ! А "RS-232" - он назывался на Бенсоне !

Но Вы безусловно правы: это абсолютно одно и то же (кроме метрического/дюймового шага разьема - никакой разницы абсолютно). Та же цоколевка разьема, и даже болeе того: в официальной докумментации на ИПС "русские" названия заканчивались на разьеме: названия каждой ножки разьема (соответствующие сигналам интерфейса) совершенно официально везде писались уже английскими буквами (повторяю, в _официальной_ советской теxдокумментации).
zVlad
Уже с Приветом
Posts: 15312
Joined: 30 Apr 2003 16:43

Re: Миф: как IBM победил БЭСМ

Post by zVlad »

Вот этот текст проливающий свет на виртуальную память в БЭСМ 6 (примерно тоже самое писал StrangeR, но разве ж можно верить людям которые все время матерятся :D):
Для того чтобы лучше пояснить значение аппарата защиты памяти в БЭСМ- 6, расскажем о том, как этим аппаратом пользуется операционная система (ОС). Задача, поступающая в систему, снабжается некоторым описанием тех ресурсов, которые она потребует от системы в процессе своего решения. Эта информация называется паспортом задачи. В частности, в паспорте указывается число листов ОЗУ, которое ей потребуется для решения.

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

В тот момент, когда данная задача начинает решаться, точнее, в тот момент, когда в ее распоряжение отдается центральный процессор, на основе этой таблицы формируется содержание аппаратных регистров приписки для тех математических листов, которым выделена в данный момент оперативная физическая память. Тем математическим листам, которым выделена память на барабанах или которые вообще не затребовала задача, приписывается признак защиты. Если в ходе своего решения задача не обращается к листам, отображенным на магнитные барабаны, или к листам, для нее не существующим, то процесс счета происходит нормально. В том случае, если программа задачи обратилась к математическому листу, который находится на барабане, срабатывает прерывание по защите, и операционная система, анализируя причину прерывания, стремится "перекачать" этот лист с барабана. на первый свободный лист оперативной памяти. Иногда для этого ей приходится "сбросить" какой-либо лист на барабан, освободив тем самым лист оперативной памяти. Пока производится "подкачка" листов для того, чтобы можно было продолжить решение задачи, прерванное по защите программы, центральный процессор отдается в распоряжение другой задаче.


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

Что интересно, выше приведенный фрагмент я не замечал, хотя с этой интернет страничкой знаком уже нескиолько дней. Я его протискал потому что он начился как пример для описания защиты памяти, которая меня не сильно волновала. Кстати, интересно описывая защиту памяти автор фактически описал принцип управления задачами и принцип работы с памятью. Защита здесь побочный еффект имеет, посльку есть трансляция адресов по некой таблице где можно было разместить любую дополнительную информацию, а точнее наличие самой этой трансляции делает невозможным доступ одной прикладной программы из другой. Физически невозможной. При условии конечно что система правильно ведет содержимое этих таблиц.

Отлично. Спасибо StrangeR, спасибо Dmitry67.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Миф: как IBM победил БЭСМ

Post by Dmitry67 »

Спасибо вам!

А я ковыряясь в Вики кажется понял, откуда пошли трехадресные команды на всех машинах до БЭСМ-6, которая была одноадресной. Трехадреные команды неэффективны: считая x+y+z мы считаем x+y и вынуждены отправить результат в память, чтобы тут же считать его снова из памяти и сложить с z. Лучше промежуточное результаты держать в регистрах, а вот регистров то в Стреле, M-20, M-220, БЭСМ 4 не было (кроме специальных).

Дело оказывается в МЭСМ, которая была до Стрелы. Память в ней была крошечная, 5 бит адреса, и была выполнена на ламповых триггерах, благо память небольшая. А триггер это быстродействующая память - ведь регистры строят именно на такой памяти. Поэтому для МЭСМ не было разницы между памятью и регистрами. Можно вообще сказать что у нее было 32 регистра. А раз так, трехадресность казалась вполне логичной. А потом уже не стали переделывать, хотя Стрела и имела память на кинескопах
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014

Return to “Вопросы и новости IT”