Procesado digital de imagen y sonido

Documentos relacionados
Introducción al procesamiento digital de señales en tiempo real

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Arquitecturas DSP. Phil Lapsley, Jeff Bier, Amit Shoham, Edward A. Lee DSP Processor Fundamentals. Architectures and Features IEEE Press 1997

3 SISTEMAS DE PROCESAMIENTO DIGITAL DE SEÑALES. ha desarrollado durante los últimos 30 años gracias a los avances tecnológicos de

1. Introducción a la Arquitectura de Computadoras

Tema: Microprocesadores

Introducción n a los procesadores digitales de señal (DSPs)

Qué es un Microcontrolador?

INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors: 8va. Ed., Prentice Hall, 2009

CAPITULO 1 INTRODUCCION AL PROYECTO

Introducción a la arquitectura de computadores

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

Instituto Tecnológico de Morelia

LECTURA 1 INTRODUCCIÓN A LOS DSP'S

FUNCIONAMIENTO DEL ORDENADOR

El nivel ISA (II)! Conjunto de Instrucciones

DSPs. Aplicaciones. Se utilizan para comunicaciones mediante

Electrónica Digital II

Capitulo 01. Introducción. Índice

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

Tema 15 ELECTRÓNICA DIGITAL. PROCESADORES DIGITALES (PARTE 2A) Arquitecturas Harvard y Von Neumann. Tipos de procesadores digitales

Tema 5: Memorias. Espacio reservado para notas del alumno

Arquitecturas vectoriales, SIMD y extensiones multimedia

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

Arquitecturas y criterios de selección

Lenguaje binario. Código ASCII. Medidas de la información

Tema 1: Introducción a los Sistemas Empotrados

TEMA 1: Concepto de ordenador

FUNDAMENTOS DE COMPUTACION INVESTIGACION PROCESADORES DIANA CARRIÓN DEL VALLE DOCENTE: JOHANNA NAVARRO ESPINOSA TRIMESTRE II

Estructura del Computador

ENIAC, Primer computador electrónico y su panel de conexiones

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Ing. Carlos Bacalla

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Introducción a los Sistemas Digitales. Tema 1

Int n roduc u ción n a DS D P P Pa P r a te e 1 I g n.. Lu L ci c o J. J. Marti t nez Garbino luci c ojmg@ca c e.c. n c ea.g. ov. v a.

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

ESTRUCTURA BÁSICA DE UN ORDENADOR

Componentes Internos de Una Computadora

Sistemas Electrónicos Digitales. Práctica 2 Implementación de un filtro FIR basado en estructura MAC

Introducción. Universidad Nacional Tecnológica del Cono Sur de Lima JORGE AUGUSTO MARTEL TORRES 1

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

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

Dispositivos Digitales. EL-611 Complemento de Diseño Lógico y. Dispositivos Digitales

Organización de la memoria

Estructura del Computador

Sistemas. POSTREQUISITO: CATEGORÍA: Obligatorio SECCION: A HORAS POR SEMANA

SISTEMAS OPERATIVOS Arquitectura de computadores

PROGRAMA DE ESTUDIO. Práctica. Práctica ( ) Semestre recomendado: 8º. Requisitos curriculares: Sistemas Digitales 2

Tema 1: Arquitectura de ordenadores, hardware y software

1.1 Introducción y definición de un microcontrolador 1.2 Estructura básica de un microcontrolador 1.3 Características de la Arquitectura

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

Procesamiento de Señales Digitales

Organización del Sistema de Memoria. 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria

Clase 20: Arquitectura Von Neuman

Manejo de Entrada-Salida. Arquitectura de Computadoras

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

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC DE SANTA BÁRBARA MANTENIMIENTO DE EQUIPO DE COMPUTACIÓN. Memoria Principal RAM Memoria de acceso aleatorio

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

Arquitectura de Computadores. Tema 15. Buses

El computador. Miquel Albert Orenga Gerard Enrique Manonellas PID_

SISTEMAS ELECTRONICOS PARA EL TRATAMIENTO DE LA INFORMACION

Redes de nivel de campo

GRADO EN INGENIERÍA DE TECNOLOGÍAS DE TELECOMUNICACIÓN Primer curso Segundo curso Tercer curso Cuarto curso 1-C 2-C 1-C 2-C 1-C 2-C 1-C 2-C

MARCA: SIN MARCA MODELO: SIN MODELO

Dispositivos de memoria (Parte #2)

El por qué del procesado de 64 bits

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

APÉNDICE D: DESCRIPCIÓN DEL DSP56002 DE MOTOROLA.

Fundamentos de procesamiento digital de señal. Introducción a DSP

Sesión VI: Desarrollo de aplicaciones en el entorno MATLAB

Manejo de Entrada-Salida. Arquitectura de Computadoras

Partes Internas y Externas de la Computadora

COMPUTADORAS DIGITALES

Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador.

Que es una computadora?

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

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Código: ARC-265. Horas Semanales: 6. Prelaciones: INI-154

Servicio Nacional de Aprendizaje SENA. Regional Cundinamarca-Soacha. Programa Mantenimiento de Equipos de Cómputo. DOCUMENTO DE APOYO No.

El ordenador. Codificación binaria. Código ASCII

TRAYECTO SISTEMÁTICO DISEÑO DE SISTEMAS EMBEBIDOS

TEMA 1 INTRODUCCION AL PROCESAMIENTO DIGITAL DE SEÑALES

Tema 1: Introducción a Estructura de Computadores. Conceptos básicos y visión histórica

Memorias RAM. Basilio B. Fraguela Rodríguez. Copyright Basilio B. Fraguela 2006

Arquitectura de un sistema de cómputo

Discusión. Modelo de una compuerta. Arquitecturas de Computadores Prof. Mauricio Solar. Temario. ...Introducción

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

Introducción a la Entrada/Salida

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

Introducción a los Sistemas Operativos

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

Sistemas Electrónicos Digitales

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

FUNDAMENTOS, ESTRUCTURA Y PROGRAMACIÓN DE LOS PROCESADORES DIGITALES DE SEÑAL. FAMILIA TMS320C3X DE TEXAS INSTRUMENTS.

Transcripción:

eman ta zabal zazu Universidad del País Vasco Departamento de Arquitectura y Tecnología de Computadores upv ehu Procesado digital de imagen y sonido Tema 8_ Hardware para procesado de señal Características de las aplicaciones DSP Ejemplo con filtro FIR Estrategias para mejorar la eficiencia Comparación con µps de propósito general 8.1

Características de los sistemas de procesado digital y campo de aplicación Operaciones más utilizadas: Filtros FIR e IIR Transformadas FFT, IFFT, DCT,... Correlación y( k) = x( n) F( k, n) Por ello en estos sistemas predominan los cálculos aritméticos: sumas y multiplicaciones que se realizan de forma repetitiva sobre un gran volumen de datos (secuencias de muestras) Normalmente los datos están obtenidos mediante sensores y conversión A/D y tras procesarse se reconvierten en señales físicas mediante conversión D/A. Aunque también se utilizan en computadores de propósito general, el campo de aplicación mas importante de estas técnicas y donde el crecimiento ha sido tremendo en los últimos años es en sistemas diseñados para aplicaciones específicas, normalmente en tiempo real. 8.2

Ejemplos de aplicación del procesado digital de señal Telefonía móvil digital Inspección automática Voz a través de internet Control de motores Audio de consumo Correo de voz Equipos de navegación Producción de audio videoconferencia Buscapersonas Síntesis de música Detección de obstáculos y sistemas anticolisión Comunicaciones por satelite Análisis sísmico Comunicaciones seguras Contestadores sin cinta Sonar Teléfonos inalámbricos Cámaras digitales Modems (POTS, ISDN, cable,...) Cancelación de ruido Ultrasonidos para medicina Monitorización de pacientes Radar 8.3

Características de estas aplicaciones Flujos de datos infinitos que necesitan ser procesados en tiempo real Normalmente un solo programa, por tanto SO más simple. En ocasiones requerimientos de tiempo real exigentes. Requisitos de almacenamiento de datos y programas relativamente pequeños Cálculos aritméticos intensivos con poco necesidad de control y bifurcaciones Gran cantidad de I/O con interface analógico Requisitos importantes de: Alto rendimiento Bajo coste Bajo consumo Tiempos de desarrollo cortos 8.4

Importancia creciente de estas aplicaciones El procesado digital de señal es una tecnología clave para muchos tipos de productos electrónicos. Los cálculos intensivos característicos del procesado digital de señal son el cuello de botella de muchas aplicaciones actuales. Está creciendo rápidamente la demanda de de este tipo de aplicaciones con gran costo computacional. En muchos sistemas empotrados (embedded), los microprocesadores de propósito general no pueden competir con los procesadores especializados (DSPs) El mercado de los DSPs: 98: $3.5 Billion, 99: $4.4 Billion, 00: $6.1 Billion Crecimiento anual del 40% en 1990-2000 45% TexasInstruments, 25% Lucent, 10% Motorola, 8% Analog Devices 8.5

Alternativas de implementación Computadoras de proposito general (PCs) Sistemas empotrados (embedded) con microprocesadores convencionales (µps) con procesadores especializados en procesado de señal (DSPs) con dispositivos programables (FPGAs) o ASICs 8.6

Por qué procesadores especializado en procesado de señal? La mayoría de los sistemas basados en procesadores clásicos de propósito general se utilizan para aplicaciones en las que la actividad principal consiste en reorganizar datos almacenados. Debido a esto los procesadores clásicos no están optimizados para el procesado de señal. Se llama DSP (Digital Signal Processor) a un procesador diseñadlo específicamente para DSP (Digital Signal Processing). Los DSPs se han popularizado tanto en los últimos años que hoy en día las siglas DSP se asocian al procesador más que a la teoría de procesado. 8.7

Características comunes a la mayoría de los DSPs Ruta de datos diseñada para DSP Conjunto de instrucciones especializado Bancos de memoria y buses múltiples Modos de direccionamiento especializados Control de ejecución especializado Periféricos especializados para DSP 8.8

Ejemplo de operaciones típicas. Filtro FIR x(n) z -1 z -1 z -1 z -1 h(0) h(1) + h(2) + h(3) + h(m-2) + h(m-1) + y(n) etapa Cada etapa supone: Buscar dos datos (muestra y coeficiente) Multiplicarlos Acumular el resultado Actualizar un dato en memoria El objetivo es procesar una etapa en un ciclo de reloj 8.9

Ejemplo de filtro FIR con arquitectura Von Neumann loop: mov *r0, x0 mov *r1, y0 mpy x0, y0, a add a, b mov y0,* r2 inc r0 inc r1 inc r2 dec ctr tst ctr Memoria Datos e instrucciones Bus de direcc. Bus de datos. Procesador jnz loop Problemas: cuello de botella en en el bus de datos sobrecarga de código de control 8.10

Arquitecturas para DSP Arquitectura Harvard (memoria dual) Memoria de programa Sólo instrucciones Bus de direcc. Bus de datos. Procesador Bus de direcc. Bus de datos. Memoria de datos Sólo datos Arquitectura Super Harvard (memoria dual, cache de instrucciones controlador I/O) Memoria de programa Instrucciones y datos secundarios Bus de direcc. Bus de datos. Procesador Cache de instrucciones Bus de direcc. Bus de datos. Memoria de datos Sólo datos Controlador I/O Datos. 8.11

Ejemplo con DSP de Primera generación (1982): TI TMS32010 Punto fijo 16-bits Arquitectura Harvard Memorias separadas para instrucciones y datos Acumulador Conjunto de instrucciones especializado MAC (multiplicación+acumulador) en 390 ns Datapath: Mem T-Register Multiplier P-Register ALU Accumulator LT X4 ; Load T with x( n- 4) MPY H4 ; P = H4* X4 LTD X3 ; Load T with x( n- 3); x( n- 4) = x( n- 3); ; Acc = Acc + P MPY H3 LTD X2 MPY H2 ; P = H3* X3 X4, H4, etc. Direcciones de memoria absolutas Dos instrucciones por etapa 8.12

Estrategias para DSP: Conjunto de instrucciones DSP Instrucciones complejas especializadas Múltiples operaciones por instrucción µp Instrucciones de proposito general Sólo una operación por instrucción mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 mov *r0, x0 mov *r1, y0 mpy x0, y0, a add a, b mov y0,* r2 inc r0 inc r1 8.13

Estrategias para DSP: Arquitectura de memoria Memoria Datos e instrucciones Bus de direcc. Bus de datos. Procesador DSP Arquitectura Harvard 2-4 accesos a memoria por ciclo Sin cache, on-chip SRAM µp Arquitectura Von Neumann 1 acceso a memoria por ciclo Puede usar cache Memoria de programa Bus de direcc. Bus de datos. Procesador Bus de direcc. Bus de datos. Memoria de datos Sólo instrucciones Sólo datos 8.14

Estrategias para DSP: Direccionamiento DSP Unidades especiales para generación de direcciones Modos de direccionamiento especializados Autoincremental Circular (para buffers circulares) Con inversión de bits (para FFT) Buen soporte para datos inmediatos µp Sin unidades de generación de direcciones independientes Modos de direccionamiento de proposito general 8.15

Buffers circulares Time Contenido del buffer Siguiente muestra n=n x N-2 x N-1 x N x N-K+1 x N-K+2... x N+1 n=n+1 x N-2 x N-1 x N x N+1 x N-K+2 x N-K+3... x N+2 n=n+2 x N-2 x N-1 x N x N+1 x N+2 x N-K+3 x N-K+4... x N+3 Los DSPs tienen que manejar I/O continua Normalmente hace falta mantener un buffer I/O buffer (retardos) Estos buffers se organizan de manera circular Qué hacer para evitar la sobrecarga por al manejo de direcciones de este tipo de buffers? Utilizar hardware especializado con registros par almacenar comienzo y fin, con autoincremento y reinicio al llegar al final 8.16

Direccionamiento con inversión de bits Los algoritmos FFT base-2 utilizan utilizan los datos en un orden especial: 0 (000) => 0 (000) 1 (001) => 4 (100) 2 (010) => 2 (010) 3 (011) => 6 (110) 4 (100) => 1 (001) 5 (101) => 5 (101) 6 (110) => 3 (011) 7 (111) => 7 (111) Para evitar la sobrecarga debida al cálculo de direcciones se implementa un modo de direccionamiento especializado que autoincrementa las direcciones conel orden de los bits invertido 8.17

Estrategias para DSP: Control de ejecución Interrupciones rápidas para manejo de I/O Soporte para depurado en tiempo real Periféricos especializados para DSP Puertos serie síncronos Puertos paralelos Temporizadores Convertidores A/D y D/A on-chip Controlador DMA on-chip Generadores de reloj Puertos I/O bit 8.18

DSP y precisión de datos: Los DSPs pueden clasificarse en dos tipos: Punto fijo: 16, 20, o 24 bits 2-4 veces más baratos Aunque en procesadores clásicos es más rapido manejar punto fijo, en DSP las velocidades son similares. Hay que tener en cuenta overflows, y redondeos. Mínimo 32 bits Punto flotante Incluyen también aritmética de punto fijo Desarrollo más simple Mejor precisión y rango dinámico 8.19

Algunos datos sobre DSPs convencionales Fixed-Point Floating-Point Cost/Unit $3 - $79 $3 - $381 Architecture Accumulator load-store or memory-register Registers 2-4 data 8 address 8 or 16 data 8 or 16 address Data Words 16 or 24 bit integer and fixed-point 32 bit integer and fixed/floating-point On-Chip Memory 2-64 kwords data 2-64 kwords program 8-64 kwords data 8-64 kwords program Address Space 16-128 kw data 16-64 kw program 16 Mw 4Gw data 16 Mw 4 Gw program Compilers C compilers; poor code generation C, C++ compilers; better code generation Examples TI TMS320C5x; Motorola 56000 TI TMS320C3x; Analog Devices SHARC 8.20

Algunos datos sobre DSPs convencionales Market share: 95% fixed-point, 5% floating-point Different on-chip configurations within each family Size and map of data and program memory A/D, input/output buffers, interfaces, timers, and D/A Low power: 10-100 mw (C54 0.32 ma/mip; C55 0.05 ma/mip) Drawbacks to conventional DSP processors No byte addressing (needed for image and video) Limited on-chip memory Limited addressable memory on fixed-point DSPs, except Motorola 56300 (16 Mw data; 64 Mw program) Texas Instruments C54xx (8 Mw data) Non-standard C extensions to support fixed-point data 8.21

Algunos enlaces interesantes: Texas Instruments: www.ti.com www.dspvillage.com Colección sobre procesadores DSP y herramientas www.bdti.com FAQ de Newsgroup comp.dsp: www.bdti.com/faq/dsp_faq.html Embedded processors and systems: www.eg3.com Cursos on-line: www.techonline.com 8.22