KR930009063B1 - 가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법 - Google Patents

가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법 Download PDF

Info

Publication number
KR930009063B1
KR930009063B1 KR1019890017119A KR890017119A KR930009063B1 KR 930009063 B1 KR930009063 B1 KR 930009063B1 KR 1019890017119 A KR1019890017119 A KR 1019890017119A KR 890017119 A KR890017119 A KR 890017119A KR 930009063 B1 KR930009063 B1 KR 930009063B1
Authority
KR
South Korea
Prior art keywords
bus
agent
data
line
computer system
Prior art date
Application number
KR1019890017119A
Other languages
English (en)
Other versions
KR900013402A (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 KR900013402A publication Critical patent/KR900013402A/ko
Application granted granted Critical
Publication of KR930009063B1 publication Critical patent/KR930009063B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

내용 없음.

Description

가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법
제 1 도는 본 발명의 바람직한 실시예를 채택한 컴퓨터 시스템을 나타내는 계통도.
제 2a 도는 본 발명의 고속도 버스를 구성하는 다양한 서브버스(sub-bus) 구조를 도시한 도.
제 2b 도는 본 발명에 있어서 수신확인선의 구조를 도시한 것.
제 3 도는 본 발명에서 사용되는 3-상태(tri-stste) 제어신호를 위한 타이밍 프로토콜을 보여주는 타이밍 도.
제 4 도는 본 발명에서 사용되는 3-상태 비(非) 제어신호를 위한 구동기(driver) 프로토콜을 보여주는 타이밍 도.
제 5 도는 액세스를 받은 에이전트로부터의 가능한 부호화 된(encoded) 수신확인(acknowledge) 응답을 표의 형식으로서 보인 챠트.
제 6 도는 가능한 전송된 신호 및 그 의미를 표의 형식으로 보인 챠트.
제 7a 도는 데이타를 버스를 통해 전송하기 위한 CPU의 판독사이클에 대한 타이밍도.
제 7b 도는 데이타를 버스를 통해 전송하기 위한 CPU의 기록사이클에 대한 타이밍도.
제 8a 도는 데이타를 버스를 통해 전송하기 위한 DMA 장치 기록사이클에 대한 타이밍도.
제 8b 도는 데이타를 버스를 통해 전송하기 위한 DMA장치 판독사이클에 대한 타이밍도.
제 9 도는 메모리에의 버스트 기록사이클에 대한 타이밍도.
제 10 도는 본 발명에서 사용된 재실행(rerun) 사이클에 대한 타이밍도이다.
본 발명은 컴퓨터 시스템의 여러 구성요소간에서 데이타를 전송하기 위한 방법 및 장치에 관한 것이다. 좀더 구체적으로는 본 발명은 가상메모리 능력을 가진 개선된 컴퓨터 버스와 관련된다.
전형적인 컴퓨터 시스템에서는 중앙처리장치(CPU)는 데이타 처리 시스템을 구성하는 주변장치 및 기타 구성요소로부터 데이타를 판독하고 또한 이들에게로 데이타를 기록한다. 장치간의 이러한 통신은 흔히 컴퓨터 시스템의 모든 구성요소를 상호연결하는 버스를 이용하여 수행된다. 버스가 데이타를 전송하는 속도는 컴퓨터 시스템의 전체적인 속도를 직접적으로 제한한다. 버스에 결합된 구성요소간의 데이타 전송속도에 대한 공통적인 제약은 프로토콜, 또는 "핸드쉐이크(handshake)"제한이다. 이런 제한은 버스에 결합된 장치간에 실제론 데이타 교환이 이루어지기 전에 지정된 시간한도내에 이벤트들이 소정의 시퀀스에 따라 일어날 것을 요구한다. 그러므로 특정의 타스크에 필요한 계산시간을 최소화하기 위해서는 신속하게 동작하는 고속 및 고 대역폭 버스를 가지고 있는 것이 바람직스럽다. 버스가 사용하는 프로토콜은 가능한한 최대로 효율적이며 또한 데이타 전송에 소요되는 시간을 최소화 하도록 설계되어야 한다.
그외에, 많은 시스템들은 데이타 처리 시스템의 능력을 증가시키기 위해서 가상메모리 스킴(scheme)을 채택하고 있다. 잘 알려진 것처럼, 가상메모리 기술에서 CPU는 컴퓨터 시스템의 주기억장치 안에 실제로 존재하는 것보다 더 많은 메모리를 번지 할당할 수 있게된다. CPU가 주기억장치에서 데이타를 판독하거나 또는 기록할 필요가 있을 때, CPU는 데이타에 대한 가상주소(virtual address)를 발생시킨다. 이 가상주조는 메모리 관리장치(MMU)에 의해서 물리주소(physical alddress)로 번역된다. 이 물리주소는 이에 그 주소에서 데이타를 판독하거나 기록하기 위해 주기억장치에 인가된다. CPU가 주기억장치를 액세스하는데 필요한 시간은 전형적으로 주변장치(외부의 디스크 드라이브와 같은 것)의 액세스 시간보다 훨씬 짧아서, 프로그램 실행의 전체적 속도가 커진다.
MMU는 CPU에 의해 발생된 가상주조를 받아들여 이것을 주기억장치에 위치한 대응하는 물리주소로 번역한다. 만일 번역 데이타가 현재 MMU에 기억되어 있지 않다면, MMU는 주기억장치나 또는 다른 주변장치로부터 적절한 번역 데이타를 자신의 기억장치안으로 전송시킨다. MMU는 또한 별개의 프로세스들을 위한 다중 주소공간을 제공하고, 프로세서간에 기억장치를 공유하게 하며, 그리고 원하는 기억장치위치에 판독, 기록 또는 실행과 같은 특정의 작업만을 허용함으로써 그 위치를 보호하는 등의 능력도 구비한다. 컴퓨터 시스템분야에서는 가상메모리 시스템이 여러종류가 알려져 있으며, 이 시스템들은 첨단 전산장비에서 흔히 쓰이고 있다. 이러한 종류의 메모리 관리장치중 하나는 미합중국 특허4,550,368에 기술되어 있다.
컴퓨터 버스의 또다른 제한은 버스 자체의 크기이다. 본질적으로 버스란 컴퓨터 시스템의 여러 구성요소를 연결하는 와이어의 집합이다. 주소선 및 데이타선 외에 버스는 전형적으로 클록신호선, 전원선 및 제어신호선을 포함하고 있다.
일반적으로 버스에 좀더 선을 추가하면 버스의 속도를 간단히 증가시킬 수 있다. 이것은 버스가 주어진 시각에 좀더 많은 데이타를 운반할 수 있게 해준다. 그러나, 선의 수가 증가하면 할수록 버스의 가격도 비싸진다. 그러므로 버스를 경제적인 크기로 유지하면서 동시에 가능한한 가장 빠르게 동작하는 버스를 갖는 것이 바람직하다.
가상메모리 능력을 가진 개선된 고속도 버스가 개시되어 있다. 버스는 주변장치를 사용하는 컴퓨터 시스템에서 특정의 용도를 가지고 있다. 버스는 가상메모리 스킴의 사용을 통해 고속 데이타 전송을 가능하게 해준다. 더구나, 본 발명은 버스구성에 필요한 선의 수를 최소화한다. 본 발명은 또한 특정 장치가 버스를 액세스하여 데이타 전송을 완료하기 전에 대기하는데 필요한 시간의 양을 최소화 시켜준다. 버스는 주소선, 데이타선 및 여러 명령 또는 제어선을 포함한 복수개의 선으로써 구성된다. 에이전트(agent)라고 불리우는 다양한 데이타 처리장치가 이 버스에 결합된다. 이 에이전트가 버스를 액세스하는 것을 제어하는 제어기가 제공된다. 메모리 관리장치(MMU) 및 가상주소래치(VAL : Virtual Address Latch)가 본 발명의 가상주소 스킴을 실현하기 위해 버스에 결합되어 있다.
버스가 동작하는 동안, 데이타는 버스를 통해서 에이전트간에서 전송된다. 요청하는 에이전트는 버스의 데이타선을 통해 가상주소를 어서트(assert)한다. 이 가상주소는 MMU에 의해서 물리주소로 변환된다. 그리고 이 물리주소는 버스의 주소선에 인가된다. 요청하는 에이전트는 소정 시퀀스의 제어신호를 어서트하고 데이타를 기억하고 있는 요청을 받은 에이전트는 요청된 데이타를 데이타 신호선을 통해 어서트한다. 본 발명은 또한 버스 동작중에 데드록(deadlock) 상황이 일어나지 않게하는 방법도 채택하고 있다. 만일 요청하는 에이전트가 MMU에게 가상주소를 제공했으나 MMU가 물리주소를 발생시키는데 필요한 번역 데이타를 가지고 있지 않은 경우라면, MMU는 "재실행(rerun)"신호를 발할 것이다. 이 신호는 요청하는 에이전트로 하여금 진행을 "유보(bach-off)"하고, 현재 진행중인 데이타 전송 프로세스를 일시적으로 정지시킬 수 있게 해준다. 그러면 MMU는 버스의 제어권을 얻어 적절한 번역 데이타를 페치할 수 있게 된다. MMU가 필요한 번역 데이타를 얻은 후에는 데이타 전송 프로세스가 재개된다. 재실행 신호가 없으면 MMU는 버스를 제어할 권한을 얻지 못하게 된다. 이것은 데이타도 전송이 안되고 버스도 "동결(freeze-up)"되는 데드록 상황을 초래할 수 있다. 본 발명은 또한 버스의 어떤선이 3-상태로 될 수 있게하고 3-상태가 되기전에 언제나 액티브 및 인액티브로 구성되는(즉 액티브 드라이브에 의해 어서트되거나 디어서트(deassert)되는) 스킴을 포함하고 있다. 이것은 풀업 또는 풀다운 저항에 의해 선이 수동적으로 디어서트되는 종래의 버스구조와는 대비되는 것이다. 본 발명의 3-상태 스킴은 전력소모를 감소시키고 버스가 CMOS 디바이스에 의해 직접적으로 구동될 수 있도록 해준다.
개선된 고속도 버스는 가상메모리기술을 채택하는 칩 레벨(chip level) 컴퓨터 시스템의 사용에 있어서 특별한 용도를 갖는 것으로 설명된다. 이하의 설명에서는 설명의 목적상 본 발명의 완전한 이해를 가능하게 하기 위해 구체적인 기억장치 크기, 비트배열 숫자, 데이타 전송율 등을 사용한다. 그러나 본 기술의 숙련자에게는 본 발명이 이러한 구체적인 세부설명 없이도 실시가능할 수도 있다는 사실이 명백할 것이다. 다른 경우에 있어서는, 불필요한 본 발명의 불명료하지 않게 하기 위해서, 공지의 회로 및 구성요소는 블록도 형태로 도시되어 있다.
우선 제 1 도는 참조하면, 본 발명을 채택한 컴퓨터 시스템의 주요구성요소가 보여진다. 중앙처리장치(CPU)(12)는 버스(10)를 통해 컴퓨터 시스템의 기본요소들과 통신한다. 버스(10)는 데이타 및 제어신호를 컴퓨터 시스템의 여러 구성요소로 운반해줄 다수의 개별선을 포함한다. 제 1 도에 보여진 시스템은 또한 주기억장치(16), 비디오 장치(18), 직접기억장치 액세스(DMA) 장치(20), 보조프로세서(22), 디스크인터페이스(24), 네트워크인터페이스(25)를 포함한다. 가속기 또는 추가적인 기억장치와 같은 추가적 장치들도 원한다면 시스템에 추가시킬 수 있다. 본 명세서의 목적상, 본 발명의 버스(10)에 결합된 모든 데이타 처리장치 및 주변장치는 집합적으로 "에이전트(agent)"라고 부르기도 하고, 총괄적인 부재번호 26을 부여하기로 한다.
본 발명은 컴퓨터 시스템의 여러 기본요소들이 서로간에 통신할 수 있도록 해주기 위한 것이다. 본 발명은 특히 고성능칩 레벨장치간의 통상의 적합한 것으로 판명되었다. 그러나, 종종 이 컴퓨터 시스템이 다른 시스템과 통신하는 것이 바람직한 경우도 있다. 다른 시스템은 여기에서 논의되고 있는 버스시스템에서 사용되는 것과 똑같은 통신 프로토콜을 사용하고 있지 않을 수 있다. 그러므로 이 컴퓨터 시스템에는 별도의 입출력(I/O) 버스(60)를 구비해줄 수도 있다. 이 입출력버스(60)는 본 기술에서 공지된 여러 통신 스킴중에서 어느 것도 사용해도 된다. 물론 본 기술의 숙련자에게는 임의의 외부 장치들이 만일 본 발명의 타이밍이 프로토콜을 사용하거나 혹은 이해하는 종류의 것이라면, 본 버스시스템이 이러한 외부장치들과 통신하는데 쓰일 수 있다는 사실이 명백할 것이다.
본 발명은 또한 버스(10)에 결합된 제어기/아비터(arbiter)(14)도 포함된다. 이하에 좀더 상세하게 설명하겠지만, 제어기(14)는 여러 에이전트 사이에서 버스(10) 액세스를 제어하고 할당해주는 것을 비롯하여 여러 가지 기능을 수행한다. 제어기는 버스그랜트(grant) 선(49)을 통해 버스그랜트 신호를 어서트함으로써 이것을 행한다. 버스에 결합된 각 에이전트는 특정 에이전트와 제어기/아비터(14)의 사이에 결합된 고유의 버스요청, 버스선택 및 버스그랜트선을 가진다. 어떤 에이전트가 버스를 제어해야 할 필요가 있으면, 이 에이전트는 자신의 버스 요청선(49)을 통해 신호를 어서트한다. 제어기(14)는 이러한 모든 요청을 수령하여 이들에 우선 순위를 각각 부여하고 기억해 놓아, 버스가 유휴상태가 될 때까기 기다렸다가 이들 요청하는 장치중 하나에게 버스그랜트선(49)을 통해서 버스그랜트신호를 어서트한다. 바람직한 실시예에서는, 제어기는 라운드 로빈(round robin) 방식의 우선순위 아비트레이션(arbitration) 스킴을 사용한다. 그러나 본 기술의 숙련자들에게는 설계상의 선택에 따라 다른 방식의 아비트레이션 스킴을 사용할 수도 있다는 사실이 명백할 것이다. 예를 들면 제어기(14)는 버스그랜트를 먼저 요청한 쪽에 먼저 허가하는 방식(first-requested, first-granted basis)으로 할당할 수 있을 것이다. 이와는 달리 각 에이전트에 고유의 우선순위 번호를 할당해 주고 제어기(14)는 요청하는 에이전트중 가장 높은 우선순위를 가진 것에 버스그랜트를 할당할 수도 있을 것이다. 제어기는 또한 둘 이상의 에이전트가 동시에 버스(10)를 액세스하려고 할 때 생기는 데드록 상황의 발생을 방지해준다. 이것은 이하에 설명하는 "재실행(rerun)"프로토콜을 사용함으로써 행해진다.
앞으로 설명하겠지만, 본 발명은 고속의 병렬데이타 전송율, 낮은 전력소모량 및 최소한의 선의 수를 가진 버스로 구성된다. 더구나, 본 발명의 특정 에이전트가 버스를 액세스 하는데 필요로 하는 시간을 최소화 해준다. 비록 제 1 도는 버스(10)에 결합된 특정 프로세서와 주변장치를 도시하고 있지만, 본 기술의 숙련자에게는 본 발명의 구조상 여기에 설명된 버스구조를 사용하면 다양한 시스템에서 매우 다양한 처리장치와 주변장치간의 상호연결도 가능하다는 사실이 명백할 것이다.
이 버스의 바람직한 실시에는 CMOS 기술과 함께 쓰이도록 설계되어 있다. 이와같이, 어떤 전원사양 및 타이밍 프로토콜이 CMOS 디바이스와 함께 효율적으로 가능하고 전력소모가 감소되도록 최적화된다. 본 기술의 숙련자에게는 이러한 사양들이 본 발명의 취지로부터 벗어남 없이 변경될 수 있다는 사실이 명백할 것이다.
이하의 설명 전체를 통해서 어떤 버스선이 "액티브 하이(active high)" 또는 "액티브로우(acrive low)"하다는 말을 사용하게 될 것이다. 이 용어는 문제의 특정 버스신호가 어서트 되었는지 아닌지, 그리고 버스동작에 관련된 것인지 아닌지를 나타내기 위해서 사용된다. 그러나, 소정의 버스선이 액티브 하이인지 액티브 로우인지는 설계상의 선택의 문제라는 것은 명백하다. 바람직한 실시에는 데이타 전송속도를 최대화하고 전력소모를 최소화 하도록 설계되어 있지만, 이 버스의 설계를 액티브 하이선에서 액티브 로우로 바꾸도록 변경하는 것이 본 발명의 범위안에 들어간다는 사실을 알 수 있을 것이다.
마찬가지로, 아래에 좀더 상세히 설명된 바와같이, 버스의 바람직한 실시예는 완전히 동기적이다. 모든 버스신호는 클록펄스의 상승에지에서 변화한다. 동기적 설계가 바람직한 이유는 데이타 전송율을 크게 하기 위해 클록속도가 커야하기 때문이며, 고속으로 클록펄스의 상승에지를 검출하기가 보다 쉽기 때문이다. 클록펄스의 상승에지를 사용하는 것은 설계상의 선택의 문제이며, 본 발명은 그대신 클록펄스의 하강에지를 완전히 동기화 되도록 할 수도 있다는 사실을 알 수 있을 것이다.
이제 제 2a 도를 참조하면, 본 발명의 바람직한 실시에는 96개의 개별선을 포함하는 버스(10)로써 구성된다. 도시된 것처럼, 버스는 제 1 도에 도시된 컴퓨터 시스템을 구성하는 여러 에이전트(26)[주기억장치(16), 비디오포트(18) 및 디스크 드라이브(24)를 포함한다]에 연결된다. 버스(10)는 에이전트(26) 사이에서 중앙클록신호를 분배해주는 클록선(40)을 포함한다. 버스(10)는 또한 물리주소선(42)과 가상주소/데이타선(43)도 포함한다. 바람직한 실시예에서는 28개의 물리주소선과 32개의 가상주소/데이타선이 있다. 그러나, 전송할 데이타의 규모에 따라서는 이러한 선의 수를 다르게 할 수도 있을 것이다. 수령하는 에이전트로 하여금 물리주소선(42)상에 있는 주소를 스트로브(strobe)하도록 허용해주는 주소 스토로브선(41)이 제공된다.
버스(10)의 동작중에는, 에이전트(26)간에 정확한 데이타 전송을 확보하기 위해 구체적인 여러 시점에서 여러 프로토콜 신호가 어서트된다. 이 목적을 위해, 본 발명은 전송될 데이타의 폭(바이트 단위)을 지시해주는 전송규모선(44)과 CPU(12)나 다른 에이전트에 의해 엑세스된 어떤 에이전트가 데이타 요청을 수령했음을 확인해 줄 수 있게 하는 수신확인선(46)을 포함하고 있다. 이하에 설명하겠지만 액세스된 에이전트는 이러한 응답들을 부호화된 형식으로 제공한다. 데이타를 요청받는 에이전트가 전송 도중 에러를 검출하는 경우에는 기억장치 에러선(47)이 어서트된다.
버스(10)는 또한 임의의 소정시간에 단 한 개의 에이전트(27)만이 버스를 구동시키고 있도록 하기 위해 버스 제어를 위한 선도 포함하고 있다. 전술한 바와같이 버스요청선(48)과 버스그랜트선(49)은 각 에이전트마다 고유하다. 또한 어떤 에이전트가 버스동작을 인터럽트 할 수 있게 해주는 인터럽트 요청선(50)도 있다. 이것은 에이전트가 매우 우선순위가 높은 타스크를 수행해야 되는데 현재 데이타 전송이 진행중이어서 버스에 정상적인 액세스가 불가능할 때 필요할 수 있다. 바람직한 실시예에서는 7개의 인터럽트 요청선이 있다. 그러나 본 기술의 숙련자에게는 이러한 선의 수가 더 많거나 더 적다고 해도 그것이 본 발명의 범위에서 벗어나는 것은 아니라는 사실이 명백할 것이다. 예를 들면, 만일 에이전트가 버스를 인터럽트하는 일이 뜸하게 일어날 것이라고 예상된다면, 모든 에이전트가 공동으로 사용할 수 있는 한 개의 인터럽트선만을 둘수 있다. 버스를 리세트 하는데 쓰이는 버스리세트선(51)이 제공된다. 리세트는 최초의 전원공급시나 또는 에러 상황 발생시에 필요할 수 있다. 마지막으로 전원선(52)는 버스동작에 필요한 전압 및 전류를 공급한다.
버스를 구성하는 선의 대부분은 하이레벨(1) 또는 로우레벨(0)로 구동될 수 있는 디지탈선이다. 그러나, 바람직한 실시예에서는 또한 특별한 프로토콜에 의거하여 구동되는 제어선도 포함하고 있다. 종래기술을 이용한 많은 시스템에서는, 디지탈선은 액티브 로우로 구동됨으로써 어서트될 수 있다. 이 선이 디어서트될 때 에이전트는 이 선을 로우로 구동시키기를 중지하고, 선은 풀업저항기에 의해서 정상적인 하이상태로 돌아간다. 선이 인액티브(하이)상태로 복귀하는 속도의 선의 용량(capacitance)과 풀업저항 값의 함수이다.
제 3 도에 보인것처럼, 3-상태가능 신호가 어서트될때마다 이 신호의 구동기는 우선 신호를 로우로 끌어내린다(즉 어서트한다). 신호를 어스트한 후에, 구동기는 턴오프 하기 전에 신호를 하이(인액티브)로 구동한다. 3-상태가능 제어신호는 구동기가 턴오프된 후에도 신호를 인액티브레벨로 유지해줄 수동 풀업저항기를 가진다. CMOS 디바이스는 저전력 직류사양을 가지고 있어서 짧은 시간내에 신호를 액티브레벨에서 인액티브레벨로 바꾸어줄 능동풀업 저항기를 제공하는 일이 불가능하다. 그러므로, 본 발명에서 채택된 프로토콜이 사용된다. 3-상태가능선상의 저항기는 신호상태를 액티브에서 인액티브로 바꾸어주지 않는다. 이 저항은 단지 신호가 인액티브레벨로 유지되도록 할 뿐이다. 로우로 그리고 하이로 3-상태가능 신호를 구동함으로써, 종래기술을 이용한 많은 버스시스템에서 발생하는 "부동(floating)"신호문제를 피할 수 있다.
본 발명의 또 하나의 특징은 어떤 동일한 한 클록주기 동안에는 두 개의 에이전트가 하나의 선을 동시에 구동하는 일이 없다는 사실이다. 이로써 다수의 구동기 사이에서 구동기 중첩의 문제가 생기는 일이 없게된다. 이 특징의 타임이 프로토콜을 제 4 도에 도시한다. 첫 클록주기의 상승에지에서는, 특정의 선을 구동하고 있는 에이전트의 구동기가 턴오프된다. 만일 이 선이 3-상태가능선이라면 이 선은 그 수동적 저항에 의해서 3-상태가능레벨로 유지될 것이다. 이 선은 첫 클록주기가 끝날때까지 3-상태가능레벨로 유지된다. 두 번째 클록주기의 상승에지가 검출되면, 두 번째 에이전트의 구동기가 턴온되어 이 선을 필요한 레벨로 구동시킬 것이다.
이제 제 1 도와 제 5 도 내지 제 10 도를 참조하면서 버스의 동작을 설명하기로 한다. 버스(10)를 사용하여 수행할 수 있는 타스크는 많이 있다. 이런 타스크 모두를 자세히 다룰 수는 없지만, 몇 개의 예를 들어 버스의 일반적인 동작을 설명하기로 한다. 그러므로, 이하의 예는 예시의 목적만을 위해 주어지는 것이며 절대로 버스(10)에 의해 수행될 수 있는 작업의 종류를 한정하려 함이 아니라는 사실을 분명히 하고자 한다.
예를 들어 CPU(12)가 주기억장치(16)에 기억된 데이타를 판독할 필요가 있다고 가정해보자, 이 프로세스의 타이밍도를 제 7a 도에 도시하였다. CPU(12)는 판독되어야 할 데이타에 해당하는 가상주소를 발생시킨다. 제 1 도에 도시한 바와같이, 이 가상주소는 MMU(30)로 직접 전송된다. MMU(30)는 이 가상주소를 본 기술분야에서 이미 알려져 있는 여러 가지 방법중 하나를 써서 물리주소로 번역하여, 이 물리주소를 물리주소선(42)을 통해서 버스(10)로 전송한다. 제 7a 도에 도시된 것과 같이, 물리주소가 물리주소선(42)을 통해 구송되는 것과 동시에 CPU(12)는 또한 전송규모선(44)을 적절한 레벨로 어서트한다.
전송규모선(44)는 버스(10)를 통해 전송될 데이타의 폭(바이트 단위로)에 대한 부호화된 신호를 기억장치(16)에 제공해준다. 바람직한 실시예에서는 세 개의 전송규모선이 있다. 제 6 도는 전송규모선을 구동하는 방법의 여러 가지 가능한 조합과 데이타 전송의 폭에 관하여 각 조합에 대응되는 의미를 도시하고 있다. 바람직한 실시예에서는, 버스(10)는 1, 2, 3, 4 또는 16바이트의 데이타 전송을 수용할 수 있다. 그러나 본 기술의 숙련자에게는 설계상의 선택의 문제로서 이와다른 부호화 스킴과 대응하는 데이타 전송규모 역시도 실현할 수 있다는 사실이 명백할 것이다. 본 발명의 데이타선(43)은 32비트의 폭을 갖는다. 그러므로 버스(10)는 동시에 4바이트까지의 데이타를 전송할 수 있다. 이하에 상세히 설명하겠지만, 만일 전송규모선이 16바이트 전송을 지시한다면, 버스(10)는 여러번의 4바이트 전송을 실행한다.
제어기(14)는 버스선택선(53)을 어서트한다. 제어기(14)가 주소 스트로브션(41)를 어서트하면, 기억장치(16)는 자신의 액세스되고 있다는 것을 인지하고 수신확인선(46)을 통해서 ACK 신호로써 응답해준다. 제 2b 도에 도시된 바와같이, 수신확인선(46)은 세 개의 별도선으로 구성된다. 즉 8비트 SAK(55), 32비트 ACK(56) 및 에러(57)이다.
액세스된 에이전트(이 예에서는 기억장치(16))는 네가지의 응답중에서 하나를 선택할 수 있다. 즉 CPU(12)(또는 기타 액세스하고 있는 에이전트)에게 대기하라고 지시하던가, "재실행"응답을 주던가(이하에 설명한다), 에러조건이 있으면 사이클을 종료하던가, 아니면 액세스된 에이전트의 포트(port)크기를 알려주면서 동시에 데이타 전송을 수신확인하던가 할 수 있다. 제 5 도는 바람직한 실시예에서 사용된 부호화된 응답을 표로 만든 것이다, 도시된 바와같이 버스(10)는 8비트, 16비트 및 32비트(1, 2 및 4바이트)의 포토크기를 가진 에이전트를 수용할 수 있다. 본 기술의 숙련자에게는 설계상의 선택의 문제로서 이와 다른 부호화 스킴을 사용할 수도 있다는 사실이 명백할 것이다. 더구나, 예를 들면 4비트 또는 64비트와 같이 다른 포트크기를 갖는 장치의 사용까지 감안하는 것은 본 발명의 범위내에 속한다. 바람직한 실시예에서는 수신확인선은 액티브로우이다.
수신확인선(46)은 어서트한 후에, 기억장치(16)는 제 3 도와 관련하여 앞서 설명한 바대로 이 수신확인선을 3-상태하기 전에 다음 클럭주기에 그들을 하이레벨로 구동한다. ACK 신호를 수령하면, 제어기(14)는 주소 스트로브(14)(액티브 로우 신호이다)를 디어서트 한다. 수신확인선(46)을 어서트한 후 한 클록주기가 지나면, 기억장치(16)는 데이타선(43)을 유효데이타로 구동하고, 한 클록주기가 완전히 지날때가지 데이타선(45)상에 있는 데이타를 유효하게 유지한다. 데이타선(43)이 어서트된 후에는 기억장치(16)는 이들을 3-상태로 하고 판독사이클을 종료한다.
예시의 목적을 위해, CPU(12)가 기억장치(16)에 데이타를 기록하고 있다고 가정해보자, 이 프로세스의 타이밍도는 제 7b 도에 도시되어 있다. CPU(12)는 물리주소선(42), 전송규모선(44)을 어서트하고 데이타선(43)에 데이타를 인가한다. 제어기(14)는 버스선택선(53) 및 주소 스트로브(54)를 동일한 클록펄스에서 어서트한다. 거의 동시에 CPU(12)는 데이타 라인을 기억장치(16)에 기록될 데이타로써 구동한다. 동일한 클록주기의 상승에지에서 주소 스트로브(41)와 버스선택선(53)이 유효하다면, 기억장치(16)는 전술한 ACK 신호로써 응답한다. 유효한 ACK 신호를 수령하는 즉시 제어기는 주소 스토로브(41)를 디어서트하고, CPU(12)는 데이타선(44)을 디어서트 한다. 제 1 도에 도시한대로, CPU(12)는 MMU(30)에 직접적으로 결합되어 있다. 따라서, 본 실시예에서는 CPU(12)는 MMU에게 가상주소를 직접적으로 제공하므로, 가상주소래치(VAL)(28)와 버스(10)를 바이패스한다. 그러나, CPU(12)는 기타의 어떤 에이전트(26)와 마찬가지로 버스(10)에 직접 결합되어도 좋으며, 여기서 그 가상주소는 DMA 장치(20)와 관련하여 이하에 설명될 예에서와 같이 데이타선(43)에 인가된다.
제 8a 도는 데이타를 직접 기억장치에 기록하는 DMA 장치에 대한 타이밍도를 도시한 것이다. 도시된대로, DMA 장치는 버스요청선(48)을 어서트함으로써 버스에의 액세스를 요청한다.
상기와 같이 이 요청선(48)은 액티브 로우선이다. 제어기는 버스가 인액티브가 될 때까지 대기하다가, 앞서 설명한 아비트레이션 스킴에 따라서, 요청하는 에이전트에게 버스그랜트신호를 보낸다. 그 뒤에 오는 첫 클록주기에서, DMA 장치는 버스요청선을 디어서트하고 가상주소를 데이타선(43)에 구동시켜준다. 동시에 DMA 장치는 제 6 도와 관련하여 앞서 논의된대로 전송규모를 지시해주며, 판독선을 어서트한다.
데이타상의 가상주소를 구동함에 의해서, 본 발명은 종래의 기술에 비하여 여러 가지 장점을 실현하고 있다.
첫째, 버스에 연결된 모든 에이전트는 MMU를 통해서 기억장치를 액세스할 수 있다. 이러한 기술은 버스내에 별도의 가상주소선 세트를 둘 필요성을 제거해준다. 그러므로 버스내의 총 선의 수는 감소하며, 복잡성 및 제조원가가 줄어들게 된다.
제 1 도에 보인대로, 데이타/가상주소선(43)은 가상주소 래치(28)에 결합되어 있다. 버스 매스터(예를 들면 CPU(12)가 버스그랜트를 받은 후에 오는 첫 클록주기동안, 매스터는 데이타선(43)에 가상주소를 인가한다. 가상주소 래치(28)는 가상주소값을 기억한다. 이 가상주소는 그후 이것을 주기억장치(18)내의 실제주소에 해당하는 물리주소로 변환시켜주는 MMU(30)로 전송한다. 제 8a 도에서와 같이 물리주소는 번역된 후에 MMU(30)에 의해 물리주소선상에 어서트된다. 제어기(14)는 물리주소가 MMU(30)에 의해 어서트되는 것과 거의 같은 시점에서 버스선택(53) 및 주소 스트로브(41)를 어서트한다. 동시에 유효한 주소 스트로브(41), 버스선택(53), 및 물리주소(42)에 응답하여, 슬레이브 장치는 기록사이클을 회복하고 ACK(46)을 어서트함으로써 기록사이클을 종료한다. 슬레이브 장치가 한번 ACK(46)을 어서트하면, 제어기(14)는 사이클이 완료된 후에 버스그랜트신호를 디어서트한다. 버스그랜트신호가 디어서트되면 매스터장치는 더 이상 버스를 제어할 권한이 없으므로 다음 사이클이 지난후에 모든 신호이 구동을 중지하여 기록사이클을 종료한다.
제 8b 도는 DMA 장치가 기억장치로부터 판독을 할 때의 타이밍도이다. 도시된 것처럼, DMA 장치(20)는 버스요청선(48)상에 버스요청신호를 어서트한다. 버스가 인액티브일 때 제어기(14)는 앞서 설명한 아비트레이션 스킴에 따라서 버스그랜트신호를 낸다.
다음에 DMA 장치(20)는 버스요청선(48)을 디어서트하고 데이타를 기록할 기억장치 위치의 가상주소를 데이타선(43)에 인가한다. 동시에, DMA 장치는 전송규모선(44)을 어서트하고 판독선(45)을 하이로 구동한다. 가상주소가 데이타선상에서 구동된후 DMA 장치(20)는 제 3 도와 관련하여 앞서 설명한대로 데이타 선을 3-상태가 되게한다. MMU(30)는 가상주소를 물리주소로 번역하고 이 물리주소를 물리주소선(42)에 인가한다. 물리주소선이 어서트되면, 제어기(14)는 주소 스트로브(41)와 버스선택(53)을 어서트한다. 이에 응답하여 기억장치(16)는 수신확인선(46)을 통해서 유효한 ACK 신호로써 응답한다. 유효한 ACK 신호가 어서트된 후에 DMA 장치(20)는 기록될 데이타선(43)상에 구동한다. 동시에 제어기(14)는 버스그랜트선(49)을 디어서트한다. 다음 클록주기에서 DMA 장치는 데이타선과 전송규모선과 판독래치를 3-상태가 되게 하고 이에 의해서 DMA 판독사이클을 완료한다.
본 발명은 CPU(12)나 기타 에이전트(26)에 의해서 다중 바이트가 기억장치(16)로부터 판독되거나 기억장치(16)에 기록되는 고대역폭 버스트 전송방식을 수용할 수 있다. 이러한 CPU 판독동작의 한 예를 보이는 타이밍도가 제 9 도에 도시되어 있다. 데이타를 기억장치에 전송하는 에이전트(26)는 버스요청선(48)을 통해 버스요청신호를 어서트함으로써 버스의 제어권한을 요청한다. 버스(10)가 인액티브일 때 제어기(14)는 앞서 설명한 본 발명의 아비트레이션 절차에 의거하여 버스그랜트신호를 보낸다. 버스그랜트가 주어지면 버스요청신호를 낸 에이전트(26)는 버스 매스터(master)가 되고 버스(10)의 동작을 제어할 권한을 갖는다. 버스그랜트후에 오는 첫 클록주기에서 버스 매스터는 버스요청선(48)을 디어서트하고, 판독신호선(45)을 하이로 구동한다. 거의 동시에, 가상주소가 버스 매스터에 의해 데이타선(43)상으로 구동된다. 버스 매스터는 앞의 제 6 도에 주어진 부호화 스킴에 의거하여 전송규모선(44)을 어서트함으로써, 전송이 16바이트로 구성될 것임을 알려준다.
가상주소는 MMU(30)에 의해 물리주소로 변환되고, 물리주소선(42)상으로 구동된다. 이 시점에서 기억장치 32비트 수신확인선(46)(액티브 로우)상에 유효한 신호로써 응답해야 한다. 유효한 ACK 신호의 수령직후, 버스 매스터는 기억장치(16)에 기록될 첫 4바이트를 데이타선(43)상에 구동한다. 기억장치(16)는 32비트 ACK(56)을 하이로 그리고 다시 로우로 구동함으로써 응답한다. 기억장치(16)는 또한 다음 그룹의 4바이트가 전송될 수 있도록 주소를 자동적으로 증가시킨다. 32비트 수신확인선(46)이 로우로 구동된 후에, 버스 매스터는 새로운 기억장치 주소상에서 기록되거나 판독될 새로운 그룹의 데이타 4바이트를 데이타선(43)상에 래치시킬 것이다. 이 프로세스는 4바이트로 구성되는 각 그룹마다 반복된다. 이러한 데이타 그룹이 4번 전송되고 나면 제어기(14)는 버스그랜선(49)을 디어서트한다. 그후 버스 매스터는 주소 스트로브(41)를 디어서트하고 판독선(45)과 전송규모선(44)을 3-상태가 되게 한다. 기억장치가 32비트 수신확인선(46)을 3-상태로 하면 이에 의해 기록사이클이 종료된다.
본 발명은 더 나아가 어떠한 진행중인 사이클이라도 포기시켰다가 나중에 다시 시작할 수 있게되는 "재실행"프로토콜도 실현하고 있다. 이것은 CPU와 DMA 장치간의 데드록이 있을 때 해결을 가능하게 하며, 각 에이전트가 다른 버스요청을 록 아웃(lock out)시키지 않고도 오랫동안 판독대기(long read latency)할 수 있게 해준다. 데드록은 어떤 에이전트가 슬레이브(slave) 에이전트도 될 수 있고, 버스 매스터로 될 수 있으며 임의의 소정 시점에서 슬레이브 액세스를 완료할 수 없을 때 발생할 수 있다. 에이전트(26)는 이 상황을 검출하여, 8비트 수신확인선(46) 및 에러선(47)을 제 5 도에 보인것과 같이 구동함으로써 재실행 수신확인을 어서트하여야 한다. 제어기(14)는 버스선택선(53)을 무효화하여 사이클을 종료하고 나중에 어떤 시점에서 사이클을 반복함므로써 응답한다. 사이클을 반복하기 전에, 다른 버스 매스터가 버스(10)를 먼저 이용할 수도 있다. 재실행 사이클의 예는 제 10 도에 보여져 있다.
재실행 프로토콜은 여러 가지 이유로 해서 유용하다. 첫째, 이것은 CPU(12)가 아닌 다른 에이전트들도 MMU(30)를 통해 주기억장치(16)을 액세스할 수 있게 해준다. 어떤 에이전트가 VAL(28)을 통해서 가상주소를 MMU(30)로 송신한다고 가정해보자, 만일 대응하는 물리주소가 현재 MMU(30)에 기억되어 있지 않다면, MMU의 번역 데이타는 앞서 설명될대로 재실행 신호를 발한다. 요청하는 에이전트는 MMU(30)가 적절한 번역 데이타를 패치할 수 있도록 유보(back off)한다. MMU(30)는 이 전송을 버스(10)를 통해서 실행한다. 요청하는 에이전트는 이때 가상주소를 물리주소로 번역하는데 필요한 MMU(30)의 데이타를 가지고 동작을 재시도할 수 있다. 이 재실행 프로토콜이 없으면, MMU는 가상주소를 물리주소로 번역할 수 없을 것이다. MMU(30)는 버스의 제어권한을 얻을 수도 없을 것이다. 이로인해 데드록 상황이 발생되게 되며, 그러면 버스(10)는 시스템을 "동결(freeze)"하여 데이타 전송을 금지한다.
재실행 기능은 또한 어떤 특정 에이전트가 버스를 액세스하기 전까지 기다려야 하는 시간의 양을 최소화 해준다. 이 대기시간은 버스 회전대기(latency) 시간이라고 알려져 있다. 버스회전대기는 어떤 특정 에이전트가 어떤 슬레이브를 액세스하는데 있어 액세스 시간이 길어서, 다른 모든 에이전트를 록아웃시킬 때 일어난다. 이런 상황은 액세스된 에이전트가 요청된 데이타를 버스에 공급하기까지 긴 시간을 필요로 할 때 생길 수 있다.
버스회전대기시간이 소정의 시간(N)보다 큰 에이전트는 시간이 종려하기 전에 재실행 수신확인으로써 응답해야 한다. 만일 액세스된 에이전트가 응답하는데 N 사이클보다 더 오래걸린다면 현재의(판독 또는 기록)사이클은 포기되고, 대기중인 요청에 부응(service)하게 된다. 이 대기중인 요청이 부응되고 나면 원래의 사이클이 재시작된다. 재실행 시간중에, 액세스된 에이전트는 모든 어서트된 주소 및 데이타선을 래치하는데, 이것은 이 신호들이 재실행 사이클이 정지된 후에는 유효한 것이 아니기 때문이다.
따라서, 가상메모리 능력을 가진 고속도 버스가 설명되었다. 앞서의 명세서에서, 발명은 그 구체적이고 예시적인 실시예를 참조함으로써 설명되었다. 그러나, 주장되는 청구범위에 기재된 발명의 보다 넓은 취지와 범위로부터 이탈함이 없이 다양한 변경과 수정을 행할 수 있다는 사실은 명백할 것이다. 그러므로 이 명세서 및 청구범위는 한정적 의미로 보다는 예시적인 의미로 간주되어야 한다.

Claims (21)

  1. 단일 버스구조, 선택적으로 결합된 다수의 데이타 처리장치("에이전트") 및 제어기 에이전트를 포함하는 컴퓨터 시스템에 있어서, 버스요청선상에 버스요청신호를 요청하는 에이전트에서 제어기 에이전트까지 어서트하는 단계 ; 상기 버스가 상기 요청하는 에이전트에 의해서 사용될 수 있을 때 버스그랜트선상에 버스그랜트신호를 상기 제어기 에이전트에서 상기 요청하는 에이전트까지 발생시키는 단계 ; 상기 버스요청선상에 상기 버스요청신호를 요청하는 에이전트에서 상기 제어기 에이전트까지 디어서트하는 단계 ; 가상주소를 상기 요청하는 에이전트로부터 상기 버스의 데이타선에 인가하는 단계 ; 상기 가상주소를 저장하는 가상주소 래치(VAL) 수단에서 상기 가상주소를 래치하는 단계 ; 상기 VAL 로부터 메모리관리장치(MMU)까지 상기 가상주소를 전송하는 단계 ; 상기 MMU에 저장된 번역 데이타에 의해서 상기 가상주소를 물리주소로 번역하는 단계 ; 상기 물리주소를 상기 버스의 주소선에 인가하는 단계 ; 상기 요청하는 에이전트에서 상기 물리주소와 연관된 에이전트까지 전송규모신호를 어서트 하는 단계 : 상기 제어 에이전트에서 상기 물리주소와 연관된 상기 액세스된 에이전트까지의 버스선택신호를 어서트하는 단계 ; 상기 버스의 수신확인선에 대한 상기 물리주소와 연관된 상기 액세스된 에이전트로부터 ACK 신호를 전송하는 단계 ; 및 상기 데이타를 상기 데이타선에 인가하는 단계로 구성되며, 상기 데이타가 상기 단일 버스구조보다 빠른 속도로 상기 물리주소와 연관된 상기 액세스된 에이전트 및 상기 요청하는 에이전트 사이에서 전송되는 것을 특징으로 하는 물리주소와 연관된 액세스된 에이전트 및 요청하는 에이전트 사이에서 데이타를 전송하는 방법.
  2. 제 1 항에 있어서, 상기 버스는 상기 에이전트를 클럭신호에 제공하는 클럭선 수단을 더욱이 포함하며, 상기 클럭선 수단을 각각의 상기 에이전트 및 버스클럭에 접속되고, 상기 신호는 상기 클럭신호의 상승에지에서 동기적으로 상기 버스변화상태에 대하여 전송되는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 제어기 에이전트는 라운드 로빈 우선순위 방식에 의해서 상기 버스로 요청하는 에이전트 액세스를 허락하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 32개의 데이타선이 있는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 상기 버스는 상기 에이전트를 클럭신호에 제공하는 클럭선 수단을 더욱이 포함하며, 상기 클럭선 수단은 각각의 상기 에이전트와 버스클럭에 결합되며, 상기 신호는 상기 버스가 클럭신호의 한 단부에서 동기적으로 변화하는 상태에 따라 전송되는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서, 상기 에이전트중 단지 하나만이 소정의 클럭 사이클 동안에 상기 버스를 구동하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서, 제어기 에이전트는 내정된 아비트레이션 스킴을 사용해서 상기 버스에 대한 액세스를 허락하는 것을 특징으로 하는 방법.
  8. 제 1 다수선으로 구성된 버스 ; 상기 버스에 선택적으로 결합된 다수의 데이타 처리장치("에이전트") ; 상기 버스에 대한 액세스를 제어하는 상기 버스에 결합된 제어기 에이전트 ; 상기 에이전트에 의해서 사이드(side) 버스를 통해 제공된 가상주소를 물리주소 번역하는 상기 버스에 결합된 번역수단 ; 및 같은 제 2 다수선을 통해 가상주소와 데이타를 전송하는 제 2 다수선을 포함하는 상기 제 1 다수선으로 구성되는 것을 특징으로 하는 가상메모리 데이타 전송능력을 가진 고속도 버스를 갖춘 컴퓨터 시스템.
  9. 제 8 항에 있어서, 상기 번역수단과 결합된 중앙처리장치(CPU)로 더욱이 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  10. 제 9 항에 있어서, 상기 중앙처리자치에 결합된 입력/출력 버스로 더욱이 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  11. 제 10 항에 있어서, 상기 다수의 데이타 처리장치("에이전트")는 DMA 장치를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  12. 제 11 항에 있어서, 상기 다수의 데이타 처리장치("에이전트")는 주기억장치를 더욱이 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  13. 제 8 항에 있어서, 상기 가상주소를 저장하는 래치로 더욱이 구성되며, 상기 래치는 상기 번역수단과 결합되는 것을 특징으로 하는 컴퓨터 시스템.
  14. 제 13 항에 있어서, 상기 번역수단은 상기 버스상에 적당한 번역 데이타를 얻기 위하여 가상주소를 물리주소로 번역하는데 있어서, 일시 정지시키는 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  15. 버스 ; 상기 버스와 결합된 중앙처리장치 ; 상기 버스와 결합된 다수의 데이타 처리장치 ; 가상주소를 물리수조로 번역하는 상기 버스에 결합된 메모리 관리장치 ; 및 상기 버스에 대한 액세스를 제어하는 상기 다수의 데이타 처리장치 및 상기 버스에 결합된 제어기 에이전트로 구성되고, 여기서 상기 버스는 상기 장치 사이에 중앙클럭신호를 분배하는 클럭선 수단 ; 물리주소를 상기장치에 제공하는 물리주소선 수단 ; 상기 물리주소선 수단상에 존재하는 물리주소를 스트로브하는 주소 스트로브선 수단 ; 상기 버스상에 전송될 데이타 폭을 나타내는 전송 규모선 수단 ; 상기 장치가 데이타 요청을 수신확인하게 하는 수신확인선 수단 ; 상기 장치가 데이타 전송시 검출된 에러를 나타내게 하는 메모리 에러선 수단 ; 요청하는 장치가 상기 버스에 대한 액세스를 요청하게 하는 버스요청선 수단 ; 상기 요청하는 장치가 상기 버스에 대한 액세스를 허용하게 하는 상기 요청하는 장치를 나타내는 버스그랜트선 수단 ; 장치가 버스 동작을 인터럽트하게 하는 인터럽트요청선 수단 ; 데이타 전송을 위한 장치를 선택하는 버스선택선 수단 ; 및 가상주소와 데이타를 전송하는 가상주소/데이타선 수단으로 구성되는 것을 특징으로 하는 가상메모리 데이타 전송능력을 가진 고속도 버스를 갖춘 컴퓨터 시스템.
  16. 제 15 항에 있어서, 가상주소를 저장하고 수신하는 상기 메모리관리장치 및 상기 버스에 결합된 가상주소 래치로 구성되는 것을 특징으로 하는 고속도 버스를 갖춘 컴퓨터 시스템.
  17. 제 16 항에 있어서, 상기 번역수단은 상기 버스상에 적당한 번역 데이타를 얻기위해서 가상주소를 물리주소로 번역하는데 있어서 일시 정지시키는 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  18. 제 17 항에 있어서, 상기 중앙처리장치에 결합된 입력/출력 버스로 더욱이 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  19. 제 18 항에 있어서, 상기 다수의 데이타 처리장치("에이전트")는 DMA 장치를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  20. 제 19 항에 있어서, 상기 다수의 데이타 처리장치("에이전트")는 주기억장치를 더욱이 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  21. 제 20 항에 있어서, 상기 다수의 데이타 처리장치("에이전트")는 비디오 장치, 보조 프로세서, 디스크 인터페이스 및 네트워크 인터페이스를 더욱이 포함하는 것을 특징으로 하는 컴퓨터 시스템.
KR1019890017119A 1989-02-21 1989-11-24 가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법 KR930009063B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US313,250 1989-02-21
US07/313,250 US5121487A (en) 1989-02-21 1989-02-21 High speed bus with virtual memory data transfer capability using virtual address/data lines

Publications (2)

Publication Number Publication Date
KR900013402A KR900013402A (ko) 1990-09-05
KR930009063B1 true KR930009063B1 (ko) 1993-09-22

Family

ID=23214975

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890017119A KR930009063B1 (ko) 1989-02-21 1989-11-24 가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법

Country Status (9)

Country Link
US (1) US5121487A (ko)
JP (1) JPH0661075B2 (ko)
KR (1) KR930009063B1 (ko)
AU (1) AU628407B2 (ko)
CA (1) CA2007690C (ko)
DE (1) DE4003759C2 (ko)
FR (1) FR2643476B1 (ko)
GB (3) GB2228349B (ko)
HK (1) HK72094A (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2016348C (en) * 1989-05-10 2002-02-05 Kenichi Asano Multiprocessor type time varying image encoding system and image processor
US5461723A (en) * 1990-04-05 1995-10-24 Mit Technology Corp. Dual channel data block transfer bus
US5253348A (en) * 1990-12-28 1993-10-12 Apple Computer, Inc. Method of arbitration for buses operating at different speeds
US5386566A (en) * 1991-03-20 1995-01-31 Hitachi, Ltd. Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor
US5280591A (en) * 1991-07-22 1994-01-18 International Business Machines, Corporation Centralized backplane bus arbiter for multiprocessor systems
GB2258069B (en) * 1991-07-25 1995-03-29 Intel Corp High speed computer graphics bus
US5355455A (en) * 1991-11-19 1994-10-11 International Business Machines Corporation Method and apparatus for avoiding deadlock in a computer system with two or more protocol-controlled buses interconnected by a bus adaptor
GB2283596B (en) * 1993-11-01 1998-07-01 Ericsson Ge Mobile Communicat Multiprocessor data memory sharing
US5526496A (en) * 1994-04-22 1996-06-11 The University Of British Columbia Method and apparatus for priority arbitration among devices in a computer system
US5689660A (en) * 1995-02-28 1997-11-18 Hewlett-Packard Co. Enhanced peripheral component interconnect bus protocol
US5797018A (en) * 1995-12-07 1998-08-18 Compaq Computer Corporation Apparatus and method of preventing a deadlock condition in a computer system
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US5928346A (en) * 1996-09-11 1999-07-27 Hewlett-Packard Company Method for enhanced peripheral component interconnect bus split data transfer
US6282625B1 (en) 1997-06-25 2001-08-28 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory
US6092219A (en) * 1997-12-03 2000-07-18 Micron Technology, Inc. Method for use of bus parking states to communicate diagnostic information
US6112316A (en) * 1997-12-03 2000-08-29 Micron Electronics, Inc. System for use of bus parking states to communicate diagnostic information
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer 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
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US6378013B1 (en) * 1998-09-17 2002-04-23 Micron Technology, Inc. System for assessing performance of computer systems
US6366969B1 (en) * 1998-09-17 2002-04-02 Micron Technology, Inc. Method of determining data transfer rate of a device by measuring the transfer rate of data between a virtual drive and the device
US7159128B2 (en) * 2003-04-16 2007-01-02 Seiko Epson Corporation Method and apparatus for selectively reducing the depth of digital data
US8406076B2 (en) 2010-06-28 2013-03-26 Sandisk Technologies Inc. FRDY pull-up resistor activation
US8416905B2 (en) * 2010-09-24 2013-04-09 Intel Corporation Digital NRZI signal for serial interconnect communications between the link layer and physical layer

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3938098A (en) * 1973-12-26 1976-02-10 Xerox Corporation Input/output connection arrangement for microprogrammable computer
JPS5676654A (en) * 1979-11-29 1981-06-24 Fujitsu Ltd Bus transmission system
EP0050109B1 (en) * 1980-02-28 1984-10-31 Intel Corporation Microprocessor interface control apparatus
JPS5786180A (en) * 1980-11-17 1982-05-29 Hitachi Ltd Memory device having address converting mechanism
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4494193A (en) * 1982-09-30 1985-01-15 At&T Bell Laboratories Deadlock detection and resolution scheme
US4628480A (en) * 1983-10-07 1986-12-09 United Technologies Automotive, Inc. Arrangement for optimized utilization of I/O pins
GB8405491D0 (en) * 1984-03-02 1984-04-04 Hemdal G Computers
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US4910655A (en) * 1985-08-14 1990-03-20 Apple Computer, Inc. Apparatus for transferring signals and data under the control of a host computer
US4694395A (en) * 1985-11-25 1987-09-15 Ncr Corporation System for performing virtual look-ahead memory operations
US4763244A (en) * 1986-01-15 1988-08-09 Motorola, Inc. Paged memory management unit capable of selectively supporting multiple address spaces
US4766334A (en) * 1986-03-07 1988-08-23 The Singer Company Level clamp for Tri-state CMOS bus structure
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US4803621A (en) * 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
US4713827A (en) * 1986-11-10 1987-12-15 Ncr Corporation Terminator for a cmos transceiver device
JPS63163648A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd メモリ管理装置
DE3883692T2 (de) * 1987-05-01 1994-02-03 Digital Equipment Corp Rückwandplatinenbus.

Also Published As

Publication number Publication date
CA2007690A1 (en) 1990-08-21
JPH02289017A (ja) 1990-11-29
GB2263349A (en) 1993-07-21
GB2228349A (en) 1990-08-22
US5121487A (en) 1992-06-09
DE4003759A1 (de) 1990-08-23
GB8924639D0 (en) 1989-12-20
JPH0661075B2 (ja) 1994-08-10
CA2007690C (en) 1998-04-28
GB2263378B (en) 1993-10-06
GB2263378A (en) 1993-07-21
GB2263349B (en) 1993-10-06
GB2228349B (en) 1993-10-27
FR2643476A1 (fr) 1990-08-24
AU4379389A (en) 1990-08-30
KR900013402A (ko) 1990-09-05
GB9304140D0 (en) 1993-04-14
GB9304139D0 (en) 1993-04-14
FR2643476B1 (fr) 1994-11-04
AU628407B2 (en) 1992-09-17
HK72094A (en) 1994-08-05
DE4003759C2 (de) 1997-01-09

Similar Documents

Publication Publication Date Title
KR930009063B1 (ko) 가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법
US4937734A (en) High speed bus with virtual memory data transfer and rerun cycle capability
US5301279A (en) Apparatus for conditioning priority arbitration
AU651747B2 (en) Arbitration control logic for computer system having dual bus architecture
US6128711A (en) Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
US5404464A (en) Bus control system and method that selectively generate an early address strobe
US6012120A (en) Method and apparatus for providing DMA transfers between devices coupled to different host bus bridges
US4843542A (en) Virtual memory cache for use in multi-processing systems
KR970000842B1 (ko) 정보 처리 시스템 및 컴퓨터 시스템
US5850530A (en) Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data
US4912632A (en) Memory control subsystem
EP1032880B1 (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system
EP1046111B1 (en) Data transferring in source-synchronous and common clock protocols
US6209067B1 (en) Computer system controller and method with processor write posting hold off on PCI master memory request
US4763249A (en) Bus device for use in a computer system having a synchronous bus
EP0451938B1 (en) Multiple cluster signal processor
US5787475A (en) Controlled prefetching of data requested by a peripheral
US5255376A (en) Method and apparatus for supporting a dual bit length protocol for data transfers
EP0468823A2 (en) Computer data routing system
US4661905A (en) Bus-control mechanism
US5590299A (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US5506968A (en) Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value
US5241661A (en) DMA access arbitration device in which CPU can arbitrate on behalf of attachment having no arbiter
US5097483A (en) Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off
US7020733B2 (en) Data bus system and method for performing cross-access between buses

Legal Events

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

Payment date: 20030124

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee