miércoles, 2 de noviembre de 2016

Modos de direccionamiento lenguaje de maquinas

Modos de direccionamiento.
Por otra parte, dependiendo de la complejidad de las estructuras de datos manejadas se puede hacer necesaria la utilización de modos de direccionamiento más o menos complejos. Algunas veces el modo del direccionamiento viene indicado implícitamente por el código de operación, que fuerza el modo de direccionamiento, en otros casos el modo debe indicarse explícitamente en cada operando. Vamos a dedicarnos ahora a tratar algunos modos de direccionamiento más comunes que suelen encontrarse en los procesadores de propósito general. Aunque hay múltiples variaciones, todas ellas suelen estar basadas en los modos que vamos a tratar a continuación.
1)      Direccionamiento Inmediato
 La forma más simple de indicar un operando es incluyéndolo en la propia instrucción. Ya que las instrucciones no son modificables, este es el modo que se utiliza en operaciones con constantes. Si la constante es un valor numérico, se almacena en complemento a dos.
La ventaja del direccionamiento inmediato es que no se requieren referencias adicionales a memoria para obtener el operando, ahorrando por lo tanto espacio y tiempo. El inconveniente es que el espacio reservado para este operando suele estar restringido y suele ser menor que el tamaño de la palabra, por lo que en algunos procesadores solamente se utiliza para constantes de valores pequeños.
2) Direccionamiento Directo (o absoluto)
Otra forma muy simple de hacer referencia a un operando es indicando su dirección en memoria principal, y solamente requiere una referencia adicional a memoria para obtener el operando. Es el modo de direccionamiento común para las variables globales de los programas.
La pega que tiene es que cuando se dispone de grandes espacios de direccionamiento, requiere muchos bits para indicar la dirección, como es el caso de Motorola. En el Pentium de Intel, se utiliza hasta un máximo de 32 bits para indicar la dirección del operando en memoria.
3) Direccionamiento a Registro
Este modo es similar al direccionamiento directo, pero en este caso, el campo de dirección se refiere a uno de los registros generales del procesador.
Las ventajas que tiene es que solo necesita 3 o 4 bits para indicar uno de los registros generales, y que no requiere referencias adicionales a memoria. El inconveniente es que no se suele disponer de muchos registros, aunque con el advenimiento de las máquinas RISC, la tendencia es a ir incrementando su número.
 Se utiliza para guardar valores temporales en la evaluación de expresiones, o para mantener en registros algunas variables que se referencian muy a menudo.
4) Direccionamiento Indirecto
Si en el direccionamiento directo, el campo de operando indicaba la dirección del dato, en el direccionamiento indirecto, se hace referencia a una palabra de memoria principal en la que se encuentra la dirección del operando. La otra posibilidad de este direccionamiento es que el campo de operando hace referencia a un registro general en el que se encuentra la dirección del dato.
Como se puede apreciar, según este esquema, con una “indirección” se requieren dos accesos adicionales a memoria para obtener el operando (si es vía registro, solo uno).
 Este direccionamiento se utiliza cuando la dirección de las variables no se conoce en tiempo de compilación, sino que es durante la ejecución del programa cuando se calcula la dirección del operando y se guarda ésta en memoria o en un registro.
5) Direccionamiento por Desplazamiento
Hay unos cuantos métodos de direccionamiento que para formar la dirección del operando utilizan el contenido de un registro más un desplazamiento que viene explícitamente en el campo de operando.
A este mecanismo para formar la dirección del operando se le conoce también como base + desplazamiento. La base está contenida en un registro, y el desplazamiento viene indicado por los bits del campo de operando.
En algunos casos, el registro base utilizado puede estar implícitamente impuesto por el código de operación. Dependiendo del registro base utilizado, se distinguen los siguientes modos de direccionamiento por desplazamiento:
- Relativos. En este modo se utiliza el Contador de Programa, de tal modo que la dirección efectiva se calcula añadiendo el desplazamiento que figura en el campo de operando más el contenido del Contador de Programa.
Este direccionamiento lo utilizan los compiladores para indicar las direcciones de salto en las instrucciones de control de bucles.
- Por registro base. Este modo de direccionamiento se utiliza comúnmente en los programas reubicables. El registro base contiene la dirección de una gran área de datos o de instrucciones. Y los bits del campo de operando indican el desplazamiento del dato a partir del comienzo del área de datos indicado por el registro base.
Además de permitir programas reubicables, constituye una buena alternativa al direccionamiento directo, pues requiere pocos bits en el campo de operando.
- Indexado. El propósito de este modo de direccionamiento es facilitar el acceso iterativo a las matrices o tablas de datos. Lo que se hace es indicar en los bits del campo de operando la dirección inicial de la tabla, y a esta dirección se le añade el contenido de un registro llamado “registro de índice”. Para ir referenciando los sucesivos elementos de la tabla simplemente hay que ir incrementando el contenido del registro de índice.
6) Direccionamiento a Pila
La Pila es una estructura de datos que se mantiene en memoria principal. Básicamente es un vector de celdas de datos de direcciones secuenciales, en los que se meten y sacan datos con política LIFO (Last In, First Out), es decir, el último en entrar es el primero en salir.
 Esta estructura es muy útil como ayuda en la ejecución de los programas, pues se utiliza para guardar en ella variables temporales, parámetros, direcciones de retorno en la llamada a procedimientos, etc.
El primer elemento que se mete en la pila se dice que está en el fondo de la pila, y el último que se ha metido está en la cima de la pila. El interés de la cima de la pila es que siempre está en ella el primer dato disponible de la pila. Las operaciones con la pila son meter y sacar datos de ella, y operan utilizando un registro denominado puntero de pila que siempre contiene la dirección de la cima de la pila.
Subrutina.
Sabemos que un procedimiento o subrutina es un grupo de instrucciones que realizan alguna tarea y que puede ser llamado desde diversos puntos de un programa. A diferencia de los saltos, estas llamadas tienen la particularidad de que una vez terminado el trabajo del procedimiento, se devuelve el control a la siguiente instrucción del punto de llamada. Por esto, una de las primeras cosas que hay que hacer en una llamada a procedimiento es guardar la dirección de retorno en alguna parte.


Pila de empuje hacia abajo.
Una memoria LIFO se denomina pila push-down. El principio de estas memorias, se cargan en paralelo un byte de datos en el tope de la pila. Cada sucesivo byte empuja el anterior al registro siguiente. Cada nuevo dato siempre se carga en el registro superior y los datos previamente almacenados son empujados hacia abajo dentro de la pila. El nombre de pila de empuje hacia abajo viene dado estas características.

Los datos se recuperan en orden inverso. El último dato introducido siempre está en el registro superior de la pila, por lo que, cuando sale de la pila, los demás satos saltan a la siguente posición superior.

domingo, 19 de junio de 2016

Análisis de corriente contínua y en pequeña señal

Al aplicar pequeñas señales, las variaciones (tensiones y corrientes) actuaran dentro de un reducido rango en torno al punto Q, con ello se asegura el trabajo en zona lineal (salida sin distorsión). En las siguientes secciones se describen los modelos a pequeña señal del BJT y el FET, los que permitirán analizar las distintas aplicaciones ampliadoras.
Análisis en Corriente alterna.
 Los modelos propuestos describen el comportamiento de los transistores en la zona lineal, a pequeña señal además de sus características dinámicas, así el análisis básico de ampliadores requerir· de dichos modelos.

El análisis de ampliadores consiste en la determinación de la relación de las variables de entrada y salida, comúnmente llamada ganancia, la que puede ser de voltaje (Av) o corriente (Ai). Sin embargo, son importantes las características de entrada y salida tales como la impedancias de entrada y salida (Rin y Rout), parámetros que permitirán evaluar el efecto de la conexión entre distintas etapas. Como el análisis es en CA, se deben anular las fuentes de cc, y dejar solo las componentes de señal. Los capacitores se reemplazan por cortocircuitos y finalmente se reemplaza el dispositivo activo por el modelo correspondiente. Finalmente, a través de las leyes de Kircchoff , se determinan los parámetros señalados.

Amplificador Diferencial de etapas múltiples.

Un amplificador operacional es un amplificador modular de etapas múltiples, con entrada diferencial, que tiene casi la mayoría de las características del mítico "amplificador ideal". Las propiedades asociadas con un amplificador ideal son las siguientes:

1.   Ganancia infinita de voltaje.
2.    Impedancia infinita de entrada.
3.    Impedancia de salida igual a cero.
4.    Voltaje de salida  cuando los voltajes de entrada.
5.     Ancho de banda infinito (no hay retraso de la señal a través del amplificador).

En la práctica no es posible lograr ninguna de esas propiedades, pero se pueden obtener con la aproximación suficiente para muchas aplicaciones.
Por ejemplo, si se recurre a la retroalimentación para limitar a 10 la ganancia del circuito amplificador, una ganancia del amplificador (sin retroalimentación) de 1000 se acerca al infinito lo suficiente, para fines prácticos.

La primera etapa de un amplificador operacional es un amplificador diferencial. El amplificador diferencial proporciona una alta ganancia a señales diferenciales y baja ganancia con señales aplicadas simultáneamente a ambas entradas (señales de modo común).

El amplificador diferencial presenta también una alta impedancia a cualquier señal de entrada que se aplique. La etapa de entrada de un amplificador operacional es la más importante, porque es ahí donde de se establece la impedancia de entrada u se minimizas la respuesta en modo común y los voltajes de desajuste.

A la etapa de entrada siguen una o más etapas intermedias, como se muestra en la figura 1.3, para cambiar a cero el nivel del voltaje estático del punto de operación a la salida, y proporcionar ganancia tanto de voltaje como de corriente. Se requiere una ganancia de voltaje adicional para obtener una alta ganancia general de voltaje, y la ganancia de corriente es necesaria para suministra corriente impulsora a la etapa de salida, sin cargar la etapa de entrada. En las etapas de amplificación intermedias se usan configuraciones tanto asimétricas como diferenciales.

La etapa de salida debe presentar una baja impedancia de salida y tener también una impedancia de entrada lo suficientemente alta para no cargar la última etapa de amplificación intermedia. La etapa de salida es normalmente un emisor seguidor o una configuración complementaria.

Debemos hacer notar algunas cosas acerca del circuito de entrada. Las resistencias de emisor de  y  aumentan la impedancia de entrada de la etapa de entrada. Por lo general, las corrientes de colector de la etapa de entrada son bajas, de manera que la resistencia ca del diodo emisor-base de los transistores de entrada es alta y el circuito puede sor impulsado con bajas corrientes de entrada. Esto da lugar a una pérdida de ganancia de voltaje en la primera etapa, que se compensa en las etapas intermedias. Se usa una fuente de corriente constante para suministrar corriente de emisor a la primera etapa y reducir la sensibilidad del circuito a las señales en modo común. Debido a que la resistencia interna de una fuente de corriente constante (rac) es elevada, la ganancia del amplificador diferencial con señales de modo común (Acm) es muy baja.

Para disminuir la cantidad de corriente de entrada, necesaria para impulsar el amplificador diferencial y elevar la resistencia de entrada, la primera etapa  y  puede consistir en pares Darlington o en transistores de efecto de campo. El empleo de TEC (de unión o MOSTEC) para  y permite obtener una resistencia de entrada muy elevada. El voltaje de desajuste de entrada  y la variación de  con la temperatura son mayores con los amplificadores diferenciales TEC que con los transistores bipolares; pero esto se puede minimizar mediante diversas configuraciones de la retroalimentación dentro del amplificador. Existen amplificadores de circuito integrado (CI) que contienen transistores de entrada TEC para una alta impedancia de entrada y transistores bipolares en el resto de los circuitos del amp-op. El empleo de pares Darlington para  y.da lugar también a.  y variaciones del  mayores con la temperatura.

Si la ganancia de voltaje de la primera etapa es la de, la de la segunda etapa es de  y la de la tercera etapa es de, la ganancia total  será el producto de las ganancias de las etapas individuales, o sea que es bastante alta.

El BJT copmo elemento amplificador.

Amplificador diferencial es un arreglo realizado mediante transistores, es el circuito principal de los amplificadores operacionales integrados comerciales y de muchos otros circuitos integrados, se verá el caso del amplificador diferencial construido a partir de transistores bipolares o bjt .  Algunas de las características importantes del amplificador diferencial son su alta impedancia de entrada, una ganancia de tensión alta, un valor alto en cuanto al rechazo en modo común.
Serán necesarios un par de transistores bipolares npn, en los ejemplos se utilizará el , tres resistencias de las cuales luego se verá como calcular sus valores adecuados 2N3904 para utilizarlos dentro de un amplificador diferencial construido mediante elementos discretos, en un inicio se usarán dos fuentes de alimentación, una positiva y la otra negativa, mas adelante se verá como implementar un amplificador diferencial con sólo una fuente de alimentación.
Amplificador diferencial circuito
El circuito utilizado para conocer el amplificador diferencial será el que se muestra en la siguiente imagen, en ella se puede ver la distribución de los dispositivos, así como la de las fuentes de alimentación.
Los colectores de los transistores bipolares están conectados a fuente de alimentación positiva VCC a través de las resistencias RC1 y RC2, los emisores están unidos entre si y mediante una resistencia RE están conectados a la fuente de alimentación negativa -VEE.
La base del transistor T1 se conoce como entrada no inversora, mientras que la base de T2 se conoce como entrada inversora, si una señal senoidal v1 ingresa por la base de T1 y una señal senoidal v2 ingresa por la base de T2 ambas de la misma frecuencia pero de diferente amplitud, entonces si v1>v2 la tensión de salida vsal estará en fase con v1, pero si v1<v2 la tensión de salida vsal estará invertida con respecto a v1.
La tensión de salida vsal amplificada será la diferencia entre las tensiones de los colectores de los transistores T2 y T1 las cuales serán las salidas de las señales amplificadas, luego vsal=vc2-vc1, esta es la razón por la cual cual se llama a este tipo de circuitos amplificadores diferenciales, en muchos circuitos no se utilizan ambas entradas ni ambas salidas.
Cuando se utilizan ambas entradas se dice que la entrada del circuito es diferencial, si se usa una sola de las entradas se dice que la entrada es asimétrica; cuando se toman ambas  salidas se dice que la salida es diferencial, si se toma solo una salida se dice que la salida es asimétrica.
Es de mencionar que el circuito utilizado para los análisis es el mas simple que se puede hacer mediante dispositivos discretos, el circuito será útil para experimentación y ademas tendrá una gran utilidad teórica para poder comprender los amplificadores diferenciales, ya que al circuito se le puede hacer muchas mejoras para obtener circuitos mucho mas útiles, lo que se logra con creces dentro de los circuitos integrados, pero estas mejoras conllevan a realizar cálculos matemáticos mucho mas complejos, en nuestro caso no se busca complicarnos con la matemática sino comprender el amplificador diferencial, partiendo de esto, mas adelante dependiendo del interés que se tenga, se puede buscar información mas avanzada sobre este tema; los resultados teóricos que se obtengan en nuestro caso  serán próximos a los valores reales.

Principio de operación del Amplificador Operacional.


Principio de operación del Amplificador Operacional.


Los diseños varían entre cada fabricante y cada producto, pero todos los Amplificadores Operacionales tienen básicamente la misma estructura interna, que consiste en tres etapas:

1. Amplificador diferencial: es la etapa de entrada que proporciona una baja amplificación del ruido y gran impedancia de entrada. Suelen tener una salida diferencial.
2. Amplificador de tensión: proporciona ganancia de tensión.
3. Amplificador de salida: proporciona la capacidad de suministrar la corriente necesaria, tiene una baja impedancia de salida y, usualmente, protección frente a cortocircuitos. Éste también proporciona una ganancia adicional.
El dispositivo posee dos entradas: una entrada no-inversora (+), en la cual hay una tensión indicada como  y otra inversora (–) sometida a una tensión. En forma ideal, el dispositivo amplifica solamente la diferencia de tensión en las entradas, conocida como tensión de entrada diferencial ). La tensión o voltaje de salida del dispositivo  está dada por la ecuación:

en la cual  representa la ganancia del dispositivo cuando no hay re-alimentación, condición conocida también como "lazo (o bucle) abierto". En algunos amplificadores diferenciales, existen dos salidas con desfase de 180° para algunas aplicaciones especiales.

Lazo abierto

La magnitud de la ganancia {\displaystyle A_{\rm {OL}}} es, generalmente, muy grande, del orden de 100.000 veces o más y, por lo tanto, una pequeña diferencia entre las tensiones {\displaystyle V_{+}} y {\displaystyle V_{-}} hace que la salida del amplificador sea de un valor cercano al de la tensión de alimentación, situación conocida como saturación del amplificador. La magnitud de {\displaystyle A_{\rm {OL}}} no es bien controlada por el proceso de fabricación, así que es impráctico usar un amplificador en lazo abierto como amplificador diferencial.
Si la entrada inversora es conectada a tierra (0 V) de manera directa o mediante una resistencia y el voltaje de entrada aplicado a la otra entrada es positivo, la salida será la de la máxima tensión positiva de alimentación; si es negativo, la salida será el valor negativo de alimentación. Como no existe realimentación, desde la salida a la entrada, el amplificador operacional actúa como comparador.

Amplificador operacional en modo de lazo abierto, configuración usada como comparador.

Lazo cerrado

Si se desea un comportamiento predecible en la señal de salida, se usa la realimentación negativa aplicando una parte de la tensión de salida a la entrada inversora. La configuración de lazo cerrado reduce notablemente la ganancia del dispositivo, ya que ésta es determinada por la red de realimentación y no por las características del dispositivo. Si la red de realimentación es hecha con resistencias menores que la resistencia de entrada del amplificador operacional, el valor de la ganancia en lazo abierto  no afecta seriamente la operación del circuito. En el amplificador no-inversor de la imagen, la red resistiva constituida por  y  determina la ganancia en lazo cerrado.
Una forma válida de analizar este circuito se basa en estas suposiciones válidas:
  • Cuando un amplificador operacional opera en el modo lineal (no saturado) la diferencia de tensión entre las dos entradas es insignificante.
  • La resistencia entre las entradas es mucho más grande que otras resistencias en la red de realimentación.
Debido a esto, la corriente que pasa por la resistencia  es:
Pero la red conformada por las resistencias es un divisor de tensión y como la corriente  no entra al amplificador por presentar en sus entradas resistencias casi infinitas, entonces esa corriente circula también por la resistencia  y por ello:

Como resultado, la ganancia en lazo cerrado  la define la anterior ecuación:
.


Un amplificador operacional en modo de realimentación negativa.