¿Cómo cambian las capacidades del software cuando se usa una CPU normal en comparación con los microprocesadores?

¿Puedes aclarar la pregunta?

Un microprocesador es convencionalmente una unidad central de procesamiento y viceversa. Por lo general, hay múltiples núcleos en un chip moderno, pero un núcleo no es más que un poco de memoria caché y una CPU, donde el chip en su conjunto tiene algo de memoria caché adicional compartida entre los núcleos. Si tuviera cuatro procesadores principales unidos por SMP, tendría esencialmente la misma disposición en cuatro chips en lugar de uno. Sin embargo, en ambos casos, el sistema operativo ve cuatro procesadores independientes.

El microprocesador, físicamente, es el chip. Sin embargo, lógicamente, el microprocesador es solo el núcleo. La memoria caché no se encuentra en ninguna parte de la definición de un microprocesador, por lo tanto, el hecho de que esté físicamente presente se considera un detalle de implementación a nivel lógico.

Lo contrario también es cierto. Las arquitecturas de procesador en memoria tienen un procesador y tienen memoria, al menos a nivel lógico. Físicamente, las fronteras son un poco blandas.

Del mismo modo, el Inmos Transputer tenía la memoria principal integrada en el chip, junto con cuatro canales de comunicación y líneas a la memoria externa. ¿Dónde comenzó y terminó el microprocesador? A nivel físico, no tiene mucho sentido preguntar eso. Lógicamente, cada procesador tenía un núcleo, una memoria local, cuatro puertos de comunicaciones y un conjunto de líneas externas.

Todos los procesadores secuenciales desde la década de 1970 han sido microprocesadores. Los verdaderos procesadores vectoriales se han construido hasta el tamaño de un estadio de fútbol, ​​por lo que definitivamente no son micro.

De acuerdo, si estamos viendo vector versus serie, entonces los procesadores vectoriales toman una sola instrucción y una sola columna de datos y procesan esa columna completa en un solo paso. Esto se emula en las supercomputadoras modernas, porque a los diseñadores les resultó más barato comprar miles de computadoras de consumo en lugar de un procesador vectorial que podría inhalar miles de puntos de datos. En cualquier caso, el tipo de procesamiento se conoce como SIMD (instrucción única, datos múltiples).

Si está considerando computadoras de múltiples núcleos con cada núcleo haciendo un trabajo independiente, está considerando el procesamiento MIMD (instrucción múltiple, información múltiple).

SIMD y MIMD sufren problemas inherentes al paralelismo: contención, sincronización, puntos muertos. Los procesos secuenciales nunca pueden experimentar estos.