Super I/O (англ.Super Input/output; дословно: супер <контроллер> ввода-вывода) — название класса сопроцессоров, которые начали использоваться после 1980-х годов на материнских платахIBM PC-совместимых компьютеров путём сочетания функций многих контроллеров, сперва одной платой, устанавливаемой в слот расширения, а затем и одной микросхемой, тем самым достигая уменьшения числа микросхем контроллеров, и таким образом привели к снижению сложности и стоимости компьютера в целом. Super I/O объединяет интерфейсы различных низкоскоростных устройств.
Фактически, на рынке материнских плат массового сегмента предоставлена продукция всего четырёх фирм: ITE Tech, Nuvoton, Microchip Technology и Fintek. Производители брендовой продукции (IBM, HP, Dell, FSC) как правило используют проприетарные разработки схемотехники материнских плат и не публикуют спецификаций применяемых контроллеров.
Super I/O также может включать в себя и другие интерфейсы, такие как игровой (MIDI или джойстик) или инфракрасный порты.
Изначально Super I/O связывались через шинуISA. Одновременно с развитием IBM PC-совместимых компьютеров происходило смещение Super I/O, сперва на шины VLB, затем стала использоваться шина PCI. Современные Super I/O используют шину LPC (интерфейс которой предоставляет южный мост материнской платы) и часто реализованы в составе чипсета.
Схемотехника материнской платы предполагает наличие цепей измерения, которые производятся с помощью аналогово-цифровых преобразователей, преобразующих измеряемый параметр в цифровые значения, после чего они могут быть переданы в другое вычислительное устройство на плате для дальнейшей обработки. Измерения, производимые на материнской плате, в основном касаются трёх групп параметров: обороты вентиляторов, температура и напряжения.
Скорость вращения вентиляторов, применяемых для охлаждения блоков и отдельных частей материнской платы, обычно контролируется при помощи тахометров, встроенных в вентилятор — обычно для этого используется датчик Холла. Такой вентилятор отличается дополнительными (кроме двух питания) проводами, одним (устанавливаемый в корпус, блок питания, на охлаждение радиаторов микросхем чипсепа материнской платы/видеокарты) или двумя (процессорный).
Для мониторинга температуры используется три типа датчиков: терморезисторы, транзисторы (например, 2N3904) и датчики интегрированные в процессор.
Логически аппаратный мониторинг выглядит как набор регистров, значение которых изменяется при изменении состояния на входах.
Super I/O производства Intel
Примером современного Super I/O может служить микросхема Intel 631xESB/632xESB, обеспечивающая следующие функции[2]:
Обеспечивает реализацию интерфейса ESI (англ.Enterprise South Bridge Interface, ESI) и порта PCI Express, обеспечивающим 8-кратный поток передачи к Memory Controller Hub (MCH)
Обеспечивает совместимость с версией 1.0a спецификации шины PCI Express
Обеспечивает совместимость с приложением к протоколу спецификации версии 2.0a шины PCI и приложению по электрической и механической спецификации шины PCI
Обеспечивает совместимость с версией 2.3 спецификации шины PCI в части поддержки работы на частоте 33 МГц (поддержка до семи пар Req/Gnt)
Обеспечивает логическую поддержку режимов потребления питания ACPI
Содержит интегрированный контроллер SATA с независимыми DMA-операциями на шести портах и поддержку AHCI
Содержит интегрированный контроллер IDE, обеспечивающий работу режимов Ultra ATA100/66/33
Содержит интегрированный контроллер интерфейса USB с поддержкой восьми портов; содержит четыре интегрированных контроллера UHCI; одержит один интегрированный высокоскоростной EHCI-контроллер, обеспечивающий работу в режиме USB 2.0
Содержит сдвоенный гигабитный MAC обеспечивающий работу в соответствии со спецификациями IEEE 802.3 с поддержкой интерфейса SerDes[3]/Kumeran для двух PHY-компонентов
Обеспечивает работу PICMG-совместимого гигабитного Ethernet
Содержит интегрированный контроллер платы с базовой прошивкой ПЗУ, обеспечивающий расширяемость через внешнюю флеш-память и ОЗУ
Обеспечивает совместимость с версией 2.0 SMBus с дополнительной поддержкой I2C-устройств
Обеспечивает поддержку интерфейса Firmware Hub (FWH)
Обеспечивает дополнительные функции, например: управляет процессами во время перезагрузки и если во время первоначального старта центральным процессором не начинается выполнение инструкций, перезапускает компьютер; или переводит компьютер в режим останова в случае срабатывания защиты при открытии корпуса системного блока
Super I/O производства Integrated Technology Express Inc (ITE)
Известны следующие ИМС <контроллеров Super I/O> производства Integrated Technology Express Inc:
В качестве примера типового контроллера рассмотрим IT8705F/AF
IT8705 – высокоинтегрированный суперконтроллер ввода/вывода на основе интерфейса LPC. Контроллер обеспечивает функциональность на уровне наиболее часто используемых наследуемых функций обычного суперконтроллер ввода/вывода плюс инновации в контроле окружающей среды, такие как функция аппаратного мониторинга, регулирование скорости вращения вентилятора и фирменную разработку ITE — «SmartGuardian». Интерфейс LPC контроллера соответствует Спецификации интерфейса LPC 1.0 от 29 сентября 1997 года, публикуемой фирмой Intel[11]. IT8705F отвечает требованиям руководства «Microsoft PC98 & PC99 System Design Guide», сам контроллер является ACPI-совместимым устройством. Функции расширенного аппаратного мониторинга предоставлены тремя входами (используется 8-битное АЦП) с возможностью подключения в качестве источника аналогового сигнала (измерение температуры) внешних термисторов, температурного диода или транзистора подключенного в качестве диода (например, 2N3904). Обеспечиваемая контроллером фирменная инновация SmartGuardian (направленная на уменьшения общего шума работающей системы и снижения потребляемой электроэнергии) представляет собой интеллектуальное включение/отключение вентилятора и управление скоростью его вращения. Также доступны средства ISO 7816-совместимого считывателя смарт-карт и согласно спецификации Personal Computer Smart Card (PC/SC) Working Group. Контроллер также имеет девять интегрированных логических устройств, благодаря чему представляет собой контроллер окружающей среды (управляя тремя вентиляторами). Каждое из девяти логических устройств может быть индивидуально включено или отключено с помощью регистров конфигурации программного обеспечения. Контроллер использует энергоэффективную схему для снижения энергопотребления. После того, как логическое устройство отключено, его цепи входов блокируются, выходы переключаются в третье состояние (высокоимпедансное состояние, Z-состояние) и отключаются от тактового генератора.
Контроллер окружающей среды контролирует температуру, восемь напряжений питания (включая напряжение батареи VBAT для питания CMOS-памяти содержащего данные конфигурирования BIOS и RTC) и скорость вращения вентилятора. Один контроллер скорости вращения вентилятора отвечает за управление скоростью вращения трёх вентиляторов используя три выходных контакта управляемых 128-шаговыми импульсами (используется широтно-импульсная модуляция) и контролирует входы от тахометров трех вентиляторов. Также контролер включает в себя:
один высокопроизводительный КНГМД 2,88 МБ дискет (с сепаратором цифровых данных) поддерживающим два 360 к / 720 к / 1,2 МБ / 1,44 МБ / 2,88 МБ дисковода;
один многорежимный высокопроизводительный параллельный порт IEEE 1284, который работает как двунаправленный стандартный параллельный порт (SPP), улучшенный параллельный порт (Enhanced Parallel Port, EPP) версий 1.7 и 1.9, или порт с расширенными возможностями (ECP);
два, совместимых со стандартными 16C550, расширенных УАПП — для осуществления асинхронной связи; также осуществляется поддержка SIR и одного ИК-пульта дистанционного управления (пульт от телевизора);
один MIDI порт работающий в режим совместимом с MPU-401 UART; один игровой порт со встроенным счетверённым таймером 558 и буферными микросхемами для поддержки прямого подключения двух джойстиков; шесть портов (44 выводов GPIO);
осуществляется организация интерфейса с флэш-ПЗУ объёмом до восьми МБ (сигналами шины адреса FA [0:19], шины данных FD [0:7]); существует поддержка трёх управляющих сигналов — FCS#, FWE# и FRD#;
управляет звуковой сигнализацией при сбое или отказе компьютера;
кроме того, для мониторинга состояния системы и реакция на обнаруженные состояния соответственно предусмотрена технология SmartGuardian; вариант IT8705AF дополнительно позволяет контролировать вскрытие корпуса (аппаратная система обнаружения вторжений).
Контроллер требует одного входа тактового генератора с частотой 48/24 МГц и работает от одного источника питания +5 В. Выпускается в пластиковом 128-выводном корпусе типа PQFP.
Микросхемы Super I/O контроллер ITE IT8705F и BIOS на материнской плате ECS L7VMM2 REV1.1
Назначение выводов и сигналы контроллера
Назначение выводов ИМС контроллера (сводная таблица)
Контроллер окружающей среды Сигнал события управления энергопотреблением(англ.Power Management Event, PME#)
LDN=5 Ввод/вывод общего назначения
LDN=6 Игровой порт
Базовый адрес + (0 -1)
LDN=7 ИК порт
Базовый адрес + (0 -7)
LDN=8 MIDI порт
Базовый адрес + (0 -1)
Глобальный конфигурационный регистр
Контроллер окружающей среды
Контроллер окружающей среды (англ.Environment Controller, EC), встроенный в IT8705F, включает в себя восемь входов для контроля напряжения питания, три входа для датчиков температуры, три входа для тахометров вентиляторов и три набора улучшенных контроллеров вентиляторов.[12]
IT8705F содержит 8-битный АЦП, ответственный за контроль напряжения и температуры. АЦП преобразует аналоговые сигнала на входе, начиная от 0 В и до 4,096 В, в 8-битные цифровые байты. Благодаря наличию дополнительных внешних компонентов аналоговые входы могут контролировать разные диапазоны, в дополнение к фиксированному входному диапазону от 0 В до 4,096 В. Входы датчиков температуры могут быть преобразованы в 8-разрядные цифровые байты и контролировать температуру с термисторов или термодиода. Встроенная ПЗУ обеспечивает регулировку нелинейных характеристики термисторов.
Входы тахометра вентилятора являются цифровыми входами с диапазоном от 0 до 5 В и используются при измерениях периодов импульсов с тахометра вентилятора. FAN_TAC1 и FAN_TAC2 оснащены программируемыми делителем и могут быть использованы для измерения различных диапазонов скорости вращения вентилятора. FAN_TAC3 снабжен фиксированным делителем и может быть использован только в диапазоне по умолчанию.
Контроллер окружающей среды в IT8705F предоставляет программистам несколько внутренних регистров и генератор прерываний для контроля окружающей среды и управления вентиляторами.
Доступ программиста к контроллеру окружающей среды осуществляется по адресам двух регистров:
Регистр адреса, адрес: Базовый адрес+05h
Регистр данных, адрес: Базовый адрес+06h
Базовый адрес определяется конфигурационным регистром логического устройства контроллера окружающей среды — LDN = 04h, индекс регистров = 60h, 61h.