ESTRUCTURA INTERNA DE HARDWARE

http://es.scribd.com/doc/2281722/Hardware-Estructura

 

 

ESTRUCTURA INTERNA DEL HARDWARE

 

ESTRUCTURA DE UN ORDENADOR.

En el primer capítulo se presentó la estructura de un ordenador atendiendo a sus unidades funcionales (siguiendo el esquema de Von Neumann): unidad de entrada, unidad de salida, Memoria, Unidad de Control y Unidad Aritmético-Lógica (un esquema simplificado se muestra en la figura 7.1).

Aquí se estudiará la composición y funcionamiento de las unidades no periféricas del ordenador: la Unidad Central de Proceso (CPU), compuesta por la Unidad Aritmético-Lógica (ALU) y la Unidad de Control (UC), y la memoria principal. Se aborda también el estudio de la interconexión de las distintas unidades a través del bus.

Figura 7.1. Esquema funcional de un ordenador

UNIDAD CENTRAL DE PROCESO (CPU).

La CPU (Central Processing Unit) es la unidad que realiza las operaciones más importantes, además de sincronizar el funcionamiento del resto de unidades. Sus elementos principales son la unidad aritmetico-lógica y la unidad de control.

Otro elemento importante dentro de la CPU son los REGISTROS, que son elementos de memoria utilizados para almacenar temporalmente los datos que necesita la CPU para realizar la operación que esté llevando a cabo. Así por ejemplo, cuando la ALU realiza una suma, ésta se efectúa entre dos datos que la Unidad de Control ha hecho almacenar temporalmente en dos registros, y el resultado de la operación se almacenará a su vez en otro registro. El tamaño de los registros de la CPU suele coincidir con el tamaño de la palabra de memoria, de forma que cualquier dato almacenado en un registro pueda pasar a la memoria y viceversa.

Unidad Aritmético-Lógica (Unidad de Procesamiento).

La ALU (Arithmetic & Logic Unit) es la unidad encargada de realizar las operaciones elementales de tipo aritmético (sumas, restas, multiplicaciones, etc.) y lógico (comparaciones, operaciones sobre el álgebra de Boole: NOT, AND, OR, etc). Para comunicarse con las otras unidades utiliza el bus de datos.

Estructura de un Ordenador

Fundamentos de Informática

2

Figura 7.2. La Unidad Aritmetico-Lógica

Los elementos básicos que componen la ALU son:

Circuito operacional (COP): Contiene los circuitos necesarios para la realización de las

operaciones con los datos procedentes del Registro de Entrada. También acepta

como entrada, órdenes para seleccionar el tipo de operación que debe realizar.

Registro de Entrada (RE): Contiene los datos u operandos que intervienen en una

instrucción antes de que se realice la operación por parte del COP. También se emplea como almacenamiento de resultados intermedios o finales de las operaciones.

Registro de Estado (RS): Contiene un conjunto de biestables (indicadores) en los que se

deja constancia de condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores (indicadores de signo, de cero, de desbordamiento...). Al RS también se le conoce con el nombre de palabra de estado.

Registro Acumulador (RA): Almacena los resultados de las operaciones realizadas por el

COP. Está conectado con los RE para realimentación en el caso de operaciones encadenadas. También tiene una conexión directa con el bus de datos para envío de resultados a la memoria principal o a la UC.

Unidad de Control.

La UC se encarga de administrar todos los recursos de la computadora y dirigir todas las sus actividades controlando cada elemento y cada acción, y estableciendo la comunicación entre la ALU, la memoria principal y el resto de componentes. La UC dirige la información a las distintas unidades en el momento adecuado mientras el procesador ejecuta cada una de las instrucciones de un programa. De forma más específica, las funciones de la UC son:

Estructura de un Ordenador

Fundamentos de Informática

3

- Controlar la secuencia en que se ejecutan las instrucciones
- Controlar el acceso del procesador (CPU) a la MP
- Regular las temporizaciones de todas las operaciones que ejecuta la CPU
- Enviar señales de control y recibir señales de estado del resto de las unidades

La UC detecta las señales eléctricas de estado (mediante el Bus de Control) procedente de los distintos módulos del ordenador, que le indican el estado, situación o condición de funcionamiento de cada módulo. Capta de la memoria las instrucciones del programa y, de acuerdo con el código de operación de la instrucción en curso y con las señales de estado, genera las señales de control necesarias para que las distintas unidades se pongan a funcionar para permitir la ejecución de la instrucción.

La Unidad de control dispone de los siguientes elementos para realizar sus funciones:

Contador de Programa (CP): Contiene en cada momento la dirección de memoria donde se

encuentra la instrucción siguiente a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno automáticamente cada vez que acaba una instrucción, salvo que ésta sea de salto o de ruptura.

Registro de Instrucción (RI): Dedicado a memorizar temporalmente la instrucción que la UC está

interpretando o ejecutando en ese momento. El programa que se está ejecutando reside en MP y la UC va buscando y captando las instrucciones secuencialmente, para interpretarlas y generar las órdenes de ejecución. La captación de una instrucción implica leerla de la memoria y almacenarla en el registro de instrucción. La instrucción que se está ejecutando lleva consigo un código de operación (CO) y unos operandos o la dirección de los mismos.

Decodificador (D): Es el que interpreta realmente la instrucción. Se encarga de extraer el CO de la

instrucción en curso, lo analiza y emite las señales necesarias al resto de elementos para su

ejecución a través del secuenciador.

Reloj (R): Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes, que

marcan los instantes en que han de comenzar los pasos de que consta cada instrucción. De esta forma, se sincronizan todas las operaciones elementales de la computadora. La frecuencia de este reloj, medida en MegaHercios - Mhz - es un parámetro que determina en gran medida la velocidad de funcionamiento de la computadora.

Secuenciador (S): En este dispositivo se generan órdenes muy elementales (microórdenes) que

sincronizadas por el reloj hacen que se vaya ejecutando poco a poco la instrucción que está

cargada en el registro de instrucción.

Figura 7.3. Esquema de la Unidad de Control.

 

Estructura de un Ordenador

Fundamentos de Informática

4

Evolución de los procesadores utilizados en PC’s.

El mayor fabricante de procesadores para ordenadores personales (PC y compatibles) es Intel. Sus procesadores se toman como referencia, aunque existen otros fabricantes que han desarrollado sus propios procesadores basados en los diseñados por Intel. De forma general, cada nuevo procesador es compatible con el anterior (es decir, los programas desarrollados para un procesador antiguo “suelen” funcionar en el procesador nuevo. Aunque en un principio se introdujo la figura del “coprocesador matemático” separado para acelerar los cálculos, hoy día todos los procesadores tienen incorporado ese coprocesador.

La tabla 7.1 muestra la evolución de los distintos procesadores Intel, su fecha de aparición, y

algunas de sus principales características, que se detallan a continuación:

Tabla 7.1. Evolución de procesadores.

8086 (1978): Utiliza un bus de datos de 16 bits, por lo tanto puede trabajar directamente con

datos de 16 bits consumiendo un único ciclo de reloj. Con esto se duplica la

velocidad. Intel consiguió elaborar un procesador con 10 Mhz.

8088 (1979): Posee 16 bits, aunque el bus de datos es de 8 bits por lo que únicamente

podrán trabajar con datos de 16 bits consumiendo dos ciclos de reloj. Puede

direccionar hasta 1MB y la velocidad de reloj es de 4,77 Mhz.

80286 (1982): Compatible con los dos anteriores y con el mismo repertorio de instrucciones.

La diferencia radica en el tipo de trabajo que desarrolla el procesador. Permite dos modos distintos: Modo Real, trabajando exactamente igual que el 8088 y 8086, y direccionando un máximo de 1MB, y Modo Protegido reservando memoria para determinados programa de forma que pueda ejecutar varios programas a la vez (multitarea). La velocidad está comprendida entre 8 y 16MHz y se le puede añadir un coprocesador matemático para mayor rapidez en las operaciones matemáticas.

80386 (1983): Posee 32 bits, lo que implica un aumento en la velocidad de proceso ya que el

procesador puede leer 32 bits en cada ciclo. Dispone de un mayor número de registros en el procesador, métodos de gestión de memoria más modernos que el 80286 y sigue siendo compatible con el 8086. La velocidad de proceso oscila entre 16MHz hasta 33MHz aunque algunos fabricantes han conseguido un procesador a 40MHz. Existen distintos tipos de procesadores 80386 en el mercado. 80386DX (del que hemos hablado), 80386SX (aunque el procesador es de 32b, el bus de datos es de 16b, por lo que la velocidad de proceso es menor, de 16 a 20MHz, es más barato), 80386SL (igual que el 80386 pero preparado para un menor consumo, se utiliza principalmente para portátiles).

 

Estructura de un Ordenador

Fundamentos de Informática

5

80486 (1989): Se puede considerar una mejora del 80386. Integra dentro del procesador una

caché de 8KBytes, un controlador y un coprocesador matemático, por lo que es más eficaz que procesadores inferiores a velocidad superior. Un 80386 a 33MHz es más lento que un 80486 a 25MHz, ya que el 80386 para mandar información a la caché o al coprocesador (si lo tiene) necesita pasar por el bus de datos, mientras que el 80486 al tenerlo todo integrado en el mismo procesador, el paso de datos entre sus elementos es tan rápido (aunque el ciclo sea de 25MHz) que su velocidad de cálculo es mayor que los 33MHz de 80386. Los tipos de procesadores de esta familia son 80486DX, 80486SX, 80486SL, 80486DX2 (incorpora la tecnología de doble reloj, es idéntico al 80486DX con la diferencia de que dobla la velocidad del reloj para realizar operaciones internas. Un 80486DX a 25MHz, trabaja tanto interna como externamente a 25MHz. Un 80486DX2 a 50MHz, trabaja externamente a 25MHz pero internamente a 50MHz).

Pentium (1993): Posee un bus de datos de 64b, una caché interna de 16KByte y está

diseñado bajo la técnica de bajo consumo. Se están desarrollando con velocidad a partir de 60 MHz, y ya existen procesadores de este tipo que funcionan a 200 MHz. Es capaz de ejecutar más de una instrucción por ciclo de reloj. Puede competir en cuanto a velocidad y prestaciones con verdaderas estaciones de trabajo. Arquitectura superescalar.

Pentium Pro (1995): Posee un bus de datos de 64b, una caché interna separada para datos

e instrucciones de 8KB, y una caché secundaria integrada de 256KByte. Se han empezado a desarrollar con velocidades a partir de los 133 Mhz. Explota su rendimiento con sistemas operativos de 32 bits. Arquitectura superescalar de 12 etapas

MEMORIA PRINCIPAL.

La memoria principal es la unidad donde se almacenan los Datos e Instrucciones necesarios para realizar un determinado proceso. Es rápida, y está estrechamente ligada a las unidades funcionales más rápidas dentro de la computadora (la UC y la ALU). Aquí es donde debencargados los programas para poder ejecutarse.

La memoria principal está formada por circuitos electrónicos capaces de almacenar sólo dos valores (0 ó 1) en cada elemento o celda de memoria. Una palabra de memoria es el menor número de celdas de memoria que se pueden leer o escribir de una vez (cuando se accede a la memoria no se accede a una sola celda, sino que se hace a un conjunto consecutivo de ellas). Es decir, una palabra es el conjunto de bits que se leen o escriben en memoria de una vez.

De esta forma, para acceder a la memoria no necesitamos numerar cada una de las celdas individuales que almacenan un bit, sino cada uno de los conjuntos de celdas, es decir, las palabras de memoria. Este número que identifica de forma única a cada posición de memoria se denomina

dirección de memoria, y mediante esa dirección se puede acceder de forma directa a cualquiera de

las posiciones de la memoria principal; por esto se dice que la memoria principal es una memoria de

acceso directo o memoria accesible por dirección.

Estructura de un Ordenador

Fundamentos de Informática

6

Figura 7.4. Esquema de funcionamiento de la memoria.

Básicamente, hay tres parámetros que permiten medir la velocidad de respuesta de una

memoria:

Tiempo de acceso, tA, es el tiempo máximo que se tarda en leer o escribir el

contenido de una posición de memoria.

Tiempo de ciclo, tc, es el tiempo mínimo entre dos lecturas consecutivas.

Ancho de Banda, AB, es el nº de palabras que se transfieren entre memoria y CPU

por unidad de tiempo: AB=1/tc

Tipos de memoria principal: RAM, ROM y caché.

Dentro de la memoria principal podemos distinguir entre la memoriaROM (Read Only Memory), laRAM (Random Access Memory) y la memoriacaché. La memoria ROM sólo permite leer la información que contiene, no se puede escribir en ella y no se borra cuando se les deja de suministrar corriente. En las memorias RAM se puede escribir y leer, pero la información que contiene se pierde al dejar de suministrarle corriente (memoriavolátil).

Memoria RAM (Memoria de acceso aleatorio).

Se llama de acceso aleatorio porque el usuario y los programas pueden acceder a cualquier posición directamente, y el tiempo para acceder a la información no depende de la posición que ocupe dentro de la memoria.

Existen varios tipos de chips para las memorias RAM:

SRAM (RAM estáticas): retiene datos mientras se suministre corriente

DRAM (RAM dinámicas): los datos desaparecen lentamente y es necesario

refrescarlos periódicamente

Estructura de un Ordenador

Fundamentos de Informática

7

Actualmente, los chips de memoria RAM que se utilizan no se pinchan directamente en la placa del ordenador, sino mediante módulos SIMM. Estos módulos SIMM son pequeñas tarjetas en las que están implantados los chips de memoria. Esto permite una sustitución o ampliación de la memoria mucho más sencilla. Estos módulos comenzaron a desarrollarse sobre pequeñas tarjetas de 30 contactos, posteriormente de 72 contactos, y ahora comienzan a aparecer nuevos módulos, denominados DIMM, con 168 contactos y mejoras en la forma de acceso (se accede a datos con direcciones de 64 bits, en lugar de acceder a dos direcciones de 32 bits)..

Memoria ROM (Memoria de solo lectura).

Al igual que la RAM es de acceso directo, pero solo permite acceso para lectura; su contenido lo graba el fabricante y el usuario solo puede consultar esa información. En un ordenador, se suele almacenar en ROM el programa que permite la puesta en marcha del ordenador, la carga del sistema operativo y el BIOS (Basic Input/Output System, Sistema de Entrada/Salida básico), que contiene las rutinas para acceder a los recursos del ordenador.

Existen distintos tipos de memoria ROM, dependiendo de la forma en que se graban:

PROM (Programable ROM): son chips permiten grabar una sola vez, y no se pueden borrar.

EPROM (Erasable Programable ROM): Permite el borrado del contenido utilizando rayos

ultravioleta, aunque esta operación sólo puede realizarse unas pocas veces. La forma de borrar su contenido es hacer incidir luz ultravioleta directamente a las celdas de memoria por una pequeña ventana, que normalmente está tapada mediante un adhesivo.

EEPROM: (Electricaly Erasable Programable ROM): Se borran eléctricamente, y permiten grabar

en ellas unas 100.000 veces. La mayoría de las placas madre y controladoras actuales incluyen este tipo de memoria, para permitir la actualización del software del fabricante que los manejan.

Memoria CACHÉ.

Desde hace algún tiempo, se incorpora en los ordenadores un tipo de memoria mucho más rápida que la memoria principal (aunque también más cara) y de menor tamaño, denominada MEMORIA CACHÉ. Es una memoria de tipo SRAM, y se suele colocar entre la CPU y la RAM, para acelerar la transferencia de datos o instrucciones entre la CPU y la RAM.

La idea es la siguiente: al ser la caché mucho más rápida que la RAM, a la CPU le cuesta menos tiempo escribir o leer un dato desde la caché. Para hacer que esto funcione, es necesario cargar en la caché la parte de la RAM que esté utilizando la CPU (la caché es de menor capacidad que la RAM). Cuando la CPU necesita un dato que no está en la caché, primero hay que pasar el dato desde la memoria principal a la caché y después de la caché a la CPU. De la misma forma, es necesario que si la CPU modifica un dato y lo almacena en la caché, esta información debe ser también actualizada en la memoria principal.

Esquema general de una unidad de memoria.

La principal función de la unidad de memoria consiste en gestionar los procesos que se encargan de almacenar y recuperar la información. El esquema general de una unidad de memoria es:

Estructura de un Ordenador

Fundamentos de Informática

8

Figura 7.5. Esquema de la unidad de memoria.

1.- Registro de Dirección de Memoria: Antes de realizar una operación de

Lectura/Escritura (L/E) se ha de colocar en este registro la dirección de la celda que va a intervenir en la operación. Dependiendo del nº de bits que contenga el registro de dirección se tendrá una determinada capacidad de memoria.(si RD es de 8 bits, se podrán codificar hasta 256 direcciones de memoria distintas).

2.- Decodificador de Direccióno Selector de Memoria: Se activa cada vez que se

produce una orden de L/E, conectando la celda de memoria, cuya dirección se encuentra en el Registro de Dirección, con el Registro de Datos y posibilitando la transferencia de los datos en un sentido u otro.

3.- Registro de Datos: En él se almacena el dato que se ha leído de memoria o el dato

que se va a escribir en memoria.

También existen líneas de control mediante las cuales se transmiten órdenes procedentes de

la unidad de control (señal de escritura/lectura, de funcionamiento, de estado).

Secuencia de pasos para leer/escribir un dato.

Para la lectura de un dato de memoria se siguen los pasos:
Se pasa la dirección al registro de dirección.
Mediante el Decodificador se accede a la dirección.
Se pasa el dato que está en esa dirección al registro de datos.

Para la escritura de un dato en memoria se siguen los pasos:
Se transfiere la dirección en la que se va a escribir al registro de dirección.
Se transfiere el dato al registro de datos.
Se decodifica la dirección.

Se pasa el contenido del Registro de datos a la dirección que contiene el registro

de dirección.

Jerarquía de Memoria.

Para que un programa pueda ser ejecutado debe encontrarse en MP. Puede ocurrir que el

tamaño del programa sea mayor que el de la propia MP. En estos casos se utiliza la técnica llamada

Memoria Virtual que consiste en guardar el programa y sus datos en memoria masiva y mantener en

MP únicamente la parte de ellos que está implicada en ese momento en la ejecución.