Архитектура микропроцессоров - некоторые термины
Мы настолько привыкли к темпам развития вычислительной техники, что уже как-то даже перестали удивляться им. А удивляться есть чему: за всю историю человечества ничего подобного не знала и не знает ни одна область техники. И самое удивительное, что эти темпы сохраняются уже более пятидесяти лет, с момента появления первой ЭВМ.
"Если бы начиная с 1971 года прогресс автомобилестроения был столь же стремительным, как в области создания микропроцессоров, то сегодня в нашем распоряжении были бы легковые машины, способные мчаться со скоростью 480 тыс. км/ч, затрачивая 1 л топлива на 355 тыс. км пути". Надо сразу же заметить, что этот тезис, высказанный в связи с 25-летием выпуска компанией Intel первого в мире микропроцессора 4004, - не оригинален. Практически такая же фраза с похожими цифрами была в ходу еще лет двадцать назад для характеристики развития вычислительной техники за первые тридцать лет ее существования (там еще часто добавлялось "и этот автомобиль стоил бы 75 центов"). Но одно существенное различие между тогдашней и нынешней ситуацией все же имеется.
Дело в том, что до середины 70-х годов прогресс в области вычислительной техники во многом обеспечивался за счет смены средств элементной базы компьютеров, реализованной на совершенно различных физических принципах: электронные лампы уступили место дискретным полупроводниковым приборам, а те - интегральным микросхемам. А вот все последние годы процессоры развиваются и совершенствуются в рамках одной и той же технологии - на базе интегральных полупроводниковых микросхем.
Предсказания бывают разные
В конце 70-х годов, когда я был молодым выпускником МИФИ, мне довелось на нескольких технических конференциях и семинарах прослушать один и тот же доклад о перспективах развития вычислительной техники, подготовленный ведущими специалистами Института точной механики и вычислительной техники (ИТМиВТ) АН СССР. В то время там заканчивалась разработка первого советского многопроцессорного комплекса "Эльбрус".
Основной темой доклада было обоснование необходимости перехода от однопроцессорных систем к многопроцессорным. Важность проблемы показывало хотя бы то, что один раз это сообщение прозвучало в изложении самого директора института, члена-корреспондента АН СССР (очень солидный титул по тем временам) В.С. Бурцева. Собственно, речь шла о конкуренции "Эльбруса" с машинами ЕС, которые тогда были безусловным лидером в советском компьютерном мире.
Один из главных тезисов доклада состоял в том, что возможности повышения производительности однопроцессорных систем (по крайней мере основанных на полупроводниковой интегральной технологии) уже практически исчерпаны. Обосновывался этот тезис с помощью детального, с весьма серьезными математическими выкладками, анализа физических процессов p-n-перехода. Из этого анализа неоспоримо следовало, что дальнейшее повышение быстродействия микросхем связано с нелинейным увеличением энергопотребления, а значит, с перегревом полупроводникового кристалла, от которого не спасут никакие системы принудительного охлаждения. (Кстати, в то время обсуждалась возможность использования для охлаждения микросхем не простых вентиляторов, а серьезных устройств на базе криогенных систем.) А с учетом повышения интеграции (т.е. плотности транзисторов на кристалле), еще увеличивающего удельное тепловыделение, вывод был однозначным: нужно либо переходить к созданию многопроцессорных вычислительных систем, либо ждать появления цифровых приборов, основанных на других физических принципах.
Специалисты из ИТМиВТ знали, что говорили: этот институт не только создавал супер-ЭВМ на архитектурном уровне, но и вел разработку первых в СССР быстродействующих цифровых микросхем на переключателях тока (так называемая "пятисотая серия") специально для проекта "Эльбрус".
А лет за десять до того, в 1965 году, один из будущих руководителей компании Intel, Гордон Мур, сделал другое предсказание - о том, что плотность транзисторов на кремниевом кристалле будет удваиваться каждые полтора-два года с соответствующим возрастанием производительности процессора. Он оказался лучшим пророком: история умалчивает о том, на какой срок давался этот прогноз, но "закон Мура" с некоторыми оговорками действует до сих пор, т. е. уже 30 лет.
Судите сами: первый микропроцессор 4004, созданный компанией Intel в 1971 г., имел немногим более 2000 транзисторов, а представленный в 1993 г. микропроцессор Pentium с частотой 60 МГц - около 3,1 млн. транзисторов на одном кристалле. За следующие три года частота Pentium увеличилась до 200 МГц и одновременно был почти в пять раз повышен уровень интеграции активных элементов за счет перехода от 0,8- к 0,35-микронной технологии. Новый процессор Pentium Pro, выпущенный через два с половиной года после первого Pentium, имеет уже 5,5 млн. транзисторов на кристалле. Производительность Pentium Pro с частотой 200 МГц превышает производительность микропроцессора 4004 в десять тысяч раз!
Архитектуры CISC и RISC: кто же побеждает?
Как известно, развитие микропроцессоров в последние годы в значительной степени происходит под знаком борьбы двух архитектур: CISC и RISC. К их определениям (см. врезку "Архитектура микропроцессоров - некоторые термины") следует добавить, что идеология RISC, появившаяся относительно недавно (10-15 лет назад), в какой-то степени основана на известном статистическом законе "20/80" (20% населения выпивают 80% пива), который в данном случае звучит следующим образом: 80% всего объема вычислений CISC-процессора приходится на 20% его команд.
Отсюда - естественный вывод: на уровне микропроцессора нужно оставить только эти самые 20%, а остальные операции выполнять с помощью механизмов типа микропрограмм (примерно так же, как реализуются операции с плавающей запятой в компьютере без сопроцессора). Это позволит переориентировать освободившиеся ресурсы процессора таким образом, чтобы все его базовые операции выполнялись по возможности за один такт (в CISC-процессоре разные инструкции выполняются за разное число тактов). Осуществить подобную переориентацию не очень просто, поскольку среди часто используемых команд есть и довольно сложные. Но если добиться этого, снижается стоимость разработки и производства процессоров, упрощается реализация схем конвейерной и параллельной обработки данных, а также создания многопроцессорных систем и т. д. Естественно, за все нужно платить: RISC-процессорам необходимо более сложное программное обеспечение, компенсирующее отсутствие сложных операций на аппаратном уровне.
В настоящее время RISC-архитектура всеми признана более современной, эффективной и перспективной, и ее официально придерживаются практически все ведущие производители микропроцессоров. Все, кроме компании Intel, которая таким образом оказалась в роли ретрограда.
Упорную приверженность Intel устаревшей CISC-архитектуре постоянно критикуют, более того, довольно часто на этом основании делают предсказания о скором крахе и процессоров x86, и самой компании. Особенно активно разговоры на эту тему шли в прессе (причем не только компьютерной) в конце прошлого года, но в последние месяцы они как-то поутихли. Возможно, это связано с весьма устойчивым ростом финансовых показателей фирмы, что особенно заметно на фоне трудностей, переживаемых сегодня микроэлектронной промышленностью. (Наиболее отчетливо это видно на примере кризиса перепроизводства модулей оперативной памяти - многие фирмы уже объявили о консервации почти готовых производственных мощностей и перепрофилировании имеющихся. В западной печати также циркулируют слухи и о неудовлетворительных финансовых итогах деятельности фирм Motorola, HP, AMD.)
Кроме того, архитектуры RISC и CISC не разделены непреодолимой пропастью. Наблюдается сближение этих моделей, в результате которого они сегодня практически уже перестали существовать "в чистом виде": все микропроцессоры имеют черты обеих архитектур.
Например, у RISC-процессора PowerPC команд больше, чем у Pentium Pro, так что его набор команд трудно назвать "сокращенным". С другой стороны, все современные модели процессоров семейства x86 (Intel, AMD, Cyrix) имеют четко выраженное суперскалярное RISC-ядро.
Но вообще говоря, споры по поводу архитектуры микропроцессора не очень интересуют конечного компьютерного пользователя. Гораздо больше его волнует общая производительность и соотношение "цена/производительность". Причем под ценой понимают цену не процессора, а всей вычислительной системы, включая программное обеспечение и комплекс услуг по сопровождению.
Производители микропроцессоров: борьба гигантов
Сегодня производителей микропроцессоров можно разделить на две группы: действующих на рынке персональных компьютеров и ориентирующихся на Unix-системы. Условно границу между ними сейчас можно провести где-то в области 32-разрядных микропроцессоров. Здесь следует отметить, что 32-разрядные процессоры для ПК до сих пор в значительной степени несут на себе бремя проблем 16-разрядной архитектуры, а 32-разрядные процессоры для Unix-систем традиционно имеют повышенную производительность за счет более мощного аппарата кэширования, высокой пропускной способности магистралей, возможностей параллельной обработки.
В сфере ПК основными моделями являются семейства x86 (Intel, AMD и др.) и PowerPC (альянс IMA = IBM + Motorola + Apple), в области Unix-систем лидируют процессоры Alpha (DEC), MIPS (SGI), PA-RISC (HP) и SPARC (Sun). Ситуация здесь интересна тем, что острая конкурентная борьба ведется как внутри каждой из групп, так и между группами, а фирмы, выпускающие клоны x86, вдобавок выясняют отношения между собой. Взаимоотношения между ПК и Unix-машинами можно охарактеризовать как агрессивное наступление первых и активную оборону вторых. Хотя в конце прошлого года в связи с появлением мощного фактора - резкого усиления роли Internet - и соответствующими перспективами передела компьютерного рынка активизировались попытки "Sun и компании" потеснить ПК в том секторе рынка, который сейчас занят ими полностью, выпустив для массового потребителя разнообразные X-терминалы, сетевые компьютеры и т. п.
Самой массовой (и в количественном, и в стоимостном выражении) разновидностью компьютеров являются сейчас ПК, из них наиболее распространены машины на базе процессоров x86, а большинство этих процессоров - продукция Intel. Короче говоря, компания Intel - крупнейший производитель микропроцессоров. При этом любопытно отметить, что она занимает среди своих коллег-конкурентов довольно уникальное положение.
Прежде всего, Intel является создателем клонов x86 и признанным лидером их производителей. Компания контролирует 80-85% этого рынка микропроцессоров и, несмотря на грозные заявления конкурентов, в первую очередь AMD, вряд ли собирается что-либо им уступать. С другой стороны, полностью вытеснить своих конкурентов с благодатного поля ПК Intel тоже не может - хотя бы по причине угрозы антимонопольных санкций.
Следует отметить, что после серии споров и судебных разбирательств (в основном по инициативе Intel) последние год-два прошли для семейства x86 довольно спокойно: Intel полностью перешла на процессоры Pentium, предоставив AMD и остальным спокойно снимать остатки сливок с моделей 486. Но прочность позиций Intel базируется на постоянном движении вперед - собратья по x86 не преминут воспользоваться малейшей оплошностью лидера и с готовностью займут его место.
По-видимому, такое положение в значительной степени выгодно другим производителям x86, поскольку Intel, будучи лидером, автоматически несет бремя борьбы с "внешними врагами", в первую очередь с альянсом IMA. (В этом отношении производители x86 напоминают караван судов, возглавляемый ледоколом.) Не останавливаясь подробно на теме "семейство PowerPC", констатируем, что заявления IMA пятилетней давности о решительном намерении "догнать и перегнать" пока не претворились в жизнь и, по-видимому, не станут реальностью в ближайшем будущем. Однако в готовности альянса "отъесть" кусок рынка ПК никто не сомневается, и в любом случае роль IMA в стимулировании прогресса на этом рынке трудно переоценить.
Все производители микропроцессоров для ПК (x86 + PowerPC) стремятся распространить свои интересы в сферу Unix-систем. Здесь почетное право идти в авангарде опять же предоставлено Intel. Борьба на этом фронте ведется на уровне младших и средних моделей рабочих станций и корпоративных серверов, а ударной силой является процессор Pentium Pro. Пока о результатах этого единоборства говорить рано, но то, что производителям процессоров для Unix-систем придется потесниться, представляется очевидным.
Секреты успеха
Сегодня Intel не только входит в число крупнейших компаний мира, но и является одной из наиболее динамично развивающихся. Авторитетная газета "Financial Times" включила Intel в десятку крупнейших корпораций США. Компания регулярно попадает в списки лидеров по результатам различного рода опросов. (Кстати, в этих списках рядом с Intel почему-то всегда оказывается и Microsoft.) О причинах этого можно говорить много, но сейчас хотелось бы обратить внимание на один момент.
В ходе проведенного летом этого года опроса отечественных экспертов на тему "Почему Windows опережает по популярности OS/2" назывались разные причины, но все же ключевым представляется такое мнение: "Потому что успех Windows для Microsoft является вопросом жизни и смерти, а OS/2 для IBM - всего лишь один из десятков проектов, причем далеко не самый главный".
Так вот, среди всех фирм, занимающихся производством микропроцессоров (IBM, Motorola, HP, Sun, DEC, SGI), Intel - единственная, для которой процессоры составляют жизненно важную основу ее деятельности. Поэтому она просто вынуждена в этой технологической гонке рваться в лидеры, порой отчаянно рискуя.
В связи с этим можно вспомнить ситуацию середины 80-х годов, когда избыточные производственные мощности весьма отрицательно сказывались на финансовых показателях изготовителей микросхем, которые потом еще долго не спешили с увеличением инвестиций в разработку и производство. Как раз в тот момент Intel пошла на значительный риск и, ориентируясь на прогнозы о резком расширении рынка персональных компьютеров, вложила солидные средства в создание производственных мощностей и расширение научно-исследовательских работ. (Следует напомнить, что стоимость современного завода для выпуска микропроцессоров составляет 2-3 млрд. долл., а сроки строительства - 2-3 года.) Ряд западных аналитиков считает, что именно этот смелый шаг компании обеспечил ей лидерство на рынке микропроцессоров в 90-х годах. Кстати, абсолютные объемы инвестиций Intel в исследования и капитальное строительство в последние годы в 3-4 раза выше, чем у ее ближайших конкурентов из альянса PowerPC.
Нельзя сказать, что все проходит у Intel легко и гладко. В своей маркетинговой политике компания придерживается принципа "кто раньше выйдет на рынок, тот и будет им владеть". В результате стали уже традиционными упреки в адрес Intel по поводу того, что она выпускает на рынок "сырую" продукцию.
Действительно, почти для всех первых выпусков новых моделей Intel характерны проблемы - перегрев, ошибки и т. д. Но все-таки стратегия опережения имеет свой смысл. Для массового внедрения новых микропроцессоров пользователю требуется немало сопутствующих элементов: материнские платы, программное обеспечение и т. п. На их создание необходимо время, за которое Intel успевает довести свои изделия до нужной кондиции и одновременно снизить их стоимость до приемлемой величины. Все это мы можем сейчас наблюдать на примере Pentium Pro: официальное объявление о его выпуске год назад фактически означало начало довольно длительного этапа подготовки процессора для будущего широкого внедрения.
Возможно, одной из наиболее существенных причин успешной деятельности на рынке ПК является то, что Intel раньше других производителей "железа" поняла, что в связке "аппаратура - ПО" произошел серьезный сдвиг в сторону повышения роли программного обеспечения. В связи с этим представляет интерес официальная позиция Intel по поводу каверзного вопроса: "Сколько можно цепляться за древнюю архитектуру x86?" Ответ компании звучит примерно так: "Intel - очень мощная корпорация, которая практически полностью контролирует рынок микропроцессоров для ПК. Но она не может пойти на риск отказаться от богатства программного обеспечения, накопленного за время существования процессоров x86". По этому поводу можно вспомнить мнение мирового авторитета в области микропроцессоров Майкла Слейтера: "Совместимость с существующим программным обеспечением важнее, чем производительность". По единогласному мнению экспертов, именно фактор "преемственности ПО" был и остается одним из решающих в схватке x86 с PowerPC.
Следует также напомнить, что последние годы вся деятельность Intel на компьютерном рынке проходит в рамках мощного альянса Wintel, т. е. Windows (Microsoft) + Intel. Причем самое поразительное заключается в том, что формально такого союза не существует, но фактическая общность оказалась крепче любой официально установленной.
По сути дела, именно объединенная команда Wintel ведет сегодня наступление на Unix-системы. Причем ключевая роль здесь принадлежит, наверное, программной составляющей, поскольку появление массового и дешевого ПО должно привести к заметному снижению суммарной стоимости вычислительных средств. Видимо, как раз это вызывает наибольшие опасения у фирм верхнего эшелона компьютерного рынка (Sun, DEC, SGI и пр.), не имеющих такого опыта работы с массовым пользователем в условиях более низкой нормы прибыли.
Intel расширяет сферу интересов
Еще несколько лет назад название Intel было известно довольно узкому кругу компьютерных специалистов. Сегодня же складывается впечатление, что компанию Intel знают даже те, кто весьма далек от компьютерной тематики. Не случайно в опубликованном в июне этого года в американском журнале "Times" традиционном ежегодном списке десяти самых влиятельных граждан США впервые наряду с политическими деятелями, финансовыми и промышленными магнатами фигурируют руководители компьютерных компаний Intel (Энди Гроув) и Microsoft (Билл Гейтс).
Судя по всему, Intel решила, что роль "серого кардинала" ей более не к лицу и пора стать официальным лидером (по крайней мере одним из лидеров) всего компьютерного сообщества. Если проследить за выступлениями руководителей компании, то можно увидеть, что речь в них уже давно не идет о микропроцессорах как таковых: там обсуждаются глобальные тенденции компьютерно-сетевого мира.
В кратком представлении профиля деятельности компании, которое имеется в конце любого ее документа, к словам "крупнейший в мире производитель микропроцессоров" за последние два года добавилось еще и "один из ведущих производителей оборудования для ПК, компьютерных сетей и средств связи". А летом этого года введено очередное дополнение: "Путем внедрения инновационных технологий Intel стремится расширить возможности применения Internet". Каким будет следующее пополнение этого списка?
Архитектура микропроцессоров - некоторые термины
CISC (Complex Instruction Set Computing) - архитектура полного набора команд. Микропроцессор CISC использует набор машинных инструкций, полностью соответствующий набору команд языка ассемблера. Вычисления разного типа в нем могут выполняться различными командами, даже если они приводят к одному результату (например, умножение на два и сдвиг на один разряд влево). Такая архитектура обеспечивает разнообразные и мощные способы выполнения вычислительных операций на уровне машинных команд, но для выполнения каждой команды обычно требуется большое число тактов процессора.
RISC (Reduced Instruction Set Computing) - архитектура сокращенного набора команд. Данный тип микропроцессора нацелен на быструю и эффективную обработку небольшого набора команд. Архитектура RISC основана на том, что процесс декодирования и выполнения большинства команд должен быть достаточно прост, и в результате набор команд RISC-микропроцессора ограничен. В ходе работы такой процессор оптимизирует каждую команду для быстрого выполнения, обычно в пределах одного такта. Однако при выполнении сложных команд RISC-микропроцессоры работают медленнее, чем CISC-микропроцессоры общего назначения, поскольку эти команды необходимо разбивать на более простые.
Superpipelining - суперконвейерная обработка. Способ предварительной обработки, при котором несколько стадий работы микропроцессора, например выборка, декодирование, исполнение и обратная запись, разделяются на два или более этапов конвейерной обработки, что обеспечивает высокую производительность.
Superscalar - супермасштабный, суперскалярный. Суперскалярная архитектура микропроцессора позволяет с помощью встроенного планировщика выполнять много команд за один цикл синхронизации. Планировщик просматривает вперед очередь команд, определяет группы команд, которые не будут вступать в конфликт друг с другом и не требуют одновременного использования какого-либо ресурса, и пропускает такие группы команд на исполнение.