Что означает архитектура SISD в компьютерных системах?

«Что означает архитектура SISD в компьютерных системах?» — вопрос из категории Архитектура, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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: Низкая производительность на задачах, которые можно распараллелить.