Laboratorio - Organización de la CPU

Documentos relacionados
Departamento de Sistemas e Informática

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

TEMA III: OPERACIONES CON LOS DATOS

Conceptos de Arquitectura de Computadoras Curso 2015

PROBLEMA VHDL. 7 dig1. dig2. Entradas : Señales a[3..0] y b [3..0] en código GRAY Salida : Señales Dig1[6..0] y Dig2[6..0] para los visualizadores

Relación de Problemas I

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

MICROPROCESADORES PARTES DE UN MICROPROCESADOR

Práctica 4 - Arquitectura CPU

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

La Unidad Procesadora.

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Arquitectura de Computadores. Apellidos, Nombre:

Diseño de una calculadora

Fundamentos de Hardware: Arquitectura de un ordenador

Unidad I: Organización del Computador. Ing. Marglorie Colina

PROGRAMA de Organización de Computadoras

Tema 2. Diseño del repertorio de instrucciones

PLC CONTROLADOR LOGICO PROGRAMABLE

Introducción a la arquitectura de computadores

Instituto Tecnológico de Morelia

FUNCIONAMIENTO DEL ORDENADOR

Arquitectura de Computadores

TEHUACÁN INRE 409 INSTALACIÓN DE REDES DE DATOS. Ejercicios de Redes Básicas para Cisco Packet Tracer


Arquitectura Von Neumann

Organización de Computadoras. Clase 2

TRAB. PRÁCTICO Nº 3: UNIDAD CENTRAL DE PROCESAMIENTO (C.P.U.)

Circuitos combinacionales aritméticos (Parte II)

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

3 - Arquitectura interna de un up

ABEL Para Síntesis. Dr. Juan C. Herrera Lozada

Clase 20: Arquitectura Von Neuman

Componentes indispensables Un (1) 74LS181 ALU Un (1) 74 LS 47 Un display 7seg Ánodo Común

Análisis general de un Microprocesador

OPERADORES: Maquinaria para realizar las instrucciones. Capítulo Tercero Fundamentos de Computadores Ingeniería de Telecomunicación

SUMADORES Y COMPARADORES

SelectRAM+memory Bloques de memoria RAM En las FPGAs Spartan IIE

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES

La arquitectura CISCA

Práctica 1 Transistor BJT Región de Corte Saturación Aplicaciones

MEMORIA EJERCICIO 1 EJERCICIO 2

Organización del Computador I 1er. Parcial 17-Mayo Turno:

1. Introducción a la Arquitectura de Computadoras

INTRODUCCIÓN A LOS MICROPROCESADORES

PROGRAMA DE MATERIA DATOS DE IDENTIFICACIÓN ORGANIZACIÓN COMPUTACIONAL DEPARTAMENTO ACADÉMICO: SISTEMAS ELECTRONICOS CLAVE DE LA 7

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Tema 2. El lenguaje JAVA

CAMIÓN ARTICULADO PROGRAMA DE APRENDIZAJE. Ficha detallada del programa de camión articulado destinado a las plataformas multi-máquinas

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

SOLUCION Examen final IC parte B

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Modelos Computacionales

Examen 23 de Febrero de 2007

ENTORNO DE TRABAJO PARA LA SIMULACIÓN HARDWARE DE UNA COMPUTADORA SENCILLA

Compuertas Lógicas. Sergio Stive Solano Sabié. Agosto de 2012 MATEMÁTICA. Sergio Solano. Compuertas lógicas NAND, NOR, XOR y XNOR

Taller #1: Logisim PARTE 1:

Introducción Flip-Flops Ejercicios Resumen. Lógica Digital. Circuitos Secuenciales - Parte I. Francisco García Eijó

Arquitectura de Computadores II Clase #3

3.8 Construcción de una ALU básica

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

Formato para prácticas de laboratorio

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

Plataformas de soporte computacional: arquitecturas avanzadas,

Representación de datos y aritmética básica en sistemas digitales

ASIGNATURA: Estructura de Computadores

PLAN DE EVALUACIÓN - ACREDITACIÓN

Sistemas de Representación. Organización del Computador 1 Verano 2016

Resumen de las instrucciones del 8086/8088

PARTE II: Programación en ensamblador

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

4. Operadores Operador asignación

Sistemas de Computadoras Índice

La arquitectura del 8086/8088

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

El nivel ISA (II)! Conjunto de Instrucciones

Fundamentos de Programación. Sabino Miranda-Jiménez

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

1. Arquitectura del sistema; arquitectura del microprocesador.

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Lógica Secuencial. Circuitos Digitales, 2º de Ingeniero de Telecomunicación ETSIT ULPGC

MANUAL DE USO VOUCHER

Apuntes de arquitectura de computadoras. Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo.

Prueba del Driver ModBus

UNIVERSIDAD DE GUADALAJARA

GUIA DIDACTICA DE ELECTRONICA N º12 1. IDENTIFICACION ASIGNATURA GRADO PERIODO I.H.S. TECNOLOGIA ONCE CUARTO 6

FUNDAMENTOS DE SISTEMAS DIGITALES. Tema 2: Lógica combinacional (I): Funciones aritmético-lógicas

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

Practica Nº4 Multiplexores

Diseño Procesador Monociclo

Tema 9. SISTEMAS COMBINACIONALES PROGRAMABLES SISTEMAS COMBINACIONALES PROGRAMABLES NO UNIVERSALES

UNIVERSIDAD DE ALCALÁ. E.U.P. DEPARTAMENTO DE ELECTRÓNICA.

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

CICLOS DEL PROCESADOR

Transcripción:

Arquitectura de Computadoras - Edición 2017 Laboratorio - Organización de la CPU Objetivos Ejercitar conceptos vistos en el curso sobre diseño de circuitos digitales. Familiarizarse con el funcionamiento interno de la CPU a través de la implementación de varios componentes internos de su microarquitectura. Descripción de la tarea Se desea implementar una CPU simple de una arquitectura simple de 16 bits conectada a través del modelo de Von Neumann: Para su realización, los estudiantes deberán descargar del sitio EVA del curso una implementación incompleta de una CPU y realizar las modificaciones indicadas más adelante en la letra para asegurar su correcto funcionamiento. La CPU sobre la que se trabajará tiene las siguientes características:

Entradas: reloj ( CLK ), reset activo por nivel bajo, buses de datos, dirección y control. 16 registros de 16 bits, de nombres Reg1, Reg2,,Reg15. PC e IR de 16 bits Registro de banderas ( Zero, Negativo, Carry, Overflow ) Memoria RAM de 64K palabras de 16 bits, direccionable por palabra. Arquitectura de 16 bits con el siguiente set de instrucciones: Instrucción NOP MOVI Reg1,Inm MOVR Reg1, Reg2 LOAD Reg1, Reg2 SAVE Reg1, Reg2 ADD Reg1, Reg2, Reg3 AND Reg1, Reg2, Reg3 OR Reg1, Reg2, Reg3 XOR Reg1, Reg2, Reg3 NOT Reg1, Reg2 SHR Reg1, Reg2, Reg3 MAC Reg1, Reg2, Reg3 CMP Reg1, Reg2 JMP Reg1 JC Reg1 DJNZ Reg1, Reg2 Descripción No hace nada Carga el inmediato Inm en los bits menos significativos de Reg1, dejando los bits más significativos en 0 Carga en Reg1 el contenido de Reg2 Carga el contenido de memoria apuntado por Reg2 en Reg1 Guarda el registro Reg2 en la dirección de memoria apuntada por Reg1 Suma Reg2 y Reg3 y guarda el resultado en Reg1. Afecta las banderas C, V. Realiza un AND bit a bit entre Reg2 y Reg3 y guarda el Realiza un OR bit a bit entre Reg2 y Reg3 y guarda el Realiza un XOR bit a bit entre Reg2 y Reg3 y guarda el Realiza un NOT bit a bit de Reg2 y guarda el resultado en Reg1 Desplaza Reg2 a la derecha Reg3 lugares y guarda el Realiza la multiplicación entre la parte baja de los registros Reg2 y Reg3 y suma el resultado al registro Reg1. El resultado se guarda en Reg1. Afecta las banderas C, V. Realiza la resta entre los registros Reg1 y Reg2y actualiza las banderas con los resultados correspondientes. Afecta las banderas C y V Hace un salto incondicional a la dirección apuntada por Reg1 Hace un salto a la dirección apuntada por Reg1 si la bandera de C vale 1 Decrementa el registro Reg1 afectando la bandera Z, y luego salta a la dirección apuntada por Reg2 si la bandera de Z vale 1 2

Nota: Además de lo mencionado, las operaciones ADD, SHR, NOT, AND, OR, XOR, MAC y CMP afectan las banderas Z y N. El formato de instrucción que se va a utilizar es el siguiente: NOP 0000 0000 0000 0000 MOVI 0001 Reg1 Inmediato MOVR 0010 Reg1 Reg2 0000 LOAD 0011 Reg1 Reg2 0000 SAVE 0100 Reg1 Reg2 0000 ADD 0101 Reg1 Reg2 Reg3 AND 0110 Reg1 Reg2 Reg3 OR 0111 Reg1 Reg2 Reg3 XOR 1000 Reg1 Reg2 Reg3 NOT 1001 Reg1 Reg2 0000 SHR 1010 Reg1 Reg2 Reg3 MAC 1011 Reg1 Reg2 Reg3 CMP 1100 Reg1 Reg2 0000 JMP 1101 Reg1 0000 0000 JC 1110 Reg1 0000 0000 DJNZ 1111 Reg1 Reg2 0000 3

Se Pide 1) Implementar con MAX+PLUS II el circuito lógico 8bit_mul.gdf, que dado dos números de 8 bits representados en complemento a 2, los multiplica y devuelve el resultado en complemento a 2 de 16 bits. Dicho circuito es utilizado en la ALU. El símbolo generado (8bit_mul.sym) debe ser idéntico al entregado por lo docentes. 2) Construir con MAX+PLUS II la unidad de control de la CPU, de modo que la CPU implemente el set de instrucciones indicado anteriormente. La unidad de control deberá implementar un ciclo de instrucción siguiendo la filosofía CISC, es decir, que tendrá un ciclo de instrucción corto para instrucciones simples y uno más largo para instrucciones más complejas. El símbolo generado (control_unit.sym) debe ser idéntico al entregado por lo docentes. 3) Implementar un módulo de prueba de la CPU que ejecute un programa que calcule el producto escalar (módulo 65536) de la parte baja de los vectores ubicados en los rangos de memoria 0x0020-0x003F y 0x0040-0x005F de memoria. El resultado de dicho cálculo, deberá guardarse en la dirección de memoria 0x00F0. Luego de guardar el resultado el programa deberá quedar esperando en un bucle infinito. Nota: para las partes 1) y 2), no se deben modificar ninguno de los módulos entregados por los docentes. 4

Forma de entrega y grupos de trabajo El trabajo debe realizarse en grupo de exactamente cuatro personas y cada grupo debe entregar un único archivo (laboratorio.zip) que contenga en su interior: Un directorio con el proyecto Max+Plus II que contenga la CPU entregada por los docentes más los archivos.gdf y.sym necesarios para la implementación de las partes 1) y 2). El proyecto debe incluir un archivo del editor de ondas con los casos de prueba más la prueba del programa pedido en la parte 3). Además se deberá entregar un archivo de inicialización de memoria (ram.mif) que implemente el programa pedido Documentación escrita que describa la implementación de los módulos y del programa. La entrega se realizará a través del sitio EVA del curso. Los trabajos deberán ser entregados indefectiblemente antes del domingo 15 de octubre a las 23.30 horas. No se aceptará ningún trabajo pasada la citada fecha. En particular, no se aceptarán trabajos enviados por mail a los docentes del curso, ni entregados en medios magnéticos en el instituto. El sistema de entregas soporta múltiples entregas por grupo. Pruebe de realizar una entrega vacía con tiempo, a los efectos de verificar que su sistema le permite entregar correctamente. 5