KR20020011408A - Method of profiling disparate communications and signal processing standard and services - Google Patents

Method of profiling disparate communications and signal processing standard and services Download PDF

Info

Publication number
KR20020011408A
KR20020011408A KR1020017014175A KR20017014175A KR20020011408A KR 20020011408 A KR20020011408 A KR 20020011408A KR 1020017014175 A KR1020017014175 A KR 1020017014175A KR 20017014175 A KR20017014175 A KR 20017014175A KR 20020011408 A KR20020011408 A KR 20020011408A
Authority
KR
South Korea
Prior art keywords
signal processing
communication
functions
standards
programmable
Prior art date
Application number
KR1020017014175A
Other languages
Korean (ko)
Other versions
KR100743882B1 (en
Inventor
서브라마니안래비
Original Assignee
모픽스 테크놀로지 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모픽스 테크놀로지 아이엔씨 filed Critical 모픽스 테크놀로지 아이엔씨
Publication of KR20020011408A publication Critical patent/KR20020011408A/en
Application granted granted Critical
Publication of KR100743882B1 publication Critical patent/KR100743882B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service

Abstract

이종 통신 및 신호 처리 표준을 프로파일링하기 위한 방법은, 분석을 위해 표준 세트를 선택하는 것으로 시작한다(32). 다음에, 표준 세트에 의해 수행된 함수들이 식별되고(34), 순위가 매겨진다(36). 높은 순위의 함수의 세트가 커널로서 구현되고(38), 커널의 세트는 통신 및 신호 처리 표준의 세트중의 하나의 구현을 가능하게 하는 프로그래머블 프로세서를 형성한다(42).The method for profiling heterogeneous communication and signal processing standards begins with selecting a set of standards for analysis (32). Next, the functions performed by the standard set are identified (34) and ranked (36). A set of high ranking functions is implemented as a kernel (38), and the set of kernels form a programmable processor (42) that enables the implementation of one of a set of communication and signal processing standards.

Description

이종 통신, 신호 처리 표준 및 서비스의 프로파일링 방법{METHOD OF PROFILING DISPARATE COMMUNICATIONS AND SIGNAL PROCESSING STANDARD AND SERVICES}METHOOD OF PROFILING DISPARATE COMMUNICATIONS AND SIGNAL PROCESSING STANDARD AND SERVICES}

신호처리 프로토콜 및 표준은 무선 통신 장치 및 서비스의 발전에 따라 확산되고 있다. 현재의 통신 프로토콜은 주파수 분할 멀티플렉싱(FDM), 시분할 다중 액세스(TDMA), 및 코드 분할 다중 액세스(CDMAA)를 포함한다. 미국, 유럽, 일본 및 한국 모두는 각각의 통신 프로토콜을 위한 그 자신의 표준을 개발하였다. TDMA표준은 인터림 표준-136(IS-136), 이동시스템을 위한 글로벌 시스템(GSM), 및 범용 패킷 무선 서비스(GPRS)를 포함한다. CDMA 표준은 전세계 위치탐지 시스템(GPS), 인터림 표준-95(IS-95), 및 광대역 CDMA(WCDMA)를 포함한다. 무선 통신 서비스는페이징, 음성 및 데이터 어플리케이션을 포함한다.Signal processing protocols and standards are expanding with the development of wireless communication devices and services. Current communication protocols include frequency division multiplexing (FDM), time division multiple access (TDMA), and code division multiple access (CDMAA). The United States, Europe, Japan, and Korea have all developed their own standards for each communication protocol. TDMA standards include Interlim Standard-136 (IS-136), Global System for Mobile Systems (GSM), and General Packet Radio Service (GPRS). CDMA standards include Global Positioning System (GPS), Interlim Standard-95 (IS-95), and Wideband CDMA (WCDMA). Wireless communication services include paging, voice and data applications.

최근까지, 무선 통신 장치는 단일 통신 표준을 지원하였다. 이론적으로, 무선 통신 장치는 어플리케이션을 위한 최소 성능 조건을 명시하는 기능 블럭 세트를 실현하도록 프로그램될 범용 디지털 신호 프로세서(DSP)를 사용하여 설계될 수 있다. 이들 최소 성능 조건을 달성하기 위해, 시스템 설계자들은 신호를 엔코드, 로직 및 디코드하기 위해 알고리즘(산술 시퀀스, 트리고노메트릭(trigonometric), 로직, 제어, 메모리 액세스, 인덱싱 연산 등)을 설계한다. 이들 알고리즘들은 전형적으로 소프트웨어로 명시된다. 타겟 성능 명세를 달성하는 알고리즘 세트를 집단적으로 실행가능한 명세(executable specification)라고 한다. 이 실행가능한 명세는 전형적으로 컴파일러의 사용을 거쳐 DSP 상에서 컴파일되고 실행된다. 범용 DSP의 증가하는 연산력과 속도 및 감소하는 메모리 비용 및 크기에도 불구하고, 설계자들은 범용 DSP를 표준 특정 어플리케이션용 실행가능한 명세로 프로그래밍함으로써 비용, 성능 및 속도 조건을 충족시킬 수 없었다.Until recently, wireless communication devices supported a single communication standard. In theory, a wireless communication device can be designed using a general purpose digital signal processor (DSP) to be programmed to realize a set of functional blocks that specify minimum performance requirements for an application. To achieve these minimum performance requirements, system designers design algorithms (arithmetic sequences, trigonometric, logic, control, memory access, indexing operations, etc.) to encode, logic, and decode signals. These algorithms are typically specified in software. The set of algorithms that achieve a target performance specification is referred to collectively as an executable specification. This executable specification is typically compiled and executed on the DSP through the use of a compiler. Despite the increasing computational power, speed, and decreasing memory cost and size of general-purpose DSPs, designers have been unable to meet cost, performance, and speed requirements by programming general-purpose DSPs into executable specifications for standard-specific applications.

부수적인 전용 고속 처리가 요구되고, 어플리케이션 특정 프로세서를 사용하여 전통적으로 달성된 필요성을 요구된다. 본 발명에서 사용되는 바와 같이, 어플리케이션 특정 프로세서는 어플리케이션에 맞게 만들어진 알고리즘 세트의 효율적인 실행(성능, 영역, 유연성)에서 뛰어난 프로세서이다. 어플리케이션 특정 프로세서는 의도하는 어플리케이션 공간 외부의 알고리즘에 대해서는 그다지 큰 성과가 없다. 다른 말로 표현하면, 어플리케이션 특정 프로세서의 개선된 속도 및 성능 효율성은 기능 유연성을 희생시키게 된다.Additional dedicated high-speed processing is required, and needs traditionally achieved using application specific processors. As used herein, an application specific processor is an excellent processor in the efficient execution (performance, scope, flexibility) of a set of algorithms tailored to the application. Application-specific processors do not do much for algorithms outside their intended application space. In other words, the improved speed and performance efficiency of an application-specific processor sacrifices functionality flexibility.

이제 무선 통신을 지원하는 무선 통신 장치, 및 다수의 표준에 걸친 서비스의 변화하는 등급에 대한 필요성이 존재한다. 이 문제에 대한 오늘날의 해결방법은 반드시 다수의 어플리케이션 특정 프로세서를 접속시켜 다수 표준 동작을 얻음으로써, 설계 자원, 설계 시간, 및 실리콘 면적 면에서 비용을 부가하게 된다. 도 1은 이와 같은 접근 방법에 따라 설계된 무선 통신 장치의 블럭 형태도이다. 도 1은 메모리(24)에 액세스하는 마이크로컨트롤러(20) 및 DSP(22)를 구비한다. 이 무선 통신 장치는 또한, AMPS 회로(26A), CDMA 회로(26B), IS-136 회로(26C), 및 GSM 회로(26D)를 포함하는 어플리케이션 특정 고정 함수 회로(26A-26D)의 세트를 포함한다.There is now a need for a wireless communication device that supports wireless communication, and a changing class of services across multiple standards. Today's solution to this problem necessarily involves connecting multiple application-specific processors to achieve multiple standard operations, which adds cost in terms of design resources, design time, and silicon area. 1 is a block diagram of a wireless communication device designed according to this approach. 1 includes a microcontroller 20 and a DSP 22 that access memory 24. This wireless communication device also includes a set of application specific fixed function circuits 26A-26D including AMPS circuits 26A, CDMA circuits 26B, IS-136 circuits 26C, and GSM circuits 26D. do.

상기에 비추어, 신호 프로세서의 구현을 용이하게 하여 비용, 면적 및 성능 효율 방법에서 이종 통신 및 신호 처리 표준을 제공하기 위해 이종 통신 및 신호 처리 표준을 파일링하기 위한 기술을 제공함으로써, 어플리케이션 특정 통신 및 신호 프로세서를 제거하는 것이 극히 바람직하다.In view of the above, by providing a technology for filing heterogeneous communication and signal processing standards to facilitate the implementation of a signal processor and to provide heterogeneous communication and signal processing standards in a cost, area and performance efficiency method, It is extremely desirable to remove the processor.

본 발명은 총체적으로 다중 함수(multi-functions) 디지털 장치의 설계에 관한 것이다. 보다 상세하게는, 본 발명은 어플리케이션 특정 프로세서의 개발이 용이하도록, 이종(disparate) 통신, 및 신호 처리 표준 및 서비스의 프로파일링(profiling) 기술에 관한 것이다.The present invention relates generally to the design of multi-functions digital devices. More specifically, the present invention relates to disparate communication and profiling techniques for signal processing standards and services to facilitate the development of application specific processors.

본 발명을 보다 잘 이해하기 위해서는, 첨부하는 도면을 참조한 다음의 상세한 설명을 참조하여야 한다.In order to better understand the present invention, reference should be made to the following detailed description with reference to the accompanying drawings.

도 1은 어플리케이션 특정 프로세서의 세트를 이용하는 종래 기술의 통신 및 신호 처리 시스템을 도시하는 도면.1 illustrates a prior art communication and signal processing system utilizing a set of application specific processors.

도 2는 본 발명의 실시예에 따른 다수의 표준에 걸친 통신 및 신호 처리 함수를 프로파일링하는 단계를 도시하는 도면.FIG. 2 illustrates profiling communication and signal processing functions across multiple standards in accordance with an embodiment of the present invention. FIG.

도 3은 수신기의 표준 함수(canonial functions) 블럭도.3 is a block diagram of canonial functions of a receiver.

도 4는 파라메타 추정기를 구현하기 위한 서브함수 세트를 도시하는 도면.4 illustrates a set of subfunctions for implementing a parameter estimator.

도 5는 연산 세기에 따라 서브 함수의 순위를 매기는 테이블을 도시하는 도면.FIG. 5 illustrates a table for ranking sub-functions according to computational strength. FIG.

도 6은 함수를 구현하기 위한 커널을 도시하는 도면.6 illustrates a kernel for implementing a function.

도 7A는 비터비 알고리즘의 덧셈-비교-선택 루프의 구성요소를 식별하기 위한 방법의 제1 부분도.7A is a first partial diagram of a method for identifying components of an add-compare-selection loop of the Viterbi algorithm.

도 7B는 비터비 알고리즘의 덧셈-비교-선택 루프의 구성요소를 식별하기 위한 방법의 제 부분도.FIG. 7B is a first partial view of a method for identifying components of an add-compare-select loop of the Viterbi algorithm. FIG.

도 7C는 비터비 알고리즘의 덧셈-비교-선택 루프의 구성요소를 식별하기 위한 방법의 제3 부분도.7C is a third partial diagram of a method for identifying components of an add-compare-select loop of the Viterbi algorithm.

도 8은 유한 임펄스 응답 필터(FIR)용 연산의 임계 시퀀스를 식별하기 위한 방법을 도시하는 도면.8 illustrates a method for identifying a critical sequence of operations for a finite impulse response filter (FIR).

도 9는 표준 함수를 프로파일링하는 프로세스를 도시하는 도면.9 illustrates a process for profiling a standard function.

도 10은 프로그래머블 다중 표준 어플리케이션 특정 프로세스를 도시하는 도면.10 illustrates a programmable multi-standard application specific process.

도 11은 소정의 어플리케이션에 대한 커널 간의 필요한 프로그래머블 상호접속의 예를 도시하는 도면.11 illustrates an example of the required programmable interconnect between kernels for a given application.

도면 전체에 걸쳐 대응하는 도면에는 유사한 참조번호가 부여된다.Like reference numerals refer to corresponding drawings throughout the drawings.

본 발명의 방법은, 이종 통신 및 신호 처리를 프로파일하여 이종 통신 신호 처리 표준을 실행하도록 프로그램될 수 있는 프로그래머블 프로세서를 정의한다. 이 방법은 분석을 위해 통신 및 신호 처리 표준의 세트를 선택하고, 선택된 통신 및 신호 처리 표준 세트에 공통인 함수를 식별하는 단계를 포함한다. 그후, 공통 함수들은 연산 세기에 따라 순위가 매겨진다. 이 순위를 사용하여, 커널로서 구현하기 위해 높은 연산 세기 함수의 세트가 선택되는데, 커널의 세트는 통신 및 신호 처리 표준 세트중 임의의 세트가 구현될 수 있는 프로그래머블 프로세서를 형성한다.The method of the present invention defines a programmable processor that can be programmed to profile heterogeneous communication and signal processing to execute a heterogeneous communication signal processing standard. The method includes selecting a set of communication and signal processing standards for analysis and identifying a function common to the selected set of communication and signal processing standards. The common functions are then ranked according to the computation strength. Using this ranking, a set of high computational strength functions is selected to implement as a kernel, which sets the programmable processor on which any set of communication and signal processing standards can be implemented.

본 발명은, 어플리케이션 특정 프로세서의 설계에 사용하기 위한 최적의 데이터경로 및 제어 상태 머신의 식별을 가능하게 한다. 이 방법은 기존의 마이크로프로세서 및 디지털 신호 프로세서에 의해 어설프게 실행되는 함수들을 식별하는데 사용될 수 있다. 이 기술은 또한 함수들을 효율적으로 구현하는데 필요한 새로운 데이터경로 및 상태 머신을 정의할 수 있다. 본 발명의 방법은, 많은 어플리케이션 또는 표준에 걸쳐 함수들을 분석하는 체계적인 방법을 제공하여, 프로세서 아키텍춰을 정의하는 시간을 줄이고, 다중 표준 어플리케이션의 디지털 신호 처리를 위한 새로운 프로세서의 설계에서 가능한 설계 재사용의 양을 증가시킨다.The present invention enables identification of optimal datapaths and control state machines for use in the design of application specific processors. This method can be used to identify functions that are tinkerly executed by existing microprocessors and digital signal processors. This technique can also define new datapaths and state machines needed to implement functions efficiently. The method of the present invention provides a systematic method for analyzing functions across many applications or standards, reducing the time to define processor architectures, and reducing the amount of design reuse available in the design of new processors for digital signal processing in multiple standard applications. Increase.

도 2는 프로파일된(profiled) 신호 처리 표준 또는 어플리케이션과 연관된 알고리즘을 효율적으로 실행하도록 프로그램될 수 있는 프로세서를 설계하기 위해, 많은 신호 처리 어플리케이션에 걸쳐 함수들을 프로파일하고 분석하기 위한 본 발명의 방법의 단계(30)을 도시한다. 도 2의 프로세스는 프로세서 아키텍춰를 정의하는 시간을 줄이고, 다수 표준 어플리케이션의 디지털 신호 처리를 위한 새로운 프로세서의 설계에서 가능한 설계 재사용의 양을 증가시킨다. 간단히 말해서, 본 발명의 방법은, 분석을 위한, 통신, 및 신호 처리 표준 및 서비스의 세트의 선택에서 시작한다. 다음에, 선택된 세트의 통신, 및 신호 처리 표준에 공통인 함수들이 식별된다. 그후, 공통 함수들은 연산 세기에 따라 순위가 매겨지고, 프로그래머블 커널로서 구현하기 위해 높은 연산 세기 함수 세트가 선택되는데, 이들 커널은 프로그래머블 다중 표준 프로세서를 형성한다.2 illustrates the steps of the method of the present invention for profiling and analyzing functions over many signal processing applications to design a processor that can be programmed to efficiently execute an algorithm associated with a profiled signal processing standard or application. 30 is shown. The process of Figure 2 reduces the time to define the processor architecture and increases the amount of design reuse that is possible in the design of new processors for digital signal processing in many standard applications. In short, the method of the present invention begins with the selection of a set of communications and signal processing standards and services for analysis. Next, the functions common to the selected set of communications and signal processing standards are identified. The common functions are then ranked according to the computational strength and a high set of computational strength functions are chosen to implement as a programmable kernel, which forms a programmable multi-standard processor.

먼저, 단계(32) 동안, 가능한 표준의 세트로부터 분석을 위해 통신 및 신호 처리 표준의 세트가 선택된다. 본 발명에 따라 임의의 세트의 표준이 선택될 수 있지만, 선택된 표준들은 설계되고 있는 프로그래머블 프로세서를 위한 타겟 커널(target kernel)에 영향을 받을 수 있다. 예를 들어, 목표로 하는 시장은 일본에서 판매하도록 의도된 무선 이동 장치의 제조자일 수 있다.First, during step 32, a set of communication and signal processing standards is selected for analysis from a set of possible standards. Although any set of standards can be selected in accordance with the present invention, the selected standards can be affected by the target kernel for the programmable processor being designed. For example, the target market may be a manufacturer of a wireless mobile device intended for sale in Japan.

A. 공통 표준 함수(canonial function) 식별A. Identify common canonial functions

여전히 도 2를 참조하면, 통신 및 신호 처리 표준의 세트가 선택되고, 공통 함수의 세트가 단계(34) 동안 선택된 어플리케이션에 대해 식별된다. 예로서, 도 3은 선택된 어플리케이션이 수신기의 기저대역 프로세서(51)일 때의 함수 블럭을도시한다. 구현될 함수 블럭들은 디지털 프런트-엔드 프로세서(52), 검출기/복조기(54), 기호 디코더(56), 소스 디코더(58), 및 파라메타 추정기(60)이다. 기저대역 프로세서(51)의 함수 블럭의 각각에 대해, 각각의 선택된 통신 및 신호 처리 표준은 다수의 서브 함수를 지정할 것이다. 예를 들어, 다수의 표준을 위한 파라메타 추정기(60)를 구현하기 위해 서브 함수 세트를 테이블 형태로 도시하는 4를 골고려한다. 많은 파라메타 추정 서브 함수들은 다수의 표준에 공통이다. 예를 들어, IS-136, GSM, GPRS, EDGE, IS-95B, IS-2000 및 WCDMA-FDD 모두는 원도우드 평균 에너지 추정기를 이용한다.Still referring to FIG. 2, a set of communication and signal processing standards is selected, and a set of common functions is identified for the selected application during step 34. By way of example, FIG. 3 shows a function block when the selected application is the baseband processor 51 of the receiver. The function blocks to be implemented are digital front-end processor 52, detector / demodulator 54, symbol decoder 56, source decoder 58, and parameter estimator 60. For each of the function blocks of the baseband processor 51, each selected communication and signal processing standard will specify a number of subfunctions. For example, consider 4, which shows a set of sub-functions in table form, to implement a parameter estimator 60 for multiple standards. Many parameter estimation subfunctions are common to many standards. For example, IS-136, GSM, GPRS, EDGE, IS-95B, IS-2000, and WCDMA-FDD all use a Windows average energy estimator.

B. 순위 함수B. Rank function

도 2는 단계(36) 동안, 함수 블럭들이 범용 DSP의 프로그래밍을 거쳐 구현하도록 적합하지 않게 된 함수들을 식별하기 위해 순위가 매겨진 것을 도시한다. 다른 말로 표현하면, 함수들은 어플리케이션 특정 다중 표준 프로세서를 거쳐 구현하는데 적합한 함수들을 식별하도록 순위가 매져진다. 이는 선택된 통신 및 신호 처리 표준에 걸쳐 각각의 함수에 대한 실행가능한 명세를 발생시키는 것으로 시작하는 다중 단계 프로세스이다. 바람직하게, 실행가능한 명세는 C 또는 C++ 언어를 사용하여 코드화된다. 각각의 표준을 위한 실행가능한 명세는 많은 매트릭스를 사용하여 순위가 매겨진다. 한가지 유용한 매트릭스는 각각의 함수의 연산 세기(computational intensity)이다. 각 함수의 연산 세기는 초당 백만 연산(millions-of-operations-per-second, MOPS)의 연관된 수를 양자화하기 위해 각각의 실행가능한 명세의 동적인 프로파일링을 사용하여 결정될 수 있다. 이는시뮬레이션과 자동화 테스트 벤치를 통해 실행될 수 있다. 그 결과는 어떠한 함수들이 최고의 MOPS를 갖는지를 데모하는 테이블로 제시될 수 있다. 이와 같은 특성화는 범용 프로세서 또는 특정 디지털 신호 프로세서 또는 마이크로프로세서와 관련하여 이루어질 수 있다. 만일 특성화가 특정 프로세서와 관련하여 이루어진다면, 실행가능한 명세는 프로파일링 목적을 위해 해당 프로세스 상에서 실행되어야 한다. 이와 같은 실시로부터의 결과인 테이블은 네티브 프로세스(native processor)의 명령어 세트 아키텍춰, 데이터경로 또는 메모리 대역폭이 반드시 적합하지 않는 함수를 도시한다.FIG. 2 shows that during step 36, function blocks are ranked to identify functions that are not suitable for implementation through programming of a general purpose DSP. In other words, functions are ranked to identify the functions that are suitable for implementation across application-specific multi-standard processors. This is a multi-step process that begins with generating an executable specification for each function across selected communication and signal processing standards. Preferably, the executable specification is coded using the C or C ++ language. The executable specification for each standard is ranked using many matrices. One useful matrix is the computational intensity of each function. The computation strength of each function may be determined using dynamic profiling of each executable specification to quantize the associated number of million-of-operations-per-second (MOPS). This can be done through simulation and automated test benches. The result can be presented as a table demonstrating which functions have the best MOPS. Such characterization may be made in connection with a general purpose processor or a specific digital signal processor or microprocessor. If the characterization is made with respect to a particular processor, the executable specification must be executed on that process for profiling purposes. The resulting table from this implementation illustrates a function in which the instruction set architecture, datapath, or memory bandwidth of the native processor is not necessarily suitable.

도 5는 단일 표준, 및 기저대역 프로세서(51)의 서브함수의 서브셋을 위한 MOPS를 포함하는 이와 같은 테이블의 일부를 도시한다(도 3 참조). 각 서브 함수의 연산 세기는 기저대역 프로세서(51)에 의해 지원되는 채널의 서브셋에 대해 표시된다. 도 5는 수신(Rx) 필터가 열거된 서브함수의 가장 연상적으로 강하고, 따라서 프로그래밍 어플리케이션 특정 프로세서에서 구현하는데 가장 적합하다는 것을 도시한다. 도 5는 또한 복소수 디스프레더가 연산적으로 세며, 프로그래머블 어플리케이션 특정 프로세서에 적합하다는 것을 가리킨다. 연산적으로 세지만, 도 5에 도시되어 있지 않은 다른 서브 함수들은 레이크(RAKE) 수신기, 터보 코더, 추론 소거기, 다중 사용자 검출기 및 검색이다.FIG. 5 shows a portion of such a table including MOPS for a single standard and a subset of subfunctions of baseband processor 51 (see FIG. 3). The computational strength of each subfunction is indicated for a subset of the channels supported by the baseband processor 51. 5 shows that the receive (Rx) filter is the most associatively strong of the enumerated subfunctions, and therefore best suited for implementation in a programming application specific processor. 5 also indicates that the complex spreader is computationally counting and suitable for a programmable application specific processor. Other subfunctions that are computationally counting, but not shown in FIG. 5, are a RAKE receiver, turbo coder, inference canceller, multi-user detector, and search.

선택된 세트의 통신 및 신호 처리 표준에 걸쳐 함수들의 순위를 매기는데 사용될 수 있는 다른 매트릭스는 전력 소비 및 실리콘 면적을 포함한다. 각각의 함수의 전력 소비를 결정하는 것은 연산 종류 세트 각각에 대해 함수에 의해 소비된시간양을 식별하는 것을 필요로 한다. 연산 종류 세트는 이동-및-전달(move-and-transfer), 루프-및-제어(loop-and control), 트리고노매트릭(trigonometric) 및 산술을 포함한다. 연산의 각 종류는 연산당 약간의 mW를 소비한다. 따라서, 각 함수의 총 전력 소비, 및 각 종류의 연산 수는 선택된 세트의 통신 및 신호 처리 표준에 걸쳐 결정될 수 있다. 이와 같은 분석은 레이크 수신기가 다른 서브 함수와 비교하여 많은 양의 전력을 소비하는 경향이 있는 것을 드러낼 가능성이 있다. 실행가능한 코드를 저장하는데 필요한 실리콘 면적은, 각각의 실행가능한 명세에 대해 필요한 연산의 수와 종류를 카운트한 다음, 각각의 연산자에 대해 실리콘 면적에서의 비용을 도시하는 비용 테이블을 사용함으로써, 선택된 세트의 통신 및 신호 처리 표준에 걸쳐 각 함수에 대해 추정될 수 있다. 다시한번, 레이크 수신기는 다른 서브함수보다는 실행가능한 코드를 저장하기 위해 보다 많은 게이트를 필요로 할 수 있다.Other matrices that can be used to rank the functions across a selected set of communication and signal processing standards include power consumption and silicon area. Determining the power consumption of each function requires identifying the amount of time spent by the function for each set of operation types. The set of operation types includes move-and-transfer, loop-and-control, trigonometric and arithmetic. Each kind of operation consumes some mW per operation. Thus, the total power consumption of each function, and the number of operations of each kind, can be determined over a selected set of communication and signal processing standards. This analysis is likely to reveal that rake receivers tend to consume large amounts of power compared to other subfunctions. The silicon area required to store executable code is selected by counting the number and type of operations required for each executable specification, and then using a cost table showing the cost in silicon area for each operator. Can be estimated for each function across the communication and signal processing standards. Once again, the rake receiver may require more gates to store executable code than other subfunctions.

단계(38) 동안 선택된 세트의 매트릭스를 사용하여 함수들의 순위가 매져진 후에(도 2 참조), 구현 및 추가적인 분석을 위해 높은 순위의 함수들의 세트가 선택된다.After the functions are ranked using the selected set of matrices during step 38 (see FIG. 2), a set of higher rank functions is selected for implementation and further analysis.

C. 높은 순위 함수들의 분석 및 위임C. Analysis and Delegation of High Rank Functions

다시 도시 2를 참조하면, 단계(40) 동안, 선택된 세트의 함수들은 함수의 모든 인스턴스에 걸쳐 공통인 연산 커널을 식별하기 위해 다수의 표준에 걸쳐 분석된다. (본 발명에서 설명하는 바와 같이, 커널은, 제어-데이터플로우 그래프에 의해 표현될 수 있고 소프트웨어 또는 하드웨어로 구현될 수 있는 연산의 시퀀스를 의미한다. 도 6은 세가지 모듈: 시퀀서(66), 로컬 메모리(67) 및 파라메타가능하고 컨피그가능한 산술 논리 유닛(68)를 포함하는 커널(65)을 블럭 형태로 도시한다.) 다른 말로 표현하여, 단계(40) 동안, 함수들을 프로파일하기 위해 어플리케이션-중심 보다는 함수-중심의 방법이 택해진다.Referring again to FIG. 2, during step 40, the selected set of functions are analyzed across multiple standards to identify a computational kernel that is common across all instances of the function. (As described herein, the kernel refers to a sequence of operations that can be represented by a control-dataflow graph and implemented in software or hardware. Figure 6 shows three modules: sequencer 66, local. Kernel 65, which includes memory 67 and parameterizable and configurable arithmetic logic unit 68, is shown in block form.) In other words, during step 40, an application-centric process for profiling functions. Rather, a function-centric approach is taken.

함수들의 프로파일링은, 함수의 각 "표준-특정(standard-specific)" 버젼의 실행가능한 명세, 및 모든 신호 및 가변 워드 폭을 최적화하기 위한 시뮬레이션으로 시작한다. 함수들의 프로파일링은 연산의 임계 시퀀스의 식별을 포함한다. 연산의 시퀀스는 이동-및-전달(move-and-transfer), 루프-및-제어(loop-and control), 트리고노매트릭(trigonometric) 또는 산술 연산을 포함할 수 있다. 본 발명에서 설명하는 바와 같이, 연산 또는 구성요소의 임계 시퀀스는 정해진 시간에에 표준 함수를 수행하는데 적절한 완료가 필요한 연산의 시퀀스이다. 예로서, 도 7A-7C는 머신 구현 비터비 알고리즘의 덧셈-비교-선택 루프의 구성요소를 식별하는 방법을 도시한다. 머신 구현 비터비 알고리즘은 디지털 전송 시스템에서 송신된 기호의 가장 근사한 시퀀스를 구하기 위헤 디지털 통신에 이용된 동적 프로그래밍 알고리즘이다. 도 7A는 컴퓨터 구현 비터비 알고리즘의 첫번째 두 단계를 설명한다. 도 7B는 머신 구현 비터비 알고리즘, 연산 스테이지 및 생존자 저장 단계를 포함하는 덧셈-비교 순환의 제3 단계를 도시한다. 도 7C는 컴퓨터 구현 비터비 알고리즘의 덧셈-비교-선택 순환의 데이터 플로우 및 제어 플로우를 도시한다. 도 7C는 순환동안 사용된 연산 시퀀스를 갖는 루프, 및 컴퓨터 구현 비터비 알고리즘의 한번의 반복 동안의 연산 시퀀스 간의 관계를 도시한다.Profiling of functions begins with the executable specification of each "standard-specific" version of the function, and simulation to optimize all signal and variable word widths. Profiling of the functions includes identifying a critical sequence of operations. The sequence of operations may include move-and-transfer, loop-and-control, trigonometric or arithmetic operations. As described herein, a threshold sequence of operations or components is a sequence of operations that require proper completion to perform a standard function at a given time. By way of example, FIGS. 7A-7C illustrate a method of identifying components of an add-compare-select loop of a machine implemented Viterbi algorithm. Machine-implemented Viterbi algorithms are dynamic programming algorithms used in digital communications to obtain the closest sequence of symbols sent in a digital transmission system. 7A illustrates the first two steps of a computer implemented Viterbi algorithm. 7B shows a third phase of the add-compare cycle, including a machine implemented Viterbi algorithm, a computation stage, and a survivor storage stage. 7C shows the data flow and control flow of the add-compare-selection cycle of a computer implemented Viterbi algorithm. 7C shows the relationship between a loop having a sequence of operations used during a cycle, and a sequence of operations during one iteration of a computer implemented Viterbi algorithm.

표준 함수의 구성요소를 식별하기 위한 방법의 또 다른 예로서, 도 8은 유한 임펄스 응답 (FIR) 필터에 대한 임계 연산 시퀀스를 식별하는 머신 구현 방법을 도시한다. 도시된 식은 필터 계수 a(n)의 세트를 갖는 입력 시퀀스 x(n)의 컨볼류션을 수학적으로 도시한다. 도 8에서 수식 밑에 도시된 구조는 FIR의 실현에서 데이터 플로우 및 제어 플로우 연산의 가장 공통인 서브셋을 도시한다. 도 8에 하이라이트되어 있는 것은 FIR의 단일 스테이지에 필요한 모든 연산을 도시한다.As another example of a method for identifying a component of a standard function, FIG. 8 illustrates a machine implemented method for identifying a threshold operation sequence for a finite impulse response (FIR) filter. The equation shown mathematically illustrates the convolution of the input sequence x (n) with the set of filter coefficients a (n). The structure shown below the equation in FIG. 8 shows the most common subset of data flow and control flow operations in the realization of FIR. Highlighted in FIG. 8 shows all the operations required for a single stage of the FIR.

함수의 프로파일링 후에, 함수의 모든 인스턴스에 걸쳐 공통인 구성요소 및 가변적인 구성요소를 식별하기 위해 다수의 표준에 걸쳐 표준 함수들이 분석된다. 표준 함수 프로파일링의 프로세스는 도 9를 참조하여 가장 잘 이해할 수 있다. 도 9의 밑부분에서, GPS, IS-95, CDMA, W-CDMA, IS-136 TDMA 및 GSM을 포함하는 무선 어플리케이션을 위한 독립적인 표준 세트가 열거되어 있다. 특정 어플리케이션을 위한 함수 프로파일, 이 경우에 기저대역 프로세서(51)은 도 9의 좌측에 열거되어 있다. 기저대역 프로세서(51)의 표준 함수는 MPSK 주파수 추정기, 콘벌류션 디코더, 레이크 수신기 및 MLSE 균등화 유닛을 포함한다.After profiling a function, the standard functions are analyzed across multiple standards to identify components that are common across all instances of the function and variable components. The process of standard function profiling can be best understood with reference to FIG. At the bottom of FIG. 9, a set of independent standards for wireless applications including GPS, IS-95, CDMA, W-CDMA, IS-136 TDMA and GSM are listed. The function profile for the particular application, in this case the baseband processor 51, is listed on the left side of FIG. 9. Standard functions of the baseband processor 51 include an MPSK frequency estimator, a convolutional decoder, a rake receiver and an MLSE equalization unit.

도 9는 각각의 표준 함수를 구성하는 함수 구성요소 집합(70a-g,72a-d,74a-d 및 76a-d)를 직사각형으로 도시한다. 각각의 직사각형 함수 구성요소 집합은 각각의 직사각형이 단일 구성요소(71,73)을 표현하는 다수의 제곱근으로서 분할된다. 비록 함수 구성요소 집합(70,72,74,76)은 여섯개의 구성요소(71,73)를 포함하는 것으로서 도시되어 있고, 함수 구성요소 집합당 구성요소(71,73)의 수는 각각의 표준 함수에 따라 변한다. 각각의 함수 구성요소 집합(70,72,74,76)에 대해,구성요소(71,73)의 임의의 수가 도시 목적으로 포함되어 있다. 도 9에서, 표준 함수에 대해 모든 함수 구성요소 집합이 공통인 구성요소(73)은 흰색인 반면, 다른 구성요소(76)은 흑색이다. 변수 및 공통 구성요소의 임의의 수가 도시된다. MPSK 주파수 추정기에 대한 함수 구성요소 집합(70a-70d)의 분석에 따르면, 모든 CDMA 표준에 공통인 세개의 구성요소(73) 및 CDMA 표준에 따라 변하는 세개의 구성요소(71)를 나타낸다. 이는, 커널 세트가 가변 구성요소(71)의 구현을 허용하도록 부분적으로 프로그램가능하다면, 단일 세트의 커널이 모든 CDMA 표준을 지원하도록 설계될 수 있다는 것을 가리킨다. 유사하게, 함수 구성요소 집합(70e-90g)을 분석한 결과에 따라면, 모든 TDMA 표준에 공통인 세개의 구성요소(73) 및 TDMA 표준에 따라 변하는 세개의 구성요소(71)을 나타난다. 이는, 커널 세트가 부분적으로 프로그램가능하다면, 단일 커널 세트가 프로파일된 모든 TDMA 표준을 지원하도록 설계될 수 있게 한다. (부분적인 프로그래밍가능성은 가변 구성요소(73)의 구현을 가능하게 하는데 필요하다.) 그 대신에, 프러파일링에 따르면, 단일 세트의 부분적으로 프로그래머블 커널(78)은 모든 CDMA 및 TDMA 함수 구성요소 집합(70a-g)를 지원하도록 설계될 수 있다. 다른 표준 함수에 연관된 함수 구성요소 집합의 분석도 유사한 결론에 도달한다. 다른 말로 표현하면, 단일 세트의 부분적으로 프로그래머블 커널(82)은 콘벌루션 디코더 함수에 연관된 모든 함수 구성요소 집합(72a-72d)를 지원하도록 설계될 수 있고, 단일 세트의 부분적으로 프로그래머블 커널(84)는 레이크 수신기 함수에 연관된 함수 구성요소 집합(74a-74d)를 지원하도록 설계될 수 있고, 단일 세트의 부분적으로 프로그래머블 커널(86)은 MLSE 균등화 함수에 연관된 함수 구성요소 집합(76a-76d)를 지원하도록 설계될 수 있다.Fig. 9 shows in rectangular form the set of functional components 70a-g, 72a-d, 74a-d and 76a-d constituting each standard function. Each set of rectangular function components is divided as a plurality of square roots where each rectangle represents a single component 71, 73. Although the set of functional components 70, 72, 74, 76 is shown as including six components 71, 73, the number of components 71,73 per set of functional components is the respective standard. It depends on the function. For each set of functional components 70, 72, 74, 76, any number of components 71, 73 are included for illustrative purposes. In FIG. 9, component 73, which is common to all function component sets for the standard functions, is white, while other components 76 are black. Any number of variables and common components are shown. Analysis of the set of functional components 70a-70d for the MPSK frequency estimator shows three components 73 common to all CDMA standards and three components 71 that vary according to the CDMA standard. This indicates that a single set of kernels can be designed to support all CDMA standards if the kernel set is partially programmable to allow implementation of the variable component 71. Similarly, the result of analyzing the functional component set 70e-90g shows three components 73 common to all TDMA standards and three components 71 that vary according to the TDMA standard. This allows a single kernel set to be designed to support all profiled TDMA standards, if the kernel set is partially programmable. (Partial programmability is necessary to enable the implementation of the variable component 73.) Instead, according to profiling, a single set of partially programmable kernels 78 is a set of all CDMA and TDMA function components. Can be designed to support 70a-g. Analysis of the set of function components associated with other standard functions leads to similar conclusions. In other words, a single set of partially programmable kernels 82 can be designed to support all sets of function components 72a-72d associated with convolutional decoder functions, and a single set of partially programmable kernels 84 Can be designed to support a set of function components 74a-74d associated with a rake receiver function, and a single set of partially programmable kernels 86 support a set of function components 76a-76d associated with an MLSE equalization function. It may be designed to.

단계(42) 동안 광범위한 오버랩을 갖는 함수의 경우(도 2 참조), 커널의 부분적으로 프로그래머블 셋트 각각은 고정 연산 유닛과 프로그래머블 유닛을 갖도록 설계된다. 도 6을 참조하여 설명된 바와같이 커널(65)은 연산 유닛을 구성하는 세개의 모듈(66,67,68)을 포함한다. 바람직하게, 시퀀서(66) 및 ALU(68)은 부분적으로 프로그램가능하다. 따라서, 시퀀서(66) 및 ALU(68)의 그와 같은 프로그래머블 부분은 프로그래머블 연산 유닛을 형성하는 한편, 메모리(67), 및 시퀀서(66) 및 ALU(68)의 고정 부분은 고정 연산 유닛을 형성한다. 커널의 프로그래머블 유닛을 프로그래밍함으로써, 그 모든 구성요소(71,73)이 실현될 수 있다.For functions with extensive overlap during step 42 (see FIG. 2), each partially programmable set of kernels is designed to have fixed and programmable units. As described with reference to FIG. 6, the kernel 65 includes three modules 66, 67, and 68 that make up a computing unit. Preferably, sequencer 66 and ALU 68 are partially programmable. Thus, such programmable portions of sequencer 66 and ALU 68 form a programmable computing unit, while memory 67 and fixed portions of sequencer 66 and ALU 68 form fixed computing units. do. By programming the programmable units of the kernel, all of its components 71, 73 can be realized.

다시 도 9를 참조하면, 부분적으로 프로그래머블 커널(78,82,84,86)의 세트는 다중 표준, 프로토콜-특정 엔진(90,94)의 생성을 가능하게 한다. 엔진(90)은 어플리케이션의 각 표준 함수에 대해 커널의 부분적으로 프로그래머블 세트를 포함하는, 표준에 독립적인 CDMA-특정 프로세서이다. 따라서, 엔진(90)은, 예를 들어, 커널(78,82,84,86)의 부분적으로 프로그래머블 세트를 포함할 수 있다. 유사하게, 엔진(92)은 어플리케이션의 각 표준 함수에 대해 커널의 부분적으로 프로그래머블 세트를 포함하는, 표준에 독립적인 TDMA-특정 프로세서이다. 부수적으로, 각각의 표준 함수에 대한 커널의 부분적으로 프로그래머블 세트가 주어진 경우에, 다중 표준의 프로토콜에 독립적인 엔진(94)가 설계될 수 있다.Referring again to FIG. 9, a set of partially programmable kernels 78, 82, 84, 86 enables the creation of multiple standard, protocol-specific engines 90, 94. Engine 90 is a standards independent CDMA-specific processor that includes a partially programmable set of kernels for each standard function of the application. Thus, engine 90 may include, for example, a partially programmable set of kernels 78, 82, 84, 86. Similarly, engine 92 is a standards independent TDMA-specific processor that includes a partially programmable set of kernels for each standard function of the application. Incidentally, given a partially programmable set of kernels for each standard function, an engine 94 may be designed that is independent of multiple standard protocols.

