Acesso a
memória
Decodificação Execução
Fluxo normal do programa
…
Acesso a
memória
Decodificação Execução
Acesso a
memóri...
Fluxo normal do programa
…
Ciclo de Clock
Acesso a Deco
memória
dificação Execução
Acesso a Deco
memória
dificação Execuçã...
Minemônico Operandos Descrição
Flags que são
afetadas
ADCS {Rd,} Rn, Rm Add with Carry N,Z,C,V
ADD{S} {Rd,} Rn,<Rm|#imm> A...
Minemônico Operandos Descrição
Flags que são
afetadas
REV Rd, Rm Byte-Reverse word -
REV16 Rd, Rm
Byte-Reverse packed
half...
Acesso a
memória
Fluxo normal do programa
Ciclo de Clock
Pipeline do ARM Cortex M3 e Cortex M0
Instruções de Branch (salto...
Fluxo normal do programa
Ciclo de Clock
Instrução descartada
I1
Resultado do cáculo: Instrução I1
Pipeline do ARM Cortex M...
Fluxo normal do programa
Loop1:
Decisão
Cada Instrução é executada
em um ciclo de clock nesse
exemplo
1 ciclo de espera
…
...
Fluxo normal do programa
Loop1:
Decisão
Cada Instrução é executada
em um ciclo de clock nesse
exemplo
1 ciclo de espera
…
...
Minemônico Descrição
B{cc} Branch {conditionally}
BL Branch with Link
BLX Branch indirect with Link
BX Branch indirect
ARM...
ARM Cortex M0+: Instruções de Branch
EmbeddedReference
Minemônico Descrição
B{cc} Branch {conditionally}
BL Branch with Li...
Upcoming SlideShare
Loading in …5
×

Cortex M0+ PIPELINE for data processing and branch instructions - ptbr

524 views
383 views

Published on

Cortex M0+ PIPELINE for data processing and branch instructions detailed. Compares with CORTEX M0, M3 and ARM7 PIPELINE.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
524
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cortex M0+ PIPELINE for data processing and branch instructions - ptbr

  1. 1. Acesso a memória Decodificação Execução Fluxo normal do programa … Acesso a memória Decodificação Execução Acesso a memória Decodificação ExecuçãoCiclo de Clock Pipeline do ARM Cortex M3 e Cortex M0 Instruções de Processamento de dados Acesso a memória: Busca a instrução na memória e a coloca no barramento de dados, disponível para começar sua decodificação na central de decodificação e controle ( chamada de “instruction pipeline” ) Decodificação: Decifra o que a instrução solicita e prepara os sinais para a execução Execução: A Unidade aritmética lógica ( ALU ) é utilizada para computar a solicitação contida na instrução. Nesta fase são utilizados os registradores para operações, caso necessário. EmbeddedReference
  2. 2. Fluxo normal do programa … Ciclo de Clock Acesso a Deco memória dificação Execução Acesso a Deco memória dificação Execução Acesso a Deco memória dificação Execução Pipeline do ARM Cortex M0+ Instruções de Processamento de dados Acesso a memória e começo da decodificação: Busca a instrução na memória, a coloca no barramento de dados, começa sua decodificação na central de decodificação e controle ( chamada de “instruction pipeline” ). Fim da Decodificação e Execução: Prepara os sinais para a execução, acessa os registradores e utiliza a Unidade aritmética lógica ( ALU ) para computar a solicitação contida na instrução. EmbeddedReference
  3. 3. Minemônico Operandos Descrição Flags que são afetadas ADCS {Rd,} Rn, Rm Add with Carry N,Z,C,V ADD{S} {Rd,} Rn,<Rm|#imm> Add N,Z,C,V ANDS {Rd,} Rn, Rm Bitwise AND N,Z ASRS {Rd,} Rm,<Rs|#imm> Arithmetic Shift Right N,Z,C BICS {Rd,} Rn, Rm Bit Clear N,Z CMN Rn, Rm Compare Negative N,Z,C,V CMP Rn, <Rm|#imm> Compare N,Z,C,V EORS {Rd,} Rn, Rm Exclusive OR N,Z LSLS {Rd,} Rn,<Rs|#imm> Logical Shift Left N,Z,C LSRS {Rd,} Rn,<Rs|#imm> Logical Shift Right N,Z,C MOV{S} Rd, Rm Move N,Z MULS Rd, Rn, Rm Multiply, 32-bit result N,Z MVNS Rd, Rm Bitwise NOT N,Z ORRS {Rd,} Rn, Rm Logical OR N,Z ARM Cortex M0+: Instruções de Processamento de dados EmbeddedReference
  4. 4. Minemônico Operandos Descrição Flags que são afetadas REV Rd, Rm Byte-Reverse word - REV16 Rd, Rm Byte-Reverse packed halfwords - REVSH Rd, Rm Byte-Reverse signed halfword - RORS {Rd,} Rn, Rs Rotate Right N,Z,C RSBS {Rd,} Rn, #0 Reverse Subtract N,Z,C,V SBCS {Rd,} Rn, Rm Subtract with Carry N,Z,C,V SUB{S} {Rd,} Rn,<Rm|#imm> Subtract N,Z,C,V SXTB Rd, Rm Sign extend byte - SXTH Rd, Rm Sign extend halfword - TST Rn, Rm Logical AND based test N,Z UXTB Rd, Rm Zero extend a byte - UXTH Rd, Rm Zero extend a halfword - ARM Cortex M0+: Instruções de Processamento de dados EmbeddedReference
  5. 5. Acesso a memória Fluxo normal do programa Ciclo de Clock Pipeline do ARM Cortex M3 e Cortex M0 Instruções de Branch (saltos condicionais) Decodificação Execução Acesso a memória Decodificação Cálculo do Endereço de Branch Acesso a memória Acesso a memória Acesso a memória Decodificação Execução Acesso a memória Decodificação Execução Instruções descartadas I1 Resultado do cálculo: Instrução I1 Em amarelo, instrução de Branch Em vermelho, instruções que serão descartadas EmbeddedReference
  6. 6. Fluxo normal do programa Ciclo de Clock Instrução descartada I1 Resultado do cáculo: Instrução I1 Pipeline do ARM Cortex M0+ Instruções de Branch (saltos condicionais) … Acesso a Deco memória dificação Execução Acesso a Deco memória Cálculo dificação do end. de branch Acesso a Deco memória Acesso a Deco memória dificação Execução Acesso a Deco memória dificação Execução Em amarelo, instrução de Branch Em vermelho, instrução que será descartada EmbeddedReference
  7. 7. Fluxo normal do programa Loop1: Decisão Cada Instrução é executada em um ciclo de clock nesse exemplo 1 ciclo de espera … Ciclo de Clock ARM Cortex M3 e M0: Tempo ocioso devido a um branch ADD CMP BLE Loop1 ADD EmbeddedReference
  8. 8. Fluxo normal do programa Loop1: Decisão Cada Instrução é executada em um ciclo de clock nesse exemplo 1 ciclo de espera … Ciclo de Clock ARM Cortex M0+: Tempo ocioso devido a um branch ADD CMP BLE Loop1 ADD EmbeddedReference
  9. 9. Minemônico Descrição B{cc} Branch {conditionally} BL Branch with Link BLX Branch indirect with Link BX Branch indirect ARM Cortex M0+: Instruções de Branch EmbeddedReference
  10. 10. ARM Cortex M0+: Instruções de Branch EmbeddedReference Minemônico Descrição B{cc} Branch {conditionally} BL Branch with Link BLX Branch indirect with Link BX Branch indirect

×