Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИПУ ответы.docx
Скачиваний:
104
Добавлен:
20.04.2019
Размер:
5.23 Mб
Скачать

1.2.3 Процессор ввода-вывода

В вычислительной технике под процессором понимается устройство обработки информации. Несмотря на то, что в основе современных процессоров могут лежать различные модели вычислений исторически сложилось так, что чаще всего используется модель на базе машины Фон- Неймана.

Рис. 3. Структура процессора ввода-вывода Intel 80333

В отличии от обычного процессора, процессор ввода-вывода предназначен для работы в рамках системы ввода-вывода с целью увеличения производительности системы. Увеличение производительности происходит за счет разгрузки центрального процессора и организации параллельной работы СВВ и основного процессора.

20

В качестве примеров процессоров ввода-вывода можно представить: Сетевой контроллер.

Контроллер жесткого диска.

В качестве примера процессора ввода-вывода можно рассмотреть Intel

80333. В состав этого процессора входит:

Ядро Intel XScale. Контроллер памяти. Контроллер UART. Контроллер I2C. Контроллер DMA. Таймеры.

Мосты PCIe PCI-X.

Контроллер и арбитр периферийной шины. Контроллер прерываний.

Порты ввода-вывода (GPIO).

Для сравнения, в большинстве современных микроконтроллеров (таких например, как Freescale Coldfire V2 или NXP LPC1700) выделенного процессора ввода-вывода нет, а есть только контроллеры ввода-вывода.

8. Общая характеристика интерфейсов Wishbone и AMBA.

Шина Wishbone-параллельная компьютерная шина для объединения модулей в системе на кристалле. Шина широко используется в проектах цифровых систем с открытым исходным кодом.

  • ширина шин адреса и данных: 8, 16, 32, 64 бит

  • тип шины: параллельная

  • внутренняя шина, используется только для соединения модулей на кристалле

  • нет возможности «горячего» подключения

  • Гранулярность: 8,16 бит

  • Есть коррекция ошибок

  • Поддерживает handshake-протокол,для регулировки скорости обмена данными каждым IP-блоком

  • Возможность работы в режиме мультимастера

  • Синхронный дизайн

  • Независима от способа описания аппаратуры:Verilog,VHDL или графический

  • CLK_I(Сигнал синхронизации)

  • RST_I(Синхронный сброс).

  • ADR_O(Шина адреса).

  • DAT_I, DAT_O(Шины данных)

  • WE_O(Управляющий сигнал ведущего модуля)

  • SEL_O(Управляющая шина)

  • STB_O(Строб операции).

  • ACK_I, ACK_O(Оповестительный сигнал).

  • CYC_O(Оповестительный сигнал).

  • TAGN_O, TAG_I(вспомогательные шины)

Топологии

  • point-to-point(точка-точка);

  • shared bus(общая шина);

  • crossbar;

  • data flow interconnection (pipeline);

  • off-chip interconnection.

Плюсы

  • wishbone ялвяется Opensource(общедоступные коды и тд) поэтому может использоваться с FPGA или ASIC

  • Есть большое кол-во IP с открытм кодом совместимых с интерфейсами wishbone

  • Простое, но гибкое определение позволяет разработчикам менять сложность на производительность, в прирост последней.

Минусы

  • Соединение wishbone представляет собой синхронную схему. Поэтому не может поддерживать обрабатывающее ядро (ядро процессора) с отличающейся частотой.

  • Wishbone орпделеяет два типа взаимодействующих, главный и зависимый. Интерфейс ДОЛЖЕН быть или главным или зависимым. Главный всегда  начинает операции, такие как запросы для чтения или записи. Зависимый всегда отвечает на запросы. Связь может быть осуществлена только между главным и зависимым, но не может быть осуществлена между одинаковыми взаимодействующими.

  • 2 СЛАЙД.

  • Wishbone проектировалась для обеспечения как можно более гибкого объединения различных IP-блоков между собой. Wishbone является интерфейсом общего назначения, что означает, что она предназначена просто для передачи данных между модулями и неважно, что это за данные и как они будут дальше обрабатываться внутри модуля.

  • В спецификации на шину присутствуют специальные требования к документации на модули, которые используют Wishbone. Каждый подобный модуль должен иметь специальный datasheet, в котором описаны параметры шины, все дополнительные сигналы и способы обмена данными. Это упрощает использование готового модуля другим разработчиком.

  • 4 СЛАЙД.

  • CLK_I Сигнал синхронизации. Все операции считывания данных происходят по переднему фронту этого сигнала.

  • RST_I Синхронный сброс. По высокому уровню этого сигнала элементы памяти интерфейсов сбрасываются в начальное состояние.

  • ADR_O Шина адреса. Может быть 8, 16, 32 или 64 бит. Разрядность определяется объемом адресуемой памяти.

  • DAT_I, DAT_O Шины данных. Могут быть 8, 16, 32 или 64 бит.

  • WE_O Управляющий сигнал ведущего модуля, который определяет тип операции с ведомым модулем: чтение (низкий уровень) или запись (высокий).

  • SEL_O Управляющая шина, которая определяет, какой из байт должен быть считан в шине данных.

  • STB_O Строб операции. Ведомый интерфейс выполняет операции только если этот сигнал установлен в высокий уровень.

  • ACK_I, ACK_O Оповестительный сигнал. Установив этот сигнал в высокий уровень, ведомое устройство подтверждает, что данные были успешно прочитаны или записаны. Ведущее устройство может снять строб операции и завершить цикл или приступить к следующей операции записи/чтения.

  • CYC_O Оповестительный сигнал. Установив этот сигнал в высокий уровень, ведущее устройство сообщает, что начат цикл записи или чтения с ведомым устройством.

  • TAGN_O, TAG_I Вспомогательные шины, которые могут использоваться, например, для передачи знаков четности, или других управляющих команд между ведущим и ведомым устройствами. Необязательные сигналы.

  • 5 СЛАЙД.

  • Способы соединения IP-блоков. Wishbone поддерживает следующие топологии, схемы которых приведены на рисунках.(слайды 6,7,8)

  • 9 СЛАЙД.

  • Все виды циклов передачи данных используют протокол handshaking (протокол рукопожатие), который в свою очередь делится на 2 вида

  • • Стандартный протокол Wishbone;

  • • Pipelined протокол.

  • В стандартном протоколе, мастер выставляет сигнал STB_O, когда он готов передавать данные. Этот сигнал должен быть выставлен вместе с сигналом CYC_O и он должен держаться до тех пор, пока не придет один из сигналов завершения цикла передачи от slave’а.

  • Причем, сигнал завершения от slave’а может прийти как асинхронно, так и синхронно.

  • 10. СЛАЙД.

  • Pipelined протокол

  • Данный протокол используется вместе с data flow interconnection топологией. Здесь, помимо уже рассмотренных сигналов, используется сигнал STALL, выдаваемый на шину slave’ом.

  • Мастер, в отличие от стандартного протокола, не ждет выставления сигнала ACK, чтобы завершить одну передачу данных и начать следующую. Он просто выдает сигналы друг за другом, до тех пор, пока сигнал STALL находится в нулевом состоянии. Как только данный сигнал становится активным, значит slave не успевает и мастер должен его подождать.