KR100874073B1 - 버스의 전송 채널에 대역폭을 할당하기 위한 방법 및 장치 - Google Patents

버스의 전송 채널에 대역폭을 할당하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR100874073B1
KR100874073B1 KR1020077008483A KR20077008483A KR100874073B1 KR 100874073 B1 KR100874073 B1 KR 100874073B1 KR 1020077008483 A KR1020077008483 A KR 1020077008483A KR 20077008483 A KR20077008483 A KR 20077008483A KR 100874073 B1 KR100874073 B1 KR 100874073B1
Authority
KR
South Korea
Prior art keywords
payload
delete delete
broadcast
bus
transport channel
Prior art date
Application number
KR1020077008483A
Other languages
English (en)
Other versions
KR20070053340A (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 KR20070053340A publication Critical patent/KR20070053340A/ko
Application granted granted Critical
Publication of KR100874073B1 publication Critical patent/KR100874073B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

처리 시스템 및 처리 시스템 내에서 교신하는 방법이 제시된다. 처리 시스템은 전송채널, 수신소자, 및 상기 전송채널을 통해 페이로드(payload)를 상기 수신소자로 방송하고, 상기 페이로드의 방송을 인터럽트하여 새로운 버스(bus) 동작을 상기 수신소자로 상기 전송채널을 통해 시그널링(signal)하며, 상기 전송채널을 통해 페이로드의 방송을 재개하도록 구성된 전송소자를 포함할 수 있다. 상기 처리시스템은 작은 페이로드들이 새로운 버스 동작을 개시하기 위해 인터럽트되는 것을 방지하는 알고리듬을 포함할 수 있다. 상기 알고리듬은 또한 단일 기록 동작이 새로운 버스 동작을 개시하기 위해 인터럽트될 수 있는 횟수를 제한하는데 이용될 수 있다.

Description

버스의 전송 채널에 대역폭을 할당하기 위한 방법 및 장치{METHOD AND APPARATUS FOR ALLOCATING BANDWIDTH ON A TRANSMIT CHANNEL OF A BUS}
본 발명은 일반적으로 버스 구조를 채택한 처리(processing) 시스템들, 좀 더 상세하게는, 버스(bus)의 전송 채널에 대역폭을 할당하기 위한 방법 및 장치에 관련된다.
컴퓨터는 복잡한 작업들을 단 몇 번의 키패드 입력을 이용하여 수행할 수 있도록 함으로써 전자 산업에 혁명을 가져 왔다. 이러한 복잡한 작업들은 버스를 이용하여 신속하고 효율적으로 서로 교신하는 대단히 많은 수의 복잡한 소자들과 관련된다. 버스는 컴퓨터 내의 소자들 간의 채널 또는 경로를 말한다.
대표적인 컴퓨터는 시스템 메모리(memory)와 함께 마이크로프로세서(microprocssor)를 포함한다. 시스템 버스가 상기 둘 간의 교신을 지원하는데 이용된다. 부가적으로, 데이터를 다양한 주변장치(peripheral)에 전송하는데 이용되는 다른 주변 버스들이 있을 수 있다. 일부의 경우, 다양한 리소스(resource)를 프로그래밍하기 위한 목적으로 이용되는 구성(configuration) 버스가 있을 수 있다. 브리지(bridge)들은 필요한 프로토콜 변환(protocol translation)을 제공하는 것은 물론, 상위 및 하위 대역폭 버스들 간에 데이터를 효율적으로 전송하는데 이용될 수 있다.
컴퓨터에 탑재된 많은 버스들은 전통적으로 공용 버스(shared bus)로서 구현되었다. 공용 버스는 어떠한 수의 소자들이 공통 경로 또는 채널을 통해 교신하기 위한 수단을 제공한다. 근래에, 공용 버스 기술은 포인트-투-포인트(point-to-point) 스위칭(switching) 접속에 의해 상당부분 대체되어 왔다. 포인트-투-포인트 스위칭 접속은 버스 상의 두 소자들 사이에서 그들이 서로 교신하고 있는 동안에 직접 연결을 제공한다. 다수의 직접 링크(link)들이 사용되어 수개의 소자들이 동시에 교신할 수 있게 한다.
전통적인 버스 설계는 독립적이고 개별적인 판독(read), 기록(write) 및 하나 이상의 어드레스 채널(address channel)을 포함한다. 예를 들어 마이크로프로세서는 어드레스 위치를 어드레스 채널에 넣고 적절한 판독/기록 제어 신호를 전송함으로써 시스템 메모리를 읽거나 기록할 수 있다. 상기 마이크로프로세서가 데이터를 시스템 메모리에 기록할 때, 기록 채널을 통해 데이터를 전송한다. 상기 마이크로프로세서가 시스템 메모리로부터 데이터를 읽을 때, 판독 채널을 통해 데이터를 수신한다.
이러한 특정한 버스 구조가 컴퓨터 소자들 사이에 교신하기 위한 상당히 표준화된 방법을 제공할지라도, 이는 다수의 복잡한 채널들을 필요로 한다. 이러한 채널들은 구동기(driver), 수신기(receiver) 및 버퍼(buffer) 회로들을 필요로 하는데, 이들 모두 전력을 소모한다. 집적회로 애플리케이션에서, 이러한 채널들은 소중한 칩 면적을 차지한다. 따라서, 당해 기술 분야에서는 단순화된 버스 구조에 대한 요구가 존재한다.
본 발명의 일 실시예로, 처리(processing) 시스템은 전송 채널을 갖는 버스, 수신 소자, 및 페이로드(payload)를 상기 전송 채널을 통해 수신 소자로 방송(broadcast)하고, 상기 페이로드 방송을 인터럽트(interrupt)하여 상기 수신 소자에 상기 전송 채널을 통해 새로운 버스 동작을 시그널링(signal)하며, 상기 전송 채널을 통해 상기 페이로드의 방송을 재개하도록 구성되는 전송 소자를 포함한다.
본 발명의 다른 실시예로, 처리 시스템은 전송 채널을 갖는 버스, 수신 소자 및 페이로드를 상기 전송 채널을 통해 상기 수신소자로 방송하고, 상기 페이로드 방송 동안 개시되는 각각의 새로운 버스 동작을 위한 페이로드 방송을 최대 인터럽트 횟수까지 인터럽트하고, 상기 각각의 인터럽트 동안 상기 전송 채널을 통해 상기 신규 버스 동작 중 다른 하나를 상기 수신 소자로 시그널링 하며, 이후의 상기 각 인터럽트 후, 전송 채널을 통해 페이로드의 방송을 재개하도록 구성되는 전송 소자를 포함한다.
본 발명의 또 다른 실시예로, 처리 시스템은 전송 채널을 갖는 버스, 수신 소자 및 페이로드를 상기 전송 채널을 통해 상기 수신 소자에 방송하고, 상기 페이로드 방송의 시작 후 시간 주기 동안 새로운 버스 동작을 일으키고, 상기 페이로드가 상기 시간 주기 동안 인터럽트 없이 방송될 수 있게 하며, 상기 페이로드 방송이 상기 시간 주기를 초과할 경우 상기 시간 주기 후, 상기 전송 채널을 통해 새로운 버스 동작을 상기 수신 소자로 시그널링 하기 위하여 상기 페이로드의 방송을 인터럽트하고, 인터럽트가 되면 상기 페이로드 방송을 재개하도록 설정된 전송 소자를 포함한다.
본 발명의 또 다른 실시예로, 처리 시스템은 전송 채널을 갖는 버스, 수신소자 및 페이로드를 상기 전송 채널을 통해 상기 수신 소자로 방송하기 위한 수단, 상기 페이로드 방송을 인터럽트하여 새로운 버스 동작을 상기 전송 채널을 통해 상기 수신소자에 시그널링하기 위한 수단, 그리고 상기 페이로드 방송을 재개하기 위한 수단을 가지는 전송 소자를 포함한다.
또한 본 발명의 다른 실시예로, 전송 채널을 갖는 버스를 통해 전송 소자와 수신 소자 간의 교신 방법으로서, 상기 방법은 상기 전송 소자로부터의 페이로드를 상기 전송 채널을 통해 상기 수신소자로 방송하는 단계, 상기 페이로드 방송을 인터럽트하여 새로운 버스 동작을 상기 전송 채널을 통해 상기 수신 소자로 시그널링하는 단계, 그리고 상기 전송 소자로부터 상기 전송 채널을 통해 상기 수신 소자로의 페이로드 방송을 재개하는 단계를 포함한다.
본 발명의 또 다른 실시예로, 전송 채널을 갖는 버스를 통해 송신 소자와 수신 소자 간에 교신하기 위한 방법으로서, 상기 방법은 상기 전송 소자로부터 상기 전송 채널을 통해 상기 수신소자로 페이로드를 방송하는 단계, 상기 전송 소자에 의해 상기 페이로드 방송 동안 시작된 각각의 새로운 버스 동작을 위해 최대의 인터럽트 수까지 상기 페이로드 방송을 인터럽트 하는 단계, 상기 전송 소자에 의해 상기 새로운 버스 동작 중 다른 하나를 상기 전송 채널을 통해 상기 각각의 인터럽트 동안 상기 수신소자로 시그널링 하는 단계, 및 상기 전송 소자에 의해 상기 각각의 인터럽트 후 상기 전송 채널을 통해 상기 수신소자로 페이로드 방송을 재개하는 단계를 포함한다.
본 발명의 또 다른 실시예로, 전송 채널을 갖는 버스를 통해 송신 소자와 수신 소자 간에 교신하는 방법으로서, 상기 방법은 상기 전송 소자로부터 상기 수신소자로 상기 전송 채널을 통해 제 1 및 제 2 시간 주기 동안 페이로드를 방송하는 단계, 상기 페이로드 방송의 시작 후인 상기 제 1 시간 주기 동안 새로운 버스 동작을 시작시키는 단계, 상기 전송 소자에 의해 새로운 버스 동작을 상기 제 1 시간 주기 후인 상기 제 2 시간 주기 동안 상기 전송 채널을 통해 수신소자로 시그널링 하기 위하여 상기 페이로드 방송을 인터럽트하는 단계, 그리고 상기 페이로드 방송을 재개하는 단계를 포함한다.
본 발명의 다양한 실시예가 기술되고 도면으로 제시된 이하의 실시예로부터 당해 기술분야에서 통상의 지식을 가진 자가 본 발명의 다른 실시예들을 용이하게 실시할 수 있을 것이라는 점을 고려하여야 한다. 기술하는 바와 같이, 본 발명의 다른 실시예들이 있을 수 있으며 그 상세부들은 다양한 면에서 수정될 수 있고, 이는 모두 본 발명의 기술적 사상과 관점을 벗어나지 않는다. 따라서, 도면과 실시예는 본질적으로 예시적인 것으로 고려하여야 하며 이에 한정하고자 하는 것이 아니다.
본 발명의 실시예들은 첨부된 도면과 함께 예시적으로 제시되며, 이에 제한하고자 하는 것은 아니다:
도 1은 처리 시스템 내에서 버스를 통해 두 소자들 사이에 포인트-투-포인트 연결을 예시하는 개념 블록 다이어그램이다.
도 2는 판독 동작을 개시하기 위해 인터럽트 되는, 처리 시스템 내의 두 소자들 간에 버스를 통한 기록 동작을 나타내는 타이밍 다이어그램이다.
도 3은 처리 시스템 내에서 버스를 통해 두 소자들 사이에서 기록 동작의 인터럽트 기능을 제어하는 알고리듬의 구현을 나타내는 개념 블록 다이어그램이다.
도 4는 처리 시스템 내에서 버스를 통해 두 소자들 사이에서 기록 동작의 인터럽트 기능을 제어하는 알고리듬의 기능을 나타내는 순서도 이다.
첨부한 도면과 관련하여 이하에 제시되는 실시예는 본 발명의 다양한 실시예들을 기술하기 위한 것이며 본 발명이 실시될 수 있는 유일한 실시예를 나타내고자 하는 것은 아니다. 본 실시예는 본 발명에 대한 포괄적인 이해를 제공하기 위한 목적으로 특정한 상세내용을 포함한다. 그러나, 이러한 특정한 상세내용을 제외하고도 실시될 수 있다는 점은 당해 기술 분야에서 통상의 지식을 가진 자에게는 명백할 것이다. 일부 예에서, 공지의 구조 및 소자들이 본 발명의 개념을 모호하게 하는 것을 피하기 위하여 블록 다이어그램 형태로 제시된다.
도 1은 처리 시스템 내에서 두 소자들 사이에 버스를 통한 포인트-투-포인트 연결의 예를 나타내는 개념 블록 다이어그램이다. 상기 처리 시스템(100)은 협력하여 하나 이상의 처리 기능을 수행하는 소자들의 집합일 수 있다. 일반적으로, 상기 처리 시스템은 컴퓨터, 또는 컴퓨터 내에 탑재될 것이며, 정보의 처리, 검색 및 저장을 할 수 있을 것이다.
상기 처리 시스템(100)은 버스(106)를 통해 수신소자(104)와 교신하는 전송소자(102)를 제시한다. 상기 처리 시스템(100)의 일 실시예로, 상기 버스(106)는 상기 전송소자(102)와 상기 수신소자(104) 사이의 전용 버스이다. 상기 처리 시스템(100)의 또 다른 실시예로, 상기 전송소자(102)는 버스 상호접속(도시하지 않음)을 통한 상기 버스(106)를 거쳐 포인트-투-포인트 연결로써 상기 수신소자(104)와 교신한다. 상기 버스의 이러한 실시예들은 본 발명이 전용 버스 또는 포인트-투-포인트 스위칭 연결에 제한되지 않고, 예컨대 공용 버스를 포함하는 어떠한 종류의 버스 기술에도 적용될 수 있다는 점을 고려하여 본 발명을 용이하게 완전히 이해할 수 있도록 하기 위한 것이다.
상기 전송소자(102)는 예를 들어 마이크로프로세서, 디지털 신호 처리기(digital signal processor, DSP), 기억장치 직접 접근 제어기(direct memory access controller), 브리지(bridge), 프로그램가능 논리 소자(programmable logic component), 이산 게이트(discrete gate) 또는 트랜지스터 논리(transistor logic), 또는 임의의 다른 정보처리 소자를 포함하는 어떠한 종류의 버스 마스터링(bus mastering) 소자일 수 있다.
상기 수신소자(104)는 예를 들어 레지스터(register), 메모리, 브리지, 상호접속(interconnect), 또는 정보를 검색하고 저장할 수 있는 임의의 다른 소자를 포함하는 어떠한 저장 소자가 될 수 있다. 상기 수신소자의 각각의 주소(address) 위치에서의 저장용량은 특정한 애플리케이션과 전체적인 설계 제한에 따라 달라질 수 있다. 설명을 위하여, 상기 수신소자는 주소 위치당 1-바이트의 저장 용량을 갖는 것으로 기술한다.
상기 버스(106)의 복잡성은 기존의 버스 구조에 이용되는 주소 채널을 감소시킴으로써 줄어들 수 있다. 상기 주소 채널의 제거는 기록 채널(write channel)을 "전송 채널(transmit channel)(108)"로 재정의함으로써 가능하다. 상기 전송 채널(108)은 시분할 다중화 방식(time division multiplexed fashion)에서 전송소자(102)와 수신소자(104) 사이에 정보를 방송 하기 위한 일반적인 매체로 이용될 수 있다. 이 정보는 판독 및 기록 주소 정보, 전달 퀄리파이어(transfer qualifier), 기록 바이트 이네이블(write byte enable), 상기 수신소자에 기록될 데이터("기록 데이터(write data)"), 또는 임의의 다른 버스 관련 정보를 포함할 수 있다. 수신채널(110)을 이용하여 상기 수신소자(104)로부터 읽은 데이터("판독 데이터")를 상기 전송소자(102)로 방송할 수 있다.
상기 "전달 퀄리파이어"는 판독 동작, 기록 동작 또는 임의의 다른 버스 관련 동작의 속성을 기술하는 파라미터를 지칭한다. 전달 퀄리파이어의 예는 판독 또는 기록 동작에 대한 페이로드의 크기를 지시하는 신호이다. 상기 "페이로드"는 단일의 판독 또는 기록 동작에 관련된 데이터를 지칭한다. 상기 페이로드가 복수의 바이트이면, 상기 수신소자(104)는 그러한 동작과 관련된 전송 채널(108)에 방송되는 상기 주소 위치로 시작하는 순차적인 주소 위치의 블록에 기록하거나, 또는 블록으로부터 읽을 수 있다.
상기 "바이트 기록 이네이블"은 상기 전송 채널(108)의 어느 바이트 레인 (lane)이 기록 동작에 대한 상기 페이로드를 방송하는데 이용될 것인지를 지시하는데 이용될 수 있다. 예를 들어, 32-비트 전송 채널(108)의 2-바이트 페이로드 방송은 4개의 바이트 레인들 중 두 개를 이용할 수 있다. 상기 바이트 기록 이네이블을 이용하여 상기 수신소자(102)에게 상기 전송 채널(108)의 두 개의 바이트 레인들 중 어느 것이 기록 동작을 위한 페이로드를 방송하는데 이용될 것인지를 지시할 수 있다.
상기 전송소자(102)는 상기 전송 채널(108)을 통해 주소 위치, 전달 퀄리파이어, 기록 바이트 이네이블 및 페이로드를 방송함으로써 상기 수신소자(104)에 기록할 수 있다. 상기 페이로드의 크기, 또는 상기 전송 채널(108)을 통해 페이로드를 방송하는데 필요한 클록의 수는 상기 전송소자(102)에 의해 결정될 수 있고, 고정되어 구현되거나 또는 프로그램가능할 수 있다. 대부분 경우, 상기 전송 채널(108)을 통해 큰 페이로드를 방송하는 것이 종종 가용 대역폭에 있어 전반적으로 높은 효율성을 가져다주는 버스팅 프로토콜(bursting protocol)의 유용성을 위해 바람직하다. 그러나, 큰 페이로드는 상기 전송 채널(108) 상으로 판독 동작을 위한 다음 주소 위치를 상기 수신 소자(104)에 전달하는 것을 지연시키는 불리한 점을 가진다. 이는 상기 전송소자(102)가 처리하게 될 차상위 우선권의 판독 동작에 대한 지연(latency)을 증가시킬 수 있다.
상기 전송소자(102)는 상기 전송채널(108)로 주소 정보와 페이로드 대역폭을 할당하도록 설정되어 이러한 지연을 감소시키고 상기 처리 시스템(100)의 성능을 향상시키는데 도움이 될 수 있다. 좀 더 상세하게는, 상기 전송소자(102)는 상기 전송채널(108) 상의 큰 페이로드의 방송을 인터럽트하여 상기 페이로드 내에 판독 동작을 위한 상기 주소 위치와 전달 퀄리파이어를 인터리브(interleave)함으로써 높은 우선권 판독 동작(high priority read operation)을 개시하도록 설정될 수 있다. 그리고 나서 상기 높은 우선권 판독 동작에 대한 페이로드는 상기 전송 채널(108) 상에 방송 되는 기록 동작을 위한 상기 페이로드의 나머지 부분과 병렬적으로 수신채널(110) 상으로 방송될 수 있다.
상기 전송소자(102)는 또한 상기 전송채널(108) 상의 큰 페이로드의 방송을 인터럽트하여 상기 전송채널(108)을 통하는 이후의 기록 동작의 파이프라이닝(pipelining)을 촉진하도록 설정될 수 있다. 상기 수신소자(104)가 오프칩(off-chip) 메모리에 액세스하도록 설정된 메모리 제어기인 경우, 상기 주소 위치가 상기 오프칩 메모리에 전달될 때부터 상기 페이로드가 상기 메모리에 씌여질 때까지 수개의 클록 사이클 지연이 있을 수 있다. 그러므로, 기록 동작을 위해 상기 주소 위치, 전달 퀄리파이어 및 기록 바이트 이네이블을 현재의 페이로드 방송이 완료되기 전에 상기 전송채널(108)을 통해 방송할 수 있게 함으로써, 상기 수신소자(104)는 좀 더 효율적으로 기록 동작을 파이프라이닝(pipeline) 할 수 있다.
이상 기술한 다양한 개념들은 임의의 수의 프로토콜을 이용하여 구현될 수 있다. 이하의 실시예에서, 버스 프로토콜의 예가 제시된다. 이 버스 프로토콜은 처리 시스템의 진보적인 특징들을 기술하기 위해 제시되며, 그러한 진보적 특징들은 임의의 적절한 프로토콜과 함께 이용될 수 있다는 점을 고려하여야 한다. 상기 전송채널을 위한 기본적인 시그널링(signalling) 프로토콜이 하기 표 1에 제시된 다. 당해 기술분야에서 통상의 지식을 가진자가 이하에 제시된 버스 구조를 실제로 구현함에 있어서 이 프로토콜에 용이하게 신호를 변형 및/또는 추가할 수 있을 것이다.
표 1
Figure 112007028427228-pct00001
동일한 시그널링 프로토콜이 하기 표 2에 도시한 바와 같이 수신채널을 위해 이용될 수 있다.
표 2
Figure 112007028427228-pct00002
본 시그널링 프로토콜에 이용되는 타입 필드(Type field)의 정의가 표 3에 제시된다.
표 3
Figure 112007028427228-pct00003
도 2는 판독 동작을 개시하기 위해 기록 동작이 어떻게 인터럽트 되는지를 나타내는 타이밍 다이어그램이다. 본 예에서, 상기 전송채널은 64 비트 넓이이며 상기 기록 동작을 위한 페이로드는 64 바이트이다. 이는 상기 전송 채널을 통해 페이로드를 방송하는데 8 클록 싸이클을 필요로 한다. 일반적으로, 판독 동작은 상기 기록 동작을 위한 페이로드의 방송이 완료될 때까지는 개시될 수 없었다. 그러나, 여기까지 기술한 전송 채널 상에서 대역폭을 할당하는 방법으로써, 판독 동작을 위한 상기 주소 위치는 상기 전송소자에 의해 판독 동작이 개시되자마자 기록 동작을 위한 페이로드와 인터리브(interleave) 될 수 있어서, 판독 지연을 감소시키고 상기 전송 및 수신 채널들의 이용을 향상시킨다.
도 2를 참조하면, 클록(222)을 이용하여 상기 전송소자 및 수신소자 사이의 교신을 동기화시킬 수 있다. 기록 동작은 제 1 클록 사이클(201) 동안 상기 전송소자에 의해 개시될 수 있다. 이는 전송유효 신호(224)를 확인(assert)하고 상기 전송타입 필드(226)가 기록 동작을 위한 유효 기록 주소 위치의 방송을 시그널링 하게 함으로써 이뤄질 수 있다. 동시에, 상기 주소 위치는 상기 전송 채널(228)을 통해 상기 수신소자로 방송될 수 있다. 상기 수신소자는 상기 전송유효 신호(224)의 확인(assert)을 검출하고, 상기 전송타입 필드(226)로부터 상기 전송 채널(228)상의 주소 위치 방송이 기록 동작을 위한 유효한 주소라고 결정한다. 이에 대응하여, 상기 수신소자는 상기 주소 위치를 그 주소 큐(queue)에 저장한다. 상기 수신소자는 또한 상기 방송을 수신하였음을 지시하는 전송전달 Ack 신호(230)를 확인(assert)할 수 있다.
상기 주소 위치의 방송은 제 2 클록 사이클(202)에서 기록 동작을 위한 전달 퀄리파이어의 방송 이전에 실행될 수도 있다. 상기 전송소자는 상기 전송유효 신호(224)를 확인(assert)된 상태로 유지하고 타입필드(226)를 적절히 변경함으로써 상기 수신소자에 이 방송을 알릴 수 있다. 상기 전달 퀄리파이어는 상기 기록동작을 위한 페이로드가 64 바이트임을 지시하는 시그널링을 포함할 수 있다. 이 경우, 상기 전달 퀄리파이어는 모든 바이트 레인(lane)들이 상기 페이로드를 방송하는데 이용될 것임을 지시하는 기록 바이트 이네이블들을 포함할 수 있다. 대안적으로, 상기 기록 바이트 이네이블들은 측파대(sideband) 시그널링을 이용하여 방송될 수 있다. 상기 수신소자는 상기 전송유효 신호(224)의 확인(assert)을 감지하고, 상기 전송타입 필드(226)로부터 상기 전송 채널(228)로 방송되는 상기 전달 퀄리파이어들이 기록 동작 동안에 유효하다고 결정한다. 상기 수신소자는 상기 전달 퀄리파이어들로부터, 다른 것들 사이에서, 상기 페이로드가 여덟 클록 사이클에 걸쳐 방송될 것이고, 그 주소 큐에 저장되는 상기 주소 위치로 시작하는 64 순차 주소 위치들의 블록에 기록될 것이라고 결정할 수 있다.
더 높은 우선권을 가진 다른 판독 또는 기록 동작이 없다고 가정하면, 상기 페이로드의 방송은 제 3 클록 사이클(203)에서 8 바이트 페이로드 데이터 비트(beat)로써 상기 전송채널(228)의 모든 바이트 레인(lane)을 이용하여 시작할 수 있다. 상기 전송소자는 상기 전송유효 신호(224)를 확인(assert)된 상태로 유지하고 그에 따라 상기 전송타입 필드(226)를 변화시킴으로써 상기 수신소자에 상기 페이로드 방송을 알릴 수 있다. 상기 수신소자는 상기 전송유효 신호(224)의 확인(assert)을 감지하고, 상기 전송타입 필드(226)로부터 유효한 기록 데이터가 상기 전송채널(228) 상에서 방송 중이라고 결정한다. 이에 대응하여, 8 바이트가 상기 수신소자에 기록될 수 있다.
이러한 예에서, 상기 전송소자는 계속하여 이후 3 클록 사이클에 걸쳐서 페이로드 8 바이트를 방송한다. 제 7 클록 사이클(207) 동안, 상기 기록 동작에 관한 페이로드가 높은 우선권 판독 동작을 위해 인터럽트 된다. 전송유효 신호(224)가 확인(assert)되고 전송타입 필드(226)가 판독 동작을 위한 유효 판독 주소 위치의 방송을 시그널링하기 시작한다. 동시에, 상기 주소 위치는 전송채널(228)을 통해 수신소자로 방송될 수 있다. 수신소자는 전송유효 신호(224)의 확인(assert)을 검출하고, 전송타입 필드(226)로부터 기록 동작을 위한 페이로드 방송이 판독 동작을 위한 주소 위치를 위하여 중지되었다고 결정한다. 이에 대응하여, 상기 수신소자는 그 주소 큐에 상기 주소 위치를 저장한다. 수신소자는 또한 상기 방송을 수 신하였음을 지시하는 전송전달 Ack 신호(230)를 확인(assert)할 수 있다.
상기 주소 위치의 방송에 제 8 클록 사이클(208)에서 판독 동작을 위한 전달 퀄리파이어의 방송이 뒤따를 수 있다. 상기 전송소자는 전송 유효 신호(224)를 확인(assert)된 상태로 유지하고 전송타입 필드(226)를 적절히 변경함으로써 수신소자에게 이 방송을 알릴 수 있다. 전달 퀄리파이어들은 판독 동작을 위한 상기 페이로드가 또한 64 바이트임을 지시하는 시그널링을 포함할 수 있다. 상기 수신소자는 상기 전송유효 신호(224)의 확인(assert)을 검출하고, 전송타입 필드(226)로부터 전송채널(228)을 통해 방송되는 전달 퀄리파이어가 판독 동작을 위해 유효하다고 결정한다. 수신채널(240)이 8 바이트 크기라고 가정하면, 상기 수신소자는 상기 전달 퀄리파이어들로부터 다른 것들 중에서, 상기 페이로드가 8 클록 사이클에 걸쳐 방송될 것이며, 그 주소 큐에 저장되는 주소 위치로 시작되는 64 순차 주소 위치들의 블록으로부터 읽혀질 것이라고 결정한다.
상기 전송소자는 제 9 클록 사이클(209)의 시작시에 전송채널(228) 상에서 기록 동작을 위한 페이로드 방송을 재개하여, 제 12 클록 사이클(212)의 끝에서 상기 방송을 완료할 수 있다. 각각의 이러한 4 클록 사이클 동안, 상기 전송소자는 전송유효 신호(224)를 확인(assert)된 상태로 유지하고 전송타입 필드(226)를 유효 기록 데이터로 시그널링하게 함으로써 수신소자에 상기 페이로드 방송을 알릴 수 있다. 상기 수신소자는 각 클록 사이클에서 전송유효 신호(224)의 확인(assert)을 검출하고, 전송타입 필드(226)로부터 유효 기록 데이터가 전송채널(228)을 통해 방송중이라고 결정한다. 각 클록 사이클의 끝에서, 전송 채널(228) 상의 상기 8 바 이트의 페이로드가 수신소자에 기록되어 상기 페이로드의 모든 방송이 제 12 클록 사이클(212)의 끝에서 완료된다.
전송소자가 상기 제 9 클록 사이클(209) 동안에 기록 동작을 위한 페이로드 방송을 재개하는 것과 동시에, 상기 수신소자는 판독 동작을 위한 페이로드에 액세스하기 시작한다. 수신소자의 판독 지연 때문에, 상기 페이로드가 이용가능해지기 전에 1 클록 사이클 지연이 나타날 수 있다. 일단 상기 페이로드(또는 상기 페이로드의 첫번째 8 바이트)가 제 10 클록 사이클(210)에서 이용가능하게 되면, 상기 수신소자는 수신유효 신호(234)를 확인(assert)하고 상기 수신채널(238) 상에 유효 판독 데이터를 시그널링하게 하는 수신타입 필드(236)를 설정할 수 있다. 그리고 나서 수신소자는 수신채널(238)을 통해 판독 동작을 위한 페이로드를 전송소자로 방송하기 시작할 수 있다. 수신유효 신호(234)와 수신타입 필드(236) 세팅이 판독 동작을 위한 상기 페이로드의 전체 방송에 걸쳐 유지될 것이며, 이 경우에 제 10 클록 사이클(210)에서 시작하여 제 17 클록 사이클(217)의 끝에서 완료되는 8 클록 사이클에까지 연장될 것이다. 전송소자에서 수신전달 Ack 신호(240)가 확인(assert)된 채로 유지되는 한, 상기 판독 동작을 위한 페이로드 방송은 상기 시간 프레임(time frame)에서 완료될 수 있다.
상기 판독 동작이 상기 기록 동작을 위한 페이로드 방송 동안 개시되지 않았다면, 판독 동작을 위한 페이로드의 반환은 제 14 클록 사이클(214)까지 시작되지 않았을 것이다. 따라서, 상기 예에서 판독 동작의 지연은 공지의 기술에 비하여 4 클록 사이클만큼 감소 되었다.
판독 지연을 감소시키는 이점은 판독 동작을 위한 페이로드 방송의 지연 증가에 의해 일정한 조건 하에서 차감될 수 있다. 버스를 통한 성능을 최적화시키기 위하여, 전송소자는 전송소자에 의해 개시되는 새로운 판독 동작들이 작은 페이로드들의 방송을 인터럽트하는 것을 방지하는 알고리듬을 채택하여, 처리 시스템에서 나타나는 최대 판독 지연을 제어할 수 있다. 또한 상기 알고리듬을 이용하여 전송채널을 통한 단일 페이로드 방송이 새로운 판독 동작을 위해 인터럽트될 수 있는 회수를 제한함으로써, 기록 동작을 위한 페이로드 방송에 걸리는 최대 시간을 제어할 수 있다.
상기 알고리듬은 하드웨어, 소프트웨어, 펌웨어(firmware) 또는 이들의 어떠한 조합으로써 상기 전송소자의 일부로서 구현가능하다. 예를 들어, 전송소자는 판독 및 기록 동작을 개시할 수 있는 마이크로프로세서 및 하드웨어에서 구현되고 상기 알고리듬을 탑재하는 버스 인터페이스를 포함할 수 있다. 대안적으로, 상기 알고리듬은 상기 마이크로프로세서에서 실행되도록 설정된 소프트웨어일 수 있다. 또 다른 실시예로, 상기 전송소자는 DSP를 포함할 수 있고 상기 알고리듬은 임베디드 소프트웨어 계층(embedded software layer)일 수 있다. 상기 처리시스템의 일부 실시예로, 상기 알고리듬은 상기 전송소자와 별개이고 분리된 독립형(stand-alone) 존재일 수 있다. 본 발명의 개시를 위해, 상기 "전송소자"는 처리시스템 내에서 알고리듬의 물리적 위치에 관계없이 상기 알고리듬을 포함하는 것으로 한다.
도 3은 상기 알고리듬을 구현하는 전송소자의 실시예를 도시하는 상위 계층 블록 다이어그램이다. 전송소자(102)는 마이크로프로세서(302)와 하드웨어구현 버스 인터페이스(304)를 포함할 수 있다. 상기 버스 인터페이스(304)는 상기 마이크로프로세서(302)와 상기 버스(106) 사이의 인터페이스(306)를 포함할 수 있다. 상기 알고리듬은 상기 전송소자가 새로운 버스 동작을 개시하는 작은 페이로드들의 방송을 인터럽트하는 것을 방지하는 상태 머신(state machine)과 함께 상기 버스 인터페이스(304)에서 구현될 수 있다. 레지스터(312)의 프로그램가능한 값은 상기 페이로드가 수신소자로 새로운 버스 동작을 시그널링을 하도록 인터럽트되기 전에 상기 버스(106)로 방송 되어야 하는 최소 클록 사이클 수를 나타낸다. 상기 값은 기록 동작이 개시될 때 상태 머신(308)에 의해 계수기(counter)(310)에 로드(load)될 수 있고 상기 각각의 페이로드 방송 클록 사이클과 함께 카운트 다운될 수 있다. 상기 계수기가 영이 아닌 값을 가지는 시간 동안에는, 상기 페이로드 방송이 인터럽트되어 새로운 버스 동작을 시그널링할 수 없다. 상기 버스 인터페이스(304)는 상기 계수기가 영에 도달하거나, 또는 상기 페이로드 방송이 완료될 때까지 모든 새로운 버스 동작을 시그널링하는 것을 미룰 것이다.
상기 알고리듬은 또한 제 2 레지스터(316)를 채택할 수 있어서, 이를 이용하여 새로운 버스 동작을 상기 수신소자로 시그널링하기 위해 페이로드 방송이 인터럽트 될 수 있는 횟수를 제한할 수 있다. 값이 제 2 레지스터(316) 속에 프로그램되어 단일 페이로드 방송 중의 최대 인터럽트 수를 지시할 수 있다. 상기 값은 기록 동작이 개시될 때 상태 머신(308)에 의해 제 2 계수기(314)에 로드될 수 있고 매번 상기 페이로드 방송이 인터럽트될 때 카운트 다운될 수 있다. 상기 제 2 계 수기(314)가 영이 아닌 값을 가진 시간 동안에는, 상기 페이로드 방송이 새로운 버스 동작을 시그널링 하도록 인터럽트될 수 있다. 일단 상기 계수기가 0에 도달하면, 상기 버스 인터페이스(304)는 현재의 페이로드 방송이 완료될 때까지 새로운 모든 버스 동작들을 미룰 것이다.
도 4는 상기 알고리듬의 기능성을 도시하는 순서도 이다. 상기 전송소자는 주소 위치와 전달 퀄리파이어를 전송채널을 통해 수신소자에 방송함으로써 기록 동작을 개시(단계(402))한다. 동시에, 또는 바로 이어서, 상기 전송소자는 두 계수기를 로드(load)(단계(404)) 한다. 제 1 계수기, "계수기 A"로 칭함,가 최소 클록 사이클 수, 또는 페이로드 방송 시작 후부터 상기 전송소자가 새로운 버스 동작을 시그널링하기 위하여 상기 방송을 인터럽트하기 전에 반드시 발생하는 페이로드 데이터 비트(beat)의 최소 개수와 동일하게 로드될 수 있다. 상기 제 2 계수기, "계수기 B"로 칭함,는 상기 정송소자가 새로운 버스 동작을 시그널링하기 위하여 단일 페이로드 방송을 인터럽트할 최대 횟수와 동일한 값으로 로드될 수 있다. 일단 수신소자가 기록 동작을 위한 전달 퀄리파이어와 상기 주소 위치의 방송을 수신하였음을 알리면, 상기 전송소자는 수신소자에 상기 페이로드를 방송하기 시작할 수 있다. 이는 전송채널을 통해 페이로드 데이터 비트(beat)를 방송(단계(406)) 함으로써 이뤄진다. 이상 기술한 처리 시스템의 실시예에서, 상기 페이로드 데이터 비트(beat)는 상기 전송 채널의 모든 바이트 레인(byte lane)을 이용하는 8 바이트 방송을 포함한다.
전송소자는 상기 페이로드 방송이 완료되었는지(단계(408))를 결정하고, 또 한 그렇다면 상기 기록 동작을 종결(단계(410))시킨다. 역으로, 상기 페이로드 방송이 완료되지 않았다면, 상기 전송소자는 다음 클록 사이클을 대기(단계(412))한다. 이러한 상황이 발생할 때, 상기 전송소자는 새로운 버스 동작이 필요한지를 결정(단계(414))한다. 상기 전송소자가 새로운 버스 동작이 필요하지 않다고 결정하면, 상기 계수기 A의 값을 감소(단계(416))시키고 다른 페이로드 데이터 비트(beat)를 방송(단계(406))한다. 한편으로, 만일 전송소자가 새로운 버스 동작이 필요하다고 결정(단계(414))하면, 계수기 A의 값을 체크하여 영에 도달하였는지를 조사(단계(418))한다. 만일 계수기 A의 값이 영이 아닌 값이면, 전송 채널을 통한 상기 페이로드 데이터의 방송은 새로운 버스 동작을 수신소자에 시그널링하기 위하여 인터럽트되지 않을 것이다. 그러한 경우, 상기 새로운 버스 동작이 미뤄질 것이다. 계수기 A의 값이 감소(단계(416))될 것이며, 또 다른 페이로드 데이터 비트가 방송(단계(406))될 것이다. 계수기 A의 값이 영이면, 전송소자는 상기 페이로드 방송을 인터럽트하여 새로운 버스 동작을 수신소자에 시그널링할 수 있는데, 이는 상기 페이로드 방송이 이미 전송소자에 의해 허용된 최대 횟수만큼 인터럽트되지 않았을 것을 전제로 한다.
상기 전송소자는 계수기 B의 값이 영에 도달하였는지를 체크(단계(420)) 한다. 상기 계수기 B의 값이 영이면, 페이로드 방송이 전송소자에 의해 허용되는 최대 횟수만큼 인터럽트된 것이다. 그러한 경우, 새로운 버스 동작은 다른 페이로드 데이터 비트(beat)(단계(406))를 위하여 연기될 것이다. 한편으로, 계수기 B의 값이 영이 아니면, 상기 페이로드 방송은 수신소자에 새로운 버스 동작을 시그널링하 기 위하여 인터럽트(단계(422)) 될 것이다. 전송소자는 계수기 B의 값을 감소(단계(424))시키고, 계수기 A를 다시 로드(reload)하고, 그리고 다른 페이로드 데이터 비트(beat)를 방송(단계(406))한다. 계수기 A는 레지스터에서와 동일한 값으로 다시 로드(reload)될 수 있고, 따라서 인터럽트들 간에 동일한 지연을 요구한다. 대안적으로, 계수기 A는 또 다른 값으로 로드될 수 있다. 적어도 하나의 실시예에서, 계수기 A는 상기 페이로드 방송의 시작으로부터의 초기 지연 후에 전송소자에 의해 설정된 최대치까지의 연속적인 클록 사이클에서 페이로드 방송이 인터럽트됨을 지시하는 영으로 로드(load)될 수 있다.
도 4의 순서도는 모든 페이로드 데이터 비트(beat) 이후 계수기 A가 영에 도달할 때까지 계수기 A를 감소시키는 알고리듬을 제시한다. 이 방법은 상기 페이로드가 상기 데이터의 최소량이 방송될 때까지는 인터럽트되지 않을 것을 보장한다. 대안적으로, 버스 동작이 페이로드 방송의 시작을 따라서 지연되는 최대 횟수를 제한하는 것이 바람직할 것이다. 이는 매 페이로드 데이터 비트(beat)보다는 매 클록 사이클에 계수기 A를 감소시키는 알고리듬으로써 이뤄질 수 있다. 이러한 방법으로, 상기 버스 동작은 상기 전송 전달 Ack가 수신소자에 의해 전송 채널을 통한 상기 페이로드 방송의 초반부의 임의의 길이의 시간 동안 확인(assert)해지 되지 않는다면 과도하게 지연되지는 않을 것이다.
본 실시예에서 기술된 다양하게 예시한 실시예들은 기록 동작을 위한 페이로드와 함께 주소 정보 및 전달 퀄리파이어들의 인터리빙(interleaving)을 참조한다. 그러나, 이러한 개념들은 상기 전송 채널을 통한 다른 종류의 버스 동작에도 확장 될 수 있다. 예를 들어, TLB 무효화 커맨드(command)가 상기 페이로드와 함께 인터리브(interleave)될 수 있다. 별도의 프로그램가능 레지스터들이 각 종류의 방송에 이용될 수 있다. 별도의 프로그램가능 레지스터들은 각 종류의 방송에 대해 다른 수의 인터럽트를 허용할 수 있다. 또한, 영 값을 갖도록 레지스터를 프로그램함으로써, 상기 인터럽트 기능은 그 특정한 종류의 방송에 대해 디스에이블(disable)될 수 있다.
이상에서 기술한 실시예들과 관련하여 제시된 다양한 예시적인 논리 블록, 모듈, 회로, 소자, 구성요소, 및/또는 소자들은 이상 제시된 기능들을 수행하도록 설계된 범용 처리기(general-purpose processor), 디지털 신호처리기(DSP), 주문형 반도체(ASIC), field programmable gate array(FPGA) 또는 다른 프로그램가능 로직 컴포넌트(programmable logic component), 또는 이들의 임의의 조합으로 구현 또는 수행될 수 있다. 범용 처리기는 마이크로프로세서일 수 있지만, 대안으로서, 상기 처리기는 종래의 임의의 프로세서, 제어기, 마이크로제어기(microcontroller), 또는 상태 머신(state machine)일 수 있다. 처리기는 또한 컴퓨팅 소자(computing components)의 조합, 예컨대, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어(core)와 연결된 하나 이상의 마이크로프로세서, 또는 그러한 임의의 구성으로써 구현될 수 있다.
여기 제시된 실시예들과 관련하여 기술한 방법 또는 알고리듬들은 하드웨어, 처리기에 의해 실행되는 소프트웨어 모듈, 또는 상기 둘의 조합에서 직접적으로 실시될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드디스크, 분리성 디스크(removable disk), CD-ROM, 또는 공지된 임의의 형태의 저장 매체에 탑재할 수 있다. 저장 매체는 상기 처리기에 연결되어 그 처리기가 상기 저장매체로부터 정보를 읽고, 상기 저장매체에 정보를 기록할 수 있다. 대안적으로, 상기 저장매체는 상기 처리기의 구성요소일 수 있다.
상기 실시예들에 관한 상기 기술을 통해 당해 기술분야에서 통상의 지식을 가진 자가 본 발명을 제조 또는 이용할 수 있다. 이러한 실시예들에 대해 다양한 변형은 당업자에게 손쉽게 명백하고, 여기 정의된 일반적인 원리들은 본 발명의 사상과 범위를 벗어나지 않고서 다른 실시예에 적용될 수 있다. 따라서, 본 발명이 이상 제시된 실시예들에 한정하고자 하는 것이 아니라, 청구항들에 따르는 모든 범위에 일치시키고자 함이며, 단수의 구성요소들에 대한 참조는 특별히 언급하지 않은 이상 "하나 및 단 하나"를 의미하고자 하는 것이 아니라 오히려 "하나 또는 그 이상"을 의미하고자 하는 것이다. 당해 기술분야에서 통상의 지식을 가진 자들에게 알려지거나 또는 후에 알려지게 되는 본 실시예를 통틀어 제시된 다양한 실시예의 구성요소들의 모든 구조적 그리고 기능적 균등물들은 여기에 참조로서 명백히 구체화되었으며 청구항에 의해 포함될 것이다. 또한, 여기에 제시하지 않은 어떤 것도 그러한 제시를 청구항에서 명백히 기술하지 않았을지라도 공중에 기여하고자 하는 것은 아니다. 35 U.S.C. §112, 6 절의 조항하에서, 구성요소가 명백히 "수단" 어구를 이용하여 열거되거나 방법 청구항의 경우가 아니라면, 어떠한 청구항 구성요소도 상기 구성요소가 "단계"를 이용하여 열거되는 것으로 해석되지 않는다.

Claims (41)

  1. 전송 채널을 갖는 버스;
    수신소자; 및
    상기 전송 채널을 통해 페이로드를 상기 수신소자로 방송하고, 상기 페이로드 방송 동안 개시된 각각의 새로운 버스 동작을 위해 상기 페이로드의 방송을 최대 인터럽트 횟수까지 인터럽트하고, 상기 각각의 인터럽트 동안 상기 전송 채널을 통해 상기 새로운 버스 동작들 중 다른 하나를 상기 수신소자로 시그널링(signal)하며, 상기 각각의 인터럽트들 후에 상기 전송 채널을 통해 상기 페이로드의 방송을 재개하도록 구성된 전송소자를 포함하며,
    상기 전송 채널은 기록 주소, 기록 데이터, 및 판독 어드레스를 동일한 상기 전송 채널을 통해 전달하도록 구성된,
    처리 시스템.
  2. 제 1 항에 있어서,
    상기 새로운 버스 동작들 중 적어도 하나는 판독 동작을 포함하는 처리 시스템.
  3. 제 1 항에 있어서,
    상기 최대 인터럽트 횟수는 프로그램가능(programmable)한 처리 시스템.
  4. 제 1 항에 있어서,
    상기 전송소자는 상기 페이로드 방송이 상기 최대 횟수로 인터럽트된 이후에 발생하는 상기 페이로드 방송 동안 개시된 각각의 새로운 버스 동작들을 상기 수신소자에 시그널링하는 것을 지연시키도록 추가로 구성된 처리 시스템.
  5. 제 1 항에 있어서,
    상기 전송소자는 계수기(counter)를 더 포함하며, 상기 전송소자는 최대 인터럽트 수와 동일한 값으로 상기 계수기를 로드(load)하고, 상기 페이로드 방송이 인터럽트될 때마다 상기 값을 감소시키며, 일단 상기 값이 영에 도달하면 인터럽트 없이 상기 페이로드 방송을 완료시키도록 추가로 구성된 처리 시스템.
  6. 전송채널을 갖는 버스를 통한 전송소자와 수신소자 간의 교신 방법으로서,
    전송채널을 통해 페이로드를 상기 전송소자로부터 상기 수신소자로 방송하는 단계;
    상기 페이로드의 방송 동안 상기 전송소자에 의해 개시된 각각의 새로운 버스 동작을 위해 상기 페이로드 방송을 최대 인터럽트 횟수까지 인터럽트하는 단계;
    상기 각각의 인터럽트 동안에 상기 전송채널을 통해 상기 새로운 버스 동작들 중 다른 하나를 상기 전송소자에 의해 상기 수신소자로 시그널링하는 단계; 및
    상기 각각의 인터럽트 후에 상기 전송채널을 통해 상기 전송소자에 의해 상기 수신소자로 상기 페이로드의 방송을 재개하는 단계를 포함하며,
    상기 전송 채널은 기록 주소, 기록 데이터, 및 판독 어드레스를 동일한 상기 전송 채널을 통해 전달하도록 구성된,
    교신 방법.
  7. 제 6 항에 있어서,
    상기 새로운 버스 동작들 중 적어도 하나는 판독 동작을 포함하는 교신 방법.
  8. 제 6 항에 있어서,
    상기 인터럽트의 최대 횟수는 프로그램가능한 교신 방법.
  9. 제 6 항에 있어서,
    상기 페이로드 방송이 상기 최대 횟수로 인터럽트된 이후에 발생하는 상기 페이로드 방송 동안 개시된 상기 각각의 새로운 버스 동작들을 상기 전송소자에 의해 상기 수신소자로 시그널링하는 것을 지연시키는 단계를 더 포함하는 교신 방법.
  10. 제 6 항에 있어서,
    상기 전송소자는 계수기를 더 포함하며, 상기 방법은 상기 최대 인터럽트 수와 동일한 값으로 상기 계수기를 로드(load)하는 단계, 상기 페이로드 방송이 인터럽트될 때마다 상기 값을 감소시키는 단계, 및 일단 상기 값이 영에 도달하면 인터럽트 없이 상기 페이로드의 방송을 완료시키는 단계를 더 포함하는 교신 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
KR1020077008483A 2004-09-15 2005-09-12 버스의 전송 채널에 대역폭을 할당하기 위한 방법 및 장치 KR100874073B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/942,291 2004-09-15
US10/942,291 US7185123B2 (en) 2004-09-15 2004-09-15 Method and apparatus for allocating bandwidth on a transmit channel of a bus

Publications (2)

Publication Number Publication Date
KR20070053340A KR20070053340A (ko) 2007-05-23
KR100874073B1 true KR100874073B1 (ko) 2008-12-12

Family

ID=35429408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077008483A KR100874073B1 (ko) 2004-09-15 2005-09-12 버스의 전송 채널에 대역폭을 할당하기 위한 방법 및 장치

Country Status (8)

Country Link
US (1) US7185123B2 (ko)
EP (1) EP1839164A1 (ko)
JP (1) JP2008513886A (ko)
KR (1) KR100874073B1 (ko)
CN (1) CN100476772C (ko)
BR (1) BRPI0515294A (ko)
IL (1) IL181846A0 (ko)
WO (1) WO2006031850A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100529326B1 (ko) * 2003-06-24 2005-11-17 삼성전자주식회사 프린팅 데이타의 처리 방법과 장치 및 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체
US7209998B2 (en) * 2004-02-04 2007-04-24 Qualcomm Incorporated Scalable bus structure
US7536479B2 (en) * 2004-11-09 2009-05-19 Intel Corporation Local and remote network based management of an operating system-independent processor
US7526570B2 (en) * 2005-03-31 2009-04-28 Intel Corporation Advanced switching optimal unicast and multicast communication paths based on SLS transport protocol
US8463589B2 (en) 2006-07-28 2013-06-11 Synopsys, Inc. Modifying a virtual processor model for hardware/software simulation
US8644305B2 (en) 2007-01-22 2014-02-04 Synopsys Inc. Method and system for modeling a bus for a system design incorporating one or more programmable processors

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020073208A (ko) * 2000-02-08 2002-09-19 탠티비 커뮤니케이션즈, 인코포레이티드 무선 통신 시스템용 액세스 채널 조직화 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1915944A (en) * 1931-04-16 1933-06-27 Robert Forgie Hunter Projection screen
JPS63231665A (ja) * 1987-03-20 1988-09-27 Fujitsu Ltd バス有効利用方式
US5388237A (en) * 1991-12-30 1995-02-07 Sun Microsystems, Inc. Method of and apparatus for interleaving multiple-channel DMA operations
US5386532A (en) * 1991-12-30 1995-01-31 Sun Microsystems, Inc. Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels
JPH0998362A (ja) * 1995-09-29 1997-04-08 Nec Corp マルチメディア通信システム
US5991520A (en) * 1996-02-02 1999-11-23 Sony Corporation Application programming interface for managing and automating data transfer operations between applications over a bus structure
US6631435B1 (en) * 1996-02-02 2003-10-07 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US5794072A (en) * 1996-05-23 1998-08-11 Vlsi Technology, Inc. Timing method and apparatus for interleaving PIO and DMA data transfers
JPH10334039A (ja) * 1997-05-27 1998-12-18 Shikoku Nippon Denki Software Kk バースト転送装置
US5937199A (en) * 1997-06-03 1999-08-10 International Business Machines Corporation User programmable interrupt mask with timeout for enhanced resource locking efficiency
JP2000082019A (ja) * 1998-09-07 2000-03-21 Hitachi Ltd データ転送制御装置
US6748442B1 (en) * 1998-12-21 2004-06-08 Advanced Micro Devices, Inc. Method and apparatus for using a control signal on a packet based communication link
US6295573B1 (en) * 1999-02-16 2001-09-25 Advanced Micro Devices, Inc. Point-to-point interrupt messaging within a multiprocessing computer system
EP1059588A1 (en) * 1999-06-09 2000-12-13 Texas Instruments Incorporated Multi-channel dma with request scheduling
NO315264B1 (no) * 2001-01-23 2003-08-11 Tomra Systems Asa Deteksjonssystem
US8051212B2 (en) * 2001-04-11 2011-11-01 Mellanox Technologies Ltd. Network interface adapter with shared data send resources
US6748412B2 (en) * 2001-09-26 2004-06-08 Intel Corporation Square-and-multiply exponent processor
US6868264B2 (en) * 2001-12-13 2005-03-15 International Business Machines Corporation Method and apparatus for managing audio broadcasts in an automobile

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020073208A (ko) * 2000-02-08 2002-09-19 탠티비 커뮤니케이션즈, 인코포레이티드 무선 통신 시스템용 액세스 채널 조직화 방법

Also Published As

Publication number Publication date
US20060136615A1 (en) 2006-06-22
WO2006031850A1 (en) 2006-03-23
BRPI0515294A (pt) 2008-07-15
JP2008513886A (ja) 2008-05-01
EP1839164A1 (en) 2007-10-03
KR20070053340A (ko) 2007-05-23
CN100476772C (zh) 2009-04-08
US7185123B2 (en) 2007-02-27
CN101052953A (zh) 2007-10-10
IL181846A0 (en) 2007-07-04

Similar Documents

Publication Publication Date Title
US7913021B2 (en) Scalable bus structure
EP1709543B1 (en) A multiple address two channel bus structure
US7096296B2 (en) Supercharge message exchanger
US7739425B2 (en) Two channel computer bus architecture
US20030061431A1 (en) Multiple channel interface for communications between devices
KR100874073B1 (ko) 버스의 전송 채널에 대역폭을 할당하기 위한 방법 및 장치
KR101699784B1 (ko) 버스 시스템 및 그것의 동작 방법
US7617343B2 (en) Scalable bus structure
US20110022745A1 (en) Interfacing device and method, for example for systems-on-chip
US6763405B2 (en) Process for interfacing a microprocessor with a packet based device and respective system
JPH03139751A (ja) 優先度判定機能を有する通信用dmaコントローラ
JP2000295295A (ja) ブロック・データ転送用バッファメモリ及びシリアルデータ送受信システム
JPH0546529A (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
LAPS Lapse due to unpaid annual fee