IBM-PC-совместимый компьютер

Материал из Википедии — свободной энциклопедии
(перенаправлено с «IBM PC compatible»)
Перейти к навигации Перейти к поиску
Разные модели PC-совместимых компьютеров: слева направо, сверху вниз:
  • Один из первых IBM-PC-совместимых компьютеров, произведённых не компанией IBM — Compaq Portable, поступивший в продажу в 1983 году
  • Компьютер HP серии Pavilion
  • Ноутбук Thinkpad, произведённый компанией Lenovo
  • Игровые компьютеры линейки Falcon Northwest

IBM-PC-совместимый компьютер — семейство компьютеров, происходящее от IBM PC, XT и AT, обладающее определёнными архитектурными особенностями, развивавшееся под влиянием компаний Intel и Microsoft[1]. Совместимость касается как программного обеспечения, позволяя запускать его на актуальных машинах без эмуляции, так и аппаратного за счёт использования открытых стандартов. Из-за ослабления влияния фирмы IBM её название отпало, и их стали называть просто PC-совместимым или даже «PC». Не любой персональный компьютер является PC[2][3][4], в то же время не любой PC является персональным компьютером — существуют PC-совместимые серверы и кластеры[3].

Предыстория

[править | править код]

PC не был первым персональным компьютером вообще и даже первым персональным компьютером фирмы IBM. С 1975 года выпускались машины серии 51XX на процессоре собственной разработки IBM PALM[англ.], представлявшем собой набор микросхем невысокой степени интеграции и отдельных транзисторов. В 1980 году готовился к выпуску наследник этой серии уже на микропроцессоре Intel 8085 — IBM System/23, известный как «Datamaster», однако из-за проблем с портированием на новую систему языка BASIC выход новой машины задерживался[5]. Этот восьмибитный компьютер был значительно дороже конкурентов: Apple II, Commodore VIC-20, Atari 400/800 и TRS-80 CoCo и не имел даже возможности отображать графику. Компании требовалась более дешёвая модель, разработку которой поручили Дону Эстриджу. Для ускорения разработки ему дали полную свободу действий, в том числе широкое использование компонентов сторонних производителей.

Оригинальный IBM PC

[править | править код]

Несмотря на небольшой размер команды, разработка IBM PC заняла всего год — компьютер был представлен в августе 1981, спустя месяц после выхода System/23. Важнейшими особенностями IBM PC были модульный принцип — когда устройство состояло из сменных модулей, и принцип открытой архитектуры, заключавшийся в том, что устройство компьютера не держалось в секрете, комплект схем продавался за 49 $ — для того, чтобы облегчить сторонним производителям задачу разработки периферии[6]. Другая важная особенность IBM PC — использование BIOS, прошитого в ПЗУ системной платы промежуточного ПО, реализующего стандартный программный интерфейс для доступа к её функциям без знания их конкретной аппаратной реализации и обращений к ОС. Этот же подход приняли многие разработчики периферии (например, жёстких дисков), записывая в ПЗУ своих устройств ПО драйверов низкого уровня, реализующих стандартные протоколы. Чтобы помешать конкуренции, компания IBM запатентовала прошивку BIOS, запретив её использование в компьютерах конкурентов[7][8][9]. Однако запатентован был лишь конкретный код прошивки, но не её программный интерфейс, что впоследствии позволило сторонним разработчикам выпускать программно-совместимые продукты, обходя патент IBM с использованием метода «чистой комнаты»[8].

Первые совместимые компьютеры

[править | править код]

Слухи о том, что другие компании готовятся к выпуску совместимых с IBM PC компьютеров возникли сразу же после выхода PC[10][11] Спустя год после выхода в журнале InfoWorld появилась заметка[12]:

Обратная сторона открытых стандартов — подражание. Если их текст понятен, чтобы разрабатывать периферию, он подходит и для разработки всего компьютера. У Apple … есть патенты на два важнейших компонента их системы …, а у IBM похоже нет специальных патентов на PC, что делает их ещё более уязвимыми. Несколько PC-совместимых машин — по слухам не меньше 60 — уже скоро появятся на рынке.

Популярность IBM PC была столь высока, что они сразу стали большим дефицитом, что также гарантировало высокий спрос на совместимые машины[13][14][15]. Первыми стали Columbia Data Products, выпустив в июне 1982 года модель MPC 1600. Тогда же вышел частично совместимый Eagle 1600 от Eagle Computer, а в ноябре — первый переносной PC-совместимый компьютер Compaq Portable[англ.]. Проблему с патентом на BIOS компании решали путём реверс-инжиниринга по «методу чистой комнаты». В том же году лицензионные копии процессоров Intel стала выпускать компания AMD.

В мае 1984 года компания Phoenix Technologies[англ.] выпустила на рынок Phoenix BIOS, вскоре появились и другие разработчики — American Megatrends и Award Software, что позволило выйти на рынок PC-совместимых компьютеров другим производителям.

Ослабление IBM, усиление роли Intel и Microsoft

[править | править код]

Желая вытеснить конкурентов с рынка в 1987 году компания IBM выпустила модель PS/2[16] — серию компьютеров с более высокими характеристиками, чем у имевшихся на рынке моделей других производителей за счёт новой шины MCA с большей, чем у ISA, пропускной способностью, а также поддерживающую автоматическое определение подключенного устройства. Однако лицензионная политика в отношении новинки была слишком жёсткой, отчего производители предпочли скооперироваться и разработать шину EISA, которая не ломала бы совместимость со старыми устройствами. В дальнейшем компания Intel разработала более удачную шину PCI, которая оказалась более популярна, чем EISA и стала стандартом де-факто до выхода в 2004 году шины PCIe. Таким образом, вместо вытеснения конкурентов, с выпуском PS/2 компания IBM окончательно потеряла своё влияние на рынок PC-совместимых машин, уступив место Intel и Microsoft. В 2004 году IBM объявила об уходе с рынка PC-совместимых компьютеров[17], впоследствии продав все права на производство ноутбуков и настольных компьютеров компании Lenovo.

