BRPI0612690A2 - sistema e método de controlar potência em processador multiencadeado - Google Patents

sistema e método de controlar potência em processador multiencadeado Download PDF

Info

Publication number
BRPI0612690A2
BRPI0612690A2 BRPI0612690-1A BRPI0612690A BRPI0612690A2 BR PI0612690 A2 BRPI0612690 A2 BR PI0612690A2 BR PI0612690 A BRPI0612690 A BR PI0612690A BR PI0612690 A2 BRPI0612690 A2 BR PI0612690A2
Authority
BR
Brazil
Prior art keywords
global
program
power
resources
detection circuit
Prior art date
Application number
BRPI0612690-1A
Other languages
English (en)
Inventor
William C Anderson
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of BRPI0612690A2 publication Critical patent/BRPI0612690A2/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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Power Sources (AREA)

Abstract

SISTEMA E METODO DE CONTROLAR POTêNCIA EM PROCESSADOR MULT IENCADEADO é revelado um equipamento processador multiencadeado que inclui uma pluralidade de unidade de execução para executar uma pluralidade de cadeias de programa e inclui um circuito de detecção de baixa potência global. O circuito de detecção de baixa potência global inclui uma entrada que responde a cada um da pluralidade de cadeias de programa. A entrada indica um nível de atividade de execução para cada um da pluralidade de cadeias de programa. O circuito de detecção de baixa potência global compreende também uma lógica para avaliar o nível de atividade de cada um da pluralidade de cadeias de programa. A lógica gera um sinal de nível de potência. Além disto, o circuito de detecção de baixa potência global inclui uma saida que responde ao sinal de nível de potência. A saída é acoplada a um ou mais recursos globais dentro do processador multiencadeado, e a saída controlaseletivamente a quantidade de energia fornecida ao recurso ou recursos globais.

Description

"SISTEMA E MÉTODO DE CONTROLARPOTÊNCIA EM PROCESSADOR MULTIENCADEADO"
FUNDAMENTOS
I. Campo
A presente descrição refere-se de maneira geral aprocessadores de sinais digitais e equipamentos queutilizam tais processadores. Mais especificamente, arevelação refere-se ao controle da potência de um ou maisrecursos dentro de um processador de sinais digitais ouconectados a um processador de sinais digitais.
II. Descrição da Técnica Relacionada.
Os avanços na tecnologia têm resultado emequipamentos de computação pessoais menores e maispoderosos. Por exemplo, existem atualmente diversosequipamentos de computação pessoais portáteis, que incluemequipamentos de computação sem fio, tais como telefones semfio portáteis, assistentes digitais pessoais (PDAs) eequipamentos de paging que são pequenos, leves e facilmenteportados pelos usuários. Mais especificamente, telefonessem fio portáteis, tais como telefones celulares etelefones IP, podem comunicar pacotes de voz e dadosatravés de redes sem fio. Além disto, muitos dessestelefones sem fio incluem outros tipos de equipamento quesão incorporados a eles. Por exemplo, um telefone sem fiopode incluir também uma câmera parada digital, uma câmerade video digital, um gravador digital e um tocador dearquivos de áudio. Além disto, tais telefones sem fio podemincluir uma interface com a Web que pode ser utilizada paraacessar a Internet. Sendo assim, estes telefones sem fioincluem capacidades de computação significativas.
Tipicamente, à medida que estes equipamentos setornam menores e mais poderosos, eles se tornam cada vezmais limitados em recursos. Por exemplo, o tamanho da tela,a quantidade de memória e espaço no sistema de arquivosdisponíveis e a quantidade de capacidades de entrada esaída podem ser limitados pelo pequeno tamanho doequipamento. Além disto, o tamanho da bateria, a quantidadede potência fornecida pela bateria e a vida útil da bateriasão também limitados. Freqüentemente, embora o equipamentoao qual é incorporado um processador de sinais digitaisesteja no modo de reserva e desligado, pode ocorrer umadispersão no processador de sinais digitais. Em outraspalavras, um ou mais componentes dentro do processador desinais digitais ou acoplados ao processador de sinaisdigitais podem continuar a drenar energia da bateria.
Por conseguinte, seria vantajoso obter-se ummétodo aperfeiçoado de controle de potência dentro de umprocessador de sinais digitais.
SUMÁRIO
É revelado um equipamento processadormultiencadeado que inclui uma pluralidade de unidades deexecução para executar uma pluralidade de cadeias deprograma e inclui um circuito de detecção de baixa potênciaglobal. O circuito de detecção de baixa potência globalinclui uma entrada que responde a cada uma da pluralidadede cadeias de programa. A entrada indica um nível deatividade de execução para cada uma da pluralidade decadeias de programa. O circuito de detecção de baixapotência global compreende também uma lógica para avaliar onível de atividade de cada uma da pluralidade de cadeias deprograma, e a lógica gera um sinal de nível de potência.
Além disto, o circuito de detecção de baixa potência globalinclui uma saída que responde ao sinal de nível depotência. A saída é acoplada a um ou mais recursos globaisdentro do processador multiencadeado, e a saída controlaseletivamente a quantidade de energia fornecida ao recursoou recursos globais.
Em uma modalidade especifica, cada entradaassociada à pluralidade de cadeias de programa indica queuma cadeia de programa associada está no modo de espera ouno modo ativo. Além disto, em uma modalidade especifica, asaída é um sinal de desligar de força global que desliga aforça para o recurso ou recursos globais depois que alógica determina que cada uma da pluralidade de cadeiasestá no modo de espera.
Em outra modalidade específica, a entrada paracada uma da pluralidade de cadeias de programa indica quecada uma da pluralidade de cadeias está entrando no modo deespera por vários ciclos de relógio. Além do mais, ocircuito de detecção de baixa energia global transmite umsinal de desligar energia global quando todos as cadeiasestão entrando no modo de espera por vários ciclos derelógio e quando o número mais baixo dos ciclos de relógiodurante os quais uma cadeia de programa permanecerá no modode espera está acima de um limite predeterminado.
Em ainda outra modalidade específica, oequipamento compreende uma memória, e uma pluralidade deinstruções para cada uma da pluralidade de cadeias deprograma é armazenada dentro da memória. Um seqüenciador éacoplado à memória. 0 seqüenciador busca a pluralidade deinstruções para cada uma da pluralidade de cadeias deprograma da memória e transmite a pluralidade de instruçõesa pelo menos uma da pluralidade de unidades de execução. Emuma modalidade específica, o seqüenciador suportainstruções do 'tipo de texto de instrução muito extenso(VLIW). Além disto, em uma modalidade específica, oseqüenciador suporta também a execução de instruções dotipo superescalar.Em uma modalidade especifica, pelo menos uma dapluralidade de unidades de execução é uma unidade deexecução do tipo de multiplicação e acumulação (MAC) . Alémdisto, pelo menos uma da pluralidade de unidades deexecução de instruções é uma unidade de execução deinstruções do tipo de carregamento-armazenamento de dados.
Em outra modalidade, é revelado um equipamentoprocessador multiencadeado que inclui uma pluralidade derecursos locais, uma pluralidade de recursos globais e umapluralidade de cadeias de programa. Cada uma da pluralidadede cadeias de programa utiliza pelo menos um da pluralidadede recursos locais e pelo menos um da pluralidade derecursos globais. Além disto, o equipamento processadormultiencadeado de baixa potência inclui um circuito dedetecção de baixa potência global que é acoplado àpluralidade de recursos globais. O circuito de detecção debaixa potência global responde à pluralidade de cadeias deprograma de modo a desligar seletivamente a força para apluralidade de recursos globais quando todas as cadeiasestão no modo de espera.
Em ainda outra modalidade, é revelado um métodode controle da potência que é aplicada a um ou maisrecursos globais dentro de um processador multiencadeado, oqual inclui receber uma entrada de cada uma de umapluralidade de cadeias e controlar seletivamente a potênciaque é aplicada ao recurso ou recursos globais, com base naentrada da pluralidade de cadeias de programa.
Em ainda outra modalidade, é revelado um métodode controle de potência para um ou mais recursos globaisdentro de um processador multiencadeado, o qual incluireceber uma indicação de cada uma dentre uma pluralidade decadeias de programa em um circuito de detecção de baixapotência de que cada uma da pluralidade de cadeias deprogramação está entrando no modo de espera durante váriosciclos de relógio, determinar o número mínimo de ciclos derelógio durante os quais qualquer uma da pluralidade decadeias estará em espera e armazenar esse número mínimo deciclos de relógio em um registrador. 0 método inclui tambémdesligar a energia para o recurso ou recursos globais,decrementar o contador de relógio começando do númeromínimo de ciclos de relógio armazenados no registrador erestituir a energia para o recurso ou recursos globaisantes que o contador de relógio chegue a zero.
Em ainda outra modalidade, é apresentado ummétodo para depurar um processador de sinais digitais devárias cadeias que inclui colocar um equipamento queincorpora o processador de sinais digitais de váriascadeias em um modo de reserva, monitorar a saída de umcircuito de detecção de baixa potência global em resposta auma pluralidade de cadeias de programa do processador desinais digitais de várias cadeias e monitorar se um sinalde desligar energia global é transmitido pela saída docircuito de detecção de baixa potência global.
Em outra modalidade, é revelado um sistema paradepurar um processador de sinais digitais de várias cadeiasque inclui um computador e uma interface com o Grupo deAções de Teste Conjuntas (JTAG) no computador. A interfaceJTAG no computador é acoplada a uma interface JTAG que é,por sua vez, acoplada ao processador de sinais digitais devárias cadeias. Além disto, a interface JTAG no computadoré configurada para receber um sinal de desligar energiaglobal de um circuito de detecção de baixa potência globaldentro do processador de sinais digitais de várias cadeias.
Além disto, a interface JTAG no computador é configuradapara receber um sinal de estado de baixa potência de cadauma da pluralidade de cadeias de programa. O sinal deestado de baixa potência indica se uma cadeia de programaassociada está no modo de espera ou não no modo de espera.
Em ainda outra modalidade, é apresentado umequipamento de comunicação portátil que inclui umprocessador de sinais digitais e um equipamento periféricoque é externo ao processador de sinais digitais e que éacoplado ao processador de sinais digitais. Nestamodalidade, o processador de sinais digitais inclui umapluralidade de cadeias de programa, uma pluralidade derecursos globais e um circuito de detecção de baixapotência global, que recebe um sinal de entrada associado acada uma da pluralidade de cadeias de programa e transmiteum sinal à pluralidade de recursos globais. 0 circuito dedetecção de baixa potência global transmite um sinal dedesligar energia global para desligar a energia para apluralidade de recursos globais com base nos sinais deentrada para a pluralidade de cadeias de programa. Nestamodalidade, os sinais de entrada para cada uma dapluralidade de cadeias de programa indicam que cada uma dapluralidade de cadeias de programa está no modo de espera.
Além disto, o processador de sinais digitais transmite umsinal de desligar energia para o equipamento periférico.
Em ainda outra modalidade, é revelado um circuitode detecção de baixa potência global dentro de umprocessador multiencadeado que inclui um dispositivo parareceber uma entrada associada a cada uma dentre umapluralidade de cadeias de programa e um dispositivo paracontrolar seletivamente a potência aplicada ao recurso ourecursos globais, com base na entrada na pluralidade decadeias de encadeamento.
Em outra modalidade, é apresentado um circuito dedetecção de baixa potência global dentro de um processadormultiencadeado que inclui um dispositivo para receber umaindicação, para cada uma dentre uma pluralidade de cadeiasde programa em um circuito de detecção de baixa potência,de que cada uma da pluralidade de cadeias de programa vaientrar em espera durante vários ciclos de relógio. Alémdisto, o circuito de detecção de baixa potência globalinclui um dispositivo para determinar um número mínimo deciclos de relógio durante os quais qualquer uma dapluralidade de cadeias de programa vai ficar em espera, umdispositivo para armazenar esse número mínimo de ciclos derelógio em um registrador e um dispositivo para desligar aenergia para o recurso ou recursos globais. Além disto, ocircuito de detecção de baixa potência global inclui umdispositivo para decrementar um contador de relógio,começando do número mínimo de ciclos de relógio armazenadosno registrador e um dispositivo para restituir a energiapara o recurso ou recursos globais antes que o contador derelógio chegue a zero.
Em ainda outra modalidade, é revelado umequipamento de depuração que inclui um dispositivo paramonitorar uma saída de um circuito de detecção de baixapotência global em resposta a uma pluralidade de cadeias deprograma do processador de sinais digitais de cadeias e umdispositivo para monitorar se um sinal para desligarenergia global é transmitido pela saída do circuito dedetecção de baixa potência global.
Uma vantagem de uma ou mais modalidades aquireveladas pode inclui o desligamento de um ou maiscomponentes dentro de um processador de sinais digitaisquando o equipamento ao qual o processador de sinaisdigitais é incorporado está no modo de reserva.
Outra vantagem de uma ou mais modalidades aquireveladas pode incluir o desligamento de um ou maiscomponentes acoplados a um processador de sinais digitaisquando o equipamento ao qual o processador de sinaisdigitais é incorporado está no modo de reserva.
Ainda outra vantagem pode incluir determinar seum circuito de detecção de baixa potência global dentro deum processador de sinais digitais transmite um sinal paradesligar energia global durante o funcionamento.
Ainda outra vantagem pode incluir determinar seuma ou mais cadeias de programa executadas por umprocessador de sinais digitais de várias cadeias entra nomodo de espera durante o funcionamento.
Ainda outra vantagem pode incluir ligar a energiapara um ou mais componentes dentro do processador de sinaisdigitais antes que o componente exija energia para permitirque um capacitor de força atinja carga total.
Outros aspectos, vantagens e características dapresente revelação se tornarão evidentes após o exame detodo o pedido, que inclui as seguintes seções: BreveDescrição dos Desenhos, Descrição Detalhada eReivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
Os aspectos e as vantagens resultantes dasmodalidades aqui descritas se tornarão mais prontamenteevidentes pela referência à descrição detalhada seguintequando considerada em conjunto com os desenhos anexos, nosquais:
A Figura 1 é um diagrama geral de um processadorde sinais digitais exemplar;
A Figura 2 é um diagrama geral de um circuito dedetecção de baixa potência global que pode ser incluídodentro do processador de sinais digitais mostrado na Figura 1;A Figura 3 é um fluxograma que mostra um métodode controle de potência dentro do processador de sinaisdigitais mostrado na Figura 1;
A Figura 4 é um fluxograma que mostra um métodoalternativo de controle de potência dentro do processadorde sinais digitais mostrado na Figura 1;
A Figura 5 é um diagrama geral de um sistema paradepurar um processador de sinais digitais;
A Figura 6 é um fluxograma que mostra um métodopara depurar um processador de sinais digitais;
A Figura 7 é um diagrama que mostra ofuncionamento com várias cadeias do processador de sinaisdigitais mostrado na Figura 1;
A Figura 8 é um diagrama geral de um equipamentode comunicação portátil que incorpora um processador desinais digitais;
A Figura 9 é um diagrama geral de um telefonecelular exemplar que incorpora um processador de sinaisdigitais;
A Figura 10 é um diagrama geral de um telefone deProtocolo Internet que incorpora um processador de sinaisdigitais;
A Figura 11 é um diagrama geral de um assistentedigital portátil exemplar que incorpora um processador desinais digitais; e
A Figura 12 é um diagrama geral de um tocador dearquivos de áudio exemplar que incorpora um processador desinais digitais.
DESCRIÇÃO DETALHADA
A Figura 1 mostra um diagrama de blocos de umamodalidade exemplar, não limitadora, de um processador desinais digitais (DSP) 100. Conforme mostrado na Figura 1, oDSP 100 inclui uma memória 102, que é acoplada a umseqüenciador 104 por meio de um barramento 106. Em umamodalidade especifica, o barramento 106 é um barramento desessenta e quatro (64) bits e o seqüenciador 104 éconfigurado para recuperar instruções que têm uma extensãode trinta e dois bits (32) da memória 102. O seqüenciador104 é acoplado a uma primeira unidade de execução deinstruções 108, uma segunda unidade de execução deinstruções 110, uma terceira unidade de execução deinstruções 112 e uma quarta unidade de execução deinstruções 114. A Figura 1 indica que cada unidade deexecução de instruções 108, 110, 112, 114 pode ser acopladaa um arquivo de registros geral 116 por meio de um primeirobarramento 118. O arquivo registrador geral 116 pode sertambém acoplado ao seqüenciador 104 e à memória 102 pormeio de um segundo barramento 120.
Em uma modalidade especifica, a memória 102inclui um primeiro cache de instruções 122, um segundocache de instruções 124, um terceiro cache de instruções126, um quarto cache de instruções 128, um quinto cache deinstruções 130 e um sexto cache de instruções 132. Duranteo funcionamento, os caches de instruções 22, 124, 126, 128,130, 132 podem ser acessados independentemente uns dosoutros pelo seqüenciador 104. Além disto, em uma modalidadeespecifica, cada cache de instruções 122, 124, 126, 128,130, 132 inclui uma pluralidade de instruções, dados dedirecionamento de instruções para cada instrução e dados depré-codificação de instruções para cada instrução.
Conforme mostrado na Figura 1, a memória 102 podeincluir uma fila de instruções 134, que inclui uma fila deinstruções para cada de instruções 122, 124, 126, 128, 130,132. Em particular, a fila de instruções 134 inclui umaprimeira fila de instruções 136 que está associada aoprimeiro cache de instruções 122, uma segunda fila deinstruções 138 que está associada ao segundo cache deinstruções 124, uma terceira fila de instruções 140 queestá associada ao terceiro cache de instruções 126, umaquarta fila de instruções 142 que está associada ao quartocache de instruções 128, uma quinta fila de instruções 144que está associada ao quinto cache de instruções 130 e umasexta fila de instruções 146 que está associada ao sextocache de instruções 132.
Durante o funcionamento, o seqüenciador 104 podebuscar instruções de cada cache de instruções 122, 124,126, 128, 130, 132 por meio da fila de instruções 134. Emuma modalidade, o seqüenciador 104 busca instruções dasfilas de instruções 136, 138, 140, 142, 144, 146 na ordemda primeira fila de instruções 136 até a sexta fila deinstruções 146. Após buscar uma instrução da sexta fila deinstruções 146, o seqüenciador 104 retorna à primeira filade instruções 136 e continua buscando instruções das filasde instruções 136, 138, 140, 142, 144, 146 na ordem.
Em uma modalidade especifica, o seqüenciador 104opera em um primeiro modo como um seqüenciador super-escalar bidirecional que suporta instruções super-escalares. Além disto, em uma modalidade especifica, oseqüenciador opera também em um segundo modo, que suportainstruções de texto de instruções muito extenso (VLIW). Emparticular, o seqüenciador pode operar como um seqüenciadorVLIW quadridirecional. Em uma modalidade especifica, aprimeira unidade de execução de instruções 108 podeexecutar uma instrução de carregamento, uma instrução dearmazenamento e uma instrução da unidade de lógicaaritmética (ALU). A segunda unidade de execução deinstruções 110 pode executar uma instrução de carregamentoe uma instrução ALU. Além disto, a terceira unidade deexecução de instruções pode executar uma instrução demultiplicação, uma instrução de multiplicação-acumulação(MAC), uma instrução ALU, uma construção de reorientação deprograma e uma instrução de registro de transferência (CR).
A Figura 1 indica também que a quarta unidade de execuçãode instruções 114 pode executar uma instrução dedeslocamento (S) , uma instrução ALU, uma construção dereorientação de programa e uma instrução CR. Em umamodalidade especifica, o a construção de reorientação deprograma pode se um Ioop de overhead, uma instrução dedesvio, uma instrução de pulo (J), etc.
Conforme mostrado na Figura 1, o registradorgeral 116 inclui um primeiro arquivo registrador unificado148, um segundo arquivo registrador unificado 150, umterceiro arquivo registrador unificado 152, um quartoarquivo registrador unificado 154, um quinto arquivoregistrador unificado 156 e um sexto arquivo registradorunificado 158. Cada arquivo registrador unificado 148, 150,152, 154, 156, 158 corresponde a um cache de instruções122, 124, 126, 128, 130, 132 dentro da memórial02. Alémdisto, em uma modalidade especifica, cada arquivoregistrador unificado 148, 150, 152, 154. 156, 158 tem amesma construção e inclui um número igual de operandos dedados ou endereços.
Durante o funcionamento do DSP 100, as instruçõessão buscadas da memória 102 pelo seqüenciador 104, enviadasàs unidades de execução de instruções 108, 110, 112, 114 eexecutadas nas unidades de execução de instruções 108, 110,112, 112, 114. Os resultados em cada unidade de execução deinstruções 108, 110, 112, 113 podem se gravados noregistrador geral 116, isto é, em um dos arquivosregistradores unificados 148, 150, 152, 154, 156, 158.
A Figura 1 indica também que o DSP 100 podeincluir um sistema de controle de potência 160, que podeser utilizado para controlar a potência dentro do DSP 100.
Conforme mostrado, o sistema de controle de potência 160pode ser acoplado à memória 102, ao seqüenciador 104 e acada um das unidades de execução de instruções 108, 110,112, 114. Além disto, o sistema de controle de potência 160pode ser acoplado a outros componentes dentro do DSP 100,ou acoplado ao DSP 110, que consumem energia.
Com referência à Figura 2, é mostrado um sistemade controle de potência, que é de modo geral designado por200. O sistema de controle de potência 200 mostrado naFigura 2 é uma modalidade exemplar, não limitadora, dosistema de controle de potência 160 descrito em conjuntocom a figura 1. Em uma modalidade especifica, o sistema decontrole de potência 200 pode ser utilizado para controlara potência dentro de um DSP de várias cadeias, como, porexemplo, o DSP de várias cadeias 100 mostrado na Figura 1.
Conforme mostrado na Figura 2, o sistema 200 inclui umcircuito de detecção de baixa potência global (GLPDC) 202.
Em uma modalidade especifica, o GLPDC 202 inclui umaprimeira entrada 204, uma segunda entrada 206, uma terceiraentrada 208, uma quarta entrada 210, uma quinta entrada 212e uma sexta entrada 214. Além disto, em uma modalidadeespecifica, o GLPDC 202 inclui uma saida 216.
A Figura 2 indica que um primeiro módulo deestado de cadeia de programa 218 é acoplado ao GLPDC 202,como, por exemplo, à primeira entrada 204 do GLPDC 202.Conforme mostrado, o primeiro módulo de estado de cadeia218 inclui um detector de estado de baixa potência 220, quetransmite um sinal de estado 222 ao GLPDC 202. Em umamodalidade especifica, o sinal de estado 222 indica se ounão uma primeira cadeia de programa associada ao primeiromódulo de estado de cadeia de programa 218 está no modo deespera. Além disto, em uma modalidade especifica, oprimeiro módulo de estado de cadeia de programa 218 éacoplado a pelo menos um recurso local 224.
Conforme mostrado na Figura 2, um segundo módulode estado de cadeia de programa 226 é acoplado ao GLPDC202, como, por exemplo, à segunda entrada 206 do GLPDC 202.
Conforme mostrado, o segundo módulo de estado de cadeia 22 6inclui um detector de estado de baixa potência 228, quetransmite um sinal de estado 230 ao GLPDC 202. Em umamodalidade especifica, o sinal de estado 230 inclui se ounão uma segunda cadeia de programa associada ao segundomódulo de estado de cadeia de programa 226 está no modo deespera. Além disto, em uma modalidade especifica, o segundomódulo de estado de cadeia de programa 226 é acoplado apelo menos um recurso local 323.
A Figura 2 mostra também um terceiro módulo deestado de cadeia de programa 234, que é acoplado ao GLPDC202, como, por exemplo, à terceira entrada 208 do GLPDC202. Conforme mostrado, o terceiro módulo de estado decadeia de programa 234 inclui um detector de estado debaixa potência 236, que transmite um sinal de estado 238 aoGLPDC 202. Em uma modalidade especifica, o sinal de estado238 indica se ou não uma terceira cadeia de programaassociada ao terceiro módulo de estado de cadeia deprograma 234 está no modo de espera. Além disto, em umamodalidade especifica, o terceiro módulo de estado decadeia de programa 234 é acoplado a pelo menos um recursolocal 240.
Conforme mostrado na Figura 2, um quarto módulode estado de cadeia de programa 242 é acoplado ao GLPCD202, como, por exemplo, à quarta entrada 210 do GLPDC 202.
Conforme mostrado, o quarto módulo de estado de cadeia deprograma 242 inclui um detector de estado de baixa potência244, que transmite um sinal de estado 246 ao GLPDC 202. Emuma modalidade especifica, o sinal de estado 246 indica seou não uma quarta cadeia de programa associada ao quartomódulo de estado de cadeia de programa 242 está no modo deespera. Além disto, em uma modalidade especifica, o quartomódulo de estado de cadeia de programa 242 é acoplado apelo menos um recurso local 248.
A Figura 2 indica que um quinto módulo de estadode cadeia de programa 250 é acoplado ao GLPDC 202, como,por exemplo, à quinta entrada 212 do GLPDC 202. Conformemostrado, o quinto módulo de estado de cadeia de programa250 inclui um detector de estado de baixa potência 252, quetransmite um sinal de estado 254 ao GLPDC 202. Em umamodalidade especifica, o sinal de estado 254 indica se ounão uma quinta cadeia de programa associada ao quintomódulo de estado de cadeia de programa 250 está no modo deespera. Além disto, em uma modalidade especifica, o quintomódulo de estado de cadeia de programa 250 é acoplado apelo menos um recurso local 256.
Além disso, conforme mostrado na Figura 2, umsexto módulo de estado de cadeia de programa 258 é acopladoao GLPDC 202, como, por exemplo, à sexta entrada 214 doGLPDC 202. Conforme mostrado, o sexto módulo de estado decadeia de programa 258 inclui um detector de estado debaixa potência 260, que transmite um sinal de estado 262 aoGLPDC 202. Em uma modalidade especifica, o sinal de estado262 indica se ou não uma sexta cadeia de programa associadaao sexto módulo de estado de cadeia de programa 258 está nomodo de espera. Além disto, em uma modalidade especifica, osexto módulo de estado de cadeia de programa 258 é acopladoa pelo menos um recurso local 264.
Conforme mostrado na Figura 2, um primeirorecurso global 266, um segundo recurso global 268 e umterceiro recurso global 270 são acoplados ao GLPDC 202,como, por exemplo, à saída 216 do GLPDC 202. Em umamodalidade específica, os recursos globais 268, 270, 277podem incluir unidades de execução de instruções, caches dedados, caches de instruções, árvores de relógio (s), etc. Emuma modalidade específica, um comutador centralizado único272 é instalado entre os recursos globais 268, 270, 272 e oGLPDC 202. Em uma modalidade alternativa, uma pluralidadede comutadores distribuídos, como, por exemplo, um primeirocomutador distribuído 274, um segundo comutador distribuído276 e um terceiro comutador distribuído 278 (mostrados emlinhas tracejadas) são instalados entre o GLPDC 202 e osrecursos globais 268, 270, 272. Por exemplo, o primeirocomutador distribuído 274 é acoplado ao primeiro recursoglobal 266 entre o primeiro recurso global 266 e o GLPDC202, o segundo comutador distribuído 276 é acoplado aosegundo recurso global 268 entre o segundo recurso global268 e o GLPDC 202 e o terceiro comutador distribuído 278 éacoplado ao terceiro recurso global 270 entre o terceirorecurso global 270 e o GLPDC 202.
Em uma modalidade específica, o GLPDC 202 incluiuma lógica de detecção 280, que pode ser utilizada paradetectar quando cada um dos módulos de estado de cadeia deprograma 218, 226, 234, 242, 250, 258 indicam que ascadeias de programa associadas estão no modo de espera. Setodas as cadeias de programa associadas estiverem no modode espera, o GLPDC 202 pode transmitir um sinal de desligarde baixa potência global 282 ao comutador centralizadoúnico 272 de modo a desenergizar os recursos globais 266,268, 270. Em uma modalidade alternativa, o GLPDC 202 podetransmitir o sinal de desligar de baixa potência global 282a cada um dos comutadores distribuídos 274, 276, 278 demodo a desenergizar os recursos globais 266, 268, 270. Emuma modalidade alternativa, o GLPDC 202 pode transmitir Umsinal de desligar energia do sistema 284 a um ou mais pinosde entrada/saida 286, 288 de modo a desligar a energia paraum ou mais componentes periféricos selecionados acopladosao processador de sinais digitais no . qual o GLPDC 202 éinstalado. Em uma modalidade ilustrativa, os componentesperiféricos podem um incluir um controlador de exibição, umcontrolador de tela sensível ao toque, um controlador debarramento serial universal, um codificador/decodifiçador(CODEC) de áudio, um codificador/decodificador (CODEC) devoz, um modulador/demodulador (MODEM) para comunicações semfio, uma memória e um equipamento de entrada.
Com referência à Figura 3, é mostrado um métodode controle de potência dentro de um processador de sinaisdigitais (DSP)), que começa no bloco 300. No bloco 300,quando o equipamento ao qual o DSP é incorporado entra nomodo de reserva, são executadas as seguintes etapas. Nobloco 302, um circuito de detecção de baixa potência globaldentro do DSP recebe um sinal de estado de cada módulo deestado de cadeia de programa. Na etapa de decisão 304, ocircuito de detecção de baixa potência global determina secada sinal de estado de cada módulo de estado de cadeia deprograma indica que cada cadeia de programa está no modo deespera. Se não estiver, o método continua até a etapa dedecisão 306 e o circuito de detecção de baixa potênciaglobal determina se o equipamento saiu do modo de reserva.Se tiver saído, o método termina no estado 308. Se oequipamento não tiver saído do modo de reserva, o métodovolta ao bloco 302 e continua conforme descrito.
Voltando à etapa de decisão 304, se cada sinal deestado indicar que cada cadeia de programa está no modo deespera, o método se move até o bloco 310. No bloco 310, ocircuito de detecção de baixa potência global desliga aenergia para os recursos de sistema selecionados. Em umamodalidade especifica, o circuito de detecção de baixapotência global desliga a energia para os recursos desistema selecionados desligando a energia para os pinos deentrada/saida selecionados dentro do processador de sinaisdigitais que são acoplados aos recursos de sistemaselecionados. Movendo-se até o bloco 312, o circuito dedetecção de baixa potência global desliga a energia para umou mais recursos globais. Em uma modalidade especifica, ocircuito de detecção de baixa potência global desliga aenergia para os recursos globais transmitindo um sinal dedesligar energia global a um comutador centralizado que éacoplado a cada um dos recursos globais. Em uma modalidadealternativa, o circuito de detecção de baixa potênciaglobal desliga a energia para os recursos globaistransmitindo um sinal de desligar energia global a umapluralidade de comutadores distribuídos que são acoplados arespectivos recursos globais.
Prosseguindo até a etapa de decisão 314, ocircuito de detecção de baixa potência global determina seuma solicitação de interrupção é recebida para algumacadeia de programa. Se não for, o método se move até obloco 316 e o circuito de detecção de baixa potência globalmantém as condições de desligamento de força. 0 método emseguida retorna à etapa de decisão 314. Na etapa de decisão314, se uma solicitação de interrupção for recebida paraalguma das cadeias, o método continua até o bloco 318 e aforça para os recursos globais é ligada. 0 método move-seentão até a etapa de decisão 306 e continua conformedescrito acima.
A Figura 4 mostra um método alternativo decontrole de potência dentro de um processador de sinaisdigitais (DSP) . Começando no bloco 400, quando oequipamento ao qual o DSP é incorporado entra no modo dereserva, são executadas as etapas seguintes. No bloco 402,um circuito de detecção de baixa potência global dentro doDSP recebe um sinal de estado de cada um de uma pluralidadede módulos de estado de cadeia de programa. Na etapa dedecisão 404, o circuito de detecção de baixa potênciaglobal determina se os sinais de estado dos módulos deestado de cadeia de programa indicarem que todos as cadeiasentrarão no modo de espera concomitantemente. Se nãoentrarem, o método prossegue até a etapa de decisão 406 e ocircuito de detecção de baixa potência global determina seo equipamento saiu do modo de reserva. Se tiver saído, ométodo se encerra no estado 408. Se o equipamento não tiversaído do modo de reserva, o método volta ao bloco 402 econtinua.
Voltando à etapa de decisão 404, se o sinal deestado indicar que as cadeias de programa estarão no modode espera concomitantemente, o método se move até o bloco410. No bloco 410, o circuito de detecção de baixa potênciaglobal determina o número mais baixo de ciclos durante osquais qualquer um dos cadeias de programa permanecerão nomodo de espera. Em uma modalidade específica, o número deciclos de relógio que indicam a duração do modo de esperapara cada uma das cadeias é determinado por um controle deprograma. Movendo-se até a etapa de decisão 412, o circuitode detecção de baixa potência global determina se o númeromais baixo de ciclos de relógio de espera é maior que umlimite, como, por exemplo, mil ciclos de relógio. Se nãofor, o método volta ao bloco 402 e continua conforme aquidescrito. Por outro lado, se o número mais baixo de ciclosde relógio de espera for superior ao limite, o método semove até o bloco 414.
No bloco 414, o circuito de detecção de baixapotência global desliga a energia para os recursos desistema selecionados. Em uma modalidade especifica, ocircuito de detecção de baixa potência global desliga aenergia pata os recursos de sistema selecionados desligandoa energia pata os pinos de entrada/saida dentro doprocessador de sinais digitais que são acoplados aosrecursos de sistema selecionados. Movendo-se até o bloco416, o circuito de detecção de baixa potência globaldesliga a energia para um ou mais recursos globais. Em umamodalidade especifica, o circuito de detecção de baixapotência global desliga a energia para os recursos globaistransmitindo um sinal de desligar energia global a umcomutador centralizado que é acoplado a cada um dosrecursos globais. Em uma modalidade alternativa, o circuitode detecção de baixa potência global desliga a energia paraos recursos globais transmitindo um sinal de desligarenergia global a uma pluralidade de . comutadoresdistribuídos que são acoplados a respectivos recursosglobais. No bloco 418, o circuito de detecção de baixapotência global armazena o número mais baixo de ciclos derelógio de espera em um registrador de controle.
Movendo-se até o bloco 420, o contador de relógioé decrementado, começando no número mais baixe de ciclos derelógio de espera. Na etapa de decisão 422, o circuito dedetecção de baixa potência global determina se zero mais Nfoi atingido, onde N é um número de ciclos necessários paraligar um recurso global antes da utilização. Se zero mais Nnão for atingido, o método continua até o bloco 424 e ocircuito de detecção de baixa potência global mantém ascondições de desligamento de força. Quando zero mais N éatingido, o método continua até o bloco 426 e o circuito dedetecção de baixa potência global liga energia para osrecursos globais e os recursos do sistema. Em seguida, ométodo se move até a etapa de decisão 406 e continuaconforme aqui descrito.
Em uma modalidade especifica, N são cem ciclos derelógio. Entretanto, N pode ser qualquer outro número deciclos de relógio. Além disto, em uma modalidadeespecifica, ligando a energia para os recursos globaisantes que o contador atinja zero, permite-se que umcapacitor de força atinja uma carga total antes que osrecursos globais necessitem de energia total. Assim, alatência devida ao fato de o capacitor de força atingircarga total é reduzida ou substancialmente eliminada.
Com referência à Figura 5, é mostrado um sistemapara depurar um processador de sinais digitais, que édesignado por 500. Conforme mostrado, o sistema 500 incluium computador 502. Em uma modalidade ilustrativa, ocomputador 502 inclui um processador 504 e um meio passívelde leitura por computador 506, que é acessível aoprocessador 504. A Figura 5 mostra também uma interface como Grupo de Testes de Ação Conjunta (JTAG) 508, que éacoplada ao processador 504.
Conforme mostrado ma Figura 5, um processador desinais digitais (DSP) 510, como, por exemplo, um DSP devárias cadeias, é acoplado ao computador 502. Em umamodalidade específica, o DSP 510 inclui uma interface JTAG512, que é acoplada à interface JTAG 508 do computador 502.
Em uma modalidade específica, um sinal de saída 514 do DSP510 é transmitido do DSP 510 ao computador 502, como, porexemplo, da interface JTAG 512 do DSP 510 pata a interfaceJTAG 508 do computador 502. Em uma modalidade específica, osinal de saída 514 inclui um primeiro sinal de estado decadeia, um segundo sinal de estado de cadeia, um terceirosinal de estado de cadeia, um quarto sinal de estado decadeia, um quinto sinal de estado de cadeia e um sextosinal de estado de cadeia. Além disto, o sinal de saida 514inclui um sinal de desligar energia global. A Figura 5mostra também um equipamento de entrada 516 e umequipamento de exibição 518, que são acoplados aocomputador 502.
Em uma modalidade especifica, o sinal de saida514 do DSP 510 pode ser processado pelo computador 502, demodo a se obter um primeiro esquema de sinal de estado decadeia 520, um segundo esquema de sinal de estado de cadeia522, um terceiro esquema de sinal de estado de cadeia 524,um quarto esquema de sinal de estado de cadeia 526, umquinto esquema de sinal de estado de cadeia 528 e um sextosinal de estado de cadeia 530. O sinal de saida 514 do DSP510 pode ser também processado pelo computador 502, de modoa se obter um esquema de sinal de desligar energia global.
Em uma modalidade ilustrativa, o primeiro esquemade sinal de estado de cadeia 520 inclui uma primeira partede modo de espera 534 e uma segunda parte de modo de espera536. Além disto, em uma modalidade ilustrativa, o segundoesquema de sinal de estado de cadeia 522 inclui umaprimeira parte de modo de espera 538 e uma segunda parte demodo de espera 540. Também em uma modalidade ilustrativa, oterceiro esquema de sinal de estado de cadeia 524 umaprimeira parte de espera 542 e uma segunda parte de espera544. Em uma modalidade ilustrativa, o quarto esquema desinal de estado de cadeia 526 inclui uma primeira parte deespera 546 e uma segunda parte de espera 548. Além disto,em uma modalidade ilustrativa, o quinto esquema de sinal deestado de cadeia 528 inclui uma primeira parte de espera550 e uma segunda parte de espera 552. Além do mais, em umamodalidade ilustrativa, o sexto esquema de sinal de estadode cadeia 530 inclui uma primeira parte de espera 554 e umasegunda parte de espera 556.Em uma modalidade ilustrativa, o esquema de sinalde desligar energia global 532 inclui uma primeira parte dedesligar energia 558 e uma segunda parte de desligarenergia 560. Conforme mostrado na Figura 5, em umamodalidade ilustrativa, a primeira parte de desligarenergia 558 do esquema de sinal de desligar energia 532inclui um primeiro inicio 562, que ocorre quando todos osesquemas de sinal de estado de cadeia 520, 522, 524, 526,528, 530 entram na primeira parte de modo de espera 534,538, 542, 546, 550, 554. Além do mais, a primeira parte dedesligar energia 558 do esquema de sinal de desligarenergia global 532 inclui uma primeira interrupção 564, queocorre quando um dos sinais de estado de cadeia indica queuma cadeia de programa associada saiu do modo de espera. NaFigura 5, a primeira interrupção 564 corresponde ao finalda primeira parte de espera 538 do segundo esquema de sinalde estado de cadeia 522.
Além disso, em uma modalidade ilustrativa, asegunda parte de desligar energia 560 do esquema de sinalde desligar energia global 532 inclui um segundo inicio566, que ocorre quando todos os esquemas de sinal de estadode cadeia 520, 522, 524, 526, 528, 530 entram na segundaparte de modo de espera 536, 540, 544, 550, 554, 558. Alémdo mais, a segunda parte de desligar energia 560 do esquemade sinal de desligar energia global 532 inclui uma segundainterrupção 568, que ocorre quando um dos sinais de estadode cadeia indica que uma cadeia de programa associada saiudo modo de espera. Na Figura 5, a segunda interrupção 568corresponde ao final da segunda parte de espera 536 doprimeiro esquema de sinal de estado de cadeias 520.
Conforme descrito em detalhe a seguir, o sistema500 pode ser utilizado para depurar um DSP. Por exemplo, seo esquema de sinal de desligar energia global 532permanecer plano, indicando que o sinal de desligar energiaglobal não é transmitido pelo processador de sinaisdigitais, o usuário pode examinar os esquemas de sinal deestado de cadeia 520, 522, 524, 526, 528, 530 de modo adeterminar se alguma das cadeias de programa não estáentrando no modo de espera. Assim, o usuário podedeterminar qual programa pode ser necessário modificar demodo que, ocasionalmente, entre no modo de espera enquantoum equipamento eletrônico que incorpora o processador desinais digitais 510 está no modo de reserva.
Com referência à Figura 6, é mostrado um métodopara depurar um DSP de várias cadeias, que começa no bloco600. No bloco 600, um computador coloca um equipamentoeletrônico que incorpora um DSP de várias cadeias no modode reserva. No bloco 602, o computador monitora uma saidade um circuito de detecção de baixa potência global dentrodo DSP. Movendo-se até o bloco 604, o computador monitoraum sinal de estado de cada cadeia de programa do DSP. Nobloco 606, o computador determina a freqüência com que osinal de desligar energia global é transmitido pelocircuito de detecção de baixa potência global. Em seguida,no bloco 608, o computador determina a freqüência com que osinal de estado para cada cadeia indica que a cadeia deprograma associada está no modo de espera.
No bloco 610, o computador determina aporcentagem do tempo de teste total em que o sinal dedesligar energia global é transmitido. Movendo-se até aetapa de decisão 612, o computador determina se aporcentagem do tempo de teste total em que o sinal dedesligar energia global é transmitido é maior que umlimite. Se for, o método continua até o bloco 614 e ocomputador indica um resultado de teste bem sucedido. 0método se encerra então na etapa 616.Voltando à etapa de decisão 612, se a porcentagemdo tempo de teste total em que o sinal de desligar energiaglobal é transmitido não for maior que o limite, o métodocontinua até o bloco 618 e o computador indica um fracassode teste. Em seguida, na etapa de decisão 620, o computadordetermina se a porcentagem do tempo de teste total em que osinal de desligar energia global é igual a zero. Se nãofor, o método termina no estado 616. Por outro lado, se aporcentagem do tempo de teste total em que o sinal dedesligar energia global é transmitido não for igual a zero,o método prossegue até o bloco 622. No bloco 622, ocomputador determina uma porcentagem do tempo de testetotal em que o sinal de estado para cada cadeia de programaindica que a cadeia de programa associada está no modo deespera.
Continuando até a etapa de decisão 624, ocomputador determina se a porcentagem do tempo de testetotal em que o sinal de estado para qualquer cadeia deprograma indica que a cadeia de programa associada está nomodo de espera é igual a zero. Se não for, o método terminano estado 616. Por outro lado, o método continua até obloco 626 e o computador indica que a cadeia de programaassociada não está em espera. Em seguida, no bloco 628, ocomputador indica que acadeia de programa que não está emespera deve ser modificada. Em uma modalidade especifica, acadeia de programa deve ser modificada de modo que fiqueautomaticamente em espera, ocasionalmente, enquanto oequipamento eletrônico estiver no modo de reserva.
Com referência à Figura 7, é mostrado um métodogeral de funcionamento com várias cadeias para um DSP. AFigura 7 mostra o método à medida que é executado para aprimeira instrução de seis cadeias de programaindependentes e a segunda instrução da primeira cadeia deprograma. Em particular, a Figura 7 mostra uma primeirainstrução de uma primeira cadeia de programa 7 00, umaprimeira instrução de uma segunda cadeia de programa 702,uma primeira instrução de uma terceira cadeia de programa704, uma primeira instrução de uma quarta cadeia deprograma 706, uma primeira instrução de uma quinta cadeiade programa 708, uma primeira instrução de uma sexta cadeiade programa 710 e uma segunda instrução da primeira cadeiade programa 712.
Conforme mostrado na Figura 7, a primeirainstruções da primeira cadeia de programa 700 inclui umaetapa de decodificar 714, uma etapa de acessar arquivoregistrador 716, uma primeira etapa de execução 718, umasegunda etapa de execução 720, uma terceira etapa deexecução 722 e uma etapa de writeback 724 para a primeirainstrução da primeira cadeia de programa 700. A primeirainstrução da segunda cadeia de programa 7 02 inclui umaetapa de decodificar 726, uma etapa de acessar arquivoregistrador 728, uma primeira etapa de execução 730, umasegunda etapa de execução 732, uma terceira etapa deexecução 734 e uma etapa de writeback 736. Além disto, aprimeira instrução da terceira cadeia de programa 704inclui uma etapa de decodificar 738, uma etapa de acessararquivo registrador 740, uma primeira etapa de execução742, uma segunda etapa de execução 744, uma terceira etapade execução 746 e uma etapa de writeback 748.
Em uma modalidade especifica, a primeirainstrução da quarta cadeia de programa 706 inclui tambémuma etapa de decodificar 750, uma etapa de acessar arquivoregistrador 752, uma primeira etapa de execução 754, umasegunda etapa de execução 756, uma terceira etapa deexecução 758 e uma etapa de writeback 760. Além disto,conforme mostrado na Figura 7, a primeira instrução daquinta cadeia de programa 708 inclui uma etapa dedecodificar 762, uma etapa de acessar arquivo registrador7 64, uma primeira etapa de execução 7 66, uma segunda etapade execução 768, uma terceira etapa de execução 770 e umaetapa de writeback 772. Além do mais, a primeira instruçãoda sexta cadeia de programação 710 inclui uma etapa dedecodificar 774, uma etapa de acessar arquivo registrador776, uma primeira etapa de execução 778, uma segunda etapade execução 780, uma terceira etapa de execução 782 e umaetapa de writeback 784. Finalmente, conforme mostrado naFigura 7, a segunda instrução da primeira cadeia 712 incluiuma etapa de decodificar 786, uma etapa de acessar arquivoregistrador 788, uma primeira etapa de execução 790, umasegunda etapa de execução 7 92, uma terceira etapa deexecução 794 e uma etapa de writeback 796.
Em uma modalidade especifica, conforme indicadona Figura 7, a etapa de decodificar 726 da primeirainstrução da segunda cadeia de programa 702 é executadaconcomitantemente com a etapa de acessar arquivoregistrador 716 da primeira instrução da primeira cadeia deprograma 700. A etapa de decodificar 738 da primeirainstrução da terceira cadeia de programa 704 é executadaconcomitantemente com a etapa de acessar arquivoregistrador 728 da primeira instrução da segunda cadeia deprograma 702 e com a primeira etapa de execução 718 daprimeira instrução da primeira cadeia de programa 700. Alémdisto, a etapa de decodificar 750 da primeira instrução daquarta cadeia de programa 706 é executada concomitantementecom a etapa de acessar arquivo registrador 740 da primeirainstrução da terceira cadeia de programa 704, com aprimeira etapa de execução 730 da primeira instrução dasegunda cadeia de programa 7 02 e com a segunda etapa deexecução 720 da primeira instrução da primeira cadeia deprograma 7 00.
A Figura 7 mostra também que a etapa dedecodificar 762 da primeira instrução da quinta cadeia deprograma 708 é executada concomitantemente com a etapa deacessar arquivo registrador 752 da primeira instrução daquarta cadeia de programa 706, com a primeira etapa deexecução 742 da primeira instrução da terceira cadeia deprograma 704, com a segunda etapa de execução 732 daprimeira instrução da segunda cadeia de programa 702 e coma terceira etapa de execução 722 da primeira instrução daprimeira cadeia de execução de programa 700. Além disto, aetapa de decodificar 774 da primeira instrução da sextacadeia de programa 710 é executada concomitantemente com aetapa de acessar arquivo registrador 764 da primeirainstrução da quinta cadeia de programa 708, com a primeiraetapa de execução 754 da primeira instrução da quartacadeia de programa 706, com a segunda etapa de execução 744da primeira instrução da terceira cadeia de programa 704 ecom a terceira etapa de execução 734 da primeira instruçãoda segunda cadeia de programa 702 e com a etapa dewriteback 724 da primeira instrução da primeira cadeia deprograma 700.
Conforme indicado na Figura 7, a etapa dedecodificar 786 da primeira cadeia da segunda instrução 712é executada concomitantemente com a etapa de acessararquivo registrador 776 da sexta cadeia da primeirainstrução 710, com a primeira etapa de execução 766 daprimeira instrução da quinta cadeia de programa 708, com asegunda etapa de execução 756 da primeira instrução daquarta cadeia de programa 706, com a terceira etapa deexecução 746 da primeira instrução da terceira cadeia deprograma 704 e com a etapa de writeback 736 da primeirainstrução da segunda cadeia de programa 702.
Em uma modalidade especifica, a etapa dedecodificar, a etapa de acessar arquivo registrador, aprimeira etapa de execução, a segunda etapa de execução, aterceira etapa de execução e a etapa de writeback para cadauma das instruções das cadeias de programa estabelecemencadeamentos de instruções para as cadeias de programa.
Cada encadeamento utiliza vários ciclos de relógio, como,por exemplo, seis ciclos de relógio, que é menor que umataxa de emissão de instruções, sete ciclos de relógio, paracada cadeia de programa armazenada dentro da unidade dememória. Por exemplo, uma nova instrução para a primeiracadeia de programa pode ser emitida depois que umainstrução for emitida para a sexta cadeia de programa.
A Figura 8 mostra uma modalidade exemplar, nãolimitadora, de um equipamento de comunicação portátil, queé de modo geral designado por 820. Conforme mostrado naFigura 8, o equipamento de comunicação portátil inclui umsistema embutido 822 que inclui um processador de sinaisdigitais 824. Em uma modalidade especifica, o processadorde sinais digitais 824 é o processador de sinais digitaismostrado na Figura 1 e aqui descrito. A Figura 8 mostratambém um controlador de exibição 826, que é acoplado aoprocessador de sinais digitais 824 e a um monitor 828. Alémdo mais, um equipamento de entrada 830 é acoplado aoprocessador de sinais digitais 824. Conforme mostrado, umamemória 832 é acoplada ao processador de sinais digitais824. Além disto, um codificador/decodificador (CODEC) 834pode ser acoplado ao processador de sinais digitais 824. Umalto-falante 836 e um microfone 838 podem ser acoplados aoCODEC 830.Em uma modalidade especifica, o processador desinais digitais 824 utiliza cadeias intercaladas paraprocessar instruções associadas a cadeias de programanecessárias para desempenhar a funcionalidade e asoperações necessárias pelos diversos componentes doequipamento de comunicação 820. Por exemplo, quando umasessão de comunicação sem fio é estabelecida por meio daantena sem fio, o usuário pode falar no microfone 838. Ossinais eletrônicos que representam a voz do usuário podemser enviados ao CODEC 834 para serem codificados. Oprocessador de sinais digitais 824 pode executarprocessamento de dados para o CODEC 834 de modo a codificaros sinais eletrônicos do microfone. Além disto, os sinaisentrantes recebidos por meio da antena sem fio 842 podemser enviados ao CODEC 834 pelo controlador sem fio 840 paraserem decodificados e enviados ao alto-falante 836. Oprocessador de sinais digitais 824 pode também executarprocessamento de dados para o CODEC 834 quando decodifica osinal recebido por meio da antena 842.
Além disso, antes, durante ou após a sessão decomunicação sem fio, o processador de sinais digitais 824pode processar as entradas que são recebidas do equipamentode entrada 830. Durante a sessão de comunicação sem fio,por exemplo, o usuário pode estar utilizando o equipamentode entrada 830 e o monitor 828 para surfar na Internet pormeio de um navegador da Web que é embutido na memória 832do equipamento de comunicação portátil 820. O processadorde sinais digitais 824 pode intercalar diversas cadeias deprograma que são utilizadas pelo equipamento de entrada830, pelo controlador de exibição 826, pelo monitor 828,pelo CODEC 834 e pelo controlador sem fio 840, conformedescrito aqui, de modo a controlar de maneira eficaz ofuncionamento do equipamento de comunicação portátil 820 edos diversos componentes dele. Muitas das instruçõesassociadas às diversas cadeias de programa são executadasconcomitantemente durante um ou mais ciclos de relógio.
Sendo assim, o consumo de potência e energia devido aosciclos de relógio desperdiçados pode ser substancialmentediminuído. Além disto, com a utilização de um ou mais dosmétodos descritos acima, os recursos globais dentro doprocessador de sinais digitais podem ser desligados quandoo equipamento de comunicação portátil entra no modo dereserva. Assim, a dispersão da energia é reduzida.
Com referência à Figura 9, é mostrada umamodalidade exemplar, não limitadora, de um telefonecelular, a qual é geralmente designada por 920. Conformemostrado, o telefone celular 920 inclui um sistema embutido922 que inclui um processador de banda base digital 924 eum processador de banda base analógico 926, que sãoacoplados um ao outro. Em uma modalidade específica, oprocessador de banda base 924 é um processador de sinaisdigitais, como, por exemplo, o processador de sinaisdigitais mostrado na Figura 1 e aqui descrito. Conformemostrado na Figura 9, um controlador de exibição 928 e umcontrolador de tela sensível ao toque 930 são acoplados aoprocessador de banda base digital 924. Por sua vez, ummonitor de tela sensível ao toque 932 externo ao sistemaembutido 922 é acoplado ao controlador de exibição 928 e aocontrolador de tela sensível ao toque 930.
A Figura 9 também indica que um codificador devídeo 934, como, por exemplo, um codificador de linha comalternância de fase (PAL), um codificador de memóriacouleur a seqüencial (SECAM) ou um codificador da comissãonacional de sistemas de televisão (NTSC), é acoplado aoprocessador de banda base digital 924. Além disto, umamplificador de vídeo 936 é acoplado ao codificador devídeo 934 e ao monitor de tela sensível ao toque 932. Alémdisto, uma porta de vídeo 938 é acoplada ao amplificador devídeo 936. Conforme mostrado na Figura 9, um controlador debarramento serial universal (USB) 940 é acoplado aocontrolador de USB 940. Uma memória 944 e um cartão demódulo de identidade de assinante (SIM) 946 podem sertambém acoplados ao processador de banda base digital 924.
Além disto, conforme mostrado na Figura 9, uma câmeradigital 948 pode ser acoplada ao processador de banda basedigital 924. Em uma modalidade exemplar, a câmera digital948 é uma câmera de equipamento acoplado à carga (CCD) ouuma câmera de semicondutor de óxido de metal complementar(CMOS).
Conforme também mostrado na Figura 9, um CODEC deáudio estéreo 950 pode ser acoplado ao processador de bandabase analógico 926. Além do mais, um amplificador de áudio952 pode ser acoplado ao CODEC de áudio estéreo 950. Em umamodalidade exemplar, um primeiro alto-falante estéreo 954 eum segundo alto-falante estéreo 956 são acoplados aoamplificador de áudio 952. A Figura 9 mostra que umamplificador de microfone 958 pode ser também acoplado aoCODEC de áudio estéreo 950. Além disto, um microfone 960pode ser acoplado ao amplificador de microfone 958. Em umamodalidade específica, um rádio-sintonizador de modulaçãode freqüência (FM) 962 pode ser acoplado ao CODEC de áudioestéreo 950. Uma antena FM 964 é também acoplada ao rádio-sintonizador FM 962. Fones de ouvido estereofônicos 966podem ser também acoplados ao CODEC de áudio estéreo 950.
A Figura 9 indica também que um transceptor derádio-freqüência (RF) 968 pode ser acoplado ao processadorde banda base analógico 926. Um comutador RF 970 pode seracoplado ao transceptor RF 968 e a uma antena RF 972.
Conforme mostrado na Figura 9, um teclado 974 pode séracoplado ao processador de banda base analógico 926. Umequipamento de ouvido mono com um microfone 97 6 pode sertambém acoplado ao processador de banda base analógico 926.
Além disto, um equipamento vibrador 978 pode ser acopladoao processador de banda base analógico 926. A Figura 9mostra também que um fornecimento de energia 980 pode seracoplada ao sistema embutido 922. Em uma modalidadeespecifica, o fornecimento de energia 980 é um fornecimentode energia de corrente continua (DC) que fornece energiaaos diversos componentes do telefone celular 920 quenecessitam de energia. Além disto, em uma modalidadeespecifica, o fornecimento de energia é uma bateria DCrecarregável ou um fornecimento de energia DC que éderivado de um transformador de corrente alternada (AC) emDC que é conectado a um fornecimento de energia AC.
Em uma modalidade especifica, conforme mostradona Figura 9, o monitor de tela sensível ao toque 932, aporta de vídeo 938, a porta USB 942, a câmera 948, oprimeiro alto-falante estéreo 954, o segundo alto-falanteestéreo 956, o microfone, a antena FM 964, o equipamento deouvido estéreo 966, o comutador RF 970, a antena RF 972, oteclado 974, o equipamento de ouvido mono 97 6, o vibrador978 e o fornecimento de energia 980 são externos ao sistemaembutido 922. Além do mais, em uma modalidade específica, oprocessador de banda base digital 924 pode utilizar váriascadeias intercaladas, aqui descritas, de modo a processaras diversas cadeias de programa associadas a um ou mais dosdiferentes componentes associados ao telefone celular 920.
Além disto, com a utilização de um ou mais dos métodosdescritos acima, os recursos globais dentro do processadorde sinais digitais podem ser desligados quando oequipamento de comunicação portátil entra no modo dereserva. Assim, é reduzida a dispersão da energia.Com referência à Figura 10, é mostrada umamodalidade exemplar, não limitadora de um telefone sem fiode protocolo Internet (IP), que é geralmente designada por1000. Conforme mostrado, o telefone IP sem fio 1000 incluium sistema embutido 1002 que inclui um processador desinais digitais (DSP) 1004. Em uma modalidade especifica, oDSP 1004 é o processador de sinais digitais mostrado naFigura 1 e aqui descrito. Conforme mostrado na Figura 10,um controlador de exibição 1006 é acoplado ao DSP 1004, eum monitor 1008 é acoplado ao controlador de exibição 1006.
Em uma modalidade exemplar, o monitor 1008 é uma tela decristal liquido (LCD) . A Figura 10 mostra também que umteclado 1010 pode ser acoplado ao DSP 1004.
Conforme também mostrado na Figura 10, umamemória flash 1012 pode ser acoplada ao DSP 1004. Umamemória de acesso aleatório dinâmica sincrona (SDRAM) 1014,uma memória de acesso aleatório estática (SRAM) 1016 e umamemória só de leitura programável eletricamente apagável(EEPROM) 1018 podem ser também acopladas ao DSP 1004. Alémdisto, em uma modalidade especifica, um CODEC de voz 1022pode ser acoplado ao DSP 1004. Um amplificador 1024 podeser acoplado ao CODEC de voz 1022, e um alto-falante mono1026 pode ser acoplado ao amplificador 1024. A Figura 10indica também que um equipamento de ouvido mono 102 8 podeser também acoplado ao CODEC de voz 1022. Em uma modalidadeespecifica, o equipamento de ouvido mono 1028 inclui ummicrofone.
A Figura 10 mostra também que um processador debanda base de rede de área local sem fio (WLAN) 1030 podeser acoplado ao DSP 1004. Um transceptor RF 1032 pode seracoplado ao processador de banda base WLAN 1030, e umaantena RF 1034 pode ser acoplada ao transceptor RF 1032. Emuma modalidade especifica, um controlador Bluetooth 1036pode ser também acoplado ao DSP 1004, e uma antenaBluetooth 1038 pode ser acoplada ao controlador 1036. AFigura 10 mostra também que uma porta USB 1040 pode sertambém acoplada ao DSP 1004. Além do mais, um fornecimentode energia 1042 é acoplado ao sistema embutido 1002 efornece energia aos diversos componentes do telefone IP semfio 1000 por meio do sistema embutido 1002.
Em uma modalidade especifica, conforme indicadona Figura 10, o monitor 1008, o teclado 1010, o LED 1020, oalto-falante mono 1026, o equipamento de ouvido 1028, aantena RF 1034, a antena Bluetooth 1038, a porta USB 1040 eo fornecimento de energia 1042 são externos ao sistemaembutido 1002. Entretanto, cada um destes componentes éacoplado a um ou mais componentes do sistema embutido. Alémdisto, em uma modalidade especifica, o processador desinais digitais 1004 pode utilizar cadeias intercaladas,conforme aqui descrito, de modo a processar as diversascadeias de programa associadas a um ou mais dos diferentescomponentes associados ao telefone IP 1000.
A Figura 11 mostra uma modalidade exemplar, nãolimitadora de um assistente digital portátil (PDA), que égeralmente designado por 1100. Conforme mostrado, o PDA1100 inclui um sistema embutido 1102, que inclui umprocessador de sinais digitais (DSP) 1104. Em umamodalidade especifica, o DSP 1104 é o processador de sinaisdigitais mostrado na Figura 1 e aqui descrito. Conformemostrado na Figura 11, um controlador de tela sensível aotoque 1106 e um controlador de exibição 1108 são acopladosao DSP 1104. Além disto, um controlador de tela sensível aotoque é acoplado ao controlador de tela sensível ao toque1106 e ao controlador de exibição 1108. A Figura 11 indicatambém que um teclado 1112 pode ser acoplado ao DSP 1104.Conforme também mostrado na Figura 11, umamemória flash 1114 pode ser acoplada ao DSP 1104. Alémdisto, uma memória só de leitura (ROM) 1116, uma memória deacesso aleatório dinâmica (DRAM) 1118 e uma memória só deleitura programável eletricamente apagável (EEPROM) 1120podem ser acopladas ao DSP 1104. A Figura 11 mostra tambémque uma porta de associação de dados infra-vermelha (IrDA)1122 pode ser acoplada ao DSP 1104. Além disto, em umamodalidade especifica, uma câmera digital 1124 pode seracoplada ao DSP 1104.
Conforme mostrado na Figura 11, em uma modalidadeespecifica, um CODEC de áudio estéreo 1126 pode seracoplado ao DSP 1104. Um primeiro amplificador estéreo 1128pode ser acoplado ao CODEC de áudio estéreo 1126, e umprimeiro alto-falante estéreo 1130 pode ser acoplado aoprimeiro amplificador estéreo 1128. Além disto, umamplificador de microfone 1132 pode ser acoplado aoamplificador de microfone 1132. A Figura 11 mostra tambémque um segundo amplificador estéreo 1136 pode ser acopladoao CODEC de áudio estéreo 1126 e um segundo alto-falanteestéreo 1138 pode ser acoplado ao segundo amplificadorestéreo 1136. Em uma modalidade especifica, fones de ouvidoestereofônicos 1140 podem ser também acoplados ao CODEC deáudio estéreo 1126.
A Figura 11 mostra também que um controlador802.11 1142 pode ser acoplado ao DSP 1104 e uma antena802.11 1144 pode ser acoplada ao controlador 802.11 1142.
Além do mais, um controlador Bluetooth 1146 pode seracoplado ao DSP 1104, e uma antena Bluetooth 1148 pode seracoplada ao controlador Bluetooth 1146. Conforme mostradona Figura 11, um controlador USB 1150 pode ser acoplado aoDSP 1104 e uma porta USB1152 pode ser acoplada aocontrolador USB 1150. Além disto, um cartão inteligente1154, como, por exemplo, um cartão multimídia (MMC) ou umcartão digital seguro (SD) pode ser acoplado ao DSP 1104.
Além disto, conforme mostrado na Figura 11, um fornecimentode energia 1156 pode ser acoplado ao sistema embutido 1102e pode fornecer energia aos diversos componentes do PDA1100 por meio do sistema embutido 1102.
Em uma modalidade específica, conforme indicadona Figura 11, o monitor 1110, o teclado 1112, a porta IrDA1122, a câmera digital 1124, o primeiro alto-falanteestéreo 1130, o microfone 1134, o segundo alto-falanteestéreo 1138, os fones de ouvido estereofônicos 1140, aantena 802.11 1144, a antena Bluetooth 1148, a porta USB1152 e o fornecimento de energia 1150 sãd externos aosistema embutido 1102. Entretanto, cada um destescomponentes é acoplado a um ou mais componentes no sistemaembutido. Além disto, em uma modalidade específica, oprocessador de sinais digitais 1104 pode utilizar váriascadeias intercaladas, aqui descritas, de modo a processaras diversas cadeias de programa associadas a um ou mais dosdiferentes componentes associados ao assistente digitalportátil 1100. Além disto, com a utilização de um ou maisdos métodos descritos acima, os recursos globais dentro doprocessador de sinais digitais podem ser desligados quandoo equipamento de comunicação portátil entra no modo dereserva. Assim, é reduzida a dispersão da energia.
Com referência à Figura 12, é mostrada umamodalidade exemplar, não limitadora de um tocador dearquivos de áudio, tal como um tocador de camada 3 de áudiodo grupo de especialistas em imagens em movimento (MP3) queé geralmente designada por 1200. Conforme mostrado, otocador de arquivos de áudio 1200 inclui um sistemaembutido 1202, que inclui um processador de sinais digitais(DSP) 1204. Em uma modalidade específica, o DSP 1004 é oprocessador de sinais digitais mostrado na Figura 1 e aquidescrito. Conforme mostrado na Figura 12, um controlador deexibição 1206 é acoplado ao DSP 1204, e um monitor 1208 éacoplado ao controlador de exibição 1206. Em uma modalidadeexemplar, o monitor 1208 é uma tela de cristal liquido(LCD) . A Figura 12 mostra também que um teclado 1210 podeser acoplado ao DSP 1204.
Conforme também mostrado na Figura 12, umamemória flash 1212 e uma memória só de leitura (ROM) 1214podem ser acopladas ao DSP 1204. Além disto, em umamodalidade especifica, um CODEC de áudio 1216 pode seracoplado ao DSP 1204. Um amplificador 1218 pode seracoplado ao CODEC de áudio 1216 e um alto-falante mono 1220pode ser acoplado ao amplificador 1218. A Figura 12 indicatambém que uma entrada de microfone 1222 e uma entradaestéreo 1224 podem ser também acopladas ao CODEC de áudio1216. Em uma modalidade especifica, fones de ouvidoestereofônicos 1226 podem ser também acoplados ao CODEC deáudio 1216.
A Figura 12 indica também que uma porta USB 1228e um cartão inteligente 1230 podem ser também acoplados aoDSP 1204. Além disto, um fornecimento de energia 1232 podeser acoplado ao sistema embutido 1202 e pode fornecerenergia aos diversos componentes do tocador de arquivos deáudio 1200 por meio do sistema embutido 1202.
Em uma modalidade especifica, conforme indicadona Figura 12, o monitor 1208, o teclado 1210, o alto-falante mono 1220, a entrada de microfone 1222, a entradade estéreo 1224, os fones de ouvido 1226, a porta USB 1226,a porta USB 1228 e o fornecimento de energia 1232 sãoexternos ao sistema embutido 1202. Entretanto, cada umdestes componentes é acoplado a um ou mais componentes nosistema embutido. Além disto, em uma modalidade especifica,o processador de sinais digitais 1204 pode utilizar váriascadeias intercaladas, aqui descritas, de modo a processaras diversas cadeias de programa associados a um ou mais dosdiferentes componentes associados ao tocador de arquivos deáudio 1200. Além disto, com a utilização de um ou mais dosmétodos descritos acima, os recursos globais dentro doprocessador de sinais digitais podem ser desligados quandoo equipamento de comunicação portátil entra no modo dereserva. Assim, é reduzida a dispersão da energia.
Com a configuração de estrutura aqui revelada, osistema e o método de controle de potência em umprocessador multiencadeado proporcionam uma maneira dereduzir a dispersão da energia quando o equipamento no qualo processador multiencadeado é incorporado está no modo dereserva. Além disto, o sistema e o método proporcionam umamaneira de controlar a potência para vários componentesdentro do processador multiencadeado ou acoplados aoprocessador multiencadeado em resposta a sinais de estadoassociados a cada cadeia do processador multiencadeado.
Além disto, o sistema e o método aqui descritosproporcionam uma maneira de depurar um processadormultiencadeado. Por exemplo, se o processadormultiencadeado não transmite um sinal de desligar energiaglobal, pode ser dada ao usuário uma indicação de que acadeia ou cadeias de programa dentro do processo de váriascadeias não estão em estado de espera. Por conseguinte, acadeia de programa que não está em espera pode sermodificada de modo que não esteja em espera enquanto oequipamento estiver no modo de reserva.
Os versados na técnica entenderiam também que osdiversos blocos, configurações, módulos, circuitos lógicose etapas de algoritmo ilustrativos descritos em conexão comas modalidades aqui reveladas podem ser implementados comohardware eletrônico, software de computador ou combinaçõesde ambos. Para se ilustrar claramente estaintercambialidade de hardware e software, diversoscomponentes, blocos, circuitos e etapas ilustrativos foramdescritos acima geralmente em termos de sua funcionalidade.
Se tal funcionalidade é implementada como hardware ousoftware depende da aplicação especifica e das restriçõesde desenho impostas ao sistema como um todo. Os versados natécnica podem implementar a funcionalidade descrita demaneiras variáveis para cada aplicação especifica, mas taisdecisões de implementação não devem ser interpretadas comoprovocando um afastamento do alcance da presente invenção.
As etapas de um método ou algoritmo descritas emconexão com as modalidades aqui reveladas podem sercorporifiçadas diretamente em hardware, em um módulo desoftware executado por um processador ou em uma combinaçãodos dois. Um módulo de software pode residir em uma memóriaRAM, uma memória flash, uma memória ROM, uma memória PROM,uma memória EPROM, uma memória EEPROM, em registradores,disco rígido, disco removível, CD-ROM ou qualquer outraforma de meio de armazenamento conhecida na técnica. Ummeio de armazenamento exemplar é acoplado ao processador demodo que o processador possa ler informações do, e gravarinformações no, meio de armazenamento. Alternativamente, omeio de armazenamento pode ser integrante com oprocessador. O processador e o meio de armazenamento podemresidir em um ASIC. 0 ASIC pode residir em um equipamentode computação ou um terminal de usuário. Alternativamente,o processador e o meio de armazenamento podem residir comocomponentes discretos em um equipamento de computação outerminal de usuário.
A descrição anterior das modalidades reveladas éapresentada para permitir que qualquer pessoa versada natécnica fabrique ou utilize a presente invenção. Diversasmodificações nestas modalidades serão prontamente evidentesaos versados na técnica, e os princípios genéricos aquidefinidos podem ser aplicados a outras modalidades sem quese abandone o espírito ou alcance da invenção. Assim, apresente invenção não pretende estar limitada àsmodalidades aqui mostradas, mas deve receber o mais amploalcance compatível com os princípios e novascaracterísticas definidos pelas reivindicações seguintes.

Claims (52)

1. Equipamento processador multiencadeado quecompreende:uma pluralidade de unidades de execução paraexecutaruma pluralidade de cadeias de programa;um circuito de detecção de baixa potência global,que compreende:uma entrada que responde a cada um dapluralidadede cadeias de programa, a entrada indicandoum nivel de atividade de execução para cada um dapluralidadede cadeias de programa;uma lógica para avaliar o nivel de atividadede execução de cada um da pluralidade de cadeiasde programa, a lógica para gerar um sinal de nivel depotência; euma saida que responde ao sinal de nivel depotência, em que a saida é acoplada a um ou maisrecursos globais dentro do processador de váriascadeiase em que a saida controla seletivamente aquantidade de potência fornecida ao recurso ou recursosglobais.
2. Equipamento, de acordo com a reivindicação 1,no qual cada entrada indica se uma cadeia de programaassociada está no modo de espera.
3. Equipamento, de acordo com a reivindicação 2,no qual a saida é um sinal de desligar energia global quedesliga a energia para o recurso ou recursos globais depoisque a lógica determina que cada um da pluralidade decadeias de programa está no modo de espera.
4. Equipamento, de acordo com a reivindicação 1,no qual as entradas indicam que cada uma das cadeias deprograma vai entrar no modo de espera durante vários ciclosde relógio.
5. Equipamento, de acordo com a reivindicação 4,no qual o circuito de detecção de baixa potência globaltransmite um sinal de desligar energia global quando todasas cadeias estão entrando no modo de espera durante váriosciclos de relógio e quando o número mais baixo dos ciclosde relógio para os quais uma cadeia de programa permaneceráno modo de espera estiver acima de um limitepredeterminado.
6. Equipamento, de acordo com a reivindicação 4,no qual o número de ciclos de relógio que indicam a duraçãodo modo de espera para cada uma das cadeias é determinadapor controle de programa.
7. Equipamento, de acordo com a reivindicação 1,que compreende também:uma memória, em que uma pluralidade de instruçõespara cada um da pluralidade de cadeias de programa éarmazenado dentro da memória; eum seqüenciador acoplado à memória, em que oseqüenciador busca a pluralidade de instruções para cada umda pluralidade de cadeias de programa da memória etransmite a pluralidade de instruções a pelo menos um dapluralidade de unidades de execução.
8. Equipamento, de acordo com a reivindicação 7,no qual o seqüenciador suporta instruções do tipo de textode instrução muito extenso (VLIW).
9. Equipamento, de acordo com a reivindicação 8,no qual o seqüenciador suporta também a execução deinstruções do tipo super-escalar.
10. Equipamento, de acordo com a reivindicação 1,no qual pelo menos uma da pluralidade de unidades deexecução é uma unidade de execução do tipo de multiplicaçãoe acumulação (MAC).
11. Equipamento, de acordo com a reivindicação 1,no qual pelo menos uma da pluralidade de unidades deexecução de instruções é uma unidade de execução deinstruções do tipo de carregamento de dados.
12. Equipamento processador multiencadeado debaixa potência que compreende:uma pluralidade de recursos locais;uma pluralidade de recursos globais;uma pluralidade de cadeias de programa, em quecada um da pluralidade de cadeias de programa utiliza pelomenos um da pluralidade de recursos locais e pelo menos umda pluralidade de recursos globais; eum circuito de detecção de baixa potência globalacoplado à pluralidade de recursos globais, o circuito dedetecção de baixa potência global respondente à pluralidadede cadeias de programa de modo a desligar seletivamente aenergia para a pluralidade de recursos globais quando todosda pluralidade de cadeias de programa estiverem no modo deespera.
13. Equipamento, de acordo com a reivindicação-12, no qual o circuito de detecção de baixa potência globalcompreende:uma entrada que responde a cada um da pluralidadede cadeias de programa; euma saida para a pluralidade de recursos globais,em que o circuito de detecção de baixa potência globalcontrola seletivamente a potência para a pluralidade derecursos globais com base nas entradas.
14. Equipamento, de acordo com a reivindicação-12, que compreende também uma comutador centralizado único,em que o comutador centralizado único é acoplado àpluralidade de recursos globais e responde à saída docircuito de detecção de baixa potência global de modo adesligar seletivamente a energia para a pluralidade derecursos globais.
15. Equipamento processador multiencadeado debaixa potência, de acordo com a reivindicação 12, quecompreende também uma pluralidade de comutadoresdistribuídos, em que cada um da pluralidade de comutadoresdistribuídos é acoplado a pelo menos um da pluralidade derecursos globais e em que cada um da pluralidade decomutadores distribuídos responde a um sinal de desligarenergia global do circuito de detecção de baixa potênciaglobal de modo a desligar a energia para a pluralidade derecursos globais.
16. Método para controlar a potência aplicada aum ou mais recursos globais dentro de um processadormultiencadeado, o método compreendendo:receber uma pluralidade de entradas que indicam onível de atividade de cada um de uma pluralidade de cadeiasde programa; econtrolar seletivamente a potência aplicada aorecurso ou recursos globais, com base em cada uma dasentradas.
17. Método, de acordo com a reivindicação 16, noqual cada uma das entradas é ou verdadeira ou falsa.
18. Método, de acordo com a reivindicação 17, quecompreende também desligar a energia para o recurso ourecursos globais quando as entradas que respondem a cada umda pluralidade de cadeias de programa são verdadeiras,indicando que todas as cadeias de programa entraram no modode espera.
19. Método, de acordo com a reivindicação 16, noqual pelo menos uma das entradas é uma indicação do númerode ciclos de relógio em que uma cadeia de programaassociada vai ficar em espera.
20. Equipamento, de acordo com a reivindicação-16, no qual o número de ciclos de relógio que indicam aduração do modo de espera para cada uma das cadeias édeterminada por controle de programa.
21. Método, de acordo com a reivindicação 19, quecompreende também desligar a energia para o recurso ourecursos globais depois que as entradas indicarem que cadaum da pluralidade de cadeias de programa vai entrar emespera e depois de se determinar que o número mais baixo deciclos de relógio para os quais qualquer uma das cadeias deprograma está acima de um limite predeterminado.
22. Método para controlar a potência em um oumais recursos globais dentro de um processadormultiencadeado, o método compreendendo:receber, de cada um de uma pluralidade de cadeiasde programa em um circuito de detecção de baixa potência,uma indicação de que cada um da pluralidade de cadeias deprograma vai entrar em espera durante vários ciclos derelógio;determinar o número mais baixo de ciclos derelógio durante os quais qualquer um da pluralidade decadeias de programa vai ficar em espera;armazenar o menor número de ciclos de relógio emum registrador;desligar a energia para o recurso ou recursosglobais;decrementar um contador de relógio começando donúmero mais baixo de ciclos de relógio armazenados noregistrador; eligar a energia para o recurso ou recursosglobais antes que o contador de relógio atinja zero.
23. Método, de acordo com a reivindicação 22, noqual a energia para o recurso ou recursos globais é ligadaum número de ciclos de relógio antes que o contador derelógio atinja zero de modo a permitir que o capacitor deum fornecimento de energia atinja uma tensão estável.
24. Método, de acordo com a reivindicação 22, noqual a energia para o recurso ou recursos globais é ligadaum número predeterminado de ciclos de relógio antes que ocontador de relógio atinja zero.
25. Método, de acordo com a reivindicação 22, noqual o número de ciclos de relógio que indicam a duração domodo de espera para cada uma das cadeias é determinada porcontrole de programa.
26. Método para depurar um processador de sinaisdigitais de várias cadeias, o método compreendendo:colocar o equipamento que incorpora o processadorde sinais digitais de várias cadeias no modo de reserva;monitorar a saida de um circuito de detecção debaixa potência global em resposta a uma pluralidade decadeias de programa do processador de sinais digitais devárias cadeias; emonitorar se um sinal de desligar energia globalé transmitido pela saida do circuito de detecção de baixapotência global.
27. Método, de acordo com a reivindicação 26, quecompreende também monitorar um sinal de estado de cada umda pluralidade de cadeias de programa, o sinal de estadoindicando se uma cadeia de programa associada está no modode espera.
28. Método, de acordo com a reivindicação 27, quecompreende também determinar a freqüência com a qual osinal de desligar energia global é transmitido pelocircuito de detecção de baixa potência global.
29. Método, de acordo com a reivindicação 28, quecompreende também determina a freqüência com a qual ossinais de estado de cada um da pluralidade de cadeias deprograma indicam que uma cadeia de programa associada estáem espera.
30. Método, de acordo com a reivindicação 29, quecompreende também determinar a porcentagem de um tempo deteste total em que o sinal de desligar energia global étransmitido.
31. Método, de acordo com a reivindicação 29, quecompreende também indicar um resultado de teste de sucessodepois de se determinar que a porcentagem do tempo de testetotal em que o sinal de desligar energia global étransmitido está acima de um limite predeterminado.
32. Método, de acordo com a reivindicação 31, quecompreende também indicar fracasso de teste depois de sedeterminar que a porcentagem do tempo de teste total em queo sinal de desligar energia global é transmitido estáabaixo de um limite predeterminado.
33. Método, de acordo com a reivindicação 31, quecompreende também determinar se a porcentagem do tempo deteste total em que qualquer um da pluralidade de cadeias deprograma está em espera é zero depois de se determinar quea porcentagem do tempo de tempo total em que o sinal dedesligar energia global é transmitido é zero.
34. Método, de acordo com a reivindicação 33, quecompreende também indicar que uma cadeia de programaespecifica não está em espera e precisa ser modificado.
35. Sistema para depurar um processador de sinaisdigitais de várias cadeias, o sistema compreendendo:um computador; euma interface com o Grupo de Ações de TesteConjuntas (JTAG) no computador, em que a interface JTAG nocomputador é acoplada a uma interface JTAG no processadorde sinais digitais de várias cadeias, em que a interfaceJTAG no computador é configurada para receber um sinal dedesligar energia global de um circuito de detecção de baixapotência global dentro do processador de sinais digitais devárias cadeias, e em que a interface JTAG no computador éconfigurada para receber um sinal de estado de baixapotência de cada um da pluralidade de cadeias de programa,cada sinal de estado de baixa potência indicando se umacadeia de programa associada está no modo de espera.
36. Sistema, de acordo com a reivindicação 35,que compreende também:um processador dentro do computador;um meio passível de leitura por computadoracessível pelo processador; eum programa depurador embutido no meio passívelde leitura por computador, o programa depuradorcompreendendo:instruções para monitorar a saída do circuitode detecção de baixa potência global dentro doprocessador de sinais digitais de várias cadeiasenquanto o equipamento que incorpora oprocessador de sinais digitais de várias cadeaisestiver no modo de reserva, em que o circuitode detecção de baixa potência global responde àpluralidadede cadeias de programa do processador desinais digitais de várias cadeias; einstruções para monitorar se um sinal de desligarenergia global é transmitido pela saida do circuito dedetecção de baixa potência global.
37. Sistema, de acordo com a reivindicação 36, noqual o programa depurador compreende também instruções paramonitorar um sinal de estado que correspondente a cada umda pluralidade de cadeias de programa, o sinal de estadoindicando se uma cadeia de programa associada está no modode espera.
38. Sistema, de acordo com a reivindicação 37, noqual o programa depurador compreende também instruções paradeterminar a freqüência com a qual o sinal de desligarenergia global é transmitido pelo circuito de detecção debaixa potência global.
39. Sistema, de acordo com a reivindicação 28, noqual o programa depurador compreende também instruções paradeterminar a freqüência com a qual os sinais de estado decada um da pluralidade de cadeias de programa indicam queuma cadeia de programa associada está em espera.
40. Sistema, de acordo com a reivindicação 39, noqual o programa depurador compreende também instruções paradeterminar a porcentagem de um tempo de teste total em queo sinal de desligar energia global é transmitido.
41. Sistema, de acordo com a reivindicação 39, noqual o programa depurador compreende também instruçõesparas indicar um resultado de teste de sucesso depois de sedeterminar que a porcentagem do tempo de teste total em queo sinal de desligar energia global é transmitido está acimade um limite predeterminado.
42. Sistema, de acordo com a reivindicação 41, noqual o programa depurador compreende também instruções paraindicar um fracasso de teste depois de se determinar que aporcentagem do tempo de teste total em que o sinal dedesligar energia global é transmitido está abaixo de umlimite predeterminado.
43. Sistema, de acordo com a reivindicação 42, noqual o programa depurador compreende também instruções paradeterminar se a porcentagem do tempo de teste total em quequalquer um da pluralidade de cadeias de programa está emespera é zero depois de se determinar que a porcentagem dotempo de tempo total em que o sinal de desligar energiaglobal é transmitido é zero.
44. Sistema, de acordo com a reivindicação 43, noqual o programa depurador compreende também instruções paraindicar que uma cadeia de programa especifica não está emespera e precisa ser modificado.
45. Equipamento de comunicação portátil, quecompreende:um processador de sinais digitais;um equipamento periférico externo ao e acopladoao processador de sinais digitais;em que o processador de sinais digitais inclui:uma pluralidade de cadeias de programa;uma pluralidade de recursos globais;um circuito de detecção de baixa potênciaglobal para receber um sinal de entrada em resposta acada um da pluralidade de cadeias de programa, emque o circuito de detecção de baixa potência globaltransmite um sinal de desligar energia global paradesligar a energia para a pluralidade de recursosglobais combase nos sinais de entrada quando os sinais de entradaindicarem que cada um da pluralidade de cadeias deprograma está no modo de espera; eem que o processador de sinais digitaistransmite seletivamente um sinal de desligar energia dosistema ao equipamento periférico.
46. Equipamento, de acordo com a reivindicação 45, no qual o sinal de desligar energia do sistema étransmitido quando a energia dos recursos globais édesligada.
47. Equipamento, de acordo com a reivindicação 45, no qual o equipamento periférico é pelo menos um dosseguintes: um controlador de exibição, um controlador detela sensivel ao toque, um controlador de barramento serialuniversal, um codificador/decodificador (CODEC) de áudio,um codificador/decodif icador (CODEC) de voz, ummodulador/demodulador (MODEM) para comunicações sem fio,uma memória e um equipamento de entrada.
48. Equipamento, de acordo com a reivindicação 45, que compreende também pelo menos um pino deentrada/saida que é desligado em resposta ao sinal dedesligar energia do sistema.
49. Equipamento, de acordo com a reivindicação 48, no qual o equipamento periférico é acoplado aoprocessador de sinais digitais por meio do pelo menos umpino de entrada/saida.
50. Circuito de detecção de baixa potência globaldentro de um processador multiencadeado, que compreende:um dispositivo para receber uma entrada associadaa cada um de uma pluralidade de cadeias de programa; eum dispositivo para controlar seletivamente apotência aplicada ao recurso ou recursos globais, com basena entrada associada à pluralidade de cadeias de programa.
51. Circuito de detecção de baixa potência globaldentro de um processador multiencadeado, que compreende:um dispositivo para receber uma indicação, paracada um de uma pluralidade de cadeias de programa em umcircuito de detecção de baixa potência, de que cada um dapluralidade de cadeias de programa vai entrar em esperadurante vários ciclos de relógio;um dispositivo para armazenar o número mais baixode ciclos de relógio em um registrador;um dispositivo para desligar a energia para orecurso ou recursos globais;um dispositivo para decrementar o contador derelógio começando do número mais baixo de ciclos de relógioarmazenados no registrador; eum dispositivo para ligar a energia para orecurso ou recursos globais antes que o contador de relógiochegue a zero.
52. Equipamento depurador, que compreende:um dispositivo para monitorar a saida de umcircuito de detecção de baixa potência global que respondea uma pluralidade de cadeias de programa do processador desinais digitais de cadeias; eum dispositivo para monitorar se um sinal paradesligar energia global é transmitido pela saida docircuito de detecção de baixa potência global.
BRPI0612690-1A 2005-06-27 2006-06-27 sistema e método de controlar potência em processador multiencadeado BRPI0612690A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/167,973 2005-06-27
US11/167,973 US8745627B2 (en) 2005-06-27 2005-06-27 System and method of controlling power in a multi-threaded processor
PCT/US2006/025299 WO2007002801A2 (en) 2005-06-27 2006-06-27 System and method of controlling power in a multi-threaded processor

Publications (1)

Publication Number Publication Date
BRPI0612690A2 true BRPI0612690A2 (pt) 2010-11-30

Family

ID=37113974

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0612690-1A BRPI0612690A2 (pt) 2005-06-27 2006-06-27 sistema e método de controlar potência em processador multiencadeado

Country Status (6)

Country Link
US (1) US8745627B2 (pt)
KR (1) KR100928138B1 (pt)
BR (1) BRPI0612690A2 (pt)
IL (1) IL188270A0 (pt)
SG (1) SG160411A1 (pt)
WO (1) WO2007002801A2 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313576B2 (en) * 2004-07-30 2007-12-25 Sbc Knowledge Ventures, L.P. System and method for flexible data transfer
US20060236375A1 (en) * 2005-04-15 2006-10-19 Tarik Hammadou Method and system for configurable security and surveillance systems
US7886131B1 (en) * 2006-08-14 2011-02-08 Marvell International Ltd. Multithread processor with thread based throttling
KR101120020B1 (ko) * 2007-02-26 2012-03-28 삼성전자주식회사 휴대용 오디오 기기 제어 방법 및 장치
US20080222399A1 (en) * 2007-03-05 2008-09-11 International Business Machines Corporation Method for the handling of mode-setting instructions in a multithreaded computing environment
US8219789B2 (en) * 2007-03-14 2012-07-10 XMOS Ltd. Interface processor
US8255708B1 (en) * 2007-08-10 2012-08-28 Marvell International Ltd. Apparatuses and methods for power saving in USB devices
US8756446B2 (en) * 2008-04-11 2014-06-17 Freescale Semiconductor, Inc. Microprocessor having a low-power mode and a non-low power mode, data processing system and computer program product
US8700936B2 (en) * 2010-12-03 2014-04-15 Schneider Electric It Corporation Modular gating of microprocessor low-power mode
US10303235B2 (en) 2015-03-04 2019-05-28 Qualcomm Incorporated Systems and methods for implementing power collapse in a memory
US9804666B2 (en) * 2015-05-26 2017-10-31 Samsung Electronics Co., Ltd. Warp clustering
US10490238B2 (en) * 2017-06-29 2019-11-26 SK Hynix Inc. Serializer and memory device including the same
CN117692998A (zh) * 2023-07-27 2024-03-12 荣耀终端有限公司 休眠异常情况下的数据获取方法和电子设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845419A (en) * 1985-11-12 1989-07-04 Norand Corporation Automatic control means providing a low-power responsive signal, particularly for initiating data preservation operation
JP3034362B2 (ja) * 1990-11-22 2000-04-17 株式会社日立製作所 周辺制御装置およびscsiバス制御装置
DE69506623T2 (de) * 1994-06-03 1999-07-22 Motorola Inc Datenprozessor mit einer Ausführungseinheit zur Durchführung von Ladebefehlen und Verfahren zu seinem Betrieb
FR2730443B1 (fr) * 1995-02-15 1997-04-11 Spit Soc Prospect Inv Techn Appareil de scellement a piston propulse par gaz comprime
US5838983A (en) * 1996-08-20 1998-11-17 Compaq Computer Corporation Portable computer with low power audio CD-player
US6330584B1 (en) 1998-04-03 2001-12-11 Mmc Networks, Inc. Systems and methods for multi-tasking, resource sharing and execution of computer instructions
US7055151B1 (en) * 1998-04-03 2006-05-30 Applied Micro Circuits Corporation Systems and methods for multi-tasking, resource sharing and execution of computer instructions
US6308279B1 (en) 1998-05-22 2001-10-23 Intel Corporation Method and apparatus for power mode transition in a multi-thread processor
US6269043B1 (en) * 2000-07-31 2001-07-31 Cisco Technology, Inc. Power conservation system employing a snooze mode
GB0019341D0 (en) * 2000-08-08 2000-09-27 Easics Nv System-on-chip solutions
US6687838B2 (en) 2000-12-07 2004-02-03 Intel Corporation Low-power processor hint, such as from a PAUSE instruction
US7302684B2 (en) * 2001-06-18 2007-11-27 Microsoft Corporation Systems and methods for managing a run queue
EP1421490B1 (en) * 2001-08-29 2006-04-12 Analog Devices, Inc. Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss
JP2003195989A (ja) * 2001-12-26 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータ装置、電源供給制御方法、およびプログラム
KR100444630B1 (ko) * 2002-01-28 2004-08-21 엘지전자 주식회사 키보드 제어기를 내장한 마이크로 컴퓨터
US20040073773A1 (en) * 2002-02-06 2004-04-15 Victor Demjanenko Vector processor architecture and methods performed therein
US7269752B2 (en) * 2002-06-04 2007-09-11 Lucent Technologies Inc. Dynamically controlling power consumption within a network node
EP1530755B1 (en) * 2002-08-16 2019-11-06 Intel Corporation Apparatus, method, and compiler enabling processing of variable length isntructions in a very long instruction word processor
US7111182B2 (en) * 2003-08-29 2006-09-19 Texas Instruments Incorporated Thread scheduling mechanisms for processor resource power management
US7197652B2 (en) * 2003-12-22 2007-03-27 International Business Machines Corporation Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring
US7287175B2 (en) * 2004-07-19 2007-10-23 Tellabs Petaluma, Inc. Optical network terminal with low-power sleep logic that substantially extends the life of the battery after the AC main power supply has been lost
US7657767B2 (en) * 2005-06-30 2010-02-02 Intel Corporation Cache leakage shut-off mechanism

Also Published As

Publication number Publication date
US20060294520A1 (en) 2006-12-28
KR20080020701A (ko) 2008-03-05
KR100928138B1 (ko) 2009-11-25
WO2007002801A2 (en) 2007-01-04
WO2007002801A3 (en) 2008-01-03
SG160411A1 (en) 2010-04-29
US8745627B2 (en) 2014-06-03
IL188270A0 (en) 2008-04-13

Similar Documents

Publication Publication Date Title
BRPI0612690A2 (pt) sistema e método de controlar potência em processador multiencadeado
BRPI0610840A2 (pt) sistema e método de execução de cadeias de programa em um processador multiencadeado
US9235418B2 (en) Register files for a digital signal processor operating in an interleaved multi-threaded environment
US11079819B2 (en) Controlling average power limits of a processor
US7584233B2 (en) System and method of counting leading zeros and counting leading ones in a digital signal processor
US20060230253A1 (en) Unified non-partitioned register files for a digital signal processor operating in an interleaved multi-threaded environment
WO2018077034A1 (zh) 一种具有双模式切换功能的终端设备
JP2015111428A (ja) スカラー/ベクトル命令を使用したデータ処理システムおよび方法
US8688761B2 (en) Arithmetic logic and shifting device for use in a processor
JP2010507135A (ja) Jtagの電力崩壊のデバッグ
KR20100090703A (ko) 구성 가능한 전환 색인 버퍼
US10289188B2 (en) Processor having concurrent core and fabric exit from a low power state
JP2011513844A (ja) キャッシュライン置換のためのシステムおよび方法
US10761594B2 (en) Programmable power management agent
US7849466B2 (en) Controlling execution mode of program threads by applying a mask to a control register in a multi-threaded processor
BRPI0609076A2 (pt) sistema e método para usar um valor predicado para acessar um arquivo de registro
US11921564B2 (en) Saving and restoring configuration and status information with reduced latency

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B09T Decision of refusal: decision cancelled [chapter 9.2.1 patent gazette]
B12B Appeal against refusal [chapter 12.2 patent gazette]