You are on page 1of 18

CURSO:

Sistemas Digitales
DOCENTE:
Ing. Ruiz Vega Enrique
ALUMNOS:
Arteaga Fernandez Alexis
Atalaya Seclen Fernando
Santacruz Estrella Aldair
TEMA:
Perspectivas del funcionamiento y de las
interconexiones del computador.
Componentes, estructura de interconexión
de buses
CICLO ACADEMICO:
2019-N
PERSPECTIVAS 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.

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 encarga 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:

1. 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.
2. 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.
3. El registro PC se incrementa, y se capta la siguiente instrucción (5941) desde la dirección
301.
4. El contenido anterior de AC y el de la posición de memoria 941 se suman, y el resultado se
almacena en AC.
5. El registro PC se incrementa, y se capta la siguiente instrucción (2941) desde la posición 302.
6. El contenido de AC se almacena en la posición 941.
ESTADOS DEL CICLO DE 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 una 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.
ESTRUCTURA DE INTERCONEXION DE BUSES
Existen dos organizaciones físicas de operaciones E/S que tienen que ver con los buses que son:
-Bus único
- Bus dedicado

La primera gran diferencia entre estas dos tipos de estructuras es que el bus único no permite un
controlador DMA (todo se controla desde la CPU), mientras que el bus dedicado si que soporta este
controlador.}

El bus dedicado trata a la memoria de manera distinta que a los periféricos (utiliza un bus especial)
al contrario que el bus único que los considera a ambos como posiciones de memoria (incluso
equipara las operaciones E/S con las de lectura/escritura en memoria). Este bus especial que utiliza
el bus dedicado tiene 4 componentes fundamentales:

- Datos: Intercambio de información entre la CPU y los periféricos.


- Control: Lleva información referente al estado de los periféricos (petición de interrupciones).
- Direcciones: Identifica el periférico referido.
- Sincronización: Temporiza las señales de reloj.

La mayor ventaja del bus único es su simplicidad de estructura que le hace ser más económico, pero
no permite que se realice a la vez transferencia de información entre la memoria y el procesador y
entre los periféricos y el procesador.

Por otro lado el bus dedicado es mucho más flexible y permite transferencias simultáneas. Por
contra su estructura es más compleja y por tanto sus costes son mayores.

You might also like