Practica6 Organización y Arquitectura de Computadoras
Practica6 Organización y Arquitectura de Computadoras
Practica6 Organización y Arquitectura de Computadoras
FACULTAD DE INGENIERÍA
6
Práctica #_____
Martínez
Elaborada por:__ _____________ Rojas
___________ José Eduardo
Apellido paterno Apellido materno Nombre(s)
Grupo: 5
Semestre: 2022-2
Objetivo
Desarrollo
Página 2 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
01 Salto condicional (SCO) En esta instrucción se revisa el valor de la línea cc, si es igual a
cero la dirección del estado siguiente la proporciona el registro µP C; si es igual a uno la
dirección del estado siguiente contenida en el registro seleccionado por P L ingresa a través
de la entrada D.
10 Salto de transformación (ST) La dirección del estado siguiente se obtiene del registro
seleccionado por la línea MAP. Este registro también esta conectado a la entrada D. Aquí
se introduce una nueva notación de carta ASM, un rombo con varias bifurcaciones. La
bifurcación que se elija dependerá del contenido del registro de Transformación.
Página 3 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
4. En la figura 7 se presenta una carta ASM en donde se hace uso de todas las instrucciones
que un secuenciador básico puede ejecutar. En el estado EST4 y EST11 la dirección del estado
siguiente está determinada por el registro de transformación, seleccionado cuando el
secuenciador ejecuta la instrucción ST. En el estado EST7 y EST9 la dirección del estado
siguiente la proporciona el registro de interrupción.
Página 4 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
0000
000
0001
1 0
0111
0010
0011 1
0100 0
1000
1 0 1
1010 1100 1101
0 1110
0110
S0,S1,S2,S3,S4,S5
Entradas:X,Y INT
X—00
Y—01
INT-10
AUX-11
Cont—00
SC—01
ST-10
SCI-11
Página 5 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
Página 6 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
2. Una vez que haya obtenido el contenido de memoria, implemente el direccionamiento por
implícito utilizando el software de desarrollo Quartus y escriba el contenido de memoria
obtenido.
1. Memoria
Library ieee;
Use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
Entity memory is
end;
Página 7 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
internal_mem(0) <= "11"&"0"&"00"&"0001"&"100000"&"100000";
internal_mem(1) <= "000010111111100111100";
internal_mem(2) <= "110000011110000110000";
internal_mem(3) <= "110000100010100010100";
internal_mem(4) <= "000101111000010000010";
internal_mem(5) <= "010011010010011010010";
internal_mem(6) <= "110010010100100100100";
internal_mem(7) <= "101110000000010100010";
internal_mem(8) <= "110010001000001000001";
internal_mem(9) <= "101110000010100110101";
internal_mem(10) <= "110010000000000000000";
internal_mem(11) <= "110101111001000001000";
internal_mem(12) <= "110100000001000001000";
internal_mem(13) <= "110100000000101000101";
internal_mem(14) <= "110100000110010110010";
process(dir)
begin
data <= internal_mem(conv_integer(unsigned(dir)));
end process;
end behavioral;
2. Divisor de datos
Library ieee;
Use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
Entity divisor_datos is
end;
begin
process(entrada)
begin
Página 8 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
3. Registro: Encargado de desahbilitar o habilitar las salidas para la Liga, además sirve
para el salto de transformación e interrupción
Library ieee;
Use ieee.std_logic_1164.all;
Entity registro is
port(RELOJ: in std_logic;
RESET: in std_logic;
ENA: in std_logic;
ENTRADA: in std_logic_vector(3 downto 0);
SALIDA: out std_logic_vector(3 downto 0));
end;
end behavioral;
Library ieee;
Use ieee.std_logic_1164.all;
Entity registro_2 is
port(RELOJ: in std_logic;
RESET: in std_logic;
ENA: in std_logic;
Página 9 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
ENTRADA: in std_logic_vector(1 downto 0);
SALIDA: out std_logic_vector(1 downto 0));
end;
end behavioral;
Library ieee;
Use ieee.std_logic_1164.all;
Entity registro_1 is
port(RELOJ: in std_logic;
RESET: in std_logic;
ENA: in std_logic;
ENTRADA: in std_logic;
SALIDA: out std_logic);
end;
end behavioral;
6. Registro2: Encargado de desahbilitar o habilitar las salidas para las Salidas Falsas y
Salidas Verdaderas
Library ieee;
Use ieee.std_logic_1164.all;
Entity registro_6 is
port(RELOJ: in std_logic;
RESET: in std_logic;
ENA: in std_logic;
ENTRADA: in std_logic_vector(5 downto 0);
SALIDA: out std_logic_vector(5 downto 0));
end;
Página 11 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
end behavioral;
7. Mux2x4: Encargado de seleccionar entradas x,y, INT y aux
Library ieee;
Use ieee.std_logic_1164.all;
Entity mux2X4X is
end;
end process;
end behavioral;
8. Mux1X2X1: Encargado de seleccionar si es salida verdadera o falsa
Library ieee;
Use ieee.std_logic_1164.all;
Entity mux1X2X1 is
port(prueba: in std_logic;--prueba
E0: in std_logic_vector(5 downto 0);--liga false
E1: in std_logic_vector(5 downto 0);--liga true
O : out std_logic_vector(5 downto 0));
end;
Página 12 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
Entity register3x is
port(CLK: in std_logic;
RESET: in std_logic;
ENA: IN std_logic;
DATA_IN: in std_logic_vector(3 downto 0);--LIGA
DATA_OUT : out std_logic_vector(3 downto 0));--ESTADO PRESENTE
end register3x;
2. Mux_dirección
Library ieee;
Use ieee.std_logic_1164.all;
Entity mux_direccion is
port(prueba: in std_logic;--prueba
E0: in std_logic_vector(3 downto 0);--liga false
E1: in std_logic_vector(3 downto 0);--liga true
sali : out std_logic_vector(3 downto 0));
end;
Página 13 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
architecture behavioral of mux_direccion is
begin
process(prueba,E0,E1)
begin
if prueba='0' then --INCREMENTA
sali<=E0;
elsif prueba = '1' then --ESTADO SIGUIENTE
sali<=E1;
end if;
end process;
end behavioral;
3. Incrementador
Library ieee;
Use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
Entity incrementador is
Begin
process(entrada)
begin
salida <= entrada+1;
end process;
end behavioral;
4. Lógica interna
Library ieee;
Use ieee.std_logic_1164.all;
Entity logica_interna is
Página 14 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
end;
end if;
end process;
end behavioral;
Display 7 segmentos
B7 B0 B1 B2 B3 B4 B5 B6 hexadecimal Número
1 1 0 0 1 1 1 1 81 0
1 0 0 1 0 0 1 0 CF 1
Simulaciones
Para comprobar el funcionamiento se utilizó University Program VWFconsirando todos los casos de
las carta ASM.
Casos probados
Del estado 0000 con cualquier valor pasa al estado 0001
Del estado 0001 con X=1 pasa estado 0010
Del estado 0010 con cualquier valor pasa al estado 0011
Del estado 0011 con cualquier valor pasa al estado 0100
Página 16 de 17
Laboratorio
Conceptos de Organización
Básicos y Manejo deyequipo
Arquitectura
Laboratorio de computadoras
Dispositvos electronicos
Del estado 0100 con el salto de tranformacion en 0101 pasa al estado 0101
Del estado 0101 con Y=1 pasa 0110
Del estado 0110 con cualquier valor 0010
Del estado 0010 con cualquier valor pasa al estado 0011
Del estado 0011 con cualquier valor pasa al estado 0100
Del estado 0100 con el salto de tranformacion en 1001 pasa al estado 1001
Del estado 1001 con Interrupcion=1 pasa al estado 1001 hasta que desactive la interrupción
Conclusiones
Se cumplió el objetivo de entender le funcionamiento del secuenciador básico, sabemos que es una
parte fundamental del procesador, aunque la estructura es más compleja que las demás que hemos
visto, se puede ver su implementación y ventajas que tiene usarle en este caso comparado con
prácticas anteriores vamos a tener interrupciones y saltos de transformación que nos permiten elegir
más de una opción o lanzar una interrupción en algún momento de la carta ASM. Fue de fundamental
importancia entender la estructura para programar y hacer funcionar nuestro diagrama de bloques, en
fin pienso que es una práctica muy completa y de mucha ayuda, pero considero que le faltan mejores
al secuenciador pero al ser básico es un muy buen acercamiento para entender los procesadores.
Página 17 de 17