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

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

16 августа 1999, 00:00 (9359 дней назад, №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 в России.


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

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

5950 дней назад, 20:3215 декабря 2008 В прошедшую субботу мы провели закрытые семинары для организаторов компьютерного фестиваля Chaos Constructions. Часов семь обсуждали различные вопросы, весьма продуктивно. Среди прочего, обсуждалась проблема показа на фестивале конкурсных работ, заставок, видеороликов. На данный момент существуют три варианта её решения: 1) Старый, ...далее

Избранное

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

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