Mind map
ARM Córtex -A8
Map content
ARM Córtex -A8
O Córtex -A8 é um processador da família ARM, referido como processador de aplicação. Um processador de aplicações ARM é um processador embarcado que executa sistemas operacionais complexos para aplicações sem fio, de eletrônica de consumo e de imagens.
- O fluxo principal das instruções se dá por meio de três unidades funcionais que implementam um pipeline duplo de 13 estágios e com emissão em ordem.
- Os projetistas de Córtex decidiram usar emissão em ordem para manter a potência adicional reduzida a mínimo. Emissões fora de ordem e retirada podem requerer quantidades grandes de lógica que consome potência extra.
- O fluxo principal das instruções se dá por meio de três unidades funcionais que implementam um pipeline duplo de 13 estágios e com emissão em ordem.
Unidade de busca das instruções
- A unidade de leitura de instruções inclui também a cache L1 de instruções
- Como pode haver vários desvios não resolvidos no pipeline, às leituras das instruções é especulativo, o que significa que não há garantia que elas serão executadas.
- Um desvio ou uma instrução excepcional no fluxo de código pode causar o esvaziamento do pipeline, descartando instruções lidas.
- A unidade de busca das instruções pode ler até quatro instruções por ciclo e passa por três estágios
- F0 - Normalmente, este endereço é o próximo endereço na sequência do endereço obtido anteriormente. F0 não é contado como parte do pipeline de 13 estágios
- F1 – É usada para acessar o vetor de previsões de desvio para determinar se a próxima leitura de endereço deve ser baseada em uma previsão de desvio.
- F3 - Se uma instrução resultar em previsão de desvio, o novo endereço alvo é enviado para unidade de geração de endereços.
- A unidade de leitura de instruções inclui também a cache L1 de instruções
Unidade de decodificação de instruções
- A unidade de decodificação de instruções decodifica e sequência todas as instruções ARM e Thumb. Ela possui uma estrutura de pipeline dupla, chamada de canal 0 e canal 1, para que duas instruções possam passar pela unidade ao mesmo tempo
- O canal 0 sempre conterá a instrução mais antiga na ordem do programa. Isto significa que se a instrução no canal 0 não puder ser emitida, então a instrução no canal 1 não será emitida
- As instruções passa por cinco estágios de processamento
- D0 Instruções Thumb são descompactadas em instruções ARM de 32 bits. Uma função de decodificação preliminar é efetuada
- D1 A função de decodificação de instruções é completada.
- D2 Este estágio escreve instruções em e lê instruções da estrutura de fila pendente/replay
- D3 Este estágio contém a lógica de agendamento de instruções. Um scoreboard prevê a disponibilidade de registradores usando técnicas de agendamento estáticas, verificação de perigos é feita também neste estágio.
- D4 Efetua a decodificação final para todos os sinais de controle requeridos pelas unidades de execução de inteiros e de leitura/escrita.
- A unidade de decodificação de instruções decodifica e sequência todas as instruções ARM e Thumb. Ela possui uma estrutura de pipeline dupla, chamada de canal 0 e canal 1, para que duas instruções possam passar pela unidade ao mesmo tempo
Unidade de execução de inteiros
- Consiste de dois pipelines de unidades lógicas aritméticas (ALU) simétricos, um gerador de endereços para ler e armazenar instruções e um pipeline de multiplicação.
- Executa todas as operações de inteiros de ALU e multiplicação, incluindo geração de flags.
- Gera os endereços virtuais para leituras e escritas e o valor base de retorno, quando requerido.
- Fornece dados formatados para escritas e encaminha para frente dados e flags.
- Processa desvios e outras alterações do fluxo de instruções e avalia os códigos condicionais das instruções
Information
- Description
- Mind Map on ARM Córtex -A8, created by Andrey Luiz on 27/05/2022.
- Created by
- Andrey Luiz
- Views
- 4
- Rating