Video Thumbnail

АПС Л2. Основные концепции и инструменты

Архитектуры процессорных систем01:33:07
https://www.youtube.com/watch?v=z4cIztJZThI

Содержание

Краткое резюме 📌

  • Рассмотрена обобщённая структура процессора, принципы работы с транзисторами, логическими вентилями и микроархитектурой.
  • Объяснена концепция фон Неймана: сценарий работы процессора с памятью, устройством управления и арифметико-логическим устройством (ALU).
  • Классификация интегральных схем и важность использования ПЛИС (FPGA) для создания цифровых устройств.
  • Детально рассмотрена структура ПЛИС, включая логику lookup table (LUT), мультиплексоры и программируемые соединения.
  • Показаны базовые конструкции языка Verilog для описания аппаратуры, создание и компиляция простого проекта под FPGA.
  • Объяснены элементы памяти (триггеры, регистры) и их реализация с помощью всегда-блоков (always).
  • Рассмотрен пример бегущей строки на светодиодах с использованием сдвигового регистра.
  • Введено понятие критического пути как максимального времени распространения сигнала, влияющего на максимальную тактовую частоту устройства.

Структура процессора и уровни абстракции 🖥️

Лектор начал с повторения обобщённой структуры процессора, где базовым материалом являются транзисторы — цифровые электронные ключи, управляющие потоком тока. Объединяя транзисторы, создаются логические вентилы (NOT, AND, OR, и их комбинации). Эти вентилы служат строительными блоками для более сложных модулей — мультиплексоров, сумматоров, регистров и других элементов.

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

«Архитектура — это взгляд программиста на возможности процессора, что он умеет, а микроархитектура — физическая модель, как эти возможности реализуются.»

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


Принципы фон Неймана и устройство процессора ⚙️

Рассмотрена классическая концепция: процессор, память и устройство управления работают как единое целое. Процессор последовательно читает инструкции из памяти, декодирует и выполняет их, взаимодействуя с ALU — арифметико-логическим устройством.

В устройства управления заложен механизм программного счётчика (PC) — адресация и переходы между инструкциями, что позволяет реализовывать условные переходы и сделать устройство полноценным компьютером.

Особое внимание уделяется флагам — сигналам, которые показывают особенности результата работы ALU (например, нулевой результат, переполнение). Эти флаги используются для принятия решений и изменения хода выполнения программы.


Классификация интегральных схем и FPGA 💡

Подчёркивается современное состояние индустрии: рост потребности в специализированных чипах, направленных на:

  • энергоэффективность,
  • безопасность (hardware-шифрование),
  • биомедицинские и AI-приложения,
  • высокопроизводительные вычисления.

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

«FPGA — это такой цифровой пластилин, из которого можно лепить любое цифровое устройство.»

Использование FPGA очень полезно, даже если вы далеки от аппаратуры, так как это добавляет статус и понимание низкоуровневых принципов.


Внутреннее устройство FPGA: LUT, мультиплексоры и программируемые соединения ⚡

FPGA состоят из множества логических элементов (LE), которые включают:

  • Lookup Tables (LUT) — маленькие таблицы истинности, позволяющие реализовывать любые комбинационные логические схемы.
  • Мультиплексоры — устройства выбора одного из нескольких входов на выход по управляющему сигналу.
  • Программируемые ключи — транзисторные переключатели между линиями соединений, позволяющие гибко настраивать маршруты сигнала.

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

«Меняя содержимое памяти LUT, мы фактически меняем поведение этого блока, превращая его в нужную нам комбинационную схему.»

Объединяя такое множество элементов и их соединений, FPGA превращается в полнофункциональное цифровое устройство.


Практическая работа с Verilog и FPGA 🔧

Далее лектор показал пример создания простого проекта на языке описания аппаратуры Verilog:

  • Создание модуля с входными и выходными сигналами.
  • Подключение сигналов к физическим ножкам FPGA (pin assignment), для чего используется документация с назначением пинов на плате.
  • Компиляция проекта с последующей прошивкой FPGA, что показало базовую работу: подключение переключателей к светодиодам.

Особое внимание уделяется стилю кодирования (code style), так как четкая структура и форматирование облегчают работу с большими проектами.


Язык Verilog: базовые конструкции и работа с сигналами 📝

Объяснен синтаксис языка:

  • module — создание модуля.
  • input, output — объявление портов.
  • Операторы присваивания: assign для непрерывного присваивания (комбинационная логика).
  • Объединение сигналов в шины через {}.

Приведены примеры управления светодиодами, реализация логических операций и работы с битовыми срезами.


Элементы памяти: регистры и триггеры 🕰️

Отмечено отличие между wire (проводом, не хранящим состояние) и регистрами (триггерами), способными хранить данные.

Реализация регистров в Verilog требует блока always с указанием события тактового сигнала (posedge clk или negedge reset).

Продемонстрирована реализация 4-битного регистра с тактовым входом и сохранением данных.

«Триггер — это элемент памяти, который сохраняет состояние по событию тактового сигнала.»

Рассмотрено применение кнопок для синхронизации записи данных в регистры.


Пример: бегущая строка на светодиодах с сдвиговым регистром 🎇

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

Так реализуется эффективное управление состоянием светодиодов в FPGA.


Критический путь и задержки распространения сигналов ⏳

Объяснена концепция критического пути — самой длинной задержки прохождения сигнала через цифровую схему. Эта задержка определяет максимальную тактовую частоту работы устройства.

«Критический путь — это максимальная задержка в цепи, которая ограничивает скорость работы процессора.»

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


Выводы и итоги

Лекция ознаменовала собой глубокое погружение в архитектурные основы и программируемую логику, необходимую для разработки современных цифровых систем. Был пройден путь от базовых элементов на транзисторах до создания работающих проектов на FPGA с помощью языка Verilog.

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


💡 Если появятся вопросы по материалу — рекомендую подробно пересмотреть примеры с кодом и схемами, а также не забыть о значении критического пути при проектировании своих систем на FPGA.