Download - Organización y arquitectura de computadores
Organización y arquitectura de computadores
Ing. Carlos A. Arenas C.
• Atributos de un sistema que son visibles al programador
• Instrucciones, numero de bits, mecanismos E/S y técnicas de direccionamiento
Arquitectura
• Son las unidades funcionales y sus interconexiones
• Señales de control, interfaces computador periféricos, tecnología de memorias
Organización
Ejemplo
Sumar
Sumar
Multiplicar
Jerarquía
Un sistema jerárquico es un conjunto de subsistemas interrelacionados cada uno de los cuales, a su vez, se organiza en una estructura jerárquica hasta que se alcanza un nivel mas bajo del subsistema elemental.
De cada nivel al diseñador le importan la estructura y el funcionamiento
Estructura: El modo en que los componentes están interrelacionadosFuncionamiento: La operación de cada componente individual como parte de la estructura.
Funcionamiento
Las funciones básicas que un computador puede llevar a cabo son:
• Procesamiento de datos• Almacenamiento de datos• Transferencia de datos• Control
Estructura
Los cuatro componentes estructurales principales son:
CPU
MEM
CPU
E/S
BUS SIST
Registros ALU
Unidad de control
Bus interno
Unidad de control
REG
UNI CONT
ALU
BUS INT
Lógica secuencial
Memoria de control
Reg y deco de la unidad
central
La maquina de Von Neuman
La estructura general del computador IAS consta de:
• Una memoria principal que almacena tanto datos como instrucciones
• Una unidad lógico aritmética capaz de hacer operaciones con datos binarios
• Una unidad de control que interpreta las instrucciones en memoria y provoca su ejecución
• Un equipo de entrada salida dirigido por la unidad de control
Memoria principal
ALU
Unidad de control de programa
Equipos de E/S
Operación del IAS• La memoria del IAS consiste en 1000 posiciones de almacenamiento,
llamadas palabras de 40 dígitos cada una.
Segunda generación
Se caracterizo por el uso del transistor en reemplazo de los tubos de vacío aumentando la velocidad, mayor capacidad de memoria y de menor tamaño.
Tamaño de la memoria: creció de 2K a 32K palabrasTiempo de acceso a memoria: Cayó de 30 us a 1.4 usNúmero de códigos de operación: Creció de 24 a 185
Configuración del IBM 7094
Tercera generación
Esta se caracteriza por la implementación de los circuitos integrados
Ley de MooreEl número de transistores que se podían integrar en un solo chip se duplicaba cada año
• El precio de un chip ha permanecido prácticamente invariable a través de este periodo de rápido crecimiento en densidad.
• Ya que los elementos de la lógica y la memoria están más próximos en chips más densamente encapsulados, la longitud de las interconexiones eléctricas ha disminuido, incrementándose así la velocidad operativa.
• El computador es mas pequeño• Hay una reducción de las necesidades de potencia y refrigeración• Las interconexiones de CI son mucho mas fiables que las conexiones
soldadas.
El sistema 360
Fue la primera familia de computadores que se planeo. Los distintos modelos eran compatibles en el sentido de que un programa escrito para un modelo, tenia que ser capaz de ser ejecutado por otro modelo de la serie.
Las características de una familia son:• Conjunto de instrucciones similar o identico.• Sistemas operativos similares o identicos.• Velocidad creciente• Número creciente de puertos de E/S• Tamaño de memoria creciente• Coste creciente
Concepto de familia
Las diferencias se basan en tres factores:• Velocidad básica• Tamaño• Grado de simultaneidad
DEC PDP-8
Este computador era lo bastante pequeño para ser colocado en lo alto de una mesa de laboratorio. (minicomputador).
Estos utilizaban la estructura de bus llamado Omnibus. Este consiste en 96 hilos conductores separados, usados para control, direccionamiento y datos.
Memoria semiconductora
Las primeras memorias se hacían con anillos de material ferromagnético.
En 1970, Fairchild produjo la primera memoria semiconductora con relativa capacidad. Podía tener 256 bits de memoria.
Microprocesadores
El 4004 de Intel contenía todos los componentes de la CPU en un solo chip. Podía sumar dos números de 4 bits y multiplicar solo con sumas sucesivas.
El 8008 fue el primer microprocesador de ocho bits.
El 8080 fue el primer microprocesador de uso general. 8 Bits, mas instrucciones, mas rápido y alta capacidad de direccionamiento.
Microprocesadores
El 8086 fue un microprocesador de 16 bits.
El 80386 fue un microprocesador de 32 bits.
Velocidad del procesador
Entre las técnicas incorporadas a los procesadores de hoy en día están:
Predicción de ramificación: El procesador se anticipa al software y predice que ramas o grupos de instrucciones se van a procesar después con mayor probabilidad. Si el procesador acierta la mayoría de veces, puede precaptar las instrucciones correctas y almacenarlas para mantener al procesador ocupado.
Velocidad del procesador
Análisis del flujo de datos: El procesador analiza que instrucciones dependen de los resultados de otras instrucciones, o datos, para crear una organización optimizada de instrucciones.
Ejecución especulativa: Utilizando la predicción de ramificación y el análisis de flujo de datos, algunos procesadores ejecutan especulativamente instrucciones antes de que aparezcan en la ejecución del programa, manteniendo los resultados en posiciones temporales.
Equilibrio de prestacionesHay varias maneras en que se puede atacar este problema.
• Incrementar el numero de bits que se recuperan de una sola vez haciendo las DRAM mas anchas en lugar de menos profundas utilizando buses de datos mas anchos.
• Cambiar la interfaz DRAM para hacerla mas eficiente. Incluyendo una cache u otro esquema de almacenamiento temporal.
• Reducir la frecuencia del acceso a memoria incorporando, entre el procesador y la memoria principal una caches mas complejas y eficientes.
• Incrementar el ancho de banda entre el procesador y la memoria usando buses de mas alta velocidad.
Funcionamiento del computador
• La función básica de un computador es la ejecución de un programa.
• La ejecución del programa consiste en la repetición del proceso de captación de instrucción y ejecución de instrucción.
• El procesamiento que se requiere para una instrucción se llama CICLO DE INSTRUCCION
Ciclo de instrucción básico
Los ciclos de captación y ejecución
• El contador de programa PC sirve para seguir la pista de la instrucción que debe captarse a continuación.
• PC = PC + 1
Interrupciones
• Programa: Generadas por alguna condición que se produce como resultado de una instrucción. Desbordamiento aritmético, división por cero, ejecución de instrucción inexistente, acceder a espacio de memoria fuera del permitido
• Temporización: Generadas por un temporizador interno al procesador.
Interrupciones
• E/S: Generadas por un controlador de E/S, para indicar finalización sin problemas de una operación o para avisar ciertas condiciones de error.
• Fallo de hardware: Generadas por un fallo tal como la falta de potencia de alimentación o un error de paridad en la memoria.
Ejemplo
Supóngase que el procesador esta transfiriendo datos a una impresora utilizando el esquema del ciclo de la instrucción básico. ¿Que tarea hace el procesador después de cada operación de escritura?
Gestor de interrupciones
Es un programa diseñado para atender la interrupción presentada
Habilitación de la interrupción
Para permitir el uso de interrupciones, se añade un CICLO DE INTERRUPCION al ciclo de instrucción.
Funcionamiento de E/SDirect Memory Access (DMA)
Estructuras de interconexión
Memoria
Modulo E/S
Procesador
Tipos de transferencias
• Memoria a procesador: El procesador lee una instrucción o un dato desde la memoria
• Procesador a memoria: El procesador escribe un dato en la memoria
• E/S a procesador: EL procesador lee datos de un dispositivo de E/S a través de un modulo de E/S
• Procesador a E/S: El procesador envía datos al dispositivo de E/S
• Memoria a E/S y viceversa: Intercambiar datos directamente con la memoria (DMA)
Interconexión con buses
Un bus es un camino de comunicación entre dos o mas dispositivos. Al bus se conectan varios dispositivos, y cualquier señal transmitida por uno de esos dispositivos esta disponible para que los otros dispositivos conectados al bus puedan acceder a ella.
Líneas de datos: Proporcionan un camino para transmitir datos entre los módulos del sistema.Anchura del bus de datos: entre 32 y cientos de líneas.Ejemplo: bus de 8 bits, instrucciones de 16 bits
Líneas de dirección: Se utilizan para designar la fuente o el destino del dato situado en el bus de datos.Anchura del bus de direcciones: Determina la máxima capacidad de memoria disponible.
También sirven para direccionar los puertos de E/SEjemplo: En un bus de 8 bits, la dirección 01111111 e inferiores referencian a posiciones dentro de un modulo de memoria
Líneas de control: Se utilizan para controlar el acceso y el uso de las líneas de datos y direcciones.
Señales de temporización: Indican la validez de los datos y direcciones.
Señales de ordenes: Especifican las operaciones a realizar.
• Escritura de memoria• Lectura de memoria• Escritura de E/S• Lectura de E/S• Transferencia reconocida• Petición de bus• Cesión de bus• Petición de interrupción• Interrupción reconocida• Reloj• Inicio