Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Digitais: Introdução DCA0119 Sistemas Digitais Heitor Medeiros Florencio 1
Objetivo: Projetar Sistemas Digitais. 2
Projeto de Sistemas Digitais Sistemas digitais de alto processamento: Supercomputador: Drive PX 2. Supercomputador para carros autônomos. Processamento equivalente a 150 MacBooks Pro. Processa imagens de 12 câmeras de vídeo além de sensores como GPS e de proximidade. 3
Projeto de Sistemas Digitais Sistemas digitais de baixo processamento: MP3 module Player and recorder. Processar os dados de um microsd. 4
Sistemas Digitais x Sistemas Embarcados Sistemas digitais Sistemas embarcados 5
Sistemas Embarcados Sistemas Embarcados = Sistemas Embutidos. Um sistema embarcado é um sistema digital microprocessado no qual o computador é completamente encapsulado e/ou dedicado ao dispositivo ou sistema que ele controla. Sistema Digital Encapsulado Dedicado Sistema Embarcado 6
Sistemas Embarcados Características dos sistemas Embarcados: Conjunto de tarefas predefinidas. Requisitos rigorosos e específicos. Recursos limitados. Requisitos de sistemas de tempo real. 7
Projeto de Sistemas Digitais Processadores digitais Classificação. Fabricação. Aplicação. 8
Classificação de Processadores Processadores de propósito único Processadores de propósito geral Processadores de aplicação específica 9
Classificação de Processadores Processadores de propósito único Projetado para uma única tarefa. Realizam instruções únicas para uma tarefa. Controller Control logic State register Datapath index total + Data memory 10
Processadores de propósito único Características: Não contém memória de programa. A lógica do programa a ser executado é implementado através da unidade de controle. Vantagens Caminho de dados customizado: Maior velocidade. Maior desempenho. Tamanho pequeno. Menor consumo de energia. Desvantagens Menor flexibilidade. Maior custo NRE. 11
Custos em projeto de sistemas embarcados Custo Total: custototal = custonre + N custounitário N: quantidade de unidades do produto. Custo Unitário: Custo monetário de manufatura de cada cópia do sistema, excluindo o custo NRE. Custo NRE (Non-Recurring Engineering): Custo monetário para projeto do sistema (uma única vez). 12
Processadores de propósito único Exemplos: Processadores de periféricos: placa de vídeo, teclado, temporizadores, UART, PWM, etc. Ex.1: Controlador LCD Ex.2: Processador de vídeo 13
Classificação de Processadores Processadores de propósito geral Projetado para várias tarefas computacionais. O processamento depende dos programas contidos na memória de programa. ULAs genéricas. Baixo custo NRE. Unidade de controle não armazena algoritmo. Controller Control logic and State register IR PC Program memory Assembly code Datapath Register file General ALU Data memory 14
Processadores de propósito geral Exemplo: Microprocessador Intel I7. 15
Classificação de Processadores Processadores de propósito geral: Muito genérico para determinadas aplicações, influenciando na eficiência. Processadores de propósito único: Não é programável. Solução: Processadores programáveis específicos para determinadas aplicações. 16
Classificação de Processadores Processadores de aplicação específica Processadores programáveis específicos para determinadas aplicações. Chamados, também, de ASIPs (Processadores de conjunto de instruções de aplicação específica). Processadores de propósito geral (programável) para um certo nicho de aplicações. Conjunto de instruções limitado. 17
Processadores de aplicação específica (ASIP) Contém memória de programa. Caminho de dados otimizado para aquele nicho de aplicações. Controller Control logic and State register IR PC Program memory Assembly code Datapath Registers Custom ALU Data memory Exemplos de ASIPs: Microcontroladores (μc) DSP (Processador digital de sinais) 18
Exemplos de ASIPs Microcontroladores (μc) Desenvolvido para aplicações de controle (sensores e atuadores). Periféricos em um único chip. Temporizadores, conversores AD, comunicação, etc. Acesso através de registradores. Programa de memória e dados no mesmo chip. Acesso a vários dos pinos do chip. 19
Exemplos de ASIPs DSP (Processadores digital de sinais) Desenvolvido para aplicações de processamento de sinais: Processamento rápido em grande quantidade de dados digitalizados. Várias unidades de processamento. Operações eficientes com arranjos: Adição de dois vetores. ALUs vetoriais. Execução de operações como filtros digitais e transformada de Fourier. 20
Exemplos de ASIPs Microcontroladores (μc) MSP430FR5969: Empresa: Texas Instruments. DSP (Processadores digital de sinais) XtremeDSP 48: Empresa: Xilinx. PIC16F628: Empresa: Microchip. TMS320DM642: Empresa: Texas. Atmega328: Empresa: Atmel. **Microchip comprou Atmel. 21
Microcontroladores (μc) 22
DSP (Processadores digital de sinais) 23
Classificação de Processadores Controller Control logic and State register IR PC Program memory Assembly code Datapath Register file General ALU Data memory Controller Control logic and State register IR PC Program memory Assembly code Datapath Registers Custom ALU Data memory Controller Control logic State register Datapath index total + Data memory Processador de Propósito Geral Processador de Aplicação Específica Processador de Propósito Único 24
Tecnologias de Circuito Integrado ASIC (Circuito Integrador de Aplicação Especifica) Criação de camadas envolvendo processos de deposição química controlados por máscaras. Em alguns casos, camadas inferiores já estão construídas. Otimização das camadas através do posicionamento dos transistores e minimizando o comprimento de conexões. 25
Tecnologias de Circuito Integrado PLD (Dispositivo lógico programável) Hardware reconfigurável Desvantagens do ASIC: Demanda bastante tempo e custo na fabricação. Não é configurado pelo usuário. PLD são circuitos integrados que configurados pelo próprio usuário. podem ser FPGA é um tipo de PLD. Matriz de blocos lógicos configuráveis. Circuito programável e reprogramável pelo usuário. Redução no depuração). tempo de desenvolvimento (teste e 26
Alternativas de desenvolvimento: tecnologias e plataformas 27
Alternativas e plataformas: Hardware programável Placa DE2 da Altera. 28
Alternativas e plataformas: Hardware programável Placa DE2 da Altera. 29
Alternativas e plataformas: Hardware programável Placa DE2 da Altera: Processadores de propósito único: Drivers. 30
Alternativas e plataformas: Hardware programável Placa DE2 da Altera: Driver VGA ADV7123. 31
Alternativas e plataformas: Hardware programável Placa DE2 da Altera: Dispositivo de lógica programável: FPGA EP4CE115F29. 32
Alternativas e plataformas: Software programável Plataformas baseado em microcontroladores: Arduinos 33
Alternativas e plataformas: Software programável Plataformas baseado em microcontroladores: Arduinos 34
Alternativas e plataformas: Software programável Plataformas baseado em microcontroladores: Arduinos 35
Alternativas e plataformas: Software programável Plataformas baseado em microcontroladores: Arduinos 36
Alternativas e plataformas: Software programável Arduinos: baseados em microcontroladores e, em alguns casos, microprocessadores da empresa Atmel. Arduino Arduino Mega Nano ATmega2560 ATmega168 14 pinos digitais. 6 pinos analógicos. 54 pinos digitais. 16 pinos analógicos. 37
Alternativas e plataformas: Software programável Plataformas baseado em microcontroladores da Microchip (PICs). PICkit 44-Pin Demo Board 38
Alternativas e plataformas: Software programável Plataformas baseado em microcontroladores da Texas Instruments: LaunchPad. 39
Alternativas e plataformas: Software programável Plataformas baseado em microcontroladores da Texas Instruments. 40
Alternativas e plataformas: Software programável Plataformas baseado em microprocessadores: Raspberry Pi Processador quad-core ARM Cortex A7. 41
Alternativas e plataformas: Software programável Plataformas baseado em microprocessadores: Beaglebone Black. Processador Sitara AM3358 - ARM Cortex A8 [Texas Instruments]. 42
Alternativas e plataformas: Software programável Plataformas baseado em microprocessadores: Intel Galileo Gen2. Processador Intel Quark SoC X1000. 43
Alternativas e plataformas: Software programável Plataformas baseado em microprocessadores: Intel Edison. Processador Intel Quark SoC X1000. 44
Alternativas e plataformas 45
Dúvidas? Dúvidas por email: heitorm@dca.ufrn.br 46