Блог → Кое-что о создании компьютеров на RISC-процессорах

В настоящее время около 80% персональных компьютеров, предназначенных для массового применения (офис и дом), составляют машины семейства IBM PC, а также совместимые с ними. Столь широкое распространение компьютеров этого семейства вовсе не случайно, это сложилось исторически (об этом мы поговорим в другой заметке), и поддерживается, главным образом, большим объёмом имеющихся для них программ. По некоторым оценкам общая стоимость прикладного ПО для ПЭВМ семейства IBM PC превышает 10 млрд. долл. Подавляющее большинство прикладных программ для машин IBM PC (PC/XT, PC/AT, AT386 и PS/2) работает под управлением операционной системы Windows (а до этого, под MS-DOS).

Подавляющее большинство прикладных программ для машин IBM PC работает под управлением операционной системы MS-DOS, которая долгое время была основной ОС для массового применения, хотя и не позволяет использовать все возможнсти машин, построенных на микропроцессоре (МП) i286 (PC/AT), и особенно на i386 (АТ386, PS/2-80). Поэтому при переходе с PC/XT на PC/AT, или 32-разрядные ПЭВМ на базе i80386, пользователь получает только повышение быстродействия, причём применение в компьютере на базе i80386 прикладных программ MS-DOS, работающих с 16-разрядными данными, приводит к снижению быстродействия в 1,5 раза, по сравнению с быстродействием, достигаемым на 32-разрядных данных.

Отмечу, что рост быстродействия при переходе от PC/AT к машинам на i80386 меньше, чем при переходе от PC/XT к PC/AT, и это отлично иллюстрирует таблица, приведённая ниже (MIPS - миллионов операций в секунду).



В то время, как выпускались машины на МП i80386, и с более высокой тактовой частотой и быстродействием, они были слишком дороги для массовых применений. Поэтому такие МП применялись, в основном, в рабочих станциях.

В 1989 г. была закончена разработка ОС OS/2, позволяющей использовать все возможности МП i80386. Однако для переноса прикладных программ из среды MS DOS в OS/2 необходима некоторая модификация программ (а для реализации полного быстродействия i80386-и перетрансляция). Таким образом, подобный перенос требует наличия исходных текстов программ и должен выполняться разработчиком.

Компьютеры на базе МП i8086, i80286, i80386 преобладают в классе профессиональных ПЭВМ офис-применений. В другой важнейшей области применения профессиональных ПЭВМ (рабочих станциях) чаще используют МП других типов (в основном Motorola 68020, 68030, МикроVAX). Для повышения производительности с 1987 г. в рабочих станциях стали применять МП RISC-архитектуры. Они обладают (при той же тактовой частоте и значительно меньшей степени интеграции) более высоким быстродействием, чем МП традиционной (CISC) архитектуры. Эти особенности RISC-архитектуры хорошо видны из сравнения процессоров i80386 (CISC) и VL86C010 (RISC), см. таблицу:



Цены указанные в таблицах, даны на основании журнальных публикаций. Они быстро меняются и значительно отличаются при покупке отдельных машин и крупных партий. Тем не менее, для приблизительной оценки ситуации эти данные можно использовать. Однако RISC-процессоры не обладают программной совместимостью с распространёнными семействами CISC-процессоров. Для рабочих станций это не очень важно, поскольку их прикладные программы обычно создаются разработчиками этих станций, и в качестве ОС обычно используются версии мобильной системы UNIX. Поэтому при переходе на новую архитектуру прикладные программы (как поставленные разработчиком, так и созданные пользователем) могут быть просто перетранслированы.

Иное положение в области компьютеров массового применения: прикладное ПО для них выпускается многими независимыми программистскими фирмами и поставляется только в объектном коде, производители и большинство пользователей этих ПЭВМ, прикладного ПО не разрабатывают. Поэтому одно из основных требований к ПЭВМ массового применения сейчас - программная совместимость с наиболее распространенными на рынке семействами ПЭВМ. Кроме того, большинству пользователей ПЭВМ массовых применений пока, видимо, достаточно производительности IBM PC/AT и PC/XT. Это видно из опубликованных International Data Corporation (IDC) оценок объема выпуска этих машин: в 1988 г. выпуск ПЭВМ PC/XT и PC/AT, более чем в три раза превысил выпуск машин на i80386, и даже на начало 1991 г. отношение объемов производства PC/XT и PC/AT к машинам на i80386 по оценкам составило 1,3. Отношения количеств находящихся в это время в эксплуатации ПЭВМ этих классов, разумеется, ещё больше (13:1 и 3:1, соответственно).

Таким образом, для многих пользователей компьютеров, высокое быстродействие 32-разрядных машин сейчас, по-видимому, не очень нужно (во всяком случае, не окупает затрат на более дорогие машины). Естественно, что в этих условиях не может быть широкого распространения RISC-архитектуры в ПЭВМ массового применения, поскольку их большее быстродействие не очень существенно для пользователей, а разработка (или перенос) прикладного ПО требует значительных затрат. Поэтому сейчас выпускается только одна ПЭВМ массового применения RISC-архитектуры - это Archimedes, разработка английской фирмы Асоrn, на базе микропроцессора VL86C010.

Однако, как видно из приведенных выше цифр, соотношение объемов выпуска 32- и 16-разрядных ПЭВМ растёт. При этом должно расширяться их использование в массовых применениях. Публикуется большое число статей, призывающих к переходу на 32-разрядных машинах на новые ОС (OS/2, UNIX), что потребует перетрансляции (и частично переработки) существующих прикладных программ. Одновременно быстро развиваются средства решения задач искусственного интеллекта (системы управления базами знаний, экспертные системы), ориентированные на массового потребителя; для эффективного их использования потребуется высокое быстродействие и от ПЭВМ массового применения. Обеспечение программной совместимости со старыми моделями ПЭВМ здесь уже не будет играть столь существенной роли. Исходя из этих соображений следует считать, что в ближайшие 3-5 лет RISC-архитектура станет вполне конкурентоспособной с CISC-архитектурой и в области массовых ПЭВМ.

До сих пор рассматривалось положение с ПЭВМ массового применения в развитых странах. В России положение было несколько иным, поскольку отечественная промышленность выпускала только компьютеры типа IBM PC/XT (это были такие машины, как ЕС1840, ЕС1841, "Искра 1030" и "Нейрон И9.66") и ПЭВМ с архитектурой PDP 11 (ДВК, "Электронику 85"). Ряд совместных предприятий поставляла ПЭВМ других типов (в основном типа IBM PC/AT), но в небольших количествах. Отечественная промышленность никогда не выпускала МП, аналогичных i80286 и i80386.

Объём разработанного в России прикладного ПО, для компьютеров типа IBM PC, тоже был невелик. Использование зарубежного прикладного ПО почти всегда требует достаточно трудоемкой адаптации (к русскому языку, к нашим правилам документооборота и т. д,) и закупки лицензий. Значительная часть накопленного за рубежом огромного объёма прикладного ПО для ПЭВМ массовых применений приходится на экономические приложения. В наших условиях большинство этих программ использовать нельзя. В составе прикладного ПО имеется также большое число пакетов прикладных программ общего назначения (СУБД, текстовых процессоров и т. д.), достаточно близких по функциональным возможностям и техническим характеристикам. Учитывая упомянутую выше необходимость адаптации таких пакетов, в наших условиях целесообразно использовать только часть из них. Поэтому требование программной совместимости с IBM PC, весьма важное для успеха новых моделей ПЭВМ на зарубежном рынке, гораздо менее существенно для отечественных ПЭВМ.

Рассмотрим детальнее цели обеспечения программной совместимости. Перенос существующего для некоторой (исходной) ЭВМ ПО на другую (целевую) ЭВМ возможен (при некоторых условиях) и при отсутствии их программной совместимости - путем перетрансляции программы. Программная совместимость исходной и целевой машин необходима не для собственно переноса ПО, а для выполнения на целевой машине программ в объектном коде исходной машины. Такая возможность может быть обеспечена и при отсутствии программной совместимости исходной и целевой машин. Простейший (с точки зрения реализации) способ - программная эмуляция архитектуры исходного компьютера на целевом. Эмулятор позволяет выполнять на целевой машине любые программы исходной машины, однако это приводит к значительному снижению производительности (так, к примеру, эмулятор IBM PC на Archimedes, снижает быстродействие Archimedes более чем в 30 раз). Ещё более трудоёмким, но при этом, не приводящим к такой потере производительности, является преобразование объектного кода исходного компьютера, в код целевого. Преобразование проводится с помощью так называемого бинарного транслятора, и требует участия квалифицированного программиста, однако при этом быстродействие целевой машины теряется не более чем в 2-3 раза. С учётом упомянутого преимущества в быстродействии RISC-архитектуры, по сравнению с CISC-архитектурой, метод бинарной трансляции может оказаться вполне приемлемым для переноса ПО IBM PC на компьютеры RISC-архитектуры.

Таким образом, при выборе направлений развития отечественных ПЭВМ (особенно 32-разрядных) нет необходимости согласовывать их с накопленным объемом уже эксплуатирующихся технических и программных средств и привычкой пользователей к ним, как это имеет место в западных странах. Поэтому целесообразно не просто следовать наиболее распространенным на западном рынке образцам, а учитывать тенденции развития мивропроцессорной техники и технико-экономические характеристики разных моделей компьютеров.

В течение многих лет требование совместимости с наиболее распространенными за рубежом ЭВМ данного класса было основным при выборе архитектурных решений отечественных машин (ЕС ЭВМ, СМ ЭВМ). При этом вопросы стоимости, технологии производства, эффективности их применения и так далее рассматривались как малозначимые. Любая ПЭВМ значительно отличается от машин ЕС ЭВМ и СМ ЭВМ необходимым объемом производства, из-за чего даже небольшая разница в стоимости машин весьма существенна. Так, из первой таблицы (см. выше) хорошо видно, что Archimedes значительно дешевле, чем IBM PC/AT и АТ386 (в сопоставимых конфигурациях). Допустим, что в течение нескольких ближайших лет будет выпущен 1 млн. машин такого класса (что много меньше реальной потребности в них: по оценкам IDC объем выпуска ПЭВМ типа PC/AT, АТ386 и PS/2 в 1989 г. в США превысит 3,5 млн. штук). Тогда уменьшение их суммарной стоимости, при ориентации на ПЭВМ типа Archimedes, окажется значительно больше расходов на разработку реально необходимого базового ПО (ОС, компиляторов, сервисных программ, пакетов прикладных программ общего назначения), не говоря уже о возможности использования бинарной трансляции (а во многих случаях и эмуляторов) для переноса прикладного ПО машин семейства IBM PC.

Учитывая, что у нас в стране ведомства только начинают организацию массового производства ПЭВМ и ПО для них, а потенциальные потребители - освоение их использования, целесообразно при выборе направления развития ПЭВМ ориентироваться не на наиболее распространенные сегодня за рубежом машины CISC-архитектуры (преобладание которых определяется не столько их технико-экономическими преимуществами, как историей развития отрасли), а на наиболее эффективные и дающие лучшую перспективу дальнейшего развития компьютеры RISC-архитектуры.

Основные преймущества выбора такого направления заключаются в том, что RISC-процессор при таком же быстродействии, имеет значительно меньшую степень интеграции и работает на меньшей тактовой частоте, чем CISC-процессор. Поэтому он проще и дешевле CISC-процессора в разработке и изготовлении, а компьютеры RISC-архитектуры дешевле машин CISC-архитектуры. Малая стоимость ПЭВМ RISC-архитектуры позволяет использовать их не только вместо 32-разрядных АТ386, но и вместо 16-разрядных ПЭВМ типа PC/AT. При этом как для массовых применений, так и для рабочих станций можно использовать одну и ту же базовую машину. Обеспечиваемые RISC-архитектурой резервы быстродействия (путем повышения тактовой частоты в рамках уже освоенных КМОП-технологий) позволят в дальнейшем получить мощные рабочие станции и ПЭВМ для новых применений на совместимой элементной базе.

Хочу заметить, что данная заметка отражает исключительно личное мнение автора, и не претендует на полный охват темы. На этот счёт существуют разные мнения, и это севершенно нормально. Тем не менее, нужно понимать, что вопрос о выборе направлений развития отечественных компьютеров, кажется мне весьма важным, и безусловно, заслуживает более широкого обсуждения.