Raspberry Pi
Raspberry Pi
Samuel Almeida
Raquel Patrício
Marcelo de Freitas
Enzo Fernandes
Gustavo José Leite
Emanuel Conrado
Petrus George Leal
Arquitetura de Computadores
Raspberry Pi
Introdução
Conteúdo
1 Introdução
Histórico da arquitetura
Modelos posteriores
2 Arquitetura
CPU
Memória
GPU
Visão Geral
QPU
QPU
Barramento
Protocolos
Interrupção
3 Conclusão
4 Referências
Raspberry Pi
Introdução
Histórico da arquitetura
Histórico da arquitetura
Primeiro Raspberry Pi
Data de surgimento
Raspberry Pi 1 B
Especificações gerais do
hardware
Figura: Raspberry Pi 1 model B
Raspberry Pi
Introdução
Modelos posteriores
Modelos posteriores
Raspberry Pi 3 Raspberry Pi 4
Model A+ Model B
Model B
Model B+
Raspberry Pi
Introdução
Modelos posteriores
Modelos posteriores
Raspberry Pi 5
Model B
Figura: Raspberry Pi 5
Raspberry Pi
Arquitetura
Conteúdo
1 Introdução
Histórico da arquitetura
Modelos posteriores
2 Arquitetura
CPU
Memória
GPU
Visão Geral
QPU
QPU
Barramento
Protocolos
Interrupção
3 Conclusão
4 Referências
Raspberry Pi
Arquitetura
CPU
Especificações gerais da CPU
Broadcom 2712
Quad-core Arm Cortex-A76
Frequência máxima de 2,4
Ghz
ARMv8.2
Litografia 16nm
Figura: Processador Raspberry pi 5
Raspberry Pi
Arquitetura
CPU
Cache
Tabela: Especificações de Cache
Cache
L1I Cache 64 KiB, 4-way, Individual para cada core
L1D Cache 64 KiB, 4-way, Individual para cada core
L2 Cache 512 KiB, 8-way, Individual para cada core
L3 Cache 2 MiB, 16-way, Compartilhada por todos os cores
Características Gerais
Indexado virtualmente e físicamente rotulado (VIPT)
Endereçamento físico de 40 bits
Write Back
Raspberry Pi
Arquitetura
CPU
TLBs
Tabela: Especificações TLB
TLBs
ITLB 48 entradas totalmente associativa
DTLB 48 entradas totalmente associativas
STLB 1280 entradas 5-way
Raspberry Pi
Arquitetura
CPU
Especificações do pipeline
Caracteristicas
4-way superscalar
8-issue pipeline
Figura: Unidades de Execução Arm Cortex-A76
Dividido em sessões
inteiras, float point e load
store
Raspberry Pi
Arquitetura
CPU
Front End
Figura: Front end Arm cortex A76
Raspberry Pi
Arquitetura
CPU
Execution Engine
Figura: Execution Engine Arm cortex A76
Raspberry Pi
Arquitetura
Memória
Memória
Modelo Memória Tamanho
Raspberry Pi 3 LPDDR2 SDRAM 1GB
Raspberry Pi 4 LPDDR4-3200 SDRAM 2GB/4GB/8GB
Raspberry Pi 5 LPDDR4X-4267 SDRAM 4GB/8GB
Figura: Raspberry Pi 5
Raspberry Pi
Arquitetura
Memória
LPDDR SDRAM
Low-Power Double Data Rate
Alvo em computadores mobile
Baixo consumo de energia
Menor em tamanho
Densidade alta
Raspberry Pi
Arquitetura
Memória
LPDDR
Figura: Evolução da LPDDR
Raspberry Pi
Arquitetura
Memória
LPDDR4 VS LPDDR4X
Caracteristica LPDDR4X LPDDR4
Taxa de dados máxima 3200 Mbps 4266 Mbps
Frequência de operação 1600 MHz 2133 MHz
Tensão operacional 1,1 V - 1,8 V 0,6 V - 1,8 V
Raspberry Pi
Arquitetura
GPU
GPU
VideoCore
Presente em todas as
versões do Raspberry Pi
GPU Integrada ao
Processador
Baixo consumo de energia
Figura: Exemplo de Chip VideoCore BCM2836 no
Raspberry Pi 2
Raspberry Pi
Arquitetura
GPU
Arquitetura DSP ISA
DSP (Digital Signal Projetada com
Processor) processamento multimídia
Processamento multimídia em mente
digital Exemplo: Aritmética de
Saturação
Limita o valor do resultado
de operações
Raspberry Pi
Arquitetura
GPU
Integração com a CPU Renderização e Codecs
GPU presente no mesmo OpenGL e Vulkan
chip da CPU HVEC 264 e 265, MPEG-4
Desenvolvida para CPUs
ARM
Alta velocidade de
comunição por não precisar
enviar dados para fora do
chip
Raspberry Pi
Arquitetura
GPU
Diagrama de Blocos
Figura: Diagrama de blocos da GPU VideoCore IV
Raspberry Pi
Arquitetura
GPU
QPU
Quad Processor Unity
SIMD (Single Instruction
Multiple Data)
Baixo clock, alto output
Instruções de 64 bits
Figura: Exemplo do funcionamento do SIMD
Raspberry Pi
Arquitetura
GPU
QPU
4 slices,
compartilham
recursos
Ciclo de Instrução
de 4 clocks,
facilita o pipeline
SFU: logaritmos,
raiz quadrada,
exponencial...
QIC, QUC, TMU
Figura: Diagrama de blocos da QPU
Raspberry Pi
Arquitetura
GPU
QPU
4 slices,
compartilham
recursos
Ciclo de Instrução
de 4 clocks,
facilita o pipeline
SFU: logaritmos,
raiz quadrada,
exponencial...
QIC, QUC, TMU
Figura: Diagrama de blocos da QPU
Raspberry Pi
Arquitetura
GPU
QPU
4 slices,
compartilham
recursos
Ciclo de Instrução
de 4 clocks,
facilita o pipeline
SFU: logaritmos,
raiz quadrada,
exponencial...
QIC, QUC, TMU
Figura: Diagrama de blocos da QPU
Raspberry Pi
Arquitetura
GPU
QPU
4 slices,
compartilham
recursos
Ciclo de Instrução
de 4 clocks,
facilita o pipeline
SFU: logaritmos,
raiz quadrada,
exponencial...
QIC, QUC, TMU
Figura: Diagrama de blocos da QPU
Raspberry Pi
Arquitetura
GPU
QPU
4 slices,
compartilham
recursos
Ciclo de Instrução
de 4 clocks,
facilita o pipeline
SFU: logaritmos,
raiz quadrada,
exponencial...
QIC, QUC, TMU
Figura: Diagrama de blocos da QPU
Raspberry Pi
Arquitetura
GPU
QPU
4 slices,
compartilham
recursos
Ciclo de Instrução
de 4 clocks,
facilita o pipeline
SFU: logaritmos,
raiz quadrada,
exponencial...
QIC, QUC, TMU
Figura: Diagrama de blocos da QPU
Raspberry Pi
Arquitetura
GPU
VideoCore nos Raspberry Pi
GPU Freq.(MHz) CPU Resolução máxima Dispositivo
VideoCore IV 250 ARM1176 1080p 30fps Raspberry Pi
VideoCore IV 250 Cortex-A7 1080p 30fps Raspberry Pi 2
VideoCore IV 400 Cortex-A53 1080p 60fps Raspberry Pi 3
VideoCore VI 500 ARM Cortex-A72 2160p 60fps Raspberry Pi 4B
VideoCore VII 800 ARM Cortex-A76 2160p 60fps Raspberry Pi 5
Tabela: Comparação das GPUs no Raspberry Pi
Raspberry Pi
Arquitetura
Barramento
Barramento
Figura: Barramentos ARM APB/AXI
Raspberry Pi
Arquitetura
Protocolos
Protocolos
Pinagem
I2C
SPI
UART
Figura: Pinagem da Raspberry Pi 2/3/4
Raspberry Pi
Arquitetura
Protocolos
Protocolos
Pinagem
I2C
Data
EEPROM
SPI
UART
Figura: Pinagem da Raspberry Pi 2/3/4
Raspberry Pi
Arquitetura
Protocolos
Protocolos
Pinagem
I2C
Data
EEPROM
SPI
UART
Figura: Pinagem da Raspberry Pi 2/3/4
Raspberry Pi
Arquitetura
Protocolos
Protocolos
Pinagem
I2C
SPI
SPI0
SPI1
UART
Figura: Pinagem da Raspberry Pi 2/3/4
Raspberry Pi
Arquitetura
Protocolos
Protocolos
Pinagem
I2C
SPI
SPI0
SPI1
UART
Figura: Pinagem da Raspberry Pi 2/3/4
Raspberry Pi
Arquitetura
Protocolos
Protocolos
Pinagem
I2C
SPI
UART
Figura: Pinagem da Raspberry Pi 2/3/4
Raspberry Pi
Arquitetura
Protocolos
Conexões
Figura: Raspberry Pi 5 Figura: Conexões do Raspberry Pi 5
Raspberry Pi
Arquitetura
Interrupção
Interrupção
GCI-400
Controlador de
interrupções padrão do
chip BCM2711 (Raspberry
Pi 4)
Usado geralmente em
configurações SoC
Recebe interrupções de
pinos GPIO, UART e de
periféricos em geral
Se divide basicamente em
duas partes: Interface de
distribuição e Interface de
Figura: Exemplos de interrupções recebidas pelo
CPU GIC-400
Raspberry Pi
Arquitetura
Interrupção
Interface de
distribuição
Responsável
pela gestão
inicial de
interrupções
Processa e
prioriza as
interrupções
Encaminha as Figura: GCI-400 Interface de distribuição
interrupções
para a interface
de CPU
Raspberry Pi
Arquitetura
Interrupção
Interface de CPU
Entrega das
interrupções
para os núcleos
Notifica o
núcleo a
respeito da
interrupção
Sinaliza a
conclusão da
Figura: GCI-400 Interface de CPU
interrupção
Raspberry Pi
Arquitetura
Interrupção
Grupo de interrupções
SGIs (Software-Generated Interrupts)
PPIs (Private Peripheral Interrupts)
SPIs (Shared Peripheral Interrupts)
Lockable SPIs
Raspberry Pi
Arquitetura
Interrupção
GPIO
Pinos de propósito
geral,
programados pelo
usuário
Podem ser
definidas como
entrada ou saída,
além de outras
funções (SPI, I2C,
Serial) Figura: Pinagem Raspberry Pi
Podem ser
configurados com
a linguagem
Python através do
módulo RPI GPIO
Raspberry Pi
Arquitetura
Interrupção
Interrupções com GPIO
Figura: Interrupção com GPIO
Raspberry Pi
Arquitetura
Interrupção
Interrupções com GPIO
Figura: Exemplo código Python RPI
Raspberry Pi
Conclusão
Conteúdo
1 Introdução
Histórico da arquitetura
Modelos posteriores
2 Arquitetura
CPU
Memória
GPU
Visão Geral
QPU
QPU
Barramento
Protocolos
Interrupção
3 Conclusão
4 Referências
Raspberry Pi
Conclusão
Conclusão
Aplicações
Internet das Coisas (IoT)
Educação
Emulação
Figura: Exemplos de implementações utilizando o Raspberry Pi
Raspberry Pi
Conclusão
Aplicações
Figura: O Astro Pi Figura: Utilização na agricultura
Raspberry Pi
Conclusão
Raspberry Pi e ESP32
Diferenças
Poder de processamento
Consumo de energia
Memória
Figura: Raspberry Pi e ESP32
Raspberry Pi
Referências
Conteúdo
1 Introdução
Histórico da arquitetura
Modelos posteriores
2 Arquitetura
CPU
Memória
GPU
Visão Geral
QPU
QPU
Barramento
Protocolos
Interrupção
3 Conclusão
4 Referências
Raspberry Pi
Referências
Datasheet GPU VideoCoreIV-AG100-R :
[Link]
Listagem de memórias:
[Link]
Raspberry Pi – Comunicação Serial (UART): [Link]
raspberry-pi-comunicacao-serial-uart/#Comunicacao-Serial-%E2%80%
93-UART-Universal-asynchronous-receivertransmitter.
Raspberry Pi – Documentation: https:
//[Link]/documentation/computers/[Link].
BCM2711 ARM Peripherals:
[Link]
Raspberry Pi 4 – Multiple SPIs: [Link]
raspberry-pi-4-multiple-spis-and-the-device-tree/.
Connect your Raspberry Pi: [Link]
projects/raspberry-pi-getting-started/3.
Configuring I2C: [Link]
adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c.
Cortex-A76 - Microarchitectures: https:
//[Link]/wiki/arm_holdings/microarchitectures/cortex-a76.
Raspberry Pi
Referências
Especificações BCM2712:
[Link]
Raspberry projects: [Link]
LPDDR4/LPDDR4X SDRAM: [Link]
communityserver-discussions-components-files/908/MT53E1G16D1FW_
2D00_046-AIT--A-MCR-Datenblatt_2800_P010694655_2900_.pdf