1.ARQUITETURA INTERNA DE UM MICROPROCESSADOR Um microprocessador poderá ou nao apresentar características DSP. DSP Processamento digital de sinais é uma funcionalidade embutida no processador que permite ele executar operações matemáticas (multiplicação) ou tarefas que a requeiram em tempo reduzido. Processadorcomumdeusogeral: leva 5us para multiplicar dois numeros de 16 bits. Multiplicaçao = ciclo repetitivo de adições = recursivo = consome tempo Processador com caracteristicas DSP: leva entre 50 e 200ns para a mesma operação. Para realizar isso o processador é dotado de modificações internas: ULA apresenta dois barramentos, uma para operações gerais em inteiros/ponto-flutuante e outro para apenas a multiplicação. Também pode apresentar arquitetura com duas ULAs afim de implementar o recurso DSP. Exemplos de processadores DSP: TMS32010 (Texas), MC56F8385 (Freescale).
1. ARQUITETURA INTERNA DE UM MICROPROCESSADOR MC56F8335 (Freescale).
1. ARQUITETURA INTERNA DE UM MICROPROCESSADOR MC56F8335 (Freescale).
1. ARQUITETURA INTERNA DE UM MICROPROCESSADOR TMS32010 (Texas)
1. ARQUITETURA INTERNA DE UM MICROPROCESSADOR DSP também pode estar inseridos em FPGAs (matriz de portas programáveis em campo) classe de PLD - hardware programável capaz de fornecer circuitos lógicos de alto nível. FPGAs -> filtros, controle tempo real aplicações com baixa latência de resposta
1. ARQUITETURA INTERNA DE UM MICROPROCESSADOR Arquitetura de barramento dos processadores DSP: HARVARD. Harvard x Von-Newmann
INFORMAÇÕES BÁSICAS 1. ARQUITETURA INTERNA DE UM MICROPROCESSADOR A arquitetura Von-Neumann permite produzir um conjunto complexo de código de instruções para o processador (CISC Complex Instructions Set Computer), com um tempo de execução por instrução de vários ciclos de clock; é mais simples, com menor número de portas lógicas, entretanto, sua velocidade é menor que a Havard. Complexidade está no microcódigo. A arquitetura Havard produz um conjunto simples de códigos de instruções e, devido ao paralelismo de sua estrutura, é capaz de executar uma instrução por ciclo de clock. A arquitetura Havard necessita de mais linhas de código para executar a mesma tarefa que uma arquitetura Von-Neumann, a qual possui muito mais tipos de instruções. -> RISC Complexidade está no compilador.
1.1 MEMÓRIAS A memória poderá estar interna ou extenamente ao processador/ microcontrolador Processadores: memória normalmente de gande capacidade externa (1MB ou mais). Integrados em placas mães de PCs e sistemas embarcados com SO. Microntroladores: normalmente memória interna de pequena/médio tamanho (até 64KB). Integrada em sistemas embarcados de pequeno porte, normalmente sem SO. Divisão: a) Memórias voláteis: apresentam construçao interna que nao possibilta manter os niveis logicos quando a memoria é desenergizada. ESTÁTICAS: os dados permanecem armazemados enquanto a energia está presente. Ex. SDRAM (leirura/escrita). Esta memória não necessita de refresh. DINÂMICAS: Os dados não permanecem armazenados indefinidamente mesmo com a energia presente. Ex. : DRAM (leitura/escrita) usa capacitores, portanto em intervalos frequentes precisa de refresh. SDRAM usa flip-flops. DDR.
1.1 MEMÓRIAS b) Memória não Volatil: (leitura) são memórias capazes de manter os dados mesmo quando desenergizadas. ROM: gravado 1x. EPROM: PROM apagável (tudo). EEPROM: PROM eletricamente apagável (programa apaga bytes). FLASH: memória de leitura rápida eletricamente apagável (bloco somente). Em um microprocessador temos:
1.2 Memória no Microprocessador SRAM: Memória de dados, roda o programa com as variaveis, registradores, vetores de interupção. FLASH: Memória de programa (gravado o programa residente). ROM: Memória de programa poissui os drivers. Possui um programa que copia os drivers para dentro da flash na inicialização, permitindo comunicação USB rápida com o PC (gravaçao da flash). EEPROM: Para guardados, tabelas
1.2 Memória no Microprocessador RESUMO: ROM: read only memory. Memoria nao volatil somente de leitura. É um circuito combinacional onde as informações são armazenadas e podem ser recuperadas a partir do fornecimento do endereço. Arquitetura: composto de decodificador de endereço, matriz de dados e buffer de saída. É mais barata. Gravação se dá em apenas uma etapa do processo e apenas 1x (definitivo). PROM: Programable Read Only Memory. É uma ROM programável pelo usuário (1x). Apresemtam usiveis internos que devem ser queimados na programação (1x). Exige uma corrente relativamente alta para o processo (50mA). EPROM: Memória PROM apagável (UV) e programável eletricamente. Surgiu da necessidade de diminuir a corrente alta necessária na gravação das PROM (Aquecimento e degradação interna). EEPROM: EPROM eletricamente apagável. Apagável por bytes. Programável in system (ISP), serial/paralela. FLASH: serial/ paralela, leitura rápida.
1.3 Acesso à Memória O acesso à memoria interna do processador tem duas finalidades: 1) Gravar a flash do processador com o arquivo binário.bin ou.hex. Como a memória flash é uma memória não volátil, é mais usual fazer este procedimento na fase final de um projeto quando a placa ja está pronta para receber o programa de forma definitiva; Ou para ler a flash se esta nao estiver protegida contra leitura. Interface: cabo usb direto na placa ou usar interface JTAG. 2) Gravar a flash/debugar o programa: debugar o programa consiste em rodar o programa online a partir de um aplicativo de desenvolvimento conectando um cabo JTAG no processador. Como o programa é baixado dinamicamente direto na memória RAM do processador, qualquer falha de alimentação ou envio de dados durante o processo pode parar ou produzir falhar a execução do programa. Esta etapa é usada exaustivamente durante a etapa de desenvolvimento do projeto.
1.3 Acesso à Memória DEBUGGER JTAG: cada fabricante da ferramenta de desenvolvimento usa um modelo. JLINK STLINK ULINK USB TAP (Freescale)
1.3 Acesso à Memória DEBUGGER JTAG: cada fabricante da ferramenta de desenvolvimento usa um modelo. JLINK STLINK ULINK USB TAP (Freescale)
1.3 Acesso à Memória Some common pinouts for 2.54 mm pin headers are: ARM 2 10 pin (or sometimes the older 2 7), used by almost all ARM based systems MIPS EJTAG (2 7 pin) used for MIPS based systems 2 5 pin Altera ByteBlaster-compatible JTAG extended by many vendors 2 5 pin AVR extends Altera JTAG with SRST (and in some cases TRST and an event output) 2 7 pin Texas Instruments used with DSPs and ARM-based products such as OMAP 8 pin (single row) generic PLD JTAG compatible with many Lattice ispdownload cables MIPI10-/20-connectors (1.27 mm 050") for JTAG, cjtag and SWD
1.4 Periféricos no Microprocessador Periféricos mais comuns (slide 3 e 10): Conversor AD (entrada) 8, 10, 12 bits Conversor DA (saída) Timers 16, 32bits PWM Canais GPIO USB SPI TWI USART WDT AIC CAN.. Cada periférico possui um clock derivado do clock master do processador que deve ser configurado e ligado.
FIM