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

система, оболонка виконання програм, сукупність апаратної архітектури і програмної основи

Комп'ю́терна платфо́рма — сукупність комп'ютерів, сумісних між собою в тому або іншому сенсі.

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

Апаратна платформа

Апаратна платформа визначає сумісність із погляду апаратних компонентів, роботи шин тощо. Апаратну платформу називають також архітектурою.[джерело?] Прикладом апаратної платформи є IBM PC.

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

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

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

Апаратна платформаАктуальність[коли?]РозробникРозрядність, бітТипи системРік початку виробництваЗняття з виробництваПримітки
AmigaНіCommodore International, Escom, MacroSystem32ПК, гральна консоль, сервер19851996Архітектура «класичних» Amiga на процесорах m68k. У виробництві є клон на сучасних елементів базі (MiniMig) )
Amiga PowerPCТакEyetech Group, Genesi, bPlan GmBH, ACube Systems Srl32/64ПК2002У виробництвіСучасні Amiga працюють на процесорах PowerPC.
X86ТакIntel Corporation16, 32ПК, сервер, ноутбук, кластер1978 (16-розрядна), 1985 (32-розрядна)?
x86-64ТакAdvanced Micro Devices64ПК, сервер, ноутбук, кластер2003У виробництвіЗворотна сумісність з 32-розрядною архітектурою x86.
SPARCv8НіSun Microsystems32робоча станція,сервер1992?
SPARCv9ТакSun Microsystems64робоча станція,сервер1994У виробництві
IA-64ТакIntel Corporation та Hewlett-Packard64сервер2001Знято з виробництваРозроблялася на зміну 32 бітних CPU Intel, але не сумісна з IA-32. Втратила важливість з появою AMD64
AlphaНіDigital Equipment Corporation64робоча станція, сервер199227 жовтня 2007 року
ESA/390ТакIBM32мейнфрейм1990?Назад сумісний з System/360 та ESA/370. Фірмами середнього розміру застосовується для зберігання даних та віртуалізації серверів (LPAR).
z/ArchitectureТакIBM64мейнфрейм2000В виробництвіНазад сумісний з ESA/390. Може запускатися до 60 логічних розділів (LPAR). Можливо кілька машин цього класу об'єднати в кластер.
Xbox 360ТакMicrosoft у співпраці IBM, ATI та SiS64гральна консоль2005У виробництвіCPU Xenon з архітектурою PowerPC, 3 ядра з двома апаратними потоками на кожне, 3,2 ГГц. Заявлена сумарна продуктивність системи — 1 Т FLOPS (продуктивність CPU — 115 Гфлопс). Частково сумісний з Xbox.
PlayStation 3ТакSony у співпраці з Toshiba та IBM64гральна консоль2006У виробництвіЧастково сумісна з PlayStation та PlayStation2. 2 Тфлопс. CPU Cell. GPU RSX від NVidia.
Nintendo Entertainment System (Dendy в Росії)НіNintendo, Масеюкі Уемурой[що?]8гральна консоль1983У виробництвіПроцесор MOS Technology 6502 1,79 МГц, оперативна пам'ять 2 Кб, картридж постійної пам'яті 48 Кб, відеопам'ять 2 Кб, 256×240 пікселів, 48 кольорів, п'ятиканальний звукогенератор.
Motorola 68xxxНіApple16ПК19841996ПК Macintosh під управлінням Mac OS Classic версій до 7.5.1
PowerPCНіApple32ПК, сервер19962006ПК та сервери Macintosh під управлінням Mac OS Classic версії 8, версії 9 та Mac OS X для платформи PowerPC.

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

Іноді гілка CPU припиняє розвиток, і може виникнути комп'ютерний анклав, тобто користувачі як і раніше люблять свої комп'ютери або не можуть від них відмовитися. Технічний прогрес в анклаві уповільнений або повністю зупинений. Залізо комп'ютерного анклаву на рівні машинних кодів не сумісно з мейнстрім платформами та поступово морально старіє. Це означає, що у користувачів є велика спокуса змінити платформу. Програмісти якщо й пишуть нові програми, то, як правило, на вільних, ніж комерційних, засадах.

  • Анклав Commodore 64 багато в чому зобов'язаний своєму існуванню можливості писати музику на цьому комп'ютері 1982 року випуску. Німецька група Welle:Erdball, що грає в стилі Синті-поп, пише п'ять своїх учасників — п'ятим, завжди та скрізь вказуються в списку музикантом, є комп'ютер Commodore 64.
  • 8-бітові процесори Intel, такі як 8080 та 8085, несумісні з intel 8086 та іншими 16 бітними процесорами Intel. Сьогодні[коли?] 8080 та 8085 є анклавом. Прикладом з анклава може бути комп'ютер MFA з процесором 8085. Він як і раніше застосовується студентами для вивчення функціонування ЕОМ. Несумісні з архітектурою X86 процесори/платформи ліній iAPX 432, i960 та i860, теж пішли у минуле, з різних причин анклавів не утворюють.
  • ZX Spectrum, будучи створеним в 1982, застосовується любителями досі. Процесорів Zilog Z80 вироблено більше мільярда. Існує (чи існувала) велика кількість клонів ZX Spectrum; деякі з них мають можливості для під'єднання різних периферійних пристроїв (диски IDE, CD-приводи, клавіатуру і мишу PS/2). Все ще залишається популярним у демосцені. Таким чином, хоча ZX Spectrum не надто активно вдосконалюється технічно, але залишається полотном для комп'ютерного мистецтва.

Платформа процесора

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

Платформа операційної системи

Розглядається сумісність або подібність на рівні операційних систем, наприклад, файлових систем і користувацького середовища. Прикладом платформи операційної системи є UNIX, див. також POSIX.

Сполучення сумісності платформи ОС і платформи процесора приводить до поняття сумісності на рівні виконуваних файлів.

Віртуальні машини

Докладніше: Віртуальна машина

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

Платформонезалежне програмне забезпечення

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

  • Debian компілює свої пакети для GNU/Linux для архітектур IA-32, x86-64, MIPS і PowerPC]. Ентузіасти компілюють пакети і для інших апаратних платформ. Пакети, оптимізовані для конкретних процесорів своїх платформ користувачі можуть створити самі. Debian GNU/Hurd підтримує лише архітектуру IA-32.
  • ОС NetBSD портована на 60[коли?] апаратних платформ (включають в цілому 17 різних процесорних архітектур).
  • Запуск на різних архітектурах одного і того ж прикладного програмного забезпечення без необхідності забезпечувати сумісність на рівні ОС реалізується шляхом стандартизації мов, компіляторів, бібліотек та середовища виконання (див., наприклад, POSIX), а також шляхом переходу на виконання ПО у віртуальній машині та стандартному оточенні, які реалізуються для кожної платформи та гарантують однакове виконання ПО незалежно від платформи (див., наприклад, Common Language Infrastructure та Віртуальна машина Java).

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

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

Несумісність коду, що виконується процесором

Нові процесори x86 набувають нових команд, таких як операції математичного співпроцесора (FPU); мультимедійні розширення (MMX); серії команд SSE (SSE, SSE2, SSE3, SSE4 та SSE5); підтримка віртуалізації тощо. Нові команди серйозно впливають на сумісність процесорів, тому розробникам програмного забезпечення доводиться орієнтуватися на дві платформи, старішу X86 та новішу x86-64. Проблема сумісності коду — ситуація, коли процесори різних сімейств не можуть виконувати один і той ж машинний код. Наприклад, між двома 32-бітними процесорами одного і того ж виробника, Intel — Pentium Pro та Pentium 2, може виникнути несумісність через відсутність у першого команд MMX, якщо такі присутні у програмі.

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

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

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

Література

Див. також

Посилання

  • Енциклопедія історичного комп'ютерного заліза. old-computers.com. Архів оригіналу за 7 Січня 2009. Процитовано 31 Березня 2022.
  • Hardware Supported by NetBSD [Архівовано 11 Лютого 2021 у Wayback Machine.] — список платформ та архітектур CPU NetBSD.