miércoles, 19 de agosto de 2015

trabajo final

 Memorias

Memoria RAM

La memoria de acceso aleatorio (en inglés: random-access memory),se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Se denominan "de acceso aleatorio" porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible.

hay dos tipos básicos de memoria RAM

· RAM dinámica (DRAM)· RAM estática (SRAM)

Memoria SRAM

Static Random Access Memory (SRAM), o Memoria Estática de Acceso Aleatorio es un tipo de memoria basada en semiconductores que a diferencia de la memoria DRAM, es capaz de mantener los datos, mientras esté alimentada, sin necesidad de circuito de refresco. sí son memorias volátiles, es decir que pierden la información si se les interrumpe la alimentación eléctrica.

Memoria DRAM

DRAM (Dynamic Random Access Memory) es un tipo de memoria dinámica de acceso aleatorio que se usa principalmente en los módulos de memoria RAM y en otros dispositivos, como memoria principal del sistema.Es una memoria volátil, es decir cuando no hay alimentación eléctrica, la memoria no guarda la información. Inventada a finales de los sesenta, es una de las memorias más usadas en la actualidad.

· Máscara ROM  

En este caso no se “graba” el programa en memoria sino que el microcontrolador se fabrica con el programa, es un proceso similar al de producción de los CD comerciales mediante masterización. 

· Memoria PROM 

(Programable Read-Only Memory) también conocida como OTP (One Time Programable). Este tipo de memoria, también es conocida como PROM o simplemente ROM. Los microcontroladores con memoria OTP se pueden programar una sola vez, con algún tipo de programador. Se utilizan en sistemas donde el programa no requiera futuras actualizaciones y para series relativamente pequeñas, donde la variante de máscara sea muy costosa, también para sistemas que requieren socialización de datos, almacenados como constantes en la memoria de programas.

·Memoria EPROM

 (Erasable Programmable Read Only Memory). Los microcontroladores con este tipo de memoria son muy fáciles de identificar porque su encapsulado es de cerámica y llevan encima una ventanita de vidrio desde la cual puede verse la oblea de silicio del microcontrolador. Se fabrican así porque la memoria EPROM es reprogramable, pero antes debe borrase, y para ello hay que exponerla a una fuente de luz ultravioleta, el proceso de grabación es similar al empleado para las memorias OTP. Al aparecer tecnologías menos costosas y más flexibles, como las memorias EEPROM y FLASH, este tipo de memoria han caído en desuso, se utilizaban en sistemas que requieren actualizaciones del programa y para los procesos de desarrollo y puesta a punto.

·EEPROM

 (Electrical Erasable Programmable Read Only Memory). Fueron el sustituto natural de las memorias EPROM, la diferencia fundamental es que pueden ser borradas eléctricamente, por lo que la ventanilla de cristal de cuarzo y los encapsulados cerámicos no son necesarios. Al disminuir los costos de los encapsulados, los microcontroladores con este tipo de memoria se hicieron más baratos y cómodos para trabajar que sus equivalentes con memoria EPROM. Otra característica destacable de este tipo de microcontrolador es que fue en ellos donde comenzaron a utilizarse los sistemas de programación en el sistema que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al programa.

·Memoria flash.

En el campo de las memorias reprogramables para microcontroladores, son el último avance tecnológico en uso a gran escala, y han sustituido a los microcontroladores con memoria EEPROM.  las ventajas de las memorias flash se le adicionan su gran densidad respecto a sus predecesoras lo que permite incrementar la cantidad de memoria de programas a un costo muy bajo. Pueden además ser programadas con las mismas tensiones de alimentación del microcontrolador, el acceso en lectura y la velocidad de programación es superior.


características fundamentales de las memorias 

Volatilidad

Se dice que la información almacenada en una memoria es volátil siempre y cuando corra el riesgo de verse alterada en caso de que se produzca algún fallo de suministro de energía eléctrica (memorias biestables). No son volátiles aquellas en las cuales la información, independientemente de que exista algún fallo en el fluido eléctrico, permanece inalterada. Cualquier de éstas dos memorias (RAM ROM) es volátil por su incapacidad de permanecer inalterada de cara a cualquier fallo eléctrico que presente la misma. Por ésta simple razón específica, las memorias RAM son volátiles. De igual forma, las memorias ROM no son volátiles.

Tiempo de Acceso

Es el tiempo que transcurre desde el instante en que se lanza la operación de lectura en la memoria y el instante en que se dispone de la primera información buscada. En la memoria principal, este tiempo es, en principio, independiente de la dirección en la que se encuentre la información a la cual queremos acceder. Se puede ir un poco más al grano diciéndo que el tiempo de acceso es el tiempo requerido o necesitado para realizar cualquier operación, sea lectura o escritura. Es simplemente eso, el tiempo que se solicita a la memoria para poder ejecutar cualquier operación específica.

Capacidad

La capacidad de una memoria (RAM y ROM) es el número de posiciones de un sistema, o dicho de otra manera, número de informaciones que puede contener una memoria.La capacidad total de memoria será un dato esencial para calibrar la potencia de un computador. La capacidad de la memoria se mide en múltiplos de byte (8 bits): kilobytes (1.024 bytes) y megabytes (1.024 kilobytes).

Ejemplo


Si quisiéramos diseñar una memoria principal de 128 Kpalabras. (1)¿Cuántos chips de memoria de 32Kx8 necesitaremos Tema 4. La Memoria 30 (1)¿Cuántos chips de memoria de 32Kx8 necesitaremos si suponemos que la palabra es de 8 bits?. (2)¿Cuántos chips de memoria de 64Kx4 necesitaremos si suponemos que la palabra es de 8 bits?.
Solución:
 1. Necesitamos direccionar 128K a partir de 32K luego necesitaremos 4 chips. Como el tamaño de la palabra es igual al contenido de cada dirección del chip no Tema 4. La Memoria 31 necesitaremos más.
2. Para poder direccionar las 128K necesitaremos 2 chips. Con esos dos chips tenemos una memoria de 128Kx4 por lo que necesitaremos además otros 2 chips más para conseguir una memoria de 128Kx8.


FLIP-FLOP

Un flip flop es un circuito electrónico, llamado también simplemente biestable, que tiene dos estados estables. El flip flop es un elemento básico de memoria que es capaz de almacenar un número binario (bit), es decir, que permanece indefinidamente en uno de sus dos estados posibles aunque haya desaparecido la señal de excitación que provocó su transición al estado actual.

Dependiendo del tipo de dichas entradas los biestables se dividen en:
  • Asíncronos: sólo tienen entradas de control. El más empleado es el biestable RS.
  • Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj.
Si las entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario asíncronas. Por lo general, las entradas de control asíncronas prevalecen sobre las síncronas.
La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de subida o de bajada). Dentro de los biestables síncronos activados por nivel están los tipos RS y D, y dentro de los activos por flancos los tipos JK, T y D.

Los biestables síncronos activos por flanco (flip-flop) se crearon para eliminar las deficiencias de los latches (biestables asíncronos o sincronizados por nivel).

A continuación mostramos el código en arduino de un flip-flop


El monoestable

Es un circuito multivibrador que realiza una función secuencial consistente en que al recibir una excitación exterior, cambia de estado y se mantiene en él durante un periodo que viene determinado por una constante de tiempo. Transcurrido dicho período, la salida del monoestable vuelve a su estado original. Por tanto, tiene un estado estable (de aquí su nombre) y un estado casi estable.



En la Figura 1 se representa el esquema de un circuito multivibrador monoestable, realizado con componentes discretos, cuyo funcionamiento es el siguiente:

Al aplicar la tensión de alimentación (Vcc), los dos transistores iniciarán la conducción, ya que sus bases reciben un potencial positivo a través de las resistencias R-2 y R-3, pero como los transistores no serán exactamente idénticos, por el propio proceso de fabricación y el grado de impurezas del material semiconductor, uno conducirá antes o más rápido que el otro.
Supongamos que es TR-2 el que conduce primero.
El voltaje en su colector estará próximo a 0 voltios (salida Y a nivel bajo), por lo que la tensión aplicada a la base de TR-1 a través del divisor formado por R-3, R-5, será insuficiente para que conduzca TR-1.
En estas condiciones TR-1 permanecería bloqueado indefinidamente.
Pero si ahora aplicamos un impulso de disparo de nivel alto por la entrada T, el transistor TR-1 conducirá y su tensión de colector se hará próxima a 0 V, con lo que C-1, que estaba cargado a través de R-1 y la unión base-emisor de TR-2, se descargará a través de TR-1 y R-2 aplicando un potencial negativo a la base de TR-2 que lo llevará al corte (salida Y a nivel alto). En esta condición la tensión aplicada a la base de TR-1 es suficiente para mantenerlo en conducción aunque haya desaparecido el impulso de disparo en T.


 metaestabilidad 

es la propiedad que un sistema con varios estados de equilibrio, tiene de exhibir, durante un considerable período de tiempo, un estado de equilibrio débilmente estable. Sin embargo, bajo la acción de perturbaciones externas (a veces no fácilmente detectables) dichos sistemas exhiben una evolución temporal hacia un estado de equilibrio fuertemente estable. Normalmente la metaestabilidad es debida a transformaciones de estado lentas.

El estado metaestable 

aunque teóricamente puede mantenerse indefinidamente, siempre acabará resolviéndose en un valor lógico válido 0 o 1, aunque no es posible saber cuánto tiempo tardará. Un diseño cuidadoso del componente biestable asegurará que el tiempo medio de resolución sea lo suficientemente bajo como para evitar que pueda poner en peligro el funcionamiento correcto del circuito. Técnicas de diseño de más alto nivel, como el uso de circuitos sincronizadores consistentes en varios biestables en cascada (diseño síncrono), o de circuitos de handshake, dan mayor robustez al diseño frente al problema de la metaestabilidad, minimizando la probabilidad de que suceda hasta un nivel despreciable. Pese a todo, en circuitos digitales complejos de varios cientos de miles de puertas lógicas y varias señales de reloj asíncronas entre sí, como los presentes en todos los chips digitales que se fabrican en la actualidad, evitar los estados metaestables es un desafío que requiere gran cuidado por parte del diseñador.

Un sistema metaestable con un estado débilmente estable (1), un estado inestable de transición (2) y un estado fuertemente estable (3).

REGISTROS DE CORRIMIENTO

Un registro de corrimiento es un circuito secuencial síncrono capaz de contractar varios bits de información. El formato de esta información puede ser de dos tipos:

• Serie: los bits se transfieren uno a continuación del otro por una misma línea.
• Paralelo: se intercambian todos los bits al mismo tiempo, utilizando un número de líneas de transferencia igual al número de bits.

Contadores de registro de corrimiento

En los contadores de registro de corrimiento se utiliza retroalimentación, lo cual significa que la salida del último flip-flop del registro se conecta en retroceso con el primer flip-flop en alguna forma.
Contador de anillo

El contador de registro de corrimiento mas simple es un registro de corrimiento circulante conectado que el ultimo ff desplace su valor al primer ff. Los ff se conectan de modo que la información se corra de izquierda a derecha de Q-0 a Q-3. En muchos casos solo hay un 1 el registro y se hace que circule alrededor del registro en tanto se apliquen los pulsos del reloj. Por esta razón se le denomina contador de anillo.

Ejemplo:

Las formas de honda, la tabla de secuencia y el diagrama de estados muestran los diferentes estados de los ff a medida que se aplican los pulsos, suponiendo que el estado inicial es Q-3 = 1 y Q-2 = Q-1 = Q-0 = 0. Después del primer pulso, el 1 ha pasado de Q-3 a Q-2 de manera que el contador está en el estado 0100. El segundo pulso produce el estado 0010 y el tercero produce el estado 0001. En el cuarto pulso del reloj el estado 1 de Q-0 se transfiere a Q-3 lo que produce el estado 1000, que es desde luego, el estado inicial. Los pulsos subsiguientes ocasionan que se repita la secuencia.

Este contador funciona como un contador MOD-4 porque tiene cuatro estados distintos antas que se repita la secuencia.

En general, un contador de anillo necesita más ff que un contador binario para el mismo número MOD; por ejemplo, un contador de anillo MOD-8 requiere de 8 ff, en tanto que un contador binario MOD-8 solo necesita 3.

Contador Johnson

El contador de anillo básico se puede modificar ligeramente para producir otro tipo de contador de registro de corrimiento, que tendrá propiedades un tanto diferentes. El contador Johnson o de anillo trenzado se construye exactamente en la misma forma que un contador de anillo normal, excepto que la salida invertida del ultimo ff se conecta a la entrada del primer ff.
La operación del contador Johnson es fácil de analizar si comprendemos que en cada transición positiva del pulso del reloj el nivel en Q-2 se pasa a Q-1 el nivel en Q-1, se cambia a Q-0 y el inverso del nivel de Q-0 se pasa a Q-2. Utilizando estas ideas y suponiendo que todos los ff inicialmente están en 0, se puede generar las formas de onda, la tabla de secuencia y el diagrama de estados.

Las formas de onda y la tabla de secuencia revelan los siguientes puntos:

- Este contador tiene seis estados distintos: 000,100, 110, 111, 011 y 001 antes de que se repita la secuencia.
- La forma de onda de cada ff es cuadrada a un sexto de la frecuencia del reloj.



Contadores en registro de corrimiento en CI



Existen muy pocos contadores de anillo o Johnson disponibles como circuitos integrados. La razón es que es relativamente simple tomar un circuito integrado con registro de corrimiento y conectarlo a un contador de anillo o a un Johnson. Algunos de los contadores Johnson de CI CMOS, incluyen la circuitería completa de decodificación en la misma pastilla que el contador.


Contador de frecuencia

Un contador de frecuencia es un circuito que puede medir y exhibir de manera visual la frecuencia de una señal. Uno de los métodos más sencillos para construir un contador de frecuencia contiene un contador con su circuitería decodificadora y de exhibición asociados y una compuerta AND. Las estradas de las compuertas AND incluyen los pulsos cuya frecuencia es desconocida, f-x, y un pulso de MUESTREO que controla el tiempo disponible para que estos pasen a través de la compuerta AND hacia el contador.


Contador de frecuencias completo

El circuito contiene ahora un MV monoestable y un flip-flop J-K que opera en el modo de complemento, la compuerta AND tiene tres entradas, una de las cuales es la salida x del ff. Los pulsos de MUESTREO se conectan a la compuerta AND y también a la entrada CLK del ff.
Este contador de frecuencia entra en una secuencia repetitiva de borrado, conteo, fijación para la exhibición visual, borrado, conteo, y así sucesivamente.


Diferencias entre circuitos combinacionales y secuenciales

Los sistemas combinacionales están formados por un conjunto de compuertas interconectadas, cuya salida, en un momento dado, esta únicamente en función de la entrada, en ese mismo instante. Por esto se dice que los sistemas combinacionales no cuentan con memoria.
En cambio los sistemas secuenciales, son capaces de tener salidas no solo en función a través de sus estados internos. Esto se debe a que los sistemas secuenciales tienen memoria y son capaces de almacenar información a través de sus estados internos.
Un sistema combinacional puede tener n entradas y salidas m.
Un sistema secuencial puede ser visto como una caja negra, en cuyo interior hay compuertas lógicas, que presentan una ecuación de conmutación.
CIRCUITOS CONBINACIONALES: las salidas dependen únicamente de las entradas.
CIRCUITOS SECUENCIALES: las salidas dependen de las entradas y del tiempo.
Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND, OR, NOT), algunas entradas y un juego de salidas, como cada salida corresponde a una función lógica individual, un circuito combinacional a menudo implementa varias funciones booleanas diferentes, es muy importante recordar éste hecho, cada salida representa una función booleana diferente.
Un ejemplo común de un circuito combinacional es el decodificador de siete segmentos, se trata de un circuito que acepta cuatro entradas y determina cuál de los siete segmentos se deben iluminar para representar la respectiva entrada, de acuerdo con lo dicho en el párrafo anterior, se deben implementar siete funciones de salida diferentes, una para cada segmento. Las cuatro entradas para cada una de éstas funciones booleanas son los cuatro bits de un número binario en el rango de 0 a 9. Sea Del bit de alto orden de éste número y A el bit de bajo orden, cada función lógica debe producir un uno (para el segmento encendido) para una entrada dada si tal segmento en particular debe ser iluminado, por ejemplo, el segmento e debe iluminarse para los valores 0000, 0010, 0110 y 1000.
En la siguiente tabla se puede ver qué segmentos deben iluminarse de acuerdo al valor de entrada, tenga en cuenta que sólo se están representando valores en el rango de 0 a 9, los decodificadores para las pantallas de siete segmentos comerciales tienen capacidad para desplegar valores adicionales que corresponden a las letras A a la F para representaciones hexadecimales, sin embargo la mecánica para iluminar los respectivos segmentos es similar a la aquí representada para los valores numéricos.
1
Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico, se puede construir circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras aplicaciones más.
Circuitos Secuenciales.
Un problema con la lógica secuencial es su falta de “memoria”. En teoría, todas las funciones de salida en un circuito combinacional dependen del estado actual de los valores de entrada, cualquier cambio en los valores de entrada se refleja (después de un intervalo de tiempo llamado retardo de propagación) en las salidas.
Desafortunadamente las computadoras requieren de la habilidad para “recordar” el resultado de cálculos pasados. Éste es el dominio de la lógica secuencial. Una celda de memoria es un circuito electrónico que recuerda un valor de entrada después que dicho valor ha desaparecido.
La unidad de memoria más básica es el flip-flop Set/Reset. Aunque recordar un bit sencillo es importante, la mayoría de los sistemas de cómputo requieren recordar un grupo de bits, esto se logra combinando varios flip-flop en paralelo, una conexión de éste tipo recibe el nombre de registro. A partir de aquí es posible implementar diferentes circuitos como registros de corrimiento y contadores, éstos últimos también los conocemos como circuitos de reloj. Con los elementos mencionados es posible construir un microprocesador completo.
La diferencia principal entre un circuito combinacional y un circuito secuencial es que en el segundo caso hay una realimentación de una señal de salida hacia la entrada



viernes, 31 de julio de 2015

3 ESTADOS

ESTADOS DE  CIRCUITOS LÓGICOS 


Las señales lógicas se componen de dos estados normales, Alto y Bajo (1 o 0)
Una salida puede tener uno de tres estados: 0 lógico, 1 lógico y de alta impedancia. Una salida con tres estados posibles se conoce como salida de tres estados o en ocasiones salida triestado.
Los dispositivos de tres estados tienen una entrada extra, la cual se denomina generalmente “habilitación “o “Enable” para establecer las salidas del dispositivo en el estado de alta impedancia.




Un bus de tres estados se produce al conectar entre sí varias salidas de triple estado.



Con L = Estado bajo,
H = Estado alto y Hi-Z = Alta impedancia. Los símbolos lógicos para estos circuitos se representan normalmente con la entrada de habilitación en la parte superior.

Conclusión


Bueno los dispositivos con salidas de tres estados se diseñan normalmente de modo de salida a bajo o alto. Si un circuito de control activa la entrada de habilitación de salida del primer dispositivo al mismo tiempo que desactiva la entrada de un segundo dispositivo. Una salida con tres estados posibles se conoce como salida de tres estados o en ocasiones salida triestado.
Los dispositivos de tres estados tienen una entrada extra, la cual se denomina generalmente “habilitación “o “Enable” para establecer las salidas del dispositivo en el estado de alta impedancia.

jueves, 18 de junio de 2015

Minitérmino


Para una función booleana de n variables x1,...xn, un producto booleano en el que cada una de las n variables aparece una sola vez (negada o sin negar) es llamado minitérmino. Es decir, un minitérmino es una expresión lógica de n variables consistente únicamente en el operador conjunción lógica (AND) y el operador complemento o negación (NOT). Por ejemplo, abc, ab'c y abc' son ejemplos de minitérminos para una función booleana con las tres variables a, b y c.


Maxitermino

Un maxitérmino es una expresión lógica de n símbolos que consiste únicamente en la disyunción lógica y el operador complemento o negación. Los cuales están unidos por los operadores del algebra de boole (+ . ‘) Por ejemplo, los siguientes términos canónicos son maxitérminos:
  1. a + b' + c
  2. a' + b + c

Mapa de Karnaugh

Este método consiste en formar diagramas de 2n cuadros, siendo n el número de variables. Cada cuadro representa una de las diferentes combinaciones posibles y se disponen de tal forma que se puede pasar de un cuadro a otro en las direcciones horizontal o vertical, cambiando únicamente una variable, ya sea en forma negada o directa.Este método se emplea fundamentalmente para simplificar funciones de hasta cuatro variables. Para un número superior utilizan otros métodos como el numérico. A continuación pueden observarse los diagramas, también llamados mapas de Karnaugh, para dos, tres y cuatro variables.
Es una práctica común numerar cada celda con el número decimal correspondiente al término canónico que albergue, para facilitar el trabajo a la hora de plasmar una función canónica.
Para simplificar una función lógica por el método de Karnaugh se seguirán los siguientes pasos:
1º) Se dibuja el diagrama correspondiente al número de variables de la función a simplificar.
2º) Se coloca un 1 en los cuadros correspondientes a los términos canónicos que forman parte de la función.
3º) Se agrupan mediante lazos los unos de casillas adyacentes siguiendo estrictamente las siguientes reglas:
a) Dos casillas son adyacentes cuando se diferencian únicamente en el estado de una sola variable.
b) Cada lazo debe contener el mayor número de unos posible, siempre que dicho número sea potencia de dos (1, 2, 4, etc.)
c) Los lazos pueden quedar superpuestos y no importa que haya cuadrículas que pertenezcan a dos o más lazos diferentes.
d) Se debe tratar de conseguir el menor número de lazos con el mayor número de unos posible.
4º) La función simplificada tendrá tantos términos como lazos posea el diagrama. Cada término se obtiene eliminando la o las variables que cambien de estado en el mismo lazo. 

leyes


 las leyes de De Morgan se representan así:

 \overline {a + b}= \bar {a} \cdot \bar {b} \,
 \overline {a \cdot b} = \bar {a}+ \bar {b} \,
Cuando el álgebra de Boole se emplea en electrónica, suele emplearse la misma denominación que para las compuertas lógicas  AND (Y), OR (O) y NOT (NO), ampliándose en ocasiones con X-OR (O exclusiva) y su negadas NAND (NO Y), NOR (NO O) y X-NOR (equivalencia). las variables pueden representarse con letras mayúsculas o minúsculas, y pueden tomar los valores {0, 1}
Empleando esta notación las leyes de De Morgan se representan:
 \mbox{NOT }(a \mbox{ OR } b)= \mbox{NOT } a \mbox{ AND } \mbox{NOT } b \,
 \mbox{NOT }(a \mbox{ AND } b) = \mbox{NOT } a \mbox{ OR } \mbox{NOT } b \,
En su aplicación a la lógica se emplea la notación  \land \lor \lnot  y las variables pueden tomar los valores {F, V}, falso o verdadero, equivalentes a {0, 1}
Con la notación lógica las leyes de De Morgan serían así:
 \lnot {(a \lor b)}= \lnot {a}  \land \lnot {b} \,
 \lnot {(a \land b)} = \lnot {a} \lor \lnot {b} \,
En el formato de teoría de conjuntos el Álgebra de Boole toma el aspecto:  (\mathcal{P}(U), \sim, \cup , \cap)
En esta notación las leyes de De Morgan serían así:
 \sim {(a \cup b)} = \; \sim {a} \; \cap \sim {b} \,
 \sim {(a \cap b)} = \; \sim {a} \; \cup \sim {b} \,
Otra forma en la algebra de conjuntos del Álgebra de Boole, las leyes de De Morgan serían así:
 {(A \cup B)}^C = \; {A}^C \cap {B}^C
 {(A \cap B)}^C = \; {A}^C \cup {B}^C
 Se emplean apóstrofos (') para indicar la negación, la operación suma (+) se representa de la forma normal en álgebra, y para el producto no se emplea ningún signo, las variables se representan, normalmente con una letra mayúscula, la sucesión de dos variables indica el producto entre ellas, no una variable nombrada con dos letras.
La representación de las leyes de De Morgan con este sistema quedaría así, con letra minúsculas para las variables:
 (a + b)' = a' b' \,
 (a b)' = a' + b' \,
y así, empleando letras mayúsculas para representar las variables:
 (A + B)' = A' B' \,
 (A B)' = A' + B' \,

lunes, 4 de mayo de 2015

conversión de decimal a binario y viceversa, aritmética binaria, enteros y decimales

CONVERSIÓN DE DECIMAL A BINARIO


Como convertir números decimales a binarios.

Esta forma es la mas común, consiste  en dividir el numero decimal por la base binario que siempre es 2, volvemos ha repetir entre 2 hasta que  no podamos dividir mas.

nos fijamos en los restos, vemos que el resto de cada división en 0 y 1. ahora los restos de derecha a izquierda lo escribimos como lo indica la imagen y el resultado es: 1100100.

Como convertir números de binarios a decimales (primera forma)

vamos a convertir el número 1100100 

1.      Vemos cuantos bits tiene el número.

1100100  tiene 7 bits (7 posiciones)

2.      Multiplicamos cada valor por 2 elevado a la posición que corresponda (empezando por el 0 en el primer número de la derecha).

1×26 + 1×25 + 0x2+ 0x23 + 1×22 + 0x21 + 0x20

3.      Todos los bits que sean 0 nos olvidamos de ellos.

1×26 + 1×25 + 0x24 0x23 + 1×22 + 0x21 0x20

4.      Ponemos el resultado de cada bit con valor 1.

1×26 + 1×25+ 1×22 = 64 + 32 + 4

5.      Sumamos todos los números dando como resultado el número decimal.

64 + 32 + 4 = 10010)


segunda forma

lo haremos con el número 11010001 con los siguientes pasos.

1.      Vemos cuantos bits tiene el numero binario y escribimos los valores del exponente 2 tantas veces como bits tenga.
El número 11010001 tiene 8 bits por lo tanto escribimos:

128     64     32     16     8     4     2     1

2.      Ahora escribimos el número binario debajo de los valores del exponente dos. Lo escribiremos de derecha a izquierda.

128     64     32     16     8     4     2     1

1         1      0       1       0     0     0     1

3.      Sumamos todos aquellos números cuyo bit sea 1, olvidándonos de los 0.

128 + 64 + 16 + 1

4.      Sumamos los números resultantes.

128 + 64 + 16 + 1 = 20910)


ARITMÉTICA BINARIA

suma de binarios:



 la suma de 1+1, que sabemos que es 2 en el sistema decimal, debe escribirse en binario con dos cifras (10) y, por tanto 1+1 es 0 y se arrastra una unidad, que se suma a la posición siguiente a la izquierda.







resta de binarios







La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1, es decir, 210 – 110 = 1.  Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Veamos algunos ejemplos:
    111               10001                11011001
 – 101             – 01010             – 10101011
 ----------           ---------------        --------------------
    010               00111               00101110

Enteros y decimales

Los números enteros se pueden representar en una recta de la siguiente forma:
- Elige un punto cualquiera de la recta. Asignarle el valor 0.
- Elige otro punto cualquiera a la derecha del 0 y asignarle el valor 1. La distancia entre ambos puntos será la unidad de medida de longitud.  Si marcas esa unidad de medida a la derecha del 1, el punto representado es el 2. Haciendo lo mismo a la derecha del 2, obtienes el 3. Y así sucesivamente representas todos los números naturales: 1, 2, 3, 4, 5, 6, .....
- Si marcas la unidad de medida a la izquierda del 0, obtienes los números negativos -1, -2, -3, -4, -5, -6, ......
recta.gif (1625 bytes)


Para representar el número decimal 0,7 observamos que es un número comprendido entre 0 y 1- Dividimos el segmento unidad entre los números 0 y 1 en 10 partes iguales. Tomamos 7 de esas partes contando a la derecha (pues 0,7 es un número positivo) desde el 0.
recta1.gif (1487 bytes)
Para representar el número -0,3 que está comprendido entre 0 y -1 dividimos el segmento entre los números -1 y 0 en diez partes iguales y tomamos 3 de esas partes contando a la izquierda desde el 0.
recta2.gif (1471 bytes)
Para representar el número 2,5 que es un número comprendido entre 2 y 3, dividimos el segmento entre los números 2 y 3 en 10 partes iguales. Tomamos 5 de esas partes contando a la derecha desde el 2.
recta3.gif (1436 bytes)
Para representar el número -3,4 que está comprendido entre -3 y -4 dividimos el segmento entre los números -4 y -3 en diez partes iguales y tomamos 4 de esas partes contando a la izquierda desde el -3.
recta4.gif (1455 bytes)
3. Repite el juego del principio pero ahora debes acertar números decimales comprendidos entre 0 y 1. Fíjate que con la mayor escala que usamos antes casi no se distinguen los puntos. 





sábado, 2 de mayo de 2015

CÓDIGOS

Código ASCII

 (American Standard Code For Information Interchange )

Fue creado en 1963 por el comité Estadounidense de estándares o "ASA", cambio su nombre en 1969 por Instituto Estadounidense de estándares nacionales o "ANSI". Este código nació para re-ordenar y expandir el conjunto de símbolos y caracteres.   

CÓDIGO GRAY

El código binario reflejado o código gray, nombrado en honor a el investigador Frank Gray. Es un sistema de numeración binario, fue diseñado para prevenir señales ilegales (señales falsas) de los switches  para facilitar la corrección de errores en los sistemas de comunicaciones.


CÓDIGO BSD

BSD o Berkeley Software Distribution es un derivado del sistema operativo Unix desarrollado y distribuida por el CSRG o Grupo de Investigación de Sistemas de Computación de la Universidad de California, Berkeley. Fue lanzado en el año 1977 y utilizado por Berkeley para sus investigaciones en materia de sistemas operativos gracias al permiso otorgado por AT&T para utilizar y adaptar el código fuente de Unix.