KR100266963B1 - 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 - Google Patents

전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 Download PDF

Info

Publication number
KR100266963B1
KR100266963B1 KR1019970707714A KR19970707714A KR100266963B1 KR 100266963 B1 KR100266963 B1 KR 100266963B1 KR 1019970707714 A KR1019970707714 A KR 1019970707714A KR 19970707714 A KR19970707714 A KR 19970707714A KR 100266963 B1 KR100266963 B1 KR 100266963B1
Authority
KR
South Korea
Prior art keywords
information word
word
time interval
information
bus
Prior art date
Application number
KR1019970707714A
Other languages
English (en)
Other versions
KR19990008189A (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 KR19990008189A publication Critical patent/KR19990008189A/ko
Application granted granted Critical
Publication of KR100266963B1 publication Critical patent/KR100266963B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes

Abstract

인터칩 통신 버스(130)상의 송신단에서 실행되는 커스텀 회로는 인터칩 통신 버스(130)상으로 제어 패킷들을 전송하는에 필요한 클럭 사이클들의 수를 감소시킨다. 패킷 처리 프로토콜은 만일 패킷 경계의 연속적인 워드들이 동일한 데이터를 포함한다면 이 데이터는 싱글 클럭 사이클 내에 수신 칩(120)에 의하여 별개의 명령 워드들로서 절약될 수 있도록 인터칩 통신 버스(130)상으로 전송되는 연속적인 명령 워드들 사이의 관계에 근거한다. 이것은 새로운 패킷이 출발될 때마다 동기 신호의 발생을 통하여 수행된다. 바람직한 실시예에서, 통계적으로 보다 널리 유행한다고 알려진 패킷의 첫 번째 워드와 마지막 워드 또는 둘 다를 위한 비트 패턴들은 연속적인 명령 워드들이 동일한 정보를 가질 가능성을 증가시키기 위해 인위적으로 나란히 놓여진다.

Description

전송되는 패킷을 오버래핑하여 인터페이스의 대기 시간을 감소시키는 방법 및 장치
예컨대, 마더 보드 위에 있는 칩들 사이에 제어 및 동기화 정보를 전송하기 위하여 비교적 작은 인터칩 버스들, 예컨대 4비트 제어 버스들이 여러 가지 응용에 이용된다. 예를 들면, 마이크로프로세서와 함께 사용되며 첫 번째 칩은 상기 프로세서 버스로부터 어드레스와 제어 신호들을 받고 한편 다른 칩은 상기 프로세서 버스로부터 데이터 신호들을 받는다. 칩 셋은 한 쌍의 집적 회로 칩으로서 보다 편리하게 제조되기도 하는데 첫 번째 칩은 상기 인터칩 버스들을 통하여 두 번째 칩 위에서의 데이터 전송을 제어한다.
종래의 제어 신호 전송 프로토콜은 하나의 송신 칩으로부터 하나 또는 둘 이상의 수신 칩들로 제어 신호들의 전송을 제공하기 위하여 그와같은 인터칩 버스들과 함께 전형적으로 사용된다. 종래의 프로토콜에 따르면, 상기 인터칩 제어 버스를 통해 전송되는 명령들은 각 명령 패킷이 프리앰블 워드(preamble word)와 패킷 타입 코드 워드(packet type code word)를 뒤따르는 하나 또는 둘 이상의 명령 워드들을 포함하는 패킷 형태로 전송된다. 상기 제어 신호들의 전송은 동기 신호에 의해 동기된다. 아무 명령 데이터도 상기 인터칩 명령 버스상으로 전송되지않을 때는 하나의 이이들 워드(idle word)가 하나의 새로운 명령 패킷이 전송될 때까지 상기 버스상에 전형적으로 발생된다.
명령 신호들이 하나의 송신 칩으로부터 상기 인터칩 상을 통하여 수신 칩으로 전송될 때마다 상기 송신 칩은 가장 먼저 상기 패킷 스타트 커맨드 워드(packet start command word)를 상기 버스상으로 몰아내어 놓아야만 한다. 그러면 상기 버스에 실린 데이터가 유효한 명령 패킷의 출발을 나타낸다는 것을 알려주기 위하여 동기 신호가 발생된다. 상기 동기 신호는 상기 패킷 스타트 워드와 동일한 클럭 사이클에서 전형적으로 전송된다. 프리앰블은 상기 패킷 스타트 워드 이전에 상기 클럭 사이클로 가끔씩 전송된다. 따라서 상기 수신 칩은 상기 명령에 응답하기 전에 상기 프리앰블을 맨 먼저 저장해야만 한다. 상기 명령 패킷의 잔여분을 전송하기에 앞서 상기 프리앰블을 전송하기 위하여 각 패킷의 처음에 하나의 추가 클럭 사이클이 필요하다는 것을 알 수 있다.
발명의 개요
본 발명의 발명자는 인터페이스 위로 전송되는 명령 패킷들을 오버래핑함으로써 통신 잠복 시간이 감소될 수 있다는 것을 인지했다. 하나의 태양에 따라, 본 발명의 바람직한 실시예는 인터칩 통신 버스를 통하여 정보 패킷들의 통신에 필요한 클럭 사이클들의 수를 감소시키는 방법이다. 상기 인터칩 통신 버스는 송신 칩과 수신 칩 사이에 연결된다. 상기 방법은 제1 시간 간격내에 인터칩 버스상으로 제1 정보 워드를 출력하는 단계, 제1 정보 워드가 제2 연속 시간 간격동안에 이용될 수 있도록 제1 시간 간격내에 상기 송신 칩 내에 제1 정보 워드를 저장하는 단계, 제1 정보 워드가 제2 연속 시간 간격동안에 이용될 수 있도록 제1 정보 워드를 제1 시간 간격내에 상기 수신 칩에 저장하는 단계, 제2 시간 간격 내에 상기 송신 칩 내에서 제2 정보 워드를 발생하는 단계, 제2 시간 간격동안에 상기 송신 칩 내에서 상기 저장된 제1 정보 워드와 제2 정보 워드를 비교하는 단계, 및 상기 저장된 제1 정보 워드가 제2 정보 워드와 동일할 경우에는, 제2 시간 간격동안에 제2 정보 워드 대신에 제3 정보 워드를 상기 인터칩 버스상으로 출력하는 단계를 구비한다. 만약 상기 저장된 제1 정보 워드가 상기 제2 정보 워드와 다를 경우, 상기 제3 정보 워드는 상기 제2 시간 간격을 곧바로 뒤따르는 제3 시간 간격 내에 전송된다.
바람직한 실시예에서, 상기 제1 정보 워드는 상기 제1 정보 워드가 제2 정보 워드와 동일하게 될 가능성을 증가시키도록 정의된다.
다른 바람직한 실시예에서, 제1 정보 워드는 명령 워드 또는 아이들 워드를 구비하고, 제2 정보 워드는 명령 패킷 처리에 대한 프리앰블을 구비하고, 제3 정보 워드는 패킷 타입 코드를 구비한다.
또 다른 바람직한 실시예에서, 각 시간 간격은 1클럭의 주기이다.
다른 실시예에서, 각 시간 간격은 다수개의 클럭들의 주기이다.
다른 태양에 따라 본 발명의 바람직한 실시예는 인터칩 버스에서 정보 패킷 처리동안 클럭 사이클들을 절약하기 위한 장치를 구비한다. 상기 장치는 하나의 출력과 제1 및 제2 입력들을 갖는 선택 회로를 구비한다. 상기 출력은 상기 인터칩 버스와 통신하고, 상기 선택 회로는 선택 신호에 응답하여 출력으로서 상기 제1 및 제2 입력들 중 하나를 선택한다. 상기 장치는 선택 회로의 출력과 통신하며 제1 시간 간격동안에 상기 인터칩 버스상으로 출력되는 제1 정보 워드를 저장하는 임시 저장 회로, 및 상기 선택 회로의 제1 입력과 통신하는 제1 입력과 상기 임시 저장 회로와 통신하는 제2 입력을 갖는 비교 회로를 더 구비한다. 상기 비교 회로는 제2 시간 간격동안 상기 임시 저장 회로 내에 저장된 제1 정보 워드를 상기 선택 회로의 제1 입력 상의 제2 정보 워드와 비교한다. 상기 제1 및 제2 정보 워드들이 실질적으로 동일한 정보를 포함할 때 상기 제2 시간 간격동안 상기 선택 회로에 의하여 제2 정보 워드를 대신하여 상기 선택 회로의 제2 입력 상의 제3 정보 워드가 상기 비교 회로로 인하여 더 출력된다.
바람직한 실시예에서, 상기 선택 회로는 멀티플렉서를 구비하고, 상기 임시 저장 회로는 레지스터를 구비한다.
다른 실시예에서, 상기 제1 및 제2 정보 워드들이 동일 비트 패턴을 가질 때 상기 비교 회로는 상기 선택 회로에 의하여 상기 선택 회로의 제2 입력 상의 제3 정보 워드가 출력되게한다.
다른 바람직한 실시예에서, 각 시간 간격은 지속 기간에 있어서 1클럭 주기이거나 또는 다수개의 클럭 주기들이다.
또 다른 태양에 따라 본 발명의 바람직한 실시예는 인터칩 버스상의 데이터 처리를 완성하는데 필요한 클럭 사이클들의 수를 감소시키는 장치이다. 상기 장치는 제1 및 제2 입력들의 출력을 선택하는 수단을 구비한다. 상기 출력은 상기 인터칩 버스와 통신한다. 상기 장치는 제1 시간 간격동안 제1 정보 워드를 저장하는 수단을 더 구비한다. 상기 저장하는 수단은 상기 선택하는 수단의 출력과 통신한다. 마지막으로, 상기 장치는 상기 저장하는 수단 내에 저장된 제1 정보 워드를 제2 시간 간격동안 상기 선택하는 수단의 제1 입력상의 제2 정보 워드와 비교하는 수단을 구비한다. 상기 제1 및 제2 정보 워드들이 실질적으로 동일한 정보를 포함할 때 상기 비교하는 수단은 상기 제2 시간 간격동안에 상기 선택하는 수단에 의하여 상기 제2 정보 워드를 대신하여 상기 선택하는 수단의 제2 입력상의 제3 정보 워드가 출력되도록 한다.
본 발명은 데이터를 인터칩 버스(interchip bus)상으로 전송하기 위한 클럭 사이클의 총 수를 감소시키는 방법 및 장치에 관한 것이다.
도 1은 인터칩 명령 버스에 의해 연결되는 집적 회로 칩들을 포함하는 컴퓨터 시스템의 개략적인 블록도이다.
도 2는 도 1의 송신 칩의 내부 회로의 일부의 개략적인 블록도로서, 인터칩 통신 버스상의 클럭 사이클들을 절약하는 본 발명의 메카니즘을 나타낸다.
도 3A-3C는 상기 인터칩 통신 버스상으로 전송되는 명령 패킷들을 위한 효과적인 전송 시간들을 보여주며 본 발명의 장점을 도시한 타이밍도들이다.
도 4는 본 발명의 교시에 따라 초기 프리앰블의 발생에 관한 도 2의 상태 기계의 동작을 나타내는 상태도이다.
도 1은 본 발명이 반영될 수 있는 예시적인 컴퓨터 시스템(100)의 개략적인 블록도이다. 상기 컴퓨터 시스템(100)은 마이크로프로세서 버스(105)를 통하여 칩셋(107)과 통신하는 마이크로프로세서(102)를 포함한다. 상기 칩셋(107)은 PCI 버스(108)를 통하여 PCI 주종(master and slaves)(109)과 통신한다. 게다가, 상기 칩셋(107)은 메모리 버스상의 데이터 및 어드레스와 제어 버스들(112,114)을 통하여 메모리(116), 예컨대 DRAM과 통신하여 상기 칩셋(107)이 상기 컴퓨터 시스템(100)에서 마이크로프로세서의 버스 메모리 버스 브리지(bus-to-memory bus bridge)로서 수행할 수 있도록 한다. 물론, 도 1에 도시된 컴퓨터 시스템(100)이 본 발명을 도시하는데 있어서 명확의 목적을 위해 매우 간략화되었다는 것은 이 분야의 지식을 가진 자에 의해 인지될 것이다.
상기 칩셋(107)은 컴퓨터 시스템(100) 내의 마더보드상의 인터칩 통신 버스(130)에 의해 연결된 한 쌍의 집적 회로(IC) 칩들(110,120)을 포함한다. 일 실시예에서, 상기 인터칩 통신 버스(130)는 상기 송신 칩(110)으로부터 수신 칩(120)으로 명령 신호들을 전송하는데 이용되는 5비트 제어 버스를 구비한다. 상기 5비트 제어 버스는 일 실시예에서 실제적으로 5 라인들을 포함하는데, 4라인들은 명령 워드들을 위해 예비되고, 5번째 라인은 상기 동기 신호를 위해 예비된다. 4비트 버스는 본 발명의 일 실시예를 위해 편리한 반면, 더 작거나 더 큰 버스들은 다른 특별한 응용들에 의해 요구될 때 사용될 수도 있다는 것은 이 분야의 통상의 지식을 가진 자에 의해 인지될 것이다. 본 실시예에서, 상기 칩 셋(107)을 상기 PCI 버스(108) 및 상기 마이크로프로세서 버스(105)에 연결하기 위해 필요한 핀들의 수로 인하여 싱글(single) 집적 회로의 가격이 엄청나게 올라가기 때문에 상기 칩 셋(107)은 두 개의 칩들로 분할된다. 상기 칩 셋(107)의 IC(120)는 상기 마이크로프로세서 버스(105)로부터 데이터 신호들을 받는 반면, 상기 칩셋(107)의 IC(110)는 상기 마이크로프로세서 버스(105)로부터 어드레스와 제어 신호들을 받는다. 상기 마이크로프로세서 버스(105)에서와 마찬가지로, 상기 PCI 버스(108)상의 데이터 신호들은 상기 칩 셋(107) 내의 상기 칩(120)으로 또는 상기 칩(120)으로부터 전송되는 반면, 어드레스와 명령 신호들은 상기 IC(110)로 또는 상기 IC(110)로부터 전송된다. 마찬가지로, 상기 버스(114)를 통하여 상기 메모리(116)와 상기 IC(110) 사이에서 어드레스와 제어 정보가 교환되는 반면, 데이터 정보는 상기 버스(112)를 통하여 상기 메모리(116)와 상기 IC(120) 사이에서 교환된다.
동작에 있어서, 상기 마이크로프로세서(102)는 마더보드상의 다른 시스템으로부터 또는 다른 시스템으로 데이터, 어드레스 및 명령 신호들을 전송한다. 상기 마이크로프로세서(102)로부터 전송된 데이터, 어드레스 및 명령들이 상기 메모리 버스들(112,114) 및 상기 PCI 버스(108)를 통하여 메모리(116)와 PCI 주종(109)과 각각 효과적으로 통신할 수 있도록, 상기 칩 셋(107)은 메모리 브리지에 대한 마이크로프로세서로서 동작한다. 마찬가지로, 상기 칩 셋(107)은 상기 마이크로프로세서 버스(105) 및 상기 메모리 버스들(112,114)을 통하여 상기 PCI 주종(109)으로부터 상기 마이크로프로세서(102) 및 상기 메모리(116)으로 전송되는 신호들의 인터페이스로서 동작한다. 명령 신호들은 상기 IC(110)로부터 상기 IC(120)로 전송된다. 상기 IC(110)는 상기 마이크로프로세서 버스(105) 및 상기 PCI 버스(108)로부터 어드레스와 명령 신호들을 수신하는 반면, 상기 IC(120)는 상기 마이크로프로세서 버스(105), 상기 메모리 버스의 데이터부(112) 및 상기 PCI 버스(108)로부터 데이터 신호들을 수신한다.
도 2는 칩들(110,120)의 내부 회로의 일부의 개략적인 블록도로서, 인터칩 통신 버스(130)를 통한 데이터 전송동안 클럭 사이클들을 절약하는 본 발명의 바람직한 일 실시예에 사용되는 회로를 도시한다. 도 2에 도시된 바와 같이, 멀티플렉서 회로(220)는 상기 인터칩 버스(130)상으로 전송되는 패킷 데이터를 선택한다.
상기 패킷의 프리앰블 입력(207), PACKET_TYPE 입력(240) 및 변경자 입력(212)은 멀티플렉서 회로(220)의 개별 입력으로서 동작한다. 상기 멀티플렉서 회로(220)는 상기 인터칩 버스(130)상으로 전송되는 각 명령 패킷을 형성하기 위해 필요한 것으로서 각 입력(207,240,212)을 선택한다. 상기 멀티플렉서(220)의 출력은 선택 버스(238)를 통하여 상태 기계(230)에 의해 제어된다.
상기 상태 기계(230)는 상기 버스(240)를 통하여 상기 PACKET_TYPE 입력을 수신하고, 라인(242)을 통하여 NEW_REQUEST 입력을 수신한다. 상기 PACKET_TYPE 입력은 상기 인터칩 버스(130)상으로 전송되는 일종의 데이터를 가리키는 반면, 상기 NEW_REQUEST 입력(242)은 상기 수신 칩(120)이 다음 명령 패킷을 위한 프리앰블을 수신할 준비가 되어있다는 것을 가리킨다. 상기 NEW_REQUEST 라인(242)은 앤드 게이트(241)의 출력에 연결된다. 상기 앤드 게이트(241)는 라인(243)을 통하여 제1 입력을 수신한다. 상기 버스(240)와 상기 라인(243)은 상기 IC(110) 내부의 회로와 통신한다. 상기 상태 기계(230)는 또한 라인(244)을 통하여 상기 IC(110) 내의 회로로 다음 패킷 준비 신호인 RDY를 출력하는데, 이것은 상기 상태 기계(230)가 상기 IC(110) 내의 회로로부터의 다음 명령 패킷을 수신 및 처리할 준비가 되어있다는 것을 나타낸다. 상기 라인(244)은 상기 앤드 게이트(241)의 제2 입력으로서 작용한다.
상기 멀티플렉서(220)의 출력은 드라이버(250)를 통하여 상기 제어 버스(130)와 통신한다. 게다가, 상기 멀티플렉서(220)의 출력은 레지스터(255)와 통신한다. 상기 레지스터(255)의 출력은 비교 회로(260)의 제1 입력으로서 작용한다. 뿐만 아니라, 상기 프리앰블 입력(207)은 상기 비교 회로(260)의 제2 입력으로서 제공된다. 상기 비교 회로(260)의 출력은 라인(265)을 통하여 PREAMBLE_SENT 입력으로서 상기 상태 기계(230)로 공급된다. 상기 상태 기계(230)는 드라이브(270)를 통하여 동기 출력 SYNC를 더 제공한다.
상기 인터칩 버스(130)로부터 출력되는 이전 클럭의 데이터를 잡고있는, 즉 지연시키는 수신 레지스터(280)를 포함하는 수신 칩(120)이 도 2에 도시되어있다. 버스(290)상의 지연된 데이터와 버스(295) 및 버스(296)상의 완충된 인터칩 데이터는 상기 칩(120) 내부의 회로와 통신하므로 상기 데이터는 상기 수신 칩(120) 내부의 회로의 제어 입력으로서 작용한다.
동작에 있어서, 상기 상태 기계(230)가 다음 패킷을 처리할 수 있다는 것을 가리키면서 상기 상태 기계(230)가 상기 RDY 신호(244)를 발생시키고, 상기 칩(110) 내의 회로가 상기 라인(243) 위로 NEW_TASK 신호를 발생하면, 다음 명령 패킷을 위한 프리앰블, PACKET_TYPE 및 변경자가 상기 인터칩 버스(130)상으로 출력되는 것이 가능하다는 것을 가리키면서 NEW_REQUEST 신호가 상기 라인(242)상에 발생된다.
상기 멀티플렉서(220)는 상기 선택 버스(238)를 통하여 상기 상태 기계(230)에 의해 제어되어 상기 프리앰블 입력, PACKET_TYPE 입력 또는 변경자 입력 중 하나를 선택한다. 상기 프리앰블 데이터는, 예컨대 상기 IC(120) 내에서 데이터가 전송되는 버퍼 번호를 포함할 수 있다. 한편, 상기 변경자는 상기 수신 IC 칩(120) 내의 버퍼들로 전송되는 제어 데이터를 구비한다. 상기 PACKET_TYPE은 전송되는 명령에 관계된 정보를 포함한다. 일 실시예에서, 상기 PACKET_TYPE은 상기 명령 종류를 식별한다(즉, PCI를 읽고, 메모리에 기입하는 등등). 다른 실시예에서, 상기 PACKET_TYPE은 패킷 길이를 정의한다(즉, 프리앰블과 기대되는 변경자의 수를 포함하는지). 바람직한 일 실시예에서, 가장 공통된 동작들은 최단 패킷들에 해당하고, 또 다른 바람직한 일 실시예에서, 상기 PACKET_TYPE의 수신 시간은 처리를 시작하거나 종료하는 수신 IC 칩(120)에 대한 지시기이다.
상기 멀티플렉서(220)의 출력은 드라이버(250)를 통하여 상기 제어 버스(130)상으로 드라이브된다. 상기 인터칩 버스(130)상에 존재하는 데이터는 다음 클럭 사이클이 발생한 때에 잇달아 상기 레지스터(280)로 저장된다. 게다가, 상기 출력은 하나의 클럭 사이클동안에 상기 레지스터(255)로 저장된다. 상기 레지스터(255) 내의 멀티플렉서(220)의 출력을 저장하는데 필요한 시간에 상기 드라이버(250)를 통하여 상기 인터칩 버스(130)상으로 전달되기 위한 다른 신호가 상기 멀티플렉서(220)에 의해 출력된다.
상기 레지스터(280)가 상기 인터칩 버스(130)상의 데이터에 클럭하는 것과 동일한 클럭 사이클 내에서, 상기 레지스터(255)의 출력은 상기 프리앰블 입력(207)과 비교된다. 즉, 상기 프리앰블은 상기 비교 회로(260)에 제1 입력으로서 제공되는 반면, 1클럭 사이클 지연된 상기 레지스터(255)의 출력은 상기 프리앰블과 상기 제어 버스(130)상으로 출력되는 이전 클럭 사이클의 패킷 명령 워드가 상기 비교 회로(260) 내에서 비교되도록 상기 비교 회로(260)의 제2 입력으로서 제공된다. 만일 상기 프리앰블이 상기 레지스터(255) 내에 저장된 데이터와 동일하다면, PREAMLE_SENT 신호는 상기 비교 회로(260)에 의해 발생되고 상기 라인(265)을 통하여 상기 상태 기계(230)의 제어 입력으로서 제공된다.
상기 상태 기계(230)가 이전 클럭 사이클의 인터칩 버스 명령 워드와 상기 인터칩 버스(130)상으로 출력되는 새로운 패킷의 프리앰블이 동일하다는 것을 알리면서, NEW_REQUEST 신호(242)를 수신하고 상기 비교(즉, PREAMBLE_SENT)가 상기 라인(265)상에서 유효할 때, SYNC 신호는 상기 상태 기계(230)로부터 상기 드라이버(270)를 통하여 출력되고, 상기 PACKET_TYPE은 상기 선택 버스(238)를 통하여 상기 인터칩 버스(130)상으로의 전송을 위하여 상기 프리앰블 대신에 선택된다. 상기 상태 기계(230)가 상기 입력(242) 상의 NEW_REQUEST 신호를 수신하고 상기 입력(240)의 PACKET_TYPE이 그 명령 패킷의 프리앰블을 요구하는 상태 기계(230)에 의해 인지될 때 상기 PREAMBLE_SENT가 라인(265)상에서 액티브되지 않으면, 상기 상태 기계(230)는 상기 인터칩 버스(130)상으로 상기 멀티플렉서(220)에 의한 출력을 위해 상기 선택 버스(238)를 통하여 상기 프리앰블(207)을 선택한다.
SYNC 펄스가 상기 드라이버(270)를 통해 라인(271)으로 출력될 때마다, PACKET_TYPE은 상기 인터칩 버스(130)상에 나타날 것이다. 상기 SYNC 펄스는 데이터 패킷 처리가 시작되었다는 것을 알리는 제어 신호로서 상기 칩(120)에 의해 수신된다. 상기 SYNC 펄스를 수신하자마자, 상기 IC 칩(120) 내의 회로는 상기 데이터 패킷 처리의 프리앰블로서 상기 레지스터(280) 내에 저장된 데이터를 해석하는 반면, 상기 버스(295)상의 데이터는 PACKET_TYPE으로서 해석된다. 따라서, 상기 레지스터(280)의 데이터는 상기 레지스터(255)의 데이터와 동일하고(양 레지스터는 이전 클럭 사이클에서 상기 인터칩 버스(130)상에 인가된 데이터를 저장하기 때문에), 상기 레지스터(255)의 데이터는 상기 프리앰블과 동일하므로, 상기 버퍼(285)의 데이터는 상기 프리앰블과 동일하게 될 것이다. 이와같은 방식으로, 만일 새로운 프리앰블의 데이터가 상기 인터칩 버스의 아이들 패턴과 동일하거나 또는 이전 패킷의 최종 워드와 동일하게 되어 전체 데이터 처리에서 클럭 사이클이 절약된다면, 새로운 패킷의 프리앰블은 전송되지 않아도 좋다.
도 3A 내지 도 3C는 본 발명의 교시와 일치하여 클럭 주기들이 절약되는 방법을 보다 더 분명히 나타내는 타이밍도이다. 도 3A는 본 발명의 장점이 반영되지않은 인터칩 버스에 관한 종래의 신호 타이밍을 보여준다. 제1 신호(302)는 상기 IC 칩들(110,120) 내의 패킷 데이터 워드들을 동기시켜 전송하는데 사용되는 동기 클럭을 나타내는 반면, 신호(304)는 상기 인터칩 버스(130)상의 4비트 CMD 버스상에 존재하는 패킷 데이터 워드 신호들을 나타낸다(즉, 상기 SYNC 라인에 존재하는 신호와는 다르다). 마지막으로, 신호(306)는 상기 인터칩 버스(130)상으로 전송되는 SYNC 신호를 나타낸다. 상기 인터칩 버스(130)상으로 출력되는 각 패킷 CMD 워드는 클럭의 전 주기동안 존재한다. 따라서, 많은 클럭 주기들이 필요한 것처럼, 상기 전송 IC 칩(110)과 상기 수신 IC 칩(120) 사이에 통신하는 패킷의 CMD 워드가 있다.
예를 들면, 도 3A에 나타나있는 바와같이, 상기 인터칩 버스(130)는 다음 클럭 사이클 내의 프리앰블이 인가될 때까지(예컨대, 뒤이은 처리에서 데이터가 전송되는 버퍼를 확인하는 버퍼 번호) 두 클럭 주기동안 쉰다. 다음 클럭 사이클들은 PACKET_TYPE(다른 것들 가운데서 명령의 종류를 지시하는)과 변경자 워드(상기 명령을 더 깊이 정의하는)를 전송하기 위해 사용된다.
도 3A에 도시된 프리앰블 워드의 출력과 함께 시작되고나서 총 3클럭 사이클들이 마지막 변경자 워드가 상기 인터칩 버스(130)상으로 출력될 때까지 발생한다. 상기 프리앰블에 이어 상기 PACKET_TYPE이 상기 인터칩 버스(130)상으로 발생되는 것이 결정될 때, 상기 SYNC 신호(306)는 새로운 패킷의 존재를 지시하기위해 발생된다. 이상 간단히 토의한 바대로, 상기 SYNC는 상기 프리앰블과 상기 PACKET_TYPE이 버스들(290,295)로 수신되었다는 것을 상기 수신 칩(120)에게 경고한다. 상기 CMD 패킷에 잔존하는 CMD 워드가(만일 있다면) 있을 때 그 이후에 상기 수신 칩(120)은 상기 버스(295)상에 계속해서 존재하는 데이터를 해석한다. 예를 들면, 도 3A에 도시된 바와 같이, 하나의 변경자 워드가 상기 PACKET_TYPE 뒤에 발생하는 경우에는, 상기 PACKET_TYPE은 기대된 변경자 데이터로서 다음 클럭 사이클에서 상기 버스(295)상의 CMD 워드를 상기 수신 칩(120)이 읽을 수 있도록 다음 CMD 워드가 동일한 CMD 패킷에 속한다는 것을 알려준다.
도 3B는 본 발명의 교시로 인하여 도 3A에 도시된 종래의 프로토콜에서 1클럭 사이클을 절약하는 하나의 방법을 나타낸다. 본 발명자는 상기 인터칩 버스상으로 전송되는 CMD 워드들 사이의 관계를 숙고함에 따라 다수의 CMD 워드들은 싱글 클럭 사이클 내의 수신 IC 칩으로 발생될 수도 있다는 것을 명확하게 인지했다. 특히, 도 3B에 도시된 바와 같이, 두 클럭 사이클들의 합은 마지막 아이들 워드의 끝에서부터 마지막 변경자 워드가 상기 인터칩 버스(130)상으로 출력될 때까지 발생한다. 프리앰블이 상기 아이들 워드와 동일한 경우에는 상기 프리앰블은 전송되지않아도 좋기 때문에 단지 두 개의 클럭 사이클들이 발생한다. 도 2를 참조하여 상술한 바와 같이, 상기 인터칩 버스(130)상으로 기 전송된 프리앰블과 CMD 워드 사이에서 비교가 수행된다. 만일 상기 프리앰블이 상기 선행된 CMD 워드(즉, 이 경우에는 아이들 워드)와 동일하다면, 상기 PACKET_TYPE 워드는 발생된 SYNC와 함께 상기 프리앰블을 대신하여 전송된다. 이와같은 방식으로, 초기 SYNC는 상기 CMD 패킷이 완성되는데 단지 2개의 클럭 사이클들만 필요하도록 발생된다. 상기 아이들 워드가 상기 프리앰블과 동일하다고 결정하면 상기 수신 칩(120)은 또한 상기 레지스터(280)로 이전 아이들 워드를 저장하기 때문에 상기 레지스터(280)의 상기 프리앰블과 동일하다는 것을 의미한다. 따라서, 상기 수신 칩(120)은 마치 상기 프리앰블이 이전 클럭 사이클에서 전송된 것처럼 동작할 것이다. 이와같은 방식으로, 상기 프리앰블은 상기 프리앰블이 전송되기로 되어있는 클럭 사이클의 이전에 전송된 아이들 워드에 의하여 대치될 수 있다. 결론적으로, 상기 프리앰블은 전 CMD 패킷에서 하나의 클럭 사이클을 절약하는 PACKET_TYPE에 의해 대치될 수 있다. 즉, 상기 아이들 워드는 상기 버퍼 번호를 대치하기 위해 사용되었던 버스(130)상에 이미 존재하기 때문에 상기 프리앰블(207)(도 2 참조)에 의해 지시되는 버퍼 번호를 상기 버스(130)상으로 전송할 필요가 없다. 그러므로, 다음 클럭 기간동안 상기 수신 IC 칩(120)이 상기 프리앰블과 상기 PACKET_TYPE 양쪽에서 동작할 수 있도록 상기 상태 기계(230)는 상기 버퍼 번호 대신에 상기 PACKET_TYPE을 선택하는 멀티플렉서(220)를 제어한다.
본 발명의 하나의 태양에 따라, 대부분 억세스될 수 있는 버퍼 번호는 상기 아이들 워드(또한 이후에는 프리앰블로서 명명한다)로서 동일한 비트 패턴을 갖는 것으로 정의 됨으로써 이 버퍼가 선택될 때마다 상기 버퍼 번호는 이전의 아이들워드와 동일한 클럭 사이클에서 상기 수신 IC 칩(120) 내의 저장물로 기록되기도 한다. 본 발명의 특별한 장점을 갖는 실시예에서, 상기 아이들 워드 코드는 상기 프리앰블과 상기 아이들 워드 사이의 일치 가능성을 높이기 위해 디폴트 버퍼 번호에 일치하도록 수정된다. 물론, 상기 프리앰블의 버퍼 번호가 상기 아이들 워드와 동일하지 않는 경우에는 추가 클럭 사이클은 상기 버퍼 번호가 상기 수신 IC 칩(120)에 래취되기 전에 발생해야만 한다. 그러나, 도 3B에 도시된 바와 같이, 상기 버퍼 번호(상기 프리앰블의 첫 번째 부분을 구비하는)가 상기 아이들 워드와 동일한 경우에는, 상기 SYNC 신호는 상기 아이들 워드가 상기 버퍼 번호 대신 작용할 수 있기 때문에 상기 PACKET_TYPE과 동일한 클럭 사이클 내에 즉시 발생될 수도 있다.
도 3C는 연속적인 CMD 패킷들이 발생하고, 제2 CMD 패킷의 프리앰블이 제1 CMD 패킷의 마지막 CMD 워드와 동일한 비트 패턴을 가지고 있는 경우를 나타낸다. 도 3C에 도시된 바와 같이, SYNC는 상기 수신 칩(120)으로 전송되는 이전 CMD 패킷의 마지막 워드 이후에 즉시 발생된다. 이 마지막 패킷 워드는 새로운 패킷의 프리앰블과 동일한 비트 패턴을 가지고 있기 때문에, 상기 멀티플렉서(220)는 SYNC가 발생되는 동안 상기 프리앰블을 대신하여 상기 PACKET_TYPE이 출력되게 한다. 따라서, 제1 CMD 패킷의 끝에서부터 제2 CMD 패킷의 끝에까지 단 2클럭 사이클만 발생한다. 만일 이와 반대로 상기 프리앰블이 따로따로 전송되었다면(제1 패킷의 마지막 워드를 상기 프리앰블로서 사용하기보다는 오히려), 상기 제2 CMD 패킷을 완료하기 위해 3개의 클럭 사이클들이 필요했을 것이다.
제1 CMD 패킷의 내용이 그 패킷의 길이를 정의했기 때문에, 상기 수신 IC 칩(120)은 언제 마지막 CMD 워드가 버스(295)상에 존재하는지를 결정하는데는 어려움이 없다. 더욱이, 발생된 SYNC가 상기 칩(120)에 의해 수신되기만 하면, 상기 레지스터(280) 내에 포함된 정보는 상기 칩(120)에 의해 새로운 CMD 패킷의 프리앰블로 간주된다. 따라서 상기 버스(295)상의 정보는 상기 수신 칩(120)에 의해 두 번 사용된다-한번은 제1 CMD 패킷{버스(295)상에서 샘플되는}의 마지막 워드로서 이전 클럭위에서, 한번은 제2 CMD 패킷{버스(290) 위에서 샘플되는}을 위한 프리앰블로서, 사용된다.
도 3C에 도시된 경우를 위한 상기 IC 칩(110) 내의 회로의 동작의 좀 더 상세한 설명이 다음에 이어진다. 특히, 제1 CMD 패킷의 마지막 CMD 워드가 상기 멀티플렉서(220)로부터 출력되었을 때, 이 CMD 워드는 상기 레지스터(255) 내로 저장되어 상기 버스(207)의 비교 회로(260)에 제공되는 다음 프리앰블과 비교된다. 만일 프리앰블 워드가 이전의 CMD 워드와 동일한 것이 상기 비교 회로(260) 내에서 결정된다면, 상기 상태 기계(230)로 인하여 상기 멀티플렉서(220)가 프리앰블보다는 오히려 PACKET_TYPE을 출력하도록 상기 비교 신호는 상기 라인(265)위에서 발생되어 상기 상태 기계(230)로 인가된다. 동시에, 상기 상태 기계(230)는 상기 드라이버(270)를 통하여 1클럭 주기동안 SYNC를 발생한다. 따라서, 제1 CMD 패킷의 마지막 CMD 워드는 제2 CMD 패킷의 버퍼 번호로서 작용한다. 이와같은 방식으로, 클럭 사이클은 연속적인 패킷 전송동안에 절약된다.
도 4는 본 발명의 교시에 일치하는 초기 프리앰블의 동작에 관한 상태 기계(230)의 동작을 나타내는 상태도이다. 실제로, 상태 기계(230)는 또한 상기 송신 칩(110) 내의 다른 소자들의 제어를 제공할 것이지만, 본 발명을 명확하게 나타낼 목적으로 상기 상태 기계(230)의 기능성은 도 4의 간략한 상태도에는 나타나지 않는다.
RESET이 초기화되자마자, 상기 상태 기계(230)는 아이들 상태(400)로 들어간다. 상기 상태 기계(230)가 아이들 상태(400)에 있을 때, 이것은 상기 상태 기계(230)가 상기 4비트 CMD 버스(130)상으로 출력되기 위하여 추가 CMD 패킷을 수신하기위해 준비하고 있다는 것을 가리킨다. 아이들 상태(400)로 돌아가는 상태 전이 통로(410)에 의해 나타날 때, 상기 상태 기계(230)는 세가지 다른 조건하에서 아이들 상태(400)로 남는다.
제1 조건하에서, NEW_REQUEST 신호(즉, 상기 라인 242에 인가되는 신호)가 발생되지않을 때, 상기 상태 기계(230)는 아이들 상태(400)로 남고, 상기 멀티플렉서(220)는 디폴트 프리앰블을 상기 버스(130)상의 4비트 CMD 버스상의 명령으로서 출력한다. 즉, 새로운 요구가 발생되지않았을 때, 상기 상태 기계(230)는 상기 멀티플렉서(220)와 상기 드라이버(250)를 통하여 상기 CMD 버스상으로의 출력을 위해 프리앰블(207)을 선택한다. 상기 프리앰블은 가장 공통적으로 억세스되는 버퍼와 동일하게 되어서 다음의 실제적인 프리앰블이 이전 클럭 사이클로 전송된 데이터와 동일하게 될 가능성이 매우 높다.
상태 기계(230)가 아이들 상태(400)로 남아있는 다른 조건은 PREAMBLE_REQD 신호가 발생되고{프리앰블이 상기 CMD 버스(130)상으로 전송되는 새로운 CMD 패킷에 필요한 상태 기계(230)을 지시하면서} PREAMBLE_SENT 신호가 인액티브{즉, 이전 클럭 주기에 버스(130)상으로 전송되는CMD 워드가 상기 버스(207)상의 프리앰블과 같지 않다는 것을 지시하면서}될 때이다. 따라서, 프리앰블이 요구되고 이전 클럭 사이클에서 명령 버스(130)상의 CMD 워드가 적정한 프리앰블로서 작용하지 않기 때문에, 상기 상태 기계(230)는 상기 버스(207)상의 프리앰블이 상기 CMD 버스상으로 전파되는 것을 허용하지않는 라인(238) 위의 멀티플렉서(220)로 선택 신호를 발생한다. 따라서, 발생된 CMD 워드는 상기 프리앰블과 동일하다.
상기 상태 기계(230)가 아이들 상태(400)에 남아있는 마지막 조건은; 1)PREAMBLE_REQD 신호가 표명되지않거나 또는 PREAMBLE_SENT 신호가 표명될 때; 및 2)상기 MODIFIER_REQD 신호가 표명되지않는 동안 상기 NEW_REQUEST 신호가 표명될 때이다. 즉, 1)프리앰블이 요구되지않거나 또는 상기 버스(130)상의 CMD 워드가 이전 클럭 사이클에서 전송되는 프리앰블과 동일하고; 2)요청되고있는 새로운 패킷이 변경자 워드들을 가지고 있지 않기 때문에, 이것은 만일 현재의 패킷이 프리앰블을 요구했다면 이 프리앰블은 이미 이전 클럭 주기에서 발생되었다는 것 및 현재의 패킷은 현재의 PACKET_TYPE CMD 워드와 함께 종료된다는 것을 가리킨다. 그 결과, 상기 상태 기계(230)는 다음 클럭 주기에 상기 CMD 버스(130)상으로 전송하기 위한 새로운 패킷을 수용할 수가 있다. 따라서, 상기 상태 기계(230)는 상기 아이들 상태(400)에 남게된다.
상기 상태 기계(230)가 상기 아이들 상태(400)에 남아있는 마지막 조건하에서, 상기 상태 기계(230)로 인하여 상기 PACKET_TYPE은 상기 멀티플렉서(220)와 상기 드라이버(250)를 통하여 상기 CMD 버스(130)상으로 전송된다. 게다가, 상기 SYNC 신호는 상기 드라이버(270)를 통하여 표명되는 반면, 상기 RDY 신호는 또한 상기 라인(244)으로 표명된다.
상기 상태 기계(230)는 상기 다음 사항; 1)프리앰블이 요구되거나 또는 이전 클럭에서 버스(130)상의 CMD 워드가 전송되는 프리앰블과 동일하게 되는 것; 및 2)변경자 워드들을 요구하는 새로운 요청이 있는 것이 결정될 때마다 전이 통로(430)를 통하여 아이들 상태(400)로부터 BSY(busy) 상태(420)로 전이된다. 즉, 1)만일 상기 PREAMBLE_REQD 신호가 표명되지않거나 또는 상기 PREAMBLE_SENT 신호가 표명될 경우; 및 2)만일 상기 PACKET_TYPE이 상기 CMD 패킷이 하나 또는 그 이상의 변경자 워드들을 포함한다는 것을 가리키는 동안 NEW_REQUEST 신호가 상기 라인(242)으로 표명될 경우, 상기 상태 기계(230)는 상기 아이들 상태(400)로부터 상기 BSY 상태(420)로 전이된다. 따라서, 이것은 상기 SYNC 신호가 또한 상기 드라이버(270)를 통하여 표명되는 동안 상기 PACKET_TYPE(240)이 상기 멀티플렉서(220)와 상기 드라이버(250)를 통하여 상기 CMD 버스(130)상으로 출력될 것을 가리킨다. 뿐만 아니라, 상기 MODIFIER_PTR(현 패킷의 PACKET_TYPE 이후에 변경자 워드들을 계수하는 카운터에 숫자로 로딩(loading)되는)은 1로 설정된다. 상기 상태 기계는 상기 BSY 상태(즉, 현재의 패킷 전송이 완료될 때까지 상기 상태 기계(230)는 새로운 요청을 할 수 없는 상태)로 전이된다.
상기 상태 기계(230)는 전이 통로(440)에 의해 알져진 바대로 상기 BSY 상태(420)에 남는 반면, LAST_MODIFIER 신호는 표명되지 않는다{즉, 상기 패킷의 마지막 CMD 워드가 상기 CMD 버스(130)상으로 출력되지 않았다는 것을 가리키는 신호는 진실이 아니다}. 매 시간 상기 통로(440)를 따라 전이가 일어나고, 다음 CMD 워드{즉, 버스(212)로부터의 다음 변경자 워드}는 상기 멀티플렉서(220)와 상기 드라이버(250)를 통해 상기 명령 버스(130)상으로 전파된다. 게다가, 상기 MODIFIER_PTR은 현 패킷의 마지막 변경자 워드가 도착할 때까지 증가된다. 상기 패킷의 마지막 워드가 상기 버스(130)상으로 전파되기만 하면, 상기 상태 기계(230)는 상기 BSY 상태(420)로부터 상태 전이 통로(450)를 통하여 상기 아이들 상태(400)로 전이된다. 도 4에 도시된 바와 같이, 상기 통로(450)를 따라 일어나는 전이는 상기 ,AST_MODIFIER 신호가 표명될 때 발생한다. 이로 인하여 상기 CMD 버스(130)상으로 출력되는 변경자 워드는 현 패킷의 마지막 CMD 워드와 동일하게 된다.
비록 본 발명이 상기와 같이 상세히 설명되었을지라도, 전술한 내용은 설명적이며 한정적이지 않다는 것은 이해되어야 한다. 당 분야에서 통상의 지식을 가진 자는 본 발명의 사상 또는 핵심 내에서 많은 변형이 가능하다는 것을 알 것이다. 예를 들면, 당 분야에서 통상의 지식을 가진 자는 본 발명이 동일 CMD 워드를 구비할 가능성이 매우 크도록 CMD 워드의 소수 비트들을 갖는 인터칩 버스와 결합하여 수행될 때 가장 효과적이라는 것을 인지할 것이다. 그러나, 실질적으로 6비트들 또는 그 이상의 비트들의 순서로 버스들은 또한 본 발명과 일치하여 수행될 수 있다. 부언하면, 본 발명은 워드 직렬 방식으로 수행될 수 있고 패킷의 CMD 워드들은 칩들 사이의 싱글 라인으로 직렬로 전송된다. 이런 경우, 상기 SYNC 신호는 새로운 패킷의 존재를 나타내듯이 CMD 워드 경계 정보를 제공한다. 다른 실행은 상기 SYNC 신호의 존재를 나타내기 위하여 유일한 CMD 워드를 보존할 수 있으며 따라서, SYNC 라인이 분리될 필요성을 없앤다. 다른 실행은 보다 높은 클럭 속도 동작을 허용하기 위해 송신기와 수신기 둘 중 하나 또는 둘 다의 파이프라인 레지스터를 포함할 수 있다. 따라서, 본 발명의 범위는 첨부된 클레임들의 관점에서 해석되어야만 한다.

Claims (12)

  1. 송신 칩과 수신 칩 사이에 연결되는 인터칩 통신 버스상으로 정보 패킷들의 통신을 필요로하는 클럭 사이클들의 수를 감소시키는 방법에 있어서,
    제1 시간 간격에서 상기 인터칩 버스상으로 제1 정보 워드를 출력하는 단계;
    상기 제1 정보 워드가 제2 연속적인 시간 간격동안에 이용될 수 있도록 상기 제1 시간 간격에 상기 송신 칩 내의 제1 정보 워드를 저장하는 단계;
    상기 제1 시간 간격에 상기 제1 정보 워드를 상기 수신 칩에 수신하는 단계;
    제2 연속적인 시간 간격동안에 이용될 수 있도록 상기 제1 시간 간격에 상기 제1 정보 워드를 상기 수신 칩에 저장하는 단계;
    상기 제2 시간 간격 내에 상기 송신 칩 내에서 제2 정보 워드를 발생하는 단계;
    상기 제2 시간 간격동안에 상기 송신 칩 내에서 상기 저장된 제1 정보 워드를 상기 제2 정보 워드와 비교하는 단계; 및
    만일 상기 저장된 제1 정보 워드가 상기 제2 정보 워드와 동일하면, 상기 제2 시간 간격동안에 상기 제2 정보 워드 대신에 제3 정보 워드를 상기 인터칩 버스상으로 출력하고, 만일 상기 저장된 제1 정보 워드가 상기 제2 정보 워드와 동일하지 않으면 상기 제2 시간 간격에 이어 곧바로 발생하는 제3 시간 간격에 상기 제3 정보 워드가 전송되는 것을 특징으로하는 방법.
  2. 제 1 항에 있어서, 상기 제1 정보 워드는 상기 제1 정보 워드가 상기 제2 정보 워드와 동일하게 될 가능성을 증가시키도록 정의되는 것을 특징으로하는 방법.
  3. 제 1 항에 있어서, 상기 제1 정보 워드는 명령 워드 또는 아이들 워드를 구비하고, 상기 제2 정보 워드는 명령 패킷 처리의 프리앰블을 구비하고, 상기 제3 정보 워드는 패킷 타입 코드를 구비하는 것을 특징으로하는 방법.
  4. 제 1 항에 있어서, 상기 각 시간 간격은 1클럭의 주기인 것을 특징으로하는 방법.
  5. 제 1 항에 있어서, 상기 각 시간 간격은 다수개의 클럭 주기들인 것을 특징으로하는 방법.
  6. 인터칩 버스상에서 정보 패킷 처리동안에 클럭 사이클들을 절약하는 장치에 있어서,
    출력과 제1 및 제2 입력을 구비하고 상기 출력은 상기 인터칩 버스와 통신하고 선택 신호에 응답하여 출력으로서 상기 제1 및 제2 입력들 중 하나를 선택하는 선택 회로;
    상기 선택 회로의 출력과 통신하며 제1 시간 간격 동안에 상기 인터칩 버스상으로 출력되는 제1 정보 워드를 저장하는 임시 저장 회로; 및
    상기 선택 회로의 제1 입력과 통신하는 제1 입력과 상기 임시 저장 회로와 통신하는 제2 입력을 갖는 비교 회로를 구비하고, 상기 비교 회로는 상기 임시 저장 회로에 저장된 제1 정보 워드를 제2 시간 간격동안에 상기 선택 회로의 상기 제1 입력상의 제2 정보 워드와 비교하고, 상기 제1 및 제2 정보 워드들이 실질적으로 동일한 정보를 포함할 때 상기 비교 회로는 상기 선택 회로의 상기 제2 입력 상의 제3 정보 워드가 상기 제2 시간 간격동안에 상기 선택 회로에 의하여 상기 제2 정보 워드 대신에 출력되도록 하는 것을 특징으로하는 장치.
  7. 제 6 항에 있어서, 상기 선택 회로는 멀티플렉서를 구비하는 것을 특징으로하는 장치.
  8. 제 6 항에 있어서, 상기 임시 저장 회로는 레지스터를 구비하는 것을 특징으로하는 장치.
  9. 제 6 항에 있어서, 상기 제1 및 제2 정보 워드들이 동일한 비트 패턴을 가질 때 상기 비교 회로는 상기 선택 회로의 상기 제2 입력 상의 제3 정보 워드가 상기 선택 회로에 의하여 출력되도록 하는 것을 특징으로하는 장치.
  10. 제 6 항에 있어서, 상기 각 시간 간격은 1클럭 주기인 것을 특징으로하는 장치.
  11. 제 6 항에 있어서, 상기 각 시간 간격은 다수개의 클럭 주기들인 것을 특징으로하는 장치.
  12. 인터칩 버스상으로 데이터 처리를 완료하는데 필요한 클럭 사이클들의 수를 감소시키는 장치에 있어서,
    제1 및 제2 입력들로부터 상기 인터칩 버스와 통신하는 출력을 선택하는 선택 수단;
    상기 선택하는 수단의 출력과 통신하며 제1 시간 간격 동안에 제1 정보 워드를 저장하는 수단; 및
    제2 시간 간격동안에 상기 저장하는 수단내에 저장된 제1 정보 워드를 상기 선택하는 수단의 제1 입력상의 제2 정보 워드와 비교하는 수단을 구비하고, 상기 제1 및 제2 정보 워드가 실질적으로 동일한 정보를 포함할 때 상기 비교하는 수단은 상기 선택하는 수단의 제2 입력 상의 제3 정보 워드가 상기 제2 시간 간격동안에 상기 선택하는 수단에 의하여 상기 제2 정보 워드 대신에 출력되도록 하는 것을 특징으로하는 장치.
