BR102018008734A2 - métodos para gerenciamento de comunicações e sincronizador de dados - Google Patents

métodos para gerenciamento de comunicações e sincronizador de dados Download PDF

Info

Publication number
BR102018008734A2
BR102018008734A2 BR102018008734-7A BR102018008734A BR102018008734A2 BR 102018008734 A2 BR102018008734 A2 BR 102018008734A2 BR 102018008734 A BR102018008734 A BR 102018008734A BR 102018008734 A2 BR102018008734 A2 BR 102018008734A2
Authority
BR
Brazil
Prior art keywords
signal
data synchronizer
processing range
processor
processing
Prior art date
Application number
BR102018008734-7A
Other languages
English (en)
Inventor
Melanie Sue-Hanson Graffy
Jon Marc Diekema
Original Assignee
Ge Aviation Systems Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ge Aviation Systems Llc filed Critical Ge Aviation Systems Llc
Publication of BR102018008734A2 publication Critical patent/BR102018008734A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1616Error detection by comparing the output signals of redundant hardware where the redundant component is an I/O device or an adapter therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Selective Calling Equipment (AREA)

Abstract

"métodos para gerenciamento de comunicações e sincronizador de dados" um método (700) para gerenciamento de comunicações que envolvem um processamento lockstep (110) que compreende ao menos um primeiro processador (112) e um segundo processador (114) pode incluir o recebimento (702), em um sincronizador de dados (120), de um primeiro sinal (s1) de um primeiro dispositivo (130). o método (700) pode também incluir o recebimento (704), em um sincronizador de dados (120), de um segundo sinal (s2) de um segundo dispositivo (132). adicionalmente, o método (700) pode incluir a determinação (706), pelo sincronizador de dados (120), se o primeiro sinal (s1) é igual ao segundo sinal (s2). quando o primeiro sinal (s1) é igual ao segundo sinal (s2), o método (700) pode incluir a transmissão (708), pelo sincronizador de dados (120), do primeiro sinal (s1) para o primeiro processador (112) e do segundo sinal (s2) para o segundo processador (114). especificamente, em realizações exemplificativas, a transmissão do primeiro sinal (s1) para o primeiro processador (112) pode ocorrer de modo síncrono à transmissão do segundo sinal (s2) para o segundo processador (114).

Description

(54) Título: MÉTODOS PARA GERENCIAMENTO DE COMUNICAÇÕES E SINCRONIZADOR DE DADOS (51) Int. Cl.: G06F 11/16.
(52) CPC: G06F 11/1683.
(30) Prioridade Unionista: 19/05/2017 US 15/599,546.
(71) Depositante(es): GE AVIATION SYSTEMS LLC.
(72) lnventor(es): MELANIE SUE-HANSON GRAFFY; JON MARC DIEKEMA.
(57) Resumo: MÉTODOS PARA GERENCIAMENTO DE COMUNICAÇÕES E SINCRONIZADOR DE DADOS Um método (700) para gerenciamento de comunicações que envolvem um processamento lockstep (110) que compreende ao menos um primeiro processador (112) e um segundo processador (114) pode incluir o recebimento (702), em um sincronizador de dados (120), de um primeiro sinal (Sl) de um primeiro dispositivo (130). O método (700) pode também incluir o recebimento (704), em um sincronizador de dados (120), de um segundo sinal (S2) de um segundo dispositivo (132). Adicionalmente, o método (700) pode incluir a determinação (706), pelo sincronizador de dados (120), se o primeiro sinal (Sl) é igual ao segundo sinal (S2). Quando o primeiro sinal (Sl) é igual ao segundo sinal (S2), o método (700) pode incluir a transmissão (708), pelo sincronizador de dados (120), do primeiro sinal (Sl) para o primeiro processador (112) e do segundo sinal (S2) para o segundo processador (114). Especificamente, em realizações exemplificativas, a transmissão do primeiro sinal (Sl) para o primeiro processador (112) pode ocorrer de modo síncrono à transmissão do segundo sinal (S2) para o segundo processador (114).
1ht»wi 4* Pr«*»wn»fi(e LKkrtap If-fl l*Ttoe**PriXK»tfor I SaBunfePmmaúor m_| |_m
ZZ
Figure BR102018008734A2_D0001
m
FIG. 1
1/21
MÉTODO PARA GERENCIAMENTO DE COMUNICAÇÕES E SINCRONIZADOR DE DADOS
Campo da Invenção [001] O presente assunto refere-se de forma geral a sistemas de processamento lockstep.
Antecedentes da Invenção [002] Sistemas processadores utilizados para aplicações em tempo real crítico apresentam problemas inerentes para determinar quando uma falha de hardware ocorreu e tomar atitudes de correção posteriores. Um método para detectar tais falhas e manter operação consistente é o uso de um sistema de processamento lockstep que apresenta processadores redundantes. Nessas situações, cada processador realiza a mesma instrução exata ao mesmo tempo. Isso é chamado processamento lockstep. Se existir um desencontro entre as entradas ou as saídas dos processadores, os processadores não estão mais operando em lockstep um com o outro.
[003] Contudo, o sistema de processamento lockstep apresenta suas desvantagens. Em particular, entradas assíncronas ao sistema de processamento lockstep irão geralmente falhar. Sempre que sinais assíncronos são colhidos, haverá vezes em que o sinal de entrada irá mudar durante o tempo de amostragem. Quando isso ocorre, há uma probabilidade de a mudança de sinais de entrada não ser vista por um dos processadores. Como um exemplo, quando o sinal de entrada causa uma interrupção de processador, um processador pode responder à interrupção e iniciar execução de uma rotina de serviço de interrupção antes do outro processador. Portanto, os dois processadores não irão permanecer em lockstep, embora não tenha ocorrido uma falha de hardware.
Descrição da Invenção [004] Aspectos e vantagens da presente invenção serão
Petição 870180066551, de 01/08/2018, pág. 10/45
2/21 estabelecidos em parte na descrição a seguir, ou podem ser óbvios a partir da descrição, ou podem ser aprendidos através de prática da presente invenção.
[005] Em uma realização, um método para gerenciamento de comunicações que envolvem sistemas de processamento lockstep que compreende ao menos um primeiro processador e um segundo processador pode incluir o recebimento, em um sincronizador de dados, de um primeiro sinal de um primeiro dispositivo. O método pode também incluir o recebimento, em um sincronizador de dados, de um segundo sinal de um segundo dispositivo. Além disso, o método pode incluir a determinação, pelo sincronizador de dados, se o primeiro sinal é igual ao segundo sinal. Quando o primeiro sinal é igual ao segundo sinal, o método pode incluir a transmissão, pelo sincronizador de dados, do primeiro sinal para o primeiro processador e o segundo sinal para o segundo processador. Especificamente, em realizações, a transmissão do primeiro sinal para o primeiro processador pode ocorrer de modo síncrono à transmissão do segundo sinal para o segundo processador.
[006] Em outra realização, comunicações que envolvem um sistema de processamento lockstep que compreende ao menos um processador e um segundo processador podem ser gerenciadas por um sincronizador de dados que apresenta uma primeira faixa de processamento e uma segunda faixa de processamento. O sincronizador de dados pode ser configurado para receber um primeiro sinal na primeira faixa de processamento. O sincronizador de dados pode também ser configurado para transmitir o primeiro sinal de dados para a segunda faixa de processamento. Além disso, o sincronizador de dados pode ser configurado para transmitir o primeiro sinal da primeira faixa de processamento para o sistema de processamento lockstep. O sincronizador de dados pode também ser configurado para transmitir o segundo sinal da segunda faixa de processamento para o sistema de processamento lockstep. Especificamente,
Petição 870180066551, de 01/08/2018, pág. 11/45
3/21 em realizações, a transmissão do primeiro sinal da primeira faixa de processamento para o sistema de processamento lockstep ocorre de modo síncrono com a transmissão do segundo sinal da segunda faixa de processamento para o sistema de processamento lockstep.
[007] Em ainda outra realização, um método para gerenciar comunicações que envolvem um sistema de processamento lockstep que compreende ao menos um primeiro processador e um segundo processador pode incluir o recebimento, em uma primeira faixa de processamento de um sincronizador de dados, de um primeiro sinal de um primeiro dispositivo. O método pode incluir a transmissão, pelo sincronizador de dados, do primeiro sinal da primeira faixa de processamento para uma segunda faixa de processamento do sincronizador de dados. Além disso, o método pode incluir a transmissão, pelo sincronizador de dados, do primeiro sinal da primeira faixa de processamento para o sistema de processamento lockstep. O método pode também incluira transmissão, pelo sincronizador de dados, do primeiro sinal da segunda faixa de processamento para o sistema de processamento lockstep. Especificamente, em realizações, a transmissão do primeiro sinal da primeira faixa de processamento para o sistema de processamento lockstep ocorre de modo síncrono à transmissão do primeiro sinal da segunda faixa de processamento para o sistema de processamento lockstep.
[008] Essas e outras características, aspectos e vantagens da presente invenção serão melhor compreendidas com referência à descrição e às reivindicações anexadas a seguir. Os desenhos correspondentes, que são incorporados nesse relatório descritivo e são uma parte dele, ilustram realizações da presente invenção e, juntos à descrição, servem para explicar os princípios da presente invenção.
Breve Descrição dos Desenhos [009] Uma revelação completa e facilitadora da presente
Petição 870180066551, de 01/08/2018, pág. 12/45
4/21 invenção, incluindo o melhor modo da mesma, direcionada para técnicos no assunto, é definida no relatório descritivo, que se refere às Figuras anexadas, em que:
a Figura 1 ilustra um exemplo de sistema para gerenciamento de comunicações que envolvem um sistema de processamento lockstep de acordo com realizações da presente invenção;
a Figura 2 ilustra um sincronizador de dados do sistema representado na Figura 1 recebendo um primeiro sinal e um segundo sinal de acordo com realizações da presente invenção;
a Figura 3 ilustra o sincronizador de dados da Figura 1 recebendo um terceiro sinal e um quarto sinal de acordo com realizações da presente invenção;
a Figura 4 ilustra outro sincronizador de dados recebendo um primeiro sinal de acordo com realizações da presente invenção;
a Figura 5 ilustra o sincronizador de dados da Figura 4 recebendo um segundo sinal e um terceiro sinal de acordo com realizações da presente invenção;
a Figura 6 ilustra outro exemplo de sistema para gerenciamento de comunicações que envolvem um sistema de processamento lockstep de acordo com realizações da presente invenção;
a Figura 7 ilustra um fluxograma de um método para gerenciamento de comunicações que envolvem um sistema de processamento lockstep de acordo com realizações da presente invenção;
a Figura 8 ilustra um fluxograma de outro método para gerenciamento de comunicações que envolvem um sistema de processamento lockstep de acordo com realizações da presente invenção; e a Figura 9 ilustra veículos de acordo com realizações da presente invenção.
Petição 870180066551, de 01/08/2018, pág. 13/45
5/21
Descrição de Realizações da Invenção [010] Agora será referência feita em detalhes às presentes realizações da presente invenção, das quais um ou mais exemplos são ilustrados nos desenhos correspondentes. A descrição detalhada utiliza designações de números e letras para referir-se a elementos dos desenhos.
[011] Como utilizado no presente documento, os termos primeiro e segundo podem ser utilizados indiferentemente para distinguir um componente do outro e não pretendem significar localização ou importância dos componentes individuais. As formas singulares um, uma, o e a incluem referências plurais a não ser que o contexto claramente imponha o contrário.
[012] Aspectos da presente invenção são direcionados para sistemas e métodos para gerenciamento de comunicações que envolvem um sistema de processamento lockstep. Especificamente, em realizações, o sistema de processamento lockstep pode incluir ao menos um primeiro processador e um segundo processador. O primeiro e o segundo processadores podem ambos operar em um modo lockstep em que o primeiro processador e o segundo processador executam a mesma série de instruções.
[013] Em realizações, um sincronizador de dados pode ser comunicativamente acoplado ao sistema de processamento lockstep. Dessa maneira, o sincronizador de dados pode gerenciar comunicações entre o sistema de processamento lockstep e um ou mais dispositivos, como controladores de memória. Em particular, o sincronizador de dados pode incluir uma primeira faixa de processamento e uma segunda faixa de processamento comunicativamente acopladas uma a outra através de uma interface de canais cruzados. Sendo assim, um ou mais sinais que entram no sincronizador de dados na primeira faixa de processamento podem ser transmitidos para a segunda faixa de processamento através da interface de canais cruzados.
Petição 870180066551, de 01/08/2018, pág. 14/45
6/21
Igualmente, um ou mais sinais que entram no sincronizador de dados na segunda faixa de processamento podem ser transmitidos para a segunda faixa de processamento através da interface de canais cruzados. Dessa maneira, o sincronizador de dados pode comparar sinais entre as duas faixas de processamento.
[014] Quando um sinal que entra no sincronizador de dados na primeira faixa de processamento é igual ao sinal que entra no sincronizador de dados na segunda faixa de processamento, o sincronizador de dados pode ser configurado para transmitir de modo síncrono os sinais para o sistema de processamento lockstep. Dessa maneira, o sincronizador de dados pode garantir que o primeiro e o segundo processadores do sistema de processamento lockstep operem em um modo lockstep em que o primeiro e o segundo processadores executam a mesma série de instruções.
[015] O sincronizador de dados e os métodos de uso do sincronizador de dados de acordo com os aspectos da presente invenção podem apresentar diversos efeitos e benefícios técnicos. Por exemplo, aspectos da presente invenção apresentam um efeito técnico de melhorar a integridade de dados transferidos para e do sistema de processamento lockstep. Como se segue, a confiabilidade de sistemas de processamento lockstep em sistemas aniônicos para veículos aéreos e outras aplicações pode ser melhorada.
[016] Com referência agora às Figuras, realizações da presente invenção serão discutidas em mais detalhes. A Figura 1 retrata uma realização de um sistema 100 para gerenciamento de comunicações que envolvem um sistema de processamento lockstep 110. Em uma realização, o sistema de processamento lockstep 110 pode incluir um primeiro processador 112 e um segundo processador 114. Contudo, em realizações alternativas, o sistema de processamento lockstep 110 pode incluir três ou mais processadores. Vale
Petição 870180066551, de 01/08/2018, pág. 15/45
7/21 ressaltar, contudo, que tanto o primeiro processador 112 quanto o segundo processador 114 cada um opera em modo lockstep em que o primeiro e o segundo processadores 112, 114 cada um executa de modo síncrono a mesma série de instruções.
[017] Como mostrado, o sistema 100 pode incluir um sincronizador de dados 120 que compreende uma primeira faixa de processamento 122 e uma segunda faixa de processamento 124. Em realizações, o sincronizador de dados 120 pode ser comunicativamente acoplado ao primeiro dispositivo 130 e um segundo dispositivo 132. Em particular, o primeiro dispositivo 130 pode estar em comunicação com a primeira faixa de processamento 122, e o segundo dispositivo 132 pode estar em comunicação com a segunda faixa de processamento 124. Dessa maneira, a primeira faixa de processamento 122 pode receber um ou mais sinais originados do primeiro dispositivo 130, e a segunda faixa de processamento 124 pode receber um ou mais sinais originados do segundo dispositivo 132.
[018] Como mostrado, o sincronizador de dados 120 pode ser comunicativamente acoplado ao sistema de processamento lockstep 110. Mais especificamente, o primeiro processador 112 pode ser comunicativamente acoplado à primeira faixa de processamento 122, e o segundo processador 114 pode ser comunicativamente acoplado à segunda faixa de processamento 124. Dessa maneira, a primeira faixa de processamento 122 pode receber um ou mais sinais originados do primeiro processador 112, e a segunda faixa de processamento 124 pode receber um ou mais sinais originados do segundo processador 114. Igualmente, o primeiro processador 112 pode receber um ou mais sinais da primeira faixa de processamento 122, e o segundo processador 144 pode receber um ou mais sinais da segunda faixa de processamento 124. Como será discutido abaixo em mais detalhes, o sincronizador de dados 120 pode gerenciar comunicações entre o sistema de processamento lockstep 110
Petição 870180066551, de 01/08/2018, pág. 16/45
8/21 e ao menos um do primeiro e do segundo dispositivos 130, 132.
[019] Referindo-se agora à Figura 2, realizações do sincronizador de dados 120 podem incluir uma interface de canais cruzados 126 para fornecer comunicações entre a primeira faixa de processamento 122 e a segunda faixa de processamento 124. Dessa maneira, um ou mais sinais que entram no sincronizador de dados 120 na primeira faixa de processamento 122 podem ser comunicados para a segunda faixa de processamento 124. Igualmente, um ou mais sinais que entram o sincronizador de dados 120 na segunda faixa de processamento 124 podem ser comunicados para a primeira faixa de processamento 122.
[020] Como mostrado, o sincronizador de dados 120 pode receber um primeiro sinal Si e um segundo sinal S2. Em particular, o primeiro sinal S1 pode originar do primeiro dispositivo 130, e o segundo sinal S2 pode originar do segundo dispositivo 132. Como mostrado, o primeiro sinal S1 pode entrar no sincronizador de dados 120 na primeira faixa de processamento 122 e o segundo sinal S2 pode entrar no sincronizador de dados 120 na segunda faixa de processamento 124.
[021] Vale ressaltar que o primeiro e o segundo sinais S1 e S2 podem ser qualquer sinal adequado. Em uma realização, o primeiro sinal S1 pode ser um sinal de endereço de leitura (AR) originado do primeiro dispositivo 130. Em outra realização, o segundo sinal S2 pode ser um sinal de endereço de escrita (AW) originado do segundo dispositivo 132. Em ainda outra realização, o primeiro sinal S1, o segundo sinal S2 ou ambos podem ser um sinal de escrita (W).
[022] Como mostrado, o primeiro sinal S1 pode ser transmitido da primeira faixa de processamento 122 para a segunda faixa de processamento 124 através da interface de canais cruzados 126. Igualmente, o segundo sinal S2 pode ser transmitido da segunda faixa de processamento 124 para a
Petição 870180066551, de 01/08/2018, pág. 17/45
9/21 primeira faixa de processamento 122 através da interface de canais cruzados 126. Como será discutido abaixo em mais detalhes, o sincronizador de dados 120 pode ser configurado para determinar se o primeiro sinal Si e o segundo sinal S2 são iguais.
[023] Em realizações, tanto a primeira faixa de processamento 122 quanto a segunda faixa de processamento 124 incluem lógica de comparação 140 que, quando executada, configura o sincronizador de dados 120 para comparar o primeiro e o segundo sinais S1 e S2. Vale ressaltar que a lógica de comparação 140 pode implementar qualquer método adequado para determinar se o primeiro sinal S1 e o segundo sinal S2 são iguais. Por exemplo, a lógica de comparação 140, quando executada, pode configurar o sincronizador de dados 120 para correlacionar o primeiro sinal S1 com o segundo sinal S2 para determinar um valor de fator de correlação que é indicativo de uma similaridade entre o primeiro sinal S1 e o segundo sinal S2. Em uma realização, um valor de fator de correlação de um (1) pode indicar que o primeiro sinal S1 e o segundo sinal S2 são iguais. Adicionalmente, um valor de fator de correlação de zero (0) pode indicar que o primeiro sinal S1 e o segundo sinal S2 não são iguais.
[024] Se o sincronizador de dados 120 determinar que o primeiro sinal S1 e o segundo sinal S2 não são iguais, então nem o primeiro sinal S1 nem o segundo sinal S2 são transmitidos para o sistema de processamento lockstep 110. Ao invés disso, o sincronizador de dados 120 pode gerar um primeiro sinal de resposta (não mostrado) que é exclusivo ao primeiro sinal S1. Adicionalmente, o sincronizador de dados 10 pode gerar um segundo sinal de resposta (também não mostrado) que é exclusivo ao segundo sinal S2. Em uma realização, o primeiro sinal de resposta pode ser gerado para o primeiro dispositivo 130, e o segundo sinal de resposta pode ser gerado para o segundo dispositivo 132. Adicionalmente, o sincronizador de dados 120 pode transmitir o
Petição 870180066551, de 01/08/2018, pág. 18/45
10/21 primeiro sinal de resposta para o primeiro dispositivo 130 e o segundo sinal de resposta para o segundo dispositivo 132.
[025] Se o sincronizador de dados 120 determinar que o primeiro sinal Si e o segundo sinal S2 são iguais, então o sincronizador de dados 120 pode de modo síncrono transmitir o primeiro sinal S1 e o segundo sinal S2 para o sistema de processamento lockstep 110. Em uma realização, tanto a primeira faixa de processamento 122 quanto a segunda faixa de processamento 124 podem incluir lógica de sincronização 160 que, quando executada, configura o sincronizador de dados 120 para transmitir de modo síncrono o primeiro sinal S1 para o primeiro processador 112 e o segundo sinal S2 para o segundo processador 114. Em realizações alternativas, o primeiro sinal S1 pode ser transmitido para o segundo processador 114 e o segundo sinal S2 pode ser transmitido para o primeiro processador 112.
[026] Referindo-se agora à Figura 3, o sincronizador de dados 120 pode simultaneamente receber um terceiro sinal S3 e um quarto sinal S4 do sistema de processamento lockstep 110. Em realizações, o primeiro processador 112 pode gerar o terceiro sinal S3 em resposta ao recebimento do primeiro sinal S1. Adicionalmente, o segundo processador 114 pode gerar o quarto sinal S4 em resposta ao recebimento do segundo sinal S2. Como mostrado, o terceiro sinal S3 pode entrar no sincronizador de dados 120 na primeira faixa de processamento 122. Adicionalmente, o quarto sinal S4 pode entrar no sincronizador de dados 120 na segunda faixa de processamento 124.
[027] Vale ressaltar que o terceiro e o quarto sinais S3 e S4 podem ser qualquer sinal adequado. Em uma realização, tanto o terceiro sinal S3 quanto o quarto sinal S4 pode ser um sinal de dados de leitura (R). Em outra realização, tanto o terceiro sinal quanto o quarto sinal S3 e S4 podem ser um sinal de resposta de escrita (B).
[028] Como mostrado, o terceiro sinal S3 pode ser transmitido da
Petição 870180066551, de 01/08/2018, pág. 19/45
11/21 primeira faixa de processamento 122 para a segunda faixa de processamento 124 através da interface de canais cruzados 126. Igualmente, o quarto sinal S2 pode ser transmitido da segunda faixa de processamento 124 para a primeira faixa de processamento 122 através da interface de canais cruzados 126. Como será discutido abaixo em mais detalhes, o sincronizador de dados 120 pode ser configurado para determinar se o terceiro sinal S3 e o quarto sinal S4 são precisos.
[029] Em realizações, a primeira faixa de processamento 122 e a segunda faixa de processamento 124 podem cada uma incluir uma lógica de comparação 150. Como mostrado, o terceiro sinal S3 e o quarto sinal S4 podem ser entradas para a lógica de comparação 150. A esse respeito, a lógica de comparação 150, quando executada, pode configurar o sincronizador de dados 120 para comparar o terceiro e o quarto sinais S3 e S4.
[030] Vale ressaltar que a lógica de comparação 150 pode incluir qualquer circuito integrado de aplicação específica (CIAE) adequado configurado para determinar se o terceiro sinal S3 e o quarto sinal S4 são iguais. Em uma realização, a lógica de comparação 150 pode incluir uma porta OR exclusiva. Mais especificamente a porta OR exclusiva pode gerar um primeiro valor (por exemplo, 0) quando o terceiro sinal S3 e o quarto sinal S4 são iguais. Em contrapartida, a porta OR exclusiva pode gerar um segundo valor (por exemplo, 1) quando o terceiro sinal S3 e o quarto sinal S4 não são iguais.
[031] Se a porta OR exclusiva gerar o primeiro valor, então as saídas (por exemplo, terceiro sinal S3 e quarto sinal S4) do primeiro e do segundo processadores 112, 114 são precisas (isto é, o S3 coincide com o S4). Em contrapartida, se a porta OR exclusiva gerar o segundo valor, então as saídas do primeiro e do segundo processadores 112, 114 não são precisas (isto é, S3 e S4 não coincidem). Dessa maneira, a lógica de comparação 150,
Petição 870180066551, de 01/08/2018, pág. 20/45
12/21 quando executada, pode configurar o sincronizador de dados 120 para determinar se o primeiro processador 112 e o segundo processador 114 estão operando no modo lockstep.
[032] Ainda referindo-se à Figura 3, a primeira faixa de processamento 122 e a segunda faixa de processamento 124 podem cada uma incluir uma lógica de decodificação 152. Como mostrado, a lógica de decodificação 152 da primeira faixa de processamento 122 pode receber o terceiro sinal S3 como uma entrada. Dessa maneira, a lógica de decodificação 152 da primeira faixa de processamento 122 pode decodificar o terceiro sinal S3pra gerar um terceiro sinal decodificado SD3. Como mostrado, a lógica de decodificação 152 da segunda faixa de processamento 124 pode receber o quarto sinal S4 como uma entrada. Dessa maneira, a lógica de decodificação 152 da segunda faixa de processamento 124 pode decodificar o quarto sinal S4 para gerar um quarto sinal decodificado Sd4.
[033] Como mostrado, o terceiro sinal decodificado Sd3 pode ser transmitido para o primeiro dispositivo 130. Adicionalmente, o quarto sinal decodificado Sd4 pode ser transmitido para o segundo dispositivo 132. Contudo, em realizações alternativas, o terceiro sinal decodificado Sd3 pode ser transmitido para o segundo dispositivo 132, e o quarto sinal decodificado Sd4 pode ser transmitido para o primeiro dispositivo 130.
[034] Vale ressaltar que a lógica de comparação 150 e a lógica de decodificação 152 podem ser executadas em paralelo. Sendo assim, o terceiro e o quarto sinais S3 e S4 podem ser decodificados e simultaneamente comparados um com o outro. Contudo, vale ressaltar que a lógica de comparação 150 pode ser executada com um número menor de ciclos de relógio que a lógica de decodificação 152. Sendo assim, se o sincronizador de dados 120 determinar que o terceiro sinal S3 e o quarto sinal S4 não são iguais, o sincronizador de dados 120 pode ser configurado para parar a transmissão
Petição 870180066551, de 01/08/2018, pág. 21/45
13/21 do terceiro e do quarto sinais decodificados Sd3 e Sd4 para o primeiro dispositivo 130 e o segundo dispositivo 132, respectivamente.
[035] O sistema 100 das Figuras 2 e 3 fornece vantagens técnicas numerosas. Por exemplo, visto que a primeira faixa de processamento 122 e a segunda faixa de processamento 124 são comunicativamente acopladas uma a outra através da interface de canais cruzados 126, o sincronizador de dados 120 fornece verificação de erros sobre a primeira e a segunda faixas de processamento 122 e 124. Dessa maneira, a integridade de dados transferidos para e do sistema de processamento lockstep 100 pode ser melhorada.
[036] A Figura 4 ilustra outra realização de um sistema 100 para gerenciamento de comunicações que envolvem o sistema de processamento lockstep 110. Como mostrado, um primeiro sinal S1 originado do primeiro dispositivo 130 pode ser recebido na primeira faixa de processamento 122 do sincronizador de dados 120. Em particular, o primeiro sinal S1 pode ser uma entrada para a lógica de sincronização 160 da primeira faixa de processamento 122. Adicionalmente, o primeiro sinal S1 pode ser transmitido para a segunda faixa de processamento 124 através da interface de canais cruzados 126. Em particular, o primeiro sinal S1 pode ser transmitido para a lógica de sincronização 160 da segunda faixa de processamento 124. Dessa maneira, o primeiro sinal S1 pode ser de modo síncrono transmitido para o sistema de processamento lockstep 110 tanto na primeira faixa de processamento 122 quanto na segunda faixa de processamento 125.
[037] Referindo-se agora à Figura 5, o sistema de processamento lockstep 110 pode gerar um segundo sinal S2 e um terceiro sinal S3 em resposta ao primeiro sinal S1 (Figura 4) recebido do sincronizador de dados 120. Em uma realização, o primeiro processador 112 pode gerar o segundo sinal S2 em resposta ao recebimento do primeiro sinal S1.
Petição 870180066551, de 01/08/2018, pág. 22/45
14/21
Adicionalmente, o segundo processador 114 pode gerar o terceiro sinal S3em reposta ao recebimento do primeiro sinal Si. Em realizações, a primeira faixa de processamento 122 e a segunda faixa de processamento 124 podem simultaneamente receber o segundo sinal S2 e um terceiro sinal S3, respectivamente. Em particular, o segundo sinal S2 pode entrar no sincronizador de dados 120 na primeira faixa de processamento 122 e o terceiro sinal S3 pode entrar no sincronizador de dados 120 na segunda faixa de processamento 124.
[038] Vale ressaltar que o segundo e o terceiro sinais S2 e S3 podem ser qualquer sinal adequado. Em uma realização, tanto o segundo sinal S2 quanto o terceiro sinal S3 podem ser um sinal de dados de leitura (R). Em outra realização, tanto o segundo sinal S2 quanto o terceiro sinal S3 podem ser um sinal de resposta de escrita (B).
[039] Como mostrado, o segundo sinal S2 pode ser transmitido da primeira faixa de processamento 122 para a segunda faixa de processamento 124 através da interface de canais cruzados 126. Igualmente, o terceiro sinal S3 pode ser transmitido da segunda faixa de processamento 124 para a primeira faixa de processamento 122 através da interface de canais cruzados 126. Como será discutido abaixo em mais detalhes, o sincronizador de dados 120 pode ser configurado para determinar se o segundo sinal S2 e o terceiro sinal S3 são precisos.
[040] Em realizações, a primeira faixa de processamento 122 e a segunda faixa de processamento 124 podem cada uma incluir uma lógica de comparação 150. Como mostrado, o segundo sinal S2 e o terceiro sinal S3 podem ser entradas para a lógica de comparação 150. A esse respeito, a lógica de comparação 150, quando executada, pode configurar o sincronizador de dados 120 para comparar o segundo e o terceiro sinais S2 e S3.
[041] Vale ressaltar que a lógica de comparação 150 pode incluir
Petição 870180066551, de 01/08/2018, pág. 23/45
15/21 qualquer circuito integrado de aplicação específica (CIAE) adequado configurado para determinar se o segundo sinal S2 e o terceiro sinal S3 são iguais. Em uma realização, a lógica de comparação 150 pode incluir uma porta OR exclusiva. Mais especificamente a porta OR exclusiva pode gerar um primeiro valor (por exemplo, 0) quando o segundo sinal S2 e o terceiro sinal S3 são iguais. Em contrapartida, a porta OR exclusiva pode gerar um segundo valor (por exemplo, 1) quando o segundo sinal S2 e o terceiro sinal S3 não são iguais.
[042] Se a porta OR exclusiva gerar o primeiro valor, então as saídas (por exemplo, segundo sinal S2 e terceiro sinal S3) do primeiro e do segundo processadores 112, 114 são precisas. Em contrapartida, se a porta OR exclusiva gerar o segundo valor, então as saídas do primeiro e do segundo processadores 112, 114 não são precisas. Dessa maneira, a lógica de comparação 150, quando executada, pode configurar o sincronizador de dados 120 para determinar se o primeiro processador 112 e o segundo processador 114 estão operando no modo lockstep.
[043] Ainda se referindo à Figura 5, a primeira faixa de processamento 122 e a segunda faixa de processamento 124 podem cada uma incluir uma lógica de decodificação 152. Como mostrado, a lógica de decodificação 152 da primeira faixa de processamento 122 pode receber o segundo sinal S2 como uma entrada. Dessa maneira, a lógica de decodificação 152 da primeira faixa de processamento 122 pode decodificar o segundo sinal para gerar um segundo sinal decodificado SD2. Como mostrado, a lógica de decodificação 152 da segunda faixa de processamento 124 pode receber o terceiro sinal S3 como uma entrada. Dessa maneira, a lógica de decodificação 152 da segunda faixa de processamento 124 pode decodificar o terceiro sinal para gerar um terceiro sinal decodificado Sd3.
[044] Como mostrado, o segundo sinal decodificado Sd2 pode ser
Petição 870180066551, de 01/08/2018, pág. 24/45
16/21 transmitido para o primeiro dispositivo 130. Adicionalmente, o terceiro sinal decodificado Sd3 pode ser transmitido para o segundo dispositivo 132. Contudo, em realizações alternativas, o segundo sinal decodificado Sd2 pode ser transmitido para o segundo dispositivo 132, e o terceiro sinal decodificado Sd3 pode ser transmitido para o primeiro dispositivo 130.
[045] Vale ressaltar que a lógica de comparação 150 e a lógica de decodificação 152 podem ser executadas em paralelo. Sendo assim, o segundo e o terceiro sinais S2 e S3 podem ser decodificados e simultaneamente comparados um com o outro. Contudo, vale ressaltar que a lógica de comparação 150 pode ser executada em um número menor de ciclos de relógio que a lógica de decodificação 152. Sendo assim, se o sincronizador de dados 120 determinar que o segundo sinal S2 e o terceiro sinal S3 não são iguais, o sincronizador de dados 120 pode ser configurado para parar a transmissão do segundo e do terceiro sinais decodificados SD2 e SD3 para o primeiro dispositivo 130 e o segundo dispositivo 132, respectivamente.
[046] A Figura 6 retrata outra realização de um sistema 100 para gerenciamento de comunicações que envolvem o sistema de processamento lockstep 110. Como mostrado, o sistema 100 pode incluir uma tela de interligação 116 para fornecer comunicações entre o sistema de processamento lockstep 110 e o sincronizador de dados 120. Como mostrado, o sincronizador de dados 120 pode comunicar-se com o sistema de processamento lockstep 110 através da tela de interligação 116. Em uma realização, a tela de interligação 116 pode receber um ou mais sinais que saem do sincronizador de dados 120. Adicionalmente, a tela de interligação 116 pode comunicar um ou mais sinais para o primeiro processador 112, o segundo processador 114, ou ambos.
[047] Vale ressaltar que o sistema 100 da Figura 6 apresenta diversas vantagens. Como um exemplo, o primeiro processador 112 e o
Petição 870180066551, de 01/08/2018, pág. 25/45
17/21 segundo processador 114 podem cada um serem substituídos com processadores projetados para aplicações não-lockstep sem sacrificar o desempenho e acoplamento justo entre os processadores e a tela de interligação. Dessa maneira, o software escrito para os processadores pode ser executado sem modificações em aplicações lockstep.
[048] Referindo-se agora à Figura 7, um fluxograma de uma realização de um método 700 para gerenciamento de comunicações que envolvem um sistema de processamento lockstep de acordo com aspectos do presente assunto. De forma geral, o método 700 será discutido no presente documento em relação ao sistema descrito (ou aos sistemas descritos) acima em relação às Figuras 1 a 3. Adicionalmente, apesar da Figura 7 retratar etapas realizadas em uma ordem específica para fins de ilustração e discussão, os métodos discutidos no presente documento não estão limitados a qualquer ordem ou disposição particular. Um técnico no assunto, com uso das realizações fornecidas no presente documento, irá apreciar que várias etapas dos métodos publicados no presente documento podem ser omitidas, redispostas, combinadas e/ou adaptadas de diversas maneiras sem desviar do escopo da presente invenção.
[049] Em (702), o método pode incluir o recebimento, em um sincronizador de dados, de um primeiro sinal de um primeiro dispositivo. Em (704), o método 700 pode incluir o recebimento, no sincronizador de dados, de um segundo sinal de um segundo dispositivo. Especificamente, em realizações, o sincronizador de dados pode simultaneamente receber o primeiro e o segundo sinais do primeiro e do segundo dispositivos, respectivamente.
[050] Em (706), o método pode incluir a determinação, pelo sincronizador de dados, se o primeiro sinal é igual ao segundo sinal. Especificamente, em realização, o sincronizador de dados pode comparar o primeiro sinal com o segundo sinal. Em particular, o sincronizador de dados
Petição 870180066551, de 01/08/2018, pág. 26/45
18/21 pode calcular o valor de fator de correlação que é indicativo de uma similaridade entre o primeiro sinal e o segundo sinal. Em uma realização, um valor de fator de correlação de 1 pode indicar que o primeiro e o segundo sinais são iguais. Em contrapartida, um valor de fator de correlação de 0 pode indicar que o primeiro e o segundo sinais não são iguais.
[051] Quando o sincronizador de dados determina que o primeiro sinal e o segundo sinal são iguais, o método 700 pode incluir, em (708), a transmissão, pelo sincronizador de dados, do primeiro sinal para o primeiro processador e o segundo sinal para o segundo processador. Especificamente, em realizações, a transmissão do primeiro sinal pode ocorrer de modo síncrono com o segundo sinal.
[052] Referindo-se agora à Figura 8, um fluxograma de uma realização de um método 800 para gerenciamento de comunicações que envolvem um sistema de processamento lockstep de acordo com aspectos do presente assunto. De forma geral, o método 800 será discutido no presente documento em relação ao sistema descrito (ou aos sistemas descritos) acima em relação às Figuras 4 e 5. Adicionalmente, apesar da Figura 8 retratar etapas realizadas em uma ordem específica para fins de ilustração e discussão, os métodos discutidos no presente documento não estão limitados a qualquer ordem ou disposição particular. Um técnico no assunto, com uso das realizações fornecidas no presente documento, irá apreciar que várias etapas dos métodos publicados no presente documento podem ser omitidas, redispostos, combinados e/ou adaptados de diversas maneiras sem desviar do escopo da presente invenção.
[053] Em (802), o método 800 pode incluir o recebimento, em um sincronizador de dados, de um primeiro sinal de um primeiro dispositivo. Em (804), o método 800 pode incluir a transmissão, por uma interface de canais cruzados de um sincronizador de dados, de um primeiro sinal de uma segunda
Petição 870180066551, de 01/08/2018, pág. 27/45
19/21 faixa de processamento do sincronizador de dados.
[054] Em (806), o método 800 pode incluir a transmissão, pelo sincronizador de dados, do primeiro sinal da primeira faixa de processamento para o sistema de processamento lockstep. Em (808), o método 800 pode incluir a transmissão, pelo sincronizador de dados, do primeiro sinal da segunda faixa de processamento para o sistema de processamento lockstep. Especificamente, em realizações, a transmissão do primeiro sinal em (806) pode ocorrer de modo síncrono com a transmissão do segundo sinal em (808). Adicionalmente, o primeiro sinal pode ser transmitido da primeira e da segunda faixas de processamento para uma tela de interligação. Mais especificamente, a tela de interligação pode ser comunicativamente acoplada ao sincronizador de dados e o sistema de processamento lockstep.
[055] Referindo-se agora à Figura 9, exemplos de veículos 900 de acordo com realizações da presente invenção são retratados. Os sistemas e métodos da presente invenção podem ser implementados em um veículo aéreo 902, helicóptero 904, automóvel 906, barco 908, trem 910, submarino 912 e/ou quaisquer outros veículos adequados. Um técnico no assunto compreendería que os sistemas e métodos da presente invenção podem ser implementados em outros veículos sem desviar do escopo da presente invenção.
[056] Apesar de características específicas de diversas realizações terem sido mostradas em alguns desenhos e não em outros, isso é por mera questão de conveniência. De acordo com os princípios da presente invenção, qualquer característica de um desenho pode ser referenciada e/ou reivindicada em combinação com qualquer característica de qualquer outro desenho.
[057] Essa descrição escrita utiliza exemplos para revelar realizações da presente invenção, incluindo a fabricação e o uso de quaisquer dispositivos ou sistemas e a realização de quaisquer métodos incorporados. O
Petição 870180066551, de 01/08/2018, pág. 28/45
20/21 escopo patenteável da presente invenção é definido pelas reivindicações, e pode incluir outros exemplos que ocorrerem aos técnicos no assunto. Tais outros exemplos pretendem estar dentro do escopo das reivindicações se eles incluem elementos estruturais que não diferem da linguagem literal das reivindicações, ou se eles incluem elementos estruturais equivalentes com diferenças irrelevantes das linguagens literais das reivindicações.
[058] Lista de Componentes:
100 Sistema
110 Sistema de Processamento Lockstep
112 Primeiro processador
114 Segundo processador
120 Sincronizador de dados
122 Primeira faixa de processamento
124 Segunda faixa de processamento
126 Interface de canais cruzados
130 Primeiro dispositivo
132 Segundo dispositivo
140 Lógica de comparação
150 Lógica de comparação
152 Lógica de decodificação
160 Lógica de sincronização
700 Método
702 Etapa
704 Etapa
706 Etapa
708 Etapa
Petição 870180066551, de 01/08/2018, pág. 29/45
21/21
800
802
804
806
808
Método
Etapa
Etapa
Etapa
Etapa
900
902
904
906
908
910
912
Veículos
Veículo aéreo Helicóptero Automóvel
Barco
Trem
Submarino
53
54
Primeiro sinal Segundo sinal Terceiro sinal
Quarto sinal
Sd2 Segundo sinal decodificado
Sd3 Terceiro sinal decodificado
Sd4 Quarto sinal decodificado
Petição 870180066551, de 01/08/2018, pág. 30/45
1/5

Claims (15)

  1. Reivindicações
    1. MÉTODO (700, 800) PARA GERENCIAMENTO DE COMUNICAÇÕES, que envolve um sistema de processamento lockstep (110) caracterizado pelo fato de que compreende ao menos um primeiro processador (112) e um segundo processador (114), em que o método (700, 800) compreende as etapas de:
    receber (702, 802), em um sincronizador de dados (120), um primeiro sinal (Si) a partir de um primeiro dispositivo (130);
    receber (704), em um sincronizador de dados (120), um segundo sinal (S2) a partir de um segundo dispositivo (132);
    determinar (706), pelo sincronizador de dados (120), se o primeiro sinal (S1) é igual ao segundo sinal (S2); e quando o primeiro sinal (S1) é igual ao segundo sinal (S2), transmitir (708), pelo sincronizador de dados (120), o primeiro sinal (S1) para o primeiro processador (112) e o segundo sinal (S2) para o segundo processador (114), em que a transmissão do primeiro sinal (S1) para o primeiro processador (112) ocorre de modo síncrono à transmissão do segundo sinal (S2) para o segundo processador (114).
  2. 2. MÉTODO (700, 800), de acordo com a reivindicação 1, caracterizado pelo fato de que a transmissão do primeiro e do segundo sinais (S1, S2) para o primeiro e o segundo processadores (112, 114), respectivamente, compreende ainda a transmissão do primeiro e do segundo sinais (S1, S2), pelo sincronizador de dados (120), para uma tela de interligação (116) que é comunicativamente acoplada ao sincronizador de dados (120), ao primeiro processador (112) e ao segundo processador (114).
  3. 3. MÉTODO (700, 800), de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda as etapas de:
    Petição 870180066551, de 01/08/2018, pág. 31/45
    2/5 receber, no sincronizador de dados (120), um terceiro sinal (S3) do primeiro processador (112) do sistema de processamento lockstep (110);
    receber, no sincronizador de dados (120), um quarto sinal (S4) do segundo processador (114) do sistema de processamento lockstep (110);
    determinar, no sincronizador de dados (120), se o terceiro sinal (S3) é igual ao quarto sinal (S4); e quando o terceiro e o quarto sinais (S3, S4) são iguais entre si, transmitir, pelo sincronizador de dados (120), o terceiro sinal (S3) para o primeiro dispositivo (130) e o quarto sinal (S4) para o segundo dispositivo (132), em que transmitir o terceiro sinal (S3) para o primeiro dispositivo (130) ocorre de modo síncrono à transmissão do quarto sinal (S4) para o segundo dispositivo (132).
  4. 4. MÉTODO (700, 800), de acordo com a reivindicação 3, caracterizado pelo fato de que determinar se o terceiro sinal (S3) é igual ao quarto sinal (S4) compreende ainda determinar, pelo sincronizador de dados (120), um indicativo de fator de correlação de uma similaridade entre o terceiro e o quarto sinais (S3, S4).
  5. 5. MÉTODO (700, 800), de acordo com a reivindicação 1, caracterizado pelo fato de que receber o primeiro sinal (S1) do primeiro dispositivo (130) compreende receber, em uma primeira faixa de processamento (122) do sincronizador de dados (120), o primeiro sinal (S1), e em que receber o segundo sinal (S2) do segundo dispositivo (132) compreende receber, em uma segunda faixa de processamento (124) do sincronizador de dados (120), o segundo sinal (S2).
  6. 6. MÉTODO (700, 800), de acordo com a reivindicação 5, caracterizado pelo fato de que compreende ainda as etapas de:
    transmitir (804), por uma interface de canais cruzados (126) do sincronizador de dados (120), o primeiro sinal (S1) a partir da primeira faixa de
    Petição 870180066551, de 01/08/2018, pág. 32/45
    3/5 processamento (122) para a segunda faixa de processamento (124); e transmitir, pela interface de canais cruzados (126) do sincronizador de dados (120), o segundo sinal (S2) a partir da segunda faixa de processamento (124) para a primeira faixa de processamento (122).
  7. 7. MÉTODO (700, 800), de acordo com a reivindicação 6, caracterizado pelo fato de que compreende ainda as etapas:
    receber, em uma lógica de comparação (140, 150) da primeira faixa de processamento (122), o primeiro e o segundo sinais (S1, S2); e receber, em uma lógica de comparação (140, 150) da segunda faixa de processamento (124), o primeiro e o segundo sinais (S1, S2).
  8. 8. MÉTODO (700, 800), de acordo com a reivindicação 7, caracterizado pelo fato de que determinar se o primeiro sinal (S1) é igual ao segundo sinal (S2) compreende determinar, pela lógica de comparação (140, 150) de ao menos a primeira faixa de processamento (122) ou a segunda faixa de processamento (124), um indicativo de valor de fator de correlação de uma similaridade entre o primeiro sinal (S1) e o segundo sinal (S2).
  9. 9. SINCRONIZADOR DE DADOS (120), para gerenciamento de comunicações que envolvem um sistema de processamento lockstep (110), caracterizado pelo fato de que compreende ao menos um primeiro processador (112) e um segundo processador (114), em que o sincronizador de dados (120) é configurado para:
    receber um primeiro sinal (S1) em uma primeira faixa de processamento (122) do sincronizador de dados (120);
    transmitir (804) o primeiro sinal (S1) para uma segunda faixa de processamento (124) do sincronizador de dados (120);
    transmitir (806) o primeiro sinal (S1) da primeira faixa de processamento (122) para o sistema de processamento lockstep (110); e transmitir (808) o primeiro sinal (S1) a partir da segunda faixa de
    Petição 870180066551, de 01/08/2018, pág. 33/45
    4/5 processamento (124) para o sistema de processamento lockstep (110), em que transmitir o primeiro sinal (Si) a partir da primeira faixa de processamento (122) para o sistema de processamento lockstep (110) ocorre de modo síncrono à transmissão do primeiro sinal (Si) a partir da segunda faixa de processamento (124) para o sistema de processamento lockstep (110).
  10. 10. SINCRONIZADOR DE DADOS (120), de acordo com a reivindicação 9, caracterizado pelo fato de que é configurado ainda para:
    receber um segundo sinal (S2) na primeira faixa de processamento (122), o segundo sinal (S2) a partir do sistema de processamento lockstep (110);
    receber um terceiro sinal (S3) na segunda faixa de processamento (124), o terceiro sinal (S3) a partir do sistema de processamento lockstep (110);
    transmitir o segundo sinal (S2) para uma lógica de comparação (140, 150) da segunda faixa de processamento (124); e transmitir o terceiro sinal (S3) para uma lógica de comparação (140, 150) da primeira faixa de processamento (122), em que o sistema de processamento lockstep (110) gera tanto o segundo sinal (S2) quanto o terceiro sinal (S3) em resposta ao recebimento do primeiro sinal (S1).
  11. 11. SINCRONIZADOR DE DADOS (120), de acordo com a reivindicação 10, caracterizado pelo fato de que a lógica de comparação (140, 150) tanto da primeira quanto da segunda faixas de processamento (122, 124) compreende uma porta OR exclusiva, em que o segundo sinal (S2) e o terceiro sinal (S3) são entradas para a porta OR exclusiva.
  12. 12. SINCRONIZADOR DE DADOS (120), de acordo com a reivindicação 11, caracterizado pelo fato de que a porta OR exclusiva emite um valor quando o segundo sinal (S2) e o terceiro sinal (S3) são iguais entre si, e em que a porta OR exclusiva emite um segundo valor quando o segundo sinal
    Petição 870180066551, de 01/08/2018, pág. 34/45
    5/5 (S2) e o terceiro sinal (S3) não são iguais entre si.
  13. 13. SINCRONIZADOR DE DADOS (120), de acordo com a reivindicação 12, caracterizado pelo fato de que é configurado ainda para:
    decodificar o segundo sinal (S2) recebido na primeira faixa de processamento (122); e decodificar o terceiro sinal (S3) recebido na segunda faixa de processamento (124).
  14. 14. SINCRONIZADOR DE DADOS (120), de acordo com a reivindicação 13, caracterizado pelo fato de que é configurado ainda para:
    transmitir um segundo sinal decodificado (Sd2) para um primeiro dispositivo (130); e transmitir um terceiro sinal decodificado (Sd3) para um segundo dispositivo (132).
  15. 15. SINCRONIZADOR DE DADOS (120), de acordo com a reivindicação 14, caracterizado pelo fato de que a porta OR exclusiva emite o primeiro valor ou o segundo valor antes de o segundo sinal decodificado (Sd2) ser transmitido para o primeiro dispositivo (130) e o terceiro sinal decodificado (Sd3) ser transmitido para o segundo dispositivo (132).
    Petição 870180066551, de 01/08/2018, pág. 35/45
    1/9
BR102018008734-7A 2017-05-19 2018-04-30 métodos para gerenciamento de comunicações e sincronizador de dados BR102018008734A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/599,546 US10474619B2 (en) 2017-05-19 2017-05-19 Methods for managing communications involving a lockstep processing system
US15/599,546 2017-05-19

Publications (1)

Publication Number Publication Date
BR102018008734A2 true BR102018008734A2 (pt) 2018-12-04

Family

ID=62152482

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102018008734-7A BR102018008734A2 (pt) 2017-05-19 2018-04-30 métodos para gerenciamento de comunicações e sincronizador de dados

Country Status (4)

Country Link
US (3) US10474619B2 (pt)
EP (2) EP4227810A1 (pt)
BR (1) BR102018008734A2 (pt)
CA (2) CA3059737A1 (pt)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7224237B2 (ja) * 2019-05-08 2023-02-17 三菱電機株式会社 I/o制御装置
CN110147343B (zh) * 2019-05-09 2023-08-04 中国航空工业集团公司西安航空计算技术研究所 一种全比较的Lockstep处理器架构
US11132268B2 (en) * 2019-10-21 2021-09-28 The Boeing Company System and method for synchronizing communications between a plurality of processors

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226152A (en) 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
DE19543817C2 (de) 1995-11-24 2000-01-05 Magnetbahn Gmbh Verfahren und Anordnung zum Prüfen und Überwachen der Arbeitsweise wenigstens zweier Datenverarbeitungseinrichtungen mit Rechnerstruktur
JP4346783B2 (ja) * 2000-03-23 2009-10-21 株式会社日立コミュニケーションテクノロジー 障害検出装置
US6854075B2 (en) * 2000-04-19 2005-02-08 Hewlett-Packard Development Company, L.P. Simultaneous and redundantly threaded processor store instruction comparator
US6948091B2 (en) * 2002-05-02 2005-09-20 Honeywell International Inc. High integrity recovery from multi-bit data failures
US7178058B2 (en) * 2002-08-30 2007-02-13 Nec Corporation Fault tolerant computer and transaction synchronization control method
GB2402761B (en) * 2003-06-12 2006-02-22 Advanced Risc Mach Ltd Improvements in flexibility of a bus interconnect block for a data processing apparatus
US7194663B2 (en) 2003-11-18 2007-03-20 Honeywell International, Inc. Protective bus interface and method
US7296181B2 (en) * 2004-04-06 2007-11-13 Hewlett-Packard Development Company, L.P. Lockstep error signaling
US7237144B2 (en) * 2004-04-06 2007-06-26 Hewlett-Packard Development Company, L.P. Off-chip lockstep checking
US7290169B2 (en) 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
US7023282B1 (en) * 2004-05-11 2006-04-04 Rf Micro Devices, Inc. Coarse tuning for fractional-N synthesizers having reduced period comparison error
US20060107116A1 (en) 2004-10-25 2006-05-18 Michaelis Scott L System and method for reestablishing lockstep for a processor module for which loss of lockstep is detected
US7366948B2 (en) 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
US7971095B2 (en) 2005-02-16 2011-06-28 Honeywell International Inc. Fault recovery for real-time, multi-tasking computer system
US7412353B2 (en) 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
US7747897B2 (en) * 2005-11-18 2010-06-29 Intel Corporation Method and apparatus for lockstep processing on a fixed-latency interconnect
US7987385B2 (en) 2007-07-24 2011-07-26 Ge Aviation Systems Llc Method for high integrity and high availability computer processing
US7873874B2 (en) * 2007-08-09 2011-01-18 Advanced Micro Devices, Inc. System and method for controlling synchronous functional microprocessor redundancy during test and analysis
US8650440B2 (en) * 2008-01-16 2014-02-11 Freescale Semiconductor, Inc. Processor based system having ECC based check and access validation information means
WO2009153624A1 (en) 2008-06-20 2009-12-23 Freescale Semiconductor, Inc. A system for distributing available memory resource
US8589737B2 (en) 2008-06-20 2013-11-19 Freescale Semiconductor, Inc. Memory system with redundant data storage and error correction
DE102008060011A1 (de) * 2008-11-25 2010-05-27 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
US8013764B1 (en) * 2009-01-31 2011-09-06 Xilinx, Inc. Method and apparatus for shifting the bits of a wide data word
US8489794B2 (en) 2010-03-12 2013-07-16 Lsi Corporation Processor bus bridge for network processors or the like
US8156371B2 (en) * 2009-06-16 2012-04-10 Honeywell International Inc. Clock and reset synchronization of high-integrity lockstep self-checking pairs
JP2011123545A (ja) * 2009-12-08 2011-06-23 Toshiba Corp 比較冗長型情報処理装置
US8959392B2 (en) 2010-03-23 2015-02-17 Continental Teves Ag & Co. Ohg Redundant two-processor controller and control method
US8499193B2 (en) * 2010-07-30 2013-07-30 Honeywell International Inc. Integrated dissimilar high integrity processing
US8105885B1 (en) * 2010-08-06 2012-01-31 Altera Corporation Hardened programmable devices
US20120124922A1 (en) 2010-11-18 2012-05-24 Northern States Metals Company Support system for carport with solar panels
US8635492B2 (en) * 2011-02-15 2014-01-21 International Business Machines Corporation State recovery and lockstep execution restart in a system with multiprocessor pairing
US8924780B2 (en) 2011-11-10 2014-12-30 Ge Aviation Systems Llc Method of providing high integrity processing
US10089194B2 (en) * 2016-06-08 2018-10-02 Qualcomm Incorporated System and method for false pass detection in lockstep dual core or triple modular redundancy (TMR) systems
US10303472B2 (en) * 2016-11-22 2019-05-28 Advanced Micro Devices, Inc. Bufferless communication for redundant multithreading using register permutation
US11550684B2 (en) * 2021-04-19 2023-01-10 Nxp B.V. Testing of lockstep architecture in system-on-chips

Also Published As

Publication number Publication date
EP3477483A1 (en) 2019-05-01
US20220276979A1 (en) 2022-09-01
EP4227810A1 (en) 2023-08-16
US20180336157A1 (en) 2018-11-22
US11899611B2 (en) 2024-02-13
US20200042486A1 (en) 2020-02-06
EP3477483B1 (en) 2023-06-28
CA3059737A1 (en) 2018-11-19
US11347676B2 (en) 2022-05-31
US10474619B2 (en) 2019-11-12
CA3004563A1 (en) 2018-11-19

Similar Documents

Publication Publication Date Title
BR102018008734A2 (pt) métodos para gerenciamento de comunicações e sincronizador de dados
US7437643B2 (en) Automated BIST execution scheme for a link
WO2017091835A3 (en) Medical imaging and efficient sharing of medical imaging information
US8499193B2 (en) Integrated dissimilar high integrity processing
BR112015015998A2 (pt) sistema e método para componentes de imagem universal
KR20150067896A (ko) 직렬 통신 테스트 장치, 시스템 및 방법
CN108259265A (zh) 一种军用1394b总线网络信道完整性检测方法
KR20170095183A (ko) 2채널 아키텍처
US20220082623A1 (en) Performing scan data transfer inside multi-die package with serdes functionality
JP2015136104A5 (pt)
CN103176930B (zh) 一种基于标准PCIe上行端口的IO扩展架构方法
US20150149832A1 (en) Bus pressure testing system and method thereof
CN110147343A (zh) 一种全比较的Lockstep处理器架构
US7631136B2 (en) State negotiation method in PCI-E architecture
JP2014136515A5 (pt)
US9971861B2 (en) Selective boundary overlay insertion for hierarchical circuit design
JP6441380B2 (ja) 車載用変速機制御装置
US9641386B2 (en) Networking device port multiplexing
JP4954249B2 (ja) 電子端末装置及び電子連動装置
KR20190037690A (ko) 버스 시스템
CN109388085B (zh) 基于自轮运转特种设备的计算机平台的应用方法
JP2006146320A (ja) 2重化システム
JP2017016319A (ja) 多重化データ処理装置
US20070168752A1 (en) Method for detecting hang or dead lock conditions
WO2011124181A2 (zh) 继电器控制方法、装置及列车运行控制系统

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 4A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2668 DE 22-02-2022 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.