SlideShare uma empresa Scribd logo
1 de 39
Raspberry Pi
Organização e arquitetura de
computadores I
Introdução
• Salas inteiras→Mesa→Laptops→Mão
• Baixa escala atômica
• Baixo custo
• Objetivo: fomentar a
educação para adultos
e crianças
• Facilitar o acesso à computadores
Aplicações
• Ensino de ciência da computação
• Pesquisas acadêmicas
• Robótica
• Automação (residencial e industrial)
• Emulador de videogames
• IoT (Internet of Things)
• Computador convencional
• Clusters etc;
Vantagens
• Baixo custo
• Baixo consumo
• Portável
• Suporte 1080p
• Multitarefa
• Wifi, Bluetooth, HDMI etc;
Desvantagens
• Sem armazenamento permanente
• Não modularização
• Relógio de tempo real (necessário implementar RTC pela interface
i2c)
• Não possui um conversor analógico-digital (ADC)
Software
• Sistemas baseados kernel em Linux, Debian e ArchLinux ARM,
oficialmente
• Raspbian, distro oficial da Raspberry Pi
• Windows 10 IoT Core
Programação
• Scratch
• Python
• Html5
• Javascript, Java, Jquery
• C#, C++
• Etc;
Família Raspberry Pi
Raspberry pi 3
Especificações
• SoC: Broadcom BCM2837
• CPU: 4× ARM Cortex-A53, 1.2GHz
• GPU: Broadcom VideoCore IV
• RAM: 1GB LPDDR2 (900 MHz)
• Networking: 10/100 Ethernet, 2.4GHz 802.11n wireless
• Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy
• Storage: microSD
• GPIO: 40-pin header
• Portas: HDMI, 3.5mm analog a-v jack, 4× USB 2.0, Camera Serial Interface
(CSI), Display Serial Interface (DSI);
Wireless 2.4GHz 802.11n
O padrão 802.11n é capaz de fazer transmissões na
faixa de 300 Mb/s e, teoricamente, pode atingir taxas
de até 600 Mb/s. No modo de transmissão mais
simples, com uma via de transmissão, o 802.11n
pode chegar à casa dos 150 Mb/s.
Em relação à sua frequência, o padrão 802.11n pode
trabalhar com as faixas de 2,4 GHz e 5 GHz,o que o
torna compatível com os padrões anteriores, inclusive
com o 802.11a.
Antena
Não há necessidade de conectar uma antena externa
ao Raspberry Pi 3. Seus rádios são conectados a
essa antena de chip soldada diretamente na placa, a
fim de manter o tamanho do dispositivo no mínimo.
Apesar de sua estatura diminuta, esta antena deve
ser mais do que capaz de captar sinais LAN e
Bluetooth sem fio - mesmo através de paredes.
GPIO
São portas programáveis de entrada e saída
para periféricos elétricos e digitais para as
placas do Raspberry. Dos 40 pinos
presentes nas placas, 26 pinos são GPIO,
os demais são para energia, aterramento.
USB chip
• O Chip SMSC se conecta ao SoC através
de um único canal USB, atuando como
hub USB.
• A placa possui 4 canais USB
• É possível realizar o boot (na ROM do
soc) via USB
Broadcom BCM2837
• Timers
• Interrupt controller
• GPIO
• USB
• PCM / I2S
• DMA controller
• I2C e SPI master e slave
• PWM
• UART0, UART1
GPU
O chip BCM2837 ainda possui um
processador gráfico (GPU) de baixo
consumo, o VideoCore IV de 400MHz,
permitindo ao Raspberry Pi uma
resolução Full HD 1080p.
Barramento de sistema
Amba AXI/APB é utilizada como barramento de sistema,
interligando todos os componentes de entrada e saída ao
processador
Memoria Cache
• O principal componente do Raspberry Pi 3, o chip
Broadcom BCM2837 com o processador Cortex-A53,
possui multiprocessamento simétrico de quatro núcleos
em forma de cluster, cada uma, tendo uma memória
cache L1 (Level 1 de 32 KB) e uma memória cache L2
(Level 2 128 KB) compartilhada, usada também pela
GPU.
Cache L1
Mapeamento associativo
• 2-entradas associativas para instruções
• 4-entradas associativas para dados
• 256-bit de escrita para L2
• 128-bit de leitura para L2
Cache L2
Mapeamento associativo
• 16-entradas associativas cache structure.
• Write-Back ou Write-Through
• 128-bit de interface com a memória externa (AMBA CHI)
Integrated Snoop Control Unit
• Integrated Snoop Control Unit (SCU),
interliga os processadores como um
cluster.
• STANDBYWFI é ativado quando um core
está acioso, fazendo com que ele seja
temporariamente desativado
• STANDBYWFIL2 é ativado quando todos
os cores estão ociosos incluindo a
memória cache L2, removendo energia de
todos
MMU
• A memória virtual é segmentada por regiões
– I/O.
– Video/Display(Opcional)
– SDRAM
– Página virtual destinada ao usuário
• O processador inclui uma MMU segunda para mapear
endereços físicos para endereços de barramento do
sistema.
MMU
• Suporta no máximo endereços físicos de 40 bits
• A MMU em cada núcleo apresenta o seguinte: 10-
entradas associativas para micro TLB de instrução. 10-
entradas associativas para micro TLB de dados.
• 4-entradas associativas para um conjunto 512-entradas
na TLB principal
TLB
• Micro TLB
– Contida na Cache L1, a micro TLB possui 10
entradas associativas para instruções e dados cada.
• TLB principal
– Contida na Cache L2, a TLB principal possui 512
blocos sendo cada um deles associativas por 4
entradas
Uart e SPI
• Uart é um conversor de dados paralelos para a forma
serial e vice versa (assíncrono).
• Utilizado para conceder acesso à registradores para
periféricos
• Controlado por registradores auxiliares
Uart e SPI
• SPI é um protocolo de comunicação serial do
microcontrolador com demais componentes
• Em conjunto com Uart permite a comunicação (quando
enable) do microcontrolador com os periféricos
• Shift-register
I2C
• Protocolo de comunicação master/slave
• Conecta todos os dispositivos da placa com o mesmo fio
• Master coordena a comunicação, responsável pelo
envio de informações para os dispositivos slaves
• Até 127 dispositivos, teoricamente.
Arquitetura
Por ser RISC vale o seguinte:
• Arquitetura Load-Store: as instruções somente
processará (soma, subtração, etc) valores que
estiverem nos registradores e sempre armazenam os
resultados em algum registrador.
• Pipelines de 3 a 15 estágios.
ULA
Pipeline
Pipeline leva a uma redução no tempo médio de execução
por instrução:
• diminuição do número de ciclos de clock por instrução
(cci);
• diminuição do ciclo de clock (cc);
• combinação dos fatores acima.
Ou seja, pipeline aumenta o número de instrução
executadas por ciclos de clock, mas não reduz o tempo de
execução de uma instrução
Memória RAM
Pinos programavéis de entrada e saída
Single-Threaded x Multi-Threaded
Desempenho em jogos
Desempenho com ponto flutuante
Desempenho com ponto flutuante
Alunos: Edwildson Coelho Rodrigues
Samuel de Souza Santana
FIM

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHASAparicio Junior
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構Justin Lin
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlex Camargo
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografiaNatanael Fonseca
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Luiz Arthur
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
Acessibilidade na WEB: Padrões na Web e WCAG 2.0 - Reinaldo Ferraz
    Acessibilidade na WEB: Padrões na Web e WCAG 2.0 - Reinaldo Ferraz    Acessibilidade na WEB: Padrões na Web e WCAG 2.0 - Reinaldo Ferraz
Acessibilidade na WEB: Padrões na Web e WCAG 2.0 - Reinaldo FerrazGovBR
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação CJose Augusto Cintra
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
421548223-CEP-Controle-Estatistico-de-Processo.ppt
421548223-CEP-Controle-Estatistico-de-Processo.ppt421548223-CEP-Controle-Estatistico-de-Processo.ppt
421548223-CEP-Controle-Estatistico-de-Processo.pptMarcos Boaventura
 
Como ajustar a acentuação portuguesa em containers do docker
Como ajustar a acentuação portuguesa em containers do dockerComo ajustar a acentuação portuguesa em containers do docker
Como ajustar a acentuação portuguesa em containers do dockerValore I/O
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 

Mais procurados (20)

Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHAS
 
Apresentação para aula de HTML básico
Apresentação para aula de HTML básicoApresentação para aula de HTML básico
Apresentação para aula de HTML básico
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
 
Apresentacao kanban
Apresentacao kanbanApresentacao kanban
Apresentacao kanban
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: Vetores
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
Acessibilidade na WEB: Padrões na Web e WCAG 2.0 - Reinaldo Ferraz
    Acessibilidade na WEB: Padrões na Web e WCAG 2.0 - Reinaldo Ferraz    Acessibilidade na WEB: Padrões na Web e WCAG 2.0 - Reinaldo Ferraz
Acessibilidade na WEB: Padrões na Web e WCAG 2.0 - Reinaldo Ferraz
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Comandos em python
Comandos em pythonComandos em python
Comandos em python
 
421548223-CEP-Controle-Estatistico-de-Processo.ppt
421548223-CEP-Controle-Estatistico-de-Processo.ppt421548223-CEP-Controle-Estatistico-de-Processo.ppt
421548223-CEP-Controle-Estatistico-de-Processo.ppt
 
Como ajustar a acentuação portuguesa em containers do docker
Como ajustar a acentuação portuguesa em containers do dockerComo ajustar a acentuação portuguesa em containers do docker
Como ajustar a acentuação portuguesa em containers do docker
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Produtividade e Qualidade
Produtividade e QualidadeProdutividade e Qualidade
Produtividade e Qualidade
 

Semelhante a Raspberry Pi: Introdução à Arquitetura e Aplicações

Informática - Aula 2
Informática - Aula 2Informática - Aula 2
Informática - Aula 2IBEST ESCOLA
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentosNeil Azevedo
 
Curso informtica manuten o - inicial
Curso informtica   manuten o - inicialCurso informtica   manuten o - inicial
Curso informtica manuten o - inicialTiago
 
Discos barramentos e portas de comunicação
Discos barramentos e portas de comunicaçãoDiscos barramentos e portas de comunicação
Discos barramentos e portas de comunicaçãosimoesflavio
 
Componentes de Hardware
Componentes de HardwareComponentes de Hardware
Componentes de HardwareAdir Kuhn
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadoressetilsonadobmov
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core DuoSamuel Bié
 
Aula 04 barramentos de expansão
Aula 04   barramentos de expansãoAula 04   barramentos de expansão
Aula 04 barramentos de expansãoMarcos Basilio
 
Manutenção
ManutençãoManutenção
ManutençãoTiago
 
Aula 3 barramentos de placa mae
Aula 3 barramentos de placa maeAula 3 barramentos de placa mae
Aula 3 barramentos de placa maeMarcos Basilio
 

Semelhante a Raspberry Pi: Introdução à Arquitetura e Aplicações (20)

Aula 01 chipset
Aula 01   chipsetAula 01   chipset
Aula 01 chipset
 
Informática - Aula 2
Informática - Aula 2Informática - Aula 2
Informática - Aula 2
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentos
 
Curso informtica manuten o - inicial
Curso informtica   manuten o - inicialCurso informtica   manuten o - inicial
Curso informtica manuten o - inicial
 
Discos barramentos e portas de comunicação
Discos barramentos e portas de comunicaçãoDiscos barramentos e portas de comunicação
Discos barramentos e portas de comunicação
 
Placa-Mãe
Placa-Mãe Placa-Mãe
Placa-Mãe
 
Componentes de Hardware
Componentes de HardwareComponentes de Hardware
Componentes de Hardware
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadores
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core Duo
 
Aula 08 instalação de hardware
Aula 08 instalação de hardwareAula 08 instalação de hardware
Aula 08 instalação de hardware
 