도 10은 프로그래머블, 다중 표준의 어플리케이션-특정 프로세서(100)을 블럭 형태로 도시한다. 프로세서(100)는 프로그램 제어 유닛(102), 커널 뱅크(104),및 재구성가능한 데이터 라우터(106)를 포함한다. 프로그램 제어 유닛(102)는 커널 뱅크(104) 및 재구성가능한 데이터 라우터(106)의 프로그래밍을 제어하여, 프로세서(100)가 지원된 표준 세트중 임의의 하나를 지원하도록 구성될 수 있게 한다. 프로그램 제어 유닛(102)은 제어기(102)와 버스 관리기(114)를 프로그램하기 위한 수석 코드를 저장하는 메모리(110)를 포함한다. 제어기(112)는 커널 뱅크(104)의 각 커널 내에서 프로그래머블 유닛의 프로그래밍을 제어하는 한편, 버스 관리기(104)는 재구성가능한 데이터 라우터(106)의 구성을 제어한다. 커널 뱅크(104)는 각각 어플리케이션의 각 표준 함수를 위한 다수의 커널을 포함한다. 재구성가능한 데이터 라우터(106)는 특정 표준에 따라 어플리케이션을 구현하기 위해 커널 간에 데이터를 라우트한다. 재구성가능한 라우터(106)는 완전히 프로그래가능할 필요는 없다. 도 11은 소정의 어플리케이션에 대해 프로그래머블하여야 하는 커널 간의 상호접속의 예를 도시한다. 어플리케이션의 커널은 도 11의 위와 좌측 모두에 열거되어 있다. 어플리케이션에 대해 지원되어야 하는 상호접속은 x로 표시되어 있다. 각각의 커널에 대해, 상대적으로 극히 적은, 지원되어야 하는 상호접속이 존재한다. 예를 들어, 터버 디코더 커널은 콘벌루션 디코더 코어 유닛 및 메모리 관리 유닛 커널에 접속할 수 있기만 하면 된다.10 illustrates a programmable, multi-standard, application-specific processor 100 in block form. The processor 100 includes a program control unit 102, a kernel bank 104, and a reconfigurable data router 106. The program control unit 102 controls the programming of the kernel bank 104 and the reconfigurable data router 106 such that the processor 100 can be configured to support any one of the supported sets of standards. The program control unit 102 includes a memory 110 that stores the senior code for programming the controller 102 and the bus manager 114. The controller 112 controls the programming of the programmable unit within each kernel of the kernel bank 104, while the bus manager 104 controls the configuration of the reconfigurable data router 106. Kernel bank 104 includes a plurality of kernels, each for each standard function of the application. Reconfigurable data router 106 routes data between kernels to implement applications in accordance with certain standards. Reconfigurable router 106 need not be fully programmable. 11 shows an example of an interconnection between kernels that must be programmable for a given application. The kernels of the applications are listed both above and to the left of FIG. The interconnects that should be supported for the application are marked with x. For each kernel, there are relatively few interconnects that must be supported. For example, the turbo decoder kernel only needs to be able to connect to the convolutional decoder core unit and the memory management unit kernel.

기술분야의 숙련자는, 본 발명이 다수의 표준, 다수의 함수, 및 다수의 파라테마를 위해 프로세서를 설계하는 체계적인 방법을 제공한다는 것을 알 것이다.또한, 본 발명의 기술은 함수 프로파일링 및 데이터경로의 정의, 및 많은 프로세서에 걸쳐 재사용될 수 있는 제어 상태 머신 엔진을 통해 프로세서 설계 사이클 시간을 줄인다.Those skilled in the art will appreciate that the present invention provides a systematic method of designing a processor for multiple standards, multiple functions, and multiple parathemes. In addition, the techniques of the present invention provide for function profiling and datapaths. Definition, and a control state machine engine that can be reused across many processors reduces processor design cycle time.

설명 목적상, 상기 설명은 본 발명의 철저한 이해를 제공하기 위해 특정 명칭을 사용하였다. 그러나, 기술분야의 숙련자는 본 발명을 실시하기 위해 특정 상세한 설명이 필요하지 않다는 것을 알 것이다. 다른 예에서, 공지된 회로 및 장치가 본 발명으로부터 불필요한 혼란을 피하기 위해 블럭 형태로 도시되어 있다. 따라서, 본 발명의 특정 실시예의 상기 설명은 예시적이고 설명을 위해 제시되었다. 이들은 개시된 정확한 헝태로 본 발명을 배제하거나 제한하도록 의도되어 있지 않다. 본 발명 및 그 응용을 최적으로 설명하기 위해 본 실시예들이 선택되어 설명되어, 다른 기술분야의 숙련자가 특정 사용에 적합한 것으로 다양하게 수정된 본 발명 및 다양한 실시예를 최상으로 이용할 수 있게 한다. 본 발명의 영역은 다음의 특허청구범위 및 그 등가물에 의해 한정되도록 의도되어 있다.For purposes of explanation, the description uses specific nomenclature to provide a thorough understanding of the present invention. However, those skilled in the art will appreciate that no specific details are required to practice the invention. In other instances, well-known circuits and devices are shown in block form in order to avoid unnecessary confusion from the present invention. Accordingly, the foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise form disclosed. The present embodiments have been selected and described in order to best illustrate the present invention and its applications, so that those skilled in the art can best utilize the present invention and its various embodiments, which have been variously modified to suit particular uses. It is intended that the scope of the invention be defined by the following claims and their equivalents.

Claims (5)

이종(disparate) 통신 및 신호 처리 표준을 프로파일링(profiling)하기 위한 방법에 있어서,A method for profiling disparate communication and signal processing standards, 분석을 위해 통신 및 신호 처리 표준 세트를 선택하는 단계;Selecting a set of communication and signal processing standards for analysis; 상기 통신 및 신호 처리 표준 세트에 의해 수행되는 함수들을 식별하는 단계;Identifying functions performed by the set of communication and signal processing standards; 연산 세기(computational intensity)에 따라 상기 함수들의 순위를 매기는 단계; 및Ranking the functions according to computational intensity; And 커널로서 구현하기 위해 높은 연산 세기 함수들의 세트를 선택하는 단계Selecting a set of high computational strength functions to implement as a kernel 를 포함하는 방법.How to include. 제1항에 있어서,The method of claim 1, 상기 통신 및 신호 처리 표준 세트에 걸쳐 상기 높은 연산 세기 함수들을 프로파일링하여 연산 시퀀스의 공통 세트 및 연산 시퀀스의 가변 세트를 식별하는 단계; 및Profiling the high computation strength functions across the communication and signal processing standard set to identify a common set of computation sequences and a variable set of computation sequences; And 상기 연산 시퀀스의 공통 세트를 구현하는 고정 연산 유닛(fixing computation unit), 및 상기 연산 시퀀스의 가변 세트를 구현하는 프로그래머블 유닛(programmable unit)을 포함하는 것으로서 각각의 커널을 정의하는 단계Defining each kernel as including a fixed computation unit that implements a common set of operations sequences, and a programmable unit that implements a variable set of operations sequences 를 더 포함하되, 상기 커널은 상기 통신 및 신호 처리 표준 세트중의 임의의 하나를 구현하기 위해 프로그램가능한 방법.Further comprising wherein the kernel is programmable to implement any one of the set of communication and signal processing standards. 이종(disparate) 통신 및 신호 처리 표준을 프로파일링(profiling)하기 위한 방법에 있어서,A method for profiling disparate communication and signal processing standards, 분석을 위해 통신 및 신호 처리 표준 세트를 선택하는 단계;Selecting a set of communication and signal processing standards for analysis; 상기 통신 및 신호 처리 표준 세트에 의해 수행되는 함수들을 식별하는 단계;Identifying functions performed by the set of communication and signal processing standards; 매트릭스의 세트(a set of metrics)에 따라 상기 함수들의 순위를 매기는 단계; 및Ranking the functions according to a set of metrics; And 프로그래머블 프로세서에서 구현하기 위해 높은 순위의 함수들의 세트를 선택하는 단계Selecting a set of high ranking functions for implementation in a programmable processor 를 포함하는 방법.How to include. 제3항에 있어서,The method of claim 3, 상기 통신 및 신호 처리 표준 세트에 걸쳐 상기 높은 순위의 함수들을 프로파일링하여 연산 시퀀스의 공통 세트 및 연산 시퀀스의 가변 세트를 식별하는 단계;Profiling the high rank functions across the communication and signal processing standard set to identify a common set of operation sequences and a variable set of operation sequences; 각각의 높은 순위의 함수에 대한 커널을 정의하는 단계 - 각각의 커널은 상기 연산 시퀀스의 공통 세트를 구현하는 고정 연산 유닛, 및 상기 연산 시퀀스의 가변 세트를 구현하는 프로그래머블 유닛을 포함함-; 및Defining a kernel for each high rank function, each kernel including a fixed operation unit implementing a common set of said operation sequences, and a programmable unit implementing a variable set of said operation sequences; And 상기 높은 순위의 함수들에 대한 커널들을 포함하는 것으로서 상기 프로그래머블 프로세서를 정의하는 단계Defining the programmable processor as including kernels for the high rank functions 를 포함하되, 상기 커널들은 상기 프로그래머블 프로세서가 상기 통신 및 신호 처리 표준 세트중의 임의의 하나를 구현하도록 프로그램가능한 방법.Wherein the kernels are programmable such that the programmable processor implements any one of the communication and signal processing standards set. 제3항에 있어서, 상기 매트릭스의 세트는 연산 세기, 전력 소비 및 실리콘 면적중 적어도 하나를 포함하는 방법.4. The method of claim 3, wherein the set of matrices includes at least one of computational intensity, power consumption, and silicon area.
KR1020017014175A 1999-05-07 2000-05-05 Method of profiling disparate communications and signal processing standard and services KR100743882B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13313099P 1999-05-07 1999-05-07
US60/133,130 1999-05-07

Publications (2)

Publication Number Publication Date
KR20020011408A true KR20020011408A (en) 2002-02-08
KR100743882B1 KR100743882B1 (en) 2007-07-30

Family

ID=22457152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017014175A KR100743882B1 (en) 1999-05-07 2000-05-05 Method of profiling disparate communications and signal processing standard and services

Country Status (6)

Country Link
EP (1) EP1177700A1 (en)
JP (1) JP2003527768A (en)
KR (1) KR100743882B1 (en)
AU (1) AU5127200A (en)
CA (1) CA2371140A1 (en)
WO (1) WO2000069192A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115406A (en) 1999-09-10 2000-09-05 Interdigital Technology Corporation Transmission using an antenna array in a CDMA communication system
US6278726B1 (en) 1999-09-10 2001-08-21 Interdigital Technology Corporation Interference cancellation in a spread spectrum communication system
US20010049757A1 (en) 2000-03-01 2001-12-06 Ming-Kang Liu Programmable task scheduler for use with multiport xDSL processing system
EP1317832B1 (en) * 2000-07-31 2016-12-14 Intel Deutschland GmbH Method and apparatus for time-sliced and multi-threaded data processing in a communication system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4922412A (en) * 1986-10-09 1990-05-01 The Babcock & Wilcox Company Apparatus and method using adaptive gain scheduling
FR2678400B1 (en) * 1991-06-27 1995-08-04 Texas Instruments France PROTOCOL PROCESSOR FOR EXECUTING A SET OF INSTRUCTIONS IN A REDUCED NUMBER OF OPERATIONS.
AUPM414394A0 (en) * 1994-02-28 1994-03-24 Voxson International Pty. Limited Multi-mode communications system
US5664004A (en) * 1995-01-13 1997-09-02 Nokia Telecommunications Oy Support of multiplicity of radio interfaces over an interface between a base station system and a mobile switch
US5956651A (en) * 1996-09-30 1999-09-21 Qualcomm Incorporated Cellular telephone interface system for AMPS and CDMA data services

Also Published As

Publication number Publication date
EP1177700A1 (en) 2002-02-06
WO2000069192A9 (en) 2002-06-13
KR100743882B1 (en) 2007-07-30
WO2000069192A1 (en) 2000-11-16
CA2371140A1 (en) 2000-11-16
AU5127200A (en) 2000-11-21
JP2003527768A (en) 2003-09-16

Similar Documents

Publication Publication Date Title
US6967999B2 (en) Method and apparatus to support multi standard, multi service base-stations for wireless voice and data networks
US20120173864A1 (en) Flexible multi-processing system
Yao Probabilistic computations: Toward a unified measure of complexity
Glossner et al. A software-defined communications baseband design
US9910671B2 (en) Vector operation core and vector processor
US7178130B2 (en) Digital processing architecture using compiled dataflow definition
JP2005510778A (en) Method and system for scheduling within an adaptive computing engine
Kaiser et al. Prototyping for MIMO systems-an overview
US6807155B1 (en) Method of profiling disparate communications and signal processing standards and services
KR100743882B1 (en) Method of profiling disparate communications and signal processing standard and services
Arnold et al. Instruction set architecture extensions for a dynamic task scheduling unit
US20140040594A1 (en) Programmable device for software defined radio terminal
Bauer et al. Efficient resource utilization for an extensible processor through dynamic instruction set adaptation
Chen et al. An integrated system for rapid prototyping of high performance algorithm specific data paths
WO2002056481A9 (en) System and method of implementing a wireless communication system using a reconfigurable chip with a reconfigurable fabric
Hinkelmann et al. Design and evaluation of an energy-efficient dynamically reconfigurable architecture for wireless sensor nodes
Pulley et al. Software defined baseband processing for 3G base stations
Mehdipour et al. An integrated temporal partitioning and mapping framework for handling custom instructions on a reconfigurable functional unit
Heysters Coarse-Grained Reconfigurable Computing for Power Aware Applications.
Rizk et al. NISC design experience of flexible architectures for digital communication applications
Lin Realizing software defined radio-A study in designing mobile supercomputers
Harju Programmable receiver architectures for multimode mobile terminals
Westermann et al. Performance analysis of W-CDMA algorithms on a vector DSP
Rákossy et al. High-level design space and flexibility exploration for adaptive, energy-efficient WCDMA channel estimation architectures
Lee et al. Reducing idle mode power in software defined radio terminals

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee