Аппаратная платформа компьютера

Схема, иллюстрирующая многоуровневую структуру компьютера

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

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

Конкретно, аппаратные платформы отличаются друг от друга совокупностью аппаратуры (процессором, чипсетом), а также разработанными (и запускаемыми) программными компонентами.

Платформы-бренды

Наиболее распространёнными являются персональные компьютеры на платформах семейств x86. Это в первую очередь Windows- и Linux-ПК а также все современные модели ПК Apple Mac. (До перехода на x86-64 Apple Mac делались на платформах семейства Power PC. Power PC в настоящее время основная платформа для серверов и мейнфреймом от IBM.) Большинство современных мобильных устройств выполнены на платформах семейства ARM. Эти платформы ряд иных платформ и их семейства являются широко известными брендами.

Аппаратная платформа Актуальность Разработчик Разрядность, бит Типы систем Год начала производства Снятия с производства Примечания
Amiga Нет Commodore International, Escom, MacroSystem 32 ПК, игровая приставка, сервер 1985 1996 Архитектура «классических» Amiga на процессорах m68k. В производстве имеется клон на современной элементой базе (MiniMig))
Amiga PowerPC Да Eyetech Group, Genesi, bPlan GmBH, ACube Systems Srl 32/64 ПК 2002 В производстве Современные Amiga работающие на процессорах PowerPC.
IA-32 Да Intel 32 ПК, сервер, ноутбук, кластер 1985 ? Доминирующая архитектура в мире Windows
x86-64 Да AMD 64 ПК, сервер, ноутбук, кластер 2003 В производстве Обратная совместимость с i386. Широко производимая, но, из-за отсутствия 64 bit драйверов для некоторых устройств, чуть реже используемая архитектура.
SPARCv8 Нет Sun Microsystems 32 рабочая станция,сервер 1992 ?
SPARCv9 Да Sun Microsystems 64 рабочая станция,сервер 1994 В производстве
IA-64 Да Intel и Hewlett Packard 64 сервер 2001 В производстве Разрабатывалась на смену 32 битных CPU Intel, но не совместима с i386. Потеряла важность с появлением x86-64
Alpha Нет DEC 64 рабочая станция, сервер 1992 27 октября 2007 года
ESA/390 Да IBM 32 мейнфрейм 1990 ? Обратно совместим с System/360 и ESA/370. Фирмами среднего размера применяется для хранения данных и виртуализации серверов (LPAR).
z/Architecture Да IBM 64 мейнфрейм 2000 В производстве Обратно совместим с ESA/390. Применяют до 60 LPAR. Возможно несколько машин этого класса объединить в кластер.
Xbox 360 Да Microsoft в сотрудничестве IBM, ATI и SiS 64 игровая приставка 2005 В производстве CPU Xenon с архитектурой PowerPC, 3 ядра с двумя аппаратными потоками на каждое, 3,2 ГГц. Заявленная суммарная производительность системы — 1 TFLOPS (производительность CPU — 115 Гфлопс). Частично совместим с Xbox.
PlayStation 3 Да Sony в сотрудничестве с Toshiba и IBM 64 игровая приставка 2006 В производстве Частично совместима с PlayStation и PlayStation2. 2 Тфлопс. CPU Cell. GPU RSX от NVidia.
Famicom (Dendy в России) Нет Nintendo, Масэюки Уэмурой 8 игровая приставка 1983 В производстве Процессор 6502 1,79 МГц, ОЗУ 2 Кб, картридж ПЗУ 48 Кб, видеопамять 2 Кб, 256×240 пикселов, 48 цветов, пятиканальный звукогенератор.
Macintosh 68k Нет Apple 16 ПК 1984 1996 ПК Apple Macintosh под управлением Mac OS Classic версий до 7.5.1 с процессором Motorola 680x0
Power Macintosh Нет Apple 32 ПК, сервер 1996 2006 ПК и сервера Apple Macintosh под управлением Mac OS Classic версии 8, версии 9 и Mac OS X для платформы PowerPC.

Платформы-анклавы

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

  • Анклав Commodore 64 во многом обязан своему существованию возможности писать музыку на этом компьютере 1982 года выпуска. Немецкая группа Welle:Erdball, играющая в стиле Synthpop, пишет пять своих участников — пятым, всегда и везде указываемым в списке музыкантом, является компьютер Commodore 64.
  • 8-битные процессоры Intel, такие как 8080 и 8085, несовместимы с 8086 и другими 16-битными процессорами Intel. Сегодня 8080 и 8085 являются анклавом. Примером из анклава может быть компьютер MFA с процессором 8085. Он по-прежнему применяется студентами для изучения функционирования ЭВМ. Несовместимые с архитектурой IA-32 процессоры/платформы линий iAPX 432, i960 и i860, тоже ушедшие в прошлое, по разным причинам анклавов не образуют.
  • ZX Spectrum, будучи созданным в 1982, применяется любителями до сих пор. Процессоров Z-80 произведено более миллиарда. В мире огромное число клонов ZX Spectrum, многие из которых сделаны в СССР и России. Современный спектрум имеет CD привод, модем и существует во многом благодаря участию в демосцене, которая в РФ получила огромную популярность именно на ZX Spectrum. Таким образом, хотя ZX Spectrum не слишком активно совершенствуется технически, но остаётся полотном для компьютерного искусства.

Несовместимые аппаратные платформы

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

Несовместимость кода, выполняемого процессором

Корпорация Intel, развивая свои семейства процессоров, наполняет процессоры дополнительными командами:

  • команды математического сопроцессора (FPU);
  • команды оптимизированные для обработки мультимедийного контента (MMX);
  • наборы команд SSE (SSE, SSE2, SSE3, SSE4 и SSE5);
  • поддерживаемые только AMD команды 3DNow!, а также 64-битный набор команд AMD64.

Новые команды серьёзно влияют на совместимость процессоров, поэтому разработчикам программного обеспечения приходится ориентироваться на две платформы, более старую и «многочисленную» IA-32 и современную x86-64. Проблема совместимости кода — ситуация, когда процессоры различных семейств не могут выполнять один и тот же машинный код. Например, между двумя 32-битными процессорами одного и того же производителя (в данном случае Intel) — Pentium и Pentium-2, — может возникнуть несовместимость по причине присущего первому ограничения (аппаратного отсутствия MMX команд), если на нём будет запущена программа, откомпилированная с учётом имеющихся на Pentium-2 аппаратных возможностей.

Несовместимость устройств и материнских плат

Конкретно взятая материнская плата, особенно персонального компьютера, также вносит свой вклад в несовместимость платформ. На современной материнской плате расположено множество встроенных (англ. integrated, интегрированных в плату) устройств, для которых, в отличие от определённых в дистрибутиве семейства операционных систем Windows NT восьми альтернативных (англ. Hardware abstraction layer, HAL) и мультиплатформенных драйверов для целых классов устройств, нужны специфические драйверы. Поэтому, при установке операционной системы Windows 9x или NT, она посредством установки драйверов специфического оборудования, «привязывается» к конкретной материнской плате. Последующий перенос операционной системы на другую материнскую плату сопряжен со сложностью обеспечения аппаратной совместимости новой аппаратной платформы.

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

Кросс- и мультиплатформенное программное обеспечение

Запуск программного обеспечения на более чем одной аппаратной платформе и/или операционной системе является важной задачей, как для разработчиков новой аппаратуры, так и для программистов.

  • Debian компилирует пакеты для GNU/Linux для трех архитектур процессоров Intel: IA-32 (x86-32), x86-64, IA64. Также официально создаются пакеты для ещё 8 аппаратных платформ. Пакеты, оптимизированные для конкретных процессоров своих платформ пользователи могут создать сами. Debian GNU/Hurd и GNU/kFreeBSD пока поддерживают меньшее количество платформ.
  • ОС NetBSD портирована на 60 аппаратных платформ (включающих в общей сложности 17 различных процессорных архитектур).
  • Microsoft разрабатывает специальные ветки своей операционной системы Microsoft Windows: Windows CE и Windows Embedded.
  • Запуск на различных архитектурах одного и того же прикладного программного обеспечения без необходимости обеспечивать совместимость на уровне ОС реализуется путём стандартизации языков программирования, компиляторов, библиотек и среды исполнения (см., например, POSIX), а также путём перехода на исполнение ПО на виртуальной машине и в стандартном окружении, которые реализуются для каждой платформы и гарантируют единообразное исполнение ПО независимо от платформы (см., например, Common Language Infrastructure и JVM).

Литература

  • Э.Таненбаум. Архитектура компьютера = Structured Computer Organization. — 5-е изд.. — СПб.: Питер, 2007. — 848 с. — (Классика Computer Science). — ISBN 5-469-01274-3. Архивная копия от 11 января 2012 на Wayback Machine
  • Барри Брэй. Микропроцессоры Intel: 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium 4. Архитектура, программирование и интерфейсы = The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium 4. Architecture, Programming,and Interfacing. — Шестое издание. — СПб.: БХВ-Петербург, 2005. — 1328 с. — ISBN 5-94157-422-3.

Ссылки