Научная статья на тему '"горячие темы" eda индустрии по материалам новостей портала dacafe. Com'

"горячие темы" eda индустрии по материалам новостей портала dacafe. Com Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
125
35
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Долинский Михаил

По просьбе редакции я попытался несколько изменить формат представления материала, более глубоко сконцентировавшись на наиболее актуальных для отчетного периода материалах. Среди представляемых горячих тем: конфигурируемые процессоры, ESL-проектирование, а также 64-разрядные процессоры и Linux.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «"горячие темы" eda индустрии по материалам новостей портала dacafe. Com»

Компоненты и технологии, № 6'2004 Софт

Горячие темы EDA-индустрии

по материалам новостей портала DACafe.com

По просьбе редакции я попытался несколько изменить формат представления материала, более глубоко сконцентировавшись на наиболее актуальных для отчетного периода материалах. Среди представляемых горячих тем: конфигурируемые процессоры, ESL-проектирование, а также 64-разрядные процессоры и Linux.

Михаил Долинский

dolinsky@gsu.unibel.by

1. Конфигурируемые процессоры

В апреле 2004 года состоялась первая международная конференция по SoC («системы-на-кристал-ле»). Она состояла из 5 сессий, и на каждой сессии было по 4 докладчика. Поэтому темы рассматривались глубоко и широко. На конференции были представлены наиболее применяемые конфигурируемые процессоры как база для создания современных SoC. О них мы и расскажем.

1.1. Tensilica — конфигурируемый и расширяемый процессор

Tensilica была основана в 1997 году. Фирма получила 4 раунда финансирования (в общей сложности $64 млн). Среди инвесторов — Altera Corporation, Cisco Systems, Conexant Systems и множество венчурных фирм.

Специалисты Tensilica заметили, что большинство SoC состоит из RTL-блоков, реализующих специфическую для данного приложения функциональность с целью повысить производительность внутрикристального процессора. Эти RTL-блоки состоят из машины состояний (10% логики и 90% риска) и вычислительных элементов (90% вентилей и 10% риска). Поэтому они предложили заменить эти RTL-блоки разработкой firmware и определяемых пользователем исполнительных устройств и регистров, дополняющих предопределенный процессор. Таким образом, Xtensa фирмы Tensilica — это конфигурируемая процессорная архитектура для встроенных SoC-приложений, базирующаяся на конфигурируемом, расширяемом и синтезируемом процессорном ядре.

Запатентованная базовая архитектура содержит 80 RISC-инструкций (16- и 24-разрядных), оптимизированных для встроенных систем, и включает 32-разрядное АЛУ, 32 или 64 32-разрядных регистра общего назначения и 6 специальных регистров.

Системные архитекторы, разработчики аппаратного и программного обеспечения используют вебинтерфейс Xtensa Processor Generator (XPG) для вы-

бора опций архитектуры и иерархии памяти. Разработчики могут также описать дополнительные типы данных, инструкции и исполнительные устройства с помощью специального языка TIE (Tensilica Instruction Extension), сходного с Verilog. Например, с помощью TIE можно описать новые регистры, регистровые файлы, 24-разрядные данные для аудиоприложений, 56-разрядные данные для приложений безопасности и 256-разрядные данные для обработки пакетов. После этого XPG в течение нескольких часов сгенерирует полное синтезируемое описание аппаратного обеспечения и скорректированное системное программное обеспечение. Системное программное обеспечение включает средства разработки прикладного программного обеспечения, симулятор, профилировщик и библиотеки для поддерживаемых RTOS. Среда разработки Xtensa Xplorer IDE частично основывается на платформе с открытыми исходными текстами ECLIPSE.

Используя профилировщик, разработчики могут анализировать эффективность прикладной программы и оценивать, насколько TIE помог повысить производительность. Разработчики могут исследовать различные архитектуры, используя XPG.

Средства разработки прикладного программного обеспечения для Xtensa включают C/C++ компилятор (gcc), ассемблер, линкер и отладчик (gdb). Эти продукты генерируются параллельно с описанием процессора и потому являются «корректными по построению». Они автоматически настраиваются и оптимизируются на использование определенных пользователем инструкций.

Специалисты из Tensilica привели несколько примеров практических разработок, включая GSM-аудиокодек, используемый в сотовом телефоне. Профилирование кода, исполняемого на RISC-процессоре, показало, что 80% времени тратилось на исполнение операций умножения. Добавление умножителя в качестве конфигурируемой опции сократило количество тактов, требуемых на исполнение кода, в 7 раз. А использование вместо умно-------www.finestreet.ru------------------------

Компоненты и технологии, № 6'2004

жителя устройства умножения с накоплением сумм сократило время исполнения в 12 раз. Tensilica показала впечатляющие результаты на тестах EEMBC. В среднем пользователи Tensilicа используют 5 процессоров Xtensa в одном SoC-проекте.

1.2. Elixent — конфигурируемый массив процессоров

Elixent была основана в октябре 2000 года в Бристоле (Англия) выделившись из Hewlett-Packard Research Laboratories. Четверо основателей Elixent четыре года работали в HP над разработкой концепции платформы RAP (Reconfigurable Algorithm Processing). Вначале Elixent получила $14 млн от венчурной фирмы 3i Group и промышленных инвесторов HP и Actel. В июле 2003 года Elixent получила второй раунд финансирования в размере $10 млн от венчурных фирм.

Первая публичная демонстрация технологии RAP состоялась в октябре 2002 года в Японии на выставке CEATEC. Elixent выполнила JPEG-декодер на одном кристалле. Демонстрация показала перспективы повышения производительности и сокращения размеров кристаллов при использовании технологии RAP.

В январе 2003 года Elixent подписала соглашение с Toshiba о совместной разработке SoC-плафтормы, которая интегрирует технологию D-Fabric от Elixent с конфигурируемым про-цесорным ядром MeP фирмы Toshiba.

D-Fabric включает в себя 4-разрядные АЛУ, регистры и «переключатели» ('switchbox'), которые объединены в блоки ('tile'). Сотни или тысячи таких блоков формируют 'D-fabric array'. Необходимые функции распределяются по этим блокам и, таким образом, алгоритмы могут быть реализованы в аппаратном обеспечении. В результате — выигрыш в производительности, потреблении энергии, размере кристалла и гибкости.

RAP — это мощный способ аппаратной реализации алгоритмов, требующих высокой арифметической производительности и низкой стоимости.

АЛУ в D-Matrix располагаются в шахматном порядке, перемежаясь со 'switchboxes', которые служат как средство передачи информации от одного АЛУ к другому или как 64 бита конфигурируемой памяти. Кроме того, в случае необходимости могут добавляться 256 байтов памяти в каждый блок. Такая схема обеспечивает чрезвычайную гибкость, поскольку каждое АЛУ может обмениваться информацией с любым из четырех соседних АЛУ.

Алгоритм обработки данных может задаваться в Verilog, Handel-C или MATLAB. Для сложения 8-разрядных чисел нужно задействовать два АЛУ, для сложения 32-разрядных чисел — 8 АЛУ.

Стандартный способ распространения технологии RAP — это IP-компонент DFA-1000, который позволяет пользователям интегрировать массив D-Fabric непосредственно в собственные чипы.

1.3. ARC International — конфигурируемые пользователем ядра

Первоначально ARC Cores была одним из подразделений фирмы Argonaut — разра-

ботчика игровых приставок. В 1998 году ARC изобрела конфигурируемое микропроцессо-орное ядро, которое было лицензировано фирмой Nintendo. В 1999 году ARC выпустила полную IDE, а затем RTOS и другое программное обеспечение. В 2003 году доходы компании превысили $10 млн.

ARCtangent — это 32-разрядное конфигурируемое пользователем ядро микропроцессора, которое можно использовать в ASIC, SoC, ASSP и FPGA, поскольку он распространяется как синтезируемое HDL-описание. ARCtangent реализован как четырехстадийный конвейер, его система команд оптимизирована под генерацию плотного кода и потому содержит как 16-, так и 32-разрядные инструкции. Большинство инструкций исполняется за один цикл и имеет опциональное условное исполнение. Разработчики могут модифицировать и дополнять систему команд для собственных приложений в целях оптимизации производительности исполнения, ввода-вывода, потребления энергии, размера кристалла или стоимости. Разработчики могут добавить DSP-функциональность или объединять DSP- и RISC-функциональность в одном процессоре. Благодаря множеству интерфейсов ввода-вывода на базе процесоров ARC удобно строить мультипроцессорные системы.

Процессор поддерживается средствами разработки MetaDeveloper, которые включают: компилятор C/C++, ассемблер, линкер, профайлер, отладчик и операционную систему реального времени. Отладчик поддерживает мультипроцессорную отладку.

ARC также поставляет ARCangle — плату разработки на базе FPGA, которая поддерживает конфигурируемость и расширяемость процессора ARC.

1.4. picoChip — реконфигурируемые процессоры цифровой обработки сигналов

picoChip основана в сентябре 2000 года в Bath, UK. Она получила первый раунд финансирования в июне 2001 года в размере $7 млн и еще $17 млн — в октябре 2003.

picoChip — это fabless-компания, нацеленная на рынок базовых станций 3G. Типичный проект базовой станции основывается на выполнении специфических DSP-операций и сложных протоколов управления. Традиционно базовые станции исполнялись на ASIC/FPGA вместе с DSP-процессорами. picoChip предлагает масштабируемую мультипроцессорную микросхему, интегрирующую все необходимое.

picoArray — это массив параллельных процессоров (до 400 на кристалле), объединенных 32-разрядными шинами. Каждый из процессоров 16-разрядный, с собственной локальной памятью программ и данных. Процессор эквивалентен ARM9, если он ориентирован на выполнение задач управления, или TI C5x, если он предназначен для выполнения функций DSP. Поскольку все процессоры могут функционировать параллельно, а внутрикристальные шины обеспечивают производительную передачу данных, то picoArray способен выполнять более 100 млрд операций в секунду.

Каждый процессор может быть запрограммирован на С или ассемблере. Для описания взаимодействия процессоров можно использовать VHDL. Такой подход позволяет эффективно разделять алгоритмы на процессоры.

1.5. IPFlex — динамически реконфигурируемые процессоры

Fabless-компания IPFlex основана в марте 2000 года в Японии. Первоначальное финансирование — $12 млн. В декабре 2002 года IPFlex и Fujitsu объявили о начале сотрудничества. В марте 2004 года они анонсировали коммерческий выпуск совместно разработанного процессора DAP/DNA-2 (Digital Application Processor/Distributed Network Architecture).

DAP/DNA — это динамически реконфигурируемый процессор, включающий два главных компонента: высокопроизводительный RISC-процессор (DAP) и динамически реконфигурируемое ядро (DNA). Такая платформа обеспечивает аппаратную производительность и программную гибкость. Вместе с DAP/DNA поставляется интегрированная среда разработки DAP/DNA-FW II. Она обеспечивает компиляцию алгоритмов, написанных на MATLAB/Simulink или C.

DAP/DNA-2 содержит множество процессорных элементов (PE) и может оптимально конфигурировать внутренние цепи в соответствии с потребностями приложения. Функции каждого PE, так же как и маршруты соединений PE, могут быть реконфигурированы не только на этапе создания системы, но и в условиях ее реальной эксплуатации.

Использование технологии динамической реконфигурации дает возможность выполнять множество различных функций на одном DAP/DNA-2, что ранее требовало нескольких специализированных чипов. Кроме того, единый алгоритм может быть распределен между PE непосредственно во время выполнения.

2. ESL-проектирование

Это уже выглядит аксиомой, что команды проектировщиков получают преимущество в случае использования технологий, которые позволяют на как можно более ранней стадии проекта принимать решение о разделении функций между программным и аппаратным обеспечением и производить их параллельную реализацию.

Традиционно разработчики программного обеспечения значительную часть своей работы выполняют после появления прототипов аппаратного обеспечения. С учетом высокой стоимости и серьезных временных затрат на разработку аппаратного обеспечения, чаще всего возникающие проблемы ложатся на плечи разработчиков программного обеспечения на последнем этапе цикла разработки. Это неблагоприятно сказывается на производительности, функциональности и выполнении работы в поставленные сроки.

