Publicado el 14 de Enero del 2021
382 visualizaciones desde el 14 de Enero del 2021
1,1 MB
14 paginas
Creado hace 22a (05/11/2002)
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)
FIG 1.4. Evolución de la informática
1947 Efecto transistor
1964 Lenguaje BASIC
1967 Primer disco magnético
1971 Primer µP en un solo C.I.
1974 Primer S.O. (CP/M)
1975 Nacimiento Micro-Soft
1981 MS-DOS
1985 Windows
FIG 1.5. Arquitectura de Von Neumann
FIG 1.6. Flujo de la información
FIG 1.9. Juego de instrucciones
FIG 1.7. Buses del sistema
FIG 1.8. Arquitectura de Símplez
FIG 1.10. Ejemplos de programas para Símplez
Estructura de la CPU
Computador
E/S
Bus del
sistema
CPU
Memoria
CPU
Registros
Unidad
aritmético-
lógica
Interconexión
interna de la
CPU
Unidad de
control
Estructura de la unidad de control
Unidad de Control
CPU
ALU
Bus
interno
Registros
Unidad
de
control
Unidad de control
Lógica
secuencial
Registros y
decodificadores de
la unidad de control
Memoria
de control
Instrucción
=
Registro de Instrucciones
Código
de
Operación
+
Modo
de
Direccionamiento
+
Campo
de
Direcciones
Unidad Aritmético-Lógica: ALU
C.O.
M.D.
C.D.
Estructura de la máquina de von
Neumann
Equipos de E/S
Unidad aritmético-
lógica
Unidad de control
de programa
Memoria
principal
Descripción General
Concepto del programa
• Los sistemas cableados no son flexibles.
• El harware de uso general puede realizar
distintas funciones, según las señales de
control aplicadas.
• En lugar de configurar el hardware, se
proporciona un nuevo conjunto de señales
de control.
Componentes del computador:
esquema de dos niveles
PC
IR
CPU
MAR
MBR
E/S AR
E/S BR
Módulo de E/S
Memoria
Instrucción
Instrucción
Instrucción
Datos
Datos
Datos
Datos
PC = Contador de programa
IR = Registro de instrucción
MAR = Registro de dirección de memoria
MBR = Registro de buffer de memoria
E/S AR = Registro de dirección de E / S
E/S BR = Registro buffer de E / S
Registros
Ciclo de instrucción básico
• Dos pasos:
– Fetch (Captación)
– Execute (Ejecución)
Ciclo fetch
Ciclo execute
INICIO
Captar la
siguiente
instrucción
Ejecutar la
instrucción
PARADA
Ciclo fetch
• El contador de programa (PC) contiene la dirección
de la instrucción que se debe captar a continuación.
• El procesador capta la instrucción que indica el PC
desde la memoria.
• El registro PC se incrementa,
– a no ser que se indique lo contrario.
• Esta instrucción se carga en el registro de instrucción
(IR).
• El procesador interpreta la instrucción y lleva a cabo
la acción requerida.
Ejemplo de ejecución
300
301
302
940
941
300
301
302
940
941
Memoria
1940
5941
2941
0003
0002
Memoria
1940
5941
2941
0003
0002
Paso 1
Paso 3
300
301
302
940
941
Memoria
1940
5941
2941
0003
0002
Paso 5
Registros de la CPU
300
1940
PC
AC
IR
Registros de la CPU
300
0003
5941
PC
AC
IR
Registros de la CPU
302
0005
2941
PC
AC
IR
300
301
302
940
941
300
301
302
940
941
Memoria
1940
5941
2941
0003
0002
Memoria
1940
5941
2941
0003
0002
Paso 2
Paso 4
300
301
302
940
941
Memoria
1940
5941
2941
0003
0002
Paso 6
Registros de la CPU
300
0003
1940
Registros de la CPU
301
0005
5941
PC
AC
IR
PC
AC
IR
316 + 216 = 516
Registros de la CPU
302
0005
2941
PC
AC
IR
Ciclo execute
• Procesador- memoria
– Transferencia de datos desde la CPU a la memoria.
• Procesador-E/S
– Transferencias de datos entre la CPU y un módulo
E/S.
de
• Procesamiento de datos
– Realización de alguna operación aritmética o lógica con los
datos.
• Control
– Alteración de la secuencia de ejecución.
– Ejemplo: la instrucción de salto
• Combinación de estas acciones
Interrupciones
• Mecanismo mediante el que otros módulos
(Ejemplo: E/S) pueden interrumpir el
procesamiento normal de la CPU.
• Programa
– Ejemplo: desbordamiento aritmético (“overflow”), división
por cero
• Temporización
– Generadas por un temporizador interno al procesador.
– Permite realizar ciertas funciones de manera regular.
• E/S
– Generadas por un controlador E/S.
• 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
Orden de
E/S
Orden de
E/S
Programa
de E/S
Orden de
E/S
Gestor de
interrupción
Gestor de
interrupción
(a) Sin interrupción
(b) Interrupción, espera de E/S corta
( c) Interrupción, espera de E/S larga
Interrupciones múltiples
• Interrupciones inhabilitadas
– El procesador puede y debe ignorar la señal de
petición de interrupción si se produce una interrupción
en ese momento.
– La interrupción se mantiene pendiente y se examinará
una vez se haya activado la primera interrupción.
– Las interrupciones se manejan en un orden secuencial
estricto.
• Definir prioridades
– Una interrupción de prioridad más alta puede
interrumpir a un gestor de interrupción de prioridad
menor.
– Cuando se ha generado la interrupción de prioridad
más alta, el procesador vuelve a la interrupción previa.
Ciclo de interrupción
• Añadido al ciclo de instrucción.
• El procesador comprueba si se ha generado alguna
interrupción,
– indicada por la presencia de una señal de interrupción.
• Si no hay señales de interrupción, capta la siguiente
instrucción.
• Si hay alguna interrupción pendiente:
– Se suspende la ejecución del programa en curso
– Guarda su contexto
– Carga el PC con la dirección de comienzo de una rutina de
gestión de interrupción
– Proceso interrumpido
– Volver a almacenar el contexto y continuar con el programa
interrumpido
Buses
• Existe una serie de sistemas de interconexión.
• Las estructuras sencillas y múltiples son las más
comunes.
• Ejemplo: control/dirección/bus de datos (PC)
• Es un medio de transmisión entre dos o más
dispositivos.
• Suele constituirse en grupos:
– Un bus está constituido por varios caminos de
comunicación, o líneas.
– Ejemplo: un dato de 8 bits puede transmitirse mediante
ocho líneas del bus
Bus de datos
• Transmite datos.
– A este nivel no existe diferencia alguna entre
“datos” y “instrucciones”.
• La anchura del bus es un factor clave a la
hora de determinar las prestaciones.
– 8, 16, 32, 64 bits.
Bus de control
• Información sobre señales de control y
sobre temporización:
– Señal de escritura/lectura en memoria.
– Petición de interrupción.
– Señales de reloj.
Bus de dirección
• 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 máxima
capacidad de memoria posible en el sistema.
– Ejemplo: 8080 tiene un bus de dirección de 16 bits, lo
que supone 64k de espacio para direcciones
Esquema de interconexión
mediante un bus
CPU
Memoria
Memoria
E/S
E/S
Líneas de control
Líneas de dirección
Líneas de datos
Bus
Tipos de buses
• Dedicados
– Uso de líneas separadas para direcciones y para datos.
• Multiplexados
– Uso de las mismas líneas.
– Línea de control de dirección válida o de datos válida.
– Ventaja: uso de menos líneas.
– Desventajas:
• Se necesita una circuitería más compleja.
• Posible reducción de las prestaciones.
Memoria Principal - Organización Interna
Arquitectura de bus tradicional
Procesador
Cache
Bus local
Memoria
principal
Red
Controlador
local de E/S
Bus del sistema
SCSI
Interfaz con el
bus de
expansión
Modem
Serie
Bus de expansión
Jerarquía 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
Direccionamiento cableado
en dos direcciones
Direccionamiento cableado
en tres direcciones
Organización
• Un chip de 16Mbits podría 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 número de terminales de dirección.
• Direccionamiento de filas y de columna multiplexado.
• 11 terminales de dirección (211=2.048).
• Una terminal más duplica el rango de los valores, así que la
capacidad se multiplica por cuatro.
DRAM típica de 16 Mb (4M x 4)
Cache
Temporización y control
Deco-
difica-
dor
de
filas
Matriz
de memoria
(2048 x 2048 x 4)
Amplificadores
de lectura
y puerto de E/S
Descodificador
de columnas
• Cantidad pequeña de memoria rápida.
• Está entre la memoria principal normal y la CPU.
• Puede localizarse en el chip o módulo de la CPU.
Transferencia de palabras
Transferencia de bloques
Memoria
principal
Buffer
de entrada
de datos
Buffer
de salida
de datos
Contador
de
refresco
Buffer de
direcciones
de filas
Buffer de
direcciones
de columnas
Operación de la cache
• La CPU solicita contenidos de la localización de
memoria.
• Comprueba la cache para estos datos.
• Si está, la obtiene de la cache (rápidamente).
• Si no está, lee el bloque requerido a partir de la
memoria principal hasta la cache.
• Después, 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.
E/S programada
• La CPU tiene control directo sobre la E/S
– Comprobación del estado del dispositivo
– Órdenes de lectura/escritura
– Transferencia de datos
• La CPU espera a que el módulo E/S acabe
la operación
• Hace perder
Comentarios de: Arquitectura de los sistemas basados en Microprocesador (0)
No hay comentarios