Este documento describe la arquitectura del microprocesador 8086/8088. Incluye una descripción de sus componentes internos como la unidad de control, la unidad aritmético lógica, los registros y la memoria caché. También explica la organización de la memoria del 8086 y la traducción de direcciones lógicas a direcciones físicas a través de la unidad de interfaz con el bus.
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Arquitectura de Computadorasv
1. ARQUITECTURA DEL MICROPROCESADOR 8086/8088
I. CONCEPTOS FUNDAMENTALES.
II. EVOLUCION DE LOS Microprocesadores
III. PROCESADORES CISC y RISC
FAC. ING. DE SISTEMAS Y ELECTRONICA
Ing. CIP. Francisco Mori 1
2. ESTRUCTURA DE UN COMPUTADOR
Microprocesador
Memoria
Principal
Dispositivo de
Memoria
Secundaria
Perifericos de
Entrada
Perifericos de
Salida
Perifericos de
Entrada/Salida
Bus de Datos
Bus de Direcciones
Bus de Control
2
3. EL MICROPROCESADOR
Su función consiste en leer y decodificar las órdenes contenidas en
una memoria y devolver los resultados a una zona determinada de
memoria o actuar sobre un determinado dispositivo.
CLASIFICACIÓN
Se clasifican en función de la longitud del bus de datos.
– Micros de 4 bits: electrodomésticos, juegos.
– Micros de 8 bits: videojuegos, robótica.
– Micros de 16 bits: primeros ordenadores
– Micros de 32 bits: informática moderna.
– Micros de 64 bits: Ordenadores actuales. Tratamiento de gráficos, comunicaciones.3
4. ESTRUCTURA INTERNA
A. Hardware
• CPU (chip microprocesador): Es un C.I. formado por una unidad de
control, unidad aritmético-lógica, contador de programa, registros de
almacenamiento, etc.
• Reloj: Es un generador de impulsos digitales cuya frecuencia define la
velocidad de trabajo.
• Memoria de acceso aleatorio (RAM): Es una memoria de trabajo, es decir
de L/E. Contiene los programas y datos que el usuario puede variar.
• Memoria ROM:
• Unidades I/O:
B. Software
El software de los sistemas microprogramables está formado por:
• Instrucciones: órdenes o tareas que debe realizar el sistema.
• Datos: son empleados por las instrucciones en su ejecución.
• Programa: conjunto de instrucciones y datos que recibe el sistema para
realizar una determinada función.
4
5. CARACTERISTICAS DE TRABAJO
DE UN MICROPROCESADOR
• El reloj genera una señal cuadrada de frecuencia constante que
sincroniza el sistema y determina su velocidad.
– Ciclo de reloj: periodo de la señal de reloj.
– Ciclo máquina: ciclos de trabajo básicos del micro con dos
fases:
• Fase de búsqueda (fetch cycle): búsqueda en memoria y
transferencia al registro correspondiente de la instrucción o el
dato.
• Fase de ejecución (Execute cycle): Interpretación y ejecución .
– Ciclo de instrucción: ciclos de máquina necesarios para
completar una instrucción. (entre 1 y 6)
5
6. • Velocidad de proceso: Frecuencia de la señal de reloj. Por
ejemplo 33MHz.
• Longitud de palabra: Longitud de los datos con que opera el
sistema.
• Memoria que puede direccionar: cantidad de memoria máxima
que se puede instalar en un ordenador. Se relaciona con el bus de
direcciones.
• Repertorio de instrucciones. Número de instrucciones distintas
que tiene grabadas el micro; se relaciona con la anchura de
palabra: 8 bits =28 = 256.
• Número de registros internos que posee la CPU.
• Capacidad de tratamiento de interrupciones
6
7. ARQUITECTURA
MICROPROCESADOR 8086/8088
La unidad de interfaz con el
Bus (BIU) es la responsables de
la comunicación externa del
procesador.
La unidad de ejecución (EU)
se encarga de realizar las
operaciones aritméticas y
lógicas, además de
proporcionar las direcciones
lógicas al BIU.
7
8. COMPONENTES INTERNOS
El microprocesador integra en una sola pastilla la Unidad de
Control, la ALU y una pequeña memoria interna (registros y
acumuladores), capaz de realizar de forma automática las
funciones para las que se diseñó.
8
9. • Tambien llamada Unidad de Ejecucion (UE), aqui la ALU: Es un
circuito simple capaz de realizar operaciones sencillas: Aritmeticas,
logicas. Ademas de proporcionar las direcciones logicas a la UC.
• Un registro es una pequeña memoria de unos pocos bits (según la
arquitectura puede ser de 8, 16, 32, 64, 128 bits…).
• El Banco de Registros (RF: Register File): su función es servir de
almacén temporal para los operandos y para los resultados de las
operaciones que realice la ALU.
Que relacion existe entre el registro los datos y el programa?
1. Unidad de Tratamientos
9
10. 2.Unidad de Control
Trabaja en un ciclo constante, controlado por un reloj:
1. Lee las instrucciones.
2. Decodifica las instrucciones.
3. Manda órdenes (señales de control) al resto de componentes para ejecutar
la instrucción.
10
11. Unidad de Control
• Sabe qué instrucción debe leer gracias al Contador de
Programa (PC: Program Counter). Es un registro que
contiene la dirección de la próxima instrucción a ejecutar.
• La instrucción leída la almacena en el Registro de
Instrucción (IR: Instruction Register).
• La Lógica de Control es un circuito que, recibiendo como
entrada una instrucción, devuelve como salida todas
señales de control para cada componente del
computador..
Que relacion existe entre instruccion, ordenes, diferentes
componentes y ejecucion?
11
12. • La Unidad de Control además:
• Resuelve situaciones anómalas o de conflicto.
Cuales podrian ser estas situaciones anomalas?
• Atiende las interrupciones.
• Controla la comunicación con los periféricos.
• Entradas de la UC:
• Código de operación (del registro IR).
• Período (del reloj).
• Registro de estado (en algunos casos).
Unidad de Control
12
13. 3. Coprocesador Matemático
• Un coprocesador matemático (FPU: Floating Point Unit) era un circuito
integrado que se añadía, opcionalmente, a un procesador para poder
realizar por hardware operaciones con números en coma flotante
(IEEE 754). Esto incrementaba el número de instrucciones
disponibles.
• Los Intel 80386 y 80486SX podían utilizar respectivamente las FPUs
387 y 487.
• Los Intel a partir del 80486DX tienen su propio coprocesador
matemático integrado.
• En realidad, se puede llamar coprocesador matemático a otros
componentes que no son FPUs, pero igualmente descargan a la CPU
de realizar cálculos pesados:
* GPUs. * Tarjetas de sonido.
13
14. 4. Memoria Caché
• Memoria ultrarrápida de pequeña capacidad (8 KB a 16 MB) y muy
cara. Está entre la memoria principal y la CPU, mediante una conexión
en serie o en paralelo.
• Es una memoria inteligente que lee de memoria, bloques enteros que
predice que podrán ser necesitados por la CPU, antes de que ésta los
solicite.
• Fue necesario incorporarla a partir de que los procesadores
alcanzaron frecuencias superiores a 20MHz (386). Con el tiempo se
ha ido incrementando su capacidad, su velocidad y su arquitectura.
.
CPU L1 L2 L3 Memoria Principal
Transferencia de
Palabras
Transferencia
deBloques
14
15. Memoria Cache
• Las arquitecturas actuales incluyen hasta 3 niveles de
cache:
• Nivel 1: La más rápida pero más pequeña (64KB). La
primera que se consulta.
• Nivel 2: Compromiso entre velocidad y capacidad (hasta
512KB…).
• Nivel 3: Más lenta pero gran capacidad (hasta 16MB).
Físicamente externa.
15
16. Son memorias de almacenamiento temporal. Su número y
características varía de unos micros a otros. Por ejemplo en el
micro 8086 tenemos.
• Contador de programa.
•Acumulador
•Reg. de estado
•Reg. internos:
–de instrucciones,
–de direcciones,
–de datos.
•Reg. auxiliares: X , Y
•Reg. de pila SP.
5. Registros
16
17. ARQUITECTURA TÍPICA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR
Módulos
E/S
Convertidor A/D
CLK
Bus de datos
Bus de direcciones
Bus de control
SAL. DIGITALES
ENT. DIGITALES
SAL. ANALÓGICA
ENT. ANALÓGICA
MEMORIA
PROGRAMA
(ROM-EPROM-RAM)
MEMORIA
DATOS
(RAM)
UNIDAD
ARITMÉTICO
LÓGICA
(ALU)
REGISTROS
INTERNOS
UNIDAD
DE
CONTROL
U.C.P.
Convertidor D/AN líneas (D0-Dn-1)
m líneas (A0-Am-1)
17
18. • El 8086 y 8088 dispone de un bus de direcciones de 20 bits. Es capaz de direccionar
220 = 1024 K = 1M direcciones de memoria.
• Los primeros PC salen con 640 KB de memoria en 1980.
• En esta época era mucha memoria comparado con los ordenadores que había en el mercado. Se
consideró que sería suficiente.
• El PC tuvo demasiado éxito y se desarrolló mucho software que luego se quiso que los siguientes
procesadores fueran compatibles con el software.
• Esto ha hecho que el mapa de memoria del 8086 condicione todos los demás procesadores.
• Representación de las direcciones:
– con 20 dígitos binarios
– con 5 dígitos hexadecimales: desde 00000 hasta FFFFF.
ORGANIZACIÓN DE LA MEMORIA: FAMILIA 8086.
Memoria
convencional
(RAM)
RAM de video
Área
reservada
640K128K256K
A0000
9FFFF
00000
BFFFF
C0000
FFFFF
0 K
640 K
768 K
1024 K
Mapa de memoria del 8086
18
19. Vectores de interrupciones
640K
Memoria convencional
DOS
1K
Drivers
Command.com (shell)
Programas y datos
Programas TSR
• Vectores de interrupciones: punteros a drivers y software en ROM para usar
hardware.
• DOS: tamaño variable (versión y config.sys).
• Drivers: programas para que el S.O. use hardware. Los drivers se cargan en
el config.sys con “DEVICE=“. Importantes en mantenimiento.
• Command.com: shell o intérprete de comandos.
• TSR (Terminate and Stay Resident) programas residentes (doskey, antivirus,
cache disco, compresión de disco, protocolos de red). Ventajas e
inconvenientes.
• Programas de usuario (programas y datos): lo que queda hasta 640 KB.
• Compatibilidad con DOS exige respetar este mapa.
19
20. LA MEMORIA FISICA Y LOGICA
La Unidad de Interfaz con el Bus (BIU), además de
establecer la comunicación externa del procesador, es la
unidad de proceso que se encarga de traducir las
direcciones lógicas a direcciones físicas de la memoria
con ayuda de los registros de segmento DS, SS, ES, CS e
IP.
Desde el punto de vista del microprocesador, la memoria
esta organizada en una “ristra” de bytes en la que cada
uno ocupa una dirección concreta dentro de la ristra.
El valor que el micro sitúa en el AB en un momento
determinado se denomina dirección física (DF).
20
21. • Cada byte almacenado en la memoria se distingue de
cualquier otro porque ocupa o tiene asignado una
dirección lógica (DL). El micro trabaja con direcciones
lógicas.
• El tamaño del espacio de direccionamiento y su
organización dependen del numero de direcciones
lógicas y de líneas de los buses AB y DB:
• Un bus AB con n líneas identifica 2n direcciones físicas
diferentes.
• Un DB con mx8 líneas (m=1,2,4,8….) asigna m
direcciones lógicas a una dirección física.
• Espacio de direccionamiento = 2n x m.
21
22. Ejemplo:
Microprocesador con 16 líneas en bus de direcciones
y 8 líneas en el bus de datos (n =16 y m =1)
• Existen 216 = 65536 direcciones físicas.
• Cada dirección física tiene asignada una lógica (m=1) y
por cada dirección lógica existe un byte.
• Espacio de direccionamiento es de 16 Kbytes
22
23. Algunas cifras…..
Milisegundo = milésima de segundo
El tiempo de acceso de los HD suele ser de 10 a 20
milisegundos.
Nanosegundo = mil millonésima de segundo
El tiempo de acceso a RAM suele ser de 50 a 70
nanosegundos.
Micron (micrómetro) = millonésima de un metro
Los circuitos en los chips de una computadora suelen medirse
en micrones.
23
24. Las computadoras con mucha memoria principal
pueden correr programas más grandes con mayor
velocidad que las computadoras que tienen poca
memoria.
RAM es la sigla para nombrar a memoria de acceso
aleatorio. Esto significa que los contenidos pueden
ser accedidos directamente si se conoce su locación.
El cache es un tipo de memoria temporaria que
puede ser accedida más rapidamente que la RAM.
En síntesis….
24