El Computador
El Computador
El Computador
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico,
mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita del titular de
los derechos.
Índice
Introducción
Objetivos
1.El computador
o 1.1.Arquitectura y organización del computador
o 1.2.Tipos de arquitecturas
o 2.3.Sistema de interconexión
3.Arquitectura Harvard
o 3.1.Microcontroladores
3.1.1.Estructura de un microcontrolador
3.2.1.Organización de un DSP
4.Evolución de los computadores
o 4.1.Evolución del procesador
o 4.2.Evolución del sistema de memoria
o 4.5.Microprocesadores multinúcleo
Resumen
Introducción
En este módulo se describe el concepto de computador y también su organización interna, los
elementos que forman parte de él, el funcionamiento general que tienen y cómo se
interconectan.
Se explican los dos tipos de organizaciones principales, Von Neumann y Harvard, y se ven cuáles
son las características de cada una de estas organizaciones.
Asimismo, se presentan los dos tipos de computadores que utilizan habitualmente arquitectura
Harvard:
Los microcontroladores.
Finalmente, se realiza una explicación breve sobre la evolución de los computadores desde las
primeras máquinas electrónicas de cálculo hasta los computadores actuales, y se muestra la
organización de los microprocesadores multinúcleo.
Objetivos
Con el estudio de este módulo se pretende que el estudiante alcance los objetivos siguientes:
1.El computador
Un computador se puede definir como una máquina electrónica capaz de hacer las tareas
siguientes:
Aceptar información.
Almacenarla.
Resumimos a continuación las tareas que debe realizar cada uno de los componentes del
computador:
Sistema de E/S: transfiere los datos entre el computador y los dispositivos externos,
permite comunicarse con los usuarios del computador, introduciendo información y
presentando resultados, y también permite comunicarse con otros computadores.
Los elementos habituales asociados a la arquitectura del computador son los siguientes:
Modelos de ejecución.
La organización o estructura del computador se refiere a las unidades funcionales del
computador y al modo como están interconectadas. Describe un conjunto de elementos que son
transparentes al programador.
Los elementos habituales asociados a la organización o estructura del computador son los
siguientes:
Tecnologías utilizadas.
Teniendo en cuenta esta diferencia, podemos tener computadores con una organización
diferente, pero que comparten la misma arquitectura.
Por ejemplo, los microprocesadores Intel64 tienen una organización diferente de los
microprocesadores AMD64, sin embargo, comparten una misma arquitectura (excepto ciertas
diferencias), la arquitectura que se denomina x86-64.
Ved también
1.2.Tipos de arquitecturas
Aunque hablamos de conceptos de organización de los computadores, se mantiene
tradicionalmente el término de arquitectura para distinguir los dos tipos de organización más
habituales: la arquitectura Von Neumann y la arquitectura Harvard.
Se puede decir que la mayoría de los computadores actuales utilizan la arquitectura Von
Neumann, o una arquitectura Von Neumann modificada, ya que a medida que los computadores
han evolucionado se le ha añadido a esta características procedentes de la arquitectura Harvard.
1) Hay un único espacio de memoria de lectura y escritura, que contiene las instrucciones y los
datos necesarios.
3) La ejecución de las instrucciones se produce de manera secuencial: después de ejecutar una
instrucción se ejecuta la instrucción siguiente que hay en la memoria principal, pero se puede
romper la secuencia de ejecución utilizando instrucciones de ruptura de secuencia.
El objetivo de la arquitectura Von Neumann es construir un sistema flexible que permita resolver
diferentes tipos de problemas. Para conseguir esta flexibilidad, se construye un sistema de
propósito general que se pueda programar para resolver los diferentes tipos de problemas. Para
cada problema concreto se define un programa diferente.
2.1.Procesador
Un sistema de propósito general debe ser capaz de hacer unas operaciones aritméticas y lógicas
básicas, a partir de las cuales se puedan resolver problemas más complejos.
Desde el punto de vista de las instrucciones, cada instrucción máquina que se ejecuta en el
procesador genera un determinado conjunto de señales a fin de que la ALU haga una operación
determinada.
Desde el punto de vista de las operaciones que lleva a cabo la ALU, se puede decir que cada
operación consiste en activar un conjunto de señales de control. Si se codifica cada conjunto de
señales de control con un código, obtenemos un conjunto de códigos. Este conjunto de códigos
define el conjunto de instrucciones con el que se puede programar el computador.
No todas las instrucciones corresponden a operaciones de la ALU. Las instrucciones de
transferencia de datos, por ejemplo, pueden mover datos entre diferentes localizaciones del
computador sin la intervención de la ALU.
Dentro del procesador es necesaria una unidad, denominada unidad de control, que sea capaz
de interpretar las instrucciones para generar el conjunto de señales de control necesarias para
gobernar la ejecución de las instrucciones.
Las instrucciones que ejecuta el computador y los datos necesarios para cada instrucción están
almacenados en la memoria principal, pero para introducirlos en la memoria es necesario un
dispositivo de entrada. Una vez ejecutadas las instrucciones de un programa y generados unos
resultados, estos resultados se deben presentar a los usuarios y, por lo tanto, es necesario algún
tipo de dispositivo de salida.
En un computador con arquitectura Von Neumann, además del procesador, son necesarios otros
elementos:
Dispositivos de entrada.
Memoria principal.
Dispositivos de salida.
2.3.Sistema de interconexión
El medio de interconexión habitual en la arquitectura Von Neumann es el bus, un medio de
comunicación compartido o multipunto donde se conectan todos los componentes que se quiere
interconectar. Como se trata de un medio compartido, es necesario un mecanismo de control y
acceso al bus. El sistema de interconexión es necesario pero generalmente no se considera una
unidad funcional del computador.
3.Arquitectura Harvard
La organización del computador según el modelo Harvard, básicamente, se distingue del modelo
Von Neumann por la división de la memoria en una memoria de instrucciones y una memoria de
datos, de manera que el procesador puede acceder separada y simultáneamente a las dos
memorias.
Arquitectura Harvard
Los microcontroladores y el DSP (procesador de señales digitales o digital signal processor) son
dos tipos de computadores que utilizan arquitectura Harvard. Veamos a continuación las
características más relevantes de estos dos tipos de computadores de uso específico.
3.1.Microcontroladores
Un controlador o microcontrolador es un sistema encargado de controlar el funcionamiento de un
dispositivo, como, por ejemplo, controlar que el nivel de un depósito de agua esté siempre entre
un nivel mínimo y un nivel máximo o controlar las funciones de un electrodoméstico.
Algunos de los campos de aplicación más habituales de los microcontroladores son los siguientes:
3.1.1.Estructura de un microcontrolador
Un microcontrolador incorpora en un único circuito integrado todas las unidades necesarias para
que funcione. Se trata de un computador completo pero de prestaciones limitadas.
Tal como se puede ver en la figura siguiente, las unidades que forman un microcontrolador se
pueden agrupar en tres bloques principales:
1) Unidad de proceso:
Procesador
Memoria de programa
Memoria de datos
Líneas de interconexión
2) Dispositivos de E/S:
Temporizadores
Convertidores analógico-digital
Comparadores analógicos
Puertos de comunicación
3) Recursos auxiliares:
Circuito de reloj
Reinicialización o reset
Estructura de un microcontrolador
3) Memoria de datos. En esta memoria se almacenan los datos utilizados por los programas.
Los datos varían continuamente y, por lo tanto, hay que implementarla utilizando memorias
volátiles, memoria RAM, sobre la cual se pueden realizar operaciones de lectura y escritura.
Habitualmente se utiliza SRAM (memoria RAM estática o static RAM). Si es necesario guardar
algunos datos de manera permanente o que varíen poco (configuración o estado del
microcontrolador), se utiliza memoria EEPROM o flash.
4) Líneas de interconexión. Son las líneas que interconectan los diferentes elementos que
forman la unidad de proceso.
Dispone de un procesador con gran potencia de cálculo preparado para tratar señales en tiempo
real y puede hacer operaciones aritméticas a gran velocidad; generalmente, también dispone de
convertidores de señales analógicas a digitales (ADC) o convertidores de señales digitales a
analógicas (DAC).
Una de las características principales de los DSP es que implementan muchas operaciones por
hardware que otros procesadores hacen por software, e incorporan habitualmente unidades
específicas para realizar sumas y productos. Por este motivo, el hardware del procesador puede
ser más complejo que el de algunos microcontroladores o microprocesadores.
Otra de las diferencias importantes entre los DSP y otros procesadores es que están diseñados
para que sean escalables y para trabajar en paralelo con otros DSP. Esto hace necesario
disponer de elementos para sincronizar el funcionamiento de diferentes DSP.
Algunas de las aplicaciones más habituales de los DSP son el procesamiento de audio digital, la
sismología y la medicina.
Algunos ejemplos concretos de estas aplicaciones son los teléfonos móviles, los reproductores de
audio digital (MP3), los módems ADSL, los sistemas de telefonía de manos libres (con reconocimiento
3.2.1.Organización de un DSP
La estructura interna corresponde básicamente a una arquitectura de tipo Harvard, muchas
veces mejorada para acelerar la ejecución de las instrucciones y la realización de operaciones
aritméticas.
Mejoras de un DSP
Las mejoras que pueden incluir un DSP son varias: se incluyen buses para transferir instrucciones y
datos de tamaño superior al necesario, más de un bus de direcciones y de datos para acceder a los
instrucciones y hacer varias operaciones elementales por ciclo, operaciones lógicas y aritméticas
complejas, etc.
La integración de transistores empieza a mediados de los años sesenta y, a medida que pasa el
tiempo, se consiguen niveles de integración más elevados. Según el número de transistores que
se puede incluir en un chip, se definen los niveles o escalas de integración siguientes:
En los procesadores actuales, el número de transistores en un chip está por encima de los 100
millones y, en algunos casos, llega a estar por encima de los 1.000 millones de transistores.
El microprocesador es un procesador que integra en un solo chip todas las unidades funcionales.
Intel 4004
El primer microprocesador lo desarrolló Intel en 1971. Se trataba del Intel 4004, un microprocesador
de 4 bits que podía dirigir una memoria de 640 bytes y que se había construido utilizando 2.300
transistores.
La memoria caché se coloca como una memoria intermedia entre la memoria principal y el
procesador. Cuando el procesador necesita un dato o una instrucción, primero se comprueba si
está en la memoria caché y solo en caso de que no lo esté se debe traer de la memoria principal
para acceder a él.
La memoria caché puede estar dividida en dos partes: una memoria caché de instrucciones y
una de datos. Desde este punto de vista, se puede decir que los computadores con memoria
caché dividida utilizan una arquitectura Harvard, o una arquitectura Harvard modificada, ya que
la separación de la memoria solo existe en algunos niveles de la memoria caché, pero no en la
memoria principal.
En el ejemplo siguiente se muestra un computador con dos niveles de memoria caché (L1 y L2),
en el que el primer nivel de memoria caché está dividido en una memoria caché de instrucciones
y una memoria caché de datos.
4.3.Evolución del sistema de interconexión
El sistema de interconexión también ha evolucionado. En los primeros computadores, consistía
en un solo bus al que se conectaban todos los elementos del computador. Este sistema facilitaba
la conexión de los diferentes elementos del computador, pero como se trataba de un solo bus
que todos tenían que utilizar, se generaba un cuello de botella que hacía reducir las prestaciones
del computador.
Las tendencias actuales pasan por utilizar buses de tipo serie de alta velocidad en lugar de buses
paralelos y también por utilizar interconexiones punto a punto, que permiten eliminar los
problemas de compartir un bus entre diferentes elementos del computador. Un diseño cada vez
más habitual es el de disponer de una conexión directa entre el sistema de memoria y el
procesador.
4.5.Microprocesadores multinúcleo
La evolución de los microprocesadores pasa por incluir en un solo chip varios núcleos, donde
cada núcleo incluye todas las unidades funcionales de un procesador (registros, ALU y unidad de
control), lo que da lugar a lo que se conoce como procesador multinúcleo.
Inicialmente, dentro del microprocesador se disponía de una memoria caché de primer nivel
(denominada L1) para cada núcleo, habitualmente dividida en memoria caché de instrucciones y
memoria caché de datos; fuera del microprocesador se disponía de una memoria caché de
segundo nivel (L2) unificada (para instrucciones y datos) y compartida por todos los núcleos.
Esta organización ha variado mucho. Una primera evolución consistió en incorporar dentro del
microprocesador el segundo nivel de memoria caché, y apareció un tercer nivel (L3) fuera del
procesador.
Actualmente, dentro del microprocesador pueden estar los tres niveles de memoria caché (L1,
L2 y L3). Dispone de una memoria caché de primer nivel para cada núcleo, dividida en memoria
caché de instrucciones y memoria caché de datos, una memoria caché unificada de segundo
nivel para cada núcleo y una memoria caché de tercer nivel unificada y compartida por todos los
núcleos.
Resumen
En este módulo se ha explicado el concepto de computador de manera genérica y se han
diferenciado los conceptos de arquitectura y de organización.
Se han visto brevemente los elementos principales que forman un computador y la organización
que tienen.
A continuación se han descrito los dos tipos de arquitecturas más habituales: la arquitectura Von
Neumann y la arquitectura Harvard.
Dentro de la arquitectura Von Neumann se han estudiado los elementos que componen un
computador que utilice esta arquitectura y las características principales que tiene:
Procesador
Memoria
Unidades de E/S
Sistema de interconexión
Microcontroladores
DSP
Finalmente, se ha llevado a cabo una descripción breve de la evolución que han tenido los
computadores, analizando las mejoras que se han ido introduciendo en cada uno de los
elementos que los componen: procesador, sistema de memoria, sistema de interconexión y
sistema de E/S. Se ha acabado comentando la organización de los microprocesadores actuales:
los microprocesadores multinúcleo.