• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Microprocesador 80386DX
 

Microprocesador 80386DX

on

  • 7,947 views

 

Statistics

Views

Total Views
7,947
Views on SlideShare
7,922
Embed Views
25

Actions

Likes
1
Downloads
78
Comments
0

1 Embed 25

http://www.slideshare.net 25

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Microprocesador 80386DX Microprocesador 80386DX Presentation Transcript

    • Arquitectura Interna (cont.)
    • MICP 80386DX: Arquitectura Interna
    • Microprocesador 80386DX
      • Presenta 6 unidades de procesamiento - Unidad de Bus - Unidad de Pre-búsqueda - Unidad de Decodificación - Unidad de Ejecución - Unidad de Segmentación - Unidad de Paginación
      • Esto permite la ejecución de instrucciones mediante la técnica de tuberías (pipeline) conocido también como “procesamiento en paralelo”.
      • Caracteristicas
        • Microprocesador de 32 bits
          • Tipo de Datos de 8, 16, 32 bits
          • 8 Registros de Propósito General GPR (32-bit)
        • Espacio de Direcciones Grande
          • 4 GB de Memoria Física
          • 4 GB Tamaño Máximo de Segmento
          • NOTA: 1MB ≡ 1024 KB, 1GB ≡ 1024MB, 1TB ≡ 1024GB.
      Microprocesador 80386DX
        • Unidad de Página+Unidad de Segmentación
          • Proveen el Servicio Para Administrar Memoria
          • Provee 4 Niveles de Protección durante ciclos de bus
          • 100% compatible con 80286
      • Mas Características
        • Modo Real, Modo Protegido, Modo Virtual 8086
        • Optimizado para un mejor rendimiento
          • Ejecución de Instrucciones mediante tuberías
          • Integra en el chip cachés para conversión de direcciones
          • 20, 25, and 33 MHz clock
        • 132 pin “Grid Array Package”
      Microprocesador 80386DX
    • Espacio de Direcciones de Memoria en Modo Real
      • 80386DX en Modo Real: 1MB de memoria externa
      • Espacio de Direcciones de Memoria del 8086 ≡ 1MB
      00000 H 003FF H 00400 H FFFFF H Dedicada (Tabla Vectores de Interrupción) general Puntero IP Segmento
    • Modelo de Programaci ó n de 8086 -> Pentium 4
      • Modo Real: Compatible con el 8086
    • Segmentación de Memoria
      • Segmentos de 64KB en el espacio de 1MB
      • CS: segmento de c ó digo SS: segmento de pila DS: segmento de datos ES: segmento extra de datos FS: segmento de datos F GS: segmento de datos G
      • Los segmentos pueden ser adyacentes, disjuntos y superpuestos.
      • Direcciones Base de Segmentos : se recomienda un m ú ltiplo de 4 H .
    • Puntero de Instrucciones y registros de prop ó sito general
      • Puntero IP
      • IP 16-bit en Modo Real
        • Dirección de Próxima Instrucción : CS:IP
      • Registros de Propósito General (Data Registers)
      EBX ECX EDX Acumulador (A): Ajuste ASCII, ...... Base (B) : tablas look-up Count (C): operaciones loop, repetir operaciones string, shift/rotate Data (D): indirect I/O, I/O string, Multi, Divide EAX AX AH AL
    • Registros de Propósito General
    • Punteros y Registros Indices
      • Dos registros indices (ESI, EDI) y dos punteros (EBP, ESP);
      • En general guardan “offsets” de direcciones (16-bit modo real: 64 KB)
      • ESP(extended stack pointer) y EBP(extended base pointer)
        • Combinados con el registro SS producen direcciones físicas de memoria: SS:SP , SS:BP .
        • TOS (top of stack) : SS:SP
        • BP : un “offset” respecto de SS.
      • ESI (extended source index register) y EDI (extended destination index register)
        • Combinan automaticamente con el registro de datos DS.
      • Es un registro de 32 bits. Pentium 4 define18 banderas.
      • En modo real solo 9 banderas se encuentran activas y se muestran a continuación:
      Registro de Banderas
    • Registro de Banderas
      • Bandera de acarreo (CF) : enciende con carry-out, borrow-in
      • Bandera de paridad (PF): enciende con paridad par
      • Bandera acarreo auxiliar (AF): enciende con acarreo desde “nibble” bajo
      • Bandera cero (ZF): enciende con resultado cero aritmético o lógico
      • Bandera de signo (SF): “0” positivo “1” negativo
      • Bandera de sobrecarga (OF): enciende con resultado con signo fuera de rango
      • Bandera de “trampa” (TF): TF=1 habilita modo “paso a paso”
      • Bandera de interrupción (IF): IF=1 habilita entrada INTR
      • Bandera de dirección (DF): Con DF=1 las operaciones “string”(cadena de caracteres) automáticamente decrementan el correspondiente puntero. Con DF=0 incrementan.
    • Generando la Dirección Física de Memoria en Modo Real
      • Direcci ó n f í sica en modo real 20 bits.
      Segmet register references for memory accesses
    • Ejemplo: cálculo de dirección física en modo real 1 2 3 4 0 0 2 2 0 0 2 2 1 2 3 6 2 Segmento Base “ Offset” Dirección Lógica Dirección Física 1 2 3 4 0 0
        • El prefijo para cambio de segmentos se puede agregar a casi cualquier instrucci ó n en cualquier modo de direccionamiento de la memoria, permite al programador cambiar el segmento impl í cito.
        • variables, fuentes de cadenas : impl í cito DS; seg alterno : ES, FS, GS, SS, CS
        • Destino de cadenas : ES: seg alterno ninguno
        • BP usado como registro base: impl í cito SS; seg alterno: ES. FS, GS, DS, CS
        • BX usado como registro base: impl í cito DS; seg alterno: ES, FS, GS, SS, CS
      Prefijo Para Cambio De Segmentos
    • Ejemplos
    • Stack
      • Instrucciones Call, Return, Push y Pop usan la pila.
      • En modo real, el stack es de tamaño 64K
      • A continuación se muestra la estructura del stack
    • Espacio de direcciones entrada/salida en modo real
      • Es un espacio de direcciones separado del espacio de direcciones de memoria (entrada / salida aislada)
      • 64KB espacio de direcciones de E/S
      • 0000H -> FFFFH
      • Direccionamiento Indirecto: Usa Registro DX
      • Página 0 : 0000H hasta 00FFH --> direccionamiento directo
    • Espacio de direcciones entrada/salida en modo real