Está en la página 1de 16

PERSPECTIVAS DE ALTO NIVEL DEL FUNCIONAMIENTO Y DE LAS INTERCONEXIONES DEL

COMPUTADOR

Un ciclo de instrucción consiste en la captación de la instrucción, seguida de ninguno o varios


accesos a operandos, ninguno o varios almacenamientos de operandos y la comprobación de las
interrupciones.

Los principales componentes del computador deben de estar interconectados para el intercambio
de datos y señales de control, el medio de interconexión más usado es el bus compartido que está
constituido por un conjunto de líneas, una jerarquía de buses permite mejorar el nivel de
prestaciones.

En el diseño de los buses se debe tomar en cuenta:

-El arbitraje que se refiere al control de forma centralizada o distribuida de las señales a través de
las líneas del bus.

-La temporización que se refiere a si las señales del bus se sincronizan mediante un reloj central o
se envían asíncronamente.

-La anchura que refiere al número de líneas de dirección y de datos.

En Alto nivel se describe al computador de dos formas:

(1). Mediante el comportamiento de cada uno de sus componentes.

(2). Mediante la estructura de interconexión y los controles necesarios para gestionar el uso de
dicha estructura

La visión en alto nivel ayuda a entender la naturaleza de comprensión debido a sus capacidad
explicativa, también sirve para entender los complejos problemas de evaluación de prestaciones.

3.1 COMPONENTES DEL COMPUTADOR

El diseño de Von Newmann se basa en tres conceptos clave:

-Los datos y las instrucciones se almacenan en una sola memoria de lectura-escritura.

-Los contenidos de esta memoria se direccionan indicando su posición, sin considerar el tipo de
dato contenido en la misma.

-La ejecución se produce siguiendo una secuencia de instrucción tras instrucción.

Para el almacenamiento de datos y la realización de operaciones aritméticas y lógicas se utilizan


componente lógicos básicos que se encuentran con una configuración específica para cada cálculo.
El conjunto de los componentes conectados se denomina “programa cableado”.

Para evitar una reconfiguración del hardware para cada programa se hace uso del hardware de
uso general, el cual acepta datos y señales de control produciendo resultados; para cada nuevo
programa el programador sólo necesita proporcionar un nuevo conjunto de señales de control.

¿Cómo se suministran las señales de control?


El programa es una secuencia de pasos. En cada paso, se realiza una operación con ciertos datos.
Para cada paso se requiere un nuevo conjunto de señales de control. La solución consiste en
asociar un código específico a cada posible conjunto de señales de control, y añadir al hardware de
uso general una parte encargada de generar las señales de control a partir del código.

Cada código es de hecho una instrucción y una parte del hardware interpreta cada instrucción y
genera las señales de control.

Los datos y las instrucciones son introducidos en el sistema mediante un dispositivo de entrada,
este dispositivo contiene los componentes básicos para captar datos e instrucciones, y traducirlos
al formato de señales que utiliza el sistema. UN módulo de salida proporciona los resultados, a los
módulos de entrada y salida se les conoce como “componentes de E/S (Entrada/Salida)”.

Existen ciertas instrucciones como ejecutar la instrucción de salto IAS, y operaciones con datos
que necesiten acceder a más de un operando y de acuerdo a una secuencia por ello existe un
módulo llamado memoria, o memoria principal, esta memoria almacena temporalmente las
instrucciones y los datos.
La CPU se encargar del control e intercambia datos con la memoria, utiliza dos registros internos,
(1) registro de direcciones de memoria (MAR Memory ADdress Register) (especifica la dirección en
memoria de la próxima lectura o escritura (2) registro para datos de memoria (MBR) (Memory
Buffer Register) (contiene el dato que se va a escribir en memoria).

Un módulo de memoria consta de un conjunto de posiciones designadas por direcciones


numeradas secuencialmente. Cada posición contiene un número binario que se interpreta como
una instrucción o como un dato. Un módulo de E/S transfiere datos desde los dispositivos externos
a la CPU y a la memoria

3.2 FUNCIONAMIENTO DEL COMPUTADOR

La función básica que realiza un computador es la ejecución de un programa que está constituido
por un conjunto de instrucciones almacenadas en memoria. El procesador es quien se encarga de
ejecutar las instrucciones especificadas en el programa. Durante la ejecución del programa se
tiene dos aspectos o etapas:

-El procesador lee la instrucción de memoria y la ejecuta (ciclo de captación y ciclo de ejecución)

El procesamiento que requiere una instrucción se denomina ciclo de instrucción

LOS CICLOS DE CAPTACIÓN Y EJECUCIÓN


La CPU capta una instrucción de memoria, normalmente se usa un registro llamado contador de
programa (PC) para seguir la pista de la instrucción que se debe captar a continuación. El CPU
incrementa el PC después de captar una instrucción.

La instrucción captada se almacena en un registro de la CPU conocido como registro de


instrucciones (IR).La instrucción se escribe en binario para especificar la acción que debe realizar la
CPU, la CPU interpreta la instrucción y lleva a cabo la acción requerida que puede ser de 4 tipos:

-Procesador-Memoria: Los datos deben transferirse desde la CPU a la memoria o viceversa.

-Procesador-E/S: Los datos deben transferirse hacia el exterior mediante transferencias entre la
CPU y un módulo de E/S.

-Procesamiento de Datos: La CPU debe realizar una operación aritmética o lógica con los datos.

-Control: Una instrucción puede especificar que la secuencia de ejecución se altere.

La ejecución de una instrucción puede implicar una combinación de estas acciones.

**EJEMPLO:

El fragmento de programa suma el contenido de la palabra de memoria en la dirección 940 con el


contenido de la palabra de memoria en la dirección 941 y almacena el resultado en esta última
posición. Se requieren tres instrucciones, que consumen tres ciclos de captación y tres de
ejecución:

-El contador de programa (PC) contiene el valor 300, la dirección de la primera instrucción. Esta
instrucción (el valor hexadecimal 1940) se caiga en el registro de instrucción (IR). Obsérvese que
este proceso implicaría el uso del registro de dirección de memoria (MAR) y el registro de datos de
memoria (MBR). Por simplicidad, se han ignorado estos registros intermedios.

-Los primeros cuatro bits de IR (primer dígito hexadecimal) indican que el acumulador (AC) se va a
cargar. Los restantes 12 bits (tres dígitos hexadecimales) especifican la dirección (940) que se va a
cargar.

-El registro PC se incrementa, y se capta la siguiente instrucción (5941) desde la dirección 301.

-El contenido anterior de AC y el de la posición de memoria 941 se suman, y el resultado se


almacena en AC.

-El registro PC se incrementa, y se capta la siguiente instrucción (294) desde la posición 302.

-El contenido de AC se almacena en la posición 941.


ESTADOS DEL CICLODE INSTRUCCIÓN

-Cálculo de la dirección de la instrucción (IAC,Instruction Address Calculation): Determina la


dirección de la siguiente instrucción a ejecutar, en 16 bits se suma 1 a la dirección previa , si la
memoria se organiza en bytes (8bits) direccionables individualmente se suma 2 a la dirección
previa.

-Captación de instrucción (IF, Instruction Fetch): La CPU lee la instrucción desde sus posición en
memoria.

-Decodificación de la operación indicada en la instrucción (IOD,Instruction Operation Decoding):


Analiza la instrucción para determinar el tipo de operación a realizar.

-Cálculo de la dirección del operando (OAC, Operand Address Calculation): Si la instrucción implica
una referencia a un operando en memoria o disponible mediante E/S determina la dirección del
operando.

-Captación de operando (OF, Operand Fetch): Capta el operando desde memorio o se lee desde el
dispositivo de E/S

-Operación con los datos (DO, Data Operation): Realiza la operación indicada en la instrucción.

-Almacenamiento de operando (OS, Operand Store): Escribe e resultado en memoria o la saca a


través de un dispositivo de E/S.

Los estados en la parte superior de la Figura 3.6 ocasionan intercambios entre la CPU y la memoria
o un módulo de E/S. Los estados en la parte inferior del diagrama solo ocasionan operaciones
internas a la CPU.

INTERRUPCIONES

Todos los computadores disponen de un mecanismo por el cual otros módulos (E/S, memoria)
pueden interrumpir el procesamiento normal de la CPU.
Las interrupciones ayudan a mejorar la eficiencia del procesador

LAS INTERRUPCIONES Y EL CICLO DE INSTRUCCIÓN

Con el uso de interrupciones el procesador puede dedicarse a ejecutar otras instrucciones


mientras una operación de E/S está en curso.

Para permitir el uso de interrupciones, se añade un ciclo de interrupción al ciclo de instrucción:


En el ciclo de interrupción el procesador comprueba si se ha generado alguna interrupción esto
por una señal, si no hay señales de interrupción el procesador continúa con el ciclo de captación y
accede a la siguiente instrucción del programa en curso; en case de haber una interrupción
pendiente el procesador hace lo siguiente:

-Suspende la ejecución del programa y guarda su contexto, almacena la dirección de la siguiente


instrucción a ejecutar.

-Carga el contador de programa con la dirección de comienzo de un rutina de gestión de


interrupción.

A continuación el procesador prosigue con el ciclo de captación y accede a la primera instrucción


del programa de gestión de interrupción, que dará servicio a la interrupción

Deben ejecutarse instrucciones extra (en el gestor de interrupción) para determinar el origen de la
interrupción y para decidir la acción apropiada. No obstante, debido a la relativamente gran
cantidad de tiempo que se perdería simplemente por la espera asociada a la operación de E/S, el
procesador puede emplearse de manera mucho más eficiente utilizando interrupciones.

INTERRUPCIONES MÚLTIPLES: Para tratar interrupciones múltiples se tiene dos alternativas:

-Desactivar las interrupciones mientras se está procesando una interrupción, las interrupciones se
manejan en un orden secuencial estricto. El inconveniente es que no se tiene en cuenta la
prioridad relativa ni las solicitudes con un tiempo crítico.

Definir prioridades para las interrupciones y permitir que una interrupción de prioridad más alta
pueda interrumpir a un gestor de interrupción de prioridad menor
FUNCIONAMIENTO DE LAS E/S

Un módulo de E/S puede intercambiar datos directamente con el procesador. El procesador puede
leer o escribir datos de(o en) un módulo de E/S. Generalmente se permite que los intercambios de
E/S se produzcan directamente con las memoria, en ese caso el procesador cede a un módulo de
E/S la autoridad para leer o escribir en memoria.(acceso directo a memoria).

3.3. ESTRUCTURAS DE INTERCONEXIÓN

Un computador está constituido por un conjunto de unidades o módulos de tres tipos elementales
(procesador, memoria, E/S) que se comunican entre sí. Él conjunto de líneas que conectan los
diversos módulos se denomina estructura de interconexión. Entre los tipos de intercambios que
se necesitan se tienen:

-Memoria: Un módulo de memoria está constituido por N palabras de la misma longitud, estas
palabras tienen una única dirección numérica. La posición de memoria para la operación se
especifica mediante una dirección.

-Módulo de E/S: Un módulo de E/S es funcionalmente igual a una memoria, además puede
controlar más de un dispositivo externo.

Procesador: el procesador lee instrucciones y datos, utiliza ciertas señales para controlar el
funcionamiento del sistema, recibe señales de interrupcón.
La estructura de interconexión debe dar cobertura a los siguientes tipos de transferencia:

-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 módulo de E/S

-Procesador a E/S: El procesador envía datos al dispositivo de E/S

-Memoria a E/S y viceversa: Un módulo de E/S puede intercambiar datos directamente con la
memoria.

3.4 INTERCONEXIÓN CON BUSES

Un bus es el medio por el cual dos dispositivos pueden comunicarse, este medio de transmisión es
compartido, al bus se conectan varios dispositivos y cualquier señal que uno de estos dispositivos
mande estará disponible para los demás dispositivos, puede haber distorsión de señales cuando
dos dispositivos transmiten en el mismo periodo de tiempo cuando dos dispositivos.

Un bus está constituido por varios caminos de comunicación, o líneas. Cada línea puede transmitir
señales binarias. En un intervalo de tiempo se puede transmitir una secuencia de dígitos binarios a
través de una única línea, se puede usar varias líneas del bus para transmitir dígitos binarios en
paralelo.

Los computadores poseen diferentes tipos de buses que proporcionan comunicación entre sus
componentes a distintos niveles dentro de la jerarquía del sistema. El bus que conecta los
componentes principales del computador se denomina “bus del sistema”.

ESTRUCTURA DEL BUS

El bus del sistema está constituido usualmente por entre 50 y cien líneas, cada línea tiene una
función particular, las líneas se puede clasificar en:

-líneas de datos: Proporcionan el camino para la transmisión de datos, el conjunto de estas líneas
se denomina “bus de datos”, el número de líneas determina cuantos bits se puede transmitir a la
vez. El número de líneas se conoce como la anchura del bus.

-líneas de direcciones: Se utilizan para designar la fuente o destino del dato situado en el bus de
datos. La anchura de bus de direcciones determina la máxima capacidad de memoria posible en el
sistema. Los bits de orden más alto se utilizan para seleccionar una posición de memoria o un
puerto de E/S dentro de un módulo.

-líneas de control: Se usan para controlar el uso de las líneas de datos y de direcciones debido a
que están compartidas por todos los componentes. Transmiten órdenes e información de
temporización entre los módulos del sistema, estas señales de temporización indican la validez de
los datos y las direcciones, las órdenes especifican las operaciones a realizar. Algunas líneas de
control típicas son:

-escritura de 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 sitúe en el bus


-Escritura de E/S: Hace que el dato del bus se transfiera a través del puerto de E/S

-Lectura de E/S: Hace que el dato del puerto de E/S direccionado se sitúe en el bus

-Transferencia reconocida: Indica que el dato ha sido aceptado o situado en el bus

-Petición de bus: Un módulo necesita el bus

-Cesión de bus: ceder el bus al módulo

-Petición de interrupción: Interrupción pendiente

-Interrupción reconocida. Interrupción aceptada

-Reloj: sincronizar las operaciones

-Inicio: pone los módulos conectados en su estado inicial

*líneas de alimentación

El funcionamiento del bus se describe a continuación. Si un módulo desea enviar un dato a otro
debe hacer dos cosas: (1) obtener el uso del bus y (2) transferir el dato a través del bus. Si un
módulo desea pedir un dato a otro módulo, debe (1) obtener el uso del bus y (2) transferir la
petición al otro módulo mediante las líneas de control y dirección apropiadas. Después debe
esperar a que el segundo módulo envíe el dato.

Implementación física típica de una arquitectura de bus


JERARQUÍAS DE BUSES MÚLTIPLES

-A más dispositivos conectados al bus mayor es el retardo de propagación

-El bus puede sufrir de aglomeramientos de peticiones de transferencias, esto se puede resolver
incrementando la velocidad a la que el bus transfiere datos y utilizando buses más anchos, pero la
velocidad de transferencias que necesitan los dispositivos conectados al bus va en incremento, el
bus único tiende a dejar de utilizarse.

La mayoría de computadores utilizan varios buses organizados jerárquicamente. Hay un bus local
que conecta el procesador a una memoria caché y al que puede conectarse uno o más dispositivos
locales. El controlador de memoria caché conecta al bus local y al bus del sistema donde se
conectan todo los módulos de memoria principal.

Se puede conectar controladores de E/S directamente al bus de sistema. Un bus de expansión


permite regular las transferencias de datos entre el bus de sistema y los controladores al bus de
expansión, esto ayuda a aislar el tráfico de información entre le memoria y el procesador del
tráfico correspondiente a las E/S.

Esta arquitectura de buses es eficiente pero muestra debilidad a medida que los dispositivos de
E/S ofrecen prestaciones cada vez mayores. Una solución ha sido proponer un bus de alta
velocidad que se integre con el resto del sistema, arquitectura de entrplanta.
La ventaja de esta organización es que el bus de alta velocidad acerca al procesador los
dispositivos que exigen prestaciones elevadas y al mismo tiempo es independiente del procesador.
Así, se pueden tolerar las diferencias de velocidad entre el procesador y el bus de altas
prestaciones y las variaciones en la definición de las líneas de los buses. Los cambios en la
arquitectura del procesador no afectan al bus de alta velocidad, y viceversa

ELEMENTOS DEL DISEÑO DE UN BUS

Tipo: Una línea del bus dedicada está permanente asignada a una función o a un subconjunto
físico de componentes del computador, ejemplo para direcciones y datos.

La ventaja del multiplexado es el uso de menos líneas, pero se puede tener reducción en las
prestaciones debido a que los eventos deben compartir las misma líneas no pueden producirse en
paralelo.

Método de arbitraje: En un esquema centralizado un único dispositivo hardware “controlador del


bus o árbitro” asigna tiempos en el bus. En un esquema distribuido cada módulo dispone de
lógica para controlar el acceso, los módulos actúan conjuntamente para compartir el bus.

Temporización: Forma en que se coordina los eventos en el bus. Con temporización síncrona la
presencia de un evento en el bus está determinada por un reloj. El bus incluye una línea de reloj

Con a temporización asíncrona la presencia de un evento en el bus es consecuencia y depende de


que se produzca un evento previo

La temporización síncrona es más fácil de implementar y comprobar, pero es menos flexible que la
temporización asíncrona debido a que todos los dispositivos en un bus síncrono deben utilizar la
misma frecuencia de reloj. Con la temporización asíncrona puede compartir el bus una mezcla de
dispositivos lentos y rápidos.

Anchura del bus: La anchura del bus de datos afecta a las prestaciones del sistema. La anchura del
bus de direcciones se refiere al rango de posiciones a las que puede hacer referencia.

Tipos de transferencias de datos: Todos los buses permiten tanto transferencias de escritura
como de lectura.
3.5 PCI

El bus PCI (Peripheral Component Interconnect, Interconexión de Componente Periférico) 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 aquitectura de entreplanta.

EL bus PCI proporciona mejores prestaciones para los subisstemas de E/S de alta velocidad.

El estándar actual permite el uso de hasta d64 líneas de datos a 66MHz.


EL PCI ha sido diseñado específicamente para ajustarse económicamente a los requisitos de E/S de
los sistemas actuales, permite que otros buses se conecten al bus PCI.

Intel empezó trabajar en el PCI en 1990 pensando en sus sistemas basados en al Pentium

El PCI está diseñado para permitir una cierta variedad de configuraciones basadas en
microprocesadores, incluyendo sistemas de uno o varios procesadores.

ESTRUCTURA DEL BUS

Puede configurarse como un bus de 32 o 64 bits. Se dividen en los siguientes grupos funcionales:

-Terminales (patillas) de sistema Constituidas por los terminales de reloj y de inicio

-Terminales de direcciones y datos: 32 líneas para datos y direcciones multiplexadas en el tiempo.


Las otras líneas de grupo se utilizan para interpretar y validar las líneas de señal correspondientes
a los datos y direcciones.

-Terminales de control de la interfaz: Controlan la temporización de las transferencias y


proporcionan coordinación entre los módulos que las inician y los destinatarios.

-Terminales de arbitraje: Estas líneas no son compartidas, cada maestro del PCI tiene su par propio
de líneas que lo conectan con el árbitro del bus PCI

-Terminales para señales de error

TERMINALES OPCIONALES

-Terminales de Interrupción: Para los dispositivos PCI que deben generar peticiones de servicio, no
son compartida, cada PCI tiene su propia línea o líneas de petición de interrupción

-Terminales de soporte de caché: Necesarios para permitir memorias caché en el bus PCI
asociados a un procesador o a otro dispositivo.
-Terminales de ampliación a bus de 64 bits: Incluye 32 líneas multiplexadas en el tiempo para
direcciones y datos

-Terminales de test

ÓRDENES DEL PCI

La actividad del bus consiste en transferencias entre elementos conectados al bus,


denominándose maestro al que inicia las transferencias. Cuando un maestro del bus adquiere
control del mismo determina el tipo de transferencia que se producirá. Los tipos de órdenes son:

-reconocimiento de interrupción

-ciclo especial: se usa para iniciar la difusión de un mensaje a uno o varios destinos

-lectura de E/S

-escritura de 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

TRASFERENCIAS DE DATOS

Toda transacción de datos en el bus PCI es única que consta de una fase de direccionamiento y
una o más fases de datos

ARBITRAJE

El bus PCI utiliza un esquema de arbitraje centralizado síncrono, Cada maestro tiene una única
señal de petición (REQ) y cesión (GNT) del bus. Estas líneas se conectan a un árbitro central y se
utiliza un simple intercambio de las señales de petición y cesión para permitir acceso al bus.

También podría gustarte