OSDev

для всех
Текущее время: 28 апр 2024, 08:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: S/360 & co.
СообщениеДобавлено: 13 дек 2012, 15:14 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
SII рекомендовал в качестве одной из модельных архитектур S/360. Я покопался насчет инструментов и доки и нашел:
Доки: http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/. Рекомендую начать с http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/360/princOps/A22-6821-0_360PrincOps.pdf.
Эмулятор: http://www.hercules-390.org/. Довольно удобный, есть гуй, если кто консоль не любит.
Софт: http://www.cbttape.org/. Есть VM, MVS, MVT, etc. И готовые системы и установочные ленты.

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 14 дек 2012, 08:20 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
На самом деле, стоит найти "Принципы работы Системы 370", а не 360. Хотя первой была именно 360, но там ещё не было поддержки виртуальной памяти -- собственно, именно это и является единственным существенным отличием 360 и 370. Кроме того, в 370 отказались от возможности использования ASCII для двоично-десятичных операций -- оставили только EBCDIC (который в СССР обозвали ДКОИ). Соответственно, в Системе 370 бит PSW (слово состояния процессора), отвечавший в Системе 360 за выбор кодировки, стал использоваться для выбора формата самого PSW: либо базовый (BC), соответствующий Системе 360 (за исключением возможности использования ASCII), либо расширенный (EC), соответствующий Системе 370 и позднейшим расширениям архитектуры. Это, пожалуй, единственная несовместимость на прикладном уровне, которая имеется между мэйнфреймами IBM всех поколений, но на практике она несущественна: на Системе 360 никто ASCII не использовал, и отказ от него никого не затронул.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 14 дек 2012, 19:54 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
SII писал(а):
На самом деле, стоит найти "Принципы работы Системы 370", а не 360. Хотя первой была именно 360, но там ещё не было поддержки виртуальной памяти -- собственно, именно это и является единственным существенным отличием 360 и 370. Кроме того, в 370 отказались от возможности использования ASCII для двоично-десятичных операций -- оставили только EBCDIC (который в СССР обозвали ДКОИ). Соответственно, в Системе 370 бит PSW (слово состояния процессора), отвечавший в Системе 360 за выбор кодировки, стал использоваться для выбора формата самого PSW: либо базовый (BC), соответствующий Системе 360 (за исключением возможности использования ASCII), либо расширенный (EC), соответствующий Системе 370 и позднейшим расширениям архитектуры. Это, пожалуй, единственная несовместимость на прикладном уровне, которая имеется между мэйнфреймами IBM всех поколений, но на практике она несущественна: на Системе 360 никто ASCII не использовал, и отказ от него никого не затронул.

Спасибо, должен быть на bitsavers - там чего только нет.
П. С. есть.

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 08 янв 2013, 22:52 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
У меня по чтению мануалов возник вопрос:
В refcard-s/370 указано, что какое-то количество памяти зарезервировано для аппаратных нужд. С большинством все понятно, но есть одна проблема: для s-360 указан максимальный размер зарезервированного района в 0x180 (0x80 для разных регистров и 0x100 - непонятный "scan-out area"), а у s/370 "scan-out area" нету, а есть CPU extended logout area (size varies). Какого он размера - непонятно.
Объясните, пожалуйста, сколько памяти реально можно использовать.
Спасибо!

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 09 янв 2013, 05:13 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Можно весь документик увидеть? А то я не совсем врубаюсь, о чём там именно речь, ведь под "аппаратными нуждами" можно понимать много что. Например, некоторые самые слабые машины (вроде нашей ЕС-1020) часть физически имеющегося ОЗУ использовали для хранения текущего содержимого регистров -- т.е. физических регистров общего назначения и с плавающей запятой у процессора не было, были лишь зарезервированные ячейки ОЗУ (они располагались в области сохранения регистров при аппаратном сбое, см. ниже). Некоторые другие машины (например, ЕС-1130) использовали часть ОЗУ для обмена данными с каналами ввода-вывода. Но такая память была для программиста полностью недоступна: при попытке обратиться по соответствующим адресам возникало прерывание по обращению к несуществующей памяти. Располагалась она по самым верхним адресам, поэтому с точки зрения программиста всё ОЗУ представляло собой непрерывную область адресного пространства, начиная с нуля.

Что же касается доступной для программ памяти, но зарезервированной под специальные нужды, то в Системе/370 её было 512 байтов, начиная с нулевого адреса. Там располагались области старых и новых PSW (можно считать, векторов прерываний), кой-какая другая системная информация, а также область сохранения состояния процессора при возникновении сбоя. В последней, если аппаратура обнаруживала сбой, который невозможно скорректировать (т.е. если процессор подыхал и нуждался в ремонте), сохранялось содержимое всех регистров общего назначения, с плавающей запятой и управляющих, а также "внутрипроцессорных" средств отсчёта времени. Естественно, сохранялась и информация, описывающая сбой, но она уже зависела от модели процессора. Если эта информация сохранялась корректно (сведения о том, что именно было записано и насколько правильно, тоже размещались в определённых ячейках), была возможность продолжить работу программы с точки сбоя на другом процессоре или на этом же после устранения неисправности. В ориентированных на надёжность мэйнфреймах (современные именно таковыми являются, раньше -- не всякие, ибо сложно и дорого) гарантируется 100% возможность возобновления выполнения программы с точки сбоя даже при полном выходе процессора из строя. Ну а в наиболее примитивных, как уже говорил, не было физических регистров, и соответствующие значения всегда хранились в ОЗУ именно в ячейках, отведённых под область сохранения.

Что же касается CPU extended logout area, то по-русски это было переведено как "область расширенной регистрации при аппаратном контроле". Размер этой области и её содержимое зависели от конкретной модели, а базовый адрес находился в управляющем регистре 15 (по умолчанию он был равен 512, т.е. 0х00000200, но мог быть системой перенесён куда угодно). При генерации ОС (при сборке, если говорить современным языком), помимо прочих параметров, указывалась модель процессора, и в систему включались подпрограммы обработки машинных ошибок именно для этой модели. Исходя из этого же устанавливался и размер данной области.

На практике можно было считать, что программисту полностью доступна память, начиная с 4-го килобайта. Тут дело не столько в области расширенной регистрации (её, во-первых, очень часто вообще не было -- мало какой мэйнфрейм её использовал; как сейчас -- не знаю, надо смотреть доку на конкретные нынешние модели), сколько в том, что защита памяти и переадресация работали со страницами размером 2 и 4 Кбайта, причём в системах с виртуальной памятью был принят именно последний. Кроме того, в многопроцессорных системах работал механизм префиксации, логически перемещающий младшие 4 Кбайта адресного пространства того или иного процессора в другие "общие" адреса, поэтому у каждого процессора как бы имелась своя собственная страница в 4 Кбайта, хотя все они имели доступ в такие страницы друг друга (чтобы, например, один процессор мог возобновить работу программы, прекращённую другим процессором из-за его сбоя). С этим, кстати, и связана разница в терминах "абсолютный адрес" и "реальный адрес": в однопроцессорной системе они всегда совпадают, а в многопроцессорной различаются для нулевой страницы и страницы, выбранной для префиксации ей на замену (две страницы как бы менялись местами).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 09 янв 2013, 10:01 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
Документ: http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/princOps/GA22-7000-4_370_Principles_Of_Operation_Sep75.pdf
Спасибо!

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 10 янв 2013, 09:30 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Кстати, а в связи с чем интерес-то к мэйнфреймам? Ведь сейчас их изучение актуально либо для тех, кто имеет шансы с ними работать (а таковых практически нет), либо для создателей новых процессорных архитектур -- для расширения кругозора, так сказать (чтобы ИА-32 не казался единственно правильным подходом :)) ).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 10 янв 2013, 14:10 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
Пункт второй :) если когда-нибудь.
И потом, я пишу систему исключительно для учебных целей, и мне кажется, что на мэйнфреймах это ГОРАЗДО проще, чем на ИА-32: меньше архитектурных идиотизмов.

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 10 янв 2013, 16:13 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Цитата:
И потом, я пишу систему исключительно для учебных целей, и мне кажется, что на мэйнфреймах это ГОРАЗДО проще, чем на ИА-32: меньше архитектурных идиотизмов


Это точно. Я работоспособную систему (ядро плюс минимальная поддержка ввода-вывода -- не совсем драйверы в традиционном смысле, поскольку ввод-вывод в мэйнфреймах принципиально отличается от большинства других архитектур), даже с виртуальной памятью, слепил меньше чем за два года -- на асме, есно :) Ну а архитектурных идиотизмов, там, по большому счёту, нет вообще. Есть какая-то из привилегированных команд, использующая именно регистр 2, но вроде как других подобных вещей нету. (Есть то, что можно назвать недочётами с позиций сегодняшнего дня -- например, отсутствие стека или использование 2-битового признака результата вместо флажков NZVC, то Система 360 анонсирована в 1964-м, а разрабатываться начала, есно, ещё раньше -- опыт был далеко не тот, что во времена появления процессоров Интел).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: S/360 & co.
СообщениеДобавлено: 10 янв 2013, 16:41 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Интересная тема! Поддерживаю обеими руками! Пиши об успехах и о том, что нароешь интересного по ходу работы.
А более современную z/Architecture не думал попробовать изучить?

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB