В рамках публикации архивных материалов нашего издания предлагаем вашему вниманию статью из № 12 (181) «Компьютерного Обозрения» от 31 марта 1999 г. Какой виделась альтернатива архитектуре x86 20 лет назад. Скорее даже не альтернатива, а дополнение.
Альтернатива стала модной... Мир захлестнула волна интереса к «новым» операционным системам (кавычки здесь не случайны — новизна самых популярных Linux и FreeBSD весьма спорна, так как их прародителю Unix скоро исполнится 30 лет). Выражаясь языком поэта, «...ширится, растет заболевание...». Плохо только одно — за канонадой софтверных «освободительных войн и крестовых походов» совершенно незаметны одни из главных виновников происходящего — разработчики аппаратуры. Не по их ли вине к началу нового тысячелетия в развитии компьютинга наметился возврат к технологиям, пусть гениальным, но все же тридцатилетней давности?
ПРОИГРАВШИЙ НЕ ОБЯЗАТЕЛЬНО ХУДШИЙ
Сегодня всем очевидно, что в битве за настольные системы победил альянс Intei/IBM, хотя бы и распавшийся со временем. Процессоры семейства х86 и «архитектура» IBM PC — вот что реально определяет вид сегодняшнего массового компьютинга. Хорошо это или плохо — судить не мне, а вот вспомнить те времена, когда IBM PC были всего лишь «одними из многих», все же стоит.
Бросив беглый взгляд в прошлое, можно заметить, что путь утверждения платформы IBM PC был отнюдь не гладким. Мощные конкуренты представляли куда более эффективные, совершенные и, что главное, — действительно передовые компьютеры. Первый чип Motorola MC68000, к слову, выпускающийся и поныне как самой Motorola (в версии с пониженным энергопотреблением и с розничной ценой около S5 за единицу), так и многими сторонними компаниями по лицензии, до сих пор удивляет внутренним изяществом, простотой и удобством программирования. Судите сами — вместо изощренно сегментированной памяти 8086/ 8088 (ей мы обязаны все еще напоминающим о себе «барьером 640 КВ» MS DOS) MC68000 давал в распоряжение программиста линейное адресное пространство, мощные механизмы индексации с помощью 32-битовых адресных регистров. По сравнению с чисто 16-битовой архитектурой Intel 8086 (или гибридом внешней восьмибитовой шины с внутренней 16-разрядностью 8088), MC68000 был сугубо 32-битовым процессором с 16-битовой внешней шиной. Встроенный механизм поддержки специального режима «суперпользователя» MC68000, несмотря на простоту, оказался очень удачным и нужным (защищенный режим в процессорах семейства х86 появился только с приходом на рынок модели i80286) и в «современниках от Intel» отсутствовал даже в зачаточном состоянии
ОДНАКО ТЕНДЕНЦИЯ...
Несколько лет назад машина, аналогичная по производительности обычному современному офисному компьютеру, попадала в разряд рабочих станций. И ее вычислительной мощности хватало для решения несравнимо более сложных задач, чем заполнение табличных форм и редактирование текстов. Несоответствие номинальной производительности новых компьютеров и сложности решаемых задач — явление, совершенно не угрожающее здоровью пользователей и их умственным способностям. Вот только такая безвредность на весьма ограниченном бюджете сказывается плачевно. Добавим к этой причине растущие возможности «маленьких микропроцессоров» — и готовы две предпосылки, предопределившие накатывающуюся взрывную волну популярности «тонких» специализированных компьютеров. Портативные устройства с Windows СЕ, футуристические wearable-разработки, ставшие привычными электронные записные книжки и карманные переводчики — вот новое лицо массового компьютинга. Персональный информационный центр (или менеджер — кому как нравится), объединяющий самые необходимые в повседневной жизни функции, снабженный wearable микродисплеем высокого разрешения, с речевым управлением и специализированной клавиатурой, с возможностью подключения настольного монитора и расширенного набора периферийных устройств — именно такого «ПК 2000 года» рынок ждет и жаждет.
А как же родные серые коробки горячо любимых IBM PC? Не волнуйтесь — останутся и они, правда, медленно перекочевав в категорию высокопроизводительных рабочих станций (утверждение это не бесспорное, но для многих достаточно очевидное -вспомните обещаемую Intel цену на Merced и позиционирование AMD-K7). Ведь разрабатывать программное и аппаратное обеспечение для по-настоящему персональных компьютеров на чем-нибудь нужно...
ВЕТЕР ПЕРЕМЕН ИЗ ЯПОНИИ
Пока х86-рынок сосредоточил усилия на модернизациях, новые процессоры и архитектуры создаются и развиваются совершенно неожиданными, на первый взгляд, компаниями. Пусть новизна многих решений очень относительна (добрая старая RISC-идея с приправами из повышенных тактовых частот и пониженного энергопотребления за счет снижения технологических норм), найти заслуживающую внимания и даже титула Явления разработку все же можно.
Концерн Mitsubishi ассоциируется, естественно, с добротными японскими автомобилями. Кремниевый background этой компании у нас известен очень мало.
И совершенно напрасно — речь пойдет как раз о процессорах Mitsubishi. И не просто о процессорах, а о новом явлении в интеграции компонентов вычислительных систем.
12 марта 1996 г. Mitsubishi обнародовала пресс-релиз о начале производства первых микропроцессоров семейства M32R/D с интегрированной на кристалле оперативной памятью большой емкости. За прошедшие три года компанией как увеличена тактовая частота новых кристаллов, так и повышен объем DRAM до 8 МВ. В ближайших планах — версии с тактовой частотой 250 MHz и емкостью ОЗУ свыше 8 МВ.
ВНУТРЕННИЙ МИР M32R/D
Начнем, пожалуй, с самой важной подсистемы нового японского чуда — собственно процессорного ядра. Для доказательства того, что M32R/D действительно чудо, следует сразу упомянуть некоторые ТТХ новых чипов — так, площадь кристалла модели с объемом DRAM 2 МВ составляет всего-навсего... 4 мм2, максимальная потребляемая мощность — 0,7 W при тактовой частоте 66MHz, производительность при этой же тактовой частоте соответствует 52,4 MIPS, норма технологического процесса — 0,4 мкм (далеко не самая современная, так что запас возможностей совершен -ствования M32R/D кажется просто неисчерпаемым).
Вычислительное ядро — естественно, RISC (учитывая столь малый размер кристалла), правда, с некоторыми «отклонениями» от канонических требований к RISC-архитектуре. В процессоре применен пятиступенчатый конвейер. Программная регистровая модель (доступные с точки зрения программиста регистры) в чем-то схож с уже упоминавшимся Motorola MC68000: те же 32-битовые регистры общего назначения (всего их 16), те же два регистра указателей стеков (один _ для «защищенного», другой — для пользовательского режимов).
Знатоки и ценители архитектуры замечательных 8-битовых процессоров Zilog Z80 обнаружат в M32R/D очень приятную «неожиданность» — дополнительный регистр, специально предназначенный для быстрого автоматического сохранения текущего адреса из счетчика команд (PC, но не Personal Computer, a Programm Counter). Такая возможность, несомненно, положительно сказывается на производительности M32R/D на ряде задач реального времени: процедура сохранения каждого «лишнего» регистра в стеке при вызове подпрограммы (или обработчика прерывания)требует временных затрат, в некоторых случаях просто недопустимых.
Для расширения возможностей процессора до уровня, соответствующего DSP (Digital Signal Processor -цифровой процессор обработки сигналов), разработчики из Mitsubishi предусмотрели 64-битовый регистр-аккумулятор и ряд аппаратно реализованных быстрых (выполняющихся за один такт) расширенных команд умножения и обработки чисел с фиксированной плавающей точкой.
Система команд M32R/D очень проста и эффективна. Большинство команд имеют 32-битовый формат, но короткие команды «упакованы» в 16-битовое слово, что позволило значительно ослабить проявление эффекта «RISC-раздувания кода» (за счет простоты используемых в RISC-процессорах команд единой длины генерируемый компиляторами с языков высокого уровня код может быть существенно больше, чем для CISC-процессоров). Согласно утверждению специалистов Mitsubishi (подтвержаемому рядом примеров), по сравнению с большинством существующих RISC-процессоров аналогичного класса в M32R/D достигается сокращение объема кода при компиляции одной и той же программы в 1,25-1,5 раза.
В целом, процессорное RISC-ядро от Mitsubishi является современной и добротной реализацией этакого гибрида «обычного процессора» и DSP, основное его достоинство — высокая производительность, крайне маленькая занимаемая площадь на кристалле, некритичность к используемому технологическому процессу (от 0,5 мкм) и возможность встраивания в заказные микросхемы (Mitsubishi поставляет не только готовые кристаллы, но и продает лицензии на VHDL-описания, пригодные к использованию в сторонних разработках). Зато за пределами ядра M32R/D представляет собой настоящий шедевр «силиконового зодчества».
Во-первых, внутренняя шина «малютки» совсем не соответствует представлению о «мелких микропроцессорах»: разрядность 128 битов при тактовой частоте 66 MHz (у новых версий — 80 MHz, ожидаемая в ближайшее время −250 MHz) говорит сама за себя. Ведь по производительности шины M32R/D уже сегодня обгоняет привычные нам настольные ПК с процессорами, содержащими многие миллионы транзисторов (сравните — 128 битов/66 MHz соответствует 1056 MBps, тогда как в ПК этот показатель равен 800 MBps при частоте системной шины 100 MHz). Использование четырех раздельных модулей кэш-памяти для каждого блока ОЗУ позволяет в сочетании с большой шириной шины добиться совершенно недостижимой в других процессорах скорости обновления кэш-памяти (вопрос оптимального проектирования алгоритмов обновления кэш-памяти до сих пор остается открытым, а для процессоров с внутренним умножением тактовой частоты представляет собой самую большую проблему) — M32R/D справляется с такой работой всего за 5 тактов (при частоте 66 MHz — за 75 нс).
Во-вторых, интегрированная на кристалле оперативная память большой емкости (не смейтесь — 2 МВ вовсе не маленький объем ОЗУ, совсем недавно даже сам автор «Дороги в будущее» утверждал, что для работы на ПК более чем достаточно 640 КВ ОЗУ) позволяет в полной мере реализовать скоростные возможности получившейся машины. Отсутствие протяженных проводников на печатной плате и «дребезжащих» (т. е. время от времени не обеспечивающих надежного контакта) разъемов повышает надежность и исключает необходимость в мощных буферных регистрах, что, соответственно, снижает энергопотребление. Сомневающимся в перспективности компьютеров с таким небольшим объемом памяти, как у M32R/D в сегодняшнем исполнении, могу привести такие простые и очевидные факты: ядра ОС Linux и FreeBSD, собранные специально для моей конфигурации заурядного ПК, занимают 330 и 290 К8 соответственно, ядро QNX −36 КВ, операционная система/ среда разработки программ FORTH — неполных 18 КВ. Так что для приложения, даже в худшем случае, остается больше 1МВ ОЗУ (HTTP-сервер boa на моей же машине «выедает» всего 56 КВ). И не следует забывать, что M32R/D умеет работать и с внешней памятью разных типов (DRAM, Flash, PROM), но, естественно, не так хорошо, как с внутренней. Сказывается и низкая, характерная для встраиваемых систем, разрядность внешней шины данных (16 битов), и невысокая тактовая частота — чуть большая 16 MHz. С одной стороны, это кажущееся существенное ограничение, с другой — в разрабатываемых на основе M32R/D устройствах можно использовать широчайший спектр надежных и распространенных периферийных чипов, применяемых в различных семействах встраиваемых контроллеров и процессоров.
КОМПЬЮТЕРНАЯ ИГРА: МЕТАНИЕ ЭВМ НА ДАЛЬНОСТЬ...
Действительно, без программного обеспечения с самым замечательным компьютером можно играть только в такие игры. Слава Богу, M32R/D подобная участь не грозит. Как сама Mitsubishi, так и ряд сторонних компаний, поставляют мощные и удобные технологические средства и операционные системы для успешного превращения уникальной микро-ЭВМ в необходимый атрибут современных информационных комплексов. Явным лидером в проектировании и продажах (на очень выгодных условиях) программного обеспечения для M32R/D является очень интересная компания Cygnus, полностью опровергающая фактами своего существования и успешной деятельности высказывания о дескать антикапиталистическом и анархическом характере сообщества свободного программного обеспечения FSF. Дело в том, что Cygnus отлично известна в мире «реинкарнации Unix» как производитель высококачественного компилятора с языков C/C++ под названием egcs. Во всех Unix-сов-местимых операционных системах компилятор с С — основа основ, ведь практически вся ОС написана именно на этом языке. Свободно распространяемый компилятор egcs положен в основу многих дистрибутивов Linux, в частности нашего отечественного, разработанного в Киеве, дистрибутива Nostromo.
Естественно, что опыт разработчиков Cygnus обеспечил успешное решение в кратчайшие сроки непростой задачи создания эффективного и надежного кросскомпилятора для M32R/D на основе технологии egcs. С помощью этого инструмента можно применять развитые технологические средства управления проектом, документирования и отладки программ, разработанные для платформ Windows NT и Unix, с последующей компиляцией отлаженных исходных текстов в коды M32R/D.
Также неудивительно, учитывая профессионализм и многолетний опыт работы с ОС Unix программистов Cygnus, что именно эта лицензия на исполняемый код (т. е. приобретенная лицензионная ОС от Cygnus может быть установлена разработчиком или производителем на любое число устройств бесплатно). Реализация подобной модели лицензирования, под-компания первой предложила реализацию одной из лучших операционных систем для семейства M32R/D, основанной на спецификациях японского стандарта ITRON. Дело в том, что этот очень популярный во всем мире стандарт на системные вызовы и утилиты ОС встраиваемых контроллеров является детально проработанной адаптацией широко известных спецификаций POSIX к специфике предметной области «тонких вычислений». Интересен и подход Cygnus к продажам своей ОС — в отличие от «классических» поставщиков firmware (встраиваемого ПО), Cygnus поставляет ОС в исходных текстах и не требует от покупателей оплаты лицензий на исполняемый код (т. е. приобретенная лицензионная ОС от Cygnus может быть установлена разработчиком или производителем на любое число устройств бесплатно). Реализация подобной модели лицензирования, подкрепленная авторитетом Mitsubishi, как производителя высококачественных и новаторских чипов, и широкой известностью Cygnus среди программистов, является настоящей революцией на рынке ПО для встраиваемых систем. В нашем с вами случае эта революция не грозит потрясениями, наоборот — отечественным разработчикам не нужно тратить безумные суммы на закупку лицензионного ПО (без чего невозможна реализация созданных на его основе изделий в любой мало-мальски правовой стране).
ПЕЧАЛЬ МОЯ СВЕТЛА...
Думаю, что у многих, дочитавших до этого момента, уже назрел вопрос: а кому этот M32R/D у нас нужен? И экономическая ситуация не располагает массы к техническому творчеству, и с «большой промышленностью» адекватные ее размерам проблемы наблюдаются...
А может, кто попробует — M32R/D идеально подходит для создания самых разных недорогих устройств — от карманных компьютеров до промышленных контроллеров. Маленький объем «большой оперативной памяти» для наших программистов никогда не был преградой, а вот условия, предлагаемые Mitsubishi и Со., понравятся любому разработчику.
СХЕМАТИЧЕСКОЕ ИЗОБРАЖЕНИЕ ВНУТРЕННЕЙ СТРУКТУРЫ
Данная схема отображает не только основные узлы процессора, но и особенности топологии — в реальном кристалле размещение всех подсистем соответствует приведенному. Блок-схема обладает еще одной особенностью: в ней приблизительно сохранены пропорции, фактически — это масштабная модель.
Блоки ОЗУ емкостью 512 KB каждый соответствуют модели с объемом памяти 2 MB (на сегодняшний день Mitsubishi поставляет две версии M32R/D — с DRAM 1 MB и 2 MB соответственно).
«Минималистичность» дизайна процессорного ядра хорошо заметна по отсутствию буферных регистров, обеспечивающих «изоляцию» CPU от 128-битовой системной магистрали (шины) — небольшое число транзисторов в ядре (значительно меньшее по сравнению с 512 KB модулем памяти) не создает значительной токовой нагрузки. Оптимальная топология масок ядра гарантирует очень низкую емкость входов CPU, соответственно процессор допускает работу на высоких тактовых частотах (по оценкам специалистов, максимальный предел тактовой частоты M32R/D при переходе на современные технологические процессы может составлять 1 GHz).
Процессор выпускается в конструктиве типа TQFP 100 (тонкий — толщина 1 мм. с расположением выводов по периметру квадратного пластикового корпуса размером 14×14 мм. предназначенном для поверхностного монтажа).
Про DCIM у забезпеченні успішної роботи ІТ-директора
Ну да, конечно, х86 померло, ага...
Оказалась самой стабильной, переносимой, совместимой и долгоиграющей платформой.