Electronic System Level (ESL) Design — или проектирование на системном уровне — проектирование «сверху вниз», базирующее---------------------------------- 131

Компоненты и технологии, № 6'2004

ся на симуляции, как раз и призвано решать означенные выше проблемы. Ключ к реализации ESL-подхода — моделирование на более высоких уровнях абстракции. Проще и быстрее разрабатывать модели на более высоких уровнях абстракции, нежели на уровне регистровых передач (RTL — register transfer level). Кроме того, симуляция выполняется на порядки быстрее, поскольку не симулируются несущественные для данного уровня абстракции детали. Такой подход в значительной степени увеличивает возможности симуляции и анализа альтернативных решений. Идеальной выглядит методология последовательного перехода на более низкие уровни абстракции: от функциональной модели, не учитывающей временные ограничения, к транзактной модели, затем к поведенческой аппаратной модели, затем к модели с учетом назначений контактов и поциклово точной, от нее — к RTL-модели. Первым этапом в потоке ESL-проектирования является определение требований (requirements) к проекту. Требования устанавливаются конкретным заказчиком или определяются в результате соответствующих маркетинговых исследований.

Далее проводится проектирование и верификация алгоритмов, как правило, с помощью языка программирования C или с помощью специальных средств типа MathLab/ Simulink от MathWorks или SPW от CoWare. На этом этапе с помощью текстовых или графических средств создаются исполняемые функциональные спецификации, которые описывают поведение проекта в рамках заданных ограничений. Функциональная верификация технологически независима и сегодня часто выполняется с помощью SystemC. Такое описание лишено деталей реализации. Решение о том, какие функции выполнять программно, а какие аппаратно, — отложено. Такая исполняемая функциональная спецификация может быть использована для минимальной верификации того, что проект соответствует функциональным требованиям и может служить главным средством тестирования или «золотой моделью» для последующих стадий проектирования.

Следующий шаг — процесс разбиения функциональности между программным и аппаратным обеспечением, который должен определить количество и типы процессоров, назначить функции на эти процессоры так, чтобы проект соответствовал требованиям по производительности, стоимости, размерам кристалла и потребляемой энергии. Оптимальное решение является взвешенной функцией этих метрик. В некоторых случаях наиболее важной является производительность, а в некоторых — стоимость. С математической точки зрения задача выглядит как классическая задача целочисленного программирования, где определена целевая функция, и решение должно соответствовать ограничениям. На практике автоматическое распределение функций не принято. Чаще всего разбиение начинают с назначения всех функций программному обеспечению и исполнению ПО на целевом процес-

соре (или его модели) для определения производительности. Функции, исполнение которых требует большей производительности, переносятся на аппаратный уровень, и так до тех пор, пока не будут достигнуты ограничения, установленные исходными спецификациями. Этот процесс управляется интерактивно, эвристически и опытным путем.

Поставщики ESL отмечают высокую производительность симуляции как основное средство для расширения исследуемого архитектурного пространства. Пользователь может изучать влияние параметров проекта (разрядности шины, производительности процессора и др.), интерактивно изменяя параметры модели.

Вопросы, возникающие на этапе ESL-проектирования, таковы: что будет симулироваться, на каком уровне абстракции, какова точность и скорость симуляции, что будет подаваться на вход, какие языки используются и т. д. Очень важно также, в какой степени результаты предыдущей стадии используются на последующих этапах. Никто не хочет дублировать работу. В частности, серьезную озабоченность вызывает трудоемкость перехода от разработанных поведенческих описаний к HDL/RTL-описаниям.

Ответ на этот вопрос различен у различных производителей средств ESL, таких как Summit Design, CoFluent, Vast Technology, CoWare.

Summit Design ведет свою историю с 1991 года, тогда это было SEE Technologies, израильское подразделение Daisy Systems. Название Summit Design возникло в 1996 году. В 2001 году Summit Design объединилась с Viewlogic Systems, образовав новую компанию Innoveda. В апреле 2002 года управление и инвесторы выкупили Summit Design у Innoveda и вновь продекларировали Summit Design как независимую компанию.

В настоящее время Summit Design имеет 76 сотрудников, она прибыльна и имеет годовой доход $14 миллионов в 2003 году. У Summit Design 900 пользователей, и ее продукты инсталлированы на 26 тыс. рабочих мест. Среди основных ESL-продуктов Summit Design такие средства, как Visual Elite, FastC, System Architect и Virtual CPU.

Visual Elite — это версия следующего поколения продукта Visual HDL, который обеспечивает текстовый и графический ввод проектов, что помогает разработчикам, используя любой существующий код VHDL или Verilog, преобразовать его к легко понимаемому графическому представлению в виде функциональных схем, диаграмм состояний и блок-схем.

Visual HDL транслирует верифицированный проект в синтезируемый HDL-формат, а Visual Elite позволяет пользователям создавать отдельные компоненты проекта с помощью C/C++ или SystemC и соединять их с компонентами, созданными с помощью HDL.

FastC позиционируется Summit как ультра-быстрая платформа верификации проектов, созданных на базе SystemC. Стиль кодирования, навязываемый FastC, позволяет разработчикам выполнять описания на уровне ре-

гистровых передач, подобно тому, как они делают это с помощью VHDL или Verilog, одновременно получая преимущества более высокой производительности кода, скомпилированного в хост-архитектуру. При этом связи между компонентами компилируются статически, что обеспечивает более высокую скорость симуляции. Работая с интерактивными средствами отладки Visual Elite, пользователи могут устанавливать точки останова, исполнять по шагам, трассировать сигналы и структуры данных в графическом виде вне зависимости от исходного языка. Summit обеспечивает автоматическое отображение из FastC-описаний в RTL-HDL-описаиня, генерируя для них синтезируемые HDL-представления.

С помощью System Architect пользователи могут строить, симулировать и анализировать архитектурные прототипы аппаратных и программных систем. System Architect позволяет отслеживать движение данных по системе. Имеется библиотека параметрических API-функций, упрощающих моделирование микропроцессоров, шин, памяти и устройств ввода-вывода. Пользователи могут анализировать характеристики производительности разрабатываемой системы, такие как задержки на путях данных, процент задействования компонентов, производительность обработки данных.

После того, как выполнено распределение функций между программным и аппаратным обеспечением, для интеграции логического симулятора и средств исполнения программного обеспечения можно использовать эффективное средство Summit Virtual CPU, являющееся полной средой для совместной верификации программного и аппаратного обеспечения. Прежде всего, Virtual CPU имеет среду исполнения программного обеспечения системы на целевом CPU. Эта система интегрирована с логическим симулятором аппаратного обеспечения, которое отвечает в соответствии с циклами шины, как если бы они были инициированы целевым CPU. Целевой процессор заменяется BFM (Bus Functional Model) — моделью процессора и его виртуль-ной моделью, исполняемой на хост-процессоре. Виртуальная модель может исполняться как родной код, работающий на хост-процессоре, либо как симуляция целевого кода на ISS (Instruction Set Simulator).

VaST Systems Technologies была основана в 1997 году сотрудниками University of New South Wales (Австралия). Ее штаб-квартира сейчас находится в Силиконовой Долине. Последнее инвестиции — $6 млн в мае 2003 года. В фирме 33 сотрудника, еще 12 занимаются дистрибуцией продукции в Японии.

В технологии системного проектирования, поддерживаемой Vast, основой всему является Virtual Prototype System (VPS). VPS состоит из одной или более Virtual Processor Model (VPM), модели внутренних взаимодействий и моделей периферийных устройств. Vast использует собственную Communication and Infrastructure Fabric (CIF) для моделирования взаимодействий — от простого проводного соединения до сложных параллельных шин и сетей. По утверждению специалистов Vast,

Компоненты и технологии, № 6'2004

