SlideShare uma empresa Scribd logo
1 de 10
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
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
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
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
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
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
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
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
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
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

Mais conteúdo relacionado

Mais procurados (8)

Pro2 01p
Pro2 01pPro2 01p
Pro2 01p
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
 
Conjunto de instruções mips - instruções de desvio
Conjunto de instruções mips - instruções de desvioConjunto de instruções mips - instruções de desvio
Conjunto de instruções mips - instruções de desvio
 
Clp aprendizagem clic2 weg
Clp aprendizagem clic2 wegClp aprendizagem clic2 weg
Clp aprendizagem clic2 weg
 
Modulos
ModulosModulos
Modulos
 
C pic
C picC pic
C pic
 
Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12Curso básico de eletrônica digital parte 12
Curso básico de eletrônica digital parte 12
 
05 circuitos logicos
05   circuitos logicos05   circuitos logicos
05 circuitos logicos
 

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

Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Cláudio Alves
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicampFrancisco Fambrini
 
UFCD-6072-Microcontroladores-Registos.pptx
UFCD-6072-Microcontroladores-Registos.pptxUFCD-6072-Microcontroladores-Registos.pptx
UFCD-6072-Microcontroladores-Registos.pptxcentroclinicosalus
 
Aula 7 conjunto de instrucoes
Aula 7   conjunto de instrucoesAula 7   conjunto de instrucoes
Aula 7 conjunto de instrucoesCratuscb
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadoresmiroslayer
 
Arquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesArquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesAlex Camargo
 
Java Comunicação Serial
Java Comunicação SerialJava Comunicação Serial
Java Comunicação SerialAndrei Bastos
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladoresDanilo Morais Pagano
 
Webinar_ Julho 2023 - Embarcados.pdf
Webinar_ Julho 2023 - Embarcados.pdfWebinar_ Julho 2023 - Embarcados.pdf
Webinar_ Julho 2023 - Embarcados.pdfEmbarcados
 
Apostila Apresentacao_PWM_PIC16F877A_2015.pdf
Apostila Apresentacao_PWM_PIC16F877A_2015.pdfApostila Apresentacao_PWM_PIC16F877A_2015.pdf
Apostila Apresentacao_PWM_PIC16F877A_2015.pdfSilvanildoManoeldaSi
 
Curso basico automatos programaveis dia 1
Curso basico   automatos programaveis dia 1Curso basico   automatos programaveis dia 1
Curso basico automatos programaveis dia 1Alcides Santos
 

Semelhante a Cortex M0+ PIPELINE for data processing and branch instructions - ptbr (20)

Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicamp
 
05-ModeloDeVonNeumann.pdf
05-ModeloDeVonNeumann.pdf05-ModeloDeVonNeumann.pdf
05-ModeloDeVonNeumann.pdf
 
Clp
ClpClp
Clp
 
UFCD-6072-Microcontroladores-Registos.pptx
UFCD-6072-Microcontroladores-Registos.pptxUFCD-6072-Microcontroladores-Registos.pptx
UFCD-6072-Microcontroladores-Registos.pptx
 
Pro2 12p
Pro2 12pPro2 12p
Pro2 12p
 
Aula 7 conjunto de instrucoes
Aula 7   conjunto de instrucoesAula 7   conjunto de instrucoes
Aula 7 conjunto de instrucoes
 
Pro3 06 e_tratamento_de_erros
Pro3 06 e_tratamento_de_errosPro3 06 e_tratamento_de_erros
Pro3 06 e_tratamento_de_erros
 
8085 2
8085 28085 2
8085 2
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
 
Arquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesArquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruções
 
Java Comunicação Serial
Java Comunicação SerialJava Comunicação Serial
Java Comunicação Serial
 
MIPS Pipeline
MIPS Pipeline MIPS Pipeline
MIPS Pipeline
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladores
 
Webinar_ Julho 2023 - Embarcados.pdf
Webinar_ Julho 2023 - Embarcados.pdfWebinar_ Julho 2023 - Embarcados.pdf
Webinar_ Julho 2023 - Embarcados.pdf
 
AULA 03 Sistemas de Controle.pptx
AULA 03 Sistemas de Controle.pptxAULA 03 Sistemas de Controle.pptx
AULA 03 Sistemas de Controle.pptx
 
Apostila Apresentacao_PWM_PIC16F877A_2015.pdf
Apostila Apresentacao_PWM_PIC16F877A_2015.pdfApostila Apresentacao_PWM_PIC16F877A_2015.pdf
Apostila Apresentacao_PWM_PIC16F877A_2015.pdf
 
