что такое контроллер lpc
Что такое контроллер lpc
LPC (Low Pin Count, малое число контактов) — шина, разработанная компанией Intel и предназначенная главным образом для подключения стандартных устройств, доставшихся современным персональным компьютерам «в наследство» от ранних ПК и обычно называемых унаследованными (legacy). Раньше такие устройства подключались к шине ISA.
Целесообразность разработки новой шины объясняется следующими основными причинами:
Шина LPC имеет всего 7 обязательных и 6 необязательных сигналов. Обмен данными по ней идёт в синхронном режиме с частотой 33 МГц (шина ISA является асинхронной, что также усложняет работающее с ней оборудование), причём каждый так передаётся 4 информационных или управляющих бита. Разрядность адреса увеличена до 32 бит, что позволяет задатчикам шины прямо обращаться к адресному пространству памяти объёмом 4 Гбайта (у шины ISA разрядность адреса составляла 24 бита, что ограничивало возможности адресации величиной 16 Мбайт). Реальная пропускная способность LPC, составляющая 6,7 Мбайт/с, ненамного уступает таковой у ISA (до 8 Мбайт/с) и совершенно достаточна для одновременной работы всех подключенных к ней устройств (по расчётам Intel, они используют порядка 75% максимальной пропускной способности).
С точки зрения программиста шина LPC как бы отсутствует: программы просто работают с регистрами подключенных к ней устройств. Хотя у LPC отсутствуют традиционные сигналы запросов прерываний и прямого доступа к памяти, эти возможности поддерживаются, причём создаётся иллюзия применения обычной шины ISA. Например, с точки зрения программиста подключенные к LPC порты и контроллер интерфейса PS/2 генерируют обычные для них запросы прерываний IRQ1, IRQ3, IRQ4, IRQ12, хотя физически эти линии отсутствуют. Определять наличие или отсутствие тех или иных устройств, подключенных к LPC, необходимо соответствующими функциями BIOS. Зачастую информация о них содержится в таблицах ACPI, поэтому анализ конфигурации обычно целесообразно начинать именно с их разбора.
Месяц HAL продолжается: HAL для LPC
В продолжение месяца постов о HAL решил написать и о своей библиотеке, правда, в отличие от предыдущих она в основном специализируется на контроллерах от NXP. Библиотека не использует дополнительных прослоек и работает напрямую с регистрами. Она состоит из двух обязательных частей, которые собираются с помощью GCC ARM, make и kconfig, и затем статически линкуются с основным проектом.
mbed LPC1768 + IAR + CMSIS-DAP (шаблон проекта)
Всем привет!
Думаю что тем, кто среди вас является поклонниками IAR и у кого внезапно завалялся mbed LPC1768 (он же mbed обыкновенный), может пригодиться шаблон, который я состряпал и оформил на днях.
Почему рабочий и такой весь распрекрасный mbed может внезапно заваляться? Ну хотя-бы потому, что он, сикут эт ардуинус вульгарис, не поддерживает нормальную отладку из коробки со своим онлайн-компилятором. Именно поэтому он завалялся и у меня, после того, как я с ним наигрался. Что уж поделать — жирую я, привык к нормальной отладке 🙂
Так вот, относительно недавно у mbed было феерическое обновление прошивки интерфейса, в которую добавили поддержку CMSIS-DAP. Кто следит за событиями и в теме — тот знает. Кто не следит и не в теме — это такой специальный стандарт, разработанный ARM, который описывает универсальный отладчик.
Таким образом, mbed получил возможность полноценно отлаживаться по евойному USB проводочку, что есть очень хорошо. Но бида заключалась в том, что на тот момент, когда я обновил свой mbed и решил испробовать этот функционал, единственной средой, которая поддерживала CMSIS-DAP была среда Keil MDK (кто бы сомневался!). Я далеко не фанат этой среды, но чисто для интереса, поставил ее и решил попробовать. Действительно, отладка работала и делала это очень хорошо. Тем не менее, MDK я удолил, а все попытки узнать что-то про поддержку CMSIS-DAP у IAR приводили ко вполне обоснованным предположениям, что IAR тесно повязан с Segger и такую поддержку реализует не скоро. Если вообще реализует. По крайней мере интернеты были именно такого мнения и настроя.
Но на днях, обновив IAR на относительно последний, я узрел, что чудо свершилось! Поддержка CMSIS-DAP появилась и в IAR. Естественно, я сразу же начал запиливать блинки, который можно было бы отлаживать на mbed в IAR’е. Очень помогло то, что все библиотеки mbed с некоторого времени лежат с открытыми исходниками — это замечательно. Тем не менее, после создания и первичной настройки/нафаршировки проекта, простой блинки не то чтобы отлаживаться, он и компилироваться-то не особо хотел. Вот тут-то и начались грабли.
Проблемы компиляции были решены небольшим допилом mbed’овской либы. Также, либа была немного реструктурирована для упрощения. Был убран либовский CMSIS, ибо в IAR есть возможность подключить встроенный. После этих шаманств дело пошло, блинки загружался и работал нормально. Но вот отлаживаться упорно не хотел.
В результате долгих мудовых рыданий была обнаружена совершенно неочевидная вещь, связанная со скриптом линкера, о которой, походу, никто не в курсе. По всей видимости, это такая специфическая особенность работы связки mbed, IAR и CMSIS-DAP. Дело в том, что если оставить скрипты линкера как у всех, в частности, начало региона ROM в 0x00000000, то программа успешно компилируется, запускается и работает, но вот отлаживаться (именно в IAR’e) не желает — отладка жутко глючит и проц периодически ресетится и валится. Я так и не понял с чем это связно, но мне кажется, что это всяко связано с механизмом защиты кода NXP. Поэтому, ставим начало региона ROM в 0x00000300 (за областью защиты) и радуемся — отладка начинает работать как часы. Вот так.
Было еще несколько разных мелких нюансов, которые я причесал в шаблоне, и которые уже не упомню. Но тем не менее, можете качать на здоровье и пользоваться. Вполне себе мило и работает.
Да. Вот еще что. У IAR’a то-ли такая специфическая реализация CMSIS-DAP, то-ли просто баг на первой версии библиотеки поддержки этого типа отладчиков, то-ли просто какая-то несовместимость с mbed, но просто так, через механизмы отладки, загрузить прошивку в mbed не получается. Вообще никак. Загрузка только ручками на диск mbed, как обычно.
На самом деле это не сильно большая проблема, т.к. решается она просто — в свойствах проекта задается команда автоматического копирования исполняшки на диск mbed после сборки, а в свойствах отладки ставится галка, что загрузку производить не надо. Вот и все. Процедура работы при этом такая: собираем исполняшку (она автоматически грузится на диск mbed), жмем на mbed кнопу reset (исполняшка шьется в контроллер), жмем отладку в IAR, отлаживаем. В общем-то, не сильно много неудобств. Но я на всякий случай написал в суппорт mbed об этой шняге — посмотрим, что они ответят.
LPCXpresso Урок 15. I2C. Работа с термометром LM75.
Представляю вашему вниманию ранее отменённую статью курса для начинающих посвященную шине I2C на примере работы с датчиком температуры LM75. Сам датчик имеет небольшую стоимость (25р в Чип-НН на момент покупки мной, да и в наборе I2C от NXP присутствовал), что в 2-3 раза дешевле популярного термометра от Dallas. Про LM75 имеется описание в сообществе и вне его в инете (благо есть поиск).
LPCXpresso Урок 14. PWM. Синхронный ШИМ на таймере.
Прежде чем завершить курс для новичков рассмотрим такую всеми любимую и всем надоевшую тему как ШИМ.
Схема
Для данного урока нам надо подключить пару светодиодов к выводам P1.9 и P1.10 платы, через ток ограничительные резисторы (номиналом 100 Ом – 1 кОм):
Если вдруг под рукой у вас не завалялось ни одного светодиода, то можно поступить и так:
LPCXpresso Урок 13. Debug. Погружаемся в отладку на примере UART.
Я в курсе для новичков предлагаю вам уже избавленный от ошибок код, но что делать, когда пишешь код сам. Отладчик это мощное средство, давайте же изучим его ещё немного лучше. До сих пор мы только наблюдали в нем за ходом выполнения программы, в этом же уроке мы будем им управлять.
LPCXpresso Урок 12. UART. Взаимодействуем с компьютером.
Предлагаю вашему вниманию поверхностное знакомство с UART интерфейсом в контроллере. Данный урок является вступлением к наиболее важной части (следующий урок) курса для новичков.
LPCXpresso Урок 11. USB+SPI. Делаем картридер.
Курс для новичков продолжается ознакомлением с SPI на примере работы с SD/MMC карточками. А поскольку USB-MSC мы уже проходили, то соорудим пародию на картридер. Пользоваться им я категорически запрещаю, т.к. размер карты зашит в коде и при установки другой карты вы можете потерять ваши данные.
LPCXpresso Урок 10. USB-MSC. Разбираем пример.
Продолжим знакомство с LPC13xx в среде разработки CodeRed. На сей раз в рамках курса для новичков изучим пример использования встроенного класса USB mass storage (или попросту USB-флешки).
Используем отладку LPC-Link без CodeRed IDE
Всем привет,
Дошли наконец руки до валяющейся уже год экспрессы с 1768 на борту. Но поскольку CodeRed IDE мне категорически не нравится, появилось стойкое желание завести отладку под любой другой IDE. Что мне отчасти удалось. Опишу, что я сделал, может у кого-то появится идея, как быть дальше.
LPCXpresso Урок 9. USB-bootloader. Прошиваем контроллер подручными средствами.
Об использовании USB-загрузчика у NXP имеется аппноут AN10986 (код). Я же попробую в рамках курса для новичков рассказать его по-русски.
На данном этапе отладчик нам не нужен, поэтому отключаем его от USB.
Шина LPC
Low Pin Count (LPC bus) — шина, используемая в IBM PC-совместимых персональных компьютерах для подключения устройств, не требующих большой пропускной способности к ЦПУ. К таким устройствам относятся загрузочное ПЗУ и контроллеры «устаревших» низкопроизводительных интерфейсов передачи данных, такие как последовательный и параллельные интерфейсы, интерфейс подключения манипулятора «мышь» и клавиатуры, НГМД, а с недавнего времени и устройств хранения криптографической информации. Обычно контроллер шины LPC расположен в южном мосте на материнской плате.
Шина LPC имеет всего 7 обязательных и 6 необязательных сигналов. Обмен данными по ней идёт в синхронном режиме с частотой 33 МГц (шина ISA является асинхронной, что также усложняет работающее с ней оборудование), причём каждый так передаётся 4 информационных или управляющих бита. Разрядность адреса увеличена до 32 бит, что позволяет задатчикам шины прямо обращаться к адресному пространству памяти объёмом 4 Гбайта (у шины ISA разрядность адреса составляла 24 бита, что ограничивало возможности адресации величиной 16 Мбайт). Реальная пропускная способность LPC, составляющая 6,7 Мбайт/с, ненамного уступает таковой у ISA (до 8 Мбайт/с) и совершенно достаточна для одновременной работы всех подключенных к ней устройств (по расчётам Intel, они используют порядка 75% максимальной пропускной способности).
Шина LPC была введена фирмой Intel в 1998 году для замены шины ISA. Хотя LPC физически сильно отличается от ISA, программная модель периферийных контроллеров, подключаемых через LPC, осталась прежней. Это позволило без доработок использовать на компьютерах с LPC ПО, разработанное для управления периферийными контроллерами, которые подключались к шине ISA.
Спецификация на шину LPC определяет семь обязательных сигналов, необходимых для обеспечения двусторонней передачи данных. Четыре из этих сигналов используются для передачи как адресной информации, так и для передачи данных. Оставшиеся три используются для управления; это сигналы frame, сигнал сброса и тактовый сигнал.
Спецификация также определяет семь необязательных сигналов, которые могут быть использованы для поддержки прерываний, организации сеансов обмена DMA, возвращения системы из состояния с низким потреблением энергии («спящего режима», англ. sleeping), а также для того, чтобы проинформировать периферийные устройства о скором отключении питания.
Пропускная способность шины LPC зависит от режима обмена; выделяют отдельные режимы обмена для работы с устройствами ввода-вывода, устройствами типа «память», сеансами DMA и др. Однако в любом случае пропускная способность шины LPC выше, чем шины ISA при работе в аналогичном режиме. При частоте тактового сигнала 33,3 МГц пропускная способность шины LPC составляет 16,67 МБ/с.
Основным преимуществом шины LPC является небольшое число требуемых для работы сигналов: для работы шины требуется только семь сигналов, что упрощает разводку и без того напичканых проводниками современных материнских плат. Использование шины LPC позволяет отказаться от разводки от 30 до 72 проводников, которые бы пришлось развести при использовании шины ISA. Используемая в LPC частота тактового сигнала в 33,3 МГц была выбрана для унификации с шиной PCI. Шина LPC предназначена для соединения СБИС в рамках одной печатной платы (материнской платы), таким образом в спецификации не предусмотрено разъёмов для передачи сигналов шины, и тем более не предусмотрено создание плат расширения.
Оригинальная игровая консоль Xbox имела в своём составе отладочный порт с шиной LPC, что позволяло энтузиастам запускать на этой системе свои программы.
В 1987 году компания IBM прекратила выпуск серии РС/АТ и начала производство линии PS/2. Одним из главных отличий нового поколения персональных компьютеров была новая системная шина MCA (Micro Channel Architecture). Эта шина не обладала обратной совместимостью с ISA, но зато содержала ряд передовых для своего времени решений:
· 8/16/32-разрядная передача данных
· Пропускная способность составила 20 Mb/s при частоте 10 MHz и максимальной пропускной способности 160 Mb/s (!), то есть больше, чем у 32-разрядной PCI
o Регенерация системной памяти
o Прямой доступ к памяти (DMA)
· 24 или 32 адресных линии позволяли адресовать до 4 GB памяти
· Асинхронный протокол передачи данных снижал вероятность возникновения конфликтов и помех между устройствами, подключенными к шине.
· 16-разрядные (основные слоты, которые устанавливается во все компьютеры с шиной МСА)
· 32-разрядные (устанавливаются на компьютерах с шиной МСА и процессором 386DX и выше. Так же, как и в ISA, являются только расширением основного слота, но, поскольку разрабатывались одновременно с шиной, конструкция получилась более логичной)
· 16 и 32-разрядные с дополнениями для плат памяти (устанавливаются в некоторых компьютерах с шиной МСА, например, PS/2 моделей 70 и 80, имеют 8 дополнительных контактов для работы с платами расширения памяти, расположенных в самом начале разъема, обращенном к задней стенке компьютера, перед основными контактами)
· 16 и 32-разрядные с дополнениями для видеоадаптеров (предназначены для увеличения быстродействия видеосистемы. Обычно в компьютере с шиной МСА установлен один такой слот. 10 дополнительных контактов также расположены в начале разъема и позволяют плате видеоадаптера получить доступ к встроенной в системную плату схеме VGA).
· Создание нового поколения процессоров типа Intel 80486, работающих на внешних частотах до 66 MHz
· Увеличение емкости жестких дисков и создание более быстрых контроллеров
· Разработка и активное продвижение на рынок графических интерфейсов пользователя (типа Windows) привели к созданию новых графических адаптеров, поддерживающих более высокое разрешение и большее количество цветов (VGA и SVGA), что привело к нехватке пропускной способности имеющихся шин (MCA, как уже говорилось, не в счет)
Выход из создавшегося положения следующий: осуществлять часть операций обмена данными, требующих высоких скоростей, не через шину ввода/вывода, а через шину процессора, примерно так же, как подключается внешний кэш.
Основные характеристики VL-bus таковы:
· Поддержка процессоров серий 80386 и 80486. Шина разработана для использования в однопроцессорных системах, при этом в спецификации предусмотрена возможность поддержки х86-несовместимых процессоров с помощью моста (bridge chip)
· Несмотря на то, что изначально шина была разработана для работы с видеоконтроллерами, возможна поддержка и других устройств (например, контроллерa жесткого диска)
· Стандарт допускает работу шины на частоте до 66 MHz, однако электрические характеристики разъема VL-bus ограничивают ее до 50 MHz (это ограничение, естественно, не относится к интегрированным в материнскую плату устройствам).
· Двунаправленная (bi-directional) 32-разрядная шина данных поддерживает и 16-разрядный обмен. В спецификацию заложена возможность 64-разрядного обмена
· Поддержка DMA обеспечивается только для bus master’ов. Шина не поддерживает специальных инициаторов DMA
· Поддерживается пакетный режим обмена (для материнских плат 80486, поддерживающих этот режим). 5 линий используется для идентификации типа и скорости процессора, сигнал Burst Last (BLAST#) используется для активизации этого режима. Для систем, не поддерживающих этот режим, линия устанавливается в 0
· Слот VL-bus устанавливается в линию за слотами ISA/EISA/MCA, поэтому VL-платам доступны все линии этих шин
· Поддерживается как интегрированный в процессор кэш, так и кэш на материнской плате
· Напряжение питания 5 V. Устройства с уровнем выходного сигнала 3.3 V поддерживаются при условии, что они могут работать с уровнем входного сигнала 5 V.
· Ориентация на 486-ой процессор. VL-bus жестко привязана к шине процессора 80486, которая отличается от шин CPU Pentium и процессоров следующих поколений
· Ограниченное быстродействие. Как уже было сказано, реальная частота VL-bus не может составлять больше 50 MHz. Причем при использовании процессоров с множителем частоты шина использует основную частоту (так, для 486DX2/66 частота шины будет 33 MHz). Впрочем, для начала-середины 90-х годов скорости было вполне достаточно, однако уже через несколько лет ее могло бы и не хватить
· Схемотехнические ограничения. К качеству сигналов, передаваемых по шине процессора, предъявляются очень жесткие требования, соблюсти которые можно только при определенных параметрах нагрузки каждой линии шины. По мнению Intel, установка недостаточно аккуратно разработанных VL-плат может привести не только к потерям данных и нарушениям синхронизации, но и к повреждению системы
· Ограничение количества плат. Это ограничение вытекает также из необходимости соблюдения ограничений на нагрузку каждой линии
Разработчики шины поставили своей целью создать принципиально новый интерфейс, который бы не являлся усовершенствованиями других технологий (как, например EISA), не зависел от платформы (то есть мог работать с будущими поколениями процессоров), имел высокую производительность и был дешев в производстве. Благодаря отказу от использования шины процессора шина PCI оказалась не только процессоронезависимой, но и могла работать самостоятельно, не обращаясь к последней с запросами. Например, процессор может работать с памятью, в то время как по шине PCI передаются данные. Основополагающим принципом шины PCI является применение так называемых мостов (Bridges), которые осуществляют связь шины с другими компонентами системы (например, PCI to ISA Bridge). Другой особенностью является реализация так называемых принципов Bus Master и Bus Slave. Например, карта PCI-Master может как считывать данные из оперативной памяти, так и записывать их туда без обращения к процессору. Карта PCI-Slave (например, графический контроллер) может только считывать данные.
Особенности шины PCI:
· Синхронный 32-х или 64-х разрядный обмен данными (правда, насколько мне известно, 64-разрядная шина в настоящее время используется только в Alpha-системах и серверах на базе процессоров Intel Xeon, но, в принципе, за ней будущее). При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям
· Шина поддерживает метод передачи данных, называемый linear burst (метод линейных пакетов). Этот метод предполагает, что пакет информации считывается (или записывается) одним куском, то есть адрес автоматически увеличивается для следующего байта. Естественным образом при этом увеличивается скорость передачи собственно данных за счет уменьшения числа передаваемых адресов
· В шине PCI используется совершенно отличный от ISA способ передачи данных. Этот способ, называемый способом рукопожатия (handshake), заключается в том, что в системе определяется два устройства: передающее (Iniciator) и приемное (Target). Когда передающее устройство готово к передаче, оно выставляет данные на линии данных и сопровождает их соответствующим сигналом (Iniciator Ready), при этом приемное устройство записывает их (данные) в свои регистры и подает сигнал Target Ready, подтверждая запись данных и готовность к приему следующих. Установка всех сигналов производится строго в соответствии с тактовыми импульсами шины
· Относительная независимость отдельных компонентов системы. В соответствии с концепцией PCI передачей пакета данных управляет не CPU, а мост, включенный между ним и шиной PCI (Host Bridge Cashe/DRAM Controller). Процессор может продолжать работу и тогда, когда происходит обмен данными с RAM. То же происходит и при обмене данными между двумя другими компонентами системы
· Низкая нагрузка на процессор. Эта особенность вытекает из предыдущей
· Частота работы шины 33 MHz или 66 MHz позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):
o 132 МВ/сек при 32-bit/33 MHz
o 264 MB/сек при 32-bit/66 MHz
o 264 MB/сек при 64-bit/33 MHz
o 528 МВ/сек при 64-bit/66 MHz
· При этом для работы шины на частоте 66 MHz необходимо, чтобы все периферийные устройства работали на этой частоте
· Поскольку шина процессора и шина расширения PCI соединены с помощью главного моста (Host Bridge), то последняя может работать с CPU последующих поколений
· Полная поддержка multiply bus master (например, несколько контроллеров жестких дисков могут одновременно работать на шине)
· Поддержка 5V и 3.3V логики. Разъемы для 5 и 3.3V плат различаются расположением ключей
· Поддержка write-back и write-through кэша
o Заголовка, независимого от устройства (device-independent header region)
o Региона, определяемого типом устройства (header-type region)
o региона, определяемого пользователем (user-defined region)
· Спецификация шины позволяет комбинировать до восьми функций на одной карте (например, видео+звук и прочее)
· Шина позволяет устанавливать до 4 слотов расширения, однако возможно использование моста PCI to PCI для увеличения их количества
· PCI-устройства оборудованы таймером, который используется для определения максимального промежутка времени, в течении которого устройство может занимать шину
· При разработке шины в ее архитектуру были заложены передовые технические решения, позволяющие использовать шину в будущем и модернизировать ее
· Шина способна передавать два блока данных за один 66 MHz цикл (AGP 2x)
· Устранена мультиплексированность линий адреса и данных (напомню, что в PCI для удешевления конструкции адрес и данные передавались по одним и тем же линиям)
· дальнейшая конвейеризация операций чтения/записи, по мнению разработчиков, позволяет устранить влияние задержек в модулях памяти на скорость выполнения этих операций
В результате пропускная способность шины была оценена в 500 МВ/сек, и предназначалась она для того, чтобы графические карты могли хранить необходимые им данные (текстуры) не только в своей дорогой локальной памяти, установленной на борту, но и в дешевой системной памяти компьютера. При этом они (карты) могли иметь меньший объем этой самой локальной памяти и, соответственно, дешевле стоить.
Парадокс в том, что видеокарты (точнее, их производители) все-таки предпочитают иметь больше памяти, и почти никто не хранит текстуры в оперативной памяти. Во первых, пока еще (но только пока) в современных приложениях не используются такие грандиозные по размеру текстуры, которые требовали бы чересчур много памяти. Во вторых, видеопамять быстро дешевеет и ее увеличение не сильно сказывается на стоимости видеокарты (сейчас карта с 64 Mb стоит почти столько же, как всего год-полтора назад стоила похожая карта с 32 Mb памяти). Хотя главная причина, очевидно, в том, что системная RAM имеет куда меньшее быстродействие, чем локальная видеопамять, и использовать все то, что может предоставить AGP, было бы вряд ли рационально, пусть даже от этого уменьшилась цена видеоадаптера. Тем не менее, все современные видеоккарты имеют интерфейс AGP, потому что, во первых, даже если не использовать прокачку текстур между системной памятью и видеоадаптером, при большой нагрузке на шину PCI со стороны периферии данные от различных устройств (например, процессора или платы видеомонтажа) могут не успевать поступать в видеокарту настолько быстро, насколько это нужно, и, во-вторых, бурно развивающиеся технологии 3D-графики скоро могут привести к тому, что текстуры перестанут помещаться в локальную видеопамять (если, конечно, в системе установлена не самая наворочанная видеоплата с большим объемом RAM). Да и потом, если учесть мощности современных CPU, шина PCI со своими 132 мегабайтами в секунду смотрится плоховато даже для простого обмена данными видеоконтроллера с центральным процессором и другими компонентами системы, так что появление в свое время AGP было действительно востребовано, а сейчас без этого интерфейса просто невозможно представить современный персональный компьютер.
Шина HyperTransport (HT), ранее известная как Lightning Data Transport (LDT), — это двунаправленная последовательно/параллельная компьютерная шина с высокой пропускной способностью и малыми задержками. Для разработки и продвижения данной шины был образован консорциум HyperTransport Technology. Технология используется компаниями AMD и Transmeta в x86-процессорах; PMC-Sierra, Broadcom и Raza Microelectronics — в процессорах MIPS; nVidia, VIA, SiS, ULi/ALi, AMD, Apple Computer и HP — в наборах системной логики для ПК; HP, Sun Microsystems, IBM и iWill — в серверах; Cray, Newisys и PathScale — в суперкомпьютерах, а также компанией Cisco Systems — в маршрутизаторах.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет