Ответ
SISD (Single Instruction, Single Data) — это одна из классических архитектур в классификации Флинна, описывающая последовательный процессор. За один такт такой процессор выполняет одну инструкцию над одним потоком данных.
Характеристики:
- Один поток команд (Single Instruction).
- Один поток данных (Single Data).
- Последовательное выполнение — основа традиционных однопоточных CPU.
Пример на C++:
// Типичная последовательность операций SISD
int a = 5; // Инструкция 1: загрузка/присваивание (данные: 5)
int b = 10; // Инструкция 2: загрузка/присваивание (данные: 10)
int c = a + b; // Инструкция 3: сложение (данные: a, b -> результат c)
int d = c * 2; // Инструкция 4: умножение (данные: c, 2 -> результат d)
// Каждая инструкция обрабатывает один или два элемента данных за раз.
Контекст и сравнение: SISD — базовая модель. Для повышения производительности были разработаны параллельные архитектуры:
- SIMD (Single Instruction, Multiple Data): Одна инструкция применяется к нескольким данным одновременно (векторные процессоры, инструкции SSE/AVX).
- MISD/MIMD: Множественные инструкции и данные (многопроцессорные системы).
Недостаток SISD: Низкая производительность на задачах, которые можно распараллелить.