martes, 28 de octubre de 2008

Clase 18 del 01 de octubre

PROGRAMACION EN CODIGO DE MAQUINA

Registro de instrucción= trae la instrucción y la UC mira para analizar que es lo que hay que hacer. El tamano que tiene que tener es el de la instrucción.
No puede hacer mas de una cosa a la vez.


El procesador nunca sabe donde va a terminar.
El contador marca, al finalizar una instrucción, que hay una nueva.
Se entera de que termina cuando llega una instrucción que dice: “devolvele el control al sistema operativo”.




*instrucción elemental:


Sistema Operativo __________ Programa: Al hacer doble click le decimos al SO que cargue el programa en la ram. Una vez que lo carga pone en el Registro de instruccion la primer direccion del programa.
El microprocesador analiza y hace la instruccion y despues va a la proxima. Hasta que vuelve una instruccion que dice que le vuelva el control al sistema operativo








Código de operación: exactamente que va a hacer. Puede realizar 16 cosas diferentes.


El resto de los bits son operandos. En estos puedo poner dato, dirección, registro, etc.


1 rxy = pone en R lo que hay en xy (xy= dirección de la memoria a la que tengo que ir)
2 rxy = carga en R el numero xy
3 rxy = lo que esta en R lo pone en xy
5 rst = pone en R la suma de st (ejemplo: 5 34A = pone en 3 la suma de 4A)




Ejercicios:
1) Se tienen 2 números ubicados en 2 posiciones de memoria. Una es la A7 y otra es la B8. Se pide sumarlas el resultado ubicarlo en la dirección.


1011A7 (dato)
11 (pone A7)


1212B8 (dato)
13 (pone B8)


145312 (la suma de los registros 1 y 2 van a 3)
15 (pone 12)


1633C7 (lo que estaba en 3 va a C7)
17 (pone C7)


18 C000 (C000 avisa que termino y me devuelve el control)

2) A los dos números del ejercicio anterior se les pide sumarle 5 al primero y 8 al segundo. Luego sumar el resultado del primero más el resultado del segundo y guardarlo en la misma posición que el resultado anterior. Empiecen en la dirección 50.


50 2005 (pone el 5 en el registro)
52 2108 (pone el 8 en el registro)
54 12A7 (cargo los datos de A7 (2))
56 13B8 (cargo los datos de B8 (3))
58 5402 (suma el 5 (0) con el A7 (2))
5A 5513 (suma el 8 (1) con el B8 (3))
5B 5645 (suma el resultado de 5 + A7 (4) con 8 + B8 (5) y lo pone en (6))
5C 36C7 (almacena el resultado (6) en C7)
5D C000 (termina el programa y me devuelve el control)


3) Para el mismo ejercicio anterior realizar la suma y verificar si el resultado es igual a D9. Si es igual se pide sumarle A al resultado, si no es igual se pide sumarle F al resultado.




pd: Ahora agrego las imagenes

Iona Madrid

jueves, 25 de septiembre de 2008

Clase 17/09

Sistema Hexadecimal

La escritura es similar a la del sistema binario, solo que en lugar de estar basada en dos símbolos se basa en 16 simbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Donde cada una de las letras corresponde a los números que siguen (A=10, B=11, C=12, etc.)

Para escribir un número tengo la estructura del sistema binario con las posiciones (... P2 P1 P0) y cada posicion es 16 elevado al número de posicion (ej: P0=16*0; P1= 16*1; P2=16*2)
Y el símbolo que ubique en cada posicion va a indicar por cuánto voy a multimplicar a esa operación, y luego sumo los valores de cada posicion.
Ej: 1B= 11 x 16*0 + 1 x 16*1
1B= 11 x 1 + 1 x 16
1B= 27

Para pasar un número de sistema hexadecimal a binario tengo que pensar cada símbolo (número/letra) como una unidad de 4 bits. Entonces escribo el valor de cada símbolo de hexadecimal utilizando 4 dígitos del sistema binario y los voy poniendo consecutivamente.
Ej: A1C -->
A=10 1=1 C=12
A=1010 1=0001 C=1100

--> A1C= 101000011100

Y lo mismo a la inversa. Si quiero pasar de binario a hexadecimal "separo" de derecha a izquierda los dígitos en unidades de a cuatro bits y me fijo a qué número corresponde cada una de esas unidades de 4 bits. Cuando se que valor tiene cada unidad le asigno el símbolo correspondiente en hexadecimal y los junto.

Ej: 110010100100 ----> 1100,1010,0100
12 10 4
C A 4

-->
110010100100 = CA4

en caso de que queden algunos digitos sueltos sin llegar a completar una unidad de cuatro bits se consideraran a los bits faltantes como "ceros".

Microprocesador Didáctico

Se cuenta con:
una memoria en el procesador de 16 regístros (desde R0 a RF) de 8 bits cada uno, y cuatro bits de direccion
una memoria principal (RAM) de 256 celdas (direcciones; desde 00 hasta FF, formadas por 8 bits) y con una memoria en cada una de 8 bits.


La UC posee un registro llamado registro de instruccion (RI). A ese registro son llevadas las instrucciones elementales para que la UC las analice y decodifique para luego mandar a ejecutarlas. Solo puede hacer y tomar una por vez.
Cuando el sistema operativo carga un programa (es decir cuando lo abro) lo que hace es llevarlo a la RAM y poner en el RI la primera orden del programa. La UC la analiza y decodifica, manda a ejecutar y luego automáticamente va a buscar la siguiente orden. Asi actua sucesivamente a lo largo de todas las ordenes del programa hasta que llega a una orden que dice que finalizo el programa, y entonces la UC le devuelve el control al sistema operativo. (cuando la computadora o el programa se cuelga es porque no se llego a la orden de finalizacion del programa entonces el sistema operativo no pudo retomar el control).


Registro de Instrucciones

El registro de instrucciones cuenta con 16 bits, los cuales vamos a separar en 4 "secciones" de 4 bits, aunque fisicamente no haya ninguna division.
Los primeros 4 bits son código de operación. Es decir con esos primeros cuatro bits se va a indicar cual es la operacion que se va a realizar.
Los siguientes 12 bits son de forma genérica el operando, que puede ser un registro particular, una direccion o puede ser el dato.


Ejemplos de Operaciones (tambien en la guía)

Operación 1: el primer bit es "1" que corresponde al código de operación, y el operando se compone de RXY donde R es el número de registro y XY es una dirección en la memoria principal. (tomar misma explicacion para las operaciones 2 y 3)
la operacion es: cargar en el registro R el patron de bits que está en la celda de memoria XY.
Ej: 14A3 haria que se coloque en el registro R4 el contenido de la celda de memoria ubicada en la direccion A3

Operacion 2: la operacion es cargar el registro R con el patron de bits R0
Ej: 20A3 haria que se colocara el valor A3 en el registro R0

Operacion 3: la operación es almacenar el patron de bits que esta en el registro R en la celda de memoria cuya direccion es XY.
Ej: 35B1 haria que se coloque el contenido del registro R5 en la celda de memoria cuya direccion es B1

martes, 19 de agosto de 2008

Clase 16 del 13 de agosto

Integrado de memoria (chip) :






tiene tres patitas de dato y 2 de dirección. una de R/Wnegado, y se le agrega un CE (chip enable) que si esta en 0 genera una muy alta resistencia , lo que produce un efecto similar a que el chip este totalmente desconectado, y si esta en 1 anda todo normalmente.











Asociando varios de estos chips, se puede crear una memoria mas grande y generar un mapa de memoria.







para formar una memoria de 64k x 8 puedo conectar 4 de 16k x 8, y para diferenciarm, dentro de la conexión de integrados, a cuál integrado se refiere la cpu, los bits A15 y A14 funcionan como dirección de integrado activando o desactivando a cada cual mediante el CE .





lunes, 11 de agosto de 2008

Clase 15 del 23 de julio

Multiplexor: Direcciona datos.

Demultiplexor: Elijo a que salida sale.

Memoria:
_Dispositivo electronico
_El tamaño depende de la capacidad.

64k x 8: Manera de expresar una memoria.

64k = 2^16 = Cuantos bits necesito para conseguir las direcciones necesarias.

64k = 64 x 1024 = Cantidad diferentes de posiciones de memoria. Al tener 65k posiciones necesito 65k direcciones.

2^10 = kilobyte
2^20 = mega
2^30 = giga


La primer parte de las especificaciones me dice cuantas cuentas hago, cuantos bits uso, cuantos buses necesito y cuantas patitas para direcciones tengo.

La segunda me dice cuantos bits hay en cada posicion.
R/W(negado) = 1 bus de control, Read/Write con 1 leo, con 0 escribo.

64k . 8 = 64k . 8 bits = 64 k x 1byte => 64kb = 64 kilobytes

64k . 2b = 128 kilobytes

Estructura basica de una memoria:


4x3 = 3 bits
4 = Palabras

A= Adress

Output enable: Cuandoi pongo un 1 esta todo enchufado, si pongo 0, es coomo si estuviese desconectado. Genera un tri state poniendo una resistencia de mucha impedancia, haciendo que no pase nada.

Lectura:
La cpu pone primero la direcciony la deja estable. Una ves que tengo la direccion estable, pongo un 1 en R/W.

Escritura:
Quiero guardar algo en la memoria.
Lo primero es que el dato quede estable en el bus de dato. Luego establesco la direccion en el bus de datos y finalmente selecciono que quiero hacer en el bus de control R/W


Nota: Cuando maga me mande los dibujos los agrego.

lunes, 21 de julio de 2008

Clase 14 del 16 de julio

Un multiplexor es un selector de señales, es decir, sólo permite que una de las señales de entrada se direccione hacia la salida.

- El numero de selectores que necesito va a ser igual a la potencia de dos que resulte la cantidad de entradas. Ej: Cuatro entradas, dos selectores.


- La señal que salga va a ser determinada por la combinación de ceros (0) y unos (1) en las entradas selectoras. Ej: Selector 1 = 0, Selector 0 = 1



- Multiplexor de ocho entradas (tres selectores)



Ej: Selector 2 = 1, Selector 1 = 0, Selector 0 = 0



- Multiplexor de cuatro entradas, compuesto por tres multiplexores de dos entradas (un selector). Cuando al selector le entra 0, pasa la señal de arriba; cuando le entra 1, pasa la de abajo.



- Multiplexor de ocho entradas, compuesto por siete multiplexores de dos entradas.



- Multiplexor de ocho entradas, compuesto por tres multiplexores de cuatro entradas.


- Un multiplexor puede seleccionar entre “x” cantidad de palabras de “x” cantidad de bits.
El número de palabras es la cantidad de entradas, el número de bits es la cantidad de multiplexores que tengo que poner.

- Multiplexor que selecciona dos palabras de dos bits.
Dos palabras: dos entradas
Dos bits: dos multiplexores



- Multiplexor que selecciona cuatro palabras de seis bits.
Cuatro palabras: cuatro entradas
Seis bits: seis multiplexores

Ploit

martes, 15 de julio de 2008

Clase 13 del 2/7/08

Seguimos con las memorias.

En esta clase estuvimos viendo distitas cosas:

Cuando se formatea el disco, lo que uno esta haciendo es organizarlo en sectores. Estos sectores se "escriben" en una tabla donde se anota donde esta guardada cada cosa del disco.
Cuando uno guarda algo, la maquina lo guarda no todo junto, lo guarda separado en distintos sectores del disco, o sea Fragmentado. Por eso, lo Desfragmento para poder organizar, todo junto, lo que guardo separado.

Una vez formateado el disco, hasta que no se grabe algo encima de lo que estaba guardado, no se borra por completo lo viejo.



MULTIPLEXADO=MEZCLADO

Un mismo medio para transimir varias cosas juntas, mezcladas= multiplexadas.

Utilizamos este termino para describir como se transmiten los datos por multiplexacion en el tiempo.
Como funciona? Se mandan muestras mezcladas, entre los tiempos donde el cable esta libre una de otra.
Dicho de otra forma, para transmitir datos, se deben tomar muestras. Luego estas muestras son enviadas en el tiempo. En el medio en que se espera a tomar la siguiente muestra por ejemplo, de una onda, se manda otra muestra de otra onda. (grafico ondas y muestras)

Cuando hablamos por telefono, las señales de voz, se mandan todas fragmentadas. Se pone en un "casillero", dentro del orden en que todos estan hablando, y entre cada muestra de nuestra voz, se mandan 32 muestras mas.



Aca podemos ver un grafico el cual es un dispositivo que selecciona que señal va a pasar.
Se introduce un codigo (binario) en los "selectores", que con 2 bits, puede elegir entre 4 distintas entradas o "datos" a transmitir. De acuerdo al codigo que se pone, pasa una de las entradas determinadas.

A-00
B-01
C-10
D-11


Ahora, este dispositivo esta determinado para que se codifique la entrada en los selectores, y siempre que se ponga un cogido determinado para seleccionar cada entrada, se transmita la que nosotros queremos, y los demas vayan a 0.

Ej: cuando ponga 00. se va a codificar todo, para que A, se ponga en 11, y asi salga A, mientras que las demas entradas, se pongan en 0.

SZPIEZAK

domingo, 29 de junio de 2008

clase 12 del 25/6

continuamos con memorias ram y rom.

Memoria RAM o Random Access Memory, permite acceder a cualquier información almacenada tardando exactamente lo mismo, diferente a lo secuencial. Ésta memoria a su vez, permite escribir sobre ella y a la vez leer lo escrito. Tiene una cantidad de casilleros acorde a la capacidad, cuanto mayor sea la capacidad (256 mb, 512 mb, 1 gb, 2 gb, etc) mayor cantidad de "casilleros" tendrá la memoria. Los casilleros también son llamados como posición, y dicha posición esta dada por la dirección del mismo. Una memoria de 4 bytes tendrá 4 casilleros de 8 bits cada uno; una memoria de 24 bytes tendrá 24 casilleros de 8 bits cada uno.

La memoria RAM se le llama ocasionalmente RWM o Read and Write Memory, ya que permite leer y a su vez escribir en ella.

Relacionandolá con la CPU, el microprocesador usa a la memoria RAM para pedir información, que a su vez, la memoria RAM se la pide al disco rígido.

La conexión entre la memoria RAM/ROM y la CPU es por medio de cables llamados BUS, cables planos.
Conectados a la memoria RAM, se encuentran:
  • Bus direccional. Éste bus dice la posición de destino, esta conectado entre la memoria RAM y la CPU
  • Bus de control. La unidad de Control o UC "pregunta" a la memoria RAM que hacer, si leer o escribir sobre ella.
  • Bus de datos. Es el bus bidireccional, ya que como va información, vuelve. conectado entre el Registro o REG de la CPU. Transmite información. Solo puede haber un dato en el cable, no puede haber más de uno, o viaja hacia RAM o hacía REG.

Conectados a la memoria ROM, se encuentran:

  • Bus direccional. idem RAM
  • Bus de control. Idem RAM
  • Bus de datos. bus direccional, solo permite lectura, no escritura, conectado entre REG y ROM.

Periféricos

Componentes de entrada, salida o entrada y salida que permiten el viaje de datos dentro y fuera de la computadora, dependiendo su tipo. Las memorias secundarias son denominadas periféricos. También las unidades lectoras o grabadoras, pero no los cds o dvds. Son memorias adicionales pero no esenciales.

Las memorias periféricas se diferencian de las memorias electrónicas.

PROM o Programable Read Only Memory. es una memoria digital la cual puede ser programada una sola vez. Es una memoria NO VOLATIL.

EPROM o Erasable and Programable Read Only Memory. También NO VOLATIL. inventada por el ingeniero Dov Frohman, innova el concepto de poder borrar lo que hay dentro de la memoria y programarla nuevamente mediante el uso de la luz ultravioleta. De todas formas, esta memoria no puede ser regrabada infinita cantidad de veces, sino que tiene un límite.

EEPROM o Electrically Erasable And Programable Read Only Memory. El limite de regrabado de memoria es mayor, siendo ya de 100.000 veces aproximadamente. El regrabado de la misma no es mediante la eliminación de sus anteriores datos con luz ultravioleta, sino electricamente, haciendo que el desgaste del aparato sea menor.

Periféricos de entrada y salida.

los periféricoss de salida son los que muestran información procesada dentro de la computadora. pueden ser monitores, parlantes, impresoras o grabadoras.

Los periféricos de entrada son los que permiten recolectar información que irá hacia la computadora. pueden ser teclados, mouse, escaners, micrófonos, lectoras, placas de sonido, etc.

Los periféricos de entrada y salida reunen ambas características, como por ejemplo, un monitor de pantalla tactil.

eso fue todo lo que anoté. hasta el miércoles!

viernes, 13 de junio de 2008

CLASE 11 - 11/6

En esta clase comenzamos a ver la estructura de una computadora, ya sea pc, mac, un celular, camara fotográfica, teclado, sintetizador, etc.

CPU o Unidad Central de Proceso, comunmente llamado microprocesador. un ejemplo es el pentium core2duo o similares.
esta compuesto por
  • ALU o Unidad Aritmético Lógica. Es un circuito compuesto por otros circuitos más simples (como los desarrollados en 4to año en electroacústica) que realizan operaciones aritméticas o lógicas.
  • UC o Unidad de Control. Analiza, interpreta y decodifica las instrucciones elementales para luego ser ejecutadas. Como su nombre lo indica, controla a todo lo demás.
  • REG o Registro. contiene los datos para que ALU haga las operaciones comandadas por la UC, los cuales luego pasan al registro. Los datos se guardan en el registro temporalmente. La capacidad del registro, medida en Bits o Bytes (bytes = 8 bits), determina la velocidad en la que la CPU opera. Cuanto mas grande sea el registro, más rapida será, debido a que al tener mas bits, puede hacer operaciones con números más grandes. Actualmente las CPUs cuentan con 10 o 12 registros para mayor velocidad.
Refiriendose al nombre del microprocesador, la cifra en Hz esta relacionada con la cantidad de operaciones que puede hacer éste en un segundo. Un microprocesador de 2,3 GHZ puede hacer aproximadamente 2469606195 operaciones. Esto permite que un usuario pueda estar viendo un video, escribir un documento en word y navegar por internet al mismo tiempo.

MEMORIA PRINCIPAL

Los datos procesados en la CPU viajan a la memoria principal, un componente electronico, que esta dividida en dos partes.

Memoria RAM o Random Access Memory (memoria de acceso aleatorio).
Esta memoria necesira energia electrica para almacenar información, cosa que, cuando no haya energia electrica, esta información se pierde. Es una memoria volatil.

Memoria ROM o Read Only Memory (memoria solo para lectura).
Esta memoria no es volatil, o sea que almacena datos tenga o no energia electrica. Esto se debe a que tiene un teclado que permite almacenar dicha información. Ésta información se usa repetidamente.

Dentro de la memoria ROM hay un programa llamado POST (power on set test).
Este programa consta en lo siguiente. Al recibir energía eléctrica, envía la primer instrucción a la UC (ubicada dentro de la CPU), asi ésta la analiza y, constantemente, pedira un nuevo dato a la ROM. Esto sucederá hasta que el sistema operativo funcione. Es también importante este programa ya que verifica que los componentes, sea el teclado, mouse, etc. , funcionen y/o esten conectados.

Sistema Operativo.

La funcion del sistema operativo es administrar los recursos del sistema. El sistema operativo esta cargado en un lugar especifico del disco rígido, en la pista o sector 0 (cero).

Eso fue todo por hoy (?)
Saludos!

domingo, 8 de junio de 2008

Clase 10 del 28/5

Reloj






Clase 10 del 28/5

El Reloj

El reloj se desplaza por dígitos, en donde cada dígito es una configuración de Flip-Flop T. La mínima unidad es el segundo (clock).



En el segundero hay dos dígitos, es decir, dos cuentas, la primera cuenta de 0 a 9, cuando esta llega a 9 mediante una compuerta nand le envío por un lado los 0 a los presets y clear para que la cuenta vuelva a 0, y por otro lado al clock del próximo Flip-Flop que pertenece a la decena del segundero, esta cuenta de 0 a 6. el mismo proceso se repite pero esta vez la salida de la compuerta nand se envía al slip flor del minutero.
En el minutero el procedimiento es el mismo que en el segundero ya que ambos cuentan de 0 a 59.

Para las horas tengo las mismas necesidades, el problema es que cuando la cuenta llega a 24 (en realidad 23) se tiene que reiniciar todo a 0, esto presenta un inconveniente, ya que la cuenta antes de pasar a 24 ya paso por el 4 por lo tanto hay que agregar algo a la configuración de FF de ese dígito.
Para solucionar ello el primer digito de la hora que cuenta de 0 a 9 cuando concluye su cuenta lo mando a los clear y a su vez pongo otra nand que se active en 4, la cual va a estar en conjunto con una salida del digito que sigue.

lunes, 12 de mayo de 2008

Clase 7 del 7/5

Buscando diferentes formas de hacer un contador con FF-T que cuente 16 veces en forma regresiva llegamos a la conclusión de que el echo de que la cuenta sea ascendente o descendente depende de dónde miro la señal: si la entrada del clock coincide con el lugar desde donde observo la señal la cuenta será ascendente pero si son diferentes la cuenta será descendente.

  • Miro la señal en Q y conecto Q al clock: cuenta ascendente.
  • Miro la señal en Q y conecto Qneg al clock: cuenta descendente.
  • Miro la señal en Qneg y conecto Qneg al clock: cuenta ascendente.
  • Miro la señal en Qneg y conecto Q al clock : cuenta descendente. CONEXIONES CON LOS FF-T

Los FF-JK; FF-D y FF-T son todos circuitos sincrónicos cuya salida sólo puede cambiar en el flanco de bajada del clock, nunca en medio de un ciclo.

Para poder generar un cambio de estado independiente del flanco del clock, estos circuitos cuentan con dos entradas asincrónicas: PR y CLR.

  • PR: PRESET: si pongo preset en 1 y clear en 0 obtengo como salida Q=1 y Qneg=0.
  • CLR: CLEAR: si pongo clear en 1 y preset en 0 obtengo Q=0 y Qneg=1.
  • CLEAR y PRESET nunca deben estar en 1 al mismo tiempo.

PRESET

1

0

0

CLEAR

0

1

0

Q

1

0

SINC

Qneg

0

1

SINC

A partir de estas entradas puedo manejar el conteo de una forma independiente a lo que sucede en el clock porque cuando PR o CLR están en 1 el circuito comienza a regirse por la tabla de arriba hasta que ambos vuelva a ponerse en 0, momento en que vuelve a funcionar el clock y, por lo tanto, a ser sincrónico.

¿Cómo hago si quiero que la cuenta no sea siempre hasta una potencia de 2?

Ejemplo: cuenta de 0 a 5.

Para lograr esto necesito utilizar estas nuevas dos entradas con el fin de lograr que la cuenta comience de nuevo en 5 en lugar de llegar a 8.

PR está en 0 todo el tiempo mientras que la entrada del CLR depende de lo que suceda en el circuito AND (la entrada del CLR es la salida del AND, por lo tanto CLR sólo va estar en 1 cuando en el AND se de la combinación 011); es decir, que va estar todo el tiempo en 0 (funciona el clock) hasta que se de de la combinación necesaria para que el AND se ponga en 1.

La salida Q de los tres FF-T está conectada a la entrada del AND, esto hace que el circuito funcione en base a los flancos de bajada del clock (sincrónico) hasta que las salidas sean: Q0=0; Q1=1; Q2=1; momento en el que en el circuito AND se obtiene un 1 como salida y, en consecuencia, CLR se pone en 1 y se da el momento asincrónico: como PR está en 0 y CLR en 1 las tres Q se ponen en 0 y la cuenta comienza nuevamente desde 0.

CIRCUITO

DIAGRAMA DE TIEMPOS


Giselle Arena y Dalmiro Aguirre

martes, 6 de mayo de 2008

Clase 6 - 30/04

Flip Flop T (Toggle-Balance)


Caracteristicas:
1 Sola Entrada.
Q y Q Negado se manejan por Flanco de bajada.
Este Flip Flop se puede hacer modificando un JK.

Image Hosted by ImageShack.us











T


Q


0


Qn


1


Qn Negado



Image Hosted by ImageShack.us

Se mantiene la señal en 1.

Image Hosted by ImageShack.us


Divisor de frecuencia:

Una Aplicación, es poner la entrada en 1 constantemente,

y poner un clock de X frecuencia,

a la salida voy a tener la mitad de la frecuencia,

si pongo un clock de 4 pulsaciones (no se si esta bien dicho),

la salida va a tener 2 pulsos mas largos ya que en el primer flanco de bajada va a ir a uno

ya que hace el opuesto de Qn, en el 2do flanco va a volver a 0,

y en el 3er flanco volvera a 1. (Ver dibujo)
Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Contador:
Un conjunto de FFT funcionan como contadores que se encargan de contar

la cantidad de pulsos del clock (Flancos de bajada del clock).

Este contador es ciclico, es decir que cuando llega a 7 vuelve a 0 inmediatamente.

Cantidad de Cuentas (CC) = 2 ^ CFF (Cantidad de Flip Flops)

Todas las entradas T Estan en 1 y las salidas son el clock del FF siguiente.
Para que lo cuente no hay necesidad de que el pulso sea continuo.

Image Hosted by ImageShack.us

No sabia si habia que subir el problema, de ser asi avisame y lo subo.
saludos,

Alan RIOS

lunes, 28 de abril de 2008

Clase 5 - 23/4

Para hacer un circuito que almacena las últimas 4 palabras de 5 bits cada una necesito 5 FFD colocados en serie para que vayan guardando las “letras” a medida que van llegando, y otras 4 filas de FFD (con la misma cantidad de circuitos en serie) que memoricen las palabras cuando son enviadas.

Esto es porque necesito tantos FFD (en serie) como bits por palabra y tantos FFD (“en paralelo”) como palabras tenga; teniendo en cuenta que la primera fila no memoriza ninguna palabra sino que sólo se encarga de guardar los bits que van llegando para mandarlos luego todos juntos.

GRAFICO CON TODOS LOS FFD CONECTADOS

GRAFICO DEL DIAGRAMA DE TIEMPO

Para hacer un circuito que almacena las últimas 5 palabras de 2 bits cada una necesito 5 FFD colocados en serie, y otras 4 filas de FFD.

GRAFICO CON TODOS LOS FFD CONECTADOS

GRAFICO DEL DIAGRAMA DE TIEMPO


Conclusiones del diagrama de tiempo del circuito:

Para hacer el diagrama de tiempo hay que tener en cuenta que los datos se toman en el flanco de bajada del clock y que el dato que se toma es el que hay justo cuando empieza a bajar.

Al tomar la “foto” veo que los datos aparecen “corridos” porque, al bajar el primer flanco, Qo está en 0 y sube, pero como toma lo primero toma un 0 y recién el en el segundo flanco toma un 1.

Q2 toma tres 0 seguidos y después un 1 porque, al bajar los primeros dos flancos Q1 estaba en 0 y recién al tercero llega a tomar el 1 que venía del estado anterior de Q1.

Entonces, todo lo que ocurra en un circuito va a ocurrir en el otro con un tiempo de demora.


Giselle Arena y Dalmiro Aguirre

viernes, 25 de abril de 2008

Clase 4 - 17 / 4 / 2008.

(Revisar)
Teniendo en cuenta que ahora nosotros nos basamos en el flanco de bajada del clock para variar las salidas, podemos analizar que sucede cuando el flanco de bajada de nuestro clock coincide con el flanco de bajada o de subida de la entrada “J”.En ambos casos no fijamos el instante donde el flanco de bajada del clock comienza, y en ese instante nos fijamos que valor tiene “J”.
En el caso A, cuando comienza el flanco de bajada del clock “J” esta en “1”, por lo que “Q=1”.
En el caso B, cuando comienza el flanco de bajada del clock “J” esta en “0”, por lo que “Q=1”.
En ambos casos no fijamos el instante donde el flanco de bajada del clock comienza, y en ese instante nos fijamos que valor tiene “J”.
En el caso A, cuando comienza el flanco de bajada del clock “J” esta en “1”, por lo que “Q=1”.
En el caso B, cuando comienza el flanco de bajada del clock “J” esta en “0”, por lo que “Q=1”.


Flip-Flop-Delay

Aplicaciones:
a) Conforma la Señal.

b)?
c) Actúa como Conversor serie paralelo.






Señal Conformada:









Aquí el FFD igualó todos los pulsos, aunque perdí algunos datos (D).
La señal que ahora sale esta conformada, todos los 1 y 0 duran lo mismo.
Si yo no quisiese perder tantos datos lo que tendría que hacer es aumentar la frecuencia del clock, aumentarían la cantidad de flancos de bajada por tiempo y así tomaría más datos.

Registro de desplazamiento: (el segundo FFD toma la salida de Qo, ose en D1 entra Qo)
























Podemos Observar









Podemos ver que Qo tiene el nuevo dato y Q1 tiene el dato anterior, por lo que podemos deducir que se produjo un desplazamiento donde yo tengo el dato nuevo en Qo y el dato anterior en Q1.

Este circuito me permite guardar 2 bits; el dato anterior y el nuevo.

Teniendo este circuito, voy a poder guardar tres datos.
Llegamos a la conclusión de que voy a guardar tantos bits, como Flip- Flops tenga.









Conversor Serie Paralelo:

La computadora espera y guarda (a través de este circuito de FFD), X cantidad de bits, ej. 16. Cuando se acumularon los 16 bits (por lo que voy a necesitar 16 FFD) los envía. (También deberá de tener su propio “Clock Interno” para contar 16 bits y luego enviarlos).

Si fuesen 3 bits (o sea 3 FFD):


110 010 010 101 110 001



Llega un BIT, memoriza. Llega otro BIT memoriza (retiene en el circuito el nuevo y el anterior). Llega el tercer BIT, memoriza y retiene los tres Bits en el circuito. EN TONCES AHORA SI EL CLOCK HACE “PLIP” PASAN LOS TRES BITS EN PARALELOS. Luego todo comienza de vuelta, uno memoriza, dos memoriza, tres memoriza, plip envía en paralelo.

Nuestro nuevo circuito de CONVERSOR SERIE PARALELO, será:







En este circuito los FFD de “arriba” deben de hacer un PLIP (?) en el clock, después de que pasen los tres bits en el circuito de abajo (es por eso que el clock de los FFD de arriba son 1/3 de los de abajo). Así manda para arriba los tres bits memorizados en paralelo, para luego poder memorizar otros tres y repetir la cadena.

Martin Junger







martes, 15 de abril de 2008

Clases 1-2-3 19-26/3 y 9/4

Circuito Biestable












Cuando un circuito se saca de la estabilidad, se estabiliza solo.
Dos estados estables.
Sus salidas son opuestas.




En este caso, hay dos entradas, que las vamos a determinar nosotros, poniendole valores, ya sean 1 o 0, y analizaremos el resultado de las salidas en base a lo que le agregamos.
Q y Q negado, dependen de lo que tenian antes, por eso, elegimos un valor para las salidas.
Cuando armamos la tabla de estados, vamos a poner los valores de Q y Q negado, una vez que el circuito se estabilizo. O sea que escribimos el ultimo valor, el valor una vez que estabilizo el circuito.

Se elige al azar cuanto va a valer Q y para analizarlo, una vez terminado, se ven los valores que se repiten y se llega a esta tabla definitiva:

· Tabla definitiva del FLIP-FLOP RS ASINCRONICO.



















· Esta es la menor unidad de memoria para almacenar información. Cuando ponemos 00, el Flip-Flop asincronico, mantiene el valor en las salidas que tenia antes, o sea, guarda lo que tenia.
· El unico valor que no se puede poner, es 11, ya que esta prohibido porque desestabiliza el circuito, no mantiene en sus salidas valores diferentes.
· Siempre su salida Q, va a estar referida al valor que haya en S. Por eso llamamos a S “Set” y a R “Reset”.
· Se llama Asincronico, ya que no depende de ningun patron de tiempo. Ni bien pongo la señal, cambian las salidas.














































· Aca, la tabla que nos dio, es opuesta a la anterior del Flip-flop asincronico.












































Lo que buscamos es modificar este circuito para que nos de la tabla de la Nor.























Agregando un Not a la entrada de S y R, conseguimos que nos de un circuito opuesto. Conseguimos tener los resultados de la tabla Nor, con los componentes Nand.

























Flip-Flop RS-Sincrónico


















· Ahora tengo como si fuera un control, el Clock.
· Al poner un 0, las salidas mantienen el estado anterior que tenian, ya que inhabilita lo que pasa en S y R. Esto hace que nos salga 0 negado, o sea 1 en S y R dandonos lo que habia antes.
· SI pongo en el Clock 1, va a responder a S y R. se va a comportar como Asincronico (depende de S y R).


Para realizar los graficos de tiempo, primero vamos a analizar el Flip-Flop asincronico, o sea, no nos vamos a preocupar por lo que pasa en el Clock. Vamos a analizar todo, sin mirarlo.



















Ahora si vamos a analizar el Flip Flor Sincronico, o sea que vamos a fijarnos antes que nada lo que pasa en el CLock:
· Si éste esta en 0, no nos fijamos lo que pasa en R y S ya que los inhabilita manteniendo lo que habia antes.
· Si éste esta en 1, nos fijamos lo que pasa en R y S.




















Este circuito se le llama FLip Flor por nivel, porque varia en 1 y 0.



¿Como hacemos que varie lo menos posible?

Para que varie lo menos posible voy a crear mas periodos de tiempo en el Clock cuando vale 0, y poco tiempo cuando toma valores 1.





Para que yo lo pueda controlar, voy a tratar hacer que los cambios se produzcan en los flancos o de subida o de bajada (se utiliza nada mas que en los de bajada).
Todo va a suceder en el tiempo en que el Clock baja.
Esto, lo podemos entender como el samplin rate, cambiando la frecuencia del CLock, voy a tener mas o menos muestras de lo que quiero tomar.




Flip-Flop JK Sincronico Por flanco de bajada.
Ilai SZPIEZAK-
RACHKOVSKY