estructura de-una-computadora riffel

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 un ordenador.

Upload: riffelrojaslopez

Post on 06-Apr-2017

78 views

Category:

Technology


0 download

TRANSCRIPT

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.

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.

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 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 COMPUTADORALas 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 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 MEMORIA3.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. 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 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, 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 datoPara 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 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 PROCESAMIENTOLa 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)

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.

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.

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 COMPUTADORASPara 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 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 PROGRAMAVamos 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 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

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

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.

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 MICROPROCESADORESEl 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

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

Modelo Año de Capacidad Tamaño Memoria Velocidad

presentación del bus de datos

de palabra

Direccionable 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