BR102013023836A2 - Sistema de processamento de dados com característica de dados com base em identificação de instruções correspondentes - Google Patents

Sistema de processamento de dados com característica de dados com base em identificação de instruções correspondentes Download PDF

Info

Publication number
BR102013023836A2
BR102013023836A2 BRBR102013023836-8A BR102013023836A BR102013023836A2 BR 102013023836 A2 BR102013023836 A2 BR 102013023836A2 BR 102013023836 A BR102013023836 A BR 102013023836A BR 102013023836 A2 BR102013023836 A2 BR 102013023836A2
Authority
BR
Brazil
Prior art keywords
instruction
data unit
data
address
memory
Prior art date
Application number
BRBR102013023836-8A
Other languages
English (en)
Inventor
Gregory Lewis Bodine
Original Assignee
Ca Inc
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 Ca Inc filed Critical Ca Inc
Publication of BR102013023836A2 publication Critical patent/BR102013023836A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

RESUMO Patente de Invenção: "SISTEMA DE PROCESSAMENTO DE DADOS COM CARACTERÍSTICA DE DADOS COM BASE EM IDENTIFICAÇÃO DE INSTRUÇÕES CORRESPONDENTES". A presente invenção refere-se a alguns métodos, produtos de programas de computador e nós de processamento de dados identificam uma unidade de dados em uma memória de dados que deve ser operada por um circuito processador e usa uma característica da unidade de dados para identificar que instrução(ões) dentro de uma memória de instrução deve(m) ser executada(s) pelo circuito processador e a memória de instrução pode ser acessível remotamente para o circuito processador através de uma rede de dados.

Description

Relatório Descritivo da Patente de Invenção para "SISTEMA DE PROCESSAMENTO DE DADOS COM CARACTERÍSTICA DE DADOS COM BASE EM IDENTIFICAÇÃO DE INSTRUÇÕES CORRESPONDENTES".
ANTECEDENTES
A presente invenção refere-se a sistemas de processamento de dados e, mais especificamente, a operações e métodos para recuperar instruções da memória.
Os sistemas de processamento de dados conhecidos processam dados através de uma seqüência de operações que incluem:
1) recuperação de uma instrução da memória;
2) decodificação da instrução para identificar um endereço para uma localização na memória para dados que devem ser operados pela instrução;
3) recuperação dos dados da memória;
4) realização da instrução para operar sobre os dados; e
5) a seguir, armazenamento/comunicação do resultado. As instruções e a memória podem residir na mesma memória. Contudo, bases de dados e outros aplicativos de dados grandes têm levado à arquiteturas onde
as instruções residem na memória que é local para o processador, enquanto os dados residem em memórias de dados remotas, que são acessíveis pela rede ao processador.
BREVE SUMÁRIO
Uma modalidade da exposição é dirigida a um método que inclui 25 a seleção de uma unidade de dados, dentre uma pluralidade de unidade de dados em uma memória de dados, que deve ser operada por um circuito processador. Uma instrução é identificada entre uma pluralidade de instruções em uma memória de instruções, responsiva a uma característica da unidade de dados. A instrução é solicitada da memória de instruções para 30 execução pelo circuito processador a fim de operar na unidade de dados.
Em uma outra modalidade, o conteúdo da unidade de dados é examinado para identificar um endereço de rede para acessar a memória de instruções de um nó de armazenamento de instruções através de uma rede de dados. A instrução é recuperada do endereço dentro da memória de instruções por meio de comunicação de uma mensagem através da rede de dados que é dirigida para o endereço de rede e solicita a recuperação da 5 instrução da memória de instruções do nó de armazenamento de instruções. Um endereço da instrução pode ser determinado responsivo ao valor de uma pluralidade de localizações de bits da unidade de dados e outras localizações de bits da unidade de dados podem ser usadas para determinar um valor de dado que deve ser operado pela instrução.
Em uma outra modalidade, uma característica da unidade de
dados é usada para determinar uma taxa de ciclo de execução em que a instrução será organizada para execução pelo circuito processador e o endereço de instrução é determinado em resposta à taxa de ciclo de execução. Alternativa, ou adicionalmente, uma característica da unidade de dados é 15 usada para determinar um nível de prioridade de execução em que a instrução será priorizada para execução pelo circuito processador e o endereço da instrução é determinado em resposta ao nível de prioridade de execução.
Outra modalidade da exposição é dirigida para um produto de programa de computador que inclui um meio de armazenamento legível por 20 computador, tendo código de programa legível por computador nele concretizado. O código de programa legível por computador é configurado para selecionar uma unidade de dados, dentre uma pluralidade de unidades de dados em uma memória de dados, que deve ser operada por um circuito processador. O código de programa legível por computador é configurado 25 para identificar uma instrução, entre uma pluralidade de instruções em uma memória de instruções, responsiva a uma característica da unidade de dados. Outro código de programa legível por computador é configurado para solicitar a instrução da memória de instruções para execução pelo circuito processador a fim de operar na unidade de dados.
Outra modalidade da exposição é dirigida para um nó de pro
cessamento de dados que inclui uma interface de rede, uma memória de dados e um circuito processador. A interface de rede se comunica através de uma rede de dados com uma memória de instruções. A memória de dados inclui uma pluralidade de unidades de dados. O circuito processador seleciona uma unidade de dados dentre a pluralidade de unidades de dados na memória de dados, identifica uma instrução, entre uma pluralidade de 5 instruções na memória de instruções, responsiva a uma característica da unidade de dados e solicita a instrução da memória de instruções para execução pelo circuito processador a fim de operar na unidade de dados.
BREVE DESCRICÀO DOS DESENHOS
Aspectos da presente exposição são ilustrados à guisa de exemplo e não estão limitados pelas figuras anexas, em que referências semelhantes indicam elementos semelhantes.
A Figura 1 ilustra um sistema de processamento de dados de exemplo que inclui uma pluralidade de nós de processamento de dados contendo memória de dados local e um nó de armazenamento de instruções contendo memória de instruções.
A Figura 2 ilustra componentes de exemplo do nó de processamento de dados da Figura 1.
As Figuras de 3 a 7 ilustram operações de exemplo para identificar, obter e executar instruções de uma memória de rede remota para operação em unidades de dados em uma memória de dados local.
DESCRICÀO DETALHADA
Modalidades da presente exposição serão descritas mais completamente daqui em diante com referência aos desenhos anexos. Outras modalidades podem tomar muitas formas diferentes e não serão construídas como limitadas às modalidades aqui apresentadas. Números semelhantes se referem a elementos semelhantes.
Como explicado acima, algumas bases de dados e outras aplicações de dados grandes têm levado à arquiteturas de computador onde instruções residem na memória que é local ao processador, enquanto dados 30 residem em memórias de dados remotas (por exemplo, servidores) que são acessíveis ao processador através de uma rede de dados. Embora a localização de instruções perto do processador possam reduzir os tempos de acesso às instruções e proporcionar um forte acoplamento entre o processador e as instruções, pode não ser possível compartilhar essas instruções entre uma pluralidade de processadores em rede. Além disso, o distanciamento da memória de dados do processador pode aumentar o tempo de a5 cesso aos dados e reduzir o desempenho do processamento de dados para aplicações de dados intensivos.
Em várias modalidades presentes, a ordem de operações de sistemas conhecidos para acesso às instruções e, então, os dados são invertidos. Um sistema operacional (OS), microcódigo ou outras instruções reali10 zadas por um nó de processamento de dados identifica uma unidade de dados em uma memória de dados que deve ser operada por um circuito processador e, então, identifica que instrução(ões) dentro de uma memória de instruções devem) ser executada(s) pelo circuito processador para realizar uma operação na unidade de dados. A memória de dados pode ser local 15 para o circuito processador e a memória de instruções pode ser acessível remotamente para o circuito processador através e uma rede de dados.
Como aqui usado, uma unidade de dados é qualquer comprimento de bits de dados que são operados (por exemplo, uma operação aritmética) durante um ou mais ciclos de um circuito processador ou outro cir20 cuito de execução de instruções que está executando uma ou mais instruções. As unidades de dados em uma memória de dados podem ter os mesmos ou diferentes comprimentos de bits. As instruções em uma memória de instruções também podem ter os mesmos ou diferentes comprimentos de bits.
A Figura 1 ilustra um exemplo de sistema de processamento de
dados que inclui uma pluralidade de nós de processamento de dados 100 e um nó de armazenamento de instruções 110 que são conectados comunicativamente por uma ou mais redes de dados 120. Qualquer número de nós de processamento de dados 100, nós de armazenamento de instruções 110 e 30 redes de dados 120 podem estar incluídos no sistema de processamento de dados. O nó de processamento de dados 100 inclui memória de dados 102, presas localmente, contendo unidades de dados que podem ser operadas por um circuito processador 200. A memória de dados 102 pode, por exemplo, residir em um mesmo substrato que o circuito processador 200, residir dentro de um mesmo pacote de circuitos integrados que o circuito processador 200, ser conectada ao circuito processador 200 através de um barra5 mento de memória dedicado ou ser conectada ao circuito processador 200 através de um barramento compartilhado de um painel de circuito impresso ao qual a memória de dados 102 e o circuito processador 200 são conectados fixa ou removivelmente.
O nó de armazenamento de instruções 110 inclui instruções em uma memória de instruções 112 que são executáveis pelo circuito processador 200 operar nas unidades de dados na memória de dados 102. Em contraste com a memória de dados 102, que está presa localmente ao circuito processador 200, a memória de instruções 112 é conectada remotamente ao circuito processador 200 através da rede de dados 120. A conexão Iocalmente da memória de dados 102 ao circuito processador 200 pode reduzir os tempos de acesso à memória de dados 102 e proporcionar acoplamento forte entre o circuito processador 200 e as unidades de dados. Como as instruções são tornadas disponíveis através do nó de armazenamento de instruções em rede 110, as instruções podem ser compartilhadas eficientemente entre uma pluralidade dos nós de processamento de dados 100. Desse modo, por exemplo, uma aplicação de base de dados, que pode se beneficiar de alto rendimento e/ ou pode se beneficiar de alto rendimento e/ou processamento de baixa latência de maiores quantidades de dados e de compartilhamento de instruções em rede pode ser hospedada efetivamente no sistema de processamento de dados da Figura 1.
A rede de dados 120 pode ser uma rede de área pessoal (por exemplo, USB ou rede de Firewire), uma rede de área local (por exemplo, IEEE 802.11), uma rede de área de armazenamento, uma rede de área metropolitana, uma rede de área estendida e/ou outras redes públicas (por e30 xemplo, a Internet) e/ou privadas. A rede de área de armazenamento (SAN) é uma rede dedicada entre o nó de processamento de dados 100 e a o nó de armazenamento de instruções 110 que proporciona acesso ao armazenamento de dados de nível de bloco, consolidado, para fazer dispositivos de armazenamento, tais como matrizes de discos e bibliotecas de fitas, do nó de armazenamento de instruções 110 parecem como dispositivos anexados localmente ao nó de processamento de dados 100. A rede de dados 120 5 pode incluir conexões de comunicação de interface de ar cabeadas e/ou sem fio (por exemplo, rede celular, rede de área local sem fio, rede de área metropolitana sem fio, rede de satélites, etc).
A Figura 2 ilustra componentes de exemplo do nó de processamento de dados 100 da Figura 1. O nó de processamento de dados 100 pode incluir o circuito processador 200, uma interface de rede 220 configurada para se comunicar através da rede de dados 120 e uma memória 210 que inclui a memória de dados 102. O circuito processador 200 pode incluir um ou mais circuitos de processamento de dados, tais como um processador para fins gerais e/ou para fins especiais (por exemplo, um microprocessador e/ou processador de sinais digitais). O circuito processador 200 é configurado para executar instruções (isto é, código de programa) da memória 210, descritas abaixo como um meio legível em computador para realizar algumas ou todas as operações que são descritas como sendo realizadas pelo nó de processamento de dados 100 de acordo com uma ou mais modalidades aqui divulgadas. A memória 210 pode ainda incluir um sistema operacional 212 que inclui um módulo de determinação de endereço de dados para instruções 214, que identifica uma localização de uma instrução na memória de instruções 112 que deve ser executada pelo circuito processador 200 para operar em uma unidade de dados que tem sido , ou será, obtida da memória de dados 102. O módulo de determinação de endereço de dados para instrução 214 pode, adicional ou alternativamente, residir no microcódigo que é parte do circuito processador 200 ou acessível pelo mesmo. O nó de processamento de dados 100 pode incluir um dispositivo de exibição 222, dispositivos de entrada de usuário/máquina 224 (por exemplo, teciado, interface de exibição sensível ao toque, reconhecimento de voz, etc.) e/ou um dispositivo de alto-falante 226.
A Figura 3 ilustra operações de exemplo que usam uma característica de uma unidade de dados selecionada em uma memória de dados local para identificar, obter e executar uma instrução de uma memória remota para operação na unidade de dados. Uma unidade de dados é selecionada (bloco 300) dentre uma pluralidade de unidades de dados na memória de 5 dados 102, onde a unidade de dados deve ser operada pelo circuito processador 200. Uma instrução é identificada (bloco 302) entre uma pluralidade de instruções na memória de instruções 112, responsiva a uma característica da unidade de dados. A instrução é solicitada (bloco 304) da memória de instruções 112 para execução pelo circuito processador 200 para operar na 10 unidade de dados. A instrução é recebida (bloco 306) da memória de instruções 112 e executada (bloco 308) pelo circuito processador 200 para realizar uma operação definida pela instrução na unidade de dados. Várias operações que a instrução pode fazer o circuito processador 200 realizar na unidade de dados podem incluir, mas não estão limitadas às mesmas, aritméti15 ca (por exemplo, adição, subtração, multiplicação, divisão), bit a bit (por exemplo, AND, OR, XOR) e lógica (por exemplo, comparação de valores).
Embora várias modalidades sejam descritas no contexto de identificação de uma instrução responsiva a uma característica de uma unidade de dados, essas modalidades não estão limitadas ao uso de uma única 20 unidade de dados para identificar uma única instrução. Na verdade, uma pluralidade de unidades de dados podem ser usadas para identificar uma única instrução, uma única instrução pode ser usada para identificar uma pluralidade de instruções ou qualquer outro número de unidades de dados podem ser usadas para identificar qualquer outro número de instruções.
A Figura 4 ilustra outras operações de exemplo que usam uma
característica de uma unidade de dados selecionada em uma memória de dados local para identificar, obter e executar uma instrução de uma memória remota para operação na unidade de dados. O circuito processador 200 seleciona (bloco 400) uma unidade de dados dentro da memória de dados 102 30 que deve ser operada por uma instrução ainda a ser identificada. O circuito processador 200 identifica (bloco 402) um endereço para uma instrução com base em uma ou mais características definidas da unidade de dados. O circuito processador 200 gera e comunica (bloco 404) uma mensagem de solicitação de instrução através da rede de dados 120 para o nó de armazenamento de instruções 110 que solicita comunicação da instrução localizada no endereço de instrução identificada na memória de instruções 112. O circuito 5 processador 200 recebe (bloco 406) a instrução do nó de armazenamento de instruções 110, executa (bloco 408) a instrução para operar na unidade de dados e armazena (bloco 410) a unidade de dados (resultante da operação de instrução) na memória de dados 102 e/ou comunica (bloco 410) a unidade de dados através da rede de dados 120 para outro nó de rede.
O endereço da instrução dentro da memória de instruções 112
pode ser determinado pelo circuito processador 200 pelo exame do conteúdo da unidade de dados. A Figura 5 ilustra operações de exemplo para identificar uma instrução na memória de instruções 112 responsiva ao conteúdo da unidade de dados. As operações podem ser realizadas pelo circuito processador 200 do nó de processamento de dados 100. A unidade de dados é recebida (bloco 500) da memória de dados 102. Um endereço de rede é identificado (bloco 502) do conteúdo da unidade de dados que permite a comunicação (por exemplo, roteamento) da mensagem de solicitação de instrução através da rede de dados 120 para o nó de armazenamento de instruções 110 e ainda identifica uma localização da instrução na memória de instruções 112, que deve ser recuperada e comunicada ao nó de processamento de dados 100 que enviou a mensagem. O circuito processador 200 comunica (bloco 504) uma mensagem através da rede de dados 120 que é dirigida para o endereço de rede e solicita recuperação da instrução da memória de instruções 112 do nó de armazenamento de instruções 110.
Que informação é identificada para obtenção de uma instrução variará com base no tipo, ou seqüência, de comunicações usadas pelo processador para obter instruções da memória de instruções 112. O endereço de rede pode incluir um endereço de Uniform Resource Locator (URL - Lo30 calizador Uniforme de Recursos). A mensagem comunicada para o nó de armazenamento de instruções 110 pode incluir um endereço de URL que identifica uma localização de um arquivo acessível pela rede dentro da memória de instruções 112 que contém a instrução. A mensagem pode conter uma mensagem lida de solicitação de arquivo que identifica o endereço de URL do arquivo que deve ser acessado no nó de armazenamento de instruções 110.
O arquivo acessível pela rede pode conter outras instruções que
devem ser executadas para operar na unidade de dados ou em uma pluralidade de unidades de dados. Por exemplo, uma primeira instrução no arquivo dentro da memória de instruções 112 pode ser recuperado e executado para operar na unidade de dados, uma instrução seguinte correndo sequencial10 mente no arquivo pode ser recuperada e executada para operar em uma unidade de dados seguinte que ocorre seqüencialmente na memória de dados 102 e assim por diante com outras instruções adicionais que ocorrem seqüencialmente na memória de dados 102. Alternativamente, a primeira instrução no arquivo pode ser usada para operar em uma pluralidade de uni15 dades de dados que ocorrem seqüencialmente ou outras identificadas.
Cada unidade de dados pode incluir um ponteiro de instrução que é embutido em cada respectiva unidade de dados (por exemplo, armazenado dentro ou adjacente às localizações endereçáveis contíguas da unidade de dados na memória de dados 102) ou de outro modo associado Iogi20 camente com a unidade de dados. O comprimento da unidade de dados pode corresponder ao número de bits que o circuito processador 200 recupera com cada ciclo de acesso à memória. Alternativamente, um grupo de unidades de dados pode ser associado com um mesmo ponteiro de instrução. Em uma modalidade, quando do exame do conteúdo da unidade de dados para 25 identificar (bloco 402) o endereço para a instrução dentro da memória de instruções 112, o circuito processador 200 determina o endereço para a i responsiva a uma pluralidade de localizações de bits definidas da unidade de dados e determina uma porção de conteúdo de dados da unidade de dados que deve ser operada pela instrução responsiva às outras localizações 30 de bits definidas da unidade de dados. O circuito processador 200 pode, assim, por exemplo, interpretar um valor numérico definido por um primeiro grupo de localizações de bits da unidade de dados como um endereço da instrução e interpretar um valor numérico definido por um segundo grupo de localizações de bits da unidade de dados (que pode ou não sobrepor o primeiro grupo de localizações de bits) como definindo um valor de dados que deve ser operado pela instrução endereçada.
Arquivos de configurações diferentes podem estar associados
com diferentes unidades de dados e o circuito processador 200 pode identificar localizações de instruções que devem ser buscadas para operar nas respectivas unidades de dados responsivas à informação nos respectivos arquivos de configurações. Por exemplo, a memória de dados 102 pode in10 cluir uma pluralidade de arquivos de configurações que estão associados com diferentes grupos da pluralidade de instruções na memória de instruções 112. Quando examinando o conteúdo da unidade de dados para identificar (bloco 402) o endereço para a instrução dentro da memória de instruções 112, o circuito processador 200 seleciona um da pluralidade de arqui15 vos de configuração responsivos ao conteúdo da unidade de dados e identifica o endereço para a instrução dentro da memória de estruturas 112 responsivo à informação contida em um da pluralidade de arquivos de configuração que foi selecionado.
Alternativamente, um único arquivo de configuração pode conter itens de informação que identificam uma localização de uma instrução que deve ser executada para operar em uma unidade de dados correspondente. O circuito processador 200 pode identificar qual dos itens de informação no arquivo de configuração está associado com umas particulares das unidades de dados responsivas às características da unidade de dados particular. Por exemplo, a memória de dados 102 pode incluir um arquivo de configuração que identifica endereços de instruções na memória de instruções 112. Quando do exame do conteúdo da unidade de dados para identificar (bloco 402) o endereço para a instrução dentro da memória de instruções 112, o circuito processador 200 determina uma localização dentro do arquivo de configuração responsiva ao conteúdo da unidade de dados. Um item de informação é obtido da localização dentro do arquivo de configuração e o endereço para a instrução na memória de instruções 112 é definido em resposta ao item de informação.
O circuito processador 200 pode identificar características de uma unidade de dados (por exemplo, classificar a unidade de dados como uma de uma pluralidade de tipos definidos) e usar as características identificadas para identificar uma localização de instruções que devem ser obtidas da memória de instruções 112 para operar na unidade de dados.
A execução de unidades de dados diferentes pelo circuito processador 200 pode ser gerenciada de acordo com níveis de prioridade de execução definidos. As localizações de instruções que devem ser obtidas da 10 memória de instruções 112 para operar nas unidades de dados correspondentes podem ser determinadas responsivas aos seus níveis de prioridade de execução associados. Fazendo referência à Figura 7, um de uma pluralidade de níveis de prioridade de execução definidos em que a instrução será priorizada para execução pelo circuito processador 200 é determinado (bloco 15 600) responsivo à característica da unidade de dados. O endereço para a instrução na memória de instruções 112 é identificada (bloco 602) responsivo a um da pluralidade de níveis de prioridade de execução definidos.
Unidades de dados diferentes, ou grupos de unidades de dados, podem ser planejados para execução pelo circuito processador 200 em dife20 rentes taxas de ciclos de execução. As localizações de instruções que devem ser obtidas da memória de instruções 112 para operar nas unidades de dados correspondentes podem ser determinadas responsivas as suas taxas de ciclos de execução planejadas associadas. Fazendo referência à Figura
7, uma de uma pluralidade de taxas de ciclos de execução definidas em que 25 a instrução será planejada para execução pelo circuito processador 200 é determinada (bloco 700) responsiva à característica da unidade de dados. O endereço para a instrução na memória de instruções 112 é identificado (bloco 702) responsivo a uma da pluralidade de taxas de ciclos de execução definidas.
O circuito processador 200 pode receber a unidade de dados e
um ponteiro para a instrução na memória de instruções 112 através de uma interface de programa de aplicação (por exemplo, interface de linha de comando, uma interface de aplicação de máquina para máquina, etc).
Como será apreciado por alguém habilitado na técnica, aspectos da presente exposição podem ser ilustrados e descritos aqui em qualquer uma de um número de classes ou contextos patenteáveis, incluindo qualquer 5 processo novo e útil, máquina, fabricação ou composição de matéria, ou qualquer de seus aperfeiçoamentos novos e úteis. Em conseqüência, aspectos da presente exposição podem ser implementados inteiramente em hardware, inteiramente em software (incluindo firmware, software residente, microcódigo, wetc.) ou implementação combinada de software e hardware que 10 podem ser todos, em geral, aqui referidos como um "circuito", "módulo", "componente" ou "sistema". Além disso, aspectos da presente exposição podem tomar a forma de um produto de programa de computador concretizado em um ou mais meios legíveis em computador, tendo código de programa legível em computador nele concretizado.
Qualquer combinação de um ou mais meios legíveis em compu
tador pode ser utilizada. Os meios legíveis em computador podem ser um meio de sinal legível em computador ou um meio de armazenamento legível em computador. Um meio de armazenamento legível por computador pode ser, por exemplo, mas não limitado aos mesmos, um sistema eletrônico, 20 magnético, óptico, eletromagnético ou semicondutor, aparelho ou dispositivo ou qualquer outra combinação adequada dos precedentes. Exemplos mais específicos (uma relação não exaustiva) dos meios de armazenamento legíveis por computador incluiriam os seguintes: um disquete de computador portátil, um disco rígido, uma memória de acesso randômico (RAM), uma 25 memória de leitura somente (ROM), uma memória de leitura somente programável apagável (EPROM ou memória Flash), uma fibra óptica apropriada com uma repetidora com armazenamento temporário, uma memória de leitura somente de disco compacto portátil (CD-ROM), um dispositivo de armazenamento óptico, um dispositivo de armazenamento magnético ou qualquer 30 combinação adequada dos precedentes. No contexto deste documento, um meio de armazenamento legível por computador pode ser qualquer meio tangível que possa conter, ou armazenar, um programa para uso por ou em conexão com um sistema de execução de instrução, aparelho ou dispositivo.
Um meio de sinal legível por computador pode incluir um sinal de dados propagado com código de programa legível por computador nele concretizado, por exemplo, uma banda base ou como parte de uma onda portadora. Esse sinal propagado pode tomar qualquer uma de uma variedade de formas, incluindo, mas não limitado às mesmas, eletromagnéticas, ópticas ou qualquer combinação adequada. Um meio de sinal legível por computador pode ser qualquer meio legível por computador que não seja um meio de armazenamento legível por computador e que possa comunicar, propagar ou transportar um programa para uso por ou em conexão com um sistema de execução de instruções, aparelho ou dispositivo. O código de programa concretizado em um meio de sinal legível por computador pode ser transmitido usando qualquer meio apropriado, incluindo, mas não assim limitado, sem fio, cabeado, cabo de fibra óptica, RF, etc., ou qualquer combinação adequada do precedente.
O código de programa de computador para realizar operações para aspectos da presente exposição podem ser escritos em qualquer combinação de uma ou mais linguagens de programação, incluindo uma linguagem de programação orientada por objeto, como Java, Scala, Smalltalk, Eif20 fel, JADE, Emerald. C++, C#, VB NET. Python ou semelhantes, linguagens de programação de procedimento convencional, tais como a linguagem de programação "C", Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, linguagens de programação dinâmicas, tais como Python, Ruby e Groovy ou outras linguagens de programação. O código de programa pode exe25 cutar inteiramente no computador do usuário, parcialmente no computador do usuário, como um pacote de software independente, parcialmente no computador do usuário e parcialmente em um computador remoto ou inteiramente no computador remoto ou servidor. No último cenário, o computador remoto pode ser conectado ao computador do usuário através de qualquer 30 tipo de rede, incluindo uma rede de área local (LAN) ou uma rede de área estendida (WAN) ou a conexão pode ser feita com um computador externo (por exemplo, através da Internet usando um Provedor de Serviços da Internet) ou em um ambiente de computação em nuvem ou oferecido como um serviço, tal como um Software as a Service (SaaS).
Aspectos da presente exposição são aqui descritos com referência às ilustrações de fluxogramas e/ou diagramas em blocos de método, aparelhos (sistemas) e produtos de programas de computador de acordo com as modalidades da exposição. Deve ser compreendido que cada bloco das ilustrações dos fluxogramas e/ou diagramas em blocos e combinações de blocos nas ilustrações de fluxogramas e/ou diagramas em blocos pode ser implementado por instruções de programas de computador. Essas instruções de programas de computador podem ser proporcionadas para um processador de um computador para fins gerais, computador para fins especiais ou outro aparelho de processamento de dados programável para produzir uma máquina, de modo que as instruções, que executam via o processador do computador ou outro aparelho de execução de instrução programável, criam um mecanismo para implementar as funções/atos especificados no fluxograma e/ ou bloco ou blocos de diagramas em blocos.
Essas instruções de programas de computador também podem ser armazenadas em um meio de armazenamento legível por computador que, quando executando podem dirigir um computador, outro aparelho de 20 processamento de dados programável ou outros dispositivos para funcionar em uma maneira particular, de modo que as instruções, quando armazenadas no meio de armazenamento legível por computador, produzem um artigo de fabricação incluindo instruções que, quando executadas, fazem um computador implementar a função/ato especificado no fluxograma e/ou bloco 25 ou blocos de diagramas em blocos. As instruções de programa de computador também podem ser carregadas em um computador, outro aparelho de execução de instruções programável, ou outros dispositivos para fazer com que uma série de etapas operacionais sejam realizadas no computador, outros aparelhos programáveis ou outros dispositivos para produzir um proces30 so implementado em computador de modo que as instruções que executam no computador ou em outro aparelho programável proporcionam processos para implementação das funções/atos especificados no fluxograma e/ou bloco ou blocos de diagramas em blocos.
O fluxograma e/ou diagramas em blocos nas Figuras ilustram a arquitetura, a funcionalidade e a operação de implementações possíveis de sistemas, métodos e produtos de programas de computador de acordo com 5 vários aspectos da presente exposição. Com relação a isso, cada bloco no fluxograma ou diagramas em blocos pode representar um módulo, segmento ou porção de código, que compreende uma ou mais instruções executáveis para implementação da(s) função(ões) lógica(s) especificada(s). Deve ser notado que, em algumas implementações alternativas, as funções observa10 das no bloco podem ocorrer fora da ordem observada nas Figuras. Por exemplo, dois blocos mostrados em sucessão podem, de fato, ser executadas substancialmente de modo simultâneo ou os blocos podem, algumas vezes, ser executados na ordem inversa, dependendo da funcionalidade envolvida. Também deve ser notado que cada bloco dos diagramas em blocos e/ou 15 ilustração de fluxograma e combinações de blocos nos diagramas em blocos e/ou ilustração de fluxograma, podem ser implementados por sistemas com base em hardware para fins especiais, que desempenham as funções ou atos especificados ou combinações de hardware para fins especiais e instruções de computador.
A terminologia aqui usada é com a finalidade de descrever as
pectos particulares apenas e não é destinada a estar limitando a exposição. Como aqui usadas, as formas singulares "a", "an" e "the" são destinadas a incluir igualmente as formas do plural, a menos que o contexto indique claramente o contrário. Deve ser compreendido que os termos "compreende" 25 e/ou "compreendendo", quando usados nesta especificação, especificam a presença de características, inteiros, etapas, operações, elementos e/ou componentes, mas não impedem a presença ou a adição de uma ou mais características, inteiros, etapas, operações, elementos, componentes e/ou seus grupos.
As estruturas, materiais, atos correspondentes e equivalentes de
qualquer meio ou etapa mais elementos de função nas reivindicações abaixo são destinados a incluir qualquer estrutura, material ou ato divulgados para desempenho da função em combinação com outros elementos reivindicados, conforme especificamente reivindicado. A descrição da presente exposição foi apresentada para fins de ilustração e descrição, mas não é destinada a ser exaustiva ou limitada à exposição na forma divulgada. Muitas modi5 ficações e variações serão evidentes para aqueles de habilidade comum na técnica, sem afastamento do escopo e do espírito da exposição. Os aspectos da exposição aqui foram escolhidos e descritos a fim de explicar melhor os princípios da exposição e a aplicação prática e permitir a outros de habilidade comum na técnica compreender a exposição com várias modificações 10 conforme sejam adequadas ao uso particular considerado.

Claims (26)

1. Método compreendendo: - seleção de uma unidade de dados, dentre uma pluralidade de unidades de dados em uma memória de dados, que deve ser operada por um circuito processador; - identificação de uma instrução, entre uma pluralidade de instruções em uma memória de instruções, responsiva a uma característica da unidade de dados; e - solicitação da instrução da memória de instruções para execução pelo circuito processador para operar na unidade de dados.
2. Método, de acordo com a reivindicação 1, ainda compreendendo: - recebimento da instrução da memória de instruções; e - execução da instrução pelo circuito processador para realizar uma operação definida na unidade de dados.
3. Método, de acordo com a reivindicação 1, em que a identificação da instrução, entre a pluralidade de instruções na memória de instruções, responsiva à característica da unidade de dados, compreende: - recebimento da unidade de dados da memória de dados; - exame de conteúdo da unidade de dados para identificar um endereço para a instrução dentro da memória de instruções; e - recuperação da instrução do endereço dentro da memória de instruções; e - recuperação da instrução do endereço dentro da memória de instruções.
4. Método, de acordo com a reivindicação 3, em que: - o exame do conteúdo da unidade de dados para identificar o endereço para a instrução dentro da memória de instruções compreende a identificação de um endereço de rede para acessar a memória de instruções de um nó de armazenamento de instruções através de uma rede de dados; e - a recuperação da i do endereço dentro da memória de instruções compreende a comunicação de uma mensagem através da rede de dados que é dirigida para ao endereço de rede e solicita recuperação da i da memória de instruções do nó de armazenamento de instruções.
5. Método, de acordo com a reivindicação 4, em que: - a identificação do endereço de rede para acessar a memória de instruções do meio de armazenamento de informação através da rede de dados compreende a identificação de um endereço de Uniform Resource Locator (URL) do conteúdo da unidade de dados, o endereço de URL identificação de uma localização de um arquivo acessível por rede contendo a instrução; e - a comunicação da mensagem através da rede de dados que é dirigida para o endereço de rede e solicita a recuperação da instrução compreende a comunicação de uma mensagem de solicitação de leitura de arquivo que identifica o endereço de URL.
6. Método, de acordo com a reivindicação 3, em que o exame do conteúdo da unidade de dados para identificar o endereço para a instrução dentro da memória de instruções, compreende: - determinação do endereço para a instrução responsiva a uma pluralidade de localizações de bits definidas da unidade de dados; e - determinação de uma porção de conteúdo de dados da unidade de dados que deve ser operada pela instrução responsiva a outras localizações de bits definidas da unidade de dados.
7. Método, de acordo com a reivindicação 3, em que o exame do conteúdo da unidade de dados para identificar um endereço para a instrução dentro da memória de instruções compreende: - determinação de uma localização dentro de um arquivo de configuração responsivo ao conteúdo da unidade de dados; - obtenção de informação da localização dentro do arquivo de configuração; e - identificação do endereço para a instrução em resposta à informação.
8. Método, de acordo com a reivindicação 3, em que: - uma pluralidade de arquivos de configurações estão associados com grupos diferentes da pluralidade de instruções na memória de instruções; e - exame de conteúdo da unidade de dados para identificar o endereço para a instrução dentro da memória de instruções compreende: - seleção de um da pluralidade de arquivos de configuração responsivos ao conteúdo da unidade de dados; e Identificação do endereço para a instrução em resposta à informação contida no um da pluralidade de arquivos de configuração que foi selecionado.
9. Método, de acordo com a reivindicação 1, em que a identificação da instrução, entre a pluralidade de instruções em uma memória de instruções, responsiva à característica da unidade de dados, compreende: - determinação de uma da pluralidade de taxas de ciclos de execução definidas em que a instrução será planejada para execução pelo circuito processador, responsivo à característica da unidade de dados; e - identificação do endereço para a instrução em resposta a uma da pluralidade de taxas de ciclos de execução definidas.
10. Método, de acordo com a reivindicação 1, em que a identificação da instrução, entre a pluralidade de instruções em uma memória de instruções, responsiva à característica da unidade de dados, compreende: - determinação de um de uma pluralidade de níveis de prioridade de execução definidos em que a instrução será priorizada para execução pelo circuito processador, responsivo à característica da unidade de dados; e - identificação do endereço para a instrução em resposta a um da pluralidade de níveis de prioridade de execução definidos.
11. Método, de acordo com a reivindicação 1, ainda compreendendo: - recebimento da unidade de dados e um ponteiro para a instrução na memória de instruções através de uma interface de programação de aplicação.
12. Produto de programa de computador compreendendo: - um meio de armazenamento legível por computador tendo um código de programa legível por computador nele concretizado, o código de programa legível por computador compreendendo: - código de programa legível por computador configurado para selecionar uma unidade de dados, dentre uma pluralidade de unidades de dados em uma memória de dados, que deve ser operada por um circuito processador; - código de programa legível por computador configurado para identificar uma instrução, entre uma pluralidade de instruções em uma memória de instruções, responsiva a uma característica da unidade de dados; - código de programa legível por computador configurado para solicitar a instrução da memória de instruções para execução pelo circuito processador para operar na unidade de dados.
13. Produto de programa de computador, de acordo com a reivindicação 12, em que o código de programa legível por computador configurado para identificar a instrução, entre a pluralidade de instruções na memória de instruções, responsiva à característica da unidade de dados, compreende: - código de programa legível por computador configurado para receber a unidade de dados da memória de dados; - código de programa legível por computador configurado para examinar conteúdo da unidade de dados para identificar um endereço para a instrução dentro da memória de instruções; e - código de programa legível por computador configurado para recuperar a instrução do endereço dentro da memória de instruções.
14. Produto de programa de computador, de acordo com a reivindicação 13, em que: - o código de programa legível por computador configurado para examinar o conteúdo da unidade de dados a fim de identificar o endereço para a instrução dentro da memória de instruções compreende código de programa legível por computador configurado para identificar um endereço de rede para acessar a memória de instruções de um nó de armazenamento de instruções através de uma rede de dados; e - o código de programa legível por computador configurado para recuperar a instrução do endereço dentro da unidade de dados compreende código de programa legível por computador configurado para comunicar uma mensagem através da rede de dados que é dirigida para o endereço de rede e solicita recuperação da instrução da memória de instruções do nó de armazenamento de instruções.
15.Produto de programa de computador, de acordo com a reivindicação 13, em que o código de programa legível por computador configurado para examinar o conteúdo da unidade de dados a fim de identificar o endereço para a instruções dentro da memória de instruções compreende: - código de programa legível por computador configurado para determinar o endereço para a instrução responsivo a uma pluralidade de localizações de bits definidas da unidade de dados; e - código de programa legível por computador configurado para determinar uma porção de conteúdo de dados da unidade de dados que deve ser operada pela instrução responsiva à outras localizações de bits definidas da unidade de dados.
16.Produto de programa de computador, de acordo com a reivindicação 13, em que o código de programa legível por computador configurado para examinar conteúdo da unidade de dados para identificar o endereço para a instrução dentro da memória de instruções, compreende: - código de programa legível por computador configurado para determinar uma localização dentro de um arquivo de configuração responsivo ao conteúdo da unidade de dados; - código de programa legível por computador configurado para obter informação da localização dentro do arquivo de configuração; e - código de programa legível por computador configurado para identificar o endereço para a instrução em resposta à informação.
17. Produto de programa de computador, de acordo com a reivindicação 13, em que: - uma pluralidade de arquivos de configuração estão associados com grupos diferentes da pluralidade de instruções na memória de instruções; e - o código de programa legível por computador configurado para examinar conteúdo da unidade de dados para identificar o endereço para a instrução dentro da memória de instruções compreende: - código de programa legível por computador configurado para selecionar um da pluralidade de arquivos de configuração responsivos ao conteúdo da unidade de dados; e - código de programa legível por computador configurado para identificar o endereço para a instrução em resposta à informação contida no um da pluralidade de arquivos de configuração que foi selecionando.
18. Produto de programa de computador, de acordo com a reivindicação 12, em que o código de programa legível por computador configurado para identificar a instrução, entre a pluralidade de instruções em uma memória de instruções, responsivo à característica da unidade de dados, compreende: - código de programa legível por computador configurado para selecionar uma de uma pluralidade de taxas de ciclos de execução definidas em que a instrução será planejada para execução pelo circuito processador, responsivo à característica da unidade de dados; e - código de programa legível por computador configurado para identificar o endereço para a instrução em resposta a uma da pluralidade de taxas de ciclos de execução definidas.
19. Produto de programas de computador, de acordo com a reivindicação 12, em que o código de programa legível por computador configurado para identificar a instrução, entre a pluralidade de instruções em uma memória de instruções, responsivo à característica da unidade de dados, compreende: - código de programa legível por computador configurado para selecionar um de uma pluralidade de níveis de prioridade de execução definidos em que a instrução será priorizada para execução pelo circuito processador responsivo à característica da unidade de dados; e - código de programa legível por computador configurado para identificar o endereço para a instrução em resposta a um da pluralidade de níveis de prioridade de execução definidos.
20. Produto de programa de computador, de acordo com a reivindicação 12, ainda compreendendo: - código de programa legível por computador configurado para receber a unidade de dados e um ponteiro para a instrução na memória de instruções através de uma interface de programação de aplicação.
21. Nó de processamento de dados compreendendo: - uma interface de rede para se comunicar através de uma rede de dados com uma memória de instruções; - uma memória de dados compreendendo uma pluralidade de unidades de dados; e - um circuito processador para selecionar uma unidade de dados dentre a pluralidade de unidades de dados na memória de dados para identificar uma instrução, entre uma pluralidade de instruções na memória de instruções, responsiva a um característica da unidade de dados e solicitar a instrução da memória de dados para execução pelo circuito processador para operar na unidade de dados.
22. Nó de processamento de dados, de acordo com a reivindicação 21, em que: - o circuito processador é ainda para receber a unidade de dados da memória de dados através da interface de rede, para identificar um endereço de Uniform Resource Locator (URL) do conteúdo da unidade de dados que identifica uma localização de um arquivo acessível pela rede na memória de instruções contendo a instrução e comunicar uma mensagem de solicitação de leitura de arquivo que identifica o endereço de URL através da interface de rede.
23. Nó de processamento de dados, de acordo com a reivindicação21,emque: - o circuito processador é ainda para determinar um endereço para a instrução dentro da memória de instruções responsiva a uma pluralidade de localizações de bits definidas da unidade de dados e determinar uma porção de conteúdo de dados da unidade de dados que deve ser operada pela instrução responsiva às outras localizações de bits definidas da unidade de dados.
24. Nó de processamento de dados, de acordo com a reivindicação 21, em que: - o circuito processador é ainda para determinar uma localização dentro de um arquivo de configuração responsivo ao conteúdo da unidade de dados, para obter informação da localização dentro do arquivo de configuração e identificar um endereço para a instrução dentro da memória de instruções em resposta à informação.
25. Nó de processamento de dados, de acordo com a reivindicação 21, em que: - o circuito processador é ainda para selecionar uma de uma pluralidade de taxas de ciclos de execução definidas em que a instrução será planejada para execução pelo circuito processador, responsiva à característica da unidade de dados e para identificar um endereço para a instrução dentro da memória de instruções em resposta a uma da pluralidade de taxas de ciclos de execução definidas.
26. Nó de processamento de dados, de acordo com a reivindicação 21, em que: - o circuito processador é ainda para selecionar um da pluralidade de níveis de prioridade de execução definidos em que a instrução será priorizada para execução pelo circuito processador, responsiva à característica da unidade de dados e identificar um endereço para a instrução dentro da memória de instruções em resposta a um da pluralidade de níveis de prioridade de execução definidos.
BRBR102013023836-8A 2012-10-23 2013-09-17 Sistema de processamento de dados com característica de dados com base em identificação de instruções correspondentes BR102013023836A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/658,372 US9632787B2 (en) 2012-10-23 2012-10-23 Data processing system with data characteristic based identification of corresponding instructions

Publications (1)

Publication Number Publication Date
BR102013023836A2 true BR102013023836A2 (pt) 2014-10-21

Family

ID=49356217

Family Applications (1)

Application Number Title Priority Date Filing Date
BRBR102013023836-8A BR102013023836A2 (pt) 2012-10-23 2013-09-17 Sistema de processamento de dados com característica de dados com base em identificação de instruções correspondentes

Country Status (4)

Country Link
US (1) US9632787B2 (pt)
EP (1) EP2733603B1 (pt)
CN (1) CN103777920B (pt)
BR (1) BR102013023836A2 (pt)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100783A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and system for control signalling in a data path module
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US10592164B2 (en) 2017-11-14 2020-03-17 International Business Machines Corporation Portions of configuration state registers in-memory
US10936283B2 (en) 2017-11-30 2021-03-02 International Business Machines Corporation Buffer size optimization in a hierarchical structure
US10896022B2 (en) 2017-11-30 2021-01-19 International Business Machines Corporation Sorting using pipelined compare units
US11354094B2 (en) 2017-11-30 2022-06-07 International Business Machines Corporation Hierarchical sort/merge structure using a request pipe
US11048475B2 (en) 2017-11-30 2021-06-29 International Business Machines Corporation Multi-cycle key compares for keys and records of variable length
US10417175B2 (en) * 2017-12-30 2019-09-17 Intel Corporation Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821174A (en) * 1984-03-20 1989-04-11 Westinghouse Electric Corp. Signal processing system including a bus control module
US6073159A (en) * 1996-12-31 2000-06-06 Compaq Computer Corporation Thread properties attribute vector based thread selection in multithreading processor
US6094708A (en) * 1997-05-06 2000-07-25 Cisco Technology, Inc. Secondary cache write-through blocking mechanism
US6216152B1 (en) 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
JP3676257B2 (ja) 2001-05-21 2005-07-27 松下電器産業株式会社 データ処理装置
FR2826471A1 (fr) * 2001-06-26 2002-12-27 Canal Plus Technologies Extension d'un logiciel dans un recepteur/decodeur de television numerique
TW576977B (en) * 2002-09-11 2004-02-21 Sunplus Technology Co Ltd Structure and method for planning control commands and data access
US7697429B2 (en) * 2006-07-10 2010-04-13 Scientific-Atlanta, Llc Enhancing a configuration file
JP5437878B2 (ja) * 2010-03-29 2014-03-12 ルネサスエレクトロニクス株式会社 情報処理装置
CN102541510B (zh) * 2011-12-27 2014-07-02 中山大学 一种指令缓存系统及其取指方法

