GoConqr has a new look! Let us know what you think.

Mind map

ARM Córtex -A8

Andrey Luiz Portuguese

Map content

ARM Córtex -A8

  1. 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.
  2. 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.
  3. 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.
  4. 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

Feedback

What is it about?

What do you think of the new look?

How do you like it?