Vous êtes sur la page 1sur 4

4.

1 Modelo de programacin
Ensamblador. La programacin en lenguaje ensamblador puede resultar un tanto ardua
para el principiante, pero permite desarrollar programas muy eficientes, ya que otorga al
programador el dominio absoluto del sistema.

Compilador. La programacin en un lenguaje de alto nivel (como el C el Basic) permite


disminuir el tiempo de desarrollo de un producto. No obstante, si no se programa con
cuidado, el cdigo resultante puede ser mucho ms ineficiente que el programado en
ensamblador.

Depuracin: debido a que los microcontroladores van a controlar dispositivos fsicos, los
desarrolladores necesitan herramientas que les permitan comprobar el buen
funcionamiento del microcontrolador cuando es conectado al resto de circuitos.

Simulador. Son capaces de ejecutar en un PC programas realizados para el


microcontrolador. Los simuladores permiten tener un control absoluto sobre la ejecucin
de un programa, siendo ideales para la depuracin de los mismos. Su gran inconveniente
es que es difcil simular la entrada y salida de datos del microcontrolador.

Placas de evaluacin. Se trata de pequeos sistemas con un microcontrolador ya


montado y que suelen conectarse a un PC desde el que se cargan los programas que se
ejecutan en el microcontrolador. Las placas suelen incluir visualizadores LCD, teclados,
LEDs, fcil acceso a los pines de E/S, etc. El sistema operativo de la placa recibe el
nombre de programa monitor.

Emuladores en circuito. Se trata de un instrumento que se coloca entre el PC anfitrin y


el zcalo de la tarjeta de circuito impreso donde se alojar el microcontrolador definitivo.
El programa es ejecutado desde el PC, pero para la tarjeta de aplicacin es como si lo
hiciese el mismo microcontrolador que luego ir en el zcalo. Presenta en pantalla toda la
informacin tal y como luego suceder cuando se coloque la cpsula.

Mecanismos disponibles al programador para expresar la estructura lgica de un


programa
Influye
Complejidad del programa
1. Costo de desarrollo
2. Legibilidad. Costo de mantenimiento
Rendimiento
1. Influenciado por el modelo
2. por la implementacin del modelo
3. Por la estructura de paralelizacin
Componentes
Datos
Procesos
Comunicacin
Sincronizacin
Entrada/salida

4.2 Estructura de los registros del CPU

Registros de la CPU
Para poder hacer estas cosas, es obvio que la CPU necesita almacenar
algunos datos temporalmente. Debe recordar la posicin de la ltima instruccin de forma
que sepa dnde ir a buscar la siguiente. Necesita almacenar instrucciones y datos
temporalmente mientras una instruccin est siendo ejecutada. En otras palabras, la CPU
necesita una pequea memoria interna.
En la estructura interna de la CPU se indican los caminos de transferencia de datos y de
control lgico, que incluyen un elemento con el rtulo bus interno de la CPU. Este
elemento es necesario para transferir datos entre los diversos registros y la ALU, ya que
sta en realidad slo opera con datos de la memoria interna de la CPU.
La figura muestra tambin los elementos bsicos tpicos de la ALU. Dentro de la CPU hay
una memoria interna compuesta por un conjunto de registros.

Los registros de la CPU son:

Registros visibles al usuario: Permiten al programador de lenguaje de mquina


o ensamblador minimizar las referencias a memoria principal optimizando el uso
de los registros.
Registros de control: Son utilizados por la unidad de control para controlar el
funcionamiento de la CPU y por programas privilegiados del sistema para controlar
la ejecucin de programas.
Registro de estado: Se utiliza para tomar decisiones en funcin de operaciones
realizadas.
Registro puntero a pila.

Registros visibles al usuario


Un registro visible al usuario es aqul que puede ser referenciado por medio del lenguaje
mquina que ejecuta la CPU. Prcticamente todos los diseos contemporneos de CPUs
estn provistos de varios registros visibles al usuario, en oposicin a disponer de un nico
acumulador.

Podemos clasificarlos en:


Uso General
Datos
Direcciones
Cdigos de Condicin

Los registros de uso general pueden ser asignados por el programador a diversas
funciones. A veces, su uso dentro del repertorio de instrucciones es para contener el
operando para cualquier cdigo de operacin. Esto proporciona una utilizacin de
registros de autntico uso general. Con frecuencia, sin embargo, existen restricciones. Por
ejemplo, puede haber registros especficos para operaciones en coma flotante. En
algunos casos los registros de uso general pueden ser utilizados para funciones
de direccionamiento. En otros casos hay una separacin clara o parcial entre registros de
datos y registros de direcciones.

Los registros de datos pueden ser usados nicamente para contener datos y no se
pueden emplear en el clculo de una direccin de operando.

Los registros de datos deben ser capaces de contener valores de la mayora de tipos de
datos. Algunas mquinas permiten que los registros contiguos sean usados como uno
para contener valores de doble longitud. Una categora final de registros, que es al menos
parcialmente visible al usuario, contiene cdigos de condicin (tambin llamados
indicadores o flags).
Los registros de direccin pueden ser en s registros de uso ms o menos general, o
pueden estar dedicados a un modo de direccionamiento particular. El caso ms conocido
es el puntero a pila. La cantidad de registros generales o especializados es una cuestin
de diseo. No hay solucin ptima, pero la tendencia parece ir hacia el uso de registros
especializados. Otro problema de diseo es el nmero de registros, de uso general o de
datos ms direcciones, que tienen que incluirse.

Los cdigos de condicin son bits fijados por el hardware de la CPU como resultado de
alguna operacin. Por ejemplo, una operacin aritmtica puede producir un resultado
positivo, negativo o nulo, o con desbordamiento. Adems de almacenarse el propio
resultado en un registro o en la memoria, se obtiene tambin un cdigo de condicin. El
cdigo puede ser examinado con posterioridad como parte de una condicin
de bifurcacin condicional.

La CPU lleva a cabo la salvaguarda y restablecimiento como parte de la ejecucin de las


instrucciones de llamada y retorno, respectivamente. Esto permite a cada subrutina usar
independientemente los registros visibles al usuario. En otras mquinas, es
responsabilidad del programador guardar los contenidos de los registros visibles al
programador relevantes antes de la llamada a subrutina, teniendo que incluir en el
programa instrucciones para este fin.

Registros de control

Hay diversos registros de la CPU que se pueden emplear para controlar su


funcionamiento. La mayora de stos, en la mayor parte de las mquinas, no son visibles
al usuario. Algunos de ellos pueden ser visibles a instrucciones de mquina ejecutadas en
un modo de control o de sistema operativo. Naturalmente, mquinas diferentes tendrn
diferentes organizaciones de registros y usar distinta terminologa. Se enumera aqu una
lista razonablemente completa de tipos de registros, con una breve descripcin. Son
esenciales cuatro registros para la ejecucin de una instruccin: el contador de programa,
el registro de direccin, el registro de instruccin y el registro de datos. El contador de
programa contiene una direccin de instruccin. Tpicamente, la CPU actualiza el PC
despus de cada captacin de instruccin de manera que siempre apunta a la siguiente
instruccin a ejecutar. Una instruccin de bifurcacin o salto tambin modificar el
contenido de PC. La instruccin captada se carga en el registro de instruccin, donde son
analizados el cdigo de operacin y los campos de operando. Se intercambian datos con
la memoria por medio de registro de direcciones y el de datos. En un sistema con
organizacin de bus, el de direcciones se conecta directamente al bus de direcciones, y el
de datos directamente al bus de datos. Los registros visibles al usuario, sucesivamente,
intercambian datos con el de datos. Los cuatro registros que acaban de mencionar se
usan para la transferencia de datos entre la CPU y la memoria. Dentro de la CPU, los
datos tienen que ofrecerse a la ALU para su procesamiento. La ALU puede tener acceso
directo al de datos y a los registros visibles al usuario. Como alternativa, puede haber
registros intermedios adicionales en el lmite de la ALU; estos registros sirven como
registros de entrada y salida de la ALU e intercambian datos con el de datos y los
registros visibles al usuario.

Registro de estado

Todos los diseos de CPUs incluyen un registro o un conjunto de registros, conocidos a


menudo como palabra de estado de programa "programa status word", PSW), que
contiene informacin de estado. La PSW contiene tpicamente cdigos de condicin
adems de otra informacin de estado.

Bit de Nombre Descripcin


estado
C Acarreo Puesto a uno si una operacin da lugar a un acarreo
(suma) o adeudo (resta) de un bit de orden superior.
P Paridad Paridad del resultado de una operacin aritmtica o
lgica. Un 1 indica paridad par y el 0 paridad impar.
Z Cero Puesto a uno cuando el resultado de una operacin
aritmtica o lgica es cero.
S Signo Contiene el bit de signo del resultado de la ltima
operacin aritmtica.
O Desbordamien Usado para indicar un desbordamiento aritmtico.
to
I Interrupcin Usado para habilitar o inhabilitar interrupciones

Registro puntero a pila


El registro puntero a pila permite almacenar la direccin de acceso a la memoria pila.
Veremos su funcionamiento al tratar las subrutinas.

Vous aimerez peut-être aussi