Está en la página 1de 69

ARQUITECTURA DE COMPUTADORES I

Profesor:
Duvn Fernando Garca Cedeo

Universidad del Valle Facultad de Ingeniera


Escuela de Ingeniera Elctrica y Electrnica EIEE
Grupo de Arquitecturas Digitales y Microelectrnica GADYM

Perspectiva de Alto Nivel del Funcionamiento y de


las Interconexiones del Computador
3.1.Componentes del computador
3.2.Funcionamiento del computador
Los ciclos de captacin y ejecucin
Interrupciones
Funcionamiento de las E/S.

3.3.Estructura de interconexin
3.4.Interconexion con buses
Estructura del bus
Jerarquas de buses mltiples
Elementos de diseo de un bus

3.5.PCI
Estructura del bus
Ordenes del PCI
Transferencia de datos
Arbitraje

Perspectiva de Alto Nivel del Funcionamiento y de


las Interconexiones del Computador
A este nivel un computador esta constituido por la CPU, la
memoria y las unidades de E/S. Estos componentes se
interconectan para que el computador pueda llevar a cabo
la ejecucin de programas.
El computador lo podemos describir
por el
comportamiento de sus componentes, es decir mediante los
datos y las seales de control que un componente
intercambia con los otros, o se puede describir mediante la
estructura de interconexin y los controles necesarios para
gestionar el uso de dicha estructura.

Componentes del Computador


Recordemos que los sistemas cableados eran
inflexibles.
Actualmente la mayora de computadores utilizan la
arquitectura de Von Neumann, implementando
hardware de propsito general que puede hacer
diferentes tareas, teniendo en cuenta las seales de
control correctas.
En lugar de volver a cablear se proporciona un nuevo
conjunto de seales de control.

Que es un Programa?
Es una secuencia de pasos o instrucciones a
ejecutar por la CPU.
Para cada paso se realiza una operacin aritmtica
o lgica y cada operacin necesita un conjunto
diferente de seales de control.
Existen dos clases de programacin, la
programacin hardware y la programacin
software.

Que es un Programa?

Programacin Hardware

Programacin Software

Componentes del Computador

Componentes del computador y registros internos

Ciclo de Instruccin
La funcin bsica que realiza un computador es la
ejecucin de un programa, constituido por un
conjunto de instrucciones almacenadas en memoria.
El procesamiento requiere de una instruccin que se
denomina ciclo de instruccin.
Este ciclo de instruccin esta compuesto por dos
pasos, el ciclo de captacin y el ciclo de ejecucin.

Ciclo de Instruccin

Ciclo de instruccin bsico

Ciclo de Captacin
1. El contador de programa (PC) tiene la direccin de la
siguiente instruccin a ejecutar.
2. El Procesador recupera la instruccin de la posicin de
memoria a la que apunta PC.
3. Despus se incrementa el valor de PC.
A menos que se indique lo contrario.

4. Se carga la instruccin en el registro de instruccin


(IR).
5. Y por ultimo el procesador interpreta la instruccin
para llevarla a cabo en el ciclo de ejecucin.

Ciclo de Ejecucin
La ejecucin puede ser de cuatro tipos:
1.
2.

3.
4.

Procesador-Memoria: deben transferirse datos desde la


CPU a la memoria, o desde la memoria a la CPU.
Procesador-E/S: deben transferirse datos a o desde el
exterior mediante transferencias entre la CPU y un modulo
E/S.
Procesamiento de Datos: la CPU ha de realizar alguna
operacin aritmtica o lgica con los datos.
Control: una alteracin en la secuencia de operacin, un
ejemplo un salto.

La ejecucin puede implicar una combinacin de estas acciones.

Ejemplo de Programa de Ejecucin

Caractersticas de una maquina hipottica

Ejemplo de Programa de Ejecucin

Ejemplo de ejecucin de un programa (contenidos de


la memoria y de los registros en hexadecimal)

Ciclo de Instruccin

Diagrama de estados del ciclo de instruccin.

Interrupciones
Las interrupciones proporcionan una forma de
mejorar la eficiencia del procesador.
Prcticamente todos los computadores disponen
de un mecanismo mediante el que otros mdulos
(E/S,
memoria)
pueden
interrumpir
el
procesamiento normal de la CPU.

Interrupciones

Clases de Interrupciones
Con el uso de interrupciones, el procesador puede dedicarse a ejecutar
otras instrucciones mientras una operacin de E/S esta en curso.

Interrupciones y el Ciclo de Instruccin

Flujo de control de un programa sin y con interrupcin

Ciclo de Interrupciones
1.
2.

Se aade el ciclo de interrupcin al ciclo de instruccin.


El procesador comprueba si se ha generado alguna interrupcin.
Indicada por una seal de interrupcin.

3.
4.

Si no hay seales de interrupcin, se continua con la instruccin


siguiente.
Si hay alguna interrupcin pendiente:
Suspende la ejecucin del programa actual
Guarda el contexto, es decir almacena la direccin de la siguiente instruccin
Carga el PC con la direccin de inicio de una rutina de gestin de interrupcin

5.
6.

El procesador realiza la captacin y ejecucin de la interrupcin.


El procesador continua la ejecucin del programa de usuario en
el punto en que se interrumpi.

Ciclo de Interrupciones

Transferencia de control debida a una interrupcin

Ciclo de Instruccin con Interrupciones

Temporizacin de un programa

Espera corta de E/S

Temporizacin de un programa

Espera larga de E/S

Ciclo de Instruccin con Interrupciones

Diagrama de estados

Interrupciones Mltiples
Hasta el momento solo se ha hablado de la existencia
de una solo interrupcin, pero en la realidad se pueden
producir varias interrupciones.
En este caso se pueden seguir dos alternativas para
tratar las interrupciones mltiples:
La interrupcin inhabilitada.
La prioridad de interrupciones.

Interrupciones Mltiples
Deshabilitar las interrupciones.
Procesador ignorar las interrupciones cuando se este procesando una
interrupcin.
Las interrupciones quedan pendientes hasta que se termina la rutina de
gestin de interrupcin, que es cuando se vuelven a habilitar las
interrupciones y el procesador comprueba si se ha producido una
interrupcin adicional.
Interrupciones se manejan en orden secuencial, es decir a medida que
ocurren.

Definir las prioridades.


En este caso se definen prioridades para las interrupciones permitiendo que
una interrupcin de baja prioridad puede ser interrumpida por las
interrupciones de mayor prioridad.
Cuando la interrupcin de ms alta prioridad ha sido procesada, el
procesador se devuelve a atender las interrupciones anteriores.

Transferencia de Control con Interrupciones


Mltiples

Procesamiento de secuencia de interrupciones

Transferencia de Control con Interrupciones


Mltiples

Procesamiento de interrupciones anidadas

Interrupciones Mltiples

Ejemplo de secuencia temporal de varias interrupciones

Funcionamiento de las E/S


Un modulo de E/S (controlador de disco) puede
intercambiar datos directamente con el procesador.
El procesador leer o escribir en memoria, o en un modulo
E/S.
En algunos casos es deseable permitir intercambios de
informacin entre la memoria y un modulo de E/S. en este
caso el procesador cede al modulo la autoridad para leer o
escribir en memoria. Esta operacin se conoce con el
nombre de acceso directo a memoria (DMA, Direct
Memory Access)

Estructura de Interconexin
Un computador esta constituido por un conjunto de
unidades o mdulos de tres tipos elementales (procesador,
memoria, E/S) que se comunican entre si.
El conjunto de lneas que conectan los diversos mdulos se
denomina estructura de interconexin. Dicha estructura
depender de los intercambios que deban producirse entre
los mdulos.

Estructura de Interconexin
Mdulos de un Computador
Memoria: constituido por N palabras de la
misma longitud. Cada palabra tiene una
nica direccin y pueden leerse o escribirse
dependiendo de la seal de control.
Modulo E/S: similar a la memoria, puede
leerse o escribirse y puede controlar un
dispositivo externo, tiene lneas de datos de
entrada y
salida y enva seales de
interrupcin.
Procesador: lee instrucciones y datos,
escribe datos procesados y utiliza ciertas
seales de control, adems recibe las seales
de interrupcin.

Estructura de Interconexin
La estructura de interconexin debe dar cobertura
siguientes tipos de transferencia:

a los

Memoria a Procesador: el procesador lee una instruccin 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 travs de un modulo de E/S.
Procesador a E/S: el procesador enva datos al dispositivo de E/S.
Memoria a E/S y viceversa: un modulo de E/S puede intercambiar
datos directamente con la memoria, sin que tengan que pasar a
travs del procesador, utilizando acceso directo a memoria (DMA).

Interconexin con Buses


Un bus es un camino de comunicacin entre dos o mas
dispositivos, siendo un medio de transmisin
compartido. Cualquier seal transmitida por el bus por
uno de los dispositivos esta disponible para que los
dems dispositivos conectados puedan acceder a ella.
Es importante que solo un dispositivo transmita en un
periodo de tiempo, de los contrario las seales pueden
solaparse y distorsionarse.

Interconexin con Buses


Existen diferentes tipos de buses que proporcionan
comunicacin entre sus componentes.
El bus del sistema es aquel que conecta los
componentes principales del computador(procesador,
memoria, E/S).
Generalmente se utilizan uno o mas buses del sistema.

