Introducción a la Arquitectura de Computadores
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.
Un computador es un
sistema secuencial síncrono complejo que procesa información, esta se trata de
información binaria, utilizando solamente los dígitos de valores lógicos ‘1’ y
‘0’. Estos valores lógicos binarios se corresponden con valores de tensión
eléctrica, de manera que un ‘1’ lógico corresponde a un nivel alto a 5 voltios
y un ‘0’ lógico corresponde a un nivel bajo de tensión cercano a 0 voltios;
estos voltajes dependen de la tecnología que utilicen los dispositivos del
computador.
Es el cerebro del sistema, encargado de procesar
todos los datos e informaciones. A pesar de que es un dispositivo muy
sofisticado no puede llegar a hacer nada por sí solo. Para hacer funcionar a
este necesitamos algunos componentes más como lo son memorias, unidades de
disco, dispositivos de entrada/salida y los programas. El procesador o núcleo
central está formado por millones de transistores y componentes electrónicos de
un tamaño microscópico. El procesamiento de las tareas o eventos que este
realiza va en función de los nanosegundos, haciendo que los miles de
transistores que contiene este trabajen en el orden de los MHz. La información
binaria se introduce mediante dispositivos periféricos que sirven de interfaz
entre el mundo exterior con el usuario. Estos periféricos lo que van a hacer
será traducir la información que el usuario introduce en señales eléctricas,
que serán interpretadas como unos y ceros, los cuales son interpretados de una
manera más rápida por la computadora, ya que el lenguaje maquina utiliza el
código binario para ser interpretado por el computador.
Un sistema jerárquico es un conjunto de sistemas interrelacionados, cada uno de
los cuales se organiza de manera jerárquica, uno tras otro, hasta que alcanza
el nivel más bajo de subsistema elemental. Una posible clasificación seria:
1. Nivel
de Componente. Los elementos de este nivel son difusiones de
impurezas tipo P y de tipo N en silicio, polisilicio cristalino y
difusiones de metal que sirven para construir los transistores.
2. Nivel
Electrónico. Los componentes son transistores, resistencias,
condensadores y diodos construidos con las difusiones del nivel anterior. Esta
tecnología de muy alta escala de integración o VLSI es la que se utiliza en la
fabricación de circuitos integrados. En este nivel se construyen las puertas
lógicas a partir de transistores.
3. Nivel
Digital. Se describe mediante unos y ceros son las puertas
lógicas, biestables y otros módulos tanto combinacionales como secuenciales.
Este nivel es la aplicación del algebra booleana y las propiedades de la lógica
digital.
4. Nivel
RTL. El nivel de transferencia de registros RTL será el
preferido para la descripción de los computadores. Elementos típicos en este
nivel de abstracción son los registros y módulos combinacionales aritméticos.
5. Nivel
PMS. Este nivel es el más alto de la jerarquía. Las
siglas PMS provienen del inglés Processor Memory Switch. Con elementos de
jerarquía los buses, memorias, procesadores y otros módulos de alto nivel.
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:
ü Procesamiento
de Datos
ü Almacenamiento
de Datos
ü 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.
·
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
secuenciamiento 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 graficas, 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:
transfiere datos entre el entorno exterior y el computador. En él se encuentran
los controladores de periféricos que forman la interfaz entre los periféricos,
la memoria y el procesador.
·
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.
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. La CPU
tiene a su vez otra estructura interna que se muestra en la Figura.
Figura: Estructura de la CPU y su conexión con
la memoria.
·
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 (por su acrónimo en
ingles Arithmetic
Logic Unit): 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.
·
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:
1. Contador
de programa.- se encarga de almacenar la dirección de la
siguiente instrucción a ejecutar.
2. Registro
de Instrucción.- se almacena la instrucción capturado en memoria y
la que se está ejecutando.
3. Registro
de Estado.- compuesto por una serie de bits que informan el
resultado obtenido en la última operación de la ALU.
4. 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.
El ciclo para ejecutar
cualquier instrucción se divide en ciclo de búsqueda y ciclo de
instrucción como es ilustrado en el esquema de la Figura 1.3 . El
primero hace que el CPU genere señales adecuadas para acceder a la memoria y
leer la instrucción; el segundo es similar; la diferencia entre los dos es el
código de operación de cada instrucción.
Figura: Ciclos de la maquina Von Neumann
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. La memoria principal de los computadores
tiene una estructura similar a la mostrada en el esquema de la Figura 1.4. Se
considera como una matriz de celdas en la que la memoria puede acceder a los
datos aleatoriamente.
Figura: Esquema de una memoria de acceso
aleatorio.
Dicha matriz está organizada en palabras, cada una de las cuales tiene asignada
una dirección que indica su posición. Cada palabra está formada por una serie
de celdas a las que se accede en paralelo; en cada una se almacena un bit y
estos son los que definen las instrucciones.
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 igual que el procesador y el
controlador periférico para intercambiar datos entre la computadora.
En la Figura 1.5 se muestra como cada control de periférico tiene una dirección
única en el sistema. 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.
Figura: Esquema de una interfaz de
Entrada/Salida.
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. Según si criterio de funcionabilidad los buses se dividen en:
·
Buses de datos: es el
que se utiliza para transmitir datos entre los diferentes dispositivos del
computador.
·
Buses de Direcciones: sirve
para indicar la posición del dato que se requiere acceder.
·
Bus de Control:
sirven para seleccionar al emisor y al receptor en una transacción del bus.
·
Bus de alimentación: sirve
para proporcionar a los dispositivos voltajes distintos.
Se entenderán todos aquellos dispositivos que son
necesarios para suministrar datos a la computadora o visualizar los resultados.
Los periféricos se conectan mediante un bus especial a su controlador o al
modulo de E/S.
Entre los periféricos de entrada tenemos al teclado, ratones, pantallas,
digitalizadoras y más. Otros dispositivos periféricos fundamentales para la
interacción del hombre con la computadora son las terminales de video y las
tarjetas gráficas.













0 comentarios:
Publicar un comentario