Para programas multiproceso, ¿cómo funcionan las CPU de un solo núcleo y las CPU de varios núcleos?
El ejemplo de un grupo de personas y madera mencionado anteriormente es realmente problemático.
Déjame explicarte esto, en el mundo de la CPU:
Una persona solo puede golpear un trozo de madera,
Un grupo de personas no puede golpear un trozo de madera. de madera al mismo tiempo,
Los programas multiproceso en realidad asignan la lógica divisible o diferentes tareas a diferentes subprocesos, es decir
"Un grupo de personas enmarcan un grupo de madera ”se implementa en base a múltiples “marcos de una persona y una pieza de madera”.
Entonces, para la lógica separable (diferentes personas pueden mover diferentes maderas), varias personas pueden trabajar juntas para acelerar la eficiencia del trabajo, pero para la lógica inseparable (como resolver un elemento) (ecuación lineal), múltiples las personas no pueden trabajar juntas. No importa cuántas personas haya, la eficiencia del trabajo es la misma que la de una sola persona.
Entonces, el programa multiproceso que mencionaste a menudo se refiere a un programa con múltiples bloques lógicos independientes.
Por el contrario, ¿cómo se implementa el subproceso múltiple de un solo núcleo?
Cuál es la relación entre una persona y múltiples trozos de madera: después de mover uno, mueve otro.
Esta es la respuesta, pero nuestro sistema operativo permitirá que un solo núcleo cambie entre múltiples procesos tanto como sea posible para lograr un efecto similar de múltiples programas con prioridades similares en paralelo. (Ejemplo: en la era de las CPU de un solo núcleo, todavía podemos escuchar música y navegar por Internet. La relación entre los adultos y la madera es que una persona primero mueve una sección de madera A, luego mueve una sección de madera B, luego mueve una sección de madera C, y luego mueve Mover madera A... algo como esto.
No copiaré el conocimiento teórico. Espero que alguien pueda entender este ejemplo.