BRPI0807951A2

On-demand multi-thread multimedia processor

Abstract

This record has no abstract on file.

BRPI0807951A2, drawing sheet 1
Sheet 1 of 11

Term

1.4 yearsto projected expiry

Projected expiry 21 February 2028, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

27 claims: 5 independent, 22 dependent

  1. 1
    REIVINDICAÇÕES Dispositivo que inclui um processador de para suportar simultaneamente múltiplas o processador de multimídia compreendendo:recursos de armazenagem configuráveis para armazenar instruções, dados e informações de estado para as múltiplas aplicações;e unidades de processamento atribuíveis para executar processamento para as múltiplas aplicações, onde o processador de multimídia aloca uma porção configurável dos recursos de armazenagem para cada aplicação e dinamicamente atribui as unidades de processamento às múltiplas aplicações como solicitado pelas aplicações.
  2. 2
    Dispositivo, de acordo com a reivindicação 1, em que os recursos de armazenagem configuráveis compreendem um cache de instrução para armazenar instruções para as múltiplas aplicações, onde cada aplicação é alocada uma porção configurável do cache de instrução.
  3. 3
    Dispositivo, de acordo com a reivindicação 1, em que os recursos de armazenagem configuráveis compreendem bancos de registrador para armazenar dados para as múltiplas aplicações, em que cada aplicação é alocada uma porção configurável dos bancos de registrador.
  4. 4
    Dispositivo, de acordo com a reivindicação 1, em que os recursos de armazenagem configuráveis compreendem uma unidade de armazenagem para armazenar instruções ou dados para as múltiplas aplicações, a unidade de armazenagem sendo associada a uma memória virtual e uma memória física, em que cada aplicação é alocada uma porção configurável da memória virtual;e pelo menos uma tabela para mapear a porção da memória virtual alocada a cada aplicação para uma porção correspondente da memória física. 2/6
  5. 5
    Dispositivo, de acordo com a reivindicação 1, em que o processador de multimídia compreende ainda:uma unidade de controle de carga para buscar instruções para cada aplicação, como solicitado, a partir de uma memória cache ou uma memória principal para armazenagem na porção dos recursos de armazenagem alocados para a aplicação.
  6. 6
    Dispositivo, de acordo com a reivindicação 1, em que as unidades de processamento operam independentemente e cada unidade de processamento é atribuível a qualquer uma das múltiplas aplicações em uma dada partição de tempo.
  7. 7
    Dispositivo, de acordo com a reivindicação 1, em que o processador de multimídia desliga unidades de processamento não atribuíveis a qualquer uma das aplicações múltiplas.
  8. 8
    Dispositivo, de acordo com a reivindicação 1, em que as unidades de processamento compreendem pelo menos um entre um núcleo de unidade de lógica aritmética (ALU), um núcleo de função elementar, um núcleo de lógica, um amostrador de textura, uma unidade de controle de carga, e um controlador de fluxo.
  9. 9
    Dispositivo, de acordo com a reivindicação 1, em que o processador de multimídia compreende ainda:uma unidade de interface de entrada para receber de forma assíncrona, encadeamentos a partir das múltiplas aplicações;e uma unidade de interface de saída para fornecer, de forma assíncrona, resultados para as múltiplas aplicações.
  10. 10
    Dispositivo, de acordo com a reivindicação 1, em que o processador de multimídia ajusta velocidade de 3/6 10, em que carregamento relógio com base em carregamento do processador de multimídia para reduzir consumo de energia.
  11. 11
    Dispositivo, de acordo com a reivindicação o processador de multimídia determina o com base em percentagem de tempo que as unidades de processamento são atribuídas em um período de tempo específico.
  12. 12
    Dispositivo, de acordo com a reivindicação 1, em que o processador de multimídia suporta simultaneamente uma pluralidade de encadeamentos para as múltiplas aplicações.
  13. 13
    Dispositivo, de acordo com a reivindicação 12, em que os recursos de armazenagem configuráveis compreendem uma pluralidade de registradores de contexto para a pluralidade de encadeamentos, cada registrador de contexto armazenando informações de estado para um encadeamento associado.
  14. 14
    Dispositivo, de acordo com a reivindicação 13, em que as informações de estado para cada encadeamento compreendem pelo menos um entre um contador de programa, uma pilha para armazenar ponteiros para controle de fluxo de endereço para endereçamento de atributo para armazenar de cálculo de condição, e um contador de referência de carga para rastrear solicitações de carga e condições de retorno de dados.
  15. 15
    Dispositivo, de acordo com a reivindicação 12, em que cada encadeamento opera em uma unidade de dados de até um tamanho predeterminado.
  16. 16
    Dispositivo, de acordo com a reivindicação 12, em que cada encadeamento opera em até quatro pixels ou até quatro vértices em uma imagem. registradores registradores dinâmico, relativo, resultados 4/6
  17. 17
    Dispositivo, de acordo com a reivindicação 1, em que o processador de multimídia suporta um único conjunto de instruções aplicáveis para as múltiplas aplicações.
  18. 18
    Dispositivo, de acordo com a reivindicação 1, em que as múltiplas aplicações compreendem pelo menos uma entre uma aplicação de gráfico, uma aplicação de áudio, uma aplicação de vídeo, uma aplicação de câmera, e uma aplicação de jogos.
  19. 19
    Método compreendendo:suportar simultaneamente múltiplas aplicações;alocar uma porção configurável de recursos de armazenagem para cada aplicação para armazenar instruções, dados, e informações de estado para a aplicação;e atribuir dinamicamente unidades de processamento para as múltiplas aplicações como solicitado pelas aplicações.
  20. 20
    Método, de acordo com a reivindicação 19, em que a alocação compreende alocar uma porção configurável de um cache de instrução para cada aplicação para armazenar instruções para a aplicação.
  21. 21
    Método, de acordo com a reivindicação 19, em que a alocação compreende alocar uma porção configurável de bancos de registrador para cada aplicação para armazenar dados para a aplicação.
  22. 22
    Método, de acordo com a reivindicação 19, compreendendo ainda:receber de forma assíncrona encadeamentos a partir das múltiplas aplicações;e fornecer de forma assíncrona resultados para as múltiplas aplicações. 5/6
  23. 23
    Equipamento compreendendo:meio para suportar simultaneamente múltiplas aplicações;meio para alocar uma porção configurável de recursos de armazenagem para cada aplicação para armazenar instruções, dados, e informações de estado para a aplicação;e meio para atribuir dinamicamente unidades de processamento para as múltiplas aplicações como solicitado pelas aplicações.
  24. 24
    Equipamento, de acordo com a reivindicação 23, em que o meio para alocar compreende meio para alocar uma porção configurável de um cache de instrução para cada aplicação para armazenar instruções para a aplicação.
  25. 25
    Equipamento, de acordo com a reivindicação 23, em que o meio para alocar compreende meio para alocar uma porção configurável de bancos de registrador para cada aplicação para armazenar dados para a aplicação.
  26. 26
    Equipamento, de acordo com a reivindicação 23, compreendendo ainda:meio para receber, de forma assíncrona, encadeamentos a partir das múltiplas aplicações;e meio para fornecer, de forma assíncrona, resultados para as múltiplas aplicações.
  27. 27
    Dispositivo sem fio compreendendo:um processador de multimídia para suportar simultaneamente múltiplas aplicações, o processador de multimídia compreendendo recursos de armazenagem configuráveis para armazenar instruções, dados e informações de estado para as múltiplas aplicações, e 6/6 unidades de processamento atribuíveis para executar processamento para as múltiplas aplicações, em que o processador de multimídia aloca uma porção configurável dos recursos de armazenagem a cada aplicação e 5 dinamicamente atribui as unidades de processamento às múltiplas aplicações como solicitado pelas aplicações;e uma memória cache para armazenar instruções e dados para carregamento para os recursos de armazenagem. 1/10 Ο CC ΧΖ Ο 1^. φ φ σ σ Φ Φ J0 σ ο <5 £= φ 32 c Ο c ο Ο ο οο XJο Osl ο <ο Φ Õ Ε ο Τ3 Ο σ (0 w « ν ο ο CM <Μ Φ Ό Φ ι_ -1—* C LU σ> 'Φ > ο 2 2 $? ω α> ο ΙΕ Φ < Ό <ο· ÍFRJ <Λ ο Έ φ Φ Ό Ο φ φ 8 Φ 5? Ω. Ο «5 <f LL1 ω ο -·—» c φ ...§ φ φ Ο Φ Ο C LU Φ *σ ο ι_ ιφ 4= ο Έ ™ Φ Ο CL ~ •*3CM ο «ο η Φ ,π φ as Ό Ό t Ό Τ3 Έ φ .22 φ φ ζ> Ό C ο CO V6 ”· Γ 7 Ιφ ο φ ο φ CL 2/10 Processador de Multimídia £Z — C LU LU 3/10 <ο ΙΟ te ο Ό (β 4/10 m cl CL < xr CL CL < m cl CL < m cl CL < NQ. CL < CN CL CL < CO Q. Q. < CL CL CL CL < co CL Q. < CL CL < m CL CL < co CL CL CN CL CL CO co + CN Partição de Tempo
Independent claims27