KR940007813B1 - 디스플레이 장치가 부착된 데이타 처리장치 - Google Patents

디스플레이 장치가 부착된 데이타 처리장치 Download PDF

Info

Publication number
KR940007813B1
KR940007813B1 KR1019910000904A KR910000904A KR940007813B1 KR 940007813 B1 KR940007813 B1 KR 940007813B1 KR 1019910000904 A KR1019910000904 A KR 1019910000904A KR 910000904 A KR910000904 A KR 910000904A KR 940007813 B1 KR940007813 B1 KR 940007813B1
Authority
KR
South Korea
Prior art keywords
command
data processing
processing apparatus
hardware
server
Prior art date
Application number
KR1019910000904A
Other languages
English (en)
Other versions
KR910014793A (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 KR910014793A publication Critical patent/KR910014793A/ko
Application granted granted Critical
Publication of KR940007813B1 publication Critical patent/KR940007813B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • 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/46Multiprogramming arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • G09G3/3622Control of matrices with row and column drivers using a passive matrix
    • G09G3/3629Control of matrices with row and column drivers using a passive matrix using liquid crystals having memory effects, e.g. ferroelectric liquid crystals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Liquid Crystal Display Device Control (AREA)
  • Debugging And Monitoring (AREA)
  • Eye Examination Apparatus (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

내용 없음.

Description

디스플레이 장치가 부착된 데이타 처리장치
제 1 도는 본 발명을 실현하는 컴퓨트 시스템의 하드웨어장치를 보여주는 블록도.
제 2 도는 제 1 도에 도시된 그래픽 제어기의 세부사항을 보여주는 블록도.
제 3 도는 제 1 도에 도시된 그래픽 카드의 세부사항을 보여주는 블록도.
제 4 도는 본 발명의 실시예가 작동하는 환경 가운데 X-윈도우 시스템의 장치도.
제 5 도는 X-윈도우 시스템의 모듈 장치도.
제 6 도는 이벤트 스케쥴을 보여주는 흐름도.
제 7 도는 서버(server)의 층 구조를 보여주는 도.
제8a도는 화상이 다중-윈도우 시스템의 X-윈도우에 도시되는 방법을 설명하는 도.
제8b도는 다중-윈도우 시스템에서 드로잉 명령의 종래 시간 시퀀스와 그 실행을 설명하는 도.
제9a도는 화상이 다중-윈도우 시스템의 X-윈도우에 도시되는 방법을 설명하는 도.
제9b도는 본 발명의 실시예에 따른 다중-윈도우 시스템에서 드로잉 명령의 시간 시퀀스와 그 실행을 설명하는 도.
제10도는 본 발명의 실시예에 따른 큐 시스템을 보여주는 블록도.
제11도는 이벤트대기( ) 루틴에서 Q스페이스( )를 설명하는 흐름도.
12a도는 이벤트대기( ) 루틴의 제 1 예를 보여주는 흐름도.
제12b도는 이벤트대기( ) 루틴의 제 2 예를 보여주는 흐름도.
제13도는 제 2 도에 도시된 그래픽 카드에 신호파형을 보여주는 도.
제14도는 본 발명에 따른 스케쥴의 층 구조의 개념을 설명하는 도.
제15a도는 그래픽 명령 버퍼의 헤드, 테일 및 인접자유공간을 설명하는 도.
제15b도는 인접자유공간의 헤드어드레스, 테일 어드레스 및 크기의 예를 보여주는 도.
제16a도는 호스트축(host side)에서 명령 변환을 설명하는 도.
제16b도는 제16a도에 도시된 변환 흐름에서 풋블럭( )의 제 1 절반을 설명하는 흐름도.
제16c도는 제16a도에 도시된 변환 흐름의 풋블럭( )의 제 2 절반을 설명하는 흐름도.
제17a도는 리모우트 측(remote side)에서 명령수신과 실행을 설명하는 우측 반쪽흐름도.
제17b도는 리모우트 측에서 명령수신과 실행을 설명하는 좌측 반쪽 흐름도.
제17c도는 제17a도에 도시된 흐름에서 겟블럭( )를 설명하는 흐름도.
제18도는 클라이언트( )로부터 판독요구를 설명하는 흐름도.
제19도는 본 발명이 응용가능한 그래픽 명령 버퍼의 또다른 구조를 보여주는 도.
제20도는 제19도에서 도시된 버퍼구조를 이용하는 Q스페이스( )를 설명하는 흐름도.
제21도는 제20도에 도시된 Q스페이스( )를 이용하는 이벤트대기( )를 설명하는 흐름도.
본 발명은 디스플레이 장치가 부착된 데이타 처리장치에 관한 것인데, 동작을 다중 처리하는 데이타 처리장치와 특히 마우스와 같은 포인팅 장치가 이용된 다중 윈도우에 관한 것이다.
UNIX 또는 OS/2(UNIX는 aT & T사의 등록상표, OS/2는 IBM회사의 등록상표)와 같은 다중작업 동작 시스템에서, 작업은 데이타 처리시스템에 의하여 병렬 및 비동기적으로 실행된다. 예를들면, 시스템이 그 디스플레이를 제어하는데 관련되는 동일 시간에 하나 이상의 작업이 데이타 처리시스템에 의하여 실행될 수 있다.
또한, 네트워크에 의하여 내부 접속된 수개의 호스트 컴퓨터의 그룹에서, 작업이 호스트 컴퓨터의 다른 곳에서 발생되는 시스템으로부터의 처리를 위하여 보내어진다.
다중-윈도우 시스템에서, 처리중 각 작업에 각각 관련되는 정보는 단일 스크린의 각각의 다른 윈도우에서 동시에 디스플레이될 수 있다. X-윈도우는 현재 유용한 전형적인 다중-윈도우 시스템중 하나이다(X-윈도우는 마사츄세츠 기술협회의 등록 상표임).
여기에서, 컴퓨터 단자 디스플레이 장치로써, 리프레시-주사-형 CRT(음극선관)이 일반적으로 이용되며, 메모리 특성을 가지는 벡터-주사-형 CRT는 CaD(컴퓨터 보조 설계)에 대한 큰 고해상 디스플레이로써 이용된다.
벡터-주사-형 CRT에서, 일단 디스플레이된 이미지는 연속 스크린 리프레서 (즉 전체 스크린의 리프레시)가 수행될때까지 그 메모리 특성 때문에 리프레시되지 않는다.
그러나, 동작 속도는 상대적으로 낮아서 이동 커서 디스플레이와 같은 실시간-작동자-기계 인터페이션 디스플레이, 이동 디스플레이, 마우스와 같은 포인팅장치 또는 편집 디스플레이로써 적합하지 못하다. 반면에, 리프레시-주사형 CRT는 메모리 특성이 구비되어 있지 않기 때문에 프레임 주파수를 가지고 리프레시 사이클을 요구한다.
디스플레이에 프레임 주파수로 새로운 화상이 제공된다. 프레임 주파수는 각 프레임당 주사선의 수들의 곱의 역과 각 선당 수평 주사 시간으로써 표시된다.
프레임 주파수는 디스플레이가 명멸(flickering)하지 않도록 60Hz 이상이 요구된다.
비-인터페이스 주사 스킴은 CRT의 두가지 형에 적합하므로 스크린상 데이타의 이동 디스플레이, 즉, 아이콘의 이동 디스플레이는 사용자가 관찰하거나 추적하기가 용이하다.
CRT의 두가지 종류를 가지고, 요구된 디스플레이 해상도가, 예컨대, 다중-윈도우를 명확하게 디스플레이하는 목적으로 더욱 크게됨에 따라, 디스플레이도 더욱 커져서 더 높은 전력 소모, 더 큰 구동기와 더 높은 가격을 초래한다.
이와 같은 큰 고-출력 고-해상 CRT는 여러가지로 불편하다.
이러한 이유 때문에, 플래트 패널형 디스플레이가 최근에 개발되었다.
현재, 다양한 플레트 디스플레이 패널이 있다.
첫째는 스퍼 트위스트 네마틱(STM) 액정을 이용하는 큰 다중화 구동시스템을 사용한다.
두번째는 흑백 디스플레이에 이용된 패널의 변경이다. 세번째는 플라즈마 디스플레이 시스템이다. 이 모두가 CRT시스템의 이미지 데이타 전송 스킴과 스크린 리프레싱에 대하여 60Hz 이상의 프레임 주파수를 가진 비-인터페이스 주사 스킴을 채택하여, 한 전체 스크린에 대한 400 내지 480선과 유사한 주사선의 총수를 요구한다.
1000 이상의 주사선을 가지는 큰 플래트 디스플레이 패널은 아직까지 실제로 이용하지 않고 있다. 이것은 이러한 디스플레이 패널이 플리커를 방지하기 위하여 60Hz 이상의 프레임 주파수를 가진 리프레시 사이클을 요구한다. 또한, 이러한 요구는 교대로 10 내지 50μsec 보다 짧은 단일-선 주사 시간에 이르게 되는데, 이 시간은 너무 짧아서 양질의 컨트라스트를 제공하지 못한다.
CRT를 가지고, 형광 스크린상에 형성된 이미지는 형광 때문에 얼마동안 지속하게 된다. TN-형 LCD(트위스트된 네마틱-형 액정장치)에서, 이미지는 충분한 구동 전압으로 인가하여 수행된 전송 변화를 이용하여 형성된다. 장치의 두가지 형에서, 30Hz 이상의 높은 프레임 주파수를 이용하는 것이 필요하다.
예를들면, 1920 주사선과 각 선당 2500 픽셀, 즉 4, 915, 200 픽셀로 구성되는 CRT 디스플레이 또는 TN-형 LCD에 대하여, 수평 주사 시간은 약 17.5μsec이며 수평 도트 클록 주파수는 약 147Hz이다. CRT의 경우에, 147Hz의 수평 도트 클록 주파수는 현재 유용한 화상 튜브에 이용된 광선총의 최대 전자비임 변조 주파수를 훨씬 능가하는 매우 높은 비임 주사속도에 이루게 되며, 그리하여 정확한 이미지 형상을 이룰 수 없다. TN-형 LCD의 경우에, 1920 주사선의 총수를 구동하는 것은 1/1920의 듀티인자에 대응되는데, 이것은 현재 가능한 약 1/400의 최소 사용가능한 듀티인자 보다도 훨씬 낮다. 한편, 실제 수평 주사속에서 구동하는 것이 이용되면, 프레임 주파수는 30Hz 보다 낮으며, 플리커링은 디스플레이 질을 보다 약화시킨다. 이러한 이유때문에, CRT 및 TN-형 LCD로 얻을 수 있는 화상이 확대 및 강화도 주사선의 수가 충분하게 증가될 수 없기 때문에 제한되어 왔다.
최근에, 클락 및 라저월(미합중국 특허번호 4, 367, 924)은 고속 반응 속도와 메모리 특성 (이중안정성)을 가지는 강유전성 액정장치(FLCD)를 제안하였다.
FLCD는 특정 온도 범위에서 스메틱 C 위상(SmC*) 또는 H위상(SmH*)을 보여준다. FLCD는 응용 전계에서 변화에 재빠르게 반응하여 고속 메모리-형 디스플레이장치로써 광범위하게 이용되도록 기대된다.
FLCD는 상기 언급된 플래트 패널 디스플레이 장치를 훨씬 능가하는 큰-고해상도 디스플레이에 이용될 수 있다. 낮은 플레임 주파수 구동에 비추어, 작동자 기계 인터페이스 디스플레이 장치를 구비하기 위하여 메모리 특성을 이용하는 부분 재기입 주사 스킴에서, 중복기재될 스크린 상의 영역만이 주사되어 새로운 화상을 만든다.
이러한 부분 재기입 주사는 미합중국 특허 번호 제4, 655, 561호에 명세되어 있다.
1920 주사선×각 선당 2560 픽셀로 구성되는 플래트 패널 디스플레이는 FLCD의 이중 안정성을 이용하여 성취되어 왔다.
FLCD의 선 주사 스킴에 의한 선에서, 프레임 리프레시 주파수는 주사선의 수가 증가함에 따라 감소한다.
예컨대, 50μsec/선 속도를 가진 FLCD에 대한 프레임 주파수는 1920(선)×50(μsec/선)=96(msec)=10(Hz)이다.
한편, 이것은 실시간에 대한 속도와 포인팅 장치 이동 및 키보드 입력에 대한 유연성이 충분한 컴퓨터의 동작성에 대하여 매우 중요한 요소이다.
포인팅 장치 심벌(예, 마우스 폰트) 및 문자는 그 디스플레이 영역의 견지에서 상대적으로 작으나 이것을 표시하는데 더 높은 응답율을 요구한다.
예컨대, 마우스 폰트는 60Hz에서 정상적으로 기입되며, 문자는 30Hz에서 기입된다.
그러므로, 10Hz의 프레임 주파수는 그러한 동작에 대하여 충분하지 않다. 이전 언급된 "부분 재기입 주사 기술"의 이용은 디스플레이가 새로운 정보를 가진 디스플레이의 필요한 부분만 재기입하도록 하여, 표시된 정보를 갱신하도록 요구된 시간을 감소시킨다. 예를들면, 마우스 폰트 32×32비트 데이타로 한정된다면, 데이타를 표시하는 속도는 32(선)×560(μsec/선)=1.6(msec)=525(Hz)이다.
그러나, 이러한 "부분 기입 주사 기술"를 실제로 이용하기 위하여, "부분 재기입 요구"를 인지하여 기입될 라인 수를 디스플레이 장치에 지시할 필요가 있다.
더욱이, 부분 기입에 대한 실제 주파수는 어떠한 다른 인자 때문에 약 300Hz 정도이다.
그러나, 일반적으로, 큰 디스플레이 장치로서의 FLCD의 이용은 마우스 폰트등의 대단히 개선된 실시간 디스플레이를 제공한다.
그러나, 다중-윈도우상에 실시간에서 다수의 작업을 표시하는 디스플레이 장치에 대하여, 또 다른 문제가 발생한다. 제8a도에 있어서, 3개의 윈도우(1, 2, 3)는 하나의 디스플레이 장치에서 개시된다. 윈도우(1)에 있어서, 제 1 작업은 시시각각으로 움직이는 시계침을 가지는 시계를 표시한다.
윈도우(2)에 있어서, 제 2 작업은 화살표 방향으로 회전하는 회전선을 표시한다. 윈도우(3)에 있어서, 문안 편집기와 같은 제 3 작업은 문자를 표시한다.
또한, 기본(근본) 윈도우에 있어서, 시스템 작업은 하나의 위치에서 다른 위치로 이동하는 화살표의 마우스 폰트를 표시한다. 제8b도는 드로잉 명령의 발생에 대한 시간 연속 및 이러한 명령의 실행에 대한 시간 연속을 설명한다.
제8b도에 도시되는 바와 같이, 하나의 선을 그리는 8개의 명령은 제 1 마우스폰트 디스플레이 명령과 제 2 마우스 폰트 디스플레이 명령의 발생 사이의 기간동안 발생된다.
다중-작업을 실행하는 컴퓨터일지라도, 다중-작업으로부터의 드로잉 명령은 병렬로 동시에 처리되는 것이 아니라 단일 연속으로서 하나의 명령 다음에 다른 명령이 처리된다. 그러므로 제 2 마우스 폰트 디스플레이 명령은 1개의 선을 그리기 위한 그 이전에 발생된 8개의 명령이 실행된 후에만 실행된다.
드로잉 명령의 실행시간, 즉 (장치의 하드웨어 특성에 주로 의존하는) 그래픽장치에 의한 실제 드로잉 시간이 명령의 발생 속도보다 더 길어질 경우, 시간 지연은 명령의 발생과 실행사이에서 일어난다. 결과적으로, 제 2 마우스 폰트 디스플레이는 대응하여 지연된다.
이러한 시간 지연을 감소시키기 위해서, 전술한 부분 제거입 주사 기술과 같은 것을 적용함으로써 그래픽 장치의 하드웨어 동작 속도와 소프트웨어의 동작을 개선하는 것이 필요하다. 하드웨어 이벤트의 실시간 디스플레이가 다른 작업에 의해 발생된 (또는 드문 경우에, 그 자체의 작업에 의해 발생된) 드로잉 명령에 의해 상당하게 분리되어지는 것이 여기서 고려되어야 하는 주요 문제이다.
이러한 이유 때문에, 스크린 상에 마우스 폰트 디스플레이가 실제 마우스 동작을 따라 할 수 없다는 것이, 특히 다중-윈도우 시스템에 대하여, 문제가 된다.
컴퓨터 동작에 있어서, 마우스와 키보드로부터의 입력은 하드웨어(H/W) 이벤트로 불리운다. 컴퓨터 시스템에서 하드웨어 이벤트의 실시간 프로세싱은 가능한한 최대한으로 보장되어야만 하는데, 이것은 이러한 하드웨어 운영자에 의한 동작과 직접 연관이 있으며, 하드웨어 이벤트의 실시간 프로세싱이 기본적으로 시스템의 동작성을 의미하기 때문이다.
본 발명의 목적은 하드웨어 이벤트의 개선된 실시간 디스플레이를 갖는 데이타 처리장치를 제공하는 것이다.
본 발명의 다른 목적은 큰 고해상도 FLCD에 대한 하드웨어 이벤트의 실시간 디스플레이를 개선하는 것이다.
본 발명의 또다른 목적은 다중 윈도우 시스템에서 하드웨어 이벤트의 실시간 디스플레이를 개선하는 것이다.
상기 목적을 달성하기 위하여, 본 발명의 데이타 처리장치는 시분할 방식으로 다수의 처리를 실행하는 다중작업수단, 다수의 프로세스로부터 드로잉 요구를 스케쥴링하여 드로잉 요구를 단일 시퀀스로 형성하는 스케쥴링 수단(상기 다중작업수단 및 상기 스케쥴링 수단이 논리적으로 배열된)을 포함하는 호스트 프로세서 및 상기 스케쥴링 수단의 단일 시퀀스로부터 전송된 소정의 유닛인 드로잉 명령에 따라 화상을 그리는 그래픽장치를 제어하는 그래픽 장치 프로세서로 구성되며, 상기 스케쥴링 수단은 상기 그래픽장치 프로세서에서 소정의 유닛인 드로잉 명령의 실행상태를 모니터하고 실행상태가 소정의 스테이지로 진행할 때까지 사용자 프로세스로부터의 드로잉 요구에 대한 스케쥴링을 준비해둔다.
[(1)하드웨어의 구조]
본 발명의 일실시예로서, 강유전성 액정 디스플레이(FLCD)를 가지는 컴퓨터 시스템이 제공된다. 제 1 도는 시스템의 하드웨어 구조의 개략도이다.
시스템은 호스트 프로세서에 의해 제어되는 부분과 그래픽 장치 프로세서에 의해 제어되는 부분으로 구성된다. 호스트 프로세서와 그래픽 장치 프로세서는 서로 독립적으로 동작한다. 여기서 올바르게 사용되는 "그래픽 장치"라는 용어는 그래픽 카드, 그래픽 제어기 및 FLCD판으로 구성된 장치를 의미한다.
호스트 프로세서는 시분할 방식으로 프로세스를 실행하는 운영체제(OS)를 구비한다.
각 프로세스에 의해 발생되는 드로잉 명령은 버스 인터페이스를 경유하여 그래픽 장치의 그래픽 카드로 주어진다. 그래픽 카드는 비디오 VRaM 속으로 드로잉(drawing) 명령의 내용을 알리는 기능 및 FLCD판상에 드로잉 명령 내용중 특정부분을 재기입시키는 기능을 가진다. VRaM의 내용은 다음 단계 즉, 그래픽 제어기로 디지탈 신호의 형태로 제공된다. 부분적 재기입 정보를 포함하는 VRaM의 내용을 표시하는 디지탈 신호에 따라, 그래픽 제어기는 적당한 어드레스에서 FLCD판상에 그래픽 영상을 디스플레이하는 구동신호를 발생하여, 구동 IC로 보낸다.
그래픽 카드의 실시예에 대한 블럭도가 제 3 도에 도시된다. 그래픽 카드는 그래픽 프로세서(20)와 인터페이스(28)를 제어하는 메모리 제어기(22)와 메모리(34)로 구성된다. 메모리(34)는 명령을 기억하는 RaM(34-1), 비디오 출력을 기억하는 VRaM(34-2, 34-3) 및 그래픽 프로세서(20)에 대한 최초 제어명령을 기억하는 ROM(34-4)으로 구성된다. 후술할 그래픽 장치용 그래픽 명령 버퍼는 RaM(34-1)에 의해 논리적으로 실현된다. 이러한 메모리들의 약간은 호스트 프로세서의 주 메모리상에서 실현될 수 있다. 데이타는 메모리 제어기(22)에 의해 프로세서(20)와 메모리(34) 사이에 전송된다. 비디오 타이밍 장치(32)는 그래픽 프로세서(20)로 그 타이밍 신호로서 클록(30)을 제공한다. VRaM(34-1 및 34-2)의 출력은 출력 인터페이스(50)로 입력한다. 출력 인터페이스(50)에 제공되는 데이타는 멀티 플렉서(36)를 통과하며 또한 적당한 그레이 스케일(gray scale) 또는 칼라 신호 레벨로 주어진다.
멀티 플렉서의 출력은 디지탈 인터페이스(40)로 제공된다.
디지탈 인터페이스(40)는 스크린 어드레스 데이타, 영상데이타(신호선 PD0 내지 PD7), 어드레스 데이타와 영상 데이타를 구별하는 신호(aH/DL) 및 타이밍 신호(CLK)를 발생하며, 이 모든 것은 다음 스테이지 그래픽 제어기로 제공된다.
그래픽 프로세서(20)는 예컨대 텍사스 인스투루먼트사의 GSP34010 프로세서로 할 수 있으며, 여기서 이것은 그래픽 명령과 범용명령을 실행할 수 있고, 인터페이스는 IBM사의 "a7버스"로 될 수 있다. 상기의 두개는 당업자에게 친숙하다. GSP34010 프로세서는 텍사스 인스트루먼트사 발행한 TMS34010 사용자 안내서 (발행번호 SPVU007)에 상세히 설명되었다.
제 2 도는 그래픽 카드로부터 드로잉 데이타를 수신하고 FLCD판을 구동하는 그래픽 제어기의 블록도이다. FLCD판은 1920주사 전극과 2560 데이타 전극으로 구성된 행렬 전극 구조로 구성되며, 전자는 주사 전극 구동기(82)와 접속되며, 후자는 데이타 전극 구동기(76)와 접속한다. 주사 전극 구동회로(62)는 디코더(78), 선 어드레스 메모리(80), 어드레스 검출회로를 포함한다. 데이타 전극 구동회로(64)는 시프트 레지스터(72), 라인 메모리(74) 및 버퍼(70)를 포함한다.
판 스크린상의 드로잉 위치를 가리키는 주사 전극(84)을 어드레스 지정하기 위한 주사 전극 어드레스 데이타(a0, a1, a2, …a15)와 영상 데이타(D0, D1, D2, …, D2559)는 동일 신호선(PD0 내지 FD7)을 통해 전송된다.
따라서, 신호(aH/DL)는 전송 데이타가 어드레스 데이타 또는 영상 데이타일 경우 이를 식별하기 위해 동시에 프로세서(89)로 전송된다.
aH/DL신호는 신호가 주사 전극 어드레스 데이타임을 나타내는 고(high)레일 경우에, 제어회로(68)는 어드레스 검출회로(88)에 의해 수신되도록 PD0 내지 PD7상에 신호를 발생한다. aH/DL신호는 신호가 영상 데이타임을 나타내는 저(LOW) 레벨일 경우에는, 신호는 라인 버퍼(70)에 의해 수신된다.
또한, aH/DL신호는 전송 데이타용 전송 개시 신호로서의 역할도 한다.
라인 버퍼(70)에 의해 수신된 영상 데이타는 그안에 일시적으로 기억되고, 수평 주사 기간동안 시프트 레지스터(72)와 라인 버퍼(74)를 경유하여 데이타 전극 구동기(76)로 전송된다. 어드레스 검출회로(88)에 의해 검출된 어드레스 데이타는 디코더(78)에 의해 주사 전극 구동신호로 디코딩되고, 라인 어드레스 메모리(80)를 경유하여 주사 전극 구동기(82)로 전송된다.
이 실시예에 있어서, 디스플레이 판(60)을 구동하는데에 있어서, 그래픽 카드의 프로세서에 의해서 주사 전극 어드레스 데이타(a0 내지 a15)와 영상데이타(D0 내지 D2559)가 동기되지 않으므로, 데이타가 전송될 때 제어회로(68)와 그래픽 프로세서를 동기시키는 것이 필요하다. 이 목적을 위해, 제어회로는 각각의 수평 주사용 동기 신호(Hsync)를 발생한다. 이 Hsync신호는 시간면에서 신호(aH/DL)와 관련된다.
그래픽 프로세서(20)는 Hsync신호를 감시하며 Hsync 신호가 고레벨에서 저레벨로 변할때 데이타 전송을 위하여 대기한다.
그후에, 그래픽 프로세서(20)는 aH/DL신호를 제러벨에서 고레벨로 변화하여 주사 전극 어드레스 데이타를 전송하고, 다시 aH/DL신호를 고레벨에서 저레벨로 변화하여 영상데이타를 전송한다. 그의 상세한 신호 파형은 제13도에 도시된다.
본 발명에 따라, 제 1 도에 도시된 그래픽 장치의 하드웨어 이벤트용 실시간 처리가 개선된다. 본 발명의 특징은 호스트와 그래픽 장치 사이의 논리적 인터페이스 구조에 상주한다.
[(2)소프트웨어의 구조(논리)]
[개요]
본 발명의 논리구조에 있어서, UNIX 운영체제(OS)상에서 작용하는 X-윈도우그래픽 사용자 인터페이스(GUI)가 사용되며 제 1 도에 도시된 하드웨어 상에 구현된다. UNIX 운영체제의 요부는 커널(kernel)로 불리운다. 사용자 프로그램은 오픈( ), 리드( ) 등과 같은 시스템 콜에 응답하여 커널과 상호 작용한다. 파일 시스템, 다중작업기구(시분할), 프로세서 상호간의 통신 등과 같은 UNIX 기능은 커널로부터 제공된다.
OS는 벤터(vendor)로부터 사용자에게 공급되는 다수의 모듈로 구성된 시스템 소프트웨어이다. OS의 모듈중 하나인 장치 구동기는 직접 입/출력 하드웨어 장치를 제어하고=UNIX에 특정되고 하드웨어 장치로부터 독립된 커널에 인터베이스를 제공한다.
이 장치 구동기는 디스플레이 장치를 제어하고, 사용자 프로그램은 장치 구동기가 디스플레이 장치상에 화상을 그리도록 명령한다.
장치 구동기는 커널의 기능과 장치의 하드웨어 특성을 고려하는 한편 다음의 입/출력 시스템 콜을 사용하여 프로그램된다.
#include〈temio.h〉
int ioctl(fd, cmd, tbuf) ; /*터미날 장치 제어*/
int fd ; /*개방 파일 디스크립터*/
int cmd ; /*실행될 동작을 지시하는 명령*/
struct termio*tbuf ; /*포인터를 터미날 정보용 구조로*/
예컨대, TCGETa명령은 fd애 의해 언급된 터미날 정보를 가지는 termio 구조를 채우는 명령이다. 장치 구동기가 커널에 링크되어 새로운 커널 영상이 될지라도, 이것은 UNIX의 커널에 고착되지 않는다.
X-윈도우는 그래픽 장치 구동기 기능을 포함하는 UNIX 커널상에 형성된 GUI로서 다중-윈도우 프로그램 환경을 가지는 사용자를 제공하는 소프트웨어 시스템이다.
X-윈도우 시스템의 시스템 장치의 개요는 제 4 도에 도시된다. X-윈도우 시스템은 스크린상에 다중-윈도우를 발생하는 GUI이며, 서버/클라이언트(server/client) 모델에 의해 표현된다. 서버 프로그램은 X-윈도우 (기본 윈도우 시스템)의 핵심이며, 스크린, 키보드 및 마우스가 일반적으로 장치된 워크 스테이션과 상호 작용하여 스크린 상에 윈도우를 발생하고 디스플레이하여, 위도우 상에 그래픽 영상을 형성하거나, 또는 키보드나 마우스로부터 하드웨어(H/W) 이벤트를 검출하여 처리한다.
클라이언트 프로그램은 사용자 프로그램, X라이브러리, 및 윈도우 매니저를 의미한다. 즉, 클라이언트 또는 사용자 프로세스는 서비에 종속하여 그래픽 처리를 할 수 있다.
이 경우에, 클라이언트는 그래픽 장치의 하드웨어 특성을 고려치 않고 다중-윈도우 기능을 표시할 수 있다. 하드웨어 특성은 서버에 의해 흡수된다.
클라이언트와 서버 사이의 데이타 전송은 X-프로토콜에 의존한다.
서버는 OS와 하드웨어 같은 벤더에 종속되는 동작을 실행하므로, 클라이언트는 파트너 시스템이 X-프로토콜을 이해하는 경우에 하드웨어를 고려하지 않고 프로그램을 설명할 수 있다. 호스트(1)에서의 클라이언트는 호스트(0)에서의 워크 스테이션을 제어하기 위해 X-프로토콜을 사용하는 네트워크를 경유하여 호스트(0)에서의 서버와 통신한다. 다시 말하여, X-윈도우 시스템은 투명-네트워크이다. 호스트(0)(원격)에서의 서버 프로세스는 호스트(1)(국부)에서의 클라이언트 프로세스를 위한 대리인으로서의 역할을 한다. 목적 클라이언트가 호스트(0)에 있을 경우, 통신은 네트워크를 사용하지 않고 자신의 서버를 경유하여 처리된다. 응용이 X-프로토콜을 직접 처리할 수 없지만, 이것은 번갈아서 X-프로토콜을 제공하는 라이브러리 기능(Xlib)을 호출한다. 호스트(0)에서의 서버는 호스트(0)와 호스트(1)에서의 두개의 프로세스에 대해 다중 작업 서비스를 제공할 수 있다.
제 5 도는 x-윈도우 시스템의 모듈러 구조를 도시한다.
다음은 클라이언트가 스크린상에 500×300윈도우(w)를 디스플레이하는 Xlib 기능을 사용하는 사용자 응용 프로그램의 예이다.
#include〈XII/Xlib.h〉
#include〈XII/Xutil.h〉
main ( )
{
Display*d ;
Window w ;
Usigned long black, white ;
d=XOpenDisplay(NULL)
w=XCreateSimpleWindow(d, RootWindow(d, 0), 100, 500, 300, 2, BlackPixel(d, 0), WhitePixel(d, 0)) ;
XMapWindow(d, w) ;
}
XOpenDisplay( )는 사용자 처리와 네트워크 시스템내의 지정된 서버 사이에 접속시키는 Xlib 기능이다.
XCreateSimpleWindow( )는 서버의 제어하에 스크린상에 500×30윈도우(w)를 발생하는 Xlib 기능이다.
XMapWindow( )는 스크린상에 발생된 윈도우를 표시하는 X-프로토콜을 발생하며 X-서버로 X-프로토콜을 제공하는 Xlib 기능이다.
[서버의 구조]
서버의 주 작업은 클라이언트와 접속을 이루게 하여, 조화된 방식으로 다수의 클라이언트로 부터의 요구를 처리하여, 디스플레이, 마우스 및 키보드와 같은 하드웨어로 부터의 이벤트를 다수의 클라이언트로 분배하는 것이다.
제 7 도에서 도시되는 바와 같이, 서버는 DXI(장치 독립 X), DDX(장치 종속 X), OS, 확장 기능(EXT : 확장)을 포함하는 4개층으로 구성된다.
본 발명을 설명하는데 이러한 층을 이해하는 것은 중요하다.
DIX층 : 서버에 의한 모든 동작은 DIX로 부터 다른층에 있는 기능을 먼저 호출함으로써 실행되는 것이다. 호출된 기능에 따라, 클라이언트 요구는 처리되고, 입력 이벤트는 판독되며, 클라이언트로 분배된다.
DIX는 기계, 장치 및 OS에 종속되지 않지만, X-프로토콜에 의해 클라이언트와 통신한다. 이벤트 프로세스를 스케쥴링하는 루틴 Dispatch( )는 DIX층에 속한다.
DDX층 : 이 층은 입/출력 장치를 직접 제어하기 위해 모든 기능을 포함하며 장치와 OS를 고려하여 설명된다. 이 층은 입력부와 출력부로 구성된다.
입력부는 하드웨어로부터 이벤트를 판독하고, 마우스 동작 감지를 조절하며, 키 코드의 매핑 정보를 발생하는 것과 같이 입력장치를 제어한다.
출력부는 그래픽 문맥(GC)을 발생/변경하는 것과 같이, 출력장치를 제어하기 위하여 사용된다. 각 장치에 대한 이러한 기능은 동반되는 데이타 구조를 가진 DIX로 부터 호출된다.
OS층 : 이 층은 클라이언트 접속, 네트워크 접속과 그들사이의 통신에 대한 판독/기입 기능 및 임의의 입력 이벤트에 대해 클라이언트에게 통고하는 기능(이 기능은 가끔 DDX에서 실행된다)을 실행한다.
이 층은 또한 클라이언트들 사이의 시분할을 부드럽게 제어하는 기능, 문자체 파일에 접근하는 인터페이스 액세스 기능, 및 저레벨 메모리 관리 기능도 실행한다.
EXT층 : 이 층은 서버 기능과 X-프로토콜을 확장하기 위해 사용된다.
이 층은 통상의 서버를 위해선 필요하지 않으며, 특별한 기능을 가지는 디스플레이 장치용으로 사용된다.
상기한 바와 같이, X-윈도우 시스템은 투명-네트워크 다중-윈도우 환경을 사용자에게 제공하는 UNIX 커널상에 구성된 운영체제이다.
사용자는 UNIX에 특정되는 전술한 기능뿐만 아니라 X-프로토콜을 경유하여 다중-윈도우 기능에 접근할 수 있다.
X-윈도우 시스템은 제 1 도에 도시된 실시예의 호스트 컴퓨터에 제공되며, 그래픽 장치(FLCD)의 하드웨어 특성은 DDX와 OS층에서 설명된다.
시스템 동작의 이해를 돕기 위하여, 서버용 클라이언트 사용자 프로그램이 마우스의 클럭(click)점에서 스크린상에 문자(X)를 표시하기 위하여 아래에서 예시적으로 주어진다.
#include〈XII/Xlib.h〉
#include〈XII/Xutil.h〉
main( )
{
Display*d ;
Window w ;
Font f ;
GC gc ;
XEvnet e ;
.
.
.
XSelectInput(d, w, ButtonPressMask) ;
.
.
.
XNext Event(d, $e)
XDrawString(d, w, gc, e.xbutton.x, e.xbutton.y, "x", 1) ;
이 프로그램은 서버에게 XSelect Input( )을 셋팅하는 것에 의해 마우스 클릭 이벤트에 대한 정보를 요구한다.
XNextEvent( )는 하드웨어 이벤트를 판독하고, 클릭의 시간에서의 마우스 위치좌표 정보는 XButtonEvent 구조 부재(e)의 x와 y부재에서 설명된다.
XDrawString( )은 x와 y부재에 의해 지정된 스크린 위치에서의 윈도우내에 문자(X)를 그리기 위해 서버에 명령한다. 서버는 하드웨어 이벤트의 검출 및 클라이언트로 하드웨어 이벤트의 검출 통고를 실행한다.
클라이언트는 하드웨어 이벤트에 응답하여 발생된 드로잉 명령을 수신하여 그래픽 장치를 제어해서 문자를 그린다. 상기에서와 같이, 클라이언트 사용자 프로그램은 하드웨어 장치로 부터 독립적으로 기술되며, 서버는 하드웨어 장치와 인터페이스하여 클라이언트에게 서비스를 제공한다.
[스케쥴링]
서버는 워크 스테이션의 제어를 위해 단독 워크 스테이션(터미날 : 스크린, 키보드, 마우스)에 대응하여 제공된 단독 프로세스이다.
그럼에도 불구하고 서버는 다수의 프로세스 즉 다수의 클라이언트에 서비스를 제공한다. 여기서 사용된 용어 "프로세스"는 프로그램이 실행되는 환경을 의미한다.
프로세스는 명령 세그먼트, 사용자 데이타 세그먼트, 및 시스템 데이타 세그먼트를 포함하는 3개의 세그먼트로 구성된다. 프로그램은 명령과 사용자 데이타를 초기화하는데 사용된다. 프로그램은 시간에 대해 서로 각각 병렬로 다수의 프로세스에 의해 실행될 수 있다. 다중작업 시스템은 시분할 방식으로 다수의 프로세스를 병렬로 실행한다. 다수 프로세스의 이 시분할은 유닉스 커널에 의해 실행된다.
서버에 의한 스케쥴링은 하드웨어 이벤트 처리같은 서비스 요구와 발생된 드로잉 요구처리순서를 정의한다. 본 발명의 실시예에 따른 큐 시스템은 제10도에 나타나고 큐 시스템은 다수의 클라이언트 서비스를 만든다. 클라이언트에 의해 발생된 드로잉 명령은 발생순으로 각 클라이언트에 대해 제공된 클라이언트 큐(101 내지 103)내에 저장된다. 저장된 명령은 엔트리 포인트(104)로부터 서버큐(105)로 전달된다.
상세히는, 다수의 클라이언트로부터의 명령은 단일 시퀀스로 형성되어 단일 작업 같은 시퀀셜 프로세싱을 위해 서버큐(105)로 입력된다.
호스트 프로세서의 서버큐(105)내 어떤 그룹의 명령들은 그래픽 장치 프로세서의 그래픽 명령 버퍼(106)로 전달된다. 그래픽 장치 프로세서로 명령그룹을 전달한 후, 그래픽 장치 프로세서가 전달된 명령 그룹을 실행하게 함으로써 호스트 프로세서는 그 자체로 다른 프로세스를 실행한다. 명령 그룹이 그래픽 명령 버퍼(106)내에 그래픽 장치 프로세서를 위한 명령으로 되며 제10도에 도시되듯이 테일과 헤드-1 사이의 영역에 저장된다. 그래픽 장치 프로세서는 순차적으로 테일로부터 시작하여 헤드까지 명령을 실행한다. 명령이 하나 하나 실행될 때 테일은 헤드로 근접한다.
테일=헤드가 될 때, 전달된 명령 그룹은 실행된 것을 뜻한다.
그 다음에, 다음 명령 그룹이 서버큐(105)로부터 그래픽 명령 버퍼(106)로 부터 그래픽 명령 버퍼(106)로 지나간다.
이 다음 명령 그룹은 앞의 헤드보다 더 높은 어드레스에 기억된다.
즉, 다음 명령 그룹으로부터 전개된 명령 테일은 앞의 헤드가 된다.
그래픽 명령 버퍼(106)는 제10도의 링(ring) 형상으로 도식적으로 나타난다.
제10도에서 (a)에서는 헤드>테일이고 (d)에서는 테일<헤드인 것을 알 수 있다.
제8(a) 및 8b도에서 보듯이, 그래픽 이미지가 마우스 이벤트같은 하드웨어 이벤트 발생시에 실시산으로 형성되지 못하는 이유는 그래픽 장치에서의 프로세스 속도가 드로잉 명령 발생 만큼 빠르지 못하기 때문이며 따라서 이벤트가 발생하는 시간에 아직 실행되지 않은 많은 명령이 서버큐(105)에 남는다.
서버 시스템이 프로세스에 대해 우선적으로 하드웨어 이벤트를 검출하고 이벤트의 발생을 클라이언트에 알리지만 서버큐(105)가 단일 작업 방식으로 단순히 명령을 순차적으로 실행하기 때문에 하드웨어 이벤트에 대해 클라이언트에 의해 발생된 드로잉 명령은 그때에 서버큐(105)내에 남아있는 명령이 실행된 후에 실행된다.
서버에 의해 서비스될 이벤트는 다수의 클라이언트 프로세스나 하드웨어 장치로부터 비동기적으로 발생된다.
서버의 DIX층내의 디스팻치(Dispatch)( )루틴은 이벤트를 스케쥴하고 그것의 프로세스 흐름을 제어한다. 상세히는, 발생된 이벤트는 DIX층의 디스팻치( )루틴에 의해 스케쥴된다. 이벤트와 연관된 명령은 DIX층으로부터 호출된 루틴에 따라서 서버의 제어하에 그래픽 장치에서 그것을 실행하기 위해 클라이언트 큐로부터 서버로 전송된다. 만약 클라이언트로부터의 드로잉 요구와 하드웨어 이벤트가 서로 경합한다면 디스팻치( )루틴은 드로잉 요구 보다 우선하여 하드웨어 이벤트를 선택하여 실시간 처리를 실현한다.
제 6 도는 디스팻치( )루틴에 의해 스케쥴링을 예시한 흐름도이다.
스텝 1 : 하드웨어 이벤트(키보드, 마우스의 동작)가 있는지 체크된다.
이벤트 큐에 대한 헤드 및 테일 포인터가 체크된다.
만약 두개 포인터가 다르다면 저장된 이벤트는 이벤트 큐로부터 판독된다.
스텝 2 : 만약 하드웨어 이벤트 체크가 "예"라면, 그 이벤트에 대한 문자 디스플레이 혹은 마우스 커서 디스플레이의 프로세스가 실행된다.
서버와 클라이언트 사이의 데이타 전송은 OS층으로부터 호출된 클라이언트 기입( )에 의해 실행된다. 검출된 하드웨어 이벤트는 클라이언트로 알려지고 그 이벤트에 대해 클라이언트에 의해 발생된 드로잉 명령을 서버큐에 저장되어 프로세스를 끝내고 스텝 1로 복귀한다.
스텝 3 : 만약 하드웨어 이벤트 체크가 "아니오"라면, 이벤트대기( )가 OS층으로 부터 호출된다. 이벤트대기( )의 상세한 내용은 제12도에 예시된다.
명백하게 기술되었듯이, 이 기능은 이벤트를 대기하고 모니터한다.
대기할 이벤트는 ;
* 하드웨어, 사용자로부터의 이벤트,
* 서버(드로잉 명령)에 이미 연결된 클라이언트로부터의 요구, 및
* 지정된 서버에 연결되지 않은 클라이언트의 연결에 대한 요구를 포함한다.
그런 이벤트의 발생시에, 그 이벤트의 유형과 같은 필요한 정보는 세트되어 DIX층의 디스팻치( )로 되돌려진다.
스텝 4 : 만약 발생된 이벤트가 연결된 클라이언트로부터의 요구라면 판독 요구-클라이언트( )는 클라이언트 큐안에서 예를들어 드로잉 명령을 읽고 그리고 서버큐내에 그것을 저장하여 스텝 1로 복귀하게 하기 위해 OS층으로부터 호출된다.
스텝 5 : 만약 발생된 이벤트가 서버에 클라이언트의 연결요구라면 연결설치에 대한 데이타가 OS층의 클라이언트에 기입( )에 의해 클라이언트에 기입되어 스텝 1로 복귀한다.
DIX층의 디스팻치( )은 서버에 서비스 요구의 스케쥴링에 대한 기능이다.
이 기능으로, 브랜치된 루틴 프로세스에서 드로잉 프로세스를 실행하기 위해 서비스 유령이 필요한 루틴 프로세스로 흐름이 브랜치한다.
이 스케쥴링은 다른 프로세스에 대해 우선 순위를 가지고 하드웨어 이벤트를 취한다.
즉, 만약 이벤트 큐내에 저장된 이벤트가 있다면 실시간 처리를 실현하는 것이 우선순위에 따라 실행된다. 전에 논의되었듯이, 클라이언트의 두개 하드웨어 이벤트 사이에 그래픽 장치에서 먼저 실행될 것이 요구되는 또다른 클라이언트의 실행되지 않은 드로잉 명령이 존재하기 때문에, 우선 순위를 지닌채 이벤트큐내에 저장된 이벤트를 스케쥴링하는 디스팻치( ) 스케쥴링의 사용은 하드웨어 이벤트 실시간 처리의 무능력의 문제를 제기한다.
이런 경우는 명령을 발생하는 호스트 서버와 그 명령을 처리하는 그래픽 장치가 비동기적으로 동작한다는 사실에 기인한다. 상기 비동기 동작문제를 이벤트 처리 스케쥴링을 제어하도록 이벤트대기( )를 통해 그래픽 장치의 프로세스 상태를 서버가 모니터하는 방법으로 본 발명에 의해 해결된다.
[이벤트대기( )]
이벤트대기( )루틴을 기술하기 전에 그래픽 명령버퍼(106)의 헤드, 테일 및 인접 자유공간의 개념이 제15a도와 15b도를 참고로 기술될 것이다.
제15a 및 15b도는 그래픽 명령버퍼안에 전개된 명령 데이타의 여러가지 구조를 나타낸다. 서버큐(105)로부터 전송된 데이타는 테일 어드레스로부터 시작하여 헤드 어드레스까지 그래픽 명령버퍼속으로 순차적으로 기입되고 테일 어드레스로부터 헤드 어드레스까지 그래픽 프로세서에 의해 실행된다.
헤드 어드레스는 데이타가 그래픽 명령버퍼(106)에 기입될 때마다 갱신되고 테일 어드레스는 데이타가 그래픽 프로세서에 의해 실행될 때마다 갱신된다.
제15a도의 (a) 및(c)의 구조는 헤드 어드레스가 테일 어드레스보다 더 큰 경우이다.
제15a도의(b) 및 (d)의 구조는 헤드 어드레스와 테일 어드레스가 같은 경우이다.
제15a도(e)의 구조는 테일 어드레스가 헤드 어드레스보다 더 큰 경우이다.
제15b도는 나중에 기술될 본 발명의 Q 스페이스( )루틴을 사용한 인접자유공간의 크기와 헤드 어드레스, 테일 어드레스의 예를 예시한다.
본 발명에 따르면, 제12(a)도의 DIX층의 이벤트대기( )루틴은 먼저 X-윈도우 속으로 제11도의 Q스페이스( )기능을 전개하여 얻어진 XQ 스페이스 기능( )을 호출한다.
Q 스페이스( )는 그래픽 명령버퍼(106)를 모니터하고 인접자유공간을 계산하기 위해 테일과 헤드 어드레스를 수신하는데 사용된다.
그래픽 장치의 버퍼상태를 모니터하기 위해, OS층으로 요구되는 장치 액세스 허가를 통해 채널이 열린다. 모니터링한 즉시 채널이 닫힌다.
계산 전후에 채널이 열리고/닫힘은 다중작업효과를 낸다.
장치 액세스가 허용될 때, 장치에 의해 점유된 물리적 메모리 공간은 OS층이 그것을 다른 프로그램에 할당하지 않도록 하게 하기 위해 로크(lock)된다.
이것은 다중작업의 가상 기억 시스템이 단일 작업 시스템과 유사하게 하나의 프로세스에 의해 점유되는 상태를 초래한다.
이 "로크(lick)" 상태가 장치처리능력을 모니터하는 결과에 의존하기 때문에, 그래픽 프로세서가 바쁠지라도 로크상태가 릴리즈(release)될 때까지 처리되도록 새로운 요구가 차단된다. 이런식으로, Q 스페이스( )은 처리능력에 따라 OS와 그래픽 프로세서의 동작을 실질적으로 동기화한다.
이런 로크상태는 유닉스 시스템에서 가능한한 많이 회피되어야 하고 그것의 다중작업 상태는 가능한한 빨리 계속되어야 한다.
이런 관점에서, Q 스페이스( )이 호출되고 채널은 계산전에 즉시 열려서 메모리가 로크되고 실행후 채널은 메모리가 릴리즈되도록 닫힌다.
채널이 Q 스페이스( )에 의해 열릴 때, 그래픽 명령버퍼의 헤드와 테일 어드레스는 수신된다.
만약 헤드>테일이면, 인접유공간은 (명령버퍼크기)-헤드로부터 계산되고 헤드<테일이면 테일-헤드로부터 계산된다. Q 스페이스(15)에 의해 수신되고 계산된 데이타는 이벤트대기( )로 되돌려진다. 제12a도의 스텝(S2)에서 헤드≠테일(즉 실행안된 명령이 그래픽 명령버퍼 속에 존재한다)인지, 그리고 인접자유공간이 소정값 PaRT-QUE보다 더 작은지(즉 서버큐로부터 다음 명령 그룹을 저장하는 그래픽 명령버퍼내의 자유공간이 불충분하다)가 체크된다.
만약 "예"라면, 그것은 다음 명령 그룹이 수신되고 실행되도록 준비되지 않은 것을 의미한다. 이렇게, 스텝(S3)에서 Q 스페이스( )는 그래픽 명령큐를 액세스하고 테일과 헤드 어드레스를 수신하도록 호출된다.
명령 실행 프로세스가 앞의 Q 스페이스( )로부터 진행되고 실행안된 명령이 없으므로, 스텝(S4)에서의 체크는 헤드=테일을 나타내고 스텝(S5)으로 진행하게 한다.
그러나, 만약 실행안된 명령이 있고 스텝(S4)에서의 체크가 "아니오"라면, 실행안되 명령이비존재 즉 헤드=테일이 될 때까지 흐름 루프는 스텝(S3)으로 복귀한다. 만약 스텝(S2)에서의 체크가 "아니오", 즉, 만약 스텝(S1)에서 Q 스페이스에 의해 얻어진 데이타가 헤드=테일 혹인 헤드
Figure kpo00001
테일이라면 그리고 다음 명령 그룹을 저장하기 위한 충분한 인접자유공간이 있다면, 흐름은 스텝(S5)으로 간다.
스텝(S5)에선, 하드웨어 이벤트 큐와 클라이언트 큐에서의 서비스 요구 이벤트의 발생(하드웨어 이벤트, 연결된 클라이언트로부터의 유인 요구, 서버로 연결안된 클라이언트의 연결 요구)이 모니터 된다.
만약 큐속에 이벤트가 있다면, 이벤트 유형을 포함하는 정보는 제 6 도의 흐름도안의 스텝(S4)으로 진행하도록 DIX층의 디스팻치( )으로 보내진다.
상기에서 보듯이, 본 발명의 이벤트대기( )로, 그래픽 장치 프로세서가 다음 드로잉 프로세스를 실행할 수 있게 될 때까지 스텝(S5)에서 서비스 요구 이벤트의 모니터링은 허용되지 않는다. 따라서 만약 그래픽 장치에 의한 드로잉 프로세스의 동작상태가 적절하지 않다면 즉시 요구를 실행하여 서버큐에 드로잉 명령을 저장하지 않으며, 클라이언트로부터의 드로잉 요구가 잠시 중지된다. 하드웨어 이벤트 우선 순위 스케쥴링에서, 만약 하드웨어 이벤트가 하드웨어 이벤트 큐에 저장된다면 클라이언트로부터 드로잉 요구에 대해 우선하여 실행된다.
반면에, 만약 하드웨어 큐안에 하드웨어 이벤트가 저장되지 않는다면 클라이언트 요구는 그래픽 프로세서에 의한 드로잉 프로세스의 동작상태에 관계없이 순차적으로 실행되고 서버큐에 기억된다. 본 발명의 특징은 하드웨어 이벤트 큐안에 이벤트가 없어서 하드웨어 이벤트의 우선 순위 처리가 필요없을지라도 클라이언트로부터 드로잉 요구를 즉시 실행하지 않으며 그래픽 장치 프로세서의 동작상태는 모니터 되고 모니터 결과에 따라서 클라이언트 요구가 처리된다.
따라서, 다수의 명령이 서버큐에 저장되면 하드웨어 이벤트의 실시간 처리를 지연시키므로 다수의 명령이 서버큐에 저장되지 않을 것이고, 이렇게 하여 하드웨어 이벤트의 실시간 처리를 향상시킨다.
제12b도는 이벤트대기( )의 다른 실시예를 보여준다.
스텝(S1)에서, Q 스페이스( )를 사용하여 헤드와 테일 어드레스가 그래픽 명령버퍼로부터 수신된다. 스텝(S2)에서, 헤드
Figure kpo00002
테일인지 체크된다.
만약 헤드=테일이라면, 서비스 요구되는 스텝(S5)에서 즉시 실행된다.
만약 헤드
Figure kpo00003
테일이라면, 헤드=테일이 될 때까지 흐름이 루프(loop)되고 그 다음에 스텝(S5)으로 들어간다.
제14도는 본 발명에 따른 스케쥴링이 층구조 개념을 보여준다.
디스팻치는 서버의 가장 바깥 외피인 DIX층 안에 있고 하드웨어 장치와 OS로부터 독립된 스케쥴링을 위해 클라이언트와 하드웨어 장치와 직접 통신한다. 이벤트대기( )는 OS층에 있고 OS에 종속된 서비스 요구의 처리를 위해 디스팻치( )로부터 호출된다. Q 스페이스( )는 가장 안쪽에 위치하여 이벤트대기( )으로부터 호출되고, 그래픽 장치를 모니터하기 위해 직접 그래픽 장치를 액세스한다.
[서버큐로부터 그래픽 명령큐로 명령 데이타 전송]
서버큐(105)에서의 명령 데이타는 서버측(호스트측)에서 호스트 디스팻처에 의해 기본적 그래픽 기능으로 전개되고 시작명령( )에 의해 그래픽 장치측(리모우트측)에서 그래픽 명령버퍼(106)로 전송된다. 그래픽 명령버퍼(106)에서 전개된 명령은 리모우트측에서 겟(Get) 명령( )에 의해 읽혀지고 VRaM용 소정의 드로잉 프로세스를 실행하기 위해 리모우트 디스팻처에 의해 호스트 디스팻처와 대응하는 그래픽 프로세서 기능으로 전개된다.
그래픽 명령버퍼(106)의 통신 및 관리를 주로 예시함으로써 제16a 내지 16c도는 호스트측에서 시작명령( )의 윤곽을 제공하고 제17a 내지 17c도는 리모우트측에서 겟명령( )의 윤곽을 제공한다. 제16도의 변수 X와 Y 및 제17도의 변수 Z와 Y는 선택값을 취하고 헤드와 테일은 그래픽 명령버퍼(106)의 명령데이타 저장영역의 헤드와 테일 어드레스를 나타낸다. 시작명령( )은 호스트측 서버큐(105)로부터 보내진 그래픽 명령의 전송흐름과 상응하고 겟명령( )은 리모우트측에서 명령수신 및 실행흐름과 상응한다. 양쪽 송신과 수신측은 송신/수신의 개시와 종료시간에서 동기된다. 리모우트측이 단일 프로세서이고 다수의 독립 주사(리프레시)가 디스플레이 장치를 위한 하나의 시간에서 실행될 수 없기 때문에 동기화가 실행된다. 호스트측 서버큐(105)로부터 보내질 그래픽 명령에 따라서, 호스트 디스팻처는 풋워드(PutWords)( ) 기능에 일정한 단위의 기본 그래픽 기능을 보낸다. 풋블럭(PutBlock)( ) 기능의 상세한 사항이 제16b 및 16c도에 주어진다.
풋블럭( )은 명령버퍼(106)의 현재 헤드 및 테일값을 읽고 그것을 변수 X와 Y에 저장하며 인접자유공간을 계산한다. 그래픽 명령버퍼(106)가 특별한 프로세스에 종속된 후 데이타는 거기로 전송된다. 전송 및 타이밍을 체크하기 위해, 이벤트대기( ) 기능은 리모우트측으로부터 수신 및 승인(acknowledgement)을 대기한다.
그후에, 그래픽 명령버퍼의 새 헤드위치는 다음 데이타 전송을 위해 대기(wait)하도록 설정된다. 모든 데이타를 전송한 후, 풋블럭( )이 종결되고 풋워드( ) 및 개시명령( ) 또한 종결된다.
리모우트측으로부터의 겟명령( )으로, 버퍼내의 데이타 영역의 획득은 명령형태가 제17(a)도에 도시된 것처럼(모노리틱 명령(매개변수가 없는 단일이며 단순한 명령) 또는 청크명령(다수의 매개변수를 가진 명령)) 변함으로써 상이한 방법으로 처리된다. 양 경우에 있어서, 제17c도에 도시된 겟블럭( )은 명령버퍼(106)내의 호스트측으로부터 명령 데이타를 저장한다(수신한다).
그후에, 제17b도에 도시된 것처럼, 명령큐(105)의 헤드 및 테일값을 사용하여, 명령 데이타가 판독되어 실행된다. 겟블럭( )의 내부동작은 제17c도에 도시된다.
첫번째로, 헤드와 테일의 값이 상이한지가 검사된다.
리모우트측으로부터의 모든 명령이 실행되었다면, 헤드=테일이다.
호스트측이 그후에 새 명령을 전송하면, 헤드값이 제16c도에 도시된 것처럼 갱신되므로 헤드=테일이 된다.
헤드 및 테일값의 검사가 데이타 전송동안을 제외하고 호스트측과 리모우트측이 독립적이고 비동기적 동작으로 들어가는 또다른 이유로부터 실행되므로 데이타 수신시에 호스트측의 상태를 검사하는 것이 필요하다.
데이타 크기가 판독헤드 및 테일값에 가하여 계산되고, 검열 프로세스는 호스트측으로부터 데이타를 수신하기 위해 실행되며, 테일값은 갱신되고 상기 결과를 호스트측으로 알린다. 호스트측이 명령데이타를 리모우트측으로 전송할 때 리모우트측의 비지(busy)상태를 식별하기 위해 이 정보를 사용한다. 리모우트측으로부터 응답이 수신될 때, 먼쪽은 유휴상태 및 전송개시인 것으로 식별된다.
전술한 방법에서, "헤드"는 호스트측 개시명령에 의해 갱신되고, "테일"은 리모우트측의 겟명령에 의해 갱신되므로 호스트 및 리모우트측은 근본적으로 비동기적 실행을 하게 되고 데이타가 그것들 사이에 전송될 때 동기화된다.
제9(a)도 및 제9b도는 본 발명의 실시예에 따른 디스플레이 상태의 예를 나타낸다.
제9(a)도는 제8(a)도에 도시된 것과 유사한 3개의 윈도우를 나타낸다.
제9b도의 좌측은 호스트측에서 발생된 그래픽 명령의 시퀀스를 나타내고, 우측은 발생된 명령의 실행의 시퀀스를 나타낸다.
마우스 커서 폰트로 그리는 명령은 명령발생과 같은 순서로 실행되지 않는다는 것을 주의해야 한다.
사선에 대한 명령이 두번째 마우스 커서 폰트에 대한 드로잉 명령전에 클라이언트 큐에 이미 존재하더라도, 그것들은 Q 스페이스( )를 포함하는 이벤트대기( ) 루틴에 의해 명령에 대한 스케쥴링 실행없이 두번째 마우스 이벤트의 발생전에 서버큐로 보내지지 않는다. H/W 이벤트처럼 마우스 이벤트가 실행되고 클라이언트 큐에 저장된 다른 요구보다 우선 순위로 실행되고 스케쥴 되며, 따라서 마우스 이벤트에 대한 드로잉 명령은 서버큐로 보내지고 실행된다.
[다른 실시예]
상기 실시예에서는, 서버큐에 응하여 스케쥴링 하는 클라이언트의 예를 기재한 반면에 H/W 이벤트를 주로 주의해야 한다. 클라이언트 큐 스스로 Q 스페이스( )에 따라 즉, 그래픽측에서 실행상태에 따라 스케쥴 될 수도 있다는 것이 분명하다.
예를들어, 제 6 도에 도시된 스텝(S2)에서의 흐름은 리모우트측에서 버퍼의 실행상태를 모니터하는 클라이언트로 기입 이벤트 기능에 의해 프로세스 전후에 Q 스페이스( )를 호출함으로써 변화될 수 있다. 이 변화는 제 6 도의 다른 스텝에서 실행가능하다. Q 스페이스가 어느 스텝에서 호출되며 어떤 프로세스가 실행되는지는 관련 시스템에 좌우된다.
더욱이, 본 발명은 그래픽 명령버퍼(106)의 구조 및 리모우트측에서의 관리방법에 제한을 두지 않는다. 그러나, 그래픽 장치측의 실행상태가 모니터 될 수 있음으로 해서 정보를 얻을 수 있는 경우에만 본 발명은 상기 장치에 적용할 수 있다.
예컨대, 각 명령이 고정된 크기의 버퍼 대신에 임의의 길이버퍼에 제공되는 또다른 방법이 주어질 것이며, 숫자는 그것을 헤드 및 테일에 의해 관리되지 않고 각 명령에 할당되며, 이 숫자에 따라 실행상태가 관리된다.
제19도는 명령의 저장영역에 대한 4개의 포인터를 갖는 버퍼를 나타낸다.
포인터 룸(#1 내지 #4)은 세개의 상이한 명령 및 그것들은 실행하는데 필요한 데이타를 저장하며 그곳의 저장영역 및 크기는 룸(#1 내지 #3)에 저장된다. 실행이 진행됨에 따라 룸(#1)내의 명령은 이미 실행되었으며 룸(#2)내의 명령은 현재 실행되고 있음이 가정된다.
이런 경우에, Q 스페이스( )는 제20도에 예시된 것처럼 번호(#) 및 크기를 모니터한다. Q스페이스( ) 기능을 사용한 대기명령( ) 기능은 제21도에 예시된다. Q스페이스( ) 기능의 루프로부터의 EXIT 조건은 헤드 및 테일값 대신에 번호(#) 및 크기에 좌우된다.
기본 알고리즘과 효과는 제 1 실시예와 동일하다.

Claims (16)

  1. 데이타 처리장치에 있어서 : 시분할 방식으로 다수의 프로세스를 실행하는 다중작업수단, 다수의 프로세스로부터의 드로잉 요구를 스케쥴링하여 드로잉 요구를 단일 시퀀스로 형성하는 스케쥴링 수단을 포함하며 상기 다중작업수단 및 상기 스케쥴링 수단이 논리적으로 배열되는 호스트 프로세서, 및 상기 스케쥴링 수단의 단일 시퀀스로부터 전송된 소정의 유닛인 드로잉 명령에 따라 화상을 그리는 디스플레이 장치를 제어하는 그래픽 장치로 구성되며, 상기 스케쥴링 수단은 그래픽 장치에서 소정의 유닛인 드로잉 명령의 실행상태를 모니터하고 실행상태가 소정의 스테이지로 진행할 때까지 프로세스로부터의 드로잉 요구의 스케쥴링을 준비해 두는 것을 특징으로 하는 데이타 처리장치.
  2. 제 1 항에 있어서, 상기 스케쥴링 수단은 하드웨어 이벤트를 스케쥴하며, 상기 드로잉 명령과 상기 하드웨어 이벤트가 상호 경합할 경우에는, 상기 드로잉 명령보다 상기 하드웨어 이벤트를 우선 순위로 스케쥴하는 것을 특징으로 하는 데이타 처리장치.
  3. 제 2 항에 있어서, 상기 하드웨어 이벤트가 키보드, 마우스, 광선펜, 접촉스크린 또는 트랙볼에 응답하여 발생되는 것을 특징으로 하는 처리장치.
  4. 제 1 항에 있어서, 상기 스케쥴링 수단이 상기 그래픽 장치의 단일 스크린상에 다중윈도우 기능을 제공하는 것을 특징으로 하는 데이타 처리장치.
  5. 제 1 항에 있어서, 상기 디스플레이 장치가 강유전성 액정 디스플레이 패널인 것을 특징으로 하는 데이타 처리장치.
  6. 드로잉 명령에 따라 스크린에 화상을 그리는 그래픽 장치와, 상기 드로잉 명령을 발생하는 프로세스를 실행하고 상기 발생된 드로잉 명령을 상기 그래픽 장치 수단에 전송하는 호스트 프로세서 수단으로 구성되며, 상기 호스트 프로세서 수단은 상기 실행 프로세스로부터 상기 그래픽 장치 수단으로의 드로잉 요구 및 하드웨어 이벤트를 모니터하고, 상기 모니터된 드로잉 요구에 응답하여 발생된 상기 드로잉 명령을 첫번째 큐(서버큐(105))에 기입하거나 상기 모니터된 하드웨어 이벤트를 실행하며, 그리고 상기 호스트 프로세서 수단은 상기 그래픽 장치에 전송된 상기 드로잉 명령의 실행상태를 모니터하고, 상기 실행상태에 따라 상기 발생된 드로잉 명령을 상기 첫번째 큐(105)에의 기입을 제어하는 것을 특징으로 하는 데이타 처리장치.
  7. 제 6 항에 있어서, 상기 드로잉 요구와 상기 하드웨어 이벤트가 상호 경합할 경우에는, 상기 하드웨어 이벤트가 상기 드로잉 요구보다 우선 순위로 실행되는 것을 특징으로 하는 데이타 처리장치.
  8. 제 6 항 또는 제 7 항에 있어서, 그래픽 장치 수단에 전송된 상기 드로잉 명령의 실행이 소정의 스테이지에 도달할 때까지 상기 호스트 프로세서 수단이 상기 드로잉 요구를 상기 그래픽 장치 수단에 모니터하는 것을 중단하는 것을 특징으로 하는 데이타 처리장치.
  9. 제 8 항에 있어서, 상기 그래픽 장치 수단에 전송된 상기 드로잉 명령을 저장하는 버퍼(그래픽 명령버퍼(106))로 추가로 구성되며, 여기서, 상기 버퍼에서의 미실행 명령의 양이 소정의 양 이하가 될 때 상기 그래픽 장치 수단으로의 상기 드로잉 요구의 시작이 모니터되는 것을 특징으로 하는 데이타 처리장치.
  10. 제 8 항에 있어서, 상기 그래픽 장치 수단에 전송된 상기 드로잉 명령을 저장하는 버퍼(그래픽 명령버퍼(106)로 추가로 구성되며, 여기서 상기 미실행 명령이 상기 버퍼에 존재하지 않게 되거나 혹은 다음 명령을 저장하는 자유공간이 있는 것으로 판단될 때 상기 드로잉 요구의 시작이 모니터되는 것을 특징으로 하는 데이타 처리장치.
  11. 제 6 항에 있어서, 상기 호스트 프로세서 수단은 시분할 방식으로 실행되는 다수의 프로세스를 만들며, 상기 발생된 드로잉 명령을 각 드로잉 발생 프로세스에 제공된 두번째 큐(클라이언트 큐(101 내지 103))에 기입하며, 단일 시퀀스로써 상기 두번째 큐에 기입된 드로잉 명령을 제어하며 상기 첫번째 큐에 상기 기입된 드로잉 명령을 저장하는 것을 특징으로 하는 데이타 처리장치.
  12. 제 6 항에 있어서, 상기 하드웨어 이벤트가 키보드, 마우스, 광선펜, 접촉 스크린 또는 트랙 볼의 동작에 응답하여 발생되는 것을 특징으로 하는 데이타 처리장치.
  13. 제 6 항에 있어서, 상기 그래픽 장치 수단은 강유전성 액정 디스플레이 패널 장치를 포함하는 것을 특징으로 하는 데이타 처리장치.
  14. 데이타 처리장치에 있어서 : 상기 패널상에 화상을 그리기 위해 드로잉 명령에 따라 상기 패널을 구동하는 로컬 프로세서 및 디스플레이 패널을 포함하는 그래픽 장치 ; 하드웨어 이벤트를 발생하는 사용자 작동장치 ; 및 드로잉 프로세스를 실행하는 클라이언트 실행수단 및 상기 프로세스와 상기 하드웨어 이벤트로부터 드로잉 요구를 모니터링하는 스케쥴링을 수행하는 서버수단을 포함하고, 상기 드로잉 요구에 응답하여 상기 로컬 프로세서에 상기 드로잉 명령을 전송하며, 상기 하드웨어 이벤트에 응답하여 상기 하드웨어 이벤트의 상기 프로세스에 알리며 상기 클라이언트 실행수단 및 상기 서버수단은 논리적으로 배열된 호스트 컴퓨터 프로세서로 구성되며, 여기서 상기 하드웨어 이벤트 및 상기 드로잉 요구가 상호 경합한다면 상기 드로잉 요구보다 상기 하드웨어 이벤트를 우선 순위로 실행하고, 상기 실행상태가 소정의 스테이지에 도달할 때까지 상기 드로잉 요구의 상기 스케쥴링을 준비하는 상기 로컬 프로세서에 의해 상기 드로잉 명령의 실행상태를 모니터하는 상기 서버수단을 특징으로 하는 데이타 처리장치.
  15. 제14항에 있어서, 상기 디스플레이 패널이 강유전성 액정 패널인 것을 특징으로 하는 데이타 처리장치.
  16. 제14항에 있어서, 상기 서버가 상기 디스플레이 패널상에 다중윈도우를 형성하는 상기 드로잉 명령을 상기 로컬 프로세서에 제공하는 것을 특징으로 하는 데이타 처리장치.
KR1019910000904A 1990-01-19 1991-01-19 디스플레이 장치가 부착된 데이타 처리장치 KR940007813B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US90-468,605 1990-01-19
US07/468,605 US5146558A (en) 1990-01-19 1990-01-19 Data processing system and apparatus
US468605 1990-01-19

Publications (2)

Publication Number Publication Date
KR910014793A KR910014793A (ko) 1991-08-31
KR940007813B1 true KR940007813B1 (ko) 1994-08-25

Family

ID=23860481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910000904A KR940007813B1 (ko) 1990-01-19 1991-01-19 디스플레이 장치가 부착된 데이타 처리장치

Country Status (9)

Country Link
US (1) US5146558A (ko)
EP (1) EP0438152B1 (ko)
JP (2) JP2603759B2 (ko)
KR (1) KR940007813B1 (ko)
CN (1) CN1045673C (ko)
AT (1) ATE168205T1 (ko)
AU (1) AU652549B2 (ko)
CA (1) CA2034295C (ko)
DE (1) DE69129706T2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253340A (en) * 1990-01-19 1993-10-12 Canon Kabushiki Kaisha Data processing apparatus having a graphics device with priority scheduling of drawing requests
US5546553A (en) * 1990-09-24 1996-08-13 Texas Instruments Incorporated Multifunctional access devices, systems and methods
JP3002302B2 (ja) * 1991-07-25 2000-01-24 キヤノン株式会社 データ処理装置
DE69222486T2 (de) * 1991-08-02 1998-03-05 Canon Kk Anzeigesteuergerät
US5321807A (en) * 1991-11-27 1994-06-14 Mumford Christopher J Accelerated graphics display method
US5739808A (en) * 1994-10-28 1998-04-14 Canon Kabushiki Kaisha Display control method and apparatus
CN1234100C (zh) * 1996-08-26 2005-12-28 富士通株式会社 建立图形的设备和方法
JPH11296384A (ja) * 1998-04-07 1999-10-29 Hitachi Ltd イベントドリブン型osにおけるイベント処理翻訳システムおよび装置
DE19948099A1 (de) * 1999-10-06 2001-04-19 Infineon Technologies Ag Prozessorsystem, insbesondere ein Prozessorsystem für Kommunikationseinrichtungen
DE10256216A1 (de) * 2002-12-02 2004-06-24 Fujitsu Siemens Computers Gmbh Computersystem sowie Verfahren zur Übertragung von Bilddaten
TWI283394B (en) * 2004-03-31 2007-07-01 Mstar Semiconductor Inc Data processing method and structure of a multi-function display
JP4244028B2 (ja) * 2004-09-22 2009-03-25 株式会社ソニー・コンピュータエンタテインメント グラフィックプロセッサ、制御用プロセッサおよび情報処理装置
US8156259B2 (en) 2005-07-21 2012-04-10 Elliptic Technologies Inc. Memory data transfer method and system
WO2013125266A1 (ja) * 2012-02-20 2013-08-29 三菱電機株式会社 グラフィックスデータ処理装置及びグラフィックスデータ処理システム
CN112424857B (zh) * 2018-07-27 2022-09-20 京瓷株式会社 显示装置以及移动体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4367924A (en) * 1980-01-08 1983-01-11 Clark Noel A Chiral smectic C or H liquid crystal electro-optical device
US4553202A (en) * 1982-05-06 1985-11-12 International Business Machines Corporation User controlled dialog resource switching in a multi-tasking word processor
DE3280240D1 (de) * 1982-12-22 1990-10-11 Ibm Bildveraenderungen auf einer interaktiven rasterabtast- oder matrixanzeige.
US4655561A (en) * 1983-04-19 1987-04-07 Canon Kabushiki Kaisha Method of driving optical modulation device using ferroelectric liquid crystal
JPS60142729A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 端末制御方式
US4823108A (en) * 1984-05-02 1989-04-18 Quarterdeck Office Systems Display system and memory architecture and method for displaying images in windows on a video display
JPS6134590A (ja) * 1984-07-26 1986-02-18 フアナツク株式会社 画面制御方式
JPS62276673A (ja) * 1986-05-26 1987-12-01 Toshiba Corp マルチウインドウ表示装置
GB2191918B (en) * 1986-06-16 1990-09-05 Ibm Data display system
JPS6375937A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd ジョブ優先制御装置
JPH0192826A (ja) * 1987-10-02 1989-04-12 Canon Inc 情報入出力装置
CA1319767C (en) * 1987-11-26 1993-06-29 Canon Kabushiki Kaisha Display apparatus
US4965559A (en) * 1988-05-31 1990-10-23 Motorola, Inc. Multi-channel graphics controller
US4965551A (en) * 1988-12-05 1990-10-23 Richard Box Burglar alarm system for multi-unit mailboxes

Also Published As

Publication number Publication date
DE69129706D1 (de) 1998-08-13
JPH08320774A (ja) 1996-12-03
CA2034295A1 (en) 1991-07-20
JPH06242907A (ja) 1994-09-02
CN1045673C (zh) 1999-10-13
ATE168205T1 (de) 1998-07-15
US5146558A (en) 1992-09-08
KR910014793A (ko) 1991-08-31
AU6946691A (en) 1991-07-25
CN1053502A (zh) 1991-07-31
AU652549B2 (en) 1994-09-01
EP0438152B1 (en) 1998-07-08
DE69129706T2 (de) 1999-01-21
EP0438152A3 (en) 1993-06-09
JP2813332B2 (ja) 1998-10-22
EP0438152A2 (en) 1991-07-24
CA2034295C (en) 1998-08-18
JP2603759B2 (ja) 1997-04-23

Similar Documents

Publication Publication Date Title
KR940007813B1 (ko) 디스플레이 장치가 부착된 데이타 처리장치
KR920005329B1 (ko) 데이타 처리시스템 및 장치
US6249288B1 (en) Multi thread display controller
JP3171891B2 (ja) 表示制御装置
EP0519717A2 (en) Display apparatus
US5253340A (en) Data processing apparatus having a graphics device with priority scheduling of drawing requests
JPS6329290B2 (ko)
JP3002302B2 (ja) データ処理装置
KR940001109B1 (ko) 정보처리장치 및 디스플레이 시스템
US5367628A (en) Multi-window system and display method for controlling execution of an application for a window system and an application for a non-window system
US5446840A (en) System and methods for optimized screen writing
US5812150A (en) Device synchronization on a graphics accelerator
JP3245230B2 (ja) 表示制御装置および表示制御方法
EP0228745A2 (en) Raster scan video controller provided with an update cache, update cache for use in such video controller, and CRT display station comprising such controller
JP2738845B2 (ja) 表示装置及び駆動制御装置
JP3227200B2 (ja) 表示制御装置及び方法
JP2729049B2 (ja) 表示装置
JP3264520B2 (ja) 表示制御装置
JP2662427B2 (ja) 情報処理装置
JP2770961B2 (ja) 情報処理装置
JPH0293584A (ja) 情報処理装置
JP2801218B2 (ja) 表示装置
Theaker et al. I/O Buffering
JP2584872B2 (ja) 情報処理装置
JPH03189723A (ja) Crtコントローラ

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

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee