Введение в архитектуру ввода/вывода встроенных систем
Чтобы понять, как оборудование ввода/вывода (В/В) соединяется с процессором, и как программное обеспечение общается с этими устройствами В/В, рассмотрим сейчас архитектуру В/В, которая аналогична тому, что можно найти в современных встроенных устройствах.
Процессоры должны пересылать данные в память и в устройства ввода/вывода (В/В) по шине, как показано на рисунке .1. Шина содержит адресную информацию, значение данных для пересылки, и информацию о статусе шины, которая указывает операцию, выполняемую шиной (т.е., чтение или запись).
Современные вычислительные системы являются более сложными, и они в действительности содержат иерархию шин различных типов. Каждая используемая шина имеет различную стоимость и полосу пропускания. Обычно, большая полоса пропускания является более дорогой. Некоторые шины часто требуются для поддержки унаследованных устройств.
Чтобы понять, как память и устройства В/В взаимодействуют с микросхемой процессора, и как программное обеспечение взаимодействует с оборудованием устройства В/В, необходимо понять основы того, как эти данные пересылаются по шинам компьютера. Мы кратко опишем работу двух обычных компьютерных шин, а затем рассмотрим пример архитектуры шины встроенной компьютерной системы.
Рис.1. Архитектура с одной шиной использовалась в первых компьютерах. Современные системы являются более сложными и содержат фактически иерархию различных шин.
Пример шины микропроцессора первого поколении
Чтобы понять, как шины действуют в компьютере, и как они используются в оборудовании В/В, мы начнем с рассмотрения шины микропроцессора первого поколения. Шина ISA (Industry Standard Architecture) была введена на первых ПК компании IBM в начале 1980-х. Шина ISA использовалась для соединения плат, вставляемых в ПК первого поколения. ISA поддерживает пересылку 8-битных и 16-битных данных. PC/104 является промышленной версией этой шины, которая позволяет платам располагаться стеком и взаимосвязываться, что еще используется в некоторых встроенных системах. Более поздние версии расширяют шину ISA до 32-битной шины, называемой Extended Industry Standard Architecture (EISA).
Устройство, которое инициирует передачу по шине называется мастером шины или инициатором. Шина ISA используется для передачи данных между памятью, устройствами В/В, и процессором. Сигнал синхронизации шины используется для привязки по времени для передачи по шине. Синхронизация шины ISA обычно находится в диапазоне от 4 до 8 Мгц. Синхронизация шины ISAнезависима от синхронизации процессора, они имеют разную частоту. Типичный цикл шины ISA требует от 5 до 6 синхроимпульсов шины. Шина ISA содержит адресную шину, шину данных, и несколько линий состояния шины. Адресная шина содержит адрес памяти или выбранного устройства В/В, а шина данных содержит значение для передачи. Каждое устройство В/В должно иметь уникальный адрес В/В. Схема декодирования адреса в каждом устройстве проверяет адресную шину и определяет, когда адрес устройства присутствует в шине.
Пример декодера 4-битного адреса, созданного с помощью вентиля AND, показан на рисунке .2. При использовании цифровыхлогических вентилей простой декодер адреса состоит из большого вентиля AND, который имеет все адресные линии в качестве входов, с инверторами, добавленными на адресных битах, которые заданы на нижнем уровне в двоичном значении адреса устройства. Логическая диаграмма простого декодера адреса для 4-битного адреса (A3..A0) показана ниже. Выход вентиля AND будет на верхнем уровне только когда во входах присутствует значение адреса 0xA. Схема реального декодера адреса должна будет проверять все биты адреса на шине адреса (если только некоторые адреса не являются алиасами). В реальном устройстве должно декодироваться более чем 4 линии шины адреса. Типичным является от 16 до 32 линий адреса и будет требоваться несколько уровней вентилей, так как большинство технологий логических вентилей могут поддерживать только от 4 до 5 входов налогический вентиль.
Do'stlaringiz bilan baham: |