25
ESTRUCTURA DE UNA COMPUTADORA Para desarrollar este capítulo, dedicado al estudio de una estructura de una computadora, es necesario realizar un proceso de abstracción con el fin de evitar ciertos detalles (de tipo electrónico) que no son objeto de estudio en este texto ni se adaptan al perfil de los lectores y alumnos a quienes va dirigido. De esta manera, podemos desarrollar la estructura sin necesidad de apoyarnos en conocimientos previos. En primer lugar, se retoma el esquema de la estructura funcional de una computadora, que fue establecido en el primer capítulo, y sobre el cual iremos describiendo las funciones y características de cada una de las unidades. Seguidamente, se justifican las necesidades de almacenamiento de datos y programas de una computadora, para lo cual se analizan las diferentes características de las memorias y se establece un esquema jerárquico de las mismas. Todo esto presenta una panorámica general que incluye una breve descripción de cada una de ellas (tiempos de acceso, capacidades, etc.), para que se conozca la importancia de las memorias y su utilidad. 1 1 Se ha considerado más adecuado analizar con más detalle la memoria masiva o auxiliar en el tema siguiente, dedicado a los periféricos de

Estructura del computador kayori

Embed Size (px)

Citation preview

Page 1: Estructura del computador kayori

ESTRUCTURA DE UNA

COMPUTADORA

Para desarrollar este capítulo, dedicado al estudio de una estructura de

una computadora, es necesario realizar un proceso de abstracción con el fin de

evitar ciertos detalles (de tipo electrónico) que no son objeto de estudio en este

texto ni se adaptan al perfil de los lectores y alumnos a quienes va dirigido. De

esta manera, podemos desarrollar la estructura sin necesidad de apoyarnos en

conocimientos previos.

En primer lugar, se retoma el esquema de la estructura funcional de una

computadora, que fue establecido en el primer capítulo, y sobre el cual iremos

describiendo las funciones y características de cada una de las unidades.

Seguidamente, se justifican las necesidades de almacenamiento de

datos y programas de una computadora, para lo cual se analizan las diferentes

características de las memorias y se establece un esquema jerárquico de las

mismas. Todo esto presenta una panorámica general que incluye una breve

descripción de cada una de ellas (tiempos de acceso, capacidades, etc.), para

que se conozca la importancia de las memorias y su utilidad.1

A continuación, se describen las funciones de la unidad de control el

órgano que permite la ejecución de un programa. Asimismo, se presentan, sin

entrar en demasiados detalles, las funciones de la unidad aritmética -lógica.

Finalmente, se muestra una visi6n dinámica de la computadora,

presentando de forma integrada cómo se van desarrollando internamente las

instrucciones. Para ello, se parte de un esquema funcional simple (unidad

1 Se ha considerado más adecuado analizar con más detalle la memoria masiva o auxiliar en el tema siguiente, dedicado a los periféricos de un ordenador.

Page 2: Estructura del computador kayori

central: la entrada, un teclado, y la salida, una impresora) y de supuesto

repertorio (muy limitado) de instrucciones. Se construye un programa sencillo

que permita comprender como la unidad de control copia y ejecuta

secuencialmente las instrucciones de que se compone el programa, así como

las funciones que van realizando las unidades funcionales conforme se va

ejecutando dicho programa.

3.1 CONEXIÓN ENTRE LAS UNIDADES DE UNA COMPUTADORA

Las unidades que forman la computadora central (memoria, unidad de

control y unidad aritmético – lógico) se encuentra alojadas en lo que se

denomina placa base. A través de ella, se ponen en contacto las distintas

partes de un ordenador. Dependiendo de su diseño, nos encontramos con

distintas arquitecturas (ISA MicroChanel, EISA, Local bus).

La conexión entre los eleven de una computadora se realiza a través de

bases (conjunto de hilos que proporcionan un camino para el flujo de datos

entre los distintos elementos y que transmiten simultáneamente información en

paralelo). Los buses que interconectan las distintas unidades funcionales de

un ordenador pueden ser de tres tipos:

Bus de datos: Transporta los datos de que transfieren entre unidades.

