organizacion del computador
TRANSCRIPT
Organización del computador
El computador como sistema y sus estructuras de interconexión
Funciones de un computador
Procesamiento de Datos
Almacenamiento de Datos
Transferencia de datos entre el computador y el exterior
Control de las anteriores operaciones
Componentes Principales
Procesador
• Controla el funcionamiento del computador y procesa datos
Subsistema de memoria
• Almacena Datos
Subsistema E/S
• Transfiere datos entre el computador y el entorno externo
Subsistema de interconexión
• Proporciona un medio de comunicación entre el procesador, la memoria y la E/S.
Dificultades en el Estudio del computador
Existe gran variedad de subsistemas
Computadores personales
Workstation Supercomputadores
Dificultades en el Estudio del computador
Procesador
Las frecuencias de funcionamiento aumenta 20%
anual
La potencia de cálculo aumenta
50% anual
Memoria
La capacidad de almacenamiento
aumenta 60% anual
Velocidad de transferencia aumenta 10%
anual
Coste por bit disminuye 25%
anual
Discos
Capacidad de almacenamiento
aumenta 60% anual
Es un campo extremadamente cambiante
Niveles de descripción
Niveles de descripción de un computador
Arquitectura de computadores
Tiene en cuenta los siguientes elementos
Conjunto de registros visibles al programador
Conjunto de instrucciones de
máquina o ensamblador
Tipos básicos de datos soportados
por las instrucciones de
máquina
Modos de direccionamiento
Mecanismos de E/S
Arquitectura Von Newman
A Von Newman se le acredita el desarrollo de la idea de controlar las operaciones de hardware a través del uso de señales de control
Arquitectura Von Newman
• Para modificar como se ejecutaba el computo las primeras máquinas debían ser re-configuradas físicamente
Primeras máquinas
• Acumular la secuencia de manipulación de las señales de control requeridas para ejecutar una tarea-Programación Software
Von Newman
• Base de casi todos los computadores desde la primera generación
Arquitectura Von Newman
Arquitectura Von Newman
• Datos e instrucciones (secuencias de control) estan almacenadas una memoria WR
• La ejecución ocurre en un recorrido secuencial donde las instrucciones son leídas de la memoria una a una
Características
Arquitectura Von Newman
• Esquema
Arquitectura Von Newman
Modulos Básicos
CPU
Realiza ejecución de instrucciones
Unidad de memoria
Almacena instrucciones y
datos
Unidad de E/S
Transfiere información entre el computador y
los periféricos
Arquitectura Von Newman
Instrucciones Codificadas
Interprete de Instrucciones(UC)
ALUDatos Resultados
Arquitectura Von Newman
Ejecución de Instrucciones sigue un grupo de ciclos
Determinar la dirección de la
proxima instrucción
Llamar la instruccion de
la memoria
Decodificar la instrucción
para determinar lo
que se va a desarrollar
Obtener la dirección de
las operaciones necesarias y llamar a los operandos
Ejecutar la operación con los operandos
Guardar el resultado
Estar en alerta y pendiente
de las posibles interrupciones
Concepto de Programa
Se pueden interconectar diversos componentes lógicos para realizar una determinada función. El programa resultante es HW y se le denomina HARDWIRED PROGRAM (programa cableado)
En HW de uso general, realiza distintas funciones según las señales de control aplicadas.
En un nuevo caso, se pueden generar nuevos programas proporcionando nuevas señales de control.
Programa
Es una secuencia de pasos
En cada paso, se realiza una operación aritmética o lógica.
Para cada paso, se requiere un conjunto de señales de control
Solución: Asociar un código específico a cada posible conjunto de señales de control, y agregar hw que interprete cada instrucción y genere las señales de control
Componentes
La CPU: Compuesta de un intérprete de instrucciones (UC) y un módulo de uso general para las funciones aritméticas y lógicas.
Los datos e instrucciones deben ingresarse al sistema. Se requiere algún tipo de módulo de entrada y un módulo de salida para mostrar resultados.
Se requiere almacenar datos e instrucciones: Memoria.
Componentes: Esquema de dos niveles
Ciclos de Captación y Ejecución
Busca la siguiente
instrucción
Ejecuta la instrucción
Inicio Parada
Retoma ciclo
Ejecuta ciclo
Ciclo de Captación
El PC posee la dirección de la próxima
instrucción a ejecutar
Procesador mueve la instrucción apuntada
por IR)
Incrementa el PC
Se interpreta la instrucción y se envían las órdenes de control.
Ciclo de Ejecución
Procesador - memoria
•Transferencia de datos entre la CPU y la memoria
E/S procesador
•Transferencia entre CPU y módulo de E/S
Procesamiento
•Operaciones aritméticas y lógicas
Control
•Alteración de secuencia de control (Ej. Salto)
Ejemplo de Ejecución del Programa
Ejemplo
• CPU con un solo acumulador A (16 bits)
• Suma (940)+(941)
Lenguaje simbolico Binario
Mov A, 940 1940 (H)
Add A, 941 5941 (H)
Mov 941, A 2941 (H)
Interrupciones
Mecanismo por el cual los módulos pueden “interrumpir” el procesamiento normal de la CPU.
En el mismo Programa
• División por cero
• Resultado de la ejecución de una instrucción (overflow)
Temporización
• Rebose
E/S:
• Controlador de E/S (dato en memoria)
Supervisión de HardWare.
Flujo de Control de Programa
Ciclo de Interrupción
Procesador consulta interrupciones pendientes
Si no hay, continua la ejecución próxima instrucción
Si hay:
•Se suspende ejecución del programa actual
•Guarda el contexto (valores de registros, etc.)
•Ejecuta la rutina de atención de interrupción.
•Al terminar, retorna los valores de contexto
•continua la ejecución del programa.
Transferencia de Control debido a una interrupción
Interrupciones Múltiples
• Se ignoran nuevas interrupciones mientras se está atendiendo una
• Al terminar la interrupción, se detecta si hay pendientes.
• Las interrupciones se atienden en forma secuencial
Inhabilitar interrupciones (disable interrupt)
Interrupciones Múltiples
Interrupciones Múltiples
• Interrupciones pueden ser interrumpidas por otras de mayor prioridad
• Al terminar la de mayor prioridad, se continua ejecutando la anterior.
Prioridades
Interrupciones Múltiples
Secuencia temporal de múltiples interrupciones
Estructura de Interconexión
Conjunto de líneas que conectan los diversos módulos
Estructura de Interconexión
Memoria: N palabras de una misma longitud, cada una con una dirección única
•Señales control read y write
•La posición de memoria se especifica mediante una dirección.
Estructura de Interconexión
Modulo E/S: funcionalmente similar a memoria
• Operaciones leer y escribir.
• Cada módulo puede controlar varios dispositivos
• Cada módulo identificado por un número (puerto)
• Líneas externas de datos externas E/S
• Un módulo puede enviar señales de interrupción
Estructura de Interconexión
Procesador: lee instrucciones y datos
• Escribe datos procesados
• Utiliza señales para controlar el funcionamiento del sistema
• Recibe señales de interrupción
Estructura de Interconexión
Tipos de Transferencia
Memoria a procesador: Lectura de datos o instrucción desde memoria
Procesador a memoria: Procesador escribe un dato a memoria
E/S procesador: Procesador lee datos desde un dispositivo de E/S a través de un módulo.
Procesador a E/S: Procesador envía datos al dispositivo de E/S
Memoria a E/S y viceversa: Usando acceso directo a memoria (DMA)
Buses
Camino de comunicación entre dos o más dispositivos.
• Varios dispositivos conectados, las señales transmitidas por uno de los dispositivos está disponible para los otros dispositivos Conectados al bus
Medio de transmisión compartido
Buses
Varios caminos (o líneas), cada una capaz de transmitir un bits c/u
En un período de tiempo se pueden enviar un conjunto de bits.
•P.E.: Se puede enviar 8 bits (1 bytes) por 8 líneas.
Se pueden utilizar varias líneas para transmitir varios bits en forma simultanea (paralelo).
El bus que conecta los componentes principales del computador se denomina bus del sistema.
Elementos de interconexión
Estructura de un bus:
•Líneas de datos
•Líneas de dirección
•Líneas de control
Esquema de Interconexión mediante bus
CPU Memoria I/O
Control
Dirección
Datos
Bus de Datos
Permite transmitir datos entre módulos
Llevan datos y también comandos para los dispositivos de entrada / salida.
La cantidad de líneas se denomina “anchura del bus de datos”, generalmente 8,16 0 32.
La anchura determina la cantidad de bits máximo que pueden transmitirse simultáneamente.
Si anchura es menor a la cantidad de bits de las instrucciones, se requerirá acceder a la memoria mas de un vez por cada ciclo de instrucción.
Bus de Dirección
Permiten identificar el origen o destino del dato situado en el bus de datos.
La anchura del bus de direcciones determina la capacidad máxima de memoria del sistema.
Llevan direcciones de memoria en acceso a memoria, o permiten seleccionar un dispositivo conectado al bus.
Bus de Control
Se utilizan para controlar el acceso y el uso de las líneas de datos y de direcciones.
Transmiten órdenes como información de temporalización entre módulos del sistema
Temporalización indican la validez de los datos y la direcciones.
Las señales de órdenes especifican las operaciones a realizar.
•Arbitraje del bus
•Sincronización de las comunicaciones
•Reloj del sistema
Son señales de control de acceso y uso del bus.
Tipos de señales de Control
Write: Escritura. Indicará una escritura tanto en memoria como en un dispositivo e/s
Read: Lectura. Indicará una lectura tanto en memoria como en un dispositivo e/s
(Estas señales pueden venir fundidas en una, necesitándose sólo una señal para saber si en cada acceso del bus se lee o escribe. También pueden venir separadas las señales para acceder a memoria y e/s:
• MemRead
• MemWrite
• I/Oread
• I/Owrite)
BusRequest: Señal de solicitud de uso del bus.
BusGrant Señal que indica que se cede el bus a un dispositivo o que el bus está ocupado
InterruptRequest: Señal de solicitud de interrupción a un dispositivo
InterrruptAcknowledge: Señal de reconocimiento de que se ha producido una interrupción
Ack: Señal de reconocimiento de transferencia de datos, o de cesión del uso del bus, etc
Clock: Señal de reloj del bus (en buses síncronos)
Reset: Señal que llama al reinicio de todos los dispositivos.
Protocolos de uso del bus
• Obtener el uso del bus
• Transferir la información mediante las líneas de control y dirección apropiadas.
Si un módulo desea enviar un dato a otro módulo, debe:
Protocolos de uso del bus:
Son necesarios para
sincronizar la comunicación entre
dispositivos con diferentes características
de transmisión.
arbitrar la lucha que pueden emprender
varios dispositivos por acceder al uso del bus.
Dos tipos de dispositivos:
Maestros: pueden iniciar una transacción de bus
(también pueden actuar como esclavos)
Esclavos: se activan cuando reciben una
petición del bus.
Jerarquías de los Buses
•Mayor retardo de propagación
•Tiempo de coordinación en el uso del bus
•Cuello de botella si las peticiones de transferencias acumuladas se aproximan a la capacidad del bus.
•Se puede resolver si se aumenta la velocidad del bus y el ancho de éste.
Si se conecta un gran número de dispositivos al bus, las prestaciones pueden disminuir
•Bus local: Conecta al procesador con la caché y con algún dispositivo E/S muy rápido.
•Bus del sistema: Conecta al procesador (a través de la cache) con la memoria del sistema y con un segundo nivel de dispositivos de velocidad media.
•Bus de expansión: Se conecta al bus del sistema y hace de interfaz entre este y los dispositivos más lentos
Es común que los computadores utilicen varios buses, normalmente organizados en forma jerárquica
Arquitectura de Bus Tradicional
Arquitectura de Altas Prestaciones
Tipos de Buses
• Líneas asignadas a una función (datos, dirección o control) o a un subconjunto de componentes.
Dedicado:
• Uso de las mismas líneas para distintas funciones. Por ejemplo, usar líneas para envío de datos y direcciones, mediante señales de control se interpretan de una u otra forma.
• Multiplexión de división en el tiempo (TDM)
• Ventaja: Menos líneas.
• Desventaja: Mayor circuitería.
• Dedicación física: Varios buses, cada uno conecta sólo un subconjunto de módulos
Multiplexado:
Método de Arbitraje
• Método que permita dar el uso del bus a un dispositivo cuando varios lo han solicitado.
Quien utiliza el bus en un determinado instante?
• Existe un controlador del bus encargado de esta sincronización
• Daisy Chain: La línea de cesión encadena a los dispositivos por orden de prioridad.
• Arbitraje paralelo: El controlador decide directamente a qué dispositivo le cede el bus
• Solamente un dispositivo de HW (controlador del bus), se encarga de asignar los tiempos en el bus
• Puede ser un módulo independiente o parte de la CPU
Centralizado:
• No existe un controlador central
• Cada módulo dispone de lógica para controlar el acceso, y en forma conjunta comparten el bus
• La relación entre los dispositivos determina la política de acceso
• Autoselección: Los dispositivos, observando alguna información, decide si toman el bus o espera una nueva contienda.
• Selección por conflictos: Los dispositivos usan el bus y determinan si existen o no colisiones.
Distribuido
Temporización
En que forma se coordinan los
eventos en el bus.Síncrona:
Un reloj determina la presencia de eventos en el bus
Línea de reloj, envía señales periódicas (ciclos de reloj). Entre
una señal y otra, existe un intervalo de tiempo (time slot)
Todos los eventos comienzan el principio del time slot
Asíncrona
Los eventos ocurren como consecuencia de un evento
previo.
Anchura del bus
Cuanto más ancho es el bus de datos, mayor cantidad de datos se transmiten por vez
Cuanto más ancho es el bus de direcciones, mayor es el rango de posiciones al que se puede hacer referencia.
Tipos de transferencia de Datos
• maestro a esclavo
Transferencia Escritura
• esclavo a maestro
Trasferencia Lectura
PC buses
• Primer Arquitectura de sistema de bus abierto para PC
• Ancho de banda de 8 bits trabajando a la frecuencia de reloj del procesador 8086 (síncrono) pero obsoleto con el 8088 que trabajaba con 16 bits
XT
PC buses
•Asíncrono
•No solo se amplio el bus de datos sino también el bus de direcciones
• Es un bus de 16 bits y con un ancho de banda máximo de 16 Mbytes/seg.
AT-ISA (Industrial Standard Architecture)
PC buses
BUS EISA (Extended ISA):
• Bus abierto
• Permite multiples procesos, integra en el sistema varios buses cada uno con su procesador, pero solo es usado por UNIX y Windows NT
• En una máquina EISA, puede haber al mismo tiempo hasta 6 buses principales con diferentes procesadores centrales y con sus correspondientes tarjetas auxiliares.
• En este bus hay un chip que se encarga de controlar el tráfico de datos señalando prioridades para cada posible punto de colisión o bloqueo mediante las reglas de control de la especificación EISA. Este chip actúa en la CU como un controlador del tráfico de datos.
• El mismo apareció con los equipos AT como un primer paso de avance hacia transferencia de datos a más alta velocidad y con un ancho de bus mayor, en competencia con el bus MCA lanzado por IBM en sus equipos para los mismos objetivos. Físicamente es dificil de distinguir de un conector ISA, pero sus características y gestión son diferentes.
• Ancho de bus: 32 bits Ancho de banda máximo teórico de 33 Mbytes/seg si bien en la práctica no superaban los 20 Mb/seg.
• No pudo superar al bus ISA porque aumentaba el costo $$ casi en un 50%
PC buses
MCA BUS:
• Este bus está prácticamente limitado al universo IBM y en el "mundo PC" de hoy en día es muy raro encontrar el mismo fuera de dicho contexto de viejos equipos IBM.
• Bus de un ancho máximo de 32 bits y un ancho de banda máximo teórico de 40 Mbytes/seg.
• Físicamente incompatible con otro tipo de placas.
• Pero lo que es más importante el novedoso diseño de bus de IBM incluyó un circuito de control especial a Cargo del bus, que le permitía operar independientemente de la velocidad e incluso del tipo del microprocesador del sistema
PC buses
• Al contrario que con el EISA, MCA y PCI, el bus VL no sustituye al bus ISA sino que lo complementa. (se acopla directamente en la CPU)
• Un PC con bus VL dispone para ello de un bus ISA y de las correspondientes ranuras para tarjetas de ampliación. En un Pc con Bus VL puede haber una, dos e incluso tres ranuras de expansión
• El VL es una expansión homogeneizada de bus local, que funciona a 32 bits, pero que pude realizar operaciones a 16 bits.
• VESA presentó la primera versión del estándar VL-BUS en agosto de 1992. La aceptación por parte del mercado fue inmediata. La velocidad con este tipo de buses depende del número de conectores, cuanto más hay mayor es la velocidad. La mejor combinación de rendimiento y funciones se da a 33 Mhz.
• Años más tarde se creó la versión 2.0 Este bus funcionaba a 64 bits y además mantenía toda la compatibilidad con el VL-BUS. Constaba hasta de 3 ranuras a 40 Mhz y dos a 50 Mhz.
LOCAL BUS
PC buses
PCI BUS (Interconexión de componentes periféricos):
• El más popular de los buses
• Ancho de 32 bits o de 64 bits
• Es independiente de la CPU, ya que entre la CPU yel bus PCI se instalará siempre un controlador debus PCI. El bus PCI no depende del reloj de laCPU, porque está separado de ella por elcontrolador del bus.
PC buses
RANURA AGP:
• Este tipo de ranura es una ranura especializada para tarjetas de video tipo AGP.
• Ancho de bus de 32 bits
• Ancho de banda desde los 133 Mb/seg para los primeros modelos hasta los 2 Gb/seg en las últimas versiones.
• Si bien esta ranura fue bastante popular está siendo abandonada por los principales fabricantes de placas de video y placas aceleradoras de video, los cuales se están volcando al bus PCI-X.
PC buses
PCI-e (PCI Express)
• De mas popularidad en las motherboardsmodernas.
• El bus PCI-e (no debe ser confundido con elPCI-X, el cual es en cierto modo una evolucióndel PCI de 64 bits, que sigue operando enbase a la idea de una transmisión en"paralelo" de "palabras" de 64 bits)
PC buses
RANURA MRS:
• Es similar geométricamente a un slot PCI-e, el mismo puede inducir a algún usuario a pensar que su motherboard tiene ranuras PCI-e y no es asi.
• Esta ranura conocida como MRS ó AMR ó AMRS (Audio/Módem Riser Slot) es una ranura específica que fue incluida en algunas generaciones de motherboards como una conexión especial para conectar ciertos módems o placas de sonido "bobas" que utilizaban para el procesamiento propio de sus funciones el procesador del sistema en el cual estaban alojadas