Make your own free website on Tripod.com

 

 

ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES

 

HOME VOCABULARIO AUTORES

 

Un computador esta constituido por un conjunto de unidades o módulos de tres tipos elementales (Procesador, memoria y E/S), que se comunican entre si.

En efecto, un computador es una red de módulos elementales. Por consiguiente deben existir líneas para interconectar estos módulos.

 

El conjunto de líneas que conectan los diversos módulos se denomina ESTRUCTURA DE INTERCONEXION. El diseño de dicha estructura dependerá de los intercambios que deban producirse entre los módulos.

 

MEMORIA: Generalmente, un modulo de memoria esta constituido por N palabras de la misma longitud. A cada palabra se le asigna una única dirección numérica (0,1,…. N – 1). Una palabra de datos puede leerse de o escribirse en la memoria. El tipo de operación se indica mediante las señales de control Read (leer) y Write (escribir). La posición de memoria para la operación se especifica mediante una dirección.

 

MODULO DE E/S: Desde un punto de vista interno (al computador). La E/S es funcionalmente similar a la memoria. Hay dos tipos de operaciones: leer y escribir. Además un modulo de E/S puede controlar mas de un dispositivo externo. Nos referimos a cada una de estas interfaces con un dispositivo externo con el nombre de puerto (“port”), y se le asignara una dirección a cada uno (0,1,…,M – 1). Por otra parte, existen líneas externas de datos para la entrada y la salida de datos por un dispositivo externo. Por ultimo, un modulo de E/S puede enviar señales de interrupción al procesado.

 

PROCESADOR: El procesador lee instrucciones y datos, escribe datos una vez los ha procesado y utiliza ciertas señales para controlar el funcionamiento del sistema. También puede recibir señales de interrupción.

 

La lista precedente especifica los datos que se intercambian. La estructura de interconexión debe dar cobertura a los siguientes 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: En estos dos casos, un modulo de E/S puede intercambiar datos directamente con la memoria, sin que tengan que pasar a través del procesador, utilizando el acceso directo a memoria (DMA)

 

INTERCONEXION CON BUSES

 

 

Un Bus  es un camino de comunicación entre dos o más dispositivos. Una característica clave de un bus es que se trata de un medio de transmisión compartido. 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. Si dos dispositivos transmiten durante el mismo periodo de tiempo, sus señales pueden solaparse y distorsionarse. Consiguientemente, solo un dispositivo puede transmitir con éxito en un momento dado.

 

Usualmente un bus esta constituido por varios caminos de comunicación o líneas. Cada línea es capaz de transmitir señales binarias representadas por 1 y por 0. en un intervalo de tiempo, se puede transmitir una secuencia de dígitos binarios a través de una única línea. Se pueden utilizar varias líneas del bus para transmitir dígitos simultáneamente (en paralelo). Por ejemplo, un dato de 8 bits puede transmitir mediante ocho líneas del bus.

El bus que conecta los componentes principales del computador (procesador, memoria y E/S) se denomina BUS DEL SISTEMA (“System Bus”). Las estructuras de interconexión más comunes dentro de un computador están basadas en el uso de uno o más buses del sistema.

 

 

 

ESTRUCTURA DEL BUS

 

El bus del sistema esta constituido, usualmente, por entre 50 y 100 líneas. A cada línea se le asigna un significado o una función particular. Aunque existen diseños de buses muy diversos, en todos ellos las líneas se pueden clasificar en tres grupos funcionales: líneas de datos, de direcciones y de control.

 

Las líneas de datos proporcionan un camino para transmitir datos entre los módulos del sistema. El conjunto constituido por estas líneas se denomina BUS DE DATOS. El bus de datos generalmente consta de 8,16 o 32 líneas distintas, cuyo número se conoce como ANCHURA DEL BUS DE DATOS. Puesto que cada línea solo puede transportar un bit cada vez, el número de líneas determina cuantos bits se pueden transferir al mismo tiempo.

 

Las líneas de dirección se utilizan para designar la fuente o el destino del dato situado en el bus de datos. Por ejemplo, si el procesador desea leer una palabra (8,16 o 32 bits) de datos de la memoria, sitúa la dirección de la palabra deseada en las líneas de direcciones.

Las líneas de direcciones generalmente se utilizan también para direccional los puertos de E/S.

 

Las líneas de control se utilizan para controlar el acceso y el uso de las líneas de datos y de direcciones. Puesto que las líneas de datos y de direcciones son compartidas por todos los componentes, debe existir una forma de controlar su uso.

 

Algunas líneas de control típicas son:

 

ESCRITURA EN MEMORIA: Hace que el dato del bus se escriba en la posición direccionada.

 

LECTURA DE MEMORIA: Hace que el dato de la posición direccionada se situé en el bus.

 

ESCRITURA DE E/S: Hace que el dato del bus se transfiera a través del puerto de E/S diseccionado.

 

LECTURA DE E/S: Hace que el dato del puerto de E/S diseccionado se situé en el bus.

 

TRANSFERENCIA RECONOCIDA: Indica que el dato se ha aceptado o se ha situado en el bus.

 

PETICION DE BUS: Indica que un modulo necesita disponer del control del bus.

 

CESION DE BUS: Indica que se cede el control del bus a un modulo que lo había solicitado.

 

PETICION DE INTERRUPCION: Indica si hay una interrupción pendiente.

 

INTERRUPCION RECONOCIDA: Señala que la interrupción pendiente se ha aceptado.

 

RELOJ: Se utiliza para sincronizar las operaciones.

 

INICIO: Pone los módulos conectados en su estado inicial.

 

El funcionamiento del bus se describe a continuación. Si un modulo desea enviar un dato a otro debe hacer dos cosas:

1)     Obtener el uso del bus.

2)     Transferir el dato a través del bus.

 

Si un modulo desea pedir un dato a otro modulo debe:

1)     Obtener el uso del bus

2)     Transferir la petición al otro modulo mediante las líneas de control y dirección apropiadas. Después debe esperar a que el segundo modulo envié el dato.

 

Físicamente, el bus de sistema es de hecho un conjunto de conductores eléctricos paralelos. Estos conductores son líneas de metal grabadas en una tarjeta (tarjeta de circuito impreso). El bus se extiende a través de todos los componentes del sistema.

JERARQUIA DE BUSES

 

 

Si se conecta un gran numero de dispositivos al bus, las prestaciones pueden disminuir. Hay dos causas principales:

 

1)     En general, a más dispositivos conectados al bus, mayor es el retardo de propagación. Este retardo determina el tiempo que necesitan los dispositivos para coordinarse en el uso del bus.

 

2)     El bus puede convertirse en un cuello de botella a medida que las peticiones de transferencia acumuladas se aproximan a la capacidad del bus. Este problema se puede resolver en alguna medida incrementando la velocidad a la que el bus puede transferir los datos y utilizando buses más anchos.

 

La mayoría de los computadores utilizan varios buses, normalmente organizados jerárquicamente.

Un bus local que conecta el procesador a una memoria cache, el bus de sistema, donde  se conecta todos los módulos de memoria principal.

Es posible conectar controladores de E/S directamente al bus de sistema. Una solución más eficiente consiste en utilizar uno o más buses de expansión.

 

 

ELEMENTOS DE DISEÑO DE UN BUS

 

 

Aunque existe una gran diversidad de diseños de buses, hay unos pocos parámetros o elementos de diseño que sirven para distinguir y clasificar los buses.

 

 

TIPOS DE BUSES

 

Las líneas del bus se pueden dividir en dos tipos genéricos: dedicadas y multiplexadas.

Un ejemplo de dedicación funcional, común en muchos buses, es el uso de líneas separadas para direcciones y para datos.

Las mismas conexiones se utilizan para la subsecuente transferencia de lectura o escritura de datos. Este método de uso de las mismas líneas para usos diferentes se llama MULTIPLEXADO EN EL TIEMPO.

La ventaja del multiplexado en el tiempo es el uso de menos líneas, cosa que ahorra espacio y normalmente costos.

 

 

 

 

 

METODO DE ARBITRAJE

 

En todos los sistemas, exceptuando los mas simples, puede necesitar el control del bus mas de un modulo. Por ejemplo, un modulo de E/S puede necesitar leer o escribir directamente en memoria, sin enviar el dato al procesador. Puesto que en un instante dado, solo una unidad puede transmitir a través del bus, se requiere algún método de arbitraje.

 

 

TEMPORIZACION

 

El termino temporización hace referencia a la forma en la que se coordinan los eventos en el bus. Con temporizacion sincronía, la presencia de un evento en el bus esta determinada por un reloj. El bus incluye una línea de reloj a través de la que se transmite una secuencia en la que se alternan intervalos regulares de igual duración a uno y a cero. Un único  intervalo a uno seguido de otro a cero se conoce como ciclo de reloj o ciclo de bus y define un intervalo de tiempo unidad.

 

Con la temporizacion asíncrona, la presencia de un evento en el bus es consecuencia y depende de que se produzca un evento previo.

 

 

ANCHURA DEL BUS

 

La anchura del bus de datos afecta a 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 las que se puede hacer referencia.

 

 

PCI

 

El bus PCI (Peripheral Component Interconnect, “interconexión de componente periféricos”)

Es un bus muy popular, de ancho de banda elevado, independiente del procesador, que se puede utilizar como bus de periféricos o bus para una arquitectura de entreplanta.

 

El PCI esta diseñado para permitir una cierta variedad de configuraciones basadas en microprocesadores, incluyendo sistemas tanto de uno como de varios procesadores. Por consiguiente, proporciona un conjunto de funciones de uso general. Utiliza temporizacion sincronía y un esquema de arbitraje centralizado.

 

ESTRUCTURA DEL BUS

 

El bus PCI puede configurarse como un bus de 32 o 64 bits.

El PCI se dividen en los grupos funcionales siguiente:

TERMINALES (“PATILLAS”) DE SISTEMA: Constituidas por los terminales de reloj y de inicio

 

TERMINALES DE DIRECCIONES Y DATOS: Incluye 32 líneas para datos y direcciones multiplexadas en el tiempo. Las otras líneas del grupo se utilizan para interpretar y validar las líneas de señal correspondientes a los datos y a las direcciones.

 

TERMINALES DE CONTROL DE LA INTERFAZ: Controlan la temporizacion de las transferencias y proporcionan coordinación entre los que las inician y los destinatarios.

 

TERMINALES DE ARBITRAJE: A diferencia de las otras líneas de señal del PCI, estas no son líneas compartidas. Cada maestro del PCI tiene su par propicio de líneas que lo conectan directamente al arbitro del bus PCI.

 

TERMINALES PARA SEÑALES DE ERROR: Utilizadas para indicar errores de paridad, u otros.

 

TERMINALES DE INTERRUPCION: Para los dispositivos PCI que deben generar peticiones de servicio. Igual que los terminales de arbitraje, no son líneas compartidas sino que cada dispositivo PCI tiene su propia línea o líneas de petición de interrupción a un controlador de interrupciones.

 

TERMINALES DE SOPORTE DE CACHE: Necesarios para permitir memorias cache en el bus PCI asociadas a un procesador o a otro dispositivo. Estos terminales permiten el uso de protocolos de coherencia de cache de sondeo de bus.

 

TERMINALES DE AMPLIACION A BUS DE 64 BITS: Incluye 32 líneas multiplexadas en el tiempo para direcciones y datos y se combinan con las líneas obligatorias de dirección y datos para constituir un bus de direcciones y datos de 64 bits. Hay otras líneas de este grupo que se utilizan para interpretar y validar las líneas de datos y direcciones. Por ultimo hay dos líneas que permiten que dos dispositivos PCI se pongan de acuerdo para usar los 64 bits.

 

TERMINALES DE TEST: Estas señales se ajustan al estándar IEEE 1149.1 para la definición de procedimientos de test.

 

 

ORDENES DEL PCI

 

La actividad del bus consiste en transferencias entre dos elementos, denominándose maestro al que inicia la transacción.

Los tipos de órdenes son:

 

·        Reconocimiento de interrupción

·        Ciclo especial

·        Lectura de E/S

·        Escritura en E/S

·        Lectura de memoria

·        Lectura de línea de memoria

·        Lectura múltiple de memoria

·        Escritura en memoria

·        Escritura e invalidación de memoria

·        Lectura de configuración

·        Escritura de configuración

·        Ciclo de dirección dual.