KR101109016B1 - 데이터 프로세싱 시스템 - Google Patents

데이터 프로세싱 시스템 Download PDF

Info

Publication number
KR101109016B1
KR101109016B1 KR1020067004411A KR20067004411A KR101109016B1 KR 101109016 B1 KR101109016 B1 KR 101109016B1 KR 1020067004411 A KR1020067004411 A KR 1020067004411A KR 20067004411 A KR20067004411 A KR 20067004411A KR 101109016 B1 KR101109016 B1 KR 101109016B1
Authority
KR
South Korea
Prior art keywords
data processing
memory
node
processing system
sdram
Prior art date
Application number
KR1020067004411A
Other languages
English (en)
Other versions
KR20060080186A (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 KR20060080186A publication Critical patent/KR20060080186A/ko
Application granted granted Critical
Publication of KR101109016B1 publication Critical patent/KR101109016B1/ko

Links

Images

Classifications

    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

개시된 데이터 프로세싱 시스템은, 메모리 수단(SDRAM)과, 상기 메모리 수단(SDRAM)을 액세스하도록 제공된 복수의 데이터 프로세싱 시스템(IP)과, 상기 메모리 수단(SDRAM) 및 상기 복수의 데이터 프로세싱 시스템(IP) 사이에 결합된 통신 인터페이스 수단을 구비하며, 상기 통신 인터페이스 수단은, 노드 네트워크(H11, H12, H2)를 포함하고, 각각의 노드는, 데이터 프로세싱 수단(IP)으로부터 또는 이전 노드로부터 메모리 액세스 요구를 수신하는 적어도 하나의 슬레이브 포트(s) 및 상기 슬레이브 포트(s)에서 수신된 메모리 액세스 요구에 따라 메모리 액세스 요구를 다음 노드 또는 상기 메모리 수단(SDRAM)에 송출하는 적어도 하나의 마스터 포트(m)를 구비하며, 상기 적어도 하나의 슬레이브 포트(s)는 이전 노드의 마스터 포트(m) 또는 상기 데이터 프로세싱 수단(IP) 중 하나에 접속되고, 상기 적어도 하나의 마스터 포트(m)는 다음 노드의 슬레이브 포트(s) 또는 상기 메모리 수단(SDRAM)에 접속된다.

Description

데이터 프로세싱 시스템{DATA PROCESSING SYSTEM}
본 발명은 메모리 수단 및 상기 메모리 수단을 액세스하도록 제공된 복수의 데이터 프로세싱 수단을 구비하는 데이터 프로세싱 시스템에 관한 것이다.
이러한 시스템은 통상적으로 멀티프로세서 시스템이라 불리우며 여기서 데이터 프로세싱 수단은 어느 정도까지는 서로 간에 독립적으로 동작하며 특정의 프로세스를 수행한다. 복수의 데이터 프로세싱 수단이 메모리 수단에 액세스함에 따라 메모리 수단은 복수의 데이터 프로세싱 수단에 의해 공유된다. 통상적으로, 이러한 데이터 프로세싱 시스템에 단일의 공통 메모리 수단만이 제공되고, 복수의 데이터 프로세싱 수단이 단일의 공통 칩상에 제공되는 반면, 메모리 수단은 이러한 칩 외부에 오프 칩 메모리로서 상주한다. 상기 프로세싱 수단 내부의 세부 사항은 본 발명의 범위 밖에 있으므로, 이들은 간단히 IP(intellectual property) 수단으로서 지칭될 것이다.
이러한 공유 메모리 데이터 프로세싱 시스템의 일례로서, 디지털 비디오 플랫폼(digital video platform : DVP) 시스템의 그 기본 형태가 도 1에 도시되어 있 다. 이는 오프 칩 메모리 SDRAM을 통해 통신하는 복수의 데이터 프로세싱 유닛 IP를 구비한다. 데이터 프로세싱 유닛 IP는 CPU와 같은 프로그램 가능한 장치, 애플리케이션 특유의 하드웨어 블록, 복잡한 내부 구조 등을 갖는 서브시스템일 수 있다. 오프 칩 메모리 SDRAM에 대한 액세스를 중재하는 중앙 메인 메모리 인터페이스(MMI)에 대해 각각의 데이터 프로세싱 유닛 IP가 인터페이스되는 장치 트랜잭션 레벨(device transaction level : DTL) 인터페이스가 도 1의 시스템에 또한 제공된다. 모든 IP 대 IP 통신은 오프 칩 메모리 SDRAM에 매핑된 논리 버퍼(도시하지 않음)를 통해 행해진다. 통상적으로, 데이터 프로세싱 유닛 IP 중 하나는 메모리 매핑된 구성 레지스터의 네트워크(도시하지 않음)를 통해 데이터 프로세싱 유닛을 프로그래밍함으로써 태스크 그래프의 구성을 관리하는 CPU(중앙 처리 장치)이다. 이용 가능한 버퍼가 차 있는지 혹은 비어 있는지를, 메모리 매핑된 입/출력 네트워크를 통해 데이터 프로세싱 유닛 IP에 통지하는 이러한 CPU에 의해 중앙 처리 방식으로 데이터 프로세싱 유닛 IP 간의 동기화가 또한 처리된다. 데이터 프로세싱 유닛 IP는 이들 버퍼가 비어 있는 채로 혹은 차 있는 채로 실행되었는지를, 인터럽트 라인(도시하지 않음)을 통해 CPU에 통지한다.
동기화에 사용된 메커니즘은 CPU에 대한 인터럽트 레이트가 낮게 유지되도록 오프 칩 메모리 SDRAM에 제공된 버퍼가 다소 커야 한다는 것을 야기한다. 기능적인 관점에서 통상 비디오 프로세싱 유닛은, 예를 들면, 보다 미세한 그레인(grain)(예를 들어, 라인)에서 동기화할 수 있다 하더라도, 보다 조밀하지 않은 그레인(예를 들어, 프레임)에서 동기화한다.
이러한 데이터 프로세싱 시스템은 공유 메모리 아키텍처를 구비하므로, 모든 데이터 프로세싱 시스템에 대해 액세스 가능한 단일의 어드레스 공간이 존재한다. 이것은 프로그래밍 모델을 단순화한다. 또한, 공통 메모리 수단은 비용 효과적인 시스템 해결책을 제공하는데 도움을 준다.
그러나, 이러한 데이터 프로세싱 시스템은 그 기본 형태에 있어서 기술이 진보함에 따라 보다 두드러지게 될 많은 단점을 갖는다. 즉, 데이터 프로세싱 수단의 수가 증가함에 따라, 메모리 인터페이스에 대한 접속의 수가 증가하여 보다 복잡한 메모리 인터페이스가 된다. 특히, 각종 데이터 프로세싱 수단들 간의 중재가 보다 복합하게 된다. 또한, 메모리 인터페이스로부터 멀리 떨어져 위치하는 데이터 프로세싱 수단에 대해 와이어 길이가 문제가 됨에 따라 다수의 긴 와이어는 와이어 혼잡뿐만 아니라 시간 지연 전력 소비 문제를 초래한다. 다른 결정적인 단점은 대역폭 요건이 더 증가하는 경우 잠재적인 병목이 존재한다는 것, 즉, (오프 칩) 메모리 수단에 대한 대역폭이 오프 칩 배선의 시그널링 속도 및 핀 카운트와 같은 특정의 관점에 의해 제한된다는 것이다.
GB 2 233 480 A는 각각의 프로세서가 로컬 메모리를 갖는 멀티프로세서 데이터 프로세싱 시스템을 개시한다. 로컬 메모리는 시스템의 메인 메모리를 함께 형성하며, 임의의 프로세서는, 프로세서에 대해 국소적이든 혹은 원격이든 간에 임의의 메모리를 액세스할 수 있다. 각각의 프로세서는 메모리 액세스 요구가 로컬 메모리에 관한 것인지 혹은 원격 메모리에 관한 것인지를 판정하여, 이 요구를 적절한 메모리에 라우팅하며, 원격 요구가 버스를 통해 라우팅되는 인터페이스 회로를 갖는다. 기록 액세스가 로컬 메모리에 대해 행해질 때마다, 더미 기록 요구는 버스를 통해 다른 모든 프로세서에 대해 라우팅된다. 각각의 프로세서는 버스 상에서 모든 기록 요구를 모니터하고, 요구에 지정된 위치의 복사본이 로컬 캐쉬 메모리에 유지되는 경우, 이러한 복사본은 무효로 되어 캐쉬 일관성을 보장한다.
US 5,261,067 A는 병렬 프로세서들 간의 데이터 캐쉬 콘텐츠 보전성을 보장하는 장치 및 방법을 개시한다. 각각의 프로세서는 중간 연산의 결과를 저장하는 데이터 캐쉬를 갖는다. 각 프로세서의 데이터 캐쉬는 동기화 구간의 이용을 통해 서로 간에 동기화된다. 동기화 구간의 진입 동안, 개별적인 캐쉬 내에 포함되는 수정된 데이터 변수가 공유 메모리에 다시 기록된다. 데이터 캐쉬 내에 포함되는 수정된 데이터는 메모리로부터 플러쉬(flush)된다. 동기화 구간의 탈출 동안, 동기화 구간으로의 진입 이후에 수정되지 않은 데이터 변수가 또한 플러쉬된다. 수정된 값을 연산하는 개별적인 프로세서 내에 수정된 데이터 캐쉬 값을 유지함으로써, 공유 메모리에 대한 불필요한 액세스가 방지된다.
US 6,253,290 B1은 CPU 및 이 CPU에 접속된 로컬 캐쉬 메모리를 각각 포함하는 복수의 프로세서 유닛을 갖는 멀티프로세서 시스템을 기술한다. CPU는 전역적 공유 버스에 접속된 그들의 공유 버스 단말을 갖고 로컬 캐쉬 메모리는 전역적 비공유 버스에 접속된 그들의 버스 단말을 갖는다. 전역적 공유 버스는 CPU에 의해 공통으로 사용된 공유 정보를 저장하는 외부 공유 메모리에 접속되고, 전역적 비공유 버스는 CPU에 의해 사용된 비공유 정보를 저장하는 외부 비공유 메모리에 접속된다.
US 6,282,708 B1은 방향성이 있는 비순환적 그래프(directed acyclic graph)에서 구성되는 내부 인스트럭션 및 외부 인스트럭션으로부터 각각 구성하는 복수의 기본 블록을 포함하는 것으로서 멀티인스트럭션 컴퓨터 프로그램을 구성하는 방법을 개시한다. 각각 연관된 단일의 프로세서 인스트럭션으로부터 각각 집합적으로 나오는 계승자 인스트럭션에 대해 가딩(guarding)이 실행된다. 단일의 결합/타겟 인스트럭션으로 수렴되는 결합 인스트럭션의 서브세트가 무조건적으로 결합된다. 이것은 결합된 인스트럭션의 서브세트 내의 각각의 인스트럭션이 상호 비연관 조건 하에 실행되도록 하고, 분기 인스트럭션에 대해 모든 오퍼레이션을 지정하며, 이미 실행된 모든 오퍼레이션을 지정하고, 내부에 포함되는 인스트럭션의 임의의 다른 서브세트의 병렬 수행을 허용하는 방향성이 있는 비순환적 그래프에서 계승자 인스트럭션의 서브세트를 구비하는 각종 기본 블록을 링크함으로써 성취된다.
US 5,440,698은 복수의 파이프라인된 세그먼트로 구성된 버스를 포함하여 동기화 패킷 스위칭 버스의 경합(contention)을 해결하기 위해, 그러한 버스에 의해 서비스되는 모든 장치에 공정하고 제한된 시간의 액세스가 부여되게 하여 그러한 장치가 이용 가능한 모든 버스 사이클을 패킷으로 채우도록 제공된 중재자(arbiter)를 개시한다. 중재자는 중재 요구의 상이한 타입 및 그러한 중재 요구의 타입별 우선순위를 지원하기 때문에, 공유 메모리 멀티프로세서에 대한 흐름 제어는 이 중재자로 쉽게 구현된다.
본 발명의 목적은 상술한 단점을 극복하고 데이터 프로세싱 시스템을 개선하여, 대역폭 요건이 더 증가하더라도 데이터 프로세싱 및 메모리 수단 사이의 통신 병목을 방지하며, 메모리 인터페이스에 대한 접속 수를 감소시키고, 와이어 길이를 축소시키는 것이다.
본 발명은 청구항 1에 의해 정의된다. 종속 청구항은 유리한 실시예를 정의한다.
본 발명에 따른 구성으로 인해, 메모리 수단에 대한 접속 수가 축소된다. 이것은 논리적인 공유 메모리 아키텍처의 특정의 물리적 구성을 제공하여 성취되며, 이 아키텍처에서 통신 인터페이스 수단은 데이터 프로세싱 수단으로부터 메모리 액세스 요구를 수신하는 슬레이브 포트를 갖는 복수의 노드의 네트워크 및 특정의 메모리 액세스 요구를 메모리 수단에 송출하는 적어도 하나의 마스터 포트를 포함한다. 전형적으로, 노드의 마스터 포트 수는 해당 노드의 슬레이브 포트의 수보다 적다. 따라서, 메모리 인터페이스의 복잡성은 그에 접속된 클라이언트의 수가 감소하기 때문에 감소된다. 또한, 통신 인터페이스 수단의 상호접속으로 인해, 개별적인 와이어의 길이, 및 그에 따른 와이어의 전체 길이는 와이어 혼잡을 방지하는데 도움을 주도록 축소된다.
통신 인터페이스 수단은 복수의 노드의 네트워크를 포함하고, 각각의 노드는 메모리 액세스 요구를 수신하는 적어도 하나의 슬레이브 포트 및 상기 슬레이브 포트(s)에서 수신된 메모리 액세스 요구에 따라 메모리 액세스 요구를 송출하는 적어도 하나의 마스터 포트를 구비하며, 상기 슬레이브 포트의 수는 상기 마스터 포트의 수보다 많을 수 있다. 따라서, 본 발명에 따른 통신 인터페이스 수단은, 데이터 프로세싱 수단 및 메모리 수단 사이의 접속을 위한 노드 구조를 포함하고, 다수의 데이터 프로세싱 수단은 그 슬레이브 포트를 통해 노드에 접속될 수 있는 반면, 각각의 노드는 하나 또는 소수의 마스터 포트만을 갖는다. 노드의 슬레이브 포트는 동일한 서비스를 제공한다는 점에서 균일하므로, 노드에 대해 슬레이브 포트가 데이터 프로세싱 수단 또는 다른 노드에 부착하는지가 투명성을 갖는다. 데이터 프로세싱 시스템에 의해 송출된 메모리 액세스에 대한 요구가 접속되는 노드 중 하나에 전달된다. 본 발명의 개념의 장점은 단계적인 방식으로 도입될 수 있다는 점이다. 즉, 본 발명의 개념을 채용하는 첫 번째 칩은 소수의 데이터 프로세싱 시스템만을 위한 새로운 노드를 이용할 수 있는 것이고, 다음의 칩에서, 노드의 수가 점차적으로 상승할 수도 있으며, 본 발명의 통신 인터페이스 수단의 설비는 데이터 통신 수단들 사이의 더 많은 통신을 위해 더욱 사용될 수도 있다. 노드가 다수의 마스터 포트를 갖는 경우, 단일의 포트는, 예를 들어, 어드레스 범위 식별에 따라 전송하도록 선택된다.
적어도 하나의 로컬 메모리 유닛은 통신 인터페이스에 부착되어, 메모리 액세스 요구에 의해 선택적으로 액세스되게 한다. 그래서, 단일 어드레스 공간은 전역적 메모리 및 그러한 로컬 메모리 유닛(들)에 걸쳐 분배된다. 본 실시예의 이점은 데이터 프로세싱 수단이 글로벌 메모리를 이용하는 대신 로컬 메모리 유닛만을 통해 서로 데이터를 교환할 수 있고, 이에 따라 메모리 액세스 지속시간을 감소시키고, 전력 소모를 감소시키며, 외부 메모리 대역폭의 이용을 감소시킴으로써 통신의 잠재적인 병목현상 위험을 더 감소시킨다는 점이다. 적어도 하나의 노드는 로컬 메모리 유닛이 접속되는 적어도 하나의 메모리 포트를 더 포함한다. 그 노드는, 메모리 액세스 요구의 어드레스를 그 노드에 부착된 로컬 메모리 유닛(들)과 연관된 어드레스 범위와 비교함으로써, 메모리 액세스 요구가 그러한 노드에 부착된 로컬 메모리 유닛(들)을 참조하는지 여부를 체크할 수 있다. 참조하는 경우, 메모리 액세스는 선택된 로컬 메모리 유닛에 대해 실행된다. 참조하지 않는 경우, 그 노드는 메모리 액세스 요구를 그 마스터 포트 중 하나를 통해 다음 노드에 전송하며, 여기서 체크 및 "액세스 또는 전송"은 로컬 메모리 유닛이 이러한 다음 노드또는 메모리 수단에 부착되어 있으면 반복된다.
본 발명의 제 1 실시예에서, 상기 노드의 슬레이브 포트의 각각은 상기 복수의 데이터 프로세싱 수단 중 하나에 접속되고 상기 노드의 마스터 포트는 상기 메모리 수단에 접속된다. 따라서, 모든 노드는 동일한 레벨로 제공되고, 데이터 프로세싱 수단은 노드의 이러한 단일 레벨을 통해 메모리 수단에 접속된다. 데이터 프로세싱 수단은 메모리 수단에 요구를 전송하는 연관된 노드에 대해 메모리 액세스 요구를 송출할 수 있다.
다른 제 2 실시예에서, 노드의 네트워크는 데이터 프로세싱 수단을 리브(leaves)로서 갖고 노드 수단을 노드로서 가져서 계층적으로 구성된다.
노드의 네트워크는 방향성이 있는 비순환적 그래프 구조로 배열될 수 있다. 방향성이 있는 비순환적 그래프 구조의 각 에지는 메모리 액세스 요구를 제공하는 상호배선 경로에 대응한다. 에지가 방향 설정되고, 각 에지는 하나의 노드 수단의 마스터 포트를 다른 노드 수단의 슬레이브 포트에 접속한다. 메모리 수단이 복수의 메모리 섹션을 포함하는 경우, 방향성이 있는 비순환적 그래프 구조는 각 데이터 프로세싱 수단이 하나 이상의 메모리 섹션(들)을 통신할 수 있는 방식으로, 각종 메모리 섹션에 각각 접속하는 마스터 포트의 세트를 초래하여, 다수의 데이터 프로세싱 수단이 각종 메모리 섹션을 동시에 액세스하도록 해서, 대역폭 병목을 저감시킨다. 또한, 방향성이 있는 비순환적 그래프 구조는 하나의 데이터 프로세싱 시스템으로부터 하나의 메모리 섹션까지 이르는 그래프를 통해 몇몇 상이한 경로를 제공할 수도 있다. 통신 병목현상을 더 감소시키거나 또는 설비 접속의 사용을 방지하도록 이들 상이한 경로가 유용하게 채용될 수 있다.
또한, 상기 실시예의 바람직한 개선된 실시예에서, 노드의 네트워크가 트리 구조로 배치됨에 따라 하나 이상의 데이터 프로세싱 수단(들) 및/또는 이전 노드(들)가 그 슬레이브 포트를 통해 노드 수단에 접속되지만, 각각의 노드 수단은 하나의 마스터 포트만을 갖는다. 이것은 노드 수단에 있어 전송 프로세스를 단순화하며, 모든 데이터 프로세싱 시스템에 의해 액세스될 수 있는 노드 트리의 루트에서 단일의 메모리 섹션에 접속한다.
이러한 대안적인 제 2 실시예에서, 바람직하게 노드의 네트워크는 n≥2인 노드의 n 그룹을 포함하며, 제 1 그룹의 노드의 슬레이브 포트 각각은 복수의 데이터 프로세싱 수단 중 하나에 접속되고, 제 n 그룹의 노드의 마스터 포트는 상기 메모리에 접속되며, 제 n 그룹의 노드의 슬레이브 포트 각각은 제 n-1 그룹의 노드 수단의 마스터 포트에 접속된다. 따라서, 노드의 네트워크는 n 그룹으로 분할되며, 각각의 그룹은 구조 내에 각종 레벨을 정의한다. 노드가 그 슬레이브 포트 중 하나에서 메모리 액세스 요구를 수신하는 경우, 이 요구는 상위 그룹의 노드로 전송되며, 혹은 노드가 최상위(즉, 제 n) 그룹인 경우, 메모리 수단에 전송된다. 이에 대해, 노드 구조는 반드시 균일한 깊이를 가질 필요는 없음에 주의해야 한다. 일부 데이터 프로세싱 수단은 하나 또는 2개의 노드만이 메모리 수단으로부터 이들을 분리한다는 점에서 메모리 수단에 "근접"될 수도 있는 반면, (이와 동시에) 다른 데이터 프로세싱 수단은 이들이 송출하는 메모리 액세스 요구가 다수의 노드를 통해 운행해야 한다는 점에서 메모리 수단으로부터 보다 "멀어질" 수도 있다.
상술한 노드 구조의 계층적 구조가 데이터 프로세싱 수단에 대해 전적으로 투명하게 됨에 따라 데이터 프로세싱 수단에 대한 수정이 요구되지 않는다.
바람직하게 노드는 허브(hubs)이다.
삭제
삭제
상술한 실시예의 수정 예에서, 통신 인터페이스 수단은 로컬 메모리 유닛을 캐쉬 메모리로서 제어하는 캐쉬 제어기 수단을 포함한다. 이 경우 로컬 메모리 유닛의 적어도 일부분은 그 마스터 포트 중 하나를 통해 도달 가능한 다른 메모리에 상주하는 데이터의 복사본을 국소적으로 저장하도록 사용된다. 따라서, 메모리 액세스 요구는 캐슁(caching) 동작이 인에이블되는 보다 넓은 어드레스 범위에 대해 국소적으로 제공될 수 있다.
또한, 통신 인터페이스 수단은 데이터 프로세싱 수단들 사이에 통신을 스트리밍(streaming)하는 적어도 하나의 동기화 수단을 포함할 수도 있다. 특히, 적어도 하나의 노드 수단은 상기 노드 수단에 직접적으로 또는 간접적으로 접속된 데이터 프로세싱 수단들 사이에 통신을 스트리밍하는 상기 동기화 수단을 포함한다.
로컬 메모리 유닛이 노드에 부착되는 경우, 로컬 메모리 유닛은 FIFO(first-in/first-out) 기능을 가져야 하고, 동기화 수단은 상기 로컬 메모리 유닛(들)을 제어하는 FIFO 관리 수단을 구비한다. 동기화 서비스는 FIFO 관리가 국소적으로 저장되는 경우에 국소적으로 처리되어, 다수의 데이터 프로세싱 수단은 노드 수단에 부착된 로컬 메모리 유닛(들)을 통해 데이터를 통신할 수 있는 한편, 동기화 요구는 대응하는 노드의 마스터 포트 중 하나에 전송된다.
다른 바람직한 실시예에서, 통신 인터페이스 수단은 단일 칩 상에 제공된다. 또한, 상기 단일 칩 상에 복수의 데이터 프로세싱 수단 중 적어도 일부분이 부가적으로 제공될 수도 있다.
본 발명의 상술한 목적 및 다른 목적은 이후의 상세한 설명 및 첨부 도면을 참조하여 보다 잘 이해될 것이다.
본 발명의 바람직한 실시예가 도면을 참조하여 설명되며,
도 1은 종래 기술에 따른 DVP 시스템의 기본 형태를 도시하는 개략적인 기본 블록도이고,
도 2는 본 발명의 바람직한 제 1 실시예에 따른 허브 구조를 포함하는 DVP 시스템의 개략적인 기본 블록도이며,
도 3은 본 발명의 바람직한 제 2 실시예에 따른 온 칩 로컬 메모리를 더 포함하는 허브 구조를 갖는 DVP 시스템의 개략적인 기본 블록도이고,
도 4는 본 발명의 바람직한 제 3 실시예에 따른 허브 구조를 포함하는 DVP 시스템의 개략적인 기본 블록도이다.
도 2는 본 발명의 바람직한 제 1 실시예에 따른 허브 구조를 갖는 디지털 비디오 플랫폼(DVP) 시스템을 도시하는 도면이다. 도 1에 도시한 시스템과 마찬가지로, 도 2의 시스템은, IP 유닛으로 또한 불리우는 복수의 데이터 프로세싱 유닛 IP, 및 메모리 SDRAM을 구비한다. 데이터 프로세싱 유닛 IP는 프로그램 가능한 장치(CPU), 애플리케이션 특유의 하드웨어 블록, 복잡한 내부 구조를 갖는 서브시스템 등일 수 있다. 모든 데이터 프로세싱 유닛은 장치 트랜잭션 레벨(device transaction level : DTL) 인터페이스를 구비한다. 또한, 복수의 허브 H11, H12, H2 가 제공되며, 여기서 각각의 허브는 몇 개의 슬레이브 포트 s 및 하나의 마스터 포트 m을 구비한다. 도 2의 시스템에서, 허브는 허브 H11, H12의 제 1 그룹 및 단 하나의 허브 H2로 이루어지는 제 2 그룹을 포함하는 허브의 네트워크를 정의한다. 허브 H11, H12의 제 1 그룹은 데이터 프로세싱 유닛 IP에 인접하는 제 1 레벨을 정의함에 따라 제 1 그룹의 허브 H11, H12는 그 슬레이브 포트 s를 통해 데이터 프로세싱 유닛 IP에 직접 접속된다. 도 2의 실시예에서, 각각의 허브는 다음 허브 또는 메모리 인터페이스 MMI에 접속하기 위한 단지 하나의 마스터 포트 m을 갖는다. 제 1 그룹의 허브 H11는 그 마스터 포트 m을 통해 메모리 인터페이스 MMI에 접속되는 제 2 그룹의 허브 H2의 슬레이브 포트 s에 그 마스터 포트 m을 통해 접속되는 반면, 제 1 그룹의 허브 H12는 그 마스터 포트 m을 통해 메모리 인터페이스 MMI에 직접 접속된다. 메모리 인터페이스 MMI는 메모리 SDRAM에 접속된다.
도 2의 실시예에서, 허브의 네트워크는 방향성이 있는 비순환적 그래프(directed acyclic graph : DAG) 구조로서 구성되며 여기서 DAG 구조의 노드는 노드 H11, H12, H2에 의해 정의되고, DAG 구조의 각 에지는 메모리 액세스 요구를 제공하는 상호배선 경로에 대응한다. 에지는 방향 설정된다. 도 2에 도시한 DAG 구조는 트리 구조를 갖도록 제한되며 여기서 각각의 허브 H11, H12, H2는 하나의 마스터 포트만을 갖는다. 이것은, 예를 들어, 요구된 어드레스에 대한 범위를 식별함으로써, 각 메모리 요구에 대한 마스터 포트를 선택하도록 할 필요는 없으므로, 허브 내의 전송 프로세스를 단순화한다.
허브의 슬레이브 포트 s에서 마스터 포트 m에 의해 전송되는 메모리 액세스 요구가 수신된다. 허브의 슬레이브 포트 s는 동일한 서비스를 제공한다는 점에서 균일하다. 따라서, 허브에 대해 슬레이브 포트 s가 데이터 프로세싱 유닛 IP 또는 다른 허브에 접속되는지 여부가 투명성을 갖게 된다.
도 2의 실시예에 대해 구조의 많은 수정예가 가능하고 도 2는 단지 하나의 일례를 제공한다는 것에 주의해야 한다. 따라서, 허브의 네트워크는 3개 이상의 레벨을 포함할 수도 있다. 또한, 허브 H12는 구조 내의 보다 높은 다음 허브에 접속될 수도 있다. 또한, 허브는 다수의 마스터 포트를 가질 수도 있으며, 예를 들면, 어드레스 범위 식별에 따라 전송을 위해 단일의 마스터 포트가 선택된다.
도 2에 또한 도시한 바와 같이, 데이터 프로세싱 유닛, 장치 트랜잭션 레벨 DTL, 허브 H11, H12, H2 및 메모리 인터페이스 MMI는 단일의 칩 C 상에 상주하는 반면, 메모리 SDRAM은 칩 C의 외부에 제공된다.
도 2에 도시한 허브 구조로 인해, 메모리 인터페이스 MMI의 클라이언트 수가 감소된다. 또한, 개별적인 와이어의 길이, 및 그에 따른 와이어의 전체 길이가 감소되어 와이어 혼잡이 방지된다.
계층적 허브 구조는 데이터 프로세싱 유닛 IP에 대해 전적으로 투명성을 가지며, 데이터 프로세싱 유닛 IP는 수정이 요구되지 않는다. 또한 동기화가 수행되 는 방식에 영향을 주지 않는데, 즉, 이는 메모리 매핑된 입/출력(도시하지 않음) 및 CPU를 포함하는 데이터 프로세싱 유닛을 통한 인터럽트에 의해 중앙 처리 방식으로 여전히 처리될 수도 있다.
도 3은 삽입된 로컬 메모리 MEM이 허브의 각각에 부착된다는 점에서 도 2의 제 1 실시예와 상이한 본 발명의 바람직한 제 2 실시예를 도시한다. 그러나, 이에 대해 다른 실시예에서 로컬 메모리가 허브의 일부에 대해서만 제공된다는 점에 주의해야 한다. 로컬 메모리 MEM은 어드레스 공간 내의 할당된 전용 세그먼트이며, 오프 칩 메모리 SDRAM 및 다수의 로컬 메모리 MEM을 통해 분배되는 단일의 어드레스 공간이 제공된다. 데이터 프로세싱 유닛 IP는 통상적인 어드레스 기반의 방식으로 메모리 액세스 요구를 수행하고, 여기서 어드레스는 오프 칩 메모리 SDRAM 또는 온 칩 로컬 메모리 MEM을 참조할 수 있다. 모든 데이터 프로세싱 유닛 IP는 오프 칩 메모리 SDRAM 및 메모리 인터페이스 MMI에 부착된 또 다른 온 칩 로컬 메모리 MEM을 액세스할 수 있으나, 모든 데이터 프로세싱 유닛 IP이 허브 H11, H12, H2에 부착된 모든 온 칩 로컬 메모리 MEM을 액세스할 수는 없다. 즉, 데이터 프로세싱 유닛 IP는 메모리 인터페이스 MMI에 대한 라우트에 대해 허브에 부착된 로컬 메모리 MEM만을 액세스할 수 있다.
공통 허브를 공유하는 데이터 프로세싱 유닛 IP에 대해, 해당 허브에 부착된 로컬 메모리 MMI를 통해 버퍼링된 통신이 수행될 수 있다. 데이터 프로세싱 유닛들 사이의 통신에 사용된 FIFO 버퍼는 공통 허브에 부착된 로컬 메모리 MEM의 메모 리 세그먼트에 매핑되며, 바람직하게는 가장 근접한 공통 허브인 제 1 그룹의 공통 허브 H11, 또는 H12에 매핑된다. 데이터 프로세싱 유닛 IP는 이러한 버퍼가 이들의 DTL 인터페이스를 통해 할당된 어드레스 범위 내의 데이터를 단지 액세스하도록 지시되나, 물리적 위치를 알지 못하는데, 즉, 이는 데이터 프로세싱 유닛 IP에 대해 투명성을 갖게 된다. 허브는 데이터 프로세싱 유닛 IP에 의해 수행된 메모리 액세스 요구의 어드레스를 체크하고, 어드레스가 지정된 범위 내에 있는 경우 이들의 로컬 메모리 MEM에 대한 액세스를 수행하거나, 혹은 계층 내에 상승 요구를 전송한다. IP 대 IP 통신을 위한 버퍼는 구성 시에 로컬 메모리 MEM에 할당될 수 있으며, 여기서 버퍼의 메모리 범위는 로컬 메모리 MEM가 부착되는 허브 내에서 프로그래밍된다.
온 칩 로컬 메모리 MEM을 통해 통신에 대해 매핑되는 IP 대 IP 통신은 오프 칩 메모리 SDRAM에 대해 과도한 대역폭을 소모하지 않는다. 허브 구조는 자주 통신할 필요가 있는 데이터 프로세싱 유닛 IP가 이러한 공통 허브에 부착된 로컬 메모리를 통해 통신을 위한 공통 허브를 갖도록 선택되어야 한다. 예를 들면, 비디오 데이터 프로세싱 유닛 IP는 허브 구조의 동일한 서브 트리 내에 있어야 한다. 또한, 전체 이용 가능한 메모리 대역폭이 현저하게 증가된다. 일부 데이터 프로세싱 유닛 IP에 의해 오프 칩 메모리 SDRAM에 대한 액세스와 병렬로, 다른(분리된) 서브 트리 내에 위치하는 데이터 프로세싱 유닛 IP에 의해 온 칩 메모리에 대한 액세스가 수행될 수도 있다. 또한, 온 칩 메모리 MEM를 통한 통신은 보다 전력 효율 적이고 보다 높은 대역폭(보다 넓은 상호배선 및 메모리 포트, 보다 높은 클럭)을 보다 용이하게 지원할 수 있다.
전술한 바와 같이, 데이터 프로세싱 유닛 IP는 데이터가 온 칩(로컬 메모리 MEM) 또는 오프 칩(메모리 SDRAM)으로 위치하는지 여부에 관계없이, 이들의 DTL 인터페이스를 통해 간단히 데이터를 액세스할 수 있다. 따라서, 온 칩 통신은 데이터 프로세싱 유닛 IP에 대해 투명성을 갖는다. 이것은 제안된 구성에서 데이터 프로세싱 유닛 IP의 재사용을 촉진시킨다.
데이터 프로세싱 유닛 IP 간의 동기화에 대해 특별한 주의가 요구된다. 이미 서술한 바와 같이, DVP 시스템에서는, CPU를 포함하고, 조밀하지 않은 데이터 그레인에서 낮은 레이트의 동기화를 필요로 하는 데이터 프로세싱 유닛에 의해 동기화가 수행된다. 이는 오프 칩 SDRAM에 용이하게 수용될 수 있는 보다 큰 버퍼 크기를 초래한다. 그러나, 온 칩 통신의 경우, 보다 작은 버퍼가 사용되어야 하며, 이는 보다 미세한 데이터 그레인에서 동기화를 필요로 한다. 마수의 데이터 프로세싱 유닛에 의해 수행된 기능의 경우, 보다 미세한 그레인(예를 들어, 라인 또는 매크로 블록)에서 동기화를 위한 인터럽트 기반 방안을 이용하여, CPU 상에서 보다 높은 인터럽트 레이트를 초래할 것이다.
하나의 해결책은 동기화에 대해 보다 많은 CPU 전력을 담당하게 하거나, 혹은 동기화 태스크에 대해 특별한(광 가중치) CPU를 담당하게 하는 것일 수 있다.
다른 매력적인 해결책은 허브에 동기화 지원을 부가하는 것이다. 이 경우, 각각의 허브는 이러한 허브에 부착된 로컬 메모리 MEM을 통해 (FIFO 기반의) IP 대 IP 통신에 관련되는 동기화 태스크를 수행할 수 있는데, 즉, FIFO 오퍼레이션 당 데이터 및 공간의 이용 가능도가 관리되어 데이터 프로세싱 유닛 IP에 시그널링된다. 따라서, 이것은 적어도 로컬 메모리를 통한 통신이 수반되는 한, CPU 소프트웨어 간섭 없이 데이터 프로세싱 유닛의 연속적인(자발적인) 오퍼레이션을 지원한다.
데이터 프로세싱 유닛 IP는 이들의 포트에서 동기화 호출을 추상적으로 할 필요가 있는 것으로 제시되어 있다. 인프라스트럭처(infrastructure)는 시스템 온 칩 내에 데이터 프로세싱 유닛 IP가 어떻게 일체화되는지에 따라, 이들 동기화 호출이 어떻게 해결되는지를 결정한다. 이것은 재사용 가능한 데이터 프로세싱 유닛으로 하드와이어되지 않을 것이다. 예를 들면, 이러한 포트가 로컬 메모리를 통해 로컬 통신에 매핑하는 경우, 대응하는 허브는 동기화 호출을 국소적으로 해결하거나, 혹은 이를 다음의 보다 높은 허브로 전송한다. 오프 칩 메모리 SDRAM을 통해 통신이 행해지는 경우, 인터럽트가 발생될 수도 있다. 데이터 프로세싱 유닛 IP의 경우, 이것은 통신 인터페이스에 고 레벨 요구를 송출하는 기능을 데이터 프로세싱 유닛 IP에 제공하도록 구성되는 "추상적" 인터페이스(도시하지 않음)에 의해 은폐되지만, 이러한 요구가 어떻게 숨겨지는지에 대해서도 데이터 프로세싱 유닛으로부터 은폐된다. 버퍼가 허브에 부착된 로컬 메모리 MEM에 제공되는 경우, 동기화를 위한 포트 어드레스는 그 구성 시에 버퍼의 어드레스 범위와 함게 허브 내에 프로그래밍된다.
앞서 제시된 방안에서 로컬 메모리 MEM는 데이터가 오프 칩 메모리 SDRAM을 운행할 필요가 없는 버퍼링된 IP 대 IP 통신에 사용된다는 것에 주의해야 한다. 이것은 반복된 사용을 위해 오프 칩 SDRAM으로부터 온 칩 로컬 메모리 MEM에 데이터를 복사하는 캐쉬로서 온 칩 로컬 메모리의 사용과는 상이하다.
그러나, 도 3의 아키텍처는 캐슁을 함께 지원하도록 사용될 수 있으며, 2 종류의 캐슁, 즉, 투명 캐슁 및 IP 제어 캐슁으로 구별된다.
투명 캐쉬에 의해, 데이터 프로세싱 유닛 IP는 데이터를 액세스함에 있어 상이한 레이턴시를 인식하지 않고, 로컬 메모리 MEM에 복사된다는 것을 실제로 알지 못한다. 캐쉬 제어 기능에 의해, 오프 칩 메모리 SDRAM으로부터 온 칩 로컬 메모리 MEM으로, 혹은 온 칩 로컬 메모리 MEM으로부터 오프 칩 메모리 SDRAM으로 데이터가 복사된다. 이러한 캐쉬 제어가 허브로 구현된다. 캐쉬 코히어런시는 하드웨어 캐쉬 코히어런스 방안을 구현하거나, 혹은 프로그래밍 모델에 제한을 채택함으로써, 해결되어야 한다.
IP 제어 캐슁에 의해, 데이터 프로세싱 유닛 IP 자신은 반복된 (미세한 그레인) 사용을 위해 오프 칩 메모리 SDRAM으로부터 온 칩 로컬 메모리 MEM으로 데이터를 복사한다. 온 칩 로컬 메모리 MEM 내의 복사본은 오프 칩 메모리 SDRAM 내의 대응하는 데이터와 상이한 어드레스 범위에 있다. IP 제어 캐슁에 의해, 데이터 프로세싱 유닛 IP는 코히어런시에 대해 담당한다. IP 제어 캐슁의 일례로서, 온 칩 로컬 메모리 MEM 내의 텍스처(texture) 데이터를 '캐슁'하여 이에 대한 미세한 그레인 액세스를 수행하는 3 차원 그래픽스 렌더러(renderer)가 고려될 수 있다. 이것은 미세한 그레인 액세스를 수행하는 경우 허브에 부착된 로컬 메모리 MEM의 어드레스 범위에 텍스처 데이터를 복사하고 해당 어드레스 범위 내의 어드레스를 참조함으로써 행해진다. 이러한 경우, 캐쉬 제어는 데이터 프로세싱 유닛 IP 자신에 의해 수행되며, 이러한 종류의 사용은 IP 대 IP 통신을 위한 온 칩 로컬 메모리의 투명한 이용과는 상이하다. 그럼에도 불구하고, 도 3의 아키텍처는 이러한 종류의 이용을 지원한다.
도 4는 제 1 오프 칩 메모리 SDRAM1 및 이에 접속 연관된 제 1 메모리 인터페이스 MMI1에 부가하여, 제 2 오프 칩 메모리 SDRAM2 및 이에 접속 연관된 제 2 메모리 인터페이스 MMI2가 제공된다는 점에서 도 2의 제 1 실시예와 상이한, 바람직한 제 3 실시예를 도시한다. 또한, 복수의 H11, H12, H2가 제공되며, 허브 H11 및 H12 각각은 몇개의 슬레이브 포트 s 및 2개의 마스터 포트 m을 구비하며, 허브 H21 및 H22 각각은 2개의 슬레이브 포트 s 및 하나의 마스터 포트 m을 구비한다. 따라서, 도 4의 시스템에서, 허브는 허브 H11 및 H12의 제 1 그룹 및 허브 H21 및 H22의 제 2 그룹을 구비하는 허브의 네트워크를 정의한다. 허브 H11 및 H12의 제 1 그룹은 데이터 프로세싱 유닛 IP에 인접하는 제 1 레벨을 정의함에 따라 제 1 그룹의 허브 H11 및 H12는 그 슬레이브 포트 s를 통해 데이터 프로세싱 유닛 IP에 직접 접속된다. 허브 H21 및 H22의 제 2 그룹은 데이터 프로세싱 유닛 IP에 인접하는 제 2 레벨을 정의하며, 허브 H21 및 H22는 그 슬레이브 포트 중 하나를 통해 허브 H11의 마스터 포트 m 중 하나에 접속되고 또한 그 슬레이브 포트 s 중 다른 하나를 통해 허브 H12의 마스터 포트 m 중 하나에 접속된다. 또한, 허브 H21는 그 마스터 포트 m을 통해 제 1 메모리 인터페이스 MMI1에 접속되고, 허브 H22는 그 마스터 포트 m을 통해 제 2 메모리 인터페이스 MMI2에 접속된다.
따라서, 도 4의 제 3 실시예에서, 허브의 네트워크는 도 2 및 도 3의 제 1 및 제 2 실시예에서와 마찬가지로, DAG 구조로서 구성되나, 데이터 프로세싱 유닛 IP는 2개의 오프 칩 메모리 SDRAM1 및 SDRAM2에 대해 선택 사양적인 액세스를 하는 반면, 도 2 및 도 3의 제 1 및 제 2 실시예에서 단일의 오프 칩 메모리 SDRAM 및 데이터 프로세싱 유닛 IP 사이의 통신만이 존재한다. 2개의 오프 칩 메모리 SDRAM1 및 SDRAM2이 허브의 네트워크에 접속되는 것과는 달리, 도 4의 제 3 실시예의 오퍼레이션은 도 2의 제 1 실시예의 오퍼레이션과 동일함에 따라 도 2의 참조 부호가 부여된다. 또한, 도 4의 제 3 실시예에서 도 3과 관련하여 기술된 바와 같은 로컬 메모리 및 동기화가 함께 선택 사양적으로 제공될 수도 있다.
전술한 바와 같이, 도 4의 제 3 실시예는 2개의 오프 칩 메모리 SDRAM1 및 SDRAM2를 구비한다. 그러나, 3개 이상의 오프 칩 메모리가 함께 제공될 수도 있다.
상술한 설명에서, 온 칩 로컬 메모리 MEM을 사용하여 오프 칩 메모리 SDRAM에 대한 통신 병목을 방지하도록 하는 DVP 플래폼과 마찬가지로 멀티프로세싱 데이터 시스템의 전개에 있어 다음의 단계가 제공되었다. IP 대 IP 통신을 위한 로컬 메모리 MEM을 이용하면 데이터 프로세싱 유닛 IP에 대해 대체로 투명성을 갖는다.
본 발명에 따른 상술한 아키텍처의 다른 장점은 단계적인 방식으로 도입될 수 있다는 점이다. 해결책을 채택하는 첫 번째 칩은 이러한 로컬 메모리 MEM을 통해 통신하기를 원하는 소수의 데이터 프로세싱 유닛 IP만을 위한 새로운 허브(예를 들면, H12) 및 온 칩 로컬 메모리 MEM을 사용할 수 있다. 다음의 칩에서, 로컬 메모리를 갖는 허브의 수가 점차적으로 상승할 수 있으며, 온 칩 통신 설비는 더욱 많은 IP 대 IP 통신을 위해 사용될 수도 있다.
본 발명은 첨부 도면에 도시한 예를 참조하여 기술되었으나, 본 발명은 이에 제한하는 것은 아니며 첨부되는 청구 범위에 개시된 범위 내에서 다수의 방식으로 가변시킬 수 있음이 명백해질 것이다.

Claims (15)

  1. 메모리 수단(SDRAM)과,
    상기 메모리 수단(SDRAM)에 액세스하도록 제공되는 복수의 데이터 프로세싱 수단(IP)과,
    상기 메모리 수단(SDRAM)과 상기 복수의 데이터 프로세싱 수단(IP) 사이에 결합되는 통신 인터페이스 수단을 포함하되,
    상기 통신 인터페이스 수단은,
    노드들(H11, H12, H2)의 네트워크와,
    메모리 액세스 요구에 의해 선택적으로 액세스되도록 구성되는 적어도 하나의 로컬 메모리 유닛(MEM)을 포함하고,
    상기 노드의 각각은, 상기 복수의 데이터 프로세싱 수단(IP)의 각각으로부터 또는 이전 노드로부터 메모리 액세스 요구를 수신하는 적어도 하나의 슬레이브 포트(s) 및 상기 슬레이브 포트(s)에서 수신되는 상기 메모리 액세스 요구에 따라 상기 메모리 액세스 요구를 다음 노드 또는 상기 메모리 수단(SDRAM)으로 송출하는 적어도 하나의 마스터 포트(m)를 구비하며,
    상기 적어도 하나의 슬레이브 포트(s)는 이전 노드의 마스터 포트(m) 또는 상기 복수의 데이터 프로세싱 수단(IP)의 각각에 접속되며,
    상기 적어도 하나의 마스터 포트(m)는 다음 노드의 슬레이브 포트(s) 또는 상기 메모리 수단(SDRAM)에 접속되며,
    상기 메모리 수단 및 상기 적어도 하나의 로컬 메모리 유닛에 걸쳐 단일 어드레스 공간이 분배되고,
    상기 노드들(H11, H12, H2)의 적어도 일부는 각각의 로컬 메모리 유닛(MEM)이연결되는 적어도 하나의 메모리 포트(mp)를 더 포함하여, 상기 로컬 메모리 유닛(MEM)이 상기 복수의 데이터 프로세싱 수단(IP) 중 상이한 데이터 프로세싱 수단 사이에서의 버퍼링된 통신 -상기 버퍼링된 통신에서는 상기 메모리 수단(SDRAM)에 데이터를 전달할 필요가 없음- 에 사용될 수 있게 하는
    데이터 프로세싱 시스템.
  2. 제 1 항에 있어서,
    각각의 노드에서 상기 슬레이브 포트(s)의 수는 상기 마스터 포트(m)의 수보다 많은
    데이터 프로세싱 시스템.
  3. 제 1 항에 있어서,
    상기 노드들(H11, H12, H2)의 네트워크는 계층적으로 구조화되는
    데이터 프로세싱 시스템.
  4. 제 3 항에 있어서,
    상기 노드들(H11, H12, H2)의 네트워크는 방향성이 있는 비순환적 그래프 구조(directed acycle graph structure)로 구성되는
    데이터 프로세싱 시스템.
  5. 제 4 항에 있어서,
    상기 노드들(H11, H12, H2)의 네트워크는 트리 구조로 구성되는
    데이터 프로세싱 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 노드들(H11, H12, H2)의 네트워크는 n개의 노드 그룹(n≥2)을 포함하되,
    제 1 그룹의 노드(H11)의 각 슬레이브 포트(s)는 상기 복수의 데이터 프로세싱 수단(IP) 중 하나에 접속되고,
    제 n 그룹의 노드(H2)의 마스터 포트(m)는 상기 메모리 수단(SDRAM)에 접속되며,
    제 n 그룹의 노드(H2)의 각 슬레이브 포트(s)는 제 n-1 그룹의 노드(H11)의 마스터 포트(m)에 접속되는
    데이터 프로세싱 시스템.
  7. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 노드들(H11, H12, H2)은 허브(hubs)인
    데이터 프로세싱 시스템.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 통신 인터페이스 수단은 상기 데이터 프로세싱 수단(IP)들 사이의 통신을 스트리밍하는 적어도 하나의 동기화 수단을 더 포함하는
    데이터 프로세싱 시스템.
  10. 제 1 항에 있어서,
    상기 통신 인터페이스 수단은 상기 로컬 메모리 유닛(MEM)의 적어도 하나의 섹션을 캐쉬 메모리로서 제어하는 캐쉬 제어기 수단을 포함하는
    데이터 프로세싱 시스템.
  11. 제 9 항에 있어서,
    적어도 하나의 노드(H11, H12, H2)는 상기 노드에 직접적으로 또는 간접적으로 연결된 상기 데이터 프로세싱 수단(IP)들 사이의 통신을 스트리밍하는 상기 동기화 수단을 포함하는
    데이터 프로세싱 시스템.
  12. 제 9 항 또는 제 11 항에 있어서,
    상기 로컬 메모리 유닛(MEM)은 저장 수단에 FIFO(first-in/first-out) 기능을 제공하고,
    상기 동기화 수단은 상기 로컬 메모리 유닛(들)(MEM)을 제어하는 FIFO 관리 수단을 구비하는
    데이터 프로세싱 시스템.
  13. 제 1 항에 있어서,
    상기 통신 인터페이스 수단은 단일 칩(C) 상에 제공되는
    데이터 프로세싱 시스템.
  14. 제 13 항에 있어서,
    상기 복수의 데이터 프로세싱 수단(IP) 중 적어도 일부분은 상기 단일 칩(C) 상에 부가적으로 제공되는
    데이터 프로세싱 시스템.
  15. 삭제
KR1020067004411A 2003-09-04 2004-08-19 데이터 프로세싱 시스템 KR101109016B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03103293.1 2003-09-04
EP03103293 2003-09-04
PCT/IB2004/051491 WO2005026964A2 (en) 2003-09-04 2004-08-19 Data processing system

Publications (2)

Publication Number Publication Date
KR20060080186A KR20060080186A (ko) 2006-07-07
KR101109016B1 true KR101109016B1 (ko) 2012-01-31

Family

ID=34306924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067004411A KR101109016B1 (ko) 2003-09-04 2004-08-19 데이터 프로세싱 시스템

Country Status (7)

Country Link
US (1) US7870347B2 (ko)
EP (1) EP1671233B1 (ko)
JP (1) JP4729490B2 (ko)
KR (1) KR101109016B1 (ko)
CN (1) CN100520748C (ko)
AT (1) ATE534080T1 (ko)
WO (1) WO2005026964A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250015B2 (en) 2020-02-07 2022-02-15 Coupang Corp. Systems and methods for low-latency aggregated-data provision

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005111823A1 (en) * 2004-05-18 2005-11-24 Koninklijke Philips Electronics N.V. Integrated circuit and method for buffering to optimize burst length in networks on chips
US7561584B1 (en) * 2005-11-09 2009-07-14 Sun Microsystems, Inc. Implementation of a graph property in a switching fabric for fast networking
CN103186501A (zh) * 2011-12-29 2013-07-03 中兴通讯股份有限公司 一种多处理器共享存储方法及系统
US10142034B2 (en) 2013-09-02 2018-11-27 Philips Lighting Holding B.V. Optically transmissive electronic device having an optically transmissive light emitting device to transmit optical signal to a second optically transmissive light receiving device through a first optically transmissive light receiving device
US20160164999A1 (en) * 2014-12-09 2016-06-09 International Business Machines Corporation Hybrid web storage model
CN107368523B (zh) * 2017-06-07 2020-05-12 武汉斗鱼网络科技有限公司 一种数据处理方法及系统
KR102109371B1 (ko) 2018-01-15 2020-05-12 주식회사 경인기계 팬 및 이를 포함하는 냉각탑
JP7053891B2 (ja) * 2018-06-27 2022-04-12 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド オンチップコードのブレークポイントによるデバッグ方法、オンチッププロセッサ及びブレークポイントによるチップデバッグシステム
EP4009183A1 (en) * 2018-10-18 2022-06-08 Shanghai Cambricon Information Technology Co., Ltd Network-on-chip data processing method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294890A2 (en) * 1987-06-09 1988-12-14 Koninklijke Philips Electronics N.V. Data processing system
US6253290B1 (en) 1998-09-04 2001-06-26 Mitsubishi Denki Kabushiki Kaisha Multiprocessor system capable of circumventing write monitoring of cache memories
US6292705B1 (en) 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63236159A (ja) * 1987-03-25 1988-10-03 Hitachi Ltd 並列プロセツサのメモリアクセス方式
GB8914352D0 (en) 1989-06-22 1989-08-09 Int Computers Ltd Multiprocessor data processing system
US5261067A (en) 1990-04-17 1993-11-09 North American Philips Corp. Method and apparatus for providing synchronized data cache operation for processors in a parallel processing system
CA2051029C (en) * 1990-11-30 1996-11-05 Pradeep S. Sindhu Arbitration of packet switched busses, including busses for shared memory multiprocessors
US5469542A (en) * 1991-07-22 1995-11-21 International Business Machines Corporation Serial diagnostic interface bus for multiprocessor systems
JP2819982B2 (ja) * 1993-03-18 1998-11-05 株式会社日立製作所 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
TW440793B (en) 1998-02-25 2001-06-16 Koninkl Philips Electronics Nv A method for structuring a multi-instruction computer program from basic blocks that compose from internal instructions and external jumps in an internal directed acyclic graph, and a processor loaded with such program
US6625700B2 (en) * 2001-05-31 2003-09-23 Sun Microsystems, Inc. Arbitration and select logic for accessing a shared memory
US6961804B2 (en) * 2001-07-20 2005-11-01 International Business Machines Corporation Flexible techniques for associating cache memories with processors and main memory
US7024506B1 (en) * 2002-12-27 2006-04-04 Cypress Semiconductor Corp. Hierarchically expandable fair arbiter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294890A2 (en) * 1987-06-09 1988-12-14 Koninklijke Philips Electronics N.V. Data processing system
US6253290B1 (en) 1998-09-04 2001-06-26 Mitsubishi Denki Kabushiki Kaisha Multiprocessor system capable of circumventing write monitoring of cache memories
US6292705B1 (en) 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250015B2 (en) 2020-02-07 2022-02-15 Coupang Corp. Systems and methods for low-latency aggregated-data provision
US11899678B2 (en) 2020-02-07 2024-02-13 Coupang Corp. Systems and methods for low latency aggregated data provision

Also Published As

Publication number Publication date
US20070028038A1 (en) 2007-02-01
KR20060080186A (ko) 2006-07-07
WO2005026964A3 (en) 2006-08-31
CN100520748C (zh) 2009-07-29
EP1671233A2 (en) 2006-06-21
US7870347B2 (en) 2011-01-11
ATE534080T1 (de) 2011-12-15
WO2005026964A2 (en) 2005-03-24
JP2007504549A (ja) 2007-03-01
CN1902611A (zh) 2007-01-24
EP1671233B1 (en) 2011-11-16
JP4729490B2 (ja) 2011-07-20

Similar Documents

Publication Publication Date Title
JP2512651B2 (ja) メモリ共有マルチプロセッサ
US7380102B2 (en) Communication link control among inter-coupled multiple processing units in a node to respective units in another node for request broadcasting and combined response
US8407432B2 (en) Cache coherency sequencing implementation and adaptive LLC access priority control for CMP
US7818388B2 (en) Data processing system, method and interconnect fabric supporting multiple planes of processing nodes
US10169087B2 (en) Technique for preserving memory affinity in a non-uniform memory access data processing system
JP4758384B2 (ja) チケット・ベースの動作の追跡をサポートするデータを処理するためのデータ処理システムおよび方法
US7624236B2 (en) Predictive early write-back of owned cache blocks in a shared memory computer system
US10210117B2 (en) Computing architecture with peripherals
JPH0810446B2 (ja) バスの競合を解決するための裁定手段
KR101109016B1 (ko) 데이터 프로세싱 시스템
US20090138640A1 (en) Data Processing System, Method and Interconnect Fabric Supporting Concurrent Operations of Varying Broadcast Scope
CN104115128A (zh) 具有高速缓存相干性的集成电路
JPH0810447B2 (ja) メモリ共有マルチプロセッサが使用する全ての物理的アドレスのデータ両立性を保持する方法
US7809004B2 (en) Data processing system and processing unit having an address-based launch governor
CN110035021B (zh) 针对原子数据访问请求进行的资源分配
US8990501B1 (en) Multiple cluster processor
US10963409B2 (en) Interconnect circuitry and a method of operating such interconnect circuitry
US20020133658A1 (en) Method of synchronizing arbiters within a hierarchical computer system
JP2002198987A (ja) ハブおよびポート付き転送コントローラのアクティブ・ポート
Kim et al. A cost-effective latency-aware memory bus for symmetric multiprocessor systems
US6877055B2 (en) Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater
NZ716954B2 (en) Computing architecture with peripherals

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