Vous êtes sur la page 1sur 14

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

Historia Bloques funcionales Dimensionamiento Estructura CPU Concepto de programa Interrupciones Buses Memoria Entrada / Salida Ejemplo de arquitectura: Intel8086 Ejemplo de sistema basado en P: PC

FIG 1.1. Babbage (1791-1871 )

FIG 1.2. Hollerith (1860-1929)

FIG 1.3. Von Neumann (1903 1957)

1947 1964 1967 1971 1974 1975 1981 1985

Efecto transistor Lenguaje BASIC Primer disco magntico Primer P en un solo C.I. Primer S.O. (CP/M) Nacimiento Micro-Soft MS-DOS Windows

FIG 1.4. Evolucin de la informtica

FIG 1.5. Arquitectura de Von Neumann

FIG 1.9. Juego de instruccione FIG 1.6. Flujo de la informacin

FIG 1.7. Buses del sistema FIG 1.8. Arquitectura de Smplez

Estructura de la CPU
FIG 1.10. Ejemplos de programas para Smplez CPU
Computador
E/S Bus del sistema Memoria CPU

Registros

Unidad aritmticolgica

Interconexin interna de la CPU Unidad de control

Unidad de Control

Estructura de la unidad de control


Unidad de control
CPU
ALU Unidad Bus de interno control

Lgica secuencial
Registros y decodificadores de la unidad de control

Registros

Registro de Instrucciones
Memoria de control
Instruccin = Cdigo de Operacin
C.O.

Modo de Direccionamiento
M.D.

Campo de Direcciones
C.D.

Unidad Aritmtico-Lgica: ALU

Estructura de la mquina de von Neumann


Unidad aritmticolgica Equipos de E/S Memoria principal

Unidad de control de programa

Descripcin General

Componentes del computador: esquema de dos niveles


CPU PC IR MAR MBR E/S AR E/S BR Mdulo de E/S
Instruccin Instruccin Instruccin

Memoria

Datos Datos Datos Datos

PC IR MAR MBR

= Contador de programa = Registro de instruccin = Registro de direccin de memoria = Registro de buffer de memoria

Registros

E/S AR = Registro de direccin de E / S E/S BR = Registro buffer de E / S

Concepto del programa


Los sistemas cableados no son flexibles. El harware de uso general puede realizar distintas funciones, segn las seales de control aplicadas. En lugar de configurar el hardware, se proporciona un nuevo conjunto de seales de control.

Ciclo de instruccin bsico


Dos pasos:
Fetch (Captacin) Execute (Ejecucin)
Ciclo fetch Ciclo execute

INICIO

Captar la siguiente instruccin

Ejecutar la instruccin

PARADA

Ciclo fetch
El contador de programa (PC) contiene la direccin de la instruccin que se debe captar a continuacin. El procesador capta la instruccin que indica el PC desde la memoria. El registro PC se incrementa,
a no ser que se indique lo contrario.

Ciclo execute
Procesador- memoria
Transferencia de datos desde la CPU a la memoria.

Procesador-E/S
Transferencias de datos entre la CPU y un mdulo E/S. de

Procesamiento de datos
Realizacin de alguna operacin aritmtica o lgica con los datos.

Esta instruccin se carga en el registro de instruccin (IR). El procesador interpreta la instruccin y lleva a cabo la accin requerida.

Control
Alteracin de la secuencia de ejecucin. Ejemplo: la instruccin de salto

Combinacin de estas acciones

Interrupciones Ejemplo de ejecucin


Memoria 300 301 302 Registros de la CPU Memoria PC AC 300 301 302 Registros de la CPU

1940 5941 2941 0003 0002

300

1940 5941 2941 0003 0002

300 0003 1940

PC AC IR

1940

IR

940 Paso 1 941

940 Paso 2 941

Mecanismo mediante el que otros mdulos (Ejemplo: E/S) pueden interrumpir el procesamiento normal de la CPU. Programa
Ejemplo: desbordamiento aritmtico (overflow), divisin por cero

Memoria 300 301 302

Registros de la CPU

Memoria PC AC IR 300 301 302

Registros de la CPU

1940 5941 2941 0003 0002


Memoria

300 0003 5941

1940 5941 2941 0003 0002


Memoria

301 0005 5941

PC AC IR

Temporizacin
Generadas por un temporizador interno al procesador. Permite realizar ciertas funciones de manera regular.

940 Paso 3 941

940 Paso 4 941

316 + 216 = 516

Registros de la CPU

Registros de la CPU

300 301 302

1940 5941 2941 0003 0002

302 0005 2941

PC AC IR

300 301 302 940 Paso 6 941

1940 5941 2941 0003 0002

302 0005 2941

PC AC IR

E/S
Generadas por un controlador E/S.

940 Paso 5 941

Fallo de hardware
Ejemplo: error de paridad en la memoria

Flujo de control de un programa


Programa de usuario Programa de E/S Programa de usuario Programa de E/S Programa de usuario Programa de E/S Orden de E/S Orden de E/S Orden de E/S

Ciclo de interrupcin
Aadido al ciclo de instruccin. El procesador comprueba si se ha generado alguna interrupcin,
indicada por la presencia de una seal de interrupcin.

Gestor de interrupcin

Gestor de interrupcin

Si no hay seales de interrupcin, capta la siguiente instruccin. Si hay alguna interrupcin pendiente:
Se suspende la ejecucin del programa en curso Guarda su contexto Carga el PC con la direccin de comienzo de una rutina de gestin de interrupcin Proceso interrumpido Volver a almacenar el contexto y continuar con el programa interrumpido

(a) Sin interrupcin

(b) Interrupcin, espera de E/S corta

( c) Interrupcin, espera de E/S larga

Interrupciones mltiples
Interrupciones inhabilitadas
El procesador puede y debe ignorar la seal de peticin de interrupcin si se produce una interrupcin en ese momento. La interrupcin se mantiene pendiente y se examinar una vez se haya activado la primera interrupcin. Las interrupciones se manejan en un orden secuencial estricto.

Buses
Existe una serie de sistemas de interconexin. Las estructuras sencillas y mltiples son las ms comunes. Ejemplo: control/direccin/bus de datos (PC) Es un medio de transmisin entre dos o ms dispositivos. Suele constituirse en grupos:
Un bus est constituido por varios caminos de comunicacin, o lneas. Ejemplo: un dato de 8 bits puede transmitirse mediante ocho lneas del bus

Definir prioridades
Una interrupcin de prioridad ms alta puede interrumpir a un gestor de interrupcin de prioridad menor. Cuando se ha generado la interrupcin de prioridad ms alta, el procesador vuelve a la interrupcin previa.

Bus de datos
Transmite datos.
A este nivel no existe diferencia alguna entre datos y instrucciones.

Bus de direccin
Designa la fuente o destino del dato. Ejemplo: cuando el procesador desea leer una palabra (datos) de una determinada parte en la memoria. La anchura del bus determina la mxima capacidad de memoria posible en el sistema.
Ejemplo: 8080 tiene un bus de direccin de 16 bits, lo que supone 64k de espacio para direcciones

La anchura del bus es un factor clave a la hora de determinar las prestaciones.


8, 16, 32, 64 bits.

Bus de control
Informacin sobre seales de control y sobre temporizacin:
Seal de escritura/lectura en memoria. Peticin de interrupcin. Seales de reloj.
CPU

Esquema de interconexin mediante un bus


E/S

Memoria

Memoria

E/S

Lneas de control Lneas de direccin Lneas de datos

Bus

Arquitectura de bus tradicional


Bus local

Tipos de buses
Dedicados
Uso de lneas separadas para direcciones y para datos.

Procesador

Cache

Controlador local de E/S Memoria principal


Bus del sistema

Multiplexados
Uso de las mismas lneas. Lnea de control de direccin vlida o de datos vlida. Ventaja: uso de menos lneas. Desventajas:
Se necesita una circuitera ms compleja. Posible reduccin de las prestaciones.

Red SCSI

Interfaz con el bus de expansin

Serie Modem

Bus de expansin

Memoria Principal - Organizacin Interna

Jerarqua de memoria
Registros Cache nivel 1 Cache nivel 2 Memoria principal Cache de disco Disco Memoria ptica Cintas
Registros

Memoria interna o principal

Memoria externa

Memoria Principal - Direccionamiento

Organizacin
Un chip de 16Mbits podra estar estructurado en 1 Mpalabras de 16 bits. Un sistema de un bit por chip tiene 16 lotes de un chip de 1 Mbits, por lo que por cada chip corresponde 1bit de cada palabra y as, sucesivamente. Un chip de 16 Mbits puede estar estructurado en cuatro matrices cuadradas de 2048 x 2048 elementos. Reduce el nmero de terminales de direccin.
Direccionamiento de filas y de columna multiplexado. 11 terminales de direccin (211=2.048). Una terminal ms duplica el rango de los valores, as que la capacidad se multiplica por cuatro.

Direccionamiento cableado en dos direcciones

Direccionamiento cableado en tres direcciones

DRAM tpica de 16 Mb (4M x 4)


Temporizacin y control

Cache
Cantidad pequea de memoria rpida. Est entre la memoria principal normal y la CPU. Puede localizarse en el chip o mdulo de la CPU.
Transferencia de bloques Transferencia de palabras

Contador de refresco

Buffer de direcciones de filas

Decodificador de filas

Matriz de memoria (2048 x 2048 x 4)

Buffer de direcciones de columnas

Amplificadores de lectura y puerto de E/S Descodificador de columnas

Buffer de entrada de datos Buffer de salida de datos

Memoria principal

Operacin de la cache
La CPU solicita contenidos de la localizacin de memoria. Comprueba la cache para estos datos. Si est, la obtiene de la cache (rpidamente). Si no est, lee el bloque requerido a partir de la memoria principal hasta la cache. Despus, de la cache los entrega a la CPU. La cache incluye etiquetas para identificar qu bloque de la memoria principal est en cada ranura de la cache.

Tcnicas de E/S
Programada Mediante interrupciones Acesso directo a memoria (DMA)

E/S programada
La CPU tiene control directo sobre la E/S
Comprobacin del estado del dispositivo rdenes de lectura/escritura Transferencia de datos

E/S mediante interrupciones


La CPU no tiene que esperar. No se repite la comprobacin del sistema. El mdulo E/S enva una interrupcin cuando est listo.

La CPU espera a que el mdulo E/S acabe la operacin Hace perder tiempo a la CPU

Identificacin del mdulo que interrumpe (1)


Diferentes lneas para cada mdulo
PC Limita el nmero de dispositivos

Identificacin del mdulo que interrumpe (2)


Conexin en cadena o consulta hardware
La lnea de reconocimiento de interrupcin se conecta encadenando los mdulos. El mdulo que responde coloca un vector en el bus. La CPU emplea el vector para identificar la rutina de servicio.

Consulta software
La CPU consulta a cada mdulo Resulta lenta

Arbitraje de bus
El mdulo debe disponer del control del bus antes de lograr la interrupcin. Ej: bus PCI y puerto SCSI

Ejemplo: bus de PC
El 80386 tiene slo una lnea de peticin de interrupcin. Los sistemas basados en el 80386 emplean un rbitro de interrupciones 82C59A. El 82C59A tiene 8 lneas de interrupcin.

Secuencia de acontecimientos
El 8259A acepta la interrupcin. El 8259A determina la prioridad. El 8259A activa la seal 8086 (sita la seal INTR en la lnea adecuada). El procesador reconoce la seal. El 8259A coloca el vector apropiado en el bus de datos. El procesador procesa la interrupcin.

Diseo de interrupcin del PC


8259A IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 8086

Acceso directo a memoria


La E/S programada y con interupciones necesita la intervencin directa de la CPU.
La velocidad de transferencia es limitada. La CPU permanece ocupada mucho tiempo.

INTR

El DMA es la solucin.

Funcionamiento del DMA


Requiere un mdulo adicional (hardware) en el bus. El mdulo del DMA obtiene el control de la CPU para transferir datos.

Mecanismo del DMA


La CPU envia una orden al mdulo de DMA:
Lectura/Escritura Direccin del dispositivo Direccin inicial de memoria para datos Cantidad de datos que hay que transferir

La CPU continua con otro trabajo. El mdulo del DMA realiza la transferencia. El mdulo del DMA enva una seal de interrupcin cuando ha acabado.

Intel 8086

PC

Vous aimerez peut-être aussi