INGENIERIA EN SISTEMAS DE INFORMACION
ARQUITECTURA DE COMPUTADORAS
TP Circuitos
Circuitos combinacionales y aritméticos
1. ¿Qué es un circuito combinacional?
Es un conjunto de puertas lógicas que realizan operaciones lógicas
básicas sin la presencia de memoria interna. La salida de un circuito
combinacional depende únicamente de las entradas actuales, sin
considerar el historial de entradas anteriores.
2. Explique brevemente el funcionamiento de un multiplexor y de
un comparador
Un multiplexor es un dispositivo electrónico que selecciona una de varias
señales de entrada y la envía a una única salida. Permite compartir una
sola línea de comunicación entre varias señales, seleccionando cuál de
ellas transmitir en un momento dado.
Un comparador es un circuito electrónico que compara dos señales de
voltaje y genera una salida que indica cuál de ellas es mayor. Si el voltaje
en una entrada es mayor que en la otra, el comparador produce una señal
de salida alta o baja, dependiendo del diseño.
3. Explique cómo se utilizan circuitos aritméticos para realizar
operaciones de suma, y lógicas de desplazamiento.
Los circuitos más comunes para la suma son los sumadores (adders).
Hay dos tipos principales:
Sumador de medio (Half Adder): Es el circuito básico que suma
dos bits. Tiene dos entradas (los bits a sumar) y dos salidas: Suma
(S) y Carry (C). La salida "S" es el resultado de la suma de los bits, y
"C" indica si hay un acarreo (carry) hacia la siguiente posición.
Sumador completo (Full Adder): Este circuito puede sumar tres
bits: dos bits de entrada y un acarreo (carry) que puede venir de
una posición anterior. Tiene tres entradas (A, B, y el carry-in) y dos
salidas: la Suma (S) y el Carry out (C_out), que se pasa al siguiente
bit de mayor peso.
Para sumar números de más de un bit, se encadenan varios sumadores
completos para formar un sumador en serie o sumador en paralelo.
Los circuitos lógicos de desplazamiento se utilizan para mover los bits
de una palabra binaria hacia la izquierda o derecha. El desplazamiento
lógico puede ser de dos tipos:
Desplazamiento lógico a la izquierda (Logical Shift Left -
LSL): Mueve todos los bits hacia la izquierda y rellena la posición
vacante de la derecha con un 0. Cada desplazamiento a la izquierda
es equivalente a multiplicar por 2.
Desplazamiento lógico a la derecha (Logical Shift Right -
LSR): Mueve todos los bits hacia la derecha, y rellena la posición
vacante de la izquierda con un 0. Cada desplazamiento a la derecha
equivale a una división entera por 2.
4. ¿Cómo se estructura básicamente la ALU?
Entradas de Operandos: La ALU tiene dos entradas principales, que son
los operandos sobre los cuales realizará las operaciones.
Señales de Control: Las señales de control son generadas por la
Unidad de Control del procesador, y se utilizan para especificar qué
operación debe realizar la ALU. Estas señales determinan si la ALU
ejecutará una suma, resta, operación lógica, etc.
Circuitos Aritméticos: La ALU contiene varios circuitos que permiten
realizar operaciones aritméticas, como por ejemplo, los sumadores.
Circuitos Lógicos: La ALU también incluye circuitos que realizan
operaciones lógicas bit a bit, como: AND, OR, NOT, XOR.
Circuitos de Desplazamiento: Las operaciones de desplazamiento
lógico (hacia la izquierda o derecha) también están integradas en la ALU.
Salida de Resultados: Después de realizar la operación seleccionada, la
ALU produce un resultado en su salida, que generalmente es almacenado
en un registro interno o devuelto a la memoria.
Flags o Indicadores de Estado: La ALU también genera flags o
indicadores de estado, que son bits que informan sobre el resultado de
la operación, tales como Carry, Overflow, etc.
Selección de Operación (MUX): Internamente, la ALU utiliza un
multiplexor (MUX) para seleccionar cuál de los resultados generados
por sus diferentes circuitos (aritméticos o lógicos) debe enviarse a la
salida.
Relojes
1. ¿Qué función cumple un reloj en un sistema digital?
Muchas veces el orden en el que ocurren los procesos es crucial. A veces,
un proceso debe ocurrir antes que otro, otras veces dos procesos deben
ocurrir a la vez. Los relojes hacen posible la sincronización para que los
diseñadores puedan establecer las relaciones de temporización
requeridas.
2. ¿Qué es tiempo de reloj, o ciclo, y frecuencia de reloj?
El reloj emite una serie de pulsaciones con una anchura de pulsación
precisa y un intervalo preciso entre pulsaciones consecutivas. El tiempo
reloj es el período entre los flancos correspondientes de dos pulsaciones
consecutivas (tiempo que transcurre entre dos cambios iguales en un
ciclo).
La frecuencia de reloj es la cantidad de ciclos de reloj que ocurren en
un segundo. Se mide en Hertzios (Hz), donde 1 Hz significa un ciclo por
segundo.
3. ¿Cómo se organizan los sucesos en torno a los ciclos del reloj?
Se organizan mediante la sincronización de operaciones, el control de
flujos de datos, la ejecución de instrucciones en etapas, y la coordinación
de interacciones con dispositivos externos. Esta organización asegura que
el sistema funcione de manera eficiente y ordenada, manteniendo la
integridad de las operaciones que realiza.
Circuitos secuenciales – biestables
1. ¿Qué es un circuito secuencial?
Es un tipo de circuito que tienen la capacidad de guardar información y su
salida, a diferencia de los circuitos combinacionales, depende no solo de
las entradas actuales, sino también del estado anterior del circuito. Los
circuitos secuenciales utilizan memoria para almacenar información sobre
eventos pasados, lo que les permite realizar operaciones más complejas.
2. ¿Qué tipo de biestables puede enumerar?
Biestable tipo D: Captura el valor de la entrada (D) en el flanco de subida
(o bajada) de la señal de reloj y lo mantiene en la salida (Q) hasta el
siguiente flanco.
Biestable tipo SR: Tiene dos entradas, Set (S) y Reset (R). Permite
establecer o restablecer el estado del biestable.
Biestable tipo JK: Similar al tipo SR pero tiene dos entradas (J y K). Es más
versátil y permite más combinaciones de entrada para cambiar de estado.
Biestable tipo T: Tiene una sola entrada (T). Cuando T = 1 en el flanco de
reloj, invierte el estado actual de Q. Si T = 0, mantiene el estado.
Biestable Maestro-Esclavo: Compuesto por dos biestables D o JK
conectados en cascada. Se utiliza para mejorar la sincronización.
Latch.
3. ¿Cómo se sincroniza un “latch” a través del reloj?
Un latch es un tipo de circuito secuencial que puede almacenar un bit de
información y mantener su estado indefinidamente hasta que recibe una
señal de control para cambiar su estado. La sincronización de un latch con
el reloj se realiza al hacer que el latch capture y actualice su salida en
momentos específicos determinados por los flancos de la señal de reloj.
De esta manera, se puede garantizar que los cambios en el estado del
latch ocurran de manera controlada y predecible.
Cuando D=1 y el reloj es 1, el latch pasa al estado Q=1. Cuando D=0 y el
reloj es 1, el latch pasa al estado Q=0
4. ¿Qué es un flip-flop?
El flip-flop es una variante del latch. En esta, la transición de estado no
ocurre cuando el reloj es 1, sino en la transición del reloj de 0 a 1 (flanco
ascendente) o de 1 a 0 (flanco descendente). Un flip-flop se dispara por
flanco mientras que un latch se dispara por nivel.
Registros
1. Explique brevemente cómo funcionan los registros paralelos y los de
Desplazamiento.
Los registros paralelos son circuitos de almacenamiento que permiten
la carga y lectura de múltiples bits de datos al mismo tiempo. Estos
registros están compuestos por varios flip-flops, donde cada flip-flop
almacena un bit.
Los registros de desplazamiento son un tipo de registro que permite
mover los datos almacenados en ellos hacia la izquierda o hacia la
derecha. Estos registros también están compuestos por flip-flops.
Desplazamientos y rotaciones
1. ¿Cuál es el resultado de aplicar una rotación con acarreo de 4 bits a la
izquierda al
número 6Ah, suponiendo que inicialmente CF= NC (0) en un registro de
una longitud
de un byte, y al resultado obtenido le aplicamos un desplazamiento lógico
de 2 bits a
la derecha?
Respuesta: 2Ah
2. ¿Cuál es el resultado de aplicar una rotación sin acarreo de 4 bits a la
izquierda al
número B5h, suponiendo que inicialmente CF= NC (0) en un registro de
una longitud
de un byte, y al resultado obtenido le aplicamos un desplazamiento
aritmético de 3
bits a la derecha?
Respuesta: 05h
3. ¿Cuál es el resultado de aplicar un desplazamiento aritmético a la
derecha de 4 bits
al número C7h, suponiendo que inicialmente CF= CY (1) en un registro de
una
longitud de un byte, y al resultado obtenido le aplicamos una rotación con
acarreo de
4 bits a la derecha?
Respuesta: CFh
4. ¿Cuál es el resultado de aplicar un desplazamiento aritmético a la
derecha de 2 bits
al número 84h, suponiendo que inicialmente CF= CY (1) en un registro de
una
longitud de un byte, y al resultado obtenido le aplicamos una rotación con
acarreo de
4 bits a la izquierda?
Respuesta: 12h