Also Published As

Publication number Publication date
US20140115300A1 (en) 2014-04-24
EP2733603A1 (en) 2014-05-21
CN103777920B (zh) 2018-04-13
CN103777920A (zh) 2014-05-07
US9632787B2 (en) 2017-04-25
EP2733603B1 (en) 2018-03-21

Similar Documents

Publication Publication Date Title
BR102013023836A2 (pt) Sistema de processamento de dados com característica de dados com base em identificação de instruções correspondentes
CN108537543B (zh) 区块链数据的并行处理方法、装置、设备和存储介质
US10545781B2 (en) Dynamically deployed virtual machine
US20180081795A1 (en) Automated test generation for multi-interface enterprise virtualization management environment
US9665394B2 (en) Sharing application objects among multiple tenants
US10083193B2 (en) Efficient remote pointer sharing for enhanced access to key-value stores
CN111597148B (zh) 用于分布式文件系统的分布式元数据管理方法
US20130326478A1 (en) Version labeling in a version control system
US9253275B2 (en) Cognitive dynamic allocation in caching appliances
US20180101663A1 (en) Efficient retrosynthesis analysis
US10073646B2 (en) Multi-tier data synchronizer based on concurrent linked list
US11546431B2 (en) Efficient and extensive function groups with multi-instance function support for cloud based processing
US9853866B2 (en) Efficient parallel processing of a network with conflict constraints between nodes
BR112014014336B1 (pt) Método implementado por computador para dinamicamente distribuir dados e sistema de computador.
JP2022104872A (ja) バッファ保護における境界情報アクセスを提供する方法、システム、およびコンピュータ・プログラム
US10216562B2 (en) Generating diagnostic data
US20140164857A1 (en) Testing Disk Drives Shared by Multiple Processors in a Supercomputer Complex
US10241816B2 (en) Tag inheritance
US20190370186A1 (en) Cache management
US9398041B2 (en) Identifying stored vulnerabilities in a web service
US20230239317A1 (en) Identifying and Mitigating Security Vulnerabilities in Multi-Layer Infrastructure Stacks
US8539461B2 (en) Method for identifying memory of virtual machine and computer system thereof
US11687449B2 (en) Concurrent marking garbage collection
US11599636B1 (en) Systems and methods for managing and providing software packages which have undergone malware and/or vulnerability analysis
US11765236B2 (en) Efficient and extensive function groups with multi-instance function support for cloud based processing

Legal Events

Date Code Title Description
B03A Publication of an application: publication of a patent application or of a certificate of addition of invention
B06F Objections, documents and/or translations needed after an examination request according art. 34 industrial property law
B06U Preliminary requirement: requests with searches performed by other patent offices: suspension of the patent application procedure
B11B Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements