Аппаратная платформа компьютера
Аппаратная платформа компьютера (архитектура компьютера) — уровень, образованный программной архитектурой компьютера (микроархитектура, микропрограмма, управления ядром микропроцессора и архитектурой набора команд) на аппаратной базе (конкретных микросхем процессора, чипсета, других физических компонентов, которые в совокупности составляют аппаратную модель вычислительной системы).
Предназначен для запуска определённых семейств программных продуктов (операционная система, прикладное программное обеспечение), которые, в свою очередь, разработаны исходя из возможностей и для запуска на данной аппаратуре.
Конкретно, аппаратные платформы отличаются друг от друга совокупностью аппаратуры (процессором, чипсетом), а также разработанными (и запускаемыми) программными компонентами.
Платформы-бренды
Наиболее распространёнными являются персональные компьютеры на платформах семейств 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.
Ссылки
- Старый компьютер — энциклопедия исторического компьютерного железа
- Hardware Supported by NetBSD — список платформ и архитектур CPU NetBSD