Введение
Pyramid Technology Corporation была компьютерной компанией, производившей ряд высокопроизводительных мини-компьютеров на базе RISC. Она располагалась в районе залива Сан-Франциско, штат Калифорния.
В 1985 году компания стала второй, выпустившей на рынок многопроцессорную UNIX-систему (под брендом DC/OSx), которая легла в основу их продуктовой линейки до начала 1990-х годов. OSx от Pyramid была UNIX-системой с двойной средой, поддерживающей программы и системные вызовы как из 4.xBSD, так и из UNIX System V от AT&T.
История
Pyramid Technology была основана в 1981 году группой бывших сотрудников Hewlett Packard, заинтересованных в разработке высококачественных миникомпьютеров на архитектуре RISC. В марте 1995 года компания Pyramid была приобретена Siemens AG и интегрирована в подразделение Siemens Computer Systems US. В 1998 году это подразделение было разделено, при этом направление сервисных услуг стало Wincor Nixdorf. В 1999 году Siemens и Fujitsu объединили свои компьютерные подразделения, образовав Fujitsu Siemens Computers, а в 2000 году к ним присоединилась Amdahl.
90x
Первая серия миникомпьютеров Pyramid Technology была выпущена в августе 1983 года как суперминикомпьютер 90x, который использовал собственный 32-битный скалярный процессор с тактовой частотой 8 МГц. Хотя архитектура позиционировалась как RISC, она фактически была реализована с помощью микропрограмм. В ней использовалась модель регистров с "движущимся окном", основанная на процессоре Berkeley RISC, но инструкции доступа к памяти имели сложные режимы работы, требующие множества циклов для выполнения. Многие скалярные регистровые инструкции выполнялись за один машинный цикл. Первоначально инструкции с плавающей точкой выполнялись полностью в микрокоде, однако позже была выпущена опциональная плата с блоком операций с плавающей точкой. Микропрограммирование также обеспечивало другие возможности, не характерные для RISC, такие как инструкции по перемещению блоков. Программы имели доступ к 64 регистрам, и многие инструкции были триадическими. Шестнадцать регистров (48–63) назывались "глобальными регистрами" и соответствовали регистрам типичного ЦП, поскольку они были статичными и всегда видимыми. Остальные 48 регистров фактически представляли собой вершину стека подпрограмм. Тридцать два из них (0–31) были локальными регистрами для текущей подпрограммы, а регистры 32–47 использовались для передачи до 16 параметров следующей вызываемой подпрограмме. При вызове подпрограммы стек регистров сдвигался вверх на 32 слова, так что регистры 32–47 вызывающей программы становились регистрами 0–15 вызванной подпрограммы. Инструкция возврата сдвигала стек вниз на 32 слова, чтобы параметры возврата были видны вызывающей программе в регистрах 32–47. Кэш стека содержал 16 уровней в ЦП, а переполнение и опустошение стека автоматически обрабатывались микрокодом ЦП. Модель программирования имела два стека: один для стека регистров и один для локальных переменных подпрограммы. Один рос от выделенного адреса в середине адресного пространства, а другой – вниз от вершины адресного пространства пользовательского режима. В 90x можно было установить четыре платы памяти, первоначально объемом 1 МБ каждая. Это считалось большим объемом памяти для того времени, но архитектура, подобная RISC, приводила к созданию более крупных программ, чем в предыдущих архитектурах, поэтому большинство машин продавались с полностью заполненными слотами памяти. К счастью, на платах памяти объемом 1 МБ оперативная память была установлена в разъемы, поэтому их можно было модернизировать до 4 МБ, когда вскоре после первоначального выпуска 90x стали доступны более крупные устройства динамической оперативной памяти. 90x конкурировал с VAX 11/780 от Digital Equipment Corporation (DEC), который в начале 1980-х годов был предпочтительной платформой для запуска UNIX. Производительность процессора 90x была примерно в два раза выше, чем у VAX, а цена составляла около половины стоимости. Pyramid косвенно выиграла от нежелания DEC продавать машины VAX без операционной системы VMS, за которую они взимали значительную плату. Многие университеты хотели запускать UNIX, а не VMS, поэтому более высокая производительность и более низкая цена Pyramid, в сочетании с искусственными задержками поставки или надбавками от DEC, помогли им принять рискованное решение о покупке у нового производителя. Одним из главных преимуществ 90x перед конкурентами был его асинхронный контроллер последовательного порта (ITS или Intelligent Terminal Server), основанный на 16-битном процессоре с фиксированной разрядностью. ITS подключался к 16 последовательным портам и мог работать на очень высоких скоростях, используя DMA для передачи данных из последовательно соединенных блоков выходных данных. К одной машине можно было подключить несколько ITS, каждый со своим собственным процессором ввода-вывода. Другим машинам того времени (включая 11/780) требовалось вмешательство ЦП каждые несколько байтов для интерактивных пользователей, что значительно увеличивало нагрузку на ЦП. В результате 90x показал очень хорошие результаты в тестах с реалистичным объемом последовательного ввода-вывода. Контроллеры дисков и магнитных лент фактически представляли собой 16-битные контроллеры Multibus сторонних производителей, установленные в разъем на U-образной адаптерной плате шины. Большинство ранних систем поставлялись с дисководом Fujitsu Eagle емкостью 470 МБ и ленточным накопителем с катушкой. Как и VAX 11/780, который имел PDP 11/03 с дискетой в качестве консольного процессора, 90x имел "Процессор системной поддержки", основанный на Motorola 68000, который загружал микрокод с дискеты при запуске системы. Он также мог выполнять набор диагностических тестов системы. Он был оснащен модемом, который позволял удаленно анализировать систему производителем. Программное обеспечение, работающее на административном процессоре, первоначально называлось Totally Unrealistic Remote Diagnostic. Это название было изменено несколько лет спустя. Минимальная система поставлялась в одной стойке высотой около [указать высоту] с картой расширения внизу, дисководом в середине, ленточным накопителем над ним, а затем контрольной панелью высотой 2 дюйма с дисководом и ключом зажигания наверху. Для того времени это считалось очень компактным. По крайней мере, одна машина в Австралии шесть месяцев была установлена в старой уличной уборной, где кондиционер заменил жалюзийное окно, а терминал системной консоли был установлен на шкафу. Административные задачи выполнялись на свежем воздухе. Единким индикатором на контрольной панели был светодиодный индикатор с 8 сегментами, который отображал среднюю загрузку ЦП во время работы машины и рисунок "Cylon Eye", когда машина неожиданно останавливалась. Машина была достаточно низкой, чтобы консоль (монохромный асинхронный терминал) можно было установить сверху.
98х
За 90x довольно быстро последовал 98x, который был идентичен, за исключением того, что тактовая частота процессора была увеличена до 10 МГц. Изначально система с одним процессором, как и ее предшественник, 98x стала первым SMP-компьютером от Pyramid в 1986 году. За период с 1985 по 1987 год было выпущено несколько машин серии, от 9805 с 1 процессором до 9845 с 4 процессорами. Полностью оснащенный 9845 работал со скоростью около 25 MIPS, что было достойным показателем для того времени, хотя и не могло конкурировать с высокопроизводительными суперкомпьютерами. Для удовлетворения растущего, но чувствительного к стоимости рынка рабочих станций/серверов, Pyramid представила WorkCenter в 1986 году – по сути, версию 98x в половинном корпусе и по более низкой цене, с горизонтально установленным 9-трековым накопителем на магнитной ленте и дисковым накопителем (дисками). Все ранние системы Pyramid 9xxx, от 90x до 9810, использовали одну и ту же физическую шину и могли быть модернизированы непосредственно у заказчика.
MIServer
Как и многие из первых производителей многопроцессорных систем, Pyramid перешла на "коммерчески доступные" RISC-процессоры, когда они стали достаточно практичными. Pyramid продолжала использовать собственную RISC-архитектуру до выпуска линейки продуктов MIServer S. Pyramid выпустила серию машин с регистровыми окнами, как продолжение линейки 9000. С 1989 года они стали известны как MIServer. Они поддерживали до десяти процессоров с производительностью около 12 МИПС каждый. В 1991/2 году MIServer был заменен на MIServerT, а затем на MIServer S и ES – первые машины Pyramid на базе R3000. Первые машины серии поставлялись с 4–12 процессорами R3000, работающими на частоте 33 МГц, с пиковой производительностью около 140 МИПС. Более поздние высокопроизводительные машины MIServer ES имели до 24 процессоров, также на частоте 33 МГц. Операционной системой для систем на базе MIPS была DC/OSx, порт AT&T System V Release 4 (SVR4).
Нильская серия
Выпуск 150 МГц 64-битного процессора R4400 привел к появлению серии CPU Nile 2–16 в конце 1993 года. Каждый процессор, способный на 92 MIPS, делал системы Nile настоящими суперкомпьютерами. Их последний продукт, Reliant RM 1000, внутренне известный как Meshine, только начинал поступать на рынок, когда компания Siemens его приобрела. RM1000 был компьютером с массивно-параллельной обработкой (MPP). Каждый узел запускал собственную инстанцию Reliant UNIX DC/OSx. Эта система имела двухосную сетчатую архитектуру. RM1000 использовал программное обеспечение ICF для управления межсоединениями кластера. ICF впоследствии стала основой для программного обеспечения PrimeCluster HA, которое до сих пор разрабатывается и доступно от Fujitsu Siemens. Каждый вычислительный узел в сетке использовал один процессор MIPS R10000, однако усовершенствования RM1000 позволили включать машины NILE SMP в сетку как "толстые" узлы. Вычислительные узлы физически устанавливались в фреймы HAAS 3, которые поставлялись как массивы дисков вместе с более ранним продуктом Nile. Каждый вычислительный узел управлял шестью дисками SCSI в качестве основного контроллера и еще шестью дисками в качестве вторичного контроллера. Фрейм, содержащий до шести вычислительных узлов или четыре вычислительных узла и два шлюза подключения Nile, соединялся с соседними фреймами короткими плоскими кабелями. Фрейм HAAS 3 с установленными вычислительными узлами назывался ячейкой. Ячейки соединялись между собой и могли быть установлены в два яруса и соединены в линию, насколько позволяло пространство. Четыре ячейки вместе назывались тонной, а системы определялись по количеству содержащихся в них тонн. Самая большая сетка, построенная в Pyramid, была тестовой системой, содержащей 214 процессоров, включая четыре узла Nile SMP. Хотя RM1000 в конечном итоге был снят с производства и не был заменен Siemens, клиентам с крупными установками, таким как крупная британская телекоммуникационная компания, потребовалось много времени, чтобы найти подходящую замену этим массово-параллельным системам из-за их огромных возможностей ввода-вывода и вычислений.