АРХІТЕКТУРА ДАНИХ

АРХІТЕКТУРА ПОТОКІВ ДАНИХ

Архітектура потоків даних (dataflow architecture) - це архітектура обчислювальних систем, де обчислення контролюється потоком даних, які переміщуються між обчислювальними пристроями в системі і поступово переходять в "опрацьований" стан.

Фактично, у архітектурах, які керуються потоками даних, на відміну від класичних архітектур, які керуються потоками команд (наприклад, архітектура фон Ноймана або Гарвардська архітектура), процес обчислення безпосередньо керується потоком даних, а не послідовністю команд. Критерієм для того, щоб певний обчислювальний пристрій у системі міг розпочати обчислення, є готовність всіх необхідних операндів для проведення обчислень. Тому в системах з керуванням від потоку даних, на відміну від фон-нойманівських та інших послідовних архітектур, операції можуть виконуватись паралельно та незалежно одна від одної. Це означає, що в машинах з керуванням від потоку даних немає потреби у централізованому управлінні послідовністю виконання, лічильниками команд та іншими централізованими керуючими структурами.

Програма для машини з керуванням від потоку даних зазвичай представлена у вигляді графа потоків даних, який показує шляхи переміщення даних через операційні пристрої. У вас наведено приклад графа для обчислення коренів квадратного рівняння. Операційні пристрої позначені незаштрихованими колами з позначками операцій, а заштриховані кола вказують на множення даних, функція яких легко розуміється.

Вхідні дані A, B і C (коефіцієнти рівняння) переміщуються графом, перетворюючись у результати X і Y. Якщо всі необхідні операнди готові на момент початку обчислень, то виконання обчислень може відбуватися одночасно в декількох напрямках у графі (оператори, які можуть опрацьовувати операнди паралельно, позначені однаковим кольором). Навіть якщо один з операндів не готовий, незалежні гілки обчислень можуть все одно продовжувати виконуватися, до тих пір, поки обчислення на операційних пристроях-споживачах залишаються незалежними від цього операнда. Також варто відзначити, що архітектури з керуванням від потоку даних є досить неординарними у програмуванні, що може бути в недоліках порівняно з фон-нойманівськими архітектурами.

Рис. 1. Архітектура потоків даних

ЩО ТАКЕ ДАНІ?

Дані - це комплексне поняття з багатьох аспектів і функцій, і його значення може варіюватися в залежності від контексту та сфери застосування. У різних суспільних контекстах це термін може мати різний визначений зміст: