KR20000052625A - 듀얼 클럭 시스템의 포스트 라이트 버퍼 - Google Patents

듀얼 클럭 시스템의 포스트 라이트 버퍼 Download PDF

Info

Publication number
KR20000052625A
KR20000052625A KR1019990065764A KR19990065764A KR20000052625A KR 20000052625 A KR20000052625 A KR 20000052625A KR 1019990065764 A KR1019990065764 A KR 1019990065764A KR 19990065764 A KR19990065764 A KR 19990065764A KR 20000052625 A KR20000052625 A KR 20000052625A
Authority
KR
South Korea
Prior art keywords
buffer
data
write
signal
post
Prior art date
Application number
KR1019990065764A
Other languages
English (en)
Other versions
KR100681371B1 (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 KR20000052625A publication Critical patent/KR20000052625A/ko
Application granted granted Critical
Publication of KR100681371B1 publication Critical patent/KR100681371B1/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
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • 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
    • 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/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol

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)
  • Memory System (AREA)
  • Advance Control (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

호스트 데이터 버스(10)의 대역폭 활용을 개선하는 듀얼 클럭 시스템의 포스트 라이트 버퍼로서, 어드레스 버퍼(60), 데이터 버퍼(62), 제1클럭 타이밍 신호(22), 제2클럭 타이밍 신호(48), 어드레스 디코더(24), 제1라이트 인에이블 회로(72) 및 제2라이트 인에이블 회로(74)로 구성되어 있다. 어드레스 버퍼(60) 및 데이터 버퍼(62)는 클럭 신호가 동기되고 데이터가 전송에 대비할 때까지 데이터 및 그 데이터의 수신 어드레스를 유지한다. 어드레스 디코더(24)는 어느 수신 레지스터 바이트가 호스트 데이터 버스(10)의 데이터를 수신하는가를 결정한다. 라이트 인에이블 회로(72, 74)는 클럭 신호(22, 48)를 동기시키고, 수신 레지스터가 데이터 버퍼(62)로 부터의 데이터 수신에 대비할 때를 결정한다.

Description

듀얼 클럭 시스템의 포스트 라이트 버퍼{POST WRITE BUFFER FOR A DUAL CLOCK SYSTEM}
본 발명은 일반적으로 컴퓨터 데이터 버스 시스템 분야에 관한 것으로, 특히 듀얼 클럭 시스템의 포스트 라이트 버퍼(post write buffer for a dual clock system)에 관한 것이다.
컴퓨터는 그의 기능을 실행하기 위해 통신해야 하는 몇 개의 구성 요소로 이루어진다. 이 통신은 내부 버스에서 발생한다. 내부 버스는 데이터, 수신 어드레스 및 다른 정보가 컴퓨터의 한 부분에서 다른 부분으로 전송되는 와이어의 집합이다. 이 버스는 때때로 호스트 데이터 버스라고 불리운다. 호스트 데이터 버스는 몇개의 구성 및 그 컴퓨터의 제어 레지스터를 포함하는 구성 블록에 접속된다. 이들을 집합적으로 수신 레지스터라고 한다. 호스트 데이터 버스의 기능 중 하나는 데이터 및 다른 정보를 구성 블록의 다른 레지스터로 전송하는 것이다. 구성 블록내 레지스터는 32 비트 폭까지 이루어질 수 있지만, 호스트 데이터 버스는 때때로 8 또는 16 비트 폭이다. 따라서, 필요한 정보를 구성 블록 레지스터에 라이트하기 위해서는 다수의 전송이 필요하다.
호스트 데이터 버스 및 구성 블록 레지스터를 동일 클럭 소스로 동작하게 하여, 어떤 클럭 동기 이슈를 제거하는 것이 바람직하지만, 컴퓨터 시스템의 이들 두가지 중요한 구성 요소는 다른 주파수로 동작하는 개별적인 클럭 소스에 부착되는 일이 많다. 따라서, 호스트 데이터 버스로 부터 데이터 및 정보를 구성 블록 레지스터로 전송할 수 있기 전에, 두개의 클럭 소스를 동기시켜야 한다. 이것은 호스트 데이터 버스가 대기할 것을 요구하여 다른 기능을 실행하는 것을 막는다. 클럭 동기 처리는 때때로 컴퓨터의 다른 부분으로 전송되기를 기다리는 데이터 및 정보의 버틀넥(bottleneck)의 원인으로 된다.
현재의 컴퓨터 시스템은 제1클럭 소스에 의해 클럭되는 호스트 데이터 버스가 제2클럭 소스에 의해 클럭되는 구성 블록 레지스터에 기록하는 것이 요구되는 어떤 시간에 호출되는 클럭 동기 회로를 갖는다. 클럭 동기 회로는 호스트 데이터 버스를 제어하는 클럭의 4 클럭 사이클 및 수신 레지스터를 제어하는 클럭의 3 클럭 사이클을 요구한다. 상술한 듀얼 클럭 문제에 대한 현재의 솔루션과 관련된 문제점의 하나는 호스트 데이터 버스가 컴퓨터의 다른 부분으로 데이터 및 정보를 전송할 수 없고 버스의 대역폭이 낭비된다는 것이다.
상술한 문제점 때문에, 개별적인 클럭 소스에 의해 클럭되는 호스트 데이터 버스 및 수신 레지스터를 접속하는 현재의 방법은 비능률적이고 때때로 호스트 데이터 버스내의 버틀넥 원인으로 된다.
본 발명의 목적은 클럭 동기 처리가 발생하여 데이터가 수신 레지스터에 라이트되는 것을 허용하면서, 호스트 데이터 버스가 자유롭게 다른 기능을 실행하도록 제1클럭 소스에 의해 제어되는 호스트 데이터 버스에서 제2클럭 소스에 의해 제어되는 수신 레지스터로 데이터를 전송하는 개선된 시스템 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 호스트 데이터 버스와 수신 레지스터 사이의 종래 상호접속과 관련된 문제 또는 불리한 점을 실질적으로 제거 또는 저감하는 듀얼 클럭 시스템의 포스트 라이트 버퍼를 제공하는 것이다.
도 1은 호스트 데이터 버스, 구성 블록 및 포스트 라이트 버퍼를 포함하는 컴퓨터를 도시한 블록도.
도 2는 호스트 데이터 버스, 포스트 라이트 버퍼 및 구성 블록 레지스트 사이의 상호접속을 도시한 블록도.
도 3은 호스트 데이터 버스, 포스트 라이트 버퍼 및 구성 블록 레지스트 사이의 상호 접속과 관련된 여러 신호 및 신호 경로를 개략적으로 도시한 블록도.
도 4는 구성 블록내 수신 레지스터의 4 바이트에 대응하는 4개의 버퍼 영역으로 구성된 포스트 라이트 버퍼의 하나의 바이트 버퍼 영역의 개략도.
도 5는 포스트 데이터 버스 및 수신 레지스터 모두가 동일한 클럭 소스에 의해 클럭될 때의 기능을 설명하는 타이밍도.
도 6은 호스트 데이터 버스 및 수신 레지스터가 개별적인 클럭 소스에 의해 클럭될 때의 기능을 설명하는 타이밍도.
<도면의 주요 부분에 대한 부호의 설명>
6 : 컴퓨터
8 : CPU
10 : 호스트 데이터 버스
12 : 포스트 라이트 버퍼
14 : 구성 블록
본 발명의 하나의 실시예에 따르면, 호스트 데이터 버스 및 구성 블록에 모두 결합되어 구성 블록내 레지스터가 데이터를 수신할 수 있을 때까지 그 데이터를 호스트 데이터 버스에 버퍼하도록 기능하는 포스트 라이트 버퍼가 마련된다. 포스트 라이트 버퍼는 어드레스 디코더 및 구성 블록 내 수신 레지스터의 4 바이트에 대응하는 4 바이트 각각에 대한 어드레스 버퍼, 데이터 버퍼, 및 라이트 인에이블 회로로 구성된다. 포스트 라이트 버퍼는 호스트 데이터 버스가 제1클럭 소스에 의해 제어되고 구성 블록에 존재할 수 있는 수신 레지스터의 모두 또는 일부가 제2클럭 소스에 의해 제어되는 시스템에 인스톨된다.
본 발명은 현재의 컴퓨터 시스템 데이터 버스에 대하여 여러 가지 기술적 이점을 제공한다. 이것은 호스트 데이터 버스에서 수신 레지스터로 데이터를 전송할 수 있도록 클럭이 동기를 기다리는 동안 호스트 데이터 버스가 유휴 상태를 유지할 필요성을 제거한다. 또한, 데이터 버스가 유휴 상태로 남아 있을 필요가 없으므로, 호스트 데이터 버스의 대역폭이 더 완전히 사용된다. 이것은 호스트 데이터 버스에서 때때로 발생하는 버틀넥을 실질적으로 저감하여 컴퓨터의 성능을 대체로 증가시킨다. 다른 실시예 들도 다음의 도면, 설명 및 청구범위에서 당업자에 의해 용이하게 이해될 것이다.
도 1을 참조하면, 컴퓨터는 전체를 참조번호 (6)으로 나타낸다. 컴퓨터(6)는 호스트 데이터 버스(10)와 통신하는 CPU(8)를 포함한다. 호스트 데이터 버스(10)는 컴퓨터(6)의 여러 구성 요소 사이의 모든 통신을 위한 통신 경로이다. 호스트 데이터 버스(10)는 구성 블록(14)에 그 자신이 결합된 포스트 라이트 버퍼(12)에 결합된다. 호스트 라이트 버퍼(12)는 호스트 데이터 버스(10)와 구성 블록(14) 사이의 데이터 버퍼로서 작용한다. 포스트 라이트 버퍼(12)에 데이터를 버퍼링하는 것은 호스트 데이터 버스(10)가 데이터를 수락하기 위해 구성 블록(14)을 기다리게 하기 보다는 다른 기능으로 진행하는 것을 가능하게 한다.
도 2를 참조하면, 호스트 데이터 버스(10)는 포스트 라이트 버퍼(12)에 접속된다. 포스트 라이트 버퍼(12)는 (14)로 나타낸 구성 블록에 결합되고, 호스트 데이터 버스(10)와 구성 블록(14) 사이의 매개물(intermediary)로서 작용한다. 호스트 데이터 버스(10)는 컴퓨터(6)의 여러 구성 요소 사이에서 데이터 및 다른 정보를 전송하는 통신 링크를 제공한다.
호스트 데이터 버스(10)는 데이터 신호(18)를 운반한 데이터 정보가 구성 블록(14)의 어느 레지스터(34)로 향하는 지를 지시하는 어드레스 정보를 운반하는 수신 어드레스 신호(16)를 포함할 수 있다. 8 비트 또는 16 비트 폭이 바람직한 데이터 신호(18)에 의해, 수신 어드레스 신호(16)는 데이터 신호(18) 상의 데이터 정보를 수신하기 시작하는 수신 레지스터(34)에 대한 바이트 어드레스를 제공한다. 또한, 호스트 데이터 버스(10)는 버퍼 라이트 인에이블 신호(20)를 포함할 수 있고, 이 신호는 호스트 데이터 버스(10)가 데이터 신호(18)를 포스트 라이트 버퍼(12)로 전송하려고 할때 논리 레벨 "0"이고, 호스트 데이터 버스(10)가 데이터 신호(18) 포스트 라이트 버퍼(12)로 전송하려고 하지 않을때 논리 레벨 "1"이다. 호스트 데이터 버스(10)는 제1클럭 BCLK(22)에 의해 제어되는 주파수로 동작한다. 구성 블록(14)의 일부 수신 레지스터(34)가 BCLK(22)에 의해 제어되는 주파수로 동작할 수 있으므로, BCLK(22)는 포스트 라이트 버퍼(12)로 전송된다. 그러나, 구성 블록(14)의 수많은 수신 레지스터(34)는 제2클럭 소스에 의해 제어되는 주파수로 동작할 수 있다.
포스트 라이트 버퍼(12)는 호스트 데이터 버스(10)에서 구성 블록(14)의 수신 레지스터(34)로 전송 중인 데이터의 버퍼로서 기능한다. 구성 블록(14)의 수신 레지스터(34)는 32 비트 폭이 바람직하므로, 포스트 라이트 버퍼(12)는 한번에 32 비트까지 전송하도록 설계된다. 호스트 데이터 버스(10)는 8 비트 또는 16 비트 폭이 바람직하므로, 포스트 라이트 버퍼(12)는 구성 블록(14)으로 데이터를 전송하기 전에 호스트 데이터 버스(10)로 부터 전송된 몇개의 데이터를 수신한다. 포스트 라이트 버퍼(12)는 한번에 32 비트를 전송할 수 있지만, 구성 블록(14)에는 모두 32 비트를 동시에 라이트할 것이 요구되는 수신 레지스터(34)가 몇개뿐이다. 따라서, 포스트 라이트 버퍼(12)는 구성 블록(14)의 수신 레지스터(34)가 모두 32 비트를 동시에 전송할 것을 요구하지 않는다면, 데이터의 각 바이트를 이용가능하게 될때 전송할 수 있다. 모두 32 비트를 동시에 전송할 것을 요구하는 수신 레지스터(34)의 예로는 사이클 타이머 레지스터가 이다. 다른 레지스터는 16 비트를 동시에 전송할 것을 요구할 수 있다. 또 다른 레지스터는 1 바이트인 8 비트 만을 동시 전송할 것을 요구할 수 있다.
포스트 라이트 버퍼(12)는 어드레스 디코더(24)를 포함하고, 이것은 구성 블록(14)의 수신 레지스터(34)의 동작 주파수를 어느 클럭 소스가 제어하는가를 결정하고 또한 수신 레지스터(34)가 모두 32 비트의 데이터를 동시에 전송할 것을 요구하는가 또는 수신 레지스터(34)가 각 바이트 또는 8 비트의 데이터를 그것이 입수가능할 때 수락하는가를 결정하도록 기능한다. 어드레스 디코더(24)는 또 호스트 데이터 버스(10)로부터의 어드레스 신호(16)가 수신 레지스터(34)의 제1, 제2, 제3 또는 제4 바이트를 지적하는가를 결정한다. 따라서, 어드레스 디코더(24)는 이 정보를 사용하여 포스트 라이트 버퍼(12)의 4개의 버퍼 영역중 어느 것이 데이터 및 다른 정보를 저장하는가를 결정한다.
컴퓨터 시스템의 레지스터는 일반적으로 바이트 0 내지 바이트 3이 붙여진 4 바이트로 구성된다. 포스트 라이트 버퍼(12)는 동시에 32 비트의 데이터를 전송할 수 있으므로, 수신 레지스터(34)의 4 비트마다 버퍼 영역을 포함해야 한다. 따라서, 포스트 라이트 버퍼(12)는 바이트 0 버퍼 영역(26), 바이트 1 버퍼 영역(28), 바이트 2 버퍼 영역(30) 및 바이트 3 버퍼 영역(32)을 포함한다. 각각의 버퍼 영역은 데이터를 유지하고 수신 레지스터(34)의 제1, 제2, 제3 또는 제4 바이트로 전송하도록 기능한다. 각각의 버퍼 영역은 3개의 별개의 부분으로 구성된다. 제1부분은 데이터의 한 바이트에 대한 수신 어드레스를 포함하는 어드레스 버퍼(27)이다. 제2부분은 수신 레지스터(34)로 전송될 데이터의 바이트를 포함하는 데이터 버퍼(29)이다. 데이터 신호는 8 비트 또는 16 비트 폭이 바람직하지만, 데이터 버퍼(29)는 8 비트 폭이 바람직하다. 따라서, 데이터 신호(18)가 16 비트 폭이면, 포스트 라이트 버퍼(12)는 데이터 신호(18)의 2 바이트를 어드레스 신호(16)에 따라 바이트 0 버퍼 영역(26), 바이트 1 버퍼 영역 (28) 또는 데이터 2 버퍼 영역(30) 및 바이트 3 버퍼 영역(32)에 놓는다. 제3부분은 데이터 버퍼(29)에 유지된 데이터를 수신 레지스터(34)로 전송할 수 있을 때를 결정하는 라이트 인에이블 회로(31)이다. 포스트 라이트 버퍼(12) 내에는 각각의 버퍼 영역이 독립적으로 기능할 수 있도록 각각의 버퍼 영역에 대하여 개별적인 라이트 인에이블 회로(31)가 있다는 것에 주의한다. 그러나, 수신 레지스터(34)가 32 비트를 동시에 라이트할 것을 요구하는가를 어드레스 디코더(24)가 결정하면, 모든 4개의 버퍼 영역은 함께 기능한다.
구성 블록(14)은 1, 2, ..., M으로 번호가 매겨진 몇개의 수신 레지스터(34)로 구성되고, M은 구성 블록(154)의 레지스터 총수와 같다. 각각의 수신 레지스터(34)는 4 바이트 폭이 바람직하다. 수신 레지스터(34)는 호스트 버스(10)의 동작 주파수를 제어하는 BCLK22 또는 제2 클럭 소스에 의해 클럭될 수 있다. 구성 블록(14)은 어느 수신 레지스터(34)가 바이트 0 버퍼 영역(26)에 데이터를 수신하는가를 결정하는 바이트 0 어드레스 디코더(36), 어느 수신 레지스터(34)가 바이트 1 버퍼 영역(28)에 데이터를 수신하는가를 결정하는 바이트 1 어드레스 디코더(38), 어느 수신 레지스터(34)가 바이트 2 버퍼 영역(30)에 데이터를 수신하는가를 결정하는 바이트 2 어드레스 디코더(40), 어느 수신 레지스터(34)가 바이트 3 버퍼 버퍼 영역(32)에 데이터를 수신하는가를 결정하는 바이트 3 어드레스 디코더(42)를 포함한다. 구성 블록(14)의 바이트 어드레스 디코더는 수신 레지스터(34)의 관련 바이트 번호를 지적한다.
도 3은 도 1에 도시한 컴퓨터 데이터 통신 시스템 내의 신호 경로를 도시한 것이다. 버퍼 라이트 인에이블 신호(20)는 포스트 라이트 버퍼(12)에게 호스트 데이터 버스(10) 상의 데이터 신호(18)가 어드레스 신호(16)에 의해 식별된 레지스터로 전송될 것에 대비하고 있다는 것을 알린다. 호스트 데이터 버스(10)는 포스트 라이트 버퍼(12)의 어떤 부분도 클럭하는 BCLK(22)에 의해 클럭된다. 몇개의 수신 레지스터(34)의 동작 주파수를 제어하는 BCLK(22)가 구성 블록(14)에도 접속되는 것에 주의한다. 리셋 신호(44)는 포스트 라이트 버퍼(12)에게 바이트 0 버퍼 영역(26), 바이트 1 버퍼 영역(28), 바이트 2 버퍼 영역(30) 및 바이트 3 버퍼 영역(32)의 모든 요소가 디폴트 값으로 리셋되어야 하는 것을 지시한다. 통상, 리셋 신호(44)는 시스템 스타트 업시 버퍼 영역을 클리어하기 위해 논리 레벨 "0" 또는 액티브로 설정된다. 그러나, 리셋 신호(44)가 액티브로 설정되어야 하는 다른 상황도 있을 수 있다. 그렇지 않으면, 리셋 신호(44)는 통상 인액티브인 논리 레벨 "1"로 설정된다.
포스트 라이트 버퍼(12)는 상술한 바와 같이 바이트 0 내지 바이트 3 각각에 대한 버퍼 영역 및 어드레스 디코더(24)를 포함한다. 설명의 편의상, 도 3은 4 바이트 각각에 대한 버퍼 영역이 동일하므로 하나의 버퍼 영역만 도시하고 있다. 따라서, 바이트 0 버퍼 영영(26), 바이트 1 버퍼 영역(28), 바이트 2 버퍼 영역(30) 및 바이트 3 버퍼 영역(32)은 (26, 28, 30, 32)로 나타낸 요소에 의해 모두 나타내어 진다. 어드레스 디코더(24)는 어드레스 신호(16), 데이터 신호(18) 및 라이트 인에이블 신호(20)를, 어드레스 신호(16)가 수신 레지스터(34)의 어느 바이트를 참조하는가에 따라, 적절한 버퍼 영역으로 루트(route)한다. 특히, 어드레스 디코더(24)는 어드레스 신호(16)가 수신 레지스터(34)의 어느 바이트를 지적하는가에 따라, 어드레스 신호(16)를 수신 어드레스(54)로, 데이터(18)를 데이터 신호(56)로, 라이트 인에이블 신호(20)를 버퍼 라이트 인에이블 신호(58)로 루트한다. BCLK(22) 및 리셋 신호(44)는 4개의 버퍼 영역 각각에 직접 접속된다.
어드레스 디코더(24)는 어느 클럭 소스가 수신 레지스터(34)의 동작 주파수를 제어하는가를 결정하고, BCLK(22)에 의해 클럭중인 수신 레지스터(34)에 따라 클럭 선택 신호(46)를 논리 레벨 "1"로 설정한다. 수신 레지스터(34)가 제2클럭 NCLK(48)에 의해 클럭되면, 클럭 선택 신호(46)는 논리 레벨 "0"으로 설정된다. 어드레스 디코더(24)가 수신 레지스터(34)에 어느 클럭 소스가 접속되는가를 결정한 후, 포스트 라이트 버퍼(12)가 수신 레지스터(34)로 데이터를 전송할 수 있기 전에 이용가능한 바이트의 수를 결정한다. 수신 레지스터(34)가 BCLK(22)에 의해 클럭되고, 포스트 라이트 버퍼(12)가 수신 레지스터(34)로 데이터를 전송할 수 있기 전에 다수의 바이트를 이용가능하게 할 것을 요구하면, 어드레스 디코더(24)는 데이터 버퍼 영역의 데이터가 수신 레지스터(34)로 전송되는 것을 방지하기 위해 BCLK 라이트 펜딩(50)을 논리 레벨 "1"로 설정한다. 모든 필요한 바이트가 버퍼 영역에서 이용가능할 때, 모든 필요한 바이트에 대한 BCLK 라이트 펜딩 신호(50)는 논리 레벨 "0"으로 설정되어, BCLK(22)의 다음 상승 에지에서 데이터 전송이 발생하게 된다. 어드레스 디코더(24)가 NCLK 라이트 펜딩 신호(52)를 적절한 값으로 설정하는 것을 제외하고 수신 레지스터(34)가 NCLK(48)에 의해 클럭되면, 동일한 처리가 발생한다.
어드레스 버퍼(60)는 수신 어드레스(54), BCLK(22) 신호 및 버퍼 라이트 인에이블 신호(58)를 포함하여 어드레스 디코더(24)로 부터 신호를 수신한다. 어드레스 버퍼(60)는 어드레스 신호(16)에 의해 지시된 수신 어드레스를, 데이터 버퍼(62)에 유지될 관련 데이터가 수신 레지스터(34)로 전송되려고 할때까지 유지한다.
데이터 버퍼(62)는 데이터 신호(18)로 부터의 데이터를 수신 레지스터(34)로 그것이 전송되려고 할 때까지 유지한다. 데이터 버퍼(62)는 데이터(56) 및 버퍼 라이트 인에이블 신호(58)를 포함하여 어드레스 디코더(24)로 부터 입력 신호를 수신한다. 또한, 데이터 버퍼(62)는 BCLK(22) 신호도 수신한다.
라이트 인에이블 회로(64)는 수신 어드레스(54)에 의해 지시된 레지스터로 데이터(56)가 라이트될 수 있는 때를 결정한다. 라이트 인에이블 회로(64)는 버퍼 라이트 인에이블 신호(58), BCLK(22) 신호, 클럭 선택 신호(46), BCLK 라이트 펜딩 신호(50), NCLK(48) 신호, 및 NCLK 라이트 펜딩 신호(52)를 수신한다. 라이트 인에이블 회로(64)는 이들 신호를 처리하고, 수신 레지스터(34)가 BCLK(22)에 클럭되는 것을 클럭 선택 신호(46)가 지시할 때, 논리 레벨 "0" 또는 액티브의 BCLK 라이트 인에이블 신호(66)를 발생할 수 있다. 수신 레지스터(34)가 NCLK(48)에 의해 클럭되는 것을 클럭 선택 신호(46)가 지시할 때, 라이트 인에이블 회로(64)는 논리 레벨 "0" 또는 액티브의 NCLK 라이트 인에이블 신호(68)를 발생할 수 있다. 마지막으로, 버퍼 영역이 정보를 수신하였지만 그 정보를 수신 레지스터(34)로 아직 전송하지 않은 것을 지시하는 논리 레벨 "1"인 라이트 비지 신호(70)를 라이트 인에이블 회로(64)는 발생할 수 있다. 라이트 비지 신호는 상태 신호이고, 호스트 데이터 버스(10)에 의해 사용되어 호스트 데이터 버스(10)의 정보를 포스트 라이트 버퍼(12)로 전송할 수 있는 것을 나타내는 논리 레벨 "0"으로 라이트 인에이블 신호(20)를 설정할 때를 결정할 수 있다.
도 4는 포스트 라이트 버퍼(12)내 하나의 버퍼 영역을 개략적으로 도시한 블록도이다. 이 버퍼 영역은 바이트 0 버퍼 영역(26), 바이트 1 버퍼 영역(28), 바이트 2 버퍼 영역(30) 또는 바이트 3 버퍼 영역(32)을 나타낼 수 있다. 어드레스 버퍼(60)는 인에이블 입력이 있는 D형 플립플롭으로 구성된다. 인에이블 신호는 어드레스 버퍼(60)의 D형 플립플롭이 버퍼 라이트 인에이블 신호(58)가 논리 레벨 "0"일때까지 클럭 신호를 무시하게 한다. 따라서, 버퍼 라이트 인에이블 신호(58)가 논리 레벨 "0"일때까지 어드레스 버퍼(60)는 상태를 변경하지 않는다. 데이터 버퍼(62)에 유지되어 있는 데이터(56)를 수신 레지스터(34)로 전송할 수 있는가를 라이트 인에이블 회로(64)가 결정할 때까지 어드레스 버퍼(60)는 수신 어드레스(54)를 유지하도록 기능한다.
데이터 버퍼(62)는 인에이블 입력이 있는 D형 플립플롭으로 구성된다. 데이터 버퍼(62)의 인에이블 입력은 어드레스 버퍼(60)와 동일한 방식으로 동작한다. 데이터(56)를 수신 레지스터(34)로 전송할 수 있는가를 라이트 인에이블 회로(64)가 결정할때까지 데이터 버퍼(62)는 데이터(56)를 유지한다. 라이트 인에이블 회로(64)는 그의 입력을 처리하고 어느 클럭 소스가 클럭 선택 신호(46)로 나타낸 바와 같이 수신 레지스터(34)의 동작 주파수를 결정하는가에 따라 BCLK 라이트 인에이블 신호(66) 또는 NCLK 라이트 인에이블 신호(68)를 발생하는 것에 의해 이것을 결정한다.
라이트 인에이블 회로(64)는 논리적으로 3개의 부분으로 분할될 수 있다. 첫번째는 BCLK 라이트 인에이블 회로(72)이다. 두번째는 NCLK 라이트 인에이블 회로(74)이고, 세번째는 라이트 비지 회로(75)이다. 라이트 비지 회로(75)는 BCLK 라이트 인에이블 회로(72) 및 NCLK 라이트 인에이블 회로(74) 각각으로 부터 BCLK(22) 신호 및 신호를 수신한다. BCLK 라이트 인에이블 신호(66) 또는 NCLK 라이트 인에이블 신호(68)중 어느것이 발생될 필요가 있는가를 클럭 선택 신호(46)가 결정하므로, 클럭 선택 신호(46)는 라이트 인에이블 회로(64)의 첫번째 두부분사이에서 공유된다.
BCLK 라이트 인에이블 회로(72)는 BCLK(22)에 의해 클럭되는 두개의 D형 플립플롭, 즉 플립플롭(76) 및 플립플롭(78)으로 구성된다. 플립플롭(76)은 어드레스 버퍼(60) 및 데이터 버퍼(62)상의 인에이블 입력과 동일한 방식으로 기능하는 인에이블 입력을 포함한다. 본 발명의 포스트 라이트 버퍼(12)에 대하여, 모든 라이트 인에이블 신호는 논리 레벨 "0"으로 설정될 때 액티브가 바람직하고 논리 레벨 "1"로 설정될 때 인액티브가 바람직하다. 액티브 라이트 인에이블 신호는 데이터가 한점에서 다른점으로 전송되게 한다. 인액티브 라이트 인에이블 신호는 라이트 인에이블 신호가 액티브일때 적절한 클럭의 다음 상승 에지까지 데이터 전송을 유지한다.
클럭 선택 신호(46)가 논리 레벨 "1"이어서 수신 레지스터(34)가 BCLK(22)에 의해 클럭되는 것이 지시되고 버퍼 라이트 인에이블 신호(58)가 논리 레벨 "0"이면, 플립플롭(76)은 인에이블되어 플립플롭(76)의 Q 출력을 논리 레벨 "0"으로 한다. 클럭 선택 신호(46)이 논리 레벨 "0"이거나 또는 버퍼 라이트 인에이블 신호(58)가 논리 레벨 "1"이면, 플립플롭(76)은 인에이블되지 않고 상태의 변경은 발생하지 않는다. 플립플롭(76)의 Q 출력은 플립플롭(78)의 D 입력에 결합된 OR 로직 게이트와 결합된다. 플립플롭(78)은 플립플롭(76)과 같이 인에이블 입력을 갖지 않는다. 따라서, 플립플롭(78)은 BCLK(22) 신호의 각 상승 에지에 의해 상태를 변경할 수 있다. 플립플롭(76)의 Q 출력이 논리 레벨 "0"이고 BCLK 라이트 펜딩(50)이 논리 레벨 "0"이면, 플립플롭(78)은 그의 Q 출력을 논리 레벨 "0"으로 하고, 이것에 의해 BCLK 라이트 인에이블 신호(66)는 액티브인 논리 레벨 "0"으로 된다. 플립플롭(76)의 Q 출력이 논리 레벨 "1"이거나 또는 BCLK 라이트 펜딩(50)이 논리 레벨 "1"이면, 플립플롭(78)은 그의 Q 출력에 논리 레벨 "1"을 발생하고, 이것에 의해 BCLK 라이트 인에이블 신호(66)는 인액티브인 논리 레벨 "1"로 된다.
플립플롭(78)의 프리셋 입력은 리셋 신호(44)가 논리 레벨 "0"일때마다 플립플롭(78)의 Q 출력을 논리 레벨 "1"로 초기화시키는 리셋 신호(44)에 결합된다. BCLK 라이트 인에이블 신호(66)가 액티브인 논리 레벨 "0"이거나 또는 리셋 신호(44)가 액티브인 논리 레벨 "0"이면, 논리 레벨 "0"이 플립플롭(76)의 프리셋 입력으로 전송되어, 플립플롭(76)의 Q 출력이 논리 레벨 "1"로 프리셋된다. 즉, BCLK 라이트 인에이블 신호(66)가 액티브로 설정되자 마자, 플립플롭(76)이 리셋되어 다음 액티브 라이트 인에이블 신호를 발생할 필요가 있다고 회로가 결정할 때까지 인액티브 라이트 인에이블 신호가 발생된다.
NCLK 라이트 인에이블 회로(74)는 3개의 플립플롭, 즉 플립플롭(80), 플립플롭(82) 및 플립플롭(84)로 구성된다. 플립플롭(80)은 어드레스 버퍼(60), 데이터 버퍼(62) 및 플립플롭(76)에 대한 인에이블 입력과 동일한 방식으로 동작하는 인에이블 입력을 포함한다. 플립플롭(80)은 BCLK(22)에 의해 클럭되고, 플립플롭(82) 및 플립플롭(84)은 NCLK(48)에 의해 클럭된다. 버퍼 라이트 인에이블 신호(58)가 논리 레벨 "0"이고, 클럭 선택 신호(46)가 논리 레벨 "0"이면, 플립플롭(80)은 상태를 변경하고 그의 Q 출력에 논리 레벨 "0"을 발생한다. 그렇지 않으면, 플립플롭(80)은 논리 레벨 "1"의 Q 출력을 포함하는 그의 디폴트 상태로 유지된다.
플립플롭(80)은 NCLK 라이트 인에이블 회로(74)에게, 수신 레지스터(34)가 NCLK(48)에 의해 클럭되어 BCLK(22) 및 NCLK(48)가 데이터 버퍼(62)내 데이터를 수신 레지스터(34)로 전송할 수 있기 전에 동기하여야 하는 것을 지시한다. 플립플롭(80)의 Q 출력은 인에이블 입력을 포함하지 않는 플립플롭(82)에 결합된다. 따라서, NCLK(48)의 각 상승 에지에 의해 상태를 변경할 것이다. 플립플롭(80) 및 플립플롭(82)은 본 발명의 클럭 동기 기능을 포함한다. 일단 플립플롭(80)의 Q 출력이 논리 레벨 "0"이면, 플립플롭(82)은 NCLK(48)의 다음 상승 에지에서 그의 Q 출력에 논리 레벨 "0"을 발생한다. 플립플롭(82)의 Q 출력은 NCLK 라이트 인에이블 신호(68)를 직접 발생하는 OR 로직 게이트에 결합된다. 플립플롭(82)의 Q 출력 및 NCLK 라이트 펜딩 신호(52)가 모두 논리 레벨 "0"이면, NCLK 라이트 인에이블 신호(68)는 액티브 상태를 나타내는 논리 레벨 "0"이다. 플립플롭(82)의 Q 출력과 NCLK 라이트 펜딩 신호(52)중의 하나가 논리 레벨 "1"이면, NCLK 라이트 인에이블 신호(68)는 인액티브 상태를 나타내는 논리 레벨 "1"이다.
제3플립플롭, 즉 플립플롭(84)은 플립플롭(80, 82)을 그들의 디폴트 상태로 프리셋하는 피드백 신호를 발생한다. 플립플롭(84)의 Q 출력이 NCLK 라이트 인에이블 신호(68)가 논리 레벨"0"으로 설정된 후 NCLK(48)의 다음 상승 에지에 있게 될 논리 레벨 "0"이거나 또는 리셋 신호(44)가 액티브 상태를 나타내는 논리 레벨 "0"이면, 플립플롭(80)의 프리셋 입력 및 플립플롭(82)의 프리셋 입력은 모두 논리 레벨 "0"으로 되어, 각 플립플롭의 Q 출력이 논리 레벨 "1"로 프리셋된다. 논리 레벨 "1"은 라이트 인에이블 신호가 인액티브인 것을 나타내는 것에 주의한다. 제3플립플롭(84)은 플립플롭(80) 및 플립플롭(82)이 프리셋되기 전에 하나의 NCLK 사이클 지연을 도입한다. 이것은 데이터 버퍼(62)에서 NCLK(48) 신호에 의해 클럭되는 수신 레지스터로 데이터를 전송한 후 NCLK 라이트 인에이블 회로(74)를 프리셋한다. 이것은 데이터 버퍼(62)에 전송될 데이터가 없을 때 NCLK 라이트 인에이블 신호(68)가 논리 레벨 "0"으로 되는 것을 방지한다.
라이트 비지 회로(75)는 하나의 플립플롭, 즉 BCLK(22)에 의해 클럭되는 플립플롭(86)으로 구성된다. 플립플롭(76) 또는 플립플롭(80)이 수신 레지스터(34)로의 전송 대기중인 데이터를 데이터 버퍼(62)가 포함하는 것을 나타낼 때, 플립플롭(86)은 라이트 비지 신호(70)를 논리 레벨 "1"로 하는 논리 레벨 "1"의 Q 출력을 발생하고, 이것은 전송 대기중인 데이터를 오버레이하지 않으면 데이터 버퍼(62)로 전송할 수 있는 데이터가 없는 것을 나타낸다. 라이트 비지 신호(70)가 논리 레벨 "0"일 때, 수신 레지스터(34)로의 전송 대기중인 데이터가 데이터 버퍼(62)에 존재하지 않는다. 따라서, 생존 가능한 데이터를 오버레이하지 않으면 어떤 데이터를 데이터 버퍼(62)로 전송할 수 있다.
도 5는 호스트 데이터 버스(10)가 8 비트 폭이고 구성 블록(14)의 수신 레지스터(34)가 호스트 데이터 버스(10)와 같은 클럭 소스, 즉 BCLK(22)에 의해 클럭되는 본 발명의 예시적인 타이밍도이다. 이 타이밍도는 바이트 0 및 바이트 1을 호스트 데이터 버스(10)에서 구성 블록(14)의 수신 레지스터의 첫번째 두 바이트로 전송할 때 포스트 라이트 버퍼(12)의 처리를 나타낸다. 호스트 데이터 버스(10)가 데이터 신호(18)의 데이터에 대한 라이트 요구를 적절한 수신 레지스터(34) 바이트로 전송한 후 BCLK(22)의 3개의 상승 에지가 취해지는 것에 주의한다.
도 6은 호스트 데이터 버스(10)가 8 비트 폭이고 BCLK(22)에 의해 클럭되고 수신 레지스터(34)가 NCLK(48)에 의해 클럭되는 본 발명의 예시적인 타이밍도이다. 이 타이밍도는 호스트 데이터 버스(10)에서 수신 레지스터(34)의 적절한 바이트로의 바이트 0 및 바이트 1의 전송을 설명한다. 라이트 인에이블 신호는 바이트 0 버퍼 영역(26), 바이트 1 버퍼 영역(28), 바이트 2 버퍼 영역(30) 및 바이트 3 버퍼 영역(32)에 대응하는 4개의 버퍼 영역 각각에 대하여 주어진 것에 주의한다. 호스트 데이터 버스(10)가 라이트 요구를 한 후, 호스트 데이터 버스(10)에서 수신 레지스터(34)의 적절한 바이트로 데이터의 바이트를 전송하는 처리는 BCLK(22)의 2개의 상승 에지 및 NCLK(48)의 3개의 상승 에지가 걸린다.
본 발명에 따르면, 제1클럭 소스에 의해 클럭되는 호스트 데이터 버스 및 제2클럭 소스에 의해 클럭되는 구성 블록 레지스터를 갖는 시스템의 포스트 라이트 버퍼로서, 호스트 데이터 버스가 다른 타스크를 자유로이 실행하게 하면서 구성 블록 레지스터로의 데이터의 전송을 취급하는 포스트 라이트 버퍼가 마련된다. 포스트 라이트 버퍼를 이용하는 이점은 클럭 동기 프리시저가 발생하는 동안 호스트 데이터 버스가 유휴 상태로 될 필요성을 제거하고 데이터가 구성 블록 레지스터로 전송되는 동안 호스트 데이터 버스가 다른 타스크를 자유로이 실행하게 한다.
따라서, 본 발명에 따르면, 상술한 효과를 만족하는 포스트 라이트 버퍼를 사용하여 호스트 데이터 버스에서 구성 블록 레지스터로 데이터를 전송하는 개선된 시스템 및 방법이 제공되는 것이 명확하다. 이상 본 발명자에 의해 이루어진 발명을 상기 실시예에 따라 구체적으로 설명하였지만, 본 발명은 그것에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위 내에서 여러 가지로 변형 가능한 것은 물론이다.

Claims (19)

  1. 듀얼 클럭 시스템의 포스트 라이트 버퍼에 있어서,
    호스트 데이터 버스 상의 데이터에 대한 수신 레지스터 어드레스(destination register address)를 수신하도록 동작하는 어드레스 버퍼;
    상기 호스트 데이터 버스에서 데이터를 수신하도록 동작하여 다른 기능에 대하여 상기 호스트 데이터 버스를 해방(releasing)시키고, 상기 수신 레지스터 어드레스에 따라 다수의 수신 레지스터 중 특정한 하나의 레지스터에 데이터를 제공하도록 동작하는 데이터 버퍼;
    제1 및 제2클럭 타이밍 신호 중 어느 것이 상기 다수의 수신 레지스터중 특정한 하나의 레지스터를 제어하는가를 결정하도록 동작하고, 상기 다수의 수신 레지스터중 특정한 하나의 레지스터로 데이터를 전송할 수 있기전에 이용가능한 데이터 바이트의 수를 결정하도록 동작하는 어드레스 디코더;
    상기 제1클럭 타이밍 신호에 의해 제어되는 수신 레지스터에 대하여 라이트 인에이블 신호를 발생하도록 동작하는 제1라이트 인에이블 회로; 및
    상기 제2클럭 타이밍 신호에 의해 제어되는 수신 레지스터에 대하여 라이트 인에이블 신호를 발생하도록 동작하는 제2라이트 인에이블 회로
    를 포함하며,
    상기 어드레스 버퍼, 데이터 버퍼 및 다수의 수신 레지스터 중 일부는 제1클럭 타이밍 신호에 의해 제어되고,
    상기 다수의 수신 레지스터 중 다른 레지스터는 제2클럭 타이밍 신호에 의해 제어되는 것을 특징으로 하는 포스트 라이트 버퍼.
  2. 제1항에 있어서, 상기 어드레스 디코더는 상기 다수의 수신 레지스터 중 특정한 하나의 레지스터가 상기 제1클럭 타이밍 신호에 의해 제어되고 한번에 1 바이트 이상의 데이터를 전송할 것을 요구한다는 결정에 따라 제1라이트 펜딩 신호를 발생하도록 동작하는 것을 특징으로 하는 포스트 라이트 버퍼.
  3. 제1항에 있어서, 상기 어드레스 디코더는 상기 다수의 수신 레지스터 중 특정한 하나의 레지스터가 상기 제2클럭 타이밍 신호에 의해 제어되고 한번에 1 바이트 이상의 데이터를 전송할 것을 요구한다는 결정에 따라 제2라이트 펜딩 신호를 발생하도록 동작하는 것을 특징으로 하는 포스트 라이트 버퍼.
  4. 제1항에 있어서, 상기 어드레스 디코더는 상기 제1 및 제2클럭 타이밍 신호 중 어느 것이 상기 다수의 수신 레지스터 중 특정한 하나의 레지스터의 동작 주파수를 제어하는가의 결정에 따라 클럭 선택 신호를 발생하도록 동작하고, 상기 클럭 선택 신호는 상기 제1 및 제2라이트 인에이블 회로 중 어느 것이 호출되는가를 나타내는 것을 특징으로 하는 포스트 라이트 버퍼.
  5. 제1항에 있어서, 상기 어드레스 디코더는 상기 수신 레지스터 어드레스를 상기 어드레스 버퍼로 전송하도록 동작하는 것을 특징으로 하는 포스트 라이트 버퍼.
  6. 제1항에 있어서, 상기 어드레스 디코더는 데이터를 상기 호스트 데이터 버스에서 상기 데이터 버퍼로 전송하도록 동작하는 것을 특징으로 하는 포스트 라이트 버퍼.
  7. 제1항에 있어서, 상기 어드레스 디코더는 상기 호스트 데이터 버스에서 버퍼 라이트 인에이블 신호를 수신하고, 상기 버퍼 라이트 인에이블 신호를 상기 어드레스 버퍼, 데이터 버퍼, 제1라이트 인에이블 회로, 및 제2라이트 인에이블 회로로 전송하도록 동작하고, 상기 버퍼 라이트 인에이블 신호는 상기 호스트 데이터 버스에서 상기 수신 레지스터로의 데이터 전송을 개시하는 것을 특징으로 하는 포스트 라이트 버퍼.
  8. 제1항에 있어서, 상기 포스트 라이트 버퍼 회로 요소를 디폴트값으로 리셋하는 리셋 신호를 더 포함하는 것을 특징으로 하는 포스트 라이트 버퍼.
  9. 제1항에 있어서, 상기 제1 및 제2라이트 인에이블 회로는 상기 데이터 버퍼의 데이터가 상기 수신 레지스터에 라이트되지 않았음을 나타내는 라이트 비지 상태 신호를 발생하도록 동작하는 것을 특징으로 하는 포스트 라이트 버퍼.
  10. 제1항에 있어서, 상기 호스트 데이터 버스는 8 비트 또는 16 비트의 용량을 갖는 것을 특징으로 하는 포스트 라이트 버퍼.
  11. 제1항에 있어서, 상기 데이터 버퍼는 8 비트의 용량을 갖는 것을 특징으로 하는 포스트 라이트 버퍼.
  12. 두개의 클럭 타이밍 신호중 하나에 의해 각각 제어되는 몇개의 구성 부분으로 구성된 컴퓨터 시스템에 있어서,
    데이터를 처리하고 데이터에 대하여 연산 기능을 실행하도록 동작하는 중앙 처리 장치;
    다수의 수신 레지스터를 구비하는 구성 블록;
    컴퓨터 시스템 내에서 통신을 용이하게 하고 데이터를 하나의 컴퓨터 시스템 구성 요소에서 다른 컴퓨터 시스템 구성 요소로 전송하도록 동작하는 호스트 데이터 버스; 및
    상기 다수의 수신 레지스터중 특정한 하나의 레지스터로의 데이터의 전송이 상기 포스트 라이트 버퍼를 통과하여 진행하도록 상기 호스트 데이터 버스와 상기 구성 블록 사이에 개재하여, 상기 호스트 데이터 버스에서 상기 다수의 수신 레지스터중 특정한 하나의 레지스터로 데이터를 전송하도록 동작하는 포스트 라이트 버퍼
    를 포함하며,
    상기 포스트 라이트 버퍼는 상기 호스트 데이터 버스 및 상기 다수의 수신 레지스터중 특정한 하나의 레지스터가 다른 클럭 타이밍 신호에 의해 제어되면, 제1클럭 타이밍 신호와 제2클럭 타이밍 신호를 동기시키도록 동작하는 것을 특징으로 하는 컴퓨터 시스템.
  13. 제12항에 있어서, 상기 포스트 라이트 버퍼는 어드레스 디코더를 구비하고, 상기 다수의 수신 레지스터 중 특정한 하나의 레지스터내 데이터의 다수의 바이트 각각에 대하여, 어드레스 버퍼, 데이터 버퍼, 제1라이트 인에이블 회로 및 제2라이트 인에이블 회로를 구비하는 것을 특징으로 하는 컴퓨터 시스템.
  14. 제12항에 있어서, 상기 포스트 라이트 버퍼는 상기 호스트 데이터 버스가 다른 기능을 자유로이 실행하도록 상기 호스트 데이터 버스에서 데이터를 수신하는 것을 특징으로 하는 컴퓨터 시스템.
  15. 호스트 데이터 버스내 데이터를 수신 레지스터로 전송하는 방법에 있어서,
    호스트 데이터 버스에서 수신 레지스터 어드레스를 수신하는 스텝;
    상기 호스트 데이터 버스에서 데이터를 수신하는 스텝;
    제1클럭 타이밍 신호 및 제2클럭 타이밍 신호를 수신하는 스텝;
    또 다른 데이터 전송에 대하여 상기 호스트 데이터 버스가 해방되도록 상기 호스트 데이터 버스에서 포스트 라이트 버퍼로의 데이터 전송을 인에이블하는 버퍼 라이트 신호를 수신하는 스텝;
    상기 제1클럭 타이밍 신호와 상기 제2클럭 타이밍 신호 중 어느 것이 상기 수신 레지스터의 동작 주파수를 제어하는가를 결정하기 위해 상기 수신 레지스터 어드레스를 디코드하는 스텝;
    상기 수신 레지스터 어드레스에 따라 클럭 선택 신호를 발생하는 스텝;
    상기 클럭 선택 신호 및 상기 버퍼 라이트 신호에 따라 라이트 인에이블 신호를 발생하는 스텝; 및
    상기 라이트 인에이블 신호에 따라 상기 포스트 라이트 버퍼에서 상기 수신 레지스터로 데이터를 전송하는 스텝
    을 포함하는 것을 특징으로 하는 전송 방법.
  16. 제15항에 있어서, 상기 수신 레지스터로의 데이터 전송을 실행하기 전에 수신될 필요가 있는 데이터 바이트의 수를 결정하도록 상기 수신 레지스터 어드레스를 디코드하는 스텝;
    모든 필요한 데이터 바이트가 상기 포스트 라이트 버퍼에서 이용가능할때까지 라이트 펜딩 신호를 발생하는 스텝; 및
    모든 필요한 바이트가 상기 포스트 라이트 버퍼에 있고 상기 수신 레지스터로의 전송에 대비한다는 것을 상기 라이트 펜딩 신호가 나타낼때까지 상기 포스트 라이트 버퍼에 데이터를 유지하는 스텝
    을 더 포함하는 것을 특징으로 하는 전송 방법.
  17. 제16항에 있어서, 상기 라이트 인에이블 신호를 발생하는 스텝은 상기 수신 레지스터가 1바이트 이상의 데이터를 전송할 것을 요구하는가를 판정하기 위해 상기 라이트 펜딩 신호를 평가하는 스텝을 더 포함하는 것을 특징으로 전송 방법.
  18. 제15항에 있어서, 리셋 신호를 수신하고, 상기 포스트 라이트 버퍼 회로 요소를 디폴트값으로 리셋하는 스텝을 더 포함하는 것을 특징으로 하는 전송 방법.
  19. 제15항에 있어서, 상기 수신 레지스터로 전송되지 않고 상기 포스트 라이트 버퍼에 있는 데이터에 따라 라이트 비지 신호를 발생하는 스텝을 더 포함하는 특징으로 하는 전송 방법.
KR1019990065764A 1999-01-19 1999-12-30 듀얼 클럭 시스템의 포스트 라이트 버퍼, 컴퓨터 시스템 및 데이터 전송 방법 KR100681371B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11662399P 1999-01-19 1999-01-19
US60/116,623 1999-01-19

Publications (2)

Publication Number Publication Date
KR20000052625A true KR20000052625A (ko) 2000-08-25
KR100681371B1 KR100681371B1 (ko) 2007-02-12

Family

ID=22368277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990065764A KR100681371B1 (ko) 1999-01-19 1999-12-30 듀얼 클럭 시스템의 포스트 라이트 버퍼, 컴퓨터 시스템 및 데이터 전송 방법

Country Status (5)

Country Link
US (1) US6499080B1 (ko)
EP (1) EP1028365A3 (ko)
JP (1) JP2000222280A (ko)
KR (1) KR100681371B1 (ko)
TW (1) TW464807B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US8977882B2 (en) 2012-11-21 2015-03-10 Free Scale Semiconductor, Inc. System for data transfer between asynchronous clock domains
CN111241026B (zh) * 2020-01-02 2024-01-02 航天信息股份有限公司 一种多个时钟的自适应系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
JPH0573697A (ja) * 1991-08-30 1993-03-26 Nec Corp マイクロコンピユータ
EP0574598A1 (de) * 1992-06-13 1993-12-22 International Business Machines Corporation Datenpufferspeicher
US5448715A (en) * 1992-07-29 1995-09-05 Hewlett-Packard Company Dual clock domain interface between CPU and memory bus
US5721839A (en) * 1995-10-13 1998-02-24 Compaq Computer Corporation Apparatus and method for synchronously providing a fullness indication of a dual ported buffer situated between two asynchronous buses
US5991861A (en) * 1996-03-15 1999-11-23 Adaptec, Inc. Method of enabling and disabling a data function in an integrated circuit
US5835752A (en) * 1996-10-18 1998-11-10 Samsung Electronics Co. Ltd. PCI interface synchronization
EP0887740A1 (en) * 1997-06-19 1998-12-30 Canon Kabushiki Kaisha Device and method for communication between computer buses
US6377650B1 (en) * 1999-08-26 2002-04-23 Texas Instruments Incorporated Counter register monitor and update circuit for dual-clock system

Also Published As

Publication number Publication date
TW464807B (en) 2001-11-21
JP2000222280A (ja) 2000-08-11
US6499080B1 (en) 2002-12-24
EP1028365A3 (en) 2005-01-12
EP1028365A2 (en) 2000-08-16
KR100681371B1 (ko) 2007-02-12

Similar Documents

Publication Publication Date Title
EP0262429B1 (en) Data processor having a high speed data transfer function
JP2500973B2 (ja) 交換接続システム
KR101699784B1 (ko) 버스 시스템 및 그것의 동작 방법
US6996659B2 (en) Generic bridge core
KR100291409B1 (ko) 컴퓨터 시스템내의 동일 버스상에 두 개의 부 디코드 에이전트를 지원하는 방법 및 장치
KR100681371B1 (ko) 듀얼 클럭 시스템의 포스트 라이트 버퍼, 컴퓨터 시스템 및 데이터 전송 방법
KR100337059B1 (ko) 탄성 버스 인터페이스 데이터 버퍼
JPH0337221B2 (ko)
US6643749B2 (en) Interface for multi-processor
US7032061B2 (en) Multimaster bus system
CN111435340B (zh) 互联网总线单元及数据传输方法、wishbone互联网模块、芯片
JPH1166024A (ja) クロスバスイッチ切換システム
US6453373B1 (en) Method and apparatus for differential strobing
JP2001306491A (ja) 非同期系間データ転送回路及び非同期系間データ転送方法
EP0651336A1 (en) Switch network extension of bus architecture
JPH01177664A (ja) バス接続制御方式
JP2002176464A (ja) ネットワークインタフェース装置
KR100406967B1 (ko) 병렬포트다중입력확장장치
JPS61174851A (ja) バス制御方式
KR20060009292A (ko) 분할 프로토콜 전송 방법 및 프로세싱 시스템
JPH11212927A (ja) 競合調停方法
JP2000322370A (ja) データ出力回路
JP2001156817A (ja) データ転送装置及びデータ転送方法
KR19990074420A (ko) 특정 신호를 이용하여 이중화 방식을 구현하기 위한 메모리제어 방법
JPH0380351A (ja) チャネル切替装置

Legal Events

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

Payment date: 20130130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 13