[go: up one dir, main page]

KR100355070B1 - 행방향 주소 스트로브 사이클을 갖지 않고 프레임버퍼에 영향을 미치는 동작을 제공하기 위한 방법 및 장치 - Google Patents

행방향 주소 스트로브 사이클을 갖지 않고 프레임버퍼에 영향을 미치는 동작을 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR100355070B1
KR100355070B1 KR1019950702665A KR19950702665A KR100355070B1 KR 100355070 B1 KR100355070 B1 KR 100355070B1 KR 1019950702665 A KR1019950702665 A KR 1019950702665A KR 19950702665 A KR19950702665 A KR 19950702665A KR 100355070 B1 KR100355070 B1 KR 100355070B1
Authority
KR
South Korea
Prior art keywords
data
providing
register
latch
mode
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019950702665A
Other languages
English (en)
Other versions
KR960700490A (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 KR960700490A publication Critical patent/KR960700490A/ko
Application granted granted Critical
Publication of KR100355070B1 publication Critical patent/KR100355070B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/02Storage circuits
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • 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
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/103Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/103Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers
    • G11C7/1033Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers using data registers of which only one stage is addressed for sequentially outputting data from a predetermined number of stages, e.g. nibble read-write mode
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Input (AREA)
  • Memory System (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

본 발명의 프레임버퍼는 RAS사이클에 대한 요구가 없으면, 수행되어져야 할 새로운 행방향 주소를 포함하지 않는 프레임버퍼 동작을 허용하도록 설계되었다. 주소 로우딩을 위한 RAS사이클 및 이와 실질적으로 흡사한 기능을 생략하게되는 것은, 메모리 배열 주소를 포함하지 않는 기능에 있어서나 메모리 배열주소를 포함하는 기능에 있어서나 모두, 프레임버퍼의 동작을 가속화 한다.

Description

행방향 주소 스트로브 사이클을 갖지않고 프레임 버퍼에 영향을 미치는 동작을 제공하기 위한 방법 및 장치
제 1도는 본 발명을 포함할 수 있는 컴퓨터 시스템을 설명하는 블록다이어 그램이고,
제 2도는 종래기술에 따라 설계되는 프레임버퍼를 설명하는 블록다이어 그램이고,
제 3도는 제 2도의 종래의 프레임버퍼의 동작을 설명하는 타이밍 다이어 그램이고,
제 4도는 본 발명에 따른 배열을 설명하는 블록 다이어 그램이고,
제 5도는 종래의 프레임버퍼와 종래기술을 사용하여 동작이 수행되는 것을 설명하는 타이밍 다이어 그램이고,
제 6도는 본 발명에 따른 프레임버퍼를 사용하여 수행되어지는 제 5도에서 설명되어지는 것과 유사한 동작을 설명하는 타이밍 다이어 그램이고,
제 7도는 종래의 프레임버퍼와 종래의 기술을 사용하여 수행되어지는 또다른 동작을 설명하는 타이밍 다이어 그램이고,
제 8도는 본 발명에 따른 프레임버퍼를 사용하여 수행되어지는 제 7도에서 설명되는 것과 유사한 동작을 설명하는 타이밍 다이어 그램이고,
제 9도는 종래의 프래임버퍼와 종래의 기술을 사용하여 수행되어지는 동작을 설명하는 타이밍 다이어 그램이고,
제10도는 본 발명에 따른 프레이버퍼를 사용하여 수행되는 제 9도에서 설명되는 것과 유사한 동작을 설명하는 타이밍 다이어 그램이고,
제11도는 종래의 프레임버피와 종래기술을 사용하여 수행되는 동작을 설명하는 타이밍 다이어 그램이고,
제12도는 본 발명에 따른 프레임버퍼를 사용하여 수행되는 제11도에서 설명되어지는 것과 유사한 동작을 설명하는 타이밍 다이어 그램이고,
제13도는 본 발명에 따른 프레임버퍼를 사용하여 수행되어지는 또다른 동작을 설명하는 타이밍 다이어 그램이고,
제14도는 발명의 방식중 세부사항을 일반적으로 설명하는 플로우챠트이다.
발명의 배경
산업상의 이용분야
본 발명은 컴퓨터 시스템에 관한 것으로서, 특히 디스플레이용 데이타를 외부출력 표시장치에 인가하기 위한 프레임버퍼에 있어서, 그 프레임버퍼에 대해 매우 빠른 동작모드를 제공하기 위한 방법 및 장치에 관한 것이다.
종래의 기술
데스크탑(desktop) 컴퓨터의 동작속도를 높이는데에 관련되는 두드러지는 문제점중의 하나는 정보가 외부출력 표시장치에 전달되어지는 속도의 증가방식을 발견하는데에 있었다. 현재 이용가능한 많은 다양한 데이타 표현형태들은 많은 양의 데이타가 전달되어지는 것을 요구한다. 예를들면, 만약 컴퓨터 출력 디스플레이 모니터가 칼라모드로 동작하되 1024X780 화소(pixel) 가 스크린에 디스플레이되고, 그 모드는 32 비트가 각 픽셀을 정의하는데 사용되어지는 것이라면, 전체 2500 만 비트 이상의 정보가 디스플레이 되는 각 프레임과 함께 스크린에 전달되어져야 한다.
전형적으로 초당 60개의 프레임이 디스플레이되므로, 초당 15 억 비트이상이 그러한 시스템에 전달되어져야 한다.
이것은 매우 많은 양의 처리용 전력을 필요로 한다. 일반적으로 디스플레이로서 이러한 데이타의 전달은 컴퓨터의 전체동작을 느리게 한다.
디스플레이로의 데이타 전달 처리속도를 높이기 위해서 여러가지의 가속회로가 고안되어 왔다. 일반적으로 이러한 회로들은 컴퓨터의 중앙처리기로 하여금 디스플레이로의 데이타 전달에 필요한 많은 양의 기능수행에 대한 요구를 경감하도록 개조된다.
예외없이, 이러한 가속회로들은 중앙처리기가 평상시에 수행하도록 요구되어지는 여러 가지 동작을 떠맡는다. 예를들어 스크린의 일지점으로부터 다른 지점으로 데이터를 블록이동 하는 것은 전달되는 스크린상의 각 행방향 화소데이타가 읽혀지고, 새로운 행에 쓰여질 것을 필요로 한다. 디스플레이의 윈도우 영영내에 정보를 저장하기 위해서는 각 윈도우 할당영역에 유용한 데이타가 그 윈도우 할당영역에 적합하도록 분할되고, 디스플레이의 다른 할당영역을 고쳐쓰지 않도록 하는것이 필요하다. 많은 다른 함수들은 디스플레이 윈도우내의 상(image) 이 움직이거나 처리되어지는 때마다 여러가지 벡터의 생성을 요구한다. 이러한 모든 동작들은 중앙처리장치에 의해 수행되어질때 중앙처리장치의 동작시간중 상당한 부분을 필요로 한다.
이러한 반복적인 기능들의 대부분이 그래픽스 액셀러레이터(graphics accelerator)에 의하여 수행되어 질 수 있으므로, 중앙처리기는 이러한 부담을 경감하게 된다.
일반적으로, 많은 수의 화소를 한번에 처리하는 동작이 그래픽스 엑셀러레이트에 의해 기계화 되어진다면 디스플레이의 속도에 있어서 가장 큰 증가가 얻어질 수 있다는 사실이 알려져 왔다.
물론, 이는 그래픽자료의 디스플레이에 수반되어지는 동작속도를 높인다.
그래픽스 액셀러레이터 회로소자의 설계자들이 발견해온 문제점은 그래픽스 액셀러레이터 회로소자에 의해 수행되는 많은 속도 개선이 프레임버퍼 회로소자에 의해 무효로 된다는 점이며, 이때 그래픽스 액셀러레이터의 출력은 궁극적으로 그 프레임버퍼 회로소자안으로 디스플레이되기 위하여 출력디스플레이 장치에 실리게 된다. 전형적으로 프레임 버퍼는 디스플레이 되어질 한 프레임의 데이타를 저장하기위해 많은 양의 다이나믹 랜덤액세스메모리(DRAM)를 제공한다. 그러나, 데이타를 프레임버퍼로 전송하는 것과 프레임버퍼로부터 다른 곳으로 전송하는 것은 프레임버퍼가 구성되어지는 방식때문에 매우 느리다. 여러가지 개선책이 프레임버퍼를 액세스하는 속도를 향상하기 위하여 만들어져 왔다.
예를들면, 2포트의 비데오(Video) 랜덤액세스메모리(VRAM)가 다이나믹 랜덤액세스 메모리(DRAM)를 대신하여 왔으며, 그 결과 어떤 정보가 프레임버퍼에 실리는 것과 동시에 프레임버퍼로부터 다른 정보가 취해질 수 있다.
쓰기속도를 증가시키기 위해 4 비트 칼라모드를 다루는 프레임버퍼를 위하여 블록쓰기 모드가 고안되어져 왔다. 이러한 블록모드에서는 데이타버스에서 전달되는 데이타가 화소값(pixel values)을 나타내는 것이 아니고, 어느 화소가 쓰여질 것인가의 여부를 나타내는 제어신호를 나타낸다. 칼라레지스터(color register)는 화소위치가 데이타버스상의 제어 시그널에 의해 인에이블된다면, 화소위치에 쓰여질 칼라값(color value)을 저장한다. 인에이블되지 않는 화소위치에서는 어떤 것도 쓰여지지 않는다. 이러한 블록모드동작은, 데이타버스상의 컨덕터(conductor) 의 개수만큼의 화소위치에 칼라레지스터에 저장되는 단 하나의 칼라를 동시적으로 쓰는 것을 가능하게 한다.
칼라값 레지스터(color value register)와 함께 이러한 블록모드동작을 사용하는 것은 속도의 부족이 가장 명백한 많은 상황하에서 프레임버퍼에 4 비트칼라를 쓰는 속도를 향상시킨다. 불행하게도, 이러한 동작모드는 많은 제한을 지닌다.
첫째로, 그것은 단지 4비트화소를 사용하는 시스템과 함께만 사용되어져 왔으며, 결코 더 현대적인 시스템과 더불어 사용하기 위해 개조된적이 없다. 더욱이, 디스플레이의 어떤 윈도우에서 데이타와 함께 수행되어지는 전형적인 동작들은 2칼라의 처리를 수반한다. 예를들어 텍스트가 스크린에 쓰여질때, 각 글자의색과 그 글자를 에워싸는 배경색은 디스플레이에 상을 묘사하기 위한 프레임버퍼에 저장되는 화소를 바꿈으로서 처리되어진다. 글자색과 배경색이 쓰여지지 않으면, 어떤 다른 윤곽도 텍스트를 위해 제공되어지지 않는다. 데이타를 디스플레이하기 위해 제공하는 소프트웨어가 그 데이터의 처리를 촉진하는 갖가지 그래픽렌더링(rendering) 장치는 한번에 두개의 색을 처리할 수 있고, 보통 그렇게 한다.
그러나, 데스크 탑 컴퓨터용으로 이용할 수 있는 프레임버퍼는, 많은 화소가 동시에 주소지정되어 질 수 있는 블록모드에서 한번에 단 하나의 색을 바꿀수 있을뿐이다.
따라서, 현대적인 렌더링장치가 데이타 처리속도를 증가시킬지라도, 블록모드동작에서 데이타를 표현할때 한번에 단 하나의 색만을 받아들일 수 있는 프레임버퍼에서, 그 표현은 느리게 된다. 이 문제는 특히 심각한 것이었다. 왜냐하면, 픽셀그룹을 위해 다른 칼라가 사용되어질때마다, 칼라레지스터는 새로운 칼라가 사용되기전 동작을 소비하는 때에 오래된 칼라값에서 새로운 칼라값으로 갱신해야 한다.
따라서, 배경색은 처음에 하나의 동작으로 디스플레이상의 첫행을 위해 칼라값 레지스터에 놓여져야 한다. 다음으로, 그러한 색의 화소들은 여러화소위치에 프레임버퍼로 쓰여져야 한다.
그리고나서, 그색은 레지스터에서 가장 잘 드러나는 색으로 바뀌고 그 가장 잘 드러나는 색의 화소들은 제 2쓰기동작에서 묘사되어져야 한다.
화소들의 다음행은 프레임버퍼에 쓰여지며, 전체동작이 다시 반복되어져야한다. 최근에는, 두가지 색이 더많은 현대적인 칼라모드를 위해 사용되어질 수 있는 블록모드쓰기 동작에서 동시에 쓰여질 수 있도록 하는 배열이 고안되어져 왔다.
그 배열은 다수의 칼라값들을 저장하기위해, 프레임버퍼상에서 다수의 칼라값 레지스터를 사용한다. 이 배열은 윈도우의 쓰기를 하는 동안 칼라값 레지스터를 재 로우드할 필요성을 제거하고, 다수의 칼라모드가 유용하도록 하며, 쓰기를 극적으로 촉진한다.
그 배열은 같은 날짜로 출원된 미국특허출원 제08/145,756호, "프레임버퍼에서 다중칼라 스토리지를 제공하기 위한 장치(Apparatus For Providing Fast Multi-Color Storage In A Frame Buffer)" 의 상세한 설명에 기재되어 있다.
종래의 프레임버퍼를 사용하여 수행되는 가장느린 동작중의 하나는 데이타의 스크롤링(Scrolling) 이다. 스크롤링 동작에서 데이타의 행들은 출력디스플레이상에서 상하로 이동되어 진다.
출력디스플레이 장치에서 디스플레이되는 화소를 기술하는 데이타는 프레임버퍼에 저장되므로, 스크롤링은 디스플레이의 한행을 나타내는 프레임버퍼에서 화소데이타가 중앙처리기에 의해 프레임버퍼로부터 읽혀지고나서, 다시 프레임버퍼의 다른 위치에 쓰여지는 것을 요구한다. 전형적인 퍼스날컴퓨터에서는, 데이터중 32비트가(하나의화소당 32비트이고 4화소는 8비트칼라이다) 프레임버퍼로부터 읽혀지고, 이때 한동작은 전형적으로 120나노초(ns)를 요구한다.
이후에는 다시 120나노초를 요구하는 프레임버퍼의 적당한 위치에 데이타를 되써넣기 위한 액세스가 뒤따른다. 이러한 읽기 쓰기 패턴은 전체행이 읽혀지고 다시 쓰여질때까지 계속된다. 전형적인 스크린은 1024 화소의 행을 가질 수 있으므로 디스플레이상에 32비트 단일 행의 칼라화소를 스크롤하기 위해서는 240나노초 X 1024화소가 요구된다. 즉 8비트 화소를 위해서는 상기 곱의 값의 1/4배가 요구된다.
텍스트의 각 라인은 대략 12 행의 화소를 차지하므로, 텍스트의 각 라인은 매우 많은 시간이 걸린다.
상기 특허출원에 기재된 프레임버퍼는 데이타에 대한 매우 빠른 스크롤링을 제공하기 위해 새로운 회로소자를 포함하도록 개조되어질 수 있다.
그러한 스크롤링은 종래의 프레임버퍼 보다 대략 85 배 더 빠르다.
그 배열은 Priem등이 같은 날자로 출원한 미국특허출원 제08/145,791호 " 윈도우 동작을 위해 설계된 프레임버퍼에 있어서 스크롤링을 증가시키기 위한 방법 및 장치(Method and Apparatus For Increasing The Rate Of Scrolling In A Frame Buffer Designed For Windowing Operations)"의 명세서에 기재되어 있다.
상기 특허출원에 기재된 새로운 프레임버퍼에 따르면, 데이터의 큰 블록을 프레임버퍼에 기록하는 새로운 장치 및 방법이 고안되어져 왔으며, 이는 프레임버퍼에의 쓰기를 크게 촉진시켰다. 이 장치 및 관련방법의 상세한 것은 같은 날자로 출원된 Priem등의 미국출원 제08/145,755호 "윈도우 동작을 위해 설계된 프레임버퍼 시스템에서의 다중블록모드동작(Multiple Block Mode Operations In A Frane Buffer System Designed For Windowing Operations)"에 기재되어 있다.
이러한 개선에도 불구하고, 프레임버퍼는 아직도 충분한 속도가 결여되어 있다. 모든 프레임버퍼가 직면해온 문제들중의 하나는 그들이 다음과 같이 설계되어져 왔다는 사실인바, 즉 행주소 스트로브 사이클(RAS) 과 열주소 스트로브사이클(CAS)이 프레임버퍼를 사용해서 수행되는 모든 동작들에 필수불가결하게 수반된다는 것이다. 자연히 프레임버퍼가 그의 픽셀데이타(Pixel data)를 저장하는 랜덤액세스 메모리내의 메모리셀이 픽셀데이타를 읽고쓰기 위해 액세스될때, 행주소 스트로브 사이클과 열주소 스트로브 사이클이 액세스에 사용되어진다. 그러나, 전형적인 프레임 버퍼에서, 프레임버퍼 레지스터가 액세스될때, 픽셀데이타가 디스플레이로 전체행이 전달되어질때, 그리고 많은 다른 동작들을 위해, RAS 와 CAS같은 사이클이 또한 요구되어진다.
이러한 동작들의 대부분은 프레임버퍼 배열(array)에서 특별한 행이나 열을 선택하는데 거의 가치가 없거나 전혀 가치가 없다. 그럼에도 불구하고 행주소 및 열주소 스트로브 사이클이 여전히 요구되어진다. 현상태의 기술에서, 전형적인 열주소 스트로브 사이클이 20 나노초를 필요로 하는데 반해 행주소 스트로브 사이클은 수행하는데 120나노초를 필요로 한다. 이러한 스트로브 사이클, 특히 행주소 스트로브 사이클의 필요성은 본질적으로 이러한 무관한 기능을 위해 액세스타임을 늘리게 된다.
발명의 요약
따라서, 본 발명의 목적은 최소한 종래의 프레임버퍼와 함께 수행되어질 수 있는 속도크기의 정도가 되는 요인(factors) 에 의해서도 데이타의 디스플레이를 가속화할 수 있는 새로운 프레임버퍼의 설계를 제공하는 것이다.
본 발명의 또다른 목적은 프레임버퍼중 넌어레이 포션(non-array portions)의 액세스가 일반적으로 행주소 스트로브 사이클을 필요로하지 않는 새로운 프레임버퍼의 설계를 제공하는 것이다.
더우기, 본 발명의 또다른 목적은 어떤 행주소 스트로브 및 열주소 스트로브 사이클이 프레임버퍼의 어레이포션의 어떤 액세스에서 배재되는 새로운 프레임버퍼의 설계를 제공하는 것이다.
상기한 목적들과 본 발명의 다른 목적들이, RAS 사이클에 대한 필요성이 없이도 수행되어지는 새로운 행주소를 포함할때는 반드시 RAS사이클이 필요한 프레임버퍼 동작들을 허락하도록 설계되어지는 프레임버퍼에서 구현되어진다. 어드레스 로딩 및 비슷한 기능을 위한 RAS사이클의 배제는 메모리 어레이 주소를 포함하지 않는 기능이나 포함하는 기능 어느쪽에 있어서도 프레임버퍼의 기능을 본질적으로 가속화 한다.
본 발명의 상기의 그리고 다른 목적 및 특징은 동일한 요소가 몇몇 도면을 통하여 동일 명칭에 의해 인용되어지는 도면과 함께 다음의 상세한 설명을 참조함으로써 더 잘 이해되어질 수 있을 것이다.
기호법 및 명명법
다음의 상세한 설명중 어떤 부분은 컴퓨터 메모리 내의 데이타 비트에 대한 동작을 기호직으로 표시하는 용어로서 나타내어진다.
이렇게 기술하거나 표시하는 것은 데이타처리 기술분야에서 통상의 지식을 가진 자들이 그들 연구내용의 요지를 그 기술분야의 다른 사람들에게 가장 효과적으로 전달하기 위하여 사용되는 수단이다.
그 동작들은 물리량을 물리적을 다루는데 필요한 것들이다.
보통, 반드시는 아닐지라도, 이러한 양(量) 들은 저장되어지고, 전송되어지고, 결합되어지고, 비교되어지고 그렇지 않으면 다루어질 수 있는 전기적 혹은 자기적 신호의 형태를 취한다. 이러한 신호들을 비트(bits), 값(values), 요소(elements) 심볼, 특징, 용어(terms), 수(numbers) 등으로 칭하는 것이, 원리적으로는 공통으로, 사용한다는 이유로, 경우에 따라 편리하다고 증명되어 왔다.
그러나, 이러한 용어 및 유사한 것은 모두가 적당한 물리량과 결합되어져야 하고, 단지 이러한 물리량에 적용되는 편리한 라벨에 불과하다는 사실을 명심해야 한다.
더우기, 수행되어진 처리는 종종 조작자로서의 인간에 의해 수행되어지는 정신적인 동작과 통상적으로 관련된 용어, 즉 더하기나 비교하기로 칭하여 진다.
조작자로서 인간의 능력은 본 발명의 일부를 형성하는 여기에서 기술되어지는 어떤 동작에서도 대부분의 경우에 전혀필요치 않거나 바람직하지 않다. 그 동작은 기계동작이다.
본 발명의 동작을 수행하기 위한 유용한 기계는 범용디지탈 컴퓨터나 다른 비슷한 장치를 포함한다. 모든 경우에 컴퓨터를 동작시키는데 있어서의 작동방식과 컴퓨터자체의 방식사이의 구별을 명심해야 한다. 본 발명은 전기적 또는 다른(예를들면 기계적 화학적) 물리적 신호를 처리하여 다른 바람직한 물리적 신호를 산출함에 있어 컴퓨터를 동작시키기 위한 방법 및 장치에 관한 것이다.
발명의 상세한 설명
제 1도에는 컴퓨터 시스템(10)이 설명되어 있다.
그 시스템(10)은 동작을 위해 컴퓨터(10)에 구비되는 여러가지 명령을 수행하는 중앙처리기(11)를 포함한다. 중앙처리기(11)는 그 시스템(10)의 여러 구성부분에 정보를 전달하기에 적합한 버스(12)에 연결되어 있다. 또한 전형적으로 동적 랜덤액세스 메모리(RAM)로 구성되는 메인 메모리(13)가 그 버스(12)에 연결되어 있으며, 상기 RAM은 전원이 시스템(10)에 인가되는 기간동안 중앙처리기에 의해 사용되는 정보를 저장하도록 종래 기술분야에서 통상의 지식을 가진자에게 잘알려진 방식으로 배열되어 있다.
읽기전용메모리(ROM)(14) 는 그 기술분야에서 통상의 지식을 가진자에게 잘알려져 있는 여러가지 메모리장치( 가령 전기적으로 프로그램가능한 ROM(EPROM)과 같은 장치) 를 포함할 수 있으며, 상기 ROM은 시스템(10)에 전원이 인가되지 않을때 메모리상태를 보유하기에 적합하다. 상기 ROM(14)은 전형적으로 기본 입출력 및 시동프로세스와 같이 처리기(11)에 의해 사용되어지는 여러가지 기본동작을 스토어한다.
또한 장기메모리(long term memory)(16)와 같은 여러주변장치가 버스(12)에 접속되어 있다. 장기메모리(16)( 전형적으로 전자기계적 하드디스크 드라이브) 의 구성 및 동작은 그 기술분야의 통상의 지식을 갖는 자들에게는 잘알려져 있다.
또한, 디스플레이를 위해 모니터(18)와 같은 외부장치로 전달되어질 데이타가 쓰여질 프레임버퍼(17)와 같은 회로망이 버스(12)에 접속되어 있다. 본 설명의목적상 정보를 저장하는데 필요불가결한 여러 메모리플레인(memory plane)에 부가하여, 프레임버퍼(17)는 정보를 외부디스플레이로 주사하는 것을 제어하기 위해 그 분야의 통상의 지식을 갖는자에게 잘알려진 여러가지 회로망을 포함하도록 고려될 수 있다. 부가하여 프레임버퍼(17)에 제공되는 그래픽칼 데이타(graphical data)의 렌더링(rendering) 을 신속하게 행하기 위해 사용되어지는 그래픽 액셀러레이트 회로(15)와 같은 회로망을 통하여 프레임버퍼(17)가 버스(12)에 접속되어질 수 있다.
제 2도는 종래기술에 따라서 구성되는 프레임버퍼(17)를 설명한다. 전형적으로, 프레임버퍼(17)는 외부디스플레이상의 픽셀(pixels)을 정의하는 정보를 스토어하도록 설계된 동적 랜덤액세스 메모리어레이를 포함한다. 프레임버퍼(17)로서 사용되는 RAM이 동작중 노멀모드에 액세스될때, 데이타는 데이타버스(12)의 컨덕터상의 프레임버퍼(17)에 쓰여지거나 읽혀진다. 프레임버퍼(17)에 쓰여질때, 버스의 데이터 컨덕터 모두는 2진데이타를 전송하여 픽셀정보로서 저장된다. 32비트버스를 갖는 전형적인 컴퓨터 시스템에서, 32비트의 정보가 버스에 쓰여지고 프레임버퍼 메모리로 32입력핀에 나타날 수 있다. 이 데이타는 특별한 디스플레이 모드에서 픽셀을 정의하는데 요구되는 비트의 개수에 의존하는 하나 또는 그 이상의 픽셀을 정의할 수 있다. 예를들면, 8 비트 칼라모드 동작에서, 각 디스플레이되는 픽셀은 8비트데이타를 요구한다. 그래서 버스의 데이타 컨덕터상의 32 비트데이타는 특정 개별적인 액세스에서 네개의 픽셀을 정의할 수 있다. 픽셀데이타를 쓰는데 있어 한번에 4픽셀을 쓰기는 디스플레이에 쓰여져야 하는 데이터로 프레임버퍼를 채우기에는 상대적으로 느린 방식이다. 그러나, 이것은 디스플레이에 픽셀데이타를 쓰는 정상적인 방식이다. 이 방식은 픽셀베이시스(basis) 에 의해 또는 윈도우내에 2개이상의 색을 사용하는 어떤 그래픽상을 가지고서 픽셀위의 표시를 바꾸는 어떤 공정에서도 전형적으로 사용되어 진다.
그러나, 디스플레이에 영향을 미치는 많은 동작들이 있으며, 이 동작들은 매우 많은 개수의 픽셀을 처리하며, 픽셀들이 개별적으로 바뀌는 것을 요구하지 않는다. 이 동작들은 예를들면, 전체 디스플레이나 디스플레이의 윈도우를 클리어하는 것, 윈도우에 파일쓰는 것 그리고 조그만 동작들을 포함한다. 각 픽셀이 개별적으로 데이타 컨덕터에 기술되어질 때는 프레임버퍼를 채우는 것은 너무 느리기 때문에, 어떤 종래기술상의 프레임버퍼는, 특정 데이타 컨덕트가 픽셀칼라값을 대표하는 4비트를 액세스하는 것을 제어하는 동작모드(이하 "블록모드" 라고 한다) 를 허용하는 장치를 갖기도 한다. 이 블록모드는 데이타가 메모리중 여러개의 픽셀위치에 동시적으로 쓰여지는 칼라값을 대표하도록 허용한다. 이 블록모드에서, 데이타 컨덕터 상의 배열에 쓰여지는 정보는 제어정보가 특정 픽셀위치를 대표하는 메모리위치에 쓰기가능하도록 하고 다른 픽셀위치는 무시하도록 사용되는 제어정보이다.
제 2도는 종래의 프레임버퍼(17)와, 많은 데이타 입력컨덕터(23)와, 칼라레지스터(19)를 보여준다. 배열(20)내의 데이타 위치에 픽셀데이타로서 저장되는 4비트 칼라값은 칼라레지스터(20)내에 쓰여진다. 데이타 컨덕터(23)상의 프레임버퍼(17)로 전송되는 데이타는 쓰여져야할 픽셀과 쓰여져서는 안될 픽셀의 위치를 나타낸다.
예를들면, 데이타 컨덕터(23)가 '0'값을 갖는다면, 픽셀위치는 쓰여지지 않는다. 만약 데이타 컨덕터가 '1'값을 갖는다면, 칼라레지스터(19)로 부터 4비트칼라값이 픽셀위치에 쓰여진다. 이 방식에서, 많은 개별픽셀들 중에서 선택된 것은 칼라레지스터(19)에 저장된 칼라값을 사용하여 즉시 쓰여질 수 있다. 만약 같은 색을 사용하여 큰영역의 처리를 수행하는 것이 요구되어 진다면, 이것은 매우 유용한 처리이다.
예를들어, 32비트를 갖는다면, 한번에 32 비트픽셀에 액세스하여 디스플레이의 전체 윈도우에 배경색을 쓰게함으로써 윈도우를 재빨리 클리어할 수 있다.
이 모드는 제어신호로 하여금 윈도우내에 칼라를 쓰고, 윈도우 밖의 픽셀위치에는 칼라를 쓰지못하게하므로 픽셀데이타가 윈도우내에 적합하도록 클리프(clip)되는 것을 허용한다.
이러한 종래의 블록모드 동작에 있어서의 한가지 문제점을 그것이 오래된 방식의 4비트 칼라모드 동작과 함께만 사용되어 질 수 있다는 점이다.
더 곤란한 문제점은 하나이상의 픽셀이 블록모드를 사용하는 그 칼라와 동시에 쓰이질 수 있을지라도 종래의 프레임버퍼는 한번에 하나의 칼라만을 다룰 수 있을 뿐이라는 점이다.
반면에, 픽셀정보를 프레임버퍼(17)에 제공하는 그래픽한 액셀러레이팅장치와 소프트웨어는 전형적으로 한번에 두개의 칼라를 처리한다. 따라서, 칼라레지스터를 사용하고 제어신호를 데이타 컨덕터(23)에 보냄으로써 복수의 4비트픽셀이 쓰여질 수 있는 이러한 블록모드를 사용함으로써 전체 스크린이 재빨리 클리어될 수 있는 반면, 더 진보된 조작은 그 시스템의 동작속도를 떨어뜨린다.
예를들면, 어떤 정보 패턴이 프레임버퍼에 쓰여질때, 제 1배경색이 칼라레지스터에 쓰여져야 한다. 그리고 특정 윈도우의 제 1행 전체가 배경색을 쓰게됨으로써 클리어되어야 한다. 그러면 전경색(foreground color)이 칼라레지스터에 놓이고, 전경픽셀(foreground pixels) 이 그 행에 쓰여진다.
그러면, 배경색이 다시 칼라레지스터에 놓이고, 특정윈도우의 제 2행 전체가 클리어된다. 배경색이 전경색파 함께 칼라레지스터에 놓이고, 전경픽셀을 제 2행에 쓰여진다. 이상의 윈도우의 모든 행이 디스플레이에 필요한 2칼라가 쓰여질때까지 계속된다.
제 3도는 제 2도의 종래의 프레임버퍼의 동작기간 동안 제공되는 여러가지 제어신호를 설명하는 타이밍도이다.
종래의 프레임버퍼에서, 그 프레임버퍼에 대한 각 액세스는 120나노초의 행주소 스트로브(row address strobe:RAS)사이클과 20 나노초의 열주소 스트로브(column address strobe:CAS) 사이클 모두를 필요로 한다. 이것은 칼라레지스터를 로드(load)하기위해 프레임버퍼를 액세스하고 프레임버퍼내의 메모리 위치를 액세스함에 있어서도 마찬가지이다. RAS 사이클의 하강에지(edge)에서, DSF 제어신호를 포함하는 여러개의 제어신호와 데이타 전송신호와 쓰기가능신호와 유사한 신호( 일반적으로 도면에서 제어신호로서 도시된) 가 래치되어지고, 프레임버퍼가 동작하는 특정모드를 나타내는데 사용되어 진다.
일단 행주소 스트로브가 제공되면, 단일의 CAS사이클이 행주소 스트로브신호와 겹칠수 있어서 전체 120나노초가 특정 동작을 위해 필요하다. CAS신호의 하강에지기간 동안, 읽기가능신호와 데이타 전송신호와 유사한 제어신호가 래치되어지고, 동작모드를 나타내도록 사용되어진다. 메모리 위치가 액세스될때, 행주소가 RAS사이클의 하강에지에서 제공되고, CAS 사이클의 하강에지에서 열주소가 제공되며, 데이터가 쓰여지거나 읽혀진다. 이 동일한 시퀀스가 배열의 메모리 위치를 액세스하는 것보다는 다른 동작을 위해 사용되어지므로, 칼라레지스터가 배경색으로 로드되는 것은 처음 120나노초가 소요되고, 배경색을 쓰는 것은 다음 120나노초가 소요되며, 칼라레지스터를 전경색으로 다시 로드하는 것은 또다른 120나노초가 소요되며, 전경색을 쓰는 것은 또다른 120 나노초가 소용된다.
각행에 다시 칼라레지스터를 두번 로드하는데 필요한 시간과 각 행에서 각각 32 비트를 두번 써야할 필요성은 동작속도를 두드러지게 떨어뜨린다. 예를들어, 제공되는 데이타를 변경하기 위해 윈도우영역에 기록하는 것이 바람직하다면, 처음에는 칼라레지스터의 값을 그 영역을 위한 배경색으로 변경할 필요가 있으며, 다음에는 배경색을 기록할 필요가 있으며, 다시 칼라레지스터 내의 값을 변경하고, 마지막으로 전경색을 기록할 필요가 있다. 따라서, 블록모드로 32 비트의 정보를 쓰는 것은 대략 노멀모드로 4개의 개별 픽셀을 쓰는 것만큼의 길이를 요구한다.
비록 이것이 프레임버퍼에의 쓰기에서 노멀모드보다 약 8배 빠를지라도, 명백히 칼라레지스터가 로드될때마다 RAS/CAS사이클을 통할 필요가 없다면 이동작은 더 가속화되었을 것이다.
종래의 프레임버퍼에 있어서, 프레임버퍼가 사용하는 다른 레지스터가 로드될때 비슷한 문제가 발생한다. 예를들어, 프레임버퍼는 어떤 동작기간동안 액세스되어져야 하는 프레임버퍼의 플레인(plane) 중 어느 것을 가리키는 정보를 스토어하기 위한 레지스터를 종종 이용한다. 그러한 정보는 다수의 배열프레인(array plane)을 갖는 하나의 하드웨어 배치가 흑백동작을 위해, 8비트 칼라동작을 위해, 16비트 칼라동작을 위해, 그리고 32 비트 칼라동작을 위해 배치되어지도록 허용한다. 이러한 특별한 칼라모드동작의 각각을 위해, 액세스 되어져야 하는 플레인은 그러한 레지스터에 저장되어진다.
그리고 그 정보는 각 행의 액세스에 이용된다. 비록 행주소 스트로브 및 열주소 스트로브 사이클이 단지 제어신호로서만 사용되고 이러한 사이클중에 어떤 행이나 열도 선택되지 않을지라도, 이 플레인 마스크 레지스터를 로드하는 것은 올바른 동작모드를 결정하기 위해 행주소 스트로브 및 열주소 스트로브 둘다를 또한 필요로 한다.
칼라레지스터를 로드하는 것같이, 행주소 스트로브 및 열주소 스트로브 사이클에 대한 필요성은 동작을 완성하는데 요구되는 시간을 실질적으로 증가시킨다.
행주소 스트로브 및 열주소 스트로브 사이클이 행 및 열의 선택에 사용되지 않을지라도, 많은 다른 동작들이 또한 그 사이클들을 필요로 한다. 종래 프레임버퍼의 구성의 한가지 문제점은 만약 다른 동작이 끼어든다면 제어신호를 제공하는 장치가 행주소의 유지보수(maintenance) 를 미리 배제한다는 점이다.
예를들면, 행 및 열주소가 프레임버퍼의 제 1픽셀을 액세스하도록 제공되었을때, 또 다른 픽셀을 쓰기위한 그 행의 다음 액세스는 단지 열액세스만을 필요로 한다.
그러나, 쓰여진 칼라가 바뀌거나 어떤 다른 동작이 끼어든다면, 행 및 열주소 스트로브 사이클은 이러한 다른 동작을 수행하기 위해 제어신호를 래치하도록 요구되어진다. 그리고나서, 또다른 픽셀이 같은 행에 쓰여질때, 그 액세스의 행이 제 1액세스의 행과 같을지라도 행및 열주소가 모두 필요하다.
이는 수행되는 특별한 동작이 매번 다른 동작으로 변경되기 때문에 발생한다. 새로운 동작을 제어하기 위해서는 제어신호를 따라서 행주소 스트로브 및 열주소 스트로브 사이클을 사용하는 것이 필요하다.
행 및 열 주소 스트로브 신호를 보내는 것은 행주소 값에 영향을 줄수도 주지않을 수도 있으나 그 행주소가 더이상 유용하게 여지지지 않도록 그 주소를 불확정한 상태로 남겨두게 된다. 이러한 이유때문에, 행주소가 행주소스트로브 및 열주소 스트로브 사이클을 필요로 하여 갱신되도록 하는 것이 필요하다.
프레임버퍼내의 동작을 제어하는 종래의 방식은 본 발명에 의해 대체되었다. 본 발명에서, 행주소 스트로브 사이클은 단지 행액세스 동작을 위해서만 사용되어지며, 어떤 다른 제어동작을 위해서는 사용되지 않는다. 프레임버퍼의 다른 동작이 행주소 스트로브 사이클에 의해 제어되는 것이 필요하지 않도록 충분한 핀이 구비되어지되, 제 1실시예에서는 4개의 핀이 4개의 명확한 DSF 신호를 위해 구비된다. 행주소가 변경될때, 행주소 스트로브 사이클이 행액세스만을 위하여 사용되어지므로, 행주소 스트로브 사이클동안 지정되는 행은 새로운 행이 선태될때까지 유용한 상태로 있게 된다.
다른 제어기능이 발생할지라도, 그러한 기능들이 또다른 행과 관련되지 않는한, 같은 행내의 동작을 위해 그 행주소의 지정은 더이상 필요치 않다.
행주소 스트로브 사이클을 행액세스 동작에만 이용함으로써, 그 동작이 같은 행에 머물러 있는 한 속도에 있어 많은 개선이 얻어질 수 있다.
더우기, 종래의 프레임버퍼와 대비한 어떤 동작에 있어서, 행주소 스트로브 사이클 동안 열주소 스트로브 사이클을 필요로 하지 않고, 데이타가 실제로 프레임버퍼내에 쓰여질 수 있다는 점에 주목되어야 했다. 종래의 프레임버퍼는 데이타 열주소 스트로브 사이클상에서만 기재되어지는 것을 필요로 한다. 열주소 스트로브 사이클이 짧고 행주소 스트로브 사이클이 길게되므로, 이는 행주소 스트로브 사이클이 개시될때까지 데이타기입의 시작이 연기되고, 그리고 열주소 스트로브 사이클이 시작될 수 있었다는 것을 의미했다. 이와같은 새로운 프로세스는 데이타 기입에 필요한 기간을 한층더 단축시킨다. 그러나, 가장중요한 것은, 같은 행내의 모든 동작들에 대해 단자 하나의 행주소 스트로브 사이클이 요구되어지므로, 매우 긴 다중 행주소 스트로브 사이클이 배제될 수 있다.
제 4도에는 본 발명에 따라 설계된 프레임버퍼(50)의 상세한 블록다이어그램이 도시되어 있다. 제 1도는 프레임버퍼(50)의 여러요소가 탑재되는 회로판을 도시하고 있다. 프레임버퍼(50)는 동적 랜덤액세스 메모리베열(52)을 제공하도록 배열된 전계효과 트랜지스터 장치와 같은 장치를 포함하는 다수의 메모리셀(53)을 포함한다.
배열(52)를 구성하는 셀(53)의 배열은 그 분야의 통상의 지식을 가진자에게는 잘알려진 원리에 따라 개발되었다. 그것은 특별한 동작모드에서 외부출력 표시장치에 나타내어지는 픽셀의 수를 묘사하기 위해 배열(52)에 충분한 개수의 번지지정가능 메모리셀(addressable memory cell:53)을 구비하도록 채택되어 있다. 예를들어, 배열(52)은 전체 32 플레인( 단지 제 1플레인만 제 4도에 상세히 도시되어 있음) 을 포함할 수 있고, 각 플레인은 256행을 포함하며, 각 행은 1024 메모리 셀을 포함한다. 그러한 배열은 칼라외부출력표시 단자상의 512× 512픽셀 디스플레이에 32 비트칼라를 디스플레이 하기에 충분한 칼라데이터의 저장을 가능하게 한다.
배열(52)에 부가하여, 중앙처리기와 같은 컨트롤러에 의해 제공되는 주소를 디코드하기 위해 그리고 외부출력표시장치 상에 나타내어질 수 있는 여러 픽셀을 정의하는 배열(52)의 각 플레인내에서 개별적인 메모리셀을 선택하기 위해, 프레임버퍼(50)는 행디코드회로(54)와 열디코드회로(56)를 포함한다.
배열(52)에서 이용되는 데이타를 제공하기 위해 데이타버스에 연결될 수 있는 데이터 컨덕터(58)가 프레임버퍼(50)에 접속되어 있다. 32라는 숫자가 특별한 컴퓨터 시스템에서는 바뀔 수 있을지라도, 전형적으로 32 데이타 컨덕터(58)가 구비되어진다.
32라는 숫자는 가장 정확한 칼라동작모드에서 디스플레이 장치에 의해 이용가능한 가장 큰 비트수의 단일 픽셀의 칼라를 나타내기 위해 전송되어지는 비트 수와 매치된다.
데이타가 노멀동작모드에서 데이타버스의 컨덕터(58)상의 프레임버퍼(50)에 쓰여질 때, 각 32 비트그룹은 하나 또는 그 이상의 칼라값을 정의하여 외부출력표시장치상의 하나 또는 그 이상의 픽셀위치에 디스플레이 되어진다. 따라서, 외부출력표시장치가 8비트칼라모드에서 데이타를 디스플레이할때, 노멀쓰기모드에서 데이타 컨덕터(58)에 의해 운송되는 32 비트가 디스플레이상의 4픽셀을 정의할 수 있다. 반면에, 디스플레이가 32 비트칼라모드에서 디스플레이되고 있는 데이타일때, 데이타 컨덕터(58)중 32 비트는 디스플레이상에서 단일 픽셀위치를 정의하는 정보를 운반할 수 있다. 알려진 바와같이, 버스의 데이타 컨덕터(58)중의 하나는 입력데이타버퍼(Din) 를 통하여 배열의 각 플레인에 있는 8개의 멀티플렉서(62)의 모두에 접속되어, 그 컨덕터(58)에 의해 운반되는 데이타비트가 배열(52)의 플레인중 적절한 메모리셀내에 위치되어질 수 있다.
멀티플렉서(62)의 각각은 선택된 동작모드에 의존하는 각 플레인내에서 배열(52)에 전송되어질 원시자료(Source of the data)를 선택한다. 따라서, 노멀모드에서, 데이터 비트는 배열중 그 플레인을 위해 데이타 컨덕터(58)로부터 직접 선택되어 진다.
그 비트는 선택된 특별한 열에 전송되어지고 그 열과 선택된 행에 쓰여진다.
1 비트가 배열중 32 플레인 각각에 쓰여질 수 있으므로, 시스템이 작동하는 칼라모드에 의존하여 32 비트가 하나의 32 비트픽셀, 두개의 16 비트픽셀 또는 4개의 8비트픽셀로서 버스 컨덕터(58)( 각 플레인에 대해 하나가)로부터 쓰여질 수 있다.
제 4도에 도시되는 실시예는 특별히 32 비트칼라모드를 이용하는 시스템에서 사용되기에 적합하다. 결국, 그 시스템은 특별한 쓰기입력 데이타를 선택하기위해 플레인버퍼(50)의 각 플레인내에서 8개의 개별적인 멀티플렉서(62)를 이용한다. 이멀티플렉서(62)의 각각은 8개의 3- 상태 쓰기 드라이버(73)에 접속되는 출력을 갖는다.
드라이버(73)각각은 배열의 특정 플레인중 매 18 번째 열에 접속되는 컨덕터(66)상의 전송 게이트(71)와 같은 쓰기가능 스위치를 경유하여 출력신호를 제공한다.
제 4도에 보여지는 바와같이, 프레임버퍼가 동작하도록 되어있는 특정 동작모드를 지시하기 위해 모드제어회로(68)가 구비되어 있다.
모드선택을 수행하기 위해, 4 개의 제어신호(DSF0 ∼ DSF3) 가 쓰기가능신호 및 출력가능긴호를 따라서 제공되어 진다. 이러한 신호의 조합은 종래기술분야에서 통상의 지식을 갖는 자에게 잘알려진 방식으로 특정출력모드 제어신호를 발생한다.
그 기술이 종래기술분야에서 실시되었듯이 노멀모드 쓰기동작에서, 특정주소가 어드레스버스상에서 특정 행과 열을 선택하도록 전송되어진다. 행주소는 행주소 스트로브신호의 하강에지에서 인에이블되는 레치(51)의 행디코우드 회로망(54)에 제공되어 진다.
행의 선택은 각 선택플레인에서 배열의 특정행 중의 모든 메모리 셀(53)에 전원이 공급되도록 한다. 일단 전원이 배열중 적절한 행에 제공되면, 그 행의 각 메모리셀의 값은 배열중 각 열에 대한 센스증폭기(63)에 의해 읽혀진다. 센스증폭기(63)가 켜지고, 각 센스증폭기(63)는 선택행에서 메모리장치(53)을 리프레시(refresh)하도록 다시 읽혀진 값을 작동시킨다.
CAS신호의 하강에지에서, 레치(57)는 인에이블된다. 그리고 열주소는 열디코우드회로망(56)에 의해 디코우드되고 쓰기가 이루어진 각 플레인내의 적합한 행을 선택하기 위해 적합한 스위치(67)에 인가된다. 도시되어진 프레임버피(50)에서, 열주소는 10비트이다.
이 10 비트중, 상위 7비트(CA3-9) 의 열주소가 8개의 인접열의 그룹을 선택하기 위해 열디코우드 회로(56)에 의해 사용되어진다.
각 멀티플렉서(62)에서 노멀모드 쓰기제어신호는 데이타신호가 8 개의 멀티플렉서(62)의 각각에 의해 데이타입력 버퍼로부터 전송되어지도록 그 플레인과 결합되어지는 단일 컨덕터(58)상에 제공되도록 한다. 래치(57)로부터 열주소중 하위 3비트(CA0-2)는 열디코우드 회로망에 의해 선택되는 8열중 하나에 데이타비트를 전달하기 위해 증폭기(73)중의 특정한 것을 선택한다. 따라서, 멀티플렉서(62)에 의해 꺼내어지는 신호중 하나는 증폭기(73)중 단일의 것에 의해 증폭되고, 배열중 그 플레인에 있는 주소지정된 메모리셀(53)에 전송되어 진다.
배열(52)중의 각 플레인과 결합하는 컨덕터(58)의 각각이 선택된 행과 열에 메모리셀용 개별비트를 운반하므로, 픽셀값은 배열중의 각 플레인에 적정 열 및 행위치로 전송되어질 것이다.
비슷한 방식으로, 적정 픽셀값이 노멀모드 동작에서 읽혀질때, 행 및 열 주소는 디코우드 회로(54, 56) 에 전송되어 진다. 행주소는 RAS신호의 하강에지에서 선택되어 진다. 그리고 배열(52)의 각 선택플레인에서 메모리 셀의 전체행이 리프레시 되어 진다.
CAS 신호의 하강에지에서 열주소의 상위 7비트가 주소지정되었고 읽혀질 각플레인에서 8개의 인접열을 선택하기 위해 열더코우드 회로망(56)의 적정스위치(67)에 인가된다.
각 선택플레인중에서 이 8열중의 각각에 있는 메모리셀(53)의 상태는 출력감지증폭기중 제2조에 의해 감지된다. 특정열의 출력은 각 플레인내의 멀티플렉서(79)에 의해 선택되어진다. 멀티플렉서(79)는 노멀모드 읽기신호 및 열주소중 하위 3비트 값에 의해 제어된다.
이것은 특정 메모리셀(53)의 상태가 배열(52)중의 해당플레인과 결합되는 데이터버스의 컨덕터(58)증 특정한 것에 전송되어지도록 한다.
프레임버퍼(50)는 또한 한쌍의 칼라값 레지스터(C0, C1)를 포함하며, 그 레지스터는 다수의 저장위치가 동시에 쓰여질 수 있는 이하에서 기술되는 동작중의 칼라블록모드에서 사용되어 질 수 있다.
배열의 각 플레인은 칼라값중 1비트를 저장하는데 1비트레지스터 C0 와 1 비트레지스터 C1 을 포함한다. 각 플레인이 각 레지스터당 1비트를 포함하므로, 각 레지스터(C0,C1)는 전체 32 비트를 포함한다. 따라서 전체 8비트 칼라값은 8플레인상에 있는 레지스터(C0,C1) 에 스토어될 수 있고, 전체 16 비트칼라값은 16 플레인 상에 있는 레지스터(C0,C1)에 스토어될 수 있으며, 전체 32 비트칼라값은 프레임버퍼(50)의 32 비트 플레인중의 레지스터(C0,C1) 에 스토어될 수 있다.
알려진 바와같이 32 비트칼라 레지스터와 함께, 특정 8비트 칼라용 칼라패턴은 각 칼라레지스터에서 4번 반복되어질 수 있다( 비슷하게 16비트는 두번 반복되어질 수 있다).
칼라레지스터(C0,C1) 는 데이타버스의 컨덕터(58)에 제공되는 데이타에 의해 로우드 되어질 수 있도록, 선택적으로 주소지정 되어질 수 있다. 앞으로 명백하게 되겠지만, 데이타 컨덕터(58)로부터 데이타를 갖는 레지스터(C0,C1) 의 로우딩을 가능하게 하기 위해 스위치가 각 셀 플레인에 구비되어 진다. 칼라블록 레지스터의 상세한 것은 상기에서 인용된 "Apparatus For Providing Fast Multi-Color Storage In A Frame Buffer" 라는 명칭의 미국특허출원에 기재되어 있다.
그러나, 여기에서 칼라레지스터의 사용에 대한 요약설명이 본 발명의 이해를 돕기위해 제공된다. 멀티플렉서(62)가 컨덕터(58)에 의해 운반되는 데이타값뿐만 아니고. 칼라레지스터(C0,C1) 에 저장된 값을 쓰기용으로 선택할 수 있다. 그 선택은 특정 칼라모드동작과 중앙처리기나 그래픽칼 액셀러레이팅 장치에 의해 제공되는 제어신호에 의해 나타내어지는 값에 의존한다.
칼라블록모드동작이 제어신호에 의해 나타내어질때, 데이타 컨덕터(58)는 픽셀데이타를 운반하기 보다는, 레지스터(C0,C1) 에 보유된 칼라값이 쓰여지는 배열(52)에 픽셀위치를 나타내기 위한 신호를 운반한다. 이 칼라값들은 로드된 칼라레지스터 제어신호에 응답하여 프레임버피(50)의 각 배열플레인의 데이타 컨덕터(58)로부터 로우드된다. 2개의 칼라레지스터(C0 및 C1)가 바람직한 실시예에서 구비되어지므로 전부 4개의 칼라블록모드동작이 가능하다. 이 모드들은 칼라 0모드, 칼라 1모드, 칼라 0 & 1모드 그리고 칼라 1& 0 모드로 한다.
앞으로 명백해지겠지만, 전경색과 배경색이 쓰여질때 디스플레이의 각행에 쓰기용 칼라값 레지스터를 로드할 필요없이, 이러한 동작모드와 함께 실제적인 시간이 세이브된다.
칼라 0모드 동작에서, '1' 의 제어신호값이 특정데이타 컨덕터(58)에 전송되어진다면, 칼라레지스터(C0)에서의 값은 그 컨덕터(58)를 위해 주소지정되는 픽셀을 규정하는 저장위치에 쓰여진다. '1'의 제어값들이 데이타 컨덕터(58)상에서 어떤 주소들로 전송되어지는데, 그 주소에서 칼라레지스터(C0)의 값이 또한 모든 다른 저장위치로 전송되어진다. 한편, 데이타 컨덕터(58)상에서 '0'의 제어값이 어떤 픽셀위치로 전송되는데, 그 픽셀위치에는 어떠한 칼라값도 쓰여지지 않는다. 따라서, 32개의 다른 픽셀위치가 단일의 동시전송에서 영향을 받을 수 있다. '1' 값을 받는 위치들은 '0'값을 받는 위치들이 변하지 않은 채로 남아있는 동안 칼라레지스터(C0)에서 그 값을 받도록 인에이블될 수 있다. 칼라값 레지스터(C0)가 그 레지스터에 구비되는 32 비트중 네번반복되는 8비트 패턴으로서 로우드되고, 칼라값 레지스터(C1)가 그 레지스터에 구비되는 32 비트중 네번반복되는 또 다른 8비트패틴으로 로우드 되어 진다고 가정하면, 1 행과 8열이 상기에 기술된 방식대로 행 및 열주소 디코드회로(54, 56) 를 통하여 주소버스상의 주소에 의해 선택되어진다. 칼라모드(0)이 선택되어진다고 가정하면, 각 플레인상의 멀티플렉서(62)중 8개 모두가 배열용 칼라데이타의 소오스로서 레지스터(C0)를 선택한다. 그러면, 데이터 버스중 컨덕터(58)상에 나타나는 인에이블하는 신호에 따라 특정쓰기 드라이버(73)가 인에이블 된다. 컨덕터(58)에 나타나는 데이타는 픽셀 마스크 레지스터(55)로 보내어진다. 픽셀마스크 드라이버(73)의 모든 비트들은 특정 픽셀로의 데이타전송을 제어하는 배열플레인중 드라이버(73)의 모두를 제어하도록 사용된다.
예를들어, 8 비트 칼라를 가정하고 제 1의 8열이 열주소에 의해 선택되어져 왔다고 가정하면, 제 1픽셀을 정의하는 비트들은 해당 열 중에서 선택행 및 제 1의 8플레인 중 제 1열에 위치한다. 픽셀마스크 레지스터(55)내에서의 제 1픽셀(P1)은 칼라값 레지스터(C0)로부터 그 배열내의 이들 비트위치로 칼라를 전송하기 위해 적당한 드라이버(73)을 제어한다.
따라서, 1 행과 8열의 선택되어짐과 동시에, 전체 32 개의 8 비트 칼라픽셀이 칼라값 레지스터(C0)에 저장된 값과 동시에 쓰여질 수 있다.
'1'값이 어떤 특정 데이타 컨덕터(58)상에서 전송되어져, 그 컨덕터(58)를 위해 주소 지정되는 픽셀을 규정하는 저장위치에 칼라레지스터(C1)내의 값이 쓰여지도록 하는 점을 제외하고는, 칼라 1모드는 칼라 0모드와 흡사하다. 한편, 어떤 칼라값도 '0'제어값을 받는 데이타 컨덕터(58)에 의해 제어되는 픽셀위치에는 쓰여지지 않는다.
명백히, 칼라 0및 칼라 1모드는 종래의 프레임버퍼에서 사용되는 4비트 블록모드에 흡사한 빠른 쓰기동작을 제공한다. 이 모드는 스크린을 재빨리 지우거나 그렇지 않으면 윈도우영역에 단일 색을 제공하는데 사용된다. 예를들어, 1024 X 780픽셀이고 8비트 깊이인 디스플레이용 프레임버퍼(30)는 각 픽셀이 프레임버퍼(50)에 하나씩 쓰여지는 것보다 대략 22 배나 빨리 지워질 수 있다.
2 개의 칼라레지스터(C0,C1) 가 윈도우의 어떤 영역을 조작하기 이전에 로우드되어질 수 있고, 항상 이용가능한 상태이므로, 일련의 픽셀( 예를들면, 32) 이 칼라레지스터를 다시 로우드할 필요없이 두 액세스에서 쓰여질 수 있다.
그러나, 더빠른 쓰기라도 클리핑이 불필요한 디스플레이의 영역에서는 칼라모드 0 & 1 및 1 & 0 을 이용하는 것이 가능하다. 상기에서 인용된 특허출원에서 지적되었듯이, 디스플레이에 쓰는데에 관련된 대부분의 동작은 2개의 칼라를 이용한다.
클리핑이 필요치 않는 곳에서는, 모드 0 & 1 및 1 & 0의 사용은 2개의 칼라가 프레임버퍼에 동시에 쓰여지는 것을 허용한다. 이러한 모드에서 데이타 컨덕터(58)상의 '0' 값은 하나의 칼라값이 '1' 칼라값 레지스터로부터 제어되는 픽셀에 쓰여진다는 것을 나타낸다. 반면, 데이타 컨덕터(58)상의 '1'값은, 하나의 칼라값이 다른 칼라 값 레지스터로부터 제어되는 픽셀에 쓰여진다는 것을 의미한다.
이것은 각 플레인용 데이타 컨덕터(58)상에서 전송되며 픽셀마스크 레지스터(55)에 저장되는 값을 특정칼라 레지스터를 선택하기 위한 칼라모드 제어신호에 의해 달성되며, 그 칼라값은 멀티플렉서(62)에 의해 상기 특정칼라 레지스터로부터 전송된다.
예를들어, 칼라모드 0 & 1 또는 1 & 0에서, 픽셀마스크 레지스터(55)내의 비트위치내의 '0'은 멀티플렉서(62)로 하여금 '1'칼라값 레지스터내에 저장된 칼라값을 선택하도록 하며, 반면 픽셀마스크 레지스터(55)내의 비트위치내의 '1'은 멀티플렉서((62)로 하여금 다른 칼라값 레지스내에 저장된 칼라값을 선택하도록 한다. 그리고나서, 모드 0 & 1 또는 1 & 0을 나타내는 칼라모드제어신호는 배열에 쓰여지도록 선택된 모든 픽셀을 제어한다. 이것은 전경 및 배경 모두를 대표하는 두개의 분리된 칼라가 클리핑을 필요로하지 않는 윈도우영역의 할당에 동시에 쓰여지도록허용한다.
2 개의 칼라값 레지스터의 설비는 프레임 버피에 데이타를 쓰는 많은 새로운 방식으로 하여금 기술된 칼라모드에 부가하여 실행되어지도록 허용한다. 예를들어, 8, 16 및 32비트의 칼라픽셀이 상기에서 기술되어진 바와같은 데이타 버스상의 데이타 컨덕터의 개수와 동등한 픽셀그룹내의 디스플레이에 쓰여질 수 있다. 또한 블록모드가 제공되어지는데, 그 블록모드에 의해 픽셀의 전체행이 클리핑에 의해 한가지 색으로 또는 클리핑없이 2가지 색으로 쓰여질 수 있다. 이러한 모드들은 블록 256, 블록 512 및 블록 1024 모드로서 언급되며, 상기에서 언급된 "Multiple Block Mode Operations In A Frame Buffer System Designed For Windowing Operaions" 라는 미국특허출원에 상세히 기술되어 있다.
특허출원된 발명은 프레임버퍼가 쓰여지는 방식의 여러가지 다른 모드를 제공한다.
특정 쓰기모드에서 데이타 컨덕터상의 모든 비트는 프레임버퍼내의 상이한 번호의 비트에 영항을 미친다.
제공되는 제 1모드는 각 데이타 컨덕터가 프임버퍼에 저장되는 단일비트에 영향을 주는, 상기의 동작중 노멀모드이다. 이 모드는 디스플레이에 한번에 한 픽셀을 쓰기를 요하는 동작용으로 사용된다. 이 모드는 어떤 칼라가 픽셀위치에 쓰여지는 것을 허용한다. 물론, 이 모드는 종래의 프레임버퍼에서 사용되는 전통적으로 느린 노멀모드이며, 각 픽셀을 쓰는데 120ns를 요한다.
제 2모드동작은 블록 8모드로 불리운다. 이 모드에서 데이타컨덕터(38)상에서 전송되는 값은 프레임버퍼에 저장된 8비트에 영향을 미치는 인에이블 신호로서 사용된다. 이 모드는 8비트 칼라를 활용하는 프로그램과 함께 쓰기 동작용으로 이용된다.
그것은 데이타 컨덕터가 존재하는 개수만큼의 8비트픽셀이 동시에 쓰여지는 것을 허용한다. 바람직한 시스템에서, 32픽셀은 단일 액세스에서 쓰여질 수 있다. 2 칼라레지스터의 활용시, 4 칼라모드 동작중 어느 것은 이 모드에서 가능하다. 따라서, 어떤 픽셀들은 칼라값 레지스터로부터 1칼라값(또는 다른 레지스터로부터 또다른 칼라) 과 함께 쓰여지도록 인에이블될 수 있다. 더우기, 데이타 컨덕터에 의해 영향을 받는 모든 픽셀들은 칼라 0 & 1 및 1 & 0모드를 사용하는 2칼라값 레지스터에 수용되는 2개의 구별되는 칼라와 함께 동시에 쓰여져도 된다.
블록16모드로 언급되는 제 3모드동작에서, 각 데이타 컨덕터는 프레임버퍼에 저장된 16비트에 영향을 미친다. 이 모드에서, 제 4도중 각 플레인상의 개별적 멀티플렉서(42)의 개수는 8에서부터 최소한 16 까지 또는 32 까지 증가한다. 마찬가지로, 열주소에 의해 동시에 선택되어질 수 있는 열의 개수는 증가되어 동시에 16개 열을 선택가능하게 한다. 이러한 변화들을 일으킴으로써 그리고 16 비트중에서 전체 32괵셀이 각각 칼라레지스터로부터 쓰여지는 것을 허용함으로써, 블록 16 모드는 블록 8모드에 유사하게 구비되고, 16비트 칼라를 활용하는 프로그램을 갖는 동작을 위해 이용된다.
그것은 데이타 컨덕터 개수만큼의 16비트픽셀이 동시에 쓰여지도록 한다.
모범적인 시스템에서, 32개의 16 비트픽셀이 단일 액세스에서 쓰여질 수 있다.
2 칼라값 레지스터를 기술된 바와같이 활용하면, 어떤 4칼라모드동작이라도 이 모드에서 가능하게 된다.
블록 32모드로 언급되는 제 4모드동작에서, 각 데이타 컨덕터는 프레임버퍼에 저장된 32비트에 영향을 준다. 이 모드에서, 제 4도중 각 플레인상의 개별적인 멀티플렉서(42)의 개수는 8로부터 최소한 32 로 증가하며, 열주소에 의해 동시에 선택되어 질 수 있는 열의 개수는 증가하여 동시에 32 열의 선택을 허용한다. 그리고 제어신호가 이러한 변화들을 수용하도록 개조된다.
이 모드는 또한 블록 8및 16 모드와 유사하고, 32비트칼라를 활동하는 프로그램과 함께 동작을 위해 이용된다.
당업자에게 이해되어 있듯이 블록 8,16및 32 모드동작은 데이타 컨덕터 번호와 같은 그룹내 프레임버퍼에 두가지 색으로 매우 빠른 픽셀쓰기( 대략 노멀모드동작과 같이 빠르게 32번) 를 허용하도록 고안되어진다. 결국, 칼라 0 &1 및 1 & 0 모드와 함께 이러한 상이한 블록쓰기모드는 1024 픽셀행이 일련의 32 픽셀액세스에 쓰여지는 것을 허용하되, 그것은 행에서 각 32 픽셀당 단일 RAS 신호 및 하나의 CAS신호를 요한다.
쓰기 액세스중 3개의 부가적인 모드가 구비되어져 프레임버퍼의 동작속도를 더욱 증가시킨다. 이 모드들중 첫째는 블록256모드로서 언급된다. 블록 256에서, 각 데이타상의 값은 32 개의 인접한 8비트 픽셀위치에 쓰여지는 칼라값을 결정한다.
이것은 배열의 각 플레인에서 전체 256행 중 1/4을 동시에 선택하도록 열주소에 의해 수행되어진다. 그리고나서, 이러한 열 각각에 접속되는 특정 픽셀이 특정칼라모드에서 데이타 컨덕터상에 운반되는 값에 의해 지정되는 칼라값 레지스터내의 단일 칼라값을 수용한다. 블록 256모드에서 전체 32 X 32개의 전체 8비트픽셀(1024 픽셀)이 각 쓰기엑세스에 의해 즉시 영향을 받게된다는 사실은 명백해질 것이다.
이것은 현대적인 컴퓨터 칼라모니터의 행에서 픽셀의 전형적인 수이다.
따라서, 블록 256모드에서 각 8비트픽셀의 액세스는 1024 픽셀행에 모든 픽셀을 쓰게될 것이다. 이 모드는 전체스크린을 매우 빨리 지우기 위해 또는 스크린 상의 32 비트블록에서 변화하는 패턴을 쓰기위해 사용되어 지는 것이 바람직하다.
블록 256모드는 블록 8비트와 함께 윈도우를 클리어하며 8 비트칼라 사용중 윈도우의 경계를 클립(Clip)하기 위해 사용될때 특히 유용하다.
제 2부가적인 모드는 블록 512모드로서 언급된다. 블록 512모드에서 각 데이터 컨덕터는 32 개의 인접하는 16 비트 픽셀위치에 쓰여지는 데이타 값에 영향을 미친다.
이 모드에서, 열주소는 각 플레인에서 동시에 전체 열의 절반을 선택한다. 이 모드는 선택컨덕터, 멀티플렉서(42)및 앞에서 16 으로 논의된 다른 구성요소의 수가 증가하는 것을 요한다. 이 모드는 디스플레이중 클립된 윈도우내에서 전체행을 재빨리 쓰기위해 블록 256모드가 블록 8모드와 함께 사용되어지는 것과 같은 방식을 블록 8모드와 함께 사용되어진다.
제 3부가적인 모드는 블록 1024 모드로서 언급된다. 블록 1024 모드에서, 각 플레인의 모든 열은 열주소에 의해 동시에 선택된다.
이 모드는 선택컨덕터, 멀티플렉서(42)및 앞에서 32 로 논의된 다른 구성요소들의 수가 증가하는 것을 요한다. 블록 1024 모드에서, 각 데이타 컨덕터는 32 비트 픽셀위치에 인접하는 32 로 쓰여지는 데이타 값에 영향을 미친다. 이 모드는 디스플레이의 단축된 윈도우영역내의 전체 행에 재빨리 쓰기 위하여 블록 256모드가 블록 8모드와 함께 사용되어지는 것과 같은 방식으로 블록 32 모드와 함께 사용되어진다.
이러한 모드의 각각은 16 비트 및 32 비트 픽셀을 기술하는 데이타를 저장하는 프레임 버퍼의 배치가 없다면 블록 256드에서와 흡사한 방식으로 유용한 기능들을 제공한다.
칼라값 레지스터 C0 및 C1 그리고 빠른 동작을 제공하는 블록모드에 부가하여, 제 4도의 프레임버퍼(50)는 출력회로망을 포함하는데, 이 회로망에 의해 픽셀데이타는 미도시된 출력표시장치로 쉬프트되어 진다. 이 출력 회로망은 8비트데이타를 각 배열플레인에서 단번에 출력쉬프트레지스터(80)로 쉬프트하는데 활용되는 멀티플렉서(77)를 포함한다. 그런다음 그 레지스터(80)내의 데이타는 출력표시장치상의 픽셀데이타의 표시를 제어하는 회로망으로 또다른 멀티플렉서(82)에 의해 한번에 1비트씩 전송되어진다.
프레임 버퍼에서 수행되어지는 가장 느린 동작중의 하나는 데이타의 스크롤링(scrolling)이다. 스크롤링 동작에서 데이타의 행은 출력표시장치에서 위 아래로이동어진다. 출력표시장치에 디스플레이 되는 픽셀을 기술하는 데이타가 프레임버퍼에 저장되어지므로, 종래 프레임버퍼에서의 스크롤링은 디스플레이 행을 기술하는 프레임버퍼내의 픽셀데이타가 중앙처리기에 의해 프레임버퍼로 부터 읽혀지고 프레임버퍼의 또 다른 위치에 다시 쓰여질 것을 요구해 왔다. 전형적인 퍼스널 컴퓨터에서, 32비트 데이타는(32 비트칼라 혹은 4필셀에서 1픽셀은 8비트칼라이다.) 전형적으로 120나노초를 요구하는 동작에서 동시에 프레임버퍼로부터 읽혀진다.
이후에 다시 120나노초를 요구하는 프레임버퍼내의 적합한 위치에 그 데이타를 되쓰기 위한 액세스가 뒤따른다. 이 읽기쓰기 패턴은 전체행이 읽혀지고 쓰여질 때까지 계속되어 진다. 전형적인 스크린이 1024 픽셀의 행을 보유할 수 있으므로, 240 나노초×1024픽셀은 디스플레이상의 32 비트칼라픽셀중 단일행을 스크롤하도록 요구되어지고, 8 비트픽셀을 위해서는 그 시간의 1/4이 소요된다. 텍스트의 각 라인은 대략 픽겔중 12 행을 차지하므로 텍스트의 1라인을 스크롤링하는 것은 매우 긴 시간을 요한다.
외부표시장치로 전송되어질 출력을 제공함에 부가하여, 프레임버퍼(50)는 행의 대부분(행의 1/4) 으로 부터 단일 액세스에서 읽혀지고 데이타를 받아들일 수 있고, 스크롤링 동작을 위해 반드시 내부데이타 버스를 구비하는 일련의 래치 0∼3 을 포함한다.
이들 래치는 종래의 스크롤링 동작속도의 대략 85 배까지 스크롤링 동작속도를 증가시킨다. 그 동작의 중심 내용은 32 픽셀의 일련의 다음 4액세스 중 특정 래치에 위치되어진다는 점이다. 그다음 이 픽셀들은 일련의 부가적인 4액세스에서의멀티플렉서(62)를 통하여 그 배열내의 새로운 위치에 다시 쓰여진다. 스크롤링 동작 및 회로망은 위에서 언급된 "Method and Apparatus For Increasing The Rate Of Scrolling In A Frame Buffer Designed For Windowing Operations" 라는 제목의 미국특허출원의 상세한 설명에 기술되어져 있다.
상기 지적된 바와같이, 이러한 개선에 더하여, 더 빠른 속도가 프레임버퍼 동작으로부터 요구되어 진다.
제 5도는 종래의 프레임버퍼에 의해 사용되는 단일 칼라값 레지스터에서의 칼라값을 로우딩하기 위해 그리고 그 로우딩후에 프레임버퍼의 배열에 그 칼라값중 하나 또는 그 이상의 픽셀 쓰기가 계속되도록 하는데 필요한 신호 및 전형적으로 요구되어지는 시간을 도시하는 타이밍 다이어그램이다. 그 다이어그램은 쓰여져야 할 픽셀이 그 배열에서 현재 액세스되고 있는 어떤 행에 있다고 추정한다. 명백히 전체 RAS사이클의 하강에지상에서, 칼라값 레지스터가 로우드되어져야 한다는 사실을 나타내는 제어신호( 칼라로우드) 가 프레임버퍼에 제공된다. 같은 기간동안, 데이터중 어떤 값도 데이타버스로부터 데이타 컨덕터상에 제공되어지지 않고, 어떤 주소도 주소 버스상에 제공되어 지지않는다.
RAS 사이클이 끝날때쯤, CAS 사이클이 초기화 되어질 수 있다.
CAS 사이클의 하강에지에서, 칼라값이 데이타 버스로부터 데이타 컨덕터상에 제공되어져 칼라값 레지스터 안으로 로우드되어진다.
주소버스상의 값은 이때 사용되어지지 않는다. 이는 그 기술분야에서 유용한 전형적인 요소들을 사용하여 칼라값 레지스터의 로우딩을 120나노초에 완성한다.
일단 칼라값 레지스터가 로우드되어지면, 그 레지스터내의 값은 여러가지 픽셀주소에 쓰여질 수 있다. 그러나, 행주소는 선택된 행에 쓰기 이외의 동작(칼라값 레지스터치 로우딩) 이 발생하였으므로 종래의 프레임버퍼에서 더이상 유용하지 않다.
따라서, 또다른 RAS사이클이 적당한 행주소를 제공하기 위해 요구된다. 또한 이 RAS 사이클의 하강에지에서, 행주소가 선언되어진다. 또한 데이타 컨덕터상에는 어떤 값도 필요치않다. 일단 RAS사이클동안 적합한 행이 선택되어지면, 데이터 컨덕터상에 쓰기동작( 칼라쓰기) 을 위한 열주소 및 픽셀선택 제어데이타를 제공하기위해 CAS 사이클이 필요하게 된다.
이미 로우드된 칼라값 레지스터가 사용되어졌다고 추정되어지므로, 데이타 컨덕터는 픽셀위치를 나타내는 값을, 지정된 열주소에서 시작하면서 그 칼라가 쓰여져야 하는 위치로 이동시킨다. 따라서, 이 쓰기동작은 또다른 120ns를 요구하며, 칼라값을 변경하고 픽셀위치를 쓰기위한 전체동작은 240ns를 요한다.
이것은 제 6도에 도시된 동작과 대조된다. 제 5도에서와 같이 쓰여져야할 픽셀은 현재 액세스되고 있는 행에 놓여있다고 추정되어진다. RAS 신호가 칼라값을 칼라값 레지스터에 로우드하는 것을 제어할 필요가 없으므로, RAS 신호는 이미 선택된 행주소가 여전히 신택된채로 있도록 전체동작동안 로우(low) 상태 그대로이다.
CAS 사이클은 데이타 컨덕터상에 칼라값을 제공하는데 유용하다.
이 CAS사이클은 지연없이 초기화되어질 수 있으며 20ns 를 요한다. 비록 CAS사이클의 하강에지에서 전송되어지는 칼라로우드 동작을 나타내는 제어신호가 주소버스선 또는 분리된 제어선을 활용한다 할지라도 주소버스는 유용하지 않다. 따라서 칼라값 레지스터의 로우딩은 단지 20ns 를 요한다. 행주소가 올바른 상태로 있기 때문에, 즉시 쓰기액세스가 뒤따른다. 이는 쓰기동작을 위한 열주소가 주소버스상에 제공되고 인에이블된 픽셀위치를 나타내는 제어데이타가 데이타버스의 데이타 컨덕터상에 블록쓰기를 위해 제공되는 동안 20ns의 또다른 CAS사이클을 활용한다. 따라서, 본 발명을 이용하는 전체동작을 위한 시간은 40ns 이다. 이는 종래의 프레임버퍼 및 기술을 이용하여 그 동작을 수행하는데 필요한 240ns와 대비되어질 수 있다.
제 7도는 종래의 프레임버퍼에서 유사한 타입의 동작을 기술하는 타이밍 다이어그래이다. 이 동작에서, 플레인 마스크 레지스터는 플레인이 특정동작에서 쓰여져야 할 것을 나타내기 위해 로우드되어진다. 종래의 프레임 버퍼에서는 플레인 마스크값( 그 동작에서 쓰여져야할 플레인) 을 데이타가 적절한 배열 업(set up)지시를 위하여 쓰여질 각 RAS사이클에 제공할 필요가 있다.
그 플레인 마스크 값은 초기 RAS사이클의 하강에지동안 주소버스상의 행주소를 따라서 데이타 컨덕터상에 제공되어진다. 그리고나서, 열주소 값 및 쓰여질 데이타가 CAS 사이클의 하강에지에 제공될 수 있다. 이는 1픽셀( 또는 블록모드에서 픽셀) 쓰기동작을 포함하여 전체 120ns를 요한다. 제 8도는 본 발명에 따라 설계된 프레임버퍼를 사용하는 플레인 마스크 레지스터를 로우드하는데 필요한 동작과 본 발명에 관한 방법을 도시하는 타이밍 다이어그램이다. 플레인 마스크 값(P마스크)을 플레인 마스크 레지스터에 로우딩하는 것이 행의 값에 영향을 미치지 않으므로, RAS 신호는 플레인 마스크 값의 로우딩을 제어하는데 필요치 않고, RAS 신호는 원래 로우드된 행값과 같이 로우(low)상태로이며, 그 행주소가 선택된 채로이다.
결국, CAS 사이클은 플레인 마스크가 로우드 되어 있다는 것을 나타내는 제어신호 및 플레인 마스크 값을 데이타 컨덕터 상에 제공하는데 유용하다. 이 CAS사이클은 지연없이 초기화 될 수 있고 20ns 를 요한다. 비록 플레인 마스크 로우드 동작을 나타내는 제어신호가 주소버스선 또는 분리된 제어선을 활용한다 할지라도 주소버스는 유용하지 않다. 따라서, 플레인 마스크 레지스터의 로우딩은 단지 20ns 를 요한다.
행주소가 여전히 옳은 상태에 있기 때문에, 즉시 쓰기액세스가 뒤따른다. 쓰기 동작을 위한 열주소가 주소버스상에 제공되고 데이타( 또는 인에이블된 픽셀위치를 나타내는 블록데이타) 가 데이타버스의 데이타 컨덕터상에 블록쓰기를 위해 제공되어지는 동안 그러한 액세스는 또다른 20ns 의 CAS사이클을 활용한다. 따라서, 본 발명을 이용하는 전체 동작을 위해 요하는 시간은 40ns 이다. 이는 종래의 프레임버퍼 및 기술을 이용하여 그 동작을 수행하는데 요구되는 120ns와 대비된다. 결국, 그 동작은 본 발명을 이용하여 대략 3배 빠르게 된다.
본 발명의 또다른 이점은 플레인 마스크 값이 변하지 않는한 각 RAS사이클과 함께 그 값을 다시 로우드할 필요성이 없다는 것이다. 매 쓰기동작의 RAS사이클에서 플레인 마스크 레지스터를 로우드하기위한 종래기술의 필요성에 대해, 본 발명은 그것이 변할때까지 플레인 마스크 값을 보유한다. 따라서, 각 행이 쓰여질때 이값을 로우드하는데 사용되는 모든 시간이 본 발명에 의해 생략될 수 있다.
도시된 바와같이, RAS 사이클이 필요하고 단지 행주소동작에 영향을 주도록 프레임버퍼를 배열하는 것은 종래 레지스터 로우딩 동작에서 소비되었던 많은 양의 동작시간을 생략하게 한다.
레지스터 로우딩에서 절약된 시간에 부가하여, 이 기술은 또한 행주소 선언을 필요로 하는 동작에서의 시간을 절약한다. 제 9도는 종래 블록모드를 사용하는 전경색의 픽셀쓰기 후에 계속되는 배경색 순간쓰기 동작을 종래의 프레임버퍼가 어떻게 수행하는가를 도시하는 타이밍 다이어그램이다. 순간쓰기 동작에서, 디스플레이어의 1 내지 4행은 동시에 모두 단일 식별칼라로서 쓰여진다. 먼저 단일 칼라값 레지스터를 배경색으로 로우드하는 것이 필요하다. 이는 배경색이 단일 칼라값 레지스터에 놓이는 제 5도에서 도시된 바와같이 제 1 RAS 사이클을 요한다. 이후에 데이타버스가 비사용상태로 남아있는 동안 행주소가 주소버스상에 제공되는 제 2 RAS 사이클의 하강에지에서 개시하는 순간쓰기 동작이 뒤따른다. 제어신호들의 조합이 순간 쓰기 동작모드(F모드) 를 나타내기 위해 사용되어진다. 전체 행 또는 행들이 영향을 받는 곳에서는 어떤 열도 선택될 필요가 없으므로 순간쓰기 동작은 칼라레지스터에 저장된 칼라값을 지정된 행 및 행들내의 모든 픽셀에 쓰기를 행하는 RAS사이클을 위해 최소한 120ns만을 필요로 한다.
배경색이 픽셀의 행 또는 행들에 쓰여진후, 제 3 RAS 사이클이 단일 칼라값 레지스터내의 칼라를 전경색으로 변경할 것을 요한다.
마지막으로, 제 4 RAS 사이클이( 주소버스상에의) 쓰기에 관한 행을 선택하도록 요구된다. 전경색 쓰기열은 CAS사이클의 하강에지에서 주소버스상에 제공된다. 블록쓰기동작을 나타내는 제어신호를 따라 동일 CAS사이클동안 인에이블된 픽셀을 나타내는 제어신호가 데이타로서 제공된다.
따라서, 그 동작은 종래 프레임버퍼 및 기술을 이용하고 4개의 완전 RAS사이클, 즉 전체 480ns 를 요하며, 32개의 4비트 전경픽셀의 쓰기를 허용한다. 순간쓰기 동작을 제공하기 위해 그리고 노멀쓰기모드를 사용하는 단일전경픽셀을 쓰기위해 약간 더 짧은 시간이 요구되는데, 그 이유는 칼라레지스터를 제 2시간으로 채우는 것이 필요치 않기 때문이다. 제10도는 본 발명에 따라 구성된 프레임버퍼를 사용하는 전경쓰기 동작이 뒤따르는 종래의 순간쓰기 동작과 흡사한 블록동작을 도시하는 타이밍 다이어그램이다. 칼라레지스터에는 통상적으로 매번 전경 및 배경 색이 로우드되므로, 이 레지스터에의 로우딩은 보통 이러한 동작을 요하지 않는다. 배경색으로 쓰여지는 적합한 행을 나타내도록 본 발명을 이용하는 RAS사이클이 요구된다.
행주소 및 제어신호가 RAS사이클의 하강에지에서 대치되어진다.
배경색 쓰기는 제 1 CAS 사이클의 하강에지에서 칼라레지스터들중 어느 하나에 있는 칼라값을 이용하는 완전행의 픽셀들의 블록 1024 쓰기동작(Blk 1024)에 의해 완성되어진다.
제 2 CAS 사이클의 하강에지에서, 전경색으로 쓰여져야할 열주소와 인에이블된 픽셀을 나타내는 제어데이타 및 전경색을 가지고 32 픽셀의 블록쓰기를 나타내는 제어모드신호(Blk 32)가 전경쓰기를 완성하기위해 제공되어진다.
명백히, 행주소가 변경되지 않고 본 발명에서의 블록모드가 단지 한행에만 영향을 미치므로, 어떤 여분의 RAS 사이클도 필요치 않다. 따라서 전체동작은 종래 프레임 버퍼에 의한 유사한 동작을 위해 요구된 480ns에 비해 단지 140ns만을 요한다.
제11도는 종래의 프레임버퍼를 이용하여 수행되는 읽기전송동작(RdTrns)의 개수를 도시하는 타이밍 다이어그램이다. 명백히, 픽셀데이타의 행을 프레임 버퍼로부터 읽기 위해 데이타를 출력 쉬프트 레지스터로 전송하도록 RAS 및 CAS사이클이 모두 제공되는 것이 필요하다. 전송사이클후에는 제 2 일반화된 RAS 사이클이 뒤따르며, 그후에는 뒤따르게 될 어떤 다른 동작을 위해 필요한 CAS사이클이 뒤따른다. 결국 전체 240ns가 전체동작을 위해 필요하다.
제12도는 본 발명의 프레임버퍼 및 기술을 이용하여 수행되는 읽기전송동작(TdTrs)의 개수를 도시하는 타이밍 다이어그램이다. 명백히, 읽혀질 프레임버퍼의 행을 나타내기 위해 RAS사이클이 필요하다. 그리고나서 각각 20ns 인 4개의 개별 CAS사이클이 디스플레이에 전송되어지고 있는 특정 256픽셀부의 열을 나타내도록 뒤따르게 된다. 프레임버퍼가 전체 256개의 8비트픽셀을 즉시 출력쉬프트 레지스터(80)로 전송하여 동작이 4 인크리멘탈부(incremental portion) 에서 수행되어질 것이 상기되어진다.
결국, 단일행의 읽기/ 전송사이클은 종래 프레임버퍼를 사용하는 읽기/ 전송사이클을 수행하기 위해 요구되는 240ns에 비해 단지 180ns만을 요한다. 만약 읽기/ 전송 사이클 바로전 동작이 우연히 배열중 같은 행을 포함하는 것이라면, 전혀 RAS사이클이 필요치 않으며 전체 시간은 1024 픽셀의 전체행을 위한 읽기/ 전송 사이클을 수용하는데 80ns로 감소된다는 사실에 주목하여야 한다. 제13도는 본 발명에서 스크롤링에 사용되는 레지스터 래치읽기 또는 쓰기(Rd/Wr/Lat) 를 제공하기위한 동작을 도시하는 타이밍 다이어그램이다. 상기에서 논의된 다른 동작과 유사하게, 이들 읽기동작들은 본 발명을 사용하여 아주 빨리 수행되어질 수 있다. 이 동작들은 종래의 프레임버퍼에서는 필요치 않은데, 그 이유는 종래의 프레임버퍼들이 본 발명의 배열에 의해 제공되는 매우 빠른 스클롤링을 허용하는 본 발명의 배열에 관한 래치들을 포함하지 않기 때문이다. 그러한 래치들을 판독하는 동작이 행주소의 명세를 요구하지 않으므로, 어떤 RAS사이클도 필요치 않다. 대신, CAS사이클만이 특정 레지스터의 주소(LaAd)및 전송되어야할 데이타를 전송하는데 사용되어진다. 명백히 이는 수행되어야할 CAS사이클중 20ns 만을 필요로한다. 특히 본 발명은 기술된 상이한 모든 동작들에서 사용되는 RAS사이클의 개수를 철저하게 줄인다는 사실을 주목하면 흥미롭다.
이러한 동작들을 수행하는데 요구되는 시간을 줄이는 것에 부가하여, RAS 동작이 CAS사이클 보다 훨씬 더 길고 결과적으로 그러한 동작들을 행하는 것보다 훨씬 더 많은 전력을 필요로 한다는 사실을 주목하여야 한다. 이러한 이유때문에, 본 발명은 종래의 프레임버퍼 및 기술에 비해 실질적인 전력절감 특징을 제공한다.
제14도는 프래임버퍼의 배열중 특정행에의 액세스 변경에 무관한 프레임버퍼의 여러 가지 동작이 행액세스 스트로브 신호에 대한 요구없이도 수행되어질 수 있는 본 발명의 상세한 설명을 일반적으로 도시하는 플로우챠트이다.
본 발명이 바람직한 실시예의 항으로 기술되었을지라도, 갖가지 개선 및 변경이 그 분야의 기술자들에 의해 발명의 기본사상 및 범위로부터 이탈되지 않고서도 만들어질수 있다. 따라서 발명은 다음과 같은 특허청구항으로서 특정되어져야 한다.

Claims (20)

  1. 데이타가 외부출력 표시장치의 디스플레이를 위해 저장되어질 수 있는 최소한 하나의 메모리장치 플레인과, 프레임버퍼의 배열에의 액세스를 제어하는 데이타 및 프레임버퍼의 메모리장치에 쓰여지는 데이타를 저장하기위한 다수의 레지스터와, 데이타가 메모리장치 배열로부터 쓰여지고 데이타가 메모리장치 배열에의 저장을 위해 읽혀질 수 있는 다수의 래치와, 프레임버퍼로부터 데이터를 전송받고 프레임버퍼에로 데이타를 전송하기 위한 입력버스를 포함하는 배열을 갖는 프레임버퍼에서, 상기 프레임 버퍼의 다수의 레지스터 및 래치에 데이타를 쓰고 데이타를 읽기위한 방법에 있어서,
    특정 레지스터다 래치에 대하여 수행되어져야 할 특정동작모드를 나타내기에 충분한 제어신호를 제공하는 단계;
    수행되어져야할 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 단계;
    열 액세스 스트로브 신호를 제공하는 단계; 및
    특정 동작모드를 나타내기에 충분한 제어신호에 의해 지정되는 동작을 수행하기 위해 행주소 스트로브신호를 요청하지 않고, 열액세스 스트로브 신호에 응답하는 단계를 포함하고, 상기 응답하는 단계는 수행되어야 하는 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 저장하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 특정 래지스터나 래치에 대하여 수행되어져야 할 특정동작모드를 나타내기에 충분한 제어신호를 제공하는 상기 단계는,
    쓰기동작을 포함하는 동작모드를 나타내기 위한 신호를 재공하는 단계;
    출력동작을 포함하는 동작모드를 나타내기 위한 신호를 제공하는 단계; 및
    특정동작모드 선택을 위한 최소한 4개의 부가적인 제어신호를 제공하는 단계를 포함하는 것을 특징으로 하는 프레임버퍼의 다수의 레지스터 및 래치에 데이타를 쓰고 데이타를 읽기 위한 방법.
  3. 제 2항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 단계는, 다수의 칼라값 레지스터에의 저장용으로 입력버스상에 칼라값 데이타를 제공하는 단계를 포함하는 것을 특징으로 하는 프레임버퍼의 다수의 레지스터 및 래치에 데이타를 쓰고 데이타를 읽기 위한 방법.
  4. 제 2항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 단계는, 플레인 마스크 레지스터에의 저장용으로 입력버스상에 플레인 마스크 데이타를 제공하는 단계를 포함하는 것을 특징으로 하는 프레임버퍼의 다수의 레지스터 및 래치에 데이타를 쓰고 데이타를 읽기 위한 방법.
  5. 제 2항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 단계는, 픽셀마스크 레지스터에의 저장용으로 입력버스상에 픽셀마스크 데이타를 제공하는 단계를 포함하는 것을 특징으로 하는 프레임버퍼의 다수의 레지스터 및 래치에 데이타를 쓰고 데이타를 읽기 위한 방법.
  6. 제 2항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 단계는,
    다수의 래치중 선택되는 것에의 저장용으로 배열의 메모리 셀로부터 픽셀데이타를 읽는 단계를 포함하며,
    특정 동작모드를 나타내기에 충분한 제어신호에 의해 지정되는 동작을 수행하기 위해 행주소 스트로브 신호에 대한 요구없이도 열액세스 스트로브 신호에 응답하는 상기 단계는,
    배열의 메모리 셀에의 저장용으로 다수의 래치중 선택된 것으로 부터 데이타를 읽는 단계를 더 포함하는 것을 특징으로 하는 프레임버퍼의 다수의 레지스터 및 래치에 데이타를 쓰고 데이타를 읽기 위한 방법.
  7. 제 2항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 단계는,
    다수의 래치중 선택되는 것에 저장용으로 배열중 메모리 셀로부터 픽셀데이타를 읽는 단계를 포함하며,
    특정 동작모드를 나타내기에 충분한 제어신호에 의해 지정되는 동작을 수행하기 위해 행주소 스트로브 신호를 요청하지 않고 열액세스 스트로브 신호에 응답하는 상기 단계는,
    외부출력 표시장치로의 전송용으로 다수의 래치중 선택된 것으로 부터 데이타를 읽는 단계를 더 포함하는 것을 특징으로 하는 프레임버퍼의 다수의 레지스터 및 래치에 데이터를 쓰고 데이타를 읽기 위한 방법.
  8. 외부출력 표시장치에 디스플레이용으로 데이터를 저장할 수 있는 메모리장치중 최소한 하나의 플레인을 포함하는 배열;
    프레임버퍼의 배열에의 액세스를 제어하기 위한 데이타 및 프레임버퍼의 메모리장치에 쓰여지는 데이타를 저장하기 위한 다수의 레지스터;
    데이타가 메모리장치 배열로부터 쓰여지고 데이타가 메모리장치 배열에 저장용으로 읽혀질 제 1 다수의 래치;
    데이타가 메모리장치 배열로부터 쓰여지고 데이타가 외부출력 표시장치에 전송용으로 읽혀질 쉬프트 레지스터;
    프레임버퍼에 데이터를 전송하고 그리고 프레임버퍼로부터 데이터를 전송받기 위한 입력버스;
    특정 레지스터나 래치 또는 쉬프트 레지스터에 대해 수행되어질 특정동작모드를 나타내기에 충분한 제어신호를 제공하기 위한 수단;
    수행되어져야 할 동작에서 특정 레지스터나 래치 또는 쉬프트 레지스터에 저장되어질 필요가 있는 데이타를 제공하기 위한 수단;
    열방향 액세스 스트로브 신호를 제공하기 위한 수단; 및
    특정동작모드를 나타내기에 충분한 제어신호에 의해 지시되는 동작을 수행하기 위해 행방향 주소스트로브 신호에 대한 요구없이도 열방향 액세스 스트로브 신호에 응답하는 수단을 포함하되, 상기 응답하는 수단은 수행되어져야 할 동작에, 특정 레지스터나 래치 또는 쉬프트 레지스터에 저장될 필요가 있는 어떤 데이타를 저장하기 위한 수단을 포함하는 것을 특징으로 하는 프레임버퍼.
  9. 제 8항에 있어서, 특정 레지스터나 래치 또는 쉬프트 레지스터에 대해 수행되어질 특정 동작모드를 나타내기에 충분한 제어신호를 제공하기 위한 상기 수단은,
    쓰기동작을 포함하는 동작모드를 나타내는 신호를 제공하는 수단;
    출력동작을 포함하는 동작모드를 나타내는 신호를 제공하는 수단; 및
    특정동작모드를 선택하기 위한 최소한 4개의 부가적인 제어신호를 제공하기 위한 수단을 포함하는 것을 특징으로 하는 프레임버퍼.
  10. 제 9항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치 또는 쉬프트 레지스터에 저장되어질 필요가 있는 데이타를 제공하기 위한 상기 수단은,
    다수의 칼라값 레지스터에 저장용으로 입력버스상에 칼라값 데이타를 제공하는 수단을 포함하는 것을 특징으로 하는 프레임버퍼.
  11. 제 9항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치 또는 쉬프트 레지스터에 저장되어질 필요가 있는 데이타를 제공하기 위한 상기 수단은,
    플레인 마스크 레지스터에 저장용으르 입력버스상에 플레인 마스크 데이터를 제공하는 수단을 포함하는 것을 특징으로 하는 프레임버퍼.
  12. 제 9항에 있어서 수행되어져야 할 동작에서 특정 레지스터나 래치 또는 쉬프트 레지스터에 저장되어질 필요가 있는 데이타를 제공하기 위한 상기 수단은,
    픽셀마스크 레지스터에 저장용으로 입력버스상에 픽셀마스크 데이타를 제공하는 수단을 포함하는 것을 특징으로 하는 프레임버퍼.
  13. 제 9항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치 또는 쉬프트 레지스터에 저장되어질 필요가 있는 데이타를 제공하기 위한 상기 수단은,
    다수의 래치중 선택된 것에의 저장용으로 배열중 메모리 셀로부터 픽셀데이타를 읽기위한 수단을 포함하며,
    특정동작모드를 나타내기에 충분한 제어신호에 의해 지정되는 동작을 수행하기 위한 행방향주소 스트로브 신호에 대한 요구없이도 열방향 액세스 스트로브 신호에 응답하는 상기 수단은,
    배열중 메모리셀에의 저장용으로 다수의 래치중 선택된 것으로 부터 데이타를 읽는 수단을 더 포함하는 것을 특징으로 하는 프레임버퍼.
  14. 데이타가 외부출력 표시장치의 디스플레이를 위해 저장되어질 수 있는 메모리 장치의 최소한 하나의 플레인과, 프레임버퍼의 배열에의 액세스를 제어하는 데이타 및 프레임버퍼의 메모리장치에 쓰여지는 데이타를 저장하기위한 다수의 레지스터와, 데이타가 메모리장치 배열로부터 쓰여지고 데이타가 메모리장치 배열에의 저장을 위해 읽혀질 수 있는 다수의 래치와, 프레임버퍼로 부터 데이터를 전송받고 프레임버퍼에로 데이타를 전송하기 위한 입력버스를 포함하는 배열을 갖는 프레임버퍼에서,
    특정 레지스터나 래치에 대하여 수행되어져야 할 특정동작모드를 동작을 나타내기에 충분한 제어신호를 제공하는 수단;
    수행되어져야할 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 수단;
    열 액세스 스트로브 신호를 제공하는 수단; 및
    특정 동작모드를 나타내기에 충분한 제어신호에 의해 지정되는 동작을 수행하기 위해 행주소 스트로브신호에 대한 요구없이는 열액세스 스트로브 신호에 응답하는 수단을 포함하되, 상기 응답하는 수단은 수행되어야 할 동작에 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 저장하는 수단을 포함하는 개선이 가하여진 것을 특징으로 하는 프레임버퍼.
  15. 제14항에 있어서, 특정 래지스터나 래치에 대하여 수행되어져야 할 특정동작모드를 나타내기에 충분한 제어신호를 제공하는 상기 수단은,
    쓰기동작을 포함하는 동작모드를 나타내기 위한 신호를 제공하는 수단;
    출력동작을 포함하는 동작모드를 나타내기 위한 신호를 제공하는 수단; 및
    특정공작모드 선택을 위한 최소한 4개의 부가적인 제어신호를 제공하는 수단을 포함하는 개선이 가하여진 것을 특징으로 하는 프레임버퍼.
  16. 제15항에 있어서, 수행되어져야 할 동작에서 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 수단은, 다수의 칼라값 레지스터에의 저장용으로 입력버스상에 칼라값 데이타를 제공하는 수단을 포함하는 개선이 가하여진 것을 특징으로 하는 프레임버퍼.
  17. 제15항에 있어서, 수행되어져야 할 동작에 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 수단은, 플레인 마스크 레지스터에의 저장용으로 입력버스상에 플레인 마스크 데이타를 제공하는 수단을 포함하는 개선이 가하여진 것을 특징으로 하는 프레임버퍼.
  18. 제15항에 있어서, 수행되어져야 할 동작에 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 수단은, 픽셀마스크 레지스터에의 저장용으로 입력버스상에 픽셀마스크 데이타를 제공하는 수단을 포함하는 개선이 가하여진 것을 특징으로 하는 프레임버퍼.
  19. 제15항에 있어서, 수행되어져야 할 동작에 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 수단은,
    다수의 레치중 선택되는 것에의 저장용으로 배열중 메모리 셀로부터 픽셀데이타를 읽는 수단을 포함하며,
    특정 동작모드를 나타내기에 충분한 제어신호에 의해 지정되는 동작을 수행하기 위해 행주소 스트로브 신호에 대한 요구없이도 열액세스 스트로브 신호에 응답하는 상기 수단은,
    배열중 메모리 셀에의 저장용으로 다수의 래치중 선택된 것으로 부터 데이타를 읽는 수단을 포함하는 개선이 가하여진 것을 특징으로 하는 프레임버퍼.
  20. 제15항에 있어서, 수행되어져야 할 동작에 특정 레지스터나 래치에 저장되어질 필요가 있는 데이타를 제공하는 상기 수단은,
    다수의 래치중 선택되는 것에의 저장용으로 배열중 메모리 셀로부터 픽셀데이타를 읽는 수단을 포함하며,
    특정 동작모도를 나타내기에 충분한 제어신호에 의해 지정되는 어떤 동작을 수행하기 위해 행주소 스트로브 신호에 대한 요구없이도 열액세스 스트로브 신호에 응답하는 상기 수단은,
    외부출력 표시장치로의 전송용으로 다수의 래치중 선택된 것으로 부터 데이타를 읽는 수단을 포함하는 것을 특징으로 하는 프레임버피.
KR1019950702665A 1993-10-29 1994-10-27 행방향 주소 스트로브 사이클을 갖지 않고 프레임버퍼에 영향을 미치는 동작을 제공하기 위한 방법 및 장치 Expired - Fee Related KR100355070B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14537493A 1993-10-29 1993-10-29
US08/145,374 1993-10-29
US08/145374 1993-10-29

Publications (2)

Publication Number Publication Date
KR960700490A KR960700490A (ko) 1996-01-20
KR100355070B1 true KR100355070B1 (ko) 2003-01-06

Family

ID=22512818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950702665A Expired - Fee Related KR100355070B1 (ko) 1993-10-29 1994-10-27 행방향 주소 스트로브 사이클을 갖지 않고 프레임버퍼에 영향을 미치는 동작을 제공하기 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US5654742A (ko)
EP (1) EP0677199A4 (ko)
JP (1) JPH09506439A (ko)
KR (1) KR100355070B1 (ko)
WO (1) WO1995012190A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539430A (en) * 1993-10-29 1996-07-23 Sun Microsystems, Inc. Pipelined read write operations in a high speed frame buffer system
US5559749A (en) * 1995-05-11 1996-09-24 Micron Technology, Inc. Multi-bit block write in a random access memory
KR101138059B1 (ko) * 2004-03-15 2012-04-23 톰슨 라이센싱 효과적인 영상 리샘플링 방법 및 시스템
EP1605400A1 (en) * 2004-06-11 2005-12-14 STMicroelectronics S.r.l. Processing pipeline of pixel data of a color image acquired by a digital sensor
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
JP5079589B2 (ja) * 2008-04-30 2012-11-21 パナソニック株式会社 表示制御装置及び表示制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3789367A (en) * 1972-06-29 1974-01-29 Ibm Memory access device
US4546451A (en) * 1982-02-12 1985-10-08 Metheus Corporation Raster graphics display refresh memory architecture offering rapid access speed
CA1262969A (en) * 1985-06-25 1989-11-14 Ascii Corporation Memory system
US4979145A (en) * 1986-05-01 1990-12-18 Motorola, Inc. Structure and method for improving high speed data rate in a DRAM
US4999620A (en) * 1986-08-21 1991-03-12 Ascii Corporation Apparatus for storing and accessing image data to be displayed on a display unit
US5274364A (en) * 1989-01-09 1993-12-28 Industrial Technology Research Institute Window clipping method and device
US5319606A (en) * 1992-12-14 1994-06-07 International Business Machines Corporation Blocked flash write in dynamic RAM devices

Also Published As

Publication number Publication date
WO1995012190A1 (en) 1995-05-04
US5654742A (en) 1997-08-05
JPH09506439A (ja) 1997-06-24
EP0677199A4 (en) 1998-01-14
KR960700490A (ko) 1996-01-20
EP0677199A1 (en) 1995-10-18

Similar Documents

Publication Publication Date Title
KR970005392B1 (ko) 다중 열 선택모우드를 갖고 있는 해독/기입 메모리
US4742474A (en) Variable access frame buffer memory
KR970005410B1 (ko) 온-칩 입력 데이타 레지스터를 갖고 있는 해독/기입 메모리
KR100279039B1 (ko) 개선된 메모리 구조, 장치, 시스템 및 이를 사용하는 방법
US5661692A (en) Read/write dual port memory having an on-chip input data register
KR100335474B1 (ko) 윈도우잉동작용으로설계된프레임버퍼시스템
US5210723A (en) Memory with page mode
US5504855A (en) Method and apparatus for providing fast multi-color storage in a frame buffer
EP0279227B1 (en) Raster display vector generator
KR100355070B1 (ko) 행방향 주소 스트로브 사이클을 갖지 않고 프레임버퍼에 영향을 미치는 동작을 제공하기 위한 방법 및 장치
KR100319000B1 (ko) 고속프레임버퍼 시스템에서 파이프라인된 판독 기록동작
KR100340621B1 (ko) 윈도우잉동작용으로설계된프레임버퍼시스템의다중블록모드동작
US5805133A (en) Method and apparatus for increasing the rate of scrolling in a frame buffer system designed for windowing operations
KR100281250B1 (ko) 개선된 메모리 구조, 장치, 시스템 및 이를 이용하는 방법
JPH07210140A (ja) イメージ供給方法及び帯域幅を改善するために空間的冗長量を使用する図形制御装置

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

FPAY Annual fee payment

Payment date: 20060908

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20070920

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20070920