Arquitectura de procesadores (Introducción) Técnicas Digitales III Ing. Gustavo Nudelman 2013 Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Introducción Año 1978: Se lanza la familia iaPx86 Procesador de 16 bits Compromiso público de compatibilidad ascendente. Procesador base de la primer IBM PC Año 1982: Procesador 80286 Arquitectura de 16 bits Capacidad de multitasking Entorno de protección Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Introducción Año 1985: Procesador 80386. (Arquitectura IA-32) Arquitectura de 32 bits Capacidad de multitasking Entorno de protección mejorado Unidad de paginación Son evoluciones de la misma arquitectura los modelos: 486 – Pentiun, Pentiun II, Pentium III y los primeros modelos de Pentium Iv Año 2003: Arquitectura AMD 64 Procesador de 64 bits Incorporado luego con Intel en modelos posteriores de P4 Cada Implementación de la evolución es compatible con todos los modelos anteriores. Muchas veces los incluyen como un sub-modo de trabajo Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Arquitectura Intel - Modos de operación Universidad Tecnológica Nacional - Facultad Regional Buenos Aires IA - Modos de operación - Estados Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modo Real (16 bits) – Entorno de ejecución Un procesador X86 arranca en este modo de compatibilidad básico Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Direccionamiento en modo real • El programador especifica una dirección lógica 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 dirección de 20 (dirección lineal) mediante la siguiente suma desplazada. Asimismo es la que entrega el pinout del procesador (dirección física) • Al energizar un procesador X86, este buscará la primer instrucción a ejecutar en la dirección lógica 0xFFFF:0x0000 la cual corresponde a la dirección física 0xFFFF0 Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Lab 1 1. Estructura de un programa booteable 2. Compilación 3. Depuración con Bochs Subtitulo o nombre del capitulo Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Universidad Tecnológica Nacional Modo Protegido / multitarea Requerimientos • Area de memoria exclusiva para cada tarea almacene su código y sus datos • Area de memoria común para permitir la comunicación. • Sistema de protección entre áreas de memoria • Sistema de protección para recursos de hardware • Posibilidad de virtualizar el direccionamiento a memoria Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modo Compatibilidad 32 o Modo protegido – Entorno de ejecución Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Registro EFLAGS Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modo legacy 32 o “Modo protegido” – Recursos para el sistema Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modo Protegido - Segmentación • 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 están contenidos en una tabla en memoria RAM. • La definición de un segmento es mas compleja que en modo real, por lo que el descriptor contiene datos como Base de segmento, Tamaño del mismo y atributos. • Los descriptores tienen un tamaño fijo de 8 bytes y contienen campos para las distintas características 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 deben estar inicializados. Universidad Tecnológica Nacional - Facultad Regional Buenos Aires IA32 – Acceso a memoria segmentada EIP, EDI,ESP,ESI 20 18 10 8 0 GDT (Global descriptor table) Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modo Protegido – Descriptor de segmento Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modo Protegido – Activación • Todos los procesadores inician su funcionamiento en modo real • La activación 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 inicialización de registros que necesita este modo: • Dentro de la secuencia para pasar a modo protegido, cambiar el bit PE es lo último que se hace Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Campo tipo para descriptores de sistema (S=0) Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Dirección Lógica vs Dirección lineal Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Registros Hiden Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modelo de memoria FLAT Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modelo FLAT con protección de código Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Modelo multisegmento Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Lab 2 Pasaje a modo protegido Subtitulo o nombre del capitulo Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Universidad Tecnológica Nacional