Está en la página 1de 32

Arquitecturas y tecnologas de Microprocesadores

Arquitectura de Computadoras
El trmino Arquitectura de computadora se refiere al arreglo funcional de los elementos de proceso en una computadora digital. En otras palabras: El desempeo de una computadora, depende en gran medida de la forma cmo se encuentre organizada su arquitectura interna.

Arquitectura de Von Neumann


La mayora de las computadoras actuales funcionan de acuerdo a la arquitectura de procesador secuencial, propuesta por el matemtico y qumico hngaro John Louis Von Neumann, quien en 1945 fuera asesor del proyecto ENIAC (Electronic Numerical Integrator And Calculator) en el Instituto para Estudios Avanzados (IAS) de Princeton.

En 1946 propuso el concepto de computadora de programa almacenado con su computadora EDVAC (Electronic Discrete Variable Automatic Computer).

Arquitectura de Von Neumann


La estructura principal de esta arquitectura se basa en las siguientes unidades:

Entrada / Salida. Memoria. Unidad Central de Procesamiento (A.L.U., Control, Registros).

Al resultado de la interrelacin de los elementos que componen esta estructura se le conoce con el nombre de Arquitectura de Von Neumann, tambin llamada Arquitectura Princeton.

Arquitectura de Von Neumann

Unidad de Entrada

ALU Unidad de Control

Unidad de Salida

Registros CPU

Unidad de Memoria (Instrucciones y Datos)

Arquitectura de Von Neumann


Las computadoras con esta arquitectura, llevan a cabo el proceso de las instrucciones en tres fases principales: obtencin, decodificacin y ejecucin, cada una de estas fases consume varios ciclos de reloj para ser completada. Este proceso constituye un ciclo de instruccin. En la siguiente figura se muestran dos ciclos de instruccin completos, en los cuales se observa que solamente en la fase de decodificacin el canal de datos se encuentra libre.
Microprocesador Obtener 1 Decodificar 1 Ejecutar 1 Obtener 2 Decodificar 2 Ejecutar 2

Canal de Datos

Ocupado

Libre

Ocupado

Ocupado

Libre

Ocupado

Arquitectura de Von Neumann


El canal de datos compartido es una desventaja de esta arquitectura, en el momento en que se encuentra ocupado con una operacin de intercambio de datos con la memoria o dispositivos de E/S, no puede ser utilizado para obtener la siguiente instruccin a ejecutar. Por lo que el proceso de obtencin de cdigo deber esperar a que el canal se encuentre libre. Esto significa una demora en el tiempo de proceso total del sistema, este efecto es conocido como Cuello de botella de Von Neumann. Nuevos dispositivos de esta arquitectura se encuentran dotados con estructura interna ms compleja, que incluyen ms unidades internas de procesamiento independiente y simultneo, llamado paralelismo. Estas unidades pueden obtener ms de una instruccin cuando el canal de comunicacin de datos se encuentre libre, y almacenarlas para ser procesadas y ejecutadas mientras el bus de datos se encuentre ocupado. Fueron diseados para optimizar el uso del canal y reducir el efecto de cuello de botella.

Arquitectura de Von Neumann


Los conceptos principales de esta arquitectura son los siguientes tres:
1.

Una sola memoria direccionada de forma secuencial. Esta memoria tiene una estructura lineal.

2. Los datos e instrucciones se almacenan en la misma

memoria, y son transferidas hacia el CPU por el mismo canal de datos sin distincin.

3. La

ejecucin se produce siguiendo una secuencia consecutiva de instruccin tras instruccin, a no ser que dicha secuencia se modifique explcitamente.

Arquitectura Harvard
Esta arquitectura tiene las siguientes caractersticas principales:

Los datos se encuentran claramente diferenciados de las instrucciones. Emplean canales de comunicacin y localidades de memoria separadas para cada propsito. Todas sus instrucciones se codifican en palabras de longitud fija, lo que permite obtener impresionantes resultados en trminos de velocidad de ejecucin.

Esta arquitectura fue diseada principalmente para optimizar el tiempo de proceso, y contrarrestar el efecto de cuello de botella de un slo canal de comunicaciones compartido.

Arquitectura Harvard

Unidad de Entrada

ALU Unidad de Control

Memoria de Datos

Unidad de Salida

Registros CPU

Memoria de Programa

Tecnologas de Microprocesadores
Un aspecto relevante en la arquitectura de computadoras, es el diseo del conjunto de instrucciones para el procesador. Del conjunto de instrucciones elegido para una computadora en particular, depende la manera en que se construyen los programas en lenguaje mquina y la velocidad con que sern ejecutados. Las primeras computadoras, obligados por la necesidad de minimizar la circuitera utilizada para su diseo, tenan conjuntos de instrucciones pequeos y simples. Conforme la circuitera digital se hizo ms barata con la aparicin de los circuitos integrados, las instrucciones de computadora tendieron a incrementarse tanto en cantidad como en complejidad.

Tecnologas de Microprocesadores
Muchas computadoras tienen conjuntos de instrucciones de ms de 100 y en ocasiones superan las 300. Adems, tambin emplean diversos tipos de datos y una gran cantidad de modos de direccionamiento. Las tendencias hacia la complejidad de la circuitera de computadora la produjeron diversos factores, tales como:

El mejoramiento de los modelos existentes para proporcionar ms aplicaciones al usuario. La adicin de las instrucciones necesarias para implementar estos recursos y La traduccin de lenguajes de programas en alto nivel a programas en lenguaje mquina.

Tecnologa CISC
Una computadora con una gran cantidad de instrucciones (por lo general de ms de 150), se clasifica como una computadora con un conjunto de instrucciones complejo o CISC (Complex Instruction Set Computer). Una razn para implementar conjuntos de instrucciones extensos, es el deseo de simplificar el proceso de compilacin y mejorar el desempeo general de la computadora. La tarea de un compilador, es generar una secuencia de instrucciones de mquina para cada enunciado de lenguaje de alto nivel. Esta tarea se simplifica si existen instrucciones de mquina que integren los enunciados en forma directa.

Tecnologa CISC
El propsito esencial en la arquitectura CISC, es proporcionar una nica instruccin de mquina para cada enunciado escrito en lenguaje de alto nivel.

Sin embargo, conforme se incrementa el nmero de instrucciones y modos de direccionamiento en una computadora, se necesita ms circuitera lgica para implantarlos y soportarlos. Esto ltimo puede producir clculos lentos debido a los retrasos (tiempo de propagacin) producidos por la propia circuitera, adems de que las instrucciones para tareas especializadas no se usan con frecuencia.

Tecnologa CISC
Las caractersticas mas relevantes de esta tecnologa, son:

La incorporacin de formatos de instruccin de tamao variable. Para almacenar este formato variable en una palabra de memoria de longitud fija se requieren circuitos especiales de decodificacin, que cuenten los bytes dentro de la palabra y separen las instrucciones de acuerdo con la longitud de palabra. El nmero de registros de propsito general en el modelo de programacin, es reducido (de 4 a 8 registros). Esta propiedad, obliga a la computadora CISC llevar a cabo operaciones de almacenamiento temporal de datos (resultados parciales y operaciones que involucran la pila, principalmente) en memoria externa lo que indica que debe incluir en su grupo de instrucciones varias especializadas para este propsito.

Tecnologa RISC
A principios de los aos ochenta, muchos diseadores de computadoras recomendaron utilizar menos instrucciones con frmulas sencillas, para que pudieran ejecutarse con mucha mayor rapidez dentro de la CPU sin tener que utilizar la memoria externa con tanta frecuencia. Este tipo de computadoras se clasifica en la categora de computadoras de conjunto de instrucciones reducido. RISC (Reduced Instruction Set Computer).

Tecnologa RISC
El concepto de la arquitectura RISC significa un intento por reducir el tiempo de ejecucin al simplificar el conjunto de instrucciones de la computadora.

Al implementar un formato de instrucciones simple, la longitud de las instrucciones puede fijarse y alinearse en palabras consecutivas. Un aspecto importante es que resulta fcil de decodificar. Por lo tanto, el control puede acceder simultneamente el cdigo de operacin y los campos de registro de cdigo de la instruccin.
Al simplificar las instrucciones y su formato, tambin puede hacerse ms sencilla la lgica de control. Para operaciones ms rpidas, es preferible una unidad de control de circuitera sobre una microprogramada.

Tecnologa RISC
Las caractersticas principales de los procesadores RISC, son:

La cantidad de instrucciones no sobre pasa las 150 y no ms de 4 modos de direccionamiento. De forma tal que, el proceso de aprendizaje para implementar sistemas con esta tecnologa es mucho ms acelerado.
Su capacidad para ejecutar las instrucciones a la misma velocidad, es decir, un ciclo de instruccin. Esto se logra al llevar acabo simultneamente las fases de recuperacin, decodificacin y ejecucin de dos o tres instrucciones, utilizando un procedimiento llamado paralelismo. El nmero de registros internos es elevado en comparacin con su homologa, esta caracterstica hace que los datos producidos por el sistema puedan ser almacenados en forma interna sin ser transferidos a memoria de datos externa. Lo anterior da como resultado principal, una alta velocidad de proceso.

Unidades funcionales del microprocesador.


An cuando el microprocesador se considera un complejo sistema de procesamiento constituido por una gran variedad de circuitos interrelacionados, es posible agrupar estos circuitos de acuerdo a la afinidad del trabajo especifico que desempean dentro del sistema. En la terminologa de microprocesadores, a cada grupo de circuitos que desempean tareas similares de le llama UNIDAD FUNCIONAL, y el conjunto de unidades funcionales y la forma en que se encuentren interconectadas se denomina ARQUITECTURA DEL MICROPROCESADOR.

Unidades funcionales
Para que a un circuito se le pueda dar el nombre de microprocesador, debe contener en una sola pastilla de silicio al menos las siguientes unidades bsicas: de control, aritmtico/lgica, y algunos registros. Cuando un microprocesador contiene solamente las tres unidades funcionales bsicas, se le conoce como Unidad Central de Procesamiento (CPU) o simplemente Microprocesador (P).

Si un mismo circuito integrado tiene adems de las tres unidades bsicas, otras tales como memoria (de programa y de datos) y puertos, este circuito ya no se considera estrictamente un microprocesador, por lo que las unidades adicionales que contiene le dan la capacidad de una computadora.

La unidad de control
La circuitera de control es la unidad funcional principal dentro del microprocesador. Empleando seales de reloj, la unidad de control mantiene la secuencia de eventos apropiada para llevar a cabo cualquier tarea de procesamiento. Es decir, el microprocesador es un dispositivo sncrono. Frecuentemente, la unidad de control es capaz de responder a seales externas que alteran el estado del microprocesador, ya sea interrumpiendo temporalmente su funcionamiento o provocando la ejecucin de instrucciones especiales.

La unidad de control
La actividad fundamental de un microprocesador, regulada por la unidad de control, es cclica y consiste en la bsqueda y obtencin de datos e instrucciones, y en la ejecucin secuencial de estas ltimas.

Despus de que una instruccin a sido obtenida y de codificada, la circuitera de control enva las seales apropiadas a dispositivos tanto internos como externos al CPU para iniciar la accin de procesamiento indicada por la instruccin.
El corazn de la unida de control lo constituye el GENERADOR DE CICLO DE MQUINA (GMC), que se encarga de producir las seales de control derivndolas de un reloj o de un oscilador maestro como referencia.

La unidad aritmtica y lgica


Todos los microprocesadores contienen esta unidad, que con frecuencia se conoce simplemente como ALU (Aritmetic Logic Unit). La ALU, como su nombre lo indica, es la responsable de realizar las operaciones aritmticas y lgicas con datos binarios. Algunas de ellas se llevan a cabo sobre dos operandos, mientras que otras requieren solamente uno. La ALU generalmente es capaz de ejecutar las siguientes operaciones:

1. Suma y resta aritmtica. 2. Funciones lgicas AND, OR, XOR. 3. Complementos. 4. Rotacin de bits hacia la derecha o izquierda.

La unidad aritmtica y lgica


Adems de ser la responsable de llevar a cabo estas operaciones, la ALU contiene un grupo de flip-flops llamados BANDERAS (flags), los cuales almacenan informacin relacionada con el resultado de una operacin aritmtica o lgica. Por ejemplo: Una de las banderas sirve para indicar si la operacin previa dio como resultado cero. Otra indica un desbordamiento desde la posicin ms significativa, cuando se llevan a cabo operaciones de suma o en rotaciones o desplazamientos.

Los registros internos

Estos registros son unidades de almacenamiento temporal dentro de la CPU. Algunos de ellos tienen usos especficos, mientras que otros son de propsito general.

Los registros de uso especifico


EL REGISTRO CONTADOR DE PROGRAMA
Para llevar cuenta de cual instruccin es la que se debe ejecutar enseguida, la unidad de control mantiene un registro con la direccin de la siguiente instruccin en el programa.

A este registro se le llama CONTADOR DE PROGRAMA (Program Counter) o PC.


El microprocesador actualiza el contenido del PC incrementndolo cada vez que obtiene una instruccin de la memoria. Una de las entradas de control del microprocesador es la entrada de RESET (restablecer). Cuando el microprocesador es restablecido, la unidad de control carga el contador de programa con ceros. Este valor inicial establece la direccin de memoria de donde se va a obtener la primera instruccin (Vector de reset).

Los registros de uso especifico


EL REGISTRO DE INSTRUCCIONES
Despus de que se ha obtenido una instruccin de la memoria, la CPU la almacena en uno de los registros conocido como REGISTRO DE INSTRUCCIONES (Instruction Register) o IR. La instruccin almacenada en el IR es decodificada y usada para activar una de varias lneas. Cada lnea representa un conjunto de actividades asociadas con la ejecucin de una instruccin en particular. El dispositivo que traduce las instrucciones en acciones concretas es el DECODIFICADOR DE INSTRUCCIONES (Instruction Decoder) o ID.

Los registros de uso especifico


La primera palabra de una instruccin es el cdigo de operacin para esta instruccin. El cdigo de operacin indica a la unidad de control las operaciones requeridas en la ejecucin de dicha instruccin. Las instrucciones de un microprocesador frecuentemente requieren ms informacin de la que puede contener una palabra de memoria. Por lo tanto, es comn que las instrucciones consten de dos o tres palabras. La primera palabra es siempre el cdigo de operacin (OP code). Las otras son datos que representan ya sea una direccin o una constante.

Los registros de uso especifico


Despus de que el cdigo de operacin se ha ledo de la memoria y puesto en el registro de instrucciones, su decodificacin indica si la instruccin requiere de informacin adicional. Las partes de una instruccin de varias palabras estn contenidas en localidades sucesivas de la memoria. Existe un registro ntimamente relacionado con la ALU, denominado ACUMULADOR. Generalmente el acumulador contiene uno de los operandos que sern manipulados por la ALU y, tambin muy frecuentemente, el resultado de la operacin se deposita en ese registro, reemplazando a uno de los operandos originales.

Los registros de uso general


Los microprocesadores contienen un determinado nmero de registros adicionales que no tienen asignada ninguna funcin en particular, sino que ms bien se utilizan en tareas generales como lugares de almacenamiento temporal para guardar operandos o resultados intermedios. La disponibilidad de los registros de propsito general elimina la necesidad de mover los datos a de un lado a otro entre la memoria y el acumulador, mejorando as la velocidad de procesamiento y la eficiencia total del sistema.

Los registros de uso general

Debido a la restriccin en el nmero de bits que se pueden incluir en el cdigo de operacin de una instruccin, el nmero de registros para este propsito normalmente se limita a menos de ocho.

Memoria de programa
Aunque la memoria no es parte integrante del microprocesador considerndolo como CPU, la memoria de programa es parte fundamental de un sistema con microprocesador, ya que sin ella el CPU se convierte en un dispositivo inservible. La memoria de programa es una memoria de lectura solamente. La memoria de programa adems de almacenar las instrucciones, tambin almacena parmetros o tablas de datos que no sufren modificaciones.

También podría gustarte