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

Схема, що ілюструє багаторівневу структуру комп'ютера

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

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

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


1. Платформи-бренди

Однією з найбільш поширених офісних платформ та персональних комп'ютерів є IBM PC. На ринку персональних комп'ютерів також поширені комп'ютери Apple. Ці платформи є широко відомими брендами.

Апаратна платформа Актуальність Розробник Розрядність, біт Типи систем Рік почала виробництва Зняття з виробництва Примітки
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 драйверів для деяких пристроїв, трохи рідше використовувана архітектура.
SPARCv 8 Немає Sun Microsystems 32 робоча станція, сервер 1992 ?
SPARCv 9 Так Sun Microsystems 64 робоча станція, сервер 1994 У виробництві
IA-64 Так Intel і Hewlett Packard 64 сервер 2001 У виробництві Розроблялася на зміну 32 бітних CPU Intel, але не сумісна з i386. Використовується в Hi-End серверах Hewlett-Packard.
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 ТFLOPS (продуктивність 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 кольорів, п'ятиканальний звукогенератор.
Motorola 68xxx Немає Motorola 16/32 ПК 1979 1996 ПК Apple Macintosh під управлінням Mac OS Classic версій до 7.5.1
PowerPC Так Apple, IBM і Motorola 32/64 ПК, сервер 1996 У виробництві ПК Apple Macintosh під управлінням Mac OS Classic версії 8, версії 9 і Mac OS X для платформи PowerPC. Сервера IBM System P і System I під управлінням AIX, i5/OS і Linux.
NonStop (Англ.) рос. Так Tandem Computers (Англ.) рос. . В даний час Hewlett-Packard 16/32/64 мейнфрейм 1976 У виробництві У різні роки використовувалися різні процесорні архітектури: спочатку власного виробництва, потім MIPS, зараз Itanium. Система обернено-сумісна і код, написаний і скомпільований 35 років тому під самий перший процесор, може бути запущений під Itanium.

2. Платформи-анклави

Іноді гілку 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 не надто активно вдосконалюється технічно, але залишається полотном для комп'ютерного мистецтва.

3. Несумісні апаратні платформи

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

3.1. Несумісність коду, виконуваного процесором

Корпорація 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 апаратних можливостей.


3.2. Несумісність пристроїв і материнських плат

Конкретно узята материнська плата, особливо персонального комп'ютера, також вносить свій внесок у несумісність платформ. На сучасній материнській платі розташовано безліч вбудованих ( англ. integrated , Інтегрованих в плату) пристроїв, для яких, на відміну від визначених у дистрибутиві сімейства операційних систем Windows NT восьми альтернативних ( англ. Hardware abstraction layer , HAL) і мультиплатформових драйверів для цілих класів пристроїв, потрібні специфічні драйвери. Тому при установці операційної системи Windows 9x або NT вона допомогою установки драйверів специфічного обладнання, "прив'язується" до конкретної материнській платі. Подальший перенесення операційної системи на іншу материнську плату пов'язаний зі складністю забезпечення апаратної сумісності нової апаратної платформи.

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


4. Багатоплатформовий програмне забезпечення

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

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

Література

  • Е.Таненбаум Архітектура комп'ютера = Structured Computer Organization. - 5-е изд .. - СПб. : Питер, 2007. - 848 с. - (Класика Computer Science). - ISBN 5-469-01274-3
  • Баррі Брей Мікропроцесори 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