KR20000076086A - 신축적인 버스 인터페이스 데이터 버퍼 - Google Patents

신축적인 버스 인터페이스 데이터 버퍼 Download PDF

Info

Publication number
KR20000076086A
KR20000076086A KR1019997008174A KR19997008174A KR20000076086A KR 20000076086 A KR20000076086 A KR 20000076086A KR 1019997008174 A KR1019997008174 A KR 1019997008174A KR 19997008174 A KR19997008174 A KR 19997008174A KR 20000076086 A KR20000076086 A KR 20000076086A
Authority
KR
South Korea
Prior art keywords
data
register
signal
bus
clock cycle
Prior art date
Application number
KR1019997008174A
Other languages
English (en)
Other versions
KR100337059B1 (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 KR20000076086A publication Critical patent/KR20000076086A/ko
Application granted granted Critical
Publication of KR100337059B1 publication Critical patent/KR100337059B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Dram (AREA)

Abstract

신축 버스 인터페이스는 외부 데이터 전송 신호(28)를 수신하여 기록하며, 상기 외부 데이터 전송 신호의 도달 시간에 관계없이 연속적인 클럭 사이클의 개시 시에 항상 시작하는 내부 데이터 전송 신호(44)를 생성한다. 파이프 라인으로 다수의 데이터 출력 레지스터(54, 56)를 채용하고, 상기 내부 데이터 전송 신호만을 이용하여 데이터를 버스(25)에 공급함으로써, 거의 완전한 클럭 사이클이 데이터 전송을 수행하기 위한 셋업 시간에 이용 가능하게 되는 것을 보증한다. 본 발명은 통상의 간단한 회로 및 최소한의 칩 면적과 전력을 필요로 하는 최신의 처리 기하학만을 이용하는 고속의 버스로 동작할 수 있다.

Description

신축적인 버스 인터페이스 데이터 버퍼{ELASTIC BUS INTERFACE DATA BUFFER}
컴퓨터 시스템은 버스와 같은 통신 채널을 통해 장치들간에 데이터를 전송한다. 버스 트랜잭션에서, 통상적으로 장치는 들어오고 나가는 유효한 데이터를 래치하는 인에이블 신호로서 하나 또는 그 이상의 버스 신호를 이용한다. 또한, 이 버스 신호는 버스의 상태를 나타내는 데 이용된다.
예를 들면, 동기 버스를 포함한 많은 형태의 버스 설계에서 버스 속도는 증가되고 있다. 버스 속도가 증가함에 따라 버스를 통해 데이터를 장치 외부로 전송함에 있어서 문제점이 야기될 수 있다. 인에이블 신호가 수신되면, 장치는 데이터를 장치로부터 버스에 접속된 데이터 출력 레지스터로 이동시키는 데 미세한 양의 시간을 필요로 한다. "셋업 시간"으로 지칭되는 이 시간 동안, 장치는 버스 상태에 관해 판정해야 한다. 예를 들면, 이러한 판정에는 다수의 데이터 소스 및 데이터 레지스터 중에서 하나를 선택하는 것이 포함될 수 있다.
넓은 데이터 버스에 대해서는 셋업 타임이 더 크게 요구된다. 이러한 버스에서, 신호가 논리 경로를 통해 희망하는 데이터 소스에 도달되도록 인에이블 신호의 광범위한 팬 아웃(fan-out)이 요구된다. 이 팬 아웃은 인에이블 신호를 느리게 하기 때문에 요구되는 셋업 시간을 증가시킨다. 이것은 고속 버스에서의 감소된 셋업 시간에 의해 야기된 문제를 악화시킨다. 고속 버스에서 셋업 시간을 줄이는 문제는 제어 및 데이터 경로에 대해 매우 빠른 논리 회로를 이용함으로써 해결되었다. 그러나, 이 논리 회로는 일반적으로 정교한 처리 기하학을 요구하며, 이것은 큰 침 면적을 차지하고 과도한 전력을 소모한다. 팬 아웃 문제는 이 논리 회로를 구동하는 인에이블 신호를 다중 복사하여 이용함으로써 처리되었다. 복사된 신호 각각의 팬 아웃은 낮아지고 로딩 처리 동안의 신호 지연도 감소된다. 그러나, 상기 인에이블 신호를 다중 복사하여 이용하는 것은 추가적인 칩 면적을 요구하게 되며 과도한 전력을 소모하게 된다.
2개의 장치를 포함하는 통상적인 버스 트랜젝션에서, 장치 중의 하나는 데이터 소스이며, 다른 장치는 제1 장치에 의해 버스에 제공된 데이터 목록을 수신한다. 도 1은 컴퓨터 시스템(10)의 구성 요소 간에 데이터를 전송하는 통상적인 시스템의 트랜젝션을 보여주고 있다. 통상적으로, 컴퓨터 시스템(10)은 근거리 통신망(15)으로 연결된 컴퓨터, 프린터 및 서버와 같은 노드(12)를 포함한다. 근거리 통신망(15 : LANs)은 자체가 광역 통신망(17 : WAN)으로 연결될 수 있다. 또, 각 컴퓨터(12)는 통신 링크(25)를 통해 디스크 드라이브 또는 다른 주변 구성 요소와 같은 장치(22)에 접속될 수 있다. 통신 링크(25)로는 소형 컴퓨터 시스템 인터페이스(SCSI) 버스 또는 주변 장치 상호 접속(PCI) 버스와 같이 널리 사용되는 인터페이스가 사용될 수 있다. 각 장치(22)는 버스 인터페이스 유닛(27 : BIU)에 의해 통신 링크(25)에 접속된다.
도 2에는 버스 인터페이스 유닛(27)과 버스(25)에 접속된 도 1의 장치(22) 중의 하나가 도시되어 있다. 데이터 전송 신호(28)는 버스로부터 수신되고, 버스 프로토콜 제어 유닛(30), 제1 논리 회로(32) 및 제2 논리 회로(34)에 의해 처리된다. 버스 프로토콜 제어 유닛(30)은 데이터 전송 신호(28)에 앞서 수신된 데이터 패킷을 해석하여 버스 트랜젝션의 정확한 상태를 결정하며, 이것은 데이터 포인터(36)를 갱신시킨다. 예를 들면, 로직 회로(32)는 데이터 전송 신호가 다수의 데이터 소스 중에서 정확한 데이터 소스로 향하도록 지시하는 데 이용된다. 또한, 로직 회로(32)는 데이터 포인터(34)를 증분시키고, 정확한 데이터를 선택하며, 버스 프로토콜을 결정하는 등의 동작을 수행할 것이다. 로직 회로(34)는 다수의 데이터 출력 레지스터(38) 중에서 소망의 레지스터를 선택하는 데 이용된다.
초기 상태에서, 데이터 전송 신호(28)가 발생되고, 장치(22)의 데이터 포인터(36)가 버스 트랜젝션의 상태를 반영하도록 업데이트된다. 또한, 장치(22)로부터의 다음 데이터 항목이 상기 출력 레지스터(38)에 래치된다. 이후, 데이터 항목은 다음 클럭 에지에서 버스(25)를 통해 수신 장치[예를 들면, 다른 장치(22)]에 의해 취해진다. 통상적으로, 이 데이터 항목은 16비트 또는 32비트 워드를 구성하게 된다.
도 3은 데이터 전송 신호(28)가 데이터 포인터(36)의 업데이트 및 새로운 데이터 목록의 데이터 출력 레지스터(38)로의 로딩을 제어하는 데 어떻게 이용되는 지를 나타낸 종래 기술의 타이밍 도면이다. 특히, 도 3은 7클럭 사이클을 도시하고 있고, 2번째 클럭 사이클에서, 데이터 전송 신호가 수신되며, 이것은 다음 클럭의 에지에서 상기 데이터 포인를 갱신시키게 된다. 이것은 화살표(N+1)로 표시된다. 동시에, 상기 새로운 데이터 목록(N+1)이 데이터 레지스터(38)로 로딩되어 버스(25)에서 이용가능하게 된다. 이와 유사한 동작이 클럭 사이클 "4" 및 "5"에서 반복된다.
셋업에 유용한 시간은 데이터 전송 신호가 수신되면서부터 다음 클럭의 에지까지이다. 실질적으로, 데이터는 상기 다음 클럭의 에지에서 전송되며, 셋업 시간은 상당히 변화될 수 있다. 신호가 클럭 사이클에서 늦어지는 경우, 불충분한 셋업 시간이 될 수 있으며, 특히 버스(25)가 빠르게 되어 상기 로직 회로(32, 34)가 상당한 게이트 지연을 갖게 된다.
도 4는 데이터 전송 신호가 주어진 클럭 사이클 내에 다른 점에 도달하는 3가지 경우를 도시하고 있다. 또한, 도 4는 다른 가능한 경우 및 정상적으로는 어떤 주어진 클럭 사이클에서 수신된 단일의 데이터 전송 신호뿐임을 나타낸다.
데이터 전송 신호는 활성 클럭 에지에 대한 클럭 사이클 내의 변화하는 시간에서 나타날 수 있다. 이것은 고속 버스에서, 장치에 대해 데이터 인에이블 신호가 나타나도록 하는 시간 및 버스 클럭 주기 내에서 데이터 인에이블 신호가 디어서트되도록 하는 시간이 없기 때문에 발생한다.
도 4의 제1 예에서, 데이터 전송 신호(28)는 클럭 사이클의 초기에서 수신된다. 시스템에 대해 데이터 전송을 준비하는 셋업 시간은 데이터 전송 신호(28)의 시작으로부터 클럭 사이클의 종료시까지의 시간으로 정의되며, 이 시간 주기는 tS1으로 도시된다. 데이터는 다음 클럭 사이클의 활성 에지에서 데이터 출력 레지스터로 전송될 것이며, 이 경우 tS1은 거의 완전히 긴 클럭 사이클이다. 이것은 고속의 버스(예를 들면, 33㎑의 클럭 사이클에서 동작하는 버스)에 대해서도 충분한 셋업 시간을 제공할 것이며, 여기서 논리 회로(32, 34)는 상대적으로 깊게 된다. 예를 들면, tS1은 거의 30㎱가 될 수 있다.
도 4의 제2 예에서, 데이터 전송 신호는 클럭 사이클의 중간에서 늦게 도달된다. 여기서, tS2로 정의된 유용한 셋업 시간은 제1 예의 셋업 시간의 대략 절반에 불과하여 예를 들면, 15㎱가 될 수 있다. 이 셋업 시간은 대부분의 경우에 적절한 것이 될 것이다.
도 4의 제3 예에서, 데이터 전송 신호는 클럭 사이클의 종료 시점 부근에서도 수신되지 않으며, 이 경우 셋업 시간(tS3)은 예를 들면, 약 5㎱와 같이 매우 작게 된다. 아마, 작은 셋업 시간을 도모하기 위해 전술된 설계 방안이 취해지지 않는다면 충분한 셋업 시간을 제공하지 못 할 것이다. 예를 들면, 이 방법은 미세한 처리 기하학 및 인에이블 신호의 다중 복사 이용을 포함한다. 반면, 셋업 시간(tS3)이 충분치 않다면, 데이터 전송은 발생하지 않거나 또는 칩의 로직에 대한 불충분한 전달 시간으로 인해 에러가 발생할 것이다.
상기한 관점에서, 데이터 전송 신호가 주어진 클럭 사이클에서 늦게 도달되는 경우에도 데이터 전송 신호의 수신 후 적절한 셋업 시간이 이용 가능하게 되도록 보장하면서 데이터를 데이터 소스에서 버스로 전송하는 방법이 요망된다.
본 발명은 이러한 요구를 충족한다.
본 발명은 데이터 관리에 관한 것으로서, 특히 버스를 통한 장치간의 데이터 전송에 관한 것이다.
도 1은 통상적인 종래 컴퓨터 시스템의 블록도이다.
도 2는 버스 인터페이스 유닛을 포함하는 도 1의 컴퓨터 시스템 일부의 블록도이다.
도 3은 도 2에 도시된 종래 컴퓨터 시스템의 데이터 전송 신호에 응답하여 데이터 전송을 수행하는 처리 타이밍도이다.
도 4는 도 2에 도시된 종래 컴퓨터 시스템에 따라 데이터 전송 신호의 다양한 도달 시간에 대한 각각의 타이밍도이다.
도 5는 본 발명에 따른 신축 버퍼와 접속되는 버스 인터페이스 유닛의 블록도이다.
도 6은 본 발명에 따른 신축 버퍼를 이용하는 데이터 전송 처리의 타이밍도이다.
도 7은 본 발명에 따른 외부 데이터 전송 신호의 3개의 다른 도달 시간에 대한 내부 데이터 전송 신호의 타이밍도이다.
여러 도면에서 동일한 참조 번호 및 명칭은 동일한 구성 요소를 나타낸다.
본 발명은 데이터가 장치에서 시스템 버스로 정확하게 전송되도록 한다. 특히, 본 발명은 외부 데이터 전송 신호를 수신하여, 내부에서 이용되는 내부 데이터 전송 신호를 발생한다. 이 내부 데이터 전송 신호는 연속적인 데이터 전송 처리를 제어하는 데 이용된다. 상기 내부 데이터 전송 신호는 외부 데이터 전송 신호의 개시 이후의 클럭 사이클의 시작 후에 짧게 시작되며, 상기 데이터 전송 신호의 종결 이후의 클럭 사이클의 개시 후에 짧게 종결된다.
내부 클럭 사이클의 데이터 전송 신호에 응답하여, 통상적인 셋업 처리는 장치에서 버스로의 데이터 전송을 준비하기 위해 수행된다. 다음 클럭 사이클의 활성 에지 시간에서, 데이터는 첫 번째 한 쌍의 데이터 출력 레지스터에 전송된다. 내부 데이터 전송 신호가 항상 클럭 사이클의 개시 근처에서 시작되기 때문에, 시스템은 전송이 다음 클럭 사이클의 개시에서 발생되기 전에 항상 셋업을 위한 완전한 클럭 사이클을 갖게 된다.
매 시간 새로운 데이터 항목이 제1 데이터 출력 레지스터에 전송되고, 상기 제1 데이터 출력 레지스터의 데이터가 제2 데이터 출력 레지스터에 전송된다. 상기 제1 및 제2 데이터 출력 레지스터는 매 클럭 사이클동안 데이터를 포함하게 된다. 제1 레지스터로부터의 데이터는 내부 데이터 전송 신호가 클럭 사이클의 활성 에지 다음 바로 직후의 소정 시간에 존재할 때, 버스에 이용가능하게 된다. 제2 레지스터로부터의 데이터는 내부 데이터 전송 신호가 클럭 사이클의 활성 에지 다음 바로 직후의 소정 시간에 존재하지 않을 때, 버스에 이용가능하게 된다.
본 발명은 다음 클럭 사이클동안, 내부 데이터 전송 신호의 형태로 외부 데이터 전송 신호의 래치 버전을 이용한다. 이 내부 신호가 항상 클럭 사이클의 개시 무렵에 시작되기 때문에, 신호에 좌우되는 로직은 요구되는 셋업을 달성하기 위한 거의 전부의 클럭 주기를 갖게 된다. 제1 데이터 출력 레지스터와 함께 이용되는 제2 데이터 출력 레지스터는 데이터가 각 레지스터로부터 버스로 출력되도록 한다. 여기서, 내부 데이터 전송 신호가 지연되더라도 버스를 위해 준비된 데이터가 항상 있게 된다. 이 결과는 병렬 데이터 전송 신호를 이용하지 않고, 최신의 처리 기하학을 갖고 고속의 버스 트랜잭션을 처리할 수 있는 신축 버퍼이다.
본 발명의 바람직한 실시예에 대한 상세한 설명은 첨부된 도면을 참조하여 이하에 설명된다. 일단 본 발명의 상세한 설명이 알려지면, 많은 추가적인 혁신 및 변형이 당업자들에 의해 생길 것이다.
이하에서 설명되는 바람직한 실시예는 본 발명을 제한하기 위한 것이 아니라 예시를 목적으로 하는 것이다.
도 5는 본 발명에 따른 신축 버스 인터페이스(40)의 예를 도시하고 있다. 상기 신축 버스 인터페이스(40)는 장치(22)를 포함하는 데이터 소스 및 버스(25)에 접속된다. 외부 데이터 전송 신호(28)는 도 2에 도시된 대응 신호와 동일한 방법으로 수신된다. 클럭(29)은 클럭 신호를 발생한다. 본 발명에 따라, 상기 외부 데이터 전송 신호(28)는 내부 데이터 전송 레지스터(42)에 의해 수신되어 저장된다. 상기 외부 데이터 전송 신호가 수신된 클럭 사이클의 다음 클럭 사이클의 활성 에지 바로 직후, 상기 내부 데이터 전송 레지스터(42)는 내부 데이터 전송 신호(44)를 발생한다. 예를 들면, 33㎒를 갖는 고속 버스에서, 상기 내부 데이터 전송 신호는 외부 데이터 전송 신호(28) 다음의 클럭 사이클의 활성 에지 후, 거의 1 내지 2㎱에서 시작된다. 일단 상기 내부 데이터 전송 신호(44)가 발생되면, 상기 외부 데이터 전송 신호(28)는 더 이상 신축 버스 인터페이스(40)의 다운 스트림 성분으로 이용되지 않게 된다.
상기 내부 데이터 전송 신호는 제어 장치인 버스 프로토콜 제어 유닛(46)에 전송된다. 상기 버스 프로토콜 제어 유닛(46)은 다양한 구성 성분을 갖는 신축 버스 인터페이스(40)의 동작을 제어하며, 도 2에 도시된 버스 프로토콜 제어 유닛(30)와 유사한 통상적인 버스 프로토콜 유닛을 포함할 수 있다.
상기 내부 데이터 전송 신호(44)와 버스 프로토콜 제어 유닛(46)으로부터의 신호는 제1 및 제2 로직 회로(48, 50)에 의해 수신된다. 상기 제1 로직 회로(48)는 다수의 데이터 소스 가운데 선택할 데이터 소스를 결정하며, 상기 버스 프로토콜 제어 유닛(46)은 이 선택을 제어한다. 동시에, 데이터 포인터(52)는 다음의 적절한 데이터 주소로 증가된다. 셋업 시간은 상기 내부 데이터 전송 신호(44)의 수신 후에 이들 단계를 달성하기 위한 시간이다. 이것은 상기 내부 데이터 전송 신호가 항상 클럭 사이클의 활성 에지 바로 직후에 뒤따르기 때문에, 데이터가 실질적으로 다음 클럭 사이클의 활성 에지에서 전송되기 전, 셋업을 수행하는 데에 유용한 하나의 완전한 클럭 사이클이 될 것이라는 것은 주목할 만한 것이다.
또한, 로직 회로(50)는 상기 내부 데이터 전송 신호(44) 및 버스 프로토콜 제어 유닛(46)의 신호를 수신하여 다수의 다른 데이터 출력 레지스터(도시 생략) 가운데 적절한 제1 데이터 출력 레지스터(54)를 선택하게 된다. 상기 제1 데이터 출력 레지스터(54)는 라인(60) 및 라인(62)을 통해 각각 제2 데이터 출력 레지스터(56)와 멀티플렉스 유닛(58)에 접속된다. 상기 제2 데이터 출력 레지스터(56)는 라인(64)을 통해 상기 멀티플렉스 유닛(58)에 접속되며, 상기 제1 및 제2 데이터 출력 레지스터(54, 56)는 2단 신축 버퍼를 형성한다.
일단, 상기 제1 및 제2 로직 클라우드(48, 50)가 내부 데이터 전송 신호(44)에 응답하여 셋업 작업을 수행하면, 상기 신축 버스 인터페이스(40)는 데이터 전송 준비가 갖추어진다. 이것은 다음 클럭 사이클의 활성 에지 시간에서 발생하게 된다. 이것이 발생할 때, 상기 데이터 포인터(52)에 의해 지정된 데이터 항목은 상기 제1 데이터 출력 레지스터(54)의 출력에 전송된다. 상기 멀티플렉스 유닛(58)은 제1 및 제2 데이터 출력 레지스터 양쪽으로부터의 출력을 수신하며, 상기 멀티플렉스 유닛(58)의 출력은 시스템 버스(25)에 접속된다.
새로운 데이터 아이템이 소스(22)로부터 제1 데이터 출력 레지스터(54)로 전송됨과 동시에, 이전의 데이터 항목은 제1 데이터 출력 레지스터(54)로부터 제2 데이터 출력 레지스터(56)로 전송된다. 이러한 방법으로, 상기 제1 및 제2 데이터 출력 레지스터는 항상 데이터를 포함하는 2단 파이프 라인을 제공하게 된다.
상기 제1 또는 제2 데이터 출력 레지스터(54, 56)로부터의 데이터를 상기 버스(25)로 전송할 것인지의 결정은 상기 내부 데이터 전송 신호(44)의 상태 함수로서 멀티플렉스 유닛(58)에 의해 이루어진다. 일반적으로, 상기 제1 데이터 출력 레지스터(54)의 데이터는 내부 데이터 전송 신호(44)가 클럭 사이클의 활성 에지의 바로 직후에 활성이 된 때, 상기 버스(25)에서 이용가능하게 된다. 상기 제2 데이터 출력 레지스터(56)의 데이터는 내부 데이터 전송 신호(44)가 클럭 사이클의 활성 에지의 바로 직후에 존재하지 않게 된 때, 상기 버스(25)에서 이용가능하게 된다.
상기 신축 버스 인터페이스(40)의 동작은 도 6에 도시된 타이밍도에 의해 설명된다. 상기 타이밍도는 도 5에 도시되지 않은 클럭 신호(66, 66), 외부 데이터 전송 신호(28) 및 내부 데이터 전송 신호(44)를 포함한다. 이들 신호는 8클럭 사이클동안 수치화된 0부터 7을 나타내고 있다.
또한, 도 6은 데이터 포인터와 버스의 상태, 연속적인 데이터 항목(N, N+1, N+2, N+3, N+4)의 흐름을 도시하고 있다.
클럭 사이클이 제로인 때, 상기 외부 데이터 전송 신호(28)와 내부 데이터 전송 신호(44) 모두 존재하지 않으며, 이 상태에서는 어떠한 변화도 발생되지 않는다. 이 조건에서, 상기 버스(25)는 제2 데이터 출력 레지스터(56)에 존재하는 데이터 항목을 이용가능한 상태로 갖게 된다. 상기 제1 및 제2 데이터 출력 레지스터는 항상 데이터에 로드되어 있고, 상기 제1 데이터 출력 레지스터(54)는 현재 또는 다음의 데이터 항목을 포함하게 되며, 상기 제2 데이터 출력 레지스터는 현재 또는 이전의 데이터 항목을 포함하게 된다.
클럭 사이클이 1인 때, 상기 외부 데이터 전송 신호(28)가 수신되고, 본 발명에 따라 이 신호는 상기 내부 데이터 전송 레지스터(42)에 기록되며, 상기의 연속적인 클럭 사이클 동안 어떤 움직임도 행해지지 않는다. 상기 외부 데이터 전송 신호의 존재로부터 데이터 아이템(N)이 버스(25)를 통해 최종의 수신처(도시 생략)에 전송된다는 것을 추측할 수 있다. 번호 2의 클럭 사이클의 활성 에지는 상기 내부 데이터 전송 레지스터(42)를 트리거하여 내부 데이터 전송 신호(44)를 발생한다. 설명된 예에서, 이 신호는 상기 클럭 사이클의 도입 에지 후 거의 1 내지 2㎱에서 시작될 것이다. 도 6의 타이밍도는 상기 활성 에지로서 클럭의 상승 에지를 도시하고 있다.
상기 내부 데이터 전송 신호의 존재는 멀티플렉스 유닛(58)으로 하여금 상기 제1 레지스터(N+1)의 내용이 버스에 이용가능하도록 한다. 따라서, 레지스터 하나는 출력 데이터(N+1)를 포함하며, 레지스터 두 개는 낡은(오래된) 데이터를 포함하게 된다. 대부분 2개의 클럭 사이클동안, 상기 신축 버스 인터페이스(40)는 상기한 셋업 처리를 수행하여 적절한 데이터 소스로부터 다음에 요구되는 데이터가 번호 3의 클럭 사이클의 활성 에지에서 적절한 데이터 출력 레지스터로 전송될 수 있도록 한다. 번호 3의 클럭 사이클의 시작에서, 상기 데이터 포인터(52)는 다음 데이터 항목(N+2)으로 전진하여 이 데이터를 상기 제1 데이터 출력 레지스터(54)에 로딩한다. 다시 말하면, 상기 제1 및 제2 데이터 출력 레지스터는 이전의 클럭 사이클에서 로딩된 새로운 데이터 항목을 갖게 된다. 또한, 상기 데이터 항목(N+1)은 제3 클럭 사이클동안 전송되며, 상기 제2 데이터 출력 레지스터(56)가 출력 데이터(N+1)를 포함하게 된다. 상기 제3 클럭 사이클에서, 상기 외부 데이터 전송 신호는 클럭 사이클의 활성 에지의 개시시에 존재하지 않게 되며, 상기 내부 데이터 전송 신호는 제3 클럭 사이클의 활성 에지의 바로 직후에 종료하게 된다.
또한, 상기 제3 클럭 사이클 동안 연속적인 외부 데이터 전송 신호(28)가 수신된다. 이것은 상기 내부 데이터 전송 레지스터(42)로 하여금 연속적인 클럭 사이클의 활성 에지의 바로 직후에 내부 데이터 전송 신호를 발생하도록 한다. 번호 4의 클럭 사이클 동안, 상기 내부 데이터 전송 신호가 클럭 사이클의 활성 에지에서 존재하지 않았기 때문에, 상기 데이터 포인터는 증가되지 않는다. 그러나, 상기 활성 에지 후에 상기 내부 데이터 전송 신호(44)의 개시는 제1 데이터 출력 레지스터의 데이터가 상기 버스에 전송되도록 한다. 또한, 상기 번호 4의 클럭 사이클 동안, 상기 제2 데이터 출력 레지스터(56)는 낡은 데이터를 포함하게 된다.
상기 번호 4의 클럭 사이클에서, 상기 두 레지스터(54, 56)는 새로운 데이터 항목으로 로딩되며, 이 내용에서 "로딩"은 데이터가 버스(25)로 전송될 준비가 되도록 하기 위해 상기 내부 데이터 전송 신호에 응답하여 필요로 되는 셋업을 수행하는 것을 의미한다.
번호 5의 클럭 사이클에서, 상기 두 데이터 출력 레지스터는 상기 번호 4의 클럭 사이클에서 로딩된 새로운 데이터 항목을 갖게 된다. 즉, 상기 제1 데이터 출력 레지스터(54)는 새로운 데이터 항목(N+3)을 수신하며, 상기 제2 데이터 출력 레지스터(56)는 제1 데이터 출력 레지스터(54)로부터 새로운 데이터 항목(N+2)을 수신하게 된다. 이와 비슷하게, 상기 내부 데이터 전송 신호가 번호 5의 클럭 사이클에서 나타났기 때문에, 상기 데이터 포인터는 다음 데이터 항목으로 전진한다. 또한, 상기 번호 5의 클럭 사이클에서 상기 제2 데이터 출력 레지스터(56)는 낡은 데이터를 포함하며, 상기 내부 데이터 전송 신호(44)가 번호 5의 클럭 사이클의 활성 에지의 바로 직후에 존재하기 때문에, 상기 제1 데이터 출력 레지스터(54)는 버스에 이용가능한 출력 데이터를 포함하게 된다. 따라서, 상기 N+3 데이터 항목은 버스 상에 전송될 준비가 된다. 또한, 상기 내부 데이터 전송 신호는 번호 5의 클럭 사이클의 활성 에지의 바로 직후에 존재하기 때문에, 제1 및 제2 데이터 출력 레지스터 모두는 다음의 데이터 항목으로 로딩된다.
번호 6의 클럭 사이클에서, 상기 내부 데이터 전송 신호는 클럭 사이클의 활성 에지의 바로 직후에 존재하지 않는다. 또, 상기 제2 데이터 출력 레지스터(56)는 제1 데이터 출력 레지스터(54) 대신에 출력 데이터(N+3)를 포함하게 된다. 다시 말하면, 상기 내부 데이터 전송 신호의 부재는 어떠한 새로운 데이터 항목이 전송 준비가 되지 않아야 함을 나타낸다. 그러나, 이 데이터 항목은 제2 데이터 출력 레지스터로부터 이용가능하게 되어 상기 제1 데이터 출력 레지스터가 새로운 데이터 항목(N+4)로 프리 로드되도록 한다. 이 작업은 상기 내부 데이터 전송 신호(44)가 번호 6의 클럭 사이클의 활성 에지 시간에 존재하였기 때문에 발생하게 된다.
번호 7의 클럭 사이클에서, 어떠한 내부 데이터 전송 신호도 클럭 사이클의 활성 에지에 존재하지 않는다. 결과적으로, 상기 데이터 포인터는 이동되지 않고 N+4를 유지하게 된다. 따라서, 상기 제1 데이터 출력 레지스터(54)는 데이터 항목(N+4)을 유지하며, 상기 제2 데이터 출력 레지스터(56)도 데이터 항목(N+3)을 유지하게 된다. 이제, 상기 제2 데이터 출력 레지스터(56)는 버스로 전송될 준비가 된 출력 데이터를 포함하게 된다.
상기 제1 및 제2 데이터 출력 레지스터(54, 56)와 접속되는 상기 멀티플렉스 유닛(58)과 로직 회로(48, 50)는 클럭 신호와 내부 데이터 전송 신호에 응답하여 상기의 단계를 증가시킬 수 있다. 특히, 상기 멀티플렉스 유닛(58)은 내부 데이터 전송 신호와 클럭 신호의 상태에 근거하여, 상기 버스가 제1 데이터 출력 레지스터(54) 또는 제2 데이터 출력 레지스터(56)의 이용가능한 내용을 갖게 될 것인지를 결정하게 된다.
상기 신축 버스 인터페이스(40)의 바람직한 실시예의 상기한 동작을 요약하기 위해, 이하의 일반적인 룰이 채용된다.
데이터 포인터
상기 내부 데이터 전송 신호가 클럭 사이클의 활성 에지의 개시 시간에 존재할 때, 상기 데이터 포인터(52)는 다음의 데이터 항목으로 전진한다. 여기서, 선택된 특정 데이터 항목은 상기 버스 프로토콜 제어 유닛(46)에 의해 수신된 다른 신호에 의해 결정된다. 상기 내부 데이터 전송 신호가 클럭 사이클의 개시 시에 존재하지 않을 때, 상기 데이터 포인터는 변화되지 않게 된다.
내부 데이터 전송 신호
외부 데이터 전송 신호가 클럭 사이클의 개시 시에 존재할 때, 상기 내부 데이터 전송 신호는 클럭 사이클의 개시 바로 후에 나타나게 된다(또는, 나타난 채 머무르게 된다). 통상적으로, 이것은 클럭 사이클의 개시 후 거의 1 내지 2㎱가 될 것이다. 상기 외부 데이터 전송 신호가 클럭 사이클의 개시 시에 존재하지 않을 때, 상기 내부 데이터 전송 신호는 클럭 사이클의 활성 에지 바로 후에 디어서트 된다(또는, 디어서트된 채 머무르게 된다).
제1 데이터 출력 레지스터
상기 데이터 포인터(52)가 새로운 데이터 항목(즉, 내부 데이터 전송 신호가 클럭 사이클의 개시 시에 나타나는)을 지정할 때, 상기 제1 데이터 출력 레지스터(54)는 데이터 포인터에 의해 지정된 새로운 데이터 항목을 갖게 된다. 상기 데이터 포인터(52)가 상태를 변화시키지 못하고, 새로운 데이터 항목(즉, 내부 데이터 전송 신호가 클럭 사이클의 개시 시에 나타나지 않는)을 지정할 때, 상기 제1 데이터 출력 레지스터(54)는 상태를 변화시키지 못하게 된다.
제2 데이터 출력 레지스터
상기 내부 데이터 전송 신호가 클럭 사이클의 개시 시에 존재할 때, 상기 제1 데이터 출력 레지스터(54)로부터 새로운 데이터 항목은 상기 제2 데이터 출력 레지스터(56)로 전송된다. 상기 내부 데이터 전송 신호가 클럭 사이클의 활성 에지에서 나타나지 않을 때, 상기 제2 데이터 출력 레지스터(54)에서의 데이터에는 어떠한 변화도 없게 된다.
버스
상기 내부 데이터 전송 신호가 클럭 사이클의 개시 바로 직후에 나타날 때(또는, 나타난 채로 유지될 때), 상기 제1 데이터 출력 레지스터(54)로부터 데이터 항목은 상기 버스에 이용가능하게 된다. 상기 내부 데이터 전송 신호가 클럭 사이클의 활성 에지 바로 직후에 나타나지 않을 때(또는, 디어서트된 채로 유지될 때), 상기 제2 레지스터(56)의 내용은 상기 버스에 이용가능하게 된다.
상기 내부 데이터 전송 신호가 존재하지 않을 때, 상기 버스에 대한 출력으로서 상기 제2 데이터 출력 레지스터(56)를 이용함으로써, 상기 제1 데이터 출력 레지스터는 다음의 데이터 항목으로 프리 로드될 수 있음에 주목한다. 이것은 상기 외부 데이터 전송 신호가 클럭 사이클 내에서 수신되는 시간에 관계없이, 상기 셋업 시간에 대한 완전한 클럭 사이클을 항상 허여하는 동안, 상기 버스로의 끊임없는 데이터의 흐름을 가능하게 한다.
도 7은 상기 외부 데이터 전송 신호가 언제 수신되는 지에 관계없이 거의 전체의 클럭 사이클이 상기 셋업 시간 동안 어떻게 유지되는 지를 도시하고 있다. 제1의 경우에서, 상기 외부 데이터 전송 신호는 클럭 사이클의 개시 직후에 수신된다. 상기 내부 데이터 전송 신호(44)는 후속 클럭 사이클의 활성 에지의 바로 직후에서 시작된다. 데이터 전송은 다음 클럭 사이클의 종료시에 발생하며, 그에 따라 상기 신축 버스 인터페이스(40)에는 셋업을 달성하기 위한 거의 완전한 클럭 사이클인 시간(ts1)이 제공된다. 이 경우, 상기 셋업 시간은 오직 외부 데이터 전송 신호만을 이용하는 통상적인 버스 인터페이스로 이루어질 수 있는 것과 크게 다르지 않다.
제2의 경우에서, 상기 외부 데이터 전송 신호(28)는 클럭 사이클의 거의 중간에서 도달되며, 상기 내부 데이터 전송 신호는 다음 클럭 사이클의 개시 후 바로 시작된다. 상기 셋업 시간(ts2)은 다시 거의 완전한 클럭 사이클이 될 것이며, 여기서 상기 셋업 시간(ts2)은 오직 외부데이터 전송 신호만을 이용하는 통상적인 버스 인터페이스로 이루어질 수 있는 시간의 거의 2배이다.
제3의 경우에서, 상기 외부 데이터 전송 신호(28)는 매우 늦게 클럭 사이클에 도달된다(예를 들면, 클럭 사이클의 종료 전 수 ㎱). 따라서, 상기 내부 데이터 전송 신호는 다음 클럭 사이클 바로 직후에 시작되어 거의 완전한 클럭 사이클인 셋업 시간(ts3)을 제공할 수 있다. 이것은 33㎒에 대해 약 30㎱가 된다. 이 예에서, 상기 외부 데이터 전송 신호(44)가 예를 들면, 클럭 사이클의 종료 전 거의 3㎱에서 도달되는 경우, 상기 신축 버스 인터페이스(40)는 오직 외부 데이터 전송 신호만을 이용하는 통상적인 버스 인터페이스로 이루어질 수 있는 시간의 거의 10배에 달하는 셋업 시간을 허여하게 된다.
요약하면, 본 발명은 데이터 소스에서 버스로의 데이터 전송시, 외부 데이터 전송 신호의 수신 시간에 관계없이 데이터 전송에 필요한 적절한 셋업 시간을 허여하는 간단한 데이터 전송 방법을 제공한다. 내부 데이터 전송 신호는 외부 데이터 전송 신호보다 한 클럭 사이클 늦게 데이터를 전송하는 방법으로 파이프 라인을 구성하는 다수의 데이터 출력 레지스터와 접속되어 이용된다. 이것은 견실하며 적절한 셋업 시간을 유지하도록 하며, 본 발명은 최소의 칩 면적 및 전력을 요구하는 최신의 처리 기하학만을 이용하여 셋업 시간을 달성한다.
본 발명의 많은 실시예가 설명되었지만, 본 발명의 기술적 사상을 벗어나지 않는 범위에서 당야한 변형이 가능하다. 예를 들면, 상기의 바람직한 실시에에서 보여진 것과 다른 회로 구성이 본 발명의 기술을 실행하는 데 채용될 수 있다. 또한, 본 발명의 신축 버스 인터페이스는 단일 칩의 집적 회로 또는 다수의 분리된 회로 상에서 실행될 수 있다. 따라서, 본 발명은 특정하게 설명된 실시예에 한정되지 않으며, 오직 추가된 청구 범위의 사상에 의해서만 한정된다.

Claims (17)

  1. 컴퓨터 버스를 통해 한 장치에서 다른 장치로 데이터를 전송하는 방법에 있어서,
    (a) 다수의 클럭 사이클을 갖는 클럭 신호를 발생하는 단계와;
    (b) 외부 데이터 전송 신호를 수신하는 단계와;
    (c) 상기 외부 데이터 전송 신호에 후속하는 클럭 사이클의 개시 후에 시작되는 내부 데이터 전송 신호를 생성하는 단계와;
    (d) 상기 내부 데이터 전송 신호의 출현에 응답하여 데이터를 상기 장치에서 제1 레지스터로 전송하는 단계와;
    (e) 새로운 데이터가 상기 장치에서 상기 제1 레지스터로 전송될 때마다 기존의 데이터를 상기 제1 레지스터에서 제2 레지스터로 전송하는 단계와;
    (f) 상기 내부 데이터 전송 신호의 출현에 응답하여 상기 제1 레지스터내의 데이터를 상기 버스에 전송하는 단계와;
    (g) 상기 내부 데이터 전송 신호의 부재시에는 상기 제2 레지스터로부터 상기 버스로 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  2. 제1항에 있어서, 상기 내부 데이터 전송 신호가 클럭 사이클의 활성 에지 시간에 제공될 때, 데이터를 상기 장치에서 제1 레지스터로 그리고 상기 제1 레지스터에서 제2 레지스터로 전송하는 단계를 더 포함하는 데이터 전송 방법.
  3. 제2항에 있어서, 상기 내부 데이터 전송 신호가 클럭 사이클의 활성 에지 후의 소정의 시간에 제공될 때, 상기 제1 레지스터내의 데이터를 상기 버스에 전송하는 단계를 더 포함하는 데이터 전송 방법.
  4. 제3항에 있어서, 상기 내부 데이터 전송 신호가 클럭 사이클의 활성 에지 후의 소정의 시간에 제공되지 않을 때, 데이터를 상기 제2 레지스터에서 상기 버스로 데이터를 전송하는 단계를 더 포함하는 데이터 전송 방법.
  5. 제2항에 있어서, 상기 소정 시간은 대략 2㎱ 미만인 데이터 전송 방법.
  6. 컴퓨터 버스를 통해 한 장치에서 다른 장치로 데이터를 전송하는 방법에 있어서,
    (a) 클럭 신호를 제공하는 단계와;
    (b) 데이터 전송 시점을 가리키고, 상기 클럭 신호의 활성 에지에 대해 가변적인 회수로 발생하는 외부 데이터 전송 신호를 포함하는 신호를 수신하는 단계와;
    (c) 상기 외부 데이터 전송 신호의 개시에 후속하는 클럭 사이클의 활성 에지 바로 후에 시작되는 활성 에지를 가지며, 가변적인 양만큼 상기 외부 데이터 전송 신호로부터 지연되는 내부 데이터 전송 신호를 생성하는 단계와;
    (d) 상기 장치의 외부로의 데이터 전송을 제어하기 위해 내부 데이터 전송 신호를 이용하는 단계와;
    (e) 상기 장치의 외부로 전송된 데이터를 제1 레지스터에 저장하는 단계와;
    (f) 상기 내부 데이터 전송 신호의 상태에 따라 상기 데이터를 제1 레지스터에서 제2 레지스터 또는 상기 버스로 전송하는 단계와;
    (g) 상기 내부 데이터 전송 신호의 소정 상태가 나타날 때, 상기 제2 레지스터에서 상기 버스로 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  7. 제6항에 있어서, 상기 내부 데이터 전송 신호의 개시 시에 데이터 소스로부터의 데이터 전송을 위한 준비로 셋업 과정을 시작하는 단계 및 상기 셋업 과정에 이용 가능한 시간이 약 1클럭 사이클이 되도록 연속된 클럭 사이클의 개시 시에 데이터를 전송하는 단계를 더 포함하는 데이터 전송 방법.
  8. 컴퓨터 버스를 통해 한 장치에서 다른 장치로 데이터를 전송하는 방법에 있어서,
    (a) 클럭 신호를 발생하는 단계와;
    (b) 상기 버스로부터 외부 데이터 전송 신호를 수신하는 단계와;
    (c) 상기 외부 데이터 전송 신호를 입력 레지스터에 저장하는 단계와;
    (d) 상기 각 외부 데이터 전송 신호에 후속하는 클럭 사이클의 활성 에지의 바로 직후에 개시하고, 상기 외부 데이터 전송 신호의 종료에 후속하는 클럭 사이클의 활성 에지의 바로 직후에 종료하며, 클럭 사이클의 개시 부근에서 항상 시작되는 내부 데이터 전송 신호를 생성하는 단계와;
    (e) 상기 입력 레지스터로부터 내부 데이터 전송 신호를 출력하는 단계와;
    (f) 상기 내부 데이터 전송 신호가 클럭 사이클의 개시 시에 제공될 때마다 제1 레지스터로부터 제2 레지스터로 기존의 데이터를 전송하는 단계와;
    (g) 상기 내부 데이터 전송 신호가 클럭 사이클의 개시 시에 제공될 때마다 상기 제1 장치로부터 제1 레지스터로 새로운 데이터를 전송하는 단계와;
    (h) 상기 내부 데이터 전송 신호가 클럭 사이클의 개시 바로 직후에 제공될 때마다 상기 제1 레지스터로부터 버스로 데이터를 전송하는 단계와;
    (i) 상기 내부 데이터 전송 신호가 클럭 사이클의 개시 바로 직후에 제공되지 않을 때, 상기 제2 레지스터로부터 버스로 데이터를 전송하는 단계를 포함하고, 상기 제2 레지스터가 자체의 데이터를 상기 버스에 이용 가능하게 하면서 상기 제1 레지스터가 새로운 데이터로 프리 로드되며, 거의 완전한 하나의 클럭 사이클이 상기 장치로부터 제1 레지스터로의 데이터 전송을 수행하는 데 이용 가능한 것을 특징으로 하는 데이터 전송 방법.
  9. 버스 인터페이스에 있어서,
    (a) 다수의 데이터 항목을 포함하는 데이터 소스와;
    (b) 외부 데이터 전송 신호를 생성하는 버스와;
    (c) 상기 버스에 접속되며 활성 에지를 갖는 클럭 신호를 생성하는 클럭과;
    (d) 일부 클럭 사이클 내에서 가변적인 회수로 상기 외부 데이터 전송 신호를 수신하고, 상기 외부 데이터 전송 신호가 수신되는 클럭 사이클에 후속하는 클럭 사이클의 활성 에지의 바로 직후에 시작되는 내부 데이터 전송 신호를 출력으로서 생성하는 입력 레지스터와;
    (e) 상기 내부 데이터 전송 신호 및 클럭 신호에 응답하여 상기 데이터 소스로부터 데이터를 전송하는 데이터 전송 수단과;
    (f) 상기 데이터 전송 수단으로부터 데이터를 수신하는 제1 출력 레지스터와;
    (g) 상기 제1 출력 레지스터로부터 데이터를 수신하는 제2 출력 레지스터와;
    (h) 상기 제1 및 제2 출력 레지스터로부터 데이터를 수신하며, 상기 입력 데이터 전송 신호의 상태에 따라 상기 제1 또는 제2 출력 레지스터로부터의 데이터를 상기 버스에 대한 출력으로서 생성하는 멀티플렉스 유닛을 포함하는 것을 특징으로 하는 버스 인터페이스.
  10. 제8항에 있어서, 상기 내부 데이터 전송 신호는 상기 외부 데이터 전송 신호가 종료하는 클럭 신호에 후속하는 클럭 신호의 활성 에지의 바로 직후에 종료되는 것인 버스 인터페이스.
  11. 제9항에 있어서,
    (a) 상기 데이터 전송 수단에 접속된 신호를 생성하는 버스 프로토콜 컨트롤러와;
    (b) 버스 프로토콜 신호에 따라 다수의 데이터 소스 및 제1 출력 레지스터 중에서 각각을 선택하기 위한 제1 및 제2 로직 회로를 구비하는 데이터 전송 수단을 더 포함하는 버스 인터페이스.
  12. 제10항에 있어서, 상기 데이터 전송 수단은 상기 내부 데이터 전송 신호와 버스 프로토콜 컨트롤러에 의해 제어되어 상기 데이터 소스의 데이터 항목을 선택하는 데이터 포인터를 더 포함하는 버스 인터페이스.
  13. 제9항에 있어서, 상기 데이터 전송 수단은 상기 내부 데이터 전송 신호가 시작할 때 데이터 전송을 위한 준비로 셋업 과정을 개시하는 것인 버스 인터페이스.
  14. 제9항에 있어서, 상기 멀티플렉스 유닛은 상기 내부 데이터 전송 신호가 소정의 시간에 제공될 때에는 제1 출력 레지스터로부터 데이터를 출력하고, 상기 내부 데이터 전송 신호가 소정 시간에 제공되지 않을 때에는 제2 출력 레지스터로부터 데이터를 출력하는 것인 버스 인터페이스.
  15. 제14항에 있어서, 상기 소정 시간은 임의의 주어진 클럭 사이클의 활성 에지 바로 직후인 버스 인터페이스.
  16. 제15항에 있어서, 상기 소정 시간은 임의의 주어진 클럭 사이클의 활성 에지 후의 약 2㎱ 미만인 버스 인터페이스.
  17. 제9항에 있어서, 상기 제1 출력 레지스터는 상기 내부 데이터 전송 신호가 클럭 사이클의 개시 시에 제공될 때 상기 장치로부터의 데이터를 수신하는 것인 버스 인터페이스.
KR1019997008174A 1997-03-10 1998-03-10 탄성 버스 인터페이스 데이터 버퍼 KR100337059B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/813,271 1997-03-10
US8/813,271 1997-03-10
US08/813,271 US5838936A (en) 1997-03-10 1997-03-10 Elastic bus interface data buffer

Publications (2)

Publication Number Publication Date
KR20000076086A true KR20000076086A (ko) 2000-12-26
KR100337059B1 KR100337059B1 (ko) 2002-05-16

Family

ID=25211940

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997008174A KR100337059B1 (ko) 1997-03-10 1998-03-10 탄성 버스 인터페이스 데이터 버퍼

Country Status (7)

Country Link
US (1) US5838936A (ko)
EP (1) EP1008038A4 (ko)
JP (1) JP2000511676A (ko)
KR (1) KR100337059B1 (ko)
AU (1) AU6699698A (ko)
CA (1) CA2283229C (ko)
WO (1) WO1998040819A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493687A (en) * 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US6654897B1 (en) 1999-03-05 2003-11-25 International Business Machines Corporation Dynamic wave-pipelined interface apparatus and methods therefor
US6334163B1 (en) * 1999-03-05 2001-12-25 International Business Machines Corp. Elastic interface apparatus and method therefor
US6571346B1 (en) * 1999-11-05 2003-05-27 International Business Machines Corporation Elastic interface for master-slave communication
US6542999B1 (en) * 1999-11-05 2003-04-01 International Business Machines Corp. System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock
US6954870B2 (en) * 2002-03-12 2005-10-11 International Business Machines Corporation Method for receiver delay detection and latency minimization for a source synchronous wave pipelined interface
US6934867B2 (en) * 2002-05-17 2005-08-23 International Business Machines Corporation Digital system having a multiplicity of self-calibrating interfaces

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2621176B2 (ja) * 1987-05-14 1997-06-18 ソニー株式会社 ワンチツプマイクロコンピユータ
US5619668A (en) * 1992-08-10 1997-04-08 Intel Corporation Apparatus for register bypassing in a microprocessor

Also Published As

Publication number Publication date
CA2283229A1 (en) 1998-09-17
KR100337059B1 (ko) 2002-05-16
EP1008038A1 (en) 2000-06-14
AU6699698A (en) 1998-09-29
WO1998040819A1 (en) 1998-09-17
US5838936A (en) 1998-11-17
EP1008038A4 (en) 2002-08-07
JP2000511676A (ja) 2000-09-05
CA2283229C (en) 2003-07-15

Similar Documents

Publication Publication Date Title
US5070443A (en) Apparatus for write handshake in high-speed asynchronous bus interface
US5708801A (en) Apparatus and method for operating chips synchronously at speeds exceeding the bus speed
JPH07281996A (ja) ライトリクエストインタロックを有するデータ処理装置および方法
JPH0713926A (ja) バッファ制御回路及びその操作方法
US6047113A (en) Network adapters for multi-speed transmissions
IL145275A (en) Elastic interface equipment and method for it
JPH076130A (ja) Fifoのデータ速度適合のための方法ならびにその装置
US6968447B1 (en) System and method for data forwarding in a programmable multiple network processor environment
KR20000076086A (ko) 신축적인 버스 인터페이스 데이터 버퍼
GB2321351A (en) Data transfer across clock domains
US5951656A (en) Method and system for controlling queue deletions in which pointer corresponding to item to be deleted is moved back and pointers for items after deleted item are shifted
US4878173A (en) Controller burst multiplexor channel interface
US6640277B1 (en) Input staging logic for latching source synchronous data
JP3253547B2 (ja) データ転送システム
US6629226B1 (en) Fifo read interface protocol
US5701447A (en) Method and apparatus for eliminating latch propagation delays in an alignment unit for use in a fractional bus architecture
GB2401515A (en) Multiplexing low and high priority data streams wherein insertion of low priority messages is dependent upon their length and the high priority queue state
USRE40317E1 (en) System for receiving a control signal from a device for selecting its associated clock signal for controlling the transferring of information via a buffer
KR100681371B1 (ko) 듀얼 클럭 시스템의 포스트 라이트 버퍼, 컴퓨터 시스템 및 데이터 전송 방법
KR100818908B1 (ko) 파이프라인식 삽입을 위한 회로 및 방법
US6088812A (en) Sequential data transfer method
EP1242897B1 (en) Method and apparatus for differential strobing in a communications bus
US20030070033A9 (en) Parallel and point-to-point data bus architecture
US6360286B1 (en) Sequential data transfer with common clock signal for receiver and sequential storage device and with slack register storing overflow item when set-up time is insufficient
EP0817087A2 (en) Implementation of high speed synchronous state machines with short setup and hold time signals

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