Скалярные процессоры — это класс компьютерных процессоров , которые обрабатывают только один элемент данных за раз. Типичные элементы данных включают целые числа и числа с плавающей запятой . [1]
Скалярный процессор классифицируется как процессор с одной командой и одним данными ( SISD ) в таксономии Флинна . Intel 486 является примером скалярного процессора. Его следует противопоставить векторному процессору , в котором одна инструкция одновременно обрабатывает несколько элементов данных (и, таким образом, его называют процессором с одной командой и несколькими данными ( SIMD ). [2] Эта разница аналогична разнице между скалярной и векторной арифметикой.
Термин «скаляр» в вычислительной технике появился в 1970-х и 1980-х годах, когда впервые были представлены векторные процессоры. Первоначально он использовался, чтобы отличать старые конструкции от новых векторных процессоров.
Суперскалярный процессор (такой как Intel P5 ) может выполнять более одной инструкции в течение тактового цикла , одновременно отправляя несколько инструкций резервным функциональным блокам процессора. Каждый функциональный блок представляет собой не отдельное ядро ЦП, а ресурс исполнения внутри одного ЦП, например арифметико-логический блок, битовый сдвиг или умножитель. [1] Cortex -M7 , как и многие современные потребительские процессоры , является суперскалярным процессором. [3]
Скалярный тип данных или просто скаляр — это любое несоставное значение .
Как правило, все основные примитивные типы данных считаются скалярными:
bool
)int
, типы с плавающей запятойfloat
и double
)char
)Некоторые языки программирования также рассматривают строки как скалярные типы, тогда как другие языки рассматривают строки как массивы или объекты .