Несмотря на то, что компьютеры с процессорами 80386 были доступны с 1986 года (один из первых — Compaq Deskpro[англ.]), основной операционной системой для PC оставалась MS-DOS, однозадачная ОС, не использовавшая всех возможностей процессора. Альтернативные ОС для PC существовали, но не пользовались популярностью, либо использовались только в узкоспециализированных нишах. Первые версии Windows также не получили широкого распространения, к тому же это были лишь надстройки над DOS, реализующие многозадачность и среду рабочего стола.

Но эту ситуацию изменил выход Windows 95, сопровождавшийся масштабной рекламной кампанией. По функциональности Windows 95 уже стояла наравне с конкурентами с других платформ, поддерживалась автоконфигурация оборудования (Plug&Play) и защита памяти. Кроме того, для игровых и мультимедийных приложений было разработано API DirectX, предоставляющее доступ к расширенным функциям видеоадаптера, звуковой карты и игровых контроллеров. С выходом Windows 95 Microsoft стала основным игроком, наряду с Intel, диктующим основные стандарты платформы. В частности, компании Intel и Microsoft в 1997—2001 годах выпускали набор спецификаций PC System Design Guide, диктовавший, какие стандарты должен поддерживать компьютер, чтобы считаться PC-совместимым.

Тем не менее, приложения для DOS, в том числе игры продолжали выпускаться и после появления Windows 95, в частности игры на движке Build Engine, такие как Duke Nukem 3D (1996). Основная причина — однозадачный DOS позволял отдавать все ресурсы процессора игре, что позволяло снизить системные требования, а также незрелость «игровых» API, имевших низкую функциональность и большие накладные расходы, что ограничивало производительность. Первой широко принятой индустрией видеоигр версией DirectX, обеспечивающей сравнимую с DOS производительность, была пятая, вышедшая одновременно с Windows 98 в мае 1998 года.

Дальнейшее развитие платформы

[править | править код]

В 1995 году компания Intel представила стандарт ATX, диктующий геометрические размеры компонентов компьютера, расположение, форму и распиновку разъёмов и крепёжных элементов, а также параметры блока питания. Этот стандарт прижился не сразу, став массовым только с начала 2000-х годов — до тех пор производители ориентировались на IBM PC/AT.

С 1997 по 2001 компании Intel и Microsoft совместно выпускали документ под названием PC System Design Guide, содержащий рекомендации о том, какие стандарты должен поддерживать компьютер, чтобы считаться PC-совместимым. Было выпущено четыре редакции: PC97, PC98, PC99 и PC2001. Кроме основных стандартов они содержали рекомендации по цветовому кодированию разъёмов, а также о том, какие технологии следует считать устаревшими и воздержаться от их использования в новых моделях и от поддержки в новых версиях ПО.

Архитектура

[править | править код]
Структурная схема устройств PC-совместимого компьютера, традиционно располагающихся на материнской плате

IBM-PC-совместимые компьютеры построены на базе микропроцессоров, совместимых с 8086[18]. Обязательно также наличие BIOS или UEFI, стандартных для PC системы адресации, прерываний, прямого доступа к памяти и системных шин (в зависимости от поколения компьютера это может быть ISA, PCI или PCI-Express)[19].

Оригинальный IBM PC производился с процессором Intel 8088. Кроме 16-битной системы команд этот процессор мог адресовать без дополнительных ухищрений до 1 мегабайта (220 байт) оперативной памяти, когда большинство применяемых в персональных компьютерах микропроцессоров могли адресовать только 64 килобайта[20]. Позже его сменил сначала Intel 80286, имевший защищённый режим и умевший адресовать до 16 мегабайт (224), а потом — Intel 80386, с 32-битным машинным словом и адресным пространством до 4 гигабайт (232)[20]. В дальнейшем, вплоть до перехода на x86-64, изменения практически не затрагивали систему команд, хотя его внутреннее устройство значительно перерабатывалось: математический сопроцессор был перенесён внутрь кристалла процессора, появился процессорный кэш, изменялась внутренняя архитектура процессора и т.д.

Математический сопроцессор

[править | править код]

Изначально, вплоть до Intel 80386 процессоры Intel не имели встроенных средств для расчётов с плавающей запятой, однако в качестве опции для этой цели мог быть установлен дополнительный сопроцессор. Начиная с Intel 80486 блок для работы с плавающей запятой становится частью центрального процессора.

На смену процессорам архитектуры IA-32 компания Intel готовила совершенно новую архитектуру — Itanium. Однако, ошибки в маркетинге и технические проблемы привели к тому, что конкуренцию выиграла архитектура x86-64, разработанная компанией AMD и почти полностью обратно совместимая с 32-битной архитектурой процессоров Intel.

Распределение памяти

[править | править код]

Основная область памяти, барьер 640 килобайт

[править | править код]

В процессорах intel 8086/8088 доступно лишь 1 мегабайт (220 байт) памяти, однако через часть этого пространства доступна видеопамять, память BIOS и различных внешних устройств, поэтому для самих программ остаётся только 640 килобайт (адреса 0x000000x9FFFF)[21]. Более поздние модели процессоров имеют больший объём адресуемой памяти, но для этого требовалось перейти в другой режим процессора. Кроме того, особенность конструкции процессора intel 80286 позволяла с помощью определённых ухищрений обращаться к дополнительным 64К памяти (0x1000000x10FFFF), и для обеспечения совместимости с таким режимом был организован специальный ключ, доступный через порт контроллера клавиатуры[22].

Верхняя память (UMA)

[править | править код]

Адреса с 0xA0000 по 0xFFFFF заполнены данными различных устройств: сюда проецируется часть видеопамяти, BIOS , память настроек и области конфигурирования Plug and Play[23]. Для ускорения работы с этой областью памяти может использоваться так называемое «теневое ОЗУ», когда данные при записи копируются и в память устройства, и в специальную область ОЗУ, а при чтении берутся только из ОЗУ, однако такой режим доступен на процессорах 80386 и выше, и только для тех устройств, которые не могут самостоятельно изменять значения этой памяти[24].

Кроме того, существует возможность отображать на область UMA и области из дополнительной памяти — с помощью спецификаций EMS и XMS[25].

Дополнительная память

[править | править код]

Начиная с процессора 80286 появился защищённый режим, который имеет две функции: доступ к областям памяти дальше 1 мегабайта и защита памяти. Изначально существовало два способа доступа к памяти: сегментный и страничный, однако первый, несмотря на свои преимущества, так и не получил распространения из-за своей сложности, поэтому начиная с x86-64 процессоры поддерживают только страничную адресацию[26].

Память режима SMM

[править | править код]

Область памяти, доступная в режиме SMM — достаточно невелика, но к ней невозможно стандартными средствами обратиться из операционной системы и прикладных программ. Эта память используется для того, чтобы режим SMM включался прозрачно для других программ и не портил регистры процессора, а также для хранения данных и кода, необходимых для работы SMM[27].

Виртуальная память

[править | править код]

Процессоры типа x86 позволяют адресовывать больше памяти, чем физически имеется в системе. При попытке обращения к недоступной памяти процессор генерирует специальное исключение, которое обрабатывает операционная система, и при необходимости может либо подгрузить нужные данные из внешнего устройства (как правило, с диска), либо выдать ошибку. Благодаря механизму страничной адресации часть памяти может быть в любой момент выгружена, а на её место загружены другие данные, благодаря этому происходит прозрачная для выполняемых программ подкачка[26][28].

Пространство ввода-вывода

[править | править код]

Хотя в процессорах типа x86 для адресации портов ввода-вывода используется шина адреса, на процессоре имеются специальные выходы для переключения между пространством памяти и ввода-вывода. Таким образом, запись в порт ввода-вывода с адресом, равным адресу ячейки памяти, не приведёт к записи в эту ячейку, и наоборот. На шине ISA эта адресация использовалась напрямую, на более поздних — передаётся в виде специальных команд. Для ввода-вывода доступно только 16 бит адреса, следовательно — не более 65536 портов, однако в некоторых картах могла использоваться неполная дешифрация, из-за чего учитывались только первые 10 или 12 бит. Первые 256 адресов назначаются стандартным устройствам, расположенным, как правило, на материнской плате: системному таймеру, клавиатуре, контроллеру прерываний, FPU и т. д. В шине ISA адреса устройствам назначались жёстко, в более поздних шинах (MCA, PCI, PCIe) — программированием чипсета и мостов[29]. Однако, начиная с шины PCI, есть тенденция к уходу от использования регистров ввода-вывода и непосредственного отображения устройств в память, что позволяет снять ограничение на количество портов и перемещать эти области в любую часть памяти[30].

Прерывания

[править | править код]

PC имеет достаточно развитую систему прерываний, с приоритетами, маскируемыми и немаскируемыми прерываниями. За обработку маскируемых прерываний отвечают специальные контроллеры прерываний. Немаскируемые прерывания генерируются схемами чипсета и материнской платы и используются для работы с памятью и системной шиной. Кроме того существует специальное прерывание, переводящее процессор в режим SMM[31]. При этом одна линия запроса прерывания может использоваться одновременно несколькими устройствами.

Традиционный контроллер прерываний

[править | править код]

Контроллер 8259A позволял обрабатывать до 8 запросов прерываний. В IBM PC/AT использовалось каскадное включение двух контроллеров, что позволило увеличить количество запросов до 15. Контроллер позволяет выбирать вектор прерывания для каждого из запросов, а также настраивать вид запроса прерывания (по уровню или перепаду), маскировать отдельные линии[32].

Улучшенный контроллер прерываний

[править | править код]

Улучшенный контроллер прерываний позволил работать в многопроцессорном режиме. Кроме обработки маскируемых, немаскируемых и SMI-прерываний и распределения их по процессорам новый контроллер позволял посылать прерывания от одного процессора на другой. Для этого каждый процессор имеет свой локальный контроллер прерываний, а также контроллеры для устройств ввода-вывода (I/O APIC), все контроллеры при этом соединены специальной шиной. Новый контроллер также позволяет увеличить количество входов запросов прерываний[33].

Прямой доступ к памяти

[править | править код]

В шине ISA использовался специализированный контроллер intel 8237A[англ.]. Начиная с шины PCI контроллер стал частью мастера шины и уже не был стандартным и централизованным, но мог работать в режиме совместимости с 8237A. Основные устройства, использующие прямой доступ к памяти — это накопители (жёсткие диски, SSD, CD/DVD), звуковые карты. Тем не менее, во времена шины ISA жёсткие диски могли работать без ПДП, несмотря на то, что такой режим создавал нагрузку на процессор: потому, что стандартный контроллер не обеспечивал достаточной скорости работы, и ему была доступна не вся память[34].

Одно из важнейших особенностей платформы стала система BIOS — набор программ, хранящихся в ПЗУ и предоставляющих стандартизированные вызовы для работы с базовыми возможностями платформы. Использование BIOS позволило с одной стороны вносить изменения в реализацию отдельных устройств компьютера, не теряя совместимости с платформой, а с другой — эмулировать устройства, не реализованные аппаратно. Кроме того, на BIOS возложены функции начального тестирования (POST) и загрузки операционной системы. С появлением Plug-and-play, ACPI эти функции также возложены на BIOS[35]. BIOS была одним из компонентов, который IBM запатентовала, поэтому сторонние разработчики PC-совместимых компьютеров вынуждены были разрабатывать собственные версии BIOS по методу «чистой комнаты».

Энергонезависимая память BIOS

[править | править код]

Часть настроек BIOS может изменяться в процессе эксплуатации компьютера, такие как частота тактового генератора, местоположение операционной системы, и т.д. На первых PC эти настройки осуществлялись переключением перемычек или dip-переключателей, но такой способ сильно ограничивал возможности настройки. В дальнейшем для хранения настроек стала использоваться микросхема памяти небольшого объёма, которая может работать от собственного малогабаритного источника питания. Для работы с этими настройками используется специальная программа BIOS setup, которая вызывается специальным сочетанием клавиш при запуске компьютера.

Часы реального времени

[править | править код]

Кроме хранения настроек, наличие элемента питания позволило включить в число стандартных устройств часы реального времени, позволяющих получать значения текущей даты и времени. Некоторые ранние реализации часов хранили только две десятичные цифры года и содержали упрощённый алгоритм расчёта високосных годов, из-за чего были подвержены проблеме-2000[36].

Изначальная реализация BIOS работала исключительно в реальном режиме процессора и использовала только 16-битные команды. Для замены BIOS была разработана новая спецификация, названная «UEFI». Кроме 32-битного режима и расширенных возможностей конфигурирования оборудования, UEFI включала новую спецификацию таблиц разделов и загрузочной записи — GPT.

Системный таймер

[править | править код]

В отличие от многих персональных компьютеров 1970—1980-х годов, тактовая частота PC не привязана жёстко к архитектуре и может меняться даже в процессе работы. Не является неизменной величиной также и количество тактов, за которые процессор выполняет те или иные операции. Для того, чтобы отмерять интервалы времени — более короткие, чем доступны через опрос часов реального времени — используются специальные таймеры. В IBM PC и PC/XT использовалась микросхема intel 8253, в AT — более совершенная intel 8254[англ.], в дальнейшем их функции взял на себя чипсет. Кроме того, один из каналов этого таймера подключается к динамику, который до появления полноценных звуковых карт был основным способом вывода звука для всех PC-совместимых компьютеров[37]. С 2005 года этот таймер стал заменяться на таймер нового стандарта, названного HPET, который позволил отмерять интервалы времени с большим разрешением.

Несмотря на наличие таймера, некоторые ранние игры для PC не использовали таймер, а опирались на традиционный для домашних компьютеров 80-х подсчёт тактов процессора. Для сохранения совместимости с такими играми некоторые компьютеры оснащались кнопкой «Turbo», переключавшей тактовую частоту процессора между частотой оригинального IBM PC и более высокой, поддерживаемой данной моделью[38][39][40].

Шины расширения

[править | править код]

В большинстве случаев PC-совместимые компьютеры, в зависимости от поколения, используют одну из шин: ISA, PCI или PCIe. Для целей совместимости со старым оборудованием могут устанавливаться слоты более старых шин, подключенные через межшинный мост. В компьютерах, использовавших в качестве основной шины расширения шину PCI, для подключения видеокарт могла использоваться специализированная шина — AGP. Для подключения внешних устройств также используются не специфичные конкретно для PC шины: USB, Fire Wire, SCSI и другие.

Шина расширения, позже названная ISA, которая использовалась в первых IBM PC, была почти полностью взята из компьютера System/23. В PC было изменено назначение лишь пяти сигнальных линий[41]. В 1984 году к шине ISA было добавлено ещё 36 линий для увеличения её пропускной способности. В 1987 году компания IBM перешла на новую шину MCA, однако лицензионная политика оттолкнула производителей периферии и консорциум из девяти производителей компьютеров разработал свой вариант шины, обратно совместимый с ISA — EISA. Новая шина также не получила распространения в персональных компьютерах, где продолжала использоваться старая шина, пока она не была вытеснена шиной PCI, но использовалась в серверах.

В июне 1992 года компания Intel разработала новый стандарт шины, названный PCI. При разработке этой шины были учтены ошибки компании IBM, прежде всего, стандарт сделан открытым. Среди прочего новая шина поддерживала автоконфигурацию оборудования (plug-and-play) и прямой доступ к памяти на пространстве свыше 4 мегабайт. Тактовая частота шины — 33 или 66 мегагерц, что обеспечивало пропускную способность для 32-битной шины — 133 или 266 мегабайт в секунду. Начиная с версии 2.1 стандарт PCI распространился за пределы PC-совместимых компьютеров.

Для большинства периферийных устройств середины 90-х пропускной способности шины PCI хватало, за исключением видеокарт. Специально для них был разработан специализированный интерфейс AGP, обеспечивавший прямой доступ к памяти с большой пропускной способностью, а также большие токи энергопотребления.

В 2004 году компания Intel представила новый стандарт карт расширения, названный PCI Express. В отличие от PCI, в которой все устройства соединялись в единую шину, PCIe использовала соединение с топологией «Звезда» и последовательную передачу данных, однако для повышения пропускной способности может использоваться до 16 (изредка до 32) параллельных линий передачи на одно устройство. Производительность интерфейса позволила отказаться от AGP. На логическом уровне PCIe сохранил совместимость с PCI, что позволило производителям периферии быстро перестроиться на новую шину.

Видеоподсистема

[править | править код]

В отличие от многих производителей ПК начала 80-х, в PC видеоадаптер устанавливался в виде карты расширения. Это позволило продавать разные конфигурации PC под разные задачи: монохромный текстовый адаптер относительно высокого разрешения для большинства повседневных задач и цветной с графическим режимом и выходом на телевизор, но более низким разрешением для работы с графикой. Такое решение привело к усложнению и удорожанию графических адаптеров, при этом по графическим возможностям они не превосходили возможности графики большинства других имевшихся на рынке персональных компьютеров, а к концу 80-х — и сильно уступали им. Кроме того, видеоадаптеры до VGA были не полностью совместимы между собой. Однако расширяемость видеоподсистемы в конечном счёте стала одним из факторов, который привёл к доминированию платформы.

Текстовый режим

[править | править код]

Знакогенераторы большинства PC-совместимых компьютеров содержали достаточно богатый набор дополнительных символов, прежде всего символов рисования рамок, заполнения знакомест и различных спецсимволов. Это, а также тот факт, что текстовый режим был прост в программировании и имел высокое быстродействие, определило его достаточно высокую популярность. К примеру, многие текстовые процессоры, такие как WordStar[англ.], в основном работали в текстовом режиме, а в графический режим переключались исключительно для демонстрации готового документа перед его печатью.

Вплоть до VGA, PC-совместимые видеоадаптеры имели те или иные проблемы совместимости. В 1989 году производители видеоадаптеров объединились в консорциум VESA, в котором было решено зафиксировать VGA как стандарт и впоследствии все PC-совместимые видеоадаптеры должны быть обратно совместимы с ним. Кроме того, было разработано несколько других стандартов, часть из которых так и не получило распространения.

Аудиоподсистема

[править | править код]

В первых PC вывод звука осуществлялся через программный таймер Intel 8253. Он позволял выводить звук одного тона, либо напрямую переключать состояние вывода динамика. Он был предназначен в основном для подачи служебных звуковых сигналов, но не для сколько-либо сложной музыки или звуковых эффектов.

Звуковая подсистема PC развивалась в основном силами сторонних разработчиков. Развитие шло в двух направлениях: музыкальные синтезаторы и цифро-аналоговые преобразователи. Наиболее известным представителем первых были карты производства AdLib, одним из самых ранних представителей вторых стали устройства типа Covox. В конце 80-х на рынке появились карты наподобие Sound Blaster, совмещавшие оба способа формирования звука.

В 1997 году компания Intel представила интерфейс цифро-аналоговых и аналого-цифровых преобразователей, поддерживающих до 6 каналов, частоту дискретизации до 96 кГц (только в стереорежиме, в многоканальном — не более 48) и разрядность до 24 бит. Данный стандарт мог использоваться как для ввода-вывода звука, так и в качестве модема.

High Definition Audio

[править | править код]

В 2004 году компания Intel представила новую спецификацию, пришедшую на смену AC’97, позволяющую работать с большим (до 15 входных и стольких же выходных) количеством каналов, большей (до 192 кГц) частотой дискретизации и большей (до 32 бит) разрядностью, а также предоставляющий дополнительные средства для управления устройством. Новая спецификация несовместима программно со старой. Также как и AC’97, его можно использовать как для ввода-вывода звука, так и в качестве модема.

Электропитание

[править | править код]

Ранние PC требовали для питания четырёх напряжений: ±5 В и ±12 В[42]. Большинство цепей питалось от напряжения +5 В — стандартного напряжения питания для микросхем ТТЛ. От +12 вольт питались отдельные мощные потребители, такие как двигатели приводов гибких и жёстких дисков. Отрицательные напряжения нужны были для работы некоторых портов ввода-вывода и для соблюдения спецификации шины ISA. Для надёжного запуска компьютера имеется также контакт «Power Good», на который подаётся напряжение только после того, как на выходе источника питания установится стабильное напряжение[43]. В первых PC выключатель питания располагался в задней части правой панели корпуса, там где располагался блок питания[44], позже был вынесен на переднюю панель.

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

Отдельные потребители, такие как дисководы жёстких и гибких дисков, а также корпусные вентиляторы, системы охлаждения и подсветки, могут подключаться к блоку питания через отдельные кабели с разъёмами MOLEX 8981, AMP 171822-4 или MOLEX 88751.

Блок питания ATX

[править | править код]

Важнейшей особенностью стандарта ATX стала новая схема электропитания. Прежде всего, вместо непосредственной коммутации сетевого напряжения выключателем, используется косвенное управление с помощью низковольтного сигнала PS-ON#[45]. Для её работы, а также для питания некоторых цепей компьютера, работающих в дежурном режиме, блок питания стал оснащаться дополнительным маломощным источником дежурного режима (+5VSB). Также блок питания выдаёт напряжение +3,3 В, однако это не привело к отказу от модуля VRM, так как напряжение питания процессора продолжило снижаться. Для лучшей стабилизации напряжения 3,3 В на разъёме питания распаивается дополнительный провод обратной связи (+3.3VSense). По мере роста мощности рассеивания центральных процессоров роль линий +3,3 и +5 В стала снижаться, основным потребителем становится линия +12 В. Для питания высокопроизводительных процессоров и видеокарт могут устанавливаться дополнительные разъёмы +12 В в непосредственной близости от потребителя.

Изначально IBM PC не имел средств управления электропитанием, включение и выключение всего компьютера осуществлялось выключателем в цепи питающей сети, а питание на большинство устройств подавалось постоянно.

Появление ноутбуков потребовало уменьшить потребление энергии устройствами для достижения большей автономности при меньшем весе аккумулятора, а также контроля его состояния. Для этой цели в 1992 году был принят стандарт APM.

Недостаток APM заключался в том, что он требовал для своей работы обращения из операционной системы к BIOS. Тот факт, что BIOS работала в реальном режиме x86-го процессора, приводил к проблемам с быстродействием при обращении к функциям управления электропитанием. В декабре 1996 года компании HP, Intel, Microsoft, Phoenix и Toshiba разработали новый стандарт, названный ACPI, в котором обращение к BIOS требовалось только для изначальной конфигурации оборудования, в дальнейшем операционная система самостоятельно могла обращаться ко всем функциям управления электропитанием. Кроме управления электропитанием, ACPI позволяет также управлять тактовой частотой и напряжениями питания процессора и других устройств, частотой вращения вентиляторов, а также контролировать температуру и энергопотребление устройств.

Устройства хранения

[править | править код]

Оригинальный IBM PC поставлялся с одним или двумя 5,25″ — дисководами по шине Шугарта[англ.] и разъёмом для подключения магнитофона. В IBM PC/XT был добавлен жёсткий диск с интерфейсом ST-506, но убран разъём магнитофона. Начиная с PC/AT стал использоваться более совершенный интерфейс жёстких дисков, получивший название IDE.

Интерфейс ST-506 обладал серьёзными недостатками: прежде всего, шлейф между диском и контроллером был чувствителен к помехам, кроме того, каждое новое поколение жёстких дисков требовало бы нового контроллера. Чтобы избежать этого, компания Western Digital в 1986 году разработала новый интерфейс, в котором контроллер, управляющий позиционированием головок и считыванием данных располагался непосредственно на корпусе диска, а та часть контроллера, которая устанавливалась в шину расширения отвечала бы лишь за передачу команд жёсткому диску. Позже интерфейс ATA был расширен для возможности подключения к нему приводов компакт-дисков.

Серьёзный недостаток интерфейса ATA — то, что накопитель подключается широкий многоконтактный шлейф, достаточно неудобный в эксплуатации. Кроме того, несмотря на то, что параллельный интерфейс при той же частоте следования импульсов передаёт данные с большей скоростью, для гибких шлейфов достаточно большой длины с ростом частоты возникают проблемы синхронизации. Таким образом, несмотря на переход с параллельного на последовательный интерфейс, SATA позволил увеличить скорость обмена данными. К тому же SATA предполагал подключение каждого накопителя к индивидуальному разъёму, что облегчило задачу «горячей» замены накопителя.

С появлением быстродействующих твердотельных накопителей, возможностей интерфейса SATA стало не хватать. Специально для работы с твердотельными накопителями был разработан новый протокол NVMe. Он с одной стороны оптимизирован для лучшей работы с высокоскоростной флеш-памятью, с другой — значительно упрощён, по сравнению с AHCI.

Отдельные периферийные устройства

[править | править код]

PC-совместимые компьютеры могут иметь до четырёх аппаратных портов RS-232, обозначаемых как COM1…COM4, поддерживаемых на уровне BIOS. Каждый занимает по 8 8-битных регистров ввода-вывода (от 0x2E8 до 0x3FF) разделяют два аппаратных прерывания на четыре порта (IRQ4 для COM1 и COM3 и IRQ3 для COM2 и COM4). Также COM-порт может работать со средствами прямого доступа к памяти. Достаточно длительное время с помощью COM-портов подключали мыши, модемы и некоторое другое оборудование, однако из-за невысокой скорости работы, отсутствия средств автоматического конфигурирования и других недостатков, начиная со спецификации PC99 использование этого порта не рекомендуется[46]. Вместо этого используются порты USB, а при необходимости связи с устройствами, имеющими интерфейс RS-232, применяются мосты USB-UART.

В DOS встроены средства непосредственной передачи консольного вывода в COM-порт и приёма через него консольного ввода, что позволяло подключать через него терминалы. Кроме того, возможно соединение компьютеров с помощью так называемого нуль-модемного кабеля, что позволяло организовать примитивную локальную сеть[47].

Параллельный порт

[править | править код]

Другой способ подключения внешних устройств, существовавший с первых IBM PC — параллельный порт, который обозначался как «LPT» (Line Printer Terminal). Основное назначение этого порта — подключение принтера[48]. По большей части этот порт совместим со ставшим к тому времени стандартом интерфейсом принтеров «Centronics», однако компания IBM намеренно внесла в него некоторые изменения, чтобы сделать невозможным подключение имеющихся в продаже принтеров к новому компьютеру, за исключением собственных моделей. Вскоре производители принтеров начали выпускать принтеры, совместимые как с IBM, так и с Centronics[49]. Позже появилось множество расширений порта LPT, которые позволяли использовать его для различных целей, отличных от подключения принтера, в том числе сделать его симметрично-двусторонним[50]. В конечном итоге все эти расширения были сведены в стандарт IEEE 1284[51].

Кроме принтера, через параллельный порт могли подключаться и другие устройства. В отличие от COM-порта, LPT обеспечивал более высокую скорость передачи, поэтому его часто использовали для сканеров, внешних накопителей (в частности, Iomega Zip). Имелась возможность соединения с помощью параллельного порта компьютеров в сеть[52]. Кроме того, за счёт возможности управлять напрямую состоянием отдельных контактов разъёма, LPT-порт мог использоваться вместо GPIO в различных самодельных и мелкосерийных устройствах.

Клавиатура

[править | править код]

Механическая часть клавиатуры первого IBM PC почти без изменений была взята от System/23, только вынесена в отдельный корпус и изменены обозначения клавиш. Однако, электрическая часть была переработана, так как в System/23 она соединялась с материнской платой многожильным кабелем, что было неудобно[53]. В дальнейшем, PC-клавиатура претерпела два кардинальных изменения раскладки и одно изменение интерфейса, после чего окончательный свой вид приобрела начиная с 1986 года IBM PC/AT[54]. Позже её сменили клавиатуры стандарта USB HID.

Изначально для PC-совместимых компьютеров использовались мыши двух типов: PC-Mouse от Mouse Systems[англ.] и Microsoft Mouse[англ.]. Они подключались через COM-порт, что было сопряжено с определёнными неудобствами[55]. В 1987 году IBM представила компьютер PS/2, в котором мышь и клавиатура подключалась через два одинаковых разъёма mini-DIN-6. Позже стали появляться PS/2 мыши и других производителей. Также как и клавиатуры, они были вытеснены аналогами, работающими по протоколу USB-HID.

Частично совместимые компьютеры

[править | править код]
DEC Rainbow 100 — один из компьютеров, работавших под MS-DOS, но не бывший совместимым с PC

Использование процессора архитектуры x86 или x86-64 недостаточно, чтобы компьютер мог называться PC-совместимым. Он должен поддерживать актуальные на момент его выпуска BIOS/UEFI и стандарты шин. Например, на x86-смартфонах невозможно установить нативно Microsoft Windows, так как для этого нужен в том числе транслятор вызовов для BIOS[56].

В начале эры IBM PC-совместимых компьютеров выпускались также так называемые MS-DOS-совместимые компьютеры. На них можно было запускать ПО, использующее стандартные вызовы MS-DOS а часть более специфических возможностей не поддерживалась. Наиболее известный пример тех лет — Tandy 2000. Также сама компания IBM в 1983 году выпустила IBM PCjr, предназначенный в основном для игр — но его постиг маркетинговый провал, в том числе из-за неполной совместимости со «старшим братом». Тем не менее, совместимый с PCjr Tandy 1000 (позволявший использовать стандартные карты расширения без переходников — PCjr использовал громоздкие и имеющие другую систему разъёмов внешние модули-«коляски» — и обладавший значительно большей программной совместимостью с XT) оказался достаточно успешен — именно из-за улучшенной совеместимости. В СССР наряду с полностью совместимыми ЕС 18xx и Искра 1030 выпускался частично совместимый «Поиск», сильно упрощённый и максимально использующий отечественные компоненты[57]. После распада СССР под маркой «Поиск» стали выпускаться уже полностью совместимые компьютеры.

С 2006 по 2020 годы компьютеры Apple оснащались процессорами Intel. На фото — Mac mini 2009 года

C 2005 года компания Apple отказалось от процессоров PowerPC, перейдя на процессоры архитектуры x86-64. Это позволяло устанавливать на них операционную систему Windows, однако для этого требовалась эмуляция вызовов BIOS и установка специфических драйверов устройств. Для этой цели была выпущена специальная программа Boot Camp[58][59]. C 2020 года в Apple отказались от процессоров Intel в пользу собственной архитектуры Apple silicon, отказавшись от частичной совместимости с PC[60][61].

С понятием PC-совместимого компьютера пересекается понятие Wintel (Windows+Intel) — компьютер на x86 — процессоре с операционной системой Windows[62]. Хотя за исключением ранних моделей, PC-совместимый компьютер может работать под управлением Windows, может использоваться и другая операционная система, например Linux, FreeBSD и т. д.

PC как игровая платформа

[править | править код]

PC изначально создавался исключительно как платформа для бизнеса. Как домашний компьютер, PC был слишком дорогим. Возможности графического адаптера CGA хоть на момент выхода и не отставали от конкурентов, вскоре стали появляться модели с более широкими возможностями графики, в том числе аппаратными спрайтами и прокруткой. Кроме того, единственным звуковым устройством был системный динамик, который мало годился для игр. В 1983 году компания IBM предприняла попытку выйти на рынок домашних компьютеров с моделью PCjr, но попытка провалилась — PCjr был слишком дорог для «просто домашнего компьютера», а как PC он не был полностью совместим. Тем не менее игры для PC были, в основном порты с других платформ[63].

Лишь к концу 1980-x PC стал рассматриваться как игровая платформа с широким распространением EGA-, VGA- и SVGA-совместимых видеоадаптеров а также звуковых карт. Важным фактором стало появление CD-ROM, позволявшего хранить значительный по тем временам объём данных в 500 мегабайт. Компьютер, подходящий для работы с играми в те годы назывался мультимедийным. PC тех лет всё ещё отставал от других платформ по графическим и звуковым возможностям: в нём не было никаких средств ускорения обработки графики: ни скроллинга, ни спрайтов, ни тем более 3d-ускорителей (которые уже существовали в компьютерах Amiga). Однако большая производительность центрального процессора и отсутствие клэшинга позволяла компенсировать этот недостаток: в вышедшем в 1990 году Commander Keen in Invasion of the Vorticons был применён плавный программный скроллинг, а в 1992 году вышел Wolfenstein 3D, ставший родоначальником всего жанра игр FPS. В середине 1990-х начали появляться и первые популярные графические ускорители для PC: наиболее известны карты 3dfx Voodoo.

Примечания

[править | править код]
  1. Гук, 2006, с. 96.
  2. Is a Mac a PC? (англ.). Computer Hope (24 января 2018). Дата обращения: 19 июля 2021. Архивировано 19 июля 2021 года.
  3. 1 2 PC (англ.). PC Mag Encyclopedia. — «In contrast to the more generic definition above [Any laptop or desktop computer such as a Windows, Mac or Linux machine], a PC generally refers to an x86-based desktop or laptop computer… The term PC typically refers to the user's desktop or laptop computer, which is the "client" machine. However, millions of x86-based machines are used as servers». Дата обращения: 19 мая 2024.
  4. Гук, 2006, с. 19.
  5. Byte, 1990.
  6. Tanenbaum, 2018, с. 45.
  7. Caruso, Denise (1984-02-27). "IBM wins disputes over PC copyrights". InfoWorld: 15. Архивировано 19 марта 2015. Дата обращения: 15 января 2015.
  8. 1 2 Langdell, James (1984-07-10). "Phoenix Says Its BIOS May Foil IBM's Lawsuits". PC Magazine: 56. Архивировано 1 января 2014. Дата обращения: 25 октября 2013.
  9. Schmidt, Robert (July 1994). "What Is The BIOS?". Computing Basics. Архивировано 10 марта 2012. Дата обращения: 19 сентября 2011. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  10. Libes, Sol (December 1981). "Bytelines". BYTE. pp. 314—318. Дата обращения: 29 января 2015.
  11. "Lookalikes From Home & Abroad". PC Magazine. February-March 1982. p. 5. Архивировано 26 января 2021. Дата обращения: 20 октября 2013. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)Википедия:Обслуживание CS1 (формат даты) (ссылка)
  12. Zussman, John Unger (1982-08-23). "Let's keep those systems open". InfoWorld. p. 29. Архивировано 26 июня 2021. Дата обращения: 29 января 2015. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  13. Barmash, Isadore (1983-06-10). "Corporate Triumph, Then Death in a Ferrari". The New York Times (англ.). p. A1. ISSN 0362-4331. Архивировано 26 июня 2021. Дата обращения: 19 июня 2019. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  14. Mace, Scott (9-16 January 1984). "IBM PC clone makers shun total compatibility". InfoWorld. pp. 79—81. Архивировано 26 июня 2021. Дата обращения: 4 февраля 2015. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)Википедия:Обслуживание CS1 (формат даты) (ссылка)
  15. Cook, Karen; Langdell, James (1984-01-24). "PC-Compatible Portables". PC Magazine. p. 39. Архивировано 26 июня 2021. Дата обращения: 23 октября 2013. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  16. Фигурнов, 1995.
  17. "IBM, LG winding down joint venture". CNET (англ.). 2004-08-31. Архивировано 23 апреля 2019. Дата обращения: 25 ноября 2018.
  18. Norton, Peter (1985-02-05). "Software for Once and All". PC Magazine. p. 103. Архивировано 5 апреля 2016. Дата обращения: 28 октября 2013.
  19. Гук, 2006, с. 97.
  20. 1 2 Гук, 2006, с. 98.
  21. Гук, 2006, с. 99.
  22. Гук, 2006, с. 98—99.
  23. Гук, 2006, с. 103—104.
  24. Гук, 2006, с. 105.
  25. Гук, 2006, с. 106—108.
  26. 1 2 Гук, 2006, с. 262—263.
  27. Гук, 2006, с. 102—103.
  28. Гук, 2006, с. 108—109.
  29. Гук, 2006, с. 109—112.
  30. Гук, 2006, с. 148—149.
  31. Гук, 2006, с. 112—117.
  32. Гук, 2006, с. 117—119.
  33. Гук, 2006, с. 119—122.
  34. Гук, 2006, с. 124—126.
  35. Гук, 2006, с. 160—162.
  36. Гук, 2006, с. 129—133.
  37. Гук, 2006, с. 127—129.
  38. PC Cases — Everything You Need To Know Архивная копия от 12 июля 2001 на Wayback Machine. PC Guide.
  39. Turbo button Архивная копия от 24 июля 2022 на Wayback Machine, Computer Hope, 10-17-2017
  40. Why Did the Turbo Button Slow Down Your PC in the '90s? howtogeek.com (19 января 2021). Дата обращения: 14 марта 2021. Архивировано 21 января 2021 года.
  41. Byte, 1990, p. 418—420.
  42. Гук, 2006, с. 78.
  43. Гук, 2006, с. 78—79.
  44. Byte, 1990, p. 414.
  45. Гук, 2006, с. 79-83.
  46. Гук, 2006, с. 842—844.
  47. Гук, 2006, с. 852—854.
  48. Гук, 2006, с. 823.
  49. Durda IV, Frank Centronics and IBM Compatible Parallel Printer Interface Pin Assignment Reference (2004). Дата обращения: 5 октября 2007. Архивировано из оригинала 13 сентября 2007 года.
  50. Гук, 2006, с. 825—826.
  51. Гук, 2006, с. 826—836.
  52. Гук, 2006, с. 838.
  53. Byte, 1990, с. 420.
  54. Adi Robertson. King of click: the story of the greatest keyboard ever made (англ.). The Verge (7 октября 2014). Дата обращения: 19 марта 2022. Архивировано 6 августа 2015 года.
  55. Гук, 2006, с. 655.
  56. Paul Morris. How To Install Windows 7 On Android Tablet (англ.) (15 июня 2015). Дата обращения: 20 января 2016. Архивировано 13 января 2016 года.
  57. Удачный «Поиск» // Наука и жизнь. — 1991. — № 2. — P. 83—86. — ISSN 0028-1263.
  58. Broersma, Matthew (April 13, 2006). "Users Find Flaw in Boot Camp". PC World. Архивировано 3 мая 2019. Дата обращения: 2 августа 2011.
  59. Mossberg, Walter (April 6, 2006). "Boot Camp Turns Your Mac Into a Reliable Windows PC". The Wall Street Journal. Архивировано 6 марта 2007. Дата обращения: 2 августа 2011. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  60. "Apple announces Mac transition to Apple silicon" (Press release). Apple. 2020-06-22. Архивировано 22 июня 2020. Дата обращения: 23 июня 2020. {{cite press release}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  61. Warren, Tom Apple is switching Macs to its own processors starting later this year (англ.). The Verge (22 июня 2020). Дата обращения: 22 июня 2020. Архивировано 22 июня 2020 года.
  62. Windows + Intel = Wintel? (англ.). Mayin.org. Дата обращения: 12 января 2010. Архивировано 16 мая 2012 года.
  63. У истоков IBM PC — когда ПК стал игровой платформой // Old-Games.RU Podcast : подкаст. — Вып. 83.

Литература

[править | править код]
  • Э. Танненбаум, Т. Остин. Архитектура компьютера = Structured computer organization. — 6. — Питер, 2018. — С. 42—45. — 816 с. — ISBN 978-5-496-00337-7.
  • Фигурнов В.Э. IBM PC для пользователя. — 6-е переработанное и дополненное. — М.: Инфра-М, 1995. — С. 18—21. — 432 с. — ISBN 5-86225-125-1.
  • Bradley, David J. The Creation of the IBM PC : [англ.] // BYTE. — 1990. — September. — С. 414—420. — ISSN 0360-5280/90.
  • Михаил Гук. Аппаратные средства IBM PC. — 3-е. — СПб.: Питер, 2006. — 1072 с. — 5000 экз. — ISBN 5-469-01182-8.
  • Соломенчук Валентин Георгиевич. Аппаратные средства PC. — 6. — СПб.: БХВ-Петербург, 2010. — 800 с. — ISBN 9785977504324.
  • Cory Doctorow. 'IBM PC Compatible': How Adversarial Interoperability Saved PCs From Monopolization (англ.). Electronic Frontier Foundation (5 августа 2019). Дата обращения: 14 июля 2021.