Escolar Documentos
Profissional Documentos
Cultura Documentos
Embarcados
Arquitetura de Microcontroladores
Arquitetura de microcontroladores
●
Arquitetura de Processadores
– Harvard
– Von Neumann
– Harvard Modificada
●
Arquitetura de Microcontroladores
– Entrada e saída
– Armazenamento
– Memória
Arquitetura de Microcontroladores 2
Arquitetura de Processadores - Harvard
●
Denominado assim devido à arquitetura haver sido projetada na
universidade de Harvard
●
Esta arquitetura foi utilizada pela primeira vez no Harvard Mark1
●
Duas memórias separadas
– Uma para dados
– Uma para programa
●
Cada memória está conectada em um barramento adequado a
cada memória
Arquitetura de Microcontroladores 3
Arquitetura de Processadores - Harvard
●
Um barramento está otimizado para a largura de bits da
memória de dados
●
Um barramento está otimizado para a largura de bits da
memória de programa
●
Muito utilizada em Microcontroladores
●
Pouco utilizada em Computadores Pessoais
●
A CPU pode acessar dados e instruções simultaneamente
Arquitetura de Microcontroladores 4
Arquitetura de Processadores - Harvard
Entrada/Saída
Arquitetura de Microcontroladores 5
Arquitetura de Processadores - Harvard
Arquitetura de Microcontroladores 6
Arquitetura de Processadores – von Neumann
●
Apresentada pelo matemático John von Neumann
●
Possui apenas um barramento de memória compartilhado pela
memória de dados e de programa
●
Nesta arquitetura, o programa pode ser armazenado em
memória RAM, podendo ser modificado pelo programa em
execução
●
Introduzido no IAS (1952)
Arquitetura de Microcontroladores 7
Arquitetura de Processadores – von Neumann
●
Se a memória de programa é lenta, se pode acelerar a
execução do programa carregando o programa em RAM, que é
mais rápida
●
Também se pode inserir memória não volátil no mesmo
barramento
●
Dados e Instruções devem ser acessados de maneira alternada
●
Dependendo da velocidade das memórias de programa e de
dados, podem gerar-se atrasos na leitura das instruções que
não existem nas leituras de dados
Arquitetura de Microcontroladores 8
Arquitetura de Processadores – von Neumann
Arquitetura de Microcontroladores 9
Arquitetura de Processadores – Harvard modificada
●
A maioria dos processadores atuais utilizam uma arquitetura
Harvard modificada
●
Internamente possuem uma arquitetura Harvard
– O cache dos processadores é dividido em cache de dados e
de programa
– As instruções executadas vem do cache de programa
– Os dados utilizados vem do cache de dados
– Se a instrução ou o dado não está presente na cache, se
gera um erro e se carregam mais dados no cache
Arquitetura de Microcontroladores 10
Arquitetura de Processadores – Harvard modificada
●
Externamente possuem uma arquitetura von Neumann
– Possuem um espaço único de memória compartilhado por
memórias RAM e ROM/Flash
– Os programas são carregados em RAM para execução mais
rápida
Arquitetura de Microcontroladores 11
Arquitetura de Microcontroladores
●
A existência de periféricos caracteriza um microcontrolador e
diferencia os mesmos dos microprocessadores
●
Um microcontrolador possui todos os componentes de um
computador em escala menor e adequada a sistemas
embarcados
– CPU
– Memória (Dados e Programa)
– Dispositivos de Entrada e Saída
– Dispositivos de armazenamento
– Outros periféricos
Arquitetura de Microcontroladores 12
Arquitetura de Microcontroladores - CPU
●
A CPU de um microcontrolador possui uma estrutura básica
similar à CPU de um computador maior
●
As diferenças aparecem na capacidade de processamento e
em diferentes arquiteturas de hardware
●
Normalmente está formada por:
– ALU
– Unidade de controle/Decodificador de instruções
– Registradores
– Barramento de dados
Arquitetura de Microcontroladores 13
Arquitetura de Microcontroladores - Memória
●
Quase todos os microcontroladores possuem memória RAM
(Random Access Memory) e algum tipo de memória não volátil
(ROM/Flash)
●
Alguns apresentam RAM e uma pequena ROM para a
execução de um bootloader
●
As quantidades de memória e sua organização (byte, word ou
double word) dependem dos modelos específicos
●
A(s) memória(s) se conecta(m) a CPU através do(s)
barramento(s) de memória
Arquitetura de Microcontroladores 14
Arquitetura de Microcontroladores – Dispositivos de Entrada e
Saída
●
Todo microcontrolador deve apresentar algum dispositivo de
entrada e saída
●
A maioria permite a configuração individual dos pinos como
entrada ou saída
●
Alguns apresentam barramentos para a conexão de dispositivos
escravos no barramento
●
Alguns apresentam dispositivos de transferência de dados
como dispositivos CAN, SPI, I²C, UART, USB, etc.
Arquitetura de Microcontroladores 15
Arquitetura de Microcontroladores – Dispositivos de
Armazenamento
●
Alguns microcontroladores possuem dispositivos de
armazenamento como periféricos
●
Podem ser blocos de memória EEPROM/Flash embarcados
●
Alguns possuem a possibilidade de modificar a memória de
programa, o que pode ser usado para o armazenamento de
dados na memória não volátil de programa ou atualização de
firmware em tempo de execução
Arquitetura de Microcontroladores 16
Arquitetura de Microcontroladores – Dispositivos de
Armazenamento
●
Alguns possuem interface para cartões de memória SD/MMC
embarcada
●
Outros possuem características que permitem a implementação
da interface SD/MMC utilizando programação
●
Dependendo da configuração do microcontrolador se pode
utilizar o mesmo para implementar interfaces com cartões
CompactFlash ou mesmo discos rígidos (HDs)
Arquitetura de Microcontroladores 17
Arquitetura de Microcontroladores – Outros Periféricos
●
Outros periféricos que podem ser encontrados em
microcontroladores:
– Conversor Analógico/Digital
– Conversor Digital/Analógico
– Interface USB
– Interface de rede Ethernet/WiFi
– Coprocessadores
– Modulação por largura de pulso (PWM)
– etc.
Arquitetura de Microcontroladores 18