KR20140113632A - 버스 상의 복수의 데이터 라인들을 통해 데이터를 전송하는 시스템 및 방법 - Google Patents

버스 상의 복수의 데이터 라인들을 통해 데이터를 전송하는 시스템 및 방법 Download PDF

Info

Publication number
KR20140113632A
KR20140113632A KR1020147013180A KR20147013180A KR20140113632A KR 20140113632 A KR20140113632 A KR 20140113632A KR 1020147013180 A KR1020147013180 A KR 1020147013180A KR 20147013180 A KR20147013180 A KR 20147013180A KR 20140113632 A KR20140113632 A KR 20140113632A
Authority
KR
South Korea
Prior art keywords
slimbus
data
component
data line
bus
Prior art date
Application number
KR1020147013180A
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 KR20140113632A publication Critical patent/KR20140113632A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/726Reserving resources in multiple paths to be used simultaneously
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Abstract

방법이 제 1 SLIMbus (serial low-power inter-chip media bus) 컴포넌트로부터 제 2 SLIMbus 컴포넌트로 데이터를 전송하는 단계를 포함한다. 그 방법은 복수의 SLIMbus 데이터 라인들 중 적어도 제 1 SLIMbus 데이터 라인을 통해 데이터를 전송하는 단계를 더 포함한다.

Description

버스 상의 복수의 데이터 라인들을 통해 데이터를 전송하는 시스템 및 방법{SYSTEM AND METHOD OF SENDING DATA VIA A PLURALITY OF DATA LINES ON A BUS}
관련 출원들에 대한 상호 참조
본 출원은 2011년 12월 16일자로 출원된 발명의 명칭이 "SYSTEM AND METHOD OF SENDING DATA VIA A PLURALITY OF DATA LINES ON A BUS"인 미국 가특허출원 제61/576,840호 및 2012년 12월 13일자로 출원된 발명의 명칭이 "SYSTEM AND METHOD OF SENDING DATA VIA A PLURALITY OF DATA LINES ON A BUS"인 미국 비-가특허출원 제13/714,140호를 우선권 주장하며, 이 미국 특허출원들의 내용들은 전체가 참조로 통합된다.
개시물의 분야
본 개시물은 대체로 데이터 송신 버스들에 관한 것이다.
기술의 진보들은 컴퓨팅 디바이스들을 더 작고 더 강력하게 하였다. 예를 들어, 작으며, 경량이고, 및 사용자들이 쉽게 운반하는 무선 컴퓨팅 디바이스들, 이를테면, 휴대용 무선 전화기들, 개인 휴대 정보 단말들 (PDAs), 및 페이징 디바이스들을 포함하는, 다양한 휴대용 개인 컴퓨팅 디바이스들이 현재 존재한다. 더 구체적으로는, 휴대용 무선 전화기들, 이를테면, 셀룰러 전화기들 및 인터넷 프로토콜 (IP) 전화기들은, 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 게다가, 많은 이러한 무선 전화기들은 그 속에 통합되는 다른 유형들의 디바이스들을 구비한다. 예를 들어, 무선 전화기는 또한 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어를 포함할 수 있다. 무선 전화기가 이러한 컴포넌트들을 포함하는 경우, 그 컴포넌트들은 공통 버스를 통해 서로 통신할 수도 있다.
예를 들어, SLIMbus (serial low-power inter-chip media bus) 표준은 모바일 폰들과 같은 휴대용 컴퓨팅 디바이스들에서의 적용에 매우 적합한 통신 버스 표준이다. SLIMbus 표준에 따르면, 컴포넌트들은 단일 SLIMbus 데이터 라인 및 단일 클록 라인에 의해 접속된다. 그러나, 단일 SLIMbus 데이터 라인은 제한된 대역폭 및 스루풋을 제공하여, 더 큰 대역폭 및 스루풋을 요구하는 데이터 (예컨대, 프로 (professional) 오디오 데이터와 비-오디오 데이터, 이를테면, 비디오 데이터) 를 전송하고 수신하지 못하게 될 수도 있다.
개시된 기법들은 SLIMbus 통신 버스 상의 SLIMbus 데이터 라인들의 수를 증가시킬 수도 있고, 대역폭과 스루풋 그리고 프로 오디오 데이터와 비-오디오 데이터, 이를테면, 비디오 데이터를 SLIMbus 통신 버스를 통해 전송하고 수신하는 능력이 증가되게 할 수도 있다. 본 개시물은, SLIMbus 통신 버스 상의 증가된 수의 SLIMbus 데이터 라인들에 대한 접속을 제공할 수도 있는, 기존 포트들을 복제하는 시스템들 및 방법들을 추가로 설명한다. 각각의 SLIMbus 데이터 라인은, SLIMbus 데이터 라인의 대응하는 기어 할당에 응답할 수도 있는 독립 클록 주파수와 연관될 수도 있다.
특정 실시형태에서, 방법이 제 1 SLIMbus (serial low-power inter-chip media bus) 컴포넌트로부터 제 2 SLIMbus 컴포넌트로 데이터를 전송하는 단계를 포함한다. 그 방법은 복수의 SLIMbus 데이터 라인들 중 적어도 제 1 SLIMbus 데이터 라인을 통해 데이터를 전송하는 단계를 더 포함한다. 예를 들어, 그 방법은 제 1 SLIMbus 데이터 라인을 통해 및 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인을 통해 데이터를 전송하는 단계를 포함할 수도 있다. 대체 실시형태들에서, 2 개를 초과하는 SLIMbus 데이터 라인들이 사용될 수도 있다.
다른 특정 실시형태에서, 장치가 복수의 SLIMbus (serial low-power inter-chip media bus) 데이터 라인들 중 적어도 제 1 SLIMbus 데이터 라인을 통해 데이터를 제 2 SLIMbus 컴포넌트로 전송하도록 구성된 제 1 SLIMbus 컴포넌트를 구비한다. 예를 들어, 제 1 SLIMbus 컴포넌트는, 제 1 SLIMbus 데이터 라인을 통해 및 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인을 통해 데이터를 제 2 SLIMbus 컴포넌트로 전송할 수도 있다. 대체 실시형태들에서, 2 개를 초과하는 SLIMbus 데이터 라인들이 사용될 수도 있다.
다른 특정 실시형태에서, 비일시적 컴퓨터 판독가능 저장 매체는, 프로세서에 의해 실행되는 경우, 그 프로세서로 하여금, SLIMbus 컴포넌트가 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성 (configuration) 과 호환가능한지 (compatible) 여부를 결정하게 하는 연산 명령들을 포함한다.
다른 특정 실시형태에서, 시스템은, 제 1 SLIMbus 컴포넌트, 프로세서, 및 제 1 SLIMbus 컴포넌트가 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성과 호환가능한지 여부를 결정하기 위해 프로세서에 의해 실행가능한 명령들을 저장하는 메모리를 구비한다. 그 명령들은 또한, 그 결정에 적어도 부분적으로 기초하여 복수의 SLIMbus 데이터 라인들 중 하나 이상을 통한 제 1 SLIMbus 컴포넌트로의 송신을 위해 하나 이상의 패킷들을 스케줄링하도록 프로세서에 의해 실행가능하다.
개시된 실시형태들 중 적어도 하나에 의해 제공되는 특정 장점들은, SLIMbus 통신 버스의 이용가능한 대역폭 및 스루풋을 증가시키기 위한 SLIMbus 통신 버스 상의 복수의 SLIMbus 데이터 라인들의 생성을 포함하며, 이는 더 큰 대역폭 및 스루풋을 요구하는 데이터 파일들 (예컨대, 프로 오디오 데이터 및 비-오디오 데이터) 을 전송하고 수신하는 능력이 있게 할 수도 있다.
본 개시물의 다른 양태들, 장점들, 및 특징들은, 도면의 간단한 설명, 상세한 설명, 및 청구범위를 포함한, 전체 출원서의 검토 후 명백해질 것이다.
도 1은 복수의 SLIMbus (serial low-power inter-chip media bus) 데이터 라인들을 2 개의 SLIMbus 컴포넌트들 사이에 구비하는 시스템의 특정 실시형태를 도시하는 블록도이다;
도 2는 복수의 SLIMbus 데이터 라인들을 2 개의 SLIMbus 컴포넌트들 사이에 구비하는 시스템의 다른 특정 실시형태를 도시하는 블록도이다;
도 3은 복수의 SLIMbus 데이터 라인들을 통한 데이터 송신을 가능하게 하도록 다중 SLIMbus 데이터 라인 인터페이스를 포트에 제공하는 시스템의 특정 실시형태를 예시하는 도면이다;
도 4는 복수의 SLIMbus 데이터 라인들을 2 개의 SLIMbus 컴포넌트들 사이에 구비하는 시스템의 다른 특정 실시형태를 도시하는 도면이다;
도 5는 이중 라인 가능 SLIMbus 컴포넌트들 및 단일 라인 가능 SLIMbus 컴포넌트들 양쪽 모두를 포함하는 시스템의 특정 실시형태를 도시하는 도면이다;
도 6은 도 5의 시스템에서 구성의 특정 실시형태를 도시하는 도면이다;
도 7은 이중 라인 가능 SLIMbus 컴포넌트들 및 단일 라인 가능 SLIMbus 컴포넌트들 양쪽 모두를 포함하는 시스템의 특정 실시형태를 도시하는 다른 도면이다;
도 8은 도 5의 시스템에서 스케줄링의 특정 실시형태들을 도시하는 스케줄링 도면들을 묘사한다;
도 9는 복수의 SLIMbus 데이터 라인들 중 적어도 하나의 SLIMbus 데이터 라인을 통해 데이터를 전송하는 방법의 특정 실시형태를 도시하는 흐름도이다; 그리고
도 10은 복수의 SLIMbus 데이터 라인들을 2 개의 SLIMbus 컴포넌트들 사이에 구비하는 시스템을 포함하는 전자 디바이스의 특정 실시형태를 도시하는 도면이다.
도 1은 복수의 SLIMbus 데이터 라인들 (110, 112) 을 2 개의 SLIMbus 컴포넌트들 (104, 106) 사이에 구비하는 시스템 (100) 의 특정 실시형태를 도시하는 블록도이다. 본원에서 더 설명되는 바와 같이, 다수의 SLIMbus 데이터 라인들의 사용은 SLIMbus 데이터 라인들 (110, 112) 및 SLIMbus 클록 라인 (114) 을 포함하는 SLIMbus 통신 버스 상의 대역폭 및 스루풋을 증가시킬 수도 있다.
시스템 (100) 은 제 1 SLIMbus 컴포넌트 (104) 에 연결된 호스트 (102) 를 구비할 수도 있다. 제 1 SLIMbus 컴포넌트 (104) 는 복수의 SLIMbus 데이터 라인들 (110, 112) 을 통해 및 SLIMbus 클록 라인 (114) 을 통해 제 2 SLIMbus 컴포넌트 (106) 에 연결될 수도 있다. 도 1의 실시형태에서, 복수의 SLIMbus 데이터 라인들 (110, 112) 은 제 1 SLIMbus 데이터 라인 (110) 및 제 2 SLIMbus 데이터 라인 (112) 을 구비한다. 제 2 SLIMbus 컴포넌트 (106) 는 제 3 컴포넌트 (108) 에 연결될 수도 있다. 특정 실시형태에서, 제 3 컴포넌트 (108) 는 SLIMbus 컴포넌트 또는 비-SLIMbus 디바이스일 수도 있다.
특정 실시형태에서, 호스트 (102) 는 프로세서, 이를테면, 디지털 신호 프로세서 (DSP), 중앙 프로세싱 유닛 (CPU), 그래픽 프로세싱 유닛 (GPU), 마이크로프로세서, 또는 이들의 임의의 조합을 포함할 수도 있다. 호스트 (102) 는 이동국 모뎀 (MSM), 모바일 데이터 모뎀 (MDM), 무선 주파수 트랜시버 (RTR), 애플리케이션 프로세서 (APQ), 또는 이들의 임의의 조합을 구비할 수도 있다.
특정 예시적 실시형태에서, 제 1 SLIMbus 데이터 라인 (110) 은 제 1 대역폭을 지원할 수도 있고 제 2 SLIMbus 데이터 라인 (112) 은 제 2 대역폭을 지원할 수도 있다. 예시적인 비제한적 예로서, 제 1 대역폭은 초 당 28 메가비트들 (Mbps) 일 수도 있고 제 2 대역폭은 28 Mbps 이상일 수도 있다. 이 예에서, 제 2 SLIMbus 데이터 라인 (112) 은, 본원에서 더 설명되는 바와 같이, 상이한 레이트들로 클록킹되고 있는 제 1 SLIMbus 데이터 라인 (110) 및 제 2 SLIMbus 데이터 라인 (112) 에 기초하여 제 1 SLIMbus 데이터 라인 (110) 보다 큰 대역폭을 가질 수도 있다.
특정 예시적 실시형태에서, 복수의 SLIMbus 데이터 라인들 (110, 112) 각각은 양방향 데이터 라인일 수도 있다. 예를 들어, 제 1 SLIMbus 데이터 라인 (110) 은 양방향 데이터 라인일 수도 있고 제 2 SLIMbus 데이터 라인 (112) 은 양방향 데이터 라인일 수도 있다. 본원에서 사용되는 바와 같이, 양방향 데이터 라인은 2 개의 대향 방향들로 데이터를 전송할 수 있는 데이터 라인일 수도 있다. 게다가, 복수의 SLIMbus 데이터 라인들 (110, 112) 각각은 상이한 파워 레벨 스루풋과 연관된 데이터를 송신하는데 활용될 수도 있다. 예를 들어, 제 1 SLIMbus 데이터 라인 (110) 은 저 전력 트래픽을 위해 활용될 수도 있는 한편, 제 2 SLIMbus 데이터 라인 (112) 은 더 높은 전력 트래픽을 위해 활용될 수도 있다.
동작 동안, 데이터는 제 1 SLIMbus 컴포넌트 (104) 로부터 제 2 SLIMbus 컴포넌트 (106) 로 전송될 수도 있다. 본원에서 사용되는 바와 같이, 데이터는, 오디오 데이터, 비-오디오 데이터, 펄스 코드 변조 (PCM) 오디오 데이터, 소니 필립스 디지털 인터페이스 (SPDIF) 데이터, 고품위 오디오 (HDA) 데이터, 프로 오디오 데이터 (즉, 돌비 서라운드 5.1/7.1, 및 특정한 로랜드 (Roland) 뮤직 시스템들에서 사용되는 바와 같은 192 kHz, 24 비트), 또는 이들의 임의의 조합을 포함할 수도 있다. 제 1 SLIMbus 컴포넌트 (104) 는 복수의 SLIMbus 데이터 라인들 (110, 112) 중 선택된 하나 이상의 특정 SLIMbus 데이터 라인들 상에서 데이터를 전송할 수도 있다. 예를 들어, 데이터는 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 또는 이들의 임의의 조합을 통해 전송될 수도 있다.
대안으로, 또는 덧붙여서, 데이터는, 복수의 SLIMbus 데이터 라인들 (110, 112) 중 선택된 하나 이상의 특정 SLIMbus 데이터 라인들 상에서 제 2 SLIMbus 컴포넌트 (106) 로부터 제 1 SLIMbus 컴포넌트 (104) 로 전송될 수도 있다. 예를 들어, 데이터는 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 또는 이들의 임의의 조합을 통해 전송될 수도 있다.
예시적인 실시형태에서, 제 1 SLIMbus 컴포넌트 (104) 는 다수의 SLIMbus 데이터 라인들을 통해 데이터를 병렬로 전송하거나 또는 단일 SLIMbus 데이터 라인을 통해 데이터를 직렬로 전송할 수도 있다. 데이터가 병렬로 전송되는지 또는 직렬로 전송되는지 여부는, 데이터의 사이즈, 적어도 하나의 SLIMbus 데이터 라인의 클록 주파수, SLIMbus 데이터 송신 프로토콜과의 데이터의 호환성 (compatibility), 또는 이들의 임의의 조합과 같은 팩터 (factor) 들에 의존할 수도 있다. 예를 들어, 제 1 SLIMbus 컴포넌트 (104) 는 제 1 SLIMbus 데이터 라인 (110) 을 통해 및 제 2 SLIMbus 데이터 라인 (112) 을 통해 데이터를 병렬로 전송할 수도 있다. 예시를 위하여, 데이터는 2 개의 부분들로 나누어질 수도 있고, 그 부분들은 SLIMbus 데이터 라인들 (110 및 112) 을 통해 동시에, 또는 실질적으로 동시에 송신될 수도 있다. 수신 시, 데이터는 인터리브 및/또는 연접 (concatenation) 될 수도 있다. 대안으로, 제 1 SLIMbus 컴포넌트 (104) 는 제 1 SLIMbus 데이터 라인 (110) 을 통해 데이터를 직렬로 전송하거나 또는 제 2 SLIMbus 데이터 라인 (112) 을 통해 데이터를 직렬로 전송할 수도 있다. 예시를 위하여, 데이터는 2 개의 부분들로 나누어질 수도 있고, 그 부분들은 제 1 SLIMbus 데이터 라인 (110) 또는 제 2 SLIMbus 데이터 라인 (112) 중 어느 하나를 통해 차례차례로 송신될 수도 있다. 그 데이터는 SLIMbus 데이터 송신 프로토콜, 다른 시분할 송신 프로토콜들, 또는 비 시분할 송신 프로토콜들에 따라 전송될 수도 있다.
특정 실시형태에서, 제 1 SLIMbus 컴포넌트 (104) 는 단일 SLIMbus 데이터 라인 구성 (configuration) (예컨대, 레거시, 하위 호환가능 (backward-compatible) 구성) 과 호환가능하도록 구성될 수도 있다. 예를 들어, 제 1 SLIMbus 컴포넌트 (104) 는 제 1 SLIMbus 데이터 라인 (110) 을 통해서만 제 2 SLIMbus 컴포넌트 (106) 로 데이터를 전송하도록 구성될 수도 있다. 도 2 및 도 3에서 설명될 바와 같이, 포트 듀플리케이터 (port duplicator) 는, 복수의 SLIMbus 데이터 라인들 (110, 112) 을 사용하여 통신을 지원하는 구성과 제 1 컴포넌트 (104) 가 호환가능할 수 있게 하도록 다중 SLIMbus 데이터 라인 인터페이스를 제 1 SLIMbus 컴포넌트 (104) 에 제공할 수도 있다. 포트 듀플리케이터의 추가는 MIPI (Mobile Industry Processor Interface) SLIMbus 사양과 연관된 표준들을 위반하지 않고서도 복수의 SLIMbus 데이터 라인들 (110, 112) 을 시스템 (100) 에 통합할 수도 있다.
특정 실시형태에서, 제 2 SLIMbus 컴포넌트 (106) 는 또한 단일 SLIMbus 데이터 라인 구성과 호환가능하도록 구성될 수도 있다. 예를 들어, 제 2 SLIMbus 컴포넌트 (106) 는 제 1 SLIMbus 데이터 라인 (110) 을 통해서만 제 1 컴포넌트 (104) 로부터의 데이터를 수신하도록 구성될 수도 있다. 도 2 및 도 3에서 설명될 바와 같이, 포트 듀플리케이터는, 복수의 SLIMbus 데이터 라인들 (110, 112) 을 사용하여 통신을 지원하는 구성과 제 2 컴포넌트 (106) 가 호환가능할 수 있게 하도록 다중 SLIMbus 데이터 라인 인터페이스를 제 2 SLIMbus 컴포넌트 (106) 에 제공할 수도 있다.
특정 실시형태에서, 제 3 디바이스 (108) 는, 본원에서 설명된 바와 같이, 복수의 SLIMbus 데이터 라인들 (110, 112) 을 지원하는 구성과 호환가능할 수 있도록 구성될 수도 있다. 예를 들어, 제 3 디바이스 (108) 는 복수의 SLIMbus 데이터 라인들 (110, 112) 을 통해 제 1 컴포넌트 (104) 로부터의 데이터를 수신하도록 구성될 수도 있다. 제 3 디바이스 (108) 로 전송되는 데이터는 비-SLIMbus 프로토콜 (예컨대, SLIMbus 데이터 송신 프로토콜이 아닌 비 시분할 프로토콜 또는 시분할 프로토콜) 에 따라 송신될 수도 있다.
특정 실시형태에서, 복수의 SLIMbus 데이터 라인들 (110, 112) 각각의 SLIMbus 데이터 라인은 상이한 SLIMbus 컴포넌트들에 대응할 수도 있다. 예를 들어, 제 1 및 제 2 컴포넌트들 (104, 106) 은 제 1 SLIMbus 데이터 라인 (110) 및 SLIMbus 클록 라인 (114) 을 통해 데이터를 수신하고 송신하도록 구성될 수도 있다. 덧붙여서, 제 3 및 제 4 SLIMbus 컴포넌트 (미도시) 는 제 2 SLIMbus 데이터 라인 (112) 및 SLIMbus 클록 라인 (114) 을 통해 데이터를 수신하고 송신하도록 구성될 수도 있다. 따라서, 동일한 SLIMbus 클록 라인 (114) 은 별개의 SLIMbus 데이터 라인을 각각 사용하는 상이한 컴포넌트들 또는 컴포넌트들의 세트들 사이에서 데이터 전송의 타이밍 및 레이트들을 제어할 수도 있다.
단일 SLIMbus 데이터 라인 및 단일 SLIMbus 클록 라인과의 호환성을 위해 구성되는 레거시 SLIMbus 디바이스가 복수의 SLIMbus 데이터 라인들 (110, 112) 과 접속될 수도 있다는 것이 이해될 것이다. 덧붙여서, 다수의 SLIMbus 데이터 라인들과의 호환성을 위해 구성된 디바이스들은 시스템 (100) 에서 레거시 디바이스들과 공존할 수도 있다. 복수의 SLIMbus 데이터 라인들 (110, 112) 은 증가된 대역폭 및 스루풋이 되게 할 수도 있다는 것이 이해될 것이다. 더구나, (부가적인 데이터 라인(들)보다 훨씬 큰 다이 영역을 점유할 수도 있는) SLIMbus 컴포넌트들을 복제하는 것에 의해 대역폭을 증가시킬 것을 시도하는 SLIMbus 시스템들과 비교해 볼 때 대역폭 및 스루풋 증가는 다이 사이즈에서의 비교적 적은 증가로 달성될 수도 있다. 도 1의 시스템 (100) 은 따라서 SLIMbus 컴포넌트들 사이에 높은 대역폭 데이터 송신 (예컨대, 프로 오디오 데이터 및 비-오디오 데이터를 전송하고 수신하는 능력) 을 지원할 수도 있다.
도 2는 복수의 SLIMbus 데이터 라인들 (110, 112) 을 2 개의 SLIMbus 컴포넌트들 (104, 106) 사이에 구비하는 시스템 (200) 의 다른 특정 실시형태를 도시하는 블록도이다. 도 1과는 대조적으로, 도 2는 적어도 3 개의 SLIMbus 데이터 라인들 (예컨대, 제 N SLIMbus 데이터 라인 (218) 을 포함하는 "N" 개의 SLIMbus 데이터 라인들) 을 예시한다.
시스템 (200) 은 제 1 SLIMbus 컴포넌트 (104) 에 연결된 호스트 (102) 를 구비할 수도 있다. 제 1 SLIMbus 컴포넌트 (104) 는 포트 듀플리케이터 (216) 에 연결될 수도 있다. 포트 듀플리케이터 (216) 는 복수의 SLIMbus 데이터 라인들 (110, 112, 및 218) 을 통해 및 SLIMbus 클록 라인 (114) 을 통해 제 2 SLIMbus 컴포넌트 (106) (또는 제 2 SLIMbus 컴포넌트 (106) 에 연결된 대응하는 포트 듀플리케이터) 에 연결될 수도 있다. 제 2 SLIMbus 컴포넌트 (106) 는 제 3 컴포넌트 (108) 에 연결될 수도 있다.
제 1 SLIMbus 컴포넌트 (104) 는 기어 선택 로직 (220) 을 구비할 수도 있다. 특정 예시적 실시형태에서, 기어 선택 로직 (220) 은 제 1 기어 (222) 및 제 2 기어 (224) 를 포함하는 다수의 기어들에서 복수의 데이터 라인들 (110, 112, 및 218) 각각을 클록킹하도록 구성될 수도 있다. 특정 실시형태에서, 기어 선택 로직 (220) 은 10 개의 기어들 중 임의의 것을 선택할 수도 있으며, 여기서 각각의 기어는 상이한 클록 주파수 (예컨대, 시스템 (200) 의 "네이티브" 클록 주파수의 배수 또는 지수 (quotient)) 에 대응한다. 예를 들어, 하나의 기어를 다운시프팅 (downshifting) 하는 것은 클록 주파수를 반으로 줄일 수도 있고 하나의 기어를 업시프팅 (upshifting) 하는 것은 클록 주파수를 2배로 할 수도 있다. 기어 선택 로직 (220) 은 제 1 SLIMbus 데이터 라인 (110) 의 제 1 클록 주파수를 제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수와는 독립적으로, 및 제 N SLIMbus 데이터 라인 (218) 의 제 N 클록 주파수와는 독립적으로 변경하도록 구성될 수도 있다.
특정 예시적 실시형태에서, 제 1 SLIMbus 데이터 라인 (110) 의 제 1 클록 주파수는 제 1 SLIMbus 데이터 라인 (110) 과 연관된 대응하는 기어를 바꾸는 것에 의해 변경될 (즉, 2의 거듭제곱만큼 증가되거나 또는 2의 거듭제곱만큼 감소될) 수도 있다. 예를 들어, 제 1 SLIMbus 데이터 라인 (110) 의 제 1 클록 주파수는 제 1 SLIMbus 데이터 라인 (110) 과 연관된 대응하는 기어를 제 1 기어 (222) 에서 제 2 기어 (224) 로 바꾸는 것에 의해 증가될 수도 있다. 다르게는, 제 1 SLIMbus 데이터 라인 (110) 의 제 1 클록 주파수는 제 1 SLIMbus 데이터 라인 (110) 과 연관된 대응하는 기어를 제 2 기어 (224) 에서 제 1 기어 (222) 로 바꾸는 것에 의해 감소될 수도 있다.
제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수는 제 2 SLIMbus 데이터 라인 (112) 과 연관된 대응하는 기어를 바꾸는 것에 의해 변경될 (즉, 2의 거듭제곱만큼 증가되거나 또는 2의 거듭제곱만큼 감소될) 수도 있다. 예를 들어, 제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수는 제 2 SLIMbus 데이터 라인 (112) 과 연관된 대응하는 기어를 제 1 기어 (222) 에서 제 2 기어 (224) 로 바꾸는 것에 의해 증가될 수도 있다. 다르게는, 제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수는 제 2 SLIMbus 데이터 라인 (112) 과 연관된 대응하는 기어를 제 2 기어 (224) 에서 제 1 기어 (222) 로 바꾸는 것에 의해 감소될 수도 있다.
다양한 SLIMbus 데이터 라인들 (110, 112, 218) 은 동일한 기어에서 클록킹될 수도 있거나 또는 상이한 기어들에서 클록킹될 수도 있다. 특정 실시형태에서, 제 1 SLIMbus 데이터 라인 (110) 의 제 1 클록 주파수는 제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수와 동일하게 될 수도 있다. 예를 들어, 제 1 클록 주파수 및 제 2 클록 주파수 양쪽 모두는 제 1 기어 (222) 에 응답할 수도 있다. 대안으로, 제 1 SLIMbus 데이터 라인 (110) 의 제 1 클록 주파수는 제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수와는 상이할 수도 있다. 예를 들어, 제 1 클록 주파수는 제 1 SLIMbus 컴포넌트 (104) 의 제 1 기어 (222) 에 응답할 수도 있고 제 2 클록 주파수는 제 1 SLIMbus 컴포넌트 (104) 의 제 2 기어 (224) 에 응답할 수도 있다. 특정 실시형태에서, SLIMbus 데이터 라인들 (110, 112, 218) 은 연속하는 기어 체계에 따라 (예컨대, 기어 X, 기어 X+1, 및 기어 X+2에서) 클록킹될 수도 있다.
포트 듀플리케이터 (216) 는, 복수의 SLIMbus 데이터 라인들 (110, 112, 218) 을 통한 데이터 송신을 가능하게 하도록, 단일 SLIMbus 데이터 라인을 통한 데이터 송신과 호환가능한 포트에 다중 SLIMbus 데이터 라인 인터페이스를 제공하도록 구성될 수도 있다. 예를 들어, 포트 듀플리케이터 (216) 는, 복수의 SLIMbus 데이터 라인들 (110, 112, 218) 과 호환가능한 인터페이스를, 다르게는 제 1 SLIMbus 데이터 라인 (110) 을 통해 데이터를 전송하고 수신하는 것과만 호환가능한 레거시 포트와 통신하기 위해 제공하도록 구성될 수도 있다.
동작 동안, 포트 듀플리케이터 (216) 는 데이터를 전송하는 경우에 복수의 SLIMbus 데이터 라인들 (110, 112, 218) 중 하나 이상의 SLIMbus 데이터 라인들 중 어떤 것을 활용할지를 선택적으로 결정하도록 구성될 수도 있다. 예를 들어, 포트 듀플리케이터 (216) 는 제 1 SLIMbus 데이터 라인 (110) 을 통해, 제 2 SLIMbus 데이터 라인 (112) 을 통해, 제 N SLIMbus 데이터 라인 (218), 또는 이들의 임의의 조합을 통해 데이터를 전송할 것을 선택적으로 결정할 수도 있다.
특정 예시적 실시형태에서, 데이터 송신 동안 얼마나 많은 및 어떤 SLIMbus 데이터 라인들을 사용할지의 결정은, SLIMbus 데이터 송신 프로토콜과의 데이터의 호환성, SLIMbus 데이터 송신 프로토콜과의 수신용 SLIMbus 컴포넌트 (106) 의 호환성, 또는 이들의 임의의 조합에 적어도 부분적으로 기초할 수도 있다. 예를 들어, 제 1 SLIMbus 컴포넌트 (104) 와 제 2 SLIMbus 컴포넌트 (106) 는 단일 SLIMbus 데이터 라인 구성과, SLIMbus 데이터 송신 프로토콜과 호환가능한 데이터와 호환가능하도록 구성될 수도 있는 반면, 제 3 디바이스 (108) 는 다수의 송신 프로토콜들 및 구성들 (예컨대, SLIMbus 데이터 송신 프로토콜, 복수의 SLIMbus 데이터 라인들 상의 데이터 송신을 지원하는 구성, SLIMbus 데이터 송신 프로토콜과 호환가능하지 않은 데이터, SLIMbus 데이터 송신 프로토콜과 호환가능한 데이터, 또는 이들의 임의의 조합) 과 호환가능하도록 구성될 수도 있다.
특정 예시적 실시형태에서, 제 2 SLIMbus 데이터 라인 (112) 과 제 N SLIMbus 데이터 라인 (218) 은 데이터의 모든 유형들을 지원하도록 구성될 수도 있는 한편, 제 1 SLIMbus 데이터 라인 (110) 은 SLIMbus 데이터 송신 프로토콜과 호환가능한 데이터만을 전송하도록 구성될 수도 있다. 예를 들어, 데이터가 제 3 디바이스 (108) 로 전송되어야 하면, 포트 듀플리케이터 (216) 는 제 2 SLIMbus 데이터 라인 (112), 제 N SLIMbus 데이터 라인 (218), 또는 이들의 임의의 조합을 통해 데이터를 전송할 것을 선택적으로 결정할 수도 있다. 다르게는, SLIMbus 데이터 송신 프로토콜과 호환가능한 데이터가 제 2 SLIMbus 컴포넌트 (106) 로 전송되어야 하면, 포트 듀플리케이터 (216) 는 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 제 N SLIMbus 데이터 라인 (218), 또는 이들의 임의의 조합을 통해 데이터를 전송할 것을 선택적으로 결정할 수도 있다. 컴포넌트가, 도 3에서 설명되는 바와 같이, 프로그래밍 또는 제어 메시지를 통해 단일 SLIMbus 데이터 라인 또는 복수의 SLIMbus 데이터 라인들 상의 데이터를 체크하도록 프로그래밍될 수도 있다. 복수의 데이터 라인들 (110, 112, 218) 은 SLIMbus 프로토콜과 호환가능한 데이터 및 SLIMbus 프로토콜과 호환가능하지 않은 데이터를 동시에 송신할 수도 있다.
2 개 또는 3 개의 SLIMbus 데이터 라인들의 사용은 데이터의 특정한 유형들의 경우에 스케줄링을 단순화할 수도 있다는 것에 주의해야 한다. 예를 들어, 16비트 오디오 데이터는 2 개의 SLIMbus 데이터 라인들에 걸쳐 동시에 송신되는 2 개의 8비트 오디오 스트림들로 나누어질 수도 있다. 다른 예로서, 24비트 오디오 데이터는 3 개의 SLIMbus 데이터 라인들에 걸쳐 동시에 송신되는 3 개의 8비트 오디오 스트림들로 나누어질 수도 있다. 8비트 오디오 프레임들의 송신의 스케줄링은 16비트 또는 24비트 오디오 프레임들의 스케줄링과 비교하여 비교적 간단할 수도 있다. 더구나, 다수의 SLIMbus 데이터 라인들이 사용되는 경우, 연관된 SLIMbus 클록 라인은 소비 전력을 감소시킬 수도 있는 더 낮은 주파수에서 클록킹될 수도 있다.
레거시 SLIMbus 컴포넌트들은 레거시 SLIMbus 컴포넌트들 및 다른 컴포넌트들이 시스템 내에 공존할 수도 있도록 포트 듀플리케이터 (216) 를 통해 복수의 SLIMbus 데이터 라인들 (110, 112, 218) 과 접속될 수도 있다는 것이 이해될 것이다. 포트 듀플리케이터 (216) 는 증가된 핀 카운트를 요구할 수 있는 SLIMbus 컴포넌트들 및 인프라를 복제하지 않고서도 부가적인 SLIMbus 데이터 라인들의 통합을 가능하게 할 수도 있다는 것이 추가로 이해될 것이다. 복수의 SLIMbus 데이터 라인들 (110, 112, 218) 각각의 SLIMbus 데이터 라인의 기어들의 관리 (예컨대, 변경) 로부터 개선된 전력 관리가 이루어질 수도 있다는 것이 또한 이해될 것이다.
도 3은 복수의 SLIMbus 데이터 라인들을 통한 데이터 송신을 가능하게 하도록 다중 SLIMbus 데이터 라인 인터페이스를 포트에 제공하도록 동작가능한 시스템 (300) 의 특정 실시형태를 예시하는 도면이다. 시스템 (300) 은 포트 (302) 에 연결된 제 1 SLIMbus 컴포넌트 (104) 를 구비할 수도 있다.
특정 예시적 실시형태에서, 제 1 SLIMbus 컴포넌트 (104) 는 기어 선택 로직 (220) 을 구비할 수도 있다. 기어 선택 로직 (220) 은 제 1 기어 (222) 및 제 2 기어 (224) 를 구비할 수도 있다. 기어 선택 로직 (220) 은 인입 (incoming) 데이터 (323), 인출 (outgoing) 데이터 (324), 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 또는 이들의 임의의 조합의 클록 주파수를 변경하도록 구성될 수도 있다. 대안으로, 또는 덧붙여서, 기어 선택 로직 (220) 은 (예컨대, 제 1 패드 (320) 를 통해 수신된) 제 1 인입 SLIMbus 데이터 (326) 의 클록 주파수, (예컨대, 제 2 패드 (322) 를 통해 수신된) 제 2 인입 SLIMbus 데이터 (328) 의 클록 주파수, (예컨대, 제 1 패드 (320) 를 통해 전송될) 제 1 인출 SLIMbus 데이터 (330) 의 클록 주파수, (예컨대, 제 2 패드 (322) 를 통해 전송될) 제 2 인출 SLIMbus 데이터 (332) 의 클록 주파수, 또는 이들의 임의의 조합을 변경하도록 구성될 수도 있다.
특정 예시적 실시형태에서, 포트 (302) 는 데이터 포트 (304) 를 구비할 수도 있다. 데이터 포트 (304) 에 대한 입력은 인입 데이터 (323) 를 포함할 수도 있고 데이터 포트 (304) 에 대한 출력은 인출 데이터 (324) 를 포함할 수도 있다. 포트 (304) 는 또한 메시지 채널 (306) 을 포함할 수도 있다. 제 1 SLIMbus 컴포넌트 (104) 는 적어도 하나의 SLIMbus 데이터 라인을 통한 제 2 SLIMbus 컴포넌트 (106) 과의 접속을 위한 인터페이스로서 포트 (302) 를 사용할 수도 있다.
특정 예시적 실시형태에서, 시스템 (300) 은 또한 제 1 멀티플렉서 (310) 를 구비할 수도 있다. 제 1 멀티플렉서 (310) 는 제 1 인입 SLIMbus 데이터 (326) 및 제 2 인입 SLIMbus 데이터 (328) 를 제 1 패드 (320) 및 제 2 패드 (322) 로부터의 입력들로서 각각 수신할 수도 있다. 제 1 멀티플렉서 (310) 는 또한 스위치 선택 신호 (308) 를 입력으로서 수신할 수도 있다. 특정 실시형태에서, 스위치 선택 신호 (308) 는 SLIMbus 컴포넌트 (104) 또는 그와 연관된 프로세서 (예컨대, 호스트 (102)) 에 의해 실행되는 소프트웨어를 통해 제어될 수도 있다. 특정 실시형태에서, 스위치 선택 신호 (308) 는 다수의 SLIMbus 데이터 라인들을 통해 또는 단일 SLIMbus 데이터 라인을 통해 데이터가 병렬로 전송 및/또는 수신될지 여부에 기초한 값을 가질 수도 있다. 제 1 멀티플렉서 (310) 는 인입 데이터 (323) 를 데이터 포트 (304) 로 출력할 수도 있다.
특정 예시적 실시형태에서, 시스템 (300) 은 또한 제 2 멀티플렉서 (312) 를 구비할 수도 있다. 제 2 멀티플렉서 (312) 는 데이터 포트 (304) 로부터의 인출 데이터 (324) 와, 스위치 선택 신호 (308) 를 입력들로서 수신할 수도 있다. 제 2 멀티플렉서 (312) 는 제 1 인출 SLIMbus 데이터 (330) 및 제 2 인출 SLIMbus 데이터 (332) 를 제 1 패드 (320) 및 제 2 패드 (322) 로 각각 출력할 수도 있다.
스위치 선택 신호 (308) 는 SLIMbus 데이터 송신 프로토콜과 호환가능한 데이터를 제 1 SLIMbus 데이터 라인 (110) (즉, 제 1 인입 SLIMbus 데이터 (326) 및 제 1 인출 SLIMbus 데이터 (330)) 을 통해 또는 제 2 SLIMbus 데이터 라인 (112) (즉, 제 2 인입 SLIMbus 데이터 (328) 및 제 2 인출 SLIMbus 데이터 (332)) 을 통해 송신하는 것으로 나타낼 수도 있다. 다르게는, 스위치 선택 신호 (308) 는 SLIMbus 데이터 송신 프로토콜과 호환가능하지 않은 데이터를 제 2 SLIMbus 데이터 라인 (112) 을 통해 송신하는 것으로 나타낼 수도 있다.
제 1 멀티플렉서 (310) 는 데이터 포트 (304) 로의 인입 데이터 (323) 와 연관될 수도 있고 제 2 멀티플렉서 (312) 는 데이터 포트 (304) 로부터의 인출 데이터와 연관될 수도 있다. 포트 듀플리케이터 (예컨대, 도 2의 포트 듀플리케이터 (216)) 는, 복수의 SLIMbus 데이터 라인들 (110, 112, 218) 을 통한 데이터 송신을 가능하게 하도록, 단일 SLIMbus 데이터 라인을 통한 데이터 송신과 호환가능한 포트에 다중 SLIMbus 데이터 라인 인터페이스를 제공하도록 구성될 수도 있다.
예를 들어, 데이터 포트 (304) 는 단일 SLIMbus 데이터 라인을 통한 데이터 송신과 호환가능할 수도 있다. 예시를 위하여, 데이터 포트 (304) 는 제 1 SLIMbus 데이터 라인 (110) 만을 통해 데이터를 전송하고 수신하도록 호환가능할 수도 있다. 특정 실시형태에서, 제 1 멀티플렉서 (310) 와 제 2 멀티플렉서 (312) 는, 제 1 SLIMbus 데이터 라인 (110) (즉, 제 1 인입 SLIMbus 데이터 (326) 및 제 1 인출 SLIMbus 데이터 (330)), 제 2 SLIMbus 데이터 라인 (112) (즉, 제 2 인입 SLIMbus 데이터 (328) 및 제 2 인출 SLIMbus 데이터 (332)), 또는 이들의 임의의 조합을 통한 데이터 송신을 가능하게 하는 인터페이스를 제공할 수도 있다.
제 1 SLIMbus 데이터 라인 (110) 은 SLIMbus 데이터 송신 프로토콜을 지원할 수도 있는 한편, 제 2 SLIMbus 데이터 라인 (112) 은 SLIMbus 데이터 송신 프로토콜, 비 SLIMbus 데이터 송신 프로토콜, 또는 이들의 임의의 조합을 지원할 수도 있다. 예를 들어, 인입 데이터 (323) 와 SLIMbus 데이터 송신 프로토콜과 호환가능한 인출 데이터 (324) 는 제 1 패드 (320), 제 2 패드 (322), 또는 이들의 임의의 조합에 라우팅될 수도 있다. 인입 데이터 (323) 와 SLIMbus 데이터 송신 프로토콜과 호환가능하지 않은 인출 데이터 (324) 는 제 2 패드 (322) 에만 라우팅될 수도 있다.
제 1 SLIMbus 컴포넌트 (104) 와 제 2 SLIMbus 컴포넌트 (106) 는 단일 SLIMbus 데이터 라인 SLIMbus 구성과 호환가능하도록 구성될 수도 있는 한편, 제 3 디바이스 (108) 는 단일 SLIMbus 데이터 라인 SLIMbus 구성 및 다중 SLIMbus 데이터 라인 SLIMbus 구성과 호환가능하도록 구성될 수도 있다. 이 특정 예시적 실시형태에서, 데이터가 제 3 디바이스 (108) 로 전송되어야 하면, 그 데이터는 제 2 패드 (322) 로 라우팅될 수도 있다. 다르게는, 데이터가 제 2 SLIMbus 컴포넌트 (106) 로 전송되어야 하면, 그 데이터는 제 1 패드 (320), 제 2 패드 (322), 또는 이들의 임의의 조합으로 라우팅될 수도 있다. 따라서, SLIMbus 컴포넌트들은 하나의 데이터 라인 또는 다수의 데이터 라인들을 모니터링하도록 구성될 수도 있다. SLIMbus 컴포넌트들을 구성하는 특정 예는 도 5 및 도 6을 참조하여 추가로 설명된다. 하나의 데이터 핀만을 갖는 레거시 컴포넌트들은 하나의 데이터 라인을 모니터링하도록 프로그래밍될 수도 있다. 다수의 데이터 핀들을 갖는 비-레거시 컴포넌트들은, (예컨대, 증가된 대역폭/스루풋이 필요하지 않은 경우의) 하나의 데이터 라인 또는 (예컨대, 높은 대역폭/스루풋 애플리케이션 동안의) 다수의 데이터 라인들의 모니터링 사이에서 동적으로 스위치할 수도 있다.
특정 예시적 실시형태에서, 시스템 (300) 은 또한 메시지 포트 (314) 를 구비할 수도 있다. 메시지 포트 (314) 는 포트 (302) 의 메시지 채널 (306) 로부터 입력을 수신할 수도 있다. 메시지 포트 (314) 는 또한 제 3 멀티플렉서 (316) 로부터 입력을 수신할 수도 있다. 메시지 포트 (314) 는 출력을 제 4 멀티플렉서 (318) 로 전송할 수도 있다. 메시지 포트 (314) 는 복수의 SLIMbus 데이터 라인들 (110, 112, 218) 의 대역폭을 제어하도록 구성될 수도 있다. 메시지 포트 (314) 는 제 1 SLIMbus 컴포넌트 (104) 로부터 제 2 SLIMbus 컴포넌트 (106) 로 데이터를 송신할 것을 복수의 SLIMbus 데이터 라인들 (110, 112, 218) 각각에 경고하도록 구성될 수도 있다.
메시지 포트 (314) 는 메시지들에 대해 데이터 포트 (304) 와 동일한 단일 및 다수의 패드 구성들을 활용할 수도 있다. 특정 실시형태에서, 메시지 포트 (314) 는, 도 5 및 도 6을 참조하여 더 설명되는 바와 같이, 구성 메시지들 (예컨대, 사용자 정의된 메시지들) 을 전송하고 수신하는데 사용될 수도 있다.
단일 SLIMbus 데이터 라인을 통한 데이터 송신과 호환가능한 포트에 다중 SLIMbus 데이터 라인 인터페이스를 제공하는 것은, 단일 SLIMbus 데이터 라인 SLIMbus 구성 시스템들이 SLIMbus 컴포넌트들을 복제하지 않고서도 복수의 SLIMbus 데이터 라인들을 활용하게 할 수도 있다는 것이 이해될 것이다. 이는 레거시 SLIMbus 컴포넌트들을 포함하는 시스템들에서 유연성 및 확장성이 더 높아지게 할 수도 있다.
도 4는 복수의 SLIMbus 데이터 라인들 (110, 112) 을 2 개의 SLIMbus 컴포넌트들 (104, 106) 사이에 구비하는 시스템 (400) 의 다른 특정 실시형태를 도시하는 도면이다.
시스템 (400) 은 제 1 칩 (401) 및 제 2 칩 (402) 을 구비할 수도 있다. 특정 실시형태에서, 각각의 칩 (401 및 402) 은 특정 디바이스, 이를테면, 프로세서, 코더/디코더 (CODEC), 입력 디바이스, 출력 디바이스 등에 대응할 수도 있다. 제 1 칩 (401) 은 제 1 SLIMbus 컴포넌트 (104) 및 시스템 레벨 디바이스 로직 (404) 을 구비할 수도 있다. 특정 실시형태에서, 도 1의 호스트 (102) 는 도 4의 시스템 레벨 디바이스 로직 (404) 을 구비할 수도 있다. 제 2 칩 (402) 은 제 2 SLIMbus 컴포넌트 (106) 및 제 2 시스템 레벨 디바이스 로직 (406) 을 구비할 수도 있다. 제 1 SLIMbus 컴포넌트 (104) 는 복수의 SLIMbus 데이터 라인들 (110, 112) 및 SLIMbus 클록 라인 (114) 을 통해 제 2 SLIMbus 컴포넌트 (106) 에 연결될 수도 있다.
특정 실시형태에서, 제 1 SLIMbus 컴포넌트 (104) 는 직접 메모리 액세스 계층 (408), SLIMbus 디바이스 계층 (410), 전송 프로토콜 계층 (412), 프레임 계층 (414), 및 물리 계층 (416) 을 포함할 수도 있다. 직접 메모리 액세스 계층 (408) 은 제 1 유한 상태 머신 (FSM) (418), 제 1 파이프 (420a), 제 2 파이프 (420b), 및 제 N 파이프 (420c) 를 구비할 수도 있다. 특정 실시형태에서, 파이프들은, 도 5를 참조하여 더 설명되는 바와 같이, 메시지들 (예컨대, 데이터 메시지들 및/또는 사용자 정의된 구성 메시지들) 을 전송하는 메시지 채널들로서 구성될 수도 있다.
SLIMbus 디바이스 계층 (410) 은 일반 디바이스 계층, 인터페이스 디바이스 계층, 프레이머 (framer) 디바이스 계층, 관리자 디바이스 계층, 또는 이들의 임의의 조합일 수도 있다. 특정 실시형태에서, SLIMbus 디바이스 계층 (410) 은 제 2 유한 상태 머신 (FSM) (422), 제 1 선입선출 (FIFO) 버퍼 (424a), 제 2 FIFO 버퍼 (424b), 제 N FIFO 버퍼 (424c), 제 1 포트 (포트 0) (426a), 제 2 포트 (포트 1) (426b), 및 제 N 포트 (포트 J) (426c) 를 포함할 수도 있다. 각각의 포트는 대응하는 FIFO 버퍼에 접속될 수도 있다. 예를 들어, 제 1 포트 (426a) 는 제 1 FIFO 버퍼 (424a) 에 접속될 수도 있으며, 제 2 포트 (426b) 는 제 2 FIFO 버퍼 (424b) 에 접속될 수도 있고, 제 N 포트 (426c) 는 제 N FIFO 버퍼 (424c) 에 접속될 수도 있다.
일부 대체 실시형태들에서, 각각의 포트는 각 개개의 포트의 양방향 데이터 전송 능력들을 가능하게 할 수도 있는 2 개의 FIFO 버퍼들에 연결될 수도 있다. 예를 들어, 제 1 포트 (426a) 는 제 1 FIFO 버퍼 (424a) 및 제 2 FIFO 버퍼 (424b) 에 접속될 수도 있다. 덧붙여서, 그 포트들은 더 많은 포트들이 시스템 (400) 에서 이용가능하게 하는 비동기 접속들을 지원할 수도 있다. 포트들의 단일 쌍이 업링크 포트들의 전용 쌍 및 다운링크 포트들의 전용 쌍을 사용하는 대신에 2 개의 디바이스들 사이에서 양방향 통신을 위해 사용될 수도 있기 때문에, 이중 FIFO 포트들의 사용은 시스템에서 이용가능한 포트들의 전체 수를 효과적으로 두 배가 되게 할 수도 있다는 것이 이해될 것이다.
프레임 계층 (414) 은 스위치 선택 신호 (308) 를 생성할 수도 있고, 제 1 멀티플렉서 (310) 및 제 2 멀티플렉서 (312) 를 포함할 수도 있다. 제 1 멀티플렉서 (310) 는 데이터를 송신하는 것 (428) 과 연관될 수도 있고 제 2 멀티플렉서 (312) 는 데이터를 수신하는 것 (430) 과 연관될 수도 있다. 스위치 선택 신호 (308) 는 제 1 멀티플렉서 (310) 로 하여금, 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 또는 이들의 임의의 조합을 통해, 제 2 SLIMbus 컴포넌트 (106) 의 프레임 계층 (414') 의 제 4 멀티플렉서 (310') 에 데이터를 송신하게 할 수도 있다. 제 4 멀티플렉서 (310') 는 제 2 SLIMbus 컴포넌트 (106) 의 프레임 계층 (414') 의 제 2 스위치 선택 신호 (308') 로부터의 신호에 기초하여 인입 데이터를 수신할 수도 있다. 다르게는, 스위치 선택 신호 (308) 는 제 2 멀티플렉서 (310) 로 하여금, 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 또는 이들의 임의의 조합을 통해, 제 2 SLIMbus 컴포넌트 (106) 의 프레임 계층 (414') 의 제 3 멀티플렉서 (312') 로부터 데이터를 수신하게 할 수도 있다. 제 3 멀티플렉서 (312') 는 제 2 스위치 선택 신호 (308') 로부터의 신호에 기초하여 인출 데이터를 송신할 수도 있다. 제 3 멀티플렉서 (312') 는 데이터를 송신하는 것 (428') 과 연관될 수도 있고 제 4 멀티플렉서 (310') 는 데이터를 수신하는 것 (430') 과 연관될 수도 있다. 제 2 칩 (402) 은 또한 예시된 바와 같이, 전송 프로토콜 계층, 일반 디바이스 계층, DMA 계층, 및 시스템 레벨 디바이스 로직을 포함할 수도 있다.
대체 실시형태에서, 프레임 계층 (414) 은 단일 멀티플렉서를 포함할 수도 있다. 예시를 위하여, 제 1 SLIMbus 컴포넌트 (104) 는 단일 멀티플렉서를 각각 구비하는 2 개의 프레임 계층들을 포함할 수도 있다. 다른 특정 실시형태에서, 전송 프로토콜 계층 (412) 은 제 1 멀티플렉서 (310) 및 제 2 멀티플렉서 (312) 를 구비할 수도 있고, 부가적인 SLIMbus 클록 라인이 사용될 수도 있다. 그러나, SLIMbus 클록 라인이 SLIMbus 데이터 라인보다 더 많은 전력 (예컨대, 총 전력의 60 내지 70%) 를 소모할 수도 있기 때문에, 다수의 SLIMbus 클록 라인들을 수반하는 구현예들은 전력을 절약하는 것을 방해할 수도 있다.
도 5는 이중 데이터 라인 가능 SLIMbus 컴포넌트들 및 단일 데이터 라인 가능 SLIMbus 컴포넌트들 양쪽 모두를 포함하는 시스템 (500) 의 특정 실시형태를 도시하는 도면이다.
각각의 이중 데이터 라인 가능 또는 단일 데이터 라인 가능 SLIMbus 컴포넌트는 디바이스의 부분이거나 또는 디바이스에 연결될 수도 있다. 예를 들어, 도 5에서, 시스템 (500) 은 이중 데이터 라인 능력을 가지는 제 1 디바이스 (502), 이중 데이터 라인 능력을 가지는 제 2 디바이스 (504), 이중 데이터 라인 능력을 가지는 제 3 디바이스 (506), 및 단일 데이터 라인 가능한 제 4 디바이스 (508) (예컨대, 레거시 디바이스) 를 구비한다.
특정 실시형태에서, 제 1 디바이스 (502) (디바이스 A로 지정됨) 는 애플리케이션 프로세서일 수도 있다. 제 1 디바이스 (502) 는 마스터 (510), 제 1 포트 (포트 0) (512), 제 2 포트 (포트 1) (514), 및 제 3 포트 (포트 2) (516) 를 구비할 수도 있다. 제 1 디바이스 (502) 는 또한 프레이머 (518) 를 구비할 수도 있다. 예시적인 실시형태에서, 프레이머 (518) 는 도 4의 프레임 계층 (414) 에 대응할 수도 있다.
특정 실시형태에서, 제 2 디바이스 (504) (디바이스 B로 지정됨) 는 오디오 CODEC일 수도 있다. 제 2 디바이스 (504) 는 제 1 포트 (포트 0) (520), 제 2 포트 (포트 1) (522), 및 제 3 포트 (포트 2) (524) 를 구비할 수도 있다. 제 2 디바이스 (504) 는 또한 프레이머 (526) 를 구비할 수도 있다. 예시적인 실시형태에서, 프레이머 (526) 는 도 4의 프레임 계층 (414) 에 대응할 수도 있다.
특정 실시형태에서, 제 3 디바이스 (506) (디바이스 C로 지정됨) 는 데이터 모뎀일 수도 있다. 제 3 디바이스 (506) 는 제 1 포트 (포트 0) (528) 및 제 2 포트 (포트 1) (530) 를 구비한다. 제 3 디바이스 (506) 는 또한 프레이머 (532) 를 구비할 수도 있다. 예시적인 실시형태에서, 프레이머 (532) 는 도 4의 프레임 계층 (414) 에 대응할 수도 있다.
특정 실시형태에서, 제 4 디바이스 (508) (디바이스 D로 지정됨) 는 제3자 레거시 디바이스 (예컨대, 디바이스들 사이에 다수의 데이터 라인 접속들을 수반하는 SLIMbus 구성들의 가능성을 알지 못하는 제3자에 의해 제조됨) 일 수도 있다. 예를 들어, 제 4 디바이스 (508) 는 입력 또는 출력 디바이스, 이를테면, 스피커 또는 마이크로폰일 수도 있다. 제 4 디바이스 (508) 는 제 1 포트 (포트 0) (534) 및 제 2 포트 (포트 1) (536) 를 구비할 수도 있다. 제 4 디바이스 (508) 는 또한 프레이머 (538) 를 구비할 수도 있다. 예시적인 실시형태에서, 프레이머 (538) 는 도 4의 프레임 계층 (414) 을 참조하여 설명된 바와 같은 기능을 할 수도 있다.
동작 동안, 관리자가, 각각의 디바이스 (502 내지 508) 의 SLIMbus 컴포넌트들이 단일 데이터 라인 가능인지 또는 다중 (예컨대, 이중) 데이터 라인 가능인지 여부를 결정하는 것에 기초하여 시스템 (500) 을 구성할 수도 있다. 특정 실시형태들에서, 관리자는 하드웨어, 소프트웨어 (예컨대, 제 1 디바이스 (502) 가 애플리케이션 프로세서인 경우에 제 1 디바이스 (502) 와 같은 프로세서에서 실행됨), 펌웨어, 이들의 임의의 조합으로서 구현될 수도 있다. 관리자는 열거 프로세스 동안 SLIMbus 컴포넌트들의 구성 (즉, SLIMbus 데이터 라인 능력) 을 결정할 수도 있다. 예를 들어, 열거 동안, 관리자는, 제 1 디바이스 (502), 제 2 디바이스 (504), 및 제 3 디바이스 (506) 가 이중 데이터 라인 가능 SLIMbus 컴포넌트들을 가진다는 것과 제 4 디바이스 (508) 가 단일 데이터 라인 가능 SLIMbus 컴포넌트를 가진다는 것을 결정할 수도 있다.
특정 실시형태에서, 관리자는 각각의 SLIMbus 컴포넌트 또는 디바이스에서 하나 이상의 구성 레지스터들 (550, 552, 554, 556) 에 질의하는 것에 의해 시스템에서의 각각의 SLIMbus 컴포넌트의 능력들을 결정할 수도 있으며, 여기서 구성 레지스터(들) (550, 552, 554, 556) 는 능력 정보를 저장한다. 특정 실시형태에서, 능력 정보는 디바이스 제조업자에 의해 설정될 수도 있고 일단 설정되면 수정가능하지 않을 수도 있다.
대안으로, 각각의 SLIMbus 컴포넌트의 능력들은 하이레벨 운영 체제 (high-level operating system; HLOS) 들 사이에 통신을 통해 결정될 수도 있다. 예를 들어, 특정 디바이스와 연관된 HLOS는 구성 파일 및 각각의 디바이스와의 교환 능력 비트들을 포함할 수도 있다. 다르게는, HLOS는 룩업 테이블을 사용하고 및/또는 능력 정보에 대해 구성 데이터베이스에 질의할 수도 있다.
다른 특정 실시형태에서, 각각의 SLIMbus 컴포넌트의 능력들은 메시지 채널을 통한 전용 메시징 (예컨대, 메시지 포트, 이를테면, 도 3의 메시지 포트 (314) 로부터 송신됨) 을 통해 결정될 수도 있다. 예시를 위하여, 하나 이상의 사용자 정의된 메시지들은 SLIMbus 컴포넌트들 사이에서 송신될 수도 있으며, 여기서 사용자 정의된 메시지들은 SLIMbus 컴포넌트들이 단일 데이터 라인 및/또는 이중 데이터 라인 가능인지 여부 (즉, 각각의 SLIMbus 컴포넌트의 구성) 를 나타내는 데이터를 포함한다.
시스템 (500) 에서 다양한 SLIMbus 컴포넌트들의 능력들이 결정된 후, 시스템 (500) 은 특정 버스 구성에 따라 동작하도록 구성될 (예컨대, 프로그래밍될) 수도 있다. 도 5의 시스템 (500) 의 버스 구성 및 동작의 특정 예가 도 6을 참조하여 더 설명된다.
도 6은 도 5의 시스템 (500) 의 동작 동안의 구성의 특정 실시형태를 도시하는 도면 (600) 이다. 예를 들어, 테이블 (602) 은 특정 버스 구성 (예컨대, 도 5에서의 각각의 디바이스 (502 내지 508) 의 포트 구성들) 을 예시한다. 도 6의 실시형태에서, 테이블 (602) 의 행들은 소스 포트들을 나타내고 테이블 (602) 의 열들은 목적지 포트들을 나타낸다.
예를 들어, 테이블 (602) 에서 (및 도 5에서의 포트 사이 호 (arc) 들에 의해) 예시된 바와 같이, 이중 데이터 라인 접속이 디바이스 A, 포트 0에서부터 디바이스 B, 포트 0으로 확립될 수도 있다. 다시 말하면 데이터가 디바이스 A의 제 1 포트 (512) 로부터 디바이스 B의 제 1 포트 (520) 로 전송되는 경우, 그 데이터는 제 1 SLIMbus 데이터 라인 (110) 및 제 2 SLIMbus 데이터 라인 (112) 양쪽 모두를 통해 송신될 수도 있다. 마찬가지로, 이중 데이터 라인 접속들은 디바이스 B, 포트 1에서부터 디바이스 A, 포트 1로, 및 디바이스 B, 포트 1에서부터 디바이스 C, 포트 0으로 확립될 수도 있다. 그러나, 도 5를 참조하여 위에서 설명된 바와 같이, 디바이스 D는 단일 데이터 라인 가능 SLIMbus 컴포넌트만을 가진다. 그러므로, 디바이스 D에 관련한 접속들은 단일 데이터 라인 접속들일 수도 있다. 예를 들어, 테이블 (602) 에서 예시된 바와 같이, 단일 데이터 라인 접속들은 디바이스 B, 포트 2에서부터 디바이스 D, 포트 0으로 및 디바이스 D, 포트 1에서부터 디바이스 C, 포트 1로 확립될 수도 있다.
구성/프로그래밍 메시지들이 각각의 SLIMbus 컴포넌트로 송신된 후, "RECONFIG_NOW" 메시지가 각각의 SLIMbus 컴포넌트로 송신될 수도 있다. "RECONFIG_NOW" 메시지의 수신에 응답하여, SLIMbus 컴포넌트들 각각은 적절한 프레임 경계에서 이전에 송신된 구성/프로그래밍 메시지에 따라 동작하기 시작할 수도 있다. "RECONFIG_NOW" 메시지는 따라서 SLIMbus 컴포넌트들의 구성/프로그래밍을 동기화할 수도 있다. 하나 이상의 SLIMbus 데이터 라인들을 통한 통신을 위해 데이터를 스케줄링하는 예들은 도 8을 참조하여 더 설명된다.
동일한 프레임 동안 복수의 SLIMbus 데이터 라인들 (110, 112) 을 통해 데이터를 송신하는 능력은, SLIMbus 클록 라인 (114) 의 클록 속력이 감소되게 할 수도 있다는 것이 이해될 것이다. SLIMbus 클록 라인 (114) 의 속력의 감소는 소비 전력이 감소되게 할 수도 있다는 것이 추가로 이해될 것이다. 도 6에 의해 표현된 버스 구성은 따라서 도 5의 시스템 (500) 에서 증가된 스루풋 및 감소된 소비 전력이 이루어지게 할 수도 있다.
도 7은 복수의 SLIMbus 데이터 라인들 (110, 112) 을 2 개의 SLIMbus 컴포넌트들 (104, 106) 사이에 구비하는 시스템 (700) 의 다른 특정 실시형태를 도시하는 도면이다.
시스템 (700) 은 제 1 칩 (701) 및 제 2 칩 (702) 을 구비할 수도 있다. 특정 실시형태에서, 각각의 칩 (701 및 702) 은 특정 디바이스, 이를테면, 프로세서, 코더/디코더 (CODEC), 입력 디바이스, 출력 디바이스 등에 대응할 수도 있다. 제 1 칩 (701) 은 제 1 SLIMbus 컴포넌트 (104) 및 시스템 레벨 디바이스 로직 (704) 을 구비할 수도 있다. 시스템 레벨 디바이스 로직 (704) 은 제 1 버퍼 (Buf 0) (704a), 제 2 버퍼 (Buf 1) (704b), 제 3 버퍼 (Buf J TX) (704c), 및 제 4 버퍼 (Buf J RX) (704d) 를 구비할 수도 있다. 특정 실시형태에서, 도 1의 호스트 (102) 는 도 7의 시스템 레벨 디바이스 로직 (704) 을 구비할 수도 있다. 제 2 칩 (702) 은 제 2 SLIMbus 컴포넌트 (106) 및 제 2 시스템 레벨 디바이스 로직을 구비할 수도 있다. 제 1 SLIMbus 컴포넌트 (104) 는 복수의 SLIMbus 데이터 라인들 (110, 112) 및 SLIMbus 클록 라인 (114) 을 통해 제 2 SLIMbus 컴포넌트 (106) 에 연결될 수도 있다.
특정 실시형태에서, 제 1 SLIMbus 컴포넌트 (104) 는 직접 메모리 액세스 (DMA) 계층 (708), SLIMbus 디바이스 계층 (710), 전송 프로토콜 계층 (712), 프레임 계층 (714), 및 물리 계층 (716) 을 포함할 수도 있다. 직접 메모리 액세스 계층 (708) 은 제 1 유한 상태 머신 (FSM) (718), 제 1 파이프 (720a), 제 2 파이프 (720b), 제 3 파이프 (720c), 및 제 N 파이프 (720d) 를 구비할 수도 있다. 도 4 및 도 5를 참조하여 설명된 바와 같이, 파이프들은 메시지들 (예컨대, 데이터 메시지들 및/또는 사용자 정의된 구성 메시지들) 을 송신하고 수신하는 메시지 채널들로서 구성될 수도 있다.
SLIMbus 디바이스 계층 (710) 은 일반 디바이스 계층, 인터페이스 디바이스 계층, 프레이머 디바이스 계층, 관리자 디바이스 계층, 또는 이들의 임의의 조합일 수도 있다. 특정 실시형태에서, SLIMbus 디바이스 계층 (710) 은 제 2 유한 상태 머신 (FSM) (722), 제 1 선입선출 (FIFO) 버퍼 (724a), 제 2 FIFO 버퍼 (724b), 제 3 FIFO 버퍼 (724c), 제 4 FIFO 버퍼 (724d), 제 1 포트 (포트 0) (726a), 제 2 포트 (포트 1) (726b), 및 제 3 포트 (포트 J) (726c) 를 포함할 수도 있다. 그 포트들은 단방향성 포트들 또는 양방향 포트들 중 어느 하나로서 구성가능할 수도 있다. 특정 실시형태에서, 제 1 포트 (726a) 및 제 2 포트 (726b) 는 도 4의 제 1 포트 (426a) 및 제 2 포트 (426b) (즉, 단방향성 포트들) 에 대응할 수도 있다. 그러나, 제 3 포트 (726c) 는 양방향 포트일 수도 있다. 예를 들어, 제 3 포트 (726c) 는 2 개의 FIFO 버퍼들 (즉, 제 3 및 제 4 FIFO 버퍼들 (724c, 724d)) 및 2 개의 파이프들 (즉, 제 3 및 제 4 파이프들 (720c, 720d)) 에 연결될 수도 있다. 제 3 포트 (726c) 를 제 3 및 제 4 FIFO 버퍼들 (724c, 724d) 에 연결하는 것은 제 3 포트 (726c) 의 양방향 데이터 전송 능력들을 가능하게 할 수도 있다. 예를 들어, 제 3 포트 (726c) 는 제 3 버퍼 (704c) 로부터 제 3 파이프 (720c) 및 제 3 FIFO 버퍼 (724c) 를 통해 인출 데이터를 송신하는 송신 경로를 지원하도록 구성될 수도 있다. 덧붙여서, 제 3 포트 (726c) 는 제 4 FIFO (724d) 및 제 4 파이프 (720d) 를 통해 제 4 버퍼 (704d) 에 인입 데이터를 제공하는 수신 경로를 지원하도록 구성될 수도 있다. 따라서, 제 3 포트 (726c) 는 단일 포트를 통한 데이터의 동시 수신 및 송신을 가능하게 할 수도 있다. 예를 들어, 인출 데이터는 제 1 SLIMbus 데이터 라인 (110) 을 통해 송신될 수도 있고 인입 데이터는 공통 버스 사이클에서 제 2 SLIMbus 데이터 라인 (112) 을 통해 수신될 수도 있다.
프레임 계층 (714) 은 스위치 선택 신호 (308) 를 생성할 수도 있고, 제 1 멀티플렉서 (310) 및 제 2 멀티플렉서 (312) 를 포함할 수도 있다. 제 1 멀티플렉서 (310) 는 데이터를 송신하는 것 (728) 과 연관될 수도 있고 제 2 멀티플렉서 (312) 는 데이터를 수신하는 것 (730) 과 연관될 수도 있다. 스위치 선택 신호 (308) 는, 제 1 멀티플렉서 (310) 로 하여금, 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 또는 이들의 임의의 조합을 통해, 제 2 SLIMbus 컴포넌트 (106) 의 프레임 계층 (714') 의 제 4 멀티플렉서 (310') 에 데이터를 송신하게 할 수도 있다. 제 4 멀티플렉서 (310') 는 제 2 SLIMbus 컴포넌트 (106) 의 프레임 계층 (714') 의 제 2 스위치 선택 신호 (308') 로부터의 신호에 기초하여 인입 데이터를 수신할 수도 있다. 다르게는, 스위치 선택 신호 (308) 는 제 2 멀티플렉서 (310) 로 하여금, 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 또는 이들의 임의의 조합을 통해, 제 2 SLIMbus 컴포넌트 (106) 의 프레임 계층 (714') 의 제 3 멀티플렉서 (312') 로부터 데이터를 수신하게 할 수도 있다. 제 3 멀티플렉서 (312') 는 제 2 스위치 선택 신호 (308') 로부터의 신호에 기초하여 인출 데이터를 송신할 수도 있다. 제 3 멀티플렉서 (312') 는 데이터를 송신하는 것 (728') 과 연관될 수도 있고 제 4 멀티플렉서 (310') 는 데이터를 수신하는 것 (730') 과 연관될 수도 있다. 제 2 칩 (702) 은 또한 예시된 바와 같이, 전송 프로토콜 계층, 일반 디바이스 계층, DMA 계층, 및 시스템 레벨 디바이스 로직을 포함할 수도 있다.
포트들의 단일 쌍이 업링크 포트들의 전용 쌍 및 다운링크 포트들의 전용 쌍을 사용하는 대신에 2 개의 디바이스들 사이에서 양방향 통신을 위해 사용될 수도 있기 때문에, 이중 FIFO 포트들 (예컨대, 제 3 포트 (726c)) 의 사용은 시스템에서 이용가능한 포트들의 전체 수를 효과적으로 두 배가 되게 할 수도 있다는 것이 이해될 것이다.
도 8은 도 5의 시스템 (500) 에서 스케줄링의 특정 실시형태들을 도시하는 스케줄링 도면들 (800) 을 묘사한다. 예를 들어, 제 1 스케줄링 도면 (802) 은 공통 메시징 및 프레이밍이 다수의 SLIMbus 데이터 라인들에 대해 수행되는 경우에 도 5의 시스템 (500) 에서 스케줄링하는 특정 실시형태를 도시하고 제 2 스케줄링 도면 (804) 은 다수의 SLIMbus 데이터 라인들 각각이 개개의 메시징 및 프레이밍을 가지는 (즉, 별개의 메시징 및 프레이밍 구성들의) 경우에 도 5의 시스템 (500) 에서 스케줄링하는 특정 실시형태를 도시한다.
제 1 스케줄링 도면 (802) 은 시분할 다중화 (TDM) 를 이용하여 제 1 SLIMbus 컴포넌트의 포트로부터 제 2 SLIMbus 컴포넌트의 포트로 데이타가 통신될 수도 있는 방법의 제 1 예를 도시한다. 예를 들어, 제 1 SLIMbus 데이터 라인 (데이터 0) (110) 의 프레임이 다수의 시간 슬롯들, 이를테면, 제 1 시간 슬롯 (806), 제 3 시간 슬롯 (810), 제 5 시간 슬롯 (814), 및 제 6 시간 슬롯 (816) 으로 나누어질 수도 있다. 제 2 SLIMbus 데이터 라인 (112) 의 동시 존재 프레임이 제 2 시간 슬롯 (808) 및 제 4 시간 슬롯 (812) 으로 나누어질 수도 있다.
제 1 스케줄링 도면 (802) 에서 예시된 바와 같이, 데이터가 디바이스 A의 제 1 포트 (512) 로부터 디바이스 B의 제 1 포트 (520) 로 전송되는 경우, 그 데이터는 (예컨대, 시간 슬롯들 (806 및 808) 동안) 제 1 및 제 2 SLIMbus 데이터 라인들 (110, 112) 양쪽 모두를 통해 전송될 수도 있다. 다수의 SLIMbus 데이터 라인들을 통해 전송되는 데이터는 수신 시 인터리브될 수도 있다. 제 1 시간 슬롯 (806) 과 제 2 시간 슬롯 (808) 은 공통 클록 사이클과 연관될 수도 있다. 그 결과, 그 데이터는 제 1 및 제 2 SLIMbus 데이터 라인들 (110, 112) 을 통해 동기적으로, 병렬로, 동시에, 및/또는 실질적으로 동시에 전송될 수도 있다.
대안으로, 또는 덧붙여서, 데이터가 단일 소스 컴포넌트에서부터 다수의 목적지 컴포넌트들로 송신될 수도 있다. 예를 들어, 데이터는 시간 슬롯들 (810 내지 812) 동안 제 1 SLIMbus 데이터 라인 (110) 및 제 2 SLIMbus 데이터 라인 (112) 을 통해 디바이스 B의 제 2 포트 (522) 에서부터 디바이스 A의 제 2 포트 (514) 로 및 디바이스 C의 제 1 포트 (528) 로 송신될 수도 있다.
시간 슬롯 (814) 동안, 데이터는 이중 데이터 라인 가능 SLIMbus 컴포넌트로부터 단일 데이터 라인 가능 SLIMbus 컴포넌트로 송신될 수도 있다. 예를 들어, 데이터는 디바이스 B의 제 3 포트 (524) 로부터 디바이스 D의 제 1 포트 (534) 로 송신될 수도 있다. 시간 슬롯 (816) 동안, 데이터는 단일 데이터 라인 가능 SLIMbus 컴포넌트로부터 복수의 이중 데이터 라인 가능 SLIMbus 컴포넌트들로 송신될 수도 있다. 예를 들어, 데이터는 디바이스 D의 제 2 포트 (536) 로부터 디바이스 A의 제 3 포트 (516) 로 및 디바이스 C의 제 2 포트 (530) 로 송신될 수도 있다.
시간 슬롯들 (814 내지 816) 동안, 제 2 SLIMbus 데이터 라인 (데이터 1) (112) 은, 도 8에 예시된 바와 같이, 유휴일 수도 있는데, 디바이스 D가 이중 데이터 라인 가능이 아니기 때문이다. 대체 실시형태에서, 다른 디바이스들 (예컨대, 디바이스들 A, B, 및/또는 C) 은 이들 사이의 통신을 스케줄링하는 것에 의해 데이터 1 상의 유휴 시간 슬롯들을 활용할 것을 시도할 수도 있다. 이는 제 2 SLIMbus 데이터 라인의 존재가 단일 SLIMbus 데이터 라인과는 호환가능한 레거시 디바이스들로부터 "숨겨지는" 시스템들이 될 수도 있다는 것이 이해될 것이다. 그러나, 디바이스 D가 시스템 (500) 의 관리 디바이스이면, 디바이스들 (A, B, 및 C) 은 디바이스 D에 의해 선택된 클록 기어들에 의존될 수도 있다.
제 2 스케줄링 도면 (804) 은 시분할 다중화 (TDM) 를 이용하여 제 1 SLIMbus 컴포넌트의 포트로부터 제 2 SLIMbus 컴포넌트의 포트로 데이타가 통신될 수도 있는 방법의 제 2 예를 도시한다. 예를 들어, 제 1 SLIMbus 데이터 라인 (데이터 0) (110) 의 프레임이 다수의 시간 슬롯들, 이를테면, 제 1 시간 슬롯 (826), 제 3 시간 슬롯 (830), 제 5 시간 슬롯 (834), 및 제 6 시간 슬롯 (836) 으로 나누어질 수도 있다. 제 2 SLIMbus 데이터 라인 (112) 의 프레임은 제 2 시간 슬롯 (828) 및 제 4 시간 슬롯 (832) 으로 나누어질 수도 있다.
제 2 스케줄링 도면 (804) 에서 예시된 바와 같이, 데이터가 디바이스 A의 제 1 포트 (512) 로부터 디바이스 B의 제 1 포트 (520) 로 전송되는 경우, 그 데이터는 (예컨대, 시간 슬롯들 (826 및 828) 동안) 제 1 및 제 2 SLIMbus 데이터 라인들 (110, 112) 양쪽 모두를 통해 전송될 수도 있다. 다수의 SLIMbus 데이터 라인들을 통해 전송되는 데이터는 수신 시 인터리브될 수도 있다. 제 1 시간 슬롯 (826) 과 제 2 시간 슬롯 (828) 은 상이한 클록 사이클들과 연관될 수도 있다. 예를 들어, 메시징 및 프레이밍이 각각의 SLIMbus 데이터 라인에 대해 따로따로 수행되는 특정 실시형태에서, 디바이스 A의 제 1 포트 (512) 는 제 1 시간 슬롯 (826) 동안 제 1 SLIMbus 데이터 라인 (110) 을 통해 및 제 2 시간 슬롯 (828) 동안 제 2 SLIMbus 데이터 라인 (112) 을 통해 데이터를 디바이스 B의 제 1 포트 (520) 로 전송할 수도 있다. 그러나, 제 1 시간 슬롯 (826) 과 제 2 시간 슬롯 (828) 은 상이한 클록 사이클들 또는 버스 사이클들 (즉, 상이한 시간들) 에 대응할 수도 있다. 그러므로, 제 1 스케줄링 도면 (802) 에 관해 설명된 바와 같이 데이터를 동기적으로 또는 병렬로 전송하는 것 외에도, 데이터는 상이한 클록 사이클들 또는 버스 사이클들 동안 (즉, 비동기적으로) 제 1 및 제 2 SLIMbus 데이터 라인들 (110, 112) 을 통해 디바이스 A의 제 1 포트 (512) 로부터 디바이스 B의 제 1 포트 (520) 로 전송될 수도 있다.
대안으로, 또는 덧붙여서, 데이터가 단일 소스 컴포넌트에서부터 다수의 목적지 컴포넌트들로 송신될 수도 있다. 예를 들어, 데이터는 시간 슬롯들 (830 내지 832) 동안 제 1 SLIMbus 데이터 라인 (110) 및 제 2 SLIMbus 데이터 라인 (112) 을 통해 디바이스 B의 제 2 포트 (522) 에서부터 디바이스 A의 제 2 포트 (514) 로 및 디바이스 C의 제 1 포트 (528) 로 송신될 수도 있다. 제 1 및 제 2 시간 슬롯들 (826, 828) 에 관해 설명된 바와 같이, 데이터는 상이한 (또는 오버래핑) 클록 사이클들 또는 버스 사이클들 동안 디바이스 B의 제 2 포트 (522) 로부터 디바이스 A의 제 2 포트 (514) 로 송신될 수도 있다.
시간 슬롯 (834) 동안, 데이터는 이중 데이터 라인 가능 SLIMbus 컴포넌트로부터 단일 데이터 라인 가능 SLIMbus 컴포넌트로 송신될 수도 있다. 예를 들어, 데이터는 디바이스 B의 제 3 포트 (524) 로부터 디바이스 D의 제 1 포트 (534) 로 송신될 수도 있다. 시간 슬롯 (836) 동안, 데이터는 단일 데이터 라인 가능 SLIMbus 컴포넌트로부터 복수의 이중 데이터 라인 가능 SLIMbus 컴포넌트들로 송신될 수도 있다. 예를 들어, 데이터는 디바이스 D의 제 2 포트 (536) 로부터 디바이스 A의 제 3 포트 (516) 로 및 디바이스 C의 제 2 포트 (530) 로 송신될 수도 있다.
제 1 스케줄링 도면 (802) 과 제 2 스케줄링 도면 (804) 은 공통 클록 사이클 (즉, 버스 사이클) 동안 다수의 데이터 라인들에 걸쳐 단일 포트를 통해 데이터를 통신하는 (즉, 송신하는 및/또는 수신하는) 및 단일 데이터 라인에 걸쳐 단일 포트를 통해 데이터를 통신하는 스케줄링을 예시한다는 것이 이해될 것이다. 예를 들어, 디바이스 A의 제 1 포트 (512) 는 공통 클록 사이클 동안 제 1 및 제 2 SLIMbus 데이터 라인들 (110, 112) 에 걸쳐 디바이스 B의 제 1 포트 (520) 로 데이터를 통신하거나 또는 제 1 및 제 2 SLIMbus 데이터 라인들 (110, 112) 중 하나에만 걸쳐 데이터를 통신할 수도 있다. 제 2 스케줄링 도면 (804) 은 다수의 데이터 라인들에 걸쳐 동일한 클록 사이클에서 상이한 포트들에 대한 데이터를 통신하기 위한 스케줄링을 예시한다는 것이 추가로 이해될 것이다. 예를 들어, 제 2 스케줄링 도면 (804) 을 참조하면, 디바이스 A의 제 1 포트 (512) 는, 디바이스 B의 제 2 포트 (522) 가 디바이스 A의 제 2 포트 (514) 에 데이터를 통신하는 것과 동일한 클록 사이클 동안 제 1 SLIMbus 데이터 라인 (110) 을 활용하여 디바이스 B의 제 1 포트 (520) 에, 및 제 2 SLIMbus 데이터 라인 (112) 을 활용하여 디바이스 C의 제 1 포트 (528) 에 데이터를 통신할 수도 있다. 따라서, 제 2 스케줄링 도면 (804) 은 스케줄링 동안 더욱 유연성이 있게 될 수도 있고, 다수의 SLIMbus 데이터 라인들에 대한 별개의 메시징 및 프레이밍을 수행함으로 인해 증가된 오버헤드에도 불구하고 메시지 및 포트 스트림들에 대한 버스 활용을 증가시킬 수도 있다. 제 2 스케줄링 도면 (804) 은 더 큰 유연성을 위해 다수의 데이터 라인들에 걸친 오버래핑 메시지들 및 포트 트래픽을 예시할 수도 있다는 것이 추가로 이해될 것이다.
도 9는 SLIMbus 통신 버스 상의 대역폭 및 스루풋을 증가시키기 위해 복수의 SLIMbus 데이터 라인들 중 적어도 하나의 SLIMbus 데이터 라인을 통해 데이터를 전송하는 방법 (900) 의 특정 실시형태를 도시하는 흐름도이다. 예시적인 실시형태에서, 방법 (900) 은 도 1의 시스템 (100), 도 2의 시스템 (200), 도 3의 시스템 (300), 도 4의 시스템 (400), 도 5의 시스템 (500), 도 7의 시스템 (700), 또는 이들의 임의의 조합에서 수행될 수도 있다.
방법 (900) 은, 902에서, 제 1 SLIMbus 컴포넌트에서부터 제 2 SLIMbus 컴포넌트로 복수의 SLIMbus 데이터 라인들 중 다수의 SLIMbus 데이터 라인들을 통해 데이터를 병렬로 전송할 것인지 또는 복수의 SLIMbus 데이터 라인들 중 단일 SLIMbus 데이터 라인을 통해 데이터를 전송할 것인지 여부를 결정할 수도 있다. 예를 들어, 도 3에서, 제 1 SLIMbus 컴포넌트 (104) 는 SLIMbus 데이터 송신 프로토콜과 호환가능한 데이터를 제 1 SLIMbus 데이터 라인 (110) 을 통해 (즉, 제 1 인입 SLIMbus 데이터 (326) 및 제 1 인출 SLIMbus 데이터 (330) 를) 또는 제 2 SLIMbus 데이터 라인 (112) 을 통해 (즉, 제 2 인입 SLIMbus 데이터 (328) 및 제 2 인출 SLIMbus 데이터 (332) 를) 송신할 것인지 여부를 결정할 수도 있다. 다르게는, SLIMbus 컴포넌트 (104) 는 다수의 SLIMbus 데이터 라인들 (110, 112) 을 통해 데이터를 병렬로 송신하는 것으로 결정할 수도 있다. 특정 실시형태에서, 결정은, 도 4 및 도 5를 참조하여 설명된 바와 같이, (예컨대, 구성 레지스터들에 질의하며, 구성 파일에 액세스하며, 구성 데이터베이스에 액세스하며, 사용자 정의된 메시지들을 전송하는 등에 의해) 제 1 SLIMbus 컴포넌트 및 제 2 SLIMbus 컴포넌트가 단일 데이터 라인 호환가능한지 또는 다수의 데이터 라인 호환가능한지 여부를 결정하는 것을 포함할 수도 있다.
방법 (900) 은 또한, 904에서, 복수의 SLIMbus 데이터 라인들 중 제 1 SLIMbus 데이터 라인의 제 1 클록 주파수를 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인의 제 2 클록 주파수와는 독립적으로 변경하는 단계를 포함할 수도 있다. 예를 들어, 도 3에서, 제 1 SLIMbus 데이터 라인 (110) 의 제 1 클록 주파수는 제 1 SLIMbus 데이터 라인 (110) 과 연관된 대응하는 기어를 제 1 기어 (222) 에서 제 2 기어 (224) 로 바꾸는 것에 의해 증가될 수도 있다. 다르게는, 제 1 SLIMbus 데이터 라인 (110) 의 제 1 클록 주파수는 제 1 SLIMbus 데이터 라인 (110) 과 연관된 대응하는 기어를 제 2 기어 (224) 에서 제 1 기어 (222) 로 바꾸는 것에 의해 감소될 수도 있다.
제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수는 제 1 클록 주파수와는 독립적으로 변경될 수도 있다. 예를 들어, 제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수는 제 2 SLIMbus 데이터 라인 (112) 과 연관된 대응하는 기어를 제 1 기어 (222) 에서 제 2 기어 (224) 로 바꾸는 것에 의해 증가될 수도 있다. 다르게는, 제 2 SLIMbus 데이터 라인 (112) 의 제 2 클록 주파수는 제 2 SLIMbus 데이터 라인 (112) 과 연관된 대응하는 기어를 제 2 기어 (224) 에서 제 1 기어 (222) 로 바꾸는 것에 의해 감소될 수도 있다.
방법 (900) 은 또한, 906에서, 제 1 SLIMbus 컴포넌트에서부터 제 2 SLIMbus 컴포넌트로 데이터를 전송하는 단계를 포함할 수도 있으며, 여기서 데이터는 적어도 제 1 SLIMbus 데이터 라인을 통해 전송된다. 예를 들어, 도 3을 참조하면, 데이터는 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 또는 이들의 임의의 조합을 통해 제 1 SLIMbus 컴포넌트 (104) 로부터 제 2 SLIMbus 컴포넌트 (미도시) 로 전송될 수도 있다. 예시적인 실시형태에서, 데이터를 전송하는 것은, 도 6의 스케줄링 도면 (604) 을 참조하여 설명된 바와 같이, 데이터를 스케줄링하는 것을 포함할 수도 있다.
도 10은 도 1의 시스템 (100), 도 2의 시스템 (200), 도 3의 시스템 (300), 도 4의 시스템 (400), 도 5의 시스템 (500), 또는 도 7의 시스템 (700) 이 통합될 수도 있는 디바이스 (1000) 의 특정 예시적 실시형태를 묘사한다. 디바이스 (1000) 는 전자 디바이스, 이를테면, 셋톱 박스, 오디오 플레이어, 비디오 플레이어, 내비게이션 디바이스, 개인 휴대 정보 단말 (PDA), 통신 디바이스 (예컨대, 무선 모바일 디바이스), 컴퓨팅 디바이스 (예컨대, 랩톱 컴퓨터, 태블릿 컴퓨터, 넷북 컴퓨터, 스마트북 컴퓨터 등), 다른 유형의 디바이스, 또는 이들의 임의의 조합일 수도 있다.
디바이스 (1000) 는, 프로세싱 기능을 제공하고 디바이스 (1000) 의 다른 컴포넌트들을 지원하는 디지털 신호 프로세서 (DSP) (1010) 를 포함할 수도 있다. 코덱 (1034), 디스플레이 제어기 (1026), 센서 (1072) 및 무선 제어기 (1040) 가 DSP (1010) 에 연결된다. 예시적인 실시형태에서, 코덱 (1034) 은 오디오 코덱 (예컨대, PCM 오디오 코덱 또는 프로 오디오 코덱) 또는 비-오디오 코덱일 수도 있다. CODEC (1034) 은 제 2 SLIMbus 컴포넌트 (106) 에 연결될 수도 있다. 센서 (1072) 는 제 3 SLIMbus 컴포넌트 (1074) 에 연결될 수도 있다. DSP (1010) 는 제 1 SLIMbus 컴포넌트 (104) 에 연결될 수도 있다. SLIMbus 컴포넌트들 (104, 106, 1074) 은 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 및 SLIMbus 클록 라인 (114) 을 통해 접속될 수도 있다. 대체 실시형태들에서, 디바이스 (1000) 의 부가적인 컴포넌트들은 SLIMbus 컴포넌트들을 포함하거나 또는 SLIMbus 컴포넌트들에 연결될 수도 있고 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 및 SLIMbus 클록 라인 (114) 을 통해 접속될 수도 있다. 부가적인 SLIMbus 데이터 라인들 (예컨대, 도 2의 제 N SLIMbus 데이터 라인 (218)) 이 또한 존재할 수도 있다.
프로세서 (1010) 는 또한 메모리 (1032) 에 연결된다. 예를 들어, 메모리 (1032) 는 본원에서 설명되는 방법들 중 임의의 것을 수행하기 위해, DSP (1010) 에 의해 또는 SLIMbus 컴포넌트들 (104, 106) 의 컴포넌트들, 또는 이들의 임의의 조합에 의해 실행가능한 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체일 수도 있다. 특정 실시형태에서, 메모리 (1032) 는 랜덤 액세스 메모리 (RAM), 캐시 기반 메모리, 레지스터 기반 메모리, 유형의 비일시적 메모리, 또는 이들의 임의의 조합을 포함한다.
디스플레이 제어기 (1026) 는 디스플레이 (1028) 에 연결된다. 스피커 (1036) 와 마이크로폰 (1038) 이 CODEC (1034) 에 연결될 수 있다. 무선 제어기 (1040) 는 무선 안테나 (1042) 에 연결될 수 있다. 특정 실시형태에서, DSP (1010), 디스플레이 제어기 (1026), 메모리 (1032), CODEC (1034), 센서 (1072), 무선 제어기 (1040), SLIMbus 컴포넌트들 (104, 106), 제 1 SLIMbus 데이터 라인 (110), 제 2 SLIMbus 데이터 라인 (112), 및 SLIMbus 클록 라인 (114) 은 시스템-인-패키지 또는 시스템-온-칩 디바이스 (1022) 에 포함된다. 특정 실시형태에서, 입력 디바이스 (1030) 와 전력 공급부 (1044) 가 시스템-온-칩 디바이스 (1022) 에 연결된다. 더구나, 특정 실시형태에서, 도 10에 예시된 바와 같이, 디스플레이 (1028), 입력 디바이스 (1030), 스피커 (1036), 마이크로폰 (1038), 무선 안테나 (1042), 및 전력 공급부 (1044) 는 시스템-온-칩 디바이스 (1022) 외부에 있다. 그러나, 디스플레이 (1028), 입력 디바이스 (1030), 스피커 (1036), 마이크로폰 (1038), 무선 안테나 (1042), 및 전력 공급부 (1044) 각각은 시스템-온-칩 디바이스 (1022) 의 컴포넌트, 이를테면, 인터페이스 또는 제어기에 연결될 수 있다.
따라서, 도 10은 SLIMbus 통신들 버스 상의 대역폭 및 스루풋을 증가시키기 위해 복수의 SLIMbus 데이터 라인들의 사용을 지원하는 통신 아키텍처의 구현예의 특정 실시형태를 묘사한다. 본원에서 개시된 기법들은 또한 다른 전자 디바이스들, 이를테면, 셋톱 박스들, 스마트폰들, 랩톱 컴퓨터들, 넷북 컴퓨터들, 태블릿 컴퓨터들, 스마트북 컴퓨터들, 오디오 플레이어들, 비디오 플레이어들, 및 내비게이션 디바이스들에 적용가능할 수도 있다.
설명된 실시형태들에 연계하여, 장치가 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성과 제 1 SLIMbus 컴포넌트가 호환가능한지 여부를 결정하는 수단을 구비한다. 예를 들어, 제 1 SLIMbus 컴포넌트가 버스 구성과 호환가능한지 여부를 결정하는 수단은, 도 1의 호스트 (102), 도 4의 시스템 레벨 디바이스 로직 (404), 도 5의 관리자, 도 5의 구성 레지스터들 (550, 552, 554, 556), 도 7의 시스템 레벨 디바이스 로직 (704), 도 10의 명령들을 실행하도록 프로그래밍된 DSP (1010), 또는 제 1 SLIMbus 컴포넌트가 버스 구성과 호환가능한지 여부를 결정하는 하나 이상의 다른 디바이스들, 회로들, 모듈들, 또는 명령들을 포함할 수도 있다.
그 장치는 또한 결정에 적어도 부분적으로 기초하여 복수의 SLIMbus 데이터 라인들 중 하나 이상을 통한 제 1 SLIMbus 컴포넌트로의 송신을 위해 하나 이상의 패킷들을 스케줄링하는 수단을 구비할 수도 있다. 예를 들어, 제 1 SLIMbus 컴포넌트로의 송신을 위해 하나 이상의 패킷들을 스케줄링하는 수단은, 도 1의 호스트 (102), 도 1의 제 1 SLIMbus 컴포넌트 (104), 도 1의 제 2 SLIMbus 컴포넌트 (106), 도 3의 메시지 채널 (306), 도 3의 메시지 포트 (314), 도 3의 포트 (302), 도 4의 시스템 레벨 디바이스 로직 (404), 도 4의 프레임 계층 (414), 도 5의 관리자, 도 5의 구성 레지스터들 (550, 552, 554, 556), 도 5의 프레이머들 (518, 526, 532), 도 7의 프레임 계층 (714), 도 7의 시스템 레벨 디바이스 로직 (704), 도 10의 명령들을 실행하도록 프로그래밍된 DSP (1010), 또는 제 1 SLIMbus 컴포넌트로의 송신을 위해 하나 이상의 패킷들을 스캐줄링하는 하나 이상의 다른 디바이스들, 회로들, 모듈들, 또는 명령들을 포함할 수도 있다.
그 장치는 또한 제 2 SLIMbus 컴포넌트가 버스 구성과 호환가능한지 여부를 결정하는 수단을 구비할 수도 있다. 제 2 SLIMbus 컴포넌트가 버스 구성과 호환가능한지 여부를 결정하는 수단은, 도 1의 호스트 (102), 도 4의 시스템 레벨 디바이스 로직 (404), 도 5의 관리자, 도 5의 구성 레지스터들 (550, 552, 554, 556), 도 7의 시스템 레벨 디바이스 로직 (704), 도 10의 DSP (1010), 또는 제 2 SLIMbus 컴포넌트가 버스 구성과 호환가능한지 여부를 결정하는 하나 이상의 다른 디바이스들, 회로들, 모듈들, 또는 명령들을 포함할 수도 있다.
그 장치는 또한 제 1 SLIMbus 컴포넌트가 버스 구성과 호환가능하다는 결정에 응답하여 버스 구성에 따라 제 1 SLIMbus 컴포넌트를 프로그래밍하기 위해 제 1 SLIMbus 컴포넌트에 적어도 하나의 구성 메시지를 전송하는 수단을 구비할 수도 있다. 적어도 하나의 구성 메시지를 전송하는 수단은, 도 1의 호스트 (102), 도 1의 제 1 SLIMbus 컴포넌트 (104), 도 1의 제 2 SLIMbus 컴포넌트 (106), 도 3의 메시지 채널 (306), 도 3의 메시지 포트 (314), 도 3의 포트 (302), 도 3의 제 3 및 제 4 멀티플렉서들 (316, 318), 도 4의 파이프들 (420a 내지 420c), 도 5의 구성 레지스터들 (550, 552, 554, 556), 도 5의 프레이머들 (518, 526, 532), 도 7의 파이프들 (720a 내지 720c), 도 10의 명령들을 실행하도록 프로그래밍된 DSP (1010), 또는 적어도 하나의 구성 메시지를 전송하기 위한 하나 이상의 다른 디바이스들, 회로들, 모듈들, 또는 명령들을 포함할 수도 있다.
당업자들은 본원에서 개시된 실시형태들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 하드웨어 프로세서와 같은 프로세싱 디바이스에 의해 실행되는 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수도 있다는 것을 추가로 이해할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 일반적으로 이들의 기능성의 측면에서 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 실행가능 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 달려있다. 당업자들은 전술된 기능성을 각 특정 애플리케이션에 대하여 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정들은 본 개시물의 범위를 벗어나도록 야기하는 것으로 해석되어서는 안 된다.
본원에서 개시된 실시형태들에 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 두 가지의 조합으로 직접 실시될 수도 있다. 소프트웨어 모듈은 RAM (random-access memory), MRAM (magnetoresistive random access memory), STT-MRAM (spin-torque transfer MRAM), 플래시 메모리, ROM (read-only memory), 프로그래밍가능 ROM (PROM), 소거가능 프로그래밍가능 ROM (EPROM), 전기적 소거가능 프로그래밍가능 ROM (EEPROM), 레지스터들, 하드 디스크, 착탈실 디스크, CD-ROM (compact disc read-only memory), 또는 이 기술분야에서 알려진 임의의 다른 형태의 저장 매체와 같은 유형의 비일시적 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 연결되어서 프로세서는 저장 매체로부터 정보를 읽을 수 있고 그 저장 매체에 정보를 쓸 수 있다. 대체예에서, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 주문형 집적회로 (ASIC) 내에 존재할 수도 있다. ASIC은 컴퓨팅 디바이스 또는 사용자 단말 내에 존재할 수도 있다. 대체예에서, 프로세서와 저장 매체는 컴퓨팅 디바이스 (예컨대, 랩톱 컴퓨터) 또는 사용자 단말 (예컨대, 휴대용 무선 디바이스) 에 개별 컴포넌트들로서 존재할 수도 있다.
개시된 실시형태들의 전술한 설명은 당업자가 개시된 실시형태들을 제작하고 사용할 수 있게끔 제공된다. 이들 실시형태들에 대한 다양한 변형예들은 이 기술분야의 숙련된 자들에게 쉽사리 명확하게 될 것이고, 본원에서 정의된 원리들은 본 개시물의 범위로부터 벗어남 없이 다른 실시형태들에 적용될 수도 있다. 따라서, 본 개시물은 본원에서 보인 실시형태들로 한정될 의도는 없으며 다음의 청구항들에 의해 정의된 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범위에 일치하는 것이다.

Claims (40)

  1. 제 1 SLIMbus (serial low-power inter-chip media bus) 컴포넌트로부터 제 2 SLIMbus 컴포넌트로 데이터를 전송하는 단계
    를 포함하고,
    상기 데이터는 복수의 SLIMbus 데이터 라인들 중 적어도 제 1 SLIMbus 데이터 라인을 통해 전송되는, 방법.
  2. 제 1 항에 있어서,
    상기 복수의 SLIMbus 데이터 라인들 중 다수의 SLIMbus 데이터 라인들을 통해 상기 데이터를 병렬로 전송할 것인지 또는 상기 복수의 SLIMbus 데이터 라인들 중 단일 SLIMbus 데이터 라인을 통해 상기 데이터를 직렬로 전송할 것인지 여부를 결정하는 단계를 더 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 복수의 SLIMbus 데이터 라인들 각각은 양방향 데이터 라인인, 방법.
  4. 제 1 항에 있어서,
    상기 데이터의 적어도 일 부분은 SLIMbus 데이터 송신 프로토콜에 따라 전송되는, 방법.
  5. 제 1 항에 있어서,
    상기 제 1 SLIMbus 데이터 라인의 제 1 클록 주파수를 상기 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인의 제 2 클록 주파수와는 독립적으로 변경하는 단계를 더 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 제 1 SLIMbus 데이터 라인의 상기 제 1 클록 주파수는, 상기 제 1 SLIMbus 데이터 라인과 연관된 대응하는 기어를 바꾸는 것에 의해 변경되는, 방법.
  7. 제 1 항에 있어서,
    상기 데이터를 전송하기 위해 상기 복수의 SLIMbus 데이터 라인들 중 하나 이상의 특정 SLIMbus 데이터 라인들을 선택하는 단계를 더 포함하는, 방법.
  8. 제 7 항에 있어서,
    상기 선택은 스위치 선택 신호에 적어도 부분적으로 기초하는, 방법.
  9. 제 1 항에 있어서,
    상기 제 1 SLIMbus 데이터 라인은 제 1 대역폭을 지원하고, 상기 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인은 제 2 대역폭을 지원하며,
    상기 제 2 대역폭은 상기 제 1 대역폭 이상인, 방법.
  10. 제 1 항에 있어서,
    상기 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인 또는 상기 제 1 SLIMbus 데이터 라인을 통해 상기 제 1 SLIMbus 컴포넌트로부터 상기 제 2 SLIMbus 컴포넌트로 제 2 데이터를 전송하는 단계를 더 포함하고,
    상기 복수의 SLIMbus 데이터 라인들 각각은 별개의 메시징 및 프레이밍 구성 (configuration) 들에 응답하는, 방법.
  11. 제 10 항에 있어서,
    상기 데이터와 상기 제 2 데이터는 공통 클록 사이클 동안 단일 양방향 포트를 통해 전송되는, 방법.
  12. 제 10 항에 있어서,
    상기 데이터와 상기 제 2 데이터는 상이한 클록 사이클들 동안 또는 오버래핑 클록 사이클들 동안 단일 양방향 포트를 통해 전송되는, 방법.
  13. 제 10 항에 있어서,
    상기 데이터는 제 1 포트를 통해 전송되고, 상기 제 2 데이터는 공통 클록 사이클 동안 제 2 포트를 통해 전송되는, 방법.
  14. 제 13 항에 있어서,
    상기 제 1 포트는 상기 제 1 SLIMbus 데이터 라인에 대응하고, 상기 제 2 포트는 상기 제 2 SLIMbus 데이터 라인에 대응하는, 방법.
  15. 복수의 SLIMbus (serial low-power inter-chip media bus) 데이터 라인들 중 적어도 제 1 SLIMbus 데이터 라인을 통해 데이터를 제 2 SLIMbus 컴포넌트로 전송하도록 구성된 제 1 SLIMbus 컴포넌트
    를 포함하는, 장치.
  16. 제 15 항에 있어서,
    상기 제 1 SLIMbus 컴포넌트에 그리고 상기 제 2 SLIMbus 컴포넌트에 연결된 SLIMbus 클록 라인을 더 포함하는, 장치.
  17. 제 15 항에 있어서,
    상기 제 1 SLIMbus 컴포넌트에 그리고 상기 복수의 SLIMbus 데이터 라인들에 연결된 포트 듀플리케이터 (port duplicator) 를 더 포함하는, 장치.
  18. 제 17 항에 있어서,
    상기 포트 듀플리케이터는, 상기 복수의 SLIMbus 데이터 라인들을 통한 데이터 송신을 가능하게 하도록, 단일 SLIMbus 데이터 라인을 통한 데이터 송신과 호환가능한 (compatible) 포트에 다중 SLIMbus 데이터 라인 인터페이스를 제공하도록 구성되는, 장치.
  19. 제 17 항에 있어서,
    상기 포트 듀플리케이터는 제 1 멀티플렉서 및 제 2 멀티플렉서를 구비하고,
    상기 제 1 멀티플렉서는 인입 (incoming) 데이터와 연관되고, 상기 제 2 멀티플렉서는 인출 (outgoing) 데이터와 연관되는, 장치.
  20. 제 17 항에 있어서,
    상기 포트 듀플리케이터는, 상기 복수의 SLIMbus 데이터 라인들 중 어떤 하나 이상의 SLIMbus 데이터 라인들을 상기 데이터를 전송하는 경우에 활용할 것인지를 선택적으로 결정하도록 구성되는, 장치.
  21. 제 20 항에 있어서,
    상기 결정은 단일 SLIMbus 데이터 라인 SLIMbus 구성과의 상기 데이터 및 상기 제 2 SLIMbus 컴포넌트 중 적어도 하나의 호환성 (compatibility) 에 적어도 부분적으로 기초하는, 장치.
  22. 제 17 항에 있어서,
    상기 제 1 SLIMbus 컴포넌트는 또한, 상기 제 2 SLIMbus 컴포넌트로부터 상기 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인을 통해 제 2 데이터를 수신하도록 구성되고,
    상기 제 1 SLIMbus 컴포넌트의 단일 양방향 포트를 통해 상기 데이터는 전송되고 상기 제 2 데이터는 수신되는, 장치.
  23. 제 15 항에 있어서,
    상기 제 1 SLIMbus 데이터 라인과 연관된 제 1 클록 주파수는, 상기 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인과 연관된 제 2 클록 주파수와 동일한, 장치.
  24. 제 23 항에 있어서,
    상기 제 1 클록 주파수와 상기 제 2 클록 주파수는 상기 제 1 SLIMbus 컴포넌트의 제 1 기어에 응답하는, 장치.
  25. 제 15 항에 있어서,
    상기 제 1 SLIMbus 데이터 라인과 연관된 제 1 클록 주파수는, 상기 복수의 SLIMbus 데이터 라인들 중 제 2 SLIMbus 데이터 라인과 연관된 제 2 클록 주파수와 상이한, 장치.
  26. 제 25 항에 있어서,
    상기 제 1 클록 주파수는 상기 제 1 SLIMbus 컴포넌트의 제 1 기어에 응답하고, 상기 제 2 클록 주파수는 상기 제 1 SLIMbus 컴포넌트의 제 2 기어에 응답하는, 장치.
  27. 연산 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 연산 명령들은, 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
    SLIMbus (serial low-power inter-chip media bus) 컴포넌트가, 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성과 호환가능한지 여부를 결정하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  28. 제 27 항에 있어서,
    상기 SLIMbus 컴포넌트가 상기 버스 구성과 호환가능한지 여부를 결정하는 것은, 상기 SLIMbus 컴포넌트의 구성 레지스터에 질의하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  29. 제 28 항에 있어서,
    상기 SLIMbus 컴포넌트의 상기 구성 레지스터는 열거 프로세스 동안 질의되는, 비일시적 컴퓨터 판독가능 저장 매체.
  30. 제 27 항에 있어서,
    상기 SLIMbus 컴포넌트가 상기 버스 구성과 호환가능한지 여부를 결정하는 것은, 사용자 정의된 메시지를 메시징 채널을 통해 상기 SLIMbus 컴포넌트에 송신하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  31. 제 27 항에 있어서,
    상기 SLIMbus 컴포넌트가 상기 버스 구성과 호환가능한지 여부를 결정하는 것은, 상기 SLIMbus 컴포넌트와 연관된 호환성 정보를 포함하는 구성 데이터베이스를 검색하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  32. 제 1 SLIMbus (serial low-power inter-chip media bus) 컴포넌트;
    프로세서; 및
    명령들을 저장하는 메모리
    를 포함하고,
    상기 명령들은,
    상기 제 1 SLIMbus 컴포넌트가, 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성과 호환가능한지 여부를 결정하고;
    상기 결정에 적어도 부분적으로 기초하여 상기 복수의 SLIMbus 데이터 라인들 중 하나 이상을 통한 상기 제 1 SLIMbus 컴포넌트로의 송신을 위해 하나 이상의 패킷들을 스케줄링하도록
    상기 프로세서에 의해 실행가능한, 장치.
  33. 제 32 항에 있어서,
    상기 제 1 SLIMbus 컴포넌트에 접속된 제 2 SLIMbus 컴포넌트를 더 포함하고,
    상기 명령들은 또한, 상기 제 2 SLIMbus 컴포넌트가, 상기 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성과 호환가능한지 여부를 결정하도록 상기 프로세서에 의해 실행가능한, 장치.
  34. 제 32 항에 있어서,
    상기 명령들은 또한,
    상기 제 1 SLIMbus 컴포넌트가 상기 버스 구성과 호환가능하다는 결정에 응답하여, 상기 버스 구성에 따라 상기 제 1 SLIMbus 컴포넌트를 프로그래밍하기 위해 상기 제 1 SLIMbus 컴포넌트에 적어도 하나의 구성 메시지를 전송하도록
    상기 프로세서에 의해 실행가능한, 장치.
  35. 제 1 SLIMbus 컴포넌트가, 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성과 호환가능한지 여부를 결정하는 수단; 및
    상기 결정에 적어도 부분적으로 기초하여 상기 복수의 SLIMbus 데이터 라인들 중 하나 이상을 통한 상기 제 1 SLIMbus 컴포넌트로의 송신을 위해 하나 이상의 패킷들을 스케줄링하는 수단
    을 포함하는, 장치.
  36. 제 35 항에 있어서,
    제 2 SLIMbus 컴포넌트가, 상기 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성과 호환가능한지 여부를 결정하는 수단을 더 포함하는, 장치.
  37. 제 35 항에 있어서,
    상기 제 1 SLIMbus 컴포넌트가 상기 버스 구성과 호환가능하다는 결정에 응답하여 상기 버스 구성에 따라 상기 제 1 SLIMbus 컴포넌트를 프로그래밍하기 위해 상기 제 1 SLIMbus 컴포넌트에 적어도 하나의 구성 메시지를 전송하는 수단을 더 포함하는, 장치.
  38. 제 1 SLIMbus 컴포넌트가, 복수의 SLIMbus 데이터 라인들을 포함하는 버스 구성과 호환가능한지 여부를 결정하는 단계; 및
    상기 결정에 적어도 부분적으로 기초하여 상기 복수의 SLIMbus 데이터 라인들 중 하나 이상을 통한 상기 제 1 SLIMbus 컴포넌트로의 송신을 위해 하나 이상의 패킷들을 스케줄링하는 단계
    를 포함하는, 방법.
  39. 제 38 항에 있어서,
    제 2 SLIMbus 컴포넌트가 상기 버스 구성과 호환가능한지 여부를 결정하는 단계를 더 포함하는, 방법.
  40. 제 38 항에 있어서,
    상기 제 1 SLIMbus 컴포넌트가 상기 버스 구성과 호환가능하다는 결정에 응답하여 상기 버스 구성에 따라 상기 제 1 SLIMbus 컴포넌트를 프로그래밍하기 위해 상기 제 1 SLIMbus 컴포넌트에 적어도 하나의 구성 메시지를 전송하는 단계를 더 포함하는, 방법.
KR1020147013180A 2011-12-16 2012-12-14 버스 상의 복수의 데이터 라인들을 통해 데이터를 전송하는 시스템 및 방법 KR20140113632A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161576840P 2011-12-16 2011-12-16
US61/576,840 2011-12-16
US13/714,140 2012-12-13
US13/714,140 US9929972B2 (en) 2011-12-16 2012-12-13 System and method of sending data via a plurality of data lines on a bus
PCT/US2012/069800 WO2013090752A1 (en) 2011-12-16 2012-12-14 System and method of sending data via a plurality of data lines on a bus

Publications (1)

Publication Number Publication Date
KR20140113632A true KR20140113632A (ko) 2014-09-24

Family

ID=48610089

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147013180A KR20140113632A (ko) 2011-12-16 2012-12-14 버스 상의 복수의 데이터 라인들을 통해 데이터를 전송하는 시스템 및 방법

Country Status (7)

Country Link
US (1) US9929972B2 (ko)
EP (1) EP2791810B1 (ko)
JP (1) JP6173340B2 (ko)
KR (1) KR20140113632A (ko)
CN (1) CN103975317B (ko)
IN (1) IN2014MN00902A (ko)
WO (1) WO2013090752A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966302B2 (en) * 2010-06-23 2015-02-24 Broadcom Corporation Method for power management of data buses in electronic devices
US10509761B2 (en) * 2013-11-14 2019-12-17 Qualcomm Incorporated System and method of sending data via additional secondary data lines on a bus
US9904652B2 (en) * 2013-11-14 2018-02-27 Qualcomm Incorporated System and method of sending data via additional secondary data lines on a bus
CN105306380B (zh) * 2014-07-17 2018-08-17 炬芯(珠海)科技有限公司 数据传输方法及其装置和应用
US20160062729A1 (en) * 2014-09-03 2016-03-03 Qualcomm Incorporated Multi-channel audio communication in a serial low-power inter-chip media bus (slimbus) system
US20160142454A1 (en) * 2014-11-14 2016-05-19 Qualcomm Incorporated Multi-channel audio alignment schemes
US20160142455A1 (en) * 2014-11-14 2016-05-19 Qualcomm Incorporated Multi-channel audio alignment schemes
US9841940B2 (en) 2015-06-05 2017-12-12 Qualcomm Incorporated Power reduction through clock management
US10852495B2 (en) * 2015-09-25 2020-12-01 Intel Corporation Microelectronic package communication using radio interfaces connected through wiring
CN107643994B (zh) * 2016-07-20 2021-11-30 中兴通讯股份有限公司 终端、终端外设、信号发送及接收方法、数据传输系统
US20180285292A1 (en) * 2017-03-28 2018-10-04 Qualcomm Incorporated System and method of sending data via additional secondary data lines on a bus
CN110287138A (zh) * 2019-06-12 2019-09-27 京微齐力(北京)科技有限公司 一种集成fpga和mipi的电路装置及装置中信号传输方法
CN110825344A (zh) * 2019-11-12 2020-02-21 天津飞腾信息技术有限公司 一种异步数据传输方法和结构
CN111324568A (zh) * 2020-02-20 2020-06-23 深圳震有科技股份有限公司 一种多数据mdio总线

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE756377A (fr) * 1969-09-19 1971-03-01 Burroughs Corp Commande de lignes de communication de donnees
US3766531A (en) * 1972-03-13 1973-10-16 Honeywell Inf Systems Communication line multiplexing apparatus having a main memory and an input/output memory
CH584488A5 (ko) * 1975-05-05 1977-01-31 Ibm
US4547880A (en) * 1983-05-13 1985-10-15 Able Computer Communication control apparatus for digital devices
JP2758634B2 (ja) * 1988-03-14 1998-05-28 シャープ株式会社 データ伝送装置
JPH06103898B2 (ja) 1991-05-27 1994-12-14 メガソフト株式会社 シリアル伝送のための機能を利用したパラレル伝送方法
WO1994018766A1 (en) * 1993-02-09 1994-08-18 Dsc Communications Corporation High-speed packet bus
JP3071976B2 (ja) * 1993-03-29 2000-07-31 株式会社日立製作所 通信システムのバス型クロック供給方式
US5557614A (en) * 1993-12-22 1996-09-17 Vlsi Technology, Inc. Method and apparatus for framing data in a digital transmission line
US5815692A (en) * 1995-12-15 1998-09-29 National Semiconductor Corporation Distributed clock generator
DE69731074T2 (de) * 1997-04-30 2005-10-06 Hewlett-Packard Development Co., L.P., Houston Anordnung und Verfahren zur Übertragung von Daten über eine Vielzahl von Kanälen
US6079024A (en) * 1997-10-20 2000-06-20 Sun Microsystems, Inc. Bus interface unit having selectively enabled buffers
US6275498B1 (en) 1998-03-19 2001-08-14 3Com Corporation Extended PHY addressing
US6101567A (en) * 1998-06-03 2000-08-08 Lucent Technologies Inc. Parallel backplane physical layer interface with scalable data bandwidth
KR100264866B1 (ko) * 1998-07-13 2000-09-01 윤종용 다수의 트렁크 기능을 지원하는 디지털 트렁크회로
JP2000173173A (ja) 1998-12-04 2000-06-23 Victor Co Of Japan Ltd 伝送方法、送信装置及び受信装置
JP3465227B2 (ja) 2000-01-26 2003-11-10 日本電気エンジニアリング株式会社 電話端末装置
US6606675B1 (en) * 2000-07-20 2003-08-12 Rambus, Inc. Clock synchronization in systems with multi-channel high-speed bus subsystems
SE0004832L (sv) * 2000-12-22 2002-02-26 Ericsson Telefon Ab L M Digitalt bussystem
US7305008B2 (en) * 2001-03-14 2007-12-04 Siemens Communications, Inc. Parallel bus LAN
EP1411705B1 (en) 2001-07-25 2008-10-01 Sony Corporation Interface apparatus
US20030158990A1 (en) * 2001-12-11 2003-08-21 Allen Gregory M. Method and apparatus of disabling the pull-up on a USB type of data line
KR100454126B1 (ko) 2002-01-15 2004-10-26 삼성전자주식회사 분리된 클록 라인을 구비한 정보 처리 시스템
US7337344B2 (en) * 2003-01-31 2008-02-26 Point Grey Research Inc. Methods and apparatus for synchronizing devices on different serial data buses
US7469311B1 (en) * 2003-05-07 2008-12-23 Nvidia Corporation Asymmetrical bus
US7188263B1 (en) * 2003-05-07 2007-03-06 Nvidia Corporation Method and apparatus for controlling power state of a multi-lane serial bus link having a plurality of state transition detectors wherein powering down all the state transition detectors except one
US7136953B1 (en) * 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US6973519B1 (en) * 2003-06-03 2005-12-06 Lexar Media, Inc. Card identification compatibility
US20040252800A1 (en) * 2003-06-13 2004-12-16 Kishore Kota Multi-channel line interface unit with on-chip clock management
DE10344818B4 (de) * 2003-09-27 2008-08-14 Qimonda Ag Vorrichtung zum Kalibrieren der relativen Phase zweier Empfangssignale eines Speicherbausteins
US7158536B2 (en) 2004-01-28 2007-01-02 Rambus Inc. Adaptive-allocation of I/O bandwidth using a configurable interconnect topology
TWI233736B (en) * 2004-03-09 2005-06-01 Benq Corp Data rate adjustment device and system thereof
US7197591B2 (en) * 2004-06-30 2007-03-27 Intel Corporation Dynamic lane, voltage and frequency adjustment for serial interconnect
WO2006063485A1 (en) 2004-12-13 2006-06-22 Apexone Microelectronics Ltd. System and method for clock signal synchronization
US7627069B2 (en) * 2005-01-27 2009-12-01 Rambus Inc. Digital transmit phase trimming
US7245552B2 (en) * 2005-06-22 2007-07-17 Infineon Technologies Ag Parallel data path architecture
JP4844632B2 (ja) * 2005-11-29 2011-12-28 エスティー‐エリクソン、ソシエテ、アノニム バスステーション、及びバスステーションの同期を維持するシステム及び方法
KR100805836B1 (ko) * 2006-07-26 2008-02-21 삼성전자주식회사 버스 폭 설정 장치, 디스플레이 장치 그리고 버스 폭 설정방법
JP5205819B2 (ja) * 2007-06-06 2013-06-05 日本電気株式会社 通信システムおよびそのパケットスケジューリング方法ならびに送信ノード
US7949817B1 (en) * 2007-07-31 2011-05-24 Marvell International Ltd. Adaptive bus profiler
CA2632031A1 (en) * 2007-09-05 2009-03-05 Faisal Dada Aligning data on parallel transmission lines
CN101843019A (zh) * 2007-09-14 2010-09-22 西姆特科有限公司 高速串行器、相关组件、系统和方法
US7809869B2 (en) * 2007-12-20 2010-10-05 International Business Machines Corporation Throttling a point-to-point, serial input/output expansion subsystem within a computing system
US8103918B2 (en) * 2008-03-25 2012-01-24 Arm Limited Clock control during self-test of multi port memory
US8661173B2 (en) 2008-03-31 2014-02-25 Intel Corporation USB data striping
US8341303B2 (en) 2008-06-30 2012-12-25 Intel Corporation Asymmetrical universal serial bus communications
US20100005212A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Providing a variable frame format protocol in a cascade interconnected memory system
WO2010026446A1 (en) * 2008-09-04 2010-03-11 Freescale Semiconductor, Inc. Method and apparatus for transmitting data
US8495310B2 (en) * 2008-09-22 2013-07-23 Qimonda Ag Method and system including plural memory controllers and a memory access control bus for accessing a memory device
US20100191995A1 (en) 2009-01-26 2010-07-29 Koby Levy In-Band Sleep Protocol for Embedded Bus
JP5333753B2 (ja) * 2009-04-07 2013-11-06 Nltテクノロジー株式会社 液晶表示装置及び信号処理方法
US8621128B2 (en) * 2009-12-04 2013-12-31 St-Ericsson Sa Methods and systems for reliable link startup
US9355051B2 (en) * 2010-09-10 2016-05-31 Cypress Semiconductor Corporation Apparatus, method, and manufacture for using a read preamble to optimize data capture
US8762760B2 (en) * 2010-09-14 2014-06-24 Xilinx, Inc. Method and apparatus for adaptive power control in a multi-lane communication channel
JP5598220B2 (ja) * 2010-09-30 2014-10-01 ソニー株式会社 送信装置、送信方法、受信装置、受信方法および送受信システム
US8681839B2 (en) * 2010-10-27 2014-03-25 International Business Machines Corporation Calibration of multiple parallel data communications lines for high skew conditions
WO2012067073A1 (ja) * 2010-11-19 2012-05-24 シャープ株式会社 データ転送回路、データ転送方法、表示装置、ホスト側装置、および電子機器
US8745455B2 (en) * 2010-11-23 2014-06-03 Intel Corporation Providing an on-die logic analyzer (ODLA) having reduced communications
US9043634B2 (en) 2011-04-29 2015-05-26 Qualcomm Incorporated Methods, systems, apparatuses, and computer-readable media for waking a SLIMbus without toggle signal
US9065674B2 (en) 2011-04-29 2015-06-23 Qualcomm Incorporated Multiple slimbus controllers for slimbus components
US9736548B2 (en) * 2011-06-08 2017-08-15 Qualcomm Incorporated Multipath rate adaptation

Also Published As

Publication number Publication date
JP6173340B2 (ja) 2017-08-02
CN103975317B (zh) 2017-06-20
JP2015506042A (ja) 2015-02-26
EP2791810A1 (en) 2014-10-22
IN2014MN00902A (ko) 2015-04-17
US20130156044A1 (en) 2013-06-20
US9929972B2 (en) 2018-03-27
EP2791810B1 (en) 2016-11-16
CN103975317A (zh) 2014-08-06
WO2013090752A1 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
KR20140113632A (ko) 버스 상의 복수의 데이터 라인들을 통해 데이터를 전송하는 시스템 및 방법
US8095699B2 (en) Methods and apparatus for interfacing between a host processor and a coprocessor
JP5570619B2 (ja) 異なるメモリ種類にアクセスする異なる速度での時分割多重化
KR101497001B1 (ko) 그래픽스 멀티미디어 ic 및 그것의 동작 방법
US6931470B2 (en) Dual access serial peripheral interface
US20100111117A1 (en) Transferring data between asynchronous clock domains
US20200073847A1 (en) Slave master-write/read datagram payload extension
KR20160084408A (ko) 버스 상에서 추가적인 세컨더리 데이터 라인들을 통하여 데이터를 전송하는 시스템 및 방법
TW201841530A (zh) 經由匯流排上的額外副資料線來發送資料的系統和方法
US20100272162A1 (en) Synchronous serial programmable interface
WO2002079971A1 (en) Programmable cpu/interface buffer structure using dual port ram
EP1535169B1 (en) Improved inter-processor communication system for communication between processors
TW201717033A (zh) 具有少於八位元之位元組及可變封包大小之序列周邊介面
CN104021097A (zh) 数据传输方法、装置及直接存储器存取
JP2008542936A (ja) 特にシステムオンチップに対するインタフェース配置およびその使用方法
GB2394323A (en) High-throughput UART interfaces
JP2017535800A (ja) シリアル低電力チップ間メディアバス(SLIMbus)システムにおけるマルチチャネルオーディオ通信
CN104598406A (zh) 扩展功能单元及计算设备扩展系统和扩展方法
CN204496486U (zh) 扩展功能单元及计算设备扩展系统
US8599886B2 (en) Methods and apparatus for reducing transfer qualifier signaling on a two-channel bus
JP5464770B2 (ja) 1クロック・サイクル中にメモリ・コアを複数回アクセスする方法と装置
KR101345437B1 (ko) 칩들간의 통신을 위한 인터페이스 장치 및 방법
US9934178B2 (en) Full bandwidth communication buses
Jung et al. Design of Multimedia SoC Platform with a Crossbar On-Chip Bus for Embedded Systems
Kasisomayajula Implementation of Bus-Based and NoC-Based MP3 Decoders on FPGA

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right