logo
стр 103-113

Параллелизм на уровне команд – однопроцессорные архитектуры

Мы уже неоднократно подчеркивали, что главным препятствием достижения высокой производительности ВС является обращение к памяти и вызов команд из памяти процессора. Для разрешения этой проблемы уже достаточно давно используется вызов команд из памяти заранее и помещение их в набор регистров (буфер выборки с упреждением), чтобы они имелись в наличии когда это станет необходимым. В действительности процесс выборки с упреждением подразделяет выполнение команды в два этапа: вызов и собственно выполнение. Идея конвейера еще больше продвинула эту стратегию вперед. Теперь команда подразделялась уже не на два, а на несколько этапов, каждый из которых выполнялся определенной частью аппаратного обеспечения, причем все блоки могли работать одновременно и параллельно. Конвейерная обработка является "естественным" средством реализации параллелизма несвязанных операций и циклов, но в каждом случае со своими нюансами. Несвязанные операции выполняются с помощью набора самостоятельных арифметических устройств в составе ЦП (принцип многофункциональной обработки). Обычный набор таких устройств включает: устройство сложения, умножения, деления и устройства выполнения логических и сдвиговых операций.