Grupo de Tecnología Electrónica

Complementos de sistemas electrónicos digitales {tema}

3. ESTRUCTURA BÁSICA DEL DSP

Los sistemas microprocesadores actuales se clasifican según su funcionalidad en sistemas CISC (con un juego de instrucciones complejo, disponen de más de 80 instrucciones en código máquina algunas de las cuales son muy complejas y potentes y requieren muchos ciclos para ejecutarse), RISC (con un juego de instrucciones reducido, disponen de pocas instrucciones en código máquina que se ejecutan normalmente en un ciclo y que permiten optimizar el hardware del sistema) y SISC (con un juego de instrucciones específico, son microprocesadores destinados a aplicaciones muy concretas cuyo juego de instrucción se adapta a la aplicación concreta a la que se destina el sistema). Los sistemas DSPs que estudiaremos, se engloban dentro de los sistemas CISC, aunque se pueden encontrar en el mercado sistemas DSPs de tipo SISC (dedicados a aplicaciones concretas como telefonía móvil, etc.).

La estructura interna básica de un microprocesador puede ser de dos tipos, de tipo Von-Neumann o de tipo Harvard. La arquitectura básica de los DSPs puede ser de cualquiera de esos dos tipos, aunque predominan las arquitecturas de tipo Harvard.

En las arquitecturas de tipo Von-Neumann, las instrucciones y los datos son almacenados en memorias (de tipo RAM o de tipo ROM) a las que accede secuencialmente la unidad central de procesos (CPU) a través de un bus de direcciones y otro de datos. La CPU lee las instrucciones de la memoria mediante el bus de datos y seguidamente ejecuta las instrucciones leídas previamente. El sistema microprocesador puede, además, leer y escribir datos en dispositivos externos mediante un buffer de entrada salida, de forma que el acceso a los periféricos externos es similar al acceso a la zona de memoria.

Normalmente, en éste tipo de estructuras microprocesadoras, programas y datos residen en la misma memoria. La memoria de programa y la de datos es accedida por el mismo bus de direcciones de forma que las instrucciones del programa y los datos fluyen por un mismo camino, el bus de datos. En la figura 1.4 se muestra la estructura de un sistema microprocesador de arquitectura Von-Neumann. El sistema microprocesador, que sólo dispone de un bus de datos y otro de direcciones, accede a la memoria de programa para recoger la instrucción a ejecutar. Posteriormente decodifica la instrucción para determinar le secuencia de operaciones que ésta lleva asociada y accede a la memoria de datos para leer los operandos asociados a la instrucción leída. Finalmente, la instrucción se ejecuta y comienza un nuevo ciclo.

Estructura (simplificada) de un microprocesador de tipo Von-Neumann. El bus de control no se representa para simplificar el esquema.

La estructura Harvard, que viene implementada en la mayoría de los DSPs, se representa en la figura 1.5. El bus de direcciones de acceso al programa es diferente del bus de direcciones de acceso a los datos. Las instrucciones son recibidas por la CPU a través de un bus de datos reservado para las instrucciones, separado del bus de datos propiamente dicho. La CPU lee las instrucciones de la memoria mediante el bus de datos y paralelamente ejecuta las instrucciones leídas previamente (esta estructura de acceso a datos y ejecución de instrucciones en paralelo se denomina, en terminología anglosajona, estructura pipelining). Se simultanea el acceso a las memorias de programa y dato (posible por la duplicidad de recursos, buses, que existe en el sistema).

Este tipo de estructuras es más complejo en el hardware que las de tipo Von-Neumann, pero permiten acelerar el tiempo efectivo de ejecución de la instrucción: la CPU prepara (fetch) instrucciones de programa mientras y simultáneamente realiza la manipulación de datos de las instrucciones previamente recogidas. La ejecución real de una instrucción se realiza en varios ciclos de reloj, pero mientras una instrucción se está ejecutando, otras instrucciones están en proceso de preparación para ejecutarse. Esto es debido a que, con la estructura Harvard, el hardware destinado a procesar los datos y ejecutar las instrucciones recogidas anteriormente, reside en diferentes partes de la CPU.

Estructura (simplificada) de un microprocesador de tipo Harvard. El bus de control no se representa para simplificar el esquema.

Por último, la zona de manejo de datos y operaciones está compuesta fundamentalmente por una serie de operadores (la denominada unidad aritmético-lógica o ALU, Arithmetic Logic Unit) y de registros internos que actúan como operandos o variables de entrada de dichos operadores y como registros de almacenamiento del resultado de la operación.

De entre todos los registros internos de esta zona destaca el denominado registro acumulador que tiene la peculiaridad de funcionar como operando fuente y destino del operador. Si la CPU dispone de un único registro acumulador, cada vez que se realice una operación debe salvarse el resultado obtenido si queremos que éste no se pierda en el futuro, como consecuencia de alguna operación que se vaya a realizar. Las CPU que disponen de un sólo registro acumulador (caso del microcontrolador MC68HC11) se dice que tienen una estructura interna orientada a acumulador y su potencia de cálculo se ve limitada por las continuas transferencias que hay que realizar para salvar el valor contenido en el acumulador o para cargar en el acumulador un nuevo operando. Las CPU de mayor potencia de cálculo (caso de los DSPs) no se ven tan limitadas en su potencia de cálculo como las anteriores, gracias a que disponen de varios registros que pueden funcionar como acumulador. Estos registros se pueden emplear como variables de almacenamiento temporal de datos, con lo que disminuye el número de transferencias entre el acumulador de la CPU y la memoria de datos. Este otro tipo de CPU se dice que tiene una estructura interna orientada a registro.

Estructura interna orientada a acumulador.

Estructura interna orientada a registro.

e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.



IMPLANTACIÓN DE UNA RED ASÃNCRONA DE ENSEÑANZA DEDICADA A LA IMPARTICIÓN DE LA ASIGNATURA COPLEMENTOS DE SISTEMAS ELECTRÓNICOS DIGITALES DE 3º CURSO DE INGENIERÃA DE TELECOMUNICACIÓN.

: Oliveros Garrido, Antonio
: Ingeniería Telecomunicación
Contenido del proyecto:
Directorio raíz  >  Proyecto  >  tema1  >  punto3.html