Apresentação sobre a placa Raspberry Pi e sua arquitetura, SoC, GPU, Barramentos internos e externos, e demais componentes, da disciplina de Arquitetura e Organização de Computadores I, do curso de Engenharia de Computação, da Universidade Federal do Vale do São Francisco, Juazeiro/BA.
Desenvolvido pelos alunos: Edwildson Coelho Rodrigues e Samuel de Souza Santana.
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
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
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.
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