cpu

9
TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico de Aguascalientes (DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA.) INGENIERÍA ELECTRÓNICA DISEÑO DIGITAL EN VHDL “REPORTE DEL CPU” Alumno: Andrés Alejandro Ruvalcaba Adauto Profesor: M.C. Gustavo Adolfo Sosa Serna

Upload: alex-ruvalcaba-adauto

Post on 30-Jan-2016

214 views

Category:

Documents


0 download

DESCRIPTION

funcionamiento del cpu con leds

TRANSCRIPT

Page 1: Cpu

TECNOLÓGICO NACIONAL DE MÉXICO

Instituto Tecnológico de Aguascalientes

(DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA.)

INGENIERÍA ELECTRÓNICA

DISEÑO DIGITAL EN VHDL

“REPORTE DEL CPU”

Alumno: Andrés Alejandro Ruvalcaba Adauto

Profesor: M.C. Gustavo Adolfo Sosa Serna

Miércoles 2 de diciembre del 2015

Page 2: Cpu

Introducción

El CPU o Central Processing Unit (Unidad de Procesamiento Central) es la parte central de toda computadora ya que es la que cumple la tarea de procesamiento de todas las funciones así como también de almacenamiento de la información. Es un circuito electrónico que ha existido desde siempre en las computadoras sin importar su modelo y es por eso que es considerado uno de los elementos básicos de cualquier computador.

El CPU funciona en base a la operación de programas previamente diseñados y establecidos. Estos programas son organizados por números en serie y pueden representar cuatro pasos básicos:

1. Leer (juntar información o instrucciones sobre una operación).2. Decodificar (dividir esa información en partes entendibles y significativas

para el CPU).3. Ejecutar (el momento más importante ya que en él se lleva a cabo la

instrucción y se ponen a trabajar varias partes juntas del CPU).4. Escribir (para dejar establecidos los resultados de la tarea realizada).

Los procesadores utilizan el sistema de numeración decimal, representando casi todos ellos los números de forma binaria, es decir mediante la utilización de las cifras cero y uno. Por otro lado, siempre recurren también a la señal de reloj que significa que trabajan de manera sincrónica lo que hace luego más fácil conectar las diversas tareas y operaciones del CPU.

OBJETIVO

En el siguiente trabajo analizaremos cada uno de los pasos ya mencionados y estableceremos un código que nos permita interpretar dicho funcionamiento en nuestra tarjeta CPLD 240T100C5N.

Page 3: Cpu

Desarrollo

Para explicar el funcionamiento de algunos comandos del CPU es necesario generar una tabla que satisfaga las siguientes condiciones:

LOAD(DIRECTO)

JUMP CALL ADD JUMP IF CARRY

suma 1 1 1 0 1resta 1 1 1 1 1lógico 0 1 1 1 1reset 1 1 1 1 1load 0 0 0 0 0incremento 1 1 1 1 1read 0 0 0 0 0write 1 1 0 1 1

Una vez establecida la lógica combinacional de cada función podemos asignar un led a cada instrucción:

Una vez asignados los leds usaremos un convertidor de bcd en este caso a 8 segmentos de led en vez del display y asociaremos una combinación de 3 bits para cada función.

Read

Write

Incremento

Load

Suma

Resta

Lógico

Reset

Page 4: Cpu

CODIGO VHDL

Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;

entity microprocessor is

port(

--suma: out std_logic;

sel: in std_logic_vector(2 downto 0);

buzz: out std_logic;

--read_type:out std_logic;

--write_type:out std_logic;

--logic_unit:out std_logic;

--resta:out std_logic;

--incremento:out std_logic;

--reset:out std_logic;

--lod:out std_logic

led: out std_logic_vector(7 downto 0));

end;

architecture vhdl_type of microprocessor is

begin

buzz<='1';

led<=

"01001011" when sel="000" else--load

"01001111" when sel="001" else--jump directo

"00001111" when sel="010" else--call

"01001110" when sel="011" else--add

"01001111" when sel="100" else--jump if carry=0

"01001100" when sel="101" else--jump if carry=1

"00000000";

end vhdl_type;

Page 5: Cpu

Teniendo nuestro código pero por mera estética apagaremos todos los demás pines que no usemos, para esto iremos al menú en la pestaña assigments/settings/device:

seleccionamos

Ahora elegimos la pestaña all unused pins

Y seleccionamos esta opción en reserve all unused pins:

Page 6: Cpu

Observaciones

BUENAS: se logró comprender fácilmente el código mediante temas vistos anteriormente y también gracias al software compilador del CPU se alcanzó a apreciar mejor el funcionamiento del mismo.

MALAS: Aunque facilitado el software de compilación, fue difícil comprender del todo el funcionamiento del mismo ya que algunos componentes como lo son la unidad de control, el reloj, etc. No se llegaron a analizar del todo y quedaron como incógnitas.

Conclusión

Este código realizado, muy básico como se puede apreciar, logro satisfacer y determinar el proceso llevado a cabo por un CPU también debido a lo básico que es, no se considera un CPU en sí, más bien es solo una ejemplificación de las funciones y como se decodifican, ejecutan, leen y finalmente se interpretan por medio de, en este caso leds.