Interconexin con Buses

Esquema de interconexin mediante un bus.

Interconexin con Buses


Bus de Datos: Proporciona un camino para transmitir datos
entre los mdulos del sistema. El numero de lneas determina
la anchura del bus de datos, siendo un factor clave a hora de
determinar las prestaciones del conjunto del sistema.
Ejemplo: si el bus es de 8 bits y las instrucciones son de 16
bits, el procesador debe acceder a la memoria 2 veces por
cada ciclo de instruccin.

Interconexin con Buses


Bus de Direccin: se utiliza para designar la fuente o el
destino del dato situado en el bus de datos, tambin se utiliza
para direccionar los puertos de E/S, la anchura del bus de
direcciones determina la mxima capacidad de memoria
posible en el sistema.
Ejemplo: en un bus de 8 bits, la direccin 01111111 e
inferiores haran referencia a las posiciones de memoria y las
direcciones 10000000 y superiores designaran dispositivos
de E/S.

Interconexin con Buses


Bus de Control: se utiliza para controlar el acceso y el uso
de las lneas de datos y direcciones, las seales de control
transmiten tanto ordenes como informacin de temporizacin
entre los mdulos.
Ejemplo de seales de control: lectura/escritura en memoria,
lectura/ escritura en E/S, peticin/cesin del bus,
peticin/aceptacin interrupcin, seal de reloj entre otras.

Interconexin con Buses

Implementacin fsica tpica de una arquitectura de bus

Jerarquas de Buses
Al conectar un gran numero de dispositivos al bus, las
prestaciones pueden disminuir. Hay dos causas principales:
1.A mas dispositivos conectados mayor es el retardo de
propagacin, este retardo determina el tiempo necesario para
que los dispositivos puedan coordinarse en el uso del bus. Al
pasar el control frecuentemente de un dispositivo a otro los
retardos se hacen considerables afectando las prestaciones
del sistema.

Jerarquas de Buses
2. El bus puede convertirse en le cuello de botella a medida
que las peticiones de transferencia acumuladas se
aproximan a la capacidad del bus. Este problema se
puede solucionar en parte incrementando la velocidad del
bus y utilizando buses mas anchos.
Por este motivo la mayora de computadores utilizan varios
buses, normalmente organizados jerrquicamente.

Jerarquas de Buses
En una estructura tpica hay un bus local que conecta el
procesador a la memoria cache y al que pueden conectarse
uno o mas dispositivos locales. El controlador de memoria
cache tambin se conecta al bus de sistema donde se
encuentran conectados todos los mdulos de memoria
principal, es posible conectar controladores de E/S
directamente, pero una solucin mas eficiente es utilizar
buses de expansin.

Jerarquas de Buses

Arquitectura de bus tradicional

Jerarquas de Buses
La arquitectura tradicional es razonablemente eficiente, pero
se muestra dbil cuando se incrementan las prestaciones de
los dispositivos E/S, por lo cual se propone el uso de un bus
de alta velocidad estrechamente integrado con el sistema y
requiere solo un adaptador (bridge) entre el bus del
procesador y el bus de alta velocidad. Esta disposicin es
conocida como arquitectura entre plana (mezzanine
architecture).

Jerarquas de Buses

Arquitectura de altas prestaciones

Elementos de Diseo de un Bus


Existe una gran diversidad de diseos de buses, pero hay
unos pocos parmetros o elementos de diseo que sirven para
distinguir y clasificar los buses.

Elementos de diseo de un bus.

Elementos de Diseo de un Bus


Tipos de Buses. Las lneas del bus se pueden dividir en dos
tipos genricos: dedicadas y multiplexadas.
Dedicado: esta permanentemente asignado a una funcin o un
subconjunto fsico de componentes, separa las lneas de datos
y las lneas de direcciones.
Multiplexado: utiliza las mismas lneas para el envi de datos,
direcciones e incluso seales de control, por lo cual utiliza
menos lneas, ahorrando espacio y costos pero requiere de un
sistema de control mas sofisticado.

Elementos de Diseo de un Bus


Mtodo de Arbitraje. Los diversos mtodos se pueden
clasificar como centralizados y distribuidos.
Centralizado: en este esquema un nico dispositivo hardware
denominado controlador del bus o arbitro, es el responsable de
asignar los tiempos del bus, este dispositivo puede estar
separado o ser parte del procesador .
Distribuido: en este esquema no existe un controlador central,
es decir cada modulo dispone de lgica para controlar el
acceso y los mdulos actan conjuntamente compartiendo el
bus.

Elementos de Diseo de un Bus


Temporizacin. Este termino hace referencia a la forma en
que se coordinan los eventos en el bus, los buses utilizan la
temporizacin sncrona o asncrona.
Sncrona: quiere decir que la presencia de un evento en el bus
esta determinada por un reloj y esta seal se incluye en una
lnea del bus.
Asncrona: con est tipo de temporizacin la presencia de un
evento en el bus es consecuencia y depende de que se
produzca un evento previo.

Elementos de Diseo de un Bus

Temporizacin sncrona de las operaciones de bus.

Elementos de Diseo de un Bus

Temporizacin asncrona diagrama de lectura

Elementos de Diseo de un Bus

Temporizacin asncrona diagrama de escritura

Elementos de Diseo de un Bus


Anchura del bus. La anchura del bus de datos afecta las
prestaciones del sistema: cuanto mas ancho es el bus de
datos, mayor es el numero de bits que se transmiten a la vez.
La anchura del bus de direcciones afecta a la capacidad del
sistema: cuanto mas ancho es el bus de direcciones, mayor es
el rango de posiciones a as que se puede hacer referencia.

Elementos de Diseo de un Bus


Tipo de Transferencia de Datos. Todos los buses permiten
tanto transferencias de escritura como lectura. En el caso de
un bus con direcciones y datos multiplexados, el bus se
utiliza primero para especificar la direccin y luego para
transferir el dato.

Elementos de Diseo de un Bus

Tipos de transferencia de datos en un bus

El Bus PCI
El Bus PCI (Peripheral Component Interconnect, Interconexin
de Componente Perifrico) es un bus muy popular de ancho de
banda elevado, independiente del procesador, que se puede
utilizar como bus de perifricos o bus para arquitectura de
entreplanta. El PCI proporciona mejores prestaciones para los
subsistemas de E/S de alta velocidad.
Ejemplo: los adaptadores de pantalla grafica, los controladores
de interfaz de red, los controladores de disco, etc.

El Bus PCI
El estndar actual permite el uso de hasta 64 lneas de datos a 66
MHz, para una velocidad de transferencia de 528 MB, o 4,224
Gbps.
El PCI esta diseado para permitir una cierta variedad de
configuraciones basadas en microprocesadores, incluyendo
sistemas de uno como de varios procesadores, proporcionando un
conjunto de funciones de uso general. Utiliza temporizacin
sncrona y un esquema de arbitraje centralizado.
Intel empez a trabajar en el bus PCI en 1990 y despus cedi sus
patentes al dominio publico.

El Bus PCI

Bus PCI en su sistema monoprocesador

El Bus PCI

Bus PCI en su sistema multiprocesador

El Bus PCI
Estructura del Bus
El bus PCI puede configurarse como un bus de 32 o 64 bits, y tiene
49 lneas de seal obligatorias que se definen en los siguientes
grupos funcionales:
Terminales (patillas) del sistema.
Terminales de direccin y datos.
Terminales de control de la interfaz.
Terminales de arbitraje.
Terminales para seales de error.

Lneas obligatorias del bus PCI

El Bus PCI
Estructura del Bus
Adems el bus PCI posee 51 seales opcionales que se definen en
los siguientes grupos funcionales:
Terminales de interrupcin.
Terminales de soporte de cache.
Terminales de ampliacin a bus de 64 bits.
Terminales de test (JTAG/Boundary Scan)

Lneas opcionales del bus PCI

El Bus PCI
Ordenes des PCI
La actividad del bus consiste en transferencias entre elementos
conectados al bus, denominndose maestro al que inicia la
transferencia. El maestro determina el tipo de transferencia y se
utilizan las lneas C/BE para indicar el tipo de transferencia.
Los tipos de interrupciones son:
reconocimiento de interrupcin, ciclo especial, lectura de
E/S, escritura de E/S, lectura de memoria, lectura de lnea
de memoria, lectura mltiple de memoria, escritura en
memoria, escritura e invalidacin de memoria, lectura de
configuracin, escritura de configuracin, ciclo de
direccin dual.

El Bus PCI
Transferencia de datos
Toda transferencia de datos en el bus PCI es una transaccin
nica que consta de una fase de direccionamiento y una o
mas fases de datos

El Bus PCI

Operacin de lectura del PCI

El Bus PCI
Arbitraje
El bus PCI utiliza un esquema de arbitraje centralizado
sncrono en el que cada maestro tiene una seal de peticin
(REQ) y sesin (GNT) del bus. Estas lneas se conectan al
arbitro central y se utiliza un simple intercambio de las
seales de peticin y cesin para permitir el acceso al bus.

El Bus PCI

Arbitro del bus PCI

El Bus PCI

Arbitraje del bus PCI entre dos maestros

También podría gustarte