Сервисы и прерывания BIOS
Системная BIOS предоставляет ряд сервисов низкого уровня, в основном предназначенных для обслуживания ввода-вывода и имеющих отношения к стандартным аппаратным интерфейсам.
Способы запуска программ
радиционным способом запуска программ является загрузка их с какого-либо устройства хранения (диска) в оперативную память и исполнение в ОЗУ.
Аппаратные средства измерения времени
В IBM PC/AT имеются аппаратные средства для измерения времени. Трехканальный счетчик-таймер, программно совместимый с 18254 (в XT - 8253), выполняет следующие функции:
Прерывания
В процессорах х86 используются аппаратные прерывания, программные прерывания и исключения.
Инструкции ввода-вывода
Для обращения программы к пространству ввода-вывода предназначены всего четыре инструкции процессора: IN (ввод из порта в регистр процессора), OUT (вывод в порт из регистра процессора), INS (ввод из порта в элемент строки памяти) и OUTS (вывод элемента из строки памяти в порт).
Проблемы страничной переадресации
В реальном режиме (при отключенной страничной переадресации) логический адрес, формируемый прикладной программой, совпадает с физическим адресом, фигурирующим на шинах расширения. Тут все просто, правда, в стандартном (а не большом) реальном режиме доступен только первый мегабайт адресов (только устройства в области UMA).
Процессоры х86
Все программы в IBM PC-совместимом компьютере исполняются центральным процессором, принадлежащим к семейству х86. Любое устройство для процессора представляет собой лишь набор регистров (ячеек), отображенных в пространство памяти и (или) ввода-вывода, и необязательно источник аппаратных прерываний. Современные процессоры х86, работающие в защищенном режиме, имеют довольно сложные механизмы виртуализации памяти, ввода-вывода и прерываний, из-за которых приходится различать физические и логические пространства (адреса памяти и ввода-вывода) и события (операции ввода-вывода, прерывания). Физический адрес ячейки памяти или порта ввода-вывода - это адрес, формируемый для обращения к данной ячейке на физических шинах компьютера (системной шине процессора, шине PCI, ISA). Логический адрес - это тот адрес, который формируется исполняемой программой (по замыслу программиста) для доступа к требуемой ячейке. Физическая операция ввода-вывода или обращения к памяти - это процесс (шинный цикл), во время которого генерируются электрические сигналы, обеспечивающие доступ к данной ячейке (порту). Логическая операция - это исполнение программной инструкции (команды) обращения к интересующей ячейке. Логическая операция не всегда порождает ожидаемую физическую операцию: при определенных условиях она может блокироваться средствами защиты процессора, вызывая даже принудительное завершение программы, или же эмулироваться, создавая иллюзию физического исполнения.
Безопасность в защищенном режиме базируется на 4-уровневой системе привилегий. В большинстве современных ОС ради упрощения и экономии процессорного времени используются только два крайних уровня - нулевой (supervisor), с неограниченными возможностями, и третий (user), с самыми жесткими ограничениями. Смена уровней привилегий при исполнении программы занимает много тактов процессора, но это вынужденная плата за реализацию защиты, без которой устойчивую ОС не построить. Более подробно механизмы защиты и виртуализации памяти, ввода-вывода и прерываний в процессорах х86 описаны в литературе [6, 7], здесь же изложены лишь некоторые прикладные аспекты их работы.
Контроллер прямого доступа 8237А
Микросхема 8237А, применявшаяся в PC вплоть до первых моделей AT, представляет собой четырехканальный контроллер прямого доступа к памяти, допускающий каскадирование.
Прямой доступ к памяти — DMA
Прямой доступ к памяти (Direct Memory Access, DMA) позволяет выполнять пересылку данных между регистрами устройств и памятью, минуя центральный процессор. Для устройств, использующих DMA, различают два типа доступа.
Совместное использование прерываний
Линии запросов прерываний в компьютере, насыщенном дополнительными адаптерами, являются самым дефицитным ресурсом, поэтому возникает желание использовать эти линии совместно, то есть применять разделяемые прерывания между несколькими устройствами (shared interrupts).
Аппаратные прерывания
Аппаратные прерывания обеспечивают реакцию процессора на события, происходящие асинхронно по отношению к исполняемому программному коду.
Пространство физической памяти
Основную часть физического адресного пространства PC занимает оперативная память (ОЗУ), начинающаяся с нулевого адреса. В нее вклинивается область адресов AOOOOh-FFFFFh - Upper Memory Area (UMA), 384 Кбайт - верхняя память, зарезервированная со времен IBM PC для системных нужд.
Программно-управляемая реализация последовательных интерфейсов
Рассмотренные выше интерфейсы - PC, SMBus, SMI, SPI и JTAG - имеют общее свойство: они управляются и синхронизируются контроллером и не требуют фиксированной частоты синхронизации. Это позволяет для многих применений программно реализовать их на любом компьютере или микроконтроллере.
Интерфейс JTAG
Интерфейс JTAG (Joint Test Action Group) предназначен для тестирования сложных логических схем, установленных в целевое устройство.
Интерфейс SPI
применяется для связи микроконтроллеров с периферийными микросхемами и микросхемами памяти.
Шина управления SMI интерфейса МП
В спецификации IEEE 802.3u сетевой технологии Ethernet от 1995 г. появился интерфейс МП (Media Independent Interface - интерфейс, независимый от среды передачи), позволяющий отделять специфические устройства физического уровня (PHY) от вышестоящих уровней.
Сравнение шин I2C, ACCESS.bus и SMBus
Как видно из вышеприведенных описаний, все эти три шины являются «близкими родственниками»; однако они имеют ряд электрических, конструктивных и протокольных отличий.
Шина SMBus
Шина SMBus (System Management Bus - шина системного управления) - двухпроводной интерфейс для обмена данными между микросхемами различных системных компонентов компьютера, а также связи их с самим компьютером.
Шина ACCESS.Bus
Последовательная шина ACCESS.Bus (Accessory Bus) разрабатывалась фирмой DEC как унифицированный недорогой интерфейс взаимодействия компьютера с внешними устройствами - клавиатурой, координатными устройствами, текстовыми устройствами (принтеры, считыватели штрих-кодов), мониторами (в плане обмена управляющей и конфигурационной информацией по каналу VESA DDC).
Шина I2C
Шина Inter 1C Bus (шина соединения микросхем), или, кратко, PC, - синхронная последовательная шина, обеспечивающая двустороннюю передачу данных между подключенными устройствами.
Последовательные шины на базе I2C
Интерфейс последовательной шины PC, введенной фирмой Philips как простое и дешевое средство сопряжения микросхем бытовой электроники, стал фактическим промышленным стандартом для устройств различного назначения. Он очень удобен для обмена небольшими объемами данных, например, для конфигурации различных устройств. Спецификация шины PC определяет протокол двусторонней передачи данных по двум сигнальным линиям. Приложения этого протокола могут быть самыми разнообразными, информационная «начинка» зависит от конкретных применений. На основе интерфейса PC построены шины ACCESS.bus и SMBus
Интерфейс коммутируемой телефонной линии и телефонного аппарата
Коммутируемые линии (dial-up lines) являются наиболее распространенным внешним интерфейсом телефонной сети, к которому компьютер подключается с помощью модема. Эти линии являются аналоговыми, по одной двухпроводной линии передаются сигналы в обоих направлениях (прием и передача). Коммутируемые линии обеспечивают прохождение сигнала (речевого или данных через модем)
Сетевые адаптеры
Интерфейсы локальных сетей в ПК обеспечивают сетевые адаптеры, или сетевые интерфейсные карты (Network Interface Card, NIC). Адаптеры имеют передающую и принимающую части, которые в случае поддержки полного дуплекса должны быть независимы друг от друга. Задача передающей части: по получении со стороны центрального процессора (ЦП) блока данных и адреса назначения для передачи получить доступ к среде передачи, сформировать и передать кадр (добавить преамбулу, CRC-код), делая повторные попытки в случае обнаружения коллизий.
Стандарты и интерфейсы Ethernet
Технология Ethernet позволяет использовать различные среды передачи, для каждой из которой имеется стандартное название вида XBaseY
Miniature Card
Карты Miniature Card предназначены для использования в недорогих устройствах бытовой электроники в качестве сменной флэш-памяти, а также расширения динамической памяти.