View
224
Download
0
Embed Size (px)
Citation preview
Vista de Alto Nivel del Funcionamiento del
Computador
Interconectividad
Del capítulo 3 del libro
“Organización y Arquitectura de Computadores” William Stallings
Concepto de Programa
Sistemas “cableados” son poco flexibles
Hardware de propósito general puede realizar diferentes tareas con las señales de control apropiadas
En vez de “re-cablear”, suministrar un nuevo conjunto de señales de control
¿Qué es un programa?
Una secuencia de pasos
En cada paso, se realiza una operación aritmética o lógica
Para cada operación, se necesita un conjunto diferente de señales de control
Unidad de control
Para cada operación, se tiene un código único
Ejemplo: ADD, MOVE
Un módulo hardware “lee” el código y genera las señales de control apropiadas
¡Esto es un computador!
Componentes
Unidad de Control y Unidad Aritmético-Lógica constituyen la CPU
Instrucciones y datos se tienen que introducir en el sistema y los resultados “salir” de él
Entrada/Salida
Se necesita almacenar las instrucciones y los datos
Memoria
ComponentesTop Level View
Ciclo de Instrucción
Dos pasos:
Captura (“Fetch”)
Ejecución
Ciclo de captura o búsqueda
El Contador de Programa (Program Counter, PC) mantiene la dirección de la próxima instrucción que tiene que capturar
El procesador “captura” la instrucción desde la posición de memoria a la que apunta el PC
Se incrementa el PC
A menos que se diga otra cosa (condiciones de salto)
Se carga la instrucción en el Registro de Instrucción (Instruction Register, IR)
El procesador “interpreta” la instrucción y realiza las acciones requeridas para su ejecución
Ciclo de ejecución
Procesador-memoria
Transferencia de datos entre la CPU y la memoria
Procesador-I/O
Transferencia de datos entre la CPU y el módulo de I/O
Procesado de datos
Se realiza alguna operación aritmética o lógica sobre datos
Control
Se altera la secuencia de operaciones
Ejemplo: salto
Alguna combinación de las anteriores
Ejemplo de ejecución de un programa
Conectividad
Todas las unidades deben estar conectadas
Diferentes tipos de conexión para diferentes tipos de unidades
Memoria
Entrada/Salida
CPU
Módulos del Computador
Conexionado de Memoria
Recibe y envía “datos”
Recibe “direcciones” (de localizaciones de datos)
Recibe “señales de control”
Read
Write
Conexionado I/O (I)
Similar a la memoria (desde el punto de vista del procesador)
Input
Recibe “datos” desde el periférico
Envía “datos” al procesador
Output
Recibe “datos” desde el procesador
Envía “datos” al periférico
Conexionado I/O (II)
Recibe “señales de control” desde el procesador
Envía “señales de control” a los periféricos
Recibe “direcciones” desde el procesador
Ejemplo: número de puerto para identificar al periférico
Envía “señales de control” al procesador (interrupciones)
Conexionado CPU
Lee (recibe) “instrucciones” y “datos”
Escribe (envía) “datos” de salida (después de procesados)
Envía “señales de control” a las otras unidades
Recibe (y actúa) “señales de control” (interrupciones)
Buses
Hay un determinado número de sistemas que se pueden interconectar
Las estructuras de buses sencillas y múltiples son las más habituales
Ejemplo: Bus de Control / Dirección / Datos
¿Qué es un Bus?
Un camino de comunicación conectando dos o más dispositivos
Las líneas de alimentación no se consideran buses
Bus de datos
Lleva “datos”
Ojo, no hay diferencia entre “datos” e “instrucciones” a este nivel
La “anchura” es clave para determinar las prestaciones del sistema
8, 16, 32, 64 bit
Bus de direccionesNecesidad de identificar el origen y el
destino de los datos
Ejemplo: la CPU necesita leer una instrucción (datos) desde una determinada posición de memoria
La anchura del bus determina la máxima capacidad de memoria del sistema
Ejemplo: el 8080 tiene un bus de direcciones de 16 bits lo que significa un espacio de direcciones de 64k
Bus de control
Información de control y temporización
Señales read/write de la memoria
Interrupciones
Señales de reloj
Esquema de Interconexión
Buses “físicos”
¿Cómo son los buses?
Líneas paralelas en las placas de circuito impreso
Cable plano
Conectores paralelos en las placas madreEjemplo: PCI
En general, conjunto de hilos
Arquitectura de Bus