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!