US20160118052A1 - Vocoder processing method, semiconductor device, and electronic device - Google Patents
Vocoder processing method, semiconductor device, and electronic device Download PDFInfo
- Publication number
- US20160118052A1 US20160118052A1 US14/987,628 US201614987628A US2016118052A1 US 20160118052 A1 US20160118052 A1 US 20160118052A1 US 201614987628 A US201614987628 A US 201614987628A US 2016118052 A1 US2016118052 A1 US 2016118052A1
- Authority
- US
- United States
- Prior art keywords
- memory
- data
- dsp
- program data
- vocoder
- 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.)
- Abandoned
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 44
- 238000003672 processing method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 185
- 230000008569 process Effects 0.000 claims abstract description 180
- 230000015654 memory Effects 0.000 claims abstract description 89
- 238000012545 processing Methods 0.000 claims abstract description 52
- 230000005540 biological transmission Effects 0.000 claims description 40
- 230000000052 comparative effect Effects 0.000 description 37
- 238000004891 communication Methods 0.000 description 32
- 102100035087 Ectoderm-neural cortex protein 1 Human genes 0.000 description 10
- 101000877456 Homo sapiens Ectoderm-neural cortex protein 1 Proteins 0.000 description 10
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 8
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 102100026191 Class E basic helix-loop-helix protein 40 Human genes 0.000 description 7
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 7
- 101001006871 Homo sapiens Kelch-like protein 25 Proteins 0.000 description 6
- 102100027800 Kelch-like protein 25 Human genes 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 102100032919 Chromobox protein homolog 1 Human genes 0.000 description 2
- 102100037091 Exonuclease V Human genes 0.000 description 2
- 101000797584 Homo sapiens Chromobox protein homolog 1 Proteins 0.000 description 2
- 101000881977 Homo sapiens Exonuclease V Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 235000008733 Citrus aurantifolia Nutrition 0.000 description 1
- 235000011941 Tilia x europaea Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004571 lime Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
Definitions
- the present invention relates to a vocoder processing method, a semiconductor device and an electronic device.
- a wireless communication terminal that transmits and receives voice as a digital signal includes a vocoder processing unit (vocoder), which encodes a voice signal to be transmitted and decodes a received voice signal.
- vocoder vocoder processing unit
- Japanese Unexamined Patent Application Publication No. 2003-216198 discloses an ASIC (Application Specific Integrated Circuit) for a vocoder process.
- Japanese Unexamined Patent Application Publication No. 9-259040 discloses a technique relating to an improvement in the hit rate of a cache memory (cache hit rate).
- a semiconductor device includes a vocoder processing unit that requests a prefetch of program data.
- a semiconductor device of excellent quality suitable for, for example, wireless communication terminals and the like can be provided.
- FIG. 1 is a block diagram showing an exemplary structure of a baseband processor 602 , which is the semiconductor device according to the first comparative example;
- FIG. 2 is a block diagram showing an exemplary structure of a baseband processor 602 , which is the semiconductor device according to the second comparative example;
- FIG. 3 is a timing chart for explaining the operation of the semiconductor device according to the second comparative example
- FIG. 4A is an exterior view showing an exemplary structure of a wireless communication terminal 500 ;
- FIG. 4B is an exterior view showing an exemplary structure of a wireless communication terminal 500 ;
- FIG. 5 is a block diagram showing an exemplary structure of the wireless communication device 600 according to the first embodiment
- FIG. 6 is a block diagram showing an exemplary structure of the baseband processor 602 according to the first embodiment.
- FIG. 7 is a timing chart for explaining the operation of the semiconductor device according to the first embodiment.
- FIG. 1 is a block diagram showing an exemplary structure of a baseband processor 602 , which is the semiconductor device according to the first comparative example.
- FIG. 1 shows the internal structure of the baseband processor 602 according to the first comparative example, function blocks (an RFIC 603 , a main memory 604 , an audio IC 610 , a microphone 611 , and a speaker 612 ) around the baseband processor 602 and a bus 50 .
- the baseband processor 602 is used for, for example, a wireless communication device such as a mobile phone.
- the baseband processor 602 includes a DSP (Digital Signal Processor) 21 , a post-processor (voice processing unit) 23 , a modem 24 , an internal memory 25 , and a ROM (Read Only Memory) 26 .
- DSP Digital Signal Processor
- post-processor voice processing unit
- modem modem
- internal memory 25
- ROM Read Only Memory
- the DSP 21 performs a vocoder process (an encoding process and a decoding process) to voice data to be transmitted and voice data received, based on a program for a vocoder process stored in the ROM 26 . That is, the DSP 21 receives transmission voice data from the post-processor 23 and performs an encoding process to the received transmission voice data, and transmits the encoded voice data to the modem 24 . On the other hand, the DSP 21 receives demodulated reception voice data from the modem 24 and performs a decoding process to the received reception voice data, and transmits the decoded reception voice data to the post-processor 23 .
- a vocoder process an encoding process and a decoding process
- the post-processor 23 performs voice processing such as noise cancellation, echo cancellation and the like to the voice data received from the audio IC 610 , and transmits the processed voice data to the DSP 21 .
- voice processing such as noise cancellation, echo cancellation and the like to the voice data received from the DSP 21 , and transmits the processed voice data to the audio IC 610 .
- the modem 24 performs a modulation process and a demodulation process to data transmitted and data received by the baseband processor 602 . Specifically, the modem 24 performs a modulation process to transmission voice data received from the DSP 21 by carrier waves, and transmits the modulated transmission voice data to the RFIC 603 . On the other hand, the modem 24 performs a demodulation process to reception voice data received from the RFIC 603 by carrier waves, and transmits the demodulated reception voice data to the DSP 21 .
- the internal memory 25 serves as the working memory when the DSP 21 performs a vocoder process.
- the internal memory 25 has a capacity of, for example, about 300 kB.
- the ROM 26 stores the entire program for a vocoder process.
- the ROM 26 has a capacity of, for example, about 200 kB. Note that the main memory 604 does not store any program for a vocoder process.
- the total capacity of the internal memory 25 and the ROM 26 is about several hundred kB, there is a problem that the semiconductor device is increased in size.
- FIG. 2 is a block diagram showing an exemplary structure of a baseband processor 602 , which is the semiconductor device according to the second comparative example.
- FIG. 2 shows the internal structure of the baseband processor 602 according to the second comparative example, function blocks (an RFIC 603 , a main memory 604 , an audio IC 610 , a microphone 611 , and a speaker 612 ) around the baseband processor 602 and a bus 50 .
- function blocks an RFIC 603 , a main memory 604 , an audio IC 610 , a microphone 611 , and a speaker 612 .
- the baseband processor 602 includes a DSP (Digital Signal Processor) 31 , a cache control unit 32 , a post-processor (voice processing unit) 33 , and a modem 34 .
- the cache control unit 32 includes a cache memory 32 a.
- the baseband processor 602 includes the cache control unit 32 (cache memory 32 a ) in place of the internal memory 25 and the ROM 26 shown in FIG. 1 . That is, in the second comparative example, the main memory 604 stores the entire program for a vocoder process. Then, a vocoder process is performed by the cache memory 32 a by temporarily retrieving part of the program.
- the DSP 31 performs a vocoder process based on the program data for a vocoder process (part of the entire program stored in the main memory 604 ) retained in the cache memory 32 a .
- the cache control unit 32 cache memory 32 a
- the problems noted above can be solved.
- the DSP 31 accesses the cache control unit 32 , if the program data for the vocoder process to be executed is retained in the cache memory 32 a (that is, if it is a cache hit), then the vocoder process can be performed with very little delay (for example, with a delay of about one or two clock cycles).
- the DSP 31 accesses the cache control unit 32 , if the program data used for the vocoder process to be executed is not retained in the cache memory 32 a (that is, if it is a cache miss), then the program data must be read from the main memory 604 via the bus 50 . Therefore, a delay of about tens of clock cycles occurs.
- FIG. 3 is a timing chart for explaining the operation of the semiconductor device according to the second comparative example.
- the vertical axis shown on the very left side in FIG. 3 indicates time (ms). In the drawing, time elapses from the top side toward the bottom side. Further, four vertical lines being parallel to the vertical axis (time axis) indicate four processes, namely, a modem process, a vocoder process, voice processing (speaker side), and voice processing (microphone side), in order from the left side in the drawing. Further, single-headed arrows in the drawing represent flows of data. Double-headed arrows represent time sections.
- the modem 34 receives a reception voice signal from the air interface.
- the modem 34 executes a first demodulation process DEM 1 to the reception voice signal (“MODEM PROCESS” in FIG. 3 ).
- the DSP 31 receives the reception voice signal demodulated by the modem 34 .
- the DSP 31 executes a first decoding process DEC 1 (“VOCODER PROCESS” in FIG. 3 ).
- the post-processor 33 receives the reception voice signal decoded by the DSP 31 .
- the post-processor 33 executes voice processing such as noise cancellation, echo cancellation and the like to the reception voice signal (“VOICE PROCESSING SPEAKER SIDE” in FIG. 3 ).
- voice processing such as noise cancellation, echo cancellation and the like to the reception voice signal (“VOICE PROCESSING SPEAKER SIDE” in FIG. 3 ).
- the reception voice signal having undergone the voice processing is transmitted to the speaker 612 via the audio IC 610 .
- the post-processor 33 executes voice processing such as noise cancellation, echo cancellation and the like to a transmission voice signal (“VOICE PROCESSING MICROPHONE SIDE” in FIG. 3 ).
- voice processing such as noise cancellation, echo cancellation and the like to a transmission voice signal (“VOICE PROCESSING MICROPHONE SIDE” in FIG. 3 ).
- the transmission voice signal is generated by the audio IC 610 from the voice detected by the microphone 611 .
- the DSP 31 receives the transmission voice signal having been subjected to the voice processing by the post-processor 33 .
- the DSP 31 executes a first encoding process ENC 1 (“VOCODER PROCESS” in FIG. 3 ).
- the modem 34 receives the transmission voice signal encoded by the DSP 31 .
- the modem 34 executes a first modulation process MOD 1 to the transmission voice signal (see “MODEM PROCESS” in FIG. 3 ).
- the transmission voice signal modulated by the modem 34 is transmitted to the air interface.
- the modem 34 again receives a reception voice signal from the air interface.
- the procedure from time points t 1 to t 7 (cycle time 20 ms) is repetitively executed.
- time points t 7 and t 13 also, the procedure that is similar to the procedure performed between time points t 1 and t 7 is repeated. Note that the detailed operation from time point t 7 onward will not be explained.
- the reception voice signal is decoded (e.g., DEC 1 ) and the transmission voice signal is encoded (e.g., ENC 1 ).
- the cache hit rate is also reduced.
- the vocoder process does not complete within the cycle time (that is, the vocoder process delays).
- the inventors of the present invention studied the structure and operation of a semiconductor device that can achieve both a reduction in size of the semiconductor device and acceleration of a vocoder process. More precisely, the inventors studied the structure and operation of a semiconductor device with which an improvement of the cache hit rate (a reduction in the cache miss rate) can be achieved, despite the fact that miniaturization of the semiconductor device is achieved by employing the cache memory similarly to the second comparative example. A detailed explanation thereof will be given in the following.
- FIGS. 4A and 4B are each an exterior view showing an exemplary structure of a wireless communication terminal 500 .
- FIGS. 4A and 4B each show the case where the wireless communication terminal 500 is a smartphone.
- the wireless communication terminal 500 may be other wireless communication terminal such as a feature phone (e.g., a flip mobile phone terminal), a portable game terminal, a tablet PC (Personal Computer), and a notebook PC and the like.
- a feature phone e.g., a flip mobile phone terminal
- a portable game terminal e.g., a portable game terminal
- a tablet PC Personal Computer
- notebook PC Portable Computer
- FIG. 4A shows one main surface (front face) of a housing 501 that forms the wireless communication terminal 500 .
- a display device 502 On the front face of the housing 501 , a display device 502 , a touch panel 503 , a plurality of operation buttons 504 , and a camera device 505 are disposed.
- FIG. 4B shows other main surface (back face) of the housing 501 .
- a camera device 506 is disposed on the back face of the housing 501 .
- the display device 502 is a display device such as a liquid crystal display (LCD: Liquid Crystal Display), an organic EL display (OLED: Organic Light-Emitting Diode) and the like.
- the display device 502 is disposed such that the displaying face is positioned on the front face of the housing 501 .
- the touch panel 503 is disposed so as to cover the displaying face of the display device 502 . Alternatively, it is disposed on the back side of the display device 502 .
- the touch panel 503 senses the position on the displaying face touched by the user. That is, the user can intuitively operate the wireless communication terminal 500 by touching the displaying face of the display device 502 with the finger, a dedicated pen (generally referred to as a stylus) and the like.
- the operation buttons 504 are used for auxiliary operating the wireless communication terminal 500 . Note that such operation buttons may not be provided depending on wireless communication terminals.
- the camera device 505 is a sub-camera whose lens unit is positioned on the front face of the housing 501 . Note that such a sub-camera may not be provided depending on wireless communication terminals.
- the camera device 506 is a main camera whose lens unit is positioned on the back face of the housing 501 .
- FIG. 5 is a block diagram showing an exemplary structure of the wireless communication device 600 according to the first embodiment.
- the wireless communication device 600 is, for example, the internal structure of the wireless communication terminal 500 shown in the FIGS. 4A and 4B . As shown in FIG.
- the wireless communication device 600 includes an application processor (host IC) 601 , a baseband processor 602 , an RFIC (Radio Frequency Integrated Circuit) 603 , a main memory 604 , a battery 605 , a power management IC (PMIC: Power Management Integrated Circuit) 606 , a display unit 607 , a camera unit 608 , an operation input unit 609 , an audio IC 610 , a microphone 611 , and a speaker 612 .
- host IC application processor
- RFIC Radio Frequency Integrated Circuit
- the application processor (host IC) 601 is a semiconductor integrated circuit that reads programs stored in the main memory 604 to carry out processing for implementing various functions of the wireless communication device 600 .
- the application processor 601 reads an OS (Operating System) program from the main memory 604 and executes the same, and executes any application program that operates on the OS program.
- OS Operating System
- the baseband processor 602 subjects data transmitted and received by the mobile communication terminal to baseband processing, which includes an encoding process (e.g., error correction coding of convolution codes, turbo codes and the like), a decoding process and the like.
- baseband processing includes an encoding process (e.g., error correction coding of convolution codes, turbo codes and the like), a decoding process and the like.
- the baseband processor 602 receives transmission voice data from the audio IC 610 and performs an encoding process to the received transmission voice data, and transmits the encoded transmission voice data to the RFIC 603 . More specifically, the baseband processor 602 performs an encoding process to PCM data received from the audio IC 610 , such that the PCM data is converted into AMR data that can be received by the RFIC 603 .
- the baseband processor 602 receives reception voice data from the RFIC 603 and performs a decoding process to the received reception voice data, and transmits the decoded reception voice data to the audio IC 610 . More specifically, the baseband processor 602 performs a decoding process to AMR data, which is the reception voice data demodulated by the RFIC 603 , such that the AMR data is converted into PCM data. Note that the AMR data is compressed data and the PCM data is uncompressed data.
- the RFIC 603 performs analog RF signal processing.
- the analog RF signal processing includes frequency upconversion, frequency downconversion, amplification and the like.
- the RFIC 603 generates a transmission RF signal from transmission voice data modulated by the baseband processor 602 , and transmits the transmission RF signal via an antenna in a wireless manner (Up Link).
- the RFIC 603 receives a reception RF signal via the antenna in a wireless manner and generates reception voice data from the reception RF signal, and transmits the generated reception voice data to the baseband processor 602 (Down Link).
- the main memory (external memory) 604 stores programs and data that are used by the application processor 601 . Further, the main memory 604 stores the program that is used for a vocoder process performed by the baseband processor 602 , that is, a codec.
- a volatile memory such as a DRAM (Dynamic Random Access Memory) is frequently used as the main memory 604 . Stored data in a volatile memory is cleared when power supply is shut down. Needless to say, a non-volatile memory that retains stored data even when power supply is shut down may be used as the main memory 604 .
- the battery 605 is an electric battery, and used when the wireless communication device 600 operates independently of an external power supply. Note that the wireless communication device 600 may be supplied with power from the battery 605 even when it is connected to any external power supply. Further, it is preferable to use a secondary battery as the battery 605 .
- the power management IC 606 generates an internal power supply from the battery 605 or an external power supply. This internal power supply is supplied to each of the blocks in the wireless communication device 600 .
- the power management IC 606 controls the voltage of the internal power supply for each block supplied with the internal power supply.
- the power management IC 606 performs the voltage control for the internal power supply based on instructions from the application processor 601 . Further, the power management IC 606 can control supplying and blocking of the internal power supply for each block.
- the power management IC 606 also performs charging control for the battery 605 when supply from the external power supply is available.
- the display unit 607 corresponds to the display device 502 shown in FIGS. 4A and 4B , and is a display device such as a liquid crystal display (LCD: Liquid Crystal Display), an organic EL display (OLED: Organic Light-Emitting Diode) and the like.
- the display unit 607 displays various images in accordance with processes performed by the application processor 601 .
- the images displayed on the display unit 607 include user-interface images with which the user provides operation instructions to the wireless communication device 600 , camera images, moving images and the like.
- the camera unit 608 acquires an image in accordance with an instruction from the application processor 601 .
- the camera unit 608 corresponds to the camera devices 505 and 506 in FIGS. 4A and 4B .
- the operation input unit 609 is a user interface for the user to operate to provide an operation instruction to the wireless communication device 600 .
- the operation input unit 609 corresponds to the touch panel 503 and the operation buttons 504 shown in FIGS. 4A and 4B .
- the audio IC 610 converts reception voice data, which is a digital signal received from the baseband processor 602 , into an analog signal, and drives the speaker 612 . Thus, voice is output from the speaker 612 .
- the audio IC 610 subjects voice, which is an analog signal detected by the microphone 611 , to an analog-to-digital (A/D) conversion, and outputs the converted signal to the baseband processor 602 . More specifically, the audio IC 610 generates PCM data, which is a digital signal, from voice which is an analog signal.
- voice which is an analog signal detected by the microphone 611
- A/D analog-to-digital
- FIG. 6 is a block diagram showing an exemplary structure of the baseband processor 602 according to the first embodiment.
- FIG. 6 shows the internal structure of the baseband processor 602 shown in FIG. 5 , function blocks (an RFIC 603 , a main memory 604 , an audio IC 610 , a microphone 611 , and a speaker 612 ) around the baseband processor 602 , and the bus 50 .
- the baseband processor 602 includes a DSP (Digital Signal Processor) 11 , a cache control unit 12 , a post-processor (voice processing unit) 13 , and a modem 14 .
- the cache control unit 12 includes a cache memory 12 a .
- the DSP 11 includes a prefetch request unit 11 a.
- the DSP 11 performs a vocoder process to voice data to be transmitted and voice data received, based on the program data for a vocoder process (part of the entire program stored in the main memory 604 ) retained in the cache memory 12 a . That is, the DSP 11 receives transmission voice data from the post-processor 13 and performs an encoding process to the received transmission voice data, and transmits the encoded transmission voice data to the modem 14 . More specifically, the DSP 11 converts PCM data received from the post-processor 13 into AMR data through an encoding process, and transmits the converted PCM data to the modern 14 .
- the DSP 11 receives demodulated reception voice data from the modem 14 and performs a decoding process to the received reception voice data, and transmits the decoded reception voice data to the post-processor 13 . More specifically, the DSP 11 converts AMR data received from the modem 14 into PCM data through a decoding process, and transmits the converted PCM data to the post-processor 13 .
- the DSP 11 alternately executes an encoding process to the transmission voice signal and a decoding process to the reception voice signal at a prescribed cycle time (period).
- the cycle time is dependent on the length of the radio frame, and is determined to be 20 ms by the 3GPP (Third-Generation Partnership Project).
- the baseband processor 602 includes the prefetch request unit 11 a in the DSP 11 .
- the prefetch request unit 11 a requests the cache control unit 12 to prefetch at an interval between vocoder processes intermittently executed by the DSP 11 .
- the prefetch request unit 11 a requests a prefetch of the program data executed in a vocoder process that follows. For example, in a period after an encoding process is executed and before a decoding process that follows is executed, the prefetch request unit 11 a requests the cache control unit 12 to prefetch the program data used for the decoding process. Further, in a period after a decoding process is executed and before an encoding process that follows is executed, the prefetch request unit 11 a requests the cache control unit 12 to prefetch the program data used for the encoding process.
- the cache control unit 12 prefetches, via the bus 50 , the program data to be executed by the DSP 11 in a vocoder process that follows (i.e., the next-process program data) from the main memory 604 . More specifically, when the prefetch request unit 11 a requests a prefetch, if the cache control unit 12 does not retain the next-process program data, then the cache control unit 12 prefetches the next-process program data from the main memory 604 .
- the DSP 11 can execute the vocoder process at high speeds. Note that, if the cache control unit 12 already has the next-process program data when the prefetch request unit 11 a requests a prefetch, then it is not necessary to prefetch the next-process program data from the main memory 604 .
- the program data to be executed by the DSP 11 in a vocoder process that follows is prefetched for each time.
- the program data stored in the cache memory 12 a is successively rewritten to the program data to be executed by the DSP 11 in a vocoder process that follows.
- the cache memory 12 a is only required to be capable of retaining program data required for each vocoder process and, hence, the capacity of the cache memory 12 a can be reduced.
- the baseband processor 602 can be reduced in size.
- the capacity of the cache memory 12 a may be, for example, 64 kB (kilobytes), which is the sum of a 32 kB capacity of an instruction cache and a 32 kB capacity of a data cache. From the viewpoint of miniaturization, the capacity of the cache memory 12 a is preferably 100 kB or less.
- the cache memory 12 a is made up of the instruction cache in which program data is stored and the data cache in which data to be processed is stored.
- the instruction cache corresponds to the ROM 26 shown in FIG. 1 .
- the data cache corresponds to the internal memory 25 shown in FIG. 1 .
- the post-processor 13 performs sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to PCM data received from the audio IC 610 , and transmits the processed PCM data to the DSP 11 .
- voice processing sound quality improvement processing
- the post-processor 13 performs sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to PCM data received from the DSP 11 , and transmits the processed PCM data to the audio IC 610 .
- the modem 14 performs a modulation process and a demodulation process to data to be transmitted and received by the baseband processor 602 .
- the modem 14 performs a modulation process to transmission voice data (AMR data) received from the DSP 11 through carrier waves, and transmits the modulated transmission voice data to the RFIC 603 .
- AMR data transmission voice data
- the modem 14 performs a demodulation process to reception voice data (AMR data) received from the RFIC 603 through carrier waves, and transmits the demodulated reception voice data to the DSP 11 .
- AMR data reception voice data
- the baseband processor 602 according to the first comparative example shown in FIG. 1 includes the internal memory 25 and the ROM 26 .
- the baseband processor 602 according to the present embodiment shown in FIG. 6 includes the cache control unit 12 (cache memory 12 a ) in place of the internal memory 25 and the ROM 26 .
- the capacity of the cache memory 12 a according to the present embodiment is, for example, 64 kB, being approximately 1/10 as great as that in the first comparative example. Accordingly, the baseband processor 602 according to the present embodiment can be greatly reduced in size as compared to the first comparative example.
- the baseband processor 602 since the program for a vocoder process is stored in the ROM 26 , the program cannot be changed. On the other hand, with the baseband processor 602 according to the present embodiment, since the program for a vocoder process is stored in the rewritable main memory 604 , the program can be changed. Further, the large-capacity main memory 604 can be efficiently used.
- the baseband processor 602 according to the second comparative example shown in FIG. 2 does not include a prefetch request unit in the DSP 31
- the baseband processor 602 according to the first embodiment shown in FIG. 6 includes the prefetch request unit 11 a in the DSP 11 .
- the prefetch request unit 11 a requests the cache control unit 12 to prefetch between vocoder processes intermittently executed by the DSP 11 .
- the cache control unit 12 prefetches the program data to be executed by the DSP 11 in a vocoder process that follows from the main memory 604 , in response to the prefetch request from the prefetch request unit 11 a . Accordingly, in performing the vocoder process that follows, in principle a cache miss does not occur and, hence, the cache hit rate can be drastically improved as compared to the second comparative example. Accordingly, the DSP 11 can execute the vocoder process at fast speeds.
- the problems associated with the first and second comparative examples can be solved at the same time. That is, both a reduction in size of the semiconductor device and an increase in speed of each vocoder process can be achieved. Specifically, the semiconductor device according to the present embodiment can improve the cache hit rate (reduce the cache miss rate) by including the prefetch request unit in the DSP, despite the fact that miniaturization is achieved by employing the cache memory similarly to the second comparative example.
- FIG. 7 is a timing chart for explaining the operation of the semiconductor device according to the first embodiment.
- the vertical axis shown in the very left side in FIG. 7 indicates time (ms). In the drawing, time elapses from the top side toward the bottom side. Further, four vertical lines being parallel to the vertical axis (time axis) indicate four processes, namely, a modem process, a vocoder process, voice processing (speaker side), and voice processing (microphone side), in order from the left side in the drawing. Further, single-headed arrows in the drawing represent flows of data. Double-headed arrows represent time sections.
- decoding of the reception voice signal and encoding of the transmission voice signal are executed.
- the modem 14 receives a reception voice signal (AMR data) from the air interface.
- AMR data reception voice signal
- the modem 14 executes a first demodulation process DEM 1 to the reception voice signal (AMR data) (“MODEM PROCESS” in FIG. 7 ).
- the DSP 11 receives the reception voice signal (AMR data) demodulated by the modem 14 .
- the DSP 11 executes a first decoding process DEC 1 (the first vocoder process) (“VOCODER PROCESS” in FIG. 7 ).
- DEC 1 the first vocoder process
- the reception voice signal is converted from AMR data into PCM data.
- the post-processor 13 receives the reception voice signal (PCM data) decoded by the DSP 11 .
- the post-processor 13 executes sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to the reception voice signal (PCM data) (“VOICE PROCESSING SPEAKER SIDE” in FIG. 7 ).
- voice processing sound quality improvement processing
- PCM data reception voice signal
- the reception voice signal (PCM data) having undergone the voice processing is transmitted to the speaker 612 via the audio IC 610 .
- the post-processor 13 executes sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to a transmission voice signal (PCM data) (“VOICE PROCESSING MICROPHONE SIDE” in FIG. 7 ).
- voice processing such as noise cancellation, echo cancellation and the like
- PCM data transmission voice signal
- the transmission voice signal (PCM data) is generated by the audio IC 610 from the voice detected by the microphone 611 .
- the DSP 11 receives the transmission voice signal (PCM data) having been subjected to the voice processing by the post-processor 13 .
- the DSP 11 executes a first encoding process ENC 1 (the second vocoder process) (“VOCODER PROCESS” in FIG. 7 ).
- ENC 1 the transmission voice signal is converted from PCM data to AMR data.
- the modem 14 receives the transmission voice signal (AMR data) encoded by the DSP 11 .
- the modem 14 executes a first modulation process MOD 1 to the transmission voice signal (AMR data) (“MODEM PROCESS” in FIG. 7 ).
- the transmission voice signal (AMR data) modulated by the modem 14 is transmitted to the air interface.
- the modem 14 again receives a reception voice signal (AMR data) from the air interface.
- AMR data reception voice signal
- the modem 14 executes a second demodulation process DEM 2 to the reception voice signal (AMR data) (“MODEM PROCESS” in FIG. 7 ).
- the DSP 11 receives the reception voice signal (AMR data) demodulated by the modem 14 .
- the DSP 11 executes a second decoding process DEC 2 (the third vocoder process) (“VOCODER PROCESS” in FIG. 7 ).
- DEC 2 the third vocoder process
- the reception voice signal is converted from AMR data into PCM data.
- the post-processor 13 receives the reception voice signal (PCM data) decoded by the DSP 11 .
- the post-processor 13 executes sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to the reception voice signal (PCM data) (“VOICE PROCESSING SPEAKER SIDE” in FIG. 7 ).
- voice processing sound quality improvement processing
- PCM data reception voice signal
- the reception voice signal (PCM data) having undergone the voice processing is transmitted to the speaker 612 via the audio IC 610 .
- the post-processor 13 executes sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to a transmission voice signal (PCM data) (“VOICE PROCESSING MICROPHONE SIDE” in FIG. 7 ).
- voice processing such as noise cancellation, echo cancellation and the like
- PCM data transmission voice signal
- the DSP 11 receives the transmission voice signal (PCM data) having been subjected to the voice processing by the post-processor 13 .
- the DSP 11 executes a second encoding process ENC 2 (the fourth vocoder process) (“VOCODER PROCESS” in FIG. 7 ).
- ENC 2 the fourth vocoder process
- VCODER PROCESS the fourth vocoder process
- the modem 14 receives the transmission voice signal (AMR data) encoded by the DSP 11 .
- the modem 14 executes a second modulation process MOD 2 to the transmission voice signal (AMR data) (“MODEM PROCESS” in FIG. 7 )
- the transmission voice signal (AMR data) modulated by the modem 14 is transmitted to the air interface.
- the modem 14 receives a reception voice signal (AMR data) from the air interface.
- the decoding processes (DEC 1 , DEC 2 and others) and the encoding processes (ENC 1 , ENC 2 and the like) are repeatedly executed alternately. Further, the processes are executed intermittently. Specifically, in FIG. 7 , after the first decoding process DEC 1 between time points t 2 and t 3 is executed, the first encoding process ENC 1 between time points t 4 and t 5 is executed after a lapse of a period from time points t 3 to t 4 .
- the second decoding process DEC 2 between time points t 8 and t 9 is executed after a lapse of a period from time points t 5 to t 8 .
- the second encoding process ENC 2 between time points t 10 and t 11 is executed after a lapse of a period from time points t 9 to t 10 .
- the VOCODER process (the decoding process and the encoding process) is intermittently executed by the DSP 11 .
- the DSP 11 uses such a characteristic of the VOCODER process, with the semiconductor device according to the present embodiment, between a decoding process and an encoding process being adjacent to each other, the DSP 11 requests the cache control unit 12 to prefetch program data to be used in the process that follows.
- the prefetch requests (PREFERCH REQ. 1 and others) are represented by stars in FIG. 7 .
- the DSP 11 executes the first decoding process DEC 1 (the first vocoder process), in a period (time points t 3 to t 4 ) before executing the first encoding process ENC 1 (the second vocoder process), the DSP 11 outputs, from the prefetch request unit 11 a to the cache control unit 12 , the first prefetch request (PREFERCH REQ. 1 ) for requesting a prefetch of the program data for the first encoding process ENC 1 (the second vocoder process).
- the first prefetch request PREFERCH REQ. 1
- the DSP 11 executes the first encoding process ENC 1 (the second vocoder process), in a period (time points t 5 to t 8 ) before executing the second decoding process DEC 2 (the third vocoder process), the DSP 11 outputs, from the prefetch request unit 11 a to the cache control unit 12 , the second prefetch request (PREFERCH REQ. 2 ) for requesting a prefetch of the program data for the second decoding process DEC 2 (the third vocoder process).
- the second prefetch request PREFERCH REQ. 2
- the DSP 11 executes the second decoding process DEC 2 (the third vocoder process), in a period (time points t 9 to t 10 ) before executing the second encoding process ENC 2 (the fourth vocoder process), the DSP 11 outputs, from the prefetch request unit 11 a to the cache control unit 12 , the third prefetch request (PREFERCH REQ. 3 ) for requesting a prefetch of the program data for the second encoding process ENC 2 (the fourth vocoder process).
- the third prefetch request PREFERCH REQ. 3
- the DSP 31 since the DSP 31 does not include a prefetch request unit, as shown in FIG. 3 , the DSP 31 cannot request, in the period between a decoding process and an encoding process being adjacent to each other, the cache control unit 12 to prefetch the program data to be used in the process that follows. Accordingly, a cache miss tends to occur, and any vocoder process executed by the DSP 31 may possibly delay.
- the DSP 11 includes the prefetch request unit 11 a .
- the prefetch request unit 11 a requests the cache control unit 12 to prefetch between vocoder processes intermittently executed by the DSP 11 .
- the cache control unit 12 prefetches from the main memory 604 the program data to be executed by the DSP 11 in a vocoder process that follows, in response to any prefetch request (PREFERCH REQ. 1 and others) from the prefetch request unit 11 a .
- the DSP 11 can execute the vocoder process at fast speeds.
- the program data to be executed by the DSP 11 in a vocoder process that follows is prefetched for each time.
- the program data stored in the cache memory 12 a is successively rewritten to the program data to be executed by the DSP 11 in the vocoder process that follows.
- the cache memory 12 a is only required to be capable of retaining program data required for each vocoder process and, hence, the capacity of the cache memory 12 a can be reduced.
- the baseband processor 602 can be reduced in size.
- the baseband processor 602 executes the vocoder process in the embodiments described above
- the application processor 601 may execute the vocoder process.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Telephone Function (AREA)
Abstract
In a semiconductor device, a vocoder processing unit requests, after executing a first vocoder process being one of an encoding process and a decoding process and before executing a following second vocoder process being other one of the encoding process and the decoding process, a cache memory to prefetch first program data to be used for the second vocoder process from an external memory.
Description
- This application is based upon and claims the benefit of priority from Japanese patent application No. 2012-176254, filed on Aug. 8, 2012, the disclosure of which is incorporated herein in its entirety by reference.
- The present invention relates to a vocoder processing method, a semiconductor device and an electronic device.
- In recent years, a wireless communication terminal that transmits and receives voice as a digital signal includes a vocoder processing unit (vocoder), which encodes a voice signal to be transmitted and decodes a received voice signal. For example, Japanese Unexamined Patent Application Publication No. 2003-216198 discloses an ASIC (Application Specific Integrated Circuit) for a vocoder process.
- Meanwhile, Japanese Unexamined Patent Application Publication No. 9-259040 discloses a technique relating to an improvement in the hit rate of a cache memory (cache hit rate).
- In developing a semiconductor device used for communication terminals and the like, the inventors of the present invention have found various problems. Each embodiment disclosed herein presents a semiconductor device suitable for a communication terminal and the like, for example.
- Other problems and novel characteristics will become apparent from the description of the present specification and the accompanying drawings.
- A semiconductor device according to one embodiment includes a vocoder processing unit that requests a prefetch of program data.
- According to one embodiment, a semiconductor device of excellent quality suitable for, for example, wireless communication terminals and the like can be provided.
- The above and other aspects, advantages and features will be more apparent from the following description of certain embodiments taken in conjunction with the accompanying drawings, in which:
-
FIG. 1 is a block diagram showing an exemplary structure of abaseband processor 602, which is the semiconductor device according to the first comparative example; -
FIG. 2 is a block diagram showing an exemplary structure of abaseband processor 602, which is the semiconductor device according to the second comparative example; -
FIG. 3 is a timing chart for explaining the operation of the semiconductor device according to the second comparative example; -
FIG. 4A is an exterior view showing an exemplary structure of awireless communication terminal 500; -
FIG. 4B is an exterior view showing an exemplary structure of awireless communication terminal 500; -
FIG. 5 is a block diagram showing an exemplary structure of thewireless communication device 600 according to the first embodiment; -
FIG. 6 is a block diagram showing an exemplary structure of thebaseband processor 602 according to the first embodiment; and -
FIG. 7 is a timing chart for explaining the operation of the semiconductor device according to the first embodiment. - In the following, a specific embodiment will be explained in detail with reference to the drawings. Note that the present invention is not limited to the following embodiment. Further, in order to provide a clear explanation, the following description and drawings are simplified as appropriate.
- Firstly, with reference to
FIG. 1 , an explanation will be given of a semiconductor device according to a first comparative example considered by the inventors of the present invention.FIG. 1 is a block diagram showing an exemplary structure of abaseband processor 602, which is the semiconductor device according to the first comparative example.FIG. 1 shows the internal structure of thebaseband processor 602 according to the first comparative example, function blocks (an RFIC 603, amain memory 604, anaudio IC 610, amicrophone 611, and a speaker 612) around thebaseband processor 602 and abus 50. Thebaseband processor 602 is used for, for example, a wireless communication device such as a mobile phone. - As shown in
FIG. 1 , thebaseband processor 602 according to the first comparative example includes a DSP (Digital Signal Processor) 21, a post-processor (voice processing unit) 23, amodem 24, aninternal memory 25, and a ROM (Read Only Memory) 26. - The DSP 21 performs a vocoder process (an encoding process and a decoding process) to voice data to be transmitted and voice data received, based on a program for a vocoder process stored in the
ROM 26. That is, the DSP 21 receives transmission voice data from thepost-processor 23 and performs an encoding process to the received transmission voice data, and transmits the encoded voice data to themodem 24. On the other hand, the DSP 21 receives demodulated reception voice data from themodem 24 and performs a decoding process to the received reception voice data, and transmits the decoded reception voice data to thepost-processor 23. - The post-processor 23 performs voice processing such as noise cancellation, echo cancellation and the like to the voice data received from the
audio IC 610, and transmits the processed voice data to the DSP 21. On the other hand, the post-processor 23 performs voice processing such as noise cancellation, echo cancellation and the like to the voice data received from theDSP 21, and transmits the processed voice data to theaudio IC 610. - The
modem 24 performs a modulation process and a demodulation process to data transmitted and data received by thebaseband processor 602. Specifically, themodem 24 performs a modulation process to transmission voice data received from theDSP 21 by carrier waves, and transmits the modulated transmission voice data to theRFIC 603. On the other hand, themodem 24 performs a demodulation process to reception voice data received from theRFIC 603 by carrier waves, and transmits the demodulated reception voice data to the DSP 21. - The
internal memory 25 serves as the working memory when the DSP 21 performs a vocoder process. Theinternal memory 25 has a capacity of, for example, about 300 kB. - The
ROM 26 stores the entire program for a vocoder process. TheROM 26 has a capacity of, for example, about 200 kB. Note that themain memory 604 does not store any program for a vocoder process. - Thus, with the first comparative example, since the program for a vocoder process is stored in the
ROM 26, there is a problem that the program cannot be rewritten, and a new program cannot be addressed. - Further, since the total capacity of the
internal memory 25 and theROM 26 is about several hundred kB, there is a problem that the semiconductor device is increased in size. - Next, with reference to
FIG. 2 , an explanation will be given of a semiconductor device according to a second comparative example, which is considered by the inventors of the present invention in order to solve the problems noted above.FIG. 2 is a block diagram showing an exemplary structure of abaseband processor 602, which is the semiconductor device according to the second comparative example.FIG. 2 shows the internal structure of thebaseband processor 602 according to the second comparative example, function blocks (an RFIC 603, amain memory 604, anaudio IC 610, amicrophone 611, and a speaker 612) around thebaseband processor 602 and abus 50. - As shown in
FIG. 2 , thebaseband processor 602 according to the second comparative example includes a DSP (Digital Signal Processor) 31, acache control unit 32, a post-processor (voice processing unit) 33, and amodem 34. Here, thecache control unit 32 includes acache memory 32 a. - The
baseband processor 602 according to the second comparative example shown inFIG. 2 includes the cache control unit 32 (cache memory 32 a) in place of theinternal memory 25 and theROM 26 shown inFIG. 1 . That is, in the second comparative example, themain memory 604 stores the entire program for a vocoder process. Then, a vocoder process is performed by thecache memory 32 a by temporarily retrieving part of the program. - The DSP 31 performs a vocoder process based on the program data for a vocoder process (part of the entire program stored in the main memory 604) retained in the
cache memory 32 a. In this manner, in the second comparative example, since the cache control unit 32 (cache memory 32 a) is employed in place of theinternal memory 25 and theROM 26 according to the first comparative example, the problems noted above can be solved. - Here, when the
DSP 31 accesses thecache control unit 32, if the program data for the vocoder process to be executed is retained in thecache memory 32 a (that is, if it is a cache hit), then the vocoder process can be performed with very little delay (for example, with a delay of about one or two clock cycles). - However, when the DSP 31 accesses the
cache control unit 32, if the program data used for the vocoder process to be executed is not retained in thecache memory 32 a (that is, if it is a cache miss), then the program data must be read from themain memory 604 via thebus 50. Therefore, a delay of about tens of clock cycles occurs. - Note that, when the
DSP 31 accesses themain memory 604 upon a cache miss, if other function block is accessing themain memory 604, the delay becomes greater. For example, since calls with a mobile phone require high real-time performance, such a delay is disadvantageous. - With reference to the timing chart of
FIG. 3 , an explanation will be given of the operation of the semiconductor device according to the second comparative example shown inFIG. 2 .FIG. 3 is a timing chart for explaining the operation of the semiconductor device according to the second comparative example. The vertical axis shown on the very left side inFIG. 3 indicates time (ms). In the drawing, time elapses from the top side toward the bottom side. Further, four vertical lines being parallel to the vertical axis (time axis) indicate four processes, namely, a modem process, a vocoder process, voice processing (speaker side), and voice processing (microphone side), in order from the left side in the drawing. Further, single-headed arrows in the drawing represent flows of data. Double-headed arrows represent time sections. - At time point t1, the
modem 34 receives a reception voice signal from the air interface. - Between time points t1 and t2, the
modem 34 executes a first demodulation process DEM1 to the reception voice signal (“MODEM PROCESS” inFIG. 3 ). - At time point t2, the
DSP 31 receives the reception voice signal demodulated by themodem 34. - Between time points t2 and t3, the
DSP 31 executes a first decoding process DEC1 (“VOCODER PROCESS” inFIG. 3 ). - At time point t3, the post-processor 33 receives the reception voice signal decoded by the
DSP 31. - Between time points t3 and t9 spanning 20 ms, the post-processor 33 executes voice processing such as noise cancellation, echo cancellation and the like to the reception voice signal (“VOICE PROCESSING SPEAKER SIDE” in
FIG. 3 ). The reception voice signal having undergone the voice processing is transmitted to thespeaker 612 via theaudio IC 610. - On the other hand, between time points t0 and t4 spanning 20 ms, the post-processor 33 executes voice processing such as noise cancellation, echo cancellation and the like to a transmission voice signal (“VOICE PROCESSING MICROPHONE SIDE” in
FIG. 3 ). Note that the transmission voice signal is generated by theaudio IC 610 from the voice detected by themicrophone 611. - At time point t4, the
DSP 31 receives the transmission voice signal having been subjected to the voice processing by the post-processor 33. - Between time points t4 and t5, the
DSP 31 executes a first encoding process ENC1 (“VOCODER PROCESS” inFIG. 3 ). - At time point t5, the
modem 34 receives the transmission voice signal encoded by theDSP 31. - Between time points t5 and t6, the
modem 34 executes a first modulation process MOD1 to the transmission voice signal (see “MODEM PROCESS” inFIG. 3 ). - At time point t6, the transmission voice signal modulated by the
modem 34 is transmitted to the air interface. - Then, at time point t7, the
modem 34 again receives a reception voice signal from the air interface. In this manner, the procedure from time points t1 to t7 (cycle time 20 ms) is repetitively executed. For example, between time points t7 and t13 also, the procedure that is similar to the procedure performed between time points t1 and t7 is repeated. Note that the detailed operation from time point t7 onward will not be explained. - As shown in
FIG. 3 , in a prescribed (e.g., 20 ms) cycle time, the reception voice signal is decoded (e.g., DEC1) and the transmission voice signal is encoded (e.g., ENC1). In the semiconductor device according to the second comparative example, when the capacity of thecache memory 32 a is reduced, the cache hit rate is also reduced. As a result, there is a problem that, upon a cache miss, the vocoder process does not complete within the cycle time (that is, the vocoder process delays). - Aiming to solve the problems associated with the first and second comparative examples the same time, the inventors of the present invention studied the structure and operation of a semiconductor device that can achieve both a reduction in size of the semiconductor device and acceleration of a vocoder process. More precisely, the inventors studied the structure and operation of a semiconductor device with which an improvement of the cache hit rate (a reduction in the cache miss rate) can be achieved, despite the fact that miniaturization of the semiconductor device is achieved by employing the cache memory similarly to the second comparative example. A detailed explanation thereof will be given in the following.
- Firstly, with reference to
FIGS. 4A and 4B , an explanation will be given of the overview of a wireless communication terminal suitable as an electronic device to which a semiconductor device according to the present embodiment is applied.FIGS. 4A and 4B are each an exterior view showing an exemplary structure of awireless communication terminal 500. - Note that,
FIGS. 4A and 4B each show the case where thewireless communication terminal 500 is a smartphone. However, thewireless communication terminal 500 may be other wireless communication terminal such as a feature phone (e.g., a flip mobile phone terminal), a portable game terminal, a tablet PC (Personal Computer), and a notebook PC and the like. Needless to say, the semiconductor device according to the present embodiment is applicable to any device other than wireless communication terminals. -
FIG. 4A shows one main surface (front face) of ahousing 501 that forms thewireless communication terminal 500. On the front face of thehousing 501, adisplay device 502, atouch panel 503, a plurality ofoperation buttons 504, and acamera device 505 are disposed. On the other hand,FIG. 4B shows other main surface (back face) of thehousing 501. On the back face of thehousing 501, acamera device 506 is disposed. - The
display device 502 is a display device such as a liquid crystal display (LCD: Liquid Crystal Display), an organic EL display (OLED: Organic Light-Emitting Diode) and the like. Thedisplay device 502 is disposed such that the displaying face is positioned on the front face of thehousing 501. - The
touch panel 503 is disposed so as to cover the displaying face of thedisplay device 502. Alternatively, it is disposed on the back side of thedisplay device 502. Thetouch panel 503 senses the position on the displaying face touched by the user. That is, the user can intuitively operate thewireless communication terminal 500 by touching the displaying face of thedisplay device 502 with the finger, a dedicated pen (generally referred to as a stylus) and the like. - The
operation buttons 504 are used for auxiliary operating thewireless communication terminal 500. Note that such operation buttons may not be provided depending on wireless communication terminals. - The
camera device 505 is a sub-camera whose lens unit is positioned on the front face of thehousing 501. Note that such a sub-camera may not be provided depending on wireless communication terminals. - The
camera device 506 is a main camera whose lens unit is positioned on the back face of thehousing 501. - With reference to
FIG. 5 , an explanation will be given of the structure of awireless communication device 600 in which the semiconductor device according to the present embodiment is installed.FIG. 5 is a block diagram showing an exemplary structure of thewireless communication device 600 according to the first embodiment. Thewireless communication device 600 is, for example, the internal structure of thewireless communication terminal 500 shown in theFIGS. 4A and 4B . As shown inFIG. 5 , thewireless communication device 600 includes an application processor (host IC) 601, abaseband processor 602, an RFIC (Radio Frequency Integrated Circuit) 603, amain memory 604, abattery 605, a power management IC (PMIC: Power Management Integrated Circuit) 606, adisplay unit 607, a camera unit 608, anoperation input unit 609, anaudio IC 610, amicrophone 611, and aspeaker 612. - The application processor (host IC) 601 is a semiconductor integrated circuit that reads programs stored in the
main memory 604 to carry out processing for implementing various functions of thewireless communication device 600. For example, theapplication processor 601 reads an OS (Operating System) program from themain memory 604 and executes the same, and executes any application program that operates on the OS program. - The
baseband processor 602 subjects data transmitted and received by the mobile communication terminal to baseband processing, which includes an encoding process (e.g., error correction coding of convolution codes, turbo codes and the like), a decoding process and the like. - Particularly as to voice data, the
baseband processor 602 receives transmission voice data from theaudio IC 610 and performs an encoding process to the received transmission voice data, and transmits the encoded transmission voice data to theRFIC 603. More specifically, thebaseband processor 602 performs an encoding process to PCM data received from theaudio IC 610, such that the PCM data is converted into AMR data that can be received by theRFIC 603. - On the other hand, the
baseband processor 602 receives reception voice data from theRFIC 603 and performs a decoding process to the received reception voice data, and transmits the decoded reception voice data to theaudio IC 610. More specifically, thebaseband processor 602 performs a decoding process to AMR data, which is the reception voice data demodulated by theRFIC 603, such that the AMR data is converted into PCM data. Note that the AMR data is compressed data and the PCM data is uncompressed data. - The
RFIC 603 performs analog RF signal processing. The analog RF signal processing includes frequency upconversion, frequency downconversion, amplification and the like. - Particularly as to voice data, the
RFIC 603 generates a transmission RF signal from transmission voice data modulated by thebaseband processor 602, and transmits the transmission RF signal via an antenna in a wireless manner (Up Link). - On the other hand, the
RFIC 603 receives a reception RF signal via the antenna in a wireless manner and generates reception voice data from the reception RF signal, and transmits the generated reception voice data to the baseband processor 602 (Down Link). - The main memory (external memory) 604 stores programs and data that are used by the
application processor 601. Further, themain memory 604 stores the program that is used for a vocoder process performed by thebaseband processor 602, that is, a codec. A volatile memory such as a DRAM (Dynamic Random Access Memory) is frequently used as themain memory 604. Stored data in a volatile memory is cleared when power supply is shut down. Needless to say, a non-volatile memory that retains stored data even when power supply is shut down may be used as themain memory 604. - The
battery 605 is an electric battery, and used when thewireless communication device 600 operates independently of an external power supply. Note that thewireless communication device 600 may be supplied with power from thebattery 605 even when it is connected to any external power supply. Further, it is preferable to use a secondary battery as thebattery 605. - The
power management IC 606 generates an internal power supply from thebattery 605 or an external power supply. This internal power supply is supplied to each of the blocks in thewireless communication device 600. Here, thepower management IC 606 controls the voltage of the internal power supply for each block supplied with the internal power supply. Thepower management IC 606 performs the voltage control for the internal power supply based on instructions from theapplication processor 601. Further, thepower management IC 606 can control supplying and blocking of the internal power supply for each block. In addition, thepower management IC 606 also performs charging control for thebattery 605 when supply from the external power supply is available. - The
display unit 607 corresponds to thedisplay device 502 shown inFIGS. 4A and 4B , and is a display device such as a liquid crystal display (LCD: Liquid Crystal Display), an organic EL display (OLED: Organic Light-Emitting Diode) and the like. Thedisplay unit 607 displays various images in accordance with processes performed by theapplication processor 601. The images displayed on thedisplay unit 607 include user-interface images with which the user provides operation instructions to thewireless communication device 600, camera images, moving images and the like. - The camera unit 608 acquires an image in accordance with an instruction from the
application processor 601. The camera unit 608 corresponds to thecamera devices FIGS. 4A and 4B . - The
operation input unit 609 is a user interface for the user to operate to provide an operation instruction to thewireless communication device 600. Theoperation input unit 609 corresponds to thetouch panel 503 and theoperation buttons 504 shown inFIGS. 4A and 4B . - The
audio IC 610 converts reception voice data, which is a digital signal received from thebaseband processor 602, into an analog signal, and drives thespeaker 612. Thus, voice is output from thespeaker 612. - On the other hand, the
audio IC 610 subjects voice, which is an analog signal detected by themicrophone 611, to an analog-to-digital (A/D) conversion, and outputs the converted signal to thebaseband processor 602. More specifically, theaudio IC 610 generates PCM data, which is a digital signal, from voice which is an analog signal. - With reference to
FIG. 6 , an explanation will be given of thebaseband processor 602, which is the semiconductor device according to the present embodiment.FIG. 6 is a block diagram showing an exemplary structure of thebaseband processor 602 according to the first embodiment.FIG. 6 shows the internal structure of thebaseband processor 602 shown inFIG. 5 , function blocks (anRFIC 603, amain memory 604, anaudio IC 610, amicrophone 611, and a speaker 612) around thebaseband processor 602, and thebus 50. - As shown in
FIG. 6 , thebaseband processor 602 according to the first embodiment includes a DSP (Digital Signal Processor) 11, acache control unit 12, a post-processor (voice processing unit) 13, and amodem 14. Here, thecache control unit 12 includes acache memory 12 a. Further, the DSP 11 includes aprefetch request unit 11 a. - The DSP 11 performs a vocoder process to voice data to be transmitted and voice data received, based on the program data for a vocoder process (part of the entire program stored in the main memory 604) retained in the
cache memory 12 a. That is, the DSP 11 receives transmission voice data from the post-processor 13 and performs an encoding process to the received transmission voice data, and transmits the encoded transmission voice data to themodem 14. More specifically, the DSP 11 converts PCM data received from the post-processor 13 into AMR data through an encoding process, and transmits the converted PCM data to the modern 14. - On the other hand, the DSP 11 receives demodulated reception voice data from the
modem 14 and performs a decoding process to the received reception voice data, and transmits the decoded reception voice data to the post-processor 13. More specifically, the DSP 11 converts AMR data received from themodem 14 into PCM data through a decoding process, and transmits the converted PCM data to the post-processor 13. - Here, the DSP 11 alternately executes an encoding process to the transmission voice signal and a decoding process to the reception voice signal at a prescribed cycle time (period). The cycle time is dependent on the length of the radio frame, and is determined to be 20 ms by the 3GPP (Third-Generation Partnership Project). The
baseband processor 602 according to the first embodiment includes theprefetch request unit 11 a in the DSP 11. Theprefetch request unit 11 a requests thecache control unit 12 to prefetch at an interval between vocoder processes intermittently executed by the DSP 11. - More specifically, the
prefetch request unit 11 a requests a prefetch of the program data executed in a vocoder process that follows. For example, in a period after an encoding process is executed and before a decoding process that follows is executed, theprefetch request unit 11 a requests thecache control unit 12 to prefetch the program data used for the decoding process. Further, in a period after a decoding process is executed and before an encoding process that follows is executed, theprefetch request unit 11 a requests thecache control unit 12 to prefetch the program data used for the encoding process. - In response to the prefetch request from the
prefetch request unit 11 a, thecache control unit 12 prefetches, via thebus 50, the program data to be executed by the DSP 11 in a vocoder process that follows (i.e., the next-process program data) from themain memory 604. More specifically, when theprefetch request unit 11 a requests a prefetch, if thecache control unit 12 does not retain the next-process program data, then thecache control unit 12 prefetches the next-process program data from themain memory 604. - Accordingly, in performing a vocoder process that follows, in principle a cache miss does not occur and, hence, the cache hit rate can be drastically improved. Therefore, the DSP 11 can execute the vocoder process at high speeds. Note that, if the
cache control unit 12 already has the next-process program data when theprefetch request unit 11 a requests a prefetch, then it is not necessary to prefetch the next-process program data from themain memory 604. - Further, the program data to be executed by the DSP 11 in a vocoder process that follows is prefetched for each time. In other words, the program data stored in the
cache memory 12 a is successively rewritten to the program data to be executed by the DSP 11 in a vocoder process that follows. - Accordingly, the
cache memory 12 a is only required to be capable of retaining program data required for each vocoder process and, hence, the capacity of thecache memory 12 a can be reduced. As a result, thebaseband processor 602 can be reduced in size. The capacity of thecache memory 12 a may be, for example, 64 kB (kilobytes), which is the sum of a 32 kB capacity of an instruction cache and a 32 kB capacity of a data cache. From the viewpoint of miniaturization, the capacity of thecache memory 12 a is preferably 100 kB or less. - Note that the
cache memory 12 a is made up of the instruction cache in which program data is stored and the data cache in which data to be processed is stored. Here, the instruction cache corresponds to theROM 26 shown inFIG. 1 . Further, the data cache corresponds to theinternal memory 25 shown inFIG. 1 . - The post-processor 13 performs sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to PCM data received from the
audio IC 610, and transmits the processed PCM data to the DSP 11. On the other hand, the post-processor 13 performs sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to PCM data received from the DSP 11, and transmits the processed PCM data to theaudio IC 610. - The
modem 14 performs a modulation process and a demodulation process to data to be transmitted and received by thebaseband processor 602. - The
modem 14 performs a modulation process to transmission voice data (AMR data) received from the DSP 11 through carrier waves, and transmits the modulated transmission voice data to theRFIC 603. - On the other hand, the
modem 14 performs a demodulation process to reception voice data (AMR data) received from theRFIC 603 through carrier waves, and transmits the demodulated reception voice data to the DSP 11. - <Comparison with Comparative Examples as to Structure>
- Here, the
baseband processor 602 according to the first comparative example shown inFIG. 1 includes theinternal memory 25 and theROM 26. In contrast, thebaseband processor 602 according to the present embodiment shown inFIG. 6 includes the cache control unit 12 (cache memory 12 a) in place of theinternal memory 25 and theROM 26. - While the capacity of about 500 kB, which is the sum of the capacity of the
internal memory 25 and that of theROM 26, is involved with the first comparative example, the capacity of thecache memory 12 a according to the present embodiment is, for example, 64 kB, being approximately 1/10 as great as that in the first comparative example. Accordingly, thebaseband processor 602 according to the present embodiment can be greatly reduced in size as compared to the first comparative example. - Further, with the
baseband processor 602 according to the first comparative example, since the program for a vocoder process is stored in theROM 26, the program cannot be changed. On the other hand, with thebaseband processor 602 according to the present embodiment, since the program for a vocoder process is stored in the rewritablemain memory 604, the program can be changed. Further, the large-capacitymain memory 604 can be efficiently used. - Further, while the
baseband processor 602 according to the second comparative example shown inFIG. 2 does not include a prefetch request unit in theDSP 31, thebaseband processor 602 according to the first embodiment shown inFIG. 6 includes theprefetch request unit 11 a in the DSP 11. Theprefetch request unit 11 a requests thecache control unit 12 to prefetch between vocoder processes intermittently executed by the DSP 11. - The
cache control unit 12 prefetches the program data to be executed by the DSP 11 in a vocoder process that follows from themain memory 604, in response to the prefetch request from theprefetch request unit 11 a. Accordingly, in performing the vocoder process that follows, in principle a cache miss does not occur and, hence, the cache hit rate can be drastically improved as compared to the second comparative example. Accordingly, the DSP 11 can execute the vocoder process at fast speeds. - As described above, with the semiconductor device according to the present embodiment, the problems associated with the first and second comparative examples can be solved at the same time. That is, both a reduction in size of the semiconductor device and an increase in speed of each vocoder process can be achieved. Specifically, the semiconductor device according to the present embodiment can improve the cache hit rate (reduce the cache miss rate) by including the prefetch request unit in the DSP, despite the fact that miniaturization is achieved by employing the cache memory similarly to the second comparative example.
- With reference to the timing chart of
FIG. 7 , an explanation will be given of the operation of the semiconductor device according to the present embodiment shown inFIG. 6 .FIG. 7 is a timing chart for explaining the operation of the semiconductor device according to the first embodiment. The vertical axis shown in the very left side inFIG. 7 indicates time (ms). In the drawing, time elapses from the top side toward the bottom side. Further, four vertical lines being parallel to the vertical axis (time axis) indicate four processes, namely, a modem process, a vocoder process, voice processing (speaker side), and voice processing (microphone side), in order from the left side in the drawing. Further, single-headed arrows in the drawing represent flows of data. Double-headed arrows represent time sections. - As shown in
FIG. 7 , in the cycle time of, e.g., 20 ms, decoding of the reception voice signal and encoding of the transmission voice signal are executed. - Firstly, the first cycle (time points t1 to t7) will be explained.
- At time point t1, the
modem 14 receives a reception voice signal (AMR data) from the air interface. - Between time points t1 and t2, the
modem 14 executes a first demodulation process DEM1 to the reception voice signal (AMR data) (“MODEM PROCESS” inFIG. 7 ). - At time point t2, the DSP 11 receives the reception voice signal (AMR data) demodulated by the
modem 14. - Between time points t2 and t3, the DSP 11 executes a first decoding process DEC1 (the first vocoder process) (“VOCODER PROCESS” in
FIG. 7 ). By the first decoding process DEC1, the reception voice signal is converted from AMR data into PCM data. - At time point t3, the post-processor 13 receives the reception voice signal (PCM data) decoded by the DSP 11.
- Between time points t3 and t9 spanning 20 ms, the post-processor 13 executes sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to the reception voice signal (PCM data) (“VOICE PROCESSING SPEAKER SIDE” in
FIG. 7 ). The reception voice signal (PCM data) having undergone the voice processing is transmitted to thespeaker 612 via theaudio IC 610. - On the other hand, between time points t0 and t4 spanning 20 ms, the post-processor 13 executes sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to a transmission voice signal (PCM data) (“VOICE PROCESSING MICROPHONE SIDE” in
FIG. 7 ). Note that the transmission voice signal (PCM data) is generated by theaudio IC 610 from the voice detected by themicrophone 611. - At time point t4, the DSP 11 receives the transmission voice signal (PCM data) having been subjected to the voice processing by the post-processor 13.
- Between time points t4 and t5, the DSP 11 executes a first encoding process ENC1 (the second vocoder process) (“VOCODER PROCESS” in
FIG. 7 ). By the first encoding process ENC1, the transmission voice signal is converted from PCM data to AMR data. - At time point t5, the
modem 14 receives the transmission voice signal (AMR data) encoded by the DSP 11. - Between time points t5 and t6, the
modem 14 executes a first modulation process MOD1 to the transmission voice signal (AMR data) (“MODEM PROCESS” inFIG. 7 ). - At time point t6, the transmission voice signal (AMR data) modulated by the
modem 14 is transmitted to the air interface. - Then, at time point t7, the
modem 14 again receives a reception voice signal (AMR data) from the air interface. In this manner, the procedure from time points t1 to t7 (cycle time 20 ms) is repetitively executed. - In order to facilitate the understanding of the present invention, an explanation will be also given of the second cycle (Lime points t7 to t13). In the second cycle, the processes similar to those in the first cycle are executed.
- Specifically, between time points t7 and t8, the
modem 14 executes a second demodulation process DEM2 to the reception voice signal (AMR data) (“MODEM PROCESS” inFIG. 7 ). - At time point t8, the DSP 11 receives the reception voice signal (AMR data) demodulated by the
modem 14. - Between time points t8 and t9, the DSP 11 executes a second decoding process DEC2 (the third vocoder process) (“VOCODER PROCESS” in
FIG. 7 ). By the second decoding process DEC2, the reception voice signal is converted from AMR data into PCM data. - At time point t9, the post-processor 13 receives the reception voice signal (PCM data) decoded by the DSP 11.
- Between time points t9 and t14 spanning 20 ms, the post-processor 13 executes sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to the reception voice signal (PCM data) (“VOICE PROCESSING SPEAKER SIDE” in
FIG. 7 ). The reception voice signal (PCM data) having undergone the voice processing is transmitted to thespeaker 612 via theaudio IC 610. - On the other hand, between time points t4 and t10 spanning 20 ms, the post-processor 13 executes sound quality improvement processing (voice processing) such as noise cancellation, echo cancellation and the like to a transmission voice signal (PCM data) (“VOICE PROCESSING MICROPHONE SIDE” in
FIG. 7 ). - At time point t10, the DSP 11 receives the transmission voice signal (PCM data) having been subjected to the voice processing by the post-processor 13.
- Between time points t10 and t11, the DSP 11 executes a second encoding process ENC2 (the fourth vocoder process) (“VOCODER PROCESS” in
FIG. 7 ). By the second encoding process ENC2, the transmission voice signal is converted from PCM data to AMR data. - At time point t11, the
modem 14 receives the transmission voice signal (AMR data) encoded by the DSP 11. - Between time points t11 and t12, the
modem 14 executes a second modulation process MOD2 to the transmission voice signal (AMR data) (“MODEM PROCESS” inFIG. 7 ) - At time point t12, the transmission voice signal (AMR data) modulated by the
modem 14 is transmitted to the air interface. - Then, at time point t13, further again the
modem 14 receives a reception voice signal (AMR data) from the air interface. - Here, as shown in “VOCODER PROCESS” in
FIG. 7 , the decoding processes (DEC1, DEC2 and others) and the encoding processes (ENC1, ENC2 and the like) are repeatedly executed alternately. Further, the processes are executed intermittently. Specifically, inFIG. 7 , after the first decoding process DEC1 between time points t2 and t3 is executed, the first encoding process ENC1 between time points t4 and t5 is executed after a lapse of a period from time points t3 to t4. Further, after the first encoding process ENC1, the second decoding process DEC2 between time points t8 and t9 is executed after a lapse of a period from time points t5 to t8. Further, after the second decoding process DEC2, the second encoding process ENC2 between time points t10 and t11 is executed after a lapse of a period from time points t9 to t10. - In this manner, the VOCODER process (the decoding process and the encoding process) is intermittently executed by the DSP 11. Using such a characteristic of the VOCODER process, with the semiconductor device according to the present embodiment, between a decoding process and an encoding process being adjacent to each other, the DSP 11 requests the
cache control unit 12 to prefetch program data to be used in the process that follows. The prefetch requests (PREFERCH REQ.1 and others) are represented by stars inFIG. 7 . - Specifically, after the DSP 11 executes the first decoding process DEC1 (the first vocoder process), in a period (time points t3 to t4) before executing the first encoding process ENC1 (the second vocoder process), the DSP 11 outputs, from the
prefetch request unit 11 a to thecache control unit 12, the first prefetch request (PREFERCH REQ.1) for requesting a prefetch of the program data for the first encoding process ENC1 (the second vocoder process). - Further, after the DSP 11 executes the first encoding process ENC1 (the second vocoder process), in a period (time points t5 to t8) before executing the second decoding process DEC2 (the third vocoder process), the DSP 11 outputs, from the
prefetch request unit 11 a to thecache control unit 12, the second prefetch request (PREFERCH REQ.2) for requesting a prefetch of the program data for the second decoding process DEC2 (the third vocoder process). - Further, after the DSP 11 executes the second decoding process DEC2 (the third vocoder process), in a period (time points t9 to t10) before executing the second encoding process ENC2 (the fourth vocoder process), the DSP 11 outputs, from the
prefetch request unit 11 a to thecache control unit 12, the third prefetch request (PREFERCH REQ.3) for requesting a prefetch of the program data for the second encoding process ENC2 (the fourth vocoder process). - Here, with the semiconductor device according to the second comparative example shown in
FIG. 2 , since theDSP 31 does not include a prefetch request unit, as shown inFIG. 3 , theDSP 31 cannot request, in the period between a decoding process and an encoding process being adjacent to each other, thecache control unit 12 to prefetch the program data to be used in the process that follows. Accordingly, a cache miss tends to occur, and any vocoder process executed by theDSP 31 may possibly delay. - In contrast, with the
baseband processor 602 according to the first embodiment shown inFIG. 6 , the DSP 11 includes theprefetch request unit 11 a. Theprefetch request unit 11 a requests thecache control unit 12 to prefetch between vocoder processes intermittently executed by the DSP 11. Thecache control unit 12 prefetches from themain memory 604 the program data to be executed by the DSP 11 in a vocoder process that follows, in response to any prefetch request (PREFERCH REQ.1 and others) from theprefetch request unit 11 a. Accordingly, in performing the vocoder process that follows (one of a decoding process and an encoding process), in principle a cache miss does not occur and, hence, the cache hit rate can be drastically improved as compared to the second comparative example. Accordingly, the DSP 11 can execute the vocoder process at fast speeds. - Further, as can be also seen from the prefetch requests (PREFERCH REQ.1 and others) shown in
FIG. 7 , the program data to be executed by the DSP 11 in a vocoder process that follows is prefetched for each time. In other words, the program data stored in thecache memory 12 a is successively rewritten to the program data to be executed by the DSP 11 in the vocoder process that follows. Accordingly, thecache memory 12 a is only required to be capable of retaining program data required for each vocoder process and, hence, the capacity of thecache memory 12 a can be reduced. As a result, thebaseband processor 602 can be reduced in size. - In the foregoing, while the invention made by the inventors has been specifically explained based on the embodiments, it goes without saying that the present invention is not limited to the above-described embodiments, and that various modifications can be made within the range not departing from the gist of the present invention.
- For example, though the
baseband processor 602 executes the vocoder process in the embodiments described above, theapplication processor 601 may execute the vocoder process. - While the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention can be practiced with various modifications within the spirit and scope of the appended claims and the invention is not limited to the examples described above.
- Further, the scope of the claims is not limited by the embodiments described above.
- Furthermore, it is noted that, Applicant's intent is to encompass equivalents of all claim elements, even if amended later during prosecution.
Claims (10)
1-20. (canceled)
21. A semiconductor device, comprising:
a signal processing unit including a prefetch request unit; and
a memory that reads data stored in an external memory via a bus,
wherein, after the signal processing unit executes an encoding process and before the signal processing unit executes a decoding process, the prefetch request unit requests the memory to prefetch program data for the decoding process from the external memory,
wherein, after the signal processing unit executes the decoding process and before the signal processing unit executes the encoding process, the prefetch request unit requests the memory to prefetch program data for the encoding process from the external memory, and
wherein the encoding process encodes a transmission voice signal and the decoding process decodes a reception voice signal.
22. The semiconductor device according to claim 21 , wherein, when the prefetch request unit prefetches the program data, the memory stores the program data from the external memory if the program data is absent in the memory.
23. The semiconductor device according to claim 21 , wherein the memory has a capacity of 100 kilobytes or less.
24. The semiconductor device according to claim 21 , further comprising a modem that executes a modulation process on the transmission voice signal after encoding, and that executes a demodulation process on the reception voice signal before decoding.
25. An electronic device, comprising:
a signal processing unit including a prefetch request unit;
a first memory; and
a second memory that reads decoding program data and encoding program data stored in an external memory via a bus,
wherein, after the signal processing unit executes an encoding process and before the signal processing unit executes a decoding process, the prefetch request unit requests the second memory to prefetch program data for the decoding process from the first memory,
wherein, after the signal processing unit executes the decoding process and before the signal processing unit executes the encoding process, the prefetch request unit request the second memory to prefetch program data for the encoding process from the first memory, and
wherein the encoding process encodes a transmission voice signal and the decoding process decodes a reception voice signal.
26. The electronic device according to claim 25 , wherein, when the prefetch request unit requests the second memory to prefetch the program data, the second memory prefetches the program data from the first memory if the program data is absent in the second memory.
27. The electronic device according to claim 25 , wherein the second memory has a capacity of 100 kilobytes or less.
28. The electronic device according to claim 25 , wherein the first memory is rewritable.
29. The electronic device according to claim 25 , wherein the first memory is a DRAM.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/987,628 US20160118052A1 (en) | 2012-08-08 | 2016-01-04 | Vocoder processing method, semiconductor device, and electronic device |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012176254A JP2014035431A (en) | 2012-08-08 | 2012-08-08 | Vocoder processing method, semiconductor device, and electronic device |
JP2012-176254 | 2012-08-08 | ||
US13/925,922 US9257123B2 (en) | 2012-08-08 | 2013-06-25 | Vocoder processing method, semiconductor device, and electronic device |
US14/987,628 US20160118052A1 (en) | 2012-08-08 | 2016-01-04 | Vocoder processing method, semiconductor device, and electronic device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/925,922 Continuation US9257123B2 (en) | 2012-08-08 | 2013-06-25 | Vocoder processing method, semiconductor device, and electronic device |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160118052A1 true US20160118052A1 (en) | 2016-04-28 |
Family
ID=50066831
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/925,922 Expired - Fee Related US9257123B2 (en) | 2012-08-08 | 2013-06-25 | Vocoder processing method, semiconductor device, and electronic device |
US14/987,628 Abandoned US20160118052A1 (en) | 2012-08-08 | 2016-01-04 | Vocoder processing method, semiconductor device, and electronic device |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/925,922 Expired - Fee Related US9257123B2 (en) | 2012-08-08 | 2013-06-25 | Vocoder processing method, semiconductor device, and electronic device |
Country Status (2)
Country | Link |
---|---|
US (2) | US9257123B2 (en) |
JP (1) | JP2014035431A (en) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02268021A (en) * | 1989-04-10 | 1990-11-01 | Fujitsu Ltd | Signal encoder |
JP3292522B2 (en) * | 1992-11-25 | 2002-06-17 | 京セラ株式会社 | Mobile phone |
US5784532A (en) * | 1994-02-16 | 1998-07-21 | Qualcomm Incorporated | Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system |
JPH09259040A (en) | 1996-03-25 | 1997-10-03 | Sharp Corp | Cache memory device |
EP0992916A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
US6732235B1 (en) * | 1999-11-05 | 2004-05-04 | Analog Devices, Inc. | Cache memory system and method for a digital signal processor |
US7089390B2 (en) * | 2001-02-16 | 2006-08-08 | Broadcom Corporation | Apparatus and method to reduce memory footprints in processor architectures |
US7187663B2 (en) * | 2001-10-09 | 2007-03-06 | Schmidt Dominik J | Flexible processing system |
GB2391337B (en) * | 2002-04-26 | 2005-06-15 | Motorola Inc | Instruction cache and method for reducing memory conflicts |
US7640400B2 (en) * | 2007-04-10 | 2009-12-29 | International Business Machines Corporation | Programmable data prefetching |
US8781836B2 (en) * | 2011-02-22 | 2014-07-15 | Apple Inc. | Hearing assistance system for providing consistent human speech |
-
2012
- 2012-08-08 JP JP2012176254A patent/JP2014035431A/en active Pending
-
2013
- 2013-06-25 US US13/925,922 patent/US9257123B2/en not_active Expired - Fee Related
-
2016
- 2016-01-04 US US14/987,628 patent/US20160118052A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20140046657A1 (en) | 2014-02-13 |
JP2014035431A (en) | 2014-02-24 |
US9257123B2 (en) | 2016-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210043169A1 (en) | Display driving method and electronic device including the display driver integrated circuit for supporting the same | |
CN105632491B (en) | Method and electronic device for speech recognition | |
EP3091719B1 (en) | Method for short-range wireless communication and electronic device using the same | |
US20170116987A1 (en) | Electronic device and method for executing function using speech recognition thereof | |
US10373545B2 (en) | Frame rate control method and electronic device thereof | |
EP2891959A2 (en) | Method and apparatus for controlling electronic devices in proximity | |
AU2018273505B2 (en) | Method for capturing fingerprint and associated products | |
WO2015035870A1 (en) | Multiple cpu scheduling method and device | |
CN108234876B (en) | Tracking focusing method, terminal and computer readable storage medium | |
KR20150022335A (en) | Method and apparatus for performing communication of electronic device in mobile communicatino system | |
KR20150127989A (en) | Apparatus and method for providing user interface | |
KR20150051816A (en) | Method for operating message application and electronic device implementing the same | |
CN107888768B (en) | Unlocking control method, terminal and computer readable storage medium | |
KR20160024425A (en) | Electrical Device having Side Touch Area | |
US20200374386A1 (en) | Photographing Method and Terminal | |
KR102157858B1 (en) | Apparatas and method for reducing a power consumption in an electronic device | |
KR102134420B1 (en) | Apparatas and method for measuring a charge of location in the way of low power in an electronic device | |
CN108134869A (en) | Breath screen display methods, mobile terminal and computer readable storage medium | |
JP2014529146A (en) | Method and apparatus for controlling a central processing unit | |
KR102157338B1 (en) | Apparatas and method for conducting a multi sensor function in an electronic device | |
CN109711830B (en) | Quick display method and device for two-dimension code payment, mobile terminal and storage medium | |
CN108769310B (en) | Electronic device | |
US20170147188A1 (en) | Apparatus and Method for Rotating 3D Objects on a Mobile Device Screen | |
WO2015172719A1 (en) | Video shooting method and apparatus | |
US20150070360A1 (en) | Method and mobile terminal for drawing sliding trace |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |