Arquitecturas de Procesadores Digitales: Un Vistazo a los Componentes Clave

¿Qué es un Camino de Datos?

El data path (camino de datos) es la etapa que implementa las operaciones a realizar sobre los datos y los diferentes elementos de almacenamiento (registros: conjuntos de biestables).

Diferencias entre Camino de Datos y Unidad de Control

  • Unidad de Control:
    • Elemento de control de las operaciones a realizar (FSM) por el camino de datos.
    • Tiene un número de estados limitado.
  • Camino de Datos:
    • Implementa las operaciones a realizar.
    • Se encarga de manipular y transformar los datos procedentes de la memoria o los registros internos.

¿Qué es un DSP?

Un Procesador Digital de Señales (DSP) es un sistema basado en un microprocesador que posee un conjunto de instrucciones, un hardware y un software optimizados para aplicaciones que requieran operaciones numéricas a muy alta velocidad.

Diferencias entre DSP y Microprocesador

  • DSP:
    • Realiza operaciones numéricas a alta velocidad.
    • Realiza procesamiento de datos a tiempo real.
    • Adquiere una Señal Digital y la procesa para mejorarla.
    • Arquitectura de memoria de múltiple acceso.
  • Microprocesador:
    • Componente que integra las principales funciones de una CPU en un solo empaquetado.
    • La parte más compleja de un sistema informático.

¿Qué es la memoria SRAM?

La SRAM (Static RAM) recibe su nombre del hecho de que una vez que los datos se almacenan, se mantendrán siempre y cuando el módulo sea alimentado con electricidad. Una vez escrito, el contador de memoria puede olvidar los datos hasta que necesite recuperarlos, permitiéndole ser más eficiente.

Diferencias entre SRAM y DRAM

  • La SRAM se utiliza en dispositivos que requieren el acceso a los datos lo más rápido posible sin necesidad de una alta capacidad. Ej: cachés de CPU, disco duro, búfer de routers
  • Los datos en la SRAM se mantendrán siempre y cuando el módulo sea alimentado con electricidad.
  • La DRAM, a diferencia de la SRAM, requiere que el controlador se actualice varias veces por segundo y está compuesta por un transistor y un condensador; los condensadores pierden constantemente electricidad.
  • SRAM: Basadas en biestables. Los datos permanecen mientras está activa la alimentación. Son más rápidas pero más caras que la DRAM para capacidades grandes. La célula básica de memoria SRAM está basada en un biestable de transistores MOS, muy simple, con salida complementaria.
  • DRAM: Basados en condensadores aislados. Los datos son volátiles (necesidad de refresco) pero la densidad es mayor.

Dibujo y Funcionamiento de la Celda de Memoria SRAM

(Aquí debería ir el dibujo de la celda SRAM)

Funcionamiento: El acceso a la celda es controlado por un bus de control (WL en la figura), que controla los dos transistores de acceso M5 y M6, quienes controlan, si la celda ha de ser controlada, a los buses /BL y BL. Ambos son utilizados para transmitir datos tanto para las operaciones de lectura como las de escritura y, además, aunque no es estrictamente necesario disponer de ambos buses, se suelen implementar para mejorar los márgenes de ruido.

FSMD: Partes y Explicación

Finite State Machine With Datapath:

  • La FSMD se puede representar tabularmente como una FSM común pero incluyendo una columna correspondiente a la transferencia de registros entre variables del camino de datos.
  • La tabla Estado-Acción es un nuevo tipo de tabla en la que se reflejan asignaciones de valores a variables (= registros) simplificando la representación de la FSMD.
  • Un diagrama de máquinas de estado algorítmicas (ASM) es una forma gráfica alternativa de representar una FSMD. El diagrama ASM se compone de los siguientes elementos:
    • Caja de estado: Asignación incondicional de variables.
    • Caja de decisión: Implementa condiciones de bifurcación. Dos salidas para dos condiciones = expresión lógico Verdadera o Falsa.
    • Caja de salida condicional: Implementa asignaciones a variables o salidas en función de las condiciones de una caja de decisión.
    • Bloque ASM: Estructuras complejas formadas por las tres cajas.

Microcontrolador y su Diferencia con el Microprocesador

Un microcontrolador es un procesador de pequeño tamaño con prestaciones limitadas, acompañado de una gran variedad de periféricos, tales como la memoria FLASH, RAM, ADC, ATMEGA, STM, etc.

La diferencia con el microprocesador es que el microcontrolador tiene prestaciones limitadas y está pensado para aplicaciones industriales y de consumo.

AMBA y ARM Cortex A8: Función

AMBA

AMBA es un standard abierto de interconexión de sistemas (procesadores y periféricos) dentro de un SOC. El standard AMBA pretende:

  • Facilitar el intercambio de sistemas mediante la reutilización de IPs.
  • Ofrecer flexibilidad gracias a sus implementaciones (AHB, APB, AXI, etc.)
  • Ser una interfaz abierta, sin pago de royalties, con lo que el uso es intensivo.
  • Ofrecer compatibilidad. Es un standard regulado por ARM. Muy estable y soportado.
  • Permitir conectividad AHB multicapa.

ARM Cortex A8

  • La familia de microprocesadores Cortex A8 está basada en la arquitectura ARMv7.
  • Capacidad de operar desde 600 MHz hasta >1GHz de reloj del sistema.
  • Optimizado para operar con una variedad de periféricos, en modos de bajo consumo (<300nW).
  • Rendimiento hasta 2000 Dhrystone MIPS.
  • Compatibilidad binaria con ARM 926 (bottom-up).
  • Arquitectura interna superescalar: NEON SIMD Engine.
  • Soporta LPDDR, DDR2, DDR3.
  • Implementa un bus de propósito general (NAND, NOR, SRAM) de hasta 16 bits ECC (Error Correcting Code).

Dentro de los procesadores ARM Cortex A8 hay uno llamado NEON, que es un coprocesador vectorial que implementa arquitectura SIMD. Está especialmente pensado para el procesamiento de datos multimedia: gráficos 2D/3D, dec/codificación de video, procesado de sonido, etc.

Clasificación de Microarquitecturas

  • Von Neumann: Memoria compartida por datos e instrucciones de programa. Un solo camino de datos.
  • Harvard: Memorias de datos y programas separados, conectados con la UC mediante caminos distintos.

Clasificación según Instrucciones

  • CISC (Complex Instruction Set Computer): Cada instrucción involucra una o varias operaciones a bajo nivel. Conjunto de instrucciones grandes. Amplia gama de operaciones. Facilita el trabajo de la programación, reduce el tamaño del código. Incrementa el coste de aprender a programar.
  • RISC (Reduced Instruction Set Computer): Juego de instrucciones simplificado, cada instrucción corresponde a una operación a bajo nivel. Pocas instrucciones. Fácil de aprender a programar. Mayor tamaño del código de programa. Metodología LOAD/STORE. Al implementar menos funciones en la UC permite ejecutar instrucciones en Pipeline.

RLT

Register Transfer Level: Descripción de un sistema digital desde el punto de vista del flujo (transferencia) de datos desde y hacia elementos de almacenamiento (registros), a través de sistemas digitales que efectúan operaciones con ellos (ALU). El control sobre las operaciones que se realizan se lleva a cabo desde la unidad de control (UC). Los sistemas digitales complejos se definen como la asociación de dos entidades complejas.

Memorias

Es la parte de un sistema digital diseñado para almacenar datos en formato binario en grandes cantidades. Difiere de ser una simple agrupación de elementos de almacenamiento (registros) en que presentan algún tipo de organización para optimizar los procesos básicos que se implementan. Las memorias se dividen en:

  • Matriz de memoria: Implementa la organización de los elementos de memoria en filas (palabras) y columnas (posiciones). A cada posición de memoria le corresponde una y solo una dirección de memoria.
  • ADU (Unidad de decodificación de direcciones): Implementa mecanismos para el direccionamiento y acceso a las distintas posiciones de memoria según la operación que se quiera realizar.

ROM

Read Only Memory: Sirven para almacenar datos permanentes, que no vayan a cambiar y que se deban almacenar durante mucho tiempo. La ROM de máscara está basada en conectar o no la línea de puerta de un transistor MOS a la fila para dar un ‘1’ o un ‘0’ en esa posición.

PROM

Son un tipo de memoria especial preparadas para ser programables externamente.

EPROM

Borrable, bien mediante exposición a UV (UVPROM) o eléctricamente.

FLASH

Memorias de lectura/escritura no volátiles y de alta densidad.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.