Путь данных представляет собой набор функциональных блоков, таких как арифметико-логические устройства (АЛУ) или умножители , которые выполняют операции обработки данных, регистры и шины . [1] Вместе с блоком управления он составляет центральный процессор (ЦП). [1] Более крупный путь данных может быть создан путем объединения более одного пути данных с помощью мультиплексоров .
Путь данных — это АЛУ, набор регистров и внутренняя шина(ы) ЦП, которые позволяют данным передаваться между ними. [2]
Простейшая конструкция ЦП использует одну общую внутреннюю шину. Эффективное сложение требует немного более сложной структуры из трех внутренних шин. [3] Многие относительно простые ЦП имеют файл регистра с 2 чтениями и 1 записью, подключенный к 2 входам и 1 выходу АЛУ.
В конце 1990-х годов росло число исследований в области реконфигурируемых путей передачи данных — путей передачи данных, которые можно переназначать во время выполнения с помощью программируемой структуры , — поскольку такие конструкции могут обеспечить более эффективную обработку, а также существенную экономию энергии. [4]
Конечный автомат с путем передачи данных ( FSMD ) — это математическая абстракция, которая объединяет конечный автомат , который управляет потоком программы , с путем передачи данных. Его можно использовать для проектирования цифровой логики или компьютерных программ . [5] [6]
FSMD по сути являются последовательными программами, в которых операторы были запланированы в состояния, что приводит к более сложным диаграммам состояний. Здесь программа преобразуется в сложную диаграмму состояний, в которой состояния и дуги могут включать арифметические выражения , и эти выражения могут использовать внешние входы и выходы, а также переменные. Уровень абстракции FSMD часто называют уровнем передачи регистров .
FSM не используют переменные или арифметические операции/условия, поэтому FSMD мощнее FSM. FSMD эквивалентен машине Тьюринга по выразительности.
Все компьютеры имеют ЦП, который можно разделить на две части. Первая часть — это тракт данных, представляющий собой сеть блоков хранения (регистров) и арифметических и логических блоков... соединенных шинами... где синхронизация контролируется часами.