Pentium a Fondo
Tema 5: El Pentium a Fondo
Carlos Garre y David Miraut
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
1
Jerarquía de Memoria
MICROPROCESADORES
Contenidos
• Jerarquía de memoria del Pentium: – Registros del microprocesador. – Memoria principal:
• Memoria segmentada. • Mecanismo de paginación.
– Memoria caché.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍAINFORMÁTICA
2
Registros del Microprocesador
MICROPROCESADORES
• 7 registros de propósito general: Contenidos
– – – – – AX, BX, CX, DX, BP, DI, SI 16 bits. EAX, EBX, ECX, EDX, EBP, EDI, ESI 32 bits. RAX, RBX, RCX, RDX, RBP, RDI, RSI 64 bits. AH, AL, ... Parte alta y parte baja (1B) del registro AX. No hay acceso independiente a los 16 MSb de EAX, EBX, ...
ESCUELA TÉCNICA SUPERIOR DEINGENIERÍA INFORMÁTICA
3
Registros de la Pila
MICROPROCESADORES
• Las operaciones de la pila utilizan hasta 3 registros:
SS (Stack Segment): Dirección de comienzo del segmento de pila en memoria. ESP (Extended Stack Pointer): Desplazamiento dentro del segmento de pila:
PUSH decrementa ESP. POP incrementa ESP. Se utiliza implícitamente en instrucciones de subrutina y tratamiento deinterrupciones y excepciones.
EBP (Extended Base Pointer): Si pasamos a pila una estructura de datos, apunta al comienzo de la estructura (ESP apuntará al final). Su uso es opcional.
• Esquema en la pizarra...
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
4
Registros para manejo de Strings
MICROPROCESADORES
• Los registros EDI y ESI están pensados para trabajar con cadenas decaracteres:
ESI: Dirección de comienzo de una cadena de origen. EDI: Dirección de comienzo de una cadena de destino. MOVS Copia la cadena apuntada por ESI a la cadena apuntada por EDI. CMPS Compara las dos cadenas apuntadas por ESI y EDI.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
5
Puntero de Instrucción
MICROPROCESADORES
• El registro EIP (Extended Instruction Pointer) esun contador de programa (PC):
En modo protegido, se utiliza EIP, de 32 bits Hasta 4GBs. En modo real, se utiliza IP, de 16 bits Hasta 64KBs:
• Intros de 64KB Vídeo.
• El registro CS (Code Segment) sirve de base para el segmento de código, y EIP es el desplazamiento.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
6
Registro de Estado
MICROPROCESADORES
• El registro EFLAGS,de 32 bits, contiene:
Señalizadores de estado, controlados por la ALU:
• • • • • • • • • acarreos paridad cero signo desbordamientos. Control de interrupciones Modos de operación Problemas de alineamiento de memoria Etc...
Señalizadores de control del sistema:
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
7
Registros de Segmento
MICROPROCESADORES
• Segmentos: trozos de lamemoria de tamaño variable que contienen el mismo tipo de información. • 3 tipos de segmentos:
De pila. De código. De datos.
• El Pentium controla 6 segmentos, con 6 registros de segmento de 16 bits:
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
8
Registros de Segmento (II)
MICROPROCESADORES
• Estructura de los registros de segmento:
• RPL: 2 bits que indican el nivel deprivilegio del segmento.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
9
Otros Registros del Pentium
MICROPROCESADORES
• Registros de tablas del sistema: para manipular las tablas que maneja el S.O. en modo protegido GDTR, IDTR, LDTR, TR. • Registros de control: determinan el modo de operación del Pentium y las características de la tarea en ejecución CR0..CR4. • Registros dedepuración: los utiliza el programador para depurar (puntos de ruptura) DR0..DR7. • Registros de prueba de la TLB: Permiten leer y escribir en la TLB TR6 y TR7. • Registros específicos del Pentium: Registros de 64b para acceder a características específicas de cada procesador. Son accesibles mediante las instrucciones RDMSR y WRMSR TR1 y TR2.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA...
Regístrate para leer el documento completo.