Upload
jose-a-castillo
View
228
Download
0
Embed Size (px)
DESCRIPTION
Trabajo acerca de la Arquitectura del Computador
Citation preview
INTRODUCCIÓN
La arquitectura de computadoras es el diseño conceptual y la
estructura operacional fundamental de un sistema que conforma una
computadora. Es decir, es un modelo y una descripción funcional de los
requerimientos y las implementaciones de diseño para varias partes de una
computadora, con especial interés en la forma en que la unidad central de
proceso (CPU) trabaja internamente y accede a las direcciones de memoria.
La arquitectura de una computadora explica la situación de sus
componentes y permite determinar las posibilidades de
un sistema informático, con una determinada configuración, pueda realizar
las operaciones para las que se va a utilizar. La arquitectura básica de
cualquier ordenador completo está formado por solo 5 componentes básicos:
procesador, memoria RAM, disco duro, dispositivos de entrada/salida y
software.
1
Arquitectura Clásica de un Computador Modelo Von Neumann
La arquitectura Von Neumann tiene sus orígenes en el trabajo del
matemático John Von Neumann desarrollado con John Mauchly y John P.
Eckert y divulgado en 1945 en la Moore School de la Universidad de
Pensilvania, Estados Unidos, en el que se presentaba e EDVAC ( Electronic
Discrete Variable Automatic Computer). De aquí surgió la arquitectura del
programa almacena en memoria y búsqueda/ejecución secuencial de
instrucciones. En términos generales una computadora tiene que realizar 3
funciones:
1. Procesamiento de Datos
2. Almacenamiento de Datos
3. Transferencia de Datos
Tal que un PC (Personal Computer) debe procesar datos, transformando
la información recibida, de igual forma tiene que almacenar datos, como
resultado final de estas. También debe de realizar transferencia de
datos entre su entorno y el mismo. La arquitectura de un computador hace
referencia a la organización de sus elementos en módulos con una
funcionabilidad definida y a la iteración entre ellos. En el esquema de la
Figura 1.1 se muestra la estructura básica de Von Neumann que debe llevar
una computadora para su correcta operación.
Diferencias entre Arquitectura y Organización
La organización de una computadora y su arquitectura están
estrechamente relacionadas; sin embargo, no se deben confundir la
arquitectura con la organización, que en algunos casos suele ser usada
como un sinónimo de esta última, puesto que la arquitectura se enfoca a la
forma de construir las unidades funcionales para que realicen las funciones
2
especificadas por su organización, al igual que su forma de comunicarse e
interactuar entre ellas.
Un ejemplo de atributos de la arquitectura computacional son el
número de bits usados para representar los tipos de datos, mecanismos de
entrada/salida, entre otros. Algunos de los atributos de la organización son
las interfaces entre la computadora y los periféricos, las señales de control
en el hardware y la tecnología de la memoria usada.
CPU (por el acrónimo en inglés de central processing unit)
La unidad central de proceso es el corazón del computador. Controla
el flujo de datos, los procesa, y gobierna el secuencia miento de las acciones
en todo el sistema. Para ello necesita un oscilador externo o reloj que
sincroniza las operaciones y marca la velocidad de proceso, este
va marcando la evolución del CPU y mide su velocidad de funcionamiento;
en forma no afortunada la frecuencia del reloj del CPU viene limitada por la
tecnología del CPU y del computador completo ya dependiendo de los
periféricos, sus tarjetas gráficas, memorias, etc. Por lo tanto, el uso excesivo
de los recursos que tenga la computadora puede resultar un
sobrecalentamiento que deteriore parcial o totalmente la CPU.
Memoria
Es la responsable del almacenamiento de datos.
Entrada/Salida
Como sabemos una computadora tiene dispositivos de entrada y
salida como son los que contiene el gabinete, disco duro, placa madre,
unidades de CD o DVD, etc. El problema principal que existe entre ellos es
su tecnología y que tienen características diferentes a los del CPU, estos
también necesitan una interfaz de cómo se van a entender con el CPU, al
3
igual que el procesador y el controlador periférico para intercambiar datos
entre la computadora.
La interfaz de E/S decodifica el bus de direcciones para detectar que
el CPU se dirige a él. El direccionamiento es muy similar a la de las
memorias. El bus de datos se utiliza para el paso de datos entre el periférico
y la memoria. Las líneas especiales de control sirven para coordinar y
sincronizar la transferencia.
Sistema de interconexión (Buses)
Es el mecanismo que permite el flujo de datos entre la CPU, la
memoria y los módulos de entrada/salida. Aquí se propagan las señales
eléctricas que son interpretadas como unos y ceros lógicos.
Periféricos
Estos dispositivos son los que permiten la entrada de datos al
computador, y la salida de información una vez procesada. Un grupo de
periféricos puede entenderse como un conjunto de transductores entre la
información física externa y la información binaria interpretable por el
computador. Ejemplos de estos dispositivos son el teclado, el monitor, el
ratón, el disco duro y las tarjetas de red.
Unidad Central de Procesamiento
Controla el funcionamiento de los elementos de un computador.
Desde que el sistema es alimentado por una corriente, este no deja de
procesar información hasta que se corta dicha alimentación. La CPU es la
parte más importante del procesador, debido a que es utilizado para realizar
todas las operaciones y cálculos del computador
4
Unidad de Control (UC)
La unidad de control se encarga de leer de la memoria las
instrucciones que debe de ejecutar y de secuenciar el acceso a los datos y
operaciones a realizar por la unidad de proceso. La UC genera las señales
de control que establecen el flujo de datos en todo el computador e interno
en la CPU. Una instrucción no es más que una combinación de unos y ceros.
Consta de un código de operaciones binarias para ejecutar la instrucción, la
UC la almacena en un registro especial, interpreta su código de operación y
ejecuta la secuencia de acciones adecuada, en pocas palabras decodifica la
instrucción.
· Unidad Aritmética Lógica o ALU
Es la parte de la CPU encargada de realizar las transformaciones de
los datos. Gobernada por la UC, la ALU consta de una serie de módulos que
realizan operaciones aritméticas y lógicas. La UC se encarga de seleccionar
la operación a realizar habilitando los caminos de datos entre los diversos
operadores de la ALU y entre los registros internos.
El procesador después de acceder a memoria principal para copiar la
instrucción en el registro de instrucción, inicia la secuencia de acciones
propias de cada instrucción. Muchas de estas instrucciones consisten en la
transformación de datos mediante la realización de operaciones lógicas o
aritméticas. Para realizar estas operaciones existe un bloque especial de la
CPU denominado Unidad Aritmético Lógica (ALU).
Gobernada por la unidad de control, la ALU tiene como entradas los
datos almacenados en los registros internos de la CPU. Adicionalmente, la
ALU tiene como salida los indicadores de estado que señalan las
características del resultado de la última operación (por ejemplo, si el
resultado ha sido cero, negativo, etc.).
5
La ALU a su vez está compuesta por diversos circuitos especializados
en realizar una transformación particular de los datos, típicamente una
operación aritmética o lógica. Como ejemplo una ALU puede disponer de una
unidad de suma/resta de enteros, una unidad de multiplicación de enteros,
una unidad de división de enteros y su equivalente en punto flotante.
Estos módulos en los que se divide la ALU se pueden clasificar en
función de diversos parámetros. Los criterios más habituales que van a
caracterizar los módulos de la ALU son:
Módulo Combinacional o secuencial
En el caso de módulos combinacionales se tiene un circuito digital
combinacional, sin elementos de memoria. Si se modifica uno de los
operandos el resultado se modifica con un retraso que vendrá dado por la
suma de los retrasos de todas las puertas que intervienen en la operación.
Número de Operandos del Módulo
Hay módulos que solamente emplean un operando, como es el de la
negación, pero habitualmente la mayoría de los módulos realizan
operaciones que utilizan dos operadores, como son la suma, división o AND
lógico.
Incorporación de Paralelismo al Módulo
Si el módulo realiza la operación bit a bit se dirá que es serie, sin
embargo, si se transforma toda la palabra simultáneamente se dirá que es
paralelo. El primero es de tipo secuencial y requiere tantas fases como
dígitos tengan los operandos, mientras que el segundo es de tipo paralelo.
·
6
Operación Aritmética o Lógica
La operación realizada puede ser de tipo lógico (AND, OR). O de tipo
aritmético (suma, multiplicación.
Integración en la CPU
Puede ocurrir que parte de los módulos de la ALU estén integrados
en la CPU (típicamente los que realizan operaciones lógicas o aritméticas
con números enteros), y otros sean externos a la CPU debido a que son muy
complejos y ocupan mucha superficie de silicio. Es el caso de los
coprocesadores matemáticos que se utilizaban en procesadores.
Un ejemplo de módulo ALU es el sumador elemental de 1 bit. Este
operador es aritmético y utiliza dos operandos. Suponiendo que una palabra
tiene una anchura de 8 bits, si se conectan 8 sumadores elementales se
obtiene un sumador paralelo. Sin embargo, si la unidad de control suministra
de manera secuencial los bits a una sola unidad de suma elemental y
almacena el resultado parcial en un registro, se trata de un sumador serie.
La principal ventaja del operador serie es que es más pequeño y por
tanto ocupa menos superficie de silicio. La desventaja de este módulo es que
es más lento que el operador paralelo. Cabe destacar cómo el operador serie
ocupará más de 1/8 parte del módulo paralelo, al incluir también la UC
módulos que secuencian las operaciones.
Estructura y Operaciones de la ALU
La ALU está formada por un conjunto de operadores, un conjunto de
registros que van a almacenar los operandos fuente y resultados parciales y
unos biestables de estado. El órgano secuenciador (si hay operadores
secuenciales) se integran en la UC.
7
Las operaciones más complejas no se implementan con circuitos
combinacionales, ya que requerirían una gran superficie de silicio. Será la
unidad de control la que se encarga de generar la ejecución secuencial de
los algoritmos de las operaciones complejas. Un ejemplo típico son las
operaciones de multiplicación y división. Este tipo de operaciones en
procesadores pequeños no suele implementarse con lógica combinacional
dentro del operador, sino que su ejecución se basa en sumas y restas
elementales realizadas en módulos combinacionales.
Las ALUs suelen tener varios operadores que pueden funcionales
independientemente de los demás y en algunos casos en paralelo. El banco
de registros de propósito general sirve para almacenar resultados de
operaciones intermedias, típicamente una ALU de tamaño intermedio suele
tener de 8 a 16 registros. En algunas CPU existe un registro especial
llamado acumulador que recibe los resultados del operador y ciertas
operaciones sólo pueden realizarse sobre el contenido del acumulador.
El registro de estado del procesador consta de una serie de
indicadores o flags que almacenan información sobre el resultado de la
última operación realizada.
Las operaciones más frecuentes que implementan los operadores de
la ALU son las siguientes:
1. Desplazamientos: lógicos, circulares y aritméticos.
2. Operaciones lógicas: NOT, AND, OR, XOR.
3. Operaciones aritméticas: suma, resta, multiplicación y división.
Estas operaciones se pueden ejecutar de diversas maneras,
dependiendo del paralelismo que implemente en cada una de ellas. A mayor
paralelismo, mayor rapidez; pero habrá más unidades funcionales, con lo que
8
la ALU ocupará más superficie de silicio y por tanto será más cara. Las
operaciones básicas y más frecuentes (suma-7resta, desplazamientos y
operaciones lógicas) siempre se implementan con una unidad combinacional
específica.
Los procesadores más potentes incorporan unidades específicas para
realizar las operaciones de multiplicación y división en coma flotante,
quedando para coprocesadores aritméticos y programas específicos
operaciones como raíces y operaciones trigonométricas.
· Registros Internos
El almacenamiento de los resultados a la ejecución de las
instrucciones en la memoria principal podría ser lento y excesivamente
tendría muchos datos en el sistema de interconexión con la memoria, con lo
que el rendimiento bajaría. De la misma manera también se almacenan en
registros internos la configuración interna del CPU o la información durante la
última operación de la ALU. Los principales registros de un CPU son:
Contador de programa: Se encarga de almacenar la dirección de la
siguiente instrucción a ejecutar.
Registro de Instrucción: Se almacena la instrucción capturado en memoria
y la que se está ejecutando.
Registro de Estado: Compuesto por una serie de bits que informan el
resultado obtenido en la última operación de la ALU.
Registro Acumulador: Algunos CPU’s realizan operaciones aritméticas en
un registro llamado acumulador, su función es la de almacenar los
resultados de las operaciones aritméticas y lógicas.
9
Memoria
En la memoria se almacena el programa y los datos que va a ejecutar
el CPU. Las instrucciones son códigos binarios interpretados por la unidad de
control, los datos de igual manera se almacenan de forma binaria.
Las diversas tecnologías de almacenamiento, dependen del tiempo
de acceso a los datos; por lo tanto se realiza un diseño jerárquico de la
memoria del sistema para que esta pueda acceder rápidamente a los datos.
El principio de que sea más rápida la memoria haciendo que tenga
velocidades similares al CPU, sirve para diseñar el sistema de memoria.
Circuitos de Memoria
El almacenamiento de la información se hace a través de
dispositivos de memoria que almacenan la información de forma binaria para
después tener la posibilidad de recuperar dichos datos. Estos contribuyen
una jerarquía en la que están más cerca de la CPU los dispositivos más
rápidos y en niveles más alejados los dispositivos más lentos. Los
parámetros más importantes para medir los circuitos de memoria son:
· Tiempo de Acceso: Es el tiempo necesario para poder recuperar la
información de los dispositivos de memoria.
· Densidad de Información: Depende de la tecnología utilizada ya que
ocupan un espacio distinto por cada bit de información.
· Volatilidad: Se refiere a la pérdida de información si no se mantiene
en alimentación al circuito, esta información debe de recuperarse de forma
automática cuando se conecte de nuevo la alimentación y comience el
funcionamiento de la computadora.
10
RAM Estática Asíncrona
Es una memoria volátil, de acceso rápido que puede almacenar y
leer información su característica es que la hace ideal para ser memoria
principal en los ordenadores, la celda de almacenamiento de la SRAM
contiene 4 transistores MOS que almacenan 1 y 0 mientras se mantenga la
alimentación del circuito.
RAM Estática Síncrona
Utiliza la misma tecnología que las SRAM, con lo que son volátiles
y de rápido acceso. La diferencia es que existe una señal de reloj que
sincroniza el proceso de lectura y escritura. Las memorias cache externas de
algunos microprocesadores son de este tipo para facilitar el acceso de datos
en modo ráfaga y acelerar el proceso de acceso a bloques de memoria.
RAM Dinámica
La DRAM tiene capacidades que accede con un solo transistor, en
vez de celdas con varios transistores. El problema es que las capacidades se
descargan mediante la corriente de pérdidas de transistores y aparte son
lentas comparadas con la SRAM; tienen una estructura de forma de matriz,
estando multiplexadas las direcciones en forma de filas y columnas, tienen
modos de acceso más rápido en lo que suministra la parte alta de dirección;
este modo de acceso se denomina modo página y acelera el acceso al no
tener que suministrar para cada acceso la dirección de página completa.
Memoria ROM
Las memorias de solo lectura una vez que han sido escritas o
programadas solo se puede leer el contenido de las celdas, se suelen utilizar
para almacenar el código que permite arrancar a los sistemas; estas se
fabrican para aplicaciones masivas con máscaras de silicio. Hay 3 tips de
11
memorias ROM que pueden ser programadas en el laboratorio, algunas
pueden ser borradas.
Memoria PROM
Son memorias ROM programables eléctricamente mediante un
programador especial que genera picos de alta tensión, que funden
físicamente unos fusibles grabando en el dispositivo de forma permanente.
Tienen el inconveniente que no pueden ser borradas y para su lectura
requieren una tarjeta especial.
Memoria EPROM
Se programan también con un dispositivo de programación conectado
al ordenador la diferencia con la PROM es que estas si se pueden borrar; se
realiza mediante rayos UV, para que suceda esto las EPROM tienen una
ventana de cuarzo pequeña transparente en la cual se hace la exposición de
la matriz de celdas como se muestra en la figura 1.6. Una vez programadas
se tiene que etiquetar esta ventana para evitar que sea borrada
accidentalmente.
Memoria Cache
La caché es la memoria de acceso rápido de una computadora, que
guarda temporalmente los datos recientemente procesados. La memoria
caché es un búfer especial de memoria que poseen las computadoras, que
funciona de manera similar a la memoria principal, pero es de menor tamaño
y de acceso más rápido. Es usada por el microprocesador para reducir el
tiempo de acceso a datos ubicados en la memoria principal que se utilizan
con más frecuencia. La caché es una memoria que se sitúa entre la unidad
central de procesamiento (CPU) y la memoria de acceso aleatorio (RAM)
para acelerar el intercambio de datos.
12
Memoria Caché Nivel 1
También llamada memoria interna, se encuentra en el núcleo del
microprocesador. Es utilizada para acceder a datos importantes y de uso
frecuente, es el nivel en el que el tiempo de respuesta es menor. Su
capacidad es de hasta 128 kb. Este nivel se divide en dos:
Nivel 1 Data Cache: Se encarga de almacenar datos usados
frecuentemente y cuando sea necesario volver a utilizarlos, accede a ellos en
muy poco tiempo, por lo que se agilizan los procesos.
Nivel 1 Instruction Cache: Se encarga de almacenar instrucciones usadas
frecuentemente y cuando sea necesario volver a utilizarlas, inmediatamente
las recupera, por lo que se agilizan los procesos.
Memoria Caché Nivel 2
Se encarga de almacenar datos de uso frecuente. Es más lenta que la
caché L1, pero más rápida que la memoria principal (RAM). Se encuentra en
el procesador, mas no es su núcleo. Genera una copia del nivel 1. Su
capacidad es de hasta 1 Mb.
Caché Exclusivo: Los datos solicitados se eliminan de la memoria caché L2.
Caché Inclusivo: Los datos solicitados se quedan en la memoria caché L2.
Memoria Caché Nivel 3
Esta memoria se encuentra en algunos procesadores modernos y
genera una copia a la L2. Es más rápida que la memoria principal (RAM),
pero más lenta que L2. En esta memoria se agiliza el acceso a datos e
instrucciones que no fueron localizadas en L1 o L2.Es generalmente de un
13
tamaño mayor y ayuda a que el sistema guarde gran cantidad de información
agilizando las tareas del procesador.
Sistema de Interconexión (Buses)
La conexión de los diversos componentes de una computadora,
tales como discos duros, tarjetas madres, unidades de CD, teclados, ratones,
etc. se efectúan a través de los buses. Un bus se define como un enlace de
comunicación compartido que usa múltiples cables para conectar
subsistemas. Cada línea es capaz de transmitir una tensión eléctrica que
representa un ‘1’ o un ‘0’. Cuando hay varios dispositivos en el mismo bus,
habrá uno que podrá enviar una señal que será procesada por los demás
módulos. Si se mandan los datos al mismo tiempo marcara un error o una
contención del bus, por lo que el acceso estará denegado.
En este sentido, el bus es un dispositivo en común entre dos o más
dispositivos, si dos dispositivos transmiten al mismo tiempo señales las
señales pueden distorsionarse y consecuentemente perder información. Por
dicho motivo existe un arbitraje para decidir quién hace uso del bus.
Por cada línea se pueden trasmitir señales que representan unos y
ceros, en secuencia, de a una señal por unidad de tiempo. Si se desea por
ejemplo transmitir 1 byte, se deberán mandar 8 señales, una detrás de otra,
en consecuencia se tardaría 8 unidades de tiempo. Para poder transmitir 1
byte en 1 sola unidad de tiempo tendríamos que usar 8 líneas al mismo
tiempo. Existen varios tipos de buses que realizan la tarea de interconexión
entre las distintas partes del computador, al bus que comunica al procesador,
memoria y E/S se lo denomina bus del sistema.
La cantidad de líneas del bus a medida que pasa el tiempo se va
incrementando como uno de los métodos para incrementar la velocidad de
14
transferencia de señales en el computador, y así incrementar el desempeño.
Cada línea tiene un uso específico, y hay una gran diversidad de
implementaciones, pero en general podemos distinguir 3 grandes grupos de
buses:
Bus de Datos: Por estas líneas se transfieren los datos, pueden ser de 8,
16, 32 o más líneas, lo cual nos indica cuantos datos podemos transferir al
mismo tiempo, y es muy influyente en el rendimiento del sistema. Por
ejemplo si el bus es de 8 líneas y las instrucciones son de 16 bits, el sistema
va a tener que acceder 2 veces a memoria para poder leer la instrucción, el
doble de tiempo en leer instrucciones comparando con un bus de datos de
16 líneas.
Bus de Direcciones: Por estas líneas se envía la dirección a la cual se
requiere hacer referencia para una lectura o escritura, si el bus es de 8 líneas
por ejemplo, las combinaciones posibles para identificar una dirección irían
del 00000000 al 11111111, son 256 combinaciones posibles, en
consecuencia el ancho del bus de datos nos indica la cantidad de direcciones
de memoria a la que podemos hacer referencia. Dentro de las direcciones
posibles, en general el sistema no usa todas para hacer referencia a la
memoria principal, una parte las usa para hacer referencia a los puertos de
E/S.
Bus de Control: Estas líneas son utilizadas para controlar el uso del bus de
control y del bus de datos. Se transmiten órdenes y señales de
temporización. Las órdenes son muy diversas, las más comunes son:
1. Escritura en memoria.
2. Lectura de memoria.
3. Escritura de E/S.
4. Lectura de E/S.
5. Transferencia reconocida.
15
6. Petición del bus.
7. Sesión del bus.
8. Petición de interrupción.
9. Interrupción reconocida.
10. Señal de reloj.
11. Inicio
Jerarquía de buses
Para mejorar el rendimiento del bus, las jerarquías de buses fueron
implementadas cada vez más, una primera aproximación a una jerarquía de
bus básica seria como la que se muestra en la figura.
Primero tenemos un bus local, de alta velocidad que conecta el
procesador a la cache, el controlador de la cache también puede acceder al
bus del sistema, con esta implementación, la mayor parte de los datos a los
que va a acceder el procesador, que están en la cache, serán entregados a
una alta velocidad, otro punto a destacar de esta parte es que los accesos a
memoria por parte de la cache no van a interrumpir el flujo de datos entre
procesador y cache. También se ve la posibilidad de conectar un dispositivo
de entrada salida al bus local.
Luego tenemos el bus del sistema, al cual está conectada la memoria
y por debajo el bus de expansión, al cual se pueden conectar una amplia
diversidad de dispositivos, entre el bus del sistema y el bus de expansión se
encuentra una interface, que entre las principales tareas está la de adaptar
las velocidades de transmisión, por ejemplo para un dispositivo muy lento
conectado al bus de expansión la interface podría acumular una cierta
cantidad de datos y luego transmitirla a través del bus del sistema.
El hecho de que cada vez más salgan al mercado dispositivos que
requieren más velocidad de transmisión en los buses, hizo que los
16
fabricantes implementaran los buses de alta velocidad, el cual está muy
estrechamente ligado al bus local, solo hay un adaptador que los une.
Debajo de este bus tenemos el bus de expansión, más lento conectado
mediante otro adaptador.
Tipos de buses
Una clasificación que podemos hacer es según la funcionalidad de
este, los podríamos dividir en dedicados o multiplexados.
Un ejemplo común de dedicados serian el bus de datos y el bus de
direcciones, cada uno se utiliza solo para una función específica. Esta
situación de bus de datos y de direcciones dedicados es lo más común, pero
podría llegar a implementarse con un solo bus multiplexado el tiempo. Esto
funcionaria a grandes rasgos de la siguiente forma:
Al comienzo de la transferencia se sitúa en el bus la dirección de
donde se quiere leer o a donde se desea escribir, luego se emite por el bus
de datos una señal indicando que en el bus se encuentra una dirección
valida.
A partir de ese momento se dispone de una unidad de tiempo para
que los dispositivos identifiquen si es su dirección, luego de esto se pone en
el mismo bus los datos y se realiza la transferencia en el sentido que lo
indique una orden emitida por el bus de control. La Ventaja de este método
es la reducción de la cantidad de líneas, lo cual ahorra espacio y costos, la
desventaja son que para poder implementar la forma de operar la circuitería
en cada módulo tiene que ser más compleja, y que el rendimiento del
sistema será menor por no poder transmitir los datos simultáneamente, en
paralelo (datos y dirección).
Otro tipo de clasificación podría ser según su dedicación física:
Podríamos poner como ejemplo el bus de E/S, el cual se encarga de
17
conectar solo los dispositivos de E/S, este bus se conecta al bus principal
mediante algún adaptador, la ventaja está en que al ser dedicado solo a E/S,
el rendimiento de este va a ser mejor, ya que solo van a operar con él los
módulos de E/S, y no va a haber tanta competencia por el bus.
Método de Arbitraje
Por la razón de que en un momento dado solo puede usar el bus un
solo dispositivo, debe existir un método para decidir quién hace uso de él.
Todos los métodos que existen en general pueden ser clasificados en 2
grandes grupos:
· Arbitraje Centralizado: Una parte del hardware del sistema
denominada controlador del bus se encarga de decidir el uso del bus en cada
momento, este dispositivo puede ser un módulo separado o puede estar
incorporado al procesador.
· Arbitraje Distribuido: En este esquema no existe un controlador
centralizado, en su lugar, cada dispositivo que hace uso del bus tiene que
tener incorporada la lógica necesaria para poder interactuar con los demás
dispositivos y decidir quién hace uso del bus.
En cualquiera de los dos casos lo que se busca es que se decida
quién va a tener la posesión del bus en un momento dado, procesador,
módulo de E/S o memoria, al cual se lo denomina maestro del bus, el
maestro del bus establecerá una comunicación con otro dispositivo (lectura o
escritura) al cual se lo denominara esclavo.
Temporización
La temporización clasifica al método utilizado para coordinar los
eventos dentro del bus. Según la temporización usada podemos clasificar los
buses en 2 grupos.
18
Temporización Síncrona
Todos los eventos del bus se rigen a través del reloj del computador.
Una de las líneas del bus transmite continuamente una señal de reloj,
simplemente una secuencia de unos y ceros, la cual puede ser leída por
todos los dispositivos conectados al bus. Al intervalo transcurrido en la
emisión de un uno y un cero se lo llama ciclo de reloj, todos los eventos
ocurridos dentro del bus comienzan el principio del ciclo y puede durar uno
más. En este método de temporización todos van al ritmo del reloj como
mostramos en la figura
Las líneas solo pueden tener uno de dos estados, uno o cero. La
velocidad en el ritmo que se alterna de un uno a un cero en la línea del reloj
nos da la velocidad del bus, y como todas las operaciones se van a realizar
al ritmo del reloj, al aumentar la velocidad del ciclo vamos a aumentar la
velocidad del sistema.
Con referencia al gráfico de un ciclo de lectura de datos, el maestro (el
que tiene permiso para el uso del bus) pone en el bus de direcciones la
dirección de la cual desea leer su contenido, luego de haber puesto la
dirección en las líneas correspondientes, envía por una línea del bus de
control una señal indicando que desea hacer una lectura, el dispositivo
correspondiente a esa dirección reconoce la dirección, y pone en el bus de
datos la información solicitada, tras lo cual, manda otra señal por una línea
del bus de control indicando que se le ha reconocido su petición (que los
datos situados en el bus de datos son válidos, son los datos solicitados)
Todo con este método de temporización empieza o finaliza rigiéndose
de las señales del reloj, en general la mayoría de los eventos tiene un
duración de un ciclo.
19
Temporización Asincrónica
Acá los eventos no se rigen por la línea del reloj, en general todo
evento es disparado por otro evento anterior.
El procesador pone en el bus de direcciones la dirección a ser leída y
en el bus de control por la línea correspondiente señal de lectura, luego de
un breve tiempo para que las señales eléctricas se estabilicen, se manda
señal por la línea MSYN (sincronización del maestro) indicando que hay
señales validas en el bus de dirección y de control, el modulo
correspondiente reconocerá su dirección, pone el dato solicitado en el bus de
datos y emite una señal SSYN(sincronización del esclavo) por el bus de
control indicando en las señales del bus de datos que la información es
válida.
La temporización síncrona es más fácil de implementar y comprobar,
pero es menos flexible que la síncrona. Por ejemplo, en el caso de que
hubiesen varios dispositivos conectados al bus, de distintas velocidades,
todos tienen que funcionar a la velocidad del reloj, si hay uno más rápido,
este tiene que bajar su velocidad: En cambio con el asíncrono, cada uno
funcionaria a su velocidad, en el mismo bus se trabajaría a distintas
velocidades, cada transferencia se haría con la velocidad óptima de sus dos
partes (maestro-esclavo).
Ancho del Bus
La anchura del bus es simplemente la cantidad de líneas que posee, y
está directamente relacionado con el rendimiento del sistema, cuanto más
ancho el bus de direcciones, mayor va a ser la cantidad de direcciones
posibles utilizadas para direccionar memoria y dispositivos de E/S, y cuanto
más ancho el bus de datos, mayor será la cantidad de bits que se va a poder
transmitir en paralelo.
20
El BUS ISA ( Industry Standard Architecture)
Desarrollado por IBM en 1981 fue el primer bus de expansión
incorporado en los ordenadores personales. Posee una velocidad de
funcionamiento de 4.77 Mhz y 8 bits ( con un ancho de banda máximo de 2
MB/seg). Posteriormente con la aparición de los ordenadores AT, este bus
de expansión de vio ligeramente modificado, denominándose bus AT-ISA.
Las modificaciones consistieron en la ampliación del conector para obtener
16 bits.
Con el paso de los años, en 1986 el bus AT se modificó con un
estándar complementario y desde entonces se ha denominado bus ISA.
Desde hace ya algún tiempo, el bus ISA ha dejado paso al bus PCI aunque
algunas placas base continúan incluyendo una o dos ranuras ISA.
A partir de las placas base para Pentium II ya no se montaron ranuras
de 8 bits aunque esto no supuso ninguna desventaja ya que las tarjetas de 8
bits podían seguir instalándose en la ranura ISA.
ISA Plug & Play
Gracias a la tecnología Plug & Play la configuración del PC es hoy
prácticamente automática y permite integrar fácilmente en el sistema las
tarjetas de expansión. Pero lamentablemente en la práctica no siempre es
así, a veces se trata de armonizar una mezcla de dispositivos y tecnologías
tan diferentes que llegan a confundir a cualquier usuario. En todo esto, los
siguientes componentes juegan un papel importante:
· BIOS Plug & Play.
· PCI Plug & Play.
· ISA Plug & Play.
21
· Diseño Plug & Play especifico del fabricante del dispositivo.
· Plug & Play del sistema operativo.
Como podemos comprobar hay varios factores que desempeñan su
papel y normalmente el problema suele aparecer en las relaciones entre las
diferentes unidades. Por otro lado se da el hecho de que el termino Plug &
Play no está patentado, y aunque aparezca con grandes letras en el
envoltorio del PC la realización de esta función puede ser muy diferente de lo
esperado, aunque cada vez menos. En sus inicios, con este término solo se
quería expresar que no era necesario colocar ningún jumper, y a partir de ahí
ya no existía ninguna funcionabilidad Plug & Play tal y como Intel y Microsoft
las definieron en su momento.
Estas tarjetas funcionaban y se configuraban sin jumpers o
interruptores DIP, en base a un método especifico del fabricante y que
simplificado se puede presentar así: la posición de los interruptores se
sustituirá por un latch o un chip de registro. Con un controlador de software
generalmente antes del programa de instalación y se utilizaban para la tarjeta
hasta el siguiente proceso de arranque. Pero la configuración automática de
las tarjetas apenas factible ya que el programa de instalación del fabricante
no podía obtener información fiable sobre que recursos del PC quedaban
libres y cuales estaban ya ocupados.
Las unidades PCI tienen una propiedad llamada Plug & Play, y en
teoría se pueden configurar automáticamente con la ayuda del BIOS,
mientras que en ISA esto no es posible desde el principio. Por esta razón, en
1993 Intel y Microsoft definieron ISA Plug & Play para proporcionar esta
propiedad a las tarjetas ISA.
22
Bus PCI
A diferencia de su predecesor el VESA Local Bus (VLB), el Peripheral
Component Interconnect (PCI) no es un complemente de una arquitectura de
bus ya existente, sino que define su propio estándar de componentes, para el
que son necesarios unos chipsets especiales. El bus PCI no es el único de la
arquitectura de PCs, sino que también encuentra aplicación en los Apple o
en las estaciones de trabajo Alpha de la antigua casa DEC (Compaq HP en
la actualidad).
Toda unidad que siga en el estándar PCI, ya se encuentre
directamente en la placa base o en forma de tarjeta de expansión, utiliza, en
principio, además de una dirección de Entrada/Salida y/o de memoria, un
espacio de configuración para la identificación y la configuración de unidades
PCI, con lo cual puede prescindirse de los puentes y otros elementos de
configuración manuales.
Por consiguiente, el estándar PCI trae la función Plug & Play de
fábrica, y es el primer sistema que posee esta funcionalidad completamente
en el BIOS y no requiere ningún software de configuración adicional. Igual
que en el ya inexistente VESA Local Bus, en el bus PCI se emplea la misma
solución mecánica de ranuras, que se utilizó por primera vez en
MicroChannel.
Sin embargo, las ranuras PCI no se encuentran detrás de la conexión
ISA, sino que en las placas base de PC se encuentran inmediatamente al
lado de ellas, o bien se colocan en otro lugar de la placa base, separadas de
las otras ranuras de expansión.
23
Direccionamiento Físico
Toda comunicación requiere una manera de identificar el origen y el
destino. El origen y el destino en las comunicaciones humanas se
representan con nombres.
Cuando se pronuncia un nombre, la persona con ese nombre escucha
el mensaje y responde. Otras personas que se encuentren en la habitación
pueden escuchar el mensaje, pero como no está dirigido a ellas,
simplemente lo ignoran.
En las redes Ethernet, existe un método similar para identificar los
hosts de origen y de destino. Cada host conectado a una red Ethernet recibe
una dirección física que sirve para identificar el host en la red.
Se asigna una dirección física a cada interfaz de red Ethernet en el
momento de su creación. Esta dirección se conoce como dirección de
Control de acceso al medio (MAC). La dirección MAC identifica cada host de
origen y de destino de la red.
Las redes Ethernet utilizan cables, lo que significa que hay un cable de
cobre o de fibra óptica que conecta los hosts y los dispositivos de networking.
Es el canal que se utiliza para las comunicaciones entre los hosts.
Cuando un host de una red Ethernet se comunica, envía tramas que
contienen su propia dirección MAC como origen y la dirección MAC del
destinatario. Todos los hosts que reciban la trama la decodificar y leerán la
dirección MAC de destino. Si la dirección MAC de destino coincide con la
dirección configurada en la NIC, el host procesa el mensaje y lo almacena
para que lo utilice la aplicación del host. Si la dirección MAC de destino no
coincide con la dirección MAC del host, la NIC simplemente omite el
mensaje.
24
Direccionamiento Lógico
Modelo Osi
El Modelo OSI divide en 7 capas el proceso de transmisión de la información
entre equipo informáticos, donde cada capa se encarga de ejecutar una
determinada parte del proceso global
Capas del Modelo Osi
Las dos únicas capas del modelo con las que de hecho, interactúa el
usuario son la primera capa, la capa Física, y la última capa, la capa de
Aplicación, La capa física abarca los aspectos físicos de la red (es decir, los
cables, hubs y el resto de dispositivos que conforman el entorno físico de la
red). Seguramente ya habrá interactuado más de una vez con la capa Física,
por ejemplo al ajustar un cable mal conectado.
La capa de aplicación proporciona la interfaz que utiliza el usuario en
su computadora para enviar mensajes de correo electrónico 0 ubicar un
archive en la red.
7. Aplicación
6. Presentación
5. Sesión
4. Transporte
3. Red
2. Enlace de datos
1. Físico
25
Capa de Aplicación
Proporciona la interfaz y servicios q soportan las aplicaciones de
usuario. También se encarga de ofrecer acceso general a la red Esta capa
suministra las herramientas q el usuario, de hecho ve. También ofrece los
servicios de red relacionados con estas aplicaciones, como la gestión de
mensajes, la transferencia de archivos y las consultas a base de datos.Entre
los servicios de intercambio de información q gestiona la capa de aplicación
se encuentran los protocolos SMTP, Telnet, ftp, http.
Capa de Presentación
La capa de presentación puede considerarse el traductor del modelo
OSI. Esta capa toma los paquetes de la capa de aplicación y los convierte a
un formato genérico que pueden leer todas las computadoras. Par ejemplo,
los datos escritos en caracteres ASCII se traducirán a un formato más básico
y genérico. También se encarga de cifrar los datos así como de comprimirlos
para reducir su tamaño. El paquete que crea la capa de presentación
contiene los datos prácticamente con el formato con el que viajaran por las
restantes capas de la pila OSI (aunque las capas siguientes Irán añadiendo
elementos al paquete.
Capa de Sesión
La capa de sesión es la encargada de establecer el enlace de
comunicación o sesión y también de finalizarla entre las computadoras
emisora y receptora. Esta capa también gestiona la sesión que se establece
entre ambos nodos. La capa de sesión pasa a encargarse de ubicar puntas
de control en la secuencia de datos además proporciona cierta tolerancia a
fallos dentro de la sesión de comunicación.
Los protocolos que operan en la capa de sesión pueden proporcionar
dos tipos distintos de enfoques para que los datos vayan del emisor al
26
receptor: la comunicación orientada a la conexión y Ia comunicación sin
conexión. Los protocolos orientados a la conexión que operan en la capa de
sesi6n proporcionan un entorno donde las computadoras conectadas se
ponen de acuerdo sobre los parámetros relativos a la creación de los puntos
de control en los datos, mantienen un dialogo durante la transferencia de los
mismos, y después terminan de forma simultanea la sesión de transferencia.
Capa de Transporte
La capa de transporte es la encargada de controlar el flujo de datos entre los
nodos que establecen una comunicación; los datos no solo deben entregarse
sin errores, sino además en la secuencia que proceda. La capa de transporte
se ocupa también de evaluar el tamaño de los paquetes con el fin de que
estos Tengan el tamaño requerido por las capas inferiores del conjunto de
protocolos. El tamaño de los paquetes 10 dicta la arquitectura de red que se
utilice.
Protocolos que Trabajan con el Modelo Osi
Los protocolos orientados a la conexión operan de forma parecida a una
llamada telefónica se les llaman TCP en cuanto a el funcionamiento de los
protocolos sin conexión se parece más bien a un sistema de correo regular
se les llama UDP.
Capa de Red
La capa de red encamina los paquetes además de ocuparse de
entregarlos. En este sentido,la determinación de la ruta que deben seguir los
datos se produce en esta capa, lo mismo que el intercambio efectivo de los
mismos dentro de dicha ruta, La Capa 3 es donde las direcciones lógicas
(como las direcciones IP de una computadora de red) pasan a convertirse en
direcciones físicas (las direcciones de hardware de la NIC, la Tarjeta de
Interfaz para Red, para esa computadora especifica). Los routers operan
27
precisamente en Ia capa de red y utilizan los protocolos de encaminamiento
de la Capa 3 para determinar la ruta que deben seguir los paquetes de datos.
Capa Enlace de Datos
Cuando los paquetes de datos llegan a la capa de enlace de datos,
estas pasan a ubicarse en tramas (unidades de datos), que vienen definidas
por la arquitectura de red que se está utilizando (como Ethernet, Token Ring,
etc.). La capa de enlace de datos se encarga de desplazar los datos por el
enlace físico de comunicación hasta el nodo receptor, e identifica cada
computadora incluida en la red de acuerdo con su dirección de hardware
La información de encabezamiento se añade a cada trama que contenga las
direcciones de envío y recepción.
La capa de enlace de datos también se asegura de que las tramas
enviadas por el enlace físico se reciben sin error alguno. Por ello, los
protocolos que operan en esta capa adjuntaran un Chequeo de Redundancia
Cíclica (Cyclical Redundancy Check a CRC) al final de cada trama. EI CRC
es básicamente un valor que se calcula tanto en la computadora emisora
como en la receptora, Si los dos valores CRC coinciden, significa que la
trama se recibió correcta e íntegramente, y no sufrió error alguno durante su
transferencia.
Las Subcapas del Enlace de Datos
La capa de enlace de datos se divide en dos subcapas, el Control
Lógico del Enlace (Logical Link Control o LLC) y el Control de Acceso al
Medio (Media Access Control MAC). La subcapa de Control Lógico del
Enlace establece y mantiene el enlace entre las computadoras emisora y
receptora cuando los datos se desplazan por el entorno físico de la red. La
subcapa LLC también proporciona Puntos de Acceso a Servicio (Servicie
Access Poínos 0 SAP),La subcapa de Control de Acceso al Medio determina
28
la forma en que las computadoras se comunican dentro de la red, y como y
donde una computadora puede acceder, de hecho, al entorno físico de la red
y enviar datos.
La Capa Física
En la capa física las tramas procedentes de la capa de enlace de
datos se convierten en una secuencia única de bits que puede transmitirse
por el entorno físico de la red. La capa física también determina los aspectos
físicos sobre la forma en que el cableado está enganchado a la NIC de la
computadora.
29
REFERENCIAS
A.S. Tanenbaum / Organización de computadoras, enfoque estructurado / Prentice Hall.
Juan Enrique Herrerías Rey, Hardware y Componentes. Primer Edición 2006, Anaya Multimedia, ISBN: 84-415-1979-X.
Luis Duran Rodríguez, El gran libro del PC interno/Alfaomega Marcombo, 2007, ISBN 9789701512470.
Nicholas Carter, Arquitectura de computadores 1a. Edición, McGraw-Hill 2004 ISBN: 8448142799.
Valdivia Miranda Carlos, Arquitectura de equipos y sistemas informáticos, 3a. Edición, Paraninfo 2003, ISBN: 8497321626.
30