KR101949999B1 - 가속 프로세싱 디바이스에서 네트워크 메시지를 프로세싱하기 위한 방법 및 시스템 - Google Patents

가속 프로세싱 디바이스에서 네트워크 메시지를 프로세싱하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101949999B1
KR101949999B1 KR1020157004713A KR20157004713A KR101949999B1 KR 101949999 B1 KR101949999 B1 KR 101949999B1 KR 1020157004713 A KR1020157004713 A KR 1020157004713A KR 20157004713 A KR20157004713 A KR 20157004713A KR 101949999 B1 KR101949999 B1 KR 101949999B1
Authority
KR
South Korea
Prior art keywords
signal
simd
processing
apd
physical layer
Prior art date
Application number
KR1020157004713A
Other languages
English (en)
Other versions
KR20150038284A (ko
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 KR20150038284A publication Critical patent/KR20150038284A/ko
Application granted granted Critical
Publication of KR101949999B1 publication Critical patent/KR101949999B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/0008Modulated-carrier systems arrangements for allowing a transmitter or receiver to use more than one type of modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 방법 및 시스템은 라디오 주파수(RF) 신호를 수신하는 것을 가능하게 한다. 수신된 RF 신호는 네트워크 메시지를 추출하도록 프로세싱을 위해 가속 프로세싱 디바이스(APD) 내 단일 명령 다중 데이터(SIMD) 모듈에 배정된다. 추출된 네트워크 계층 메시지는 RF 신호를 통하여 송신된 데이터를 획득하도록 SIMD 모듈에 의해 더 프로세싱된다.

Description

가속 프로세싱 디바이스에서 네트워크 메시지를 프로세싱하기 위한 방법 및 시스템{METHODS AND SYSTEMS FOR PROCESSING NETWORK MESSAGES IN AN ACCELERATED PROCESSING DEVICE}
본 발명은 일반적으로는 그래픽 프로세싱 유닛(graphics processing unit: GPU)에 관한 것으로, 더 구체적으로는 그래픽 프로세싱 유닛을 사용하여 네트워크 메시지를 프로세싱하는 것에 관한 것이다.
기존 모바일 컴퓨팅 시스템(예를 들어, 스마트 폰, 태블릿, 랩톱 등)은 여러 다른 태스크를 수행하도록 배정되는 다중 프로세서를 갖는다. 예를 들어, 중앙 프로세서로서의 중앙 프로세싱 유닛(CPU), 컴퓨터 그래픽을 프로세싱하기 위한 그래픽 프로세싱 유닛(GPU), 및 물리 계층 메시지를 프로세싱할 하나 이상의 프로세서. 모바일 컴퓨팅 시스템에서는 다중 프로세서가 여러 다른 유형의 메시지 또는 여러 다른 애플리케이션을 위해 의도된 메시지를 프로세싱하도록 사용된다. 예를 들어, 여러 다른 프로세서는 셀룰러 신호, 와이파이 신호, 지상 회선 통신 신호, 전역 측위 시스템(global positioning system: GPS) 신호 및 컴퓨터 그래픽 신호를 프로세싱하는 것에 대응할 수 있다. 기존 물리 계층 프로세서의 계산 능력이 제한되어 있기 때문에 다중 프로세서가 물리 계층 메시지와 같은 네트워크 메시지를 프로세싱하도록 사용된다. 통신 표준이 빈번하게 바뀌기 때문에 주문형 반도체(Application specific integrated circuit: ASIC) 구현은 실현 가능하지 않다. 다중 네트워크 프로세서의 사용은 비싸고 비효율적이고, 이들 프로세서로부터 CPU로의 루트는 길고 느리다. 컴퓨팅 시스템의 데이터 레이트가 증가함에 따라, 물리 계층 프로세서로부터 CPU로의 루트는 병목 상태로 될 수 있다.
필요한 것은 여러 다른 유형의 네트워크 메시지를 더 효율적으로 프로세싱하기 위한 방법 및 시스템이다.
GPU들, 가속 프로세싱 유닛(accelerated processing unit; APU)들, 및 범용 그래픽 프로세싱 유닛(general purpose use of the graphics processing unit; GPGPU)이 이 분야에서 흔히 사용되는 용어이기는 하지만, "가속 프로세싱 디바이스(accelerated processing device: APD)"라는 표현이 더 넓은 표현이라고 생각된다. 예를 들어, APD는 관용적 CPU, 관용적 GPU 및/또는 그 조합과 같은 자원에 관하여 가속 방식으로 가속 그래픽 프로세싱 태스크, 데이터 병렬 태스크 또는 네스팅된 데이터 병렬 태스크와 연관된 그들 기능 및 계산을 수행하는 소프트웨어 및/또는 하드웨어의 어떠한 협력 집합이라도 지칭한다.
본 발명의 실시예는, 소정 환경 하에서는, 가속 프로세싱 디바이스(APD)에서 네트워크 메시지의 애스펙트(예를 들어, 그러한 메시지의 물리 계층)를 프로세싱하기 위한 방법 및 시스템을 제공한다. 일 실시예에 있어서, 라디오 주파수(radio frequency: RF) 신호는 라디오 주파수 집적 회로(radio frequency integrated circuit: RFIC) 칩에 의해 수신되고, 디지털 데이터로 변환되고, APD에 보내진다. 수신된 RF 신호는 프로세싱을 위해 단일 명령 다중 데이터(single instruction multiple data: SIMD)에 배정된다. 일 실시예에 있어서, 물리 계층 메시지는 RF 신호로부터 추출되고 RF 신호를 통하여 송신된 데이터를 획득하도록 SIMD 모듈에 의해 프로세싱된다.
본 발명의 추가적 특징 및 이점과 더불어, 본 발명의 다양한 실시예의 구조 및 동작은 수반 도면을 참조하여 아래에 더 상세하게 설명된다. 본 발명은 여기에서 설명되는 특정 실시예로 한정되는 것은 아니다. 그러한 실시예는 여기에서 예시의 목적으로만 제시될 뿐이다. 부가적 실시예는 여기에 포함된 교시에 기반하여 관련 업계(들)의 당업자에게 명백할 것이다.
여기에 편입되어 명세서의 일부를 형성하는 수반 도면은 본 발명을 예시하며, 그 설명과 함께, 더욱 본 발명의 원리를 설명하고 관련 업계의 당업자가 본 발명을 하고 사용 가능하게 하는 역할을 한다. 본 발명의 다양한 실시예는 도면을 참조하여 아래에 설명되며, 유사한 참조 숫자는 곳곳에서 유사한 구성요소를 지칭하는데 사용된다.
도 1은, 일 실시예에 따라, 모바일 컴퓨팅 시스템 내 다중 물리 계층 프로세서를 예시하는 선도;
도 2는, 일 실시예에 따라, 모바일 컴퓨팅 시스템에서 여러 다른 유형의 물리 계층 메시지를 프로세싱하기 위한 가속 프로세싱 디바이스(APD)를 예시하는 선도;
도 3은, 일 실시예에 따라, 모바일 컴퓨팅 시스템에서 다양한 계층을 예시하는 선도;
도 4는, 일 실시예에 따라, 가속 프로세싱 디바이스(APD)를 예시하는 선도; 및
도 5는, 일 실시예에 따라, 가속 프로세싱 디바이스(APD)에서 물리 계층 메시지를 프로세싱하기 위한 방법의 순서도.
이하의 상세한 설명에 있어서, "하나의 실시예", "일 실시예", "일례의 실시예" 등의 언급은 설명되는 실시예가 특정 특징, 구조 또는 특성을 포함하지만, 모든 실시예가 반드시 그 특정 특징, 구조 또는 특성을 포함하는 것은 아닐 수 있음을 나타낸다. 더욱, 그러한 문구는 반드시 동일 실시예를 지칭하는 것은 아니다. 더욱, 일 실시예와 연관하여 특정 특징, 구조 또는 특성이 설명될 때, 명시적으로 설명되든 아니든 다른 실시예와 연관하여 그러한 특징, 구조 또는 특성에 영향을 미치는 것이 당업자의 지식 내에 있는 것으로 된다.
"본 발명의 실시예"라는 용어는 본 발명의 모든 실시예가 논의되는 특징, 이점 또는 동작 모드를 포함할 것을 요구하지는 않는다. 대체 실시예가 본 발명의 범위로부터 벗어남이 없이 고안될 수 있고, 본 발명의 주지의 엘리먼트는 상세히 설명되지 않을 수 있거나 본 발명의 관련 상세를 모호하게 하지 않도록 생략될 수 있다. 부가적으로, 여기서 사용되는 술어는 특정 실시예를 설명하는 목적을 위한 것일 뿐이고 본 발명을 한정하려는 의도는 아니다. 예를 들어, 여기서 사용되는 바와 같이, 단수 형태는, 맥락이 명확히 다르게 나타내지 않는 한, 복수 형태 역시 포함하려는 의도이다. 용어 "포함하고 있다", "포함하고 있는", "포함한다" 및/또는 "포함하는"은, 여기서 사용될 때, 서술된 특징, 정수, 단계, 동작, 엘리먼트 및/또는 컴포넌트의 존재를 특정하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 엘리먼트, 컴포넌트 및/또는 그 그룹의 존재 또는 부가를 못하게 하지는 않음을 더욱 이해할 것이다.
약 20년 전에, 기술 산업은 컴퓨터 산업, 전기통신 산업, 전자 미디어 산업 및 기타 등으로 나뉘었다. 지난 10년은 전기통신 산업과 컴퓨터 산업의 합병을 목격하였다. 후에, 전자 미디어 산업이 역시 합류하였다. 오늘날의 모바일 컴퓨팅 시스템은 컴퓨팅, 통신 및 멀티미디어 관련 태스크를 수행하도록 인쇄 회로 기판(PCB) 상의 다중 프로세서로 이루어질 수 있다. 부가적으로, 개발에 의해 컴퓨팅 프로세서 및 멀티미디어 엔진이 단일 실리콘 내부에 거주할 수 있어, 자원을 공유하고 성능을 개선할 수 있게 되었다. 그러한 기술은 또한 APD가, 컴퓨팅 및 멀티미디어 태스크와 함께, 물리 계층 연산과 같은 다양한 네트워킹 연산을 수행하는 방식으로 사용될 수 있다. 아래에서는 물리 계층 연산을 참조하여 실시예가 설명되지만, 다른 네트워킹 연산 및 유선 네트워킹 연산에 관한 연산도 적용가능하다.
도 1은 일 실시예에 따른 모바일 컴퓨팅 시스템(100)을 도시하고 있다. 예를 들어, 모바일 컴퓨팅 시스템(100)은 다중 프로세서, 예를 들어 그리고 제한 없이, 중앙 프로세서로서의 CPU(101), 그래픽 프로세싱을 위한 APD(102), 셀룰러 기저대역 신호(물리 계층 메시지)를 프로세싱하기 위한 셀룰러 물리 계층 프로세서(110), 와이파이 물리 계층 메시지를 프로세싱하기 위한 와이파이 물리 계층 프로세서(112), 및 GPS 기저대역 신호(물리 계층 메시지)를 프로세싱하기 위한 GPS 기저대역 프로세서(114)를 포함할 수 있다. 모바일 컴퓨팅 시스템(100)에서 물리 계층 메시지를 프로세싱할 프로세서의 수는 도 1에 도시된 바와 같은 3개의 물리 계층 메시지 프로세서(예를 들어, 110, 112, 114)로 한정되지는 않는다.
일례에 있어서, 물리 계층 메시지 프로세서는 셀룰러 물리 계층 메시지를 프로세싱하도록 사용된다. 물리 계층 메시지 프로세서는 하나 이상의 디지털 신호 프로세서(digital signal processor: DSP)로 이루어질 수 있다. 일례에 있어서, 셀룰러 기저대역 프로세서(110)는 셀룰러 기저대역 프로세서(110)에 의해 수신된 물리 계층 메시지를 프로세싱하는 하나 이상의 DSP(111)로 이루어질 수 있다. 일례에 있어서, 라이브 스트리밍 비디오와 같이 시간에 민감한 물리 계층 메시지는 소정량의 시간 내 프로세싱되어야 할 수 있다. DSP(111)는 DSP(111)가 더 높은 전력량을 소비하고 더 높은 열량을 소산하는 결과를 초래할 수 있는 그러한 시간 요건을 만족하도록 더 높은 주파수에서 동작하여야 할 수 있다. 일례에 있어서, 물리 계층 메시지는 직렬 방식으로 DSP(111)에 의해 프로세싱되어야 할 수 있다. 이것은 DSP(111)가 메모리로부터 데이터를 읽고, 데이터 상에 요구되는 연산을 수행하고, 그 후 프로세싱된 데이터를 다시 메모리에 쓰는데 상당한 컴퓨팅 전력 및 시간을 들이는 결과를 초래할 수 있다.
전형적 무선 환경에 있어서, 신호는 기지국(도시되지 않음)과 모바일 컴퓨팅 시스템(100) 간 통행할 수 있다. 기지국은 로컬 무선 네트워크의 허브로서 역할하는 라디오 수신기/송신기이고, 또한 유선 네트워크와 무선 네트워크 간 게이트웨이로서 역할할 수 있다. 어려운 RF 환경(페이딩 또는 약한 RF 신호)을 통해 무선 신호가 다닐 때, 기지국은 모바일 컴퓨팅 시스템(100)이 소정 태스크를 수행하도록 요청할 수 있다. 이들 요청은 모바일 컴퓨팅 시스템(100)이 컴퓨팅 자원을 재-배정하고 더 높은 우선순위 태스크에 초점을 맞추는 결과를 초래할 수 있어서, 더 낮은 우선순위 태스크의 프로세싱을 지연시킬 수 있다. 결과로서, 모바일 컴퓨팅 시스템(100)의 전반적 성능 또는 서비스 품질(quality of service: QoS)에 영향이 미칠 수 있다.
일례에 있어서, 모바일 컴퓨팅 시스템(100)은 여러 다른 유형의 트래픽에 전용인 무선 채널, 예를 들어, 제어 채널, 음성 채널, 데이터 채널 등을 갖는다. 이들 채널의 각각은 여러 다른 프로세싱 요건, 예를 들어, 순방향 에러 정정 파라미터 등을 갖는다. 일부 채널은 제어 채널 정보 또는 파일럿 채널 정보와 같이 시간에 민감한 데이터를 반송할 수 있다. 결과로서, 제한된 자원을 갖는 모바일 컴퓨팅 시스템(100)은 모바일 컴퓨팅 시스템(100)이 RF 악조건에 위치하고 있을 때 시간에 민감한 태스크에 상당량의 컴퓨팅 자원을 배정하여야 할 수 있다. 결과로서, 신호를 유지하고 시간에 민감한 정보에 우선권을 주기 위해 모바일 컴퓨팅 시스템(100)의 전반적 QoS가 떨어질 수 있다.
모바일 컴퓨팅 시스템(100)에 있어서 또 다른 도전과제는 다경로 전파이다. 다경로 전파는 RF 신호가 소스로부터 수신지까지 여러 다른 경로를 취할 때 일어난다. 예를 들어, RF 신호의 제1 부분은 수신지에 직접 도달하는 한편, RF 신호의 제2 부분은 장애물로부터 튕겨나가, 그 후 수신지에 도달한다. 일례에서, 그러한 지연된 신호는 다수의 버전이 있을 수 있다. 결과로서, RF 신호의 일부분은 지연과 조우하고 수신지로의 더 긴 경로로 다닌다. 수신단에서, 다경로 신호는 더 양호한 품질의 신호를 획득하기 위해, 당업자에게 주지된 기술을 사용하여, 조합될 수 있다. 일례에 있어서, 송신 당사자 및 수신 당사자는 신호를 추적하도록 사용되는 코드에 관해 합의한다. 송신 당사자와 수신 당사자 간 합의된 코드는 송신되는 메시지 내에 매립되고, 수신 당사자는 그 코드를 내부 발생시킬 수 있다. 물리 계층 프로세서(110, 112, 114)에서 이용가능한 DSP는 물리 계층 메시지 프로세서(110, 112, 114)의 DSP(111, 113, 115)에서 이용가능한 제한된 컴퓨팅 자원 수에 기인하여 모바일 컴퓨팅 시스템(100)에 의해 수신되는 그러한 신호의 단지 소수의 지연된 버전만을 조합할 수 있을 수 있다.
그래서, 수신단에서 더 양호한 인입 신호를 생성하여 QoS를 개선하기 위해 상당히 더 높은 수의 지연된 신호를 프로세싱 및 조합하도록 더 큰 수의 컴퓨팅 자원을 갖는 물리 계층 프로세서에 대한 필요성이 있다. 부가적으로, 여러 다른 유형의 물리 계층 메시지를 프로세싱할 수 있는 높은 컴퓨팅 능력을 갖는 프로세서에 대한 필요성이 있다.
도 2는 본 발명의 일 실시예에 따른 시스템(200)을 도시하고 있다. 예를 들어, 시스템(200)은 도 1에 설명된 모바일 컴퓨팅 시스템(100)에서 여러 다른 유형의 물리 계층 메시지를 프로세싱하기 위한 APD이다. 일례에 있어서, 도 2는 여러 다른 유형의 물리 계층 메시지를 프로세싱하도록 배정된 단일 명령 다중 데이터(SIMD) 모듈, 예를 들어, SIMD 모듈(210, 220, 230, 240)을 포함하는 APD(200)를 예시하고 있다. 여기서 지칭되는 바와 같이, SIMD는, 커널이 그 자신의 데이터를 각각 갖는 다중 프로세싱 엘리먼트 상에서 동시다발적으로 실행되는, 파이프라인 또는 프로그래밍 모델이다. SIMD에서의 모든 프로세싱 엘리먼트는 똑같은 명령어 세트를 실행한다. 하나 이상의 SIMD를 갖는 것은, 일반적으로, 위에서 설명된 바와 같은 더 높은 프로세싱 능력을 요구할 수 있는 애플리케이션에 대해 APD(200)가 이상적으로 잘 맞게 할 수 있다.
일례에 있어서, SIMD 모듈(210)은 셀룰러 물리 계층 메시지를 프로세싱하도록 배정되고, SIMD 모듈(220)은 와이파이 물리 계층 메시지를 프로세싱하도록 배정되고, SIMD 모듈(230)은 GPS 물리 계층 메시지를 프로세싱하도록 배정되고, SIMD 모듈(240)은 컴퓨터 그래픽을 프로세싱하도록 배정된다.
일 실시예에 있어서, 다중 물리 계층 메시지 프로세서(예를 들어, 프로세서(110, 112, 114))를 사용하는 위의 도 1에서 예시된 기능성은 APD(200) 내부에서 이용가능한 비교적 큰 수의 컴퓨팅 자원, 즉, SIMD 모듈들에 기인하여 APD(200)를 사용하여 구현될 수 있다. 예를 들어, (도 1에 있어서 물리 계층 프로세서에서 이용가능한 DSP 수 대비) APD(200)에서 이용가능한 큰 수의 컴퓨팅 자원은 물리 계층 메시지를 비교적 더 고속으로 프로세싱하도록 사용될 수 있고, 그리하여 위에서 설명된 다경로 전파에 기인하여 지연된 신호를 상당히 더 높은 수 프로세싱 및 조합함으로써 수신단에서 더 양호한 품질 신호를 생성할 수 있을 수 있다. 일례에 있어서, APD(200)는 셀룰러 물리 계층 메시지를 프로세싱하도록 다중 SIMD 모듈을 배정할 수 있다.
일 실시예에 있어서, 여러 다른 유형의 물리 계층 메시지를 프로세싱하도록 배정된 SIMD 모듈의 수는 정적일 수 있다. 예를 들어, APD(200)에서 이용가능한 SIMD 모듈은 다음과 같이 할당될 수 있다: 셀룰러 물리 계층 메시지를 프로세싱하는데 30%, 와이파이 물리 계층 메시지를 프로세싱하는데 10%, GPS 물리 계층 메시지를 프로세싱하는데 10%, 및 컴퓨터 그래픽을 프로세싱하는데 나머지 50%. 일 실시예에 있어서, 여러 다른 유형의 물리 계층 메시지를 프로세싱하도록 배정된 SIMD 모듈의 수는 APD(200)에 의해 동적으로 결정될 수 있다. 각각의 유형의 메시지를 프로세싱하기 위한 SIMD 모듈의 수는 요구에 기반하고 APD(200)에 의해 동적으로 배정될 수 있음을 인식하여야 한다.
일례에 있어서, APD(200)는, 샘플링, 보간, 에일리어싱, 인코딩/디코딩, 필터링, 이산 변환, 인터리빙 등과 같은 복잡한 함수 및 단순한 행렬 및 벡터 연산과 같이, 신호/메시지 상에 수많은 수학적 연산을 실행할 수 있다. APD(200) 내부 SIMD 모듈(예를 들어, SIMD 모듈(210, 220, 230, 240))의 독립적 본성 및 APD(200)의 처분으로 이용가능한 계산 자원은 APD(200)가 위의 도 1에서 설명된 DSP 구현에 비해 더 높은 컴퓨팅 능력을 제공할 수 있음을 의미한다. 일례에 있어서, 병렬 프로세싱을 요구하는 알고리즘은 APD(200) 내 SIMD 모듈로부터 대단히 혜택을 볼 수 있다, 예를 들어, APD(200) 내부 SIMD 모듈(210, 220, 230, 240)은 다중 데이터 세트 상에 동일 연산을 실질적으로 동시에 수행할 수 있다. 일례에 있어서, SIMD는 DSP 구현에서는 행렬의 노드마다 개개의 계산을 하여야 하는 대신에 버터플라이 행렬의 칼럼 전체 상에 연산을 수행할 수 있다. 예를 들어, 관련 업계의 당업자에게 주지되어 있는 고속 푸리에 변환(FFT) 또는 비터비(Viterbi)와 같은 큰 버터플라이 알고리즘이 프로세싱 시간 및 전력을 절약하도록 강건한 방식으로 APD(200)에서 구현될 수 있다.
일 실시예에 있어서, APD(200)의 SIMD 모듈에서 이용가능한 큰 수의 컴퓨팅 자원은 여러 다른 유형의 물리 계층 메시지(예를 들어, 셀룰러, 와이파이 및 GPS)를 프로세싱하도록 사용될 수 있다. 부가적으로, APD(200)의 SIMD 모듈에서 이용가능한 큰 수의 컴퓨팅 자원은 모바일 컴퓨팅 시스템(200)에서 QoS를 개선하기 위하여 다수 버전(예를 들어, DSP보다 상당히 더 높은 수)의 지연된 신호를 조합하여 모바일 컴퓨팅 시스템(200)에서 더 양호한 인입 신호를 생성하도록 사용될 수 있다.
도 3은 본 발명의 일 실시예에 따라 다양한 계층을 갖는 시스템(300)을 도시하고 있다. 예를 들어, 시스템(300)은 CPU(301), APD(302) 및 라디오 주파수 집적 회로(RFIC)(303)를 포함할 수 있다. 소프트웨어 계층(311)은 CPU(301)에 거주할 수 있고, 무선 물리 계층(312)은 APD(302)에 거주할 수 있고, RF 계층(313)은 RFIC(303)에 거주할 수 있다. 일례에 있어서, 소프트웨어 계층(311)은 CPU(301)와 같이 x86 코어 상에 구현될 수 있는 애플리케이션 소프트웨어로 이루어질 수 있고, 물리 계층(312)은 APD(302) 상에 구현될 수 있는 물리 계층 메시지로 이루어질 수 있고, RF 계층(313)은 RFIC(303) 상에 구현될 수 있는 RF 메시지로 이루어질 수 있다.
일례에 있어서, 소프트웨어 계층(311)과 물리 계층(312) 간 시그널링은 CPU(301)와 APD(302) 간 고속 온-칩 인터커넥트(on-chip inter-connect)를 통해서일 수 있다. 고속 온-칩 커넥트는 예를 들어 도 4에서 상세하게 논의된다. 일례에 있어서, RFIC(303)와 SIMD 모듈 간 커넥션은, 관련 업계의 당업자에게 주지되어 있는, 연속 실행되고 있는 I 및 Q 페어를 사용할 수 있다. CPU(301)는 또한 기지국으로부터의 실시간 요청을 지원하도록 RFIC(303)에 대한 인터페이스를 제어할 수 있다.
일례에 있어서, 무선 모뎀은 컴퓨터의 PCB 상의 사우스브리지 칩에 접속되어 있을 수 있다. PCB 상의 이러한 링크는 사우스브리지 칩 내부의 주변 컴포넌트 인터커넥트 익스프레스(peripheral component interconnect exprcss: PCIe) 루트 콤플렉스 포트에 모뎀을 접속하도록 PCIe 프로토콜을 사용할 수 있다. 사우스 브리지 칩은 PCB 상의 또 다른 PCIe 링크를 통하여 노스 브리지에 PCIe 포맷 데이터를 보낼 수 있다. 일부 시스템은 무선 모뎀을 노스브리지에 직접 접속하여 성능을 개선할 수 있다. 양자의 경우에서, 데이터는 노스브리지 내부 PCIe 루트 콤플렉스 포트 중 하나에 의해 수신된다. 그 후 PCIe 포맷 데이터는 그것이, PCB를 통해, 그 데이터를 필요로 하는 애플리케이션을 실행 중인 호스트 CPU에 도달하기 전에 하이퍼트랜스포트 포맷으로 변환된다. 칩 및 PCB를 통한 전송을 용이하게 하기 위한 이러한 긴 경로 및 여러 다른 프로토콜로의 데이터의 변환/역-변환은 데이터 레이트가 증가함에 따라 병목 상태로 될 수 있다. 제안되는 구현에서, APD(302) 및 CPU(301)는 시스템을 효율적이게 하도록 아래 도 4에서 상세히 도시된 바와 같이 서로 및 시스템 메모리로의 직접 링크를 갖는다.
도 4는 2개의 프로세서, CPU(402) 및 APD(404)를 포함하는 일원화된 컴퓨팅 시스템(400)을 예시하는 선도(400)이다. CPU(402)는 하나 이상의 단일 또는 멀티 코어 CPU를 포함할 수 있다.
일례에 있어서, 시스템(400)은 시스템 메모리(406), 운영 체제(408) 및 통신 기반구조(409)를 또한 포함한다. 메모리(406)로의 액세스는 시스템 메모리(406)에 결합되어 있는 메모리 컨트롤러(440)에 의해 관리될 수 있다. 시스템(400)은 또한 커널 모드 드라이버(kernel mode driver: KMD)(410), 소프트웨어 스케줄러(software scheduler: SWS)(412) 및 입/출력 메모리 관리 유닛(input/output memory management unit: IOMMU)과 같은 메모리 관리 유닛(416)을 포함한다. 시스템(400)의 컴포넌트는 하드웨어, 펌웨어, 소프트웨어 또는 그 어느 조합으로라도 구현될 수 있다.
CPU(402)는 제어 프로세서, 필드 프로그래밍가능 게이트 어레이(FPGA), 주문형 반도체(ASIC) 또는 디지털 신호 프로세서(DSP) 중 하나 이상(도시되지 않음)을 포함할 수 있다. CPU(402)는, 예를 들어, 컴퓨팅 시스템(400)의 연산을 제어하는, 운영 체제(408), KMD(410), SWS(412) 및 애플리케이션(411)을 포함하는, 제어 로직을 실행한다. 이러한 예시적 실시예에 있어서, CPU(402)는, 일 실시예에 따라, 예를 들어 CPU(402) 및 APD(404)와 같은 다른 프로세싱 자원에 걸쳐 애플리케이션과 연관된 프로세싱을 분산함으로써 애플리케이션(411)의 실행을 개시 및 제어한다.
APD(404)는, 여러 다른 것을 중에서도, 그래픽 연산, 네트워크 메시지의 프로세싱, 및 예를 들어 병렬 프로세싱에 특히 잘 맞을 수 있는 다른 연산과 같은, 선택된 기능에 대한 커맨드 및 프로그램을 실행한다. 일반적으로, APD(404)는 픽셀 연산과 같은 그래픽 파이프라인 연산, 기하학 계산 및 디스플레이에 이미지의 렌더링을 위해 빈번하게 사용될 수 있다.
APD(404)는, 국한되는 것은 아니지만, 하나 이상의 SIMD 프로세싱 코어와 같은 그 자신의 계산 유닛(도시되지 않음)을 포함할 수 있다. 여기서 지칭되는 바와 같이, SIMD는 커널이 공유 프로그램 카운터 및 그 자신의 데이터를 각각 갖는 다중 프로세싱 엘리먼트 상에서 동시다발적으로 실행되는, 파이프라인 또는 프로그래밍 모델이다. 모든 프로세싱 엘리먼트는 똑같은 명령어 세트를 실행한다. 예측의 사용은 작업-항목이 각각의 발행된 커맨드 또는 명령어에 대해 참가하거나 하지 않게 한다. 하나 이상의 SIMD를 갖는 것은, 일반적으로, 그래픽 및 물리 계층 프로세싱에서 공통인 것들과 같은 데이터-병렬 태스크의 실행에 APD(404)가 이상적으로 잘 맞게 할 수 한다. SIMD의 병렬 본성은 또한 지연 라인의 포메이션을 가능하게 할 수 있고, DSL/VDSL 물리 계층에서 사용되는 컨벌루션 인터리빙/디-인터리빙 스킴(convolutional interleaving/de-interleaving scheme)의 강건한 구현을 용이하게 할 수 있다.
도시된 예에 있어서, 통신 기반구조(409)는 필요에 따라 시스템(400)의 컴포넌트를 상호접속한다. 통신 기반구조(409)는 컴퓨팅 시스템(100)의 컴포넌트를 포함하는 컴포넌트를 상호접속하는 기능성을 포함한다. 이 예에 있어서, 운영 체제(OS)(408)는 시스템(400)의 하드웨어 컴포넌트를 관리하고 공통 서비스를 제공하는 기능성을 포함한다. 다양한 실시예에 있어서, OS(408)는 CPU(402) 상에서 실행되고 공통 서비스를 제공할 수 있다. 이들 공통 서비스는, 예를 들어, CPU(402) 내 실행을 위한 애플리케이션 스케줄링, 장애 관리, 인터럽트 서비스와 더불어, 다른 애플리케이션의 입력 및 출력을 프로세싱하는 것도 포함할 수 있다.
일반적으로, IOMMU는 그 자신의 각각의 버스 및 I/O 디바이스(들)에 접속되어 있을 수 있다. 도 4에 있어서, 통신 기반구조(409)는, PCI 버스, AGP 버스, PCI-E 버스(더 정확히는 포인트-투-포인트 인터커넥트), 또는 현재 이용가능하든 장래에 개발되든 어느 다른 유형의 버스 또는 통신 채널을 포함하는, 컴퓨터 시스템에서 사용되는 어느 유형의 버스라도 될 수 있다. 통신 기반구조(409)는 인터럽트 컨트롤러(448), KMD(410), SWS(412), 애플리케이션(411) 및 OS(408)를 시스템(400) 내 다른 컴포넌트와 더 상호접속할 수 있다.
대안으로, 프로세서(402)의 노드들 간 어떠한 다른 코히어런트 인터커넥트라도 사용될 수 있고 그리고/또는 프로세서 노드와 I/O 디바이스 간 어떠한 다른 I/O 인터커넥트라도 사용될 수 있다. 더욱, 다른 일례는 전통적 PC 설계에 있어서, 시스템 메모리(406) 및 하나 이상의 I/O 인터커넥트에 더 결합되어 있는, 노스브리지에 결합된 프로세서(402)를 포함할 수 있다.
도 4에 예시된 바와 같이, IOMMU(416)는 시스템 메모리(406)와 I/O 디바이스(450, 452, 454) 사이에 접속되어 있다. 더욱, IOMMU(416)는 시스템 메모리(406), 메모리 컨트롤러(440) 및 I/O 디바이스(450, 452, 454)와는 별개의 칩 상에 위치하고 있을 수 있다. IOMMU(416)는 주 시스템 자원을 관리하도록 설계될 수 있고 I/O 페이지 테이블(424)을 사용하여 허가 검사, I/O 디바이스에 의해 액세스되는 메모리 상의 주소 번역, 및 시스템 메모리 내 페이지의 캐시될 수 있는 특성을 제공할 수 있다. 메모리 내 페이지의 하나 이상의 속성은 페이지의 캐시될 수 있는 특성을 정의할 수 있다. 또한, I/O 페이지 테이블은 AMD64 롱 포맷으로 설계될 수 있다. 디바이스 테이블(426)은 I/O 디바이스가 특정 도메인에 배정될 수 있게 한다. 디바이스 테이블(426)은 또한 I/O 디바이스의 페이지 테이블로의 포인터를 포함하도록 구성될 수 있다.
도 5는 본 발명의 일 실시예에 따른 방법(500)의 순서도이다. 예를 들어, 방법(500)은 APD(302)에서 물리 계층 메시지를 프로세싱하도록 사용될 수 있다. 일례에 있어서, 방법(500)은 편의상 그러나 제한으로서는 아니게 아래에서 참조되는 위 도 2 내지 도 4에서 논의되는 시스템 중 하나 이상에서 동작할 수 있다. 방법(500)은 도시된 순서로 수행되지 않을 수도, 도시된 동작 전부를 요구하지는 않을 수도 있음을 인식하여야 한다.
단계(510)에서, RF 신호는 수신된 신호로부터 반송파 신호를 제거하고 수신된 아날로그 신호를 디지털 신호로 변환하는 RFIC(303)를 통해 APD(302)에 의해 수신된다. 예를 들어, APD(302)는 RFIC(303)로부터 프로세싱을 위한 RF 신호를 수신할 수 있다. RF 신호는 셀룰러 신호(예를 들어, 와이맥스, LTE 및 LTE 어드밴스트), 와이파이 신호, GPS 신호 등일 수 있다. RF 신호는 물리 계층(312)의 수신기에 접속된 디지털 I 및 Q 페어를 통하여 RFIC(303)로부터 APD(302)에 송신될 수 있다. I 및 Q 페어의 사용은 관련 업계의 당업자에게 주지되어 있다. 일 실시예에 있어서, 수신된 신호는 디지털 가입자 회선(DSL) 또는 초-고-비트 레이트 디지털 가입자 회선(VDSL 또는 VHDSL) 신호일 수 있다. 지상 회선 통신에 있어서, 메시지는 중앙국(CO)으로부터 고객 구내 장비(CPE)로 유선을 통해 보내진다. 이들 메시지는 DSL/VDSL/VHDSL 아날로그 물리 계층에 의해 수신되고, 디지털로 변환되고 프로세싱을 위해 SIMD에 포워딩된다. 예를 들어, 이러한 접근법의 이점 중 하나는 프로세싱을 위해 컴퓨터에 보내도록 DSL 메시지를 이더넷 메시지로 변환하는 것을 없애는 것이다.
단계(520)에서는, 수신된 RF 신호가 SIMD 모듈에 배정된다. 예를 들어, APD(302)는 수신된 RF 신호를 프로세싱을 위해 SIMD 모듈에 배정할 수 있다. 일례에서는, 수신된 셀룰러 신호가 프로세싱을 위해 SIMD 모듈(210)에 배정될 수 있다. 신호를 프로세싱하도록 배정되는 SIMD 모듈의 수는 도 3에 도시된 바와 같은 것으로 한정되지는 않는다. APD(302)는 수신된 RF 신호의 우선순위에 기반하여 수신된 신호를 프로세싱할 SIMD 모듈을 배정할 수 있다. 예를 들어, 수신된 RF 신호가 시간에 민감한 데이터, 예를 들어, 모바일 컴퓨팅 플랫폼(100) 상의 라이브 스트리밍 비디오의 전송과 연관되어 있으면, APD(302)는 RF 신호를 프로세싱하도록 다중 SIMD 모듈을 배정할 수 있다.
일례에 있어서, APD(302)에 의한 SIMD 모듈의 배정은 모바일 컴퓨팅 플랫폼(100) 상의 안테나(도시되지 않음)의 수에 의존할 수 있다. 예를 들어, 모바일 컴퓨팅 플랫폼(100)이 통신 성능을 개선하도록 다중-입력 및 다중-출력(MIMO) 구성을 사용하면, APD(302)는 성능을 개선하도록 RF 신호를 프로세싱할 다중 SIMD 모듈을 배정할 수 있다. 모바일 컴퓨팅 플랫폼(100) 상의 MIMO 구성은 통신 성능을 개선하도록 모바일 컴퓨팅 플랫폼(100)의 송신기에서도 그리고 수신기에서도 다중 안테나를 사용할 수 있다. MIMO는 관련 업계의 당업자에게 주지되어 있는 스마트 안테나 기술의 수개 형태 중 하나이다.
단계(530)에서, 물리 계층 메시지는 수신된 RF 신호로부터 추출된다. 예를 들어, APD(304)는, SIMD 모듈(210)을 통하여, 수신된 셀룰러 RF 신호를 프로세싱하고 물리 계층 메시지를 추출할 수 있다. 관련 업계의 당업자에게 주지되어 있는 어떠한 추출 방법이라도 사용될 수 있다.
단계(540)에서, 추출된 물리 계층 메시지는 RF 신호를 통하여 송신된 데이터를 획득하도록 SIMD 모듈에 의해 프로세싱된다. 예를 들어, APD(302)는, 배정된 SIMD 모듈(210)을 통하여, RF 신호를 통하여 송신된 데이터를 획득하도록 그 수신된 RF 신호로부터 추출된 물리 계층 메시지를 프로세싱한다. 단계(540)가 완료되고 나면, 방법(500)은 종료된다.
개요 및 요약 절은 발명자(들)에 의해 고려되는 바와 같이 본 발명의 하나 이상의 그러나 모두는 아닌 전형적 실시예를 제시하며, 그리하여, 본 발명 및 첨부 청구범위를 어떠한 식으로도 한정하려는 의도는 아니다.
본 발명은 특정 기능 및 그 관계의 구현을 예시하는 기능적 구조 블록의 도움으로 위에서 설명되었다. 이들 기능적 구조 블록의 경계는 설명의 편의를 위해 여기서 임의로 정의되었다. 특정 기능 및 그 관계가 적절히 수행되는 한 대체 경계가 정의될 수 있다.
특정 실시예의 상기 설명은 타인이 본 발명의 일반적 개념으로부터 벗어남이 없이 과도한 실험 없이 당업자의 지식을 적용함으로써 그러한 특정 실시예의 다양한 응용을 위해 쉽게 수정 및/또는 적응할 수 있도록 그렇게 본 발명의 일반적 본성을 충분히 드러낼 것이다. 그래서, 그러한 적응 및 수정은, 여기서 제시된 교시 및 가이드에 기반하여, 개시된 실시예의 균등물의 의미 및 범위 내에 있는 것으로 의도된다. 본 명세서의 어법 또는 술어는 그 교시 및 가이드에 비추어 당업자에 의해 해석되도록 여기에서의 어법 또는 술어는 제한이 아닌 설명의 목적을 위한 것임을 이해해야 한다.
본 발명의 폭 및 범위는 위에서 설명된 전형적 실시예 중 어느 것에 의해서도 한정되어서는 안 되며, 이하의 청구범위 및 그들 균등물에 의해서만 정의되어야 한다.

Claims (24)

  1. 가속 프로세싱 디바이스(Accelerated Processing Device, APD)에서 네트워크 메시지(network message)들을 프로세싱하는 방법으로서, 상기 방법은,
    무선 주파수(Radio Frequency, RF) 신호를 수신하는 단계와;
    프로세싱을 위해 상기 수신된 RF 신호를 상기 APD 내의 단일 명령 복수 데이터(Single Instruction Multiple Data, SIMD) 모듈(module)에 할당(assigning)하는 단계와, 여기서 상기 APD는 복수의 SIMD 모듈들을 포함하고;
    할당된 SIMD 모듈에서 상기 RF 신호로부터 적어도 하나의 물리 계층 메시지(physical layer message)를 추출(extracting)하는 단계와, 여기서 각각의 SIMD 모듈은 상이한 유형(type)의 물리 계층 메시지를 프로세싱하도록 할당되고; 그리고
    상기 RF 신호를 통해 전송된 데이터를 획득하기 위해 상기 할당된 SIMD 모듈에서 상기 추출된 적어도 하나의 물리 계층 메시지를 프로세싱하는 단계를 포함하여 구성되고,
    임의의 지연(delay)된 물리 계층 메시지들은 신호 품질(signal quality)을 개선(improve)하기 위해 프로세싱 전에 결합되고, 상기 SIMD 모듈들 각각은 상기 추출된 적어도 하나의 물리 계층 메시지들의 병렬 프로세싱(parallel processing)을 수행하는 것을 특징으로 하는 가속 프로세싱 디바이스(APD)에서 네트워크 메시지들을 프로세싱하는 방법.
  2. 제1항에 있어서,
    복수의 RF 신호들이 병렬로 수신되고, 상기 복수의 RF 신호들이 병렬로 수신되는 것은 상기 복수의 RF 신호들 중 적어도 하나가 복수 경로 전파(multi-path propagation)로 인해 지연되기 때문인 것을 특징으로 하는 가속 프로세싱 디바이스(APD)에서 네트워크 메시지들을 프로세싱하는 방법.
  3. 제1항에 있어서,
    상기 방법은 또한, 송신측(transmitting party)과 수신측(receiving party) 간에 합의(agree)된 코드(code)를 사용하여 상기 송신측과 상기 수신측 간의 신호들을 추적(tracking)하는 것을 포함하는 것을 특징으로 하는 가속 프로세싱 디바이스(APD)에서 네트워크 메시지들을 프로세싱하는 방법.
  4. 제1항에 있어서,
    상기 APD 내의 상기 SIMD 모듈들과 CPU 간의 통신은 온-칩 상호-연결(on-chip inter-connect)을 통해 이루어지는 것을 특징으로 하는 가속 프로세싱 디바이스(APD)에서 네트워크 메시지들을 프로세싱하는 방법.
  5. 제1항에 있어서,
    수신된 상기 RF 신호는 셀룰러 신호(cellular signal), WiFi 신호 및 GPS(Global Positioning) 신호 중 적어도 하나인 것을 특징으로 하는 가속 프로세싱 디바이스(APD)에서 네트워크 메시지들을 프로세싱하는 방법.
  6. 제5항에 있어서,
    상기 APD의 SIMD 자원(resource)들이 RF 신호 및 그래픽 프로세싱 간에 배분(allocate)되는 것을 특징으로 하는 가속 프로세싱 디바이스(APD)에서 네트워크 메시지들을 프로세싱하는 방법.
  7. 네트워크 메시지들을 프로세싱하는 컴퓨팅 시스템(computing system)으로서, 상기 컴퓨팅 시스템은,
    메모리 관리 유닛(memory management unit)을 포함하는 CPU와,
    상기 CPU는 공통 기반구조 버스(common infrastructure bus)를 통해 소프트웨어 애플리케이션 모듈(software applications module), 운영 체제 모듈(operating system module), 및 입력-출력 메모리 관리 유닛(Input-Output Memory Management Unit, IOMMU) 모듈에 연결되며;
    상기 소프트웨어 애플리케이션 모듈에 액세스(accessing)하기 위해 상기 기반구조 버스에 연결된 소프트웨어 스케줄러 회로(SoftWare Scheduler circuit)(SWS)와;
    상기 기반구조 버스에 연결된 인터럽트 컨트롤러 회로(interrupt controller circuit)와;
    메모리 컨트롤러 회로 및 운영 체제 회로와,
    상기 메모리 컨트롤러 회로 및 상기 운영 체제 회로는 각각 상기 기반구조 버스에 연결되고, 상기 메모리 컨트롤러 회로는 또한 상기 IOMMU 모듈에 연결되고 아울러 별개의 시스템 메모리 모듈에 연결되며;
    복수의 입력-출력 디바이스들과,
    상기 복수의 입력-출력 디바이스들은 각각 RF 신호를 수신하기 위해 상기 IOMMU 모듈에 연결되며; 그리고
    복수의 단일 명령 복수 데이터(SIMD) 모듈들을 갖는 적어도 하나의 가속 프로세싱 디바이스(APD)를 포함하여 구성되고,
    상기 적어도 하나의 가속 프로세싱 디바이스(APD)는 프로세싱을 위해 상기 수신된 RF 신호를 SIMD 모듈에 할당하도록 되어 있고,
    상기 할당된 SIMD 모듈은 상기 RF 신호로부터 적어도 하나의 물리 계층 메시지를 추출하도록 되어 있고,
    각각의 SIMD 모듈은 상이한 유형의 물리 계층 메시지를 프로세싱하도록 할당되고,
    상기 할당된 SIMD 모듈은 상기 RF 신호를 통해 전송된 데이터를 획득하기 위해 상기 할당된 SIMD 모듈 내에서 상기 추출된 적어도 하나의 물리 계층 메시지를 프로세싱하도록 되어 있고,
    임의의 지연된 물리 계층 메시지들은 신호 품질을 개선하기 위해 프로세싱 전에 결합되고, 상기 SIMD 모듈들 각각은 상기 추출된 적어도 하나의 물리 계층 메시지들의 병렬 프로세싱을 수행하고,
    상기 APD는 상기 기반구조 버스에 연결되고 아울러 커널 모드 드라이버(Kernel Mode Driver, KMD) 회로에 연결되며, 상기 KMD 회로는 또한 상기 기반구조 버스에 연결되는 것을 특징으로 하는 네트워크 메시지들을 프로세싱하는 컴퓨팅 시스템.
  8. 제7항에 있어서,
    상기 RF 신호는 셀룰러 신호, WiFi 신호 및 GPS 신호 중 적어도 하나인 것을 특징으로 하는 네트워크 메시지들을 프로세싱하는 컴퓨팅 시스템.
  9. 제7항에 있어서,
    상기 APD의 SIMD 자원들이 RF 신호 및 그래픽 프로세싱 간에 배분되는 것을 특징으로 하는 네트워크 메시지들을 프로세싱하는 컴퓨팅 시스템.
  10. 제7항에 있어서,
    상기 APD 내의 상기 SIMD 모듈들은 CPU와 온-칩 상호-연결을 통해 통신하는 것을 특징으로 하는 네트워크 메시지들을 프로세싱하는 컴퓨팅 시스템.
  11. 비일시적 컴퓨터 판독가능 저장 디바이스(non-transitory computer readable storage device)로서,
    상기 비일시적 컴퓨터 판독가능 저장 디바이스는, 컴퓨팅 디바이스에 의해 실행될 때 상기 컴퓨팅 디바이스로 하여금
    무선 주파수(RF) 신호를 수신하는 동작과;
    프로세싱을 위해 상기 수신된 RF 신호를 가속 프로세싱 디바이스(APD) 내의 단일 명령 복수 데이터(SIMD) 모듈에 할당하는 동작과, 여기서 상기 APD는 복수의 SIMD 모듈들을 포함하고;
    할당된 SIMD 모듈에서 상기 RF 신호로부터 적어도 하나의 물리 계층 메시지를 추출하는 동작과, 여기서 각각의 SIMD 모듈은 상이한 유형의 물리 계층 메시지를 프로세싱하도록 할당되고; 그리고
    상기 RF 신호를 통해 전송된 데이터를 획득하기 위해 상기 할당된 SIMD 모듈에서 상기 추출된 적어도 하나의 물리 계층 메시지를 프로세싱하는 동작을 포함하는 동작들을 수행하도록 하는 컴퓨터 프로그램 로직(computer program logic)이 기록된 비일시적 컴퓨터 판독가능 저장 디바이스이고,
    임의의 지연된 물리 계층 메시지들은 신호 품질을 개선하기 위해 프로세싱 전에 결합되고, 상기 SIMD 모듈들 각각은 상기 추출된 적어도 하나의 물리 계층 메시지들의 병렬 프로세싱을 수행하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 디바이스.
  12. 제11항에 있어서,
    복수의 RF 신호들이 병렬로 수신되고, 상기 복수의 RF 신호들이 병렬로 수신되는 것은 상기 복수의 RF 신호들 중 적어도 하나가 복수 경로 전파로 인해 지연되기 때문인 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 디바이스.
  13. 제12항에 있어서,
    결합될 신호들을 추적하기 위해 송신측과 수신측 간에 합의된 코드를 사용하는 것을 또한 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 디바이스.
  14. 제11항에 있어서,
    수신된 상기 RF 신호는 셀룰러 신호, WiFi 신호 및 GPS 신호 중 적어도 하나인 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 디바이스.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020157004713A 2012-08-03 2013-08-02 가속 프로세싱 디바이스에서 네트워크 메시지를 프로세싱하기 위한 방법 및 시스템 KR101949999B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/566,890 2012-08-03
US13/566,890 US9319254B2 (en) 2012-08-03 2012-08-03 Methods and systems for processing network messages in an accelerated processing device
PCT/IB2013/002440 WO2014020450A2 (en) 2012-08-03 2013-08-02 Methods and systems for processing network messages in an accelerated processing device

Publications (2)

Publication Number Publication Date
KR20150038284A KR20150038284A (ko) 2015-04-08
KR101949999B1 true KR101949999B1 (ko) 2019-02-19

Family

ID=50025466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157004713A KR101949999B1 (ko) 2012-08-03 2013-08-02 가속 프로세싱 디바이스에서 네트워크 메시지를 프로세싱하기 위한 방법 및 시스템

Country Status (7)

Country Link
US (1) US9319254B2 (ko)
EP (1) EP2880900B1 (ko)
JP (1) JP6505012B2 (ko)
KR (1) KR101949999B1 (ko)
CN (1) CN104541542B (ko)
IN (1) IN2015DN00496A (ko)
WO (1) WO2014020450A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787457B2 (en) 2013-10-07 2017-10-10 Commscope Technologies Llc Systems and methods for integrating asynchronous signals in distributed antenna system with direct digital interface to base station
US9843550B2 (en) * 2015-11-29 2017-12-12 International Business Machines Corporation Processing messages in a data messaging system using constructed resource models
US20180005346A1 (en) * 2016-07-01 2018-01-04 Google Inc. Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US20180007302A1 (en) 2016-07-01 2018-01-04 Google Inc. Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US10988274B2 (en) 2017-02-07 2021-04-27 Adhezion Biomedical, Llc Packaging for adhesive compositions
US10963035B2 (en) * 2017-10-11 2021-03-30 Qualcomm Incorporated Low power PCIe
US10740163B2 (en) * 2018-06-28 2020-08-11 Advanced Micro Devices, Inc. Network packet templating for GPU-initiated communication
CN112528456B (zh) * 2019-09-18 2024-05-07 曙光信息产业(北京)有限公司 一种异构节点计算系统及方法
US11960813B2 (en) 2021-08-02 2024-04-16 Advanced Micro Devices, Inc. Automatic redistribution layer via generation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216700A1 (en) 2004-03-26 2005-09-29 Hooman Honary Reconfigurable parallelism architecture
US20110188391A1 (en) 2010-02-04 2011-08-04 Texas Instruments Incorporated INTERRELATED WiFi AND USB PROTOCOLS AND OTHER APPLICATION FRAMEWORK PROCESSES, CIRCUITS AND SYSTEMS
US8139608B2 (en) 2002-02-19 2012-03-20 Broadcom Corporation Method and apparatus optimizing a radio link

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364136B2 (en) 1999-02-01 2013-01-29 Steven M Hoffberg Mobile system, a method of operating mobile system and a non-transitory computer readable medium for a programmable control of a mobile system
JP2008153833A (ja) * 2006-12-15 2008-07-03 Sony Corp 無線通信装置及び無線通信方法
EP2401831B1 (en) * 2009-02-24 2015-06-10 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for allocating processing delays in multi-carrier systems
US8630592B2 (en) * 2009-04-14 2014-01-14 Qualcomm Incorporated System and method for triggering a wireless connection
JP2011007683A (ja) * 2009-06-26 2011-01-13 Seiko Epson Corp マルチパス信号信頼度判定方法、コード位相誤差算出方法、コード位相算出方法、位置算出方法及びマルチパス信号信頼度判定装置
US8669990B2 (en) * 2009-12-31 2014-03-11 Intel Corporation Sharing resources between a CPU and GPU
US20110302390A1 (en) * 2010-06-05 2011-12-08 Greg Copeland SYSTEMS AND METHODS FOR PROCESSING COMMUNICATIONS SIGNALS fUSING PARALLEL PROCESSING
US20120246381A1 (en) * 2010-12-14 2012-09-27 Andy Kegel Input Output Memory Management Unit (IOMMU) Two-Layer Addressing
US9606936B2 (en) * 2010-12-16 2017-03-28 Advanced Micro Devices, Inc. Generalized control registers
US8719464B2 (en) * 2011-11-30 2014-05-06 Advanced Micro Device, Inc. Efficient memory and resource management
US20130145051A1 (en) * 2011-12-02 2013-06-06 Andrew Kegel Direct Device Assignment
US20130145055A1 (en) * 2011-12-02 2013-06-06 Andrew Kegel Peripheral Memory Management
US20130262736A1 (en) * 2012-03-30 2013-10-03 Ati Technologies Ulc Memory types for caching policies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8139608B2 (en) 2002-02-19 2012-03-20 Broadcom Corporation Method and apparatus optimizing a radio link
US20050216700A1 (en) 2004-03-26 2005-09-29 Hooman Honary Reconfigurable parallelism architecture
US20110188391A1 (en) 2010-02-04 2011-08-04 Texas Instruments Incorporated INTERRELATED WiFi AND USB PROTOCOLS AND OTHER APPLICATION FRAMEWORK PROCESSES, CIRCUITS AND SYSTEMS

Also Published As

Publication number Publication date
WO2014020450A2 (en) 2014-02-06
CN104541542B (zh) 2018-11-23
EP2880900A2 (en) 2015-06-10
EP2880900B1 (en) 2023-05-31
US9319254B2 (en) 2016-04-19
JP6505012B2 (ja) 2019-04-24
KR20150038284A (ko) 2015-04-08
EP2880900A4 (en) 2016-03-23
WO2014020450A3 (en) 2014-05-30
JP2015532798A (ja) 2015-11-12
CN104541542A (zh) 2015-04-22
US20140037027A1 (en) 2014-02-06
IN2015DN00496A (ko) 2015-06-26

Similar Documents

Publication Publication Date Title
KR101949999B1 (ko) 가속 프로세싱 디바이스에서 네트워크 메시지를 프로세싱하기 위한 방법 및 시스템
Lin et al. Wireless network cloud: Architecture and system requirements
EP3235195B1 (en) Spatially divided circuit-switched channels for a network-on-chip
KR20120127644A (ko) 전력 배분을 구현하는 시스템 및 방법
US9992042B2 (en) Pipelined hybrid packet/circuit-switched network-on-chip
JP2021503737A (ja) システム情報の送信方法、装置、コンピューターデバイス及び記憶媒体
WO2021139832A1 (zh) 一种非周期srs发送方法及相关设备
CN109150379A (zh) 一种通信方法、网络设备及终端设备
JP2015532798A5 (ko)
CN115348797A (zh) 用于数据中心冷却系统的智能制冷剂-制冷剂热交换器
CN102143109A (zh) 调制解调器架构
CN107436876A (zh) 文件分割系统及方法
JP2012178156A (ja) 無線リソースの共有による機能拡張技術
US20150347332A1 (en) A common public radio interface lane controller
US20150220371A1 (en) Energy aware information processing framework for computation and communication devices coupled to a cloud
JP2024513090A (ja) 60GHzシナリオのためのTDRAの機能強化
US20230199738A1 (en) Method, device and storage medium for configuring a physical downlink control channel
CN113079481A (zh) 安卓物联网设备实现上网的方法及装置
KR102289771B1 (ko) 멀티코어 시스템온칩을 이용한 와이파이와 소형셀 통합 지원 기지국 장치 및 그 방법
Volkov et al. Development of a Complex Model for VoIP Technology with the Possibility of Application in 5G Networks
WO2022042698A1 (zh) 数据发送方法及装置、存储介质、电子装置
CN110875890B (zh) 一种信息传输方法、装置及系统
WO2020019322A1 (zh) 信息传输的方法和装置
CN108738035B (zh) 一种多制式基带芯片的数据处理方法及装置、处理设备
Urazayev Implementation of G3-PLC standard on the basis of 1967ВН034 processor made in Russia

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant