KR940005346B1 - 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템 및 방법 - Google Patents

연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템 및 방법 Download PDF

Info

Publication number
KR940005346B1
KR940005346B1 KR1019900018084A KR900018084A KR940005346B1 KR 940005346 B1 KR940005346 B1 KR 940005346B1 KR 1019900018084 A KR1019900018084 A KR 1019900018084A KR 900018084 A KR900018084 A KR 900018084A KR 940005346 B1 KR940005346 B1 KR 940005346B1
Authority
KR
South Korea
Prior art keywords
read
signal
timing
peripheral device
write
Prior art date
Application number
KR1019900018084A
Other languages
English (en)
Other versions
KR910010302A (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 KR910010302A publication Critical patent/KR910010302A/ko
Application granted granted Critical
Publication of KR940005346B1 publication Critical patent/KR940005346B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Communication Control (AREA)

Abstract

내용 없음.

Description

연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템 및 방법
제1도는 본 발명을 포함하는 컴퓨터 시스템의 비디오 보조시스템의 블럭도.
제2a도 및 2b도는 제1도에 도시된 비디오 보조시스템의 두 주요 소자인 비디오 인터페이스 및 비디오 디지탈-아날로그 변환기(DAC)의 블럭도.
제3a도 내지 제3e도는 비디오 DAC에서 칼라 데이타를 기록 또는 판독하기 위한 명령내의 연속적인 판독/기록 스트로브(read/write strobe)신호 사이의 타이밍 관계를 나타내는 타이밍도.
제4a도 내지 4c도는 본 발명에 따른 비디오 보조시스템과, 제어 마이크로프로세서 형태로써의 중앙처리장치 사이 전송 싸이클중 세개의 가능한 시퀀스(three possible sequences of transfer cycles)를 도시하는 개략적인 타이밍도.
제5도는 본 발명에 관련하여 MPU에 의해 사용된 마이크로프로그래밍을 나타내는 흐름도.
제6도는 양호한 실시예에 따라서 본 발명을 실행하는 제2a도의 비디오 인터페이스에 포함된 인터페이스(interface)의 회로도.
제7도는 CPU와 비디오 보조시스템 사이의 두 연속적인 전송 싸이클동안 제6도의 회로에서 여러가지의 주요 입력 및 출력선의 상태를 나타내는 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
11 : 비디오 인터페이스 13 : 비트 맵 메모리
15 : 비디오 디지탈-아날로그 변환기 19 : 마이크로프로세서
49 : MPU 인터페이스 51 : 8-비트 어드레스 버스
61 : CRT 제어기 68 : 어드레스 디코더
[기술 분야]
본 발명은 컴퓨터 시스템의 설계에 관한 것으로, 특히, 입력/출력 및 메모리 장치 같은 주변 장치와 중앙처리 장치의 인터페이싱에 관한 것이다.
[배경]
일반적으로 컴퓨터 시스템에서, 마이크로프로세서(MPU)같은 중앙 처리 장치와 주변 장치 사이의 통신은 데이타 전송 싸이클과 연관해서 이루어진다. MPU와 주변 장치를 인터페이스 할때, 타이밍은 중요한 사항이다. 두 주요 타이밍 매개변수로서는, 판독 및 기록 억세스 시간(read and write access times)이 있다. 이 억세스 시간은 내부 어드레스 디코더가 메모리에서 찾고자하는 정확한 데이타 바이트를 찾아내는데 필요한 시간이다. 이러한 억세스 시간을 수용하기 위하여(To accommodate these access times), 정상 전송 싸이클(the nominal transfer cycle)의 대기 상태부(wait states part)를 만드는 것은 공지되었다. 또한, MPU 및 주변 장치사이의 핸드셰이크 프로토콜(handshake protocol)은 특정 주변 장치가 전송 싸이클에서 이용할 수 있는 억세스 시간을 갖는 것을 보장하기 위해서, 전송 싸이클내에 추가의 대기 상태(additional wait states)를 삽입하는데 널리 사용된다. 이러한 목적을 위해, 대부분의 MPU는 불활성화상태일 때 연속상태들(consecutive states)의 소정의 최대수까지 전송 싸이클에 대기상태를 부가하도록 작용하는 레디 입력(READY input)을 포함한다.
물론, 다른 타이밍 매개변수들도 전송 싸이클 동안 MPU 및 주변 장치 사이의 데이타 전송에 관련되어있다. 그러나, 옛날부터 이러한 다른 타이밍 매개변수들은, 대부분 특별한 고려대상은 되지 못해왔다. 왜냐하면 상기 매개변수는 전송 싸이클의 정상시간 주기와 동일한 크기가 아니였기 때문이다. 그러므로, 이러한 매개변수를 위반하는 것을 방지하는데 특정한 예방책은 필요하지 않았다.
그러나, 주변 장치가, 전송 싸이클과 동일한 크기의 타이밍 매개변수를 갖는 특별한 상황들이 존재한다. 예를들면, IBM 퍼스널 시스템/2 모델 50, 60 또는 80의 비디오 보조시스템에서 디지탈-아날로그 변환기(DAC)는, 디지탈-아날로그 변환 전에 8비트 픽셀(그림요소)값이 6비트 적, 청 및 녹성분으로 변환되도록 하며, 256K개의 가능한 칼라중에서 최대 256칼라까지 표시되는 것을 허용하는 칼라 조사 테이블(color look up-table ; CLUT)을 포함한다. CLUT는 임의의 입력/출력(I/O) 어드레스로 기록 및 판독 명령을 수행함으로써 MPU에서 기록 및 MPU로부터 판독될 수 있다. 비디오 DAC의 타이밍 매개변수중 하나는, 이전의 판독 또는 기록 스트로브(a previous read or write strobe)의 트레일링 에지(trailing edge)가 있은후 너무 빨리 다음 판독 또는 기록 스트로브의 리딩 에지(leading edge)가 발생하는 것을 제한하는 것이다. 이러한 타이밍 매개변수는 픽셀 스트림과 시스템 클럭사이에서 비동기 관계에 있다. 픽셀 스트림이 판독 또는 기록 명령동안 파괴되지 않도록 하기 위해서는, 그 타이밍 매개변수는 한 신호의 트레일링 에지와 다음 신호의 리딩 에지 사이의 최소 분리로써 6개 까지의 픽셀 또는 도트 클럭(예를들면 480나노초(nanosecond))을 필요로 한다.
급속히 빨라진 마이크로프로세서 출현으로 명령 및 전송 싸이클 시간은 엄청나게 감소해 왔다. 이러한 마이크로프로세서의 속도증가로, 소프트웨어 지연이 연속 전송 싸이클 사이에 삽입되지 않는한 상기 언급된 비디오 DAC의 매개변수등과 같은 주변 장치의 타이밍 매개변수들은 위반된다. 그러나, 이러한 소프트웨어 지연은 기계속도가 효과적으로 계속 증가하고 동작 시스템이 더 복잡해지기 때문에 계속해서 효과를 볼 수는 없다.
[본 발명의 목적]
본 발명의 일차적인 목적은 시스템 클럭 속도가 낮은 하드웨어에서 최초로 설계된 소프트웨어와 그러한 하드웨어의 시스템 클럭보다 더 빠른 속도로 진행하는 시스템 클럭을 갖는 새로운 하드웨어 시스템사이에 호환성을 보장하는 것이다. 본 발명의 연관된 목적은 중앙 처리 장치(CPU) 및 주변 장치의 상대 속도에 관해 어떠한 고려없이도 프로그램될 수 있는 컴퓨터 시스템을 제공하는 것이다.
본 발명의 다른 목적은 CPU가 더 느린 주변 장치와도 신뢰성 있게 통신하는 것을 보장하면서 컴퓨터내에 있는 CPU가 최고 속도로 동작하도록 하는 것이다.
본 발명의 보다 구체적인 목적은 주변 장치의 타이밍 매개변수들(예를들면 명령 프리차즈(the command precharge)시간)을 위반하지 않고, CPU와 주변 장치 사이의 통신 속도를 최적으로 하는 것이다. 본 발명의 이것과 연관된 목적은 주변 장치에서 타이밍 매개변수들의 위반을 방지하는데 필요한 때만 CPU의 명령 싸이클을 느리게 하는 장치를 컴퓨터 시스템에 제공하는 것이다.
본 발명의 또 다른 목적은 더 느린 CPU 혹은 프로그램된 지연들(programmed delays)을 갖는 소프트웨어에 퍼포먼스 패널티(performance penalty : 성능저하)를 부과함이 없이 CPU의 정상 명령 싸이클들(nominal instruction cycles)을 선택적으로 연장하는 것이다.
전술한 목적에 따라서, 중앙 처리장치(CPU)에서 나오는 신호를 수신하는 최소한 하나의 입력을 갖는 장치에서, 본 발명은 CPU의 관여없이 두개의 연속하는 신호들이 소정의 시간만큼 항상 분리되도록 그 주변 장치 입력에 입력되는 신호들의 파형 형성을 위한 장치 및 방법을 제공한다. 신호를 분리함으로써, 제2신호는 제1신호 처리가 종료되기 전에 수신되지 않으며, 이로인하여 연속하는 신호들이 주변 장치의 입력에 제공되더라도 그 장치의 스펙(specification)이 위반되지 않을 것이 보장된다. 입력 신호를 그런식으로 파형형성 함으로써, 상기 소정의 시간 이내에 CPU에 의해 발생되어 주변 장치에 보내지는 제2신호는, 효과적으로 지연되고 그 소정의 시간이 경과한 다음에 주변 장치에 의해 수신된다. 제2신호의 지연된 수신을 보장하기 위하여, 본 발명의 장치는 상기 소정의 시간 동안에 CPU가 주변 장치로 보내는 신호 제공을 감지하고 그것에 응답하여 주변 장치가 신호를 지연되게 수신할 수 있도록 CPU로 하여금 상기 제2신호와 관계하는 명령 또는 전송 싸이클을 연장하도록 CPU에 명령하는 신호를 발생한다. 전술한 방법에 따라, 주변 장치에서 알려지지 않은 상태를 야기할 수도 있는 실제조건(즉, 연속하는 신호들이 매우 근접하여 있을 경우)이 생기는 경우에만 CPU는 느리게 동작하게 된다.
본 발명에 따른 장치 및 방법은 주변 장치에 의해 수신될 상기 제2신호의 시간 지연 양만큼 상기 제2신호에 연관된 명령 또는 전송 싸이클을 연장시킨다. 이러한 관점에서, 상기 지연은 시스템 클럭에 대해 비동기이기 때문에, 연장된 싸이클도 역시 비동기가 된다.
특히, 본 발명은, CPU에서 오는 판독 또는 기록 스트로브 신호들(read or writy strobe signals)을 수신하여 미터계로 측정한 것처럼 정확하게(in a metered manner), 즉, 연속하는 신호들을 적어도 소정의 시간 길이만큼 분리하는 방식으로 주변 장치로 전송시키는 게이트를 구비하는 인터페이스를 주변 장치와 CPU 사이에 제공한다. 상기 게이트는 자신을 통해서 제1판독 또는 기록 스트로브 신호를 주변 장치에 보낸이후 소정의 시간 동안에 자신을 디세이블(disable)시키는 제1그룹 회로와 협력하여 이러한 기능을 달성한다. 인터페이스내의 제2그룹 회로는 상기 게이트가 디세이블되어 있는 시간 동안 제2판독 또는 기록 스트로브의 발생을 감지하며, 감지한 결과에 따라 상기 제2판독 또는 기록 스트로브 신호와 관계있는 명령 또는 전송 싸이클을 연장하도록 CPU에게 명령할 목적으로 CPU에 대기 신호를 보낸다.
본 발명의 장치 및 방법은 필요한 경우에만, 그리고 주변 장치의 타이밍 매개변수들이 위반되지 않도록 보장하는데 필요한 양 만큼만 명령 또는 전송 싸이클을 연장한다. 본 발명은 명령 및/또는 전송 싸이클의 확실한 완료를 보장하면서 CPU가 가장 빠른 속도로 동작하는 것을 가능케하고 또한, 필요한 경우에만 싸이클의 수행속도를 늦추는 것을 가능하게 한다. 타이밍 매개변수들이 위반되지 않도록 보장해주는 것에 필요한 경우에만 CPU의 사이클들을 연장하기 때문에, 더 느리게 동작하는 CPU가 있다해도 그러한 CPU에 대해서 어떠한 퍼포먼스 패널티 (perfor mance penalty ; 성능저하)가 부가되지 않는다. 마찬가지로, 프로그램상의 지연을 포함하는 소프트웨어에도 패널티가 부과되지 않는다.
양호한 실시예는 개인용 컴퓨터의 비디오 보조시스템에 본 발명을 적용한 것이다. 특히, 이후 상세히 기술되고 도시된 양호한 실시예는 퍼스널 컴퓨터의 마이크로프로세서(MPU)와 비디오 디지탈-아날로그 변환기(DAC)사이에 인터페이스를 제공하기 위하여, 비디오 보조시스템의 비디오 인터페이스에서 본 발명을 실시한 것이다. 이전에 언급된 바와같이, 비디오 DAC의 타이밍 매개변수는 제1판독 또는 기록 스트로브 신호의 트레일링 에지와 그 다음의 판독 또는 기록 스트로브 신호의 리딩 에지사이에서 최소한의 분리를 요구한다. 양호한 실시예에서, 본 발명은, 매개변수의 위반을 피하는데 필요한 경우에 비디오 DAC와 MPU 사이의 전송 싸이클을 단지 연장함으로써, 상기 매개변수를 만족하도록 보장해준다.
이후에, 출원인이 본 발명에 대한 설명을 비디오 시스템에 국한해서 할지라도, 컴퓨터 시스템, 특히 CPU와 주변 장치사이의 인터페이스 설계분야에 숙련된 사람이라면 본 발명은 단지 비디오 시스템에만 한정되지 않고 많은 분야에 응용이 가능하다는 것을 인정하고 이해할 것이다.
[양호한 실시예의 상세한 설명]
도면을 보면, 먼저 제1도 및 제2a도 내지 제2c도에는 비디오 인터페이스 (11), 비트 맵 메모리(13), 비디오 디지탈-아날로그 변환기(DAC)(15) 및, 칼라음극선관(CRT)(17) 같은 래스터(raster) 주사 표시 장치가 있는 전형적인 비디오 보조시스템을 갖춘 컴퓨터 시스템이 도시된다. 통상적으로 CPU는 시스템 제어 마이크로프로세서(MPU)(19)의 형태로 3상태 시스템 버스(a three-state system bus : 21)를 따라 비디오 보조시스템과 통신한다. 3상태 시스템 버스(21)는 널리 공지된 버스 인터페이스(23)에 의해 비디오 보조시스템으로 접속된다. 버스 인터페이스(23)으로부터, 어드레스 및 데이타 버스(25, 27) 각각과 제어 라인(29)은 비디오 인터페이스(11) 및 비디오 DAC(15)에 제공된다. 추후 보다 상세하게 설명되는 바와같이, MPU(19)에 의해 판독 또는 기록되는 레지스터는 비디오 인터페이스(11) 및 비디오 DAC(15)내에 있다.
비디오 DAC(15)는 주사 시퀀스용 픽셀 값을 기억시키는 비트 맵 메모리(13)로부터 유도된 연속적인 픽셀 값에 응답하여 칼라 CRT(17)로 들어가는 각 칼라 입력의 전기 신호 값을 발생하는 칼라 그래픽 제어기이다. 비디오 DAC(15)에는 픽셀 클럭(PIXEL CK)에 의해 결정된 픽셀 주파수로 비디오 인터페이스(11)를 경유해서 비트 맵 메모리(13)로부터 8-비트 픽셀 버스(33)에 보내지는 8-비트 픽셀 값 P0-P7를 수신하도록 되어 있는 칼라 조사 테이블(CLUT)(31)이 있다. CLUT(31) 및 디지탈-아날로그 변환기(DAC)(35)그룹은 픽셀 값들을 아날로그 전기 신호로 변환시켜서 출력 라인(37,39,41)상에 보내며, 상기 출력 라인 각각은 칼라 CRT(27)의 적, 청 및 녹색건(gun)에 접속된다. CLUT(31)는 비트 맵 메모리(13)에서 수신된 각 픽셀 값의 칼라 값을 조사하는데 사용되는 RAM 메모리를 구비한다. 다시 말해서, 픽셀의 값들은 비디오 DAC(15)의 DAC(35)를 직접 구동시키지 못하며, 대신에 그 값들을 CLUT(31)에 기억되어 있는 칼라 데이타의 어드레스가 된다. MPU(19)는 비트 맵 메모리(13)에 포함된 256개의 가능 픽셀 값 각각에 대해 CLUT(31)에 기억되어 있는 칼라 값을 제어한다.
픽셀 데이타로부터 아날로그 칼라 신호의 발생을 좀더 상세히 고찰하면, 비디오 DAC(15)의 CLUT(31)는 256개의 어드레스가능한 위치를 가지며, 각각은 한개의 칼라 값을 표시하는 18-비트 워드를 갖고 있다. 픽셀 값은 픽셀 클럭에 의해 결정된 픽셀 주파수로 픽셀 버스(33)상에 제공된다. 각 픽셀 값은 8비트 픽셀 워드로서 픽셀 래치(42)에 기억되며 CLUT(31)의 256개의 칼라 값 위치 어드레스로 사용된다. 각 픽셀 값은 18-비트 크기의 칼라 데이타 값이 CLUT(31)로부터 디코더(45)까지 연결된 버스(43)에 제공되도록 한다. 상기 18-비트 데이타 값은, 각각이 적, 청 또는 녹색의 강도 값을 표시하는 6비트의 세 그룹으로 구성되며, 디코더(45)를 통해 DAC(35)중 대응하는 하나에 제공된다. 그러므로, 상기 18비트 데이타값은 적, 청 및 녹색의 칼라 강도 값의 262, 144 조합중 어떤것도 표시할 수 있다. 상기 방법으로, 각 픽셀 값은 CLUT(31)에 포함된 256칼라 값중 하나를 선택한다. 비디오 DAC(15)에 있는 타이밍 발생기(47)는 CLUT(31), 디코더(45) 및 DAC(35)의 타이밍 동작을 제어하여 아날로그 출력 신호는 동일한 픽셀 주파수로 라인(37,39,41)상에 제공된다. 또한, 비디오 인터페이스(11)에서 나온 종래의 BLANK 신호는 DAC(35)로 하여금 CRT 래스터의 리트레이싱(retracing) 동안 출력을 제로로 하게 한다.
가능한 칼라 조합수를 완전히 이용하기 위하여, MPU(19)는 MPU 인터페이스 (49)를 사용해서 데이타 버스(27)를 통해 CLUT(31)의 하나 또는 그 이상의 위치에 다른 칼라 값을 기록할 수 있다. 이런 방법으로, CLUT(31)에 있는 256개의 위치는, MPU(19) 및 MPU 인터페이스(49)의 사용에 의해 적, 청 및 녹색의 256 다른 조합을 선택할 수 있는 칼라 팔레트(color palette)를 형성하는데 사용될 수 있으며 이러한 조합의 각각은 262,144개의 다른 칼라중 하나이다. 또한 MPU(19)는 CLUT(31)로부터 다른 칼라 값을 판독할 수 있다. 이러한 방법으로 하나의 팔레트는 순간적으로 다른 팔레트로 대체될 수도 있으며, 그후에 첫번째것은 복귀될 수도 있다. 보통 이러한 팔레트 데이타의 전송은 스크린 영상의 제어가 실행중인 프로그램들 사이에서 전송되는 멀티-태스킹 환경에서 발생한다. 현재 이용가능한 모든 비디오 DAC가 CLUT(31)로부터 판독할 수 있는 능력을 제공하는 것은 아니다. 이런 관점에서, 출원인은 콜로라도 80936, 콜로라도 스프링즈, 피.오 박스 16000의 INMOS 주식회사에서 제조된 IMS-G 171 비디오 DAC를 선호한다. 왜냐하면 그것은 데이타를 CLUT에서 판독 및 CLUT에 기록하는 것이 가능하기 때문이다.
높은 픽셀 주파수로 동작시키기 위한 상기 INMOS 비디오 DAC에서의 고속 싸이클 타임은 파이프라인 데이타 억세스 기법을 사용하여서 달성될 수 있는데, 이 기법의 사용으로 CLUT(31)을 위한 어드레스 디코딩과 CLUT(31)의 메모리셀들로부터 데이타 판독 및 셀들에 대한 데이타의 기록은 두 픽셀 클럭 싸이클에 걸친 다단계 동작으로 각각 종료된다. 도시된 비디오 DAC(15)에서 MPU 인터페이스(49)는 비디오 DAC 및 MPU(19) 사이에서 통신을 간단하게 하며, 전체적으로 파이프라인 픽셀 클럭과는 완전히 비동기로 동작한다.
INMOS 비디오 DAC 내부에서는 제2b도에 도시된 바와같이, 비트 맵 메모리 (13)로부터 CLUT(31)까지 픽셀 버스(33)를 연결하는 8-비트 어드레스 버스(51)가 MPU 인터페이스(49)에서 나오는 어드레스 버스(53)에 접속되며, 이 어드레스 버스(53)는 CLUT 및 MPU(19)사이에서 판독 및 기록 전송 싸이클동안 8-비트 어드레스를 제공하기 위한 것이다. 어드레스 버스(51)상에서 픽셀 값에 따라, CLUT(31)는 접근된 메모리 셀의 기억 상태를 결정한다. 그렇지 않으면 버스(63)에서 어드레스에 의해 식별된 CLUT(31)의 메모리 셀은 MPU 인터페이스(49)를 통해 MPU(19) 의하여 판독 혹은 기록될 수도 있다.
메모리 셀 어드레스를 판독 혹은 기록하는 것에 관해 좀더 상세한 설명을 하면, MPU(19) 및 비디오 DAC(15)의 MPU 인터페이스(49)는 데이타 버스(27)(제1도) 및 비디오 인터페이스(11)를 통해 통신한다. 비디오 인터페이스(11)는 제1도에 도시된 상태 제어 라인 S0 및 S1, 명령 제어라인 CMO 및 RESET 제어라인과 같은 종래의 제어라인을 수신하며, 판독 및 기록 스트로브 신호 DACIOR 및 DACIOW를 각각 발생시켜서, 상기 신호를 비디오 DAC(15)의 MPU 인터페이스(49)로 보낸다. DACIOW 스트로브 신호 명령이 발생될때, MPU 인터페이스(49)는 데이타 버스(27)의 8데이타 라인 D0-D7상에서 하나의 어드레스 위치와 적, 청 및 녹색의 칼라 값들을 각각 표시하는 4개의 연속적인 8-비트 바이트를 수신한다. 상기 4바이트가 내부 레지스터(도시되지 않음)에 로드 되었을 때, MPU 인터페이스(49)는 새로운 파이프라인 픽셀 싸이클 초기에서 표시된 상기 어드레스로 기록동작이 수행되도록 칼라 데이타의 전송을 제어한다.
특히, CLUT(31)에 기억된 칼라를 바꾸는 작업은 다수의 전송 싸이클들로 구성되는 판독 및/또는 기록 전송 싸이클을 필요로 하는 다단계 처리과정이다. 첫째로, 비디오 DAC(15)가 기록 모드(S0+S1=IOW=0)인 동안 초기 픽셀 어드레스가 지정되어야 한다. MPU 인터페이스(49)는 어드레스 버스(26)중 두개의 최하위 비트(55)에 의해 식별되는 픽셀-어드레스 레지스터에서 상기 어드레스를 기억한다. 그 다음 역시 비트(55)로 식별되는 칼라값 레지스터들로 적, 청 및 녹색 칼라지정 데이타인 세개의 개별 데이타 워드들이 수집되어서 이들이 연쇄되어(concatenated) 18-비트 워드로 연결된다. 그후, MPU 인터페이스(49)는 어드레스 레지스터에 있는 데이타를 어드레스 버스에 제공함으로써 바꿀 메모리 셀을 지정하며, 18비트 데이타버스(57)상에 18-비트의 연쇄된 워드를 픽셀 클럭과 동기하여 전송한다.
제3a도 내지 3c도는 MPU(19)가 데이타를 CLUT(31)에 기록 또는 CLUT(31)에서 판독할때 발생할 수 있는 4개의 타이밍 상황을 도시한다. 제3a 및 3b도는 다음 전송 싸이클의 판독/기록 스트로브 신호가 뒤따라 오는 경우에 있어서의 기록 명령을 도시하며, 제3c 및 3d도는 동일한 경우에 있어서의 판독 명령을 도시한다. 구체적으로, 제3a도에서, 기록 명령은 4개의 기록 전송 싸이클로 구성되며, 이 기록 전송 싸이클 다음에는 MPU(19)와 비디오 DAC(15)사이에서 임의 형태의 전송 싸이클로부터 나온 기록 스트로브 신호가 뒤따른다. 제3b도에서는, 임의의 형태의 판독 전송 싸이클로부터 나온 판독 스트로브 신호가 상기 기록 명령을 뒤따른다. 유사하게 제3c도의 판독 명령은 하나의 기록 및 세개의 판독 전송 싸이클로 구성되며, 그 판독 명령 다음에는 MPU(19) 및 비디오 DAC(15)사이에서 임의의 형태의 판독 전송 싸이클이 뒤따른다. 반면에, 제3d도는 상기 판독 명령 다음에 임의의 기록 전송 싸이클이 뒤따르고 있음을 도시한다. 마지막으로, 제3e도는 판독 또는 기록 명령 동안 데이타 버스(27)의 데이타 라인 D0-D7상태를 도시한다. 어드레스 데이타ㅡㄴ 재전송 싸이클 동안 MPU(19)에 의해 데이타 라인 D0-D7에 전송되는데, 이것은 판독 명령과 기록 명령 둘다에 대해 기록 사이클이 된다. 다음에, 칼라 데이타는 3개의 연속적인 바이트의 형태로 데이타 라인 D0-D7에 잇달아 전송된다. 3개의 칼라 바이트 각각은 최초 기록 전송 싸이클 다음의 3개의 디록 또는 판독 전송 싸이클과 관계가 있다. 판독 명령이 수행되고 있는지 또는 기록 명령이 수행되고 있는지에 따라, 상기 3개의 칼라 바이트는 MPU(19) 또는 비디오 DAC(15) 가운데 하나에 의해서 데이타 라인상에 내보내지게 된다.
구체적으로 제3a도를 참조하면, 비디오 DAC(15)에 대한 4개의 기록 전송 싸이클은 CLUT 어드레스 위치가 MPU 인터페이스(49)의 픽셀 어드레스 레지스터(도시되지 않음)내로 기록되도록 하고, 적, 녹 및 청색의 칼라 데이타의 3세트는 칼라-값 레지스터(도시되지 않음)내로 기록되도록 한다. 표 1로부터 알 수 있는 바와 같이, 제3a도의 기록 명령에서 각 기록 스트로브 신호의 트레일링 에지는 WHWL1만큼 다음 기록 스트로브 신호의 리딩 에지와 분리되어야 한다. 표 1는 상기 양이 최소한 3개의 픽셀 클럭 기간임을 표시한다. 이러한 타이밍 제한은 CRT 영상을 파괴함이 칼라 CRT(17)대한 픽셀 정보의 흐름에 관하여 비동기인 이러한 전송 싸이클의 수행을 허용한다. 제3a도는 또한 청색 데이타용 기록 신호의 상승 에지(rising edge)와 임의의 다음 명령을 위한 기록 신호의 하강 에지(falling edge) 사이의 타이밍 매개변수도 표시한다. 이러한 타이밍 매개변수는 WHWL2로 표시되고, 표 1에 도시된 바와 같이, 최소한 6개의 픽셀 클럭 싸이클이어야만 한다.
제3a도와 같이 제3b도에서도 CLUT(31)에 대하여 기록 명령을 수행하는 일련의 기록 스트로브 신호를 도시한다. 그러나, 제3a도와는 달리, CLUT(31)내로 새로운 칼라 데이타를 전송하는 마지막 기록 신호의 상승 에지 다음에는 비디오 DAC(15)에 대한 임의의 형태인 다음 명령의 판독 스트로브 신호의 하강 에지가 뒤따라 온다. 이 마지막 기록 스트로브 신호의 상승 에지와 상기 판독 스트로브 신호의 하강 에지 사이에는 최소한의 시간 주기가 있으며, 그것은 제3b도에서 WHRL1로 표시된다. 표 1로부터, 이 타이밍 매개변수는 최소한 6개의 픽셀 클럭 주기가 되어야 함을 알 수 있다.
[표 1]
제3c도는 CLUT(31)로부터 메모리 셀 위치를 판독하는 4전송 싸이클 판독 명령과 관련한 일련의 기록 및 판독 스트로브 신호를 도시한다. 세개의 다른 타이밍 매개변수들이 도시되어 있다. 첫째로는, 판독을 위한 어드레스의 기록 신호와 판독 데이타의 제1판독 스트로브 신호 사이의 분리 WHRL2는 표 1에 도시된 바와같이 3픽셀 클럭 싸이클의 시간이다. 그 다음은 칼라 데이타를 판독하는 판독 신호들 사이의 분리 RHRL1로서 3픽셀 클럭 펄스에 해당하는 시간이다. 마지막으로 마지막 칼라 판독 신호의 트레일링 에지(상승 에지)와 비디오 DAC(15)에 대한 임의의 형태의 다른 명령으로부터의 판독 스트로브 신호의 리딩 에지(하강 에지) 사이의 최소 시간으로서 RHRL2로 표시되며, 표 1은 그것이 6픽셀 클럭 싸이클의 최소값을 갖은 것을 표시한다.
제3d도는 마지막 칼라 판독 스트로브 신호의 트레일링 에지 다음에 임의의 기록 스트로브 신호가 온다는 점을 제외하고 제3c도에 도시된 바와 동일한 비디오 DAC(15)에 대한 판독 명령을 도시한다. 여기서도, 마지막 칼라 판독 스트로브 신호의 트레일링 에지 다음의 타이밍 매개변수 RHWL는, 마지막 칼라 판독의 트레일링 에지 다음에 오는 임의의 기록 스트로브 신호 리딩 에지도 표 1에 도시된 바와 같이 최소한 6픽셀 클럭 싸이클 만큼은 분리되어야 한다는 것을 나타낸다.
주요 소자부가 제2도에 도시된 비디오 인터페이스(11)를 살펴보면, 그것은 IBM 퍼스널 시스템/2 모델 50 및 60에서 발견되는 IBM 비디오 그래픽 어레이(VGA)와 유사하다. 비디오 인터페이스는 CRT, 제어기(61), 시퀀서(63), 그래픽 제어기 (65), 속성(attribute) 제어기(67), 어드레스 디코더(68) 및 제어 논리부 (69) 같은 5개의 주요 소자를 포함한다. CRT 발생기(61)는 비트 맵 메모리(13)의 DRMA용 어드레스 버스(72)를 통해 리프레쉬 어드레싱(refresh addressing)과, 수평 및 수직 동기 타이밍(HSYNC, VSYNC 및 BLANK)을 발생한다. 종래 공지된 방법으로, 비트 맵 메모리(13)는 4개의 비트 평면 맵 0-3으로 분할된다. MAP0는 청색 비트 평면이고, MAP1는 녹색 비트 평면이고, MAP2는 적색 비트 평면이며, MAP3는 강도 비트 평면이다. 비트 맵 메모리로부터 판독 또는 비트 맵 메모리에 기록을 하기 위해서는, 데이타는 멀티플렉서(MUX)(74)에 의해 어드레스 버스(25)로부터 수신되어, 맵 0-3의 어드레스 버스(76,78)에 보내어 진다. 또, 정상 활성 표시 시간 동안 CRT 제어기(61)에서 나온 어드레스 데이타도 버스(72) 및 MUX(74)를 통해 교번적으로 (alternatively) 어드레스 버스(76,78)에 보내진다.
시퀀서(63)는 재생 메모리 페치(regenerative memory fetches)를 제어하는 펙실 클럭과 비트 맵 메모리(13)의 기본 메모리 타이밍을 발생한다. 상기 시퀀서는 활성 표시 간격(intervals) 동안 표시 메모리 싸이클들 사이에 주기적으로 전용 MPU 싸이클들(dedicated MPU cycles)을 삽입함으로써 MPU(19)가 비트 맵 메모리 (13)에 억세스하는 것을 허용한다.
그래픽 제어기(65)는 비트 맵 메모리(13)에 포함되어 있는 비디오 데이타와, 1) 활성 표시 시간 동안에는 속성 제어기(67)과 2) 비트 맵 메모리(13)에 대하여 판독 또는 기록 명령을 실행하고 있는 동안에는 MPU(19)와의 인터페이스이다. 표시 시간 동안에는, 데이타 버스(71,73,75,77) (MAP0,MAP1,MAP2,MAP3)에서 나온 비디오 데이타는 그래픽 제어기(65)에 의해 래치되어서, 데이타 버스(79)에 의해 속성 제어기(67)로 전송된다. MPU(19)가 비디오 데이타를 기록 또는 판독할때, 그래픽 제어기(65)는 데이타가 비트 맵 메모리(13) 또는 시스템 데이타 버스(21)에 도달하기 전에 데이타에 대한 논리 동작을 수행한다. 속성 제어기(67)는 그래픽 제어기(65)를 통해 비트 맵 메모리(13)로부터 데이타를 얻어, CRT(17)의 표시 스크린상에 표시하도록 상기 데이타를 포맷한다. 입력된 데이타는 8-비트 출력 디지탈 칼라 값 또는 픽셀로 변환되어서 8-비트 픽셀 버스(33)에 보내지면 이 버스는 픽셀 데이타 P0-P7를 비디오 DAC(15)로 전달하게 되는데, 이 데이타는 앞에서 기술한 바와 같이 CLUT(31)로 들어가는 어드레스로 사용된다.
MPU(19)가 비디오 DAC(15)에서 기록 또는 판독하기 위하여, DAC 어드레스는 어드레스 디코더(68)에서 디코드되며, DAC 어드레스 신호는 제어 논리부(69) 및 인터페이스(83)에 인가된다. 판독/기록 신호를 발생하고 데이타 흐름을 제어하기 위하여, 제어라인(29)의 제어 신호는 비디오 인터페이스(11)의 제어 논리부(69)에 의해 수신된다. 종래의 방법에서는, 판독 또는 기록 신호 IOR 또는 IOW는, 라인 CMD에서의 명령 스트로브 신호와 라인 S0 및 S1에서의 상태 스트로브 신호같은 제어 라인의 신호에 응답하여 비디오 인터페이스(11)에 의해 발생된다.
상기 언급된 IBM VGA 같은 현존하는 비디오 인터페이스에 있어서, IOR 및 IOW 신호는 비디오 DAC(15)의 판독 또는 기록 입력에 직접 인가된다. 그러나, 제3a 도 내지 3c도 및 표 1을 참조하여 기술된 바와같이, 비디오 DAC(15)에 보내지는 연속의 판독 또는 기록 스트로브 신호들은 한 신호의 리딩 에지가 다른 신호의 하강 에지에 얼마나 가깝게 뒤따라 올 수 있는가에 관한 특정 타이밍 제한을 만족시켜야 한다. 일반적으로, 이러한 타이밍 제한은, 비디오 DAC(15)의 프리차지 타임과 관련이 있는데, 이러한 프리차지 타임은 이전의 판독 또는 기록 스트로브 신호를 수신한 후에 다음 판독 또는 기록 스트로브 신호의 수신을 준비하기 위해서 주변 장치가 필요로 하는 시간을 의미한다. 이러한 타이밍 요구는, 과거에는 최소한 몇몇의 기계 싸이클이 판독 또는 기록 명령에서 연속의 전송 싸이클을 분리하도록 소프트웨어 지연들을 삽입함으로써 만족되왔다. 그러나, 이러한 소프트웨어 지연은 프로세서의 속도가 증가함에 따라 이식성(portability)을 보장할 수 없으며, 실제로 이러한 소프트웨어-지연된 판독 및 기록 명령이 고속 컴퓨터 시스템 및 복잡한 운영체제(OS)에 의해 수행된다면 요구되는 타이밍 분리를 유지하는 것이 실패할 수도 있다.
본 발명에서는 비디오 DAC(15)가 하나의 판독 혹은 기록 스트로브 신호를 수신한 후 소정의 기간동안 다음 입력들을 마스킹(masking) 하기 위하여 비디오 인터페이스(11)에서 제어회로부(69)를 인터페이스 회로(83)의 곁에 공급하며, 상기 인터페이스 회로(83)은 상기 제어 논리 회로 및 상기 비디오 DAC의 판독 및 기록 입력들 사이에 위치하도록 한다. 상기의 입력들을 마스킹 함으로써, 본 발명은 제3도 및 표1의 타이밍 매개변수가 위반되지 않은 것을 보장한다. 제1의 판독 혹은 기록 스트로브 신호를 수신한 후 비디오 DAC(15)에 대한 판독 및 기록 스트로브 신호 입력들이 마스킹되어 있는 동안 비디오 DAC에 대한 제2의 판독 혹은 기록 스트로브 신호(IOR 또는 ZOW)가 발생된다면, 본 발명에 따른 인터페이스 회로(83)는 제어논리 회로부(69)에 DAC 대기 신호를 제공한다. 이러한 DAC 대기 신호에 응답하여, 제어 논리부(69)는 종래의 방법으로 MPU(19)의 READY 입력에 접속된 READY 라인을 해제시키면, 상기 신호는 비활성으로 되고 MPU는 제2판독 또는 기록 스트로브 신호와 관련있는 전송 싸이클 내로 대기 상태를 삽입한다.
제4a 내지 4c도는 세개의 전송 싸이클을 구비하는 명령의 한 예를 도시한다. 제2전송 싸이클이 제1전송 싸이클에 매우 가까이 뒤따를때 본 발명에 있어서는 제2전송 싸이클은 전송 싸이클의 정상 시간 T1에 관하여 연장되는 시간동안 수행된다. "정상 전송 싸이클"이란 전송을 수행하는데 필요한 기계 싸이클의 최소 수만을 갖는 전송 싸이클의 근사적인 시간을 정의하기 위한 것이다. 제4a도 내지 4c도에 도시된 각 전송 싸이클 정상 시간 T1과 함께 주변 장치가 명령을 수신하는데 필요한 응답 시간에 대응하는 근사적인 시간 T2를 표시하는 그늘진 영역이 있다. 예를들면 제3a도 내지 3e도에 도시된 타이밍 매개변수를 갖는 비디오 DAC(15)에서, 시간 T2는, 판독/기록 스트로브의 끝과 다른 스트로브의 처음 사이에서 비디오 DAC가 프리차지 되는데 필요한 시간이며, 이때 판독/기록 스트로브의 끝은 전달 싸이클의 거의 끝에 해당하는 것으로 가정한다. 제4a도 내지 4c도에 도시된 제1전송 싸이클 각각에서 보는 도시된 바와같이 정상 전송 싸이클 T1의 끝에서 다른 전송 싸이클(비연관된 명령일 수도 있다)을 수행하도록 MPU(19)가 해제된다 할지라도, 주변 장치에 대한 유효한 전송 싸이클은 T1+T2이다. 왜냐햐면 시간 T2는 장치가 응답을 종료시키는데 필요한 시간이기 때문이다.
명령의 모든 전송 싸이클이 제4a도의 명령에 의해 제안된 바와 같은 비교적 큰 시간만큼 상호 분리될때, 각 전송 싸이클은 정상 싸이클에 의해서 특징지워지며, MPU(19)가 최적 속도로 명령을 수행하는 것이 가능하다. 제4b도에 있는 제1 및 제2전송 싸이클에서 것처럼 연속의 전달 싸이클들 사이가 가까울때는, 주변 장치가 명령에 응답할 충분한 시간을 보장해주기 위해서 제2전달 싸이클을 연장함으로써 MPU(19)의 속도는 느리게 된다. 더 구체적으로 설명하면, 제4b도에서, 제2전송 싸이클은 제1전송 싸이클의 끝 다음에 있는 시간 X에서 시작하며, X는 T2보다 작다. 주변 장치가 제1전송 싸이클에 응답하는데 요구되는 충분한 시간 T3를 갖는 것을 보장하도록, 본 발명은 소정의 시간동안 판독/기록 입력을 마스킹하여 둠으로써 제2전송 싸이클의 수행을 효과적으로 지연시키며, 또한 지연을 보상하도록 제2싸이클을 연장한다.
제4b도에서 연장된 싸이클과 유사하게, 제4c도의 명령에서 제2전송 싸이클은 연장된다. 왜냐하면 상기 싸이클이 제1정상 전송 싸이클의 종료후 다시 시작하기 때문이다. 본 발명에 따라서, 연장된 전송 싸이클은 전송 싸이클의 제1부분 동안의 수행에서의 지연을 보상하는데 필요한 양만큼만 연장된다. 그러므로, 대기 상태 기계 싸이클의 단지 최소 갯수만이 연장된 전송 싸이클에 삽입된다. 따라서, 시스템 처리능력은 본 발명에 의해 최소로 영향을 받는다. 제4b도 및 4c도의 제2 및 연장된 전송 싸이클의 특정예에서, 제4b도의 제2전송 싸이클은 요구되는 지연(T2-X)에 근접하는 기계 싸이클 만큼만 연장되며, 제4c도의 제2전송 싸이클에 대해서는, 삽입된 기계 싸이클의 수는 T2의 전시간(full time) 기간에 해당하는 지연에 해당한다.
마지막으로, 제4a도 내지 4c도의 예시된 명령에서 전송 싸이클의 가능한 시퀀스를 도시하기 위하여, 제4b 및 4c도에서 제3전송 싸이클은 제2 및 연장된 전송 싸이클에 관하여 서로 다른 간격으로 분리된 것으로 도시되었다. 특히, 제4b도에서 명령의 제3전송 싸이클은, 제2 및 연장된 전송 싸이클의 끝 다음에 시간 T2보다 더 긴 시간후에 나타나기 때문에 정상 시간 특징을 가진다. 제4b도의 명령에 있는 제3전송 싸이클과 반대로, 제4c도의 명령에 있는 제3전송 싸이클은 제2 및 연장된 전송 싸이클을 따르는 시간 T2가 끝나기 전에 시작한다. 그러므로 제4c도의 명령에서 제3전송 싸이클은 제4B 및 4c도의 제2전송 싸이클과 동일한 방법으로 연장된다. 특히 제3전송 싸이클은 제2연장된 전송 싸이클의 끝 다음 시간 Z에서 시작하며, Z는 T2보다 작다. 제3전송 싸이클을 수행하는데 필요한 지연을 보장하기 위하여, 제3전송 싸이클은 시간 T2-Z에 근접하는 기계 싸이클 수만큼 연장된다.
타이밍 매개변수 T2는 본질적으로 싸이클들을 분리하는 것이 아니라 연속의 전송 싸이클의 연속의 판독/기록 신호들을 분리하기 때문에, 속도가 느려지는 CPU는 사실상 한 싸이클이 다른 싸이클에 얼마나 근접하던지 관계없이 연속의 판독/기록 신호들 사이에서 요구되는 분리 시간 T2인 정상 전송 싸이클을 갖는 것으로 평가된다. 이러한 CPU들에 있어서, 시간 T2는 전송 싸이클의 끝이 아니고 신호의 트레일링 에지에서 측정되기 때문에 싸이클들이 연장되지는 않으며 따라서, 본 발명은 아무런 패널티도 부과하지 않는다. 그러나, 상기 표시된 바와같이, 판독/기록 스토르보 신호의 시작과 끝은 제4a도 내지 4c도의 도시의 목적을 위해서 싸이클의 시작 및 끝에 대응하는 것으로 가정되었다.
제4a도 내지 4c도에서 개략적인 전송 싸이클로부터 알 수 있는 바와같이, 명령의 전체 시간은, 명령의 전송 싸이클 끼리는 중첩하지만 그러한 특성과는 관계없이 3싸이클(한 싸이클 평균 시간은 T3)이다. 더 구체적으로 설명하면, 연장된 전송 싸이클은 정상 시간 기간 T1에 중첩 시간(제4B 및 4c도에서 T2-X, T2 또는 T2-Z)을 더한 것과 거의 동일하다. 지연을 보상하는데 요구되는 정도만큼만 싸이클을 연장함으로써, 전체 명령 시간 주기는 거의 영향을 받지 않고 유지된다. 그러나, 앞에서 언급된 바와같이, 연장된 전송 싸이클은 시스템 클럭에 대해 비동기이므로 연장된 싸이클에 트레일링 시간 기간 T2를 더한 것과 정상 전송 싸이클의 시간 T3에 트레일링 시간 기간 T2를 더한 것에 거의 근접할 뿐 동일하지는 않다(only approximately equal). 제4b도에 관련하여, 제2싸이클은 연장되고, T1+(T2-X) 또는 T3-X와 거의 동일한 시간 주기 T4를 가진다. 제4c도의 제2싸이클은 T1+T2 또는 T3와 거의 동일한 연장된 시간 T5를 가지며, 제4c도의 제3싸이클은 T1+(T2-Z) 또는 T3-Z와 거의 동일한 시간 T6를 갖도록 연장된다.
종래의 방법에서, MPU(19)는 READY 신호가 다시 활성화 될때까지 대기 상태 기계 싸이클을 수행함으로써 READY 라인의 불활성상태에 반응한다. 이러한 관점에서 제5도의 흐름도를 참조하면, MPU(19)의 마이크로코드는 명령(이 경우 비디오 DAC(15)에 대한 판독/기록 명령)을 단계 A에서 인출(fetch)한다. READY 라인이 불활성화 될때까지, 정상 전송 싸이클은 단계 B, C 및 D에 따라 수행된다. READY 라인이 불활성이 되면, MPU(19)는 단계 E에서 대기 상태 싸이클을 수행하며, 그뒤 정상 싸이클로 되돌아간다. READY 라인이 활성으로 돌아올때까지 MPU(19)는 단계 B 및 E의 루프를 계속 수행한다.
제6도에는 본 발명의 인터페이스(83) (제2a도)의 양호한 실시예의 개략적인 다이어그램이 도시된다. 기능적으로 인터페이스(83)는 판독 및 기록 신호 IOR 및 IOW가 비디오 DAC(15)로 전송되는 것을 검출하는 게이트(85)를 포함한다. 게이트(85)는 통과하는 IOR 및 IOW 신호를 검출하여서, 각각 판독 및 기록 신호인 DACIOR 및 DACIOW로 변형시킨다. 게이트(85)는 두개의 OR 게이트(87,89)로 구성된다. OR게이트(87,89)를 선택적으로 디세이블하는 수단(91)은 이진 카운터(93) 및 AND게이트(95,97)로 구성된다. 판독 또는 기록 스트로브 신호를 OR게이트(87,89)의 출력중 하나에서 검출하면, MASK DAC R/WR 라인이 활성으로 되며, OR게이트(87,89)를 디세이블하고 다른 판독 또는 기록 스트로브 신호 통과를 방지한다.
NAND게이트(101) 및 D 플립-플롭(103,105,107)를 구비한 샘플 및 지연 회로(99)는 판독 또는 기록 스트로브 신호(IOR/IOW)가 비디오 DAC(15)에 의해 수신되는 때를 표시하는 신호 DAC 대기 신호를 제공한다. 상기 DAC 대기 신호는 AND게이트(109) 및 제어논리 회로부(69)로 구성되는 대기 상태 발생기로 보내진다. 연속하는 판독 또는 기록 스트로브 신호 IOR 또는 IOW가 표 1의 시간 주기들중 어느것보다 큰 소정의 시간만큼 분리된채로 OR게이트(87 또는 89)에 제공될때, 대기 상태 발생기의 AND게이트(109)는 디세이블 상태를 유지하고 DAC 대기 신호는 READY 신호로서 제어 논리부(69) 및 MPU(19)에 보내지지 않는다. 그러나 두개의 연속하는 판독 또는 기록 신호가 소정의 시간만큼 분리되지 않으면, 중첩은 래치 회로(111)에 의해 검출되고, 따라서 AND게이트(109)는 인에이블되며, DAC 대기 신호는 제어 논리부(69)에 보내지고 제어 논리부(60)는 차례로 이 신호를 READY 신호로서 MPU(19)의 READY 입력에 보낸다.
AND게이트가 디세이블(disable)되면, 그것의 출력은 로(low)가 된다. 종래의 방법에서, DAC 대기 신호는 비디오 DAC(15)가 어드레스되고 있을때 제어 논리부(69)의 출력에서 활성 READY 신호로 변환된다. 한편으로, 제어 논리부(69)는 제6도에 도시된 바와같이 비디오 시스템의 다른 장치로부터 대기 신호 입력들도 수신한다. 제어 논리부(69)에서 잘 알려진 논리는 현 전송 싸이클에서 어드레스되고 있는 장치에 대한 대기 신호만 READY 라인을 통과하도록 허용해주는 논리이다.
제6도의 인터페이스의 상세한 동작은 제7도의 타이밍 다이어그램에 연관하여 기술하기로 한다. 이진 카운터(93)의 클럭 입력 CK은 픽셀클럭을 수신한다. 비디오 DAC(15)가 어드레스되지 않고 있을때, AND게이트(95)의 출력은 비활성이며, 그러므로, 이진 카운터(93)의 리세트(RST)의 반전된 입력은 활성화상태로 유지되며 카운터의 출력은 리세트 상태로 유지된다. 이러한 리세트 상태에서, 8번째의 카운트를 표시하는 반전된 출력(8)은 AND게이트(97)를 인에이블 한다.
이진 카운터(93)가 리세트 상태로부터 해제된때, 상기 카운터는 픽셀 클럭 펄스를 카운트한다. 8번째 클럭 펄스가 카운트되면, AND게이트(97)는 디세이블된다. 왜냐하면 활성 8출력은 표시된 것처럼 반전되며, AND게이트의 입력중 하나에 논리 값 제로를 제공하기 때문이다.
이진 카운터(93)의 전술한 동작을 염두에 두고 전송 싸이클을 살펴보면, 전송 싸이클이 시작될때, 어드레스 디코더(68)(제2a도)에서 나온 DAC 어드레스 신호는 활성(로우:low)이 된다. OR게이트(87,89) 각각은 게이트의 세 입력중 하나에서 DAC 어드레스 신호를 수신한다. 제2입력이 AND게이트(97)로부터 마스크 DAC R/WR 신호를 수신한 직후에 판독 또는 기록 스트로브 신호(IOR 또는 IOW)는 활성(로우)이 된다. 전송 싸이클의 시작 이전에, 마지막 싸이클 이후 소정의 시간보다 더 많은 시간이 흘렀다고 가정하면, 마스크 DAC R/WR 신호는 불활성(로우)이다. 비디오 DAC(15) 및 MPU(19) 사이 전송 싸이클 동안, OR게이트(87,89)중 한 게이트는 세 입력 모두가 로우가 되어 AND게이트(95)중 한 입력이 로우가 된다. AND게이트(95)의 로우는 이진 카운터(93)의 RST 입력에 그대로 전달되어, 카운터는 리세트되고 픽셀 클럭으로부터 오는 펄스를 카운트 한다.
AND게이트(95)의 입력이 로우일때, AND게이트(95)는 AND게이트(97)가 제7도에 표시된 바와같이 마스크 DAC R/WR 신호를 불활성화시키도록 AND게이트(97)에 로우 입력을 제공한다. DAC 어드레스 신호(제7도 도시되지 않음)는 본질적으로 전체 전송 싸이클동안 지속되기 때문에, 이진 카운터(93), AND게이트(95 및 97) 및 OR게이트(87,89)의 타이밍은 IOW 및 IOR 스트로브 신호에 의해 제어된다고 생각할 수도 있다. 이러한 관점에서, IOR 및 IOW 신호가 불활성이 되면, 논리 값 "1" 또는 하이(high)는 AND게이트(95)의 3개의 입력 모두에 나타난다. 이러한 하이 신호는 이진 카운터(93)의 RST 입력을 디세이블하며 카운터가 픽셀 클럭에서 나오는 펄스들을 카운터 할 수 있게 한다. AND게이트(95)의 하이 출력은 AND게이트(97)가 이진 카운터(93)의 반전된 8출력이 통과하는 것을 가능케한다. 이진 카운터(93)의 반전된 8출력은 카운터(93)가 리세트될때 이미 논리값 1을 갖고 있다. 그러므로, 불활성화 하는 IOW 또는 IOR 신호 결과로 AND게이트(97)가 인에이블될때, 상기 신호는 논리값 1 상태로 반전된 8출력 라인을 거쳐 마스크 DAC R/WR 라인에 이른다. 마스크 DAC R/WR이 활성화인 동안 OR게이트(87,89) 출력은 IOR, IOW 및 DAC 어드레스 라인에 있는 신호에 관계없이 하이를 유지함으로써 마스크 DAC R/WR 라인의 활성 신호는 OR게이트(87, 89)를 디세이블하는데 유효하다.
이진 카운터(93)가 제7도에서 번호가 매겨진 픽셀 펄스에 의해 표시된 바와같이 픽셀 클럭 펄스를 카운트하는 동안 OR게이트(87,89)는 디세이블되고, 마스크 DAC R/WR 라인은 활성을 유지할 것이다. 8번째 픽셀 펄스가 카운트되면, 카운터 (93)의 반전된 8출력은 로우로 진행하여, AND게이트(97)를 디세이블하며 마스크 DAC R/WR 라인으로 하여금 비활성화로 진행시킨다. 비디오 DAC가 어드레스되고 있다면(즉, DAC 어드레스 라인이 활성상태이면) OR게이트(87,89)는 IOR 및 IOW 신호를 다시 통과시킬 수 있다.
비디오 DAC(15)로 들어가는 DACIOW 또는 DACIOR 스트로브 신호가 끝난 다음 소정의 시간 동안 OR게이트(87,89)를 디세이블함으로써, 인터페이스는 판독 또는 기록 스트로브 신호들이 최소한 소정의 시간만큼 항상 분리되도록 하기 위해 연속의 판독 또는 기록 스트로브 신호의 비디오 DAC에 대한 전송을 검출한다. 소정의 시간은 카운터의 데이타 입력 D에 연결된 논리 값 1을 클럭하는 픽셀 클럭 펄스에 응답하여 이진 카운터(93)에 의해 발생된다.
제7도의 타이밍 다이어그램을 더 구체적으로 참조하면 두개의 연속의 전송 싸이클들의 관련 신호들이 도시되어 있다. 제1 및 제2전송 싸이클은 거의 제4c도에서 도시된 제1 및 제2싸이클과 관련된 시간이며, 그것은 제1전송 싸이클은 정상 길이(T1)이며, 한편, 제2전송 싸이클은 연장된(T5) 형태이고 제1전송 싸이클 바로 뒤를 따른다는 것을 의미한다.
본 발명에 따라서, DACIOR 또는 DACIOW 신호가 제1싸이클의 끝에서 불활성이 된 후, 마스크 DAC R/WR신호는 소정 8개의 픽셀 클럭 펄스 동안 활성이 된다. 이러한 소정의 시간 동안, IOW/IOR 신호는 제2싸이클동안 활성으로 진행한다. 그러나, 게이트(87,89)는 디세이블되고 DACIOW/DACIOR는 생기지 않는다. 그 대신에, 제8픽셀 펄스가 이진 카운터(93)에 의해 카운트된 후 마스크 DAC R/WR 신호가 불활성화 될때까지 DACIOW/DACIOR은 지연된다. 제7도의 파형에서 알 수 있는 바와같이, 제2 IOW/IOR 신호는 표 1의 어떠한 타이밍 매개변수도 위반하지 않은 양만큼 분리되는 DACIOW/DACIOR 신호로 파형이 바뀐다.
제2전송 싸이클의 판독/기록 명령을 비디오 DAC(15)로 지연되게 전달한 것을 보상하기 위하여, 대기 상태 발생기는 READY 라인을 불활성으로 만들어서, 제5도의 흐름도에 관련하여 기술된 바와같이 MPU(19)는 전송 싸이클내로 대기 상태 기계 싸이클을 삽입하게 된다. OR게이트(87,89)가 인에이블되고, IOR/IOW 스트로브 신호가 DACIOR/DACIOW로써 비디오 DAC(15)에 도달하자마자, READY 신호는 활성 상태로 복귀하며(제7도 참조) MPU(19)는 정상 전송 싸이클의 기계 싸이클을 수행하도록 복귀한다. 상기 방법에서, 제2전송 싸이클은 IOR/IOW 스트로브에 부과된 지연과 거의 같은 양만큼 지연된다. 이러한 관점에서, IOW/IOR 스트로브가 싸이클의 초기에서 즉시 활성으로 진행하지 못하기 때문에, 제7도의 T5는 제4c도에서 제안된 바와 같은 T1+T2와 거의 같아야 할 필요가 없다는 것에 주의해야 한다.
READY 신호를 불활성화시켜 MPU(19)가 대기 상태 기계 싸이클을 전송 싸이클에 삽입시키도 하기 위해, 활성 DAC 대기 신호가 샘플 및 지연회로(99)에 의해 발생되어야만 한다. 그러나, 활성 DAC 대기 신호는, AND게이트(109)가 인에이블되지 않은 한 READY 신호를 불활성 시키기 위해 제어 논리부(69)에 도달하지 못한다. AND게이트(109)는 래치(111)의 Q 출력의 활성 신호에 의해 인에이블된다. 래치(111)의 Q 출력은, 래치의 클럭 입력(CK)에서의 로우 신호에 응답하여 래치의 데이타 입력(D)에 하이 신호가 들어올때 활성으로 된다. CK 입력은 CMD 제어 신호를 수신한다. 각 전송 싸이클의 초기동안, CMD 라인은 제7도에서 알 수 있는 바와 같이 불활성 또는 로우가 된다. 래치(111)의 CK 입력의 로우 입력에 응답하여, AND 게이트(113)의 출력 신호는 래치(111)의 데이타 입력 D으로부터 Q 출력으로 통과되며, CK 입력이 로우를 유지하는 동안, 데이타 입력 신호는 Q 출력으로 통과된다. CMD 라인이 전송 싸이클 동안 활성으로 되면, 래치(111)의 Q 출력은 데이타 입력 D으로부터 Q 출력으로 통과된 최종 신호를 유지한다.
마스크 DAC R/WR 신호가 불활성이 되고 DACIOR/DACIOW 스트로브 신호가 제2전송 싸이클에서 발생될때, CMD 라인은 활성이며 플립-플롭(103)을 리세트 상태로부터 해제한다.
CMD 라인은 AND 게이트(114)에 의해 플립-플롭(103)의 반전된 입력(RST)에 연결된다. AND 게이트(114)는, 그것의 제2입력이 이후 기술되는 바와 같이 보통 하이인 리세트 명령 라인임으로 평상시에는 인에이블된다. 명령(CMD) 라인이 불활성일때, 플립-플롭(103)은 D 입력으로부터 데이타를 자유롭게 받아들이게 된다. 이러한 관점에서, 플립-플롭(103)의 Q 출력은 NAND 게이트(101)의 입력들중 하나로서 그 값이 하이이므로 NAND 게이트(101)는 인에이블된다. NAND 게이트(101)의 다른 입력은 AND 게이트(35)의 출력으로부터 오며 DACIOR/DACIOW 신호가 존재할때 AND 게이트(95) 출력은 로우가 된다. 그러므로, CMD 신호에 의해 플립플롭(103)의 리세트 상태로부터 해제되면, 플립플롭(103)은 즉시 DACIOR/DACIOW 라인을 샘플에서 비디오 DAC(15)에 대한 활성 판독/기록 신호의 존재를 검출한다. DACIOR/DACIOW 라인은 예를들면 25MHz인 타임 베이스의 주파수에서 샘플된다.
CMD 신호의 존재에 의한 D 플립-플롭(103)의 해제는 전송 싸이클이 진행중인 것을 표시한다. 만약 활성 판독/기록 신호가 CMD 라인이 활성이 된 후 DACIOR/DACIOW 라인상에 나타나지 않는다면, AND 게이트(95)의 출력은 하이가 될 것이다. 이러한 하이 신호는 타임 베이스의 연속 펄스로 플립-플롭(103)의 Q 출력으로 클럭되고 그리고 나서 D 플립-플롭(105,107)의 Q 출력으로 클럭될 것이다. D 플립-플롭(107)의 출력은 DAC 대기 신호이며, 그것은 DACIOR/DACIOW 라인의 플립-플롭(103)에서 샘플링과 지연된 관계에 따라 활성이 된다. 이러한 지연은 DACIOR/DACIOW가 필요한 최소 폭을 갖도록 한다.
래치(111) 및 AND 게이트(113)는 검출 회로(116)을 구성하는데 이 검출 회로(116)은 두 연속 판독/기록 스트로브 신호들 사이의 소정의 최소 분리 시간을 위반하는 두개의 연속하는 전송 싸이클들이 IOW/IOR 라인상의 활성 신호를 발생하는 시점을 검출한다. 상기 최소 분리 시간이 위반되지 않을때, AND 게이트(113)의 출력은 로우이고, CMD 라인이 불활성화일때 AND 게이트의 로우 출력은 래치의 데이타 입력 D으로부터 Q 출력으로 통과되며, AND 게이트(109)를 디세이블하고 활성 DAC 대기 신호가 통과하지 못하게 된다. 그러나, 상기 최소 분리시간이 위반될때는 AND 게이트(113)의 출력은 하이이고, CMD 라인이 제7도에 도시된 바와 같이 제2싸이클의 초기에서 불활성일때 상기 하이 출력은 래치(111)의 Q 출력에 도달한다. Q 출력은 CND 라인이 다시 불활성될때까지 AND 게이트(113)로부터 나온 하이출력을 유지한다. 제7도를 참조하면 인에이블 파형은 래치(111)의 Q 출력에서 나타나는 신호에 해당한다. 알 수 있는 바와 같이, 인에이블 신호는 제2전송 싸이클 기간동안 하이를 제공하여, AND 게이트(109)는 상기 싸이클 동안 발생된 모든 활성 DAC 대기 신호를 통과시킨다. 제어 논리부(69)에 도착한 READY 신호는 활성 DAC 대기 신호에 응답하여, 제7도에서 파형으로 표시된 바와 같이 불활성이 된다. 제2싸이클에 비하여, 제1싸이클은 임의의 이전 판독/기록 전송 싸이클보다 충분히 뒤에 시작된 것으로 가정된다. 그러므로 AND 게이트(109)는 전체 제1싸이클동안 디세이블된 상태를 유지하여, DAC 대기 신호가 제어 논리부(69)에 도달하지 못하게 한다.
AND 게이트(113)의 입력을 살펴보면 DAC 어드레스 라인과 S0 및 S1 명령 라인은 마스크 DAC R/WR 신호를 래치(111)로 통과시키는 게이트를 선택적으로 인에이블 또는 디세이블하도록 작용한다. DAC 어드레스, S0 및 S1 라인은 전송 사이클의 초기에서 활성 신호를 운반하고, 그들이 모두 활성일때 제2전송 싸이클이 비디오 DAC(15)에 전송된 것을 표시한다. 이러한 표시에 응답하여, 마스크 DAC R/WR 라인의 상태는 AND 게이트(113)이 출력 상태를 제어한다. 만일 마스크 DAC R/WR 라인의 신호에 의해 측정된 시간이 종료하기 전에 제2전송 싸이클이 시작한다면, AND 게이트(113)의 세 입력은 모두 하이가 되며, AND 게이트(113)의 출력도 하이가 된다. 전송 싸이클의 시작 동안, CMD 라인은 불활성이며, 그 결과, AND 게이트(113)의 하이 출력은 래치(111)의 Q 출력으로 통과된다. 앞에서 설명된 바와 같이, 래치(111)의 Q 출력에 하이 신호가 있기 때문에 AND 게이트(109)가 활성 DAC 대기 신호를 제어 논리부(69)로 보낼 수 있다. 배타적 OR 게이트(115)는 상태 라인 S0 및 S1 상태를 표시하는 단일 입력을 AND 게이트(113)에 제공하기 위해 사용된다. 이러한 관점에서, 제7도의 상태 파형은 배타적 OR 게이트(115)의 출력에 나타내는 신호에 해당한다. 마지막으로 리세트 라이은 전원스위치를 올릴때와 같은 특정 상황에서 인터페이스(83)을 초기화하기 위해 제공된다. 리세트 라인상의 활성 로우는 이진 카운터(93) 및 D 플립-플롭(103)를 리세트하며, 그 결과 DAC 대기 라인 초기상태로 불활성 상태가 되도록 한다.
앞에서 상세히 기술된 바와 같이, 본 발명은 현재 사용중인 주변 장치용 소프트웨어와 그 소프트웨어가 설계될 때의 시스템보다 훨씬 더 빠른 속도로 동작하는 새로운 중앙 처리 시스템 사이에서도 호환성을 보장하는 시스템을 제공하는 것임을 알 수 있다. 예를들면, 비디오 DAC에서 칼라 팔레트의 판독/기록 명령은, 타이밍 매개 변수가 유지되도록 하는 시도로써 소프트웨어상의 지연(예를들면 무연산 싸이클 또는 점프 명령)없이도 프로그램될 수 있다. 타이밍 매개 변수를 위반되지 않도록 보장해줌과 동시에, 비디오 인터페이스(11)에 있는 인터페이스(83)는 MPU 시스템이 허용하는 한 빨리 명령을 수행하는 것을 가능하게 하며(즉, 정상 싸이클), 타이밍 매개 변수의 위반을 방지하는데 필요한 때에만 시스템을 느리게 진행한다(즉, 연장된 싸이클). 이러한 관점에서, 본 발명의 속도가 느린 시스템이 불리하게 하지는 않는다. 왜냐하면 인터페이스(83)가 이전 판독/기록 스트로브 신호에 대해 그 다음에 오는 어떤 판독/기록 스트로브 신호를 새로운 파형을 갖는 신호로 만들어야만 하는 때에만 인터페이스(83)는 대기 상태 기계 싸이클을 전송 싸이클내로 삽입하기 때문이다.

Claims (24)

  1. 처리 장치 및 관련 주변 장치들간에 데이타의 신뢰성 있는 전송을 보장함과 동시에 처리 능력 및 입/출력 능력을 최적으로 하는 컴퓨터 시스템에 있어서, 클럭 싸이클을 가지며, 고속 정상 전송 싸이클들(high-speed nominal transfer cycles)을 제공하는 대역폭을 갖는 시스템 버스에 접속되는 마이크로프로세스 유니트(MPU)와, 상기 MPU로 부터의 판독 또는 기록 신호들에 응답하고, 연속의 데이타 전송들에서 제1판독 혹은 기록 신호가 제공된 후 제2판독 혹은 기록 신호가 상기 MPU로부터 너무 빨리 제공되는 것을 제한하는 타이밍 매개 변수(a timing parameter)를 갖는 주변 장치(상기 연속의 데이타 전송들은 상기 MPU와 상기 주변 장치 사이에서 실행되며, 상기 판독 혹은 기록 신호들은 상기 주변 장치의 한 세트의 입력에 제공된다)와, 상기 MPU와 상기 주변 장치 사이에 삽입 접속되는 주변 장치 인터페이스(a peripheral interface)와, 상기 주변 장치 인터페이스에 상기 시스템 버스를 접속시키는 버스 인터페이스(a bus interface)를 포함하며, 상기 주변 장치 인터페이스는, 상기 주변 장치가 제1판독 혹은 기록 신호를 수신한 후 제2판독 혹은 기록 신호를 수신하기까지의 시간주기(a timing period; 이 시간 주기는 상기 타이밍 매개 변수와 같거나 혹은 2보다 크며, 상기 주변 장치 인터페이스에 의하여 상기 MPU 클럭 싸이클에 관하여 비동기적으로 결정된다)를 측정하는 타이밍 회로(a timing circuit)와, 상기 타이밍 회로에 응답하여서, 상기 제1판독 혹은 기록 신호와 관련한 상기 시간 주기가 경과하기 전에 상기 MPU에 의하여 제2판독 혹은 기록 신호가 전송되는 것을 감지하고, 그 응답으로 MPU로부터의 상기 제2판독 혹은 기록 신호와 관련된 제2전송 싸이클을 연장하는 신호를 상기 MPU에 전송하며, 그렇게하므로써 상기 MPU로부터 전송되는 두 연속의 판독 혹은 기록 신호들이 상기 타이밍 매개 변수를 위반하지 않도록 보장하는 동기 회로(a synchronization circuit)를 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  2. 제1항에 있어서, 상기 주변 장치 인터페이스는, 상기 타이밍 회로에 접속되며, 상기 타이밍 매개 변수가 제2판독 또는 기록 신호에 의해 위반되지 않은 것을 보장하도록 시간 주기 동안 주변 장치로의 입력세트를 디세이블링(disabling)하는 게이팅 회로(a gating circuit)를 더 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  3. 제2항에 있어서, 상기 게이팅 회로는, 논리 회로부가 제1판독 또는 기록 신호에 관련된 인에이블 신호를 수신할때 상기 타이밍 회로를 인에이블시키는 신호를 제공하며, 상기 타이밍 회로가 상기 시간 주기와 실질적으로 같은 정도의 지연을 수행하는 동안 상기 주변 장치로의 인에이블 신호를 차단하며, 상기 타이밍 회로가 상기 지연을 수행한 후 제2판독 또는 기록 신호에 관련된 인에이블 신호를 전송하는 논리 회로부를 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  4. 제3항에 있어서, 상기 주변 장치에 대한 클럭킹 메커니즘의 동작 속도에 상기 시간 주기기 비례하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  5. 제1항에 있어서, 상기 타이밍 회로는 상기 주변 장치에 의해 제공된 타이밍 신호에 의해 클럭되는 카운터 회로를 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  6. 제5항에 있어서, 상기 주변 장치는 디스플레이 터미널인 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  7. 제6항에 있어서, 상기 타이밍 신호는 픽셀 클럭 신호를 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  8. 제1항에 있어서, 상기 주변 장치가 제1판독 또는 기록 신호를 수신한 후 시간 주기내에서 주변 장치 인터페이스에 의해 상기 제2판독 또는 기록 신호가 수신될 때를 표시하는 중첩 검출 회로(a overlap detection circuit)를 상기 동기 회로가 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  9. 제8항에 있어서, 제1판독 또는 기록 신호를 상기 주변 장치가 수신하는 때를 표시하는 샘플 및 지연 회로를 상기 동기 회로가 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  10. 제9항에 있어서, 제1판독 또는 기록 신호를 수신한 후 시간 주기내에서 상기 주변 장치 인터페이스에 의해 수신된 제2판독 또는 기록 신호를 상기 중첩 검출 회로가 표시하고, 상기 주변 장치가 제1판독 또는 기록 신호를 상기 샘플 및 지연 회로가 수신하는 것을 표시할때, 상기 제2판독 또는 기록 신호에 관련된 데이타 전송의 수행을 일시적으로 중단시키도록 상기 MPU에 신호를 전송하는 논리 회로부를 상기 동기 회로가 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  11. 클럭 싸이클을 갖은 프로세서와 하나 또는 그 이상의 주변 장치 세트사이의 버스상에서 신뢰할 수 있는 데이타 전송을 보장하면서 입/출력 처리능력을 최적으로 하는 컴퓨터 시스템에 있어서, 외부적으로 발생된 판독 또는 기록 신호들에 응답하고, 연속의 데이타 전송들에서 제1외부 판독 또는 기록 신호가 제공된 후 제2외부 판독 또는 기록 신호가 너무 빨리 제공되는 것을 제한하는 타이밍 매개 변수를 갖는 주변 장치(상기 연속의 데이타 전송들은 상기 주변 장치에 의해 실행되며, 상기 판독 또는 기록신호들은 상기 주변 장치의 한 세트의 입력에 제공된다)와, 상기 주변 장치와 상기 버스 사이에 삽입 접속되는 주변 장치 인터페이스(a peripheral interface)와, 상기 주변 장치 인터페이스에 상기 버스를 접속시키는 버스 인터페이스(a bus interface)를 포함하되, 상기 주변 장치 인터페이스는, 상기 주변 장치가 제1판독 혹은 기록 신호를 수신한 후 제2판독 혹은 기록 신호를 수신하기까지의 시간 주기(a timing period ; 이 시간 주기는 상기 타이밍 매개 변수와 같거나 혹은 그보다 크며, 상기 주변 장치 인터페이스에 의하여 상기 프로세서 클럭 싸이클에 관하여 비동기적으로 결정된다)를 측정하는 타이밍 회로(a timing circuit)와, 상기 타이밍 회로에 응답하여서, 상기 제1판독 혹은 기록 신호와 관련한 상기 시간 주기가 경과하기 전에 제2판독 또는 기록 신호원에 의하여 제2판독 혹은 기록 신호가 전송되는 것을 감지하고, 그 응답으로 상기 신호원으로 부터 상기 제2판독 혹은 기록신호와 제2전송 싸이클을 연장하는 신호를 제2판독 또는 기록신호원에 전송하는 동기 회로(a synchronization circuit)를 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  12. 제11항에 있어서, 상기 주변 장치 인터페이스는, 상기 타이밍 회로에 접속되며, 상기 타이밍 매개 변수가 제2판독 또는 기록 신호에 의해 위반되지 않은 것을 보장하도록 시간 주기동안 주변 장치로의 입력 세트를 디세이블링(disabling)하는 게이팅 회로를 더 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  13. 제12항에 있어서, 상기 게이팅 회로는 상기 지연 회로에 접속되며, 논리 회로부가 제1판독 또는 기록 신호에 관련된 인에이블 신호를 수신할 때 상기 타이밍 회로를 인에이블시키는 신호를 제공하며, 상기 타이밍 회로가 상기 시간 주기와 실질적으로 같은 정도의 지연을 수행하는 동안 상기 주변 장치로의 인에이블 신호를 차단하며, 상기 타이밍 회로가 상기 지연을 수행한 후 제2판독 또는 기록 신호에 관련된 인에이블 신호를 전송하는 논리 회로부를 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  14. 제13항에 있어서, 상기 주변 장치에 대한 클럭킹 메커니즘의 동작 속도에 상기 시간 주기에 비례하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  15. 제14항에 있어서, 상기 타이밍 회로는 상기 주변 장치에 의해 제공된 타이밍 신호에 의해 클럭되는 카운터 회로를 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  16. 제15항에 있어서, 상기 주변 장치는 디스플레이 터미널인 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  17. 제16항에 있어서, 상기 타이밍 신호는 픽셀 클럭 신호를 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  18. 제11항에 있어서, 상기 주변 장치가 제1판독 또는 기록 신호를 수신한 후, 시간 주기내에서 상기 주변 장치 인터페이스에 의해 상기 제2판독 또는 기록 신호가 수신될 때를 표시하는 중첩 검출 회로를 상기 동기 회로가 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  19. 제18항에 있어서, 제1판독 또는 기록 신호를 상기 주변 장치가 수신하는 때를 표시하는 샘플 및 지연 회로를 상기 동기 회로가 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  20. 제19항에 있어서, 제1판독 또는 기록 신호를 수신한 후, 시간 주기내에서 상기 주변 장치 인터페이스에 의해 수신된 제2판독 또는 기록 신호를 상기 중첩 검출 회로가 표시하고, 상기 주변 장치가 제1판독 또는 기록 신호를 수신하는 것을 상기 샘플 및 지연 회로가 표시할때, 상기 제2판독 또는 기록 신호에 관련된 데이타 전송의 수행을 일시적으로 중단시키도록 신호를 전송하는 논리 회로부를 상기 동기 회로가 포함하는 것에 특징이 있는 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템.
  21. 클럭 싸이클을 갖는 명령원(a source of command)과, 상기 명령원에 접속되며 상기 명령원의 정상 전송 싸이클을 초과하는 제한된 명령 응답 시간을 갖는 주변 장치를 포함하는 컴퓨터 시스템에서, 상기 명령원 또는 상기 주변 장치의 처리 능력을 불필요하게 감소시킴이 없이 상기 주변 장치가 자신이 수용할 수 있는 속도로 자신의 한 입력을 통해서 연속 명령을 수신하는 것을 보장하는 방법에 있어서, 상기 명령원에 의해 상기 명령원과 상기 주변 장치의 입력 사이에 삽입 접속된 인터페이스에 상기 주변 장치용 제1명령을 전송하는 단계와, 상기 명령원에 대한 정상 전송 싸이클 시간에 일치하게 상기 인터페이스에 의해 상기 제1명령을 상기 주변 장치로 전송시키는 단계와, 제1명령을 수신한 후 상기 명령원의 클럭 싸이클에 무관하게, 상기 주변 장치의 수행 속도에 비례하는 시간 주기동안 상기 주변 장치의 입력을 상기 인터페이스에 의해 마스킹(masking)하는 단계와, 상기 시간 주기내에서 제2명령을 상기 인터페이스에 전송하는 단계와, 상기 인터페이스에서 상기 명령원으로 시간 주기의 종료를 표시하는 READY 신호를 전송하는 단계와, 상기 명령원이 상기 인터페이스로부터의 READY 신호를 수신할때까지 제2명령의 수행을 일시적으로 지연시키도록 상기 명령원에 의해 대기 신호를 삽입하는 단계를 포함하는 것에 특징이 있는 연속하는 명령들간의 타이밍 분리를 보장하는 방법.
  22. 제21항에 있어서, 제1명령에 연관된 시간 주기의 종료후, 상기 주변 장치에 의해 제2명령을 수신하는 단계를 추가하는 것에 특징이 있는 연속하는 명령들간의 타이밍 분리를 보장하는 방법.
  23. 제22항에 있어서, 상기 시간 주기는 비디오 DAC의 프리-챠즈 시간(a pre-charge time)과 거의 동일하도록 하는 것에 특징이 있는 연속하는 명령들간의 타이밍 분리를 보장하는 방법.
  24. 제23항에 있어서, 상기 시간 주기는 상기 명령원들에 대한 클럭킹 메커니즘(the clocking mechanism)에 관계없는 속도를 갖는 주변 장치에 대한 클럭킹 메커니즘의 동작 속도에 비례하는 것에 특징이 있는 연속하는 명령들간의 타이밍 분리를 보장하는 방법.
KR1019900018084A 1989-11-13 1990-11-09 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템 및 방법 KR940005346B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43705989A 1989-11-13 1989-11-13
US437,059 1989-11-13

Publications (2)

Publication Number Publication Date
KR910010302A KR910010302A (ko) 1991-06-29
KR940005346B1 true KR940005346B1 (ko) 1994-06-17

Family

ID=23734893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900018084A KR940005346B1 (ko) 1989-11-13 1990-11-09 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템 및 방법

Country Status (15)

Country Link
US (1) US5388250A (ko)
EP (1) EP0428293B1 (ko)
JP (1) JPH077377B2 (ko)
KR (1) KR940005346B1 (ko)
CN (1) CN1020812C (ko)
AU (1) AU640695B2 (ko)
CA (1) CA2023998A1 (ko)
DE (1) DE69031206T2 (ko)
FI (1) FI905611A0 (ko)
MY (1) MY107731A (ko)
NO (1) NO904908L (ko)
NZ (1) NZ235802A (ko)
PT (1) PT95850A (ko)
SG (1) SG43746A1 (ko)
TW (1) TW230244B (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481675A (en) * 1992-05-12 1996-01-02 International Business Machines Corporation Asynchronous serial communication system for delaying with software dwell time a receiving computer's acknowledgement in order for the transmitting computer to see the acknowledgement
KR950008661B1 (ko) * 1993-05-20 1995-08-04 현대전자산업주식회사 버스 다중화 회로
US5537582A (en) * 1993-05-21 1996-07-16 Draeger; Jeffrey S. Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
US5553275A (en) * 1993-07-13 1996-09-03 Intel Corporation Method and apparatus for synchronously detecting phase relationships between a high-frequency clock and a low-frequency clock
JP2551338B2 (ja) * 1993-07-23 1996-11-06 日本電気株式会社 情報処理装置
US5834956A (en) 1995-12-29 1998-11-10 Intel Corporation Core clock correction in a 2/N mode clocking scheme
US5821784A (en) * 1995-12-29 1998-10-13 Intel Corporation Method and apparatus for generating 2/N mode bus clock signals
US5802132A (en) * 1995-12-29 1998-09-01 Intel Corporation Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
US5826067A (en) * 1996-09-06 1998-10-20 Intel Corporation Method and apparatus for preventing logic glitches in a 2/n clocking scheme
US5862373A (en) * 1996-09-06 1999-01-19 Intel Corporation Pad cells for a 2/N mode clocking scheme
US5999995A (en) * 1996-12-27 1999-12-07 Oki Data Corporation Systems for adjusting a transfer rate between a host and a peripheral based on a calculation of the processing rate of the host
US6343352B1 (en) * 1997-10-10 2002-01-29 Rambus Inc. Method and apparatus for two step memory write operations
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US6055587A (en) * 1998-03-27 2000-04-25 Adaptec, Inc, Integrated circuit SCSI I/O cell having signal assertion edge triggered timed glitch filter that defines a strobe masking period to protect the contents of data latches
US6087867A (en) * 1998-05-29 2000-07-11 Lsi Logic Corporation Transaction control circuit for synchronizing transactions across asynchronous clock domains
EP0978788A1 (en) * 1998-08-04 2000-02-09 Texas Instruments France Improvements in or relating to direct memory access data transfers
EP0978787A1 (en) * 1998-08-04 2000-02-09 Texas Instruments France Improvements in or relating to transferring data between asynchronous device
US6450509B2 (en) * 1999-04-01 2002-09-17 Heeling Sports Limited Heeling apparatus and method
US6529570B1 (en) * 1999-09-30 2003-03-04 Silicon Graphics, Inc. Data synchronizer for a multiple rate clock source and method thereof
US7096377B2 (en) * 2002-03-27 2006-08-22 Intel Corporation Method and apparatus for setting timing parameters
US20070121398A1 (en) * 2005-11-29 2007-05-31 Bellows Mark D Memory controller capable of handling precharge-to-precharge restrictions
TWI506443B (zh) * 2012-12-27 2015-11-01 Mediatek Inc 處理器與週邊裝置之間的媒介週邊介面及其通信方法
CN109298248B (zh) * 2018-11-12 2020-12-01 中电科仪器仪表有限公司 一种基于fpga的复杂脉冲调制序列测量电路及方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3587044A (en) * 1969-07-14 1971-06-22 Ibm Digital communication system
US3623017A (en) * 1969-10-22 1971-11-23 Sperry Rand Corp Dual clocking arrangement for a digital computer
US4050096A (en) * 1974-10-30 1977-09-20 Motorola, Inc. Pulse expanding system for microprocessor systems with slow memory
US4050097A (en) * 1976-09-27 1977-09-20 Honeywell Information Systems, Inc. Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
US4144562A (en) * 1977-06-23 1979-03-13 Ncr Corporation System and method for increasing microprocessor output data rate
US4143418A (en) * 1977-09-21 1979-03-06 Sperry Rand Corporation Control device and method for reading a data character from a computer at a fast rate and transmitting the character at a slow rate on a communication line
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
DE2812242A1 (de) * 1978-03-21 1979-10-04 Bosch Gmbh Robert Programmierbare ablaufsteuerung
US4262331A (en) * 1978-10-30 1981-04-14 Ibm Corporation Self-adaptive computer load control
US4539635A (en) * 1980-02-11 1985-09-03 At&T Bell Laboratories Pipelined digital processor arranged for conditional operation
US4494196A (en) * 1981-05-19 1985-01-15 Wang Laboratories, Inc. Controller for peripheral data storage units
US4476527A (en) * 1981-12-10 1984-10-09 Data General Corporation Synchronous data bus with automatically variable data rate
US4517641A (en) * 1982-04-30 1985-05-14 International Business Machines Corporation Lookahead I/O device control subsystem
US4807109A (en) * 1983-11-25 1989-02-21 Intel Corporation High speed synchronous/asynchronous local bus and data transfer method
JPS61255392A (ja) * 1985-05-09 1986-11-13 横河電機株式会社 カラ−画像表示装置
FR2586118B1 (fr) * 1985-08-06 1990-01-05 Bull Sems Procede d'echange de donnees entre un microprocesseur et une memoire et dispositif permettant la mise en oeuvre du procede
JPS6243764A (ja) * 1985-08-21 1987-02-25 Nec Corp バス・ステ−ト制御回路
JP2520872B2 (ja) * 1985-12-10 1996-07-31 オリンパス光学工業株式会社 画像表示装置
US4769632A (en) * 1986-02-10 1988-09-06 Inmos Limited Color graphics control system
US4888684A (en) * 1986-03-28 1989-12-19 Tandem Computers Incorporated Multiprocessor bus protocol
JPH0619760B2 (ja) * 1986-04-23 1994-03-16 日本電気株式会社 情報処理装置
JPS6354655A (ja) * 1986-08-25 1988-03-09 Hitachi Ltd バスタイミング制御回路
DE3788721T2 (de) * 1986-10-17 1994-06-09 Fujitsu Ltd Datenübertragungssystem mit übertragunsdiskriminierungsschaltung.
JPS63155340A (ja) * 1986-12-19 1988-06-28 Fujitsu Ltd 記憶装置の読出し方式
US4851995A (en) * 1987-06-19 1989-07-25 International Business Machines Corporation Programmable variable-cycle clock circuit for skew-tolerant array processor architecture
US5151986A (en) * 1987-08-27 1992-09-29 Motorola, Inc. Microcomputer with on-board chip selects and programmable bus stretching
US5125084A (en) * 1988-05-26 1992-06-23 Ibm Corporation Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller
US5040109A (en) * 1988-07-20 1991-08-13 Digital Equipment Corporation Efficient protocol for communicating between asychronous devices
US5060239A (en) * 1989-05-12 1991-10-22 Alcatel Na Network Systems Corp. Transfer strobe time delay selector and method for performing same

Also Published As

Publication number Publication date
FI905611A0 (fi) 1990-11-13
CN1051801A (zh) 1991-05-29
DE69031206D1 (de) 1997-09-11
JPH077377B2 (ja) 1995-01-30
CA2023998A1 (en) 1991-05-14
US5388250A (en) 1995-02-07
CN1020812C (zh) 1993-05-19
TW230244B (ko) 1994-09-11
PT95850A (pt) 1992-07-31
AU6464190A (en) 1991-05-16
DE69031206T2 (de) 1998-02-12
NO904908D0 (no) 1990-11-12
KR910010302A (ko) 1991-06-29
MY107731A (en) 1996-05-30
NO904908L (no) 1991-05-14
EP0428293A3 (en) 1992-02-19
SG43746A1 (en) 1997-11-14
JPH03160548A (ja) 1991-07-10
EP0428293A2 (en) 1991-05-22
AU640695B2 (en) 1993-09-02
EP0428293B1 (en) 1997-08-06
NZ235802A (en) 1994-02-25

Similar Documents

Publication Publication Date Title
KR940005346B1 (ko) 연속하는 판독/기록 신호들간의 타이밍 분리를 보장하는 컴퓨터 시스템 및 방법
US5754191A (en) Method and apparatus for optimizing pixel data write operations to a tile based frame buffer
US4271466A (en) Direct memory access control system with byte/word control of data bus
EP0568078B1 (en) External interface for a high performance graphics adapter allowing for graphics compatibility
EP0391173B1 (en) Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same
US5333294A (en) Configurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width
EP0426329A1 (en) Combined synchronous and asynchronous memory controller
US5594926A (en) Hard disk accelerating system for computer
US6205509B1 (en) Method for improving interrupt response time
US5461701A (en) System and method for peripheral data transfer
US6070204A (en) Method and apparatus for using universal serial bus keyboard to control DOS operations
US4665482A (en) Data multiplex control facility
US5572684A (en) IEEE 488 interface and message handling method
US5943504A (en) System for transferring pixel data from a digitizer to a host memory using scatter/gather DMA
KR940003631B1 (ko) 제어장치를 구비한 시스템
US6728813B1 (en) Method and apparatus for converting non-burst write cycles to burst write cycles across a bus bridge
JP2828643B2 (ja) 直線描画装置
US6020900A (en) Video capture method
JPS645311B2 (ko)
KR920008958B1 (ko) 표시제어장치
JPH03129478A (ja) 図形処理装置並びに、それを用いたデータ処理装置と、図形描画方法及び中央処理装置
KR940001013B1 (ko) 영상처리 장치 및 그것을 사용하는 시스템
JPS62125460A (ja) I/oアクセス方式
JPS61198331A (ja) 表示デ−タ転送制御方法
JPH07182266A (ja) インターフェース装置

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee