ES2870617T3 - Técnicas de ahorro de energía en dispositivos informáticos - Google Patents

Técnicas de ahorro de energía en dispositivos informáticos Download PDF

Info

Publication number
ES2870617T3
ES2870617T3 ES18160829T ES18160829T ES2870617T3 ES 2870617 T3 ES2870617 T3 ES 2870617T3 ES 18160829 T ES18160829 T ES 18160829T ES 18160829 T ES18160829 T ES 18160829T ES 2870617 T3 ES2870617 T3 ES 2870617T3
Authority
ES
Spain
Prior art keywords
processor
modem
data
application
timer
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES18160829T
Other languages
English (en)
Inventor
Vinod Kaushik
Uppinder Babbar
Andrei Danaila
Neven Klacar
Muralidhar Krishnamoorthy
Arunn Krishnamurthy
Vaibhav Kumar
Vanitha Kumar
Shailesh Maheshwari
Alok Mitra
Roshan Pius
Hariharan Sukumar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=53368378&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2870617(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2870617T3 publication Critical patent/ES2870617T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0287Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Power Sources (AREA)
  • Bus Control (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Un terminal móvil (22), que comprende: un temporizador del módem; un procesador del módem (44), con el procesador del módem configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta la expiración del temporizador del módem; un temporizador de aplicaciones que tiene un periodo más largo que un periodo del temporizador del módem; un procesador de aplicaciones (34), configurado el procesador de aplicaciones para mantener los datos del procesador de aplicaciones al procesador del módem hasta la recepción de los datos del procesador del módem al procesador de aplicaciones desde el procesador del módem mediante un bus de interconectividad después de lo que los datos del procesador de aplicaciones al procesador del módem se envían al procesador del módem mediante el bus de interconectividad; acoplando el bus de interconectividad (36) de manera comunicativa el procesador de aplicaciones al procesador del módem, teniendo el bus de interconectividad un periodo activo y un periodo de modo de suspensión; y configurado el procesador del módem, además, basado en el periodo del temporizador del módem y el periodo del temporizador de aplicaciones, para sincronizar la transferencia de los datos del procesador de aplicaciones al procesador del módem y los datos del procesador del módem al procesador de aplicaciones durante un único periodo activo del bus de interconectividad.

Description

DESCRIPCIÓN
Técnicas de ahorro de energía en dispositivos informáticos
Reivindicaciones de prioridad
Antecedentes
I. Campo de la divulgación
La tecnología de la divulgación se refiere en general a técnicas de ahorro de energía en dispositivos informáticos. II. Antecedentes
Los dispositivos informáticos son comunes en la sociedad moderna. Desde pequeños dispositivos informáticos móviles, como un teléfono inteligente o tablet, hasta grandes granjas de servidores con numerosas placas y bancos de memoria, se espera que estos dispositivos se comuniquen a través de una miríada de redes al tiempo que proporcionan otras funciones básicas. Si bien los dispositivos y servidores de escritorio son en general inmunes a las preocupaciones sobre el consumo de energía, los dispositivos móviles luchan constantemente por encontrar un equilibrio adecuado entre las funciones disponibles y la duración de la batería. Es decir, a medida que se proporcionan más funciones, aumenta el consumo de energía y se acorta la vida útil de la batería. Los servidores también pueden tener problemas de consumo de energía cuando se ensamblan en granjas de servidores grandes.
Simultáneamente con los problemas de consumo de energía, las mejoras en las comunicaciones de red han aumentado las velocidades de datos. Por ejemplo, los cables de cobre han sido reemplazados por cables de fibra óptica de mayor ancho de banda, y las redes celulares han evolucionado desde los primeros protocolos de sistema avanzados de telefonía móvil (AMPS) y sistema global para comunicaciones móviles (GSM) hasta los protocolos 4G y de evolución a largo plazo (LTE) capaces de soportar velocidades de datos mucho más altas. A medida que aumentaron las velocidades de datos, también aumentó la necesidad de poder procesar estas velocidades de datos aumentadas dentro de los dispositivos informáticos. Por lo tanto, los dispositivos informáticos móviles anteriores pueden haber tenido buses internos formados de acuerdo con un estándar Inter-Chip de alta velocidad (HSIC), un estándar de bus serie universal (USB) (y particularmente USB 2.0), o un estándar de receptor/transmisor asíncrono universal (UART). Sin embargo, estos buses no son compatibles con las velocidades de datos actuales.
En respuesta a la necesidad de buses internos más rápidos, el estándar de interconexión de componentes periféricos express (PCIe), así como las generaciones posteriores de USB (por ejemplo, USB 3.0 y versiones posteriores) se han adoptado para algunos dispositivos informáticos móviles. Sin embargo, si bien PCIe y USB 3.0 pueden manejar las altas velocidades de datos que se utilizan actualmente, el uso de dichos buses produce un consumo excesivo de energía y afecta negativamente a la vida útil de la batería al acortar el tiempo entre los eventos de recarga.
El documento WO 2009/039034 describe la modificación de un estado de potencia para un subsistema de comunicaciones y un subsistema informático de un estado de mayor potencia a un estado de menor potencia, almacenando paquetes de información en una memoria intermedia para el subsistema de comunicaciones durante un período de duración de inactividad de las comunicaciones, generando un valor umbral de recepción variable para la memoria intermedia y transfiriendo los paquetes de información almacenados desde la memoria intermedia al subsistema informático basándose en un valor umbral de recepción variable.
Sumario de la divulgación
La invención se define en las reivindicaciones adjuntas. Los modos de realización que no están dentro del alcance de las reivindicaciones no describen parte de la invención.
La divulgación está dirigida a técnicas de ahorro de energía en dispositivos informáticos y terminales móviles de ahorro de energía, cuyas características se exponen en las reivindicaciones adjuntas. Los aspectos divulgados en la descripción detallada incluyen técnicas de ahorro de energía en dispositivos informáticos. En particular, cuando los datos son recibidos por un procesador del módem en un dispositivo informático, los datos se retienen hasta la expiración de un temporizador del módem. A continuación, los datos se envían a un procesador de aplicaciones en el dispositivo informático a través de un bus de interconectividad de interconexión de componentes periféricos express (PCIe). Al recibir los datos del procesador del módem, el procesador de aplicaciones envía los datos retenidos por el procesador de aplicaciones al procesador del módem a través del bus de interconectividad PCIe. El procesador de aplicaciones también tiene un temporizador de enlace ascendente. Si no se reciben datos del procesador del módem antes de la expiración del temporizador del enlace ascendente, el procesador de aplicaciones envía los datos recopilados al procesador del módem al expirar el temporizador del enlace ascendente. Sin embargo, si se reciben datos del procesador del módem, el temporizador de enlace ascendente se reinicia. Al retener o acumular los datos en un procesador fuente de esta manera, se reducen las transiciones innecesarias entre los estados de baja potencia y los estados activos en el bus PCIe y se conserva la energía.
En un aspecto alternativo, en lugar de iniciar la transferencia de datos basándose en la expiración del temporizador de enlace descendente (con o sin expiración del temporizador de enlace ascendente), la transferencia de datos acumulados puede iniciarse basándose en la expiración de solo un temporizador de acumulación de enlace ascendente. El temporizador de acumulación de enlace ascendente puede estar dentro de un dispositivo principal o un dispositivo asociado con el bus de interconectividad.
En otro aspecto alternativo, el inicio de la transferencia de datos puede basarse en alcanzar un umbral predefinido para un contador de límite de acumulación de bytes. El contador de límite de acumulación de bytes no es mutuamente exclusivo en relación con los otros contadores y puede funcionar como un mecanismo de anulación para uno de los otros temporizadores de acumulación. El uso de dicha anulación puede ser útil en situaciones en las que llega una ráfaga repentina de datos que excedería el espacio de la memoria intermedia y/o el ancho de banda del bus. Del mismo modo, en lugar de un contador de bytes, se puede usar un contador de tamaño de paquete o un contador de "número total de paquetes" para cubrir situaciones en las que la red entrega numerosos paquetes o un paquete particularmente grande.
En otros aspectos de la presente divulgación, los temporizadores pueden ser anulados por otros factores o parámetros. Tal anulación se alude a lo anterior con los contadores de límite de acumulación de bytes y el contador de número total de paquetes, lo cual provoca transferencias de datos independientemente de los temporizadores. Otros parámetros también pueden anular los temporizadores, como la presencia de tráfico de baja latencia (por ejemplo, mensajes de control), la sincronización de las transferencias de datos de enlace ascendente y descendente, o los requisitos de calidad de servicio de baja latencia. Cuando dicho tráfico está presente, se puede usar una interrupción u otro comando para iniciar transferencias de datos antes de que expire un temporizador. Aún otros factores pueden anular los temporizadores, como una indicación de que un dispositivo o dispositivo principal no está en un modo de sondeo automático.
A este respecto, en un aspecto, se divulga un terminal móvil. El terminal móvil comprende un temporizador del módem. El terminal móvil también comprende un procesador del módem. El procesador del módem está configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta que expire el temporizador del módem. El terminal móvil también comprende un procesador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que conecta comunicativamente el procesador de aplicaciones al procesador del módem. El procesador de aplicaciones está configurado para mantener los datos del procesador de aplicaciones al procesador del módem hasta la recepción de los datos del procesador del módem al procesador de aplicaciones desde el procesador del módem a través del bus de interconectividad, después de lo cual los datos del procesador de aplicaciones al procesador del módem se envían al procesador del módem a través del bus de interconexión.
En otro aspecto, se divulga un procedimiento para controlar el consumo de energía en un dispositivo informático. El procedimiento comprende mantener los datos recibidos por un procesador del módem desde una red remota hasta la expiración de un temporizador de enlace descendente. El procedimiento también comprende enviar los datos recibidos por el procesador del módem a un procesador de aplicaciones a través de un bus de interconectividad. El procedimiento también comprende mantener los datos de la aplicación generados por una aplicación asociada con el procesador de aplicaciones hasta la recepción de los datos del procesador del módem o la expiración de un temporizador de enlace ascendente, lo que ocurra primero.
En otro aspecto, se divulga un terminal móvil. El terminal móvil comprende un procesador del módem. El terminal móvil también comprende un temporizador de aplicaciones. El terminal móvil también comprende un procesador de aplicaciones. El procesador de aplicaciones está configurado para mantener los datos del procesador de aplicaciones al procesador del módem hasta que expire el temporizador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que conecta comunicativamente el procesador de aplicaciones al procesador del módem. El procesador del módem está configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta la recepción de los datos del procesador de aplicaciones al procesador del módem del procesador de aplicaciones a través del bus de interconectividad, después de lo cual los datos del procesador del módem al procesador de aplicaciones se envían al procesador de aplicaciones a través del bus de interconectividad.
En otro aspecto, se divulga un terminal móvil. El terminal móvil comprende un contador de límite de acumulación de bytes de módem. El terminal móvil también comprende un procesador del módem. El procesador del módem está configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta que el contador de límite de acumulación de bytes del módem haya alcanzado un umbral predefinido de bytes. El terminal móvil también comprende un procesador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que conecta comunicativamente el procesador de aplicaciones al procesador del módem. El procesador de aplicaciones está configurado para mantener los datos del procesador de aplicaciones al procesador del módem hasta la recepción de los datos del procesador del módem al procesador de aplicaciones desde el procesador del módem a través del bus de interconectividad, después de lo cual los datos del procesador de aplicaciones al procesador del módem se envían al procesador del módem a través del bus de interconexión.
Con respecto a otro aspecto, se divulga un terminal móvil. El terminal móvil comprende un contador de paquetes de módem. El terminal móvil también comprende un procesador del módem. El procesador del módem está configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta que el contador de paquetes del módem haya alcanzado un umbral predefinido de paquetes. El terminal móvil también comprende un procesador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que conecta comunicativamente el procesador de aplicaciones al procesador del módem. El procesador de aplicaciones está configurado para mantener los datos del procesador de aplicaciones al procesador del módem hasta la recepción de los datos del procesador del módem al procesador de aplicaciones desde el procesador del módem a través del bus de interconectividad, después de lo cual los datos del procesador de aplicaciones al procesador del módem se envían al procesador del módem a través del bus de interconexión.
En otro aspecto, se divulga un terminal móvil. El terminal móvil comprende un procesador del módem. El terminal móvil también comprende un contador de bytes de aplicación. El terminal móvil también comprende un procesador de aplicaciones. El procesador de aplicaciones está configurado para mantener los datos del procesador de aplicaciones al procesador del módem hasta que el contador de bytes de la aplicación haya alcanzado un umbral predefinido de bytes. El terminal móvil también comprende un bus de interconectividad que conecta comunicativamente el procesador de aplicaciones al procesador del módem. El procesador del módem está configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta la recepción de los datos del procesador de aplicaciones al procesador del módem del procesador de aplicaciones a través del bus de interconectividad, después de lo cual los datos del procesador del módem al procesador de aplicaciones se envían al procesador de aplicaciones a través del bus de interconectividad.
En otro aspecto, se divulga un terminal móvil. El terminal móvil comprende un procesador del módem y un contador de paquetes de aplicaciones. El terminal móvil también comprende un procesador de aplicaciones. El procesador de aplicaciones está configurado para mantener los datos del procesador de aplicaciones al procesador del módem hasta que el contador de paquetes de la aplicación haya alcanzado un umbral predefinido de paquetes. El terminal móvil comprende un bus de interconectividad que conecta comunicativamente el procesador de aplicaciones al procesador del módem. El procesador del módem está configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta la recepción de los datos del procesador de aplicaciones al procesador del módem del procesador de aplicaciones a través del bus de interconectividad, después de lo cual los datos del procesador del módem al procesador de aplicaciones se envían al procesador de aplicaciones a través del bus de interconectividad.
Con respecto a otro aspecto, se divulga un procedimiento. El procedimiento comprende iniciar un temporizador de aplicaciones en un procesador de aplicaciones. El procedimiento también comprende acumular datos en el procesador de aplicaciones hasta la expiración del temporizador de aplicaciones. El procedimiento comprende enviar los datos acumulados desde el procesador de aplicaciones a un procesador del módem a través de un bus de interconectividad. El procedimiento comprende además mantener los datos del procesador del módem en el procesador del módem hasta la recepción de los datos acumulados del procesador de aplicaciones.
En otro aspecto, se divulga un terminal móvil. El terminal móvil comprende un temporizador del módem. El terminal móvil también comprende un procesador del módem. El procesador del módem está configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta que expire el temporizador del módem. El terminal móvil también comprende un procesador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que conecta comunicativamente el procesador de aplicaciones al procesador del módem. El procesador de aplicaciones está configurado para mantener los datos del procesador de aplicaciones al procesador del módem hasta que el procesador del módem extraiga datos del procesador de aplicaciones después de la transmisión de los datos del procesador del módem al procesador de aplicaciones.
Breve descripción de las figuras
La Figura 1A es una vista simplificada de un dispositivo informático móvil que funciona con redes remotas; la Figura 1B es una vista simplificada de un terminal móvil que funciona con redes remotas;
la Figura 1C es una vista ampliada del diagrama de bloques del terminal móvil de la Figura 1B con un bus de interconectividad ilustrado;
la Figura 2 es un diagrama de bloques del terminal móvil de la Figura 1B;
la Figura 3 es un gráfico a modo de ejemplo de tiempo versus potencia de enlace en un dispositivo informático convencional;
la Figura 4 es un diagrama de flujo de un proceso a modo de ejemplo para lograr ahorros de energía en el terminal móvil de la Figura 1B;
la Figura 5 es un gráfico a modo de ejemplo de tiempo versus potencia de enlace en un dispositivo informático móvil que utiliza el proceso de la Figura 4;
la Figura 6 es un diagrama de flujo de otro proceso a modo de ejemplo para lograr ahorros de energía en el dispositivo informático móvil;
la Figura 7 es un gráfico a modo de ejemplo de tiempo versus potencia de enlace en el dispositivo informático móvil que utiliza el proceso de la Figura 6;
la Figura 8 es un diagrama de flujo de un proceso a modo de ejemplo que usa un contador de bytes para controlar la acumulación de datos;
la Figura 9 es un diagrama de flujo de un proceso a modo de ejemplo que usa un contador de paquetes para controlar la acumulación de datos;
la Figura 10 es un diagrama de flujo de un proceso de acumulación consolidado con anulaciones ilustradas desde una perspectiva de prioridad de enlace descendente;
la Figura 11 es una continuación del diagrama de flujo de la Figura 10; y
la Figura 12 es un diagrama de flujo simplificado de un proceso de acumulación consolidado con anulaciones ilustradas desde una perspectiva de prioridad de enlace ascendente.
Descripción detallada
Con referencia a continuación a las figuras de los dibujos, se divulgan varios aspectos a modo de ejemplo de la presente divulgación. El término "a modo de ejemplo" se usa en el presente documento para significar que "sirve de ejemplo, caso o ilustración". Cualquier aspecto descrito en el presente documento como "a modo de ejemplo" no necesariamente ha de interpretarse como preferente o ventajoso con respecto a otros aspectos.
Los aspectos divulgados en la descripción detallada incluyen técnicas de ahorro de energía en dispositivos informáticos. En particular, cuando los datos son recibidos por un procesador del módem en un dispositivo informático, los datos se retienen hasta la expiración de un temporizador del módem. A continuación, los datos se envían a un procesador de aplicaciones en el dispositivo informático a través de un bus de interconectividad de interconexión de componentes periféricos express (PCIe). Al recibir los datos del procesador del módem, el procesador de aplicaciones envía los datos retenidos por el procesador de aplicaciones al procesador del módem a través del bus de interconectividad PCIe. El procesador de aplicaciones también tiene un temporizador de enlace ascendente. Si no se reciben datos del procesador del módem antes de la expiración del temporizador del enlace ascendente, el procesador de aplicaciones envía los datos recopilados al procesador del módem al expirar el temporizador del enlace ascendente. Sin embargo, si se reciben datos del procesador del módem, el temporizador de enlace ascendente se reinicia. Al retener o acumular los datos en un procesador fuente de esta manera, se reducen las transiciones innecesarias entre los estados de baja potencia y los estados activos en el bus PCIe y se conserva la energía.
En un aspecto alternativo, en lugar de iniciar la transferencia de datos basándose en la expiración del temporizador de enlace descendente (con o sin expiración del temporizador de enlace ascendente), la transferencia de datos acumulados puede iniciarse basándose en la expiración de solo un temporizador de acumulación de enlace ascendente. El temporizador de acumulación de enlace ascendente puede estar dentro de un dispositivo principal o un dispositivo asociado con el bus de interconectividad.
En otro aspecto alternativo, el inicio de la transferencia de datos puede basarse en alcanzar un umbral predefinido para un contador de límite de acumulación de bytes. El contador de límite de acumulación de bytes no es mutuamente exclusivo en relación con los otros contadores y puede funcionar como un mecanismo de anulación para uno de los otros temporizadores de acumulación. El uso de dicha anulación puede ser útil en situaciones en las que llega una ráfaga repentina de datos que excedería el espacio de la memoria intermedia y/o el ancho de banda del bus. Del mismo modo, en lugar de un contador de bytes, se puede usar un contador de tamaño de paquete o un contador de "número total de paquetes" para cubrir situaciones en las que la red entrega numerosos paquetes o un paquete particularmente grande.
En otros aspectos de la presente divulgación, los temporizadores pueden ser anulados por otros factores o parámetros. Tal anulación se alude a lo anterior con los contadores de límite de acumulación de bytes y el contador de número total de paquetes, lo cual provoca transferencias de datos independientemente de los temporizadores. Otros parámetros también pueden anular los temporizadores, como la presencia de tráfico de baja latencia (por ejemplo, mensajes de control), la sincronización de las transferencias de datos de enlace ascendente y descendente, o los requisitos de calidad de servicio de baja latencia. Cuando dicho tráfico está presente, se puede usar una interrupción u otro comando para iniciar transferencias de datos antes de que expire un temporizador. Aún otros factores pueden anular los temporizadores, como una indicación de que un dispositivo o dispositivo principal no está en un modo de sondeo automático.
Si bien se contempla que las técnicas de ahorro de energía de la presente divulgación se utilizan en terminales móviles, como teléfonos inteligentes o tablets, la presente divulgación no es tan limitada. En consecuencia, las Figuras 1A y 1B ilustran dispositivos informáticos acoplados a redes remotas a través de módems que pueden implementar aspectos a modo de ejemplo de las técnicas de ahorro de energía de la presente divulgación. A este respecto, la Figura 1A ilustra un dispositivo informático 10 acoplado a una red 12, que, en un aspecto a modo de ejemplo, es Internet. El dispositivo informático 10 puede incluir una carcasa 14 con una unidad central de procesamiento (CPU) (no ilustrada), en su interior. Un usuario puede interactuar con el dispositivo informático 10 a través de una interfaz de usuario formada a partir de elementos de entrada/salida, como un monitor 16 (a veces denominado pantalla), un teclado 18 y/o un ratón 20. En algunos aspectos, el monitor 16 puede incorporarse en la carcasa 14. Mientras que un teclado 18 y un ratón 20 son dispositivos de entrada ilustrados, el monitor 16 puede ser una pantalla táctil, que puede complementar o reemplazar el teclado 18 y el ratón 20 como dispositivo de entrada. Otros dispositivos de entrada/salida también pueden estar presentes, como se entiende bien en combinación con los dispositivos informáticos de escritorio o portátiles. Si bien no se ilustra en la Figura 1A, la carcasa 14 también puede incluir un módem en su interior. El módem se puede colocar en una tarjeta de interfaz de red (NIC), como se entiende bien. Asimismo, un router y/o un módem adicional pueden ser externos a la carcasa 14. Por ejemplo, el dispositivo informático 10 puede acoplarse a la red 12 a través de un router y un módem de cable, como se entiende bien. Sin embargo, incluso cuando tales routers y módems externos están presentes, es probable que el dispositivo informático 10 tenga un módem interno para efectuar la comunicación con dichos routers y módems externos.
Además del dispositivo informático 10, los aspectos a modo de ejemplo de la presente divulgación también pueden implementarse en un terminal móvil, que es una forma de dispositivo informático tal como se usa ese término en el presente documento. A este respecto, en la Figura 1B se ilustra un aspecto a modo de ejemplo de un terminal móvil 22. El terminal móvil 22 puede ser un teléfono inteligente, como un SAMSUNG GALAXY™ o APPLE iPHONE®. En lugar de un teléfono inteligente, el terminal móvil 22 puede ser un teléfono celular, una tablet, un ordenador portátil u otro dispositivo informático móvil. El terminal móvil 22 puede comunicarse con una antena remota 24 asociada con una estación base (BS) 26. La BS 26 puede comunicarse con la red móvil terrestre pública (PLMN) 28, la red telefónica pública conmutada (PSTN, no mostrada), o una red 12 (por ejemplo, Internet), similar a la red 12 en la Figura 1A. También es posible que la PLMN 28 se comunique con Internet (por ejemplo, la red 12) ya sea directamente o a través de una red intermedia (por ejemplo, la PSTn ). Debe apreciarse que la mayoría de los terminales móviles contemporáneos 22 permiten diversos tipos de comunicación con elementos de la red 12. Por ejemplo, la transmisión de audio, transmisión de vídeo y/o navegación web son funciones comunes en la mayoría de los terminales móviles contemporáneos 22. Dichas funciones se habilitan a través de aplicaciones almacenadas en la memoria del terminal móvil 22 y usando el transceptor inalámbrico del terminal móvil 22.
Para efectuar funciones, como la transmisión de vídeo, los datos llegan desde la antena remota 24 a una antena 30 del terminal móvil 22, como se ilustra en la Figura 1C. Los datos se procesan inicialmente en un módem de dispositivo móvil (MDM) 32 del terminal móvil 22 y se envían a un procesador de aplicaciones 34 mediante un bus de interconectividad 36. En este contexto, el procesador de aplicaciones 34 puede ser un dispositivo principal, y el MDM 32 puede ser un dispositivo, ya que esos términos se usan en el estándar PCIe. Si bien los aspectos a modo de ejemplo contemplan operar en un bus de interconectividad 36 compatible con PCIe, es posible que el bus de interconectividad 36 cumpla con la interconexión de alta velocidad (HSIC), el receptor/transmisor asíncrono universal (UART), el bus serie universal (USB) o similar.
Se proporciona una representación más detallada de los componentes del terminal móvil 22 con referencia a la Figura 2. A este respecto, se ilustra un diagrama de bloques de algunos de los elementos del terminal móvil 22 de la Figura 1B. El terminal móvil 22 puede incluir una ruta de receptor 38, una ruta de transmisor 40, la antena 30 (mencionada anteriormente con referencia a la Figura 1C), un interruptor 42, un procesador del módem 44 y el procesador de aplicaciones 34 (también introducido anteriormente en referencia a Figura 1C). Opcionalmente, un sistema de control separado (no mostrado) también puede estar presente con una CPU, como se entiende bien. El procesador de aplicaciones 34 y el procesador del módem 44 están conectados por el bus de interconectividad 36. El procesador de aplicaciones 34 y/o el sistema de control (si está presente) pueden interoperar con una interfaz de usuario 46 y una memoria 48 con el software 50 almacenado en el mismo.
La ruta del receptor 38 recibe información que lleva señales de radiofrecuencia (RF) de uno o más transmisores remotos proporcionados por una estación base (por ejemplo, la BS 26 de la Figura 1B). Un amplificador de bajo ruido (no se muestra) amplifica la señal. Un filtro (no mostrado) minimiza la interferencia de banda ancha en la señal recibida. Los circuitos de conversión descendente y digitalización (no mostrados) convierten la señal recibida filtrada en una señal de frecuencia de banda base o intermedia. La señal de frecuencia de la banda base se digitaliza en uno o más flujos digitales. La ruta del receptor 38 usa típicamente una o más frecuencias de mezcla generadas por el sintetizador de frecuencia. El procesador del módem 44 puede incluir un procesador de banda base (BBP) (no mostrado) que procesa la señal recibida digitalizada para extraer la información o los bits de datos transportados en la señal. Como tal, el BBP se implementa típicamente en uno o más procesadores de señal digital (DSP) dentro del procesador del módem 44 o como un circuito integrado (IC) separado según se necesite o desee.
Con referencia continua a la Figura 2, en el lado de transmisión, el procesador del módem 44 recibe datos digitalizados, que pueden representar voz, datos o información de control, desde el procesador de aplicaciones 34, que codifica para la transmisión. Los datos codificados se envían a la ruta del transmisor 40, donde los utiliza un modulador (no mostrado) para modular una señal portadora a una frecuencia de transmisión deseada. Un amplificador de potencia de RF (no mostrado) amplifica la señal portadora modulada a un nivel apropiado para la transmisión, y entrega la señal portadora amplificada y modulada a la antena 30 a través del interruptor 42. Colectivamente, el procesador del módem 44, la ruta del receptor 38 y la ruta del transmisor 40 forman el MDM 32 de la Figura 1C (a veces también denominado módem inalámbrico). Mientras que el MDM 32 se describe específicamente con relación a las señales de RF asociadas con una señal celular, la presente divulgación no es tan limitada. Por ejemplo, un módem inalámbrico que usa otros protocolos inalámbricos también puede beneficiarse de la inclusión de aspectos de la presente divulgación. Por lo tanto, los módems que funcionan de acuerdo con estándares como BLUETOOTH®, los diversos estándares IEEE 802.11, el Sistema Universal de Telecomunicaciones Móviles (UMTS), el Acceso a Paquetes de Alta Velocidad (HSPA), la Evolución a Largo Plazo (LTE) y otros protocolos inalámbricos pueden usar aspectos de La presente divulgación.
Con referencia continua a la Figura 2, un usuario puede interactuar con el terminal móvil 22 a través de la interfaz de usuario 46, tal como un micrófono, un altavoz, un teclado y una pantalla. El BBP recupera la información de audio codificada en la señal recibida y la convierte en una señal analógica adecuada para controlar el altavoz. El teclado y la pantalla permiten al usuario interactuar con el terminal móvil 22. Por ejemplo, el teclado y la pantalla pueden permitir al usuario introducir números para marcar, acceder a la información de la libreta de direcciones o similares, así como supervisar la información del progreso de la llamada. La memoria 48 puede tener el software 50 en la misma como se indicó anteriormente, lo cual puede efectuar aspectos a modo de ejemplo de la presente divulgación.
En terminales móviles convencionales que tienen un bus de interconectividad PCIe (es decir, el bus de interconectividad 36), el estándar PCIe permite que el bus de interconectividad 36 se coloque en modo de suspensión. Si bien colocar el bus de interconectividad 36 en un modo de suspensión en general ahorra energía, tales modos de suspensión tienen el inconveniente de que consumen cantidades relativamente grandes de energía a medida que salen del modo de suspensión. Este consumo de energía se exacerba debido a la naturaleza asincrónica del bus de interconectividad PCIe 36. Es decir, los primeros datos pueden llegar al procesador del módem 44 para su transmisión al procesador de aplicaciones 34 en un momento diferente de cuando los segundos datos están listos para pasar del procesador de aplicaciones 34 al procesador del módem 44. Este problema no es exclusivo del bus de interconectividad PCIe 36.
La Figura 3 ilustra un gráfico de potencia de tiempo frente a enlace 52 que destaca cómo los datos de enlace descendente 54 pueden tener un tiempo de transmisión diferente que los datos de enlace ascendente 56 dentro de un intervalo de tiempo dado 58. En particular, el bus de interconectividad 36 (Figura 2) comienza en modo de suspensión o de baja potencia y pasa a un modo de potencia activa mediante la transición 60 para que los datos de enlace descendente 54 puedan transmitirse al procesador de aplicaciones 34. Sin embargo, los datos de enlace descendente 54 pueden no ocupar la totalidad del intervalo de tiempo 58, y el bus de interconectividad 36 puede volver a un estado de baja potencia. Sin embargo, posteriormente, pero aún dentro del mismo intervalo de tiempo 58, los datos de enlace ascendente 56 del procesador de aplicaciones 34 se envían al procesador del módem 44. En consecuencia, el bus de interconectividad 36 vuelve a pasar del estado de baja potencia al estado de potencia activa mediante una segunda transición 62. En un aspecto a modo de ejemplo, el intervalo de tiempo 58 tiene aproximadamente un milisegundo de longitud. Por lo tanto, si ocurren dos transiciones (es decir, 60, 62) de baja potencia a potencia activa cada intervalo de tiempo 58, entonces ocurren miles de transiciones 60, 62 cada segundo. Miles de transiciones 60, 62 consumen cantidades sustanciales de energía y reducen la duración de la batería del terminal móvil 22.
Los aspectos a modo de ejemplo de la presente divulgación reducen el número de transiciones (es decir, 60, 62) de baja potencia a potencia activa sincronizando la transmisión de paquetes desde el procesador del módem 44 y el procesador de aplicaciones 34, lo cual a su vez permite que el enlace se mantenga en un modo de bajo consumo más eficientemente ya que la comunicación en el enlace se consolide para eliminar la segunda transición del estado de encendido. En un aspecto a modo de ejemplo, los datos (es decir, los datos del módem) del procesador del módem 44 se transmiten primero, y los datos (es decir, los datos de la aplicación) del procesador de aplicaciones 34 se envían después de la llegada de los datos del módem y antes de que el bus de interconectividad 36 pueda volver al estado de baja potencia. La sincronización se realiza mediante el uso de temporizadores en el procesador del módem 44 y el procesador de aplicaciones 34. Los temporizadores pueden ser más largos que un intervalo de tiempo 58 del bus de interconectividad 36.
En un primer aspecto a modo de ejemplo, el temporizador en el procesador de aplicaciones 34 es más largo que el temporizador en el procesador del módem 44. La acumulación puede hacerse por canal lógico. El procesador de aplicaciones 34 puede configurar el temporizador utilizando un mecanismo adecuado para el bus de interconectividad 36. Por ejemplo, en un dispositivo de fusión que utiliza una interfaz de dispositivo principal de módem (MHI) a través de PCIe, el temporizador se mantiene para cada canal MHI entrante y el valor de tiempo utilizado por los temporizadores se configurará mediante un mensaje de comando MHI o una entrada asignada de memoria PCIe/registro de configuración del dispositivo de salida (MMIO) expuesto a través de un registro de dirección base (BAR). El BAR es un mecanismo definido por PCIe estándar por el cual un dispositivo principal asigna los registros de un dispositivo en su mapa de direcciones virtuales. Para obtener más información sobre MHI, se remite al lector interesado a la Solicitud de Patente de Estados Unidos con número de serie 14/163 846, presentada el 24 de enero de 2013, que se incorpora en el presente documento como referencia en su totalidad. En otros aspectos a modo de ejemplo, el temporizador en el procesador del módem 44 es más largo que el temporizador en el procesador de aplicaciones 34. En otros aspectos a modo de ejemplo, los contadores pueden usarse en lugar de temporizadores. Los contadores pueden ser contadores de bits, contadores de paquetes, contadores de tamaño de paquete o similares. En otros aspectos a modo de ejemplo, el uso de dichos contadores alternativos puede combinarse con los temporizadores. En otros aspectos a modo de ejemplo, otros criterios de anulación pueden permitir que los datos se envíen antes de la expiración del temporizador o del contador para reducir la latencia y/o satisfacer los requisitos de calidad del servicio. La presente divulgación pasa a través de cada uno de estos aspectos de forma sucesiva, comenzando con la situación en la que hay dos temporizadores, y el procesador de aplicaciones 34 tiene un temporizador que es más largo que el temporizador del procesador del módem 44.
A este respecto, la Figura 4 ilustra un ejemplo de proceso de ahorro de energía 70. El proceso 70 comienza con el bus de interconectividad 36 en un estado de baja potencia (bloque 72). Se inician el temporizador del módem y el temporizador de aplicaciones (bloque 74). Los temporizadores pueden ser almacenes de software en el procesador del módem 44 y el procesador de aplicaciones 34 o pueden ser elementos físicos, según se desee. El procesador de aplicaciones 34 genera datos y el procesador del módem 44 recibe datos de la red 12. Los datos de la aplicación se guardan en el procesador de aplicaciones 34 (bloque 76), y los datos del módem se guardan en el procesador del módem 44 (bloque 78) mientras los temporizadores están funcionando. Como se señaló anteriormente, en un aspecto a modo de ejemplo, el intervalo de tiempo 58 del bus de interconectividad 36 es de un milisegundo. En tal aspecto, el temporizador del módem puede ser de aproximadamente de dos a seis milisegundos, y el temporizador de aplicaciones es de tres a siete milisegundos, o al menos más que el temporizador del módem. El temporizador del módem expira (bloque 80). Si hay datos de módem, el procesador del módem 44 libera los datos de módem a través del bus de interconectividad 36 al procesador de aplicaciones 34 (bloque 82).
El mecanismo para la transferencia de datos puede ser iniciado y controlado por el procesador del módem 44 (es decir, el dispositivo). Por ejemplo, en un dispositivo de fusión que usa MHI a través de PCIe, el procesador del módem 44 puede sondear (leer) el puntero de escritura de contexto del canal MHI para determinar las memorias intermedias de datos donde se pueden transferir los paquetes de enlace descendente. El procesador de aplicaciones 34 actualiza el campo del puntero de escritura de contexto de la estructura de datos de contexto del canal para apuntar a los descriptores de transferencia de datos sin sonar un timbre de canal de entrada. El procesador del módem 44 puede buscar actualizaciones en el campo Puntero de escritura de contexto según lo requiera el tráfico de enlace descendente. Cuando el procesador del módem 44 se queda sin memorias intermedias, es decir, un anillo de transferencia está vacío, y no hay memorias intermedias para transferir datos de enlace descendente, el procesador del módem 44 puede generar una notificación de evento (por ejemplo, "fuera de la memoria intermedia") al procesador de aplicaciones 34, seguido de una interrupción. Al recibir la notificación de evento del procesador del módem 44, el procesador de aplicaciones 34 proporcionará memorias intermedias de datos actualizando el puntero de escritura de contexto del canal y sonará el timbre del canal de entrada.
Después de la llegada de los datos del módem al procesador de aplicaciones 34, el procesador de aplicaciones 34 libera cualquier dato de la aplicación que se haya retenido en el procesador de aplicaciones 34 y restablece el temporizador de aplicaciones (bloque 84). Tenga en cuenta que el temporizador de aplicaciones puede ejecutarse en el procesador del módem 44 o en el procesador de aplicaciones 34. Como alternativa, el procesador del módem 44 puede continuar extrayendo los datos de enlace ascendente 56 del procesador de aplicaciones 34 hasta que no detecte más actividad de datos de enlace descendente 54. Es decir, el procesador del módem 44 puede intercalar tirando de los datos de enlace ascendente 56 mientras recibe los datos de enlace descendente 54. Sin embargo, si no hay datos de módem en el procesador del módem 44 cuando expira el temporizador del módem, el temporizador de aplicaciones continúa (es decir, otro milisegundo) (bloque 86). Al expirar el temporizador de aplicaciones, el procesador de aplicaciones 34 envía los datos retenidos al procesador del módem 44 a través del bus de interconectividad 36 (bloque 88). A continuación, el proceso se repite comenzando de nuevo (bloque 90).
Como se señaló anteriormente, el temporizador de enlace ascendente (es decir, el temporizador de aplicaciones) está, en un aspecto a modo de ejemplo, diseñado para ser más largo que el temporizador de enlace descendente (es decir, el temporizador del módem) para aumentar la sincronización de enlace ascendente/enlace descendente cada vez que expira el temporizador de enlace descendente. Si bien la retención de datos durante un intervalo de tiempo adicional agrega algo de latencia, la breve cantidad agregada es fácilmente absorbida por el procesador de aplicaciones 34. Del mismo modo, esta latencia se considera aceptable para el ahorro de energía. Por ejemplo, al hacer que el período del temporizador del módem sea dos veces el período del intervalo de tiempo 58, el número de transiciones de baja potencia a potencia activa se puede reducir a la mitad. Del mismo modo, al hacer que el período del temporizador de aplicaciones sea seis veces el período del intervalo de tiempo 58, aumenta la posibilidad de "superponerse" al estado de potencia activa del bus de interconectividad 36 causado por los datos del módem, pero aún es suficientemente frecuente que cualquier dato de enlace ascendente 56 se envíe de manera oportuna incluso si no hay datos de enlace descendente 54 para activar la liberación de los datos de enlace ascendente 56. Se puede ampliar una lógica similar para sincronizar el tráfico de múltiples procesadores a través del enlace de datos. En un aspecto a modo de ejemplo, los otros procesadores pueden tener valores de temporizador más altos (es decir, más largos) que los del temporizador de enlace descendente, y los procesadores pueden intercambiar su información de disponibilidad de datos para que el tráfico en un procesador pueda activar la transferencia de datos en otros procesadores si hay datos disponibles para transferir.
La Figura 5 ilustra un gráfico 100 donde los datos de enlace ascendente 56 siguen a los datos de enlace descendente 54 durante un período activo 102 del bus de interconectividad 36 (Figura 2). Como se ilustra, solo hay una transición 104 de baja potencia a potencia activa por intervalo de tiempo 58. Por lo tanto, al consolidar los datos en un solo período activo 102, el tiempo total que se pasa en baja potencia puede aumentarse, lo cual da como resultado ahorros de energía. Además, la energía empleada en la transición de un estado de baja potencia a potencia activa se reduce mediante la eliminación de la segunda transición 62.
Si bien es concebible que los datos de enlace ascendente 56 puedan enviarse antes que los datos de enlace descendente 54 (es decir, el temporizador de aplicaciones es más corto que el temporizador del módem), en general no se considera óptimo porque habitualmente hay muchos más paquetes de enlace descendente que paquetes de enlace ascendente. Si se usa este aspecto, el procesador de aplicaciones 34 puede almacenar en memoria intermedia los paquetes de datos de enlace ascendente en la memoria local antes de iniciar la transferencia al procesador del módem 44. Estos paquetes acumulados se controlan a través de un temporizador de acumulación de enlace ascendente. Si hay varios canales, entonces se puede aplicar un temporizador a cada canal de forma independiente. Cuando el procesador de aplicaciones 34 no puede usar o no tiene un temporizador de enlace ascendente, el procesador del módem 44 puede ser capaz de crear una instancia de un temporizador de enlace ascendente, y al expirar el temporizador de enlace ascendente, sondeará los datos del procesador de aplicaciones 34. Este aspecto a modo de ejemplo se explica con mayor detalle a continuación con referencia a las Figuras 6 y 7.
A este respecto, la Figura 6 ilustra un ejemplo de proceso de ahorro de energía 110. El proceso 110 comienza con el bus de interconectividad 36 en un estado de baja potencia (bloque 112). Se inician el temporizador del módem y el temporizador de aplicaciones (bloque 114). Los temporizadores pueden ser software almacenado en el procesador del módem 44 y el procesador de aplicaciones 34 o pueden ser elementos físicos según se desee. El procesador de aplicaciones 34 genera datos y el procesador del módem 44 recibe datos de la red 12. Los datos de la aplicación se guardan en el procesador de aplicaciones 34 (bloque 116), y los datos del módem se guardan en el procesador del módem 44 (bloque 118) mientras los temporizadores están funcionando. Como se señaló anteriormente, en un aspecto a modo de ejemplo, el intervalo de tiempo 58 del bus de interconectividad 36 es de un milisegundo. En tal aspecto, el temporizador de aplicaciones puede ser de aproximadamente dos milisegundos, y el temporizador del módem es de tres milisegundos, o al menos de más duración que el temporizador de aplicaciones. El temporizador de aplicaciones expira (bloque 120). Si hay datos de la aplicación, el procesador de aplicaciones 34 libera los datos de la aplicación a través del bus de interconectividad 36 al procesador del módem 44 (bloque 122).
Después de la llegada de los datos de la aplicación al procesador del módem 44, el procesador del módem 44 libera cualquier dato de módem que se haya retenido en el procesador del módem 44 y restablece el temporizador del módem (bloque 124). Tenga en cuenta que el temporizador de aplicaciones puede ejecutarse en el procesador del módem 44 o en el procesador de aplicaciones 34. Del mismo modo, el temporizador del módem puede ejecutarse en el procesador del módem 44 o el procesador de aplicaciones 34.
Con referencia continua a la Figura 6, si no hay datos de aplicación presentes en el procesador de aplicaciones 34, cuando expira el temporizador de aplicaciones, el temporizador del módem continúa (es decir, otro milisegundo) (bloque 126). Al expirar el temporizador del módem, el procesador del módem 44 envía los datos retenidos al procesador de aplicaciones 34 a través del bus de interconectividad 36 (bloque 128). A continuación, el proceso se repite comenzando de nuevo (bloque 130).
Como se señaló anteriormente, en este aspecto a modo de ejemplo, el temporizador de enlace ascendente (es decir, el temporizador de aplicaciones) está, en un aspecto a modo de ejemplo, diseñado para ser más corto que el temporizador de enlace descendente (es decir, el temporizador del módem). Si bien la retención de datos durante un intervalo de tiempo adicional 58 agrega algo de latencia, la breve cantidad agregada es fácilmente absorbida por el procesador de aplicaciones 34. Del mismo modo, esta latencia se considera aceptable para el ahorro de energía. Por ejemplo, al hacer que el período del temporizador de aplicaciones sea el doble del período del intervalo de tiempo 58, se reduce el número de transiciones de baja potencia a potencia activa. Del mismo modo, al hacer que el período del temporizador del módem sea seis veces el período del intervalo de tiempo 58, la posibilidad de poder "superponerse" al estado de potencia activa del bus de interconectividad 36 causado por los datos de la aplicación aumenta, pero sigue siendo suficientemente frecuente para que cualquier dato de enlace descendente 54 se envíe de manera oportuna incluso si no hay datos de enlace ascendente 56 para activar la liberación de los datos de enlace descendente 54. Se puede ampliar una lógica similar para sincronizar el tráfico de múltiples procesadores a través del enlace de datos. En un aspecto a modo de ejemplo, cada uno de los otros procesadores puede tener valores de temporizador más altos (es decir, más largos) que los del temporizador de enlace ascendente y los procesadores pueden intercambiar su información de disponibilidad de datos para que el tráfico en un procesador pueda activar la transferencia de datos en otros procesadores si existe son datos disponibles para transferir.
La Figura 7 ilustra un gráfico 140 donde los datos de enlace ascendente 56 preceden a los datos de enlace descendente 54 durante un período activo 142 del bus de interconectividad 36. Como se ilustra, solo hay una transición 144 de baja potencia a potencia activa por intervalo de tiempo 58. Por lo tanto, al consolidar los datos en un solo período activo 142, el tiempo total que se pasa en baja potencia puede aumentarse, lo cual da como resultado ahorros de energía. Además, la energía empleada en la transición de un estado de baja potencia a potencia activa se reduce mediante la eliminación de la segunda transición 62.
En un aspecto a modo de ejemplo, el procesador del módem 44 puede anular y elegir los mínimos de todos los valores configurados de cada uno de los parámetros configurables (como temporizadores de acumulación de enlace descendente o ascendente, umbral de byte, umbral de número de paquetes, tamaño del umbral de paquete o similares) o valores del temporizador de expiración de acumulación de enlace descendente (por ejemplo, entre los diversos canales) como el valor de expiración efectivo del temporizador de acumulación de enlace descendente. Los procesadores de módem inteligentes 44 también pueden anular o alterar dinámicamente el valor del temporizador de acumulación de enlace descendente dependiendo del patrón de tráfico de enlace descendente, y/o pueden ajustar el temporizador de acumulación de enlace descendente para lograr una calidad de servicio (QoS) deseada para datos y/o controlar el tráfico. Un cambio de configuración puede también ser activado/controlado por el procesador de aplicaciones 44 o cualquier otro procesador en el sistema, mediante control MHI o señalización QMI (como, por ejemplo, para la señalización entre procesos).
Además de, o en lugar de, temporizadores de enlace descendente y de enlace ascendente, el procesador del módem 44 también puede usar un contador de límite de acumulación de bytes para el tráfico de enlace descendente y el procesador de aplicaciones 34 para el tráfico de enlace ascendente. Este aspecto puede ser ventajoso en situaciones donde la red o la aplicación empujan una ráfaga repentina de datos. Tenga en cuenta que este aspecto no es mutuamente exclusivo y puede implementarse como un mecanismo de anulación para los temporizadores de enlace descendente o ascendente. Por ejemplo, si el temporizador de acumulación de enlace descendente se configura relativamente alto para conservar energía, una ráfaga repentina de datos puede exceder la capacidad de memoria intermedia del procesador del módem 44, o si se permite que se acumule en la memoria del procesador del módem 44, esta ráfaga de datos puede exceder las asignaciones de ancho de banda del bus en el procesador de aplicaciones 34. El procesador de aplicaciones 34 puede determinar y configurar el límite máximo de acumulación de bytes basándose en su presupuesto de ancho de banda del bus y/o el tamaño de la memoria intermedia reservado para la transferencia de datos de enlace descendente. El procesador del módem 44 también puede elegir un límite interno de acumulación de bytes basado en el tamaño de la memoria intermedia de enlace descendente y/o el rendimiento de datos de enlace de interconexión. Con los contadores de límite de acumulación de bytes, el procesador del módem 44 puede iniciar la transferencia de datos de enlace descendente al procesador de aplicaciones 34 antes de que expire el temporizador de acumulación de enlace descendente, siempre y cuando el tamaño de los datos almacenados en memoria intermedia exceda el contador de límite de acumulación de bytes. Dado que tanto el procesador del módem 44 como el procesador de aplicaciones 34 pueden tener recomendaciones independientes para el contador del límite de acumulación de bytes, el procesador del módem 44 puede seleccionar los mínimos de estos dos valores para que sean el límite efectivo de acumulación de bytes. Se pueden mantener parámetros similares en el procesador de aplicaciones 34 para activar la transferencia de datos de enlace ascendente 56 inmediatamente (es decir, anular el temporizador de acumulación de enlace ascendente).
En lugar de, o además del contador de límite de acumulación de bytes, se puede usar un contador de límite de número de paquetes. En un aspecto a modo de ejemplo, el contador de límite de número de paquetes puede tener un diseño similar y puede emplearse para agregar límites de contador de número de paquetes en lugar de límites de bytes para cubrir casos en los que se entrega un gran número de paquetes mediante la red o una aplicación. De nuevo, dicho contador de límite de paquetes también puede estar presente o asociado con el procesador de aplicaciones 34 o el procesador del módem 44. Tenga en cuenta que los temporizadores de acumulación (enlace ascendente y/o enlace descendente) y otros parámetros de configuración, como el umbral de número de paquetes acumulados, el umbral de bytes acumulados y similares, pueden ser una función de LTE, HSPA, GERAN o similares.
En otro aspecto a modo de ejemplo más, el procesador del módem 44 o el procesador de aplicaciones 34 pueden deshabilitar la acumulación de enlace descendente o ascendente en los casos en que sea necesario acelerar la transferencia de mensajes, por ejemplo, mensajes de control (como control de flujo) o tráfico de datos de alta QoS o tráfico de baja latencia, según lo determinado por el procesador del módem 44 o el procesador de aplicaciones 34. La latencia introducida por la acumulación puede no ser tolerable para estas clases de tráfico.
Volviendo a la acumulación de datos basada en cantidades de datos en lugar de un proceso estricto, las Figuras 8 y 9 ilustran dos aspectos a modo de ejemplo. A este respecto, la Figura 8 ilustra un proceso 150 que ilustra un proceso de contador de bytes. En particular, el proceso 150 comienza con el bus de interconectividad 36 en un estado de baja potencia (bloque 152). El proceso 150 inicia un contador de bytes de módem y un contador de bytes de aplicación (bloque 154). Los datos se mantienen en el procesador de aplicaciones 34 (bloque 156) y el procesador del módem 44 (bloque 158). Un sistema de control determina si el contador de bytes del módem ha excedido un umbral predefinido (bloque 160) basándose en la cantidad de datos que se han mantenido o acumulado en el procesador del módem 44.
Con referencia continua a la Figura 8, si la respuesta al bloque 160 es sí, entonces los datos se envían desde el procesador del módem 44 al procesador de aplicaciones 34 (bloque 162). Después de recibir los datos del procesador del módem 44, el procesador de aplicaciones 34 envía datos (si los hay) que se han acumulado en el procesador de aplicaciones 34 al procesador del módem 44 (bloque 164). Después de borrar los datos acumulados tanto en el procesador del módem 44 como en el procesador de aplicaciones 34, el proceso comienza de nuevo (bloque 166).
Con referencia continua a la Figura 8, si la respuesta al bloque 160 es no, el sistema de control determina si los datos en el contador de bytes de la aplicación han excedido un umbral predefinido (bloque 168). Si la respuesta al bloque 168 es no, el proceso 150 vuelve al bloque 156 y los datos continúan retenidos hasta que se supera un umbral de contador de bytes. Sin embargo, si la respuesta al bloque 168 es sí, entonces los datos se envían desde el procesador de aplicaciones 34 al procesador del módem 44 (bloque 170). Después de recibir los datos del procesador de aplicaciones 34, el procesador del módem 44 envía datos (si los hay) al procesador de aplicaciones 34 (bloque 172). Después de borrar los datos acumulados tanto en el procesador del módem 44 como en el procesador de aplicaciones 34, el proceso 150 comienza de nuevo (bloque 166).
Mientras que un contador de bytes puede ser eficaz en la gestión de la latencia, otro aspecto a modo de ejemplo utiliza un contador de paquetes. A este respecto, la Figura 9 ilustra un proceso 180 que ilustra un proceso de contador de bytes. En particular, el proceso 180 comienza con el bus de interconectividad 36 en un estado de baja potencia (bloque 182). El proceso 180 inicia un contador de paquetes de módem y un contador de paquetes de aplicación (bloque 184). Los datos se mantienen en el procesador de aplicaciones 34 (bloque 186) y el procesador del módem 44 (bloque 188). Un sistema de control determina si el contador de paquetes de módem ha excedido un umbral predefinido (bloque 190) basándose en el número de paquetes retenidos o acumulados en el procesador del módem 44.
Con referencia continua a la Figura 9, si la respuesta al bloque 190 es sí, entonces los datos se envían desde el procesador del módem 44 al procesador de aplicaciones 34 (bloque 192). Después de recibir los paquetes del procesador del módem 44, el procesador de aplicaciones 34 envía los datos (si los hay) que se han acumulado en el procesador de aplicaciones 34 al procesador del módem 44 (bloque 194). Después de borrar los paquetes acumulados tanto en el procesador del módem 44 como en el procesador de aplicaciones 34, el proceso 180 comienza de nuevo (bloque 196).
Con referencia continua a la Figura 9, si la respuesta al bloque 190 es no, el sistema de control determina si el número de paquetes en el contador de paquetes de la aplicación ha excedido un umbral predefinido (bloque 198). Si la respuesta al bloque 198 es no, el proceso 180 vuelve al bloque 186 y los datos continúan retenidos hasta que se excede el umbral del contador de paquetes. Sin embargo, si la respuesta al bloque 198 es sí, entonces los datos se envían desde el procesador de aplicaciones 34 al procesador del módem 44 (bloque 200). Después de recibir los paquetes del procesador de aplicaciones 34, el procesador del módem 44 envía datos (si los hay) al procesador de aplicaciones 34 (bloque 202). Después de borrar los paquetes acumulados tanto en el procesador del módem 44 como en el procesador de aplicaciones 34, el proceso 180 comienza de nuevo (bloque 196).
Se puede utilizar un proceso similar, en el que, en lugar de determinar si se ha acumulado un número particular de bytes o paquetes, el sistema de control evalúa el tamaño de los paquetes o si el sistema se está quedando sin memoria. Del mismo modo, debe apreciarse que ciertos datos de prioridad (por ejemplo, una señal de control u otros datos que requieren baja latencia) pueden estar asociados con un indicador u otra indicación que anula los temporizadores y/o contadores de la presente divulgación.
Como se señaló anteriormente, debe apreciarse que los aspectos de la presente divulgación no son mutuamente excluyentes y pueden combinarse. Las combinaciones son innumerables, ya que se puede usar un temporizador en el procesador de aplicaciones 34 con un contador de bytes en el procesador del módem 44 (o viceversa), el procesador del módem 44 funciona con un temporizador y un contador de bytes, mientras que el procesador de aplicaciones 34 solo tiene un temporizador, y así sucesivamente. A este respecto, se proporcionan las Figuras 10-12 que ilustran cómo los temporizadores y los contadores de acumulación de datos pueden interoperar. Es decir, las Figuras 10 y 11 ilustran cómo el temporizador de enlace descendente (ya sea en el procesador del módem 44 o el procesador de aplicaciones 34) se utiliza como base para la transmisión de datos (por ejemplo, como se ilustra en las Figuras 4 y 5), se puede combinar con los contadores de acumulación de datos, y se modifica aún más mediante una anulación de datos de alta prioridad. La Figura 12 ilustra un proceso simplificado en el que el temporizador de enlace ascendente combinado con los contadores de acumulación de datos se utiliza como base para la transmisión de datos (por ejemplo, como se ilustra en las Figuras 6 y 7), modificado por las anulaciones de datos.
A este respecto, las Figuras 10 y 11 ilustran un proceso combinado 210 que comienza en el inicio (bloque 212). El proceso 210 continúa con la llegada de datos de enlace descendente (DL) (por ejemplo, un paquete) (bloque 214). El sistema de control evalúa si hay datos de prioridad, mensajes de control y/u otros datos que requieren baja latencia (bloque 216). Si la respuesta al bloque 216 es no, entonces el sistema de control determina si se ha cruzado un umbral de bytes (es decir, si hay más del umbral de bytes en el acumulador) (bloque 218). Si la respuesta al bloque 218 es no, entonces el sistema de control determina si se ha cruzado el umbral de número de paquetes (es decir, hay más del umbral de paquetes en el acumulador) (bloque 220). Si la respuesta al bloque 220 es no, entonces el sistema de control determina si el sistema se está quedando sin memoria (bloque 222). Si la respuesta al bloque 222 es no, entonces el sistema de control determina si el temporizador de acumulación de enlace descendente está funcionando (bloque 224). Si la respuesta al bloque 224 es sí, entonces los datos del enlace descendente continúan acumulándose y no se inicia ninguna transferencia de datos a través del enlace (bloque 226).
Con referencia continua a la Figura 10, si, sin embargo, la respuesta al bloque 224 es no, el temporizador de enlace descendente ha expirado, o si se ha respondido afirmativamente a alguna de las anulaciones del bloque 216, 218, 220 o 222, entonces el proceso 210 comienza la transferencia de los datos acumulados (incluido el paquete actual) a través del enlace desde el procesador del módem 44 (también denominado a veces módem (44) en las Figuras) al procesador de aplicaciones 34 (también denominado a veces AP(34) en las Figuras) (bloque 230). El sistema de control inicia o reinicia el temporizador de acumulación de enlace descendente y establece el temporizador de acumulación de enlace descendente en funcionamiento (bloque 232). El sistema de control determina si el procesador del módem 44 está en un modo de sondeo de enlace ascendente (UL) (bloque 234). Si la respuesta al bloque 234 es no, entonces no hay transferencia de enlace ascendente (bloque 236). Sin embargo, si el procesador del módem 44 está sondeando el dispositivo de enlace ascendente, entonces, basándose en ese sondeo, el sistema de control determina si hay datos de enlace ascendente pendientes del procesador de aplicaciones 34 (bloque 238). Si hay datos pendientes (es decir, la respuesta al bloque 238 es sí), entonces el procesador de aplicaciones 34 comienza la transferencia de datos al procesador del módem 44 (bloque 240). Una vez que finaliza la transferencia de datos, o si no había datos en el bloque 238, el sistema de control reinicia el temporizador de acumulación de enlace ascendente (bloque 242) y el proceso 210 vuelve al comienzo 212.
Con referencia continua a la Figura 10, después del bloque 226, el sistema de control determina si el temporizador de enlace descendente ha expirado (bloque 244). Si la respuesta al bloque 244 es no, el sistema de control determina si ha llegado un nuevo paquete (bloque 246). Si la respuesta al bloque 246 es no, entonces el proceso 210 vuelve al bloque 244. Si ha llegado un nuevo paquete, el proceso 210 vuelve al inicio 212. Si la respuesta al bloque 244 es sí, el temporizador de enlace descendente ha expirado, el sistema de control sabe que el temporizador de acumulación de enlace descendente ha expirado (bloque 248). Al expirar el temporizador de enlace descendente, el sistema de control determina si hay datos de enlace descendente acumulados pendientes (bloque 250). Si hay datos en el bloque 250, entonces los datos se transfieren en el bloque 230. Si no hay datos, entonces el temporizador de acumulación de enlace descendente se establece en "no funcionando" (bloque 252) y el proceso 210 va a la Figura 11, elemento C. Debe apreciarse que los bloques 216, 218, 220 y 222 son opcionales.
Con referencia a la Figura 11, el proceso 210 puede continuar desde el bloque 252. En este punto, el temporizador de acumulación de enlace ascendente ha expirado (bloque 254). El temporizador de acumulación de enlace ascendente expirará si no hay datos de enlace descendente desde que se reinició el temporizador de enlace ascendente. El sistema de control determina si hay datos de enlace ascendente pendientes del procesador de aplicaciones 34 (bloque 256). Si la respuesta al bloque 256 es sí, entonces el procesador de aplicaciones 34 inicia la transferencia de datos a través del enlace desde el procesador de aplicaciones 34 al procesador del módem 44 (bloque 258). El sistema de control reinicia el temporizador de acumulación de enlace ascendente (bloque 260). Sin embargo, si la respuesta al bloque 256 es no, no hay datos, el sistema de control envía un evento al procesador de aplicaciones 34 que indica que el procesador del módem 44 espera un timbre/interrupción para cualquier envío de paquete pendiente o siguiente (bloque 262). Es decir, dado que no ha habido datos desde el procesador de aplicaciones 34 al procesador del módem 44 desde el tiempo de sondeo anterior, entonces el procesador del módem 44 puede entrar en un modo de interrupción para datos de enlace ascendente y el procesador del módem 44 esperaría que el procesador de aplicaciones 34 envíe una interrupción cuando haya datos pendientes en el procesador de aplicaciones 34. El sistema de control luego cambia el estado internamente para reflejar lo mismo (bloque 264).
Con referencia continua a la Figura 11, el procesador del módem 44 recibe una interrupción u otra indicación del procesador de aplicaciones 34 que indica datos pendientes en el anillo de transferencia (bloque 266). A continuación, el sistema de control reinicia el temporizador de acumulación de enlace ascendente y cambia el estado para indicar el modo de sondeo de enlace ascendente (bloque 268). Todos los datos del enlace ascendente se procesan (bloque 270) y el proceso 210 comienza de nuevo.
En otro aspecto alternativo, puede haber situaciones en las que las memorias intermedias del procesador de aplicaciones 34 pueden estar llenas y no hay espacio para datos del procesador del módem 44. En tal caso, el procesador de aplicaciones 34 puede informar al procesador del módem 44, y el procesador del módem 44 puede enviar un evento al procesador de aplicaciones 34 para proporcionar una señal de interrupción al procesador del módem 44 cuando hay memorias intermedias libres.
La Figura 12 es similar a las Figuras 10 y 11, ya que ilustra cómo se pueden usar las anulaciones y los contadores de datos junto con un temporizador de acumulación, pero un proceso 280 de la Figura 12 supone que el temporizador de enlace ascendente es más corto que el temporizador de enlace descendente (por ejemplo, análogo al aspecto ilustrado en las Figuras 6 y 7). El proceso 280 comienza en el inicio (bloque 282). El proceso 280 continúa con la llegada de datos de enlace ascendente (UL) (por ejemplo, un paquete) (bloque 284). El sistema de control evalúa si hay datos de prioridad, mensajes de control y/u otros datos que requieren baja latencia (bloque 286). Si la respuesta al bloque 286 es no, entonces el sistema de control determina si se ha cruzado un umbral de bytes (es decir, si hay más del umbral de bytes en el acumulador) (bloque 288). Si la respuesta al bloque 288 es no, entonces el sistema de control determina si se ha cruzado el umbral de número de paquetes (es decir, hay más del umbral de paquetes en el acumulador) (bloque 290). Si la respuesta al bloque 290 es no, entonces el sistema de control determina si el sistema se está quedando sin memoria (bloque 292). Si la respuesta al bloque 292 es no, entonces el sistema de control determina si el dispositivo está en un modo de sondeo de enlace ascendente (bloque 294). Si la respuesta al bloque 294 es sí, el dispositivo está en el modo de sondeo, entonces el procesador de aplicaciones 34 actualiza la estructura de datos interna/matriz de contexto con información del paquete de datos de enlace ascendente que el dispositivo puede extraer y con la que puede actualizar los punteros de escritura en consecuencia (bloque 296).
Con referencia continua a la Figura 12, si, sin embargo, la respuesta al bloque 294 es no, el dispositivo no está en un modo de sondeo de enlace ascendente, o si se ha respondido afirmativamente a alguna de las anulaciones de los bloques 286, 288, 290 o 292, entonces el procesador de aplicaciones 34 actualiza la estructura de datos interna/matriz de contexto con información de paquete de datos de enlace ascendente que el dispositivo puede extraer y con la que puede actualizar los punteros de escritura en consecuencia (bloque 298). A continuación, el procesador de aplicaciones 34 toca el timbre o interrumpe el dispositivo para indicar la disponibilidad de datos de enlace ascendente (bloque 300). A continuación, el procesador de aplicaciones 34 establece el estado del dispositivo en el estado de sondeo (no el modo de timbre/evento/interrupción) (bloque 302), y el proceso se repite.
Debe apreciarse que se pueden realizar procesos similares cuando ambos temporizadores están en el procesador de aplicaciones 34 o el procesador del módem 44 o se dividen entre los procesadores respectivos 34, 44. Del mismo modo, una vez que un temporizador ha expirado, los datos se pueden extraer o empujar a través del bus de interconectividad 36 basándose en sondeo, configuración de registros de timbre u otra técnica.
Los expertos en la técnica apreciarán además que los diversos bloques lógicos ilustrativos, módulos, circuitos y algoritmos descritos en conexión con los aspectos divulgados en el presente documento puedan implementarse como hardware electrónico, instrucciones almacenadas en la memoria o en otro medio legible por ordenador y ejecutarse por un procesador u otro dispositivo de procesamiento, o combinaciones de ambos. Los dispositivos descritos en el presente documento pueden emplearse en cualquier circuito, componente de hardware, IC o chip de IC, como ejemplos. La memoria divulgada en el presente documento puede ser una memoria de cualquier tipo y tamaño y se puede configurar para almacenar cualquier tipo de información deseada. Para ilustrar claramente esta intercambiabilidad, anteriormente se han descrito en general diversos componentes, bloques, módulos, circuitos y pasos ilustrativos, en términos de su funcionalidad. Cómo se implementa dicha funcionalidad depende de la solicitud en particular, de las elecciones de diseño y/o de las restricciones de diseño impuestas en el sistema general. Los expertos en la técnica pueden implementar la funcionalidad descrita de diferentes maneras para cada aplicación particular, pero no debe interpretarse que dichas decisiones de implementación suponen una desviación del alcance de la presente divulgación.
Los diversos bloques lógicos, módulos y circuitos ilustrativos descritos con relación a los aspectos divulgados en el presente documento pueden implementarse o realizarse con un procesador, un procesador de señales digitales (DSP), un circuito integrado específico de la aplicación (ASIC), una matriz de puertas programables in situ (FPGA) u otro dispositivo lógico programable, lógica de transistores o de puertas discretas, componentes discretos de hardware o cualquier combinación de los mismos diseñada para realizar las funciones descritas en el presente documento. Un procesador puede ser un microprocesador, pero, como alternativa, el procesador puede ser cualquier procesador, controlador, microcontrolador o máquina de estado convencional. Un procesador también puede implementarse como una combinación de dispositivos informáticos, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un núcleo de DSP o cualquier otra configuración de este tipo.
Los aspectos divulgados en el presente documento pueden realizarse en hardware y en instrucciones que estén almacenadas en hardware, y pueden residir, por ejemplo, en Memoria de Acceso Aleatorio (RAM), memoria flash, Memoria de Solo Lectura (ROM), ROM Eléctricamente Programable (EPROM), ROM Programable Eléctricamente Borrable (EEPROM), registros, un disco duro, un disco extraíble, un CD-ROM o cualquier otra forma de medio legible por ordenador conocido en la técnica. Un medio de almacenamiento a modo de ejemplo está acoplado al procesador de modo que el procesador pueda leer información de, y escribir información en, el medio de almacenamiento. De forma alternativa, el medio de almacenamiento puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en una estación remota. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en una estación remota, una estación base o un servidor.
También se observa que los pasos operativos descritos en cualquiera de los aspectos a modo de ejemplo en el presente documento están descritos para proporcionar ejemplos y análisis. Las operaciones descritas se pueden realizar en numerosas secuencias diferentes distintas de las secuencias ilustradas. Además, las operaciones descritas en un único paso operativo se pueden realizar realmente en varios pasos diferentes. Adicionalmente, pueden combinarse una o más pasos operativos analizados en los aspectos a modo de ejemplo. Se entenderá que los pasos operativos ilustrados en los diagramas de flujo se pueden someter a numerosas modificaciones diferentes, como resultará fácilmente evidente para un experto en la técnica. Los expertos en la técnica también entenderán que la información y las señales se pueden representar usando cualquiera de entre una amplia variedad de distintas tecnologías y técnicas. Por ejemplo, los datos, instrucciones, comandos, información, señales, bits, símbolos y segmentos que se pueden haber mencionado a lo largo de la descripción anterior se pueden representar mediante tensiones, corrientes, ondas electromagnéticas, campos o partículas magnéticos, campos o partículas ópticos o cualquier combinación de los mismos.
La descripción previa de la divulgación se proporciona para permitir que cualquier experto en la técnica realice o use la divulgación.

Claims (11)

REIVINDICACIONES
1. Un terminal móvil (22), que comprende:
un temporizador del módem;
un procesador del módem (44), con el procesador del módem configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta la expiración del temporizador del módem;
un temporizador de aplicaciones que tiene un periodo más largo que un periodo del temporizador del módem; un procesador de aplicaciones (34), configurado el procesador de aplicaciones para mantener los datos del procesador de aplicaciones al procesador del módem hasta la recepción de los datos del procesador del módem al procesador de aplicaciones desde el procesador del módem mediante un bus de interconectividad después de lo que los datos del procesador de aplicaciones al procesador del módem se envían al procesador del módem mediante el bus de interconectividad;
acoplando el bus de interconectividad (36) de manera comunicativa el procesador de aplicaciones al procesador del módem, teniendo el bus de interconectividad un periodo activo y un periodo de modo de suspensión; y configurado el procesador del módem, además, basado en el periodo del temporizador del módem y el periodo del temporizador de aplicaciones, para sincronizar la transferencia de los datos del procesador de aplicaciones al procesador del módem y los datos del procesador del módem al procesador de aplicaciones durante un único periodo activo del bus de interconectividad.
2. El terminal móvil de la reivindicación 1, en el que:
el bus de interconectividad comprende un bus compatible con interconexión de componentes periféricos (PCI); o el bus de interconectividad comprende un bus PCI express (PCIe); o
el temporizador del módem se implementa en software; o
el temporizador del módem tiene un período de aproximadamente seis (6) milisegundos; o
el procesador del módem comprende el temporizador del módem; o
el procesador de aplicaciones comprende el temporizador del módem.
3. El terminal móvil de la reivindicación 1, en el que el procesador de aplicaciones está configurado para mantener los datos del procesador de aplicaciones al procesador del módem hasta la recepción de los datos del procesador del módem al procesador de aplicaciones desde el procesador del módem o la expiración del temporizador de aplicaciones, lo que ocurra primero.
4. El terminal móvil de la reivindicación 1, en el que el procesador del módem está configurado además para indicar al procesador de aplicaciones que envíe una interrupción si no se reciben datos dentro del periodo del temporizador de aplicaciones.
5. El terminal móvil de la reivindicación 1, en el que:
el procesador del módem está configurado además para determinar si los datos retenidos comprenden un paquete de control y enviar dicho paquete de control antes de que expire el temporizador del módem; o
el bus de interconectividad comprende un bus PCI express (PCIe) y el procesador del módem está configurado además para extraer datos del procesador de aplicaciones al recibir los datos del procesador del módem al procesador de aplicaciones o a la expiración del temporizador de aplicaciones.
6. Un procedimiento de control de consumo de energía en un dispositivo informático, que comprende:
mantener los datos (78) recibidos por un procesador del módem desde una red remota hasta la expiración de un temporizador del módem;
enviar (82) los datos recibidos por el procesador del módem a un procesador de aplicaciones a través de un bus de interconectividad, teniendo el bus de interconectividad un periodo activo y un periodo de modo de suspensión; mantener los datos de la aplicación generados por una aplicación asociada con el procesador de aplicaciones hasta la recepción de los datos del procesador del módem o la expiración de un temporizador de aplicaciones, lo que ocurra primero; y
sincronizar la transferencia de los datos de aplicación y los datos desde el procesador del módem durante un único periodo activo del bus de interconectividad en función de un periodo del temporizador del módem y un periodo del temporizador de aplicaciones.
7. El procedimiento de la reivindicación 6, en el que:
enviar los datos comprende enviar los datos a través de un bus compatible con la interfaz de componentes periféricos (PCI); o
el período del temporizador del módem comprende seis (6) milisegundos; o
el período del temporizador de aplicaciones comprende siete (7) milisegundos; o
el procedimiento comprende además proporcionar una capacidad de anulación basada en uno de tamaño de paquete acumulado, recuento de paquetes acumulado, recuento de bytes acumulado, requisito de calidad de servicio y estado del mensaje de control.
8. Un terminal móvil, que comprende:
un temporizador del módem;
un procesador del módem, configurado el procesador del módem para mantener los datos del procesador del módem al procesador de aplicaciones hasta la recepción de los datos del procesador de aplicaciones al procesador del módem desde un procesador de aplicaciones a través de un bus de interconectividad tras lo que los datos del procesador del módem al procesador de aplicaciones se envían al procesador de aplicaciones a través del bus de interconectividad;
un temporizador de aplicaciones que tiene un periodo más corto que un periodo del temporizador del módem; configurado el procesador de aplicaciones para mantener los datos del procesador de aplicaciones al procesador del módem hasta la expiración del temporizador de aplicaciones;
acoplando el bus de interconectividad comunicativamente el procesador de aplicaciones con el procesador del módem, teniendo el bus de interconectividad un periodo activo y un periodo de suspensión; y
configurado además el procesador de aplicaciones, basado en el periodo del temporizador del módem y el periodo del temporizador de aplicaciones, para sincronizar la transferencia de los datos del procesador del módem al procesador de aplicaciones y los datos del procesador de aplicaciones al procesador del módem durante un único periodo activo del bus de interconectividad.
9. El terminal móvil de la reivindicación 8, en el que:
el procesador de aplicaciones comprende el temporizador de aplicaciones; o
el procesador del módem comprende el temporizador de aplicaciones; o
el terminal móvil comprende además un contador de bytes que cuenta bytes en el procesador del módem.
10. Un procedimiento que comprende:
iniciar un temporizador de aplicaciones en un procesador de aplicaciones;
acumular datos en el procesador de aplicaciones hasta la expiración del temporizador de aplicaciones; enviar los datos acumulados desde el procesador de aplicaciones a un procesador del módem a través de un bus de interconectividad, teniendo el bus de interconectividad un periodo activo y un periodo de modo de suspensión; mantener los datos del procesador del módem en el procesador del módem hasta recibir los datos acumulados del procesador de aplicaciones o la expiración de un temporizador del módem, lo que ocurra primero; y sincronizar la transferencia de los datos acumulados y los datos del procesador del módem durante un único periodo activo del bus de interconectividad en función de un periodo del temporizador del módem y un periodo del temporizador de aplicaciones.
11. Un terminal móvil, que comprende:
un temporizador del módem;
un procesador del módem, con el procesador del módem configurado para mantener los datos del procesador del módem al procesador de aplicaciones hasta la expiración del temporizador del módem;
un temporizador de aplicaciones que tiene un periodo más largo que un periodo del temporizador del módem; un procesador de aplicaciones, configurado el procesador de aplicaciones para mantener los datos del procesador de aplicaciones al procesador del módem hasta que el procesador del módem extraiga los datos del procesador de aplicaciones después de la transmisión de los datos del procesador del módem al procesador de aplicaciones; un bus de interconectividad que acopla comunicativamente el procesador de aplicaciones al procesador del módem, teniendo el bus de interconectividad un periodo activo y un periodo de modo de suspensión; y configurado además el procesador del módem, basado en el periodo del temporizador del módem y el periodo del temporizador de aplicaciones, para sincronizar la transferencia de los datos del procesador de aplicaciones al procesador del módem y los datos del procesador del módem al procesador de aplicaciones durante un único periodo activo del bus de interconectividad.
ES18160829T 2013-12-16 2014-12-15 Técnicas de ahorro de energía en dispositivos informáticos Active ES2870617T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361916498P 2013-12-16 2013-12-16
US201462019073P 2014-06-30 2014-06-30
US14/568,694 US9535490B2 (en) 2013-12-16 2014-12-12 Power saving techniques in computing devices

Publications (1)

Publication Number Publication Date
ES2870617T3 true ES2870617T3 (es) 2021-10-27

Family

ID=53368378

Family Applications (4)

Application Number Title Priority Date Filing Date
ES19162655T Active ES2907055T3 (es) 2013-12-16 2014-12-15 Técnicas de ahorro de energía en dispositivos informáticos
ES19154607T Active ES2910055T3 (es) 2013-12-16 2014-12-15 Técnicas de ahorro de energía en dispositivos informáticos
ES18160829T Active ES2870617T3 (es) 2013-12-16 2014-12-15 Técnicas de ahorro de energía en dispositivos informáticos
ES14824677T Active ES2747919T3 (es) 2013-12-16 2014-12-15 Técnicas de ahorro de energía en dispositivos informáticos

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES19162655T Active ES2907055T3 (es) 2013-12-16 2014-12-15 Técnicas de ahorro de energía en dispositivos informáticos
ES19154607T Active ES2910055T3 (es) 2013-12-16 2014-12-15 Técnicas de ahorro de energía en dispositivos informáticos

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES14824677T Active ES2747919T3 (es) 2013-12-16 2014-12-15 Técnicas de ahorro de energía en dispositivos informáticos

Country Status (15)

Country Link
US (1) US9535490B2 (es)
EP (4) EP3514661B1 (es)
JP (1) JP6144430B2 (es)
KR (4) KR101832718B1 (es)
CN (5) CN105849668B (es)
BR (1) BR112016013935B1 (es)
CA (1) CA2929725C (es)
DK (1) DK3084558T3 (es)
ES (4) ES2907055T3 (es)
HU (3) HUE057897T2 (es)
PL (1) PL3084558T3 (es)
PT (1) PT3084558T (es)
SI (1) SI3084558T1 (es)
TW (4) TWI704823B (es)
WO (1) WO2015095063A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE49652E1 (en) 2013-12-16 2023-09-12 Qualcomm Incorporated Power saving techniques in computing devices
US9801030B2 (en) 2015-07-15 2017-10-24 Qualcomm Incorporated Internal data transfer in EMBMS reception
US10628172B2 (en) * 2016-06-27 2020-04-21 Qualcomm Incorporated Systems and methods for using distributed universal serial bus (USB) host drivers
CN106255091B (zh) * 2016-08-22 2019-08-30 努比亚技术有限公司 切换方法及装置
US9966986B1 (en) * 2016-12-23 2018-05-08 Mediatek Inc. Methods for controlling a frequency synthesizer circuit and a frequency-generating circuit utilizing the same
US10070393B2 (en) * 2017-01-30 2018-09-04 Blackberry Limited Control of uplink data transmission
TWI696069B (zh) * 2019-02-13 2020-06-11 睿寬智能科技有限公司 用於PCIe設備的大範圍功率量測裝置
US11561601B2 (en) * 2020-06-05 2023-01-24 Apple Inc. Method for performing system and power management over a serial data communication interface
CN116235157A (zh) * 2020-09-02 2023-06-06 高通股份有限公司 通过通信总线控制的计算设备中的节能技术
US12353261B2 (en) 2021-11-30 2025-07-08 Qualcomm Incorporated Neural-network-based power management for neural network loads
CN115514454B (zh) * 2022-09-19 2024-05-28 Oppo广东移动通信有限公司 数据传输方法及装置、电子设备、计算机可读存储介质
US12254196B2 (en) 2022-11-21 2025-03-18 Advanced Micro Devices, Inc. System and method to reduce power consumption when conveying data to a device

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4697281A (en) * 1986-03-14 1987-09-29 Spectrum Cellular Communications Corporation, Inc. Cellular telephone data communication system and method
DE69130630T2 (de) * 1990-09-14 1999-09-09 Hitachi Synchrones Verfahren und Gerät für Prozessoren
US5619681A (en) * 1992-11-23 1997-04-08 Zilog, Inc. Delayed FIFO status for serial shift emulation
JP2551338B2 (ja) * 1993-07-23 1996-11-06 日本電気株式会社 情報処理装置
JP2000507417A (ja) * 1996-03-26 2000-06-13 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 移動電話呼用の代替ルーティングシステム
US6151355A (en) * 1996-10-07 2000-11-21 Dataradio Inc. Wireless modem
DE69827028T2 (de) * 1997-11-14 2005-09-08 Iws International Inc. Intelligentes stromverteilungssystem und sein herstellungsverfahren
US6272452B1 (en) * 1998-04-02 2001-08-07 Ati Technologies, Inc. Universal asynchronous receiver transmitter (UART) emulation stage for modem communication
US6765901B1 (en) * 1998-06-11 2004-07-20 Nvidia Corporation TCP/IP/PPP modem
US6182178B1 (en) * 1998-06-30 2001-01-30 International Business Machines Corporation Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across a PCI host bridge supporting multiple PCI buses
US6839792B2 (en) * 2000-12-15 2005-01-04 Innovative Concepts, Inc. Data modem
US6996214B1 (en) * 2001-08-31 2006-02-07 Silicon Laboratories, Inc. Utilization of in-band signaling to facilitate modem on hold
JP3599692B2 (ja) * 2001-09-10 2004-12-08 松下電器産業株式会社 データ伝送装置
KR100444702B1 (ko) * 2002-04-18 2004-08-16 삼성전자주식회사 고속 범용 직렬 버스 인터페이스를 지원하는 디지탈가입자 회선 모뎀
US7058421B2 (en) * 2002-10-29 2006-06-06 Qualcomm Incorporated Wireless terminal operating under an aggregate transmit power limit using multiple modems having fixed individual transmit power limits
US7137018B2 (en) 2002-12-31 2006-11-14 Intel Corporation Active state link power management
US20060154642A1 (en) * 2004-02-20 2006-07-13 Scannell Robert F Jr Medication & health, environmental, and security monitoring, alert, intervention, information and network system with associated and supporting apparatuses
US7949726B2 (en) * 2004-03-12 2011-05-24 Ocean And Coastal Environmental Sensing, Inc. System and method for delivering information on demand
TWI311705B (en) 2005-05-23 2009-07-01 Via Tech Inc Peripheral component interconnect express and changing method of link power states thereof
US8131718B2 (en) * 2005-12-13 2012-03-06 Muse Green Investments LLC Intelligent data retrieval system
US20080034106A1 (en) 2006-08-02 2008-02-07 Sanjay Bakshi Reducing power consumption for bulk data transfers
US7785478B2 (en) 2007-08-08 2010-08-31 General Electric Company Method for controlling protozoa that harbor bacteria
US8156353B2 (en) 2007-09-17 2012-04-10 Intel Corporation Techniques for communications power management based on system states
US8295891B2 (en) * 2007-10-18 2012-10-23 Interdigital Technology Corporation UMTS FDD modem optimized for high data rate applications
US20090185487A1 (en) 2008-01-22 2009-07-23 International Business Machines Corporation Automated advance link activation
US8356202B2 (en) * 2008-03-28 2013-01-15 Intel Corporation System and method for reducing power consumption in a device using register files
US8255713B2 (en) * 2008-06-26 2012-08-28 Intel Corporation Management of link states using plateform and device latencies
KR20100006110A (ko) * 2008-07-08 2010-01-18 한국전자통신연구원 이동 통신망에서의 전력 소모 방지 방법
US8078768B2 (en) * 2008-08-21 2011-12-13 Qualcomm Incorporated Universal Serial Bus (USB) remote wakeup
US7930519B2 (en) * 2008-12-17 2011-04-19 Advanced Micro Devices, Inc. Processor with coprocessor interfacing functional unit for forwarding result from coprocessor to retirement unit
WO2010125429A1 (en) 2009-04-30 2010-11-04 Freescale Semiconductor, Inc. Apparatus, communications system and method for optimizing data packet flow
US8615671B2 (en) 2009-10-09 2013-12-24 Intel Corporation Techniques for managing lower power states for data links
GB2483057B (en) * 2010-08-20 2012-11-28 Wireless Tech Solutions Llc Apparatus, method and system for managing data transmission
US20120120860A1 (en) * 2010-11-16 2012-05-17 Chui Jimmy C Power optimized demodulator front end (demfront) receiver subsystem
EP2659329A4 (en) * 2010-12-27 2016-12-28 Microsoft Technology Licensing Llc PERFORMANCE MANAGEMENT OF COORDINATION AND SELECTIVE OPERATION OF TIMER-RELATED TASKS
EP2716132A2 (en) * 2011-06-02 2014-04-09 Interdigital Patent Holdings, Inc. Methods, apparatus, and systems for managing converged gateway communications
US9110668B2 (en) 2012-01-31 2015-08-18 Broadcom Corporation Enhanced buffer-batch management for energy efficient networking based on a power mode of a network interface
US20130204962A1 (en) * 2012-02-02 2013-08-08 Texas Instruments Incorporated Network and peripheral interface circuits, systems and processes
CN103077141B (zh) * 2012-12-26 2015-08-26 西安交通大学 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器
US9594718B2 (en) 2013-01-24 2017-03-14 Qualcomm Innovation Center, Inc. Hardware accelerated communications over a chip-to-chip interface

Also Published As

Publication number Publication date
EP3514661A1 (en) 2019-07-24
ES2747919T3 (es) 2020-03-12
KR20180023025A (ko) 2018-03-06
CN110083223A (zh) 2019-08-02
CN105849668B (zh) 2019-06-25
PT3084558T (pt) 2019-10-24
KR102108661B1 (ko) 2020-05-07
TW201944817A (zh) 2019-11-16
HUE057897T2 (hu) 2022-06-28
TW202044883A (zh) 2020-12-01
KR20160099666A (ko) 2016-08-22
BR112016013935A2 (es) 2017-08-08
TWI672964B (zh) 2019-09-21
JP2017502400A (ja) 2017-01-19
EP3531238A1 (en) 2019-08-28
CN108388337B (zh) 2021-08-20
KR101832718B1 (ko) 2018-02-27
TWI704823B (zh) 2020-09-11
BR112016013935B1 (pt) 2022-07-19
PL3084558T3 (pl) 2020-03-31
EP3531238B1 (en) 2022-01-26
EP3352049B1 (en) 2021-04-14
EP3084558A1 (en) 2016-10-26
EP3084558B1 (en) 2019-07-17
CN109753135B (zh) 2022-03-29
ES2910055T3 (es) 2022-05-11
DK3084558T3 (da) 2019-10-14
CA2929725A1 (en) 2015-06-25
KR20200046133A (ko) 2020-05-06
TWI604747B (zh) 2017-11-01
WO2015095063A1 (en) 2015-06-25
SI3084558T1 (sl) 2019-10-30
KR102286208B1 (ko) 2021-08-04
CA2929725C (en) 2020-12-29
KR20200111836A (ko) 2020-09-29
TWI743946B (zh) 2021-10-21
HUE045973T2 (hu) 2020-01-28
EP3514661B1 (en) 2022-03-16
CN105849668A (zh) 2016-08-10
CN108388337A (zh) 2018-08-10
TW201528847A (zh) 2015-07-16
TW201803388A (zh) 2018-01-16
JP6144430B2 (ja) 2017-06-07
EP3352049A1 (en) 2018-07-25
CN109753135A (zh) 2019-05-14
KR102210798B1 (ko) 2021-02-01
CN110083223B (zh) 2022-11-04
CN108491062B (zh) 2021-07-16
HUE054392T2 (hu) 2021-09-28
CN108491062A (zh) 2018-09-04
US20150169037A1 (en) 2015-06-18
ES2907055T3 (es) 2022-04-21
US9535490B2 (en) 2017-01-03

Similar Documents

Publication Publication Date Title
ES2870617T3 (es) Técnicas de ahorro de energía en dispositivos informáticos
USRE50641E1 (en) Power saving techniques in computing devices
WO2019034001A1 (zh) 一种功耗控制方法及装置
HK40005422A (en) Power consumption control method and device
HK40005422B (en) Power consumption control method and device