КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

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

Если память конвейери¬зирована, то последующие обращения будут быстрее. Для записи в память поле SYNC займет 1 такт, а весь цикл — 17 тактов (0,51 мкс), что дает скорость записи 1,96 Мбайт/с. Обращения к портам за счет более короткой адресации и без тактов ожидания (1 такт SYNC) занимают по 13 тактов (0,39 мкс), что дает скорость 2,56 Мбайт/с для чтения и записи.
а | START
CYCTYPE
ADDR
TAR
lsyNc
DATA
TAR
б | START
CYCTYPE
ADDR
DATA
TAR
SYNQ
TAR
Рис. 6.16. Обращения к памяти и портам: а — чтение, б — запись
Для организации обмена по DMA и прямого управления хост должен иметь по одной входной линии LDRQ* для каждого подключенного устройства, использующего эти функции. По этой линии устройство передает состояние запросов каналов DMA в последовательном коде, как показано на рис. 6.17. Посылка начинается со старт-бита, за которой следуют код номера канала и бит запроса ACT: 1 (высокий уро¬вень) — запрос активен, 0 — пассивен. Номер канала 4 (код 100) зарезервирован для прямого управления (он соответствует традиционно недоступному каналу DMA). Посылка передается при каждой смене состояния запросов. Нормально таким способом передается лишь запрос, а снятие его сигнализируется полем SYNC. Передама, данных DMA (рис. 6.18) выполняется под управлением хоста, но несколько отличается от обычных обращений к портам и памяти. Здесь появляются новые поля:

поле SIZE определяет размер передачи: 0000 — 1 байт, 0001 — 2 байта, 0011 —4 байта, остальные значения зарезервированы;

поле CHANNEL служит для передачи хостом номера канала DMA (биты [2;0])
и признака конца цикла (ТС, бит 3).

6.4. Интерфейс LPC

227


Рис. 6.17. Посылка запроса DMA или прямого управления
А
START
CYCTYPE
CHANNEL
SIZE
DATA
TAR
,ЈSYNC
TAR |









б
START
CYCTYPE
CHANNEL
SIZE
TAR
SYNC
DATA
TAR
Рис. 6.18. Обращения DMA: a — чтение памяти, б — запись в память
Циклы чтения памяти, в зависимости от длины обращения (1, 2 или 4 байта), без тактов ожидания (они скрыты контроллером DMA) занимают 11,18 и 32 так¬тов (0,33, 0,54 или 0,96 икс), что обеспечивает производительность 3,03, 3,70 или 4,17 Мбайт/с соответственно. Циклы записи занимают 11,14 или 20 тактов (0,33, 0,42 или 0,60 мкс), что обеспечивает производительность 3,03,4,76 или 6,67 Мбайт/с. На рисунке выделены рамкой последовательности полей, повторяющиеся при пе-редаче 2 и 4 байтов.

Hosted by uCoz