они моделируют межсоединения в 10-100 раз быстрее конкурентов. VPM — это поведенческие модели, непосредственно исполняющие программы. Vast разработала библиотеку примерно из 25 наиболее распространенных процессоров. Дополнительные модели процессоров разрабатываются по заказу.

CoMET — это среда параллельной разработки программного и аппаратного обеспечения, распространяемая Vast Systems.

METeor — это среда разработки и отладки программного обеспечения реального времени, опирающаяся на CoMET.

CoWare основана в 1996 году бывшими сотрудниками бельгийского IMEC (Interuniversities MicroElectronics Center). IMEC — ведущий мировой независимый исследовательский центр, нацеленный на разработку перспективных поколений чипов и систем. В соответствии с долгосрочным соглашением CoWare имеет исключительные права на запатентованные IMEC технологии. Свой первый продукт CoWare выпустила в 1998 году.

В 1999 году CoWare выдвинула вместе с Synopsis инициативу Open SystemC Initiative (OSCI). Президент CoWare Гидо Арну (Guido Arnout) в настоящее время является и президентом OSCI. В сентябре 2003 года Cadence и CoWare сформировали альянс, а Cadence сделала в CoWare значительные инвестиции. В соответствии с соглашением, CoWare сфокусирует свои усилия на ESL-средствах, как front-end разработках к Cadence Incisive Verification Platform. Кроме того, в соответствии со специальным лицензионным соглашением группа разработчиков Cadence, занимавшихся Signal Processing Worksystem (SPW), передана CoWare. В настоящее время на CoWare около 180 сотрудников, она получила за последние годы инвестиции в размере $30 млн от таких фирм, как ARM, Cadence, STMicroelectronics и Sony.

3. 64-разрядные процессоры и Linux

64-разрядные процессоры появились на рынке рабочих станций в середине девяностых годов (SUN Ultra Sparc, HP PA-RISC, IBM Power) и поддерживаются большинством EDA-поставщиков. В мире же ПК на базе процессоров Intel 64-разрядная архитектура относительно нова. Зададимся вопросом — а что дают 64-разрядные процессоры по сравнению с 32-разрядными? Как известно, n-разрядный процессор может обрабатывать одновременно n-битное число в течение одного такта. То есть 32-разрядный процессор может обрабатывать числа до 232, то есть примерно 4,3 миллиарда. Для сравнения, 64-разрядный процессор может обрабатывать числа до 264, то есть 18,4 квантильона (18 400 000 000 000 000 000). Это дает огромное преимущество 64-разрядным процессорам при обработке больших чисел, что имеет место во множестве прикладных областей.

Целочисленная арифметика очень больших чисел в 64-разрядных регистрах исполняется значительно быстрее, чем в 32-разрядной архитектуре. Однако вещественная арифметика и в 32-разрядных процессорах

выполняется на специальных устройствах повышенной разрядности.

Еще более значительное влияние оказывает 64-разрядная архитектура в терминах адресного пространства. В 32-разрядных процессорах задаче доступно только 4 гигабайт памяти. В 64-разрядных процессорах задаче доступны 16 экстрабайт или 16 миллиардов гигабайт памяти. На первый взгляд кажется, что 4 гигабайта — это огромная память. Но она должна содержать операционную систему, прикладные программы и данные для них. Если их суммарное количество превышает доступную оперативную память, то часть приходится «свопировать» (сохраняя на диск и восстанавливая с диска по мере необходимости). Время доступа к оперативной памяти на несколько порядков меньше, чем время доступа к данным на диске.

В определенных приложениях всю базу данных или огромные файлы удобно иметь в едином виртуальном пространстве или даже в физической оперативной памяти для обеспечения быстрого доступа.

Некоторые приложения при выполнении симуляции оперируют с большими массивами данных, которые должны непрерывно находится в оперативной памяти.

Первый 64-разрядный процессор Alpha выпустила Digital Equipments Corporation (DEC).

В мае 2001 года Intel выпустила 64-разрядный Itanium для персональных компьютеров, который оказался не очень успешным по ряду причин, в том числе из-за известной ошибки в арифметике с плавающей точкой.