Suele ser bidireccional, es decir, los mismos hilos se utilizan para

transmitir información hacia adentro o hacia fuera de una unidad, pero

siempre en instantes diferentes. Conviene matizar la diferencia entre el

bus de datos interno y el bus de datos externo.

Bus de datos interno: Se utiliza para transferir datos

elementos de la computadora central (CPU + memoria

principal).

Bus de datos externo: Se puede considerar como una

prolongación del bus de datos interno. Pone en

comunicación el procesador con el resto de las unidades

(periféricos).

Bus de direcciones: Transporta la dirección de la posición de memoria o

del periférico que interviene en el tráfico de información (de dónde

procede el dato o a dónde se dirige). Permite la comunicación entre el

procesador y las celdas de la memoria RAM. Cuando el procesador

Page 3: Estructura del computador kayori

quiere leer el contenido de una celda de memoria, envía por el bus de

direcciones la dirección de la celda que quiere leer, recibiendo a través

del bus de datos el contenido de la misma. El tamaño de este bus

define la cantidad de memoria RAM que la CPU puede gestionar (con 10

bits se pueden direccional 210 Bytes = 1.024 Bytes = 1KBytes: con 16

bist =216 Bytes= 65.536 Bytes = 65 KBytes: con 32 bits = 4.294.967.296=

4GBytes).

Bus de control: Contiene hilos que transporta las señales de control y las

señales de estado, indicando la dirección de la transferencia de datos,

controlando la temporización de eventos durante la transferencia

transmitiendo las señales de interrupción, etc.

3.2 MEMORIA

3.2.1 Tipos de Memoria

La memoria es la unidad donde se almacena tanto los datos como las

instrucciones. Existen dos tipos básicos de memoria, diferenciados

principalmente por su velocidad:

Memoria principal, central o interna: Es la que actúa a mayor

velocidad, estando ligada directamente a las unidades más rápidas

de la computadora. Para que un programa un programa pueda ser

ejecutado, debe estar almacenado en la memoria principal. Está

formada por multitud de celdas o posiciones (palabras de memoria)

de un determinado número de bits y numeradas de forma

consecutiva la numeración de las celdas se le denomina dirección de

memoria y mediante esta dirección se puede acceder de forma

directa a cualquiera de ellas, independientemente de su posición; por

ello, Sé dice que la memoria principal es una memoria de acceso

directo o memoria accesible por dirección.

Memoria masiva auxiliar, secundaria o externa: Trata de solventar las

deficiencias dé la memoria principal en cuanto a volatilidad y

pequeña capacidad de esta última. Aunque la memoria interna es

muy rápida. No tiene gran capacidad para almacenar información.

Page 4: Estructura del computador kayori

Para guardar información de forma masiva. Se utiliza la memorias

auxiliar (discos magnéticos, cintas magnéticas, discos ópticos, etc).

Además, la información almacenada en memoria secundaria

permanece indefinidamente hasta que el usuario expresamente la

borre. Otra ventaja de este tipo de memoria es el precio. En la

memoria externa el coste por bit es notablemente inferior que en la

memoria interna.

En este capítulo nos centraremos en el estudio de la memoria

principal dejando para el capítulo siguiente el tratamiento de la

memoria masiva.

La memoria ROM está formada por dos tipos de memoria:

La memoria ROM (Read Only Memory – Moria de solo lectura): En la

que sólo se permite leer y es permanente, es decir, al desconectar el

ordenador, la información no se pierde. Algunos chips de ROM tiene

su contenido grabado permanentemente desde el momento en que

se fabricaron. Otros están inicialmente en blanco y pueden grabarse

con el equipo apropiado. Estás son las memorias programables de

sólo lectura o PROM (Programmble, Read Only Memory). Algunas

PRON pueden borrarse para programase de nuevo empleando el

equipo apropiado para este propósito. Éstas son las memorias

programables de sólo lectura que pueden borrarse o EPROM

( Erasable Programmable Read Obly Memory). En cualquiera de

estos casos los chips de ROM. Una vez instalados en un ordenador,

sólo pueden leerse. Las instrucciones y los datos de la ROM

permanecen allí una vez que se apaga el ordenador. Cualquier

intento de escribir en la R0M no causa ningún efecto, excepto

provocar un error que será detectado por el sistema operativo.

La memoria RAM (Random Access Memory – Memoria de acceso

aleatorio): En la que se puede leer y escribir. Esta memoria es volátil

al desconectar el ordenador la información almacenada en la RAM

desaparece. de forma que al volver a conectar la maquina, la zona de

memoria RAM se encuentra vacía. Se emplean dos tipos de chips

Page 5: Estructura del computador kayori

para la RAM: chips de RAM estática (SRAM), que retiene datos

mientras se suministre corriente. y chips de RAM dinámica (DRAM).

en la que los datos desaparecen lentamente y es necesario

refrescados periódicamente. En este último caso, los refrescos de

memoria se consiguen leyendo los datos y volviendo a escribirlos en

la misma posición. Todas las posiciones de memoria se van

refrescando de fom1a cíclica mientras el ordenador permanezca

encendido. Las SRAM son más rápidas, pero de menor capacidad

que las DRAM.

Un factor importante para medir la potencia de la memoria es la

velocidad de respuesta. Se tienen tres parámetros relacionados con la

velocidad:

Tiempo de acceso. (; Es el tiempo máximo que se tarda en leer o escribir

el contenido de una posición de memoria.

Tiempo de ciclo: Es el tiempo mínimo entre dos lecturas consecutivas.

Ancho de Banda, AB: Es el número de palabras que se transfieren entre

memoria y CPU por unidad de tiempo: AB= 1/tc

3.2.2 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 el siguiente

Registro de dirección de memoria: Antes de realizar una operación de

lectura/escritura (LJE). se ha de colocar en este registro la dirección de

la celda que va a intervenir en la operación. Dependiendo del número de

bits que contenga el registro de dirección. se tendrá una determinada

capacidad de memoria (si el registro de dirección es de 8 bits. se podrán

codificar hasta 28=256 direcciones de memoria distintas).

Decodif1cador de dirección o selector de memoria: Se activa cada vez

que se produce una orden de L/E. conectando la celda de memoria,

Page 6: Estructura del computador kayori

cuya dirección se encuentra en el registro de dirección, con el registro de

datos y posibilitando la transferencia de los datasen un sentido u otro.

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).

3.2.3 Secuencia de pasos para leer / escribir un dato

Para la lectura de un dato almacenado en memoria, se sigue estos

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 estos pasos.

Se transfiere la dirección en la que se va escribir el registro de dirección.

Se transfiere el dato mal 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.

3.2.4. Jerarquía de memoria

Para que un programa pueda ser ejecutado, debe encontrase en memoria

principal. Puede ocurrir que el tamaño de programa sea mayor que el de la

propia memoria principal 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 memoria principal únicamente la parte de ellos que está implicada

en ese momento en la ejecución.

Otro problema que se plantea es que la CPU capta instrucciones y datos de la

memoria principal en ella los resultados de las operaciones. Sin embargo, la

Page 7: Estructura del computador kayori

velocidad a la que opera la CPU es del orden de 10 veces superior a la de la

memoria principal realice su función. En realidad, esto no suele ser así, sino

que se introduce caché es una pequeña memoria rápida que se coloca entre la

memoria llamada caché. La memoria caché es una pequeña memoria rápida

que se coloca entre la memoria principal. El problema de las memorias caché

es que son más caras y tiene menos capacidad.

Las prestaciones de una memoria, sea del tipo que sea, se miden mediante

cuatro parámetros:

Capacidad de almacenamiento.

Tiempo de acceso.

Ancho de banda

Coste,

En general, en una memoria se cumple que a mayor velocidad, se tiene un

mayor ancho de banda, mayor coste y menor capacidad. Así, los registros de

la CPU son los más rápidos y los que tiene mayor ancho de banda, sin

embargo son los más caros y los que tiene menor capacidad. A medida que

descendemos en la pirámide de la figura 3.2 va aumentando el tiempo de

acceso (la velocidad es menor) y la capacidad y disminuye el ancho de banda y

el precio.

