Los procesadores escalares son una clase de procesadores informáticos que procesan solo un elemento de datos a la vez. Los elementos de datos típicos incluyen números enteros y de punto flotante . [1]
Un procesador escalar se clasifica como un procesador de una sola instrucción, un solo dato ( SISD ) en la taxonomía de Flynn . El Intel 486 es un ejemplo de un procesador escalar. Debe contrastarse con un procesador vectorial donde una sola instrucción opera simultáneamente en múltiples elementos de datos (y por lo tanto se lo conoce como un procesador de una sola instrucción, múltiples datos ( SIMD )). [2] La diferencia es análoga a la diferencia entre aritmética escalar y vectorial .
El término escalar en informática data de los años 1970 y 1980, cuando se introdujeron por primera vez los procesadores vectoriales. Originalmente se utilizaba para distinguir los diseños más antiguos de los nuevos procesadores vectoriales.
Un procesador superescalar (como el Intel P5 ) puede ejecutar más de una instrucción durante un ciclo de reloj enviando simultáneamente múltiples instrucciones a unidades funcionales redundantes en el procesador. Cada unidad funcional no es un núcleo de CPU independiente, sino un recurso de ejecución dentro de una sola CPU, como una unidad lógica aritmética, un desplazador de bits o un multiplicador. [1] El Cortex-M7 , como muchas CPU de consumo actuales, es un procesador superescalar. [3]
Un tipo de datos escalar, o simplemente escalar , es cualquier valor no compuesto .
Generalmente, todos los tipos de datos primitivos básicos se consideran escalares:
bool
)int
, los tipos de punto flotantefloat
y double
)char
)Algunos lenguajes de programación también tratan las cadenas como tipos escalares, mientras que otros lenguajes tratan las cadenas como matrices u objetos .