MX2007012584A - Archivos de registro no divididos unificados para un procesador de senales digital que opera en un ambiente intercalado de multi-ejecucion. - Google Patents

Archivos de registro no divididos unificados para un procesador de senales digital que opera en un ambiente intercalado de multi-ejecucion.

Info

Publication number
MX2007012584A
MX2007012584A MX2007012584A MX2007012584A MX2007012584A MX 2007012584 A MX2007012584 A MX 2007012584A MX 2007012584 A MX2007012584 A MX 2007012584A MX 2007012584 A MX2007012584 A MX 2007012584A MX 2007012584 A MX2007012584 A MX 2007012584A
Authority
MX
Mexico
Prior art keywords
instruction
coupled
unified
undivided
sequencer
Prior art date
Application number
MX2007012584A
Other languages
English (en)
Inventor
Erich Plondke
Lucian Codrescu
Muhammad Ahmed
William C Anderson
Taylor Simpson
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 MX2007012584A publication Critical patent/MX2007012584A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/02Details of telephonic subscriber devices including a Bluetooth® interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

Se describe un dispositivo procesador e incluye una memoria y un secuenciador que responde a la manera. El secuenciador puede soportar instrucciones de palabra de instruccion muy grande (VLIW) e instrucciones de superescalar. El dispositivo procesador ademas incluye una primera unidad de ejecucion de instruccion que responde al secuenciador, una segunda unidad de ejecucion de instruccion que responde al secuenciador, una tercera unidad de ejecucion de instruccion que responde al secuenciador, y una cuarta unidad de ejecucion de instruccion que responde al secuenciador. Ademas, el dispositivo procesador incluye una pluralidad de archivos de registro y cada uno de la pluralidad de archivos de registro incluye una pluralidad de registros. La pluralidad de archivos de registro se acopla al secuenciador y se acopla a la primera unidad de ejecucion de instruccion, a la segunda unidad de ejecucion de instruccion, a la tercera unidad de ejecucion de instruccion, y a la cuarta unidad de ejecucion de instruccion.

Description

ARCHIVOS DE REGISTRO NO DIVIDIDOS UNIFICADOS PARA UN PROCESADOR DE SEÑALES DIGITAL QUE OPERA EN UN AMBIENTE INTERCALADO DE MULTI-EJECUCIÓN CAMPO DE LA INVENCIÓN La presente descripción se refiere generalmente a procesadores y dispositivos digitales de señales que utilizan tales procesadores. Más particularmente, la descripción se refiere a archivos de registro de procesador digital de señales.
ANTECEDENTES DE LA INVENCIÓN Avances en la tecnología han resultado en dispositivos de cómputo personales más pequeños y más poderosos. Por ejemplo, actualmente existe una variedad de dispositivos personales de cómputo portátiles, que incluyen dispositivos de cómputo inalámbricos, tales como teléfonos inalámbricos portátiles, asistentes digitales personales (PDA) , y dispositivos de búsqueda que son pequeños, ligeros y se pueden llevar fácilmente por los usuarios. Más específicamente, teléfonos inalámbricos portátiles, tales como teléfonos celulares y teléfonos de IP, pueden comunicar paquetes de voz y datos sobre redes inalámbricas. Además, muchos teléfonos inalámbricos incluyen otros tipos de dispositivos que se incorporan en los mismos. Por ejemplo, un teléfono inalámbrico también puede incluir una cámara fija digital, una cámara de video digital, una grabadora digital y un reproductor de archivos de audio . También, tales teléfonos inalámbricos pueden incluir una mterfaz de red que puede utilizarse para acceder a la Internet. Como tales, estos teléfonos inalámbricos incluyen capacidades de cómputo importantes. Típicamente, ya que estos dispositivos se vuelven más pequeños y más poderosos, cada vez más se vuelven restringidos en cuanto a recursos. Por ejemplo, el tamaño de la pantalla, la cantidad de memoria disponible y el espacio de sistema de archivos, y la cantidad de capacidades de entrada y salida pueden limitarse por el tamaño pequeño del dispositivo. Además, el tamaño de la batería, la cantidad de energía proporcionada por la batería, y la vida de la batería también se limitan. Una forma de incrementar la vida de la batería del dispositivo a reducir la cantidad de tiempo en que un procesador digital de señales dentro del dispositivo está inactivo mientras el dispositivo está encendido. Por consiguiente, puede ser ventajoso proporcionar un procesador digital de señales mejorado para su utilización en dispositivos de comunicación portátiles.
SUMARIO DE LA INVENCIÓN Se describe un dispositivo de procesador e incluye una memoria y un secuenciador que es responsable de la memoria. El secuenciador puede soportar instrucciones de palabra de instrucción muy grande (VLIW) e instrucciones de superescalar . El dispositivo procesador además incluye una primera unidad de ejecución de instrucción responsable del secuenciador, una segunda unidad de ejecución de instrucción responsable del secuenciador , una tercera unidad de ejecución de instrucción responsable del secuenciador, y una cuarta unidad de ejecución de instrucción responsable del secuenciador . Además, el dispositivo procesador incluye una pluralidad de archivos de registro y cada uno de la pluralidad de archivos de registro incluye una pluralidad de registros. La pluralidad de archivos de registro se acopla en el secuenciador y se acoplan a la primera unidad de ejecución de instrucción, la segunda unidad de ejecución de instrucción la tercera unidad de ejecución de instrucción, y la cuarta unidad de ejecución de instrucción. En una modalidad particular, cada uno de la pluralidad de archivos de registro es un archivo de registro no dividido unificado. Además, en una modalidad particular, cada uno de la pluralidad de archivos de registro es un archivo sencillo que incluye por lo menos dieciséis registros de datos. En otra modalidad particular, cada uno de la pluralidad de archivos de registro incluye treinta y dos registros y cada uno de los treinta y dos registros incluye treinta y dos b ts. En aún otra modalidad particular, cada uno de la pluralidad de archivos de registro incluye por lo menos un operando de datos y por lo menos un operando de dirección. Además, en aún otra modalidad particular, la pluralidad de archivos de registro comprende seis archivos de registro. También, la memoria dentro del dispositivo procesador incluye seis memorias caché de instrucciones y cada memoria caché de instrucciones se asocia con uno de los seis archivos de registro. En una modalidad particular, la memoria incluye seis colas de instrucción. Cada cola de instrucción se asocia con una sola memoria caché de instrucción dentro de la memoria y cada cola de instrucción se acopla con el secuenciador . En aún otra modalidad particular, por lo menos una de las unidades de ejecución de instrucción es una unidad de modificación de datos y otra de las unidades de ejecución de instrucción es una unidad de multiplicación y acumulación. En otra modalidad particular, por lo menos una de las unidades de ejecución de instrucción es una unidad de carga que recupera datos del archivo de registro. Además, en otra modalidad particular, por lo menos una de las unidades de ejecución de instrucción es una unidad de carga y almacenamiento que tiene una interfaz para el archivo de registro para recibir datos del archivo de registro y para escribir datos en el archivo de registro. En aún otra modalidad particular, el secuenciador se acopla a la memoria mediante un bus de sesenta y cuatro bits y el secuenciador se configura para recuperar instrucciones que tienen una longitud de treinta y dos bits. En otra modalidad, un método para operar un procesador digital de señales se describe e incluye buscar una instrucción de una memoria caché de instrucciones y acceder a un archivo de registro no dividido unificado asociado con la memoria caché de instrucciones. El archivo de registro no dividido unificado incluye uno o más operandos de datos y uno o más operandos de dirección. El método además incluye recuperar un operando de datos o un operando de dirección asociado con la instrucción del archivo de registro no dividido unificado. En aún otra modalidad, un dispositivo procesador de multi-ej ecución se describe e incluye a una memoria, un secuenciador responsable de la memoria, y una pluralidad de unidades de ejecución de instrucción responsables del secuenciador . El dispositivo procesador de multi-ejecución además incluye un primer archivo de registro no dividido unificado que incluye una primera pluralidad de registros.
El primer archivo de registro no dividido unificado se acopla a la memoria y se acopla a cada una de la pluralidad de unidades de ejecución de instrucciones. También, el primer archivo de registro no dividido unificado soporta la ejecución de una instrucción de programa de una primera ejecución de programa y el primer archivo de registro no dividido unificado incluye por lo menos un operando de datos y por lo menos un operando de dirección. Adicionalmente, el dispositivo procesador de multi-ejecución incluye un segundo archivo de registro no dividido unificado que incluye una segunda pluralidad de registros. El segundo archivo de registro no dividido unificado se acopla a la memoria y se acopla a cada una de la pluralidad de unidades de ejecución de instrucciones. Además, el segundo archivo de registro no dividido unificado soporta ejecución de una instrucción de programa de una segunda ejecución de programa y el segundo archivo de registro no dividido unificado incluye por lo menos un operando de datos y por lo menos un operando de dirección. En aún otra modalidad, un dispositivo de comunicación portátil se describe e incluye un procesador digital de señales. El procesador digital de señales incluye una memoria, un secuenciador que es responsable de la memoria, por lo menos una unidad de ejecución de instrucción que es responsable de secuenciador , y una pluralidad de archivos de registro no divididos unificados que se acoplan a la memoria y que se acoplan por lo menos a una unidad de ejecución de instrucción. Cada uno de la pluralidad de archivos de registro no dividido unificado incluye por lo menos un operando de datos y por lo menos un operando de dirección. En aún otra modalidad, un reproductor de archivos de audio se describe e incluye un procesador digital de señales, un codificador/descodificador (CODEC) de audio que se acopla al procesador digital de señales, una tarjeta de multimedia que se acopla al procesador digital de señales, y un puerto de bus de serie universal (USB) que también se acopla al procesador digital de señales. El procesador digital de señales incluye una memoria, un secuenciador que es responsable de la memoria, por lo menos una unidad de ejecución de instrucción que es responsable del secuenciador, y un archivo de registro no dividido unificado que se acopla a la memoria y que se acopla por lo menos a la unidad de ejecución de instrucción. El archivo de registro no dividido unificado incluye por lo menos un operando de datos y por lo menos un operando de dirección. En aún otra modalidad, un dispositivo procesador se describe e incluye medios para buscar una instrucción de una memoria caché de instrucciones y medios para acceder a un archivo de registro no dividido unificado asociado con la memoria caché de instrucciones. El archivo de registro no dividido unificado incluye uno o más operandos de datos y uno o más operandos de dirección. Además, el dispositivo procesador incluye medios para recuperar por lo menos uno de los operandos de datos o por lo menos uno de los operandos de dirección asociados con la instrucción. Una ventaja de una o más modalidades descritas en la presente puede incluir utilizar recursos múltiples varias veces para diferentes ejecuciones de procesador. Otra ventaja puede incluir acceso sustancialmente simplificado a los operandos de datos y a los operandos de dirección. Aún otra ventaja puede incluir reducir sustancialmente los problemas que se asocian con múltiples programas de software que requieren acceso a los archivos de registro para los operandos de datos y los operandos de dirección. Otros aspectos, ventajas y características de la presente descripción se volverán aparentes después de la revisión de toda la aplicación, que incluyen las siguientes secciones: Breve Descripción de las Figuras, Descripción Detallada y las Reivindicaciones.
BREVE DESCRIPCIÓN DE LAS FIGURAS Los aspectos y las ventajas buscadas de las modalidades descritas en la presente se volverán más fácilmente aparentes por referencia a la siguiente descripción detallada cuando se tome junto con las figuras anexas en donde : La FIGURA 1 es un diagrama general de un procesador digital de señales ejemplar; la FIGURA 2 es un diagrama general de un archivo de registro no dividido unificado ejemplar del procesador digital de señales mostrado en la FIGURA 1; la FIGURA 3 es un diagrama que ilustra una operación de multi-ej ecución intercalada detallada del procesador digital de señales mostrado en la FIGURA 1 ; la FIGURA 4 es un diagrama general de un dispositivo de comunicación portátil que incorpora un procesador digital de señales; la FIGURA 5 es un diagrama general de un teléfono celular ejemplar que incorpora un procesador digital de señales ; la FIGURA 6 es un diagrama general de un teléfono Protocolo de Internet inalámbrico ejemplar que incorpora un procesador digital de señales; la FIGURA 7 es un diagrama general de un asistente digital portátil ejemplar que incorpora un procesador digital de señales; y la FIGURA 8 es un diagrama general de un reproductor de archivos de audio ejemplar que incorpora un procesador digital de señales.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La FIGURA 1 ilustra un diagrama de bloque de una modalidad ejemplar no limitante de un procesador digital de señales (DSP) 100. Como se ilustra en la FIGURA 1 el DSP 100 incluye una memoria 102 que se acopla a un secuenciador 104 mediante un bus 106. Como se utiliza en la presente, el trabajo acoplado puede indicar que dos o más componentes se acoplan directamente o indirectamente se acoplan. En una modalidad particular, el bus 106 es un bus de sesenta y cuatro bits (64) y el secuenciador 104 se configura para recuperar instrucciones de la memoria 102 que tiene una longitud de treinta y dos bits (32) o sesenta y cuatro bits (64) . El bus 106 se acopla a una primera unidad 108 de ejecución de instrucción, una segunda unidad 110 de ejecución de instrucción, una tercera unidad 112 de ejecución de instrucción y una cuarta unidad 114 de ejecución de instrucción. La FIGURA 1 indica que cada unidad 108, 110, 112, 114 de ejecución de instrucción puede acoplarse a un archivo 116 de registro general mediante un primer bus 118. El archivo 116 de registro general también puede acoplarse al secuenciador 104 y la memoria 102 mediante un segundo bus 120.
En una modalidad particular, la memoria 102 incluye una primera memoria caché 122 de instrucciones, una segunda memoria caché 124 de instrucciones, una tercera memoria caché 126 de instrucciones, una cuarta memoria caché 128 de instrucciones, una quinta memoria caché 130 de instrucciones y una sexta memoria caché 132 de instrucciones. Durante la operación, las memora as caché 122, 124, 126, 128, 130, 132 de instrucciones pueden accederse independientemente entre sí por el secuenciador 104. Adicionalmente , en una modalidad particular, cada memoria caché 122, 124, 126, 128, 130, 132 de instrucciones incluye una pluralidad de instrucciones, datos de dirección de instrucciones para cada instrucción, y datos de pre-descodificación de instrucciones para cada instrucción. Como se ilustra en la FIGURA 1, la memoria 102 puede incluir una cola 134 de instrucción que incluye una cola de instrucción para cada memoria caché 122, 124, 126, 128, 130, 132 de instrucciones. En particular, la cola 134 de instrucción incluye una primera cola 136 de instrucción que se asocia con la primera memoria caché 122 de instrucciones, una segunda cola 138 de instrucción que se asocia con la segunda memoria caché 124 de instrucciones, una tercera cola 140 de instrucción que se asocia con la tercera memoria caché 126 de instrucción, una cuarta cola 142 de instrucción que se asocia con la cuarta memoria caché 128 de instrucciones, una quinta cola 144 de instrucción que se asocia con la quinta memoria caché 130 de instrucciones, y una sexta cola 146 de instrucción que se asocia con la sexta memoria caché 132 de instrucciones. Durante la operación, el secuenciador 104 puede buscar instrucciones de cada memoria caché 122, 124, 126, 128, 130, 132 de instrucciones mediante la cola 134 de instrucción. En una modalidad particular, el secuenciador 104 busca las instrucciones de la cola 136, 138, 140, 142, 144, 146 de instrucción en orden desde la primera cola 136 de instrucción hasta la sexta cola 146 de instrucción. Después de buscar una instrucción de la sexta cola 146 de instrucción, el secuenciador 104 regresa a la primera cola 136 de instrucción y continúa buscando instrucciones de las colas 136, 138, 140, 142, 144, 146 de instrucción en orden. En una modalidad particular, el secuenciador 104 opera en un primer modo como en un secuenciador superescalar de dos vías que soporta instrucciones superescalares . Además, en una modalidad particular, el secuenciador también opera en un segundo modo que soporta instrucciones de palabra de instrucción muy grande (VLIW) . En particular, el secuenciador puede operar como un secuenciador de VLIW de 4 vías. En una modalidad particular, la primera unidad 108 de ejecución de instrucción puede ejecutar una instrucción de carga, una instrucción de almacenamiento y una instrucción de unidad lógica aritmética (ALU) . La segunda unidad 110 de ejecución de instrucción puede ejecutar una instrucción de carga y una instrucción de ALU. También, la tercera unidad de ejecución de instrucción puede ejecutar una instrucción de multiplicación, una instrucción de multiplicación-acumulación (MAC) , una instrucción de ALU, una construcción de redirección de programa y una instrucción de registro de transferencia (CR) . La FIGURA 1 además indica que la cuarta unidad 114 de ejecución de instrucción puede ejecutar una instrucción de modificación (S) , una instrucción de ALU, una construcción de redirección de programa, y una instrucción de CR. En una modalidad particular, la construcción de redirección de programa puede ser un ciclo de sobrecarga cero, una instrucción de derivación, una instrucción de salto (J) , etc. Como se representa en la FIGURA 1, el registro 116 general incluye un primer archivo 148 de registro unificado, un segundo archivo 150 de registro unificado, un tercer archivo 152 de registro unificado, un cuarto archivo 154 de registro unificado, un quinto archivo 156 de registro unificado, y un sexto archivo 158 de registro unificado. Cada archivo 148, 150, 152, 54, 156, 158 de registro unificado corresponde con una memoria caché 122, 124, 126, 128, 130, 132 de instrucciones dentro de la memoria 102. Además, en una modalidad particular, cada archivo 148, 150, 152, 154, 156, 158 de registro unificado tiene la misma construcción e incluye un número de operandos de datos y un número de operandos de dirección. Durante la operación del procesador 100 digital de señales, se buscan instrucciones de la memoria 102 por el secuenciador 104, enviadas a las unidades 108, 110, 112, 114 de ejecución de instrucción designadas y se ejecutan en la unidad 108, 110, 112, 114 de ejecución de instrucción. Además, uno o más operandos se recuperan del registro 116 general, por ejemplo, uno de los archivos 148, 150, 152, 154, 156, 158 de registro unificado y se utilizan durante la ejecución de las instrucciones. Los resultados en cada unidad 108, 110, 112, 114 de ejecución de instrucción se escriben en el registro 116 general, es decir, en uno de los archivos 148, 150, 152, 154, 156, 158 de registro unificado . Con referencia a la FIGURA 2, una modalidad no limitante ejemplar de un archivo de registro no dividido unificado se muestra y se designa generalmente como 200. Como se muestra, el archivo 200 de registro no dividido unificado incluye treinta y dos (32) registros 202 y cada registro incluye treinta y dos (32) bits 204. La FIGURA 2 indica que el primer archivo 202 de registro no dividido unificado puede incluir un primer puerto 206 de lectura de datos, un segundo puerto 208 de lectura de datos, un tercer puerto 210 de lectura de datos, y un cuarto puerto 212 de lectura de datos. Además, el archivo 200 de registro no dividido unificado incluye un primer puerto 214 de escritura de datos, un segundo puerto 216 de escritura de datos y un tercer puerto 218 de escritura de datos. En una modalidad particular, una o más instrucciones pueden asociarse con el archivo 200 de registro no dividido unificado. Además, durante la ejecución de cada instrucción, el archivo 200 de registro no dividido unificado asociado con cada instrucción puede accederse mediante los cuatro puertos 206, 208, 210, 212 de lectura y los tres puertos 214, 216, 218 de escritura. Sin embargo, debido al método de multi-ejecución intercalado descrito en lo siguiente, más de cuatro operandos para la instrucción pueden recuperarse del archivo 200 de registro no dividido unificado mediante los cuatro puertos 206, 208, 210, 212 de lectura de datos. Con referencia ahora a la FIGURA 3 , un método detallado de multi-e ecución intercalada para un procesador digital de señales se muestra. La FIGURA 3 muestra que el método incluye una rutina 300 de derivación, una rutina 302 de carga, una rutina 304 de almacenamiento y una rutina 306 de conducto-s. Cada rutina 300, 302, 304, 306 incluye una pluralidad de etapas que se forman durante seis ciclos de reloj para cada instrucción buscada de una cola de instrucción por un secuenciador . En una modalidad particular, los ciclos de reloj incluyen ciclo 308 de reloj de descodificación, un ciclo 310 de reloj de acceso de archivo de registro, un primer ciclo 312 de reloj de ejecución, un segundo ciclo 314 de reloj de ejecución, un tercer ciclo 316 de reloj de ejecución y un ciclo 318 de reloj de reescritura. Además, cada ciclo de reloj incluye una primera porción y una segunda porción. La FIGURA 3 muestra que durante la rutina 300 de derivación, en el bloque 320, una descodificación rápida para la instrucción se realiza dentro de un secuenciador durante una primera porción del ciclo de reloj de descodificación. En el bloque 322, durante la segunda porción del ciclo 308 de reloj de descodificación, el secuenciador accede a un archivo de registro, por ejemplo, comienza un acceso de archivo de registro para un primer operando. El acceso de registro del bloque 322 termina dentro del ciclo 310 de reloj de acceso de archivo de registro y el primer operando se recupera del archivo de registro. En una modalidad particular, el secuenciador accede al archivo de registro mediante un primer puerto de lectura de datos. Como se muestra, el acceso de archivo de registro del bloque 322 ocurre durante la segunda porción del ciclo 308 de reloj de descodificación y la primera porción del ciclo 310 de reloj de acceso de archivo de registro. Como tal, el acceso de archivo de registro solapa el ciclo 308 de reloj de descodificación y el ciclo 310 de reloj de acceso de archivo de registro. En el bloque 324, también durante el ciclo 308 de reloj de descodificación, el secuenciador comienza una descodificación completa para la instrucción. La descodificación completa realizada por el secuenciador ocurre dentro de la segunda porción del ciclo 308 de reloj de descodificación y la primera porción del ciclo 310 de reloj de acceso de archivo de registro. Durante el ciclo 310 de reloj de acceso de archivo de registro, en el bloque 326, el secuenciador genera una dirección virtual de instrucción (IVA) . Después de esto, en el bloque 328, el secuenciador realiza una comprobación de búsqueda para determinar la búsqueda de dirección física asociada con un número de búsqueda de dirección virtual. Cambiarse al primer ciclo 312 de reloj de ejecución, en el bloque 330, el secuenciador realiza una consulta de cola de instrucción. En el bloque 332, el secuenciador accede a una memoria caché de instrucciones la primera vez y recupera una primera palabra doble para la instrucción. En una modalidad particular, cada instrucción incluye tres palabras dobles, por ejemplo, una primera palabra doble, una segunda palabra doble y una tercera palabra doble. En el bloque 334, durante el primer ciclo 312 de reloj de ejecución, el secuenciador alinea la palabra doble que viene desde la memoria caché de instrucciones . Continuando con el segundo ciclo 314 de reloj de ejecución, el secuenciador accede a la memoria caché de instrucciones la segunda vez para poder recuperar la segunda palabra doble para la instrucción en el bloque 336. Después, en el bloque 338, el secuenciador alinea la palabra doble recuperada de la memoria caché de instrucciones . Procediendo al tercer ciclo 316 de reloj de ejecución, el secuenciador accede a la memoria caché de instrucciones la tercera vez para poder recuperar una tercera palabra doble en el bloque 342. Después de que el secuenciador accede a la memoria caché de instrucciones la tercera vez, el secuenciador alinea la tercera palabra doble, en el bloque 344. Como se ilustra en la FIGURA 3, durante la rutina 302 de carga, en el bloque 350, el secuenciador realiza una descodificación rápida para la instrucción durante la primera porción del ciclo 308 de reloj de descodificación. En el bloque 352, durante la segunda porción del ciclo 308 de reloj de descodificación, el secuenciador comienza un acceso de archivo de registro. Como se muestra, el segundo acceso de registro por el secuenciador abarca dos ciclos de reloj , es decir, que incluyen la segunda porción del ciclo 308 de reloj de descodificación y la primera porción del ciclo 310 de reloj de acceso de archivo de registro. Como tal, el acceso de archivo de registro finaliza dentro del ciclo 310 de reloj de acceso de archivo de registro y un segundo operando puede recuperarse. Después, durante el primer ciclo 312 de ejecución, en el bloque 354, una unidad de generación de dirección dentro de una primera unidad de ejecución de instrucción genera una primera dirección virtual para la instrucción basándose en el contenido de archivo de registro previamente leído. En el bloque 356, durante el segundo ciclo 314 de reloj de ejecución, una memoria intermedia de búsqueda paralela de traducción de datos (DTLB) realiza una traducción de dirección para la primera dirección virtual para poder generar una primera dirección física. Aún dentro del segundo ciclo 314 de reloj de ejecución en el bloque 358, el secuenciador realiza una comprobación de etiqueta. Al cambiarse al tercer ciclo 316 de ejecución, el secuenciador accede a una memoria de acceso aleatorio estática (SRAM) de memoria caché de datos para poder leer datos de la SRAM, en el bloque 360. También, dentro del tercer ciclo de ejecución en el bloque 362, el secuenciador actualiza el archivo de registro asociado con la instrucción la primera vez mediante un primer puerto de escritura de datos. En una modalidad particular, el secuenciador actualiza el registro con el archivo los resultados de dirección de post incremento. Después, durante el ciclo 318 de reloj de reescptura, el bloque 364, un almeador de carga modifica los datos para alinear los datos dentro de la doble palabra. En el bloque 366, también dentro del ciclo 318 de reloj de reescptura, el secuenciador actualiza el archivo de registro para la instrucción la segunda vez mediante el primer puerto de escritura de datos con los datos cargados desde la memoria caché . La FIGURA 3 muestra que durante la rutina 304 de almacenamiento, en el bloque 368, el secuenciador realiza una descodificación rápida para la instrucción durante el ciclo 308 de reloj de descodificación. Además, durante el ciclo 308 de reloj de descodificación, en el bloque 370, el secuenciador accede a un archivo de registro asociado con la instrucción la tercera vez mediante un tercer puerto de lectura de datos. El acceso de registro del bloque 370 ocurre dentro de la última porción del ciclo 308 de reloj de descodificación y la primera porción del ciclo 310 de reloj de acceso de archivo de registro. Como tal, el archivo de registro comienza dentro del ciclo 308 de reloj de descodificación y finaliza dentro del ciclo 310 de reloj de acceso de archivo de registro. En una modalidad particular, un tercer operando se recupera del archivo de registro durante el ciclo 310 de reloj de acceso de archivo de registro. Como se representa en la FIGURA 3 , durante la segunda porción del ciclo 310 de reloj de acceso de archivo de registro, el secuenciador accede al archivo de registro para la instrucción la cuarta vez mediante el tercer puerto de lectura de datos en el bloque 372. El cuarto archivo de registro comienza dentro del ciclo 310 de reloj de acceso de archivo de registro y finaliza dentro del primer ciclo 312 de reloj de ejecución en donde un cuarto operando se recupera del registro. En una modalidad particular, el tercer puerto de lectura de datos se utiliza para acceder al registro para poder recuperar el tercer operando y el cuarto operando. En el bloque 374, una porción de los datos del secuenciador se multiplexan en un multiplexor. También, durante el primer ciclo 312 de reloj de ejecución, una segunda unidad de generación de dirección dentro de una segunda unidad de ejecución de instrucción genera una dirección virtual para la instrucción basándose en los datos previamente leídos del archivo de registro. Procediendo al segundo ciclo 314 de reloj de ejecución, durante la rutina de almacenamiento, en el bloque 378, la memoria intermedia de búsqueda paralela de traducción de datos (DTLB) traduce la dirección virtual previamente generada para la instrucción en una dirección física. En el bloque 380, dentro del segundo ciclo 314 de reloj de ejecución, el secuenciador realiza una comprobación de etiqueta. También, durante el segundo ciclo 314 de reloj de ejecución, en el bloque 382, un alineador de almacenamiento alinea los datos de almacenamiento en el byte apropiado, media palabra, o límite de palabra dentro de una doble palabra antes de escribir los datos en la memoria caché de datos. Al cambiarse al tercer ciclo 316 de reloj de ejecución, en el bloque 384, el secuenciador actualiza la memoria de acceso aleatorio estática de la memoria caché de datos. Entonces, en el bloque 386, el secuenciador actualiza el archivo de registro para la instrucción la tercera vez mediante un segundo puerto de escritura de datos con los resultados de ejecutar la instrucción durante el tercer ciclo 316 de reloj de ejecución. Como se ilustra en la FIGURA 3, la rutina 306 de conducts-s comienza durante el ciclo 308 de reloj de descodificación, en el bloque 388, donde se realiza una descodificación rápida para la instrucción. En el bloque 390, el secuenciador accede al archivo de registro para la instrucción la quinta vez mediante un cuarto puerto de lectura de datos. El quinto acceso de archivo de registro también abarca dos ciclos de reloj y comienza dentro de la segunda porción del ciclo 308 de reloj de descodificación y finaliza dentro de la primera porción del ciclo 310 de reloj de acceso de archivo de registro donde se recupera un quinto operando. Aún durante el ciclo 310 de reloj de acceso de archivo de registro, una porción de los datos del archivo de registro para la instrucción se ultiplexa en un multiplexor. También, durante el ciclo 310 de reloj de acceso de archivo de registro, el secuenciador accede al archivo de registro para la instrucción la sexta vez mediante el cuarto puerto de lectura de datos en el bloque 394. El sexto acceso al archivo de registro comienza dentro de la segunda porción del ciclo 310 de reloj de acceso de archivo de registro y finaliza dentro de la primera porción del primer ciclo 312 de reloj de ejecución. Un sexto operando se recupera durante el primer ciclo 312 de reloj de ejecución. Procediendo al segundo ciclo 314 de reloj de ejecución, en el bloque 396, los datos recuperados durante el quinto acceso de archivo de registro y el sexto acceso de archivo de registro se envía a un modificador de 64 bits, una unidad de vector, y un extensor de signo/cero. También, durante el primer ciclo de reloj de ejecución, en el bloque 398, los datos del modificador, la unidad de vector, y el extensor de signo/cero se multiplexan.
Al cambiarse al segundo ciclo 314 de reloj de ejecución, los datos multiplexados del modificador, la unidad de vector y el extensor de signo/cero se envían a una unidad lógica aritmética, una unidad de ceros a la izquierda de conteo, o un comparador en el bloque 400. En el bloque 402, los datos de la unidad lógica aritmética, la unidad de ceros a la izquierda de conteo, y el comparador se multiplexan en multiplexor sencillo. Después de que se multiplexan los datos, el modificador modifica los datos multiplexados en orden para multiplicar los datos por 2, 4, 8, etc., en el bloque 404 durante el tercer ciclo 316 de reloj de ejecución. Entonces, en el bloque 406, el resultado del modificador se satura. Durante el ciclo 318 de reloj de reescritura, el bloque 408, el archivo de registro para la instrucción se actualiza la cuarta vez mediante un tercer puerto de datos de escritura. En una modalidad particular, como se ilustra en la FIGURA 3, el método de multi-ej ecución intercalada para el procesador digital de señales utiliza cuatro puertos de lectura para cada registro y tres puertos de escritura para cada registro. Debido al reciclaje de los puertos de lectura y los puertos de escritura, seis operandos pueden recuperarse mediante los cuatro puertos de datos de lectura. Además, cuatro resultados pueden actualizarse en el archivo de registro mediante tres puertos de datos de escritura . La FIGURA 4 ilustra una modalidad no limitante ejemplar de un dispositivo de comunicación portátil que se designa generalmente como 420. Como se ilustra en la FIGURA 4, el dispositivo de comunicación portátil incluye un sistema 422 en chip que incluye un procesador 424 digital de señales. En una modalidad particular el procesador 424 digital de señales es el procesador digital de señales mostrado en la FIGURA 1 y descrito en la presente. La FIGURA 4 también muestra un controlador 426 de pantalla que se acopla con el procesador 424 digital de señales y una pantalla 428. Además, un dispositivo 430 de entrada se acopla al procesador 424 digital de señales. Como se muestra, una memoria 432 se acopla al procesador 424 digital de señales. Adicionalmente , un codificador/descodificador (CODEC) 434 puede acoplarse al procesador 424 digital de señales. Un altavoz 436 y un micrófono 438 pueden acoplarse al CODEC 434. La FIGURA 4 también indica que un controlador 440 inalámbrico puede acoplarse al procesador 424 digital de señales y una antena 442 inalámbrica. En una modalidad particular, un suministro 444 de energía se acopla al sistema 422 en chip . Además, en una modalidad particular, como se ilustra en la FIGURA 4, la pantalla 428, el dispositivo 430 de entrada, el altavoz 436, el micrófono 438, la antena 442 inalámbrica y el suministro 444 de energía son externos al sistema 422 en chip. Sin embargo, cada uno se acopla a un componente del sistema 422 en chip. En una modalidad particular, el procesador 424 digital de señales utiliza multi-ejecución intercalada para procesar instrucciones asociadas con ejecuciones de programas necesarias para realizar la funcionalidad y operaciones necesarias por los diversos componentes del dispositivo 420 de comunicación portátil. Por ejemplo, cuando una sesión de comunicación inalámbrica se establece mediante la antena inalámbrica, un usuario puede hablar en el micrófono 438. Las señales electrónicas que representan la voz del usuario pueden enviarse al CODEC 434 para codificarse. El procesador 424 digital de señales puede realizar el procesamiento de datos para el CODEC 434 para codificar las señales electrónicas desde el micrófono. Además, las señales entrantes recibidas mediante la antena 442 inalámbrica pueden enviarse al CODEC 434 mediante el controlador 440 inalámbrico para descodificarse y enviarse al altavoz 436. El procesador 424 digital de señales también puede realizar el procesamiento de datos para el CODEC 434 cuando se descodifique la señal recibida mediante la antena 442 inalámbrica. Además, antes, durante o después de la sesión de comunicación inalámbrica, el procesador 424 digital de señales puede procesar entradas que se reciben desde el dispositivo 430 de entrada. Por ejemplo, durante la sesión de comunicación inalámbrica, un usuario puede estar utilizando el dispositivo 430 de entrada y la pantalla 428 para navegar la Internet mediante un navegador de red que se integra dentro de la memoria 432 del dispositivo 420 de comunicación portátil . El procesador 424 digital de señales puede intercalar varias ejecuciones de programas que se utilizan por el dispositivo 430 de entrada, el controlador 426 de pantalla, la pantalla 428, el CODEC 434 y el controlador 440 inalámbrico, como se describen en la presente, para controlar en forma eficiente la operación del dispositivo 420 de comunicación portátil y los diversos componentes en el mismo. Muchas de las instrucciones asociadas con las diversas ejecuciones de programa se ejecutan concurrentemente durante uno o más ciclos de reloj. Como tales, el consumo de potencia y energía debido a los ciclos desperdiciados de reloj se disminuye sustancialmente . Con referencia a la FIGURA 5, una modalidad no limitante, ejemplar de un teléfono celular se muestra y se designa generalmente como 520. Como se muestra, el teléfono 520 celular incluye un sistema 522 en chip que incluye un procesador 524 digital de banda base y un procesador 526 análogo de banda base que se acoplan juntos. En una modalidad particular, el procesador 524 digital de banda base es un procesador digital de señales, por ejemplo, el procesador digital de señales mostrado en la FIGURA 1 y descrito en la presente. Además, en una modalidad particular, el procesador 526 análogo de banda base también puede ser un procesador digital de señales, por ejemplo, el procesador digital de señales mostrado en la FIGURA 1. Como se ilustra en la FIGURA 5, un controlador 528 de pantalla y un controlador 530 de pantalla digital se acoplan con el procesador 524 digital de banda base. A su vez, una pantalla 532 digital externa al sistema 522 en chip se acopla al controlador 528 de pantalla y el controlador 530 de pantalla digital. La FIGURA 5 además indica que un codificador 534 de video, por ejemplo, un codificador de línea de alternación de fase (PAL) , un codificador de color secuencial con memoria (SECAM) , o un codificador de comité de sistema de televisión nacional (NTSC) , se acopla al procesador 524 digital de banda base. Además, un amplificador 536 de video se acopla al codificador 534 de video y a la pantalla 532 digital. También un puerto 538 de video se acopla al amplificador 536 de video. Como se representa en la FIGURA 5, un controlador 540 de bus de serie universal (USB) se acopla al procesador 524 digital de banda base. También, un puerto 542 de USB se acopla al controlador 540 de USB. Una memoria 544 y una tarjeta 546 de módulo de identidad de suscriptor (SIM) también pueden acoplarse al procesador 524 digital de banda base. Además, como se muestra en la FIGURA 5, una cámara 548 digital puede acoplarse al procesador 524 digital de banda base. En una modalidad ejemplar, la cámara 548 digital es una cámara de dispositivo de carga acoplada (CCD) o una cámara de semiconductor complementario de óxido metálico (CMOS) . Como además se ilustra en la FIGURA 5, un CODEC 550 de audio estereofónico puede acoplarse al procesador 526 análogo de banda base. Además, un amplificador 552 de audio puede acoplarse al CODEC 550 de audio estereofónico . En una modalidad ejemplar, un primer altavoz 554 estereofónico y un segundo altavoz 556 estereofónico se acoplan al amplificador 552 de audio. La FIGURA 5 muestra que un amplificador 558 de micrófono también puede acoplarse al CODEC 550 de audio estereofónico . Adicionalmente, un micrófono 560 puede acoplarse al amplificador 558 de micrófono. En una modalidad particular, un sintonizador 562 de radio de frecuencia modulada (FM) puede acoplarse al CODEC 550 de audio estereofónico . También, una antena 564 de FM se acopla al sintonizador 562 de radio de FM . Además, pueden acoplarse audífonos 566 estereofórneos al CODEC 550 de audio estereofónico . La FIGURA 5 además indica que un transceptor 568 de radiofrecuencia (RF) puede acoplarse al procesador 526 análogo de banda base. Un conmutador 570 de RF puede acoplarse al transceptor 568 de RF y una antena 572 de RF . Como se muestra en la FIGURA 5, un teclado 574 puede acoplarse al procesador 526 análogo de banda base. También, un microteléfono monofónico con un micrófono 576 puede acoplarse al procesador 526 análogo de banda base. Además, un dispositivo 578 vibrador puede acoplarse al procesador 526 análogo de banda base. La FIGURA 5 también muestra que un suministro 580 de energía puede acoplarse al sistema 522 en chip. En una modalidad particular, el suministro 580 de energía es un suministro de energía de corriente directa (CD) que proporciona energía a los diversos componentes del teléfono 520 celular que requieren energía. Además, en una modalidad particular, el suministro de energía es una batería de CD recargable o un suministro de energía de CD que se deriva desde una corriente alterna (CA) hasta un transformador de CD que se conecta a una fuente de energía de CA. En una modalidad particular, como se representa en la FIGURA 5, la pantalla 532 digital, el puerto 538 de video, el puerto 542 de USB, la cámara 548, el primer altavoz 554 estereofónico, el segundo altavoz 556 estereofónico, el micrófono 560, la antena 574 de FM, los audífonos 566 estereofónicos, el conmutador 570 de RF, la antena 572 de RF, el teclado 574, el microteléfono 576 monofónico, el vibrador 578 y el suministro 580 de energía son externos al sistema 522 en chip . Además, en una modalidad particular, el procesador 524 digital de banda base y el procesador análogo de banda base pueden utilizar multi-ejecución intercalada, descrita en la presente, para poder procesar las diversas ejecuciones de programas asociadas con uno o más de los diferentes componentes asociados con el teléfono 520 celular. Con referencia a la FIGURA 6, una modalidad no limitante, ejemplar de un teléfono de protocolo de Internet (IP) inalámbrico se muestra y se designa generalmente como 600. Como se muestra el teléfono 600 de IP inalámbrico incluye un sistema 602 en chip que incluye un procesador digital de señales (DSP) 604. En una modalidad particular, el DSP 604 es el procesador digital de señales mostrado en la FIGURA 1 y descrito en la presente. Como se ilustra en la FIGURA 6, un controlador 606 de pantalla se acopla al DSP 604 y una pantalla 608 se acopla al controlador 606 de pantalla. En una modalidad ejemplar, la pantalla 608 es una pantalla de cristal líquido (LCD) . La FIGURA 6 además muestra que un teclado 610 puede acoplarse al DSP 604. Como además se representa en la FIGURA 6, una memoria 612 flash puede acoplarse al DSP 604. Una memoria de acceso aleatorio dinámica síncrona (SDRAM) 614, una memoria de acceso aleatoria estática (SRAM) 616, y una memoria de sólo lectura programable eléctricamente borrable (EEPROM) 618 también puede acoplarse al DSP 604. La FIGURA 6 también muestra que un diodo emisor de luz (LED) 620 puede acoplarse al DSP 604. Adicionalmente, en una modalidad particular, un CODEC 622 de voz puede acoplarse al DSP 604. Un amplificador 624 puede acoplarse al CODEC 622 de voz y un altavoz 626 monofónico puede acoplarse al amplificador 624. La FIGURA 6 además indica que un microteléfono 628 monofónico también puede acoplarse al CODEC 622 de voz. En una modalidad particular, el microteléfono 628 monofónico incluye un micrófono. La FIGURA 6 también ilustra que un procesador 630 de banda base de red aérea local inalámbrica (WLAN) puede acoplarse al DSP 604. Un transceptor 632 de RF puede acoplarse al procesador 630 de banda base de WLAN y una antena 634 de RF puede acoplarse al transceptor 632 de RF . En una modalidad particular, un controlador 636 de Bluetooth también puede acoplarse al DSP 604 y una antena 638 de Bluetooth puede acoplarse al controlador 636. La FIGURA 6 también muestra que un puerto 640 de USB también puede acoplarse al DSP 604. Además, un suministro 642 de energía se acopla al sistema 602 en chip y proporciona energía a los diversos componentes del teléfono 600 de IP inalámbrico mediante el sistema 602 en chip .
En una modalidad particular, como se indica en la FIGURA 6, la pantalla 608, el teclado 610, el LED 620, el altavoz 626 monofónico, el microteléfono 628 monofónico, la antena 634 de RF, la antena 638 de Bluetooth, el puerto 640 de USB, y el suministro 642 de energía son externos al sistema 602 en chip . Sin embargo, cada uno de estos componentes se acopla a uno o más componentes del sistema en el chip . Además, en una modalidad particular, el procesador 604 digital de señales puede utilizar multi-ejecución intercalada, como se describe en la presente, para poder procesar las diversas ejecuciones de programas asociadas con uno o más de los diferentes componentes asociados con el teléfono 600 de IP. La FIGURA 7 ilustra una modalidad no limitante, ejemplar de un asistente digital portátil (PDA) que se designa generalmente como 700. Como se muestra el PDA 700 incluye un sistema 702 en chip que incluye un procesador digital de señales (DSP) 704. En una modalidad particular, el DSP 704 es el procesador digital de señales mostrado en la FIGURA 1 y descrito en la presente. Como se representa en la FIGURA 7, un controlador 706 de pantalla digital y un controlador 708 de pantalla se acoplan al DSP 704. Además, una pantalla digital se acopla al controlador 706 de pantalla digital y al controlador 708 de pantalla. La FIGURA 7 también indica que un teclado 712 puede acoplarse al DSP 704. Como además se representa en la FIGURA 7, una memoria 714 flash puede acoplarse al DSP 704. También, una memoria de sólo lectura (ROM) 716, una memoria de acceso aleatorio dinámico (DRAM) 718, y una memoria de sólo lectura programable eléctricamente borrable (EEPROM) 720 puede acoplarse al DSP 704. La FIGURA 7 también muestra que un puerto 722 de asociación de datos por infrarrojo (IrDA) puede acoplarse al DSP 704. Adicionalmente, en una modalidad particular, una cámara 724 digital puede acoplarse al DSP 704. Como se muestra en la FIGURA 7, en una modalidad particular, un CODEC 726 de audio estereofónico puede acoplarse al DSP 704. Un primer amplificador 728 estereofónico puede acoplarse al CODEC 726 de audio estereofónico y un primer altavoz 730 estereofónico puede acoplarse al primer amplificador 728 estereofónico . Adicionalmente, un amplificador 732 de micrófono puede acoplarse al CODEC 726 de audio estereofónico y un micrófono 734 puede acoplarse al amplificador 732 de micrófono. La FIGURA 7 además muestra que un segundo amplificador 736 estereofónico puede acoplarse al CODEC 726 de audio estereofónico y un segundo altavoz 738 estereofónico puede acoplarse al segundo amplificador 736 estereofónico. En una modalidad particular, los audífonos 740 estereofónicos también pueden acoplarse al CODEC 726 de audio estereofónico. La FIGURA 7 también ilustra que un controlador 742 de 802.11 puede acoplarse al DSP 704 y una antena 744 de 802.11 puede acoplarse al controlador 742 de 802.11. Además, un controlador 746 de Bluetooth puede acoplarse al DSP 704 y una antena 748 de Bluetooth puede acoplarse al controlador 746 de Bluetooth. Como se representa en la FIGURA 7, un controlador 750 de USB puede acoplarse al DSP 704 y un puerto 752 de USB puede acoplarse al controlador 750 de USB. Adicionalmente, una tarjeta 754 inteligente, por ejemplo, una tarjeta de multimedia (MMC) o una tarjeta digital segura (SD) puede acoplarse al DSP 704. Además, como se muestra en la FIGURA 7, un suministro 756 de energía puede acoplarse al sistema 702 en chip y puede proporcionar energía a los diversos componentes del PDA 700 mediante el sistema 702 en chip. En una modalidad particular, como se indica en la FIGURA 7, la pantalla 710, el teclado 712, el puerto 722 de IrDA, la cámara 724 digital, el primer altavoz 730 estereofónico, el micrófono 734, el segundo altavoz 738 estereofónico, los audífonos 740 estereofónicos , la antena 744 de 802.11, la antena 748 de Bluetooth, el puerto 752 de USB y el suministro 750 de energía son externos al sistema 702 en chip. Sin embargo, cada uno de estos componentes se acopla a uno o más componentes en el sistema en chip. Adicionalmente, en una modalidad particular, el procesador 704 digital de señales puede utilizar multi-e ecución intercalada descrita en la presente, para poder procesar las diversas ejecuciones de programas asociadas con uno o más de los diferentes componentes asociados con el asistente 700 digital portátil. Con referencia a la FIGURA 8, una modalidad no limitante, ejemplar de un reproductor de archivos de audio, tal como un reproductor de capa 3 de audio del grupo de expertos de imágenes en movimiento (MP3) se muestra y se designa generalmente como 800. Como se muestra, el reproductor 800 de archivos de audio incluye un sistema 802 en chip que incluye un procesador digital de señales (DSP) 804. En una modalidad particular, el DSP 804 es el procesador digital de señales mostrado en la FIGURA 1 y descrito en la presente. Como se ilustra en la FIGURA 8, un controlador 806 de pantalla se acopla al DSP 804 y una pantalla 808 se acopla al controlador 806 de pantalla. En una modalidad ejemplar, la pantalla 808 es una pantalla de cristal líquido (LCD) . La FIGURA 8 además muestra que un teclado 810 puede acoplarse al DSP 804. Como además se representa en la FIGURA 8, una memoria 812 flash y una memoria de sólo lectura (ROM) 814 puede acoplarse al DSP 804. Adicionalmente , en una modalidad particular, un CODEC 816 de audio puede acoplarse al DSP 804. Un amplificador 818 puede acoplarse al CODEC 816 de audio y un altavoz 820 monofónico puede acoplarse al amplificador 818. La FIGURA 8 además indica que una entrada 822 de micrófono y una entrada 824 estereofónica también pueden acoplarse al CODEC 816 de audio. En una modalidad particular, audífonos 826 estereofónicos también pueden acoplarse al CODEC 816 de audio. La FIGURA 8 también indica que un puerto 828 de USB y una tarjeta 830 inteligente puede acoplarse al DSP 804. Adicionalmente , un suministro 832 de energía puede acoplarse al sistema 802 en chip y puede proporcionar energía a los diversos componentes del reproductor 800 de archivos de audio mediante el sistema 802 en chip . En una modalidad particular, como se indica en la FIGURA 8, la pantalla 808, el teclado 810, el altavoz 820 monofónico, la entrada 822 de micrófono, la entrada 824 estereofónica, los audífonos 826 estereofónicos , el puerto 828 de USB, y el suministro 832 de energía son externos al sistema 802 en chip . Sin embargo, cada uno de estos componentes se acopla a uno o más componentes en el sistema en chip . También, en una modalidad particular, el procesador 804 digital de señales puede utilizar multi-ejecución intercalada, descrita en la presente, para poder procesar las diversas ejecuciones de programas asociadas con uno o más de los diferentes componentes asociados con el reproductor 800 de archivos de audio . Con la configuración de la estructura descrita en la presente, los archivos de registro no divididos unificados para un procesador digital que opera en un ambiente de multi -ejecución intercalada proporcionan seis archivos de registros no divididos unificados que se asocian con seis memorias caché de instrucción dentro de una memoria. Cada archivo de registro no divido unificado se dedica a una de las seis memorias caché de instrucciones. Además, seis ejecuciones de procesador pueden establecerse utilizando los archivos de registro, las memorias caché de instrucciones, el secuenciador y las cuatro unidades de ejecución de instrucciones. Una o más de las unidades de ejecución de instrucciones pueden utilizarse para una o más de las seis ejecuciones de procesador. Como tales, algunos recursos pueden utilizarse varias veces para diferentes ejecuciones de procesador. Adicionalmente, cada uno de los archivos de registro no divididos unificados se configura para incluir operandos de datos y operandos de dirección. El uso de los archivos de registro no divididos unificados sustancialmente simplifica el acceso a los operandos de datos y operandos de dirección almacenados en el mismo. Además, el uso de los archivos de registro no divididos unificados puede reducir sustancialmente los problemas asociados con múltiples programas de software que requieren acceso a los archivos de registro para los operandos de datos y los operandos de dirección. Aquellos de experiencia pueden apreciar adicionalmente que los diversos bloques lógicos ilustrativos, configuraciones, módulos, circuitos y etapas de algoritmos descritos junto con las modalidades descritas en la presente pueden implementarse como hardware electrónico, software de computadora, o una combinación de ambos. Para ilustrar claramente esta capacidad de intercambio de hardware y software, varios componentes ilustrativos, bloques, configuraciones, módulos, circuitos, y etapas se han descrito generalmente en lo anterior en términos de su funcionalidad. Si tal funcionalidad se implementa como hardware o software depende de la aplicación particular y las restricciones de diseño impuestas en el sistema general . Aquellos con experiencia en la técnica pueden implementar la funcionalidad descrita en varias formas para cada aplicación particular, pero tales decisiones de implementación no deben interpretarse como provocando una separación del alcance de la presente descripción. Las etapas de un método o algoritmo descritas junto con las modalidades descritas en la presente pueden representarse directamente en hardware, en un módulo de software ejecutado por un procesador, o en una combinación de los dos. Un módulo de software puede residir en una memoria RAM, memoria flash, memoria ROM, memoria PROM, memoria EPROM, memoria EEPROM, registros, unidad de disco duro, un disco removible, un CD-ROM, o cualquier otra forma de medios de almacenamiento conocida en la técnica. Un medio de almacenamiento ejemplar se acopla al procesador de tal manera que el procesador pueda leer información de, y escribir información en, el medio de almacenamiento. Alternativamente, el medio de almacenamiento puede ser parte integral del procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en un dispositivo de cómputo o una terminal de usuario. Alternativamente, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo de cómputo o terminal de usuario. La descripción previa de las modalidades descritas se proporciona para permitir que cualquier persona con experiencia en la técnica haga o utilice la presente descripción. Varias modificaciones a estas modalidades serán fácilmente aparentes para aquellos con experiencia en la técnica, y los principios genéricos definidos en la presente pueden aplicarse a otras modalidades sin apartarse del espíritu o alcance de la descripción. De este modo, la presente descripción no se pretende para limitarse a las modalidades mostradas en la presente, sino para estar de acuerdo con el alcance más amplio consistente con los principios y características novedosas como se define por las siguientes reivindicaciones .

Claims (40)

  1. NOVEDAD DE LA INVENCIÓN Habiendo descrito la presente invención se considera como novedad y por lo tanto se reclama como propiedad lo descrito en las siguientes reivindicaciones.
  2. REIVINDICACIONES 1. Un dispositivo procesador caracterizado porque comprende : una memoria; un secuenciador responsable de la memoria, el secuenciador soporta instrucciones de palabra de instrucción muy grande (VLIW) e instrucciones de superescalar ; una primera unidad de ejecución de instrucción responsable del secuenciador ; una segunda unidad de ejecución de instrucción responsable del secuenciador; una tercera unidad de ejecución de instrucción responsable del secuenciador ; una cuarta unidad de ejecución de instrucción responsable del secuenciador ; y una pluralidad de archivos de registro, cada uno de la pluralidad de archivos de registro incluye una pluralidad de registros, la pluralidad de archivos de registro acoplados al secuenciador y acoplados a la primera unidad de ejecución de instrucción, la segunda unidad de ejecución de instrucción, la tercera unidad de ejecución de instrucción y la cuarta unidad de ejecución de instrucción. 2. El dispositivo procesador de conformidad con la reivindicación 1, caracterizado porque cada uno de la pluralidad de archivos de registro es un archivo de registro no dividido unificado.
  3. 3. El dispositivo procesador de conformidad con la reivindicación 2, caracterizado porque cada uno de la pluralidad de archivos de registro es un archivo sencillo que incluye por lo menos dieciséis registros de datos.
  4. 4. El dispositivo procesador de conformidad con la reivindicación 3, caracterizado porque cada uno de la pluralidad de archivos de registro incluye treinta y dos registros y cada uno de los treinta y dos registros incluye treinta y dos bits.
  5. 5. El dispositivo procesador de conformidad con la reivindicación 3, caracterizado porque cada uno de la pluralidad de archivos de registro incluye por lo menos un operando de datos y por lo menos un operando de dirección.
  6. 6. El dispositivo procesador de conformidad con la reivindicación 1, caracterizado porque la pluralidad de archivos de registro comprende seis archivos de registros.
  7. 7. El dispositivo procesador de conformidad con la reivindicación 6, caracterizado porque la memoria incluye seis memorias caché de instrucciones y cada memoria caché de instrucciones se asocia con uno de los seis archivos de registros.
  8. 8. El dispositivo procesador de conformidad con la reivindicación 7, caracterizado porque la memoria incluye seis colas de instrucción y donde cada cola de instrucción se asocia con una memoria caché de instrucciones sencilla dentro de la memoria.
  9. 9. El dispositivo procesador de conformidad con la reivindicación 8, caracterizado porque cada cola de instrucción se acopla al secuenciador.
  10. 10. El dispositivo procesador de conformidad con la reivindicación 1, caracterizado porque por lo menos una de las unidades de ejecución de instrucción es una unidad de modificación de datos y otra de las unidades de ejecución de instrucción es una unidad de multiplicación y acumulación.
  11. 11. El dispositivo procesador de conformidad con la reivindicación 10, caracterizado porque por lo menos una de las unidades de ejecución de instrucción es una unidad de carga que recupera datos del archivo de registro.
  12. 12. El dispositivo procesador de conformidad con la reivindicación 11, caracterizado porque por lo menos una de las unidades de ejecución de instrucción es una unidad de carga y almacenamiento que tiene una interfaz para el archivo de registro para recibir datos del archivo de registro y para escribir datos en el archivo de registro.
  13. 13. Un método para operar un procesador digital de señales, el método caracterizado porque comprende: buscar una instrucción de una memoria caché de instrucciones ; acceder a un archivo de registro no divido unificado asociado con la memoria caché de instrucciones, donde el archivo de registro no dividido unificado incluye uno o más operandos de datos y uno o más operandos de direcciones; y recuperar un operando de datos o un operando de dirección asociado con la instrucción del archivo de registro no dividido unificado.
  14. 14. El método de conformidad con la reivindicación 13, caracterizado además porque comprende ejecutar la instrucción utilizando uno o más operandos asociados con la instrucción dentro de una unidad de ejecución de instrucción.
  15. 15. El método de conformidad con la reivindicación 14, caracterizado además porque comprende escribir un resultado de ejecutar la instrucción en la unidad de ejecución de instrucción para el archivo de registro no dividido unificado asociado con la instrucción.
  16. 16. El método de conformidad con la reivindicación 15, caracterizado porque la unidad de ejecución de instrucción realiza por lo menos una de la siguiente: una operación de modificación, una operación de multiplicación, una operación de salto, una operación de carga, una operación de almacenamiento, una operación de multiplicación y acumulación, y una operación de registro de transferencia.
  17. 17. Un dispositivo procesador de multi-ejecución caracterizado porque comprende: una memoria; un secuenciador responsable de la memoria; una pluralidad de unidades de ejecución de instrucción responsables del secuenciador ; un primer archivo de registro no dividido unificado que incluye una primera pluralidad de registros, el primer archivo de registro no dividido unificado acoplado a la memoria y acoplado a cada una de la pluralidad de unidades de ejecución de instrucción, el primer archivo de registro no dividido unificado soporta la ejecución de una instrucción de programa de una primera ejecución de programa, el primer archivo de registro no dividido unificado incluye por lo menos un operando de datos y por lo menos un operando de dirección; y un segundo archivo de registro no dividido unificado que incluye una segunda pluralidad de registros, el segundo archivo de registro no dividido unificado acoplado a la memoria y acoplado a cada una de la pluralidad de unidades de ejecución de instrucción, el segundo archivo de registro no dividido unificado soporta la ejecución de una instrucción de programa de una segunda ejecución de programa, el segundo archivo de registro no dividido unificado incluye por lo menos un operando de datos y por lo menos un operando de dirección.
  18. 18. El dispositivo procesador de multi-ejecución de conformidad con la reivindicación 17, caracterizado porque el secuenciador soporta instrucciones de palabra de instrucción muy grande (VLIW) .
  19. 19. El dispositivo procesador de multi-ej ecución de conformidad con la reivindicación 18, caracterizado porque el secuenciador además soporta ejecución de instrucciones de superescalar .
  20. 20. El dispositivo procesador de multi -e ecución de conformidad con la reivindicación 17, caracterizado porque las instrucciones de programas de la primera ejecución de programa y la segunda ejecución de programa se almacenan cada una dentro de la memoria.
  21. 21. El dispositivo procesador de multi-ejecución de conformidad con la reivindicación 17, caracterizado porque por lo menos una de la pluralidad de unidad de ejecución de instrucción es una unidad de ejecución de instrucción de multiplicación y acumulación (MAC) .
  22. 22. El dispositivo procesador de multi-ejecución de conformidad con la reivindicación 21, caracterizado porque por lo menos una de la pluralidad de unidades de ejecución de instrucción es una unidad de ejecución de instrucción de carga de datos e incluye una mterfaz para recuperar datos del primer archivo de registro no dividido unificado y el segundo archivo de registro no dividido unificado .
  23. 23. El dispositivo procesador de multi-ej ecución de conformidad con la reivindicación 17, caracterizado además porque comprende un tercer archivo de registro no dividido unificado que incluye una tercera pluralidad de registros, el tercer archivo de registro no dividido unificado acoplado a la memoria y acoplado a cada una de la pluralidad de unidades de ejecución de instrucción, el tercer archivo de registro no dividido unificado soporta la ejecución de instrucciones de programas de una tercera ejecución de programa.
  24. 24. El dispositivo procesador de multi-ejecución de conformidad con la reivindicación 23, caracterizado además porque comprende un cuarto archivo de registro no dividido unificado que incluye una cuarta pluralidad de registros, el cuarto archivo de registro no dividido unificado acoplado a la memoria y acoplado a cada de una de la pluralidad de unidades de ejecución de instrucción, el cuarto archivo de registro no divido unificado soporta la ejecución de introducciones de programas de una cuarta ejecución de programa.
  25. 25. El dispositivo procesador de multi-ejecución de conformidad con la reivindicación 23, caracterizado además porque comprende un quinto archivo de registro no dividido unificado que incluye una quinta pluralidad de registros, el quinto archivo de registro no dividido unificado acoplado a la memoria y acoplado a cada una de la pluralidad de unidades de ejecución de instrucción, el quinto archivo de registro no dividido unificado soporta la ejecución de instrucciones de programas de una quinta ejecución de programa.
  26. 26. El dispositivo procesador de multi-e ecución de conformidad con la reivindicación 25, caracterizado además porque comprende un sexto archivo de registro no dividido unificado que incluye una sexta pluralidad de registros, el sexto archivo de registro no dividido unificado acoplado a cada una de la pluralidad de unidades de ejecución de instrucción, el sexto archivo de registro no dividido unificado soporta la ejecución de instrucciones de programas de una sexta ejecución de programa.
  27. 27. Un dispositivo de comunicación portátil, caracterizado porque comprende: un procesador digital de señales; donde el procesador digital de señales incluye: una memoria; un secuenciador responsable de la memoria; por lo menos una unidad de ejecución de instrucción responsable del secuenciador ; y una pluralidad de archivos de registro no divididos unificados acoplados a la memoria y acoplados por lo menos a una unidad de ejecución de instrucción, cada uno de la pluralidad de archivos de registro no divididos unificados incluye por lo menos un operando de datos y por lo menos un operando de dirección.
  28. 28. El dispositivo de comunicación portátil de conformidad con la reivindicación 27, caracterizado porque el secuenciador soporta instrucciones de palabra de instrucción muy grande (VLIW) en un primer modo de operación.
  29. 29. El dispositivo de comunicación portátil de conformidad con la reivindicación 28, caracterizado porque el secuenciador soporta instrucciones de superescalar en un segundo modo de operación.
  30. 30. El dispositivo de comunicación portátil de conformidad con la reivindicación 27, caracterizado porque la pluralidad de archivos de registros no divididos unificados comprende seis archivos de registro no divididos unificados .
  31. 31. El dispositivo de comunicación portátil de conformidad con la reivindicación 30, caracterizado porque la memoria incluye seis memoria caché de instrucciones y cada memoria caché de instrucciones se asocia con uno de los seis archivos de registros no divididos unificados.
  32. 32. El dispositivo de comunicación portátil de conformidad con la reivindicación 31, caracterizado porque la memoria incluye seis colas de instrucción, donde cada cola de instrucción se asocia con una memoria caché de instrucciones sencilla dentro de la memoria.
  33. 33. El dispositivo de comunicación portátil de conformidad con la reivindicación 32, caracterizado porque cada cola de instrucción se acopla al secuenciador .
  34. 34. El dispositivo de comunicación portátil de conformidad con la reivindicación 33, caracterizado porque el procesador digital de señales utiliza multi-ej ecución intercalada para ejecutar instrucciones desde múltiples ejecuciones de programas recuperadas de las memorias caché de instrucciones dentro de la memoria.
  35. 35. El dispositivo de comunicación portátil de conformidad con la reivindicación 34, caracterizado porque el procesador digital de señales intercala seis ejecuciones de programas independientes .
  36. 36. El dispositivo de comunicación portátil de conformidad con la reivindicación 27, caracterizado además porque comprende : un procesador análogo de banda base acoplado al procesador digital de señales; un codificador/descodificador (CODEC) de audio estereofónico acoplado al procesador análogo de banda base; un transceptor de radiofrecuencia (RF) acoplado al procesador análogo de banda base; un conmutador de RF acoplado al transceptor de RF; y una antena de RF acoplada al conmutador de RF .
  37. 37. El dispositivo de comunicación portátil de conformidad con la reivindicación 27, caracterizado además porque comprende : un codificador/descodificador (CODEC) de voz acoplado al procesador digital de señales; un controlador de Bluetooth acoplado al procesador digital de señales; una antena de Bluetooth acoplada al controlador de Bluetooth; un procesador de banda base de control de acceso a medios de red de área local inalámbrica (MAC de WLAN) acoplado al procesador digital de señales; un transceptor de RF acoplado al procesador de banda base de MAC de WLAN; y una antena de RF acoplada al transceptor de RF .
  38. 38. El dispositivo de comunicación portátil de conformidad con la reivindicación 27, caracterizado además porque comprende : un codificador/descodificador (CODEC) estereofónico acoplado al procesador digital de señales; un controlador de 802.11 acoplado al procesador digital de señales; una antena de 802.11 acoplada al controlador de 802.11; un controlador de Bluetooth acoplado al procesador digital de señales; una antena de Bluetooth acoplada al controlador de Bluetooth; un controlador de bus de serie universal (USB) acoplado al procesador digital de señales; y un puerto de USB acoplado al controlador de USB.
  39. 39. Un reproductor de archivos de audio, caracterizado porque comprende: un procesador digital de señales; un codificador/descodificador (CODEC) de audio acoplado al procesador digital de señales; una tarjeta de multimedia acoplada al procesador digital de señales; un puerto de bus de serie universal (USB) acoplado al procesador digital de señales; y donde el procesador digital de señales incluye: una memoria, un secuenciador responsable de la memoria; por lo menos una unidad de ejecución de instrucción responsable del secuenciador ; y un archivo de registro no dividido unificado acoplado a la memoria y acoplado por lo menos a una unidad de ejecución de instrucción, el archivo de registro no dividido unificado incluye por lo menos un operando de datos y por lo menos un operando de dirección.
  40. 40. Un dispositivo procesador, caracterizado porque comprende : medios para buscar una instrucción de una memoria caché de instrucciones; medios para acceder a un archivo de registro no dividido unificado asociado con la memoria caché de instrucciones, donde el archivo de registro no dividido unificado incluye uno o más operandos de datos y uno o más operandos de direcciones; y medios para recuperar por lo menos uno de los operandos de datos o por lo menos uno de los operandos de direcciones asociados con la instrucción.
MX2007012584A 2005-04-11 2006-04-11 Archivos de registro no divididos unificados para un procesador de senales digital que opera en un ambiente intercalado de multi-ejecucion. MX2007012584A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/103,744 US20060230253A1 (en) 2005-04-11 2005-04-11 Unified non-partitioned register files for a digital signal processor operating in an interleaved multi-threaded environment
PCT/US2006/014174 WO2006110906A2 (en) 2005-04-11 2006-04-11 Unified non-partitioned register files for a digital signal processor operating in an interleaved multi-threaded environment

Publications (1)

Publication Number Publication Date
MX2007012584A true MX2007012584A (es) 2007-12-11

Family

ID=36607602

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007012584A MX2007012584A (es) 2005-04-11 2006-04-11 Archivos de registro no divididos unificados para un procesador de senales digital que opera en un ambiente intercalado de multi-ejecucion.

Country Status (4)

Country Link
US (1) US20060230253A1 (es)
MX (1) MX2007012584A (es)
TW (1) TW200739420A (es)
WO (1) WO2006110906A2 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103646009B (zh) 2006-04-12 2016-08-17 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
EP2527972A3 (en) 2006-11-14 2014-08-06 Soft Machines, Inc. Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes
US8725991B2 (en) * 2007-09-12 2014-05-13 Qualcomm Incorporated Register file system and method for pipelined processing
EP3156896B1 (en) 2010-09-17 2020-04-08 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
TWI518504B (zh) 2011-03-25 2016-01-21 軟體機器公司 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的暫存器檔案節段
EP2689327B1 (en) 2011-03-25 2021-07-28 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
KR101636602B1 (ko) 2011-03-25 2016-07-05 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
US9940134B2 (en) 2011-05-20 2018-04-10 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
KR101639854B1 (ko) 2011-05-20 2016-07-14 소프트 머신즈, 인크. 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조
WO2013077875A1 (en) 2011-11-22 2013-05-30 Soft Machines, Inc. An accelerated code optimizer for a multiengine microprocessor
CN108427574B (zh) 2011-11-22 2022-06-07 英特尔公司 微处理器加速的代码优化器
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
CN105247484B (zh) 2013-03-15 2021-02-23 英特尔公司 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
WO2014151018A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for executing multithreaded instructions grouped onto blocks
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926208A (en) * 1992-02-19 1999-07-20 Noonen; Michael Video compression and decompression arrangement having reconfigurable camera and low-bandwidth transmission capability
US5805486A (en) * 1995-11-28 1998-09-08 Intel Corporation Moderately coupled floating point and integer units
US6170051B1 (en) * 1997-08-01 2001-01-02 Micron Technology, Inc. Apparatus and method for program level parallelism in a VLIW processor
EP1050809A1 (en) * 1999-05-03 2000-11-08 STMicroelectronics SA Computer instruction dependency
US20020110246A1 (en) * 2001-02-14 2002-08-15 Jason Gosior Wireless audio system
US20020173344A1 (en) * 2001-03-16 2002-11-21 Cupps Bryan T. Novel personal electronics device
US6928645B2 (en) * 2001-03-30 2005-08-09 Intel Corporation Software-based speculative pre-computation and multithreading
KR100547824B1 (ko) * 2001-12-29 2006-02-01 삼성전자주식회사 블루투스를 구비하는 이동통신 단말기에서 긴급구조요청방법
US6789167B2 (en) * 2002-03-06 2004-09-07 Hewlett-Packard Development Company, L.P. Method and apparatus for multi-core processor integrated circuit having functional elements configurable as core elements and as system device elements
US6904511B2 (en) * 2002-10-11 2005-06-07 Sandbridge Technologies, Inc. Method and apparatus for register file port reduction in a multithreaded processor
US7478198B2 (en) * 2004-05-24 2009-01-13 Intel Corporation Multithreaded clustered microarchitecture with dynamic back-end assignment

Also Published As

Publication number Publication date
TW200739420A (en) 2007-10-16
WO2006110906A2 (en) 2006-10-19
WO2006110906A3 (en) 2007-07-26
US20060230253A1 (en) 2006-10-12

Similar Documents

Publication Publication Date Title
US9235418B2 (en) Register files for a digital signal processor operating in an interleaved multi-threaded environment
US7584233B2 (en) System and method of counting leading zeros and counting leading ones in a digital signal processor
MX2007012584A (es) Archivos de registro no divididos unificados para un procesador de senales digital que opera en un ambiente intercalado de multi-ejecucion.
CN103207773B (zh) 使用标量/向量指令处理数据的系统和方法
US8688761B2 (en) Arithmetic logic and shifting device for use in a processor
US20060230257A1 (en) System and method of using a predicate value to access a register file
US8234319B2 (en) System and method of performing two's complement operations in a digital signal processor

Legal Events

Date Code Title Description
FA Abandonment or withdrawal