SlideShare una empresa de Scribd logo
1 de 17
Programación de IA-32
   Modo Protegido

      Introducción


    Erwin Meza Vega
IA-32 Modo Protegido
   Permite tener acceso a todas las características
    del procesador
       Se introdujo en la arquitectura Intel en los
        procesadores 286 y se mejoró notablemente con el
        386
       En su aspecto básico, en los procesadores actuales
        funciona de la misma forma que en un 386
       A partir de este modo se puede pasar al modo
        extendido de 32 bits (para procesadores de 64 bits)
IA-32 Modo Protegido
   Características más importantes que se pueden
    usar en modo protegido:
       Protección (niveles de privilegios)
       Modo segmentado *
       Espacio de direcciones lineal de 32 bits (registros de
        propósito general)
       Multitarea
       Acceso a otros modos de operación (modo virtual 8086,
        modo extendido, modo real)
       Paginación de memoria
Paso de Modo Real a Modo
              Protegido
Para pasar de modo real a modo protegido se debe
  realizar por lo menos los siguientes pasos:
• Definir la organización de la memoria, por medio de
  la Tabla Global de Descriptores (GDT)
• Habilitar la línea de direcciones A20, para poder
  especificar direcciones de memoria de más de 20
  bits.
• Modificar el registro CR0 para habilitar el flag PE.
• Saltar a una instrucción que se encuentre dentro
  de un segmento de código válido.
Organización de la memoria
   La memoria se maneja en un esquema segmentado.
   Cada segmento puede tener cualquier un tamaño de: 1
    a 232 bytes
   La memoria se controla mediante descriptores de
    segmento, que se almacenan en una estructura de
    datos denominada GDT.
   Los registros de segmento se denominan “selectores” y
    funcionan de forma diferente al modo real.
   El valor almacenado en los registros de segmento se
    usa como subíndice en la GDT.
Organización de la memoria
 Dirección Lógica
                                  Dirección Lineal
Selector Offset
(16 bits) (32 bits)
                                                              Segmento



           Descriptor de Segmento
                                                     Offset
           Base
           Límite (tamaño)
           Nivel de privilegios



                                                                GDT
Tabla Global de Descriptores (GDT)
Tabla (arreglo) que contiene una serie de estructuras de
  datos llamadas Descriptores.
La GDT puede contener hasta 213 descriptores. Cada
  descriptor tiene un tamaño de 8 bytes (64 bits).
Entre los diferentes tipos de descriptores que se puede
  almacenar en la GDT se encuentran los Descriptores
  de Segmento. Estos almacenan la información de un
  segmento en la memoria:
• Dirección base
• Tamaño
• Privilegios
• Estado
Tabla Global de Descriptores (GDT)
                                       El GDT es una estructura de
                                       datos que se almacena en
                                       memoria. Debe estar alineada
                                       a un límite de 8 bytes.
                                       Su ubicación y tamaño se
                                       describen en el registro GDTR.




Tabla Global de
Descriptores      Descriptor

                  Descriptor
                                       Registro GDTR
                  Descriptor NULO
                                    Base      Límite
Descriptores de Segmento
Dentro de la GDT se almacenan (entre otros)
  descriptores de segmento. En modo protegido, se
  requiere que la GDT contenga al menos tres
  descriptores:
• El primer descriptor de la GDT siempre es nulo
• Un descriptor para el segmento de código
• Un descriptor para el segmento de datos
Por simplicidad, la mayoría de sistemas operativos
  configuran sólo estos tres segmentos.
Los segmentos de código y datos se configuran con
  base = 0 y con límite (tamaño) = 4 GB, lo que
  significa que se utiliza el modo Flat (plano).
Formato de un Descriptor de
        Segmento




            Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1
Registros de Segmento
             (Selectores)
En modo protegido el valor almacenado en un
 registro de segmento (selector) tiene el
 siguiente formato:




          Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1
Línea de Direcciones A20
              (A20 Gate)
• Por razones históricas, cuando el procesador se
  encuentra en modo real, su línea de direcciones
  20 (A20 Gate) se encuentra deshabilitada.
• Cualquier dirección de memoria mayor a 220
  (1MB), se “trunca” al limite de 1 MB.
• Anteriormente la línea A20 se podía habilitar
  mediante un pin en el teclado.
• En la actualidad este pin no existe, pero se
  puede programar el controlador 8042 (teclado)
  para habilitar la línea A20.
Línea de Direcciones A20
                  (A20 Gate)
Para habilitar la línea de direcciones A20 se debe realizar el siguiente
  proceso:
1. Leer el bit de estado del controlador 8042, disponible en el puerto de
    E/S 0x64.
2.   Si el controlador del teclado se encuentra listo, el segundo bit de su
     estado debe ser cero. En caso contrario, ir al paso 1.
3.   Escribir el valor 0xd1 en el puerto de E/S 0x64. El valor 0xd1 le
     indica al controlador que posteriormente se enviará otro byte que
     contiene la configuración a establecer.
4.   Repetir los pasos 1 y 2 para verificar que el controlador de teclado
     haya recibido el comando.
5.   Escribir el valor 0xdf en el puerto de E/S 0x60. Este valor habilita el
     bit A20 dentro del controlador del teclado.
6.   Repetir los pasos 1 y 2 para verificar que el controlador ha aceptado
     el comando.
Registro CR0
Este registro controla la ejecución del procesador.
 Su formato se muestra en la siguiente figura:



              Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1




El bit 0 de CR0 (Protection Enable) permite
  habilitar el modo protegido. No obstante antes
  de habilitar este bit se debe configurar la GDT y
  habilitar la línea de direcciones A20.
Secuencia para paso a modo
                protegido
1. Deshabilitar las interrupciones
  a.   Habilitar la línea de direcciones A20
2. Cargar el registro GDTR con la dirección base y el tamaño
   del GDT configurado con anterioridad.
3. Habilitar el bit 0 (PE) del registro CR0
4. Saltar mediante ljmp o lcall a una instrucción que se
   encuentre dentro de un segmento de código válido en modo
   protegido.
5. Si es necesario, cargar el registro LDTR con un LDT válido.
6. Si se pretende usar multi-tarea, cargar un registro de tareas
   válido en el registro TR.
7. Actualizar los registros de segmento DS, ES, FS, GS y SS
   para que contengan un selector válido.
Pasos adicionales
Al pasar a modo protegido, no se pueden usar los
  servicios de la BIOS.
Se debe configurar una estructura llamada IDT
  (Interrupt Descriptor Table), la cual define las
  rutinas de manejo de interrupción.
Sólo después de configurar una IDT válida se pueden
  habilitar las interrupciones. Si accidentalmente se
  habilitan, el procesador se reiniciará
  automáticamente en la próxima ejecución de reloj
  debido a que no se ha definido una rutina de
  manejo de interrupción.
Referencias

              Manuales de Intel
    http://www.intel.com/products/processor/manuals/
 Intel® 64 and IA-32 Architectures Software Developer's
ManualSystem Programming Guide, Part 1, Order Number
                        253668

Más contenido relacionado

La actualidad más candente

Tablas decision
Tablas decisionTablas decision
Tablas decisionFSILSCA
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!romo91
 
programacion en lenguaje ensamblador con NASM
programacion en lenguaje ensamblador con NASMprogramacion en lenguaje ensamblador con NASM
programacion en lenguaje ensamblador con NASMフ乇丂ひ丂
 
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesArquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesVideoconferencias UTPL
 
UNIDADES FUNCIONALES DEL ORDENADOR
UNIDADES FUNCIONALES DEL ORDENADORUNIDADES FUNCIONALES DEL ORDENADOR
UNIDADES FUNCIONALES DEL ORDENADORGovindaRomero
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Dj Mada - Tres Valles, Veracruz
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajesPedro Contreras Flores
 
Modelos de acceso a la memoria(uma,numa,coma,norma)
Modelos de acceso a la memoria(uma,numa,coma,norma)Modelos de acceso a la memoria(uma,numa,coma,norma)
Modelos de acceso a la memoria(uma,numa,coma,norma)UAEMex
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensambladoriagardea
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesosmastermind87
 

La actualidad más candente (20)

Clase 14b uml_actividades
Clase 14b uml_actividadesClase 14b uml_actividades
Clase 14b uml_actividades
 
Tablas decision
Tablas decisionTablas decision
Tablas decision
 
Modos de direccionamiento!!
Modos de direccionamiento!!Modos de direccionamiento!!
Modos de direccionamiento!!
 
programacion en lenguaje ensamblador con NASM
programacion en lenguaje ensamblador con NASMprogramacion en lenguaje ensamblador con NASM
programacion en lenguaje ensamblador con NASM
 
Round robin
Round robinRound robin
Round robin
 
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesArquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
 
UNIDADES FUNCIONALES DEL ORDENADOR
UNIDADES FUNCIONALES DEL ORDENADORUNIDADES FUNCIONALES DEL ORDENADOR
UNIDADES FUNCIONALES DEL ORDENADOR
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Indices 1
Indices 1Indices 1
Indices 1
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Modelos de acceso a la memoria(uma,numa,coma,norma)
Modelos de acceso a la memoria(uma,numa,coma,norma)Modelos de acceso a la memoria(uma,numa,coma,norma)
Modelos de acceso a la memoria(uma,numa,coma,norma)
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesos
 
Modos de direccionamiento y formatos
Modos de direccionamiento y formatosModos de direccionamiento y formatos
Modos de direccionamiento y formatos
 

Destacado

Presentacion beneficios cirena tv saber vivir
Presentacion beneficios cirena  tv saber vivirPresentacion beneficios cirena  tv saber vivir
Presentacion beneficios cirena tv saber vivirperez-rull
 
"Nunca Comas Solo" por Keith Ferrazzi ( Resumen )
"Nunca Comas Solo" por Keith Ferrazzi  ( Resumen )"Nunca Comas Solo" por Keith Ferrazzi  ( Resumen )
"Nunca Comas Solo" por Keith Ferrazzi ( Resumen )Octavio Ochoa
 
689 371-respiracion bucal present
689 371-respiracion bucal present689 371-respiracion bucal present
689 371-respiracion bucal presentfonoemprof
 
Clase 6 respirador bucal
Clase 6 respirador bucalClase 6 respirador bucal
Clase 6 respirador bucalKarel Bernt
 
Chela stress test
Chela stress testChela stress test
Chela stress testsuperserch
 
Adding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationAdding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationFernando Lopez Aguilar
 
Cwin16 - Paris - ux design
Cwin16 - Paris - ux designCwin16 - Paris - ux design
Cwin16 - Paris - ux designCapgemini
 
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...Jakob Schneider
 
Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014Justin Ryan
 
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the CloudMMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the CloudXavier Amatriain
 
Cwin16 tls-partner-hpe-digital economy & Hybrid IT
Cwin16 tls-partner-hpe-digital economy & Hybrid ITCwin16 tls-partner-hpe-digital economy & Hybrid IT
Cwin16 tls-partner-hpe-digital economy & Hybrid ITCapgemini
 
Disciplined agile business analysis
Disciplined agile business analysisDisciplined agile business analysis
Disciplined agile business analysisScott W. Ambler
 
How Comcast uses Data Science to Improve the Customer Experience
How Comcast uses Data Science to Improve the Customer ExperienceHow Comcast uses Data Science to Improve the Customer Experience
How Comcast uses Data Science to Improve the Customer ExperienceTuri, Inc.
 
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...500 Startups
 

Destacado (18)

Presentacion beneficios cirena tv saber vivir
Presentacion beneficios cirena  tv saber vivirPresentacion beneficios cirena  tv saber vivir
Presentacion beneficios cirena tv saber vivir
 
"Nunca Comas Solo" por Keith Ferrazzi ( Resumen )
"Nunca Comas Solo" por Keith Ferrazzi  ( Resumen )"Nunca Comas Solo" por Keith Ferrazzi  ( Resumen )
"Nunca Comas Solo" por Keith Ferrazzi ( Resumen )
 
689 371-respiracion bucal present
689 371-respiracion bucal present689 371-respiracion bucal present
689 371-respiracion bucal present
 
Clase 6 respirador bucal
Clase 6 respirador bucalClase 6 respirador bucal
Clase 6 respirador bucal
 
Chela stress test
Chela stress testChela stress test
Chela stress test
 
Adding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your ApplicationAdding Identity Management and Access Control to your Application
Adding Identity Management and Access Control to your Application
 
May: If I Were 22
May: If I Were 22May: If I Were 22
May: If I Were 22
 
Cwin16 - Paris - ux design
Cwin16 - Paris - ux designCwin16 - Paris - ux design
Cwin16 - Paris - ux design
 
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
Marc Stickdorn & Jakob Schneider – Mobile ethnography and ExperienceFellow, a...
 
Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014
 
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the CloudMMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
MMDS 2014 Talk - Distributing ML Algorithms: from GPUs to the Cloud
 
Cwin16 tls-partner-hpe-digital economy & Hybrid IT
Cwin16 tls-partner-hpe-digital economy & Hybrid ITCwin16 tls-partner-hpe-digital economy & Hybrid IT
Cwin16 tls-partner-hpe-digital economy & Hybrid IT
 
Disciplined agile business analysis
Disciplined agile business analysisDisciplined agile business analysis
Disciplined agile business analysis
 
How Comcast uses Data Science to Improve the Customer Experience
How Comcast uses Data Science to Improve the Customer ExperienceHow Comcast uses Data Science to Improve the Customer Experience
How Comcast uses Data Science to Improve the Customer Experience
 
How to Start a Startup at NYU
How to Start a Startup at NYUHow to Start a Startup at NYU
How to Start a Startup at NYU
 
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
[PREMONEY 2014] Mayfield Fund >> Tim Chang, "Mobile Is The Future Of YOU: Why...
 
Introduction to the Innovation Corps (NSF I-Corps)
Introduction to the Innovation Corps (NSF I-Corps)Introduction to the Innovation Corps (NSF I-Corps)
Introduction to the Innovation Corps (NSF I-Corps)
 
April: My Best Mistake
April: My Best MistakeApril: My Best Mistake
April: My Best Mistake
 

Similar a Ia32 Modo Protegido

Guía de arquitectura de computadoras II
Guía de arquitectura de computadoras IIGuía de arquitectura de computadoras II
Guía de arquitectura de computadoras IIMari Cruz
 
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasGuía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasMari Cruz
 
aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladorGloria Azúa
 
Los procesadores
Los procesadoresLos procesadores
Los procesadoresoscar859
 
Los procesadores
Los procesadoresLos procesadores
Los procesadoreszohhy Arias
 
Cuáles son las mainboard y los procesadores más recientes en el mercado
Cuáles son las mainboard y los procesadores  más recientes en el mercadoCuáles son las mainboard y los procesadores  más recientes en el mercado
Cuáles son las mainboard y los procesadores más recientes en el mercadoKarina Coba
 
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...Victor_Ardila
 
Fase1 grupo 103380_64_victor_ardila
Fase1 grupo 103380_64_victor_ardilaFase1 grupo 103380_64_victor_ardila
Fase1 grupo 103380_64_victor_ardilaVictor_Ardila
 
Microprocesadores ya
Microprocesadores yaMicroprocesadores ya
Microprocesadores ya070810pipe
 
Microprocesadores ya
Microprocesadores yaMicroprocesadores ya
Microprocesadores ya070810pipe
 
Fase1-Ensamble y mantenimiento-UNAD
Fase1-Ensamble y mantenimiento-UNADFase1-Ensamble y mantenimiento-UNAD
Fase1-Ensamble y mantenimiento-UNADSEMANA CIENTÍFICA
 
Fase 1 - Ensamble y Mantenimiento
Fase 1 - Ensamble y MantenimientoFase 1 - Ensamble y Mantenimiento
Fase 1 - Ensamble y MantenimientoFrank Alarza Moreno
 
Gobernar un microcontrolador desde la beagle board xm
Gobernar un microcontrolador desde la beagle board xmGobernar un microcontrolador desde la beagle board xm
Gobernar un microcontrolador desde la beagle board xmBiblioman Aquihayapuntes
 

Similar a Ia32 Modo Protegido (20)

Modo protegido
Modo protegidoModo protegido
Modo protegido
 
Guía de arquitectura de computadoras II
Guía de arquitectura de computadoras IIGuía de arquitectura de computadoras II
Guía de arquitectura de computadoras II
 
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasGuía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y Respuestas
 
aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensamblador
 
Los procesadores
Los procesadoresLos procesadores
Los procesadores
 
Los procesadores
Los procesadoresLos procesadores
Los procesadores
 
computadoras
computadoras computadoras
computadoras
 
informati
informatiinformati
informati
 
Cuáles son las mainboard y los procesadores más recientes en el mercado
Cuáles son las mainboard y los procesadores  más recientes en el mercadoCuáles son las mainboard y los procesadores  más recientes en el mercado
Cuáles son las mainboard y los procesadores más recientes en el mercado
 
Tfase1_103380_55
Tfase1_103380_55 Tfase1_103380_55
Tfase1_103380_55
 
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
Ensamble y Mantenimiento de Compitadoras-UNAD_Fase1-grupo 103380_64_Victor_Ar...
 
Fase1 grupo 103380_64_victor_ardila
Fase1 grupo 103380_64_victor_ardilaFase1 grupo 103380_64_victor_ardila
Fase1 grupo 103380_64_victor_ardila
 
Control hd conmicrocontrolador
Control hd conmicrocontroladorControl hd conmicrocontrolador
Control hd conmicrocontrolador
 
Trabajo 1
Trabajo 1Trabajo 1
Trabajo 1
 
Microprocesadores ya
Microprocesadores yaMicroprocesadores ya
Microprocesadores ya
 
Microprocesadores ya
Microprocesadores yaMicroprocesadores ya
Microprocesadores ya
 
Fase1-Ensamble y mantenimiento-UNAD
Fase1-Ensamble y mantenimiento-UNADFase1-Ensamble y mantenimiento-UNAD
Fase1-Ensamble y mantenimiento-UNAD
 
Manual c18
Manual c18Manual c18
Manual c18
 
Fase 1 - Ensamble y Mantenimiento
Fase 1 - Ensamble y MantenimientoFase 1 - Ensamble y Mantenimiento
Fase 1 - Ensamble y Mantenimiento
 
Gobernar un microcontrolador desde la beagle board xm
Gobernar un microcontrolador desde la beagle board xmGobernar un microcontrolador desde la beagle board xm
Gobernar un microcontrolador desde la beagle board xm
 

Último

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdfMiguelHuaman31
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 

Último (20)

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 

