Tema 16: PROCESADO DE DATOS

S. Manich

Contenido
Procesado de datos • Procesado combinacional de datos. • Procesado secuencial. • Tranferencia de registros. • Sistema algorítmico. • Estructura de los sistemas algorítmicos: • Subsistema de datos. • Subsistema de control. • Condiciones y señales de control.
2

Lang. J. H. T. P.Bibliografía J. Ercegovac. Hayes Introducción al Diseño Lógico Digital Capítulo 8 M. Moreno Introduction to Digital Systems Capítulo 13 3 .

Conocimientos adquiridos SINTESIS DIRECTA DE SISTEMAS Sistemas Sistemas Combinacionales Combinacionales Sistemas Sistemas Secuenciales Secuenciales • Funciones Booleanas – Cálculo instantáneo – No existe variable tiempo • Funciones Booleanas – Cálculo no instantáneo – Existe variable tiempo SC + Registro estado PARA MAYOR COMPLEJIDAD SINTESIS DIRECTA NO VIABLE 4 .

Ejemplo sistema complejo MICROPROCESADOR • • 32 registros internos (NO CACHE.4·1011 estados !!!! 5 . NO DRAM) Registros de 32 bits. • 32 x 32 = 1024 bits memorizados • Número de estados 232 (por registro) x 32 = = 237 ≈ 1.

Como plantear sistemas complejos? • Puertas lógicas? ⇒ ”LOS ÁRBOLES NO DEJAN VER EL BOSQUE” ALGUNA IDEA? SUBIR DE NIVEL DISMINUIR EL DETALLE COGER PERSPECTIVA NIVEL TRANSFERENCIA REGISTROS (RTL) 6 .

Niveles de diseño O N CN Ó CI T E AC LA R E ST D AB CIA EN ND LO G ÍA Hacia VHDL RTL PUERTAS LÓGICAS PE DE IN LIGADO A TECNOLOGÍA TRANSISTORES Nivel físico SILICIO 7 .

NOT m m k DEMUX n E AND.NOT CODIFICADOR m m DESCODIFICADOR m E ENCODER m DECODER CV m 8 .Elementos RTL • Combinacionales BUS m MULTIPLEXOR k n MUX E DESMULTIPLEXOR AND.OR. OR.

Elementos RTL • Combinacionales SUMADOR m Co ADDER m m Ci Co RESTADOR m m Ci SUBSTRACT m MULTIPLICADOR m m MULTIPLY n Co 9 .

Elementos RTL • Secuenciales REGISTRO PARALELO m CLK REGISTER m CLR E REGISTRO DESPLAZAMIENTO CLR m SHIFT REG m LOAD I serie SH CLK CONTADOR CLR m COUNTER m LOAD E 10 CLK .

Como organizar elementos RTL? ELEMENTOS CONT. VERDAD SOP. REGISTROS REGISTROS ··· ··· NIVEL RTL NIVEL LÓGICO ELEMENTOS PUERTAS PUERTAS LÓGICAS LÓGICAS MÉTODO DIAGRAMAS DIAGRAMAS DE DE EJECUCIÓN EJECUCIÓN ARQUITECTURA? MÉTODO TAB.POS KARNAUGH KARNAUGH DIAG.IMPLICACIÓN 11 .IMPLICACIÓN DIAG. VERDAD TAB. CONT.POS SOP.

DIAGRAMAS DE EJECUCIÓN Op1 Op2 Op3 Op4 Op5 Op6 DIAGRAMA DIAGRAMA ESTRUCTURA ESTRUCTURA PARALELA PARALELA Op7 Op1 Op4 Op2 Op5 Op3 Op6 Ahorro recursos Aumento velocidad DIAGRAMA DIAGRAMA ESTRUCTURA ESTRUCTURA SECUENCIAL SECUENCIAL 12 .

• CONTROL CENTRALIZADO – Control de secuencia realizado por una única unidad.Arquitectura genérica (una de las posibles) • SISTEMA UNIMODULAR – Cálculos de cada nodo realizado por una única unidad. •Almacena datos •Realiza operaciones Salida DATOS Entrada DATOS Señales de CONDICION Entrada CONTROL Subsistema Subsistema DATOS DATOS Señales CONTROL Subsistema Subsistema CONTROL CONTROL Salida CONTROL •Gestiona recursos13 .

Ejemplo • Diseñar un circuito que calcule el polinomio siguiente P7 ( x) = ∑ pi x i i =0 7 • Expansión del polinómio P7 ( x) = p7 x 7 + p6 x 6 + p5 x 5 + p4 x 4 + p3 x 3 + p2 x 2 + p1 x + p0 14 .

Diseño directo con puertas. Intentar lo imposible? x n p7 p6 p7 p5 p4 p3 p2 p1 p0 n Si n = 8 el número total de bits de entrada es de 72 m tablas de la verdad de 4.7·1021 filas cada una!!! m P7 ( x) 15 .

Estrategia: dividir el problema • Secuenciar el cálculo del polinomio. P7 ( x) = ((((( p7 x + p6 ) x + p5 ) x + p4 ) x + p3 ) x + p2 ) x + p1 ) x + p0 • Operaciones básicas: suma y multiplicación. Realizar un DIAGRAMA DE EJECUCIÓN Algoritmo embrionario 16 . • Ordenar la ejecución de las operaciones básicas.

Diagrama de ejecución • Nodos: operaciones que se realizan. Vértices: ordenación de las operaciones. BEGIN • V = p7 ⋅ x + p6 V = V ⋅ x + p5 V = V ⋅ x + p4 BEGIN V = p7 i=6 OR Diagrama expandido V = V ⋅ x + p3 V = V ⋅ x + p2 V = V ⋅ x + p1 Diagrama con bucle V = V ⋅ x + pi i = i −1 i≥0 END 17 V = V ⋅ x + p0 END .

V p7.Especificación cálculo polinómio • Entradas/Salidas: – Subsistema datos: • Entrada: DATO (n bits) • Salida: DATO (n bits) Banco de REGISTROS xx p7. V p6 p6 p5 p5 p4 p4 p3 p3 p2 p2 p1 p1 p0 p0 0000 0001 0010 0011 0100 0101 0110 0111 1000 – Subsistema control: • Entrada: BEGIN • Salida: END • Variables a almacenar. Considerar los datos de partida almacenados internamente. • Cálculos a realizar: multiplicación y suma – ( V·x + pi ) 18 .

Arquitectura unidad cálculo polinomio • • SUBSISTEMA DE DATOS: operaciones. Subsistema CONTROL Subsistema DATOS R/W Ea Eb Ec • • SD: operaciones con estructuras combinacionales escalables y registros de datos SC: autómata con número de estados tratable. a b a× b+c n c END BEGIN Módulo ARITMÉTICO 19 n BUS DATOS Diseño directo con puertas ES POSIBLE! 4 Unidad de CONTROL ADR Banco de REGISTROS . variables del sistema. SUBSISTEMA DE CONTROL: control del orden de ejecución de las operaciones.

BEGIN V = p7 ⋅ x + p6 V = V ⋅ x + p5 V = V ⋅ x + p4 V = V ⋅ x + p3 Cálculo “instantáneo”. ⇒ expandir periodo de reloj.MICROOPERACIÓN Operación realizable en un Operación realizable en un periodo de reloj. más rápido que el reloj a ←V V = V ⋅ x + p2 V = V ⋅ x + p1 c ← p3 V ← a⋅x+c Fin periodo de reloj V = V ⋅ x + p0 END 20 . circuito combinacional. nodos diagrama ejecución. ⇒ expandir nodos diagrama ejecución.

Diseño del BEGIN subsistema de control S M icrooperacion S0 b x X p7 S1 a X X X X X X S2 S3 S4 S5 S c V a c V p6 a ∙x V p5 a ∙x 21 .

Op5 B4 Op6 Conjunto de operaciones a implementar22 en la arquitectura .Op3. • Metodologia general de especificación a nivell RTL. sec.Síntesis sistema algorítmico tot. Clasificación de las operaciones Op1 ≡ Op2 Op3 ≡ Op4 Op5 ≡ Op6 Identificar variables en el diagrama Op1 B1 Op2 B3 B2 Op3 Op4 B5 Op5 B6 Conjunto de datos a almacenar Op1. • 1) Construcción del Diagrama de Ejecución.

Unimodular control centralizado Subsistema DATOS Bus datos Entrada DATOS R E G S temp * Señales control T E M P * Op3 * Op5 * Op1 Condiciones Salida DATOS Opi temp Opi si Salida CONTROL no Entrada CONTROL Autómata secuencial Subsistema CONTROL 23 Estados ≡ Microoperaciones .

uOpi1 Bk3 24 . Bk uOpi1 Expansión Opi Bj Bi Bk1 uOpi1 Bk2 1 ciclo reloj • Asignar estados a las uOpij. • Definir nuevos estados según vértices diagrama de ejecución expandido.Subsistema de control • Expandir las operaciones en microoperaciones. Bij. • Definir funciones salida autómata control según el estado de las señales de control.

⇒ Operaciones: circuitos combinacionales con estructuras combinacionales recursivas muy fáciles de escalar. Simplificación importante en el autómata del sistema. del autómata que secuencia las operaciones. CONTROL CENTRALITZADO ⇒ Arquitectura que separa variables con datos y operaciones sobre datos. sec. • Selección de arquitectura RTL => UNIMODULAR. 25 . Sistema escalable.Síntesis sistema algorítmico tot.

Microprocesador ARM7 RISC (móbiles) Registros Subsistema de datos Operaciones Subsistema de control 26 .