Curso basico automatos programaveis dia 1
Curso basico   automatos programaveis dia 1Curso basico   automatos programaveis dia 1
Curso basico automatos programaveis dia 1
 
assembly.pdf
assembly.pdfassembly.pdf
assembly.pdf
 

Mais de Thiago Lima

Sancoes lgpd - Multas LGPD 1 de agosto de 2021
Sancoes lgpd - Multas LGPD   1 de agosto de 2021Sancoes lgpd - Multas LGPD   1 de agosto de 2021
Sancoes lgpd - Multas LGPD 1 de agosto de 2021Thiago Lima
 
Notificacao Extrajudicial - Entenda os principais pontos de atenção
Notificacao Extrajudicial - Entenda os principais pontos de atençãoNotificacao Extrajudicial - Entenda os principais pontos de atenção
Notificacao Extrajudicial - Entenda os principais pontos de atençãoThiago Lima
 
Registro de Software - Qual a importância
Registro de Software - Qual a importânciaRegistro de Software - Qual a importância
Registro de Software - Qual a importânciaThiago Lima
 
Marco Legal das Startups - Confira a linha do tempo
Marco Legal das Startups - Confira a linha do tempoMarco Legal das Startups - Confira a linha do tempo
Marco Legal das Startups - Confira a linha do tempoThiago Lima
 
Resumee thiago lima
Resumee thiago limaResumee thiago lima
Resumee thiago limaThiago Lima
 
Exemplo de IoT: IBM Bluemix e Visual Recognition em uma placa embarcada Drago...
Exemplo de IoT: IBM Bluemix e Visual Recognition em uma placa embarcada Drago...Exemplo de IoT: IBM Bluemix e Visual Recognition em uma placa embarcada Drago...
Exemplo de IoT: IBM Bluemix e Visual Recognition em uma placa embarcada Drago...Thiago Lima
 
Reconfigurable Model for RISC Processors
Reconfigurable Model for RISC ProcessorsReconfigurable Model for RISC Processors
Reconfigurable Model for RISC ProcessorsThiago Lima
 
Open Hardware - A contribuição da comunidade do Embarcados
Open Hardware - A contribuição da comunidade do Embarcados Open Hardware - A contribuição da comunidade do Embarcados
Open Hardware - A contribuição da comunidade do Embarcados Thiago Lima
 
ResumeeTHIAGOLIMA (2)
ResumeeTHIAGOLIMA (2)ResumeeTHIAGOLIMA (2)
ResumeeTHIAGOLIMA (2)Thiago Lima
 

Mais de Thiago Lima (9)

Sancoes lgpd - Multas LGPD 1 de agosto de 2021
Sancoes lgpd - Multas LGPD   1 de agosto de 2021Sancoes lgpd - Multas LGPD   1 de agosto de 2021
Sancoes lgpd - Multas LGPD 1 de agosto de 2021
 
Notificacao Extrajudicial - Entenda os principais pontos de atenção
Notificacao Extrajudicial - Entenda os principais pontos de atençãoNotificacao Extrajudicial - Entenda os principais pontos de atenção
Notificacao Extrajudicial - Entenda os principais pontos de atenção
 
Registro de Software - Qual a importância
Registro de Software - Qual a importânciaRegistro de Software - Qual a importância
Registro de Software - Qual a importância
 
Marco Legal das Startups - Confira a linha do tempo
Marco Legal das Startups - Confira a linha do tempoMarco Legal das Startups - Confira a linha do tempo
Marco Legal das Startups - Confira a linha do tempo
 
Resumee thiago lima
Resumee thiago limaResumee thiago lima
Resumee thiago lima
 
Exemplo de IoT: IBM Bluemix e Visual Recognition em uma placa embarcada Drago...
Exemplo de IoT: IBM Bluemix e Visual Recognition em uma placa embarcada Drago...Exemplo de IoT: IBM Bluemix e Visual Recognition em uma placa embarcada Drago...
Exemplo de IoT: IBM Bluemix e Visual Recognition em uma placa embarcada Drago...
 
Reconfigurable Model for RISC Processors
Reconfigurable Model for RISC ProcessorsReconfigurable Model for RISC Processors
Reconfigurable Model for RISC Processors
 
Open Hardware - A contribuição da comunidade do Embarcados
Open Hardware - A contribuição da comunidade do Embarcados Open Hardware - A contribuição da comunidade do Embarcados
Open Hardware - A contribuição da comunidade do Embarcados
 
ResumeeTHIAGOLIMA (2)
ResumeeTHIAGOLIMA (2)ResumeeTHIAGOLIMA (2)
ResumeeTHIAGOLIMA (2)
 

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

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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