Title of Invention

METHOD AND SYSTEM FOR DUAL-CORE PROCESSING

Abstract A processing system includes a first digital signal processor adapted to perform tasks on a first time basis and a second digital signal processor adapted to perform tasks on a second time basis. The second time basis is an integer multiple of the first time basis.
Full Text BACKGROUND OF THE INVENTION
Technical Field
The present invention relates generally to baseband signal processing in mobile
communication systems and, more particularly, but not by way of limitation, to a dualcore
signal-processing approach for use in mobile terminals operating according to
GSM, GPRS, or EDGE.
History of Related Art
In baseband signal processing for, for example, Global System for Mobile
communications (GSM), General Packet Radio Service (GPRS), or Enhanced Data for
GSM Evolution (EDGE) systems, there are numerous ways to implement the necessary
signal-processing functionality. Different implementations are often measured with
respect to four ""parameters: 1) cost (e.g., silicon size of the implementation); 2)
performance (e.g., quality of employed algorithms); 3) flexibility (e.g., ability to
upgrade and improve system functionality); and |) current consumption, particularly in
idle mode. A system that excels in all parameters would be very attractive for
implementation.
Summary of the Invention
A processing system includes a first digital signal processor adapted to perform
tasks on a first time basis and a second digital signal processor adapted to perform tasks
on a second time basis. The second time basis is an integer multiple of the first time
basis.
In a system including a plurality of digital signal processors, a processing
method includes performing, by a first digital signal processor, of tasks on a first time
basis and performing, by a second digital signal processor, of tasks on a second time
basis. The second time basis is an integer multiple of the first time basis.
Brief Description of the Drawings
A more complete understanding of the present invention may be obtained by
reference to the following Detailed Description of Illustrative Embodiments of the
Invention, when taken in conjunction with the accompanying Drawing, wherein
FIGURE 1 is a dual-core (e.g., dual-DSP) system in accordance with principles
of the invention; and
FIGURE 2 is a multi-core (e.g., multiple-DSP) system in accordance with
principles of the invention.
Detailed Description of Illustrative Embodiments of the Invention
Embodiment(s) of the invention will now be described more fully with reference
to the accompanying Drawings. Various embodiments are described below with respect
to a GSM/GPRS/EDGE implementation. The invention may, however, be embodied in
many different forms, including any implementation in which a plurality of time bases
are used, such as, for example, wideband code division multiple access (WCDMA),
CDMA-2000, personal digital cellular (PDC), time division multiple access (TDMA), or
IS-95. The invention should not be construed as limited to the embodiment(s) set forth
herein. The invention should only be considered limited by the claims as they now exist
and the equivalents thereof.
Typical systems may be grouped into two different types: 1) hardware-based
systems; and 2) digital-signal-processor (DSP) based systems. In hardware-based
systems, necessary functionality is usually split into suitable blocks and implemented as
hardware and control of the hardware blocks is performed by a microprocessor.
In DSP-based systems, a DSP and suitable hardware accelerators are typically
employed. A rationale for the DSP-based systems is a need for a DSP in an architecture
of the system that is dedicated to speech processing. If GSM/EDGE modem processing
is also implemented on the DSP that performs the speech processing, some resource
sharing may be achieved.
Hardware-based systems typically excel at current consumption, since a
processing function may usually be implemented more efficiently from a currentconsumption
perspective in hardware as compared to software. However, hardwarebased
systems tend to be inflexible and not make full use of available system resources
(e.g., an audio DSP). The inflexibility is especially serious when costs and development
schedules for digital application specific integrated circuits (ASICs) in modem silicon
processes are taken into account.
DSP-based systems typically make better use of available system resources (e.g.,
an existing DSP is available) and are more flexible than hardware-based systems. From
a cost perspective, most of dedicated hardware can be removed compared to a hardwarebased
system. The resultant cost improvement is, however, often offset by memory
consumption of necessary additional DSP software relative to the hardware-based
systems and, in some cases, also by still-necessary hardware accelerators. In the end,
DSP-based systems are typically more costly than hardware-based systems; all other
things being equal.
DSP-based systems typically consume more current, both in idle mode and
dedicated mode, than comparable hardware-based systems. Moreover, software of the
DSP-based systems is typically more complex than that of hardware-based systems,
since tasks with different time bases must co-exist on the same DSP.
Various embodiments of the invention relate to DSP-based implementations of
GSM/EDGE signal processing in which two DSP; are used instead of one and in which a
functionality split is made such that slot-based tasks are performed on a first DSP and
frame-based tasks are performed on a second DSP. In GSM/EDGE, data output of a
speech coder is encrypted, coded, and interleaved. The data is sent as bursts in time
slots of 577(as. There are 8 or 16 of these time Slots per tune-division multiple access
(TDMA) frame. Slot-based tasks are typically considered higher priority than framebased
tasks. Therefore, if a DSP performing a frame-based task and a slot-based task
needs to be performed, the frame-based task is interrupted and a context is saved.
Saving the context requires memory. In addition, a more-complex software structure is
necessary in order to effect necessary interrupt processes , which generally requires
more memory.
A decrease in system cost may be achieved by adding a DSP due to the fact that
the cost of most, if not all, realistic DSP systems is dominated by memory costs. Thus,
minimizing on-chip memory often serves to reduce system costs.
FIGURE 1 illustrates a dual-core (e.g., dual-DSP) system. A system 100
includes a slot DSP 102. The slot DSP 102 handles GSM/EDGE slot-based task
processing (e.g., equalization). The system 100 also includes a frame DSP 104. The
frame DSP 104 handles GSM/EDGE frame-based task processing (.e.g., speech
processing, channel encoding/decoding, interleaving/de-interleaving).
In GSM/EDGE, slot-based tasks are generally tasks that are run with a same time
base as physical packets sent or received on a physical radio channel. Frame-based
tasks are run on an integer number of slots. In GSM/EDGE, a typical slot-based task is
equalization that is done on the physical packets sent on the physical radio channel. A
typical frame-based task in GSM/EDGE is channel decoding that is done by assembling
four radio bursts (sent in four slots) and then performing channel decoding.
The slot DSP 102 and the frame DSP 104 each have a slave interface and a
master interface, random access memory (RAM), read-only memory (ROM), and a DSP
core. The system 100 also includes a co-processor system 106. The co-processor
system 106 includes hardware accelerators for signal-processing functions (if necessary)
and blocks for system control.
The system 100 also includes a microcontroller 108. The microcontroller 108
runs the GSM/EDGE stack and controls the slot DSP 102 and the frame DSP 104. The
system 100 also includes a direct memory access (DMA) 110 for efficient data transfers.
The DMA 110 is a standalone hardware device that moves data between different
memories without processor (e.g., DSP or CPU) intervention. The system 100 also
includes a bus 112 for the microcontroller 108, a bus 114 for the DMA 110, and a bus
116 shared by the slot DSP 102 and the frame DSP 104. Although the slot DSP 102 and
the frame DSP 104 are shown as sharing the bus 116, it will be understood by those
having skill in the art that each of the slot DSP 102 and the frame DSP 104 need not
necessarily share the bus 116 and may instead each have a dedicated bus. Moreover,
more than two DSP may be included in the system 100 as dictated by design objectives
without departing from principles of the invention.
The system 100 also includes an external memory interface (EMIF) 118 that
handles external-memory accesses by the system 100. In another option, instead of
external memory 120 as shown in FIGURE 1, compact low-cost on-chip memory, such
as embedded dynamic random-access memory (DRAM), could be used, as embedded
DRAM is usually less expensive than on-chip static random-access memory (SRAM).
The DSP functional split between the slot DSP 102 and the frame DSP 104
permits all tasks on the slot DSP 102 to be run at a first rate and all tasks run on the
frame DSP 104 to be run at a second rate. An execution pattern for each of the slot DSP
102 and the frame DSP 104 becomes predictable and one in which no tasks interrupt
each other. Consequently, it is not necessary to have operating-system support to handle
task scheduling.
The fact that tasks cannot interrupt each other means that application data
memory consumption may be determined by the largest individual task. In contrast, in a
system with operating-system (OS) scheduling, the application data memory
consumption is generally determined by the sum of the consumption of all tasks.
Moreover, software execution is predictable; therefore, each of the slot DSP 102 and the
frame DSP 104 is aware of what task it will rim after the present task. As a result,
software of the system 100 may be stored in a cheap bulk memory, either on-chip or offchip.
For example, the external memory 120 could be located on the same chip as the
slot DSP 102 and/or the frame DSP 104 or could be located externally to a chip taht
includes the slot DSP 102 and/or the frame DSP 104.
During execution of the present task, the DSP (e.g., the slot DSP 102) may
download software for the next task to be performed by the DSP into execution
memory, which process is sometimes referred to as an on-demand software download.
One way of performing an on-demand software download is via the DMA 110. In
addition, the slot DSP 102 and the frame DSP 104 are relatively simpler to verify, since
the number of combinations of tasks decreases relative to a system in which a single
DSP must perform tasks at more than one rate.
Memory consumption of the system 100 is decreased relative to a comparable
single-DSP-based system. Data memory is reduced due to the fact that no tasks
interrupt each other and program memory is reduced due to the ability to perform an ondemand
software download. The memory reductions are typically much larger than
additional costs incurred for the extra DSP (e.g., the frame DSP 104). Further,
additional computational performance added by the extra DSP enables removal of
hardware accelerators that would otherwise be necessary for a single-DSP system.
A dual-core system such as the system 100 is flexible due to the
programmability of the slot DSP 102 and the frame DSP 104. Moreover, software of
the system 100 may be primarily stored in cheap bulk memory and downloaded to
execution memory just before execution, which serves to increase flexibility of the
system 100 due to the fact that, in a typical prior DSP-based systems, the bulk of the
system software is stored in ROM for cost reasons.
A more programmable solution typically results in an increased current
consumption. However, for modern digital silicon processes, the current consumption in
idle mode is dominated by leakage. The best way to combat leakage is usually to
decrease the memories; therefore, a dual-DSP system such as the system 100 may use
less than current than a comparable single-DSP system.
FIGURE 2 illustrates a multi-core (e.g., multiple-DSP) system. A system 200
includes a slot-DSP cluster 202 and a frame-DSP cluster 204. The slot-DSP cluster 202
includes at least one of the slot DSP 102 and at least one of the frame DSP 104, a
plurality of slot DSPs 102(l)-(n) and a plurality of frame DSPs 104(l)-(m) being
illustrated in FIGURE 2. Those having skill in the art will appreciate that n and m may
each be a non-negative integer chosen in accordance with design considerations.
Although each of the slot DSPs 102(l)-(n) and the frame DSPs 104(l)-(m) is indicated
identically in the systems 100 and 200, those having skill in the art will appreciate that
DSPs with varying characteristics can be utilized without departing from principles of
the invention and that the DSPs so utilized need not all be identical to one another,
either within one or both of the slot-DSP cluster 202, the frame-DSP cluster 204, or the
system 100 or the system 200 as a whole.
As indicated above with respect to the system 100., the slot DSPs 102(l)-(n)
serve to handle slot-based task processing, while the frame DSPs 104(l)-(m) handle
frame-based task processing. In addition, in similar fashion to the system 100, the slot
DSPs 102(l)-(n) and the frame DSPs 104(l)-(m) each have a slave interface and a
master interface, RAM, ROM, and a DSP core. The system 200 also includes the coprocessor
system 106 and the microcontroller 108. The system 200 also includes the
DMA 110, the bus 112, the bus 114, and the bus 116. Moreover, although the slot DSPs
102(l)-(n) and the frame DSPs 104(l)-(m) are shown as sharing the bus 116, it will be
understood by those having skill in the art that each of the slot DSPs 102(l)-(n) and the
frame DSPs 104(l)-(m) need not necessarily share a bus and may instead each have a
dedicated bus. Furthermore, in similar fashion to the system 100, the system 200
includes the EMIF 118 as well as the external memory 120.
Those having skill in the art will appreciate that the system 200 operates in many
respects in a similar fashion to that of the system 100. Thus, the discussion hereinabove
relative to the system 100 and its operation is applicable to the system 200. Of course,
in various embodiments of the invention, when one or both of the slot-DSP cluster 202
and the frame-DSP cluster 204 is employed, additional design considerations imposed
by virtue of inclusion of a plurality of DSPs within a given cluster, such as, for example,
an appropriate process for sharing the DSP bus 116, must be considered.
It should be emphasized that the terms "comprise", "comprises", and
"comprising", when used herein, are taken to specify the presence of stated features,
integers, steps, or components, but do not preclude the presence or addition of one or
more other features, integers, steps, components or groups thereof.
The previous Detailed Description is of embodiment(s) of the invention. The
scope of the invention should not necessarily be limited by this Description. The scope
of the invention is instead defined by the following claims and the equivalents-thereof.




CLAIMS:
1. A processing system for processing signals in a mobile communication
system in which the signals are transmitted and received in frames, and each frame
includes a plurality of slots, said processing system comprising:
a first digital signal processor adapted to process both transmit and receive
signals on a per-slot basis; and
a second digital signal processor adapted to process both transmit and receive
signals on a per-frame basis.
2. The processing system according to claim 1, wherein the first digital
signal processor is adapted to perform per-slot processing simultaneously with the
per-frame processing by the second digital signal processor.
3. The processing system according to claim 1, wherein a first plurality of
digital signal processors are each adapted to perform per-slot processing of both
transmit and receive signals, and a second plurality of digital signal processors are
each adapted to perform per-frame processing of transmit and receive signals.
4. The processing system according to claim 3, wherein the first plurality
of digital signal processors is adapted to perform per-slot processing tasks
simultaneously with the per-frame processing tasks performed by the second plurality
of digital signal processors.
5. The processing system according to claim 1, further comprising a
controller for controlling the first and second digital signal processors so that per-slot
processing tasks performed by the first digital signal processor do not interrupt perframe
processing tasks performed by the second digital signal processor.
6. The processing system according to claim 1, wherein the processing
system operates in accordance with a communications standard selected from a group
consisting of:
Global System for Mobile Communications (GSM);
Enhanced Data for GSM Evolution (EDGE);
Wideband Code Division Multiple Acces (WCDMA);
Personal Digital Cellular (PDC);
Time Division Multiple Access (TDMA);
Interim Standard IS-95; and
CDMA 2000.
in
a mobile communication system in
frames, and each frame includes a
7. A method of processing signals ir
which the signals are transmitted and received i
plurality of slots, said method comprising:
processing by a first digital signal processor, both transmit and receive signals
on a per-slot basis; and
processing by a second digital signal p
signals on a per-frame basis.
8. The method according to claim 7, wherein:
the first digital signal processor processes
simultaneously with the processing of transmit
rocessor, both transmit and receive
transmit signals on a per-slot basis
signals on a per-frame basis by the
second digital signal processor, and
the first digital signal processor processes receive signals on a per-slot basis
simultaneously with the processing of receive signals on a per-frame basis by the
second digital signal processor.
9. The method according to claim 7,
first and second digital signal processors so that per-slot processing tasks performed
by the first digital signal processor do not int
performed by the second digital signal processor.
further comprising controlling the
errupt per-frame processing tasks
10. The method according to claim 7
processing tasks on a per-slot basis is performed
processors, and the step of performing process
performed by a second plurality of digital signal processors
, wherein the step of performing
by a first plurality of digital signal
ing tasks on a per-frame basis is
11. The method according to claim 1C
signal processors performs per-slot processing
frame processing tasks performed by the second
, wherein the first plurality of digital
tasks simultaneously with the perplurality
of digital signal processors.
12. The method according to claim 10, further comprising controlling the
first plurality of digital signal processors and the second plurality of digital signal
processors so that per-slot processing tasks performed by the first plurality of digital
signal processors do not interrupt per-frame processing tasks performed by the second
plurality of digital signal processors.
13. The method according to claim 7,
a communication system operating in accordance
wherein the method is performed in
e with a communications standard
selected from a group consisting of:
Global System for Mobile Communications (GSM);
Enhanced Data for GSM Evolution (EDGE);
Wideband Code Division Multiple Access (WCDMA);
Personal Digital Cellular (PDC);
Time Division Multiple Access (TDMA);
Interim Standard IS-95; and
CDMA 2000.
14. A processing system for processing
system, said processing system comprising:
a first digital signal processor adapted to
signals in a mobile communication
process both transmit and receive
signals on a time basis corresponding to the rate at which data packets are transmitted
over a physical channel; and
a second digital signal processor adapted tjo process both transmit and receive
signals on a time basis which is an integer number of times longer than the time basis
of the first digital signal processor, wherein the integer number is an integer greater
than 1.


Documents:

5439-delnp-2006-abstract.pdf

5439-delnp-2006-assignments.pdf

5439-delnp-2006-claims.pdf

5439-DELNP-2006-Correspondence Others-(04-11-2011).pdf

5439-delnp-2006-Correspondence Others-(17-07-2014).pdf

5439-delnp-2006-Correspondence Others-(24-05-2013).pdf

5439-delnp-2006-Correspondence Others-(29-01-2013).pdf

5439-delnp-2006-Correspondence Others-(29-11-2013).pdf

5439-DELNP-2006-Correspondence-Others-(11-08-2009).pdf

5439-delnp-2006-correspondence-others.pdf

5439-delnp-2006-description (complete).pdf

5439-delnp-2006-drawings.pdf

5439-delnp-2006-form-1.pdf

5439-delnp-2006-form-2.pdf

5439-delnp-2006-form-26.pdf

5439-DELNP-2006-Form-3-(04-11-2011).pdf

5439-DELNP-2006-Form-3-(11-08-2009).pdf

5439-delnp-2006-Form-3-(17-07-2014).pdf

5439-delnp-2006-Form-3-(24-05-2013).pdf

5439-delnp-2006-Form-3-(29-11-2013).pdf

5439-delnp-2006-form-3.pdf

5439-delnp-2006-form-5.pdf

5439-delnp-2006-pct-210.pdf

5439-delnp-2006-pct-304.pdf

5439-delnp-2006-pct-409.pdf

abstract.jpg

Claims.pdf

Others.pdf

Reply to FER.pdf


Patent Number 265945
Indian Patent Application Number 5439/DELNP/2006
PG Journal Number 13/2015
Publication Date 27-Mar-2015
Grant Date 25-Mar-2015
Date of Filing 19-Sep-2006
Name of Patentee TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Applicant Address SE-164 83 STOCKHOLM (SE)
Inventors:
# Inventor's Name Inventor's Address
1 LJUNGBERG, PER RABYGATAN 17B, S-223 61 LUND (SE)
PCT International Classification Number H04B 1/16
PCT International Application Number PCT/EP2005/002167
PCT International Filing date 2005-03-02
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 11/062,387 2005-02-22 U.S.A.
2 60/549,663 2004-03-03 U.S.A.