Arquitectura Interna (cont.)
MICP 80386DX: Arquitectura Interna
Microprocesador 80386DX <ul><li>Presenta 6 unidades de procesamiento  -  Unidad de Bus - Unidad de Pre-búsqueda - Unidad d...
<ul><li>Caracteristicas </li></ul><ul><ul><li>Microprocesador de 32 bits </li></ul></ul><ul><ul><ul><li>Tipo de Datos de 8...
<ul><ul><li>Unidad de Página+Unidad de Segmentación  </li></ul></ul><ul><ul><ul><li>Proveen el Servicio Para Administrar M...
Espacio de Direcciones de Memoria en Modo Real <ul><li>80386DX en Modo Real: 1MB de memoria externa </li></ul><ul><li>Espa...
Modelo de Programaci ó n de 8086 -> Pentium 4 <ul><li>Modo Real: Compatible con el 8086 </li></ul>
Segmentación de Memoria <ul><li>Segmentos de 64KB en el espacio de 1MB </li></ul><ul><li>CS: segmento de c ó digo  SS: seg...
Puntero de Instrucciones y registros de prop ó sito general <ul><li>Puntero IP </li></ul><ul><li>IP 16-bit en Modo Real </...
Registros de Propósito General
Punteros y Registros Indices <ul><li>Dos registros indices (ESI, EDI) y dos punteros (EBP, ESP);   </li></ul><ul><li>En ge...
<ul><li>Es un registro de 32 bits.  Pentium 4 define18 banderas. </li></ul><ul><li>En modo real solo 9 banderas se encuent...
Registro   de   Banderas <ul><li>Bandera de acarreo (CF)  : enciende con carry-out, borrow-in </li></ul><ul><li>Bandera de...
Generando la Dirección Física de Memoria en Modo Real <ul><li>Direcci ó n f í sica en modo real 20 bits. </li></ul>Segmet ...
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” ...
<ul><ul><li>El prefijo para cambio de segmentos se puede agregar a casi cualquier instrucci ó n en cualquier modo de direc...
Ejemplos
Stack <ul><li>Instrucciones Call, Return, Push y Pop usan la pila. </li></ul><ul><li>En modo real, el stack es de tamaño 6...
Espacio de direcciones  entrada/salida en modo real <ul><li>Es un espacio de direcciones separado del espacio de direccion...
Espacio de direcciones  entrada/salida en modo real
Próxima SlideShare
Cargando en…5
×

Microprocesador 80386DX

5.325 visualizaciones

Publicado el

Publicado en: Tecnología
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
5.325
En SlideShare
0
De insertados
0
Número de insertados
29
Acciones
Compartido
0
Descargas
84
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Microprocesador 80386DX

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

×