documentación PROCESADOR.docx

19
1 Universidad Autónoma de San Luis Potosí Facultad de Ingeniería Área de Computación e Informática Arquitectura de Computadoras A Semestre:2014-2015/I Proyecto Final Procesador 8-Bits ANGELICA MARIA INFANTE BARBOSA Y ENRIQUE SANCHEZ PAREDES

Transcript of documentación PROCESADOR.docx

Universidad Autnoma de San Luis PotosFacultad de Ingenierarea de Computacin e InformticaArquitectura de Computadoras ASemestre:2014-2015/IProyecto FinalProcesador 8-Bits

Anglica Mara Infante Barbosa Snchez Paredes EnriqueAsesor: Dr. Carlos Soubervielle NDICE1. PROYECTO A REALIZAR32. OBJETIVO DEL PROYECTO..33. DESARROLLO.3 3.1 MODULO ENTRADA-SALIDA.34. UNIDAD PROCESADORA.4 4.1 DIAGRAMA DE LA UC..4 4.2 DATASHEET ALU5 4.3 DATASHEET REGISTRO 74LS374..65. UNIDAD DE CONTROL7 5.1 DIAGRAMA DE TIEMPO DEL GCM..7 5.2 PROGRAMACION DE LA GAL 8 5.3 DATASHEET GAL22V10..9 5.4 SET DE INSTRUCCIONES ..10-116. DIAGRAMA A BLOQUE DEL PROCESADOR..127. CONCLUSIONES13 7.1 PROBLEMAS Y SOLUCIONES.13 7.2 APRENDIZAJES13 7.3 BIBLIOGRAFA.13

1.-Proyecto a realizar:Procesador 8 bits2.-Objetivo del proyecto:Aprender como es el funcionamiento de un procesador y observar las operaciones aritmticas y lgicas bsicas que este realiza. Con este diseo aprenderemos cmo interactan los diferentes circuitos integrados. 3.-Desarrollo: 3.1 Modulo entrada salida: Entrada: Un timer LM555 que es el que inicia la secuencia del Generador de Ciclo de Mquina. Salidas: Puntas de prueba que son las que muestran el proceso que va haciendo el procesador:i. Contador: Es con el que podemos observar la direccin en la que se encuentra el PCii. EEPROM: Se encarga de proporcionar el cdigo de operacin o dato que se leer en los registros.iii. Registro: Los usamos para guardar datos o cdigo de operacin.iv. GAL: La utilizamos como Generador de ciclo de mquina (es la que carga los registros y hace el reset).

4.- Unidad Procesadora:La unidad procesadora consiste de una Unidad Aritmtica Lgica y un grupo de registros de propsito general o especfico.Encomputacin, launidad aritmtico lgica, tambin conocida comoALU(siglas en ingls dearithmetic logic unit), es un circuito digitalque calcula operaciones aritmticas (como suma, resta, multiplicacin, etc.) y operaciones lgicas (si, y, o, no), entre dos nmeros.

8 BITS8 BITS8 BITSBAACUMULADORACUMULADORTEMPORALALU4.1 Diagrama de la unidad procesadora

4.2 DATASHEET ALU SN54S181

A0 A3, Data Inputs A (Active Low) B0-B3, Data Inputs b (Active Low) S0 S3, Function Select InputsM Mode Control InputCn - Carry InputF0 F3 Function Output (Active Low) A=B Comparator OutputG Carry Generate OutputP Carry Propagate OutputCn+4- Carry Output

Usamos el CI SN54S181 como Unidad Aritmtico Lgica

4.3 DATASHEET REGISTRO 74LS374

Usamos el registro 74ls374 para el acumulador temporal y para el acumulador que iba retroalimentado a las estradas B de nuestras ALUs

5.-UNIDAD DE CONTROLLa unidad de control es la que se encarga de que todo funcione con sincrona. En esta se emiten las seales de control, nuestra unidad de control consta de: Registro de instruccin (RI): Se encarga de almacenar el cdigo de operacin de la ALU. Registro de Datos (RD): Almacena los datos proporcionados por la EEPROM. EEPROM (MEMORIA DEL PROGRAMA): Almacena el cdigo de operacin que necesita la ALU. CONTADOR DEL PROGRAMA (CP): Se encarga de direccionar a la memoria EEPROM. Reloj: Se encarga de proporcionarle al sistema una serie de pulsos que controlan al Generador de ciclo de Mquina. GENERADOR DE CICLO DE MQUINA (GAL): Se encarga de cargar los registros, incrementar el PC.

5.1 DIAGRAMA DE TIEMPOS DEL GCM:

5.2 PROGRAMACIN GAL22V10 CON WINCUPL

Name GALGCM;PartNo 00 ;Date 05/12/2014 ;Revision 01 ;Designer Engineer;Company UASLP ;Assembly None ;Location ;Device g22v10 ;

/* *************** INPUT PINS *********************/PIN 1 = clk ; /* */ PIN 2 = cls ; /* */

/* *************** OUTPUT PINS *********************/PIN 22 = q7 ; /* */ PIN 21 = q6 ; /* */ PIN 20 = q5 ; /* */ PIN 19 = q4 ; /* */ PIN 18 = q3 ; /* */ PIN 17 = q2 ; /* */ PIN 16 = q1 ; /* */ PIN 15 = q0 ; /* */

field count = [q7,q6,q5,q4,q3,q2,q1,q0];$define ti 'b' 00000000$define t0 'b' 00110000$define t1 'b' 00011000$define t2 'b' 01000000$define t3 'b' 00010000$define t4 'b' 00010100$define t5 'b' 10000000$define t6 'b' 01010000$define t7 'b' 00010010$define t8 'b' 10010000$define t9 'b' 00010001$define t10 'b' 11010000

field mode = cls;clear = mode:1;ava = mode:[0,1];

Sequenced count{present ti if ava next t0;present t0 if ava next t1; if clear next t0;present t1 if ava next t2;present t2 if ava next t3;present t3 if ava next t4;present t4 if ava next t5;present t5 if ava next t6;present t6 if ava next t7;present t7 if ava next t8;present t8 if ava next t9;present t9 if ava next t10;present t10 if ava next t1;}5.3 DATASHEET GAL22V10

GAL

GAL (Generic Array Logic), en espaol Arreglo Lgico Genrico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseados con el propsito de sustituir a la mayora de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.Un GAL en su forma bsica es un PLD con una matriz AND reprogramable, una matriz OR fija y una lgica de salida programable mediante una macrocelda. Esta estructura permite implementar cualquier funcin lgica como suma de productos con un nmero de trminos definido.En los PLDs no reprogramables la sntesis de las ecuaciones lgicas se realiza mediante quema de fusibles en cada punto de interseccin de los pines de entrada con las compuertas. En el caso de un GAL es bsicamente la misma idea pero en vez de estar formada por una red de conductores ordenados en filas y columnas en las que en cada punto de interseccin hay un fusible, el fusible se reemplaza por una celda CMOS elctricamente borrable (EECMOS). Mediante la programacin se activa o desactiva cada celda EECMOS y se puede aplicar cualquier combinacin de variables de entrada, o sus complementos, a una compuerta AND para generar cualquier operacin producto que se desee. Una celda activada conecta su correspondiente interseccin de fila y columna, y una celda desactivada desconecta la interseccin. Las celdas se pueden borrar y reprogramar elctricamente.

5.4 SET DE INSTRUCCIONESMnemnico/ OperandoDescripcinCdigo de OperacinModo de Direccionamiento

CLR ACLimpiar el contenido del Acumulador (AC)-

MOV RD, ACTSe transfiere el contenido del Registro de Datos (RD) al Acumulador Temporal (ACT).0010 1111(2F)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

COM RD, -,ACTSe complementa el contenido de RD, y se guarda en ACT-0010 0000(20)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

IOR RD, AC,ACTEl contenido de RD v el contenido de AC, se guarda en ACT.0010 1100(2C)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

AND RD,AC,ACTEl Contenido de RD ^ el contenido de AC, se guarda en ACT.0010 1001(29)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

XOR RD,AC,ACTEl Contenido de RD XOR el contenido de AC, se guarda en ACT.0010 0101(25)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

NAND RD,AC.ACTEl Contenido de RD NAND el contenido de AC, se guarda en ACT.0010 0001(21)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

MOV 1,-,ACTSe transfiere un 1 a ACT.0010 1011(2B)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

MOV 0,-,ACTSe transfiere un 0 a ACT.0010 0011(23)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

ADD RD,AC,ACTEl Contenido de RD + el contenido de AC, se guarda en ACT.0000 1001(9)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

INC RD,-,ACTEl Contenido de RD incrementa en 1, se guarda en ACT.0001 1111(1F)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

SUB RD,AC,ACTEl Contenido de RD - el contenido de AC, se guarda en ACT.0000 0000(0)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

DEC RD,-,ACTEl Contenido de RD decremento en 1, se guarda en ACT.0001 0000(10)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

ADD RD,RD,ACTEl Contenido de RD + el contenido de RD, se guarda en ACT.0001 1100(1C)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

SUB RD,RD,ACTEl Contenido de RD - el contenido de RD, se guarda en ACT.0000 0110(6)INMEDIATO

STORE ACT,-,ACSe guarda en AC, el contenido de ACT.

JMP 00HSalto incondicional a la direccin 0.1000 0000(80)

6.-DIAGRAMA A BLOQUES DEL PROCESADOR 8-BITS

7.-CONCLUSIONESLa elaboracin del proyecto se fortalecieron los conocimientos sobre el funcionamiento de un procesador bsico aplicando as lo adquirido durante el curso de Arquitectura de Computadoras A.

7.1 Problemas y Soluciones Se presentaron problemas con la EPROM ya que no entregaba los valores que tena que entregar y la sustituimos por una EEPROM AT28C16. En cuanto a las ALUs presentaron problema ya que son circuitos muy delicados. En seguida se presentaron dificultades con los circuitos GAL ya que el compilador que se utiliz para programarlas (ISPLever) generaba muchos problemas as que se opt por usar el WINCUPL, con el cual comenzaron a funcionar satisfactoriamente de acuerdo a lo programado.

7.2 APRENDIZAJESDurante la elaboracin del proyecto se aprendi a conectar en cascada circuitos como el 74LS193 (contador) y el 74LS181 (ALUs), Asi como desarrollar la lgica para disear un Generador de Ciclo de Mquina para controlar cada circuito del procesador

7.3 BIBLIOGRAFA Ingeniera Computacional, Diseo del Hardware, M. Morris Mano Microprocesadores, Programacin e Interconexiones Josemara Uruuela ANGELICA MARIA INFANTE BARBOSA Y ENRIQUE SANCHEZ PAREDES

12