Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УчебПособ_Гончаровский.doc
Скачиваний:
17
Добавлен:
13.11.2019
Размер:
3.75 Mб
Скачать

Вопросы для самопроверки

  1. К архитектуре какого типа (Гарвардской или фон Неймана) относится процессор, изображенный на рис.4?

  2. Какие элементы входят в понятие архитектуры процессора?

  3. В чем разница между регистрами адреса, данных и общего назначения?

  4. Какую цель преследовали разработчики архитектуры некоторых процессоров, когда ввели механизм регистровых окон?

  5. С какими особенностями процессоров связано понятие когерентности памяти?

  6. Как соотносятся прерывания и исключения?

  7. Зачем в системе прерываний появилась вторичная система приоритетов?

  8. Для каких целей были придуманы механизмы виртуальной памяти и сегментации памяти?

  9. В чем особенность коммуникационных процессоров?

  10. Какова роль пузырей в конвейере?

  11. Какой вариант перекрытия внутренних банков SDRAM более эффективный?

  12. Какие усовершенствования преобразовали EEPROM память во флэш-память?

  13. В чем отличия блокнотной и кэш памяти?

  14. Чему равно значение параметра Е для кэш-памяти с прямым отображением?

  15. На что направлено обеспечение когерентности кэш-памяти?

  16. В чем суть различия асинхронных магистралей в манерах Intel и Motorola?

  17. Какую роль в аналого-цифровом преобразователе играет схеме выборки/хранения.

  18. Как в UART выполняется синхронизация на уровне бит?

  19. Возможно ли взаимодействие через интерфейс SPI более двух устройств, если да то как?

Модуль 2

1.10. Язык проектирования аппаратуры vhdl

1.10.1. Реконфигурируемая логика

Уже отмечалось, что во многих случаях полностью заказные СБИС (ASIC) дороги, а решения, основанные на программной реализации медленные или энергоемкие. Реконфигурируемая логика обеспечивает решение задачи для случаев, если алгоритмы могут быть эффективно реализованы с помощью заказных СБИС. Такие решения дают почти такое же быстродействие, как и ASIC, но зато реализованные функции могут быть легко изменены конфигурационными данными. Поэтому реконфигурируемая логика находит применение в следующих областях.

Быстрое создание прототипа. Современные ASIC очень сложные, требуют больших усилий разработчиков и длительного времени проектирования. Поэтому часто желательно создать прототип, который мог бы быть использован для экспериментов с системой, работающей «почти» как окончательная система. При этом потребляемая мощность может быть больше, временные ограничения смягчены и только определяющие функции соответствуют техническим требованиям. Поэтому прототип может бать использован для проверки основополагающего поведения системы.

Малый объем приложений. Если ожидаемый объем рынка мал для оправдания реализации приложения в виде ASIC, а программная реализация была бы медленной или неэффективной, тогда выбор остается за реконфигурируемой логикой.

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

Микропроцессорные системы. Для встроенных микропроцессорных систем могут потребоваться нестандартные устройства ввода-вывода, интерфейсы или реализация некоторых функций с большим быстродействием.

СБИС с названием Field Programmable Gate Array (FPGA, программируемая пользователем вентильная матрица) – наиболее общая форма реконфигурируемой логики. Название подчеркивает, что устройство программируется в пользователем в полевых условиях, т.е. после производства и без особых трудностей. Реконфигурируемая логика часто содержит RAM для хранения конфигурации. Однако RAM является энергозависимой памятью. Поэтому конфигурационные данные должны копироваться в RAM при включении питания из внешней энергонезависимой памяти, такой как ROM или Flash. На рис. 42 в качестве примера приведена схема планировки FPGA Virtex-II фирмы Xilinx [20].

В более поздней FPGA Virtex-5 [21] матрица содержит 240 × 108 конфигурируемых логических блоков (CLB - Configurable Logic Blocks), которые можно соединить, используя программируемую структуру соединений. Матрица также содержит 1200 пользовательских входов-выходов и 1056 блока DSP включающих умножитель 25 × 18 бит и 16416 Кбит RAM блок.

Рис. 42. Схема планировки FPGA Virtex-II

Каждый CLB состоит из двух секций (slice), как показано на рис. 43.

Рис. 43. Virtex-5 CLB

Секция состоит из четырех элементов памяти (рис. 44). Каждый элемент памяти может быть использован как таблица соответствия (LUT - Look-Up Table) для реализации одной 6-входовой логической функций (таких функций 2^64) или двух 5-входовых логических функций (таких функций 2^32), а также сконфигурированы как RAM или сдвиговые регистры (SRL). С помощью мультиплексоров несколько элементов памяти могут быть объединены. Каждая секция содержит еще 4 выходных регистра и специальную логику для реализации быстрых операций арифметического сложения.

Конфигурационные данные определяют установки для мультиплексоров, синхронизацию регистров и RAM, содержимое RAM и соединения между CLB. Обычно эти данные генерируются из проектов, написанных, например, на VHDL.

Рис. 44. Упрощенная схема секцииVirtex-5