Você está na página 1de 13

Arquitectura de Procesadores I

Introduccin a los microprocesadores

Historia
Que es un microprocesador ? Es un circuito digital generalmente bastante complejo que realiza procesamiento de datos, las operaciones que se llevan a cabo durante dicho procesamiento son controladas por lo que se denomina un programa, este ltimo, es el que le indica al microprocesador exactamente que es lo que tiene que hacer, por ejemplo, leer un dato de un teclado y mandarlo a una pantalla de cristal liquido o tomar dos valores de la memoria, sumarlos y poner este resultado en la misma.

Figura 1: Oblea

Los microprocesadores han cambiaron la forma en las que se realizaban las operaciones de tratamiento de informacin, y desde que aparecieron en los aos 70 no han dejado de evolucionar, el primer microprocesador fue el 4004 desarrollado por Intel el cual era muy limitado pues slo sumaba y restaba datos de 4 bits. El 4004 fue el microprocesador que le dio vida a una de las primeras calculadoras electrnicas. Intel lanzo posteriormente, en 1971 el 8008, el que sera el primer microprocesador de 8 bits, luego en 1973 saca al mercado el 8080, microprocesador que se utilizara Figura 2: El 4004 en la construccin de las primeras computadoras para el hogar, el aspecto fsico de este procesador se muestra en la figura . Unos aos despus, en 1978, Intel lanz el famoso 8086 y un ao y medio ms tarde el 8088 con los cuales se puso en el mercado Figura 3: El 8080 el IBM PC que apareci en 1982, con esto Intel estara en la mayora de computadores personales hasta llegar al

Arquitectura de Procesadores I Pentium IV que es ampliamente utilizado en los computadores de escritorio actuales (2006). En la tabla siguiente se muestra la evolucin histrica de los procesadores de Intel:

Nombre

Fecha Transistores

Tecnologa Frecuencia Ancho de de del reloj los datos fabricacin 6 3 1.5 1.5 1 0.8 2 MHz 5 MHz 6 MHz 16 MHz 25 MHz 60 MHz 8 bits 16 bits 8-bit bus 16 bits 32 bits 32 bits 32 bits 64-bit bus 32 bits 64-bit bus 32 bits 64-bit bus 32 bits 64-bit bus 32 bits 64-bit bus

MIPS

8080 8088 80286 80386 80486 Pentium

1974 1979 1982 1985 1989 1993

6,000 29,000 134,000 275,000 1,200,000 3,100,000

0.64 0.33 1 5 20 100

Pentium II

1997

7,500,000

0.35

233 MHz

~300

Pentium III

1999

9,500,000

0.25

450 MHz

~510

Pentium 4 Pentium 4 "Prescott"

2000

42,000,000

0.18

1.5 GHz

~1,700

2004

125,000,000

0.09

3.6 GHz

~7,000

Arquitectura: Caractersticas de un sistema que son visibles por el programador e influyen de manera directa en la forma en la que se ejecuta un programa. Organizacin: Las unidades funcionales y las interconexiones que existen entre ellos para realizar una arquitectura.

Arquitectura de Procesadores I

Organizaciones
Existen hoy en da varios tipos de organizaciones, las ms conocidas son Harvard y Von Neumann.

Von Neumann. Consiste de 5 componentes bsicos:


Unidad de memoria. Unidad de Entrada. Unidad de Salida. Unidad aritmtico lgica. Unidad de control.

Figura 4: Organizacin Von Neumann

Se fundamenta en:

Concepto de programa almacenado. Programa y datos en la misma memoria. Los Programas se manejan como datos ( dando lugar a la aparicin de los compiladores y los sistemas operativos).

Arquitectura de Procesadores I

Este modelo original ha sido modificado en lo que se llama organizacin basada en buses, tal y como se muestra a continuacin.

La anterior organizacin es la que se mantiene aunque con algunos refinamientos en los computadores actuales. Hardvard Esta organizacin es muy parecida a la Von Neumann, con la diferencia que existen buses separados para los diferentes elementos del sistema.

Arquitecturas.
Las mas ampliamente difundidas son: Risc, Conjunto reducido de instrucciones. Son procesadores con instrucciones simples y cortas, dando como resultado una gran velocidad de ejecucin. Algunos ejemplos de procesadores de este tipo son el 68000 de Motorola y las cpu's que utilizan los microcontroladores PIC. Cisc, Conjunto completo de instrucciones. Procesadores complejos internamente, con muchas instrucciones para el programador, hacindolos muy flexibles al programarlos. Ejemplos de estos son los de la familia Intel.

Antes de continuar con los la descripcin detallada de un sistema basado en microprocesador, veamos un ejemplo. Suponga como se menciono antes, que se desea sumar dos nmeros, seguiremos la secuencia paso a paso que realiza el procesador para

Arquitectura de Procesadores I realizar dicha tarea de una manera muy superficial, pero que nos dar una idea bsica sobre el comportamiento de los microprocesadores (posteriormente abordaremos el ejemplo de una manera ms detallada) 1. El procesador esta leyendo constantemente su entrada, ejecutando una instruccin de entrada de datos constantemente (IR=leer entrada).

2. Se presiona la tecla 2.

La unidad de control lee el valor de entrada y lo almacena en el registro A .

Arquitectura de Procesadores I 3. Se presiona la tecla 3.

La unidad de control lee el valor de entrada y lo almacena en el registro B .

4. Se presiona la tecla +.

La unidad de control ordena a la ALU a ejecutar la suma entra A y B, y almacenar el resultado en el registro A.

Arquitectura de Procesadores I 5. Se presiona la tecla =.

La unidad de control enva el dato que hay en el registro A a la salida.

Los buses
Imagine se necesita conectar la salida de un registro de datos a la entrada de dos registros ms, de tal modo que estos ltimos puedan tomar los datos del primero, de qu modo se conectan dichos elementos? Ahora imagine cmo sera el proceso inverso, es decir, que fuese necesario, que dos registros sean fuentes de datos de un tercero, esto es, si A,B y C son registros, se desea que en un tiempo t0 el dato que hay en A se transfiera a C y posteriormente en otro tiempo t1 el dato que hay en B sea trasferido a C, las dos operaciones anteriores las denotaremos C<-A y C<-B respectivamente. Para realizar estas transferencias entre registros, podemos optar por el uso de multiplexores tal y como se muestra a continuacin:

Arquitectura de Procesadores I

Figura 5: Operacin C<-A

Figura 6: Operacin C<-B

Se ha utilizado un multiplexor para controlar cul es el dato que se almacena en el registro C, esto se logra por medio de la seal de control C1, la seal ld C en su flanco de subida, se utiliza para cargar el dato en el registro C. Veamos un ejemplo un poco ms complejo, supongamos que queremos realizar conexiones bidireccionales entre los tres registros, dotando al sistema de la posibilidad de intercambiar informacin entre todos los registros, as:

A C B
Figura 7: Ejemplo de canales dedicadas

Arquitectura de Procesadores I

La forma de implementar el diagrama de la figura 7 se muestra a continuacin:

Figura 8: Implementacin con canales dedicados

Como puede verse en la figura, cada elemento puede enviar datos a los otros dos, por medio de los multiplexores conectados a su salida. Realicemos las operaciones C<-A, A<B, la secuencia que deben seguir las seales son: Seleccionar la entrada de C como A y la de A como B, as:

Arquitectura de Procesadores I

Activar las lneas de carga de los registros destino, ld_C y ld_A, en ese orden, pues A es fuente de una de las operaciones y destino de la otra. Las siguientes dos figuras muestran el proceso:

La forma anterior de conectar elementos de un sistema no es la nica que se puede usar, existe otra posibilidad, el uso de buses, con ellos el nmero de elementos necesarios para construir el sistema se reduce debido al no uso de multiplexores. Un bus es una conexin compartida por mltiples elementos para transmitir y/o recibir datos. Vemos la misma conexin de los registros anteriores realizada con buses.

Arquitectura de Procesadores I

Figura 9: Conexin en bus

En la figura 9 se muestra que para formar el bus, se agregaron buffer's triestado a las salidas de los registros y se conectaron, puede observarse que como no hay ninguna seal oe activa el bus aparece en estado de alta impedancia (color naranja). Cuando es necesario poner un dato en el bus se activa al seal oe del registro correspondiente, como se muestra a continuacin

Figura 10: Dato en el bus

Ahora si queremos realizar alguna operacin de transferencia como por ejemplo A<-B, podemos hacer la siguiente modificacin al circuito.

Arquitectura de Procesadores I

Para realizar la transferencia mencionada se activa la seal ld_A, mientras en el bus est el dato correspondiente al registro B.

Figura 11: Transferencia A<-B

Es necesario aclarar que para que no existan conflictos con los datos que aparecen en el bus la sincronizacin de las seales debe ser cuidadosa, pues podra crearse un corto circuito entre las salidas de los buffer's estropendolos. Para implementar el sistema tal y como se planteo solo hay que conectar la entrada de todos los registros al bus.

Figura 12:

Arquitectura de Procesadores I

Buses del sistema


Como se haba mencionado antes, en un sistema basado en procesador generalmente aparecen los siguientes buses: 1. Bus de datos: Utilizado para que el microprocesador intercambie informacin con otros elementos del sistema y en algunos casos entre dispositivos. 2. Bus de direcciones: Usado para indicar cul es el elemento que con el que se realizar la transferencia de datos. 3. Bus de control: Indica la direccin, tipo y otras caractersticas de la operacin de transferencia. Para la explicacin del funcionamiento de los buses de un sistema basado en procesador es necesario tener claro como funcionan los elementos bsicos de almacenamiento, las memorias

Você também pode gostar