KR100340621B1 - 윈도우잉동작용으로설계된프레임버퍼시스템의다중블록모드동작 - Google Patents

윈도우잉동작용으로설계된프레임버퍼시스템의다중블록모드동작 Download PDF

Info

Publication number
KR100340621B1
KR100340621B1 KR1019950702653A KR19950702653A KR100340621B1 KR 100340621 B1 KR100340621 B1 KR 100340621B1 KR 1019950702653 A KR1019950702653 A KR 1019950702653A KR 19950702653 A KR19950702653 A KR 19950702653A KR 100340621 B1 KR100340621 B1 KR 100340621B1
Authority
KR
South Korea
Prior art keywords
color value
data
color
array
writing
Prior art date
Application number
KR1019950702653A
Other languages
English (en)
Other versions
KR960700481A (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 KR960700481A publication Critical patent/KR960700481A/ko
Application granted granted Critical
Publication of KR100340621B1 publication Critical patent/KR100340621B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/024Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour registers, e.g. to control background, foreground, surface filling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Input (AREA)
  • Digital Computer Display Output (AREA)

Abstract

프레임버퍼는 메모리어레이, 어레이를 액세싱하기 위한 회로, 어레이에 기입될 수 있는 다수의 칼라값을 저장하기 위한 다수의 칼라값 레지스터, 및 단일 픽셀을 나타내는 데이타를 메모리셀에 기입하거나, 데이타버스의 컨덕터의 수와 동일한 다수의 픽셀을 나타내는 데이타를 메모리셀에 동시에 기입하거나, 또는 어레이의 전체행의 픽셀을 나타내는 데이타를 메모리셀에 동시에 기입하기 위한 회로를 포함한다.

Description

윈도우잉 동작용으로 설계된 프레임 버퍼시스템의 다중 블록모드동작
[도면의 간단한 설명]
제 1도는 본 발명을 포함하는 컴퓨터 시스템을 예시하는 블록도,
제 2도는 종래의 기술에 따라 프레임 버퍼를 예시하는 블록도,
제 3도는 제 2도의 종래기술의 프레임 버퍼의 동작을 예시하는 타이밍도,
제 4도는 본 발명에 따른 회로배열을 예시하는 블록도,
제 5도는 다수의 픽셀에 동시에 영향을 미칠 수 있는 모드어레이의 액세싱을 예시하는 도면,
제 6도는 본 발명의 동작동안 공급된 신호를 예시하는 타이밍도,
제 7도는 본 발명에 따라 프레임 버퍼를 초고속으로 액세싱하는 방법을 예시하는 도면,
제 8도는 본 발명을 실행시키는데 이용된 다양한 모드의 동작을 예시하는 도면,
제 9도는 본 발명에 따라 프레임 버퍼에 기입하는 과정을 예시하는 순서도.
[발명의 상세한 설명]
발명의 배경
(발명의 분야)
본 발명은 컴퓨터 시스템에 관한 것이며, 더욱 구체적으로는, 출력 디스플레이 장치상의 디스플레이를 위해 데이타를 프레임 버퍼에 기입시키는데 매우 빠른 모드를 제공하는 방법 및 장치에 관한 것이다.
(종래기술의 역사)
탁상용 컴퓨터의 동작속도를 증가시키는데 따른 중요한 문제점중 한가지는 정보가 출력디스플레이 장치로 전송되는 속도를 증가시키는 방안을 찾는데 있었다.
현재 이용가능한 대다수 다양한 형식의 데이타 표현은 대량의 데이타가 전송되어야 한다는 것을 요구한다. 예를들어, 컴퓨터 출력 디스플레이 모니터가 1024 ×780 픽셀이 화면상에 디스플레잉되는 칼라모드로 동작하고 있고, 그 모드가 각각의 픽셀을 형성하는데 32 비트를 이용하는 모드라면, 전제 25 x106비트이상의 정보가 각각의 프레임과 함께 디스플레잉 되는 화면으로 전송되어야 한다. 전형적으로, 60프레임이 매초동안 디스플레잉 되며, 따라서 1.5x109비트 이상이 매초동안 전송되어야 한다.
상기는 매우 상당한 양의 처리 전력을 요구하며, 일반적으로 컴퓨터의 전반적인 동작을 느리게 한다.
데이타를 디스플레이로 전송하는 처리를 가속시키기 위해, 다양한 가속회로가 발명되어 왔다. 일반적으로, 상기 가속회로(그래픽 렌더링장치로써 인용됨) 는 디스플레이로의 데이타의 전송에 필수적인 다수의 기능을 수행하는데 컴퓨터의 중앙처리장치의 요구를 경감시킨다.
본질적으로, 이러한 가속기는 중앙프로세서가 수행하는데 정규적으로 요구되는 다양한 동작을 이어받는다. 예를들어, 화면상의 일지점으로 부터 다른 지점으로의 데이타의 블록전송은 전송되고 있는 화면상의 각각의 데이타의 라인이 새로운 라인상의 새로운 지점으로 판독되고 재기입되어야 한다는 것을 요구한다. 디스플레이의 윈도우 영역내 정보의 저장은 각각의 윈도우부에 이용가능한 데이타가 해당 윈도우부내에 적합하도록 클리핑되어야 하고 디스플레이의 다른 부를 중복기입해서는 안된다는 것을 요구한다. 디스플레이상의 윈도우내 화상이 이동되거나 약간 조작되는 경우, 많은 다른 기능이 다양한 벡터의 생성을 요구한다. 중앙처리장치에 의해 수행되는 경우, 이들 모든 동작은 중앙처러장치에 이용가능한 유효한 시간을 요구한다. 그래픽 가속기에 의해 이들 기능의 반복적인 소트(sort)가 수행될 수 있고, 중앙처리장치의 부담을 경감시킨다. 일반적으로, 대다수의 픽셀을 한꺼번에 다루는 동작이 그래픽 가속기에 의해 메카니즘화 된다면, 디스플레이 속도의 최대증가가 얻어질 수 있는다 것으로 알려져 있다.
그래픽 가속기의 설계자에 의해 발견되었던 문제점은 그래픽 가속기 회로에 의해 수용되는 많은 속도 개선이 출력디스플레이 장치상의 궁극적인 디스플레이를 위해 그래픽 가속기의 출력이 로딩되는 프레임 버퍼회로에 의해 무의미하게된다는 것이다.
전형적으로, 프레임버퍼는 디스플레잉될 테이타의 일프레임을 저장하는데 충분한 양의 동적 랜덤 액세스 메모리(DRAM)를 제공한다. 그러나, 데이타를 프레임버퍼로 및 프레임버퍼로부터 전송시키는 것은 프레임버퍼가 구조화된 방식으로 인해 매우 느리다. 프레임 버퍼에서의 액세스를 촉진시키는테 다양한 개선책이 형성되어왔다.
예를들어, 2-포트로된 비디오 랜덤액세스 메모리(VRAM)가 동적 랜덤 액세스 메모리(DRAM)에 대용되어 다른 정보가 프레임 버퍼로 로딩되고 있는 동시에 정보가 프레임 버퍼로부터 얻어질 수 있다.
플래시(flash) 기입모드는 디스플레이의 전체 행이 단일 액세스의 단일 칼라로 기입되도록 발명되었다.
상기 플래시 기입모드는 전체 디스플레이가 클리어되고 있는 경우 유용하다.
그러나, 플래시 기입모드는 클리핑을 한개영역에 제공할 수 없으며, 또는 디스플레이의 전체 행 또는 다수 행이 아닌것과 기능할 수 없다.
결과적으로, 상기 모드는 정보가 출력디스플레이의 화면상의 윈도우내에 디스플레잉되고 있는 경우 이용될 수 없다. 사실상, 플래시 기입모드에 의해 제공된 속도증가는 매우 드물게 이용되는 동작에서만 이용가능하다. 따라서, 이론상으로 다수의 픽셀이 상기 모드를 이용하여 영향을 받을 수 있을지라도, 플래시 기입동작은 너무 드물개 이용되어 프레임버퍼를 위한 추가적인 동작속도를 제공하지 못한다.
전형적인 프레임버퍼는 정규모드로써 하기에 참조될 모드로 기입된다. 정규 모드에서, 프레임 버퍼의 각각의 픽셀위치는 개별적으로 주소지정되고 액셔싱되고; 그리고 픽셀데이타는 데이타 버스로 이들 주소지정된 위치에 전송된다. 예를들어, 32컨덕터 데이타버스에 따라, 픽셀을 형성하는 32 비트는 버스에 배치될 수 있고 프레임 버퍼 메모리의 위치로 전송될 수 있다.
컴퓨터가 32 비트 칼라모드로 기능하고 있다면, 상기 데이타는 1픽셀을 형성하고; 16비트 칼라 모드에서는 2픽셀을 형성하고; 8 비트 칼라모드에서는 4픽셀을 형성한다.
프레임 버퍼가 동시에 1픽셀(또는 2픽셀, 또는 4픽셀) 로 주소지정된다면, 프레임 버퍼의 각각의 픽셀은 개별적인 각각의 칼라로써 표현될 수 있지만, 상기 동작의 정규모드는 매우느리다.
텍스트가 문서로 기입되거나 이용자에 의해 화면에 기입되고 있다면, 각각의 픽셀은 키의 조작에 의해 영향을 받고 있어, 픽셀정보가 프레임버퍼에서 다루어지는 속도가 제한되지 않는다. 그러나, 그래픽 렌더링 장치에 의해 수행되는 많은 조작에 따라 기입의 정규모드를 이용하여 각각의 픽셀을 프레임 버퍼에 개별적으로 기입하기 위한 요구가 동작을 매우 느리게 한다.
예를들어, 텍스트 화일이 먼저 디스플레이상의 윈도우내 오픈되는 경우, 각각의 픽셀의 기입은 동작을 매우 느리게 한다.
마찬가지로, 텍스트가 스크롤된다면, 각각의 픽셀을 기입하는 것은 동작을 매우 느리게한다.
상기 이유로 인해, 기입의 블록모드가 프레임 버퍼를 위해 발명되었다.
상기 블록모드에서, 데이타 버스상에 전송된 데이타는 픽셀값을 지시하지는 않지만, 픽셀이 기입될 것인지 아닌지를 표시하는 신호를 제어한다. 프레임 버퍼의 일부분인 칼라레지스터는 픽셀위치가 제어신호에 의해 인에이블된다면 픽셀위치에 기입되는 칼라 값을 저장한다. 어느 것도 인에이블되지 않는 픽셀위치에 기입되지는 않는다. 상기 동작의 블록모드는 칼라레지스터에 저장된 단일칼라의 데이타 버스의 컨덕터의 수와 동일한 다수의 픽셀위치로의 동시적인 기입을 허용한다.
상기 모드는 또한 윈도우내 칼라값을 기입하고 윈도우영역 외부의 픽셀을 무시함으로써 디스플레이상의 윈도우에 픽셀데이타를 클리핑하는데 이용될 수 있다.
칼라값 레지스터를 가지고 상기 동작의 블록모드를 이용하는 것은 많은 조건하에서 속도의 부족이 가장 명백한 프레임버퍼에 기입을 속도증가시킨다. 불행하게도, 상기 동작모드는 많은 제한을 가진다.
먼저, 전형적으로 4비트 칼라픽셀을 이용하는 시스템과 이용되어 진다.
그다음, 현 칼라시스템에서 발생할 수 있을 일 칼라픽셀 크기 이상과의 이용을 위해 적합되지는 않는다.
더욱 특히, 디스플레이의 윈도우에서 데이타로 수행되는, 전형적인 동작은 단지 2가지 칼라만의 조작을 수반한다. 예를들어, 텍스트가 화면에 기입되는 경우에, 각각의 문자의 칼라 및 해당문자를 둘러싸는 배경의 칼라는 디스플레이상에 화상을 표현하기 위해 프레임 버퍼에 저장된 픽셀을 변화시킴으로써 조작된다. 두가지 칼라가 기입되지 않는다면, 어떤 아웃라인도 텍스트를 위해 제공되지 않는다. 디스플레이를 위해 데이타를 제공하는 소프트웨어 및 해당 데이타의 조작을 가속시키는 다양한 그래픽 렌더링장치는 한꺼번에 2가지 칼라를 조작할 수 있고, 보통 그렇게 한다. 그러나 탁상용 컴퓨터에 이용가능한 프레임 버퍼는 다수의 픽셀이 동시에 주소지정될 수 있는 블록모드에서 한번에 1칼라 이상을 변화시킬 수 없다. 따라서, 현 렌더링 장치가 데이타의 조작을 가속시킬지라도, 동작의 블록모드의 데이타로 표현되는 경우, 데이타 표현은 한번에 1칼라만을 받아들일 수 있는 프레임버퍼에서 느리다.
상기 문제점은 매시간동안 상이한 칼라가 픽셀의 군에 이용되기 때문에, 특히 심각하며, 칼라레지스터는 신칼라가 이용될 수 있기전에, 시간소모 동작으로 구 칼라값으로 부터 신칼라값으로 갱싱되어야 한다.
따라서, 배경칼라는 먼저 디스플레이상의 제 1행을 위한 일 동작을 칼라값 레지스터에 배치되어야 한다.
해당 칼라의 픽셀은 프레임버퍼에 기입되어야 한다. 그후, 칼라는 레지스터에서 변화되어야 하며, 전경 칼라의 이들 픽셀은 제 2기입동작으로 표현되어야 한다. 픽셀의 다음 행이 프레임버퍼에 기입되는 경우, 전체동작은 다시 반복되어야 한다. 프레임버퍼의 각각의 행에 대해 동일 동작을 반복하는 요구는 픽셀데이타가 기입될 수 있는 속도를 크게 지연시킨다.
최근에, 블록모드 기입동작에서 2가지 칼라를 동시에 기입시키는 구성이 발명되었다. 상기 구성은 프레임 버퍼에 다수의 칼라및 레지스터를 이용하여 다수의 칼라값을 저장시킨다. 상기 구성은 윈도우의 기입동안 칼라값 레지스터를 재로딩할 필요를 없애고, 다수의 칼라모드가 이용되도록 하고, 기입을 매우 가속시킨다. 상기 구성은 공동출원한 미합중국 특허출원 일련번호 08/145,756인 프리엠등의 "프레임버퍼에 멀티칼라 기억장치를 제공하기 위한 장치"에 상세히 기재되어 있다.
프레임 버퍼에 기입하는 동작을 가장 효과적으로 가속시키기 위해서 공동출원한 특허출원에 기재된 구성을 이용하기 위한 장치 및 방법을 제공하는 것이 바람직하다.
발명의 요약
본 발명의 목적은 디스플레이를 위해 프레임 버퍼로 전송된 데이타를 대형 블록으로 재빨리 다룰수 있는 새로운 설계의 프레임 버퍼를 제공하는 것이다.
본 발명의 또다른 좀더 특정한 목적은 종래기술의 프레임버퍼의 차수인 인수(factor)에 의해 데이타의 디스플레이를 가속시킬 수 있는 새로운 설계의 프레임버퍼를 제공하는 것이다.
본 발명의 상기 및 다른목적은 메모리 어레이, 어레이를 액세스하기 위한 회로, 어레이로 기입될 수 있는 다수의 칼라값을 저장하기 위한 다수의 칼라값 레지스터, 및 선택된 칼라모드에서 어레이의 전체 행의 픽셀을 표시하는 메모리셀과 선택된 인접군의 픽셀에 동시적으로 기입하기 위한 회로를 구비하여 윈도우의 전체 행이 최소 수의 액세스로 기입될 수 있는 프레임 버퍼로 실현된다.
본 발명의 상기 및 다른 목적과 특징은 도면과 함께 후속하는 상세한 설명을 참조하여 더욱 이해될 것이며, 도면에서 동일 구성요소는 여러도면의 전체에서 동일 명칭으로 참조된다.
표기법 및 용어법
후속하는 상세한 설명의 몇몇부분은 컴퓨터 시스템내에서 데이타 비트에 대한 동작의 기호적 표현의 관점에서 표현된다. 이런 서술 및 표현은 데이타 처리 기술에서의 숙련자에게 사용되는 장치에 관한 것으로 본 기술의 다른 숙련자에게 이런 작업의 본질을 가장 효율적으로 전달하고자 한 것이다. 동작은 물리량의 물리적 조절을 요구하는 것이다. 보통, 필수적이지 않다하더라도 이런 물리량은 저장, 전송, 결합, 그렇지 않다면 조절될 수 있는 전기 또는 자기신호의 형태를 취한다. 일반적인 사용법의 이유로, 비트, 값, 요소, 기호, 문자, 용어, 수 기타등등과 같은 이런 신호를 언급하는 것은 때때로 편리한 것으로 판명된다.
그러나, 이러한 또한 유사한 용어 모두가 적당한 물리량과 연관되어진 이러한 물리량에 붙여진 라벨뿐임을 명심해야 한다.
더욱이, 수행되는 조절은 오퍼레이터인 사람에 의해서 수행되는 정신적인 동작과 보통 연관되어 가산 또는 비교와 같은 용어로 종종 언급된다. 사람인 오퍼레이퍼의 이런 능력은 본 발명의 일부를 형성하는 여기서 서술된 어느 동작에서 대부분의 경우에 필수적이거나 또는 바람직 하지 않다; 동작은 기계동작이다.
본 발명의 동작을 수행하기 위한 유용한 기계는 범용 디지탈 컴퓨터 또는 다른 유사한 장치를 포함한다.
모든 경우에 있어서, 컴퓨터를 동작시 방법동작과 계산 그자체의 방법사이에 차이를 명심해야 한다. 본 발명은 전기 또는 다른( 예컨대, 기계적, 화학적) 물리신호를 처리하여 다른 소정의 물리신호를 발생시키기 위해서 컴퓨터를 동작시키기 위한 방법 및 장치에 관한 것이다.
[발명의 상세한 설명]
제 1도에는, 컴퓨터 시스템(10)이 예시되어 있다.
시스템(10)은 중앙프로세서(11)를 포함하고, 이것은 컴퓨터의 동작을 위해 컴퓨터(10)에 제공된 다양한 명령을 수행한다.
중앙프로세서(11)는 정보를 시스템(10)의 다양한 구성요소에 운반하는 버스 (12)에 접속된다. 상기 설명을 위해, 버스(12)는 데이타버스와 주소버스를 표시하도록 고려될 수 있다. 또한 메인메모리(13)가 버스(12)에 접속되고, 매인메모리는 전형적으로 종래기술의 당업자에게 공지된 방식으로 배열된 동적 랜덤액세스 메모리로 구성되어 전력이 시스템(10)에 제공되는 주기동안 중앙프로세서에 의해 이용되고 있는 정보를 저장한다. 또한 판독전용 메모리(14)가 정보를 제공하기 위해 버스(12)상에 접속되며, 판독전용 메모리는 종래기술의 당업자에게 공지된 다양한 메모리 디바이스(전기적 프로그램가능 판독전용 메모리 디바이스(EPROM디바이스))를 포함할 수 있고, 이것은 전력의 단절시에 메모리 상태를 시스템(10)에 보유시킨다. 판독전용 메모리(14)는 전형적으로 기본 입력/출력 및 작동개시 처리와 같이 프로세서(11)에 의해 이용되는 다양한 기본기능을 저장한다.
또한 장기메모리(16)와 같은 다양한 주변구성요소가 버스(12)에 접속된다. 장기 메모리(16)( 전형적으로 전자기계식 하드디스크 드라이브) 의 구성 및 동작은 기술의 당업자에게 공지되어 있다. 또한 프레임버퍼(17)가 버스(12)에 접속된다.
프레임버퍼(17)는 모니터(18)와 같은 출력장치에 전송될 데이타를 저장하여 출력장치상에 픽셀위치를 정의한다.
본 설명을 위해, 프레임버퍼(17)는 정보를 저장하는데 필요한 메모리셀의 여러플레인에 부가하여, 주소지정 회로, 센싱증폭기, 칼라 룩업 테이블(칼라 인덱싱이 이용됨), 디지탈-아날로그 변환기회로, 및 출력디스플레이에 정보의 스캔을 제어하기 위한 회로를 포함하는 것으로 고려될 수 있다.
제 1도에서, 프레임버퍼(17)는 프레임버퍼(17)에 공급될 그래픽 데이타의 빠른 렌더링을 제공하기 위해 이용된 그래픽 가속회로(15)와 같은 회로를 통해 버스(12)에 결합된 것으로써 예시되어 있다. 그래픽 가속회로(15)는 전형적으로 중앙프로세서의 많을 시간소모 동작을 경감시켜 컴퓨터 시스템이 보다 빠르게 동작할 수 있게 한다.
제 2도는 종래기술에 따라 구성된 프레임버퍼(17)를 예시한다. 전형적으로 이러한 프레임버퍼(17)는 출력디스플레이 상에 픽셀을 정의하는 정보를 저장하도록 설계된 동적 랜덤 액세스메모리 어레이(24)를 포함한다. 상기 개요된 바와같이, 프레임 버퍼(17)의 랜덤 액세스 메모리가 동작의 정규모드에서 액세싱되는 경우, 데이타는 테이타버스(19)의 컨덕터로 프레임버퍼(17)에 기입되거나 프레임 버퍼로부터 판독된다. 프레임버퍼(17)가 기입되는 경우, 모든 데이타 컨덕터는 2진 패턴으로 데이타를 전송한다. 32비트 데이타버스(19)를 가진 전형적인 컴퓨터 시스템에서, 32비트의 정보가 프레임버퍼 메모리에 기입될 수 있고 32 입력핀에 표시된다. 상기 데이타는 동작의 특정한 칼라 모드에서 픽셀을 정의하는데 요구된 비트의 수에 따라 일 또는 그이상의 픽셀을 정의할 수 있다. 예를들어, 동작의 모드가 8비트 칼라에 있다면, 디스플레잉된 각각의 픽셀은 8비트의 데이타를 요구하고; 데이타 컨덕터상의 32비트의 데이타는 각각의 기입액세스에서 4픽셀을 정의할 수 있다. 상기는 프레임버퍼를 디스플레이에 기입될 픽셀데이타로 채우는데 있어 비교적 느린 방법이다.
그러나, 상기는 프레임버퍼에 기입하는 전형적인 방법(정규모드)이다. 프레임버퍼에 기입속도가 제한적이지 않은 대부분의 데이타의 이용자 항목에 이용된다.
또한 다중칼라로된 화상을 포함하는 페인트 화일이 먼저 오픈되거나 또는 디스플레이상에 이동되는 경우와 같이, 윈도우가 다수의 픽셀을 조작하기 위한 2이상의 다른 칼라를 포함하는 다른 실례에서 이용된다.
그러나 디스플레이에 영향을 미치는 많은 동작이 있으며, 이들은 매우 대다수의 픽셀을 조작하고 픽셀이 개별적으로 다른 칼라 값으로써 기입되어야 한다는 것을 요구하지 않는다. 예를들어, 이들 동작은 전체 디스플레이, 또는 디스플레이의 윈도우의 클리어링, 화일의 윈도우로의 기입, 및 유사동작을 포함한다. 프레임버퍼( 또는 그 일부분) 를 채우는 것은 각각의 픽셀(또는 2, 또는 4) 이 정규모드의 기입시에서 처럼 데이타 컨덕터를 이용하여 프레임버퍼에 개별적으로 기입되는 경우에 매우 느리기 때문에, 프레임 버퍼는 또한 각각의 데이타 컨덕트가 픽셀을 나타내는 모든 비트를 액세싱하는 동작의 모드( 블록모드로서 인용됨) 를 허용하는 회로를 가진다.
상기 블록모드는 각각의 픽셀이 16가지 다른 칼라를 표현하는 4비트로 나타내어지는 프레임버퍼 어레이와 함께 종래기술에 이용되어져 있다.
상기 모드는 레지스터에 저장된 단일 칼라값을 프레임버퍼 메모리의 다수의 개별적인 픽셀위치에 동시에 기입시킨다. 상기 블록기입모드에서, 데이타 컨덕터로 어레이에 기입된 정보는 특정한 픽셀위치를 나타내는 메모리 위치에 기입을 인에이블하는데 이용된다. 칼라값은 프레임버퍼의 칼라값 레지스터에 저장되고 인에이블된 위치에 기입된다.
상기는 데이타 버스의 데이타 컨덕터의 수에 상당하는 다수의 픽셀을 단일 칼라로 동시에 기입시킨다.
제 2도는 프레임버퍼(17), 다수의 데이타 입력 컨덕터를 가진 데이타버스 (19), 및 칼라 래지스터 (20)를 도시한다. 메모리 어레이(24)의 메모리셀에 픽셀데이타로써 저장될 4비트 칼라값은 테이타버스(19)의 컨덕터로 칼라레지스터(20)로 기입된다.
행디코드회로(21)및 열디코드회로(22)에 대해 주소버스에 공급된 주소는 기입될 특정군의 픽셀을 선택한다. 블록기입모드에서 데이타버스(19)의 데이타 컨덕터로 프레임 버퍼(17)에 전송된 데이타는 기입되어야 할 픽셀의 위치를 표시한다. 데이타 컨덕터의 이들 제어신호는 주소지정된 픽셀위치중 선택된 픽셀위치를 인에이블하기 위해 열디코드회로(22)에 전송된다. 데이타버스(19)의 특정 데이타 컨덕터가 0값을 운반한다면, 특정 픽셀위치는 기입되지 않는다.
데이타버스(19)의 데이타 컨덕터가 1값을 운반한다면, 칼라 레지스터(20)로 부터 4비트 칼라값이 픽셀위치로 기입된다. 상기 방식에서,다수의 개별적인 픽셀중 선택된 픽셀은 칼라값 레지스터(20)에 저장된 칼라값을 이용하여 한꺼번에 기입될 수 있다.
상기는 동일 칼라를 이용하여 큰영역의 조작을 수행하는 것이 요구된다면 매우 유용한 조작이다. 예를들어, 32비트 데이타버스에 따라, 한번에 32 픽셀의 액세스로 디스플레이의 전체 윈도우에 배경칼라를 기입시킴으로써 윈도우를 재빨리 클리어링할 수 있다.
상기 모드는 또한 픽셀데이타를 윈도우내에 맞춰지도록 클리핑시킨다.
상기는 윈도우 외부의 픽셀위치를 디스에이블링하면서, 윈도우내에 칼라를 기입하기 위한 픽셀위치를 인에이블링함으로써 수행될 수 있다.
블록모드는 4비트 칼라픽셀이 출력디스플레이 장치상에 화상을 디스플레잉하는데 이용되는 경우 특히 유용하다. 그러나, 블록모드는 보다 고급 칼라시스템과 이용되기 때문에 종래기술에 의해 적용되지 않았다. 예를들어, 어떤 구성도 블록기입이 다수와 다른 크기형 칼라픽셀에 대해 수행될 수 있는 것으로 제한되지 않았다.
상기 종래기술의 블록모드의 동작에 따른 보다 중요한 문제점은 일이상의 픽셀이 1 칼라로 동시에 기입될 수 있을지라도, 프레임버퍼가 한번에 1칼라만을 다룰 수 있다는 점이다.
지적된 바와같이, 윈도우는 전형적인 애플리케이션을 디스플레잉하는데 2가지 칼라를 이용한다. 픽셀정보를 프레임버퍼(17)에 공급하는 그래픽 가속장치 및 소프트웨어는 전형적으로 디스플레이의 동작속도를 향상시키기 위해 한번에 2가지 칼라를 조작한다. 블록모드의 동작이 특히 픽셀테이타가 디스플레이에 기입되는 속도를 증가시키기 위해 발명되었다할지라도, 상기 모드는 한번에 1칼라만을 할당할 수 있다. 결과적으로, 전체화면이 상기 블록모드를 이용하여 재빨리 클리어링될 수 있지만, 보다 고급조작이 시스템동작을 지연시킨다. 예를들어, 어떤 정보가 볼록모드를 이용하여 프레임 버퍼에 기입되는 경우, 제 1배경칼라는 먼저 칼라값 레지스터에 배치되어야 하고; 그리고 특정 윈도우의 전체 제 1행은 버스폭과 동일한 픽셀의 군에 배경칼라를 기입함으로써 클리어링되어야 한다. 전경칼라( 전형적으로 정보를 운반한 칼라) 는 칼라값 레지스터에 배치되고, 전경 픽셀은 동일방식으로 행에 기입된다. 그후 배경 칼라는 다시 칼라 레지스터에 배치되고, 특정 윈도우의 전체 제 2행은 클리어링된다. 배경칼라는 칼라레지스터에서 전경칼라로 교체되고, 그리고 전경픽셀은 제 2행에 대해 기입된다.
상기는 윈도우의 모든 행이 기입되어졌을때까지 유지한다.
상기는 시간소모동작이지만 정규모드예서 처럼 픽셀을 나타내는 각각의 위치를 개별적으로 기입하는 것보다 더 빠르다. 매우 느린 주요이유는 칼라레지스터를 디스플레이의 각각의 행에 이용된 전경칼라 및 배경칼라로 일정하게 재로딩하는데 있다.
제 3도는 제 2도의 종래기술의 프레임버퍼의 동작을 예시하는 타이밍도이다. 종래기술의 프레임버퍼에서, 프레임버퍼의 각각의 액세스는 전형적으로 120ns를 요구하는 행주소 스트로브(RAS) 사이클 및 전형적으로 20ns를 요구하는 열주소 스트로브(CAS) 사이클이 수행되어야 한다는 것을 요구한다. 전형적으로 데이타는 CAS사이클의 하강에지시에 어레이에 공급된다. 이들 스트로브 사이클은 도면의 하부 2라인에 예시되어 있다. 제 1열주소 스트로브 사이클은 행주소 스트로브를 오버래핑할 수 있어 단일 열주소 스트로브 사이클만을 요구하는 개별적인 액세스를 위한 전체시간은 120ns이다.
이들 2스트로브 사이클은 프레임버퍼의 메모리 위치를 액세싱 하기 위해서 뿐만아니라 칼라값 레지스터를 로딩하기 위함과 같이 프레임버퍼의 모든 다른 액세스에 대해 요구된다. 결과적으로, 블록기입모드를 이용하여 2칼라를 32 픽셀위치에 기입하는 것은 다수의 시간소모 단계를 요구한다. 제 3도의 하부 2라인은 그러한 단계를 예시한다. 칼라레지스터를 배경칼라로 로딩하기 위해서는 전형적으로 120ns의 제 1조합된 RAS/CAS액세스를 요구한다. 그후, 상기는 칼라레지스터에 저장된 배경 칼라를 32 픽셀에 기입하기 위해서 120ns의 제 2조합된 RAS/CAS사이클에 의해 수반되어야 한다. 칼라레지스터를 전경칼라로 재로딩하는데에는 또한 120ns가 걸리고, 전경칼라를 기입하는데에는 또한 120ns가 걸린다. 따라서, 32픽셀을 기입하는 전체동작은 480ns를 요구하거나 또는 근사적으로 16ns/픽셀을 요구한다. 물론 전체행이 기입되는 경우, 블록기입모드를 이용하여 기입하는 픽셀시간은 칼라값 레지스터가 각각의 행에 대해 두번씩 로딩될 필요가 있고 동일한 행의 동일 칼라의 32 픽셀의 각각의 군이 추가 20ns만을 요구하기 때문에 단축된다. 행을 기입하는 것은 각각의 칼라로 기입된 각각의 32픽셀에 대해 추가 20ns 만을 요구하기 때문에, 칼라가 일단 로딩되어졌다면 근사적으로 1240ns 이상의 시간이 일행의 1024 픽셀을 기입하는데 요구된다.
따라서, 각각의 행에 두번씩 칼라레지스터를 재로딩하는데 필요한 시간(로드동작의 끝부분을 표시하는데 필요한 RAS/CAS사이클 포함)및 각각의 행에서의 각각의 32비트위치에 두번씩 기입하기 위한 요구는 동작을 효과적으로 지연시킨다.
이제 칼라 값을 나타내기 위해 8, 16, 32비트를 이용하는 보다 고급형 칼라모드로 기능하도록 상술된 종래기술의 블록기입동작을 넓히는 것이 가능하게 되었다.
더욱이, 일이상의 칼라값 레지스터를 포함하고, 이에 따라 다수의 픽셀을 나타내는 데이타를 수반하는 액세스동안 다수의 칼라를 동시에 다룰 수 있는 개선된 프레임버퍼 메모리를 제공함으로써, 대다수의 픽셀을 다루는 프레임버퍼의 많은 동작은 매우 가속될 수 있는 것으로 발견되었다. 다수의 칼라값 레지스터를 가짐으로써 개선된 프레임 버퍼 메모리는 칼라레지스터를 재로딩할 필요없이 칼라값이 픽셀위치에 기입되도록한다.
그렇게 함으로써, 개설된 프레임버퍼는 기입될 윈도우의 각각의 행에 대해 두번씩 칼라 레지스터를 재로딩할 필요가 없다. 사실상, 개선된 프레임버퍼는 동작동안 언제라도 칼라레지스터가 기입되도록 하고 윈도우가 기입되고 있는 시간동안 이러한 레지스터를 재기입할 실제요구를 없앤다. 일이상의 칼라를 이용가능하게 함으로써, 2칼라가 클리핑을 요구하지 않는 윈도우의 부분에 전경칼라 및 배경 칼라로써 동시에 기입될 수 있다. 최소한 2칼라 레지스터의 이용으로 인해 픽셀데이타의 큰블록이 프레임버퍼로 로딩될 수 있는 속도는 효과적으로 증가된다. 이러한 개선된 프레임버퍼는 상기 참조된 미합중국 특허출원 "프레임버퍼에 멀티칼라 기억장치를 제공하기위한 장치"에 상세히 기술되어 있다.
본 발명은 프레임버퍼로 기입하기 위한 다수의 추가모드의 이용을 통해 프레임버퍼의 동작을 가속시키기 위한 장치 및 방법을 제공한다. 이러한 모드동작은 시스템동작을 매우 향상시키는데 조합될 수 있다.
이제 제 4도를 참조하면, 본 발명을 이해하는데 유용한 도면이 예시되어 있다. 제 4도는 프레임버퍼(30)의 다양한 구성요소에 속하는 회로기판을 예시한다.
프레임버퍼(30)는 동적랜덤 액세스 메모리어레이(32)를 제공하기 위해 배열된 전체효과 트랜지스터와 같은 디바이스를 포함할 수 있는 다수의 메모리셀을 포함한다.
어레이(32)를 구성하는 셀의 배열은 본 기술의 당업자에게 공지된 주구조에 따라 발전되어 있다. 동작의 특정 모드에서 출력디스플레이 장치상에 제시될 픽셀의 수를 표시하기 위해 충분한 수의 주소지정 메모리셀을 제공하도록 적합된다.
예를들어, 이러한 어레이(32)는 32 플레인(제 1플레인만 상세히 예시됨) 을 포함할 수 있고, 각각의 플레인은 256행을 포함하고, 각각의 행은 1024 메모리셀을 포함하고; 이러한 배열을 칼라출력 디스플레이 단말장치상에 512×512모드로 32 비트칼라를 디스플레잉하는데 충분한 칼라데이타의 기억을 허용한다.
어레이(32)에 부가하여, 프레임버퍼(30)는 중앙프로세서와 같은 제어기에 의해 공급된 주소를 디코딩하고, 출력디스플레이 장치상에 제시될 수 있는 다양한 픽셀을 정의하기 위해 어레이(32)의 각각의 플레인에 개별적인 셀(33)을 선택하기 위한 행디코드회로(34) 및 열디코드회로(36)를 포함한다. 또한 데이타 컨덕트(38)가 프레임버퍼(30)의 일부분으로써 포함되고, 데이타 컨덕터는 어레이(33)에서 이용될 데이타를 제공하기 위해 적합된 데이타버스의 일부분일 수 있다. 전형적으로, 32데이타 컨덕터(38)가 제공되는대 상기 수는 특정컴퓨터 시스템에 따라 변화할 수 있다.
데이타가 동작의 정규모드에서 데이타버스로 프레임버퍼(30)에 기입되는 경우, 32비트의 각각의 군은 출력디스플레이상에 일 또는 그이상의 픽셀위치에서 디스플레잉될 일 또는 그이상의 칼라값을 정의할 것이다.
따라서, 출력디스플레이가 8비트 칼라모드에서 데이타를 디스플레잉하고 있는 경우, 데이타 컨덕터(38)에 의해 운반된 32 비트는 정규기입모드에서 디스플레이상에 4픽셀위치를 정의할 수 있다. 반면, 디스플레이가 32 비트 칼라모드에서 데이타를 디스플레잉하고 있는 경우, 데이타 컨덕터(38)의 32 비트는 디스플레이상에 단일 픽셀위치를 정의하는 정보를 운반한다.
알 수 있는 바와같이, 버스의 데이타 컨덕터(38)중 하나는 어레이의 각각의 플레인에서 8멀티플렉서(42)에 접속되어 해당 컨덕터(38)에 의헤 운반된 데이타비트는 어레이(32)의 플레인의 적절한 메모리셀에 배치될 수 있다.
각각의 멀티플렉서(42)는 선택된 동작의 모드에 따라 각각 플레인에서 어레이(32)로 전송 될 테이타원을 선택한다. 따라서, 모드가 정규모드라면, 테이타비트는 어레이의 해당 플레인에 대한 데이타 컨덕트(38)로부터 직접선택된다. 데이타비트는 선택된 특정 열에 전송되고 해당 열과 선택된 행에 기입된다. 일 비트가 어레이의 32플레인의 각각에 기입될 수 있기 때문에, 32비트가 칼라동작모드에 따라 1개의 32비트 픽셀, 2 개의 16 비트픽셀, 또는 4개의 8비트픽셀로써 버스컨덕터 (38)( 각각의 플레인당 하나)로 부터 기입될 수 있다.
제 4도에 예시된 실시예는 8비트 칼라모드를 이용하는 시스템에서 특히 이용되도록 적합된 본 발명의 바람직한 실시예이다.
알 수 있는 바와같이, 시스템은 8비트 칼라동작을 위한 전용모드를 제공하도록 적합된다. 설명될 것으로써, 16비트칼라모드 및 32 비트칼라모드 각각을 위한추가 전용모드는 여기에 설명된 바와같이 간단한 변형으로써 제공될 수 있다.
상기 목적을 위해서, 시스템은 특정 기입입력 데이타를 선택하기 위해 프레임버퍼(30)의 각각의 플레인에서 8개의 개별적인 멀티플렉서(42)를 이용한다. 각각의 멀티플렉서(42)는 8개의 3상태 기입구동기(53)중 하나에 접속된 그 출력을 가지고, 3상태 기입 구동기는 어레이의 특정 플레인의 모든 8번째 열에 접속된 컨덕터상의 전송게이트(51)와 같은 스위치를 거쳐 출력신호를 공급한다. 8 비트 칼라뿐만 아니라 16 비트 칼라에 대한 전용모드를 제공하는데 적합된 시스템은 16 개의 개별적인 멀티플렉서(42), 16개의 구동기(53), 16개의 게이트(51)를 이용할 것이고, 16의 군으로 어레이의 열에 접속할 것이다.
마찬가지로, 8비트 칼라 및 16비트칼라 뿐만아니라 32 비트칼라에 대한 전용모드에 제공하는데 적합된 시스템은 32개의 각각의 구성요소를 이용할 것이다.
또한, 프레임버퍼(30)는 한쌍의 칼라값 레지스터(C0 및 C1)를 포함하고, 한쌍의 칼라값 레지스터는 다수의 기억위치가 동시에 기입될 수 있는 이후에 설명될 동작의 블록모드에서 이용될 수 있는 칼라값을 저장하는데 이용된다. 어레이의 각각의 플레인은 칼라레지스터에 저장된 칼라값의 일비트를 저장하기위한 일비트 레지스터(C0)및 일비트 레지스터(C1)를 포함한다.
각각의 플레인이 각각의 레지스터에 일비트를 포함하기 때문에, 각각의 레지스트는 상기 실시예에서 전체 32 비트를 포함한다. 따라서 전체 8비트 칼라값이 8개의 플레인에 속하는 레지스터(C0 및 C1)에 저장될 수 있고, 전체 16 비트칼라값이 16개의 플레인에 속하는 레지스터(C0 및 C1)에 저장될 수 있고, 그리고 전체 32비트칼라값이 프레임버퍼(30)의 32개의 플레인의 래지스터(C0 및 C1)에 저장될 수 있다. 도시된 바와같은 32비트 칼라레지스터에 따라, 특정 8비트칼라값을 위한 칼라패턴은 각각의 칼라레지스터에서 4회 반복될 수 있다( 마찬가지로, 16비트칼라값은 2회 반복될 수 있다).
칼라레지스터(C0 및 C1)는 선택적으로 주소지정될 수 있어 데이타버스의 컨덕터(38)에 공급된 데이타에 의해 로딩될 수 있고; 알 수 있는 바와같이, 스위치는 각각의 셀 플레인에 제공되어 로드제어신호에 반응하여 데이타 컨덕터(38)로부터 데이타를 가진 레지스터(C0 및 C1)의 로딩을 허용한다.
따라서, 멀티플렉서(42)는 컨덕터(38)에 의해 운반된 데이타 값뿐만 아니라 칼라레지스터(C0 및 C1)에 저장된 값을 기입될 칼라값으로써 선택할 수 있다. 선택은 중앙프로세서에 의해 또는 그래픽 가속장치에 의해 공급된 제어신호에 의해 표시된 값인 동작의 특정칼라모드에 의존한다.
동작의 정규기입모드에서, 특정 주소는 주소버스로 전송되어 특정행과 열을 선택한다. RAS 신호의 하강에지에서 주소버스상의 상기 주소는 특정행을 선택하고 선택된 어레이의 각각의 플레인에서의 해당행의 모든 메모리셀(33)이 각각의 열의 센스증폭기(43)에 접속 되도록 한다.
상기 동작으로 인해 센스증폭기(43)는 선택된 행에서의 각각의 메모리셀을 리플레시 한다. CAS 신호의 하강에지에서, 열디코드회로(37)의 적절한 스위치(47)에 인가된 열주소는 기입될 각각의 플레인에서의 적절한 열을 선택한다. 본 발명의 바람직한 실시예에서, 열주소는 10 비트이다. 10비트 열주소의 상위값인 7비트(CA3-CA9) 는 8 인접열의 군을 선택하는데 이용된다.
각각의 멀티플렉서(42)에서 정규기입모드 제어신호로 인해 플레인과 연관된 특정 컨덕터(38)상의 데이타 신호는 8멀티플렉서(42)각각에 의해 전송된다. 멀티플렉서(42)에 의해 생산된 신호중 하나는 증폭기(53)중 단일 증폭기에 의해 증폭되고 어레이의 해당 플레인에서 주소지정된 메모리셀(33)에 전송된다. 열주소 신호의 하위의 3비트(CA0-CA2) 는 열중 단일 열에 데이타 비트를 전송하는 증폭기(53)중 특정 증폭기를 선택한다. 각각의 컨덕터(38)가 선택된 행과 열에서 메모리셀에 대한 개별적인 비트를 운반하기 때문에, 픽셀값(또는 다수의 픽셀값)은 어레이의 각각의 플레인에서의 적절한 열과 행위치에 전송될 것이다.
동작의 블록모드가 제어신호에 의해 지시되는 경우, 픽셀데이타를 운반하기 보다 오히려 데이타 컨덕터(38)는 레지스터(C0 및 C1)에 유지된 칼라값이 기입될 어레이(32)에서의 픽셀 위치를 신호가 지시할 수 있도록 운반한다.
이들 칼라값은 로드 칼라값 제어신호에 반응하여 프레임버퍼(30)의 각각의 어레이 플레인의 데이타 컨덕터(38)로부터 로딩된다.
2개의 칼라레지스터(C0 및 C1)가 바람직한 실시예에서 제공되기 때문에, 동작의 전체 4가지 칼라모드가 가능하게 된다. 이들 모드는 칼라 0모드, 칼라 1모드, 칼라 0&1모드, 및 칼라 1&0모드로써 참조된다.
칼라 0모드의 동작시에, 1 의 제어신호 값이 특정 데이타 컨덕터(38)로 전송된다면, 칼라레지스터(C0)에서의 값은 해당 컨덕터(38)에 주소지정된 픽셀을 정의하는 기억위치에 기입된다.
칼라레지스터(C0)에서의 값은 또한 1제어값이 데이타 컨덕터(38)로 전송되는 주소에 대한 모든 다른 기억위치에 전송된다. 반면, 어떤 칼라값도 0제어값이 데이타 컨덕터(38)로 전송되는 픽셀위치에 기입되지 않는다.
따라서, 32개의 다른 픽셀위치는 단일 동시전송에 영향을 미칠 수 있고; 1 값을 수신하는 이들 위치는 칼라레지스터(C0)에서의 값을 수신할 수 있게 되며 0값을 수신하는 위치는 변화하지 않은채로 남아 있는다. 알 수 있는 바와같이, 배열은 8,16, 및 32 비트 칼라픽셀 각각에 따라 기능하도록 적합된다.
상기가 수행되는 방식은 블록 8모드로써 참조된 8비트 칼라의 경우로 예시될 것이다. 블록 8이 각각의 픽셀에서 비트의 수를 참조하지만 칼라 0은 칼라값 레지스터에서 칼라중 특정칼라를 선택하는 방식을 참조한다는 것을 주목해야 한다. 칼라값 레지스터(C0)가 해당 레지스터(C0)에 제공된 32 비트에서 4 회반복된 8비트의 패턴으로 로딩되어지고 칼라값 레지스터(C1)가 해당 레지스터(C1)에 제공된 32 비트에서 4회반복된 8비트의 또다른 패턴으로 로딩되어진다고 추정한다면, 행과 8열은 상술된 방식으로 행주소 디코드회로(34)및 열주소 디코드회로(36)를 통해 주소버스상의 주소에 의해 어레이의 각각의 플레인에서 선택된다.
칼라모드 0이 선택된다고 가정하면, 각각의 플레인의 모든 8멀티플렉서(42)는 어레이에 대한 칼라데이타원으로써 레지스터(C0)를 선택한다. 특정 기입구동기 (53)는 데이타 버스의 컨덕터(38)에 나타난 인에이블 신호에 따라 인에이블된다.
컨덕터(38)에 나타낸 데이타는 픽셀마스크 레지스터(55)에 전송된다. 픽셀 마스크 레지스터는 특정 픽셀로의 데이타의 전송을 제어하는 모든 구동기(53)를 제어하는데 이용된다. 상기가 수행되는 방식은 제 5도에 예시되어 있다.
고려된 실례는 8비트 칼라를 수반하고 제 1의8열이 열주소에 의해 선택되어 졌다는 것을 가정하기 때문에, 제 1픽셀을 정의하는 비트는 선택된 행에서의 제 1열과 해당열의 제 1의 제 8플레인에 놓인다. 픽셀 마스크 레지스터(55)에서의 제 1픽셀(P1)은 칼라값 레지스터(C0)로부터 어레이에서의 비트위치에 칼라를 전송하기위해 구동기(53)를 제어한다. 컨덕터(38)중 제 2컨덕터가 0값을 운반하고 상기 값이 픽셀마스크 레지스터(55)에 저장된다고 주장한다면, 열 0의 다음 8플레인에 놓인 비트위치에 접속된 구동기(53)는 디스 에이블 되어 칼라값 레지스터(C0)에서의 값이 이들 비트위치로 전송되지 않는다. 다른 비트위치의 제어는 제 5도에 예시된 바와같은 유사한 방식으로 발생한다.
결과적으로, 한 행과 8열이 선택됨에 따라, 전체 32개의 8비트 칼라픽셀에 이르는 데이타 컨덕터(38)상의 1값에 의해 선택된 다수의 픽셀은 칼라값 레지스터 (C0)에 저장된 값으로 동시에 기입될 수 있다.
상기 모드는 종래기술의 프레임버퍼에 이용된 블록모드와 유사한 빠른 동작의 모드이고, 매우 재빨리 화면을 클리어링하는데 또는 그렇지 않으면 단일 칼라를 윈도우영역에 제공하는데 이용될 수 있다. 예를들어, 1024×780 픽셀과 8비트 깊이를 가진 디스플레이용 프레임버퍼(30)는 개별적인 픽셀이 프레임버퍼(30)에 하나씩 기입될 수 있는 것보다 더 빠른 근사적으로 32회 클리어링될 수 있다. 상기 모드는 또한 칼라값이 윈도우영역 내측의 픽셀위치에 기입될 수 있고 윈도우영역 외측의 픽셀위치가 무시되기 때문에 클리핑하는데 유용한다.
칼라 1모드는 1값이 특정 데이타 컨덕터(38)로 전송된다면 칼라레지스터(C1)에서의 값이 해당 컨덕터(38)에 주소지정된 픽셀을 정의하는 기억위치에 기입된다 것을 제외하고 칼라 0 모드와 유사하다. 칼라레지스터(C1)에서의 값은 또한 데이타 컨덕터(38)로 전송된 1값에 의해 인에이블된 주소에서의 모든 다른 기억위치에 전송된다. 반면, 어떤 칼라값도 0이 데이타 컨덕터로 전송되는 픽셀위치에 기입되지 않는다. 또한 32개의 다른 픽셀위치는 단일 동시전송에 영향을 미칠 수 있다; 1 값을 수신하는 이들 위치는 0값을 수신하는 위치가 변화하지 않은채로 남아있는 상태에서 칼라레지스터(C1)에서의 값을 수신할 수 있게 된다. 칼라레지스터(C1)로부터 데이타를 기입하는 방법은 본질적으로 칼라레지스터(C0)에 관련하여 설명된 것과 동일하며 제 5도를 재검토함으로써 이해될 것이다.
살펴본 바와같이, 2칼라레지스터(C0 및 C1)는 윈도우의 일부분을 조작하기에 앞서 로딩될 수 있고 항상 이용가능하기 때문에, 일련의 픽셀( 예,32)은 칼라레지스터를 재로딩할 필요 없이 2액세스로 기입될 수 있다. 배경칼라는 제 1액세스로 기입될 수 있고 전경칼라는 제 2액세스로 기입될 수 있다. 이해될 것으로써 제 1칼라가 윈도우 영역내 어떤 위치에 기입되면서 클리핑된 부분이 무시될 수 있고 제 2칼라가 윈도우 영역내 다른 위치에 기입되면서 동일한 클리핑된 부분이 다시 무시될 수 있기 때문에, 상기는 클리핑과 2칼라가 2억세스로 윈도우와 에지에 기입되도록 한다.
그러나, 클리핑이 불필요한 디스플레이의 위치에서 칼라모드 0&1 및 1&0을 이용하여 보다 빠른 기입이 가능할 수 있다.
상기 지적된 바와같이, 디스플레이에 기입하는데 수반된 대부분의 동작은 2가지 칼라를 이용한다.
전형적으로, 렌더링 칩(그래픽 가속기) 또는 중앙 프레세싱 유닛은 클로핑이 필요한 것을 지시하는 제어신호를 제공한다.
상기 신호가 없을시에, 칼라모드 0&1의 이용은 2칼라가 동시에 프레임버퍼에 기입되도록 한다. 상기 모드에서, 데이타 컨덕터(38)상의 0값은 칼라값이 칼라값 레지스터(C0)로 부터제어된 픽셀에 기입되어야 한다는 것을 지시하지만 데이타 컨덕터(38)상의 1값은 칼라값이 칼라값 레지스터(C1)로부터 제어된 픽셀에 기입되어야 한다는 것을 지시한다.
각각의 픽셀을 위한 칼라값의 선택은 각각의 플레인에 대한 데이타 컨덕터 (34)로 전송되고 픽셀마스크 레지스터(55)에 저장된 제어값을 칼라모드 제어신호와 조합함으로써 수행되어 특정 칼라레지스터를 선택하게 되고 특정칼라 레지스터로 부터 칼라값은 멀티플렉서(42)에 의해 전송된다.
예를들어, 칼라모드 0&1에서, 픽셀마스크 레지스터(55)에서의 비트위치의 0은 멀티플렉서(42)가 칼라값 레지스터(C0)에 저장된 칼라값을 선택하게 하고, 픽셀마스크 레지스터(55)에서의 비트위치의 1은 멀티플렉서(42)가 칼라값 레지스터(C1)때 저장된 칼라값을 선택하게 한다. 그후, 모드 0&1을 지시하는 칼라모드 제어신호는 모든 구동기(53)를 제어하여 선택된 픽셀을 어레이에 기입한다.
상기로 인해 전경과 배경을 나타내는 2개의 개별칼라는 클리핑을 요구하지 않는 윈도우 영역의 부분에 동시에 기입된다.
유사한 방식으로, 칼라 1&0모드는 레지스터(C0 및 C1)에서의 2칼라가 동시에 어레이에 기입되게 하지만 상기 방식과 반대위치로써, 0은 멀티플렉서(42)가 레지스터(C1)를 선택하게하고 1은 레지스터(C0)의 선택을 가져온다.
따라서 최소한 2칼라값 레지스터를 가짐으로써 칼라 레지스터에서 칼라값을 변화시킬 필요가 없어지고, 또한 전경칼라 및 배경칼라를 데이타 컨덕터로 설계된 픽셀위치에 대한 개별동작으로 프레임버퍼에 기입할 필요가 없게된다.
본 발명은 프레임버퍼가 기입될 수 있는 다수의 다른 모드를 제공함으로써 공동 특허출원의 발명을 포함한다. 각각의 기입모드에서 데이터 컨덕터상의 매 비트는 프레임버퍼에서 다른 다수의 비트에 영향을 미친다. 제 8도는 다른 모드를 예시하며 동작의 각각의 이들 모드에서 데이타버스의 컨덕터로 전송된 각각의 비트의 조건에 의해 영향을 받는 비트의 수를 나타낸다. 이들 다른 기입모드는 다른 해상도 및 그에 따른 기입된 영역에 걸친 제어도를 제공한다.
제 1모드는 각각의 데이타 컨덕터가 프레임버퍼에 저장된 단일 비트에 영향을 미치는 상술된 동작의 정규모드이다. 상기 모드는 한번에 일픽셀씩 디스플레이에 기입하는 것을 요구하는 동작에 이용된다. 상기 모드는 어떤 칼라가 픽셀위치에 기입되도록 한다.
물론, 상기 모드는 기입된 각각의 픽셀에 대한 120ns를 요구하는 종래기술의 프레임버퍼에 의해 이용된 종래의 저속정규모드이다.
동작의 제 2모드는 각각의 데이타 컨덕터(38)로 전송된 값이 프레임버퍼에 저장된 8비트에 영향을 미치는 인에이블 신호로써 이용되는 상술된 볼록 8모드이다.
상기 모드는 8비트 칼라를 이용하는 프로그램을 갖춘 동작을 기입하는데 이용된다. 8 비트 픽셀은 데이타 컨덕터가 존재하는 만큼 동시에 기입된다.
전형적인 시스템에서, 32픽셀은 단일 액세스로 기입될 수 있다.
제 4도에 예시된 2칼라 레지스터를 이용하여, 동작의 임의의 4칼라모드가 상기 모드에서 가능할 수 있다. 따라서, 어떤 픽셀은 칼라값 레지스터중 하나로부터 일칼라값(또는 다른 레지스터로부터 또다른 칼라) 으로 기입되도록 인에이블될 수 있지만, 다른 픽셀은 칼라 0모드 및 칼라 1모드를 이용하여 무시된다. 더욱이, 상술된 바와같이, 데이타 컨덕터에 의해 영향받는 모든 픽셀은 칼라 0&1모드 및 칼라 1&0모드를 이용하여 2 칼라값 레지스터에 유지된 2가지 개별 칼라로 동시에 기입될 수 있다.
블록16모드로써 인용된 동작의 제 3모드에서, 각각의 데이타 컨덕터는 프레임버퍼에 저장된 16비트에 영향을 미친다. 상기 모드에서, 각각의 플레인상의 개별적인 멀티플렉서(42)의 수는 8 내지 16 이상으로 증가된다. 마찬가지로, 열주소에 의해 동시에 선택될 수 있는 열의 수는 동시에 16열의 선택을 가지도록 증가된다.
상기를 변화시키고 전체 16 비트의 32 픽셀이 칼라레지스터로부터 각각 기입되도록 신호를 제공함으로써, 블록 16 모드는 블록 8모드와 유사한 것으로 제공되고 16비트칼라를 이용하는 프로그램을 가진 동작에 이용된다.
16비트픽셀은 데이타 컨덕터가 존재하는 만큼 동시에 기입된다; 전형적인 시스템에서, 32개의 16비트픽셀은 단일 액세스로 기입될 수 있다. 예시된 2칼라값 레지스터를 이용하여, 동작의 임의의 4칼라모드가 상기 모드에서 가능할 수 있다.
따라서, 어떤 16 비트픽셀은 일칼라(또는 또다른 칼라) 로 기입되도록 인에이블될 수 있지만, 다른 픽셀은 무시된다. 더욱이, 데이타 컨덕터에 의해 영향받는 모든 픽셀은 2칼라값 레지스터에 유지된 2개별 칼라로 동시에 기입될 수 있다.
블록 32모드로써 인용된 동작의 제 4모드에서, 각각의 테이타 컨덕터는 프레임버퍼에 저장된 32비트에 영향을 미친다.
상기 모드에서, 각각의 플레인상의 개별적인 멀티플렉서(42)의 수는 8 내지 32 이상으로 증가되고, 열주소에 의해 동시에 선택될 수 있는 열의 수는 동시에 32열의 선택을 가지도록 증가되고, 그리고 제어신호는 이러한 변화를 수용하기 위해 변형된다. 상기 모드는 또한 블록 8모드와 유사하고, 32비트칼라를 이용하는 프로그램을 갖춘 동작에 이용된다.
32비트픽셀은 데이타 컨덕터가 존재하는 만큼 동시에 기입된다; 전형적인 시스템에서, 32개의 32 비트픽셀은 단일 액세스로 기입될 수 있다. 예시된 2칼라레지스터를 이용하여, 동작의 임의의 4칼라모드가 상기 모드의 기입에서 가능할 수 있다. 따라서, 어떤 픽셀은 일칼라(또는 또다른 칼라) 로 기입되도록 인에이블될 수 있지만, 다른 픽셀은 무시된다.
더욱이, 데이타 컨덕터에 의해 영향받는 모든 픽셀은 2칼라값 레지스터에 유지된 2개별 칼라로 동시에 기입될 수 있다.
종래 기술의 당업자에 의해 이해될 바와같이, 블록 8,16 및 32 동작모드는 일 또는 2칼라로 데이타 컨덕터의 수와 동일한 군의 프레임버퍼로의 픽셀의 매우빠른 기입(근사적으로 정규모드 동작만큼 32 배 빠름) 을 가지는 것으로 발명되어 있다.
더욱이, 모든 다른 칼라모드가 이러한 기입모드 각각과 함께 이용될 수 있기 때문에, 이러한 기입모드 각각은 윈도우에 대해 픽셀데이타를 클리핑하는데 이용될 수 있다. 예를들어, 윈도우 경계를 가로지르는 액세스동안 칼라 0모드에서 윈도우 왼측에 대해 픽셀을 제어하는 데이타 컨덕터상의 데이타를 0으로 설정하고 윈도우 영역내부의 데이타를 1로 설정함으로써, 배경칼라는 행에서와 윈도우의 에지에서, 윈도우내 픽셀위치에 배치될 수 있다. 그후 액세스를 반복하지만 칼라 1모드를 이용하여 데이타 컨덕터상의 데이타를 1로 설정하여 윈도우 영역내부의 전경픽셀을 전경 칼라값으로 기입하고, 반면 다시 윈도우경계 외부의 픽셀에 대해 데이타 값을 0으로 설정함으로써 액세스에 대한 행의 부분은 수행된다. 상기는 단일 행에 필요한 다양한 액세스를 나타내는 제 6도에 예시되어 있다.
일단 윈도우의 왼측에지가 수행되어지면, 윈도우의 중심은 각각이 동시에 32 픽셀을 기입하는 일련의 액세스로 완료될 수 있고, 각각의 픽셀은 2칼라값중 하나로 기입된다.
마지막으로, 윈도우 크로싱을 포함하는 열의 다른 에지는 2액세스를 이용하여 수행되어 윈도우의 왼측에지를 기입하는데 이용된 방식과 근본적으로 유사한 방식으로 배경칼라와 전경칼라를 기입한다.
상기 모드의 선택은 큰 블록의 이용이 프레임 버퍼에서 수행될 수 있는 속도를 크게 향상시킨다는 것으로 본 기술의 당업자에 의해 이해될 것이다. 예를들어,칼라 레지스터를 재기입하는데 필요한 어떠한 액세스도 요구되지 않는다. 상기는 윈도우의 각 라인을 기입하는데 최소한 120ns의 2액세스를 없앤다. 더욱이, 디스플레이의 중심부가 2칼라가 동시에 기입되는 모드로 기입되기 때문에, 절반의 액세스 및 절반의 시간만이 종래기술의 프레임버퍼를 기입하는데 요구된다. 결과적으로, 제 6도의 타이밍도에 의해 예시된 바와같이, 칼라 0&1및 1&0모드를 가진 다른 블록기입 모드는 행에서의 각각의 32픽셀에 대해 단일 RAS신호와 일CAS 신호를 요구하는 일련의 32픽셀액세스로 1024 픽셀행이 기입되도록 한다.
이러한 행에서 가장 큰 윈도우에 기입하는 것은 많아야 780ns를 요구한다.
추가속도는 각각이 단일 전체픽셀을 단일 데이타 컨덕터의 제어하에서 기입시키는 블록 기입모드를 제공함으로써 얻어진다는 것을 주목해야 한다.
픽셀에 이용된 각각의 값과 동일한 선택된 수의 비트에 미치는 효과는 종래기술의 배열의 것보다 동작속도와 실제 증가를 가져온다.
종래기술에서 처럼 단일 고정속도(액세스당 각각의 데이타 컨덕터에 대해 4비트와 같이)로 픽셀의 비트를 채워야 하고, 8,16및 32 비트의 픽셀을 수행하기 위해 다수의 데이타 컨덕터를 취하기 보다 오히려, 각각의 픽셀은 각각의 액세스로 수행된다.
단일 프레임버퍼는 8비트 프레임버퍼, 16비트 프레임버퍼, 또는 32 비트 프레임버퍼로 구성되어 응용프로그램의 소프트웨어와 동작할 수 있는 것으로 인식될 것이다.
기입액세스의 3가지 추가모드는 프레임버퍼의 동작속도를 더욱 증가시키는본 발명에 의해 제공된다. 이러한 모드중 제 1모드는 블록 256모드로써 참조된다.
블록 256모드에서, 각각의 데이타 컨덕터상의 값은 32개의 인접 8비트 픽셀위치에 기입된 칼라값을 결정한다.
상기는 어레이의 각각의 플레인에서 전체 열(256) 중 4분의 1을 동시에 선택하는 열주소에 의해 수행된다. 이러한 열의 각각에 연결된 각각의 픽셀은 특정 칼라모드에서 데이타 컨덕터로 운반된 값에 의해 지시된 칼라값 레지스터에서의 단일 칼라값을 수신한다. 블록 256모드에서 전체 32 × 32개의 8비트 픽셀(1024 픽셀) 은 각각의 기입 액세스에 의해 동시에 영향을 받는다는 것으로 인식될 것이다.
상기는 현 컴퓨터 칼라모니터의 행에서의 전형적인 픽셀의 수이다.
따라서, 블록 256모드에서 8비트 픽셀의 각각의 액세스는 1024 픽셀행에서 모든 픽셀을 기입할 수 있다. 상기 모드는 전체화면을 매우 재빨리 클리어링하거나 또는 화면상 32비트블록에서 변화하는 패턴을 기입하는데 이용될 수 있다.
그러나, 2 칼라가 블록 256모드를 이용하여 동일 액세스로 프레임버퍼에 기입되는 경우에, 데이타 컨덕터는 위치가 기입되지 않아야 한다는 것을 지시하는 신호를 제공하는데 유용하지 않고, 기입될 칼라를 지시하는 신호만을 제공한다.
상기 이유로 인해, 디스플레이상의 윈도우내 적합시키기 위한 그래픽 데이타의 클리핑은 2 칼라가 동시에 기입되는 모드에서 수행될 수 없다.
상기 이유로 인해, 윈도우의 클리핑을 수행하기 위해 윈도우의 경계에서 칼라 0모드 및 칼라 1모드를 이용하는 것이 필요하다. 이러한 단일 칼라모드는 윈도우를 포함하는 각각의 행의 각각의 측부에서의 윈도우 크로싱에 이용되어 제 1액세스로 배경 칼라를 윈도우에지에 기입하고 제 2액세스로 전경칼라를 윈도우에지에 기입할 수 있다. 유사한 방식으로, 액세스의 크기는 볼록 256모드에 따라 매우 크기 때문에, 윈도우 에지를 클리핑하기 위해 다른 모드와 함께 이용되어야 한다.
즉, 각각의 제어비트가 32 픽셀에 영향을 미치기 때문에, 블록 256모드는 32 픽셀의 인접군에서 기입하고 기입하지 않기 위한 픽셀만을 선택할 수 있다. 결과적으로, 블록 256모드는 정확한 윈도우 에지를 클리핑하기 위해 블록 8모드와 함께 이용되어야 한다.
블록 256모드는 8비트 칼라를 이용하고 있는 경우 윈도우를 클리어링하고 윈도우의 경계를 클리핑하기 위해 블록 8모도와 함께 이용될때 특히 유용하다. 제 7도는 상술된 칼라기입의 빠른 모드를 이용하여 윈도우가 클리어링되고 클리핑될 수 있는 처리를 예시한다.
제 7도는 다른 모드가 적용되는 디스플레이의 부분을 예시한다.
칼라 1모드는 단일 액세스동안 윈도우내 픽셀에 배경칼라를 기입하면서, 제 7도의 행의 왼측에지에서 윈도우 외부의 픽셀을 클리핑하는데 이용될 수 있다. 칼라 1모드는 또한 단일 액세스로 윈도우를 포함하는 행의 우측 에지에서 윈도우 외부의 픽셀을 무시하면서 윈도우내 배경칼라를 기입하는데 이용될 수 있다.
칼라 1모드는 윈도우 에지에서 이전 기입된 부분 및 그이상의 부분을 무시하면서 배경 칼라를 가지고 블록 256모드로 윈도우의 전체중심부분을 기입하는데 이용될 수 있다.
따라서, 윈도우의 전체라인은 전체 160ns를 요구하는 프레임버퍼의 3이하의액세스로 윈도우에 대해 클리어링되고 클리핑될 수 있다. 상기는 32 개별 액세스가 임의의 행을 기입하는데 필수적인 블록 8모드를 이용하여 상기 동작이 수행될 수 있을 만큼 근사적으로 5배 빠르다는 것으로 인식될 것이다.
또한 칼라 0모드를 이용하여 전체 60ns 만을 요구하는 3추가 기입 액세스는 클리어된 라인을 기입하는데 필수적인 것으로 주목될 것이다. 상기는 블록 8모드 만으로 데이타를 기입하는 것만큼 근사적으로 4배 빠르다.
제 2추가모드는 블록 512모드로써 참조된다. 블록 512모드에서, 각각의 데이타 컨덕터는 32개의 인접 16비트 픽셀위치에 기입된 데이타의 값에 영향을 미친다. 상기 모드에서, 열주소는 각각의 플레인에서 전체 2분의 1의 열을 동시에 선택한다. 상기 모드는 상술된 선택 컨덕터, 멀티플랙서(42), 및 다른 구성요소의 수에 대한 16으로의 증가를 요구한다. 상기 모드는 볼록 256모드가 디스플레이의 클리핑된 윈도우 영역내 전체행에 재빨리 기입하기 위해 블록 8모드와 함께 이용되는 것과 동일한 방식으로 블록 16 모드와 함께 이용된다.
제 3추가모드는 블록 1024모드로써 참조된다. 블록 1024모드에서, 각각의 플레인에서의 모든 열을 열주소에 의해 동시에 선택된다.
상기 모드는 상술된 선택 컨덕터, 멀티플렉서(42),및 다른 구성요소의 수에 대한 32으로의 증가를 요구한다. 블록 1024모드에서, 각각의 데이타 컨덕터는 32 개의 인접 32비트 픽셀위치에 기입된 데이타의 값에 영향을 미친다. 상기 모드는 블록 256모드가 디스플레이의 클리핑된 윈도우영역내 전체행에 재빨리 기입하기 위해 블록 8모드와 함께 이용되는 것과 동일한 방식으로 블록 32모드와 함께 이용된다.
이러한 모드의 각각은 16 비트 픽셀 및 32 비트픽셀을 표현하는 데이타를 저장하는 프레임 버퍼의 구성이 없다면 블록 256모드에서와 동일한 방식으로 유용한 기능을 제공한다.
따라서, 본 발명의 배열은 큰 블록의 데이타에 영향을 미치는 동작을 수행하기 위해 프레임버퍼를 기입하고 있는 경우 매우 빠른 액세스를 제공하는 것으로 인식될 수 있다. 필수적인 것은 모두 수반된 특정동작에 가장 빠른 액세스를 제공하기 위해 선택된 군에서 다양한 모드를 이용한다는 것이다. 특히, 정규모드, 블록 8모드, 및 블록 256모드는 프레임버퍼가 8비트 픽셀위치에 데이타를 저장하도록 구성되는 경우에 이용된다. 정규모드, 블록16모드, 및 블록 512모드는 프레임버퍼가 16비트 픽셀위치에 데이타를 저장하도록 구성되는 경우에 이용된다. 정규모드, 블록 32모드, 및 블록 1024모드는 프레임버퍼가 16비트 픽셀위치에 데이타를 저장하도록 구성되는 경우에 이용된다.
동작의 블록 256, 512,및 1024모드에서, 대다수의 메모리 디바이스는 동시에 영향받는다는 것을 주목해야 한다. 상기는 각각의 구동기(53)가 대다수의 개별적인 센스증폭기(43)를 다시 구동시키기 위해 충분한 양의 전력을 생산해야 하기 때문에 수행하는데 대량의 전력을 정규적으로 요구한다는 것으로 본 기술의 당업자에게 인식될 것이다. 사실상, 이러한 동작은 종래기술의 기법을 이용하여 수행될 수 없었다. 그러나, 본 발명은 상기 문제점을 극복하는 유일한 방법을 제공한다.
각각의 RAS사이클의 개시동안, 센스증폭기(43)는 여전히 턴온되지 않는다.센스 증폭기가 오프될때 열선택장치가 상기 RAS주기의 하강에지상의 적절한 열에 기입하도록 턴온된다면, 구동기(53)는 센스증폭기 주위를 기입함으로써 메모리셀에 기입할 수 있다. 구동기(53)는 메모리 셀에 저장된 값을 이행하기 위해 센스증폭기 (43)를 다시 구동시킬 필요가 없기 때문에, 각각의 메모리셀(33)은 단지 새로운 조건을 등록시키기 위해 충분히 구동될 필요가 있다.
그후 센스증폭기(43)가 RAS사이클의 후반부동안 턴온될때, 이들 증폭기(43)는 리프레시 처리의 일부분으로써 새로운 조건을 감지하고 리프레시 처리를 이용하여 정확한 조건으로 메모리셀을 자동적으로 구동한다.
상기 방식으로, 매우 대다수의 셀은 단지 최소량의 전략만이 요구된 채로 즉시 변화될 수 있다. 제 9도는 프레임버퍼의 완전한 행을 포함하는 픽셀의 다른 블록이 상술된 다른 블록모드를 이용하여 기입될 수 있는 상술된 처리단계를 예시한다.
본 발명이 바람직한 실시예에 의해 설명되어졌다하더라도, 본 발명의 정신과 영역을 벗어나지 않는 한에서 다양한 변형과 수정이 본 기술의 당업자에 의해 수행될 수 있는 것으로 평가될 것이다.
그러므로, 본 발명은 후속하는 특허청구의 범위에 의해 평가되어야 한다.

Claims (24)

  1. 중앙처리장치,
    메인메모리,
    복수의 데이타 컨덕터를 가진 데이타 버스를 포함하는 버스 시스템,
    출력 디스플레이, 및
    버스 시스템을 출력 디스플레이에 연결시키는 프레임 버퍼를 포함하고,
    상기 프레임 버퍼는,
    출력 디스플레이상에 디스플레잉될 픽셀을 표시하는 데이타를 저장하기 위한 메모리셀의 어레이,
    상기 어레이에서 메모리셀을 선택하기 위한 액세스 회로,
    하나의 칼라값에 상당하는 복수의 비트를 각각 저장할 수 있는 제 1 및 제 2칼라값 레지스터, 및
    칼라값 데이타를 칼라값 레지스터로 부터 데이타버스 시스템의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로로 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  2. 제 1항에 있어서, 칼라값 데이타를 칼라값 레지스터로부터 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로는,
    각각의 칼라레지스터와 데이타버스에 접속된 다수의 멀티플렉서, 및
    멀티플렉서가 칼라값 레지스터로부터 또는 데이타 버스로부터 칼라값을 선택하도록 하는 제어신호원을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  3. 제 2항에 있어서, 멀티플렉서가 칼라값 레지스터로 부터 또는 데이타버스로부터 칼라값을 선택하도록 하는 제어신호원은 칼라값을 칼라값 레지스터로부터 선택하기 위해 제어신호를 데이타버스로 전송하기 위한 회로를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  4. 제 3항에 있어서, 데이터 버스상의 각각의 제어신호가 칼라값 레지스터로 부터 칼라값을 선택하도록 제공되어지게 하기 위해 복수의 픽셀과 동일한 갯수의 기억위치에서의 기억을 위해 멀티플렉서가 칼라값을 칼라값 레지스터로부터 선택하게 하는 제어신호를 제공하기 위한 회로를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  5. 제 1항에 있어서, 칼라값 데이타를 칼라값 레지스터로 부터 데이타 버스 시스템의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로는 한개의 칼라값 레지스터로부터 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  6. 제 1항에 있어서, 칼라값 데이타를 칼라값 레지스터로 부터 데이타버스 시스템의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로는 두개의 칼라값 레지스터로부터 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  7. 컴퓨터 시스템에서 데이타버스 및 출력디스플레이에 연결되도록 설계된 프레임 버퍼에 있어서,
    출력 디스플레이상에 디스플레잉될 픽셀을 표시하는 데이타를 저장하기 위한 메모리셀의 어레이,
    상기 어레이에서 메모리셀을 선택하기 위한 액세스회로,
    하나의 칼라값에 상당하는 복수의 비트를 각각 저장할 수 있는 제 1 및 제2 칼라값 레지스터, 및
    칼라값 데이타를 칼라값 레지스터로 부터 데이타버스의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이내의 다수의 기억위치에 동시에 기입하기 위한 회로를 포함하는 것을 특징으로 하는 프레임 버퍼.
  8. 제 7항에 있어서, 칼라값 데이타를 칼라값 레지스터로부터 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로는,
    각각의 칼라값 레지스터와 데이타버스에 접속된 다수의 멀티플렉서, 및
    멀티플렉서가 칼라값 레지스터로부터 및 데이타버스로부터 칼라값을 선택하도록 하는 제어신호원을 포함하는 것을 특징으로 하는 프레임 버퍼.
  9. 제 8항에 있어서, 멀티플렉서가 칼라값 레지스터와 데이타버스로 부터 칼라값을 선택하도록 하는 제어신호원은 칼라값을 칼라값 레지스터로부터 선택하기 위해 제어신호를 데이타 버스로 전송하기 위한 회로를 포함하는 것을 특징으로 하는 프레임 버퍼.
  10. 제 9항에 있어서, 데이터 버스상의 각각의 제어신호가 칼라값 레지스터로부터 칼라값을 선택하도록 제공되어지게 하기 위해 복수의 픽셀과 동일한 갯수의 기억위치에서의 기억을 위해 멀티플렉서가 칼라값을 칼라값 지스터로부터 선택하게 하는 제어신호를 제공하기 위한 회로를 더 포함하는 것을 특징으로 하는 프레임버퍼.
  11. 제 7항에 있어서, 칼라값 데이타를 칼라값 레지스터로 부터 데이타 버스 시스템의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로는 한개의 칼라값 레지스터로부터 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로를 포함하는 것을 특징으로 하는 프레임 버퍼.
  12. 제11항에 있어서, 칼라값 데이타를 칼라값 레지스터로 부터 데이타버스 시스템의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로는 두개의 칼라값 레지스터로부터 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로를 포함하는 것을 특징으로 하는 프레임 버퍼.
  13. 제 7항에 있어서, 칼라값 데이타를 칼라값 레지스터로부터 디스플레이의 한 행의 픽셀의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이의 다수의 기억위치에 동시에 기입하기위한 회로를 더 포함하는 것을 특징으로 하는 프레임 버퍼.
  14. 제13항에 있어서, 칼라값 데이타를 칼라값 레지스터로부터 디스플레이의 한 행의 픽셀의 수에 상당하는 다수의 개별적인 픽셀을 나타내는 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로는 리프레시 동작이 기입동작을 완료하도록 다수의 기억위치를 리프레싱하기 이전에 행 액세스 스트로브 신호 동안 다수의 기억위치에 기입하기 위한 회로를 포함하는 것을 특징으로 하는 프레임 버퍼.
  15. 제13항에 있어서, 칼라값 데이타를 데이타버스의 데이타 컨덕터로부터 디스플레이상에 단일 픽셀을 나타내는 개별적인 기억위치에 기입하기 위한 회로를 더 포함하는 것을 특징으로 하는 프레임 버퍼.
  16. 메모리셀의 어레이를 포함하는 프레임버퍼에 기입하기 위한 방법에 있어서,
    제 1칼라값을 프레임버퍼의 제 1칼라값 레지스터에 기입하는 단계,
    제 2칼라값을 프레임버퍼의 제 2칼라값 레지스터에 기입하는 단계,
    다수의 메모리셀에 동시에 기입하기 위해 데이터버스의 임의의 데이터 컨덕터상의 임의의 제어신호값에 응답하여 칼라값 레지스터의 칼라값중 하나를 선택하는 단계,및
    선택된 칼라값을 데이타버스의 임의의 데이타 컨덕터상의 제 1제어신호값에 응답하여 디스플레이상에 전체 픽셀을 각각 나타내는 기억위치에 기입하는 단계로 구성되는 것을 특징으로 하는 프레임버퍼에 기입하기 위한 방법.
  17. 제16항에 있어서, 데이타버스의 임의의 데이타 컨덕터상의 제어신호값은 디스플레이상에 다수의 픽셀을 나타내는 기억위치에 기입하는 것을 제어하는 것을 특징으로 하는 프레이 버퍼에 기입하기 위한 방법.
  18. 제17항에 있어서, 선택된 칼라값을 디스플레이상의 전체픽셀을 각각 나타내는 기억 위치에 기입하는 단계는 8,비트 16비트 또는 32 비트의 픽셀을 선택하는 것을 특징으로 하는 프레임버퍼에 기입하기 위한 방법.
  19. 제16항에 있어서, 데이타버스의 임의의 데이타 컨덕터상의 제어신호는 디스플레이상에 단일 픽셀을 나타내는 기억위치에 기입하는 것을 제어하는 것을 특징으로 하는 프레임 버퍼에 기입하기 위한 방법.
  20. 제19항에 있어서, 선택된 칼라값을 디스플레이상의 전체 픽셀을 각각 나타내는 기억위치에 기입하는 단계는 8비트, 16비트 또는 32 비트의 픽셀을 선택하는 것을 특징으로 하는 프레임버퍼에 기입하기 위한 방법.
  21. 중앙처리장치,
    메인메모리,
    복수의 데이타 컨덕터를 가진 데이타 버스를 포함하는 버스 시스템,
    출력 디스플레이, 및
    버스 시스템을 출력 디스플레이에 연결시키는 프레임 버퍼를 포함하고,
    상기 프레임 버퍼는,
    출력 디스플레이상에 디스플레잉될 픽셀을 표시하는 데이타를 저장하기 위한 메모리셀의 어레이,
    상기 어레이에서 메모리셀을 선택하기 위한 액세스회로,
    하나의 칼라값에 상당하는 복수의 비트를 각각 저장할 수 있는 제 1 및 제 2 칼라값 레지스터, 및
    칼라값 데이타를 제 1 및 제 2 칼라값 레지스터로 부터 데이타버스 시스템의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이의 다수의기억위치에 동시에 기입하기 위한 회로를 포함하고, 이 회로는
    각각의 칼라 값 레지스터 및 데이터 버스에 연결된 복수의 멀티플렉서, 및
    멀티플렉서가 칼라값 레지스터로부터 또는 데이터 버스로부터 칼라값을 선택하게 하는 제어신호원을 포함하고, 이 제어신호원은,
    칼라값 레지스터로부터 칼라값을 선택하도록 데이터버스상에 제어신호를 전송하는 회로, 및
    각각의 제어신호에 대한 복수의 픽셀과 동일한 다수의 기억위치에서의 기억을 위해, 멀티플렉서가 칼라값을 칼라값 레지스터로부터 선택하도록 하는 제어신호를 칼라값 레지스터로 부터 칼라값을 선택하기 위해 설치된 데이타버스로 제공하기 위한 회로를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  22. 중앙처리장치,
    메인메모리,
    복수의 데이타 컨덕터를 가진 데이타 버스를 포함하는 버스 시스템,
    출력 디스플레이, 및
    버스 시스템을 출력 디스플레이에 연결시키는 프레임 버퍼를 포함하고,
    상기 프레임 버퍼는,
    출력 디스플레이상에 디스플레잉될 픽셀을 표시하는 데이타를 저장하기 위한 메모리셀의 어레이,
    상기 어레이에서 메모리셀을 선택하기 위한 액세스회로,
    하나의 칼라값에 상당하는 복수의 비트를 각각 저장할 수 있는 제 1 및 제 2칼라값 레지스터, 및
    칼라값 데이타를 칼라값 레지스터로 부터 데이타버스 시스템의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이의 다수의 기억위치에 동시에 기입하기 위한 회로를 포함하고, 이 회로는,
    단일한 칼라 값 레지스터로부터 어레이내의 복수의 기억위치로 동시에 기입하기 위한 회로, 및
    두 개의 칼라값 레지스터로부터 어레이내의 복수의 저장위치로 동시에 기입하기 위한 회로를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  23. 컴퓨터 시스템에서 데이타버스 및 출력디스플레이에 연결되도록 설계된 프레임 버퍼에 있어서,
    출력 디스플레이상에 디스플레잉될 픽셀을 표시하는 데이타를 저장하기 위한 메모리셀의 어레이,
    상기 어레이에서 메모리셀을 선택하기 위한 액세스회로,
    하나의 칼라값에 상당하는 복수의 비트를 각각 저장할 수 있는 제 1 및 제2 칼라값 레지스터, 및
    칼라값 데이타를 칼라값 레지스터로 부터 데이타버스의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이내의 다수의 기억위치에 동시에 기입하기 위한 회로를 포함하고, 이 회로는,
    단일한 칼라 값 레지스터로부터 어레이내의 복수의 저장위치로 동시에 기록하기 위한 회로, 및
    두 개의 칼라값 레지스터로부터 어레이내의 복수의 기억위치로 동시에 기록하기 위한 회로를 포함하는 것을 특징으로 하는 프레임 버퍼.
  24. 컴퓨터 시스템에서 데이타버스 및 출력 디스플레이에 연결되도록 설계된 프레임버퍼에 있어서,
    출력 디스플레이상에 디스플레잉될 픽셀을 표시하는 데이타를 저장하기 위한 메모리셀의 어레이,
    상기 어레이에서 메모리셀을 선택하기 위한 액세스회로,
    하나의 칼라값에 상당하는 복수의 비트를 각각 저장할 수 있는 제 1 및 제2 칼라값 레지스터, 및
    칼라값 데이타를 칼라값 레지스터로 부터 데이타버스의 데이타 컨덕터의 수에 상당하는 복수의 개별적인 픽셀을 나타내는 어레이내의 다수의 기억위치에 동시에 기입하기 위한 회로 및,
    칼라 값 데이터를 칼라값 레지스터로부터 디스플레이의 한 행의 픽셀의 수에 상당하는 개별 픽셀의 수를 나타내는 어레이내의 복수의 기억위치에 동시에 기록하기 위한 회로를 포함하는 것을 특징으로 하는 프레임 버퍼.
KR1019950702653A 1993-10-29 1994-10-27 윈도우잉동작용으로설계된프레임버퍼시스템의다중블록모드동작 KR100340621B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/145,755 US5533187A (en) 1993-10-29 1993-10-29 Multiple block mode operations in a frame buffer system designed for windowing operations
US08/145,755 1993-10-29
US08/145755 1993-10-29
PCT/US1994/012360 WO1995012166A1 (en) 1993-10-29 1994-10-27 Multiple block mode operations in a frame buffer system designed for windowing operations

Publications (2)

Publication Number Publication Date
KR960700481A KR960700481A (ko) 1996-01-20
KR100340621B1 true KR100340621B1 (ko) 2002-10-11

Family

ID=22514393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950702653A KR100340621B1 (ko) 1993-10-29 1994-10-27 윈도우잉동작용으로설계된프레임버퍼시스템의다중블록모드동작

Country Status (6)

Country Link
US (1) US5533187A (ko)
EP (1) EP0677192B1 (ko)
JP (1) JPH09506440A (ko)
KR (1) KR100340621B1 (ko)
DE (1) DE69425426T2 (ko)
WO (1) WO1995012166A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0677200B1 (en) * 1993-10-29 2002-04-03 Sun Microsystems, Inc. Method for increasing the rate of scrolling in a frame buffer
US5539430A (en) * 1993-10-29 1996-07-23 Sun Microsystems, Inc. Pipelined read write operations in a high speed frame buffer system
US5633661A (en) * 1994-11-21 1997-05-27 International Business Machines Corporation Video display control system having block write with opaque pattern control expansion
US5764963A (en) * 1995-07-07 1998-06-09 Rambus, Inc. Method and apparatus for performing maskable multiple color block writes
DE69724327T2 (de) * 1996-05-17 2004-06-17 Hyundai Electronics America Inc., San Jose Leistungsreduzierung während eines Blockschreibens
US6944087B2 (en) * 2001-02-24 2005-09-13 Intel Corporation Method and apparatus for off boundary memory access
KR101661026B1 (ko) * 2014-09-17 2016-09-29 엘지디스플레이 주식회사 표시장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046023A (en) * 1987-10-06 1991-09-03 Hitachi, Ltd. Graphic processing system having bus connection control capable of high-speed parallel drawing processing in a frame buffer and a system memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4648077A (en) * 1985-01-22 1987-03-03 Texas Instruments Incorporated Video serial accessed memory with midline load
GB2180729B (en) * 1985-09-13 1989-10-11 Sun Microsystems Inc Method and apparatus for dma window display
US4752893A (en) * 1985-11-06 1988-06-21 Texas Instruments Incorporated Graphics data processing apparatus having image operations with transparent color having a selectable number of bits
US4823302A (en) * 1987-01-30 1989-04-18 Rca Licensing Corporation Block oriented random access memory able to perform a data read, a data write and a data refresh operation in one block-access time
JPS63204595A (ja) * 1987-02-20 1988-08-24 Fujitsu Ltd マルチプレ−ンビデオram構成方式
US4807189A (en) * 1987-08-05 1989-02-21 Texas Instruments Incorporated Read/write memory having a multiple column select mode
JPH04216392A (ja) * 1990-12-18 1992-08-06 Mitsubishi Electric Corp ブロックライト機能を備える半導体記憶装置
US5282177A (en) * 1992-04-08 1994-01-25 Micron Technology, Inc. Multiple register block write method and circuit for video DRAMs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046023A (en) * 1987-10-06 1991-09-03 Hitachi, Ltd. Graphic processing system having bus connection control capable of high-speed parallel drawing processing in a frame buffer and a system memory

Also Published As

Publication number Publication date
DE69425426D1 (de) 2000-09-07
WO1995012166A1 (en) 1995-05-04
JPH09506440A (ja) 1997-06-24
DE69425426T2 (de) 2001-03-15
US5533187A (en) 1996-07-02
KR960700481A (ko) 1996-01-20
EP0677192A1 (en) 1995-10-18
EP0677192A4 (en) 1996-07-24
EP0677192B1 (en) 2000-08-02

Similar Documents

Publication Publication Date Title
EP0197412B1 (en) Variable access frame buffer memory
KR970005392B1 (ko) 다중 열 선택모우드를 갖고 있는 해독/기입 메모리
KR0167116B1 (ko) 변형가능한 디스플레이 메모리 제공방법 및 장치
US4882687A (en) Pixel processor
KR100279039B1 (ko) 개선된 메모리 구조, 장치, 시스템 및 이를 사용하는 방법
KR100335474B1 (ko) 윈도우잉동작용으로설계된프레임버퍼시스템
EP0279230A2 (en) Video adapter with improved data pathing
CA2012798C (en) Digital image overlay system and method
JPH0375873B2 (ko)
US5504855A (en) Method and apparatus for providing fast multi-color storage in a frame buffer
EP0279227B1 (en) Raster display vector generator
KR100340621B1 (ko) 윈도우잉동작용으로설계된프레임버퍼시스템의다중블록모드동작
KR100355070B1 (ko) 행방향 주소 스트로브 사이클을 갖지 않고 프레임버퍼에 영향을 미치는 동작을 제공하기 위한 방법 및 장치
US5539430A (en) Pipelined read write operations in a high speed frame buffer system
US5805133A (en) Method and apparatus for increasing the rate of scrolling in a frame buffer system designed for windowing operations
US5486844A (en) Method and apparatus for superimposing displayed images
US5699498A (en) Technique and apparatus for color expansion into a non-aligned 24 bit RGB color-space format
US5596583A (en) Test circuitry, systems and methods

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee