Está en la página 1de 33

Arquitectura de procesadores (Introduccin)

Tcnicas Digitales III Ing. Gustavo Nudelman 2012

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Introduccin
Ao 1978: Se lanza la familia iaPx86 Procesador de 16 bits Compromiso pblico de compatibilidad ascendente. Procesador base de la primer IBM PC

Ao 1982: Procesador 80286 Arquitectura de 16 bits Capacidad de multitasking Entorno de proteccin

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Introduccin
Ao 1985: Procesador 80386. (Arquitectura IA-32) Arquitectura de 32 bits Capacidad de multitasking Entorno de proteccin mejorado Unidad de paginacin Son evoluciones de la misma arquitectura los modelos: 486 Pentiun, Pentiun II, Pentium III y los primeros modelos de Pentium Iv Ao 2003: Arquitectura AMD 64 Procesador de 64 bits Incorporado luego con Intel en modelos posteriores de P4

Cada Implementacin de la evolucin es compatible con todos los modelos anteriores. Muchas veces los incluyen como un sub-modo de trabajo
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

AMD64 - Modos de operacin

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

AMD64 - Modos de operacin

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modo Real (16 bits) Entorno de ejecucin


Un procesador X86 arranca en este modo de compatibilidad bsico

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Direccionamiento en modo real


El programador especifica una direccin lgica compuesta por Un selector de segmento de 16 bits (CS, DS, ES) Un desplazamiento (Offset de 16 bits: IP, SP, SI, DI) Se obtiene una direccin de 20 (direccin lineal) mediante la siguiente suma desplazada. Asimismo es la que entrega el pinout del procesador (direccin fsica)

Al energizar un procesador X86, este buscar la primer instruccin a ejecutar en la direccin lgica 0xFFFF:0x0000 la cual corresponde a la direccin fsica 0xFFFF0 Universidad Tecnolgica Nacional - Facultad
Regional Buenos Aires

Lab 1
1. Estructura de un programa booteable 2. Compilacin 3. Depuracin con Bochs

Subtitulo o nombre del capitulo


Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires Universidad Tecnolgica Nacional

Modo Protegido / multitarea Requerimientos


Area de memoria exclusiva para cada tarea almacene su cdigo y sus datos Area de memoria comn para permitir la comunicacin. Sistema de proteccin entre reas de memoria Sistema de proteccin para recursos de hardware Posibilidad de virtualizar el direccionamiento a memoria

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modo Compatibilidad 32 o Modo protegido Entorno de ejecucin

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Registro EFLAGS

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modo legacy 32 o Modo protegido Recursos para el sistema

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modo Protegido - Segmentacin


En modo protegido, se define a los segmentos de memoria por una estructura de datos llamada descriptor Los diferentes descriptores que puede tener un sistema estn contenidos en una tabla en memoria RAM. La definicin de un segmento es mas compleja por lo que el descriptor contiene datos como Base de segmento, Tamao del mismo y atributos. Los descriptores tienen un tamao fijo de 8 bytes y contienen campos para las distintas caractersticas necesarias para describir un segmento Antes de pasar a modo protegido, debemos tener las tablas con los descriptores establecidas memoria, y los recursos del procesador que hacen uso de estas tablas debes estar inicializados.
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

IA32 Acceso a memoria segmentada

EIP, EDI,ESP,ESI

20 18 10 8 0 GDT (Global descriptor table)


Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modo Protegido Descriptor de segmento

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modo Protegido Activacin del submodo


Todos los procesadores inician su funcionamiento en modo real La activacin del modo protegido se realiza cambiando a 1 el bit menos significativo del registro de control CR0 (bit PE) No obstante es indispensable contar previamente con las estructuras de datos en memoria, e inicializacin de registros que necesita este modo: Cambiar el bit PE es lo ltimo que se hace

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Campo tipo para descriptores de sistema (S=0)

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Direccin Lgica vs Direccin lineal

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Registros Hiden

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modelo de memoria FLAT

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modelo FLAT Protegido

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Modelo multisegmento

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Lab 2
Pasaje a modo protegido

Subtitulo o nombre del capitulo


Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires Universidad Tecnolgica Nacional

Interrupciones en modo protegido


Tanto el procedimiento inicial, como la cantidad de interrupciones a vectorizar, es la misma en todos los modos de trabajo. Notificacin del evento (entrada INT, instruccin o evento anormal). Notificacin del TIPO Acuse de recibo Cambio del flujo de ejecucin. La diferencia se encuentra en la manera de armar las estructuras de los vectores de interrupcin. En el caso de modo protegido se dispone de una tabla llamada IDT (Interrupt descriptor table) que contiene un descriptor de 8 bytes para cada TIPO. Al igual que la GDT, se dispone de un registro especial del procesador que apunta a la base de la misma y contiene el tamao. IDTR
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Interrupciones en modo protegido

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Descriptores de la IDT
Descriptor de sistema

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Acceso al handler de la interrupcin


Tipo n (provisto por el PIC)
Pto de entrada del handler

n+1

+
CPU

n 4 3 2 1 0

Espacio lineal

IDTR

IDT

GDT
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Tipos de eventos de interrupcin


Interrupciones: Comprende a las interrupciones provocadas por los diferentes dispositivos de hardware a travs de las lneas de IRQ y a las instrucciones de procesador tipo INT. Son direccionadas en la IDT por descriptores de del tipo: Interrupt gate Direccionan hacia el handler de atencin correspondiente pudiendo existir cambio de nivel de privilegio Task Gate Provocan un cambio de contexto completo Conmutacin de tarea

Excepciones: Comprende las anomalas ocurridas dentro del propio procesador (divisin por 0, violacin del mecanismo de proteccin, etc). Pueden ser del tipo: Fault: Puede corregirse y se retorna para volver a ejecutar la misma instruccin. Ej: Segmento no presente Trap: Invocada luego de ejecutar una instruccin Se retorna a la instruccin siguiente. Ej. Trap de depuracin Abort: Fallas graves. (Ej hardware) No es posible continuar
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Lista de Tipos

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Lista de Tipos

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Reprogramacin de los pics para manejo de excepciones


pic_reprogramming: ;-----------------------------------------------------------------------------; Inicializacin PIC #1 mov al,11h ;ICW1: IRQs activas por flanco, Modo cascada, ICW4 Si. out 20h,al mov al,32 ;ICW2: INT base para el PIC N#1 Tipo IRQ0_Base_interrupt out 21h,al mov al,04h ;ICW3: PIC N#1 Master, tiene un Slave conectado a IRQ2 (0000 0100b) out 21h,al mov al,01h ;ICW4: Modo No Buffered, Fin de Interrupcin Normal, procesador 8086 out 21h,al ; Antes de inicializar el PIC #2, deshabilitamos las Interrupciones del PIC #1 mov al,0FFh ;OCW1: Set o Clear el IMR out 21h,al ; Inicializacin PIC #2 mov al,11h ;ICW1: IRQs activas por flanco, Modo cascada, ICW4 Si. out 0A0h,al mov al,40 ;ICW2: INT base para el PIC N#1 Tipo IRQ0_Base_interrupt + 8h. out 0A1h,al mov al,02h ;ICW3: PIC N#2 Slave, IRQ2 es la lnea que enva al Master (010b) out 0A1h,al mov al,01h ;ICW4: Modo No Buffered, Fin de Interrupcin Normal, procesador 8086 out 0A1h,al Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Interrupcin - Comportamiento de la pila sin cambio de nivel de privilegio

EFLAGS CS EIP Error code

ESP

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Lab 3
Ejemplo de interrupciones

Subtitulo o nombre del capitulo


Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires Universidad Tecnolgica Nacional

También podría gustarte