2. Funciones de un computador
Procesamiento de Datos
Almacenamiento de Datos
Transferencia de datos entre el computador y el exterior
Control de las anteriores operaciones
3. Componentes Principales
Procesador Subsistema de Subsistema Subsistema de
• Controla el memoria E/S interconexión
funcionamiento • Almacena Datos • Transfiere datos • Proporciona un
del computador entre el medio de
y procesa datos computador y el comunicación
entorno externo entre el
procesador, la
memoria y la
E/S.
4. Dificultades en el Estudio del
computador
Existe gran variedad
de subsistemas
Computadores
Workstation Supercomputadores
personales
5. Dificultades en el Estudio del
computador
Es un campo extremadamente cambiante
Procesador Memoria Discos
Las frecuencias de La capacidad de Capacidad de
funcionamiento almacenamiento almacenamiento
aumenta 20% aumenta 60% aumenta 60%
anual anual anual
Velocidad de
La potencia de
transferencia
cálculo aumenta
aumenta 10%
50% anual
anual
Coste por bit
disminuye 25%
anual
8. Arquitectura de computadores
Tiene en cuenta los
siguientes elementos
Tipos básicos de
Conjunto de
Conjunto de datos soportados
instrucciones de Modos de Mecanismos de
registros visibles por las
máquina o direccionamiento E/S
al programador instrucciones de
ensamblador
máquina
9. 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
10. Arquitectura Von Newman
Primeras máquinas
• Para modificar como se ejecutaba el computo las primeras
máquinas debían ser re-configuradas físicamente
Von Newman
• Acumular la secuencia de manipulación de las señales de control
requeridas para ejecutar una tarea-Programación Software
Arquitectura Von Newman
• Base de casi todos los computadores desde la primera
generación
11. Arquitectura Von Newman
Características
• 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
13. Arquitectura Von Newman
Modulos Básicos
Unidad de
CPU Unidad de E/S
memoria
Transfiere
Almacena
Realiza ejecución información entre
instrucciones y
de instrucciones el computador y
datos
los periféricos
14. Arquitectura Von Newman
Instrucciones
Codificadas
Interprete de Instrucciones
(UC)
Datos ALU Resultados
15. Arquitectura Von Newman
Ejecución de Instrucciones
sigue un grupo de ciclos
Obtener la
Decodificar la
dirección de
Determinar la instrucción Estar en alerta
Llamar la las Ejecutar la
dirección de la para Guardar el y pendiente
instruccion de operaciones operación con
proxima determinar lo resultado de las posibles
la memoria necesarias y los operandos
instrucción que se va a interrupciones
llamar a los
desarrollar
operandos
16. 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.
17. 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
18. 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.
20. Ciclos de Captación y Ejecución
Retoma Ejecuta
ciclo ciclo
Busca la
Ejecuta la
Inicio siguiente Parada
instrucción
instrucción
21. Ciclo de Captación
El PC posee la dirección
de la próxima
instrucción a ejecutar
Se interpreta la Procesador mueve la
instrucción y se envían instrucción apuntada
las órdenes de control. por IR)
Incrementa el PC
22. Ciclo de Ejecución
Procesador - memoria
• Transferencia de datos
entre la CPU y la memoria
Control E/S procesador
• Alteración de secuencia de • Transferencia entre CPU y
control (Ej. Salto) módulo de E/S
Procesamiento
• Operaciones aritméticas y
lógicas
23. 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)
24. 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.
26. Ciclo de Interrupción
Procesador consulta interrupciones
pendientes
Si hay:
•Se suspende ejecución del programa actual
•Guarda el contexto (valores de registros, etc.) Si no hay, continua la ejecución
•Ejecuta la rutina de atención de interrupción. próxima instrucción
•Al terminar, retorna los valores de contexto
•continua la ejecución del programa.
28. Interrupciones Múltiples
Inhabilitar interrupciones (disable interrupt)
• 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
34. 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.
35. 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
36. 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
38. 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)
39. Buses
Camino de comunicación entre dos o
más dispositivos.
Medio de • Varios dispositivos conectados, las
señales transmitidas por uno de los
transmisión dispositivos está disponible para los
compartido otros dispositivos Conectados al bus
40. 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.
Se pueden utilizar varias líneas para transmitir varios bits en forma simultanea (paralelo).
•P.E.: Se puede enviar 8 bits (1 bytes) por 8 líneas.
El bus que conecta los componentes principales del computador se denomina bus del sistema.
43. 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.
44. 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.
45. 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.
Son señales de control de acceso y uso del bus.
•Arbitraje del bus
•Sincronización de las comunicaciones
•Reloj del sistema
46. 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.
47. Protocolos de uso del bus
Si un módulo desea enviar un dato a otro módulo, debe:
• Obtener el uso del bus
• Transferir la información mediante las líneas de control y dirección
apropiadas.
48. Protocolos de uso del bus:
Son necesarios Dos tipos de
para dispositivos:
sincronizar la
Maestros: pueden iniciar
comunicación entre
una transacción de bus
dispositivos con
(también pueden actuar
diferentes características
como esclavos)
de transmisión.
arbitrar la lucha que
Esclavos: se activan
pueden emprender
cuando reciben una
varios dispositivos por
petición del bus.
acceder al uso del bus.
49. Jerarquías de los Buses
Si se conecta un gran número de dispositivos al bus, las prestaciones pueden disminuir
•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.
Es común que los computadores utilicen varios buses, normalmente organizados en forma jerárquica
•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
52. Tipos de Buses
Dedicado:
• Líneas asignadas a una función (datos, dirección o control) o a un
subconjunto de componentes.
Multiplexado:
• 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
53. Método de Arbitraje
Quien utiliza el bus en un determinado instante?
• Método que permita dar el uso del bus a un dispositivo cuando varios lo han solicitado.
Centralizado:
• 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
Distribuido
• 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.
54. Temporización
En que forma se
coordinan los Síncrona: Asíncrona
eventos en el bus.
Un reloj determina la presencia
de eventos en el bus
Línea de reloj, envía señales
Los eventos ocurren como
periódicas (ciclos de reloj). Entre
consecuencia de un evento
una señal y otra, existe un
previo.
intervalo de tiempo (time slot)
Todos los eventos comienzan el
principio del time slot
55. 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.
56. Tipos de transferencia de Datos
Transferencia Escritura
• maestro a esclavo
Trasferencia Lectura
• esclavo a maestro
57. PC buses
XT
• 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
58. PC buses
AT-ISA (Industrial Standard Architecture)
•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.
59. 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%
60. 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
61. PC buses
LOCAL BUS
• 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.
62. 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 y
el bus PCI se instalará siempre un controlador de
bus PCI. El bus PCI no depende del reloj de la
CPU, porque está separado de ella por el
controlador del bus.
63. 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.
64. PC buses
PCI-e (PCI Express)
• De mas popularidad en las motherboards
modernas.
• El bus PCI-e (no debe ser confundido con el
PCI-X, el cual es en cierto modo una evolución
del PCI de 64 bits, que sigue operando en
base a la idea de una transmisión en
"paralelo" de "palabras" de 64 bits)
65. 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