KR100275407B1 - 컴퓨터 버스 상의 공유 자원에 대한 신속한 액세스 - Google Patents

컴퓨터 버스 상의 공유 자원에 대한 신속한 액세스 Download PDF

Info

Publication number
KR100275407B1
KR100275407B1 KR1019980706203A KR19980706203A KR100275407B1 KR 100275407 B1 KR100275407 B1 KR 100275407B1 KR 1019980706203 A KR1019980706203 A KR 1019980706203A KR 19980706203 A KR19980706203 A KR 19980706203A KR 100275407 B1 KR100275407 B1 KR 100275407B1
Authority
KR
South Korea
Prior art keywords
bus
memory
control
controller
row address
Prior art date
Application number
KR1019980706203A
Other languages
English (en)
Other versions
KR19990082470A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24401666&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100275407(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 피터 엔. 데트킨, 인텔 코오퍼레이션 filed Critical 피터 엔. 데트킨
Publication of KR19990082470A publication Critical patent/KR19990082470A/ko
Application granted granted Critical
Publication of KR100275407B1 publication Critical patent/KR100275407B1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Dram (AREA)

Abstract

공유 자원(13)에 의해 사용되는 버스(12)에 대한 액세스를 가지는 다수의 제어장치들(25 및 26) 사이에서 공유 자원(13)에 대한 액세스 제어의 전송 속도를 가속화하는 것은 버스 제어장치(25 및 26)에 의한 액세스 요구를 검출하는 것을 포함한다. 버스(12)가 사용 중이 아닌 경우에는 버스 제어장치(25 또는 26)에 의한 액세스 요구를 검출한 즉시 고속 버스 전송 시퀀스를 시작하며, 버스(12)가 사용 중인 경우에는 버스(12)의 사용이 완료되면 저속 버스 전송을 시작한다.

Description

컴퓨터 버스 상의 공유 자원에 대한 신속한 액세스
컴퓨터 시스템의 성능이 향상됨에 따라, 데이터 및 프로그램을 저장하기 위해 이러한 시스템에 의해 사용되는 메모리 공간의 크기도 또한 증가해왔다. 예를 들어 단일 Intel PentiumR마이크로프로세서를 사용하는 일반적인 데스크탑 컴퓨터는 주 메모리(main memory) 사용되는 16메가바이트(megabyte)의 DRAM(dynamic random access memory), 장시간 저장을 위해 사용되는 1기가바이트(gigabyte)의 전자기계식 하드디스크 메모리, 그래픽 프레임 버퍼의 일부로서 사용되는 1 내지 4메가바이트의 DRAM 또는 VRAM(video random access memory) 및 다수의 기타 다른 특수 메모리 배열을 포함할 수 있다. 이러한 시스템에 의해 사용되는 메모리의 양 및 메모리 사용에 따른 비용은 앞으로도 계속 증가할 것으로 보인다.
역사적으로 프레임 버퍼는 흔히 (VRAM과 같은) 고속의 값비싼 메모리 장치로 사용되었던 반면, 주 메모리는 저속의 DRAM으로 사용되었다. 그러나 고속의 프로세서 및 개선된 시스템 구조가 사용되어 주 메모리가 동작하는 속도가 상당히 증가되었다. 예를 들어 개별적인 메모리 버스 상에 주 메모리를 위치시키는 것이 일반적이며, 여기에서 메모리 제어장치가 상기 버스에 대한 액세스를 제어한다. 주 메모리를 액세스하는 속도가 증가되고 상기 주 메모리의 평균 크기가 증가됨에 따라 주 메모리의 일부를 사용하여 그래픽 출력을 저장하고 조작(manipulate)함으로써 전체적인 시스템 경비가 감소되었다. 이를 구현하기 위해, 그래픽 제어장치가 또한 주 메모리를 신속하게 액세스할 수 있어야 한다. 그래픽 제어장치는 역사적으로 프레임 버퍼 배열 내에서 (비트 블록 변환(bit blit)등과 같은) 여러 가지 조작을 실시하기 위해 사용되었다. 주 메모리의 일부가 프레임 버퍼 기억장치를 대체하기 위해 사용되는 경우에, 상기 그래픽 제어장치는 주 메모리의 할당된 부분에서 그래픽 데이터와 동일한 동작을 수행할 수 있어야 한다. 주 메모리를 액세스하기 위해, 그래픽 제어장치(또는 다른 버스 마스터)는 어느 것이라도 주로 메모리 제어장치의 제어를 받고 있는 메모리 버스에 대한 액세스를 획득할 수 있어야 한다. 따라서 메모리 제어장치와 다른 제어장치 또는 버스 마스터 사이에서 주 메모리에 대한 액세스 제어를 가능한 가장 짧은 시간에 전환(switch)시키는 것이 매우 중요하다.
다수의 버스 마스터 또는 제어장치를 가지는 컴퓨터 시스템에 있어서, 개인용 컴퓨터 시스템의 버스 마스터가 공유 자원에 대한 액세스를 획득하기 위해 필요한 시간을 단축시키는 것이 바람직하며, 더 구체적으로는 그래픽 제어장치가 메모리 제어장치와 공유하는 주 메모리 버스에 대한 액세스를 획득하기 위해 필요한 시간을 단축시키는 것이 바람직하다.
본 발명은 개인용 컴퓨터 시스템에 관한 것으로, 더 구체적으로는 다수의 버스 마스터(bus master)가 공유 자원에 대한 신속한 액세스(access)를 획득하기 위해 중재하는 속도를 증가시키는 방법 및 장치에 관한 것이다.
도 1은 종래 기술에 따라 설계된 컴퓨터 시스템 구조의 블록도이다.
도 2는 본 발명에 따라 설계된 컴퓨터 시스템 구조의 블록도이다.
도 3은 로컬 버스 마스터에 의해 메모리 버스 상에서 주 메모리에 대한 액세스 속도를 증가시키는 본 발명 회로의 제 1 실시예를 도시하는 블록도이다.
도 4는 메모리 버스가 사용 중이 아닌 경우에 로컬 버스 마스터에 의해 메모리 버스에 액세스하는 것을 도시하는 타이밍도이다.
도 5는 메모리 버스가 사용 중인 경우에 로컬 버스 마스터에 의해 메모리 버스에 액세스하는 것을 도시하는 타이밍도이다.
도 6은 본 발명에 따른 방법의 단계를 나타내는 순서도이다.
본 발명은 자원에 의해 사용되는 버스에 대한 액세스를 갖는 다수의 제어장치들 사이에서 주 메모리와 같은 공유 자원에 대한 액세스의 제어 전송 속도를 가속화시키는 새로운 방법 및 장치를 사용한다. 본 발명의 방법은 버스 제어장치에 의한 액세스 요구를 검출하고, 버스가 제어장치에 의해 사용 중인지의 여부를 검출하며, 상기 버스가 사용 중이 아닌 경우에는 소정의 정해진 타이밍을 갖는 버스 전송 시퀀스(timed bus transfer sequence)를 즉시 시작하고, 상기 버스가 사용 중인 경우에는 버스 사용이 종료되는 즉시 상기 정해진 타이밍을 갖는 버스 전송 시퀀스를 시작하며, 상기 정해진 타이밍을 갖는 버스 전송 시퀀스가 끝나는 즉시 버스를 해제하고 제어를 요구되는 제어장치에 전송한다.
본 발명의 상기 특정 및 기타 다른 특징들은 동일한 구성요소가 다수의 도면에 걸쳐 동일, 유사한 참조번호로 표시되는 도면과 함께 다음의 상세한 설명을 참조하여 보다 쉽게 이해될 수 있을 것이다.
표시법 및 명명법
다음의 상세한 설명의 일부는 컴퓨터 메모리 내의 데이터 비트에 대한 동작을 나타내는 기호 표시로 표현되어 있다. 이들 설명 및 표시는 데이터 프로세싱 기술분야의 당업자들이 그들의 작업 내용을 다른 당업자들에게 가장 효율적으로 전달하기 위해 사용하는 수단이다. 상기 동작은 물리량들을 물리적으로 조작하는데 필요한 동작이다. 이들 물리량은 저장, 전송, 결합, 비교 및 기타 다른 방법으로 조작될 수 있는 전기 또는 자기 신호의 형태를 취하지만, 통상적으로 반드시 필요한 것은 아니다. 이들 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 지칭하는 것은 널리 사용되고 있다는 주된 이유 때문에 때때로 편리한 것으로 밝혀졌다. 그러나 모든 이들 용어 및 유사한 용어는 적당한 물리량과 연관되어 있는 것으로, 단지 편리를 도모하기 위해 이들 물리량에 적용된 레이블(label)이라는 사실을 명심해야 한다.
또한 수행되는 조작은 흔히 인간에 의해 수행되는 정신적 활동과 공통적으로 결합되어 있는 가산 또는 비교와 같은 용어로 지칭된다. 본 발명의 일부를 구성하며 본 명세서에 기술된 임의의 동작에 있어서 대부분의 경우 이러한 인간의 능력은 불필요하거나 요구되지 않는다. 즉 상기 동작은 기계가 수행하는 동작이다. 본 발명의 동작을 실시하기에 유용한 기계로는 범용 디지털 컴퓨터 또는 다른 유사한 장치들이 있다. 모든 경우에 있어서, 컴퓨터를 작동하는 작동 방법 및 계산(computation) 방법 사이에 차이가 존재한다는 점에 유의해야 한다. 본 발명은 전기적 또는 다른 (예를 들어 기계적, 화학적 신호인) 물리적 신호를 처리하여 희망하는 다른 물리적 신호를 발생하도록 컴퓨터를 작동하는 방법 및 장치에 관한 것이다.
본원에서 그 이름에 "#"을 포함하는 신호는 활성 로우 신호(active low signal)로 간주된다. 신호에 부여된 용어가 "인가(assert)"인 경우에는 신호 레벨이 로우(low) 또는 하이(high)에 상관없이 신호가 활성임을 표시한다. 용어 "인가해제(de-assert)"는 신호가 비활성임을 표시한다.
도 1에는 종래 기술에 따른 일반적인 컴퓨터 시스템(10)이 도시되어 있다. 시스템(10)은 상기한 일반적인 방식으로 기능하는 임의의 컴퓨터 시스템일 수 있지만, 이러한 시스템은 미합중국 캘리포니아주 산타클라라 소재 Intel Corporation에 의해 설계되고 제조된 형태의 PentiumR마이크로프로세서와 같은 마이크로프로세서를 사용하도록 설계된 시스템에 의해 적절히 표시된다. 도시된 시스템(10)은 시스템(10) 작동 시에 제공되는 여러 가지 인스트럭션을 실행하는 중앙처리장치(CPU, 11)를 포함한다. 중앙처리장치(11)는 일반적으로 프로세서 버스를 통해 브리지 회로(bridge circuit, 14)와 결합하며, 상기 브리지 회로는 시스템(10)의 여러 가지 구성요소들 사이에서 정보를 전달하기에 적합한 로컬 버스(12)에 대한 액세스를 제어한다. 도 1에서 버스(12)는 주변 장치 인터페이스(peripheral component interface: PCI) 버스 또는 특별히 데이터의 고속 전송에 적합한 다른 고속 로컬 버스인 것이 바람직하다. 일반적인 시스템(10)에서, 여러 가지 입/출력 장치는 버스 마스터(master)와 버스 슬레이브(slave) 회로로서 버스(12)에 접속되어 있다. 본 명세서에 도시된 바와 같이, 예를 들어 프레임 버퍼(17)를 제어하는 그래픽 제어장치(16)는 버스 마스터 또는 버스 슬레이브로서 PCI 버스(12)와 결합될 수 있다. 사운드 보드(sound board), 프레임 버퍼 등과 같은 다른 입/출력 장치 또한 유사한 방식으로 버스(12)와 결합될 수 있다.
또한 브리지 회로(14)는 메모리 버스를 통해 주 메모리(13)와 결합된다. 주 메모리(13)는 일반적으로 전원이 시스템(10)에 공급되는 동안 정보를 저장하기 위해 당업자에게 공지된 방식으로 배열되어 있는 DRAM(dynamic random access memory)으로 구성되어 있다. 특정한 구성을 갖는 경우, 브리지 회로(14)는 일반적으로 2차 캐시 제어장치(secondary cache controller); 2차 캐시(종종 L2캐시라 지칭됨); 메모리 제어장치(15); 프로세서, 주 메모리 및 로컬 버스 사이에서 데이터가 전송되는 동안 상기 데이터를 저장하는 다수의 버퍼를 포함한다. 이들 구성요소는 브리지 회로(14)와 일체형으로 된 부품이거나 또는 대안적으로 회로 기판 상에서 다른 구성요소와 결합될 수 있다.
도 1의 배치에서는 응용 프로그램과 협력하여 데이터를 시스템(10)의 여러 가지 구성요소로 전송하는 운영 체제(operating system)의 제어를 받는 중앙처리장치(11)에 의해 동작이 수행된다. 예를 들어 주 메모리(13)에서 주소지정되는 데이터는 메모리 제어장치(15)의 제어를 받는 메모리 버스 상으로 전송된다. 유사하게 중앙처리장치(11)에 의해 판독된 데이터는 주 메모리(13)로부터 메모리 제어장치(15)의 제어를 받는 메모리 버스 상으로 전송된다. 한편 그래픽 제어장치(16)에 의해 제어되며 프레임 버퍼(17)에 저장하기 위한 프레임 버퍼 어드레스와 출력 디스플레이(18) 상의 디스플레이로 전송되는 데이터는 브리지 회로(14) 내의 데이터 회선(data path)을 통해 버스(12)로 전송된다. 이 데이터가 중앙처리장치(11)로부터 전송되면, 데이터 및 어드레스는 브리지 회로를 통해 버스(12)로 전송된다. 이 데이터가 주 메모리(13)로부터 전송되면, 메모리 제어장치(15)는 주 메모리로부터 브리지 회로(14)로의 전송을 제어하는데, 이 경우 상기 브리지 회로(14)에는 메모리 제어장치(15)가 버스(12)와 접속된 브리지 데이터 회선 내에 위치한다. 다른 버스 마스터에 의한 동작이 없는 경우에는 브리지 회로(14)가 일반적으로 버스(12)에 대한 제어권을 가지고 있지만, 때로는 브리지 회로(14)가 버스(12)상에 데이터를 위치시켜 그래픽 제어장치(16)로 전송하기 위해 버스(12)를 중재하고 버스(12)에 대한 액세스를 획득해야 하는 경우도 있다.
당업자들은 프레임 버퍼(17)가 시스템(10) 구조로부터 제거되고 프레임 버퍼 동작이 주 메모리(13)의 기억 공간의 일부에서 수행되는 경우에, 그래픽 제어장치(16)는 조작 및 데이터 전송을 위해 버스(12) 및 메모리 제어장치(15)를 통과하는 긴 회선을 사용해야 한다는 것을 이해하게 될 것이다. 도 1에 도시된 시스템의 프레임 버퍼(17)에 의해 제공되는 기억 공간이 주 메모리의 기억 공간에 의해 대체되는 경우, 소정의 개선된 구조는 이러한 대기시간(latency)을 감소시키기 위해 그래픽 제어장치의 제어를 받는 동작 속도를 가속화하도록 설계된다.
도 2는 그래픽 제어장치의 제어 하에서 디스플레이될 데이터가 주 메모리 공간에 저장되는 경우에 그래픽 제어장치의 제어를 받는 동작 속도를 가속화하도록 개선된 구조를 도시한다. 도 2의 시스템(20)에서 알 수 있듯이, 도시된 시스템(20)은 프로세서 버스를 통해 브리지 회로(24)와 결합된 중앙처리장치(11)를 포함하며, 상기 브리지 회로는 시스템(20)의 여러 가지 구성요소 사이에서 정보를 전달하기에 적합한 고속 로컬 버스(22)에 대한 액세스를 제어한다. 일반적인 시스템(20)에서, 여러 가지 입/출력 장치는 버스 마스터 및 버스 슬레이브 회로로서 버스(22)와 접속된다. 본원에서 도시된 바와 같이, 예를 들어, 출력 디스플레이(18)로 진행하는 데이터의 조작 및 전송을 제어하는 그래픽 제어장치(26)는 버스 마스터 또는 버스 슬레이브로서 버스(22)와 결합될 수 있다. 사운드 보드, 프레임 버퍼 등과 같은 다른 입/출력 장치도 유사한 방식으로 버스(22)와 결합될 수 있다.
또한 브리지 회로(24)는 메모리 버스를 통해 주 메모리(13)와 결합된다. 주 메모리(13)는 전원이 시스템(20)에 공급되는 동안 정보를 저장하기 위해 종래 기술의 당업자들에게 공지된 방식으로 배열된 DRAM, VRAM 또는 다른 RAM으로 구성될 수 있다. 도 1의 시스템(10)에서와 마찬가지로, 브리지 회로(24)는 일반적으로 2차 캐시 제어장치; 2차 캐시(종종 L2캐시라 지칭됨); 메모리 제어장치(25); 데이터를 저장하기 위한 다수의 버퍼; 프로세서, 주 메모리 및 로컬 버스 사이에 데이터 및 어드레스를 전송할 수 있도록 하는 데이터 및 어드레스 회선을 포함한다. 이들 구성요소는 브리지 회로(24)와 일체형으로 된 부품이거나 또는 대안적으로 회로 기판 상에서 다른 구성요소와 결합될 수 있다.
시스템(10)과는 달리, 시스템(20)의 그래픽 제어장치(26)는 버스(22)뿐만 아니라 메모리 버스와도 결합된다. 이러한 접속에 의해, 그래픽 제어장치(26)는 메모리 버스에 액세스하였을 경우 그래픽 제어장치 자체 및 디스플레이(18)로의 데이터 전송을 직접 제어할 수 있다. 주 메모리(13)에 대한 이러한 액세스를 통해, 그래픽 제어장치(26)는 주 메모리(13)에서 데이터를 저장, 판독, 조작하여 주 메모리(13)의 일부가 프레임 버퍼와 동일한 방식으로 기능을 수행할 수 있다.
도 3은 본 발명을 실시하는 도 2에 도시된 회로의 일부에 대한 하나의 실시예를 보다 상세하게 도시한 블록도이다. 주 메모리의 일부를 사용하여 그래픽 프레임 버퍼의 기능을 대체하기 위해, 그래픽 제어장치가 주 메모리에 액세스하도록 하여 그래픽을 디스플레이하는데 필요한 다양한 조작을 실행할 수 있도록 하는 것이 필요하다. 도 3에는 메모리 제어장치(25), 그래픽 제어장치(26), 및 주 메모리(13)가 도시되어 있다. 메모리 제어장치(25)는 버스(12)로부터 정보를 수신, 전송하고 클록 입력 CLK를 수신하도록 접속되어 있다. 마찬가지로 그래픽 제어장치(26)는 버스(12)로부터 정보를 수신, 전송하고 클록 입력 CLK를 수신하도록 접속되어 있다. 메모리 제어장치(25) 및 그래픽 제어장치(26)의 각각은 다수의 제어 신호를 주 메모리(13)에 제공하도록 접속되어 있다. 이들 신호는 기록 인에이블 신호(write enable signal) WE#, 행 액세스 스트로브(row access strobe) RAS# 및 열 액세스 스트로브(column access strobe) CAS#를 포함한다. 또한 메모리에 대한 액세스가 이루어지는 동안 메모리 어드레스 MADDR이 메모리 어드레스 버스 상에서 구동된다. 데이터는 이들 신호의 제어 하에 메모리 데이터 버스 상에서 주 메모리(13)로 전송되거나 주 메모리(13)로부터 수신된다.
일반적으로 제어장치가 메모리 버스를 액세스하여 메모리 동작이 발생하는 경우에, 유효 메모리 어드레스 MADDR이 버스 상에서 구동된 후, 메모리 어드레스를 사용하여 적당한 행을 선택할 수 있도록 하는 RAS# 신호가 인가되고, 그 후 주소지정된 열 또는 열들을 선택할 수 있도록 하는 하나 이상의 CAS# 신호가 인가된다.
본 발명에서 사용될 수 있는 하나의 시스템에서는 메모리 제어장치(25)가 메모리 버스에 대한 주 제어권을 가지기 때문에, 메모리 버스가 해제될 때마다 제어가 메모리 제어장치로 복귀한다. 다른 시스템에서는 둘 이상의 제어장치 중의 어느 하나가 사용을 완료한 후 다른 제어장치에 의해 액세스가 요구될 때까지 버스에 대한 제어를 계속하여 유지한다.
도 3의 회로에서, 메모리 제어장치(25)가 메모리 버스에 대한 제어권을 가지고 있다고 가정하면, 그래픽 제어장치(26)가 메모리 동작을 실행하고자 하는 경우, 그래픽 제어장치(26)는 그래픽 제어장치가 메모리 버스에 대한 액세스를 희망한다는 것을 표시하는 메모리 버스 요구 신호(memory bus request signal) MREQ#를 메모리 제어장치에 인가한다. 메모리 제어장치(25)가 메모리 버스를 사용하지 않는 경우, 메모리 제어장치(25)는 메모리 버스 승인 신호(memory bus grant signal) MGNT#를 인가함으로써 그래픽 제어장치(26)에 응답한다. 이것은 그래픽 제어장치(26)가 메모리 버스에 대한 제어권을 가지고 있으며, 이 버스 상에서 판독 또는 기록할 수 있다는 것을 그래픽 제어장치에 표시한다. 한편 메모리 제어장치(25)가 메모리 버스를 사용하고 있는 경우에는, 메모리 제어장치(25)가 그 동작을 완료한 후 그래픽 제어장치(26)에 연결된 버스를 해제한다. 메모리 제어장치는 메모리 어드레스 선을 3개의 상태(tristate)를 갖도록 하고, RAS# 및 CAS# 신호를 인가해제하고, 메모리 버스 승인 신호 MGNT#를 그래픽 제어장치(26)에 인가함으로써 메모리 버스를 해제한다.
2개의 제어장치가 메모리 버스에 직접 액세스하는 것을 허용하는 데 있어서 발생하는 문제점은 RAS# 신호가 다른 제어장치에 연결된 버스에 대한 제어를 처리하고 있는 제어장치에 의해 인가해제된 후 행 및 열 선택 회로를 프리차지(precharge)하기 위한 소정의 시간이 필요하다는 것이다. 프리차지 시간은 특정 시스템에 따라 달라지는데, 그 이유는 프리차지 시간이 클록 속도 및 DRAM 메모리 배열 내의 개별적인 구성요소에 좌우되기 때문이다. 하나의 시스템에서 이러한 프리차지 시간은 클록 사이클의 3배이다. 다른 시스템에서는 3배가 아닌 다른 배수의 프리차지 시간이 요구된다. 정확한 행 선택을 보장하기 위해서는 행 액세스 스트로브가 인가되기 전에 프리차지가 발생해야 하기 때문에, 버스가 하나의 제어장치에 의해 해제되고 다른 제어장치에 의해 인가된 후에 적어도 상술한 배수만큼의 시간을 제공하는 것이 필요하다. 한편 프리차지가 상기 기지(known)의 시간 내에 발생하도록 시간의 양을 제한하여 제어장치들 사이에서 제어를 전송할 때 사이클의 낭비가 전혀 발생하지 않도록 하는 것이 바람직하다. 버스 제어가 전송되기 전에 소정의 동작을 완료해야하는 버스 제어장치들 사이에서 다른 제어를 전송할 경우 동일한 문제점이 발생한다.
본 발명은 그래픽 제어장치(26)가 주 메모리(13)에 대한 액세스를 요구하는 경우 발생할 수 있는 가능한 서로 다른 2개의 상황 중 어느 하나의 상황에서, 메모 제어장치(25)로부터 그래픽 제어장치(26)로 메모리 버스 제어를 전송하기 위해 가장 짧은 전이(transition) 가능 시간을 제공한다. 본 발명은 메모리 버스 제어의 전송과 관련되어 있지 않지만, 버스 제어의 전송이 발생하기 전에 소정의 동작이 완료되어야 하는 다른 경우에도 사용될 수 있다. 도 4 및 도 5는 본 발명의 특정 실시예에서 발생하는 2개의 서로 다른 동작의 타이밍을 도시한다. 도 4는 메모리 제어장치가 버스의 제어권을 가지지만 메모리 버스를 사용하지 않는 경우에 동작하는 타이밍을 도시하며, 도 5는 메모리 제어장치가 메모리 버스를 사용하는 경우에 동작하는 타이밍을 도시한다. 도 6은 본 발명을 수행하는 것과 관련된 단계를 도시한다.
버스 제어의 전송 시간을 가장 짧게 구현하기 위해, 메모리 제어장치(25)는 그래픽 제어장치(26)가 MREQ# 신호를 인가하면(도 4 및 도 5의 각 지점 "a"), 우선 RAS 선들의 상태를 결정한다. RAS 선들의 상태는 지점 "b"에서의 다음 클록의 에지 상에서 메모리 제어장치(25)에 의해 결정된다. RAS 신호가 도 4에서처럼 RAS# 신호가 메모리 제어장치(25)에 의해 인가되지 않았음을 표시하는 하이(high)인 경우에는 고속 전송 동작이 발생하며, RAS 신호가 도 5에서처럼 RAS#가 메모리 제어장치(25)에 의해 인가되었음을 표시하는 로우(low)인 경우에는 저속 동작이 발생한다.
RAS 신호가 도 5에서처럼 RAS# 신호가 메모리 제어장치(25)에 의해 인가되었음을 표시하는 로우인 경우, 수행 중인 동작이 완료된 후 메모리 제어장치(25)가 메모리 버스를 해제할 준비가 될 때까지는 아무런 동작도 발생하지 않는다. 도 5에서 3개의 사이클이 지나면 동작이 완료된다. 메모리 제어장치(25)가 동작이 완료되었으며 그래픽 제어장치에 의해 MREQ# 신호가 인가되었음을 인식하기 때문에, 메모리 제어장치는 메모리 동작이 완료되는 즉시 3개의 동작을 수행한다. 메모리 제어장치(25)는 RAS 선들을 하이로 구동하여 RAS# 신호를 인가해제하여 RAS 프리차지를 시작하고(도 5의 지점 "e" 참조), 메모리 어드레스 선을 3개의 상태를 갖도록 하고(도 5의 지점 "i" 참조), 메모리 버스 승인 신호 MGNT#를 그래픽 제어장치(26)에 인가한다. 이것은 그래픽 제어장치(26)가 메모리 버스 제어를 시작할 수 있음을 그래픽 제어장치에 표시하는 것이다. 한 사이클이 지난 후에, 메모리 제어장치(25)는 RAS 선들을 3개의 상태를 갖도록 하여 그래픽 제어장치(26)가 이들 선을 구동할 수 있도록 한다.
가능한 고속 기능을 수행하기 위해, 그래픽 제어장치(26)는 그래픽 제어장치가 MREQ# 신호를 인가하면 소정의 시간(interval)이 시작되는 타이밍 회로(27 또는 유사한 타이밍 회로)를 포함한다. 타이밍 회로(27)는 MGNT# 신호가 복귀하면 이 신호를 감지한다. 우선 MREQ# 신호가 인가된 후 MGNT# 신호가 다음 클록 내에서 복귀하면, 그래픽 제어장치는 즉시 버스의 제어를 시작하고, 고속 전송 동작으로 들어가 고속 기능을 구현한다. 그러나 도 5에서 MGNT# 신호는 메모리 동작이 완료될 때까지 메모리 제어장치에 의해 복귀되지 않는다. 이러한 상황이 발생하면, 메모리 제어장치(25)는 한 사이클 동안 RAS 선들을 하이로 구동하고 클록 에지에서(도 5에서 "c"로 표시된 지점에서) MGNT# 신호를 인가한다. MGNT# 신호가 미리 설정된 시간 구간 내에서 타이밍 회로에 의해 샘플링되지 않기 때문에, 그래픽 제어장치(26)의 타이밍 회로(27)는 전송 동작을 저속 전송 동작으로 유지한다. 하나의 클록 동안 RAS 선들을 구동한 후, 메모리 제어장치(25)는 (도 5의 지점 "f"에서) 약간 낮아지지만 풀업(pull up) 저항기(예로서 도 3에서 저항기(28)로 도시됨)에 의해 하이로 유지되는 RAS 선들이 3개의 상태를 갖도록 한다. 저속 전송 동작을 실행하는 경우 MGNT# 신호를 감지한 후 다음 사이클에서 그래픽 제어장치(26)는 RAS 선들이 메모리 제어장치에 의해 3개의 상태로 된 후 더 낮아지기 전에 (도 5의 지점 "g"에서) RAS 선들을 다시 하이로 구동한다. 동시에 그래픽 제어장치(26)는 (도 5의 지점 "j"에서) 메모리 어드레스 선 상에서 메모리 어드레스를 구동한다. 그리고 나서 한 사이클 후에 그래픽 제어장치(26)는 RAS 선들을 로우로 구동하여 RAS# 신호를 인가(도 5의 지점 "h"에 의해 표시됨)한다.
MREQ# 신호가 인가될 때 버스가 메모리 제어장치에 의해 버스가 사용 중인 경우에 발생하는, 메모리 제어장치(25)로부터 그래픽 제어장치(26)까지 메모리 버스의 저속 전송을 도시하는 도 5에서 알 수 있듯이, 메모리 제어장치(25)에 의해 버스 상의 동작이 완료되는 시점(도 5에서 지점 "c" 및 "e"에 의해 표시됨)에서부터 그래픽 제어장치(26)에 의해 RAS# 신호가 인가될 때(도 5에서 지점 "h"에 의해 표시됨)까지의 시간은 단지 3개의 사이클에 해당된다. 예시된 회로를 사용하는 경우, RAS 프리차지가 메모리 제어장치의 동작이 완료되는 즉시 시작되어 정확하게 RAS 선들을 프리차지하는데 필요한 시간 동안만 계속되기 때문에 이것은 가장 짧은 전이 가능 시간이 된다. 따라서 본 발명은 저속 전송 시퀀스를 사용하는 2개의 제어장치들 사이의 제어 전송에 필요한 가장 바람직한 가능 시간을 제공한다.
MREQ# 신호가 그래픽 제어장치(26)에 의해 인가되는 경우에는 메모리 제어장치(25)가 메모리 버스의 제어권을 가지고 있지만 메모리 버스를 사용하지는 않는 도 4에 도시된 예에서, 메모리 제어장치(25)는 MREQ# 신호가 그래픽 제어장치(26)에 의해 인가되면(도 4의 지점 "a"에서), 지점 "b"에서의 다음 클록의 에지 상에서 RAS 선들의 상태를 감지함으로써 RAS 신호의 상태를 다시 결정한다. RAS 신호가 도 4에서처럼 메모리 제어장치(25)가 메모리 버스 상에서 어떠한 동작도 수행하지 않고 있으며 RAS 선들의 충전이 (적어도 도 5의 지점 "e"에 의해) 적어도 한 사이클 동안 계속되고 있음을 나타내는 하이 상태이면, 메모리 제어장치(25)는 이전에 하이로 구동된 RAS 선들이 3개의 상태를 갖도록 하고(도 5의 지점 "f" 참조), 메모리 어드레스 선도 3개의 상태를 갖도록 하여(도 5의 지점 "i" 참조) MREQ# 신호에 응답하고, 메모리 버스 승인 신호 MGNT#를 그래픽 제어장치(26)에 인가한다.
MGNT# 신호는 그래픽 제어장치(26)가 메모리 버스에 대한 제어를 시작할 수 있음을 그래픽 제어장치에 표시한다. 그래픽 제어장치(26)는 MREQ# 인가 후 상기 시간의 다음 클록 에지에서(도 4의 지점 "d" 참조) 고속 전송 동작을 나타내는 MGNT# 신호를 감지한다. 타이밍 회로(27)는 미리 설정한 시간 내에서 발생한 수신(receipt)을 검출하고 그래픽 제어장치(26)를 고속 전송 동작으로 전환한다. 고속 전송 시에, 그래픽 제어장치(26)는 동일한 클록 사이클에서 MGNT# 신호를 감지하는 즉시 (도 4의 지점 "g"에서) RAS 선들을 하이로 구동하여 RAS 선들이 계속 충전되도록 한다. 동시에 그래픽 제어장치(26)는 (도 4의 지점 "j"에서) 메모리 어드레스 선 상에서 메모리 어드레스를 구동한다. 그리고 나서 한 사이클 후에 그래픽 제어장치(26)는 RAS 선들을 로우로 구동함으로써 (도 4의 지점 "h"에 의해 표시됨) RAS# 신호를 인가한다.
메모리 제어장치가 버스를 사용하지 않는 경우에 발생하는, 메모리 제어장치(25)로부터 그래픽 제어장치(26)까지 메모리 버스의 고속 전송을 도시하는 도 4에서, RAS 선들이 하이로 구동되고 MGNT# 신호가 감지되는 것과 동일한 사이클로 메모리 어드레스가 인가된다는 점에 유의해야 한다. 이렇게 하면 저속 전송 동작에서처럼, 메모리 제어장치(25)에 의해 동작이 완료되는 시점(적어도 도 4의 지점 "e"에서 발생하는 것으로 표시됨)에서부터 그래픽 제어장치(26)에 의해 RAS# 신호가 인가될 때(도 4의 지점 "h"에 의해 표시됨)까지의 시간이 단지 3개의 사이클에 해당된다. RAS 선들의 상태를 하이로 감지하는 것은 고속 전송 시퀀스를 개시하지만 RAS 선들을 감지하였을 때, 이 선들이 얼마나 오랫동안 하이로 구동되었는 지를 표시하지 않으며 따라서 RAS 선들을 완전히 프리차지하기 위해 충분한 시간을 제공하여야 하기 때문에, 이것은 완전한 RAS 선들의 프리차지를 보장하는 가능한 시간 중 가장 짧은 시간이다(도 4의 빗금 친 선행 지점 "e"는 RAS 선들이 임의의 지점에서 하이로 구동될 수 있음을 표시함). 예시된 회로를 사용하면, RAS 프리차지 시간에 대한 측정이 MREQ# 신호가 메모리 제어장치에 인가되는 즉시 시작되어 RAS 선들의 프리차지에 필요한 시간 동안만 정확하게 지속되기 때문에 이것은 가장 짧은 전이 가능 시간이 된다. 따라서 본 발명은 2개의 제어장치 사이에서 제어를 전송하는 가장 바람직한 가능 시간을 제공한다.
본 발명이 바람직한 실시예로 기술되었지만, 당업자들은 본 발명의 사상과 범위를 벗어남이 없이 본 발명에 대한 여러 가지 변경 및 대체가 이루어질 수 있다는 것을 이해할 수 있다. 예를 들어 본 발명은 2개 이상의 제어장치, 버스 마스터, 프로세서 등이 컴퓨터 시스템의 주 메모리 또는 다른 몇 개의 메모리 배열로 전송되는 동일한 신호에 대한 액세스를 공유하는 모든 경우에 사용될 수 있다. 유사한 방식으로 다른 버스 상의 다른 버스 제어장치는 하나의 제어장치로부터 다른 제어장치로 전송되는 버스의 전송과 관련된 상세한 사항을 구현하기 위해 흔히 소정의 고정 시간을 요구하며, 하나의 제어장치로부터 다른 제어장치로 버스 제어를 전송하기 위한 가장 짧은 가능 시간을 제공한다는 유용성을 갖는다. 따라서 본 발명의 범위는 다음의 청구의 범위로 정해져야 한다.

Claims (15)

  1. 제어권을 가지는 제어장치로부터 제어를 희망하는 제어장치로 메모리 배열에 대한 액세스를 제어하는 메모리 버스의 제어를 신속하게 전송하는 방법에 있어서,
    상기 제어를 희망하는 제어장치로부터 제어권을 가지는 제어장치로 향하여 액세스 요구를 발생하는 단계;
    상기 제어를 희망하는 제어장치에 의해 발생되는 액세스 요구를 검출하는 단계;
    메모리 버스가 사용 중인지의 여부를 검출하는 단계;
    메모리 버스가 사용 중이 아닌 경우에는 고속 버스 전송 시퀀스를 즉시 시작하는 단계; 및
    메모리 버스가 사용 중인 경우에는 메모리 버스의 사용이 완료되면 저속 전송 시퀀스를 시작하는 단계
    를 포함하는 메모리 버스 제어의 신속한 전송 방법.
  2. 제1항에 있어서, 메모리 버스가 사용 중인지의 여부를 검출하는 상기 단계가 행이 현재 선택되어 있는지의 여부를 결정하기 위해 행 선택 스트로브 선(row selection strobe lines)의 상태를 감지하는 단계를 더 포함하는 메모리 버스 제어의 신속한 전송 방법.
  3. 제2항에 있어서, 상기 고속 버스 전송 시퀀스가
    어느 하나의 행 어드레스 스트로브 선도 선택되지 않은 경우에는 메모리 버스의 제어권을 갖는 상기 제어장치에 의해 즉시 상기 배열에 대한 상기 행 어드레스 스트로브 선들이 3개의 상태를 갖도록 하는 단계;
    어느 하나의 행 어드레스 스트로브 선도 선택되지 않은 경우에는 상기 메모리 버스의 제어권을 갖는 상기 제어장치에 의해 즉시 메모리 어드레스 선들이 3개의 상태를 갖도록 하는 단계;
    상기 어느 하나의 행 어드레스 스트로브 선도 선택되지 않은 경우에는 상기 메모리 버스에 대한 액세스를 요구하는 제어장치에 메모리 버스 승인을 발생하는 단계;
    제어를 요구하는 상기 제어장치에 의해 상기 행 어드레스 스트로브 선들의 프리차지를 계속 수행함으로써 상기 메모리 버스 승인에 응답하는 단계;
    상기 메모리 버스 승인을 수신하는 즉시 메모리 어드레스 버스 선들 상에서 메모리 어드레스를 구동하는 단계; 및
    단축된 프리차지 시간 후에 어느 하나의 행 어드레스 스트로브 선 상에서 하나의 행 어드레스 스트로브 신호를 인가하는 단계
    를 포함하는 메모리 버스 제어의 신속한 전송 방법.
  4. 제2항에 있어서, 상기 저속 버스 전송 시퀀스가
    메모리 동작이 완료되는 즉시 상기 배열 내의 행 어드레스 선택 회로를 프리차지하기 위해 상기 행 어드레스 스트로브 선들을 하이로 구동하는 단계;
    메모리 동작이 완료되는 즉시 상기 메모리 버스에 대한 액세스를 요구하는 상기 제어장치에 메모리 버스 승인을 발생하는 단계;
    메모리 동작이 완료되는 시점에서 상기 메모리 버스의 제어권을 가지는 상기 제어장치에 의해 즉시 상기 메모리 어드레스 선들이 3개의 상태를 갖도록 하는 단계;
    메모리 동작이 완료된 후에 상기 메모리 버스의 제어권을 가지는 상기 제어장치에 의해 미리 선택된 지연 후에 상기 배열에 대한 상기 행 어드레스 스트로브 선들이 3개의 상태를 갖도록 하는 단계;
    상기 행 어드레스 스트로브 선들이 3개의 상태가 된 후에 제어를 요구하는 상기 제어장치에 의해 상기 행 어드레스 스트로브 선들의 프리차지를 계속 수행함으로써 상기 메모리 버스 승인에 응답하는 단계;
    제어를 요구하는 상기 제어장치에 의해 상기 행 어드레스 스트로브 선들의 프리차지를 계속 수행함에 따라 상기 메모리 어드레스 버스 선들 상에서 메모리 어드레스를 구동하는 단계; 및
    정상적인 프리차지 시간 후에 어느 하나의 행 어드레스 스트로브 선 상에서 하나의 행 어드레스 스트로브 신호를 인가하는 단계
    를 포함하는 메모리 버스 제어의 신속한 전송 방법.
  5. 제2항에 있어서, 상기 고속 버스 전송 시퀀스가
    어느 하나의 행 어드레스 스트로브 선도 선택되지 않은 경우에는 메모리 버스의 제어권을 갖는 상기 제어장치에 의해 즉시 상기 배열에 대한 상기 행 어드레스 스트로브 선들이 3개의 상태를 갖도록 하는 단계;
    어느 하나의 행 어드레스 스트로브 선이 선택되지 않은 경우에는 상기 메모리 버스의 제어권을 갖는 상기 제어장치에 의해 즉시 메모리 어드레스 선들이 3가지 상태를 갖도록 하는 단계;
    상기 어느 하나의 행 어드레스 스트로브 선도 선택되지 않은 경우에는 상기 메모리 버스에 대한 액세스를 요구하는 제어장치에 메모리 버스 승인을 발생하는 단계;
    제어를 요구하는 상기 제어장치에 의해 상기 행 어드레스 스트로브 선들의 프리차지를 계속 수행함으로써 상기 메모리 버스 승인에 응답하는 단계;
    상기 메모리 버스 승인을 수신하는 즉시 메모리 어드레스 버스 선들 상에서 메모리 어드레스를 구동하는 단계; 및
    단축된 프리차지 시간 후에 어느 하나의 행 어드레스 스트로브 선 상에서 하나의 행 어드레스 스트로브 신호를 인가하는 단계
    를 포함하며,
    상기 저속 버스 전송 시퀀스가
    메모리 동작이 완료되는 즉시 상기 배열 내의 행 어드레스 선택 회로를 프리차지하기 위해 상기 행 어드레스 스트로브 선들을 하이로 구동하는 단계;
    메모리 동작이 완료되는 즉시 상기 메모리 버스에 대한 액세스를 요구하는 상기 제어장치에 메모리 버스 승인을 발생하는 단계;
    메모리 동작이 완료되는 시점에서 상기 메모리 버스의 제어권을 가지는 상기 제어장치에 의해 즉시 상기 메모리 어드레스 선들이 3개의 상태를 갖도록 하는 단계;
    메모리 동작이 완료된 후에 상기 메모리 버스의 제어권을 가지는 상기 제어장치에 의해 미리 선택된 지연 후에 상기 배열에 대한 상기 행 어드레스 스트로브 선들이 3개의 상태를 갖도록 하는 단계;
    상기 행 어드레스 스트로브 선들이 3개의 상태가 된 후에 제어를 요구하는 상기 제어장치에 의해 상기 행 어드레스 스트로브 선들의 프리차지를 계속 수행함으로써 상기 메모리 버스 승인에 응답하는 단계;
    제어를 요구하는 상기 제어장치에 의해 상기 행 어드레스 스트로브 선들의 프리차지를 계속 수행함에 따라 상기 메모리 어드레스 버스 선들 상에서 메모리 어드레스를 구동하는 단계; 및
    정상적인 프리차지 시간 후에 어느 하나의 행 어드레스 스트로브 선 상에서 하나의 행 어드레스 스트로브 신호를 인가하는 단계
    를 포함하는 메모리 버스 제어의 신속한 전송 방법.
  6. 자원에 의해 사용되는 버스에 대한 액세스를 가지는 다수의 제어장치 사이에서 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 방법에 있어서,
    버스 제어장치에 의한 액세스 요구를 검출하는 단계;
    상기 버스가 제어장치에 의해 사용되고 있는지의 여부를 검출하는 단계;
    상기 버스가 사용 중이 아닌 경우 고속 버스 전송 시퀀스를 즉시 시작하는 단계; 및
    상기 버스가 사용 중인 경우 버스 사용이 완료되면 저속 버스 전송 시퀀스를 시작하는 단계
    를 포함하는 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 방법.
  7. 제6항에 있어서, 상기 버스가 사용 중이 아닌 경우 고속 버스 전송 시퀀스를 즉시 시작하는 상기 단계가
    상기 버스를 즉시 해제하는 단계; 및
    요구하는 제어장치에 제어를 즉시 전송하는 단계
    를 포함하는 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 방법.
  8. 제7항에 있어서, 요구하는 제어장치에 제어를 즉시 전송하는 상기 단계가
    상기 요구하는 제어장치에 버스 승인 신호를 즉시 인가하는 단계; 및
    상기 요구하는 제어장치에 의해 고속 전송 동작을 시작함으로써 상기 버스 승인 신호에 응답하는 단계
    를 포함하는 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 방법.
  9. 제6항에 있어서, 상기 버스가 사용 중인 경우 버스 사용이 완료되면 저속 버스 전송 시퀀스를 시작하는 상기 단계가
    상기 버스 사용의 종료를 기다리는 단계;
    상기 버스가 해제되기 전에 필요한 모든 동작을 즉시 시작함으로써 버스 사용의 종료에 응답하는 단계;
    상기 버스 승인 신호를 즉시 인가함으로써 버스 사용의 종료에 응답하는 단계; 및
    상기 요구하는 제어장치에 의해 저속 전송 동작을 시작함으로써 상기 버스 승인 신호에 응답하는 단계
    를 포함하는 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 방법.
  10. 자원에 의해 사용되는 버스에 대한 액세스를 가지는 다수의 제어장치들 사이에서 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 장치에 있어서,
    버스 제어장치에 의한 액세스 요구에 응답하여 상기 버스가 제어장치에 의해 사용 중인지의 여부를 검출하는 회로; 및
    상기 버스가 사용 중이 아닌 경우에는 고속 버스 전송 시퀀스를 선택하고, 상기 버스가 사용 중인 경우에는 버스 사용이 완료되면 저속 버스 전송 시퀀스를 선택하는 회로
    를 포함하는 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 장치.
  11. 제10항에 있어서, 상기 버스가 사용 중이 아닌 경우에는 고속 버스 전송 시퀀스를 선택하고, 상기 버스가 사용 중인 경우에는 버스 사용이 완료되면 저속 버스 전송 시퀀스를 선택하는 상기 회로가 버스 요구와 함께 시작하여 버스 승인과 함께 종료하는 시간을 측정하기 위한 테스트 회로를 포함하는 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 장치.
  12. 제11항에 있어서, 상기 고속 버스 전송 시퀀스 및 상기 저속 버스 전송 시퀀스가 각각 버스 요구 신호의 초기에서부터 행 선택 회로를 충전하기에 충분한 적어도 하나의 기간을 제공하는 공유 자원에 대한 액세스 제어의 전송 속도를 가속화하는 장치.
  13. 컴퓨터 시스템에 있어서,
    중앙 처리 장치;
    주 메모리 배열;
    상기 주 메모리 배열에 대한 액세스를 제공하는 메모리 버스;
    상기 주 메모리 배열에 대한 액세스를 제어하는 제 1 제어장치;
    상기 주 메모리 배열에 액세스하기 위해 상기 메모리 버스와 결합된 제 2 제어장치;
    상기 제 1 제어장치 및 상기 제 2 제어장치를 연결하는 신호 발생 회로; 및
    상기 제 1 및 상기 제 2 제어장치 사이의 상기 메모리 배열에 대한 액세스 제어의 전송 속도를 가속화하는 장치 - 상기 액세스 제어의 전송 속도를 가속화하는 장치는
    상기 제 1 제어장치 내에 있으며, 상기 제 2 제어장치에 의한 액세스 요구에 응답하여 상기 버스가 상기 제1 제어장치에 의해 사용 중인지의 여부를 검출하는 회로 및
    상기 버스가 사용 중이 아닌 경우에는 고속 버스 전송 시퀀스를 선택하고, 상기 버스가 사용 중인 경우에는 상기 버스 사용이 완료되면 저속 버스 전송 시퀀스를 선택하는 회로를 포함함-
    를 포함하는 장치인 컴퓨터 시스템.
  14. 제13항에 있어서, 상기 버스가 사용 중이 아닌 경우에는 고속 버스 전송 시퀀스를 선택하고, 상기 버스가 사용 중인 경우에는 상기 버스 사용이 완료되면 저속 버스 전송 시퀀스를 선택하는 상기 회로가 버스 요구와 함께 시작하여 버스 승인과 함께 종료하는 시간을 측정하기 위한 테스트 회로를 포함하는 컴퓨터 시스템.
  15. 제14항에 있어서, 상기 고속 버스 전송 시퀀스 및 상기 저속 버스 전송 시퀀스가 각각 버스 요구 신호의 초기에서부터 행 선택 회로를 충전하기에 충분한 적어도 하나의 기간을 제공하는 컴퓨터 시스템.
KR1019980706203A 1996-02-12 1996-07-18 컴퓨터 버스 상의 공유 자원에 대한 신속한 액세스 KR100275407B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/599,921 US5678009A (en) 1996-02-12 1996-02-12 Method and apparatus providing fast access to a shared resource on a computer bus
US8/599,921 1996-02-12

Publications (2)

Publication Number Publication Date
KR19990082470A KR19990082470A (ko) 1999-11-25
KR100275407B1 true KR100275407B1 (ko) 2000-12-15

Family

ID=24401666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980706203A KR100275407B1 (ko) 1996-02-12 1996-07-18 컴퓨터 버스 상의 공유 자원에 대한 신속한 액세스

Country Status (8)

Country Link
US (1) US5678009A (ko)
JP (1) JP3749732B2 (ko)
KR (1) KR100275407B1 (ko)
AU (1) AU6502396A (ko)
DE (1) DE19681745B4 (ko)
GB (1) GB2325320B (ko)
TW (1) TW353167B (ko)
WO (1) WO1997029430A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09245179A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp コンピュータグラフィックス装置
US5802395A (en) * 1996-07-08 1998-09-01 International Business Machines Corporation High density memory modules with improved data bus performance
EP0844567A1 (en) * 1996-11-21 1998-05-27 Hewlett-Packard Company Long haul PCI-to-PCI bridge
US5867180A (en) * 1997-03-13 1999-02-02 International Business Machines Corporation Intelligent media memory statically mapped in unified memory architecture
US5941968A (en) * 1997-04-14 1999-08-24 Advanced Micro Devices, Inc. Computer system for concurrent data transferring between graphic controller and unified system memory and between CPU and expansion bus device
GB2326065B (en) * 1997-06-05 2002-05-29 Mentor Graphics Corp A scalable processor independent on-chip bus
US6052133A (en) * 1997-06-27 2000-04-18 S3 Incorporated Multi-function controller and method for a computer graphics display system
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction
US7392275B2 (en) * 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
US6418529B1 (en) 1998-03-31 2002-07-09 Intel Corporation Apparatus and method for performing intra-add operation
US6317801B1 (en) * 1998-07-27 2001-11-13 Intel Corporation System for post-driving and pre-driving bus agents on a terminated data bus
US6801207B1 (en) * 1998-10-09 2004-10-05 Advanced Micro Devices, Inc. Multimedia processor employing a shared CPU-graphics cache
US6483516B1 (en) * 1998-10-09 2002-11-19 National Semiconductor Corporation Hierarchical texture cache
US6452601B1 (en) * 1999-05-20 2002-09-17 International Business Machines Corporation Pixel component packing, unpacking, and modification
US6633296B1 (en) * 2000-05-26 2003-10-14 Ati International Srl Apparatus for providing data to a plurality of graphics processors and method thereof
US6636939B1 (en) * 2000-06-29 2003-10-21 Intel Corporation Method and apparatus for processor bypass path to system memory
US6816938B2 (en) * 2001-03-27 2004-11-09 Synopsys, Inc. Method and apparatus for providing a modular system on-chip interface
US6976121B2 (en) * 2002-01-28 2005-12-13 Intel Corporation Apparatus and method to track command signal occurrence for DRAM data transfer
US6976120B2 (en) * 2002-01-28 2005-12-13 Intel Corporation Apparatus and method to track flag transitions for DRAM data transfer
TW548419B (en) * 2002-02-01 2003-08-21 Via Tech Inc Circuit structure of integrated graphing function chip and its test method
US7038687B2 (en) * 2003-06-30 2006-05-02 Intel Corporation System and method for high-speed communications between an application processor and coprocessor
JP2005128963A (ja) * 2003-10-27 2005-05-19 Toshiba Information Systems (Japan) Corp 記憶制御装置及びdma転送が可能な制御システム
US20050143843A1 (en) * 2003-11-25 2005-06-30 Zohar Bogin Command pacing
US7346716B2 (en) 2003-11-25 2008-03-18 Intel Corporation Tracking progress of data streamer
US7370125B2 (en) * 2003-11-25 2008-05-06 Intel Corporation Stream under-run/over-run recovery
TWI277877B (en) * 2005-03-08 2007-04-01 Via Tech Inc Method and related apparatus for monitoring system bus
US8397006B2 (en) * 2010-01-28 2013-03-12 Freescale Semiconductor, Inc. Arbitration scheme for accessing a shared resource

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301278A (en) * 1988-04-29 1994-04-05 International Business Machines Corporation Flexible dynamic memory controller
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
US5289584A (en) * 1991-06-21 1994-02-22 Compaq Computer Corp. Memory system with FIFO data input
US5448703A (en) * 1993-05-28 1995-09-05 International Business Machines Corporation Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
WO1997029432A1 (en) * 1996-02-09 1997-08-14 Intel Corporation Apparatus for programmably defining the access latency

Also Published As

Publication number Publication date
US5678009A (en) 1997-10-14
GB2325320A (en) 1998-11-18
AU6502396A (en) 1997-08-28
GB9817416D0 (en) 1998-10-07
DE19681745B4 (de) 2010-12-02
KR19990082470A (ko) 1999-11-25
TW353167B (en) 1999-02-21
JP3749732B2 (ja) 2006-03-01
WO1997029430A1 (en) 1997-08-14
DE19681745T1 (de) 1998-12-24
GB2325320B (en) 2000-06-14
JP2000505573A (ja) 2000-05-09

Similar Documents

Publication Publication Date Title
KR100275407B1 (ko) 컴퓨터 버스 상의 공유 자원에 대한 신속한 액세스
US4818932A (en) Concurrent memory access system
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US5664117A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US4181974A (en) System providing multiple outstanding information requests
KR910017296A (ko) 멀티-마스터 버스 파이프라이닝 실행방법 및 장치
US6289406B1 (en) Optimizing the performance of asynchronous bus bridges with dynamic transactions
US5664122A (en) Method and apparatus for sequencing buffers for fast transfer of data between buses
US5678064A (en) Local bus-ISA bridge for supporting PIO and third party DMA data transfers to IDE drives
US6070204A (en) Method and apparatus for using universal serial bus keyboard to control DOS operations
US4236203A (en) System providing multiple fetch bus cycle operation
US20020019899A1 (en) Method of bus priority arbitration
US6085261A (en) Method and apparatus for burst protocol in a data processing system
US5768550A (en) Bus interface logic system
EP0261751A2 (en) Concurrent memory access system
US5680591A (en) Method and apparatus for monitoring a row address strobe signal in a graphics controller
JPH06214945A (ja) コンピュータシステム及び情報の高速転送方法
US5809534A (en) Performing a write cycle to memory in a multi-processor system
EP0488566A2 (en) Method and apparatus for fast page mode selection
JP3720872B2 (ja) システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム
KR100441996B1 (ko) 직접 메모리 액세스 제어기 및 제어 방법
US5325515A (en) Single-component memory controller utilizing asynchronous state machines
JP2682789B2 (ja) コンピュータ入出力キャッシュ・システム
US6718400B1 (en) Data accessing system with an access request pipeline and access method thereof
JPH1185673A (ja) 共有バスの制御方法とその装置

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: 20090918

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee