hablando en un nivel muy bajo, ¿cómo se inicializan los núcleos?cómo arrancan los procesadores multinúcleo?
Respuesta
puede ver todos los detalles sangrientos en el Intel specification. Los detalles sangrientos están en el capítulo 8.1.
Aquí es un extracto:
Tras el encendido o una afirmación de RESET # pin, cada procesador en el bus del sistema realiza una hardware Inicialización del procesador (conocido como un hardware reinicio) y una autoprueba incorporada opcional (BIST). [Snip] En este punto, la acción tomada depende en la familia de procesadores:
• familia P6 procesadores de todos los procesadores en el bus sistema (que incluye un solo procesador en un sistema monoprocesador) ejecutan el múltiple procesador (MP) protocolo de inicialización en el bus APIC . El procesador que es seleccionado a través de este protocolo como el procesador bootstrap (BSP), entonces comienza inmediatamente la ejecución de código de software -inicialización en el segmento de código actual comenzando en el desplazamiento en el registro EIP.
Existen múltiples maneras de arrancar soc multinúcleo dependiendo de la arquitectura, el sistema - AMP o SMP etc. Una de manera sencilla para el sistema de doble núcleo SMP es que comienza a CPU0 vector de reset (por ejemplo 0x00000000 que apunta a la memoria flash donde se almacena el programa de monitoreo de arranque). Durante este tiempo, otros núcleos están en WFI (espera de interrupción) o en estado de suspensión de arranque. CPU0 inicia y configura el terreno para el arranque de la CPU1.
para más detalles http://www.linux-arm.org/LinuxBootLoader/SMPBoot
freescale.com/files/32bit/doc/app_note/AN3542.pdf
- 1. Secciones críticas con procesadores multinúcleo
- 2. CPU de ensamblaje y multinúcleo
- 3. Cómo cambiar los procesadores en matplotlib/Python
- 4. ¿Cronómetro cronómetro .Net y multinúcleo?
- 5. ¿Cómo se comparten las memorias caché en CPU Intel multinúcleo?
- 6. programación para procesadores de núcleo múltiple
- 7. Invocar mediante programación los procesadores de anotación
- 8. ¿Pueden los procesadores XSLT tener múltiples subprocesos?
- 9. ¿cómo depurar los procesadores de anotación Java usando intellij?
- 10. ¿Cómo hacer que R use todos los procesadores?
- 11. ¿Cómo se programa usar todos los procesadores en su máquina?
- 12. Python: ¿Procesamiento multinúcleo?
- 13. numpy en hardware multinúcleo
- 14. multinúcleo con plyr, MC
- 15. Enlazar hilos a procesadores
- 16. Usando multinúcleo en R para analizar los datos de GWAS
- 17. ¿Por qué los procesadores de juegos son tan rápidos en comparación con los procesadores de aplicaciones 3D?
- 18. Programación multinúcleo en Haskell - Control.Parallel
- 19. MPI: ¿núcleos o procesadores?
- 20. ¿Cómo configurar matlabpool para múltiples procesadores?
- 21. Programación multinúcleo: las partes duras
- 22. El estado de la programación y compilación para sistemas multinúcleo
- 23. MPI ¿Número de procesadores?
- 24. Múltiples procesadores y PerformanceCounter C#
- 25. Detección del número de procesadores
- 26. ¿Python usará todos los procesadores en el modo de subprocesos?
- 27. El algoritmo de división de enteros de los procesadores x86
- 28. CPUID en procesadores Intel i7
- 29. Visual Studio 2010, cómo crear proyectos en paralelo en multinúcleo
- 30. ¿Admite python la programación multiprocesador/multinúcleo?
estaría Intersted saber también cómo el sistema operativo inicialmente (a nivel de hardware) determina cuántos núcleos/paquetes/procesadores lógicos hay – PhiS
@PhiS: simplemente pregunta. buscar cpuid ... – Bahbar
@Bahbar CPUID no proporciona toda la información necesaria si hay más de un paquete físico presente en el sistema, porque solo recibe información en el nivel del paquete (cuántos núcleos/procesadores de registro dentro de un paquete). – PhiS