Ia32 Modo Protegido

  • 1. Programación de IA-32 Modo Protegido Introducción Erwin Meza Vega
  • 2. IA-32 Modo Protegido  Permite tener acceso a todas las características del procesador  Se introdujo en la arquitectura Intel en los procesadores 286 y se mejoró notablemente con el 386  En su aspecto básico, en los procesadores actuales funciona de la misma forma que en un 386  A partir de este modo se puede pasar al modo extendido de 32 bits (para procesadores de 64 bits)
  • 3. IA-32 Modo Protegido  Características más importantes que se pueden usar en modo protegido:  Protección (niveles de privilegios)  Modo segmentado *  Espacio de direcciones lineal de 32 bits (registros de propósito general)  Multitarea  Acceso a otros modos de operación (modo virtual 8086, modo extendido, modo real)  Paginación de memoria
  • 4. Paso de Modo Real a Modo Protegido Para pasar de modo real a modo protegido se debe realizar por lo menos los siguientes pasos: • Definir la organización de la memoria, por medio de la Tabla Global de Descriptores (GDT) • Habilitar la línea de direcciones A20, para poder especificar direcciones de memoria de más de 20 bits. • Modificar el registro CR0 para habilitar el flag PE. • Saltar a una instrucción que se encuentre dentro de un segmento de código válido.
  • 5. Organización de la memoria  La memoria se maneja en un esquema segmentado.  Cada segmento puede tener cualquier un tamaño de: 1 a 232 bytes  La memoria se controla mediante descriptores de segmento, que se almacenan en una estructura de datos denominada GDT.  Los registros de segmento se denominan “selectores” y funcionan de forma diferente al modo real.  El valor almacenado en los registros de segmento se usa como subíndice en la GDT.
  • 6. Organización de la memoria Dirección Lógica Dirección Lineal Selector Offset (16 bits) (32 bits) Segmento Descriptor de Segmento Offset Base Límite (tamaño) Nivel de privilegios GDT
  • 7. Tabla Global de Descriptores (GDT) Tabla (arreglo) que contiene una serie de estructuras de datos llamadas Descriptores. La GDT puede contener hasta 213 descriptores. Cada descriptor tiene un tamaño de 8 bytes (64 bits). Entre los diferentes tipos de descriptores que se puede almacenar en la GDT se encuentran los Descriptores de Segmento. Estos almacenan la información de un segmento en la memoria: • Dirección base • Tamaño • Privilegios • Estado
  • 8. Tabla Global de Descriptores (GDT) El GDT es una estructura de datos que se almacena en memoria. Debe estar alineada a un límite de 8 bytes. Su ubicación y tamaño se describen en el registro GDTR. Tabla Global de Descriptores Descriptor Descriptor Registro GDTR Descriptor NULO Base Límite
  • 9. Descriptores de Segmento Dentro de la GDT se almacenan (entre otros) descriptores de segmento. En modo protegido, se requiere que la GDT contenga al menos tres descriptores: • El primer descriptor de la GDT siempre es nulo • Un descriptor para el segmento de código • Un descriptor para el segmento de datos Por simplicidad, la mayoría de sistemas operativos configuran sólo estos tres segmentos. Los segmentos de código y datos se configuran con base = 0 y con límite (tamaño) = 4 GB, lo que significa que se utiliza el modo Flat (plano).
  • 10. Formato de un Descriptor de Segmento Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1
  • 11. Registros de Segmento (Selectores) En modo protegido el valor almacenado en un registro de segmento (selector) tiene el siguiente formato: Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1
  • 12. Línea de Direcciones A20 (A20 Gate) • Por razones históricas, cuando el procesador se encuentra en modo real, su línea de direcciones 20 (A20 Gate) se encuentra deshabilitada. • Cualquier dirección de memoria mayor a 220 (1MB), se “trunca” al limite de 1 MB. • Anteriormente la línea A20 se podía habilitar mediante un pin en el teclado. • En la actualidad este pin no existe, pero se puede programar el controlador 8042 (teclado) para habilitar la línea A20.
  • 13. Línea de Direcciones A20 (A20 Gate) Para habilitar la línea de direcciones A20 se debe realizar el siguiente proceso: 1. Leer el bit de estado del controlador 8042, disponible en el puerto de E/S 0x64. 2. Si el controlador del teclado se encuentra listo, el segundo bit de su estado debe ser cero. En caso contrario, ir al paso 1. 3. Escribir el valor 0xd1 en el puerto de E/S 0x64. El valor 0xd1 le indica al controlador que posteriormente se enviará otro byte que contiene la configuración a establecer. 4. Repetir los pasos 1 y 2 para verificar que el controlador de teclado haya recibido el comando. 5. Escribir el valor 0xdf en el puerto de E/S 0x60. Este valor habilita el bit A20 dentro del controlador del teclado. 6. Repetir los pasos 1 y 2 para verificar que el controlador ha aceptado el comando.
  • 14. Registro CR0 Este registro controla la ejecución del procesador. Su formato se muestra en la siguiente figura: Imagen tomada de: Manual de Intel IA32-3a : Systems Programmer’s Guide Part 1 El bit 0 de CR0 (Protection Enable) permite habilitar el modo protegido. No obstante antes de habilitar este bit se debe configurar la GDT y habilitar la línea de direcciones A20.
  • 15. Secuencia para paso a modo protegido 1. Deshabilitar las interrupciones a. Habilitar la línea de direcciones A20 2. Cargar el registro GDTR con la dirección base y el tamaño del GDT configurado con anterioridad. 3. Habilitar el bit 0 (PE) del registro CR0 4. Saltar mediante ljmp o lcall a una instrucción que se encuentre dentro de un segmento de código válido en modo protegido. 5. Si es necesario, cargar el registro LDTR con un LDT válido. 6. Si se pretende usar multi-tarea, cargar un registro de tareas válido en el registro TR. 7. Actualizar los registros de segmento DS, ES, FS, GS y SS para que contengan un selector válido.
  • 16. Pasos adicionales Al pasar a modo protegido, no se pueden usar los servicios de la BIOS. Se debe configurar una estructura llamada IDT (Interrupt Descriptor Table), la cual define las rutinas de manejo de interrupción. Sólo después de configurar una IDT válida se pueden habilitar las interrupciones. Si accidentalmente se habilitan, el procesador se reiniciará automáticamente en la próxima ejecución de reloj debido a que no se ha definido una rutina de manejo de interrupción.
  • 17. Referencias Manuales de Intel http://www.intel.com/products/processor/manuals/ Intel® 64 and IA-32 Architectures Software Developer's ManualSystem Programming Guide, Part 1, Order Number 253668