3.3 UNIDAD CENTRAL DE PROCESAMIENTO

La unidad central de procesamiento también denominada procesador central o

CPU (entral Proccessing Unit), es el verdadero cerebro de la computadora. Su

misión consiste en controlar y coordinar o realizar todas las operaciones del

sistema. Para ello, extrae, una a una, las instrucciones del programa ubicado

en memoria principal las analiza y emite las órdenes para su completa

realización. Físicamente está formada por circuitos de electrónica que se

encuentran integrados en un chip denominado procesador. Funcionalmente, la

unidad de procesamiento central está constituida por dos elementos: la unidad

aritmético- lógica y la unidad de control.

3.3.1 Unidad aritmético-lógica (unidad de procesamiento)

Page 8: Estructura del computador kayori

La ALU (Arithmetic Logic Unit) es la unidad encargada de realizar las

operaciones elementales de tipo aritmético y lógico. Para comunicarse con

otras unidades utiliza el bus de datos. La operación a realizar por la ALU

(suma, resta, desplazamientos, comparaciones, etc.) se decide mediante

señales de control enviadas desde la unidad de control.

Los elementos que componen la ALU son los siguientes

Circuito operacional (COP): Formado por 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 circuito operacional. También se emplea como

almacenamiento de resultados intermedios o finales que las

operaciones.

Registro de estado (RS): Engloba 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, ete.}. Al registro de estado también se le conoce con el

nombre de palabra de estado.

Registro acumulador (RA): Contiene los datos que se están tratando en

cada momento. Almacena los resultados de las operaciones realizadas

por el circuito operacional. Está conectado con los registros de entrada

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.

Page 9: Estructura del computador kayori

3.3.2 Unidad de control

La unidad de control (UC) se encarga de administrar todos los recursos de la

computadora, controlando y dirigiendo la información a las distintas unidades

en el momento adecuada mientras el procesador ejecuta una de las

instrucciones de un programa. De forma más específica las funciones de la UC

son:

Controlar la secuencia en que se ejecutan las instrucciones.

Controlar el acceso del procesador (CPU) a la memoria principal.

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.

Para realizar estas funciones, la unidad de control consta de los siguientes

elementos (ver Figura 3.4):

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 de forma automática cada vez

que concluye una instrucción, salvo que la instrucción que esté

ejecutando 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 memoria principal y la UC

va buscando y captando las instrucciones secuenciales para

interpretarlas y generar las órdenes de ejecución. La captación de una

instrucción implica leerla en la memoria y almacenada en el registro de

instrucción. La instrucción que se está ejecutando lleva consigo un

código de operación (COP) y unos operandos o la dirección de los

mismos.

Page 10: Estructura del computador kayori

Decodificar (D): Es el que interpreta realmente la instrucción. Se encarga

de extraer el código de operación de la instrucción en curso, lo analiza y

emite las señales necesarias al resto de los elementos apara 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 distintos pasos de que consta cada instrucción.

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á encargada en el

registro de instrucción.

3.4 FUNCIONAMIENTO DE LAS COMPUTADORAS

Para que un programa pueda ser ejecutado por un ordenador,s este ha

de estar almacenado en memoria principal. La unidad central de proceso

tomará una a una sus instrucciones e irá realizando las tareas necesarias para

completar la ejecución del programa. Se denomina ciclo de instrucción al

conjunto de acciones que se llevan a cabo en la realización de una instrucción.

Se componen de dos fases:

Fase de búsqueda de captación.- Se transfiere la instrucción que

corresponde ejecutar desde la memoria principal a la unidad de control.

Fase de ejecución: consiste en la realización de todas las acciones que

conlleva la propia instrucción.

Para iniciar la ejecución de un programa se ubica en el contador de programa

(CP) la dirección de memoria donde dicho programa. La unidad de control

envía una microorden para que el contenido del CP ( la dirección de la primera

instrucción) sea transferido al registro de dirección de memoria. El

decodificador de memoria interpreta la dirección conectando la celda de

memoria indicada en el registro de dirección de datos de memoria. Después de

un tiempo determinado (tiempo de acceso a memoria) aparecerá en el registro

Page 11: Estructura del computador kayori

de datos memoria el contenido de la dirección indicada, es decir, la instrucción

que va a ser procesada. A través del bus se trasfiere la instrucción desde el

registro de datos de memoria al registro de instrucción de la unidad de control

(RI). A continuación, el decodificador de la unidad de control procede a

interpretar la instrucción que acaba de llegar al RI e informa al secuenciador.

Por último, el CP se incrementará automáticamente en uno, de tal forma que

quede apuntando a la siguiente instrucción del programa en memoria. Si la

instrucción en ejecución es de ruptura de secuencia (de salta o bifurcación), el

cP se cargará con la dirección que corresponda.

Hasta este punto se ha considerado sólo la fase de búsqueda, que es común a

todas las instrucciones. Después tiene lugar la fase de ejecución, que es

especifica del código de operación de cada instrucción. El secuenciador envía

una microrden a la ALU para que ejecute la operación de que se trate,

almacenándose el resultado de la operación en el registro acumulador. Una vez

concluida la ejecución de la instrucción en curso, la unidad de control vuelve a

repetir el ciclo completo para cada una de las instrucciones que forman el

programa en ejecución, es decir, capta una nueva instrucción (cuya dirección

se encuentra en el CP y transfiere al RI) y después la decodifica y la ejecuta.

Este ciclo se repite iperativamente hasta que concluye la ejecución del

progrema.

3.4.1 EJEMPLO DE EJECUCIÓN DE UN PROGRAMA

Vamos a ver un ejemplo muy simple de cómo un ordenador ejecuta un

programa. Pasemos primero lo que hace el programa. Se trata de sumar dos

número suministrados desde el exterior. Por tanto, el primer paso consistirá en

leer los número suministrados desde el exterior. Por tanto, el primer paso

consistirá en leer los datos a través de un dispositivo de entrada. Una vez

almacenados los dos números, se ejecutarán las instrucciones para sumarlos y

almacenarlos en memoria. Por ultimo, habrá que mostrar el resultado obtenido

a través de una unidad de salida.

Supondremos que el ordenador que va a ejecutar este programa tiene como

unidad de entrada un teclado, y como unidad de salida un monitor. La longitud

de palabra del ordenador es de 16 bits. Así, cada instrucción está formada por

Page 12: Estructura del computador kayori

156 bits, de los cuales 4 bits se reservan para el código de operación (podrá

direccional hasta 212 = 4.096 posiciones de memoria). Como ya se ha

comentado, el repertorio de instrucciones de la máquina consta de 16

operaciones. Describimos a continuación las instrucciones que nos interesan

de ese repertorio:

0001 almacenar en la posición de memoria m un dato desde

el teclado abreviadamente, lo denotamos con TEC m.

0011 almacenar en la posición de memoria m el contenido del

registro acumulador de la ALU. Abreviadamente, lo

denotaremos con ALM m.

0101 Cargar en el registro acumulador de la ALU, el

contenido de la posición de memoria m.

Abreviadamente, lo denotaremos con CAR m

0100 sumar el contenido de la posición m de memoria con el contenido del

registro acumulador de la ALU. Abreviadamente, lo denotaremos con SUM m.

0010 Mostrar en el monitor el contenido de la posición m de memoria.

Abreviadamente lo denotaremos con MON m

Con estas instrucciones ya podemos crear el programa. Sólo nos falta indicar

en qué posiciones de memoria se almacenarán los datos. Vamos a suponer

que el primer dato leído se almacena en la posición de memoria 33. el segundo

en la posición 34 y el resultado 35 en la posición 35. El programa sería el

siguiente:

(1) TEC 33 0001 000000100001

(2) TEC 34 0001 000000100010

(3) CAR 33 0101 000000100001

(4) SUM 34 0100 000000100001

(5) ALM 35 0111 000000100011

(6) MON, 35 0010 000000100011

Page 13: Estructura del computador kayori

En la primera instrucción se lee, desde el teclado, el primer dato y se almacena

en la posición 33. La segunda instrucción lee el segundo dato y lo almacena;

en la posición 34. La siguiente instrucción carga en la ALU el contenido de la

posición 33, es decir, el primer dato. La instrucción número cuatro suma el

contenido de la ALU ( el primer dato ) con el contenido de la posición 34 (el

segundo dato). La instrucción (5) almacena el resultado de la operación

anterior (suma de los dos números) en las posición de 35. la ultima instrucción

muestra en el monitor el contenido de la posición de memoria 35 (el resultado)

Supongamos que el sistema operativo ha cargado el programa a partir de la

dirección d=12, de forma que la instrucción (1) se encuentra almacenada en la

posición 12, la instrucción (6), que quedará almacenadas en la posición 17.

Como ya sabemos, la ejecución de una instrucción se realiza en dos fases, una

fase de captación, común de todas las instrucciones y una fase de ejecución.

Vamos a ver los pasos que se siguen para ejecutar el programa.

1. En el contador de programa (CP) se almacena la dirección de

comienzo de programa CP=12.

2. La UC envía las microórdenes necesarias para que el contenido de la

dirección que indica el CP (dirección 12) se almacene en el registro de

instrucción (RI = contenido de la posición de memoria 12). Es decir, el

RI contendrá 0001000000100001.

3. El CP incrementa su valor 1, CP =12 + 1 =13. Hasta aquí llega la fase

de captación de la primera instrucción.

4. La UC extrae el código de operación (COP) de la instrucción que se

encuentra en el RI, que en este caso es 001 (TEC). Siempre que la UC

se encuentre con este COP, dará las órdenes oportunas para leer un

dato introducido desde el teclado y almacenarlo en la posición que

indica el resto de los bits de la instrucción (m= 33)10 =

000000100001)2).

Supongamos que el usuario teclea el número 20)10 =000000010100)2

Page 14: Estructura del computador kayori

Este permanecerá almacenado en la posición 33 mientras no se ejecute

otra instrucción que asigne un val or distinto a esa posición.

5. La UC capta la instrucción que se encuentra en la posición que indica

el CP (dirección 13) e incrementa su valor CP = 13 +14.

6. La UC interpreta el COP del RI (0001). En este caso, la UC genera las

mismas señales que en la instrucción anterior (paso 4). La única

diferencia es que el dato leído lo almacenará en la posición 34. así, el

segundo dato (por ejemplo, 40)10 = 000000101000)2) quedad

almacenado en la posición 000000100010.

7. La UC capta la instrucción que se encuentra en la posición que indica

el CP (dirección 14}e incrementa su valor CP = 14 + 1 = 15

8. La UC interpreta el COP que en este caso es 0101 (CAR). Se generan

las señales necesarias para almacenar en la ALU el contenido de la

posición que indica el campo dirección de la instrucción (m =33)10

000000100001 )2). Al final, el registro acumulador de la ALU contendrá

el contenido de la posición 33, es decir, el primer dato leído (20).

9. La UC capta la instrucción que se encuentra en la posición que indica

el CP (dirección 15) e incrementa su valor. CP=15+1=16.

10.Se extrae el COP 0100 (SUM). Se suma el contenido de la ALU (el

primer dato = 20) con el contenido de la posición 34 (el segundo dato =

40). Dando como resultado 60)10=000000111100)2 .Este valor

permanece

En la ALU.

11.La UC capta In instrucción que se encuentra en la posición que indica

el CP (dirección 16) e incrementa su valor. CP",16+1=17.

12.La UC interpreta el COP 0011 (ALM). El contenido de la ALU (60) se

almacena en la posición 35}10=000000100011)2

13.La UC capta la instrucci6n que se encuentra en la posición que indica

el CP (dirección 17) e increl11enlíl sin valor. CP= 17+ 1 = 18.

14.

Page 15: Estructura del computador kayori

15.La UC extrae el COP 0010 (MON) y da las órdenes oportunas para

escribir el contenido de la posición 35 (que en este caso es 60) en el

monitor.

3.5 EJEMPLO DE MICROPROCESADORES

El mayor fabricante de procesadores es Intel (véase Tabla 3.1) y se

toma como referencia y estándar, aunque existen otros fabricantes que

han desarrollado sus propios procesadores. Generalmente son

compatibles entre ellos, pero pueden existir pequeñas diferencias, sobre

todo en lo que se refiere a precio y frecuencia de reloj. En la mayoría de

las PC existe la posibilidad de añadir el procesador(si no lo tiene ya

incorporado) un coprocesador matemático que acelera los cálculos.

8088. Posee 16 bits, aunque el bus es de 8 bits, por lo que

únicamente podrán trabajar con datos de 16 bits, consumiendo un

único cielo de reloj. Con esto se duplica la velocidad. Intel

consiguió elaborara un procesador con 10 MHz.

8086: Utiliza un bus de datos de 16 bits, por lo que 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.

80286: 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 del MByte, y Modo

protegido, reservando memoria para determinado programas,

de forma que pueda ejecutar varios programas a la vez

(multiarea). Otra diferencia sustancial con sus predecesores es

un esquema de direcciones de memoria. Esto incrementó la

cantidad de memoria a la que se podía acceder. Los 8088 y

8886, al utilizar 20 bits, direccionaban 2020 Byts (1MByte),

mientras que el 80286 puede llegar a direccional 2021

Bytes(16MBytes). La velocidad de proceso está comprendida

entre 8 y 16 MHz, pudiéndosele incorporar un coprocesador

Page 16: Estructura del computador kayori

matemático para mayor rapidez en las operaciones

matemáticas.

80386: En 1985, Intel presenta el 386. es un verdadero

procesador de 32 bits, ya manipula datos internos de 32 bits y

se comunica con otros dispositivos a través de un bus de 32

bits, lo que implica un aumento en la velocidad de proceso pues

el procesador puede leer 32 bits en cada ciclo. Además, puede

usar direcciones de memoria de 32 bits, lo que le permite

acceder aproximadamente a 4 mil millones de Bytez(4

BGytes)de memoria. 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 desde 16 MHz hasta 33 MHz.

Existen distintos tipo de procesadores 80386SX(aunque el

procesador es de 32 bits, el bus de datos es de 16 bits, por lo

que la velocidad de proceso es de menor, de 16 a 20 MHz; es

más barato). 80386SL es idéntico al 80386DX, pero está

preparado para un menor consumo, se utiliza principalmente

para ordenarnos portátiles).

80486: Se puede considerar una mejora del 80386. integra

dentro del procesador una caché de 8 KBytes, un controlador

para la memoria caché y un coprocesador matemático. La

combinación de estos componentes en un único chip

incrementa notoriamente la velocidad superior. Un 80386 }a 33

MHz es más lento que un 80486 a 25 MHz, y a

Falta una parte

Desde algunos años, se observa en el mercado de software un incremento

considerable de aplicaciones multimedia. Recientemente, Intel ha introducido

en su gama Pentium una serie de modificaciones especialmente diseñadas

para incrementar el rendimiento de tales aplicaciones. Se trata de los nuevos

procesadores Pentium con tecnología MMX. Entre las modificaciones que

Page 17: Estructura del computador kayori

presenta se encuentra la ampliación de cacheé interna y del número de

registros, inclusión de nuevas instrucciones dedicadas exclusivamente al

proceso de software multimedia y un bus de datos externo de 64 bits. Con el

Pentium MMX se obtiene una mejora del 10-20% ejecutando las aplicaciones

actuales y un 60% cuando las aplicaciones estén diseñadas para MMX.

Otro fabricante importante de microprocesadores es Motorota Corporation (ver

tabla3.2). Las computadores Macintosh de Apple utilizan este tipo de

procesares. El grupo de procesadores de Motorota es conocido como la familia

680x0, de forma similar al grupo de procesares para ordenadores personales

Intel, conocido como la familia 80x86.

ModeloAño de

presentación

Capacidad

del bus de

datos

Tamaño

de

palabra

Memoria

Direccionable

Velocidad

máxima

68000 1979 16 bits 32 bits 16 MBytez 8 MHz

68020 1984 32 bits 32 bits 4 GBytez 16 MHz

68030 1987 32 bits 32 bits 4 GBytez 32 MHz

68040 1989 32 bits 32 bits 4 GBytez 40 MHz