В июле 2002 года Intel выпустила Itanium 2. В апреле 2003 года AMD выпустила семейство 64-разрядных процессоров AMD64, состоящее из двух членов — Opteron и Athlon. Причем Intel и AMD имели различные рыночные цели.

Intel нацеливала Itanium на высокопроизводительные вычисления, которые выполняются под операционной системой UNIX. Эта 64-разрядная архитектура получила название IA-64 и была несовместима с нынешним программным обеспечением для 32-разрядных процессоров. Intel не считала это проблемой, поскольку изначально ориентировала процессор Itanium на рынок чистых 64-разрядных вычислений. И в 2002 году Intel продала 100 тыс. чипов Itanium.

AMD избрала менее революционный подход и предложила чип «двойного применения». AMD разработала 64-разрядное расширение архитектуры и системы команд x86, которое назвала x86-64. В рамках архитектуры x86-64 AMD также удвоила число регистров общего назначения. AMD поддерживает следующие режимы: legacy, в котором непосредственно исполняются 16- и 32-разрядные приложения, compatibility, в котором 32-разрядные приложения выполняются без перекомпиляции под 64-разрядной операционной системой, и 64-bit, который требует перекомпиляции под 64-разрядную архитектуру. Последние два режима могут функционировать параллельно. В режиме compatibility 32-разрядное приложение исполняется

на полной скорости непосредственно в аппаратном обеспечении без эмуляции.

Во время выступления на Intel Developers Forum в феврале 2004 года Крейг Баррет (глава Intel) объявил, что новые процессоры Xeon и Prescott будут поддерживать все программное обеспечение, которое поддерживают сейчас Athlon и Opteron фирмы AMD.

Тестирование показывает значительное преимущество в производительности и цене ПК Linux против прежних рабочих станций на базе UNIX.

В январе 2004 года Cadence анонсировала поддержку 64-разрядной ОС Linux на базе процессоров от AMD и Itanium 2 — для разработчиков огромных и сложных SoC.

В ноябре 2003 года Synopsys анонсировала поддержку архитектуры AMD64, а в сентябре

2003 года Mentor Graphics анонсировала поддержку DFT для архитектуры AMD64, а Magma сообщила о портировании всех своих продуктов на 64-разрядный процессор Opteron.

EDA Consortsium (www.eda.org) рекомендовал нацеливаться на Red Hat Enterprise Linux 3 с апреля 2004 года и Red Hat Enterprise Linux 4 — с мая 2005 года. Synopsis провела опрос своих пользователей в октябре 2003 года. Ответы на вопрос: «какой процент ваших EDA-работ требует 64-разрядной обработки?» распределились так:

• никто не ответил «менее 10%»;

• 80% ответили «менее 45%»;

• 5% ответили «более 75%».

Опрос также показал рост спроса на 64-разрядную обработку. На вопрос «какая у вас EDA-платформа номер один?» ответы распределились так: 70% UNIX и 30% Linux. В то же время на будущий год по тому же вопросу респонденты прогнозируют 58% Linux и 30% UNIX. Synopsis считает, что большие проекты просто не могут поместиться в 32-разрядных приложениях, поэтому Synopsis поддерживает 64-разрядную обработку в UNIX и Linux.

Cadence перенесла свои продукты в 64-разрядную ОС Linux только в январе 2004 года. Поэтому подавляющее большинство 64-разрядных пользователей Cadence сейчас используют UNIX. Более того, 90% пользователей Cadence используют 32-разрядные процессоры и приложения. По представлениям Cadence, это связано с тем, что на 64-разрядных серверах выполняются наиболее сложные работы, но для управления ими используются 32-разрядные компьютеры. Кроме того, проекты, которые помещаются на 32-разрядных компьютерах, там и реализуются, поскольку у пользователей сложилось мнение, что там они выполняются быстрее. Всего 75% пользователей продуктов Cadence работает под UNIX и 25% — под Linux. Однако количество использующих Linux быстро растет.

Linux — это операционная система, которая изначально была хобби Линуса Тор-вальдса — молодого студента из университета Хельсинки (Финляндия). Версия 1.0 ядра Linux была выпущена в 1994 году. С годами Linux собрала поддержку тысяч разработчи-

Компоненты и технологии, № 6'2004

ков ядра, приложений и документации. Сегодня Linux имеет все возможности современной UNIX-системы, включая истинную многозадачность, виртуальную память, разделенные библиотеки, загрузку по требованию, собственное управление памятью, поддержку TCP/IP.

По данным на 2002 год в финансовых сферах 49% организаций собираются использовать Linux, а 39% — уже используют. Среди основных побудительных причин перехода на Linux: сокращение общих расходов (54%), сокращение стоимости лицензирования программного обеспечения (24%), улучшение контроля разработки (22%), повышенная безопасность (22%).

Кто за что отвечает в Linux?

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

За ядро отвечает Линус Торвальдс. Разработчики Linux самоорганизовались в соответствии со своими интересами и знаниями в команды, отвечающие за отдельные подсистемы. Каждая из таких подсистем имеет эксперта, называемого maintainer, который организует и контролирует работу остальных членов команды. Maintainer анализирует исходные тексты, которые к нему присылаются, а также организует широкое рецензирование присылаемого кода для того, чтобы обеспечить более высокое качество результата. Финальный арбитр, ответственный за то, что включается в Linux — Линус Торвальдс. Все исходные тексты Linux — как уже вклю-

ченные в систему, так и проходящие процедуру рецензирования и проверки, доступны on-line. В то же время, создание и продажа дистрибутивов Linux стало многомиллионным бизнесом. Доступны коробочные версии Linux от таких компаний как Red Hat, SuSE, MandrakeSoft. Можно загрузить Linux с множества сайтов. Для Linux по той же технологии открытых исходных текстов разрабатывается множество приложений, в том числе оболочки KDE и GNOME, офисные продукты (OpenOffice.org) и браузеры, например, Mozilla.

Red Hat, основанная в 1993 году, сегодня является ведущим поставщиком Linux. На основе первого продукта Red Hat Linux сегодня развиваются два: Red Hat Enterprise Linux (на продажу) и Fedora Project (в исследовательских целях). Red Hat начала массовую продажу и поддержку ОС Linux в 1999 году. Доходы Red Hat за 2003 год — $126 млн. Годовой прирост доходов ~90%. С момента выпуска в марте 2003 года совершено 160 тыс. продаж Red Hat Enterprise Linux. Эта версия поддерживает 5 различных процессорных архитектур (Intel x86, Itanium, AMD64, IBM Power PC и IBM Mainframe). Семейство Red Hat Enterprise Linux имеет трех членов: AS (Advanced Server), который поддерживает все 5 архитектур, ES (Entry/ Mid Server) — только Intel x86, и WS (Workstation) — три не-IBM-архитектуры.

В дополнение к Linux, Red Hat предлагает множество приложений, таких как средства разработчиков программного обеспечения для Linux, файловые оболочки, серверы порталов и средства разработки веб-приложений.

SUSE LINUX AG была основана 1992 году в Германии. SUSE утверждает, что ее версия LINUX установлена на 15 миллионах компьютеров. SUSE имеет около 380 сотрудников в четырех странах. SUSE партнерствует с IBM Global Services, SAP, HP Services и Fujitsu Siemens Computers. В ноябре 2003 года Novell объявила о том, что достигнуто соглашение по покупке ею SUSE Linux за $210 млн. Сделка была завершена в январе

2004 года. Novel уже объявила, что IBM намерена инвестировать в этот проект $50 млн.

Linux распространяется по лицензии GNU GPL (General Public License). Лицензия GPL дает право использовать, модифицировать и распространять программный код только если оставляются открытыми все исходные тексты нового продукта.

Сам проект GNU был начат в 1984 году для разработки полностью бесплатной UNIX-подобной операционной системы. SCO имет права на UNIX и пытается объявить Linux «вне закона». Sun Microsystems и Microsoft недавно купили лицензию на UNIX у SCO. HP, Novel и Red Hat намерены оспаривать в суде права SCO на Linux.

i Надоели баннеры? Вы всегда можете отключить рекламу.