Diferencia entre revisiones de «Modos de operación de la CPU»
Línea 5: | Línea 5: | ||
Cada procesador viene con un juego de instrucciones propio de cada fabricante, algunos ejemplos de procesadores son: x86, x86_64, sparc, powerpc, ARM, Z80, entre muchos otros. | Cada procesador viene con un juego de instrucciones propio de cada fabricante, algunos ejemplos de procesadores son: x86, x86_64, sparc, powerpc, ARM, Z80, entre muchos otros. | ||
− | Un procesador generalmente cuenta con un conjunto de [[ | + | Un procesador generalmente cuenta con un conjunto de [[http://www.eecg.toronto.edu/~amza/www.mindsec.com/files/x86regs.html registros]]. |
El estado del procesador se guarda en un conjunto de registros de 8, 16, 32 o 64 bits. Además de ellos, el procesador posee dos registros especiales, el de siguiente instrucción (IP, PC,…) y el de estado (CCR): | El estado del procesador se guarda en un conjunto de registros de 8, 16, 32 o 64 bits. Además de ellos, el procesador posee dos registros especiales, el de siguiente instrucción (IP, PC,…) y el de estado (CCR): |
Revisión del 17:02 6 oct 2017
2.2. Modos de operación de la CPU
Los fabricantes de procesadores actuales ofrecen procesadores que generalmente disponen de, al menos, dos modos de funcionamiento.
Cada procesador viene con un juego de instrucciones propio de cada fabricante, algunos ejemplos de procesadores son: x86, x86_64, sparc, powerpc, ARM, Z80, entre muchos otros.
Un procesador generalmente cuenta con un conjunto de [registros].
El estado del procesador se guarda en un conjunto de registros de 8, 16, 32 o 64 bits. Además de ellos, el procesador posee dos registros especiales, el de siguiente instrucción (IP, PC,…) y el de estado (CCR):
No privilegiado
Este modo de operación de la CPU también se conoce como modo usuario (ojo, no tiene nada que ver con el ser humano que trabaja con el equipo).
Se trata del conjunto de instrucciones que puede ejecutar un proceso de usuario. Es un subconjunto de las instrucciones que soporta un procesador. Por ejemplo, las instrucción add, sub, and, or, xor, jmp, test y similares que permiten modelar el comportamiento de un programa. Las instrucciones load y store típicas que se emplean para traer datos de memoria a un registro del procesador y viceversa pertenecen a este modo de ejecución.
Privilegiado
También llamado modo supervisor (no confundir con usuario root).
- Modo en el que se ejecuta el núcleo del sistema operativo.
- Ofrece acceso total a las instrucciones de la CPU.
Un fallo de programación en modo privilegiado puede plantar el SO, en modo no privilegiado nunca pasaría eso. Precisamente esa es la utilidad de tener varios modos de ejecución, la construcción de un sistema robusto. En la práctica, lo usual es que los procesadores tengan modos intermedios entre usuario y supervisor. La transición de modo supervisor a usuario es arbitraria, mientras que de usuario a supervisor se realiza mediante una interrupción. La CPU siempre arranca en modo supervisor, lo cual se intuye, pues en el inicio del dispositivo, se tendrá que ejecutar código del sistema operativo.