Bitácora-C1-14/04/2015

Comenzamos con una etapa de consultas.
Luego comenzamos a ver:
  • Memoria RAM
    • Qué es
    • Cómo funciona relacionada con lo que vimos hasta ahora (Unidad de Control)
    • Celdas de memoria
    • Tamaño de celda
    • Tamaño de memoria
  • Bus del sistema
    • Bus de direcciones
    • Bus de datos
    • Bus de Control
  • Registros
    • Repaso
    • Nuevos (de uso específico, no visibles al programador):
      • MBR (Memory Buffer Register)
      • MAR (Memory Address Register)
  • Q2
    • Se agregan funcionalidades a Q1
    • Nuevo modo de direccionamiento: Directo (la dirección de memoria se especifica entre [ ] en la instrucción)
  • Práctica 3: Ejercicios 2 y 3 entre todos, 4 a 6 en grupos
  • Conclusión: Hicimos un mapa conceptual con los conceptos vistos

Se recordó que debían completar todos los ejercicios de las prácticas anteriores.Para la próxima clase usaremos QSim.

Bitácora-C1-10/04/2015

Se comenzó la clase con consultas de practicas anteriores.
Luego se presentaron los siguientes temas:

Q1

  •  Formato de Instrucciones
    • Códigos de Operación
    • Modos de direccionamiento
    • Partes del formato que por ahora no usamos

Arquitectura de Von Neumann

  • Repaso de la arquitectura: CPU (UC, ALU), Memoria Principal
  • Registros visibles y no visibles al programador (IR- registro de instrucción)
  • Ciclo de Ejecución de instrucciones
    • Búsqueda de instrucción
    • Decodificación de instrucción
    • Ejecución de instrucción
  • Relación con Lógica Digital: MUX8a16, MUX9a16
Al finalizar esto se dejaron ejercicios para resolver en clase (Ejercicios 11, 12, 14, 19, 21 y 23 de la Práctica #2), pero con los conocimientos adquiridos en esta clase se puede resolver toda la  Práctica #2
Se pidió como entrega:
  • Fecha límite: Martes 14/4 a las 8.29
  • Consigna:
    1. Ver video de QSim,
    2. resolver ejercicios 13 y 18 de la práctica 2,
    3. ejecutarlos con el simulador QSim,
    4. hacer capturas de pantalla.
  • Modo de entrega: por mail a mdalponte@unq.edu.ar/flavia.saldana@unq.edu.ar con asunto “(Entrega 3) <Nombre> <Apellido>”

Bitácora-C1-07/04/2015

Logica Digital: Circuitos Aritméticos

En grupos por mesa resolvimos un ejercicio a partir de un enunciado:

Se necesita fabricar el circuito 1de4, que teniendo 4 entradas, su salida valga 1 solo si hay exactamente 1 entrada en 1

  1. Dibujar la “caja negra” del circuito 1de4
  2. Armar la tabla de verdad
  3. Deducir la fórmula de verdad con SOP
  4. graficar las compuertas dentro del circuito

Los circuitos aritméticos son circuitos que resuelven tareas específicas, relacionadas a las operaciones aritméticas entre números. Esos números están representados en forma binaria dentro del sistema de cómputos y por lo tanto los circuitos aritméticos operan sobre dos cadenas binarias. Estos circuitos implementan algunas de las funciones de la ALU (Unidad Aritmetico Logica).

Half Adder: Se necesita un circuito que pueda sumar dos cadenas de un bit (BSS(1)) y que calcule el resultado (en BSS(1)) e indique en otra salida si hubo ó no acarreo.HA

Cuando ejercitamos la suma binaria, distinguimos cuatro casos que nos dan lugar a la siguiente tabla de verdad:

tdvHAA cada salida le corresponde una expresión booleana o formula de verdad. Entonces las de este circuito son:

  • s=(a.-b) + (-a.b)
  • c=a.b

De esta manera, se construye el circuito:

HAcmpleto

Full Adder: Supongamos ahora que debemos sumar 2 cadenas de 2 bits cada una (bss(2)). Sería interesante poder usar lo que tenemos en la caja de herramientas: usar dos HA. Sin embargo, el HA no permite arrastrar un acarreo entre las dos columnas. Por ejemplo:01+01 = 10

Pensemos entonces un circuito que sume cadenas en bss(1), pero que también tenga una señal de entrada que indique si hay un acarreo pendiente. La caja negra del circuito es:

FAy la tabla de verdad es como sigue (notar que la primera parte es como el HA, pues este no consideraba acarreo o éste valía 0)

tdvFA

A partir de esto, la expresión SOP de cada salida es:

  • r= noCAnt.(a xor b)+CAnt. no(a xor b)
  • s= noCAnt.a.b+a.CAnt+b.CAnt

 

Sumar múltiples bits: no nos olvidemos que queremos sumar dos cadenas en bss(2). ¿cómo usar el circuito FA que se acaba de definir?

¿En que parte de la computadora se usan estos circuitos? en la ALU. ¿Que/como se alimentan las entradas de la ALU? De eso se encarga la unidad de control.

Ejecucion de programas en la arquitectura Von Neumann

Escribimos una receta en el pizarrón. Vemos que es una secuencia de instrucciones.

El programador es quien escribe la receta según las reglas del manual. ¿eso es todo, el robot (que sigue la arquitectura VN ) de cocina  ya puede cocinar? ¿como? Relacionándolo con temas que vieron en clases anteriores: sabemos que el sistema de cómputos trabaja con circuitos digitales que a su vez se construyen con compuertas binarias, que trasforman entradas digitales.

Surge la necesidad de tener alguna clase de codificación. Proponemos un nuevo manual de cocina ahora si con la codificación.Explicamos que fue necesario traducir cada instrucción.

Si escribimos la receta en código máquina, es una tarea muy engorrosa y propensa a errores con lo cual necesitamos automatizar el proceso. Contamos con un disopsitivo ensamblador cuya tarea es traducir el código fuente a código máquina  y cargarlo en memoria. Las computadoras tienen la capacidad de traducir una cadena binaria en una acción determinada, a través de circuitos digitales!. Eso implica que entre el código fuente y el código máquina hay un ensamblador.

¿y ahora? El usuario pide la ejecución del programa y la cpu ejecuta el mismo con esto tenemos el  ciclo de vida de un programa.

Ahora analicemos en detalle cómo ejecutar una instrucción. Alu es el dispositivo que realiza las operaciones aritmeticas y logicas ¿Hay algún equivalente a la ALU en el juego de la cocina?

Veamos  las siguientes etapas:

  1. La UC (unidad de control) suministra los operandos a la ALU
  2. La UC indica a la ALU la operación a llevar a cabo.
  3. La ALU realiza la operaciónn.
  4. La UC toma el resultado sobre los datos de entrada que se le proveen

Finalmente presentamos un ciclo de ejecución de instrucciones (reducido)

cicloreducidoA continuación armamos cajitas con 3 o 4 figuras de huevos dentro, e intentamos volver a preparar una receta pero con las siguientes directivas.

  • Tomar los huevos que hay en la huevera (los que haya ahí)
  • Agregar 1 taza azucar
  • Agregar 1 taza harina
  • Mezclar
  • Hornear medio 10
  1. Ensamblar la receta anterior , deben imaginar un mecanismo para representar la primera instrucción para incorporar al manual.(Ojo que no dejamos ya ocupamos todas las combinaciones con lo cual tienen que imaginar la forma de meter el modo de direccionamiento)

¿Que diferencias hay entre la forma de obtener los ingredientes en la primera instrucción y la segunda? (Vemos que una es variable y otra constante)

Entrega

Construir el circuito restador para BSS(1) (con carry, ejercicio 17):

  1. Dibujar la caja negra del circuito
  2. Construir la tabla (3 entradas)
  3. Construir SOP
  4. Dibujar circuito