KR100932408B1 - 스위치 매트릭스를 통한 데이터 전송을 개선하는 흐름 제어방법 - Google Patents

스위치 매트릭스를 통한 데이터 전송을 개선하는 흐름 제어방법 Download PDF

Info

Publication number
KR100932408B1
KR100932408B1 KR1020077020415A KR20077020415A KR100932408B1 KR 100932408 B1 KR100932408 B1 KR 100932408B1 KR 1020077020415 A KR1020077020415 A KR 1020077020415A KR 20077020415 A KR20077020415 A KR 20077020415A KR 100932408 B1 KR100932408 B1 KR 100932408B1
Authority
KR
South Korea
Prior art keywords
master
data
slave
slaves
masters
Prior art date
Application number
KR1020077020415A
Other languages
English (en)
Other versions
KR20070104929A (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 KR20070104929A publication Critical patent/KR20070104929A/ko
Application granted granted Critical
Publication of KR100932408B1 publication Critical patent/KR100932408B1/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Optical Communication System (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

SoC (system-on-chip) IC (Integrated circuit) 는 버스 경합을 감소시키고 버스 이용률을 개선시킨다. SoC IC 는 스위치 매트릭스 타입의 버스 제어기를 포함한다. 버스 제어기와 상호접속된 마스터는 데이터에 대한 요청을 이슈하고, 그 요청에 응답하여 요청된 데이터를 수신한다. 버스 제어기와 상호접속된 슬레이브는 데이터에 대한 요청을 수신하고, 요청 마스터에게 요청 데이터를 제공한다. 버스 제어기에 의해 이슈되는 제어 신호는 어떤 마스터가 요청 데이터를 슬레이브로부터 수신할 준비가 되어 있지 않은지를 각각의 슬레이브에 나타낸다. 슬레이브는 요청 데이터에 관한 준비가 되어 있지 않은 임의의 마스터로 데이터를 전송하는 것을 지연시키고, 요청 데이터를 슬레이브로부터 수신할 준비가 되어 있는 상이한 마스터에게 데이터를 제공한다.
Figure R1020077020415
마스터, 슬레이브, SoC IC, 스위치 매트릭스, 버스 제어기

Description

스위치 매트릭스를 통한 데이터 전송을 개선하는 흐름 제어 방법{FLOW CONTROL METHOD TO IMPROVE DATA TRANSFER VIA A SWITCH MATRIX}
기술 분야
본 발명은 일반적으로 SoC (system-on-chip) IC (Integrated circuit) 에 관한 것이다. 더 상세하게는, 본 발명은 SoC IC 내의 버스 이용률을 개선하는 방법에 관한 것이다.
관련 기술의 설명
SoC (system-on-chip) IC 라는 용어는 원하는 모든 기능 및/또는 필요한 기능이 단일 다이 또는 기판 상에 집적되거나 제조되는 시스템을 지칭하는데 사용된다. 이와 같이, 일반적으로, SoC IC 는 예를 들어, 마이크로프로세서, 디지털 신호 프로세서, 메모리 어레이, 버퍼 등과 같은, 다양한 기능의 회로 블록을 포함한다. 이러한 기능의 회로 블록은 종종 코어라고 지칭된다. 코어들은 이 코어들이 서로 데이터를 교환하는 SoC IC 내의 시스템 버스 및 그 버스와 접속된 임의의 다른 디바이스와 각각 전기적으로 접속되어 있다.
더 상세하게는, SoC IC 내에, 또 다른 코어에 액세스 (데이터를 기록하거나 또는 데이터를 판독함) 하라는 요청을 이슈 (issue) 하는 코어는 이니시에이터 (initiator) 코어, 이니시에이터, 또는 버스 마스터로 다양하게 지칭된다. 이니시에이터 또는 마스터가 액세스하기를 원하는 코어, 즉, 기록 데이터를 수신하거 나 판독 데이터를 제공하는 코어는 타깃 또는 슬레이브로 지칭된다. 2 개 이상의 코어가 버스에 데이터를 위치시키거나 버스로부터 데이터를 검색하려고 하는 경우에 발생하는 충돌인 버스 경합 (bus contention) 을 회피하기 위해, 버스 제어기가 SoC IC 내에 포함되어 있다.
통상적으로, 버스 제어기는 어떤 마스터가 임의의 소정의 시간에 슬레이브로의 액세스를 승인받는지를 선택하는 아비터 (arbiter) 를 포함한다. 따라서, 오직 하나의 마스터만이 임의의 소정의 액세스 또는 데이터 전송 사이클 내에, 소정의 슬레이브에 액세스하는 것을 보장함으로써, 버스에서의 버스 경합 및 데이터 충돌이 회피된다. 이러한 접근방법은 슬레이브로의 순차적 액세스를 마스터에게 제공하며, 즉, 마스터들은 교대로 슬레이브들에 액세스한다. 이러한 순차적 액세스는 상대적으로 느리고 비효율적이며, 시스템 성능에 악영향을 미칠 수 있다.
스위치 매트릭스 타입의 버스 제어기는 종종 버스의 이용률을 증가시키고, 이에 의해, 시스템 성능을 개선시키는데 사용된다. 각각의 슬레이브 및 각각의 마스터는 각각의 슬레이브 또는 마스터 버스 라인에 의해 스위치 매트릭스 버스 제어기에 접속된다. 따라서, 스위치 매트릭스는 슬레이브에 대한 병렬적인 액세스를 마스터에게 제공하며, 즉, 상이한 마스터는 각각의 상이한 슬레이브로 동시에 액세스할 수 있으며, 그 반대의 경우도 가능하다. 그러나, 버스 경합은 스위치 매트릭스 타입의 버스 제어기의 사용에 의해 완전히 회피되진 않는다. 버스 경합 및/또는 데이터 충돌은, 예를 들어, 하나의 마스터가 2 개 이상의 슬레이브에 액세스하려는 경우에 스위치 매트릭스를 갖는 SoC IC 에서 발생할 수 있다. 각 각의 마스터가 단일의 대응하는 버스 라인에 의해 스위치 매트릭스에 접속되기 때문에, 데이터 충돌은 단일 요청 마스터의 요청하고/하거나 데이터를 리턴하기 위해 2 개 이상의 슬레이브가 동시에 준비되는 경우에 발생할 수 있다. 또한, 순차적인 요청을 하는 마스터는 응답 또는 완료통지가 요청한 순서와 동일하게 리턴되기를 요구할 수도 있다.
마스터 요청의 완료통지 순서를 보장할 뿐 아니라 데이터 충돌을 회피하기 위해, 통상적으로, 스위치 매트릭스는 요청을 지연시키거나 라우팅하는 로직 및/또는, 데이터 또는 응답을 저장하는 요청 큐 (queue) 또는 버퍼를 포함한다. 라우팅 로직은, 앞선 응답이 성공적으로 완료될 때까지 다른 모든 응답을 블록 (block) 하거나 지연시킴으로써 단일 세트의 데이터만이 버스에 위치하도록 보장한다. 응답 큐 또는 버퍼는 통상적으로 선입선출 방식으로, 마스터로부터의 다수의 요청을 저장할 수도 있고, 버스가 데이터를 수신할 준비가 되고 슬레이브가 데이터를 버스에 전송하거나 또는 마스터가 그 데이터를 수신할 준비가 될 때까지, 큐에서 데이터를 보유함으로써 데이터 충돌을 회피한다. 응답 큐는, 마스터 요청의 프로그램 순서를 유지하기 위해, 다른 슬레이브가 더 오래된 요청에 대한 응답 또는 리턴 데이터를 전송완료하기를 대기하는 동안, 더 새로운 요청에 대한 응답 또는 데이터를 보유할 수도 있다.
그러나, 앞선 요청이 성공적으로 완료될 때까지 1 개 이상의 계류중인 요청을 지연시키거나 큐잉 (queuing) 하는 것은, 특히 앞선 요청을 완료하는데 걸리는 지연이 요청 데이터를 버스에 위치시킬 준비가 아직 되지 않은 슬레이브 또는 버스로부터 데이터를 수신할 준비가 아직 되지 않은 마스터로 인한 것인 경우에, 버스 용량을 낭비하는 것이다. 이러한 상황에서, 버스는 데이터를 전송하는데 사용되는 것이 아니라, 오히려 데이터 전송을 대기한다. 즉, 이러한 상황에서, 버스는 병목상태가 아니다. 따라서, 버스는, 그 사이에, 다른 코어가 앞선 요청 또는 데이터 전송을 완료하는 것을 시스템이 대기하는 동안에 아이들 상태로 있는 것보다 오히려 가용하고 프로세싱될 준비가 된 데이터를 전송하는데 더 효과적으로 이용될 수 있다.
따라서, 당업계에는 SoC IC 내의 버스 이용률을 개선하는 방법 및 장치가 필요하다.
요약
버스 이용률이 개선되고 더 효과적으로 데이터를 전송하는 SoC (system-on-chip) IC (integrated circuit) 가 제공된다. 또한, 버스 이용률 및 데이터 전송을 개선하는 방법이 제공된다.
일 실시형태에서, 버스 제어기를 갖는 SoC IC 가 제공된다. 버스 제어기와 상호접속된 마스터는 데이터 요청을 이슈하고, 그 요청에 응답하여 요청 데이터를 수신한다. 버스 제어기와 상호접속된 슬레이브는 데이터 요청을 수신하고, 그 요청 데이터를 요청 마스터에게 제공한다. 버스 제어기에 의해 이슈되는 제어 신호는 어떤 마스터가 요청했던 데이터를 슬레이브로부터 수신할 준비가 되어 있지 않은지를 각각의 슬레이브에 나타낸다. 슬레이브는 요청 데이터에 대해 준비되어 있지 않은 임의의 마스터로 데이터를 전송하는 것을 지연시키고, 요청되 었던 데이터를 슬레이브로부터 수신할 준비가 된 상이한 마스터에게 데이터를 제공한다.
슬레이브는, 특정 데이터 전송을 지연시키도록 요구되는 경우에, 다른 데이터를 전송하기 시작할 수 있으며, 이에 의해 버스 이용률 및 데이터 전송 효율을 증가시키고, 버스 경합 및 데이터 충돌을 회피하도록 보조한다.
또한, SoC IC 의 버스 제어기 내에 저장 버퍼/레지스터에 대한 필요성이 감소할 수도 있고, 버스 제어기의 사이즈 및 전력 소비 또한 감소할 수도 있다.
도면의 간단한 설명
전술한 특징 및 이점, 및 이들을 획득하는 방법은 첨부 도면과 함께 일 실시형태의 다음 설명을 참조함으로써 더 명백해지고, 더 잘 이해될 것이다.
도 1 은 SoC IC 의 일 실시형태의 블록도이다.
도 2 는 SoC IC 내의 버스 이용률을 개선하는 방법의 일 실시형태를 나타내는 타이밍도이다.
대응하는 도면 부호는 여러 도면에 걸쳐 대응하는 부분을 나타낸다. 여기에 개시된 예시는, 하나의 형태로, 하나의 바람직한 실시형태를 나타내고, 임의의 방법으로 이 문헌 또는 특허청구범위의 범위를 제한하는 것으로서 해석되어서는 안된다.
발명의 상세한 설명
이하, 도면들 특히, 도 1 을 참조하면, SoC IC (10) 의 일 실시형태가 도시되어 있다. SoC IC (10) 는 SoC IC (10) 의 모든 회로가 제조된 기판 (12) 을 포함한다. SoC IC (10) 는 다양한 기능을 수행하는 복수의 회로 블록을 포함한다.
더 상세하게, SoC IC (10) 는 복수의 마스터 (14A, 14B, 14C,..., 및 14N; 이하, 마스터 (14) 라고 통칭함) 및 복수의 슬레이브 (16A, 16B, 16C,..., 및 16N; 이하, 슬레이브 (16) 라고 통칭함) 를 포함한다. 마스터 (14) 및 슬레이브 (16) 는 예를 들어, 각각 마이크로프로세서, 메모리 어레이와 같은 종래의 마스터 및 슬레이브 디바이스로 구성된다. 마스터 (14) 는 별도의 대응하는 버스 (22A, 22B, 22C,..., 및 22N; 이하, 때로는 마스터-제어기 버스 (22) 또는, 간단히 마스터 버스 (22) 라고 지칭함) 를 통해 버스 제어기 (20) 와 각각 상호접속된다. 유사하게, 슬레이브 (16) 는 별도의 대응하는 버스 (24A, 24B, 24C,..., 및 24N; 이하, 때로는 슬레이브-제어기 버스 (24) 또는 간단히 슬레이브 버스 (24) 라고 지칭함) 를 통해 버스 제어기 (20) 와 각각 상호접속된다. 통상적으로, 마스터 (14) 및 슬레이브 (16) 는 또한, SoC IC (10) 내의 다른 코어들에 대한 다른 버스 또는 신호 라인 (모두 미도시함) 과 상호접속될 수도 있다. 마스터 (14) 는 각각의 마스터 버퍼 (32A, 32B, 32C,..., 및 32N) 를 바람직하게는 각각 포함하고, 유사하게, 슬레이브 (16) 는 슬레이브 버퍼 (34A, 34B, 34C,..., 및 34N) 를 바람직하게는 각각 포함한다.
버스 제어기 (20) 는, 종래의 스위치 매트릭스 타입의 버스 제어기의 기능을 수행하는 것에 더하여, 제어 신호 (50A, 50B, 50C,..., 및 50N; 이하, 제어 신호 (50) 라고 통칭함) 를 슬레이브 (16A, 16B, 16C,..., 및 16N) 로 각각 이슈하는 로 직 회로 (40) 를 포함한다. 일반적으로, 제어 신호 (50) 는 데이터를 수신하는 각각의 마스터 (14) 의 준비상태를 슬레이브 (16) 에 나타낸다. 더 상세하게, 제어 신호 (50) 는 마스터 (14) 가 준비되어 특정 슬레이브로부터 데이터를 수신할 수 있는지 여부를 각각의 슬레이브 (16) 에 나타낸다. 따라서, 반대 관점으로부터 제어 신호 (50) 는, 마스터 (14) 가 "비지(busy)"하거나, 그렇지 않으면 요청 데이터를 수신하고/하거나 특정 데이터 전송을 완료할 수 없는 때를 각각의 슬레이브 (16) 에 나타낸다. 제어 신호 (50) 는 공유되거나, 버스 제어기 (20) 로부터 슬레이브 (16) 로 점대점 통신될 수도 있다.
각각의 제어 신호 (50A, 50B, 50C,..., 및 50N) 는 마스터 (14) 의 상태 또는 동작 상태에 적어도 부분적으로 의존한다. 마스터 (14) 가 요청한 데이터를 식별된 하나의 슬레이브 (16) 로부터 수신할 준비가 된 경우에, 제어기 (20) 는 요청 데이터를 수신할 요청 마스터 (14) 의 준비상태를 나타내는 대응 제어 신호 (50; 이하, "준비" 제어 신호라고 지칭함) 를 식별된 슬레이브 (16) 에게 이슈한다. 반대로, 예를 들어, 요청 마스터 (14) 가 앞서 요청된 데이터를 상이한 하나의 슬레이브 (16) 로부터 수신하거나, 그렇지 않으면, "비지"한 경우와 같이, 마스터 (14) 가 요청한 데이터를 식별된 하나의 슬레이브 (16) 로부터 수신할 준비가 되지 않은 경우에, 제어기 (20) 는 요청 마스터 (14) 가 앞서 요청된 데이터를 수신할 준비가 되지 않다는 제어 신호 (50; 이하, "준비 안됨" 또는 "비지" 제어 신호라고 지칭함) 를 식별된 슬레이브 (16) 에게 이슈한다.
제어 신호 (50) 는 단 하나의 슬레이브 (16) 가 단일 요청 마스터를 위한 데 이터를 슬레이브-제어 버스 (24) 로 위치시키고, 따라서, 임의의 소정의 판독 사이클 동안에 제어기-마스터 버스 (22) 로 위치시키도록 보장한다. 따라서, 제어 신호 (50) 는, 2 개 이상의 슬레이브 (16) 가 동일한 요청 마스터 (14) 로 전송될 데이터를 제어기 (20) 에게 제공한 경우에, 제어기-마스터 버스 (22) 에서 발생할 수도 있는 데이터 충돌을 회피시킨다.
또한, 요청 마스터가 요청 데이터를 특정 슬레이브로부터 수신할 준비가 되지 않았다고 나타낸 경우에, 제어 신호 (50) 는 그 슬레이브에게, 만약 준비되어 있다면, 상이한 요청 마스터로의 상이한 데이터 전송을 수행하도록 지시한다. 따라서, 슬레이브는 마스터가 데이터를 수신할 "준비" 가 되도록 대기하면서 아이들 상태에 있지 않는다. 오히려, 슬레이브는 데이터를 수신할 "준비" 가 된 상이한 요청 마스터에게 상이한 데이터를 전송한다. 지연된 데이터 전송 동작을 완료하기를 대기하는 것보다 상이한 데이터 전송 동작을 실행함으로써, 데이터가 버스에 의해 프로세싱되는 효율성 및 이에 의한 버스의 이용률이 개선된다. 또한, 이는 제어기가 버스 경합으로 인해 수용할 수 없을 수도 있는 응답 후에 다른 응답이 블록킹될 수도 있기 때문에, 요청의 모든 레이턴시 (latency) 를 감소시킬 수도 있다.
SoC IC (10) 의 동작 및 SoC IC 내의 버스 이용률을 개선하는 방법을 나타내는 예시적인 데이터 전송 프로세스가 도 2 에 도시되어 있으며, 이하, 이를 설명한다. 시간 t0 에서, 마스터 (14A) 는 슬레이브 (16A) 로부터 데이터를 판독하겠 다는 요청 M0R0 을 마스터 버스 (22A) 를 통해 버스 제어기 (20) 에게 이슈한다. 또한, 시간 t0 동안에, 마스터 (14B) 또한 슬레이브 (16A) 로부터 데이터를 판독하겠다는 요청 M1R0 을 마스터 버스 (22B) 를 통해 버스 제어기 (20) 에게 이슈한다. 시간 t1 에서, 마스터 (14A) 는 슬레이브 (16B) 로부터 데이터를 판독하겠다는 요청 M0R1 을 마스터 버스 (22A) 를 통해 버스 제어기 (20) 에게 이슈한다. 따라서, 2 개의 마스터 (마스터 (14A 및 14B)) 는 동일한 슬레이브 (슬레이브 (16A)) 로부터 데이터를 요청하고, 하나의 마스터 (마스터 (14A)) 가 2 개의 상이한 슬레이브 (슬레이브 (16A 및 16B)) 로부터 데이터를 요청한다.
또한, 시간 t1 에서, 버스 제어기 (20) 는 시간 t0 에서 슬레이브 (16A) 로부터의 데이터에 관해 마스터 (14A) 에 의해 이슈된 요청 M0R0 을 슬레이브 버스 (24A) 를 통해 슬레이브 (16A) 로 전송한다. 유사하게, 시간 t2 에서, 버스 제어기 (20) 는 시간 t0 에서 슬레이브 (16A) 로부터의 데이터에 관해 마스터 (14B) 에 의해 이슈된 요청 M1R0 을 슬레이브 버스 (24A) 를 통해 슬레이브 (16A) 로 전송한다. 또한, 시간 t2 에서, 버스 제어기 (20) 는 시간 t1 에서 슬레이브 (16B) 로부터의 데이터에 관해 마스터 (14A) 에 의해 이슈된 요청 M0R1 을 슬레이브 버스 (24B) 를 통해 슬레이브 (16B) 로 전송한다.
도 2 에 도시된 바와 같이, 초기에 제어 신호 (50A 및 50B) 는 시간 t0 에서, 예를 들어, "준비" 와 같은 디폴트 값 또는 조건으로 설정되고, 이에 의해, 모든 마스터 (14) 들은 데이터를 수신할 준비가 되어 있다고 나타낸다. 시간 t3 에서, 버스 제어기 (20) 는 1 개 이상의 세트의 요청 데이터의 전송을 인에이블하도록 제어 신호 (50) 를 이슈하거나 또는 업데이트한다. 더 상세하게는, 제어 신호 (50B) 는, 마스터 (14A) 가 앞서 요청된 데이터를 슬레이브 (16B) 로부터 수신할 준비가 되어 있다고 나타내도록 업데이트된다. 이 예시에서, 제어 신호 (50) 가 "준비" 상태로 초기화되었기 때문에, 제어 신호 (50) 에 대한 어떤 변화도 없다. 반대로, 제어 신호 (50A, 50C,..., 및 50N) 는 마스터 (14A) 가 데이터를 수신할 준비하느라 "비지"하거나, 데이터를 수신하는 프로세스 중이라고 슬레이브 (16A, 16B,..., 16N) 각각에 나타내도록 업데이트된다.
간결화 및 명확화를 위해, 단지 제어 신호 (50a 및 50b) 만이 도 2 에 도시되어 있다. 또한, 동일한 이유로, 당업자가 각각의 제어 신호 (50) 가 실제로 복수의 신호라는 것을 인식하는 경우에도, 도 2 에는 각각의 제어 신호에 관해 단일 신호 라인이 도시되어 있고, 마스터 (14) 에 관한 신호 라인의 관련 조건 및 상태가 기록되어 있다.
시간 t4 에서, 슬레이브 (16A 및 16B) 각각은 마스터 (14A) 가 앞서 요청한 데이터를 마스터 (14A) 로 전송할 준비가 되어 있다. 더 상세하게, 시간 t4 에서, 슬레이브 (16A) 는 요청 M0R0 와 연관된 데이터를 마스터 (14A) 로 전송할 준비가 되어 있고, 슬레이브 (16B) 는 요청 M0R1 과 연관된 데이터를 마스터 (14A) 에게 제공할 준비가 되어 있다. 슬레이브 (16A 및 16B) 모두가 데이터를 마스 터 (14A) 에게 제공할 준비가 되어 있는 경우에도, 전술한 바와 같이, 슬레이브 (16B) 에는 제어기 (20) 에 의해 이슈되는 제어 신호 (50) 에 의해 우선 순위가 주어진다. 특히, 임의의 소정의 판독 사이클에서 데이터를 단일 마스터 (14) 에게 제공할 준비가 되어 있는 슬레이브 (16) 간의 상대적 우선 순위는 당업자에게 공지된 임의의 원하거나 또는 바라는 방법에 따라 미리 결정된다. 예를 들어, 우선 순위는 임의로 확립되거나, 특정 회로 또는 애플리케이션의 관점에서 특정 슬레이브가 제공할 수도 있는 데이터의 예측되거나 기대되는 중요도에 따라 확립되거나 또는 임의의 다른 원하는 기준에 의해 확립된다.
슬레이브 (16A) 는 시간 t4 에서 요청 M0R0 과 연관된 데이터를 마스터 (14A) 로 리턴하려고 하지만, 상술한 바와 같이, 마스터 (14A) 가 "비지"하다고 슬레이브 (16A) 에 나타내는 제어 신호 (50A) 에 의해 전송하려고 하는 것이 배제된다. 종래의 SoC IC 시스템에서는, 슬레이브 (16A) 가 데이터를 마스터 (14A) 로 리턴하려고 하는 경우에, 제어기 (20) 가 리턴되는 데이터를 버퍼링하라고 요구하는, 마스터 버스 (22A) 에서의 데이터 충돌 또는, 슬레이브 (16A) 가 요청 M0R0 와 연관된 데이터의 마스터 (14A) 로의 전송을 완료할 때까지, 모든 다른 요청 데이터의 임의의 마스터 (14) 로의 전송을 지연시키는 슬레이브 (16A) 에서의 데이터 충돌을 유발시킨다. 반대로, 이하, 더 상세하게 설명하는 바와 같이, 슬레이브 (16A) 는 다른 요청 데이터를 다른 요청 마스터 (14) 로 전송하고, 이에 의해, 버스 (22 및 24) 를 더 효과적으로 이용할 수 있으며, 더 효과적인 데이터 전송을 달 성한다.
시간 t4 에서, 슬레이브 (16B) 는 요청 M0R1 과 연관된 데이터의 마스터 (14A) 로의 전송을 개시한다. 이 데이터 전송은, 시간 t3 에서 마스터 (14A) 가 슬레이브 (16B) 로부터 데이터를 수신할 "준비" 가 되어 있다고 나타내도록 제어 신호 (50B) 를 설정하고, 마스터 (14A) 가 "비지"하여 슬레이브 (16A, 16C,..., 및 16N) 로부터 데이터를 수신할 준비가 되어 있지 않다고 나타내도록 제어 신호 (50A, 50C,..., 및 50N) 를 설정하는 제어기 (20) 에 의해, 적어도 부분적으로 인에이블된다. 요청 M0R1 과 연관된 데이터는 시간 t4 으로부터 시간 t6 까지, 슬레이브 (16B) 로부터 슬레이브 버스 (24B) 를 통해 버스 제어기 (20) 로 리턴되고, 버스 제어기 (20) 로부터 마스터 버스 (22A) 를 통해 마스터 (14A) 로 리턴된다.
전술한 데이터 전송 방법에서, 즉, 일반적으로, 슬레이브 (16) 로부터 대응하는 슬레이브 버스 (24) 를 통해 버스 제어기 (20) 까지, 및 버스 제어기 (20) 로부터 대응하는 마스터 버스 (22) 를 통해 마스터 (14) 까지, 버스 제어기 (20) 는 본질적으로 마스터와 슬레이브 간의 접속을 간단히 확립하는 스위치 매트릭스와 같이 동작한다. 전송될 데이터는 제어기 (20) 에 저장되기보다 슬레이브 (16) 의 버퍼 (34) 에 또는 그 내에 계속 저장된다. 따라서, 버스 제어기 (20) 내의 버퍼 또는 저장 레지스터에 관한 필요성이 실질적으로 감소한다. 따라서, 버스 제어기 (20) 는 사이즈가 감소할 수 있으며, 상당히 많은 버퍼/저장 레지스터를 요구하는 종래의 버스 제어기보다 덜 전력을 소비할 수 있다.
전술한 바와 같이, 요청 마스터 (14) 가 데이터를 수신할 "준비"가 될 때까지 슬레이브 (16) 및 버스 (22 및/또는 24) 의 일부가 아이들 상태로 있게 하는 것보다 오히려, 여기에서 설명하는, SoC IC 내의 버스 이용률을 개선한 SoC IC (10) 및 그 방법은 슬레이브가 다른 요청 데이터를 다른 요청 마스터 (14) 로 전송할 수 있게 하고, 이에 의해 버스 (22 및 24) 를 더 효율적으로 이용하고, 더 효율적인 데이터 전송을 달성한다. 이러한 양태는, 마스터 (14A) 가 지연된 요청 M0R0 과 연관된 데이터를 수신할 준비가 될 때까지 모든 데이터의 전송을 지연시키기보다, 시간 t5 에서, 슬레이브 (16A) 가 요청 M1R0 과 연관된 데이터를 마스터 (14B) 에 전송하기 시작하는 경우에 대해, 도 2 에 나타내었다. 요청 M1RO 와 연관된 데이터 전송은 마스터 (14A) 가 "비지"한 경우에도, 마스터 (14B) 가 데이터를 수신할 "준비" 가 되어 있다고 슬레이브 (16A) 에 나타내는 제어 신호 (50A) 에 의해 인에이블된다.
따라서, 시간 t4 에서, 슬레이브 (16A) 로부터 마스터 (14A) 로의 데이터 전송을 지연시키고, 시간 t5 에서, 마스터 (14B) 로의 데이터 전송을 시작하도록 슬레이브 (16A) 를 인에이블함으로써, 시간 t4 에서, 마스터-제어기 버스 (22A) 에서의 데이터 충돌이 회피되고, 시간 t4 에서, 마스터-제어기 버스 (22A) 및 슬레이브-제어기 버스 (24A) 의 이용률은 증가하고, 이에 의해 데이터 전송 효율이 증가한다.
시간 t9 에서, 슬레이브 (16A) 는 요청 M1R0 와 연관된 데이터의 마스터 (14B) 로의 전송을 완료한다. 따라서, 시간 t10 에서, 제어 신호 (50) 는, 마스터 (14B) 가 일단 다시 데이터를 수신할 "준비"가 되어 있다고 슬레이브 (16) 에 나타내도록 제어기 (20) 에 의해 업데이트된다 (도 2 에는 미도시). 설명한 예시에서, 더 이상 데이터가 마스터 (14B) 로 전송되지 않는다.
시간 t6 에서, 슬레이브 (16B) 는 요청 M0R1 과 연관된 데이터의 마스터 (14A) 로의 전송을 완료한다. 따라서, 시간 t7 에서, 제어 신호 (50) 는 마스터 (14A) 가 일단 다시 데이터를 수신할 "준비"가 되어 있다고 슬레이브 (16) 에 나타내도록 제어기 (20) 에 의해 업데이트된다. 시간 t8 에서, 제어 신호 (50) 는 마스터 (14A) 가 일단 다시 데이터를 수신할 준비가 되어 있거나 또는 데이터를 수신 중에 있다고 나타내도록 제어기 (20) 에 의해 다시 업데이트된다. 더 상세하게, 시간 t8 에서, 제어 신호 (50) 는, 마스터 (14A) 가 요청 M0R0 에 연관된 데이터를 수신할 "준비"가 되어 있다고 제어 신호 (50A) 가 슬레이브 (16A) 에 나타내도록 제어기 (20) 에 의해 업데이트되고, 제어 신호 (50B, 50C,..., 및 50N) 는 마스터 (14A) 가 "비지"하다고 나타내도록 업데이트된다. 그 다음, 시간 t9 에서, 요청 M0R0 와 연관된, 슬레이브 (16A) 로부터 마스터 (14A) 로의 데이터 전송이 시작된다.
이상, 바람직한 설계를 참조하여 설명하였지만, 바람직한 설계는 본 발명의 사상 또는 범위 내에서 더 변형될 수 있다. 따라서, 본 출원은 여기에 개시된 일반적인 원리를 사용한 바람직한 설계의 임의의 변형, 사용 또는 응용을 포함한다. 또한, 본 출원은 관련 분야에서의 공지 또는 종래 기술 내에서 도출하고, 첨부한 특허 청구 범위의 제한 내인, 본 발명으로부터의 변경예를 포함한다.

Claims (25)

  1. 시스템-온-칩 집적회로 (SoC IC) 로서,
    버스 제어기;
    각각의 슬레이브 버스를 통해 상기 버스 제어기와 상호접속하는 복수의 슬레이브;
    각각의 마스터 데이터 버스를 통해 상기 버스 제어기와 상호접속하는 복수의 마스터로서, 상기 복수의 마스터 중 제 1 마스터는 상기 복수의 슬레이브 중 제 1 슬레이브 및 상기 복수의 슬레이브 중 제 2 슬레이브에게 요청을 이슈하도록 구성되고, 상기 복수의 마스터 중 제 2 마스터는 상기 복수의 슬레이브 중 제 1 슬레이브에게 요청을 이슈하도록 구성되며, 상기 복수의 슬레이브 중 상기 제 1 슬레이브 및 상기 제 2 슬레이브는 데이터에 관한 상기 요청을 수신하고 상기 복수의 마스터 중 제 1 마스터로부터 이슈된 요청에 응답하여 상기 요청 데이터를 동시에 제공하는, 상기 복수의 마스터; 및
    요청 데이터를 상기 슬레이브로부터 수신할, 상기 복수의 마스터 중 상기 제 1 마스터의 준비상태를 각각의 상기 슬레이브에게 나타내고, 상기 버스 제어기에 의해 이슈되는 제어 신호로서, 상기 복수의 슬레이브 중, 상기 복수의 마스터 중 상기 제 1 마스터에게 상기 요청 데이터를 전송하는 상기 제 2 슬레이브는, 상기 복수의 마스터 중 상기 제 1 마스터가 준비되기를 기다리면서 스톨 (stall) 해야 할 필요 없이, 상기 복수의 슬레이브 중 상기 제 1 슬레이브가 상기 복수의 마스터 중 상기 제 2 마스터로부터 요청된 데이터를 상기 복수의 마스터 중 상기 제 2 마스터로 전송하게 하는, 상기 제어 신호를 포함하는, SoC IC.
  2. 제 1 항에 있어서,
    상기 제어 신호는, 상기 복수의 마스터 중 1 개 이상이 상기 요청 데이터를 수신할 준비가 되어 있지 않은지를 상기 복수의 슬레이브에 나타내는, SoC IC.
  3. 제 2 항에 있어서,
    상기 제어 신호는, 1 개 이상의 마스터가 상기 요청 데이터를 수신할 준비가 되어 있는지를 상기 복수의 슬레이브에 더 나타내는, SoC IC.
  4. 제 2 항에 있어서,
    제 1 제어 신호가, 상기 제 1 마스터는 요청된 제 1 데이터를 수신할 준비가 되어 있지 않다는 것을 나타내는 경우에, 상기 제 1 슬레이브는 상기 제 1 마스터에 의해 요청된 상기 제 1 데이터를 전송하는 것을 지연시키는, SoC IC.
  5. 제 2 항에 있어서,
    제 1 제어 신호는, 상기 복수의 마스터 중 상기 제 2 마스터가 상기 제 2 마스터에 의해 요청된 제 2 데이터를 상기 제 1 슬레이브로부터 수신할 준비가 되어 있다는 것을 더 나타내고,
    상기 제 1 슬레이브는 상기 제 1 제어 신호에 응답하여, 요청된 상기 제 2 데이터를 상기 제 2 마스터에게 전송하는, SoC IC.
  6. 제 2 항에 있어서,
    상기 슬레이브 각각은 각각의 버퍼를 포함하고,
    대응하는 제어 신호가, 요청 마스터는 상기 요청 데이터를 수신할 준비가 되어 있지 않다고 특정 슬레이브에게 나타내는 경우에, 상기 요청 마스터에 의해 상기 특정 슬레이브에 요청된 데이터가 상기 특정 슬레이브의 버퍼에서 보유되고,
    상기 요청 데이터는, 상기 대응하는 제어 신호가, 상기 마스터는 상기 요청 데이터를 상기 특정 슬레이브로부터 수신할 준비가 되어 있다고 상기 특정 슬레이 브에 나타낼 때까지, 상기 특정 슬레이브의 버퍼에서 보유되는, SoC IC.
  7. 버스 제어기;
    슬레이브 버스를 통해 상기 버스 제어기와 상호접속하는 복수의 슬레이브;
    마스터 데이터 버스를 통해 상기 버스 제어기와 상호접속하는 복수의 마스터로서, 상기 복수의 마스터 중 제 1 마스터는 상기 복수의 슬레이브 중 제 1 슬레이브 및 상기 복수의 슬레이브 중 제 2 슬레이브에게 요청을 이슈하도록 구성되고, 상기 복수의 마스터 중 제 2 마스터는 상기 복수의 슬레이브 중 제 1 슬레이브에게 요청을 이슈하도록 구성되며, 상기 복수의 슬레이브 중 상기 제 1 슬레이브 및 상기 제 2 슬레이브는 데이터에 관한 상기 요청을 수신하고 상기 복수의 마스터 중 제 1 마스터로부터 이슈된 요청에 응답하여 상기 요청 데이터를 동시에 제공하는, 상기 복수의 마스터; 및
    요청 데이터를 수신할, 상기 복수의 마스터의 준비상태를 상기 슬레이브에게 나타내고, 상기 버스 제어기에 의해 상기 복수의 슬레이브에게 이슈되는 제어 신호로서, 상기 복수의 슬레이브 중, 상기 복수의 마스터 중 상기 제 1 마스터에게 상기 요청 데이터를 전송하는 상기 제 2 슬레이브는, 상기 복수의 마스터 중 상기 제 1 마스터가 준비되기를 기다리면서 스톨해야 할 필요 없이, 상기 복수의 슬레이브 중 상기 제 1 슬레이브가 상기 복수의 마스터 중 상기 제 2 마스터로부터 요청된 데이터를 상기 복수의 마스터 중 상기 제 2 마스터로 전송하게 하는, 상기 제어 신호를 포함하는, 전자 시스템.
  8. 제 7 항에 있어서,
    상기 제어 신호는, 상기 복수의 마스터 중 1 개 이상이 상기 요청 데이터를 수신할 준비가 되어 있지 않은지를 상기 복수의 슬레이브에 나타내는, 전자 시스템.
  9. 제 8 항에 있어서,
    상기 제어 신호는, 상기 복수의 마스터 중 1 개 이상이 상기 요청 데이터를 수신할 준비가 되어 있는지를 상기 복수의 슬레이브에 나타내는, 전자 시스템.
  10. 제 8 항에 있어서,
    제 1 제어 신호가, 상기 제 1 마스터는 요청된 제 1 데이터를 수신할 준비가 되어 있지 않다는 것을 나타내는 경우에, 상기 제 1 슬레이브는 상기 제 1 마스터에 의해 요청된 상기 제 1 데이터를 전송하는 것을 지연시키는, 전자 시스템.
  11. 제 8 항에 있어서,
    제 1 제어 신호는 상기 제 2 마스터가 상기 제 2 마스터에 의해 요청된 제 2 데이터를 상기 제 1 슬레이브로부터 수신할 준비가 되어 있다는 것을 더 나타내고,
    상기 제 1 슬레이브는 상기 제 1 제어 신호에 응답하여, 요청된 상기 제 2 데이터를 상기 제 2 마스터에게 전송하는, 전자 시스템.
  12. 제 8 항에 있어서,
    상기 슬레이브 각각은 각각의 버퍼를 포함하고,
    대응하는 제어 신호가, 요청 마스터는 상기 요청 데이터를 수신할 준비가 되어 있지 않다고 특정 슬레이브에게 나타내는 경우에, 상기 요청 마스터에 의해 상기 특정 슬레이브에 요청된 데이터가 상기 특정 슬레이브의 버퍼에서 보유되고,
    상기 요청 데이터는, 상기 대응하는 제어 신호가, 상기 마스터는 상기 요청 데이터를 상기 특정 슬레이브로부터 수신할 준비가 되어 있다고 상기 특정 슬레이브에 나타낼 때까지, 상기 특정 슬레이브의 버퍼에서 보유되는, 전자 시스템.
  13. 시스템-온-칩 집적회로 (SoC IC) 로서,
    기판;
    상기 기판에 배치된 버스 제어기;
    상기 기판에 또한 배치된 각각의 슬레이브 데이터 버스를 통해 상기 버스 제어기와 상호접속되며, 상기 기판에 배치된 복수의 슬레이브;
    상기 기판에 또한 배치된 각각의 마스터 데이터 버스를 통해 상기 버스 제어기와 각각 상호접속되며, 상기 기판에 배치된 복수의 마스터로서, 상기 복수의 마스터 중 제 1 마스터는 상기 복수의 슬레이브 중 제 1 슬레이브 및 상기 복수의 슬레이브 중 제 2 슬레이브에게 데이터 요청을 이슈하도록 구성되고, 상기 복수의 마스터 중 제 2 마스터는 상기 복수의 슬레이브 중 상기 제 1 슬레이브에게 요청을 이슈하도록 구성되고, 1 개 이상의 상기 슬레이브는 데이터에 관한 상기 요청을 수신하여 상기 요청 데이터를 제공하도록 구성되는, 상기 복수의 마스터; 및
    요청 데이터를 수신할, 상기 복수의 마스터 중 상기 제 1 마스터의 준비상태를 상기 슬레이브에게 나타내고, 상기 버스 제어기에 의해 상기 슬레이브에게 이슈되는 제어 신호로서, 상기 복수의 슬레이브 중, 상기 복수의 마스터 중 상기 제 1 마스터에게 상기 요청 데이터를 전송하는 상기 제 2 슬레이브는, 상기 복수의 마스터 중 상기 제 1 마스터가 준비되기를 기다리면서 스톨해야 할 필요 없이, 상기 복수의 슬레이브 중 상기 제 1 슬레이브가 상기 복수의 마스터 중 상기 제 2 마스터로부터 요청된 데이터를 상기 복수의 마스터 중 상기 제 2 마스터로 전송하게 하는, 상기 제어 신호를 포함하는, SoC IC.
  14. 제 13 항에 있어서,
    상기 제어 신호는, 1 개 이상의 복수의 마스터가 상기 요청 데이터를 수신할 준비가 되어 있지 않은지를 상기 복수의 슬레이브에 나타내는, SoC IC.
  15. 제 14 항에 있어서,
    상기 제어 신호는, 1 개 이상의 마스터가 상기 요청 데이터를 수신할 준비가 되어 있는지를 상기 1 개 이상의 슬레이브에 나타내는, SoC IC.
  16. 제 13 항에 있어서,
    제 1 제어 신호가, 상기 제 1 마스터는 요청된 제 1 데이터를 수신할 준비가 되어 있지 않다는 것을 나타내는 경우에, 상기 제 1 슬레이브는 상기 제 1 마스터에 의해 요청된 상기 제 1 데이터를 전송하는 것을 지연시키는, SoC IC.
  17. 제 13 항에 있어서,
    제 1 제어 신호는 상기 제 2 마스터가 상기 제 2 마스터에 의해 요청된 제 2 데이터를 상기 제 1 슬레이브로부터 수신할 준비가 되어 있다는 것을 더 나타내고,
    상기 제 1 슬레이브는 상기 제 1 제어 신호에 응답하여, 요청된 상기 제 2 데이터를 상기 제 2 마스터에게 전송하는, SoC IC.
  18. 제 13 항에 있어서,
    상기 슬레이브 각각은 각각의 버퍼를 포함하고,
    대응하는 제어 신호가, 요청 마스터는 상기 요청 데이터를 수신할 준비가 되어 있지 않다고 특정 슬레이브에게 나타내는 경우에, 상기 요청 마스터에 의해 상기 특정 슬레이브에 요청된 데이터가 상기 특정 슬레이브의 버퍼에서 보유되고,
    상기 요청 데이터는, 상기 대응하는 제어 신호가, 상기 마스터는 상기 요청 데이터를 상기 특정 슬레이브로부터 수신할 준비가 되어 있다고 상기 특정 슬레이 브에 나타낼 때까지, 상기 특정 슬레이브의 버퍼에서 보유되는, SoC IC.
  19. 제 1 마스터로부터 요청된 데이터를 상기 제 1 마스터에 제공하도록, 복수의 슬레이브에게 상기 제 1 마스터로부터의 요청을 이슈하는 단계;
    제 2 마스터로부터 요청된 데이터를 상기 제 2 마스터에게 제공하도록, 복수의 슬레이브 중 제 1 슬레이브에게 상기 제 2 마스터로부터의 요청을 이슈하는 단계;
    상기 제 1 마스터가 요청했던 데이터를 상기 제 1 슬레이브로부터 수신할 준비가 되어 있지 않은 때를 상기 제 1 슬레이브에 나타내는 단계;
    상기 제 1 슬레이브로부터 제 1 마스터로의 데이터 전송을 지연시키는 단계; 및
    상기 제 1 마스터가 준비되기를 기다리면서 스톨해야 할 필요 없이, 상기 제 1 슬레이브로부터 상기 제 2 마스터로, 상기 제 2 마스터로부터 요청된 데이터를 전송하는 단계를 포함하는, 전자 시스템 내의 데이터 전송 방법.
  20. 삭제
  21. 삭제
  22. 제 19 항에 있어서,
    상기 나타내는 단계는, 상기 제 1 마스터 및 상기 제 2 마스터가 상기 복수의 슬레이브 각각으로부터 데이터를 수신할 준비가 되어 있는지 여부를 나타내는 제어 신호를 상기 복수의 슬레이브 각각에게 이슈하는 단계를 포함하는, 전자 시스템 내의 데이터 전송 방법.
  23. 삭제
  24. 삭제
  25. 삭제
KR1020077020415A 2005-02-10 2006-02-09 스위치 매트릭스를 통한 데이터 전송을 개선하는 흐름 제어방법 KR100932408B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/055,922 2005-02-10
US11/055,922 US7246188B2 (en) 2005-02-10 2005-02-10 Flow control method to improve bus utilization in a system-on-a-chip integrated circuit
PCT/US2006/004936 WO2006086732A1 (en) 2005-02-10 2006-02-09 Flow control method to improve data transfer via a switch matrix

Publications (2)

Publication Number Publication Date
KR20070104929A KR20070104929A (ko) 2007-10-29
KR100932408B1 true KR100932408B1 (ko) 2009-12-17

Family

ID=36588894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077020415A KR100932408B1 (ko) 2005-02-10 2006-02-09 스위치 매트릭스를 통한 데이터 전송을 개선하는 흐름 제어방법

Country Status (13)

Country Link
US (1) US7246188B2 (ko)
EP (1) EP1846831B1 (ko)
JP (3) JP4861339B2 (ko)
KR (1) KR100932408B1 (ko)
CN (1) CN100595744C (ko)
AT (1) ATE491993T1 (ko)
DE (1) DE602006018862D1 (ko)
ES (1) ES2355054T3 (ko)
HK (1) HK1114213A1 (ko)
IL (1) IL185067A0 (ko)
MX (1) MX2007009732A (ko)
PL (1) PL1846831T3 (ko)
WO (1) WO2006086732A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2407662B (en) * 2003-11-03 2006-02-22 Compxs Uk Ltd Two way serial communication
US7788625B1 (en) * 2005-04-14 2010-08-31 Xilinx, Inc. Method and apparatus for precharacterizing systems for use in system level design of integrated circuits
DE102005026436B4 (de) * 2005-06-08 2022-08-18 Austriamicrosystems Ag Schnittstellenanordnung, insbesondere für ein System-on-Chip, und deren Verwendung
US20070255874A1 (en) * 2006-04-28 2007-11-01 Jennings Kevin F System and method for target device access arbitration using queuing devices
US7908412B2 (en) * 2006-05-10 2011-03-15 Microsoft Corporation Buffer passing mechanisms
KR100854973B1 (ko) * 2007-02-13 2008-08-28 삼성전자주식회사 버스 매트릭스를 포함하는 시스템
DE102007015122A1 (de) * 2007-03-29 2008-10-02 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Transfer von Daten in mehrere Steuergeräte
CN101657798A (zh) * 2007-04-11 2010-02-24 松下电器产业株式会社 数据存储系统、数据恢复系统、数据存储方法和数据恢复方法
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
CN101453313B (zh) * 2007-12-06 2013-03-20 鸿富锦精密工业(深圳)有限公司 主从设备通信电路
JP5035469B2 (ja) * 2009-03-31 2012-09-26 富士通株式会社 データ転送回路及びデータ転送方法
US8984195B2 (en) * 2011-12-02 2015-03-17 Atmel Corporation Microcontroller including alternative links between peripherals for resource sharing
KR102169340B1 (ko) * 2012-10-19 2020-10-23 페어차일드 세미컨덕터 코포레이션 단일 전도체 인터페이스 작동 및 스위칭 장치 및 그 방법
DE112014001621T5 (de) * 2013-03-25 2015-12-24 Mitsubishi Electric Corporation Bus-Master, Bussystem und Bussteuerungsverfahren
GB2540610B (en) * 2015-07-23 2017-12-06 Advanced Risc Mach Ltd Gathering monitoring data relating to the operation of a data processing system
GB2551806B (en) * 2016-06-30 2020-06-03 Advanced Risc Mach Ltd Interface with buffered and direct pathways
CN111797051B (zh) * 2020-06-04 2022-05-17 深圳云天励飞技术股份有限公司 片上系统、数据传送方法及广播模块
DE102021106379A1 (de) * 2021-03-16 2022-09-22 Infineon Technologies Ag Master, Slave, Master-Slave-Kommunikations-System, On-Chip-Interconnect-System, Verfahren zum Betreiben eines Masters, Verfahren zum Betreiben eines Slaves, Verfahren zum Betreiben eines Master-Slave-Kommunikations-Systems und Verfahren zum Betreiben eines On-Chip-Interconnect-Systems
CN113765824A (zh) * 2021-10-15 2021-12-07 合肥移瑞通信技术有限公司 基于mbim接口的响应消息发送方法、装置、mbb设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014948A1 (en) 2001-08-07 2003-02-20 Broadlight Ltd. System architecture of a high bit rate switch module between functional units in a system on a chip

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956524A (en) * 1990-04-06 1999-09-21 Micro Technology Inc. System and method for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources
EP0608663B1 (en) 1993-01-25 1999-03-10 Bull HN Information Systems Italia S.p.A. A multi-processor system with shared memory
US5907485A (en) * 1995-03-31 1999-05-25 Sun Microsystems, Inc. Method and apparatus for flow control in packet-switched computer system
US5581729A (en) * 1995-03-31 1996-12-03 Sun Microsystems, Inc. Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system
US5761516A (en) * 1996-05-03 1998-06-02 Lsi Logic Corporation Single chip multiprocessor architecture with internal task switching synchronization bus
US6065077A (en) * 1997-12-07 2000-05-16 Hotrail, Inc. Apparatus and method for a cache coherent shared memory multiprocessing system
US6516442B1 (en) * 1997-12-07 2003-02-04 Conexant Systems, Inc. Channel interface and protocols for cache coherency in a scalable symmetric multiprocessor system
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
US6441479B1 (en) * 2000-03-02 2002-08-27 Micron Technology, Inc. System-on-a-chip with multi-layered metallized through-hole interconnection
JP4024484B2 (ja) * 2001-03-13 2007-12-19 株式会社リコー バスアービタ
JP2003030134A (ja) * 2001-07-12 2003-01-31 Matsushita Electric Ind Co Ltd バスアービタ及びバスアービトレーション方法
US6857035B1 (en) * 2001-09-13 2005-02-15 Altera Corporation Methods and apparatus for bus mastering and arbitration
EP1376373B1 (en) * 2002-06-20 2006-05-31 Infineon Technologies AG Arrangement having a first device and a second device connected via a cross bar switch
JP2004126646A (ja) * 2002-09-30 2004-04-22 Canon Inc バス制御方法
JP2005234932A (ja) * 2004-02-20 2005-09-02 Oki Electric Ind Co Ltd マトリックス状バス接続システムとその低電力方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014948A1 (en) 2001-08-07 2003-02-20 Broadlight Ltd. System architecture of a high bit rate switch module between functional units in a system on a chip

Also Published As

Publication number Publication date
JP2011048838A (ja) 2011-03-10
EP1846831A1 (en) 2007-10-24
US7246188B2 (en) 2007-07-17
ATE491993T1 (de) 2011-01-15
CN100595744C (zh) 2010-03-24
WO2006086732A9 (en) 2006-10-19
JP5456743B2 (ja) 2014-04-02
JP4861339B2 (ja) 2012-01-25
CN101203839A (zh) 2008-06-18
JP5456632B2 (ja) 2014-04-02
JP2012038325A (ja) 2012-02-23
ES2355054T3 (es) 2011-03-22
US20060179192A1 (en) 2006-08-10
PL1846831T3 (pl) 2011-04-29
HK1114213A1 (en) 2008-10-24
JP2008530694A (ja) 2008-08-07
WO2006086732A1 (en) 2006-08-17
DE602006018862D1 (de) 2011-01-27
MX2007009732A (es) 2007-09-26
IL185067A0 (en) 2007-12-03
EP1846831B1 (en) 2010-12-15
KR20070104929A (ko) 2007-10-29

Similar Documents

Publication Publication Date Title
KR100932408B1 (ko) 스위치 매트릭스를 통한 데이터 전송을 개선하는 흐름 제어방법
EP1564646A2 (en) Configurable embedded processor
KR20050043426A (ko) 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치
JP2007220046A (ja) バス装置、バスシステムおよび情報転送方法
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US9135195B2 (en) Prediction of electronic component behavior in bus-based systems
TWI464598B (zh) 預設為猜測式資料交易的匯流排裝置及其非猜測的延伸
WO2004099995A2 (en) Hierarchical memory access via pipelining
US20070156937A1 (en) Data transfer in multiprocessor system
US7209998B2 (en) Scalable bus structure
US7913013B2 (en) Semiconductor integrated circuit
US7203781B2 (en) Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus
EP2280349B1 (en) Processor and data transfer method
US7031337B2 (en) Data processing apparatus and slave interface mechanism for controlling access to a slave logic unit by a plurality of master logic units
JP2734246B2 (ja) パイプラインバス
US20060031619A1 (en) Asynchronous system bus adapter for a computer system having a hierarchical bus structure
TWI724608B (zh) 微控制器架構及架構內資料讀取方法
WO2015011433A1 (en) Coherency control message flow
US7853737B2 (en) Data transfer and alignment device and method for transferring data acquired from memory
JPH0650494B2 (ja) 入出力制御装置におけるデータ転送方式
JP2009169559A (ja) データ転送装置
JPS60147866A (ja) バス制御方式
JP2000267984A (ja) データ処理装置およびデータ処理方法
JP2003141056A (ja) Dma転送装置
JPH04367059A (ja) データ転送方式

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
FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 11