Обратите внимание, что новости можно получать по RSS.
X
-

Информационные технологии, Infused Bytes - архив

16 августа 1999, 00:00 (9261 день назад, №6023)Архитектура IBM AS/400

Сегодня я хотел бы сказать несколько слов о такой малоизвестной у нас системе (компьютере и ОС) как IBM AS/400. Архитектура AS/400 интересна в первую очередь своей оригинальностью - по сути, она не имеет ничего общего с другими разработками IBM - System/3xx, PC и т.д. Начало AS/400 было положено в конце 70-х годов, когда появилась System/38 (System/36). В чем же основная идея архитектуры AS/400?

В первую очередь это отказ от ориентации на конкретную аппаратную платформу, что роднит эту систему с Java, хотя это сходство поверхностно. В отличие от Java, где основой являлась виртуальная машина - интерпретатор байткода, в AS/400 изначально был принят более эффективный подход - между железкой и программами находится прослойка, представляющая собой транслятор который перед выполнением программы переводит ее из промежуточного представления (SLIC - System Licensed Internal Code) в native код физического процессора (в современных моделях AS/400 это PowerPC, в старых - CISC процессоры). Мне могут возразить, что любая Java VM в наше время содержит JIT компилятор который на лету занимается примерно тем же, что и транслятор в AS/400. На это можно ответить вот что:

При создании Java VM набор инструкций разрабатывался исходя из расчета на интерпретацию. JIT компиляторы появились позднее, когда стало ясно что производительность интерпретатора не удовлетворяет запросам, что понятно - в шитом коде дополнительно на каждую инструкцию VM приходится как минимум ее выборка (эти проблемы можно легко наблюдать на примере языка Forth), не говоря уже о необходимости осуществлять на лету все проверки типа чтения/записи за границами переменных. Кроме того, часть функций которые принято считать высокоуровневыми (некоторые элементы обработки данных) в AS/400 реализованы на уровне SLIC (реализация SLIC по утверждению IBM - 3 млн строк кода, что говорит о его сложности). В Java VM же, виртуальные инструкции носят "элементарный" характер.

Сравнительно недавно IBM заявила о реализации Java на AS/400, подчеркивая эффективность этой реализации. Легко понять почему это так - по-видимому, JIT компилятор Java байткода в этом случае преобразует инструкции Java не в SLIC AS/400, а на прямую в код физического процессора. Таким образом (в теории) производительность Java приложений запускаемых на AS/400 не должна сильно отличаться от производительности "родных" приложений.

Другой интересной стороной архитектуры AS/400 является одноуровневая память (все устройства хранения адресуются одинаково, разницы между диском и ОЗУ нет). При этом адрес определяется 16-ю байтами.

Разумеется, как у всякой идеи, здесь есть свои недостатки. Производительность AS/400 на чисто вычислительных задачах (к которым сейчас относятся очень и очень многое) проигрывает чисто аппаратным решениям. В частности, я ни разу не видел сколько-нибудь внятных оценок производительности AS/400 по сравнению с другими системами. В то же время, архитектура позволяет организовывать многопроцессорные системы - как SMP так и MPP/кластеры. Применение AS/400 по большей части ограничено приложениями связанными с хранением и обработкой данных а также "коммерческими" расчетами.

Часть того о чем я сказал - результат анализа весьма отрывочных сведений по архитектуре AS/400. Фирма IBM открыто не распространяет никаких данных ни по устройству системы на низком уровне, ни по SLIC. В этой связи, мне интересны любые сведения и документация по этому вопросу.
В 1998 году в России вышла книга - Фрэнк Дж. Солтис "Основы AS/400", которая является переводом книги "Inside the AS/400", 2nd edition. Книга интересна, хотя и представляет собой жуткую смесь с резкими переходами от описания битов в заголовках объектов к пространным рассуждениям о работе подразделения IBM в Рочестере и архитектуре PowerPC. При этом некоторые интересные и значимые особенности архитектуры самой AS/400 тщательно обходятся стороной. Впрочем, это единственная книга которую я встречал по этой тематике в бумажном виде.

Полезные ссылки:

http://www.as400.ibm.com - Официальный сайт IBM AS/400

http://www.as400.ibm.com/WHPAPR/64simple.htm - Обоснование преимуществ архитектуры AS/400 при переходе на 64 bit платформы.

http://www.as400.ibm.com/beyondtech/arch_nstar_perf.htm - Общая информация по AS/400 V4R4, на базе PowerPC.

http://www.dremel.net/as400/java_jvm.htm - AS/400 Java VM на V4R2

http://www.ieighty.net/~legacy/as400.html - Краткий обзор AS/400

http://www.isl.net/~dlambert/work/OX_Team.html - Фото разработчиков AS/400

http://www.stins.msk.su/products/ibm/as400.htm - Stins Corp. продающая AS/400 в России.


Опубликовано: Пётр Соболев

Случайная заметка

8453 дня назад, 15:331 ноября 2001 Я написал небольшую статью под названием "PHPGroupWare - совместная работа над проектом". Кому интересно - прошу. Цитата: "PHPGroupWare - сравнительно новое приложение, предназначенное для совместной работы над проектами (в том числе, когда разработчики географически удалены друг от друга). По-английски это называется "multi-user groupware suite". ...далее

Избранное

2789 дней назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

2301 день назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее