Ответ
Конвейерный процессор — это архитектура, где выполнение инструкций разбито на последовательные стадии (например, выборка, декодирование, выполнение, запись). Каждая стадия обрабатывает свою часть инструкции параллельно, что повышает производительность.
Пример на Go с конвейером для обработки данных:
func producer(nums []int) <-chan int {
out := make(chan int)
go func() {
for _, n := range nums {
out <- n
}
close(out)
}()
return out
}
func square(in <-chan int) <-chan int {
out := make(chan int)
go func() {
for n := range in {
out <- n * n
}
close(out)
}()
return out
}
// Использование:
nums := []int{1, 2, 3}
pipeline := square(producer(nums))