KR1019970707714A 1996-03-01 1996-06-27 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 KR100266963B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/609,175 1996-03-01
US8/609175 1996-03-01
US08/609,175 US5815673A (en) 1996-03-01 1996-03-01 Method and apparatus for reducing latency time on an interface by overlapping transmitted packets

Publications (2)

Publication Number Publication Date
KR19990008189A KR19990008189A (ko) 1999-01-25
KR100266963B1 true KR100266963B1 (ko) 2000-10-02

Family

ID=24439651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970707714A KR100266963B1 (ko) 1996-03-01 1996-06-27 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치

Country Status (11)

Country Link
US (1) US5815673A (ko)
EP (1) EP0829095B1 (ko)
JP (1) JPH11504741A (ko)
KR (1) KR100266963B1 (ko)
CN (1) CN1107956C (ko)
AU (1) AU6390296A (ko)
DE (1) DE69625685T2 (ko)
IL (1) IL120748A (ko)
RU (1) RU2189698C2 (ko)
TW (1) TW299409B (ko)
WO (2) WO1997032308A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091707A (en) * 1997-12-18 2000-07-18 Advanced Micro Devices, Inc. Methods and apparatus for preventing under-flow conditions in a multiple-port switching device
GB9809203D0 (en) * 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Packet distribution in a microcomputer
US6134701A (en) * 1998-09-22 2000-10-17 Via Technologies, Inc. Computer motherboard with a control chip having specific pin arrangement for fast cache access
CN100370841C (zh) * 2004-11-19 2008-02-20 华为技术有限公司 一种通信接口间消息的传输方法
EP2320327A1 (en) * 2009-11-09 2011-05-11 Imec A data transferring device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4418409A (en) * 1980-03-07 1983-11-29 Ibm Corporation Byte data activity compression
JPS60156151A (ja) * 1983-12-23 1985-08-16 Nec Corp メモリアクセス制御装置
US4803621A (en) * 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
US4914653A (en) * 1986-12-22 1990-04-03 American Telephone And Telegraph Company Inter-processor communication protocol
US5230067A (en) * 1988-05-11 1993-07-20 Digital Equipment Corporation Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto
US4937791A (en) * 1988-06-02 1990-06-26 The California Institute Of Technology High performance dynamic ram interface
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5598581A (en) * 1993-08-06 1997-01-28 Cisco Sytems, Inc. Variable latency cut through bridge for forwarding packets in response to user's manual adjustment of variable latency threshold point while the bridge is operating
US5548797A (en) * 1994-10-03 1996-08-20 International Business Machines Corporation Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal
US5623638A (en) * 1994-11-22 1997-04-22 Advanced Micro Devices, Inc. Memory control unit with programmable edge generator to minimize delay periods for critical DRAM timing parameters
US5649175A (en) * 1995-08-10 1997-07-15 Cirrus Logic, Inc. Method and apparatus for acquiring bus transaction address and command information with no more than zero-hold-time and with fast device acknowledgement

Also Published As

Publication number Publication date
IL120748A0 (en) 1998-02-22
US5815673A (en) 1998-09-29
DE69625685D1 (de) 2003-02-13
RU2189698C2 (ru) 2002-09-20
AU6390296A (en) 1997-09-16
KR19990008189A (ko) 1999-01-25
TW299409B (en) 1997-03-01
IL120748A (en) 1999-11-30
WO1997032333A1 (en) 1997-09-04
JPH11504741A (ja) 1999-04-27
WO1997032308A1 (en) 1997-09-04
EP0829095B1 (en) 2003-01-08
EP0829095A1 (en) 1998-03-18
CN1183164A (zh) 1998-05-27
CN1107956C (zh) 2003-05-07
DE69625685T2 (de) 2003-10-23
EP0829095A4 (en) 2000-04-05

Similar Documents

Publication Publication Date Title
US5045997A (en) Data processor
US5327121A (en) Three line communications method and apparatus
US5734849A (en) Dual bus memory transactions using address bus for data transfer
JP2002530744A (ja) 多重レベル接続識別を備えた通信のシステムおよび方法
JPH03129548A (ja) デュアル・ポート・メモリとその通信方法
US5987578A (en) Pipelining to improve the interface of memory devices
JPH0981508A (ja) 通信方法及び装置
CA2124029A1 (en) Method and apparatus for providing accurate and complete communications between different bus architectures in an information handling system
US7590146B2 (en) Information processing unit
KR100291409B1 (ko) 컴퓨터 시스템내의 동일 버스상에 두 개의 부 디코드 에이전트를 지원하는 방법 및 장치
JPH04350754A (ja) データチャンネルに対するインターフェースを含むワークステーションまたは類似のデータ処理システム
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
JP4902640B2 (ja) 集積回路、及び集積回路システム
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
KR100317033B1 (ko) 데이터버스
EP3819778A1 (en) Bus system and method for operating a bus system
JPS61166647A (ja) マイクロプロセツサ装置およびアドレス可能なメモリから情報を読出すためのアクセス方法
JP3947223B2 (ja) 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
JP3413894B2 (ja) シリアル伝送装置
GB2234372A (en) Mass memory device
KR100295683B1 (ko) 인터아이씨의 제너럴콜 어크날리지장치및 방법
JP2000347989A (ja) データ転送方式
KR0169789B1 (ko) 클럭주기가 다른 블럭들의 데이타 전송방법 및 회로
KR20020084725A (ko) 저속 주변장치와의 데이터 전송을 위한 메모리 컨트롤러
KR20000033265A (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120531

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee