Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos:
Repasar acerca de los componentes estructurales y funcionales
Comprender la interrelación de dichos componentes
Identificar buses, como medio de conexión de los componentes
Apreciar aspectos de diseño que afectan las interconexiones:
interrupciones.
1
Estructura y Funcionamiento
Organización funcional
• Funciones básicas de un computador:
– Procesamiento de datos
– Almacenamiento de datos (corto/largo plazo)
– Transferencias de datos (Entrada/salida.- Comunicación de datos).-
– Control ( De las tres anteriores- gestionar y dirigir por medio de
instrucciones)
• Número de operaciones posibles que pueden ser realizadas
es pequeño.
• Posibles operaciones de un computador (4)
4
Visión funcional de un computador
Recurso de
almacenamiento
de datos
Entorno Operativo
Sistema
Mecanismo
(Fuente y destino Transfere
de Control
ncia de
de datos datos
Recurso de
Procesamiento de
Datos
Operaciones (4)
• Las operaciones básicas pueden parecer absurdamente
generalizada, pero:
6
Estructura de una computadora
• Como se interconectan los componentes.
• El computador es una entidad que interactúa
con su entorno externo.
• Existen cuatro componentes estructurales
principales:
– Unidad Central de Procesamiento (procesador)
– Memoria Principal: almacena datos
– Entrada/Salida transfieren datos entre el computador
y el entorno externo
– Sistema de Interconexión: mecanismo de conexión
entre la CPU, la memoria y la E/S. 7
Peripherals Computer
Central Main
Processing Memory
Unit
Computer
Systems
Interconnection
Input
Output
Communication
lines
8
9
Sub-sistemas de un computador.
10
Sub-sistemas de un computador.
15
16
Componentes de un Computador (Esquema de dos niveles ) (II)
CPU: Se encarga del control. Intercambia datos con la memoria
–PC = Contador de Programa ó Program Counter.
Cuando un programa va a ser ejecutado, el PC contiene la dirección
de la 1era. instrucción. Alcanzada esta inst. el PC es incrementado
para apuntar a la siguiente instrucción.
–RI = Registro de instrucción
–MAR = Registro de dirección de memoria (especifica la dirección en
memoria de la próxima lectura o escritura)
–MBR = Registro de Buffer de Memoria (contiene el dato que se va a escribir en
memoria o donde se escribe el dato que se va a leer de memoria).
–E/S BR= Registro buffer de E/S (para intercambiar datos entre un módulo de
17
E/S y la CPU)
Función de la computadora ( 1 )
–Ejecutar programas
–El programa está compuesto de instrucciones almacenadas
en memoria
–La CPU procesa/ejecuta las instrucciones
–Debe traerlas desde memoria una por vez
–Debe cumplir cada operación ordenada
18
Ciclo de Instrucción
Función de la computadora ( 2 )
19
Ciclo de Instrucción
Función de la computadora ( 3 )
El procesamiento requerido para una sola instrucción se llama
ciclo de instrucción.
– Dos pasos:
ciclo de búsqueda y ciclo de ejecución
- La ejecución del programa se interrumpe sólo si la máquina
se apaga, hay un error ó una instrucción que interrumpa a la
computadora.
20
Ciclo de Instrucción
Ciclo de captación y ejecución ( 1 )
21
Ciclo de Instrucción
Ciclo de captación y ejecución ( 2 )
–Al principio de cada ciclo, la CPU capta una instrucción
de memoria.
–En la CPU hay un registro, llamado contador de
programa (PC), que tiene la dirección de la próxima
instrucción a captar.
22
Ciclo de captación y ejecución ( 3)
–La instrucción buscada se carga dentro de un registro de la
CPU, llamado registro de instrucción (IR).
23
25
27
Ejemplo (4):
28
Ejemplo: Paso 1
29
Ejemplo: Paso 1
AC
30
Ejemplo: Paso 2
31
Ejemplo: Paso 2
= AC
32
Ejemplo: Paso 3
33
Ejemplo: Paso 4
El 516 en IR indica que se debe sumar el contenido de
una dirección de memoria especificada, en este caso la
dirección es 94116, con el contenido del registro D y
almacenar el resultado en el registro AC (D).
34
Ejemplo: Paso 5
35
Ejemplo: Paso 6
36
Ciclo de instrucción
Con este ejemplo podemos ahora tener una visión
más detallada del ciclo de instrucción básico. El ciclo
de ejecución de una instrucción puede ocasionar mas
de una referencia a memoria.
Además, en lugar de referencias a memoria, una
instrucción puede referencia una operación de E/S.
La figura siguiente está en forma de diagrama de
estados.
Para cualquier ciclo de instrucción dado, algunos
estados pueden no estar y otros pueden repetirse.
37
Decodificación de la operación
de la instrucción
Operación con datos
39
40
Diagrama de estados (3)
4. Cálculo dirección operando (OAC): si la instrucción
implica una referencia a un operando en la memoria ó
e/s, entonces se determina la dirección del operando.
42
Ejemplo: ADD
Supongamos la siguiente instrucción :
43
44
ADD: paso a paso (2)
45
47
48
Paso a paso (5)
•En este paso si es necesario, calcula la dirección del
operando.
•Buscar los operandos.
•Sumar, Restar ….
•Almacenar el resultado.
49
Ejemplos adicionales
50
Ejemplo: Repensar el ejercicio anterior
Esta máquina hipotética tiene también dos
instrucciones de E/S.
0011 = Cargar AC desde E/S
0111 = Almacenar AC en E/S
En estos casos, la dirección de 12 bits indica un
dispositivo concreto de E/S.
1. Cargar AC desde el dispositivo 5
2.Sumar el contenido de la posición de memoria
940
3. Almacenar AC en el dispositivo 6.
Considerar que el siguiente valor obtenido desde el
dispositivo 5 es 3 y que la posición 940 almacena el51
valor 2.
Interrupciones (I)
Objetivo:
• Introducir el concepto de lo que es una interrupción.
•Facilitar la comprensión del ciclo de instrucción y los efectos de las
mismas en la estructura de interconexión.
Interrupciones (II)
• Mecanismo mediante el cual se puede
interrumpir el procesamiento normal de la CPU.
– Ejecución secuencial de instrucciones de un
programa
• Pueden ser de origen interno o externo a la
CPU.
¿Porqué Interrumpir?
• Por resultado de una ejecución de una instrucción.
– Ej: desbordamiento aritmético (“overflow”), división por cero, intento de
acceder fuera del espacio de memoria permitido al usuario
• Por un temporizador interno del procesador.
– Generadas por un temporizador interno al procesador. Ej Permite al S.O.
realizar ciertas funciones de manera regular.
• Por una operación de E/S.
– Generadas por un controlador de E/S: para indicar la finalización normal
de una operación o para avisar de ciertas condiciones de error.
• Por un fallo de hardware.
– Ej: error de paridad en la memoria, pérdida de energía o falta de
alimentación.
¿Porqué Interrumpir?
– Las interrupciones proporcionan una forma de mejorar la eficiencia del
procesador.
– Ej: La mayoría de los dispositivos externos son mucho mas lentos que el
procesador.
– Si el procesador esta transfiriendo datos a una impresora utilizando el
esquema del ciclo de instrucción
– Después de cada operación de escritura, el procesador permanece
ocioso hasta que la impresora termine su tarea.
– La longitud de esta pausa puede ser del orden de muchos cientos o
incluso miles de ciclos de instrucción que no implican acceso a memoria,
esto supone un derroche de CPU.
– Si se utilizan interrupciones el procesador puede dedicarse a ejecutar
otras instrucciones mientras una operación de E/S está en curso.
Interrupciones
• Proporcionan una forma de mejorar la eficiencia del procesador.
• Ej.: los dispositivos externos son mucho mas lentos qe el
procesador
• El procesador está transfiriendo datos a una impresora basado
en el ciclo de instrucción.
• Después de cada operación de escritura, el procesador queda
ocioso hasta que se complete la escritura.
• Esta pausa puede ser del orden de cientos o incluso miles de
ciclos de instrucción que no implican acceso a memoria.
• Esto supone un derroche en el procesador.
Ciclo de instrucción e interrupciones
Para permitir el uso de interrupciones resultan:
Tres pasos:
• Captación
• Ejecución
• Gestión de interrupciones
• Figura a)
• Los segmentos de código 1,2 y 3 corresponden a
instrucciones que no ocasionan operaciones de E/S
• Las llamadas de escritura (WRITE) corresponden a llamadas a un
programa de E/S, que es una de las utilidades del S.O.
• El programa de E/S esta formado por:
• Una secuencia de instrucciones (4) , de preparación para la
operación ( copia del dato en un buffer, preparar los parámetros
del control del dispositivo de E/S.
• La orden de E/S propiamente dicha. El programa debe esperar a
que el dispositivo de E/S complete la operación requerida.
Comprobaría repetidamente una condición que indique su fin
• Una secuencia de instrucciones, (5), que terminan la operación
de E/S. Ej.: Activación de un flag, que indique si se ha concluido o
no con errores.
• El programa de usuario está parado en las llamadas Write un
tiempo considerable 63
Interrupción inhabilitada.
Escenario de trabajo
• El procesador tiene una única entrada de pedido
de interrupciones.
• Si tenemos varios productores de interrupciones
¿Cómo lo solucionamos?
– Dispositivo controlador de interrupciones (PIC)
Conexionado
Estructuras de interconexión.(I)
PC: conjunto de módulos o unidades elementales
Deben existir líneas para interconectar esos módulos
El diseño de la estructura de interconexión dependerá
de los intercambios que deban producirse
Tipos de intercambio de datos según tipo de módulo:
•Memoria: Constituida por N palabras de igual
longitud. Cada una con 1 dirección única. Una palabra
puede leerse o escribirse en memoria.
El tipo de operación se indica mediante señales: Read (
leer ) y Write ( escribir).
La posición de memoria para la operación se especifica
mediante una dirección. 78
Módulos de un computador
79
Estructuras de interconexión.(II)
Módulo de E/S: es funcionalmente parecida a
la memoria. Dos operaciones ( leer y escribir).
•Puede controlar más de un dispositivo externo
•Interfaces con un disp. externo= puerto (port)
•Cada uno con una dirección (0,1,.. M-1)
•Existen líneas externas de datos para la
entrada y la salida de datos por un dispositivo
externo.
•Puede enviar señales de interrupción al
procesador
80
Estructuras de interconexión.(III)
Procesador:
•Lee instrucciones y datos
•Escribe datos una vez procesados
•Utiliza señales para controlar el funcionamiento
del sistema.
•Puede recibir señales de interrupción.
81
84
Interconexión con buses .(III)
Líneas de datos: Constituye el bus de datos.
Puede incluir entre 32 y cientos de líneas.
Cada línea sólo puede transportar un bit a la
vez
Anchura del bus: factor clave a la hora de
determinar las prestaciones del sistema.
Si el bus de datos tiene 8 líneas y las
instrucciones son de 16 bits, que hace el
procesador cuando accede al módulo de
memoria???
85
90
Jerarquía de buses múltiples.
Si se conectan demasiados dispositivos al bus-> disminuyen las
prestaciones:
1. A mayor nro de dispositivos mayor retardo de propagación.
Retardo: tiempo que necesitan los dispositivos para coordinarse
en el uso del bus. Si el control pasa de un dispositivo a otro
frecuentemente esto afecta las prestaciones.
2. Cuello de botella: Si las peticiones de transferencia
acumuladas se aproximan a la capacidad del bus-> se
incrementa la anchura del bus y hasta cierto punto su
velocidad, pero la velocidad que necesitan los dispositivos
aumenta también ( -> Bus único esta destinado a dejar de
utilizarse.
3. La mayoría de los computadores utilizan varios buses,
organizados jerárquicamente. 91
93
94
Elementos de diseño de un bus
Tipo Anchura del bus:
Dedicado – Multiplexado Dirección
Método de arbitraje: Datos
Centralizado – Distribuido Tipo de transferencia de datos
Temporización: Lectura
Asíncrono - Síncrono Escritura
Lectura – Modificación-Escritura
Lectura – después de escritura-
Bloque
95
96
Problema ejemplo
• Considere un hipotético microprocesador de 32 bits cuyas
instrucciones de 32 bits están compuestas por dos campos: el primer
byte contiene el codop y los restantes un operando inmediato o una
dirección de operando.
• a) Cual es la máxima capacidad de memoria ( en bytes) direccionable
directamente?
• b) Discuta el impacto que se produciría en la velocidad del sistema si el
microprocesador tiene :
• 1.- Un bus de dirección local de 32 bits y un bus de datos local de 16
bits,
• 2.- Un bus de dirección local de 16 bits y un bus de datos local de 16
bits.
• c) Cuantos bits necesitan el contador de programa y el registro de
97
instrucción?.
99