5 votos

¿Es cierto que en un procesador moderno, el paralelismo es posible en un solo núcleo?

Última Edición: me acabo de dar cuenta que cuando uso la palabra "paralelismo", es casi parallelism==ILP, originalmente creía ni una sola instrucción podría ser dividida en varias frases, y en ese nivel no sería cierto paralelismo, pero luego me di cuenta de que esto no tiene ningún significado. Tanto mi título y mi ejemplo no se menciona nada acerca de más de uno de los hilos' paralelismo como el HyperThreading, por lo que @user110971 es la respuesta correcta, sin duda más. (En el nivel filosófico, que sólo necesita una base de caso de la condición de regresar a mi la recursividad, de búsqueda de la parte más profunda de paralelismo)

Edit3: he hecho un gráfico para mi Edit2, y he encontrado este video en YouTube sobre HyperThreadingútil. enter image description here

Edit2: En resumen, para mi la pregunta que me adoptar las definiciones de la Wikipedia, y para la definición de los términos:

  • Paralelo: Dos hilos, ejecutar de forma independiente, en cualquier físico instante. Así que un hilo no interrumpir a la otra, en cualquier instante.
  • Concurrente: de Dos hilos, ejecutar de forma independiente, interleavedly está permitido, es decir, no se limita a paralelo, y puede interrumpir a la otra.
  • En resumen, para mí y Wikipedia escritores, Simultáneas incluye Paralelo. Gracias.

Edit: para que quede claro, para mí paralelismo significa cierto paralelismo, puedo añadir una "verdadera" porque la gente con la que hablé tienden a pensar parallel==concurrent. (Véase mi segundo enlace)


Es cierto que en procesador moderno, "es cierto" paralelismo es posible en un solo núcleo? He preguntado en otros lugares, pero no obtener una confirmación de respuesta. Lo que quiero saber es por ejemplo, si en t=0, las dos instrucciones se han capturado y ejecutado. En el mismo instante.

Mi pregunta proviene de aquí:

la computación paralela es imposible en un (un núcleo) de un solo procesador, ya que sólo uno de cálculo puede ocurrir en cualquier momento (durante un solo ciclo de reloj).

17voto

user110971 Puntos 141

De hecho, es posible tener el paralelismo en un superscalar procesador. Un superscalar procesador puede ejecutar varias instrucciones al mismo tiempo mediante el uso de múltiples unidades de ejecución. pipeline Existen ciertas limitaciones en función de la arquitectura. No es cierto paralelismo. Si usted tiene que calcular $$A = B + C,$$ $$D = A + 3,$$ usted no puede ejecutar instrucciones al mismo tiempo. Sin embargo, usted puede ejecutar $$A = B + C,$$ $$D = D + 3,$$ simultáneamente mediante la utilización de dos Alu.

Así como una respuesta a su pregunta, usted puede tener un cierto nivel de paralelismo en un solo núcleo, mientras sus instrucciones de no utilizar los mismos recursos de hardware.

10voto

Jacco van Dorp Puntos 521

En algunos procesadores esto es (a veces) posible. Dado que diferentes instrucciones utilizan diferentes recursos de procesador (ALU, punto flotante, carga, almacenamiento, etc.), a veces es posible paralelizar algunos de ellos. Por ejemplo, consulte aquí para obtener detalles sobre cómo funciona en una CPU Ivy Bridge (x86): https://dendibakh.github.io/blog/2018/03/21/port-contention

10voto

Mark Tomlin Puntos 165

Hay un montón de diferentes tipos de paralelismo.

El paralelismo a nivel de instrucción es una característica de cualquier superscalar procesador. Múltiples instrucciones están en progreso en cualquier punto en el tiempo. Sin embargo, las instrucciones están en el mismo hilo de control.

El paralelismo a nivel de hilo dentro de un solo núcleo es posible con hyperthreading-dos hilos separados utilizando diferentes recursos básicos al mismo tiempo. Un subproceso puede utilizar el entero de ALUMINIO, mientras que la otra es la ejecución de una carga o de la tienda.

Los datos de nivel de paralelismo es también un tipo de paralelismo. SIMD unidades a ejecutar las mismas instrucciones en varios registros al mismo tiempo. Por ejemplo, si usted necesita para aplicar el mismo desenfoque de transformación para cada píxel de una imagen, usted podría ser capaz de hacer que 8 píxeles en paralelo, pero en el mismo hilo de control.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X