Placa mãe
Placa mãePlaca mãe
Placa mãe
 
Aula 04 barramentos de expansão
Aula 04   barramentos de expansãoAula 04   barramentos de expansão
Aula 04 barramentos de expansão
 
Manutenção
ManutençãoManutenção
Manutenção
 
Arquitetura 9
Arquitetura 9Arquitetura 9
Arquitetura 9
 
Hardware
HardwareHardware
Hardware
 
Placa mãe
Placa mãePlaca mãe
Placa mãe
 
Barramentos
Barramentos Barramentos
Barramentos
 
Hardware de sistemas
Hardware de sistemasHardware de sistemas
Hardware de sistemas
 
Placa mãe
Placa mãePlaca mãe
Placa mãe
 
Aula 3 barramentos de placa mae
Aula 3 barramentos de placa maeAula 3 barramentos de placa mae
Aula 3 barramentos de placa mae
 

Raspberry Pi: Introdução à Arquitetura e Aplicações

  • 1. Raspberry Pi Organização e arquitetura de computadores I
  • 2. Introdução • Salas inteiras→Mesa→Laptops→Mão • Baixa escala atômica • Baixo custo • Objetivo: fomentar a educação para adultos e crianças • Facilitar o acesso à computadores
  • 3. Aplicações • Ensino de ciência da computação • Pesquisas acadêmicas • Robótica • Automação (residencial e industrial) • Emulador de videogames • IoT (Internet of Things) • Computador convencional • Clusters etc;
  • 4. Vantagens • Baixo custo • Baixo consumo • Portável • Suporte 1080p • Multitarefa • Wifi, Bluetooth, HDMI etc;
  • 5. Desvantagens • Sem armazenamento permanente • Não modularização • Relógio de tempo real (necessário implementar RTC pela interface i2c) • Não possui um conversor analógico-digital (ADC)
  • 6. Software • Sistemas baseados kernel em Linux, Debian e ArchLinux ARM, oficialmente • Raspbian, distro oficial da Raspberry Pi • Windows 10 IoT Core
  • 7. Programação • Scratch • Python • Html5 • Javascript, Java, Jquery • C#, C++ • Etc;
  • 10.
  • 11. Especificações • SoC: Broadcom BCM2837 • CPU: 4× ARM Cortex-A53, 1.2GHz • GPU: Broadcom VideoCore IV • RAM: 1GB LPDDR2 (900 MHz) • Networking: 10/100 Ethernet, 2.4GHz 802.11n wireless • Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy • Storage: microSD • GPIO: 40-pin header • Portas: HDMI, 3.5mm analog a-v jack, 4× USB 2.0, Camera Serial Interface (CSI), Display Serial Interface (DSI);
  • 12. Wireless 2.4GHz 802.11n O padrão 802.11n é capaz de fazer transmissões na faixa de 300 Mb/s e, teoricamente, pode atingir taxas de até 600 Mb/s. No modo de transmissão mais simples, com uma via de transmissão, o 802.11n pode chegar à casa dos 150 Mb/s. Em relação à sua frequência, o padrão 802.11n pode trabalhar com as faixas de 2,4 GHz e 5 GHz,o que o torna compatível com os padrões anteriores, inclusive com o 802.11a.
  • 13. Antena Não há necessidade de conectar uma antena externa ao Raspberry Pi 3. Seus rádios são conectados a essa antena de chip soldada diretamente na placa, a fim de manter o tamanho do dispositivo no mínimo. Apesar de sua estatura diminuta, esta antena deve ser mais do que capaz de captar sinais LAN e Bluetooth sem fio - mesmo através de paredes.
  • 14. GPIO São portas programáveis de entrada e saída para periféricos elétricos e digitais para as placas do Raspberry. Dos 40 pinos presentes nas placas, 26 pinos são GPIO, os demais são para energia, aterramento.
  • 15. USB chip • O Chip SMSC se conecta ao SoC através de um único canal USB, atuando como hub USB. • A placa possui 4 canais USB • É possível realizar o boot (na ROM do soc) via USB
  • 16. Broadcom BCM2837 • Timers • Interrupt controller • GPIO • USB • PCM / I2S • DMA controller • I2C e SPI master e slave • PWM • UART0, UART1
  • 17. GPU O chip BCM2837 ainda possui um processador gráfico (GPU) de baixo consumo, o VideoCore IV de 400MHz, permitindo ao Raspberry Pi uma resolução Full HD 1080p.
  • 18. Barramento de sistema Amba AXI/APB é utilizada como barramento de sistema, interligando todos os componentes de entrada e saída ao processador
  • 19. Memoria Cache • O principal componente do Raspberry Pi 3, o chip Broadcom BCM2837 com o processador Cortex-A53, possui multiprocessamento simétrico de quatro núcleos em forma de cluster, cada uma, tendo uma memória cache L1 (Level 1 de 32 KB) e uma memória cache L2 (Level 2 128 KB) compartilhada, usada também pela GPU.
  • 20. Cache L1 Mapeamento associativo • 2-entradas associativas para instruções • 4-entradas associativas para dados • 256-bit de escrita para L2 • 128-bit de leitura para L2
  • 21. Cache L2 Mapeamento associativo • 16-entradas associativas cache structure. • Write-Back ou Write-Through • 128-bit de interface com a memória externa (AMBA CHI)
  • 22. Integrated Snoop Control Unit • Integrated Snoop Control Unit (SCU), interliga os processadores como um cluster. • STANDBYWFI é ativado quando um core está acioso, fazendo com que ele seja temporariamente desativado • STANDBYWFIL2 é ativado quando todos os cores estão ociosos incluindo a memória cache L2, removendo energia de todos
  • 23. MMU • A memória virtual é segmentada por regiões – I/O. – Video/Display(Opcional) – SDRAM – Página virtual destinada ao usuário • O processador inclui uma MMU segunda para mapear endereços físicos para endereços de barramento do sistema.
  • 24.
  • 25. MMU • Suporta no máximo endereços físicos de 40 bits • A MMU em cada núcleo apresenta o seguinte: 10- entradas associativas para micro TLB de instrução. 10- entradas associativas para micro TLB de dados. • 4-entradas associativas para um conjunto 512-entradas na TLB principal
  • 26. TLB • Micro TLB – Contida na Cache L1, a micro TLB possui 10 entradas associativas para instruções e dados cada. • TLB principal – Contida na Cache L2, a TLB principal possui 512 blocos sendo cada um deles associativas por 4 entradas
  • 27. Uart e SPI • Uart é um conversor de dados paralelos para a forma serial e vice versa (assíncrono). • Utilizado para conceder acesso à registradores para periféricos • Controlado por registradores auxiliares
  • 28. Uart e SPI • SPI é um protocolo de comunicação serial do microcontrolador com demais componentes • Em conjunto com Uart permite a comunicação (quando enable) do microcontrolador com os periféricos • Shift-register
  • 29. I2C • Protocolo de comunicação master/slave • Conecta todos os dispositivos da placa com o mesmo fio • Master coordena a comunicação, responsável pelo envio de informações para os dispositivos slaves • Até 127 dispositivos, teoricamente.
  • 30. Arquitetura Por ser RISC vale o seguinte: • Arquitetura Load-Store: as instruções somente processará (soma, subtração, etc) valores que estiverem nos registradores e sempre armazenam os resultados em algum registrador. • Pipelines de 3 a 15 estágios.
  • 31. ULA
  • 32. Pipeline Pipeline leva a uma redução no tempo médio de execução por instrução: • diminuição do número de ciclos de clock por instrução (cci); • diminuição do ciclo de clock (cc); • combinação dos fatores acima. Ou seja, pipeline aumenta o número de instrução executadas por ciclos de clock, mas não reduz o tempo de execução de uma instrução
  • 34. Pinos programavéis de entrada e saída
  • 37. Desempenho com ponto flutuante
  • 38. Desempenho com ponto flutuante
  • 39. Alunos: Edwildson Coelho Rodrigues Samuel de Souza Santana FIM