KR20200135342A - 분산 프로세서 시스템 - Google Patents

분산 프로세서 시스템 Download PDF

Info

Publication number
KR20200135342A
KR20200135342A KR1020207026780A KR20207026780A KR20200135342A KR 20200135342 A KR20200135342 A KR 20200135342A KR 1020207026780 A KR1020207026780 A KR 1020207026780A KR 20207026780 A KR20207026780 A KR 20207026780A KR 20200135342 A KR20200135342 A KR 20200135342A
Authority
KR
South Korea
Prior art keywords
stream
processor
channel
processing system
coprocessor
Prior art date
Application number
KR1020207026780A
Other languages
English (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 KR20200135342A publication Critical patent/KR20200135342A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • 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 or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

본 개시내용은 다수의 처리 채널을 구성하기 위한 분산 처리 시스템에 관한 것이다. 분산 처리 시스템은 스트림 프로세서와 같은 복수의 코프로세서에 통신적으로 연결된 ARM 프로세서와 같은 메인 프로세서를 포함한다. 코프로세서는 서로 병렬로 명령어를 실행하고 ARM 프로세서를 인터럽트할 수 있다. 더 긴 레이턴시의 명령어는 메인 프로세서에서 실행될 수 있고 더 낮은 레이턴시의 명령어는 코프로세서에서 실행될 수 있다. 분산 처리 시스템에서 스트림을 트리거링할 수 있는 방법에는 여러 가지가 있다. 일 실시예에서, 분산 처리 시스템은 서로 다른 레지스터 세트에 액세스하도록 구성된 스트림 프로세서 및 ARM 프로세서를 포함하는 스트림 프로세서 시스템이다. 스트림 프로세서는 각자의 송신 및 수신 채널에 메인 스트림 프로세서 및 스트림 프로세서를 포함할 수 있다. 스트림 프로세서 시스템은 동작을 위해 라디오를 구성하기 위해 라디오 시스템에서 구현될 수 있다.

Description

분산 프로세서 시스템
관련 출원에 대한 상호 참조
본 출원은 발명의 명칭이 "스트림 프로세서 시스템"인 2018년 3월 27일에 출원된 미국 가특허 출원 번호 62/648,842의 35 U.S.C. § 119(e)에 따른 우선권의 이익을 주장하며, 그 개시내용은 전문이 여기에 참조로 포함된다.
기술 분야
설명된 기술은 일반적으로 전자장치, 특히 프로세서와 관련된다.
특정 전자 시스템은 복수의 처리 채널을 포함할 수 있다. 예를 들어, 라디오 시스템의 처리 채널에는 송신 채널과 수신 채널이 포함될 수 있다. 전자 시스템이 더 많은 처리 채널을 포함하도록 확장됨에 따라 다양한 처리 채널을 제어하는 것이 더 어려워질 수 있다. 처리 채널을 구성하는 몇몇 이전 방식들은 더 많은 처리 채널을 포함하는 전자 시스템의 확장에 어려움을 겪을 수 있다. 이러한 어려움에는 무엇보다도 설계 복잡성 증가가 포함될 수 있다.
청구범위에 설명된 혁신은 각각 여러 양태를 가지고 있으며, 그중 단 하나만으로 그 바람직한 속성들이 전적으로 달성되는 것은 아니다. 청구범위의 범위를 제한하지 않고, 본 개시내용의 몇몇 두드러진 특징이 이제 간단하게 설명될 것이다.
본 개시내용의 일 양태는 다수의 처리 채널을 구성하기 위한 분산 처리 시스템이다. 분산 처리 시스템은 메인 프로세서 명령어를 실행하도록 구성된 메인 프로세서와 복수의 처리 채널을 포함한다. 각각의 처리 채널에는 데이터를 저장하도록 구성된 레지스터, 코프로세서 및 트리거 인터페이스가 포함된다. 코프로세서는 메인 프로세서 명령어보다 낮은 레이턴시를 갖는 코프로세서 명령어를 실행하고, 코프로세서로 하여금 코프로세서 명령어의 제1 명령어 세트를 실행하게 하는 트리거를 메인 프로세서로부터 수신하도록 구성된다. 코프로세서 명령어는 레지스터 중 적어도 하나에 액세스하기 위한 적어도 하나의 명령어를 포함한다. 트리거 인터페이스는 외부로부터 분산 처리 시스템으로의 입력 신호를 수신하고, 코프로세서로 하여금 입력 신호 수신에 응답하여 코프로세서 명령어의 제2 명령어 세트를 실행하게 하도록 구성된다.
분산 처리 시스템은 메인 프로세서 및 각각의 코프로세서와 통신하는 메인 코프로세서를 더 포함할 수 있다. 메인 코프로세서는 처리 채널의 각각의 코프로세서에서 스트림을 트리거링할 수 있다. 메인 코프로세서는 각각의 처리 채널의 레지스터에 액세스할 수 있다. 메인 코프로세서는 각각의 처리 채널의 트리거 인터페이스와 통신할 수 있다. 메인 코프로세서는 메인 프로세서에 인터럽트를 제공할 수 있다. 메인 코프로세서는 처리 채널의 코프로세서에 대한 다수의 요청을 대기열화(queue)할 수 있다. 처리 채널은 라디오의 송신 채널과 라디오의 수신 채널을 포함할 수 있으며, 처리 채널의 레지스터는 동작을 위해 라디오를 구성할 수 있다.
분산 처리 시스템은 하이 레벨 커맨드를 수신하고 하이 레벨 커맨드 수신에 응답하여 처리 채널에서 적어도 100개의 레지스터에 기입할 수 있다. 하이 레벨 커맨드는 채널 턴온 커맨드일 수 있으며 분산 처리 시스템은 채널 턴온 커맨드 수신에 응답하여 시동 프로세스를 구현하도록 구성된다.
처리 채널의 각각의 코프로세서는 전용 신호 라인을 통해 메인 프로세서에 인터럽트를 제공할 수 있다. 처리 채널의 각각의 코프로세서는 서로 병렬로 명령어를 실행할 수 있다.
메인 프로세서는 ARM(advanced reduced instruction set machine computer) 프로세서일 수 있다. 각각의 처리 채널의 코프로세서는 스트림 프로세서가 될 수 있다.
채널의 라디오 레지스터는 수신 채널 또는 송신 채널의 아날로그 회로 블록을 구성하는 데 사용할 수 있다. 아날로그 회로 컴포넌트는 라디오의 송신기에 포함될 수 있다. 처리 채널은 라디오의 수신 채널 및 라디오의 송신 채널을 포함할 수 있다.
처리 채널의 각각의 코프로세서는 코프로세서 명령어의 타이밍 민감 명령어를 실행하도록 구성된 전용 회로를 포함할 수 있다. 각각의 코프로세서는 재구성 가능할 수 있다.
분산 처리 시스템은 모놀리식 집적 회로에서 구현될 수 있다.
본 개시내용의 다른 양태는 복수의 라디오 채널 및 메인 프로세서를 포함하는 분산 처리 시스템으로 라디오를 구성하는 방법이다. 이 방법은 라디오 채널 중의 라디오 채널의 코프로세서에서 스트림을 트리거링하는 단계- 코프로세서는 메인 프로세서와 통신하고, 상기 코프로세서는 상기 라디오 채널의 레지스터에 액세스하도록 구성됨 -; 적어도 라디오 채널의 레지스터 중의 레지스터에 값을 설정하기 위해 코프로세서에서 스트림을 실행하는 단계- 레지스터의 값은 라디오의 라디오 동작을 제어하도록 구성됨 -; 및 코프로세서에 의해 스트림 완료에 응답하여 반환값을 제공하는 단계를 포함한다.
방법은 코프로세서에서 스트림을 실행하는 것과 동시에 라디오 채널의 제2 라디오 채널의 제2 코프로세서에서 제2 스트림을 실행하는 단계를 더 포함할 수 있다.
트리거링은 분산 처리 시스템의 외부에 있는 베이스밴드 프로세서로부터 라디오 채널의 트리거 인터페이스에 의해 수신된 입력 신호에 응답할 수 있다. 메인 프로세서는 트리거링을 위한 트리거를 제공할 수 있다. 메인 코프로세서는 트리거링을 위한 트리거를 제공할 수 있고, 여기서 메인 코프로세서는 메인 프로세서, 코프로세서 및 라디오 채널의 다른 라디오 채널에 있는 다른 코프로세서와 통신한다.
방법은 실행에 응답하여 전용 신호 라인을 통해 메인 프로세서에 인터럽트를 제공하는 단계를 더 포함할 수 있다.
본 개시내용의 다른 양태는 라디오 시스템의 처리 채널을 구성하기 위한 스트림 처리 시스템이다. 스트림 처리 시스템에는 송신 채널, 수신 채널, 메인 스트림 프로세서 및 ARM(advanced reduced instruction set machine computer) 프로세서가 포함된다. 각각의 송신 채널은 송신 레지스터 및 송신 채널 스트림 프로세서를 포함한다. 송신 레지스터는 동작을 위해 라디오의 송신기를 구성하도록 배열된다. 각각의 수신 채널은 수신 레지스터와 수신 채널 스트림 프로세서를 포함한다. 수신 레지스터는 동작을 위해 라디오의 수신기를 구성하도록 배열된다. 메인 스트림 프로세서는 각각의 송신 채널의 송신 채널 스트림 프로세서 및 각각의 수신 채널 스트림 프로세서의 수신 채널 스트림 프로세서에서 스트림을 트리거링하도록 구성된다. ARM 프로세서는 메인 스트림 프로세서, 각각의 송신 채널의 송신 채널 스트림 프로세서 및 각각의 수신 채널 스트림 프로세서의 수신 채널 스트림 프로세서와 통신적으로 결합된다.
각각의 송신 채널은 외부로부터 스트림 처리 시스템으로의 입력 신호를 수신하고 각자의 송신 채널 스트림 프로세서에서 스트림을 트리거링하도록 구성된 스트림 트리거 인터페이스를 포함할 수 있다.
각각의 송신 채널 스트림 프로세서 및 각각의 수신 채널 스트림 프로세서는 ARM 프로세서에 인터럽트를 제공할 수 있다.
ARM 프로세서는 높은 레이턴시의 명령어를 실행할 수 있고 송신 채널 스트림 프로세서는 높은 레이턴시의 명령어보다 낮은 레이턴시를 가진 낮은 레이턴시의 명령어를 실행할 수 있다.
송신 채널은 적어도 4개의 송신 채널을 포함할 수 있고 수신 채널은 적어도 4개의 수신 채널을 포함할 수 있다.
각각의 송신 채널 스트림 프로세서는 타이밍 민감 명령어를 실행하도록 구성된 전용 회로를 포함할 수 있다.
개시내용을 요약하기 위해, 혁신의 특정 양태, 이점 및 신규한 특징이 본 명세서에 설명되었다. 이러한 모든 이점이 반드시 임의의 특정 실시예에 따라 달성될 수 있는 것은 아니라는 것을 이해해야 한다. 따라서, 혁신은 본 명세서에서 교시되거나 제안될 수 있는 다른 이점을 반드시 달성하지는 않으면서 본 명세서에서 교시된 바와 같은 하나의 이점 또는 이점 그룹을 달성하거나 최적화하는 방식으로 구현되거나 수행될 수 있다.
본 명세서의 도면 및 관련 설명은 본 개시내용의 특정 실시예를 예시하기 위해 제공되며 제한하려는 의도가 아니다.
도 1은 일 실시예에 따른 라디오 응용을 위한 예시적인 스트림 프로세서 시스템의 개략적인 블록도이다.
도 2는 일 실시예에 따른 분산 처리 시스템을 갖는 디지털 신호 프로세서를 포함하는 라디오 시스템의 개략도이다.
도 3은 도 1의 스트림 프로세서 시스템의 라디오 제어 동작을 위한 타이밍 도면이다.
도 4는 일 실시예에 따라 턴온되는 라디오 채널에 응답하여 메인 스트림 프로세서가 보조 스트림 프로세서를 트리거링하는 프로세스의 흐름도이다.
도 5는 일 실시예에 따른 스트림 트리거 인터페이스를 통해 베이스밴드 프로세서에 의해 트리거링되는 메인 스트림 프로세서의 프로세스의 흐름도이다.
도 6은 일 실시예에 따른 메인 스트림 프로세서를 트리거링하는 슬라이스 스트림 프로세서의 프로세스의 흐름도이다.
도 7은 일 실시예에 따른 ARM(advanced reduced instruction set computer machine) 프로세서를 인터럽트하는 슬라이스 스트림 프로세서의 프로세스의 흐름도이다.
도 8은 일 실시예에 따른 ARM 프로세서를 인터럽트하는 메인 스트림 프로세서의 프로세스의 흐름도이다.
도 9는 일 실시예에 따른 ARM 프로세서에 의해 호출되는 초기화 스트림의 프로세스의 흐름도이다.
도 10은 일 실시예에 따른 슬라이스 스트림 프로세서에서 스트림을 트리거링하는 ARM 프로세서의 프로세스의 흐름도이다.
도 11은 관찰 경로를 파워업하기 위해 슬라이스 스트림 프로세서를 트리거링하는 라디오 이벤트의 프로세스의 흐름도이다.
도 12는 송신 경로를 파워업하기 위해 슬라이스 스트림 프로세서를 트리거링하는 라디오 이벤트의 프로세스의 흐름도이다.
도 13은 일 실시예에 따른 스트림 프로세서 시스템의 개략적인 블록도이다.
도 14는 다른 실시예에 따른 스트림 프로세서 시스템의 개략적인 블록도이다.
다음의 상세한 설명은 특정 실시예의 다양한 설명을 제공한다. 그러나, 여기에 설명된 혁신은 예를 들어 청구범위에 의해 정의되고 포함되는 것과 같이 다수의 다양한 방식으로 구현될 수 있다. 이 설명에서, 동일한 참조 번호가 동일하거나 기능적으로 유사한 요소를 나타낼 수 있는 도면을 참조한다. 도면에 예시된 요소가 반드시 일정한 비율로 그려진 것은 아니라는 것이 이해될 것이다. 더욱이, 특정 실시예는 도면에 예시된 것보다 더 많은 요소 및/또는 도면에 예시된 요소의 부분집합을 포함할 수 있다는 것이 이해될 것이다. 또한, 일부 실시예는 2개 이상의 도면으로부터의 특징의 임의의 적절한 조합을 포함할 수 있다. 여기에 제공된 주제는 단지 편의를 위한 것이며 청구범위의 범위나 의미에 반드시 영향을 미치지는 않는다.
개시된 기술은 스트림 프로세서 또는 스레드로 지칭될 수 있는 병렬 프로그래밍 가능 프로세서를 포함하는 스트림 프로세서 시스템에 관한 것이다. 스트림 프로세서 시스템을 제어하는 방법도 개시된다. 각각의 스트림 프로세서는 서로 다른 레지스터 세트에서 판독, 기입, 폴링 및/또는 다른 적절한 작업을 수행할 수 있다. 스트림 프로세서는 기지국용 트랜시버 칩과 같은 라디오 컨텍스트에서 구현될 수 있다. 개시된 기술은 또한 고속 변환기(예를 들어, 고속 아날로그-디지털 변환기 및/또는 고속 디지털-아날로그 변환기)와 같은 다른 응용에 적용될 수 있다. 라디오 컨텍스트에서 점점 더 많은 라디오 주파수 채널이 사용되고 있다. 예를 들어, 일부 이전의 부품은 2개의 송신(Tx) 채널과 2개의 수신(Rx) 채널을 갖는다. 일부 현용의 설계에는 4개의 Tx 채널과 4개의 Rx 채널이 포함되며, 향후 부품에는 8개의 Tx 채널과 8개의 Rx 채널이 포함될 수 있다. 여기에 설명된 스트림 처리 아키텍처는 이러한 시스템에서 하드웨어 레지스터에서 값을 설정하여 라디오 동작을 제어하는 것과 같은 제어 기능을 기존 솔루션보다 더 확장 가능하게 할 수 있다.
본 개시내용의 양태는 다수의 처리 채널을 구성하기 위한 분산 처리 시스템에 관한 것이다. 분산 처리 시스템은 메인 프로세서 명령어를 실행하도록 구성된 ARM(advanced reduced instruction set computer machine) 프로세서와 같은 메인 프로세서와 복수의 처리 채널을 포함한다. 각각의 처리 채널은 코프로세서 명령어를 실행하도록 구성된 스트림 프로세서와 같은 코프로세서를 포함할 수 있다. 코프로세서는 메인 프로세서 명령어보다 낮은 레이턴시를 갖는 명령어를 실행할 수 있다.
각각의 코프로세서는 각자의 트리거 인터페이스에서 수신된 트리거에 응답하여 수신된 명령어 세트를 실행할 수 있다. 트리거 인터페이스는 베이스밴드 프로세서와 같은 외부로부터 분산 처리 시스템으로 입력 신호를 수신할 수 있다. 명령어 세트는 각자의 처리 채널의 레지스터에 액세스하기 위한 명령어를 포함할 수 있다. 각자의 처리 채널의 코프로세서는 메인 코프로세서 및/또는 ARM 프로세서로부터 다른 트리거를 수신하고 이 다른 트리거에 응답하여 다른 명령어 세트를 실행할 수 있다. 코프로세서는 서로 병렬로 명령어를 실행할 수 있다. 각각의 코프로세서는 메인 프로세서에 인터럽트를 전송할 수 있다. 인터럽트는 전용 신호 라인을 통해 제공될 수 있다. 코프로세서는 재구성 가능할 수 있다.
분산 처리 시스템은 라디오 시스템에 포함되어 동작을 위해 라디오 채널을 구성할 수 있다. 이는 라디오 주파수 신호를 처리하기 위해 아날로그 회로 컴포넌트를 구성하는 것이 포함될 수 있다. 처리 채널은 송신 채널, 수신 채널 및 관찰 수신 채널을 포함할 수 있다. 분산 처리 시스템은 하이 레벨 커맨드를 수신하고 하이 레벨 커맨드에 응답하여 기입될 처리 채널에서 적어도 100개의 레지스터에 기입할 수 있다.
본 명세서에서 설명된 실시예는 스트림 프로세서 및 ARM 프로세서를 참조하여 설명될 수 있지만, 본 명세서에 개시된 임의의 적절한 원리 및 이점은 메인 프로세서 및 코프로세서를 포함하는 분산 처리 시스템에서 구현될 수 있다. 메인 프로세서는 더 긴 레이턴시를 갖는 명령어를 실행할 수 있고 코프로세서는 더 낮은 레이턴시를 갖는 명령어를 실행할 수 있다. 예를 들어, 메인 프로세서는 ARM M3 프로세서 또는 ARM M4 프로세서와 같은 ARM 프로세서일 수 있으며 코프로세서는 ARM 프로세서에서 실행하는 명령어보다 낮은 레이턴시를 갖는 명령어를 실행할 수 있다. 메인 프로세서는 더 많이 계산 집약적인 명령어를 실행할 수 있고 코프로세서는 덜 계산 집약적인 명령어를 실행할 수 있다. 코프로세서는 재구성 가능할 수 있다. 예시적인 코프로세서는 스트림 프로세서, 본 명세서에 개시된 임의의 스트림 프로세서의 기능의 일부 또는 전부와 유사한 기능을 수행할 수 있는 임의의 다른 적절한 프로세서, 등을 포함할 수 있지만 이에 제한되지 않는다. 예시적인 메인 프로세서는 ARM 프로세서, 개시된 임의의 ARM 프로세서의 기능의 일부 또는 전부와 유사한 기능을 수행할 수 있는 임의의 다른 적절한 프로세서 등을 포함하지만 이에 제한되지는 않는다.
스트림 프로세서 시스템
도 1은 일 실시예에 따른 라디오 응용을 위한 예시적인 스트림 프로세서 시스템(10)의 개략적인 블록도이다. 스트림 프로세서 시스템(10)은 외부 커맨드를 수신하고 레지스터 트랜잭션의 타이밍을 관리할 수 있다. 스트림 프로세서 시스템이 수신한 단일 커맨드는 특정 경우에 수천 개의 레지스터 기입을 트리거링할 수 있다. 스트림 프로세서 시스템(10)의 스트림 프로세서는 레지스터의 실시간 제어를 관리할 수 있다. 스트림 프로세서 시스템(10)의 스트림 프로세서는 라디오 이벤트 및 채널 가능화 및/또는 불능화를 제어할 수 있다.
도 1의 스트림 프로세서 시스템(10)은 디지털 코어(12), 수신 채널(14a 내지 14d), 송신 채널(16a 내지 16d) 및 관찰 채널(18a 및 18b)을 포함한다. 디지털 코어(12)는 ARM 프로세서(22), 메인 스트림 프로세서(24), 메인 스트림 프로세서(24)를 위한 스트림 트리거 인터페이스(26) 및 디지털 코어(12)를 위한 메모리(28)를 포함한다. 스트림 트리거 인터페이스(26)는 SPI(serial peripheral interface)와 같은 임의의 적절한 인터페이스일 수 있다. 스트림 트리거 인터페이스(26)는 임의의 적절한 디지털 회로를 포함할 수 있다.
스트림 프로세서 시스템(10)은 모두 ARM 프로세서(22)에 통신적으로 연결된 11개의 스트림 프로세서를 포함한다. 스트림 프로세서 시스템(10)은 스트림 병렬 처리 배열을 갖는다. 도 1에 도시되어 있는 바와 같이, 11개의 스트림 프로세서는 수신 채널(14a 내지 14d)에 대한 4개의 스트림 프로세서(32), 송신 채널(16a 내지 16d)에 대한 4개의 스트림 프로세서(42), 관찰 채널(18a 및 18b)에 대한 2개의 스트림 프로세서(52) 및 1개의 메인 스트림 프로세서(24)를 포함할 수 있다. ARM 프로세서(22)는 예를 들어 M4 ARM 프로세서일 수 있다. 스트림 프로세서(24, 32, 42, 52) 및 ARM 프로세서(22)는 모놀리식 집적 회로에서 구현될 수 있다. 마이크로컨트롤러는 스트림 프로세서(24, 32, 42, 52) 및 ARM 프로세서(22)를 포함할 수 있다. 트랜시버 집적 회로는 예시된 스트림 프로세서 시스템(10)을 포함할 수 있다.
도 1에 도시되어 있는 바와 같이, 11개의 스트림 프로세서(24, 32, 42, 52) 모두가 ARM 프로세서(22)에 연결된다. 스트림 프로세서(24, 32, 42, 52)는 데이터가 중간 프로세서를 통과하지 않고 ARM 프로세서(22)와 통신할 수 있다. 스트림 프로세서(24, 32, 42, 52) 각각은 전용 신호 라인을 통해 ARM 프로세서(22)와 통신할 수 있다. 도시되어 있는 바와 같이, 스트림 프로세서(24, 32, 42, 52) 각각은 ARM 프로세서(22)에 인터럽트를 제공하기 위한 전용 신호 라인을 갖는다. 스트림 프로세서(24, 32, 42, 52)는 ARM 프로세서(22)로부터 각자의 스트림 트리거를 수신할 수 있다. 또한, 10개의 스트림 프로세서(32, 42, 52)도 메인 스트림 프로세서(24)에 연결된다. 10개의 스트림 프로세서(32, 42, 52)는 메인 스트림 프로세서(24)로부터 트리거를 수신할 수 있다.
스트림 프로세서(32, 42, 52)는 보조 스트림 프로세서 또는 슬라이스 스트림 프로세서로 지칭될 수 있다. 이러한 스트림 프로세서 각각은 송신 채널, 수신 채널 또는 관찰 채널과 같은 처리 채널에 포함된다. 각각의 보조 스트림 프로세서(32, 42, 52)는 그 각자의 처리 채널에서 레지스터(36, 46, 56)에 각각 액세스할 수 있다. 예로서, 송신 슬라이스 프로세서(42)는 송신 슬라이스 레지스터, 송신 아날로그 서브맵 레지스터, 디지털-아날로그 변환기(DAC) 레지스터 등 또는 적절한 그 임의의 조합을 포함하는 레지스터(46)에 액세스할 수 있다. 다른 처리 채널 또는 디지털 코어(12)의 레지스터에 액세스하기 위해, 보조 스트림 프로세서는 메인 스트림 프로세서(24)에서 대응하는 스트림을 트리거링할 수 있다. 예를 들어, 보조 스트림 프로세서의 트리거 메커니즘은 메인 스트림 프로세서(24)에서 대응하는 스트림을 트리거링하기 위해 RETURN 연산코드를 제공할 수 있다. 보조 스트림 프로세서(32, 42, 52)는 메인 스트림 프로세서(24)에 의해 제어될 수 있다.
메인 스트림 프로세서(24)는 코어 스트림 프로세서로 지칭될 수 있다. 메인 스트림 프로세서(24)는 모든 하드웨어 레지스터에 액세스할 수 있다. 각각의 보조 스트림 프로세서(32, 42, 52)는 각자의 전용 하드웨어 레지스터 그룹에 액세스할 수 있다. 각각의 보조 스트림 프로세서(32, 42, 52)는 ARM 프로세서(22)에 인터럽트를 제공할 수 있다. 각각의 보조 스트림 프로세서(32, 42, 52)는 메인 스트림 프로세서(24)에 인터럽트를 제공할 수 있다. 각각의 보조 스트림 프로세서(32, 42, 52)는 보조 스트림 프로세서(32, 42, 52)에 대한 외부 액세스를 허용할 수 있는 베이스밴드 프로세서로부터 신호를 수신하도록 구성된 각자의 스트림 트리거 인터페이스(34, 44, 54)를 갖는다. 각각의 보조 스트림 프로세서(32, 42, 52)에 대한 스트림 트리거 인터페이스(34, 44, 54)는 또한 메인 스트림 프로세서(24)로부터 신호를 수신할 수 있다. 스트림 트리거 인터페이스는 SPI 인터페이스와 같은 임의의 적절한 인터페이스일 수 있다. 스트림 트리거 인터페이스는 임의의 적절한 디지털 회로를 포함할 수 있다.
스트림 병렬 처리 배열이 라디오 컨텍스트에서 구현될 수 있다. 예를 들어, 도 1에 예시되어 있는 바와 같이, 각각의 보조 스트림 프로세서(32, 42, 52)는 수신 채널, 송신 채널 또는 관찰 채널과 같은 라디오 주파수 채널을 위한 것일 수 있다. 보조 스트림 프로세서는 라디오 동작을 위해 하드웨어 레지스터를 구성할 수 있다.
수신 채널(14a 내지 14d)은 라디오의 수신기에서 아날로그 컴포넌트를 구성하도록 배열된 디지털 회로를 포함한다. 수신 채널(14a 내지 14d)은 각각 스트림 프로세서(32), 스트림 트리거 인터페이스(34), 레지스터(36), 라디오 이벤트 컨택트(38) 및 스트림 프로세서(32)를 위한 메모리(39)를 포함한다. 메모리(39)는 랜덤 액세스 메모리(RAM)일 수 있다. 메모리(39)는 레지스터(36)에 기입하기 위한 연산코드 및 데이터를 저장할 수 있다. 수신 채널(14a 내지 14d)은 라디오 주파수 신호를 수신하기 위한 라디오를 구성할 수 있다.
송신 채널(16a 내지 16d)은 라디오의 송신기에서 아날로그 컴포넌트를 구성하도록 배열된 디지털 회로를 포함한다. 송신 채널(16a 내지 16d)은 각각 스트림 프로세서(42), 스트림 트리거 인터페이스(44), 레지스터(46), 라디오 이벤트 컨택트(48) 및 스트림 프로세서(42)를 위한 메모리(49)를 포함한다. 메모리(49)는 RAM일 수 있다. 메모리(49)는 레지스터(46)에 기입하기 위한 데이터 및 연산코드를 저장할 수 있다. 송신 채널(16a 내지 16d)은 라디오 주파수 신호를 송신하기 위해 라디오 장치를 구성할 수 있다.
관찰 채널(18a 내지 18b)은 라디오의 관찰 수신 경로에서 아날로그 컴포넌트를 구성하도록 배열된 디지털 회로를 포함한다. 관찰 채널(18a 내지 18b)은 각각 스트림 프로세서(52), 스트림 트리거 인터페이스(54), 레지스터(56), 라디오 이벤트 컨택트(58) 및 스트림 프로세서(52)를 위한 메모리(59)를 포함한다. 메모리(59)는 RAM일 수 있다. 메모리(59)는 레지스터(56)에 기입하기 위한 데이터 및 연산코드를 저장할 수 있다. 관찰 채널(18a 및 18b)은 라디오 주파수 신호를 관찰하기 위해 라디오를 구성할 수 있다.
도 1의 스트림 프로세서 시스템(10)은 특히 다음과 같은 이점 중 하나 이상을 구현할 수 있다. 스트림 프로세서 시스템(10)은 다른 시스템에 비해 증가된 프로그램 가능성/구성 가능성을 구현할 수 있다. 예를 들어, 테이프 아웃(tape out) 후에도 다양한 파워업 순서와 같은 고객별 구현을 허용하도록 수정할 수 있다.
스트림 프로세서 시스템(10)은 다른 시스템에 비해 증가된 강인성을 달성할 수 있다. 예를 들어, 스트림 프로세서(24, 32, 42, 52)는 일반적으로 고장나지(crash) 않으며 ARM 프로세서(22)가 고장나더라도 라디오가 계속 온(on) 상태에 있도록 할 수 있다. 베이스밴드 프로세서는 ARM 프로세서(22)가 작동하지 않을 때에도 베이스밴드 프로세서가 스트림을 트리거링할 수 있도록 각자의 스트림 트리거 인터페이스를 통해 스트림 프로세서에 입력 신호를 제공할 수 있다.
스트림 프로세서 시스템(10)은 다른 시스템에 비해 개선된 응답 시간 및 레이턴시를 가질 수 있다. 예를 들어, 시동, 송신, 수신, 과부하된 데이터 변환기에 대한 조절, 감쇠 변경, 전력 증폭기 보호 및/또는 등등과 관련된 시간 임계적 작업은 다른 시스템에 비해 스트림 프로세서 시스템(10)에 의해 보다 빠르고 안정적으로 수행될 수 있다. 이러한 작업은 고정적이고 상대적으로 낮은 레이턴시로 구현될 수 있다. 라디오 시스템에 더 많은 채널이 구현되어 있어도 레이턴시는 변경되지 않을 수 있다. 여기에서 설명하는 스트림 프로세서에서, 명령어 실행을 위한 레이턴시는 결정론적일 수 있다. 일부 예에서, 스트림 프로세서 시스템(10)에 의해 실행되는 모든 명령어는 결정론적 레이턴시를 가질 수 있다.
상대적 하이 레벨 커맨드는 스트림 프로세서 시스템에서 관리할 수 있는 상대적으로 복잡한 제어 스트림을 트리거링할 수 있다. 이는 외부 시스템이 비교적 최소한의 입력으로 스트림 처리 시스템(10)을 제어할 수 있게 한다.
스트림 처리 시스템(10)은 인터럽트를 효율적으로 처리할 수 있다. 인터럽트는, 보조 스트림 프로세서가 제1 인터럽트를 처리하는 동안 보조 스트림 프로세서(32, 42 또는 52)에 대한 제2 인터럽트가 수신되는 경우, 제2 인터럽트가 손실되지 않도록 대기열화될 수 있다.
스트림 프로세서
스트림 프로세서 시스템(10)의 임의의 스트림 프로세서와 같은 스트림 프로세서는 ARM 프로세서를 위한 메모리 내의 위치를 가리키는 데이터 포인터(DP) 레지스터 및/또는 프로그램 카운터(PC) 레지스터를 포함할 수 있다. 스트림 프로세서는 ARM 프로세서의 레지스터에 특정 커맨드를 기입하여 활성화할 수 있다. 동작 중에, 스트림 프로세서는 PC가 가리키는 프로그램 워드 및/또는 DP가 가리키는 데이터 워드를 연속적으로 인출할 수 있다. 이러한 인출된 워드는 스트림 프로세서용 캐시에 저장될 수 있다. 스트림 프로세서는 주소 및/또는 데이터 필드를 제공하는 데 사용될 수 있는 아키텍처 레지스터(예를 들어, 8개의 16 비트 아키텍처 레지스터)를 포함할 수 있다. 이는 데이터가 반복되고 및/또는 비교적 단순한 패턴을 가질 때 데이터 메모리를 절약할 수 있다. 루프 명령어를 사용하면 카운트된 루프가 프로그램 메모리에서 실현될 수 있다. 스트림 프로세서는 명령어를 실행하여 다음 작업 중 하나 이상을 수행할 수 있다: 하나 이상의 아키텍처 레지스터에 저장된 데이터에 대한 산술, 캘리브레이션 대기, ARM 프로세서 인터럽트 또는 레지스터 값 확인.
스트림 프로세서는 다양한 명령어를 구현할 수 있다. 예를 들어, 특정 스트림 프로세서는 256개의 명령어를 구현할 수 있다. 제1 유형의 명령어는 스트림 프로세서에 고정 배선 연결(hard wired)될 수 있다. 제1 유형의 명령어는 이러한 명령어를 실행하도록 배열된 전용 회로에 연결된 핀과 같은 전용 컨택트를 가질 수 있다. 제1 유형의 명령어는 라디오 이벤트 컨택트(38, 48 및/또는 58)의 하나 이상의 컨택트에서 수신될 수 있다. 하나 이상의 전용 컨택트 및/또는 하드웨어가 있는 명령어는 상대적으로 중요하거나 및/또는 시간에 민감한 명령어를 위한 것일 수 있다. 예를 들어, 수신 채널 턴온, 수신 채널을 턴오프, 송신 채널을 턴온, 송신 채널을 턴오프 등의 명령어는 제1 유형의 명령어의 명령어들의 예이다. 특정 스트림 프로세서가 256개의 명령어를 실행하도록 배열된 예에서, 약 30개의 명령어가 특정 경우에 이러한 명령어를 효율적으로 구현하도록 배열된 전용 회로로 구현될 수 있다.
스트림 프로세서는 스트림 프로세서의 SPI(serial peripheral interface) 레지스터 및 회로를 사용하여 스트림 프로세서의 특정 회로에 맵핑되지 않는 제2 유형의 명령어를 구현할 수 있다. 제2 유형의 명령어는 스트림 트리거 인터페이스(26, 34, 44 또는 54)를 통해 트리거링될 수 있다. 제1 유형의 명령어와 제2 유형의 명령어는 스트림 프로세서가 실행하도록 배열된 대부분의 또는 모든 명령어를 구성할 수 있다.
보조 스트림 프로세서(32, 42, 52)는 각각 전용 신호 라인을 통해 메인 스트림 프로세서(24)에 이벤트 트리거를 제공할 수 있다. 이벤트 트리거는 메인 스트림 프로세서(24)에 인터럽트를 제공할 수 있다. 임의의 적절한 수의 보조 스트림 프로세서가 여기에서 설명된 원리 및 이점에 따라 구현될 수 있다. 예를 들어, 도 1에 예시된 바와 같이 채널당 하나의 보조 스트림 프로세서가 제공될 수 있다.
도 1에 도시되어 있는 바와 같이, 하나의 스트림 프로세서가 각각의 송신 채널(16a 내지 16d), 수신 채널(14a 내지 14d) 및 관찰 채널(18a 및 18b)에 포함된다. 특정 경우에는 모든 수신 및 송신 채널을 거의 동시에 각각 턴온 및 턴오프할 수 있다. 각각의 슬라이스 스트림 프로세서는 전속 RAM(random access memory)과 같은 각자의 메모리에 대한 무제한의 액세스를 가질 수 있다. ARM(22)이 고장나는 경우 스트림 프로세서는 여전히 기능할 수 있으며 라디오가 여전히 기능할 수 있다. 메인 스트림 프로세서(24)는 디지털 코어(12)에 포함된다. 베이스밴드 프로세서(BBP) 및 ARM(22)을 위한 별도의 인터페이스는 충돌 및/또는 경합 조건을 방지할 수 있다.
하이 레벨 커맨드
일반적으로, 라디오에 대해 1000개가 넘는 정규 제어들이 있을 수 있다. 이러한 제어를 저장하는 레지스터는 라디오가 필요에 따라 기능하도록 적절하게 구성되어야 한다. 이러한 레지스터의 구성은 TDD(time-division duplexing) 송신 및/또는 수신 동작들 사이에서와 같이 비교적 자주 변경될 수 있다.
라디오 레지스터 구성 프로세스를 간소화하고 외부 하드웨어에 투명한 방식으로 이러한 기능성을 구현하기 위해 스트림 프로세서를 구동하는 시퀀스를 하이 레벨 커맨드로 구현할 수 있다. 예를 들어, 라디오 턴온 커맨드와 같은 턴온 커맨드가 시동 프로세스를 구현하기 위해 스트림 프로세서 시스템(10)에 제공될 수 있다. 스트림은 또한 지연 및 거치 처리를 구현할 수 있다. 스트림은 RF(radio frequency) 출력 및/또는 전력 공급의 과도 현상을 방지하기 위해 전력 공급 순서 동작에서 채널을 업 또는 다운시키는 데 사용될 수 있다. 보조 스트림 프로세서를 사용하여 레지스터 기입을 수행하면 내부 레지스터 버스의 속도의 이점을 얻을 수 있다.
도 1에 도시되어 있는 스트림 프로세서 시스템(10)에서, 라디오를 제어하기 위해 레지스터에 비교적 많은 수(예를 들어, 수백 또는 수천)의 기입이 비교적 간단한 커맨드로 추상화될 수 있다. 라디오의 이벤트는 실시간으로 스트림 프로세서에서 비교적 복잡한 응답을 트리거링할 수 있다. 라디오 채널은 스트림 프로세서 시스템(10)에 대한 입력에 응답하여 동시에 제어될 수 있다. 아날로그 제어의 타이밍 및 순서는 부품과 관련된 펌웨어에서 결정될 수 있으며 외부(예로서, 고객) 제어 사양으로부터 추상화될 수 있다.
스트림 병렬 처리 배열은 간소화된 시동 시퀀스를 가질 수 있다. 라디오 턴온 커맨드와 같은 하이 레벨 커맨드가 스트림 처리 시스템(10)에 제공될 수 있다. 단일 하이 레벨 커맨드에 대한 응답으로 수백 또는 수천 개의 레지스터 기입을 수행할 수 있다. 베이스밴드 프로세서는 스트림 프로세서 시스템(10)에 하이 커맨드를 제공할 수 있다. 스트림 프로세서(24, 32, 42, 52)는 하이 레벨 커맨드에 응답하여 시동 프로세스를 실행할 수 있다. 이는 스트림 프로세서(24, 32, 42 및 52)가 라디오 구성 레지스터(36, 46 및/또는 56)를 설정하는 것을 포함할 수 있다.
다른 예시적인 하이 레벨 커맨드에는 DPD(digital pre-distortion) 경로의 구성을 변경하는 커맨드, 수신기 및/또는 송신기에 대한 필터 계수를 업데이트하는 커맨드, 국부 발진기 주파수를 업데이트하는 커맨드, 라디오 채널 턴온 커맨드, 라디오 채널 턴오프 커맨드 등이 포함되지만 이에 제한되지 않는다. 예를 들어, DPD 경로의 구성을 변경하기 위한 하이 레벨 커맨드는 송신 스트림을 트리거링하고, 메인 스트림 프로세서(24)를 인터럽트한 다음 ARM 프로세서(22)를 인터럽트하는 것을 포함할 수 있다. 다른 예로서, 국부 발진기 주파수를 변경하기 위한 하이 레벨 커맨드가 송신 모드에서 수신 모드로 변경되는 라디오와 관련하여 제공될 수 있다. 국부 발진기 주파수의 변화를 트리거링할 수 있는 스트림이 메인 스트림 프로세서(24)에서 스트림이 트리거링될 수 있다.
하이 레벨 커맨드는 스트림 프로세서 시스템(10)에 의해 병렬로 실행되는 여러 명령어에 의해 실행될 수 있다. 예로서, 복수의 수신 채널에 대한 수신 필터 계수 및/또는 복수의 송신 채널에 대한 송신 필터 계수는 병렬로 업데이트될 수 있다. 이들 커맨드가 병렬로 실행될 수 있게 하는 스트림 프로세서 시스템(10)은 이러한 명령어가 직렬로 실행되는 것에 대하여 상당한 이점이 될 수 있다. 다른 예로서, 스트림 프로세서 시스템(10)과 병렬로 2개의 하이 레벨 커맨드가 제공되고 실행될 수 있다. 예를 들어, DPD 구성 커맨드와 필터 계수 업데이트 커맨드를 수신할 수 있다. 관련 스트림은 스트림 프로세서 시스템(10)에서 병렬로 실행될 수 있다.
ARM과 스트림 프로세서 사이의 처리 분할
스트림 프로세서 시스템(10)은 ARM 프로세서(22)와 스트림 프로세서(24, 32, 42, 52) 사이에서 처리를 분할한다. ARM 프로세서(22)는 더 긴 레이턴시를 갖는 명령어(예를 들어, 비교적 긴 캘리브레이션)를 실행할 수 있고 스트림 프로세서(24, 32, 42, 52)는 더 낮은 레이턴시를 갖는 명령어(예를 들어, 실시간으로 응답할 수 있는 명령어)를 실행할 수 있다. 스트림 처리 시스템(10)은 ARM 프로세서(22) 및 스트림 프로세서에서 명령어를 실행하기 위해 서로 다른 인터페이스에서 입력 신호를 수신할 수 있다.
스트림 프로세서(24, 32, 42 및/또는 52)는 타이밍 민감 및/또는 임계적 명령어를 처리할 수 있다. 스트림 프로세서(24, 32, 42, 52)는 다른 더 낮은 레이턴시의 명령어를 처리할 수 있다. 스트림 프로세서(24, 32, 42, 52)는 스트림 트리거 인터페이스에서 수신된 입력 신호에 응답하여 명령어를 실행할 수 있다. 이러한 명령어는 다양한 명령어를 실행하도록 구성된 회로에 의해 실행될 수 있다. 스트림 프로세서(32, 42, 52)는 라디오 이벤트 컨택트에서 수신된 입력 신호에 응답하여 명령어를 실행할 수 있다. 이러한 명령어는 명령어를 실행하도록 구성된 전용 하드웨어에 의해 실행될 수 있다. 각각의 처리 채널(예를 들어, 송신 채널, 수신 채널 또는 관찰 채널)은 메인 스트림 프로세서(24) 및/또는 보조 스트림 프로세서(32, 42 또는 52)에 의해 제어될 수 있다.
ARM 프로세서(22)는 계산 집약적인 작업 및/또는 시간에 민감하지 않은 작업을 실행할 수 있다. ARM 프로세서(22)는 준비되는 데이터를 위해 상당한 레이턴시가 있는 명령어를 실행할 수 있다. ARM 프로세서(22)는 ARM 프로세서(22)를 위한 버스에 의해 수신된 입력 신호에 응답하여 명령어를 실행할 수 있다. 버스는 예를 들어 AHB(Advanced Microcontroller Bus Architecture High-performance Bus)일 수 있다. ARM 프로세서(22)는 메인 스트림 프로세서(24) 또는 임의의 슬라이스 스트림 프로세서(32, 42 또는 52)로부터 수신된 인터럽트에 응답하여 명령어를 실행할 수 있다. 스트림 프로세서(24, 32, 42, 52)는 라디오 구성 제어 데이터를 처리할 수 있다. ARM 프로세서(22)는 입력 데이터와 같은 다른 데이터를 처리할 수 있다. 주어진 시간에 다수의 요청이 있을 때, 메인 스트림 프로세서(24)는 중재 없이 요청을 대기열화할 수 있다.
스트림 트리거링
스트림은 스트림 프로세서 시스템(10)에서 다양한 방식으로 트리거링될 수 있다. 메인 스트림 프로세서(24)는 스트림 트리거 인터페이스(26, 34, 44 또는 54)를 통해 스트림을 트리거링할 수 있다. 스트림 트리거 인터페이스를 통해 스트림을 트리거링하는 메인 스트림 프로세서(24)의 예시적인 프로세스는 도 4를 참조하여 설명될 것이다.
베이스밴드 프로세서(BBP)는 스트림 트리거(26, 34, 44 또는 54)를 통해 스트림을 트리거링할 수 있다. 스트림 트리거 인터페이스를 통해 스트림을 트리거링하는 BBP의 예시적인 프로세스는 도 5를 참조하여 설명한다.
슬라이스 스트림 프로세서는 메인 스트림 프로세서(24)에서 스트림을 트리거링할 수 있다. 이러한 스트림은 슬라이스 스트림 프로세서와 메인 스트림 프로세서(24) 사이의 전용 신호 라인을 통해 트리거링될 수 있다. 메인 스트림 프로세서를 트리거링하는 슬라이스 스트림 프로세서의 예시적인 프로세스는 도 6을 참조하여 설명될 것이다.
슬라이스 스트림 프로세서는 인터럽트를 통해 ARM 프로세서(22)를 트리거링할 수 있다. ARM 프로세서에 인터럽트를 제공하는 슬라이스 스트림 프로세서의 예시적인 프로세스는 도 7을 참조하여 설명될 것이다.
메인 스트림 프로세서(24)는 인터럽트를 통해 ARM 프로세서(22)를 트리거링할 수 있다. ARM 프로세서에 인터럽트를 제공하는 메인 스트림 프로세서(24)의 예시적인 프로세스는 도 8을 참조하여 설명될 것이다.
ARM 프로세서(22)는 임의의 스트림 프로세서(32, 42 또는 52)에서 스트림을 트리거링할 수 있다. ARM 프로세서(22)는 ARM 프로세서(22)(도 1에 도시되지 않음)를 위한 버스를 통해 트리거를 수신할 수 있다. 스트림을 트리거링하는 ARM 프로세서(22)의 예시적인 프로세스는 도 9 및 도 10을 참조하여 설명될 것이다.
스트림은 라디오 이벤트 컨택트(38, 48 또는 58)를 통해 트리거링될 수 있다. 라디오 이벤트는 슬라이스 스트림 프로세서에서 하나 이상의 스트림을 트리거링할 수 있다. 라디오 이벤트는 예를 들어 송신기 턴온, 수신기 턴온 또는 관찰 수신기 턴온일 수 있다. 핀 제어 인터페이스는 이러한 스트림을 트리거링할 수 있다. 핀 제어 인터페이스는 스트림 프로세서에서 스트림을 트리거링하기 위해 라디오 이벤트 컨택트(38, 48 또는 48)에 스트림 트리거를 제공할 수 있다. 슬라이스 스트림 프로세서에서 스트림을 트리거링하는 라디오 이벤트의 예시적인 프로세스는 도 11을 참조하여 설명될 것이다.
라디오 시스템
도 2는 일 실시예에 따른 분산 처리 시스템을 갖는 디지털 신호 프로세서(62)를 포함하는 라디오 시스템(60)의 개략도이다. 라디오 시스템(60)은 집적 회로에서 구현될 수 있다. 라디오 시스템(60)은 기지국에 포함될 수 있다. 도시되어 있는 바와 같이, 라디오 시스템(60)은 디지털 신호 프로세서(62), 수신기(64a 내지 64d), 송신기(66a 내지 66d), 관찰 경로(68), 및 송신기(66a 내지 66d)와 관찰 경로(68) 사이에 결합된 루프백 회로(69)를 포함한다.
디지털 신호 프로세서(62)는 디지털 코어, 디지털 송신 채널, 디지털 수신 채널 및 디지털 관찰 채널을 포함할 수 있다. 디지털 신호 프로세서(62)는 도 1을 참조하여 설명된 특징의 임의의 적절한 조합을 구현할 수 있다. 예를 들어, 디지털 신호 프로세서(62)는 도 1의 스트림 프로세서 시스템(10)을 포함할 수 있다.
도 1의 스트림 프로세서 시스템(10)은 라디오 시스템(60)에 대한 구성을 효율적으로 설정할 수 있다. 스트림 프로세서 시스템(10)의 처리 채널의 레지스터(36, 46, 56)는 각각 수신기(64a 내지 64d), 송신기(66a 내지 66d) 및 관찰 경로(68)의 아날로그 컴포넌트를 제어하기 위한 데이터를 저장할 수 있다. 예를 들어, 레지스터(36, 46, 56)는 각각 필터(74a 및 74b, 84a 및 84b, 96a 및 96b)에 대한 필터 계수를 저장할 수 있다. 다른 예로서, 레지스터(36, 46, 56)는 라디오 시스템(60)에서 신호를 업 컨버팅 또는 다운 컨버팅하기 위한 하나 이상의 국부 발진기 주파수를 제어하기 위해 데이터를 저장할 수 있다. 또 다른 예로서, 레지스터(36, 46, 56)는 데이터 변환기(예를 들어, ADC 또는 DAC)를 구성(예를 들어, 샘플링 레이트를 설정)하기 위해 데이터를 저장할 수 있다.
수신기(64a 내지 64d)는 라디오 주파수 신호(RXRFIN)를 수신할 수 있고 디지털 신호를 디지털 신호 프로세서(62)의 수신 채널에 제공할 수 있다. 수신기(64a 내지 64d) 각각은 감쇠기(70), 직교 국부 발진기(LO) 신호를 생성하기 위한 직교 회로(71), 혼합기(72a 및 72b), 필터(74a 및 74b) 및 아날로그-디지털 컨버터(ADC)(76a 및 76b)를 포함할 수 있다. 동위상 경로에서 혼합기(72a)는 라디오 주파수 입력 신호(RXRFIN)를 다운 컨버팅하고 필터(74a)는 혼합기(72a)의 출력을 필터링하며, ADC(76a)는 필터(74a)로부터의 출력 신호를 아날로그 신호에서 디지털 신호로 변환한다. 유사하게, 직교 위상 경로에서, 혼합기(72b)는 라디오 주파수 입력 신호(RXRFIN)를 다운 컨버팅하고, 필터(74b)는 혼합기(72b)의 출력을 필터링하고, ADC(76b)는 필터(74b)로부터의 출력 신호를 아날로그 신호에서 디지털 신호로 변환한다. 예시된 라디오 시스템(60)이 4개의 수신기를 포함하지만, 임의의 적절한 수의 수신기가 구현될 수 있다. 본 명세서에서 설명된 분산 처리 시스템을 사용하여, 라디오 시스템(60)의 수신기의 수를 다른 라디오 시스템보다 더 확장할 수 있다.
송신기(66a 내지 66d)는 디지털 신호 프로세서(62)로부터 디지털 신호를 수신하고 안테나를 통한 송신을 위해 라디오 주파수 송신 신호(TXRFOUT)를 제공할 수 있다. 송신기(66a 내지 66d) 각각은 디지털-아날로그 변환기(DAC)(82a 및 82b), 필터(84a 및 84b), 혼합기(86a 및 86b), 및 혼합기(86a 및 86b)에 대한 직교 LO 신호를 생성하기 위한 직교 회로(88)를 포함할 수 있다. 동위상 경로에서, DAC(82a)는 디지털 신호 프로세서(62)의 송신 채널로부터의 디지털 신호를 아날로그 신호로 변환하고, 필터(84a)는 DAC(82a)의 출력 신호를 필터링하고, 혼합기(86a)는 필터(84a)로부터의 출력 신호를 라디오 주파수로 업 컨버팅한다. 직교 위상 경로에서, DAC(82b)는 디지털 신호 프로세서(62)의 송신 채널로부터의 디지털 신호를 아날로그 신호로 변환하고, 필터(84b)는 DAC(82b)의 출력 신호를 필터링하고, 혼합기(86b)는 필터(84b)로부터의 출력 신호를 라디오 주파수로 업 컨버팅한다. 예시된 라디오 시스템(60)이 4개의 송신기를 포함하지만, 임의의 적절한 수의 송신기가 구현될 수 있다. 본 명세서에서 설명된 분산 처리 시스템을 사용하여, 라디오 시스템(60)의 송신기의 수를 다른 라디오 시스템보다 더 확장할 수 있다.
관찰 경로(68)는 루프백 회로(69)를 통해 하나 이상의 송신기(66a 내지 66d)로부터 라디오 주파수 신호를 수신할 수 있다. 관찰 경로(68)는 감쇠기(91a 내지 91d), 라디오 주파수 신호를 베이스밴드로 다운 컨버팅하기 위한 혼합기(92a 내지 92d), 멀티플렉서(94), 필터(96a 내지 96b) 및 ADC(98a 내지 98b)를 포함한다. 임의의 적절한 수의 관찰 경로가 구현될 수 있고/있거나 관찰 채널은 임의의 적절한 수의 송신기와 관련된 신호를 처리할 수 있다.
라디오 채널의 타이밍
도 3은 도 1의 스트림 프로세서 시스템(10)의 라디오 제어 동작을 위한 타이밍 도면이다. 신호 TX1_EN 내지 TX4_EN 및 RX1_EN 내지 RX4_EN은 스트림 프로세서 시스템(10)의 각자의 스트림 트리거 인터페이스(34 및 44)의 핀 및/또는 각자의 라디오 이벤트 컨택트(38 및 48)의 핀에 제공될 수 있다. 이들 핀은 디지털 회로를 통해 스트림 프로세서(32 또는 42)에 연결될 수 있다. 송신 채널의 스트림은 동시에 활성화될 수 있다. 수신 채널의 스트림은 동시에 활성화될 수 있다.
도 3에 도시된 바와 같이, 송신 채널과 수신 채널은 서로 병렬로 트리거링될 수 있다. 도 3의 예에서, 8개의 스트림이 병렬로 트리거링될 수 있다. 이러한 스트림 각각은 라디오 이벤트 트리거 후 결정론적 기간 내에 완료될 수 있다. 스트림은 거의 동시에(예를 들어, 동일한 사이클 수 또는 서로의 몇 사이클 이내에) 완료될 수 있다.
스트림 처리 시스템의 예시적인 사용 사례
도 1의 스트림 프로세서 시스템(10)은 다양한 기능성을 구현할 수 있다. 도 4 내지 도 11의 흐름도를 참조하여 예시적인 사용 사례를 설명한다. 이러한 예에는 다양한 마스터(예를 들어, 베이스밴드 프로세서, 메인 스트림 프로세서, 슬라이스 스트림 프로세서, ARM 프로세서 또는 라디오 이벤트), 명령어를 실행하는 다양한 프로세서(예를 들어, 슬라이스 스트림 프로세서, 메인 스트림 프로세서 및/또는 ARM) 및 다양한 트리거 유형(예를 들어, 핀 제어 인터페이스, 스트림 트리거 인터페이스, 인터럽트, ARM 프로세서용 버스)가 포함된다. 이러한 프로세스는 도 1의 스트림 프로세서 시스템(10)을 사용하여 도 2의 라디오 시스템(60)의 컨텍스트에서 수행될 수 있다. 따라서, 스트림 프로세서 시스템(10)의 요소가 참조될 수 있다. 아래에서 설명되는 임의의 프로세스의 동작은 임의의 다른 적절한 시스템에서 수행될 수 있다. 더욱이, 아래에서 설명되는 임의의 프로세스의 동작은 기술적으로 실현 가능한 임의의 적절한 순서로 수행될 수 있으며 특정 동작은 적절하다면 병렬로 구현될 수 있다.
도 4는 메인 스트림 프로세서가 턴온되는 라디오 채널에 응답하여 슬라이스 스트림 프로세서를 트리거링하는 프로세스(100)의 흐름도이다. 프로세스(100)는 메인 스트림 프로세서(24)가, 송신 채널이 가능화되는 것에 응답하여 송신 채널 스트림 프로세서(42)를 트리거링하는 것을 포함한다. 수신 채널 및/또는 관찰 채널이 턴온되는 것에 응답하여 다른 라디오 채널에서 유사한 기능성이 구현될 수 있다.
DUT(device under test)를 초기화하는 동안, JESD 제어 채널은 송신/수신/관찰 수신 허가를 수용하도록 구성할 수 있다. 링크를 구성하고 활성화할 수 있다. 블록(102)에서, 송신 채널 1에 대한 송신 허가가 수신될 수 있다. 송신 허가는 도 3의 TX1_EN 신호가 어서트되는(asserted) 것에 대응할 수 있다(예를 들어, 도 3에서 로우에서 하이로 전이). 송신 허가 신호는 내장된 제어 채널에서 수신될 수 있다. 베이스밴드 프로세서는 도 1의 스트림 프로세서(10)의 디지털 코어(12)의 스트림 트리거 인터페이스(26)에 송신 허가 신호를 제공할 수 있다. 이는 프로세스(100)의 여러 다른 동작이 수행되게 할 수 있다. 따라서, 스트림 프로세서 시스템(10)에 제공되는 하이 레벨 커맨드는 라디오 시스템(60)에서 수행되는 다수의 동작을 초래할 수 있다.
송신 허가 신호 TX1_EN이 어서트되는 것에 응답하여, 메인 스트림 프로세서(24)는 블록(103)에서 제1 송신 채널(16a)의 스트림 프로세서(42)에서 스트림을 트리거링할 수 있다. 제1 송신 채널(16a)의 스트림은 스트림 트리거 인터페이스(44)를 통해 스트림 프로세서(42)를 트리거링하는 메인 스트림 프로세서(24)에 의해 트리거링될 수 있다.
송신 슬라이스 스트림 프로세서(42)는 메인 스트림 프로세서(24)로부터의 트리거에 응답하여 명령어를 실행한다. 블록(104-114)에서의 동작은 스트림 프로세서(42)에 의해 제어될 수 있다. 스트림 프로세서(42)는 블록(104)에서 도 2의 송신기(66a)의 송신 베이스밴드 필터(84a/84b)가 파워업되게 할 수 있다. 베이스밴드 필터 플리커 노이즈 증폭기도 파워업될 수 있다. 블록(105)에서, 스트림 프로세서(42)는 국부 발진기 생성기 버퍼를 파워업할 수 있다. 시스템은 블록(106)에서 16 사이클과 같은 시간 기간 동안 대기할 수 있다. 그 다음, 도 2의 업컨버터 혼합기(86a 및 86b) 및 국부 발진기 버퍼에 블록(107)에서 파워업될 수 있다. 시스템은 블록(108)에서 16 사이클과 같은 시간 기간 동안 대기할 수 있다.
전치 왜곡 증폭기 및 인터페이스 및 DAC 클록용 클록 버퍼를 포함한 더 많은 회로 컴포넌트가 블록(109)에서 파워업된다. 송신 클록은 블록(109)에서도 가능화될 수도 있다.
블록(110)에서, 시분할 듀플렉싱 램프가 트리거링될 수 있다. 시스템은 블록(112)에서 64 사이클과 같은 여러 사이클을 대기할 수 있다. 데이터는 블록(113)에서 DRFM으로부터 언마스크될(unmasked) 수 있다. 그 다음, 슬라이스 프로세서(42)는 블록(114)에서 반환값을 제공할 수 있다. 이는 라디오 시스템(60)이 송신을 위해 구성되었음을 나타낼 수 있다.
도 5는 스트림 트리거 인터페이스를 통해 베이스밴드 프로세서에 의해 트리거링되는 메인 스트림 프로세서의 프로세스(120)의 흐름도이다. 이는 메인 스트림 프로세서를 트리거링하는 베이스밴드 프로세서의 프로세스의 일 예이다. 프로세스(120)는 베이스밴드 프로세서가, 인쇄 회로 보드상의 스위치의 상태가 토글되는 것에 응답하여 메인 스트림 프로세서를 트리거링하는 것을 포함한다.
DUT를 초기화하기 위해 인쇄 회로 보드에서 스위치의 초기 극성에 대한 디폴트 맵핑을 구성할 수 있다. 블록(122)에서, 인쇄 회로 보드상의 스위치 구성이 위치를 변경한다. 예를 들어, 특정 스위치가 온(ON) 위치에서 오프(OFF) 위치로 변경될 수 있다. 이는 도 2의 디지털 신호 프로세서(62)의 베이스밴드 프로세서가 블록(123)에서 스트림을 트리거링하게 할 수 있다. 스트림은 특정 스위치 위치 토글에 대응한다. 스트림은 도 1의 메인 스트림 프로세서(24)에서 스트림을 개시하기 위해 스트림 트리거 인터페이스(26)에 입력 신호를 제공하는 베이스밴드 프로세서에 의해 트리거링될 수 있다.
스트림에서, DUT에서의 맵핑의 현재 상태는 블록(124)에서 판독될 수 있다. 그 후 특정 스위치 토글에 대응하는 비트가 블록(125)에서 수정될 수 있다. 관찰 수신 채널과 같은 라디오 채널이 블록(126)에서 전이 중임을 나타내기 위해 전이 비트 필드가 기입될 수 있다. 블록(127)에서, 스트림은 약 2 마이크로초와 같은 시간 기간 동안 대기할 수 있다. 그 후, 전이 비트 필드는 블록(128)에서 지워질 수 있다. 인터럽트는 블록(129)에서 ARM 프로세서(22)로 전송될 수 있다. 반환값은 블록(130)에서 메인 스트림 프로세서에 의해 제공될 수 있다. 블록(132)에서 ARM 스케줄러는 그 내부 맵핑을 업데이트하고 캘리브레이션을 트리거링한다.
도 6은 메인 스트림 프로세서를 트리거링하는 슬라이스 스트림 프로세서의 프로세스(140)의 흐름도이다. 프로세스(140)는 송신 채널 스트림 프로세서(42)와 같은 보조 스트림 프로세서가 메인 스트림 프로세서(24)를 트리거링하게 하기 위해 JDESD 링크 공유 구성과 같은 라디오 이벤트를 포함한다. 프로세스(140)에서의 트리거는 직접 트리거로 고려될 수 있다.
블록(141)에서, 관찰 수신 경로(68)에 전력이 공급될 수 있다. 관찰 수신 경로(68)를 파워업할 때 국부 발진기 혼합기가 가능화될 수 있다.
송신 채널 스트림 프로세서(42)는 라디오 이벤트 컨택트(48)에서 수신된 입력 신호에 응답하여 명령어를 실행할 수 있다. 루프백 혼합기, 트랜스임피던스 증폭기 및 베이스밴드 멀티플렉서 선택과 같은 다양한 회로는 블록(142)에서 파워업될 수 있다. ADC는 블록(143)에서 파워업될 수 있다. 그 다음, 시스템은 블록(144)에서 약 1 마이크로초와 같은 시간 기간 동안 대기할 수 있다. 블록(145)에서, 국부 발진기 지연 버퍼가 파워업될 수 있다. DAC 지연 회로는 블록(146)에서 파워업될 수 있다. 따라서, 라디오 시스템은 송신 경로를 관찰할 관찰 경로를 준비할 수 있다. 스트림 프로세서(42)는 블록(147)에서 반환값을 전송할 수 있다. 이는 메인 스트림 프로세서(24)를 트리거링할 수 있다. 이벤트 트리거 신호는 전용 신호 라인을 통해 스트림 프로세서(42)로부터 메인 스트림 프로세서(24)로 전송될 수 있다.
메인 스트림 프로세서(24)는 송신 채널에서 스트림 프로세서(42)로부터의 이벤트 트리거에 응답하여 명령어를 실행할 수 있다. 블록(148)에서, 멀티플렉서는(수신 데이터 대신) 관찰 수신 데이터를 디지털 라디오 주파수 메모리(DRFM)로 라우팅하도록 재구성될 수 있다. 관찰 채널 데이터는 블록(149)에서 DRFM으로 언마스크될 수 있다. 그 다음 블록(150)에서 메인 스트림 프로세서(24)에 의해 반환값이 제공될 수 있다.
도 7은 ARM 프로세서를 인터럽트하는 슬라이스 스트림 프로세서의 프로세스(155)의 흐름도이다. 프로세스(155)는 송신 채널 스트림 프로세서와 같은 라디오 채널 스트림 프로세서가, 라디오 채널이 턴온되는 것에 응답하여 ARM 프로세서에 인터럽트를 전송하는 것을 포함한다. 이렇게 하면 추적 캘리브레이션을 재시작할 수 있다.
블록(156)에서, 송신 경로가 파워업된다. 이는 송신 경로를 초기 구성으로 설정할 수 있다.
송신 채널 스트림 프로세서(42)는 명령어를 실행하고 ARM 프로세서(22)에 인터럽트를 제공할 수 있다. 스트림 프로세서(42)는 송신기(66a)의 아날로그 회로를 파워업할 수 있다. 스트림 프로세서(42)는 블록(157)에서 송신 베이스밴드 필터(84a/84b)가 파워업되게 하는 명령어를 실행할 수 있다. 베이스밴드 필터 플리커 노이즈 증폭기도 파워업될 수 있다. 국부 발진기 생성기 버퍼는 블록(158)에서 전력을 공급받을 수 있다. 업컨버터(86a/86b) 및 국부 발진기 버퍼는 블록(159)에서 파워업될 수 있다. 시스템은 블록(160)에서 16 사이클과 같은 시간 기간 동안 대기할 수 있다. 그 후, 블록(161)에서 추가 회로가 파워업될 수 있다. 추가 회로는 전치 왜곡 증폭기, 인터페이스 및 DAC 클록용 클록 버퍼 및 송신 클록을 위한 허가 회로를 포함할 수 있다. 블록(162)에서, TDD 램프가 트리거링될 수 있다. 시스템은 블록(163)에서 다른 시간 기간(예를 들어, 64 사이클)을 대기할 수 있다. 데이터는 블록(164)에서 DRFM으로부터 언마스크될 수 있다.
송신 채널 스트림 프로세서(42)는 블록(165)에서 ARM 프로세서(22)에 인터럽트를 전송할 수 있다. 인터럽트는 전용 신호 라인을 통해 제공될 수 있다. 스트림 프로세서(42)는 블록(166)에서 반환값을 제공할 수 있다. 이는 스트림 프로세서(42)가 스트림 실행을 완료했음을 나타낼 수 있다. ARM 프로세서(22)는 인터럽트 수신에 응답하여 블록(167)에서 송신 캘리브레이션을 위한 데이터 캡처를 개시할 수 있다.
도 8은 ARM 프로세서를 인터럽트하는 메인 스트림 프로세서의 프로세스(170)의 흐름도이다. 프로세스(170)에서, 인쇄 회로 보드의 프론트 엔드에 있는 스위치의 극성은 상태를 변경할 수 있다. 이는 스트림 프로세서 시스템의 ARM 프로세서에서 캘리브레이션을 일시 중지하거나 및/또는 캘리브레이션을 중단시킬 수 있다.
DUT가 초기화될 수 있다. 블록(171)에서 DUT를 초기화하기 위해 인쇄 회로 보드에서 스위치의 초기 극성에 대한 디폴트 맵핑을 구성할 수 있다. 범용 입력/출력(GPIO) 핀은 블록(171)에서 입력 핀으로 구성될 수 있다.
블록(172)에서, 인쇄 회로 보드상의 스위치 구성이 위치를 변경한다. 예를 들어, 특정 스위치가 온(ON) 위치에서 오프(OFF) 위치로 변경될 수 있다. 특정 스위치가 라디오 주파수 프론트 엔드에 포함될 수 있다. 특정 스위치의 입력은 GIPO 핀에 연결될 수 있다. 특정 스위치의 극성을 토글하면 또한 블록(173)에서 GPIO 핀을 DUT로 토글할 수 있다. GIPO 토글은 도 1의 메인 스트림 프로세서(24)에서 스트림을 트리거링할 수 있다.
메인 스트림 프로세서(24) 상의 스트림에서, DUT의 맵핑의 현재 상태가 블록(174)에서 판독될 수 있다. 그 다음 특정 스위치 토글에 대응하는 하나 이상의 비트가 블록(175)에서 수정될 수 있다. 관찰 수신 채널과 같은 라디오 채널이 블록(176)에서 전이 중임을 나타내기 위해 전이 비트 필드가 기입될 수 있다. 블록(177)에서, 스트림은 약 2 마이크로초와 같은 시간 기간 동안 대기할 수 있다. 그 후, 전이 비트 필드는 블록(178)에서 지워질 수 있다. 인터럽트는 블록(179)에서 메인 스트림 프로세서(124)로부터 ARM 프로세서(22)로 전송될 수 있다. 반환값은 블록(180)에서 메인 스트림 프로세서에 의해 제공될 수 있다. 이는 메인 스트림 프로세서(24)가 스트림 실행을 완료했음을 나타낼 수 있다. 블록(182)에서, ARM 스케줄러는 내부 맵핑을 업데이트하고 인터럽트 수신에 응답하여 캘리브레이션을 트리거링한다.
도 9는 일 실시예에 따른 ARM 프로세서에 의해 호출되는 초기화 스트림의 프로세스(184)의 흐름도이다. 프로세스(184)에서, ARM 프로세서는 초기화 및/또는 파워업에서 메인 스트림 프로세서를 트리거한다. ARM 프로세서용 버스를 사용하여 스트림을 트리거링할 수 있다. 버스는 예를 들어 AHB(Advanced Microcontroller Bus Architecture High-performance Bus)일 수 있다.
블록(185)에서 JESD 파라미터가 구성된다. JESD 파라미터는 사용 사례에 특정할 수 있다. 마스크 비트는 블록(186)에서 슬라이스 스트림 프로세서로부터 메인 스트림 프로세서로의 라디오 이벤트 트리거에 대해 구성될 수 있다. ARM/스트림 프로세서 상호 통신 레지스터는 블록(187)에서 재설정할 수 있다. 송신-관찰 수신 맵핑 레지스터는 블록(188)에서 구성될 수 있다. 블록(189)에서, 반환값이 제공될 수 있다.
도 10은 일 실시예에 따른 슬라이스 스트림 프로세서에서 스트림을 트리거링하는 ARM 프로세서의 프로세스(190)의 흐름도이다. 프로세스(190)에서, 송신 루프백 캘리브레이션을 위한 관찰 수신/루프백 경로가 구성된다. ARM 프로세서의 AHB와 같은 버스를 사용하여 스트림을 트리거링할 수 있다.
블록(191)에서, 국부 발진기 혼합기가 가능화된다. 이는 초기 파워업의 일부로 수행할 수 있다. 판정 블록(192)에서 관찰 수신기가 가능화되었는지 여부가 결정된다. 관찰 수신기가 가능화되었다는 결정에 응답하여, 프로세스(190)는 블록(193)에서 종료할 수 있다. 관찰 수신기가 가능화되지 않았다는 결정에 응답하여, 프로세스(190)는 송신 루프백 캘리브레이션을 위한 관찰 경로를 구성하는 것으로 진행한다.
관찰 수신 경로의 아날로그 컴포넌트는 관찰 채널(18a)의 슬라이스 스트림 프로세서(52)에 의해 구성될 수 있다. 루프백 혼합기, 트랜스임피던스 증폭기 및 베이스밴드 멀티플렉서 선택은 블록(194)에서 파워업될 수 있다. ADC는 블록(195)에서 파워업될 수 있다. 그 다음, 시스템은 블록(196)에서 약 1 마이크로초와 같은 시간 기간 동안 대기할 수 있다. 블록(197)에서, 국부 발진기 지연 버퍼가 파워업될 수 있다. DAC 지연 회로는 블록(198)에서 파워업될 수 있다. 블록(199)에서 디지털 회로가 파워업될 수 있다. 이는 디지털 클록을 턴온하는 것을 포함할 수 있다. 추적 기반 캘리브레이션을 위한 상관기는 블록(200)에서 일시 중지 해제될 수 있다. JESD 데이터는 블록(201)에서 언마스크될 수 있다. 블록(202)에서 슬라이스 스트림 프로세서(52)에 의해 반환값이 제공될 수 있다. 이는 관찰 수신 경로가 송신기 루프백 캘리브레이션을 위한 준비가 되었음을 나타낼 수 있다.
라디오 이벤트는 핀 제어 인터페이스를 통해 슬라이스 스트림 프로세서를 트리거링할 수 있다. 이는 라디오 채널(예로서, 송신 채널, 수신 채널 또는 관찰 채널)을 턴온시킬 수 있다. 도 11은 관찰 경로를 파워업하는 프로세스(210)의 흐름도이다. 도 12는 송신 경로를 파워업하는 흐름도이다. 이러한 프로세스에서 슬라이스 스트림 프로세서는 슬라이스 스트림 프로세서를 트리거링하는 ARM 프로세서 또는 메인 스트림 프로세서 없이 핀 제어 인터페이스를 통해 트리거링될 수 있다.
도 11은 관찰 경로를 파워업하기 위해 슬라이스 스트림 프로세서를 트리거링하는 라디오 이벤트의 프로세스(210)의 흐름도이다. 블록(211)에서, 관찰 수신 경로(68)가 파워업될 수 있다. 관찰 수신 경로(68)를 파워업할 때 국부 발진기 혼합기가 가능화될 수 있다.
슬라이스 스트림 프로세서(52)는 라디오 이벤트 컨택트에서 수신된 입력 신호에 응답하여 명령어를 실행할 수 있다. 슬라이스 스트림 프로세서(52)는 관찰 채널(18a)의 라디오 이벤트 컨택트(58)에서 수신된 입력 신호에 의해 트리거링될 수 있다. 슬라이스 스트림 프로세서(52)는 관찰 수신 경로에서 아날로그 컴포넌트를 구성할 수 있다. 루프백 혼합기, 트랜스임피던스 증폭기 및 베이스밴드 멀티플렉서 선택은 블록(212)에서 파워업될 수 있다. ADC는 블록(213)에서 파워업될 수 있다. 그 다음, 시스템은 블록(214)에서 약 1 마이크로초와 같은 시간 기간 동안 대기할 수 있다. 블록(215)에서, 국부 발진기 지연 버퍼가 파워업될 수 있다. DAC 지연 회로는 블록(216)에서 파워업될 수 있다. 데이터는 블록(217)에서 FRM으로 언마스크될 수 있다. 그 다음 블록(218)에서 슬라이스 스트림 프로세서(52)에 의해 반환값이 제공될 수 있다.
도 12는 송신 경로를 파워업하기 위해 슬라이스 스트림 프로세서를 트리거링하는 라디오 이벤트의 프로세스(220)의 흐름도이다. 슬라이스 스트림 프로세서(42)는 송신 채널(16a)의 라디오 이벤트 컨택트(48)에서 수신된 입력 신호에 의해 트리거링될 수 있다. 블록(221)에서, 송신 경로가 파워업된다. 이는 송신 경로를 초기 구성으로 설정할 수 있다. 슬라이스 스트림 프로세서(42)는 송신을 위한 송신 경로를 구성하기 위한 명령어를 실행할 수 있다. 슬라이스 스트림 프로세서(42)는 블록(222)에서 송신 베이스밴드 필터(84a/84b)가 파워업되게 하는 명령어를 실행할 수 있다. 베이스밴드 필터 플리커 노이즈 증폭기도 파워업될 수 있다. 국부 발진기 생성기 버퍼는 블록(223)에서 전력을 공급받을 수 있다. 시스템은 블록(224)에서 16 사이클과 같은 시간 기간 동안 대기할 수 있다. 그 다음, 업컨버터(86a/86b) 및 국부 발진기 버퍼는 블록(225)에서 파워업될 수 있다. 시스템은 블록(226)에서 16 사이클과 같은 시간 기간 동안 대기할 수 있다. 그 후, 블록(227)에서 추가 회로가 파워업될 수 있다. 추가 회로는 전치 왜곡 증폭기, 인터페이스 및 DAC 클록용 클록 버퍼 및 송신 클록을 위한 허가 회로를 포함할 수 있다. 블록(228)에서, TDD 램프가 트리거링될 수 있다. 시스템은 블록(229)에서 다른 시간 기간(예를 들어, 64 사이클)을 대기할 수 있다. 데이터는 블록(230)에서 DRFM으로부터 언마스크될 수 있다.
추가 스트림 프로세서 시스템
실시예가 도 1의 스트림 프로세서 시스템(10)을 참조하여 위에서 설명될 수 있지만, 다른 스트림 프로세서 시스템이 본 명세서에서 설명되는 임의의 적절한 원리 및 이점을 구현할 수 있다. 예를 들어, 스트림 프로세서 시스템은 2개 이상의 ARM 프로세서를 포함할 수 있다. 도 13은 2개의 ARM 프로세서를 포함하는 예시적인 스트림 프로세서 시스템을 예시하고 있다. 다른 예로서, 스트림 프로세서 시스템은 메인 스트림 프로세서 없이 처리 채널을 위한 스트림 프로세서 및 ARM 프로세서로 구현될 수 있다. 도 14는 이러한 특징을 갖춘 예시적인 스트림 프로세서 시스템을 예시하고 있다. 도 13 및 도 14의 예시적인 스트림 처리 시스템의 원리 및 예는 메인 프로세서 및 코프로세서를 포함하는 임의의 다른 적절한 분산 처리 시스템에 적용될 수 있다.
도 13은 일 실시예에 따른 스트림 프로세서 시스템(240)의 개략적인 블록도이다. 스트림 프로세서 시스템(240)은 디지털 코어(241)가 도 1의 디지털 코어(12)에 비해 추가 ARM 프로세서(242)를 포함한다는 점을 제외하고는 도 1의 스트림 프로세서 시스템(10)과 유사하다. 추가 ARM 프로세서(242)는 계산 집약적일 수 있는 특정 작업에 대한 명령어를 실행하도록 구성될 수 있다. 예를 들어, ARM 프로세서(242)는 DPD(digital pre-distortion) 기능을 실행하도록 구성될 수 있다. ARM 프로세서(242)는 ARM M3 프로세서 또는 ARM M4 프로세서와 같은 임의의 적절한 프로세서일 수 있다.
도 14는 다른 실시예에 따른 스트림 프로세서 시스템(250)의 개략적인 블록도이다. 스트림 프로세서 시스템(250)은 디지털 코어(251)가 메인 스트림 프로세서를 포함하지 않고, 이에 따라 컴포넌트 사이의 연결이 스트림 프로세서 시스템(10)에 비해 상대적으로 조절된다는 점을 제외하고는 도 1의 스트림 프로세서 시스템(10)과 유사하다. 스트림 프로세서 시스템(10)의 메인 스트림 프로세서의 기능은 스트림 프로세서 시스템(250)의 ARM 프로세서(252)에 의해 실행될 수 있다. ARM(252)은 처리 채널의 스트림 프로세서로부터 이벤트 트리거를 수신할 수 있다. ARM(252)은 처리 채널에서 스트림 프로세서의 스트림을 트리거링할 수 있다.
결론
본 명세서에서 설명된 임의의 원리 및 이점은 위에서 설명된 실시예뿐만 아니라 다른 시스템, 디바이스, 집적 회로, 전자 장치, 방법에 적용될 수 있다. 본 명세서에 설명된 다양한 실시예의 요소 및 동작은 또 다른 실시예를 제공하기 위해 조합될 수 있다. 실시예의 원리 및 이점은 본 명세서의 임의의 교시로부터 이익을 얻을 수 있는 임의의 다른 시스템, 디바이스, 집적 회로, 장치 또는 방법과 관련하여 사용될 수 있다.
문맥상 달리 명시되지 않는 한, 설명 및 청구범위 전체에 걸쳐, "포함하다", "포함하는" 등의 단어는 일반적으로 배타적 또는 총망라의 의미가 아닌 포괄적인 의미; 즉, "포함하지만 이에 제한되지 않는"의 의미로 해석되어야 한다. 본 명세서에서 일반적으로 사용되는 "결합된"이라는 단어는 서로 직접 결합되거나 하나 이상의 중간 요소를 통해 결합될 수 있는 2개 이상의 요소를 의미한다. 마찬가지로, 본 명세서에서 일반적으로 사용되는 "연결된"이라는 단어는 직접 연결되거나 하나 이상의 중간 요소를 통해 연결될 수 있는 2개 이상의 요소를 의미한다. 또한, "본 명세서", "상기" 및 이와 유사한 의미의 단어는 본 출원에서 사용될 때 본 출원의 임의의 특정 부분이 아닌 전체로서 본 출원을 지칭한다. 문맥상 허용되는 경우, 단수 또는 복수를 사용하는 상세한 설명의 단어는 또한 복수 또는 단수 각각을 포함할 수 있다. 문맥상 허용되는 경우 2개 이상의 항목의 목록과 관련된 " 또는"이라는 단어는 다음과 같은 단어의 모든 해석을 포함한다: 목록의 항목 중 임의의 것, 목록의 모든 항목 및 목록의 항목의 임의의 조합.
더욱이, 달리 구체적으로 언급되지 않는 한, 또는 사용된 문맥에서 달리 이해되지 않는 한, 본 명세서에서 사용되는 조건부 언어, 특히, 예컨대, "할 수 있다", "수 있다", "예를 들어", "예로서", "예컨대" 등은 일반적으로 특정 실시예가 특정 특징, 요소 및/또는 상태를 포함하는 반면 다른 실시예는 포함하지 않는다는 것을 전달하기 위한 것이다. 따라서, 이러한 조건부 언어는 일반적으로 특징, 요소 및/또는 상태가 하나 이상의 실시예에 대해 어떤 방식으로든 필요하다는 것을 암시하려는 의도가 아니다.
특정 실시예가 설명되었지만, 이러한 실시예는 예로서 제시되었으며 본 개시내용의 범위를 제한하려는 의도가 아니다. 실제로, 여기에 설명된 새로운 방법, 장치 및 시스템은 다양한 다른 형태로 구체화될 수 있다. 더욱이, 본 명세서에 설명된 방법, 장치 및 시스템의 형태의 다양한 생략, 치환 및 변경이 본 개시내용의 사상에서 벗어나지 않고 이루어질 수 있다. 예를 들어, 본 명세서에 설명된 회로 블록 및/또는 회로 요소는 삭제, 이동, 추가, 세분화, 조합 및/또는 수정될 수 있다. 이들 회로 블록 및/또는 회로 요소 각각은 다양한 다른 방식으로 구현될 수 있다.

Claims (30)

  1. 다수의 처리 채널을 구성하기 위한 분산 처리 시스템이며, 상기 분산 처리 시스템은
    메인 프로세서 명령어를 실행하도록 구성된 메인 프로세서; 및
    복수의 처리 채널을 포함하고, 각각의 상기 처리 채널은
    데이터를 저장하도록 구성된 레지스터;
    코프로세서로서, 상기 메인 프로세서 명령어보다 낮은 레이턴시를 갖는 코프로세서 명령어를 실행하고, 상기 코프로세서로 하여금 상기 코프로세서 명령어의 제1 명령어 세트를 실행하게 하는 트리거를 상기 메인 프로세서로부터 수신하도록 구성되는 코프로세서- 상기 코프로세서 명령어는 상기 레지스터 중 적어도 하나에 액세스하기 위한 적어도 하나의 명령어를 포함함 -; 및
    외부로부터 상기 분산 처리 시스템으로의 입력 신호를 수신하고, 상기 코프로세서로 하여금 상기 입력 신호 수신에 응답하여 상기 코프로세서 명령어의 제2 명령어 세트를 실행하게 하도록 구성되는 트리거 인터페이스를 포함하는, 분산 처리 시스템.
  2. 청구항 1에 있어서, 상기 메인 프로세서 및 각각의 상기 코프로세서와 통신하는 메인 코프로세서를 더 포함하고, 상기 메인 코프로세서는 상기 처리 채널의 상기 코프로세서 각각에서 스트림을 트리거링하도록 구성되는, 분산 처리 시스템.
  3. 청구항 2에 있어서, 상기 메인 코프로세서는 각각의 상기 처리 채널의 레지스터에 액세스할 수 있는, 분산 처리 시스템.
  4. 청구항 2에 있어서, 상기 메인 코프로세서는 각각의 상기 처리 채널의 상기 트리거 인터페이스와 통신하는, 분산 처리 시스템.
  5. 청구항 2에 있어서, 상기 메인 코프로세서는 상기 메인 프로세서에 인터럽트를 제공하도록 구성되는, 분산 처리 시스템.
  6. 청구항 2에 있어서, 상기 메인 코프로세서는 상기 처리 채널의 상기 코프로세서에 대한 다수의 요청을 대기열화하도록 구성되는, 분산 처리 시스템.
  7. 청구항 2에 있어서, 상기 처리 채널은 라디오의 송신 채널과 상기 라디오의 수신 채널을 포함하고, 상기 처리 채널의 상기 레지스터는 동작을 위해 상기 라디오를 구성하는, 분산 처리 시스템.
  8. 청구항 1에 있어서, 상기 분산 처리 시스템은 하이 레벨 커맨드를 수신하고, 상기 하이 레벨 커맨드의 수신에 응답하여 상기 처리 채널에서 적어도 100개의 레지스터에 기입하도록 구성되는, 분산 처리 시스템.
  9. 청구항 8에 있어서, 상기 하이 레벨 커맨드는 턴온 커맨드이고, 상기 분산 처리 시스템은 상기 턴온 커맨드의 수신에 응답하여 시동 프로세스를 구현하도록 구성되는, 분산 처리 시스템.
  10. 청구항 1에 있어서, 상기 복수의 처리 채널은 라디오의 수신 채널 및 상기 라디오의 송신 채널을 포함하는, 분산 처리 시스템.
  11. 청구항 1에 있어서, 상기 처리 채널의 각각의 상기 코프로세서는 전용 신호 라인을 통해 상기 메인 프로세서에 인터럽트를 제공하도록 구성되는, 분산 처리 시스템.
  12. 청구항 1에 있어서, 상기 처리 채널의 각각의 상기 코프로세서는 서로 병렬로 명령어를 실행하도록 구성되는, 분산 처리 시스템.
  13. 청구항 1에 있어서, 상기 메인 프로세서는 ARM(advanced reduced instruction set machine computer) 프로세서이고, 각각의 상기 처리 채널의 상기 코프로세서는 스트림 프로세서인, 분산 처리 시스템.
  14. 청구항 1에 있어서, 상기 처리 채널의 상기 레지스터에 있는 데이터는 동작을 위해 아날로그 회로 컴포넌트를 구성하는, 분산 처리 시스템.
  15. 청구항 14에 있어서, 상기 아날로그 회로 컴포넌트는 라디오의 송신기에 포함되는, 분산 처리 시스템.
  16. 청구항 1에 있어서, 상기 처리 채널의 각각의 상기 코프로세서는 상기 코프로세서 명령어의 타이밍 민감 명령어를 실행하도록 구성된 전용 회로를 포함하는, 분산 처리 시스템.
  17. 청구항 1에 있어서, 각각의 상기 코프로세서는 재구성 가능한, 분산 처리 시스템.
  18. 청구항 1에 있어서, 상기 분산 처리 시스템은 모놀리식 집적 회로에서 구현되는, 분산 처리 시스템.
  19. 복수의 라디오 채널 및 메인 프로세서를 포함하는 분산 처리 시스템으로 라디오를 구성하는 방법이며, 상기 방법은
    상기 라디오 채널 중의 라디오 채널의 코프로세서에서 스트림을 트리거링하는 단계- 상기 코프로세서는 상기 메인 프로세서와 통신하고, 상기 코프로세서는 상기 라디오 채널의 레지스터에 액세스하도록 구성됨 -;
    적어도 상기 라디오 채널의 레지스터 중의 레지스터에 값을 설정하기 위해 상기 코프로세서에서 스트림을 실행하는 단계- 상기 레지스터의 값은 상기 라디오의 라디오 동작을 제어하도록 구성됨 -; 및
    상기 코프로세서에 의해, 상기 스트림을 완료하는 것에 응답하여 반환값을 제공하는 단계를 포함하는, 방법.
  20. 청구항 19에 있어서, 상기 코프로세서에서 상기 스트림을 실행하는 것과 동시에 상기 라디오 채널의 제2 라디오 채널의 제2 코프로세서에서 제2 스트림을 실행하는 단계를 더 포함하는, 방법.
  21. 청구항 19에 있어서, 상기 트리거링은 상기 분산 처리 시스템의 외부에 있는 베이스밴드 프로세서로부터 상기 라디오 채널의 트리거 인터페이스에 의해 수신된 입력 신호에 응답하는, 방법.
  22. 청구항 19에 있어서, 상기 메인 프로세서는 상기 트리거링을 위한 트리거를 제공하는, 방법.
  23. 청구항 19에 있어서, 메인 코프로세서는 상기 트리거링을 위한 트리거를 제공하고, 상기 메인 코프로세서는 상기 메인 프로세서, 상기 코프로세서 및 상기 라디오 채널의 다른 라디오 채널의 다른 코프로세서와 통신하는, 방법.
  24. 청구항 19에 있어서, 상기 실행에 응답하여 전용 신호 라인을 통해 상기 메인 프로세서에 인터럽트를 제공하는 단계를 더 포함하는, 방법.
  25. 라디오 시스템의 처리 채널을 구성하기 위한 스트림 처리 시스템이며, 상기 스트림 처리 시스템은
    송신 채널- 각각의 상기 송신 채널은 송신 레지스터 및 송신 채널 스트림 프로세서를 포함하고, 상기 송신 레지스터는 동작을 위해 상기 라디오의 송신기를 구성하도록 배열됨 -;
    수신 채널- 각각의 상기 수신 채널은 수신 레지스터와 수신 채널 스트림 프로세서를 포함하고, 상기 수신 레지스터는 동작을 위해 상기 라디오의 수신기를 구성하도록 배열됨 -;
    각각의 상기 송신 채널의 상기 송신 채널 스트림 프로세서 및 각각의 상기 수신 채널 스트림 프로세서의 상기 수신 채널 스트림 프로세서에서 스트림을 트리거링하도록 구성된 메인 스트림 프로세서; 및
    상기 메인 스트림 프로세서, 각각의 상기 송신 채널의 상기 송신 채널 스트림 프로세서 및 각각의 상기 수신 채널 스트림 프로세서의 상기 수신 채널 스트림 프로세서와 통신적으로 결합된 ARM(advanced reduced instruction set machine computer) 프로세서를 포함하는, 스트림 처리 시스템.
  26. 청구항 25에 있어서, 각각의 상기 송신 채널은 외부로부터 상기 스트림 처리 시스템으로의 입력 신호를 수신하고 상기 각자의 송신 채널 스트림 프로세서에서 스트림을 트리거링하도록 구성된 스트림 트리거 인터페이스를 포함하는, 스트림 처리 시스템.
  27. 청구항 25에 있어서, 각각의 상기 송신 채널 스트림 프로세서 및 각각의 상기 수신 채널 스트림 프로세서는 상기 ARM 프로세서에 인터럽트를 제공하는, 스트림 처리 시스템.
  28. 청구항 25에 있어서, 상기 ARM 프로세서는 높은 레이턴시의 명령어를 실행하도록 구성되고, 상기 송신 채널 스트림 프로세서는 상기 높은 레이턴시의 명령어보다 낮은 레이턴시를 가진 낮은 레이턴시의 명령어를 실행하도록 구성되는, 스트림 처리 시스템.
  29. 청구항 25에 있어서, 상기 송신 채널은 적어도 4개의 송신 채널을 포함하고 상기 수신 채널은 적어도 4개의 수신 채널을 포함하는, 스트림 처리 시스템.
  30. 청구항 25에 있어서, 각각의 상기 송신 채널의 상기 송신 채널 스트림 프로세서는 타이밍 민감 명령어를 실행하도록 구성된 전용 회로를 포함하는, 스트림 처리 시스템.
KR1020207026780A 2018-03-27 2019-03-25 분산 프로세서 시스템 KR20200135342A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862648842P 2018-03-27 2018-03-27
US62/648,842 2018-03-27
US16/103,711 US10733141B2 (en) 2018-03-27 2018-08-14 Distributed processor system
US16/103,711 2018-08-14
PCT/US2019/023816 WO2019190951A1 (en) 2018-03-27 2019-03-25 Distributed processor system

Publications (1)

Publication Number Publication Date
KR20200135342A true KR20200135342A (ko) 2020-12-02

Family

ID=68056242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207026780A KR20200135342A (ko) 2018-03-27 2019-03-25 분산 프로세서 시스템

Country Status (5)

Country Link
US (3) US10733141B2 (ko)
EP (1) EP3776190A4 (ko)
KR (1) KR20200135342A (ko)
CN (1) CN111971653B (ko)
WO (1) WO2019190951A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733141B2 (en) 2018-03-27 2020-08-04 Analog Devices, Inc. Distributed processor system
US20230019763A1 (en) * 2020-01-31 2023-01-19 Qualcomm Incorporated Methods and apparatus to facilitate a dedicated bindless state processor
US11057125B1 (en) 2020-06-25 2021-07-06 Analog Devices, Inc. Programmable digital loopback for RF applications
US11695439B2 (en) * 2020-10-30 2023-07-04 Mediatek Inc. Semiconductor chip with local oscillator buffer reused for signal transmission and associated transmission method

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4516199A (en) 1979-10-11 1985-05-07 Nanodata Computer Corporation Data processing system
US4328543A (en) * 1980-03-25 1982-05-04 Ibm Corporation Control architecture for a communications controller
JPS63261449A (ja) 1987-04-20 1988-10-28 Hitachi Ltd デ−タ処理装置
DE69531270T2 (de) 1994-05-31 2004-04-22 Advanced Micro Devices, Inc., Sunnyvale Unterbrechungssteuerungsgeräte in symmetrischen Mehrprozessorsystemen
EP1540848B1 (en) * 2000-08-03 2009-02-11 Infineon Technologies AG Flexible tdma system architecture
US20020091826A1 (en) * 2000-10-13 2002-07-11 Guillaume Comeau Method and apparatus for interprocessor communication and peripheral sharing
US6832305B2 (en) 2001-03-14 2004-12-14 Samsung Electronics Co., Ltd. Method and apparatus for executing coprocessor instructions
US7523209B1 (en) * 2002-09-04 2009-04-21 Nvidia Corporation Protocol and interface for source-synchronous digital link
US20050119025A1 (en) * 2003-12-02 2005-06-02 Rishi Mohindra Serial digital interface for wireless network radios and baseband integrated circuits
US7299342B2 (en) * 2005-05-24 2007-11-20 Coresonic Ab Complex vector executing clustered SIMD micro-architecture DSP with accelerator coupled complex ALU paths each further including short multiplier/accumulator using two's complement
US20070300042A1 (en) 2006-06-27 2007-12-27 Moyer William C Method and apparatus for interfacing a processor and coprocessor
US8515052B2 (en) * 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
JP4805287B2 (ja) * 2008-02-08 2011-11-02 株式会社リコー 無線通信装置
US20090260013A1 (en) 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
CN201503637U (zh) 2009-10-15 2010-06-09 黑龙江龙电电气有限公司 Arm集中器
WO2012052774A2 (en) * 2010-10-21 2012-04-26 Bluwireless Technology Limited Data processing units
US9383994B2 (en) * 2011-02-15 2016-07-05 Nec Corporation Co-processor for complex arithmetic processing, and processor system
US8971210B1 (en) 2011-05-23 2015-03-03 Redpine Signals, Inc. Reconfigurable multi-stream processor for multiple-input multiple-output (MIMO) wireless networks
CN202574029U (zh) 2012-05-12 2012-12-05 济南优耐特汽车电子有限公司 一种双处理器架构的车载导航监控终端
US20160226468A1 (en) * 2015-01-30 2016-08-04 Huawei Technologies Co., Ltd. Method and apparatus for parallelized qrd-based operations over a multiple execution unit processing system
GB2539411B (en) * 2015-06-15 2017-06-28 Bluwireless Tech Ltd Data processing
JP6672846B2 (ja) 2016-02-03 2020-03-25 富士通株式会社 無線装置、及び、位相制御方法
CN205453777U (zh) 2016-02-22 2016-08-10 高尚 多信道物联网网关运营级装置
US10853904B2 (en) * 2016-03-24 2020-12-01 Advanced Micro Devices, Inc. Hierarchical register file at a graphics processing unit
US11687345B2 (en) * 2016-04-28 2023-06-27 Microsoft Technology Licensing, Llc Out-of-order block-based processors and instruction schedulers using ready state data indexed by instruction position identifiers
US20190034206A1 (en) * 2017-11-29 2019-01-31 Harshad Sane Techniques to mitigate high latency instructions in high frequency execution paths
US10733141B2 (en) 2018-03-27 2020-08-04 Analog Devices, Inc. Distributed processor system

Also Published As

Publication number Publication date
CN111971653B (zh) 2024-05-10
US11907160B2 (en) 2024-02-20
CN111971653A (zh) 2020-11-20
EP3776190A1 (en) 2021-02-17
US20190303348A1 (en) 2019-10-03
US20220374389A1 (en) 2022-11-24
US10733141B2 (en) 2020-08-04
US20200327095A1 (en) 2020-10-15
US11422969B2 (en) 2022-08-23
EP3776190A4 (en) 2021-07-07
WO2019190951A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
KR20200135342A (ko) 분산 프로세서 시스템
EP3014429B1 (en) Method and apparatus for asynchronous processor removal of meta-stability
US11507873B1 (en) Highly scalable quantum control
US7743278B2 (en) Test access control for plural processors of an integrated circuit
US20180269921A1 (en) Sequence triggering in rf front-ends
US9697145B2 (en) Memory interface system
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
CN113849433B (zh) 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质
US9319040B2 (en) Distributing multiplexing logic to remove multiplexor latency on the output path for variable clock cycle, delayed signals
US6877112B1 (en) Reset control system and method
US20070156937A1 (en) Data transfer in multiprocessor system
US8527671B2 (en) DMA engine
CN107590086B (zh) 一种通讯连接装置及方法、通讯单板
CN115802414A (zh) 一种用于lte通信的专用时序处理器及lte通信方法
US10802730B2 (en) Semiconductor device and reconfiguration control method of the same
US10944171B2 (en) Fast transceiver front end serial control
KR20070018871A (ko) 베이스밴드 프로세서를 포함하는 무선 통신 장치,베이스밴드 프로세서, 커맨드 전송 방법 및 저장 유닛
CN111782574A (zh) 一种串行外设接口控制方法和串行外设接口控制器
KR101352140B1 (ko) 데이터 통신 시스템
US20240004805A1 (en) Peripheral interconnect controller
CN117056268B (zh) 一种用于测量仪器的spi接口电路和spi通讯方法
US5796987A (en) Emulation device with microprocessor-based probe in which time-critical functional units are located
Ballester et al. MCB developer notes
JP3114111B2 (ja) 論理エミュレーション方法及びシステム
US9602107B2 (en) Reset selection cell to mitigate initialization time

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal