KR930001586B1 - 다중 버스 마이크로 컴퓨터 시스템 - Google Patents

다중 버스 마이크로 컴퓨터 시스템 Download PDF

Info

Publication number
KR930001586B1
KR930001586B1 KR1019890005471A KR890005471A KR930001586B1 KR 930001586 B1 KR930001586 B1 KR 930001586B1 KR 1019890005471 A KR1019890005471 A KR 1019890005471A KR 890005471 A KR890005471 A KR 890005471A KR 930001586 B1 KR930001586 B1 KR 930001586B1
Authority
KR
South Korea
Prior art keywords
arbitration
system bus
bus
access
processor
Prior art date
Application number
KR1019890005471A
Other languages
English (en)
Other versions
KR890017620A (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 KR890017620A publication Critical patent/KR890017620A/ko
Application granted granted Critical
Publication of KR930001586B1 publication Critical patent/KR930001586B1/ko

Links

Images

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

Abstract

내용 없음.

Description

다중 버스 마이크로 컴퓨터 시스템
제1도는 본 발명을 활용하는 전형적인 마이크로 컴퓨터 시스템의 구성도.
제2도는 본 발명을 활용하는 전형적인 마이크로 컴퓨터 시스템의 다수의 구성요소들을 세부적으로 도시한 블럭도.
제3도는 단일 버스 마이크로 컴퓨터 시스템에 따라 중재 수퍼바이저와 CPU를 접속하는 방법을 나타낸 도면.
제4도는 본 발명에 따라 중재 수퍼바이저, CPU와 캐시제어기가 서로 접속되는 방법을 나타낸 도면.
제5도는 우선사용(PREEMPT) 신호를 발생시키기 위한 CPU와 관련된 장치를 나타낸 도면.
제6도는 CPU로 우선사용(PREEMPT)신호를 발생시키는데 이용되는 CPUREQ 신호를 발생시키기 위한 CPU와 관련된 논리를 나타낸 도면.
제7a도 내지 제7e도는 복수의 중재 및 허가 싸이클을 표시하기 위한 타이밍 파형도.
제8도는 중앙 중재 수퍼바이저(335)와 다른 장치와 관련된 중재기(336)사이의 관계를 나타낸 도면.
제9도와 제10도는 중재 수퍼바이저(335)의 블럭도.
제11도는 제8도의 동작을 설명하기 위한 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
10 : 마이크로 컴퓨터 시스템 20 : 모니터
30 : 시스템 유니트 31, 34 : 카운터
40 : 키보드 50 : 마우스
60 : 프린터 70 : 디스크 드라이브
230 : CPU 로컬 버스 240 : 버퍼
255 : 마이크로 프로세서 260 : 캐시 제어부
325 : DMA 제어기 335 : 중재 수퍼바이저
351 : 메모리 제어요소 352 : 어드레스 멀티플렉서
353 : 데이터 버퍼
본 발명은 82385가 마스터 모드(master mode)로 동작하는 80386/82385마이크로 컴퓨터 시스템에서 80386에 버스 중재를 부여하는 것에 관한 것이다.
본 발명은 1987년 3월 27일에 출원한 명칭이 "Computer System Having Programmable DMA Control"인 시리얼 넘버 제30786호; 1987년 9월 30일에 출원한 명칭이 "DMA Access Arbitration Device in which CPU can Arbitrate on behalf of Atthachment having no arbiter"인 시리얼 넘버 제30788호에; 1987년 9월 30일에 출원한 명칭이 "Computer System Having Dynamically Programmable Linear/Fairness Priority Arbitration Scheme"인 시리얼 넘버 제102690호와 관련이 있다.
80386의 특징 및 캐시 메모리 서브 시스템을 포함하고 있는 마이크로 컴퓨터 시스템에서 이것의 사용에 관한 배경 정보는 1986년 4월 Intel의 "80386 입문"과 1986년의 "80386 하드웨어 관련 매뉴얼"에 기술되어 있다. 82385의 특성과 동작성능은 Intel의 출판물 "82385 고성능 32비트 캐시 제어기(1987)에 기술되어 있다.
복수의 잠재적인 유저들 사이에 자원(resource)을 분산하기 위한 장치는 상기 관련 출원에 기술되어 있는바, 이 관련출원들은 본원의 참고 자료로서 언급한 것이다. 이러한 관련 출원들은 단일 버스 마이크로 컴퓨터 시스템중의 복수의 장치사이에서, 컴퓨터 버스 서브 시스템 및/또는 메모리로의 액세스와 같은 분배를 기술하고 있다. 그러한 자원의 분배는 일반적으로 중재로서 일컬어진다. 상기 관련 출원에서 기술된 중재는 복수의 잠재 유져중의 한 유져에 공통 자원을 할당시키기 위해 중앙 수퍼바이저에 의한 분배 중재(distributed arbitration)를 이용한다. 그러나, 상기의 수퍼바이저는 CPU에 의해 제어되는바, CPU가 액세스를 필요로 하는 경우 CPU 그자체가 필요에 따라 공통 자원으로의 액세스를 받을 수 있도록 수퍼바이저를 제어할 수 있다.
구조상으로, 캐시 서브 시스템을 포함하고 있는 마이크로 컴퓨터 시스템은 캐시 서브 시스템을 포함하고 있지 않은 마이크로 컴퓨터 시스템과는 매우 다르다. 캐시 서브 시스템을 가진 마이크로 컴퓨터 시스템은 이중 버스 장치처럼 작동한다. 특히, 캐시 서브 시스템을 가진 마이크로 컴퓨터 시스템에는 CPU, 캐시 메모리 및 캐시 제어부를 상호 접속시키는 제1버스(CPU 로컬버스로 일컬어짐)가 있다. 다른 장치들은 다른 버스(시스템 버스)에 결합된다. 그러한 다른 장치의 예로는 주기억 장치, I/O 장치 및 보조 장치가 있다.
상기 장치들 이외에, 시스템 버스는 또한 캐시 제어부에도 결합될 수 있다.
캐시 서브 시스템은 만일 서브 시스템이 없는 경우 시스템 버스에 의해서 수행되어져야 하는 대부분의 메모리 액세스를 시스템 버스가 행하지 않도록 해준다. 즉, CPU가 캐시 메모리로부터 정보를 얻을 수 있는 범위까지의 특정한 사이클 동안 CPU는 시스템 버스에 액세스를 요청하지 않는다. 따라서, 다른 장치들은 같은 시간 주기 동안에 다른 동작을 위해 시스템 버스를 사용할 수 있다. 그 결과, CPU에 의해서 실제로 사용되는 시스템 버스 사이클이 크게 절감될 수 있다. 일반적으로 캐시 제어부를 시스템 버스와 CPU 로컬 버스 모두에 결합되며, 상기 캐시 제어부의 기능들중 한 기능은 단일의 버스 시스템에서는 CPU에 의해 감시되었던 중재 수퍼바이저를 감시하는 것이다.
하나의 사용가능한 제어기로는 82385가 있고, 이 82385는 마스터 모드 또는 슬레이브 모드(slave mode)로 동작할 수 있다. 82385가 마스터 모드에서 동작하고, 중재 수퍼바이저를 감시 하는 경우, CPU를 위해서 시스템 버스 자원을 확보해주는 어떠한 메카니즘도 존재하지 않게 된다.
따라서, 본 발명의 목적은 중재 수퍼바이저를 감시하는 캐시 제어부를 가지고 있는 다중 버스 마이크로 컴퓨터 시스템에서, CPU가 중재 장치에 의해서 분배되는 시스템 버스 수단을 액세스할 수 있도록 해주는 메카니즘을 제공하는 것이다.
상기 참조 출원에 기술된 바와같은 중재 수퍼바이저는 복수의 장치로부터 공통적으로 공급된 중재 요청 신호에 응답한다. 중재 수퍼 바이저는 하나 이상의 장치가 공통 자원을 요청 했음을 인식하는 경우 컨덕터(conductor)의 상태를 변경시킴으로써 중재 주기의 시작을 표시한다. (ARB/
Figure kpo00001
)는 모든 결합 장치로 액세스 가능함). 결합 장치는 중재 주기의 시작을 표시하는 그 컨덕터의 상태 변화를 알고 있는 경우, 우선 순위 레벨에 상응하는 신호를 발생시켜, 상기의 신호와 함께 이러한 기능을 나타낸 복수의 중재 컨덕터를 구동한다. 복수의 장치와 중재 컨덕터 사이의 접속은 컨덕터가 중재 컨덕터를 구동시키는 우선 순위가 최고인 회로의 우선 순위값을 갖도록 조정되어 있다. 그래서, 각각의 장치는 중재 컨덕터상의 우선 순위값과 자신의 우선 순위값을 비교함으로써, 버스로의 액세스를 쟁탈하는 우선순위가 높은 장치가 있는지의 여부를 인식할 수 있다. 소정 중재 주기의 종료시에, ARB/
Figure kpo00002
) 컨덕터가 상태를 변경시킨다. 그 결과, 허가주기(grant period)가 시작되고 그 주기중에 중재 컨덕터상의 우선순위 값과 우선순위 값을 갖는 장치가 공통 자원의 제어권을 가져 버스 사이클을 시작한다.
또한, 상기의 관련 출원에서 설명된 바와같이, 시스템 자원에 대한 액세스권을 수취한 장치에 그 액세스를 종료시키기 위해 생성되는 우선 사용 신호 즉 PREEMPT 신호에 전용인 다른 컨덕터가 있다. 즉, 시스템 자원에 대한 액세스권을 수취하고 그 자원을 사용하고 있는 장치는 우선사용(PREEMPT)의 표명을 인식하면 시스템 자원의 사용을 종료시킬 필요가 있다. 이와 같이하여, 우선사용을 허가받은 장치가 공통자원의 사용을 종료하면 중재 수퍼바이저는 상술한 바와같이 새로운 중재 주기를 시작한다.
캐시 서브 시스템을 가진 마이크로 컴퓨터 시스템에서, 캐시를 액세스하는 (이에 따라서 시스템 버스로의 액세스를 필요로하지 않는) CPU사이클은 최소 지속의 사이클이거나 또는 제로 대기 상태 사이클이다. CPU사이클이 최소 지속 사이클을 초과할 때, 상기 사이클은 CPU가 시스템 버스를 필요로 함을 표시한다. 따라서, 최소 지속 사이클보다 긴 CPU사이클은 CPU가 공통 자원인 시스템 버스를 필요로 함을 표시한다.
본 발명에서, CPU에는 PREEMPT신호를 발생시키는 수단이 제공되는데, 이 PREEMPT신호는 중재 장치를 통해 시스템 버스에 대한 액세스를 확보한 어떠한 장치도 그 액세스를 종료시키게 한다. 후에 설명될 것이지만, CPU의 PREEMPT 발생은 캐시 어드레스에 필요한 사이클 지속시간보다 큰 CPU 사이클을 검출함으로써 제어된다.
그러나, CPU의 시스템 자원 사용은 가능한한 많은 시간을 유지하도록 조정된다. 구체적으로, 중재를 통해 버스로의 액세스를 획득했었던 장치가 우선사용(preempt)을 인식하여, 버스 액세스의 순차적인 종료를 시작할 때, 상기 장치는 버스의 사용 종료를 표시한다. 중재 수퍼바이저는 이 표시에 응답하여 새로운 중재 주기를 발생시킨다. CPU가 버스의 해제를 요구하기 위해 우선사용 신호권을 발생시킨 장치였다면, CPU는 버스 액세스를 위해 경합하는 다른 장치와는 다르게 중재 주기의 시작에 응답할 것이다. 중재 주기의 시작에서 버스로의 액세스를 위해 경합하는 다른 각각의 장치는 중재 컨덕터상에 그 우선 순위값을 입력시킨다. CPU는 이러한 프로세스에 전혀 참여하지 않는바, 중재 주기의 시작과 더불어, CPU는 실제로 버스 사용을 시작한다.
실제로 구성되어진 본 발명의 실시예에서, 최소 중재 주기는 300 나노세컨드이다. 그러나, 제로 대기 상태 버스 사이클은 300 나노세컨드보다 작다. 따라서, CPU가 우선사용을 주장하고, 그러므로써 시스템 버스로의 액세스를 획득할 때 마다, CPU는 실제로 중재 처리와 함께 동시에 사이클을 완료할 수 있다. 따라서, 본 발명은 중재 장치를 기초로하여 이전에 분배되었던 시스템 버스의 우선사용을 허락하는 수단을 CPU에 제공하고 있다. 또한, 본 발명에 따라, CPU가 그 우선사용 신호를 통해 시스템 버스로의 액세스를 획득할 때, CPU는 다른 장치가 버스의 액세스를 쟁탈하는 기간에 완료될 수 있는 버스 사이클을 개시할 수 있다.
따라서, 본 발명에 따른 한 실시예는 (a) CPU 로컬 버스에 의해 서로 접속되는 프로세서 및 캐시 서브 시스템과, (b) 시스템 버스에 의해 서로 접속되는 랜덤 액세스 메모리, 중재 수퍼바이저 및 할당된 상대적인 우선 순위값을 갖는 다수의 다른 기능 유니트와, (c) 상기 CPU 로컬 버스와 상기 시스템 버스를 결합하는 수단을 포함하되, (d) 상기 중재 수퍼바이저는 상기 다른 기능 유니트로부터의 서비스 요청에 응답하여, 상기 다른 기능 유니트중 하나에 의한 시스템 버스의 제어를 종결시킴과 아울러 상기 중재 사이클 각각의 종료시에 그들의 우선 순위값에 따라 각 중재 사이클의 종료시마다 요청 기능 유니트 하나가(one of the requesting functional units) 시스템 버스로의 액세스를 할 수 있도록 중재 사이클을 개시하며, (e) 상기 중재 수퍼바이저는 상기 다른 기능 유니트들중 그 어느것도 상기 시스템 버스로의 액세스를 갖지 못하거나 또는 요청하지 않을 때 프로세서에 시스템 버스로의 액세스를 허여하고, (f) 상기 중재 수퍼바이저에 접속되어, 상기 다른 기능 유니트들중 하나가 상기 시스템 버스의 제어권을 갖고 그리고 적어도 제2의 다른 기능 유니트가 서비스를 요청하는 동안 상기 시스템 버스로의 액세스를 요청하는 프로세서 신호에 응답하여, 상기 하나의 기능 유니트에 의한 상기 시스템 버스의 제어권을 종결시킴과 아울러 상기 중재 수퍼바이저로 하여금 상기 다른 기능유니트들을 위하여 중재 사이클을 개시하여, 이 사이클동안 어떠한 기능 유니트도 시스템 버스의 제어권을 가지지 못하도록 하는 논리 수단과, (g) 상기 중재 수퍼바이저에 접속되어, 어떠한 기능 유니트도 시스템 버스의 제어권을 가지지 못하는 사이클 동안에 작동하여 이 사이클 동안만 상기 프로세서가 시스템 버스에 액세스할 수 있도록 하고, 이 사이클이 종료시에 상기 제2의 다른 기능 유니트에 액세스를 허용하도록 상기 중재 수퍼바이저가 서비스 요청에 응답할 수 있게 하는 수단을 포함하는 것에 특징 있다.
제1도는 본 발명이 적용되는 전형적인 마이크로 컴퓨터 시스템을 도시한 것이다. 도시된 바와같이, 마이크로 컴퓨터 시스템(10)은 함께 상호 접속되는 많은 구성요소들을 포함하고 있다. 구체적으로, 시스템 유니트(30)는 모니터(20; 기존의 비디오 디스플레이와 같은 종류)에 접속되어 이를 구동시킨다. 또한 상기 시스템 유니트(30)는 키보드(40) 및 마우스(50)와 같은 입력 장치에 접속된다. 프린터(60)와 같은 출력 장치가 또한 시스템 유니트(30)에 접속 된다. 마지막으로, 시스템 유니트(30)는 디스크 드라이브(70)와 같은 하나 이상의 디스크 드라이브를 포함할 수 있다. 이후에 설명될 것이지만, 시스템 유니트(30)는 키보드(40) 및 마우스(50)와 같은 입력 장치와 디스크 드라이브(70)와 같은 입력/출력 장치에 응답하여, 모니터(20) 및 프린터(60)와 같은 출력 장치들을 구동하기 위한 신호들을 제공한다. 물론, 본 기술에 익숙한 사람은 다른 통상적인 구성요소 들을 시스템 유니트(30)에 접속시켜 상호 동작을 하도록 할 수 있음을 알수 있을 것이다. 본 발명에 따라, 마이크로 컴퓨터 시스템(10)은 캐시 메모리 서브 시스템을 포함하고 있어, 프로세서, 캐시 제어부와 그리고 버퍼를 통해 시스템 버스에 자체 결합된 캐시 메모리를 상호 접속시키는 CPU 로컬 버스가 존재한다(이에 대해서는 하기에 설명하기로 한다) 시스템 버스는 키보드(40), 마우스(50), 디스크 드라이브(70), 모니터(20) 및 프린터(60)같은 I/O 장치와 접속되어 상호 동작한다. 또한, 본 발명에 따라 시스템 유니트(30)는 시스템 버스와 다른 입력/출력 장치 사이를 상호 접속시키기 위한 마이크로 채널(TM) 구조를 포함하는 제3버스를 포함할 수 있다.
제2도는 본 발명에 따른 전형적인 마이크로 컴퓨터 시스템의 각종 구성요소들은 도시한 고레벨 블럭 다이어그램이다. CPU 로컬 버스(230; 데이터, 어드레스 및 제어 요소들을 포함)는 랜덤 액세스 캐시 메모리(235), 캐시 제어부(260; 82385 캐시 제어기를 포함할 수 있음) 및 마이크로 프로세서(225; 예를들면 80386)의 접속을 위해 제공된다. 또한 버퍼(240)가 CPU 로컬 버스(230)에 결합된다. 버퍼(240)는 어드레스, 데이터 및 제어 성분을 포함하고 있는 시스템 버스(250)에 접속 된다. 상기의 시스템 버스(250)는 버퍼(240)와 다른 버퍼(253)사이에서 연장된다. 시스템 버스(250)는 버스 제어 및 타이밍 소자(265)와 DMA제어기(325)에 접속된다. 중재 제어 버스(340)는 버스 제어 및 타이밍 소자(265)와 중재 수퍼바이저(335)를 결합시킨다. 주 기억장치(350)가 또한 시스템 버스(250)에 접속된다. 상기 주 기억장치는 메모리 제어소자(351), 어드레스 멀티플렉서(352) 및 데이터 버퍼(353)를 포함하고 있다. 이러한 소자들은 제2도에 도시된 바와같이 메모리 소자(361 내지 364)와 상호 접속된다.
다른 버퍼(267)는 시스템 버스(250)와 플래너버스(270)사이에 결합된다. 플래너 버스(270)는 어드레스 데이터 및 제어 요소들 각각 포함하고 있다. 각종 어댑터와 디스플레이 어댑터[275; 모니터(20)를 구동 시키기 위해 사용], 클럭(280), 추가의 랜덤 액세스 메모리(285), RS 232 어댑터(290; I/O 동작을 직렬로 하기 위해 사용) 프린터 어댑터(295; 프린터(60)를 구동시키기 위해 사용], 타이머(300), 디스켓 어댑터(305; 디스크 드라이브(70)와 함께 협동], 인터럽트 제어기(310)와 판독 전용 메모리(315)와 같은 다른 요소들이 플래너 버스(270)에 결합된다. 버퍼(253)는 마이크로-채널(TM) 소켓으로 표시된 마이크로-채널(TM) 버스(320)와 같은 임의 기능 버스와 시스템 버스(250)사이에 인터페이스를 제공한다. 메모리(331)와 같은 장치가 버스(320)에 결합될 수도 있다.
제8도 내지 제11도는 중재 장치를 설명함에 있어서 유용하다. 제8도와 관계하여, 중재 수퍼 바이저(335)와 로컬 중재기 유니트(336)사이의 관계 및 모든 로컬 중재기 유니트에 관해 설명하기로 한다. 일반적으로, 어떤 장치가 데이터를 전송하기 위해 시스템 버스(250)로의 액세스를 원할 때, 로컬 중재기 유니트(336)는 상기 중재기 유니트가 관련된 특별한 장치로부터 요청 신호를 수신하게 된다. 상기 요청 신호는 /PREEMPT 신호로 변환되는데, 이 요청 신호는 로컬 중재기에 의해 발생되어 중재 버스의 /PREEMPT 라인을 통해 중재 수퍼바이저(335) 및 로컬 중재기 각각에 전송된다. 본 발명의 특정한 실시예에서 주목해야할 점은 /PREEMPT 라인들이 함께 OR로 되어, 특별한 장치가 요청을 발생시키는 것은 중재 수퍼바이저(335)와 무관하게 된다는 것이다. 이러한 중재 수퍼바이저(335)는 하나 이상의 로컬 중재기(336)로 부터의 /PREEMPT 신호에 응답하여, 당업자에게 공지된 리프레시 제어기(refresh controller) (도시하지 않음)로 부터의 HLDA와 +REFRESH 메모리 신호에 의해서 결정된 바와같은 적절한 시간에 ARB/
Figure kpo00003
신호를 발생 시킨다. HLDA는 단일의 버스 시스템에서 중재 수퍼 바이저(335)와 CPU 사이에서 변경되었던 쌍 HLDA와 HRQ(또는 HOLD)중 한 신호이다. 이중 버스 시스템에서, 이러한 신호는 중재 수퍼바이저와 82385 사이에 놓인다.
그래서, 상기 장치중 하나의 장치가 시스템 버스(250)를 사용하기 위한 쟁탈을 원할 때, 상기 장치는 그에 대응하는 로컬 중재기(336)에 요청 신호를 발생시키고, 그후 중재 버스의 /PREEMPT 라인상에 /PREEMPT 신호를 발생시킨다. 그 뒤, 상기 버스를 이용할 수 있는 적절한 시간에, 재생 제어기로 부터의 +REFRESH와 HOLD 신호에 의해서 결정되는 바와같이, 상기 중재 수퍼바이저(335)는 중재 버스상의 ARB/
Figure kpo00004
신호의 +ARB 상태를 각각의 로컬 중재기(336)에 발생시킨다. +ARB 상태에 응답하여, 시스템 버스(250)로의 액세스를 원하는 각각의 로컬 중재기(336)는 중재 버스의 각각의 라인 ARB0-ARB3 우선순위 레벨을 드라이브한다. 시스템 버스로의 액세스를 원하는 각각의 로컬 중재기는 지정된 우선순위 레벨과 중재 버스상의 우선 순위 레벨을 서로 비교하여, 상기 지정된 우선순위 레벨이 중재 버스상으로 드라이브된 레벨보다 낮은 경우 버스 쟁탈을 취한다. 따라서, 중재 사이클의 종료시, 중재 사이클 동안 로컬 중재기들중 최고의 우선순위 레벨을 가진 바로 그 하나의 로컬 중재기만이 버스를 쟁탈하는 상태에 놓여, GRANT 상태가 ARB/
Figure kpo00005
라인상의 중재 수퍼바이저로 부터 버스의 제어를 획득하게 된다.
제9도와 제10도에는 중재 수퍼바이저(335)의 더욱 회로 설명이 도시되어 있다. 상기 중재 수퍼바이저(335)는 카운터(32 내지 34), OR게이트(35, 36, 39), NAND 게이트(37) 및 인버터(38)를 포함하고 있는 수정 존슨 링 타이밍 체인을 포함하고 있다. CPU(225)가 버스를 "소유(owing)"하지만 이 버스를 사용하지 않는 유휴 상태(idle condition)에서 버스가 시작을 행한다는 가정하에서 제11도의 타이밍도와 관계하여 회로 동작을 설명하기로 한다. 상기 상태에서 ARB/
Figure kpo00006
는 활동 상태가 낮아지며, 중재 우선순위 레벨 ARB0 내지 ARB3은 모두 1의 값을 가진다. 수정 존슨 링 타이밍 체인은 OR 게이트(36)와 NAND 게이트(37)를 통하여 +HLDA 신호에 의해서 리셋트된 상태로 유지된다. 어떤 장치가 버스로의 액세스를 필요로할 때, /PREEMPT신호는 활성화 된다.
제10도에 도시된 바와같이, 그 결과 /PREEMPT 신호가 활성 상태로 진행되면, 그 결과 게이트 출력은 정(positive)으로 되고 프로세서 유지 요청(+PROC HRQ) 신호가 나타난다. +ARBO 내지 +ARB3 신호와 +GRANT 신호는 CPU(225)가 다른 장치에 의한 버스 전송에 간섭하지 않도록 하기 위해 제10도의 OR게이트에 입력된다. +PROC HRQ 신호가 +HLDA를 비활성 상태로 하므로써, 리세트 신호(OR 게이트(36)로부터의 출력)가 카운터(30 내지 33)로부터 제거된다. 여기서 주의해야할 점은 제11도에 도시된 바와같이, 입력 -S0, -S1, -CMD 및 -BURST는 +HLDA가 상기 카운터(31 내지 34)로부터 리셋트 신호를 제거할 수 있도록 비활성 상태로 되어야만 한다는 것이다. -SO는 기록 사이클을 나타내고, 신호 -S1는 판독 사이클을 나타낸다. 신호 -CMD는 -S0 또는 -S1 이후의 특정 시간 주기에서 현재의 버스 마스터에 의해 발생된다. 신호 판독 사이클 동안에, 신호 -CMD는 버스상에 판독 데이터를 입력하도록 슬래이브 장치에 명령하고, 기록 사이클 동안에 신호 -CMD는 기록 데이터의 타당성 검사를 위해 활성화된다.
다음의 (20㎒) 클릭 펄스에서, +HLDA가 비활성화된 후, 카운터(31)의 출력은 세트되어 중재 타이밍 주기를 나타내는 OR 게이트(39)의 출력을 높은 레벨(+ARB)로 되게 한다. OR 게이트(39)의 출력은 카운터(34)의 출력이 높은 레벨로 된후 얼마동안 카운터(33)의 출력이 낮은 레벨로 될 때까지 높은 레벨 상태를 유지한다. 이렇게 해서 ARB/
Figure kpo00007
신호의 300 나노세컨드 타이밍 펄스가 확립된다. 카운터(34)로 부터의 출력은 -S0 또는 -S1를 활성화하므로써 상기 장치가 버스 사이클을 시작할 때 까지 셋트 상태를 유지한다. 그후 출력은 리셋트되고, 카운터(31 내지 34)는 현재 버스 사이클의 종료시에 다시 타이밍을 시작하기 위한 준비에 들어가게 된다. 만약 어떠한 장치도 버스 서비스를 요청하지 않는 경우, 상기의 버스는 유휴 상태로 되돌아가고, 제어권은 프로세서로 되돌아간다. HLDA는 재활성화되고, 버스는 이제 프로세서 동작에 이용가능한 상태가 된다.
제3도는 마이크로 프로세서(225)와 같은 80386 CPU와 중재 수퍼바이저(335) 사이에서의 상호 접속을 도시한 것이다. 중재 수퍼바이저의 오른쪽에 접속된 입력/출력 신호는 서두에 언급한 참조 출원에서 설명되고 있다. 구체적으로, 출력 신호 ARB/
Figure kpo00008
는 중재 장치가 중재 상태(이 상태에서, 시스템 자원으로의 액세스를 쟁탈하는 장치들이 중재 컨덕터에 그것의 우선순위 레벨을 입력시킨다.) 또는 허가 위상(여기서, 공통 자원으로의 액세스를 획득하는 장치가 액세스를 쟁탈할 수 있는 다른 장치들의 배제를 위해 상기 자원을 이용할 수 있다)에 있는지의 여부를 규정하는 신호 이다. 중재 수퍼바이저(335)로의 다른 입력 신호는 이미 설명한 PREEMPT 신호이다. 마지막으로, ARB[0-3]으로 나타낸 중재 수퍼바이저(335)로의 입력은 중재 컨덕터으로서, 중재 위상 동안에 그들 자체의 우선 순위 레벨로 액세스를 쟁탈하는 장치들에 의해서 드라이브 된다. 중재 수퍼바이저(335) 왼쪽 입력/출력 접속은 전형적인 단일 버스 마이크로 컴퓨터 시스템에서 80386과의 상호 접속을 나타낸다. 신호 HLDA와 HRQ(종종 HOLD로 언급됨)는 핸드 세이킹 메카니즘(handshaking mechanisms)으로서 이것에 의해 중재 수퍼바이저(335)는 80386(HRQ)의 배제를 위해 시스템 자원으로의 액세스를 분배시킬 수 있다. 단일 버스 마이크로 컴퓨터 시스템에서, CPU는 그 자체적으로는 우선 사용을 행할 수 없는 바, 이는 CPU가 버스트(burst)를 허락받는 장치에 의해서 공통 자원으로부터 차단되게끔 하는 바람직하지 못한 가능성을 증대시킨다.
제4도는 80386 CPU와 80385 캐시 제어기를 이용하는 이중 버스 마이크로 컴퓨터 시스템에서, 선택된 상호 접속을 도시한 블럭도이다. 제4의 중재 수퍼바이저(335)의 오른쪽 측면상의 입력/출력 접속은 제3도와 동일하므로 이에 대한 설명은 생략하기로 한다. 제4도에서 중요한 점은 중재 수퍼바이저(335)의 감시가 이제 82385 캐시 제어기에 의해서 실시된다는 것으로써, 그 이유는 82385 캐시 제어기는 HRQ와 HLDA 신호가 접속되는 소자이기 때문이다. 다른 장치가 없는 경우, 80386 CPU는 공통 자원의 사용을 동결시킬 수 있다. 본 발명은 공통 수단에 액세스된 다른 장치에 영향을 주지 않고 광범위하게 상기 동작을 수행하는 다른 장치를 제공한다.
제5도와 제6도는 CPREEMPT 신호와 이것의 선행 신호 CPUREQ 신호가 발생되는 방법을 도시한 것이다.
먼저 제6도에 관하여, 논리는 캐시 제어(260)의 부분으로 고려될 수 있다. 이 논리는 버퍼(240)제어부로의 제어 신호 입력으로 고려될 수 있는 신호 CPUREQ를 발생시키도록 제공된다. 제어 신호 CPUREQ는 /BUSYCYC 386, READYI, CLK, RESET와 /(/M/IO & A31)을 포함하고 있는 좌측에 도시된 입력단으로부터 생성된다. 상기 신호중 맨뒤의 신호는 코프로세서(coprocessor)로의 디코드 어드레스이다. 신호 BUSYCYC 386, READYI 및 /(M/IO & A31)는 활성 레벨이 낮은 신호로써, 예컨대 플립-플롭(601)이 셋트(D입력에서 고입력을 통하여) 될 때, 그 출력은 높은 레벨이 되고 CPUREQ 신호는 낮은 레벨이 된다. 플립-플롭(601) 이외에, 제6도의 논리는 OR(602)를 포함하고 있으며, 또한 3개의 AND 게이트(603 내지 605)와 3개의 인버터(606-608)를 포함하고 있다.
실질적으로, AND 게이트(603)로의 입력은 제로 대기 상태를 초월하여 확장하나 코프로세서로의 전용 사이클이 아닌 80386 사이클을 검출한다. 이 조건이 검출되면, 플립-플롭(601)은 셋트되며 상기 조건이 종료될때인 클럭 타입(CLK2)에서만 리셋트될 수 있다. 게이트(604, 605)는 CLK가 높은 레벨에 있고, READYI가 낮은 레벨(활성 상태)에 있을 때, 플립-플롭(601)을 리셋트시키도록 제공된다. 이 조건은 CPU 버스 사이클이 완료될 때 발생한다. 제로 대기 상태를 초월하여 확장하는 (그리고 코프로세서 전용 사이클이 아닌) CPU 로컬 버스 사이클을 시스템 버스로의 액세스를 필요로 하는 사이클이다. 따라서, 이러한 환경하에서 상기 CPUREQ는 활성 즉, 낮은 레벨 상태로 된다. 이러한 신호의 효과가 제5도에 도시되어 있다.
제5도는 시스템 버스(250)와 관련된 논리를 도시한 것이다. 제5도에 도시된 바와같이, 버퍼(240)의 제어 요소는 출력 CPUREQ(제6도에 도시된 바와같은 신호에 의해서 드라이브됨)을 가지고 있다. 상기 CPUREQ는 게이트(501)로의 하나의 입력이며, 게이트(501)의 출력/CPREEMPT은 실제로 80386에 의해서 발생되는 우선 사용 신호이다. 제5도에서 볼 수 있는 바와 같이 신호 /CPREEMPT는 중재 수퍼바이저(335; 제3도 또는 제4도 참조)로의 입력중 하나의 입력인 PREEMPT 컨덕터에 결합된다. 신호 /CPREEMPT는 게이트(501 내지 503)를 포함하고 있는 제5도에 도시된 논리에 의해서 발생된다. 게이트(501)로의 제2입력은 게이트(503)의 출력이고, 상기 게이트의 입력중 하나의 입력은 ARB/
Figure kpo00009
신호[중재 수퍼바이저(335)의 출력과 동일]이다. 그리고, 게이트(505)의 입력중 또 다른 입력은 ENCPUPREEMPT이다. ENCPUPREEMPT는 80386의 출력이다. 비활성 상태일때, 이 신호는 /CPREEMPT가 활성 상태로 되는 것을 금지시킨다. 그래서, ENCPUPREEMPT가 비활성 상태일 때, 80386은 우선 사용할 수 없다. ENCPUPREEMPT는 소프트웨어 및 다른 시스템 장치의 요건에 따라, 소프트웨어 스위치 또는 유져 설정 가능 스위치에 의해서 제어될 수 있다. 통상의 상황에서, ENCPUPREEMPT는 활성 상태로 되어, 80386은 우선 사용을 행할 수 있다. ARB/
Figure kpo00010
가 중재 처리는 허가 위상에(그리고 ENCPUPREEMPT가 활성 상태에)있음을 나타내면, 게이트(503)의 출력은 활성 상태로 된다. 활성 CPUREQ에 따른 게이트(503)이 활성 출력은 활성 /CPREEMPT를 생성시키게 된다. 게이트(503)는 중재 위상동안 활성 /CPREEMPT의 발생을 억제시키며, 중재처리의 허락 위상동안에만 활성 허용한다. 게이트(502)는 중재 컨덕터의 상태를 모니터하는데 사용되며, 만일 모든 컨덕터들이 높은 레벨(활성 상태)에 높여 다른 장치들이 버스에 대한 중재를 행하지 못하는, 예컨대 CPU가 공통자원을 소유함을 표시하는 경우 활성 /CPREEMPT의 생성을 저지한다.
따라서, 제5도와 제6도에 도시된 논리에 의해서, 코프로세서로의 전용 사이클이 아니며 최소 지속시간(제로 대기 상태)을 초월하여 확장하는 CPU 로컬 버스상의 사이클동안, CPU는 우선 사용을 행할 수 있고, 그리고 만약 중재 메카니즘이 허가 위상에 있으면 우선 사용을 행할 것이다. 이러한 우선 사용의 효과에 대해 제7a도 내지 제7e도와 연관시켜 설명하기로 한다.
제7a도 내지 제7e도는 서두에 언급한 시리얼 넘버 제30786호의 제4도와 유사하며; 1) 버스트 장치가 시스템 버스를 사용하는것(A-D), 2) PREEMPT 신호를 사용하여 통상의 장치가 그러한 장치를 우선 사용하는 것(B-H), 3) /CPREEMPT 신호를 사용하여 CPU가 버스를 획득하는 것(K-O), 4) CPU가 버스를 사용하는 것과 동시에 다른 장치에 의한 버스의 사용에 대한 중재를 행하는 것(M)에 대해 설명하고 있다.
특별히, 설명을 위해 버스트 모드 장치가 제7d도 (A)에 도시된 바와 같은 시스템 버스의 제어를 획득함을 가정하기로 한다. 시스템 버스를 따라 다른 장치가 PREEMPT를 표명할때(B), 현재 제어하에 있는 버스트 장치는 제7c도 (C)에 도시된 바와 같이 현재의 전송을 완료한다. 현재의 전송이 완료되면, 시스템 버스의 제어를 철회하는 버스트 장치는 제7d도의 (D)에 도시된 바와 같이 버스트 라인으로부터 그것의 버스트 신호를 제거한다. 이 버스트 장치는 다음의 중재 사이클에 참여하지 않는다. 그후 중재 수퍼바이저(335)는 ARB/
Figure kpo00011
를 ARB 상태에 놓는다(제7a도 (E) 같은 천이는 다른 중재 사이클의 시작을 나타내며, 시스템 버스의 중재가 제7b도의 (F)에서 시작된다. ARB/
Figure kpo00012
신호가 낮은 레벨로 된 후, 시스템 버스의 제어가 제7a도의 (G)에 도시된 바와 같이 새로운 장치에 허여된다. 시스템 버스의 제어를 획득한 새로운 장치는 그후 제 7e도의 (H)에 도시된 바와 같이 GRANT 신호에 응답하여 PREEMPT 신호를 제거한다.
얼마후에, 제7a도 내지 제7e도의 예에서 CPU 로컬버스(230)에 반영되는 조건을 기초로하여 CPU는 PREEMPT(제7e도의 (K)에 반영되는 /CPREEMPT를 표명한다. 그 결과, 이미 설명된 바와 같이, 새로운 중재 사이클이 제7a도의 (L)처럼 시작된다. 제7a도에 도시된 바와 같이, 중재 사이클(L-O)로부터 연장된다. 이러한 중재 사이클 동안에, CPU는 실제로 시스템 버스를 이용하며, 그러한 사이클의 시작에서 상기 CPU는 PREEMPT신호(제7e도의 (N)의 표명을 철회한다. CPU가 시스템 버스를 사용하는 동안에, 시스템 버스로의 액세스를 쟁탈하는 다른 장치는 제7b도의 (M)에서 시작하는 그 자원을 중재시킨다. CPU 사이클의 종료시에, CPU가 시스템 버스의 사용을 완료했을때(O), 새로운 중재가 완료되고, 그 바로 직후 일부의 다른 장치 시스템 버스로의 액세스를 쟁탈하는 장치가 있는 경우 제7a도의 (O)에서 시작하는 기간에 그 자원을 이용할 수 있다.
/CPREEMPT 신호는 CPU 버스 사이클이 소정의 지속기간(예를들어, 제로 대기 상태를 초과)을 초월하여 확장할때만 활성 상태가 된다. 중재 위상(ARB/
Figure kpo00013
가 높은 레벨인 상태)동안에, CPU 캐시 제어부(260)는 수퍼바이저(335)가 HRQ를 낮은 레벨로 강하시키는 유지 상태로부터 해방되어 1개 또는 그 이상의 사이클을 실행시키는 것을 허락받는다.
우선 사용 메카니즘의 사용으로 시스템 버스의 이용을 허가받은 CPU 사이클의 완료는 READYI가 활성 상태에 있고 CLK가 높은 레벨에 있을 때 검출된다. 제6도의 논리에 의해, 이러한 조건하에서, 플립-플롭(601)은 리셋트되고, CPUREQ는 비활성 상태로 된다.
위에서 언급된 논리식은 바로 아래와 같이 재생되며, 이 식에서 기호는 아래와 같은 의미를 갖는다.
Figure kpo00014
Figure kpo00015
상기 논리식에서, 다음의 신호는 서두에 인용된 Intel 출판물에서 설명 또는 언급된다 :
ADS
BADA
BRDYEN
BREADY
(BW/R) 실제로는 BW/R로서 일컬어지며, 무괄호는 항전체가 하나의 신호임을 나타내기 위해 사용됨.
CLK
READYO
RESET
WBS
(W/R) 실제로는 W/R로 일컬어지며, 무괄호는 항전체가 하나의 단일 신호임을 나타내기 위해 사용됨.
ADS는 활성 상태일 때 CPU 로컬 버스(230)상의 유효 어드레스를 나타낸다. BADS는 활성 상태일 때 시스템 버스(250) 상의 유효 어드레스를 나타낸다. BRDYEN은 READY 신호에 선행하는 82385의 출력이다. BREADY는 시스템 버스(250)로부터 CPU 로컬 버스(230)로의 동작 가능 신호이다. BW/R은 시스템 버스(250)의 판독 또는 기록을 정의한다. CLK는 프로세서(225)와 동위상에 있는 프로세서 클럭 신호이다. READYO는 동작가능 신호의 라인에 있는 82385의 다른 버퍼의 상태를 나타내고, (W/R)은 CPU 로컬 버스(230)에 대한 통상의 기록 또는 판독 신호이다.
이하의 신호는 식(1)-(11)에서 정의된다.
BREADY385
BT2
BUFWREND
BUSCYC835
BUSCYC386
CPUNA
LEAB
MISSI
PIEECYC385
PIPECYC386
CPUREADY
정의된 신호에 관하여, 신호 NCA, NACACHE, READY0387 및 RDY387PAL은 서두에 인용된 Intel 출판물에 설명 또는 언급되어 있다.
BREADY385는 BREADY와 같은 신호로써 실제로 구성된 실시예에서는 64K 캐시를 수용하도록 수정된다. 32K 캐시(제조자에 의해 권고됨)의 경우에서, BREADY는 BREADY385를 대신하여 사용될 수 있다.
BT2는 시스템 버스(250)의 상태를 반영한다. 상기의 상태 BT2는 인용된 Intel 출판물에서 정의된 상태이다.
BUFWREND는 버퍼 기록 사이클(a buffered write cycle)의 종료를 나타낸다.
또한, BUSCYC385는 시스템 버스(250)의 상태를 반영한다. 이는 버스 상태 BT1, BT1, BT1P에 대해 높은 레벨이고, 버스 상태 BT2, BT2P, BT2I에 대해서는 낮은 레벨이다(이들은 상기 인용된 Intel 출판물에 언급된 버스 상태이다).
BUSCYC386은 CPU 로컬 버스(230)의 상태 T1, T1, T1P, T2I에서는 높은 레벨이고, T2 동안에는 낮은 레벨이다. 또한, T2I가 최초에 발생되지 않은 경우 T2P에 대해서는 낮은 레벨이다.
CPUNA는 80386 파이프 라인식 동작을 허여하는 신호이다.
LEAB는 포스트된 기록(posted write)에 대한 (버퍼(240)로의) 래치 인에이블 신호이다.
MISSI는 캐시가능 장치로의 64비트 판독을 다루기 위한 이중 사이클에서 최초 사이클을 정의하는 신호이다.
PIPECYC385는 BT1P(인용된 Intel 출판물에서 언급된 버스상태) 동안에 활성 상태에 놓인다.
PIPECYC386은 CPU 로컬 버스(230)의 상태 T1P 동안에 낮은 레벨 상태가 된다.
CPUREADY는 80386으로의 가능 입력이다.
NCA는 CPU 로컬 버스(230)상의 어드레스 구성 요소를 디코드시킴으로써 생성되는 신호로서 활성 상태시, 캐시 불능 액세스를 반영한다. 캐시 가능성 여부는 태그(tag) 구성요소(A31 내지 A17)와 그리고 어떤 태그가 캐시 불능 어드레스와 반대인 캐시 가능 어드레스를 표시하는가를 정의하는 프로그램 가능 정보로 결정된다.
NACACHE는 BNA 신호와 유사한 신호이다. BNA는 CPU 로컬 버스(230)로부터 다음의 어드레스를 요청하는 시스템 발생신호로써, 인용된 Intel 출판물에 언급되어 있다. BNA가 32K 캐시용으로 생성되는데 반해 NACACHE는 64K 캐시용으로 생성된다는 점에서 볼 때 NACACHE는 BNA와는 다르다. Intel 출판물에 기재된 바와 같이, 캐시 메모리가 32K인 경우, 본 발명에서 언급된 NACACHE 신호는 BNA 신호로 대체될 수 있다.
READY0387은 수치연산 코프로세서의 동작 가능 출력이다.
BDY387PAL은 80387 수치연산 코프로세서가 설치되지 않은 경우에 이용되는 외부 논리의 출력으로써 수치연산 코프로세서의 부재시 시스템 동작이 방해받는 것을 방지해준다.
본 발명을 활용함으로써, 80386은 프로세서와 82385 캐시 제어기를 이용하는 이중 버스 마이크로 컴퓨터 시스템에서, 프로세서는 특정한 환경하에서 시스템 버스의 우선 사용을 조건적으로 허여받을 수 있음이 분명하다. 특히, 소정 지속 기간을 초월하여 확장하는 로컬 버스 사이클 동안에, 프로세서는 다른 유져가 자원으로의 액세스를 쟁탈하고 우선 사용 옵션이 사용가능(ENCPUPREEMDT)하게 되는 조건에서 /CPREEMPT를 표명할 수 있다. 그러나, (중재 수퍼바이저에 의해 프로세서에 신호되는 바와 같이) 우선 사용이 유효하게 될 때 2개의 현상이 동시에 발생한다. 제1현상은 프로세서가 시스템 버스를 액세스하는 것이다. 이러한 액세스를 어떤 다른 잠재적인 버스 유져에 간섭하지 않는데, 그 이유는 프로세서의 액세스 주기 동안에, 다른 경합 유져가 중재 위상에 있기 때문이다. 그래서, 프로세서에 의한 시스템 버스로의 액세스와 동시적으로 유져는 프로세서가 버스를 사용한 후에 허가 위상으로의 액세스에 대해 중재를 행할 수 있다. 따라서, 본 발명을 이용함으로써, 프로세서는 다른 유져 장치들이 동시에 버스로의 액세스를 쟁탈하는 경우에도 시스템 버스를 사용하도록 허여받는다. (다른 장치에 의해서 개시된)중재 위상과 프로세서의 버스 이용을 중복시킴으로써 버스 이용도 및 효율이 증대된다.
지금까지 본 발명의 특별한 실시예를 설명하였지만은 본 발명은 그러한 특정예로만 국한되지 않고 또한 본 명세서에 첨부된 청구범위에 따라 그 범위가 정해져야만 한다.

Claims (5)

  1. 다중 버스 마이크로 컴퓨터 시스템에 있어서, (a) CPU 로컬 버스에 의해 서로 접속되는 프로세서 및 캐시 서브 시스템과 (b) 시스템 버스에 의해 서로 접속되는 랜덤 액세스 메모리, 중재 수퍼바이저 및 할당된 상대적인 우선 순위값을 갖는 다수의 기능 유니트와, (c) 상기 CPU 로컬 버스와 상기 시스템 버스를 결합하는 수단을 포함하되, (d) 상기 중재 수퍼바이저는 상기 다른 기능 유니트로부터의 서비스 요청에 응답하여, 상기 다른 기능 유니트중 하나에 의한 시스템 버스의 제어를 종결시킴과 아울러 그들의 우선 순위값에 따라 각 중재 사이클의 종료시마다 요청 기능 유니트중 하나(one of the requesting functional units)가 시스템 버스로의 액세스를 할 수 있도록 중재 사이클을 개시하며, (e) 상기 중재 수퍼바이저는 상기 다른 기능 유니트들중 그 어느것도 상기 시스템 버스로의 액세스를 갖지 못하거나 또는 요청하지 않을때 프로세서에 시스템 버스로의 액세스를 허여하고, (f) 상기 중재 수퍼바이저에 접속되어, 상기 다른 기능 유니트들중 하나가 상기 시스템 버스의 제어권을 갖고 그리고 적어도 제2의 다른 기능 유니트가 서비스를 요청하는 동안 상기 시스템 버스로의 액세스를 요청항는 프로세서 신호에 응답하여, 상기 하나의 기능 유니트에 의한 상기 시스템 버스의 제어권을 종결시킴과 아울러 상기 중재 수퍼바이저로 하여금 상기 다른 기능 유니트들을 위하여 중재 사이클을 개시하며, 이 사이클동안 어떠한 기능 유니트도 시스템 버스의 제어권을 가지지 못하도록 하는 논리 수단과, (g) 상기 중재 수퍼바이저에 접속되어, 어떠한 기능 유니트도 시스템 버스의 제어권을 가지지 못하는 사이클 동안에 작동하여 이 사이클 동안만 상기 프로세서가 시스템 버스에 액세스할 수 있도록 하고, 이 사이클이 종료시에 상기 제2의 다른 기능 유니트에 액세스를 허용하도록 상기 중재 수퍼바이저가 서비스 요청에 응답할 수 있게 하는 수단을 포함하는 것에 특징이 있는 다중 버스 마이크로 컴퓨터 시스템.
  2. 다중 버스 마이크로 컴퓨터 시스템에 있어서, 시스템 버스에 서로 접속되어 이 시스템 버스의 제어권을 공유하는 프로세서 및 다수의 다른 기능 유니트와, 상기 시스템 버스에 접속되며, 중재 시간 주기의 종료시 각각의 기능 유니트에 할당된 상대적인 우선 순위 레벨에 따라 상기 다른 기능 유니트둘중 하나에 의해 행해질 시스템 버스로의 액세스를 중재 시간 주기동안에 미리 결정하는 중재 수단을 포함하며, 상기 중재 수단은 다른 기능 유니트의 액세스 요청이 없어 상기 시스템 버스를 제어하지 못할 경우 상기 시스템 버스로의 액세스를 상기 프로세서에 부여하며, 상기 중재 수단에 접속되며, 상기 다른 기능 유니트중 하나가 상기 시스템 버스를 제어하고 그리고 적어도 제2의 다른 기능 유닛이 서비스 요청을 갖는 동안 상기 시스템 버스로의 프로세서의 액세스 요청에 응답하여, 상기 시스템 버스의 제어 종결을 시작하는 논리 수단을 포함하고, 상기 중재 수단은 상기 종결하에서, 상기 중재 시간 주기동안 기능 유니트가 시스템 버스의 제어권을 갖지 못하는 경우 상기 중재 시간 주기의 종료시 상기 다른 기능 유니트들중 하나로 상기 시스템 버스의 제어를 위한 중재 시간 주기가 시작되도록 하며, 상기 중재 수단에 응답하여 상기 어떠한 유니트도 시스템 버스의 사이클을 갖지 못하는 중재 시간 주기동안에는 프로세서에 상기 시스템 버스로의 액세스를 허여하고 상기 중재 시간 주기의 종료에서는 다른 기능 유니트에 시스템 버스로의 액세스를 허여하는 허여 수단을 포함하는 것에 특징이 있는 다중 버스 마이크로 컴퓨터 시스템.
  3. 제8항에 있어서, 상기 논리 수단에 접속되며, 상기 논리 수단으로 하여금 프로세서의 시스템 버스로의 액세스 요청에 응답하여 작동하도록 하거나 또는 작동하지 못하도록 하는 프로그램 제어 수단을 추가로 포함하는 것에 특징이 있는 다중버스 마이크로 컴퓨터 시스템.
  4. 다중 버스 마이크로 컴퓨터 시스템에 있어서, 프로세서 로컬 버스에 접속되는 프로세서와, 상기 프로세서 로컬 버스에 접속되는 시스템 버스와, 상기 시스템 버스의 제어권을 공유하며, 상기 시스템 버스에 접속되는 다수의 기능 유니트와, 프로세서의 상기 시스템으로의 신호 요청 액세스에 응답하여, -이때 상기 기능 유니트중 제1유니트는 상기 시스템 버스의 제어권을 갖고 그리고 상기 기능 유니트는 서비스 요청을 기다린다- 상기 제1기능 유니트에 의한 시스템 버스의 상기 제어의 종결을 시작하고 이어서 어떠한 기능 유니트도 시스템 버스의 제어권을 갖지 못하는 중재 사이클을 시작하는 중재 수퍼바이저를 포함하며, 상기 중재 수퍼바이저는 상기 중재 사이클 동안에 작동하여, 상기 중재 사이클 동안 프로세서에 상기 시스템 버스로의 액세스를 허여함과 동시에 상기 제2기능 유니트들의 상대적인 우선 순위값을 결정하며, 상기 중재 수퍼바이저는 상기 중재 사이클의 종결시에 작동하여 상기 제2기능 유니트들의 우선 순위값에 따라 상기 제2기능 유니트들중 한 유니트에 시스템 버스로의 액세스를 허여하는 것에 특징이 있는 다중버스 마이크로 컴퓨터 시스템.
  5. 데이터 처리 장치에 있어서, 로컬 버스를 갖는 프로세서와, 시스템 버스 및 이 시스템 버스를 로컬 버스에 접속하는 수단과, 상기 시스템 버스에 접속되는 메모리를 포함하고, 상기 시스템 버스는 프로세서 및 입/출력 데이터 전송을 상기 메모리에 루팅하며, 상기 시스템 버스의 이용을 제어하는 중재 수퍼바이저를 포함하며, 상기 중재 수퍼바이저는 현재의 입/출력 데이터 전송동안 -이때 상기 시스템 버스로의 액세스를 위한 적어도 하나의 입/출력 요청을 기다린다- 프로세서의 상기 시스템으로의 신호 요청 액세스에 응답하여, 상기 현재의 입/출력 데이터 전송의 종결을 시작하고 이어서 어떠한 기능 유니트도 시스템 버스의 제어권을 갖지 못하는 중재 사이클을 시작하며, 상기 중재 수퍼바이저는 상기 중재 주기동안 작동하여 상기 중재 사이클동안 프로세스 또는 데이터 전송을 위해 프로세서에 상기 시스템 버스로의 액세스를 허여함과 동시에 입력/출력 요청을 기다리는 상대적인 우선 순위를 결정하며, 상기 중재 수퍼바이저는 상기 중재 사이클의 종결시에 작동하여 상기 입/출력 요청의 우선 순위에 따라 입/출력 데이터 전송을 위해 상기 시스템 버스로의 액세스를 허여하는 것에 특징이 있는 데이터 처리장치.
KR1019890005471A 1988-05-26 1989-04-26 다중 버스 마이크로 컴퓨터 시스템 KR930001586B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US19886588A 1988-05-26 1988-05-26
US198865 1988-05-26
US198,895 1988-05-26

Publications (2)

Publication Number Publication Date
KR890017620A KR890017620A (ko) 1989-12-16
KR930001586B1 true KR930001586B1 (ko) 1993-03-05

Family

ID=67777006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890005471A KR930001586B1 (ko) 1988-05-26 1989-04-26 다중 버스 마이크로 컴퓨터 시스템

Country Status (1)

Country Link
KR (1) KR930001586B1 (ko)

Also Published As

Publication number Publication date
KR890017620A (ko) 1989-12-16

Similar Documents

Publication Publication Date Title
US5129090A (en) System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
US5603050A (en) Direct memory access controller having programmable timing
US5581782A (en) Computer system with distributed bus arbitration scheme for symmetric and priority agents
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US5598542A (en) Method and apparatus for bus arbitration in a multiple bus information handling system using time slot assignment values
KR100932359B1 (ko) 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템
JPH0467224B2 (ko)
EP0730234A2 (en) Bus master arbitration circuitry having multiple arbiters
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
JP3583183B2 (ja) データ処理装置
US5625824A (en) Circuit for selectively preventing a microprocessor from posting write cycles
US20020019899A1 (en) Method of bus priority arbitration
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JPH0683763A (ja) 中央アービタをスレーブアービタに変換する方法およびシステム
CN116028413A (zh) 一种总线仲裁器、总线仲裁的方法、装置及介质
US5455912A (en) High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus
US5931931A (en) Method for bus arbitration in a multiprocessor system
US5737545A (en) Computer bus mastery system and method having a lock mechanism
KR930001586B1 (ko) 다중 버스 마이크로 컴퓨터 시스템
US5708783A (en) Data bus arbiter for pipelined transactions on a split bus
US5241628A (en) Method wherein source arbitrates for bus using arbitration number of destination
US5815676A (en) Address bus arbiter for pipelined transactions on a split bus
KR100451789B1 (ko) 자원 공유를 위한 프로세서 중재장치 및 중재방법
US5799160A (en) Circuit and method for controlling bus arbitration

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 19980226

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee