KR20000015972A - Vga에 순응하는 비디오 디스플레이 어댑터와의 효율적인 메모리-판독 연산을 위한 방법 및 장치 - Google Patents

Vga에 순응하는 비디오 디스플레이 어댑터와의 효율적인 메모리-판독 연산을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20000015972A
KR20000015972A KR1019980709532A KR19980709532A KR20000015972A KR 20000015972 A KR20000015972 A KR 20000015972A KR 1019980709532 A KR1019980709532 A KR 1019980709532A KR 19980709532 A KR19980709532 A KR 19980709532A KR 20000015972 A KR20000015972 A KR 20000015972A
Authority
KR
South Korea
Prior art keywords
memory
random access
information
access memory
instruction
Prior art date
Application number
KR1019980709532A
Other languages
English (en)
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 KR20000015972A publication Critical patent/KR20000015972A/ko

Links

Classifications

    • 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/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • 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/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory

Landscapes

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

Abstract

비디오 RAM 또는 캐시 메모리로부터 원하는 정보를 판독하는 것이 아니라, 가능할 때마다 래치로부터 원하는 정보를 제공함으로써, VGA에 순응하는 어댑터와 같은 디스플레이 어댑터 내의 비디오 RAM으로부터 정보를 판독하는 효율이 개선된다. 소정의 위치의 내용을 변경하는 명령어를 실행하기 전에, 비디오 RAM 내의 그 소정의 위치에 저장된 모든 픽셀에 대한 정보를 먼저 판독함으로써, 시각 영상의 이동 및 리사이징과 같은, 그래픽 사용자 인터페이스와의 루틴 연산이 개선될 수 있다.

Description

VGA에 순응하는 비디오 디스플레이 어댑터와의 효율적인 메모리-판독 연산을 위한 방법 및 장치
개인용 컴퓨터와 같은 많은 정보 처리 시스템들이 예를 들어, 비디오 모니터와 같은 장치 상에서의 시각적 디스플레이를 위한 정보를 나타내는 신호를 발생하지만, 이들 신호의 전압 및 형태는 일반적으로 이와 같은 디스플레이 장치와 호환성이 없다. 정보 처리 시스템에 의해 발생된 신호는 본 명세서에서 "디스플레이 어댑터"로서 언급되는 인터페이스 회로에 의해 디스플레이 장치를 구동시키기 적합한 신호로 변환될 수 있다.
디스플레이 어댑터는 다양한 인터페이스 명세에 따라 이루어지는데, 그 중 일부는 표준을 인식하며, 다른 것들은 독점적이다. 한가지 잘 알려진 표준은 비디오 그래픽스 어레이(VGA) 표준이다. 이들 인터페이스 표준의 대부분은 영상(images)이 작은 화소 또는 픽셀들의 매트릭스로서 제공되는 그래픽스-모드 타입의 디스플레이를 지원한다. 칼라 영상에서, 각각의 픽셀은 수개의 이용가능한 칼라 중 하나를 나타낼 수 있다.
VGA에 순응하는(VGA-compliant) 어댑터에서, 각각의 픽셀을 묘사하는 정보는 랜덤 억세스 메모리(RAM)에 저장된다. 다른 형태의 랜덤 억세스 메모리와 같이, VGA에 순응하는 어댑터의 비디오 RAM 내의 각각의 저장 위치도 개별적으로 어드레스될 수 있다. 이러한 정보가 편제되는 정확한 방식은 사용되는 특정 그래픽스 모드에 의존한다. 팩형-픽셀 모드(packed-pixel mode)에서는, 하나 또는 그 이상의 픽셀에 대한 정보가 각각의 메모리 위치로 팩킹된다. 예를 들어, 하나의 기억 위치에 32 비트가 기록될 수 있으며, 여기서, 8 비트의 정보가 256개의 칼라 중 하나를 나타내는 4개의 픽셀 각각에 저장된다. 평면(planar) 모드에서는, 비디오 RAM이 수개의 평행한 평면으로 편제된다. 특정 16-칼라 그래픽스 모드에서는, 예를 들어, 4개의 1-비트 평면이 집합적으로, 각각의 픽셀에 4-비트 값을 제공하며, 따라서, 16개의 칼라 중 하나를 전달하게 된다. RAM에 저장된 값을 특정 칼라를 정의하는 특정의 적색(red), 녹색(green), 청색(blue)(RGB) 레벨로 변환하기 위해 하나 또는 그 이상의 "팔레트(palettes)"가 디스플레이 어댑터에 사용될 수 있다.
VGA에 순응하는 어댑터에서, 메모리-판독 명령어가 팩형-픽셀 모드에서 실행되는 경우에, 지정된 어드레스에 저장된 모든 정보가 억세스된다. 전술한 예에서, 단일의 픽셀에 대한 정보를 입수하는 프로세스는 4개의 픽셀에 대한 정보가 판독되는 결과를 초래한다. 메모리-판독 명령어가 평면 모드에서 실행되는 경우에는, 지정된 어드레스의 복수의 평면으로부터 정보가 판독된다. 한가지 특정 평면 모드에서는, 예를 들어, 하나의 메모리-판독 명령어가 4개의 메모리 평면 각각으로부터 한 바이트씩 4 바이트의 정보를 입수한다. 메모리로부터 판독된 정보는 그것을 요구한 장치로 즉시 전송되는 것이 아니라, 하나 또는 그 이상의 그래픽스 제어기 래치로 카피되고, 나중에, 요구한 장치로 반송된다.
디스플레이 어댑터의 거의 모든 최신의 구현에서, 비디오 디스플레이 장치 상에서 영상을 렌더링(render)하기 위해 비디오 신호가 발생될 수 있는 속도를 증가시키기 위해 RAM이 사용된다. 칼라 영상의 보다 정확한 렌더링을 실현하기 위해 매우 많은 수의 칼라를 디스플레이해야하는 필요성 및 그래픽 디스플레이 모드의 이용을 포함하여 정보 처리 분야에서의 많은 개발로 인해, 디스플레이 어댑터에서 통상적으로 사용되는 RAM의 양이 증가되었다. 예를 들어, 1280x1024 픽셀의 스크린 디스플레이 해상도를 지원하거나 또는 1600 만개 이상의 상이한 칼라를 디스플레이할 수 있는 디스플레이 어댑터에는 수 메가바이트의 RAM이 사용된다. 그러나, 불행하게도, RAM에 저장되는 정보의 양이 증가함에 따라, 디스플레이되는 영상에서의 변화를 달성하는데 필요한 시간의 양도 역시 증가되었으며, 따라서, 디스플레이 영상을 생성하는 효율을 개선하기 위해, 메모리 캐싱 및 듀얼-포트 RAM과 같이, 더욱 빠른 메모리 관리에서의 진보가 탐구되었다.
그러나, 이러한 진보에도 불구하고, 위에서 언급된 래치의 비효율적인 이용은 VGA 표준과 같은 인터페이스 명세에 순응하는 디스플레이 어댑터에서의 메모리-판독 성능을 저하시킨다.
본 발명은 일반적으로 개인용 컴퓨터와 같은 정보 처리 유닛과 칼라 비디오 모니터와 같은 디스플레이 장치 사이의 인터페이스 회로에 관한 것이다. 특히, 본 발명은 그래픽스 제어기 래치가 사용되는 방식을 개선함으로써, 비디오 그래픽스 어레이(Video Graphics Array) 표준과 같은 인터페이스 명세(specification)에 순응하는 디스플레이 어댑터의 랜덤 억세스 메모리에 저장된 정보를 입수하는 효율을 개선하는 것에 관한 것이다.
도1은 디스플레이 장치와의 인터페이스를 위한 디스플레이 어댑터를 포함하는 전형적인 개인용 컴퓨터의 기능 블록도.
도2는 디스플레이 어댑터의 일실시예의 기능 블록도.
도3은 본 발명에 따른 방법의 일실시예의 다양한 양태를 예시하는 흐름도.
따라서, 본 발명의 한가지 목적은 그래픽스 제어기 래치가 사용되는 방식을 개선함으로써, 비디오 그래픽스 어레이 표준과 같은 인터페이스 명세에 순응하는 디스플레이 어댑터의 랜덤 억세스 메모리에 저장된 정보를 입수하는 효율을 개선하는 것이다.
본 발명의 한 양태에 따른 디스플레이 어댑터는, 다수의 위치 - 여기서, 상기 각각의 위치는 디스플레이 영상의 하나 또는 그 이상의 픽셀의 디스플레이 속성을 나타내는 다수의 비트를 저장할 수 있음 - 를 포함하는 랜덤 억세스 메모리; 및 명령어 입력 및 데이터 출력을 구비한 제어 회로 - 여기서, 상기 제어 회로는 상기 다수의 위치에 대한 판독 억세스를 위해 상기 랜덤 억세스 메모리에 접속되며, 상기 명령어 입력에서 수신되는 메모리-판독 명령어 신호에 응답하여 상기 데이터 출력에서 데이터 신호를 생성할 수 있으며, 상기 데이터 신호는 각각의 위치에 저장된 디지탈 정보를 나타내고, 상기 제어 회로는 또한, 상기 랜덤 억세스 메모리에 접속되어 상기 각각의 위치 및 상기 디지탈 정보를 나타내는 정보를 래치할 수 있는 래치 회로를 포함함 - ; 를 포함하고, 여기서, 후속 메모리-판독 명령어 신호에 응답하여, 상기 제어 회로는, 상기 후속 메모리-판독 명령어 신호가 상기 각각의 위치에 저장된 상기 랜덤 억세스 메모리 내의 정보의 판독을 요구할 때마다, 상기 랜덤 억세스 메모리에 대한 억세스 없이 상기 래치 회로에 래치된 정보에 응답하여 상기 데이터 신호를 생성할 수 있다.
본 발명의 다른 양태에 따르면, 랜덤 억세스 메모리 - 여기서, 상기 랜덤 억세스 메모리 내의 각각의 위치는 디스플레이 영상의 하나 또는 그 이상의 픽셀의 디스플레이 속성을 나타내는 다수의 비트를 저장함 - 를 포함하는 디스플레이 어댑터에서, 메모리-판독 명령어에 응답하여 상기 랜덤 억세스 메모리 내의 각각의 위치에 저장된 디지탈 정보를 나타내는 출력 신호를 생성하는 방법은, 명령어 신호를 수신하고, 수신된 명령어 신호가 상기 랜덤 억세스 메모리로부터 정보를 판독하기 위한 메모리-판독 명령어를 나타내는지 판단하는 단계; 만일 수신된 명령어 신호가 메모리-판독 명령어를 나타내지 않는다면, 상기 수신된 명령어 신호가 나타내는 명령어의 처리가 상기 랜덤 억세스 메모리의 내용에 영향을 주는 경우에 저장된 어드레스를 클리어시키고, 상기 수신된 명령어 신호가 나타내는 명령어를 처리하고, 다음의 단계를 바이패스하는 단계; 상기 수신된 명령어 신호가 메모리-판독 명령어를 나타내면, 상기 저장된 어드레스가 메모리-판독 명령어에 의해 명시된 명령어 어드레스와 일치하는지 판단하는 단계; 상기 저장된 어드레스가 상기 명령어 어드레스와 일치하지 않는 경우에, 상기 명령어 어드레스를 새로운 저장된 어드레스로서 저장하고, 상기 수신된 명령어 신호가 나타내는 메모리-판독 명령어를 처리하고 - 여기서, 상기 처리는 상기 명령어 어드레스에 의해 명시된 위치에서 상기 랜덤 억세스 메모리에 저장된 정보를 입수하는 것을 포함함 -, 상기 정보를 래치에 배치하고, 상기 정보에 응답하여 상기 출력 신호를 생성하고, 다음의 단계를 바이패스하는 단계; 및 상기 저장된 어드레스가 상기 명령어 어드레스와 일치하는 경우에, 상기 래치에 이전에 배치된 정보에 응답하여 상기 출력 신호를 생성하는 단계를 포함한다.
본 발명의 또다른 양태에 따르면, 전술한 패러그라프에서 열거된 방법과 등가인 방법을 랜덤 억세스 메모리를 포함하는 디스플레이 어댑터에서 수행하기 위해, 머신에 의해 실행가능한 명령어들의 프로그램을 구체화하는, 머신에 의해 판독가능한 매체가 제공된다.
본 발명의 또다른 양태에 따르면, 디스플레이 어댑터는, 다수의 위치 - 여기서, 상기 각각의 위치는 디스플레이 영상의 하나 또는 그 이상의 픽셀의 디스플레이 속성을 나타내는 다수의 비트를 저장할 수 있음 - 를 포함하는 랜덤 억세스 메모리; 상기 랜덤 억세스 메모리에 접속되어, 상기 랜덤 억세스 메모리 내의 한 위치에 저장된 디지탈 정보를 래치할 수 있는 래치; 및 상기 랜덤 억세스 메모리 및 상기 래치에 접속되어, 메모리-판독 명령어를 나타내는 명령어 신호에 응답하여 출력 신호를 생성하기 위한 제어 수단 - 여기서, 상기 출력 신호는 상기 메모리-판독 명령어에 의해 명시된 상기 랜덤 억세스 메모리 내의 특정 위치에 저장된 디지탈 정보를 나타내고, 상기 제어 수단은, 상기 메모리-판독 명령어가 상기 래치 내의 정보에 대응하는 위치에 있는 상기 랜덤 억세스 메모리 내의 정보를 요구할 때마다, 상기 랜덤 억세스 메모리에 대한 억세스 없이 상기 래치 내의 정보에 응답하여 상기 데이터 신호를 생성함 - 을 포함한다.
본 발명을 포함하는 디스플레이 어댑터는 예를 들어, 개별 구성요소 또는 고레벨의 애플리케이션-특유의 집적회로(ASIC)를 이용하여 구현될 수 있으며, 마이크로프로세서나 또는 다른 형태의 프로그램-제어형 회로를 포함할 수 있다. 바람직하게는, 많은 다른 기술에 의해 실현될 수 있는 것보다 제조 비용이 적게 드는 구현을 이루기 위해서는 ASIC이 사용되지만, 특정 구현예는 본 발명을 실시하는데 있어 임계적인 것은 아니다.
본 발명의 다양한 특징 및 다양한 실시예는 다음의 상세한 설명 및 첨부 도면을 참조함으로써 잘 이해될 것이다. 도면에서, 유사한 참조번호는 유사한 기능을 나타낸다. 본 명세서에서 논의되고 예시되는 특정 실시예는 단지 예로서 제공되는 것이며, 본 발명의 범위에 대한 제한을 의미하는 것은 아니다.
도1은 디스플레이 장치와의 인터페이스를 위한 디스플레이 어댑터를 포함하는 전형적인 개인용 컴퓨터의 기능 블록도이다. CPU(2)는 컴퓨팅 자원을 제공한다. 입력/출력(3)은 키보드, 마우스, 모뎀 또는 프린터와 같은 I/O 장치(4)에 대한 인터페이스를 나타낸다. 기억장치 제어기(6)는 자기 테이프 드라이브 또는 디스크 드라이브와 같은 기억장치(7)에 대한 인터페이스를 나타낸다. 디스플레이 어댑터(8)는 디스플레이 장치(9)에 대한 인터페이스를 제공한다. RAM(5)은 디스플레이 어댑터(8)에 존재할 수 있는 어떤 비디오 RAM과도 혼동해서는 안되는 시스템 랜덤 억세스 메모리이다. 이들 구성요소 중 하나 또는 그 이상의 기능은 개별 로직 구성요소, 하나 또는 그 이상의 ASIC 및/또는 프로그램-제어형 프로세서를 포함하여 매우 다양한 방식으로 구현될 수 있다.
모든 주요한 시스템 구성요소는 하나 이상의 물리적인 버스를 의미할 수 있는 버스(1)에 접속된다. 예를 들어, 일부의 개인용 컴퓨터들은 소위 산업 표준 아키텍처(ISA) 버스만을 포함한다. 많은 보다 현대적인 컴퓨터들은 ISA 버스 뿐만 아니라, VESA 로컬 버스 표준 또는 PCI 로컬 버스 표준과 같은 소정의 버스 표준에 따른 고대역폭 버스도 포함한다. 바람직하게는, 디스플레이 어댑터(8)는 디스플레이의 속도를 향상시키기 위해 고대역폭 버스에 접속되지만, 버스 구조가 본 발명을 실시하는데 필수적인 것은 아니다.
본 발명은 디스플레이 어댑터(8)의 기능에 관한 것이며, 따라서, 도1에 도시된 모든 구성요소가 본 발명을 실시하는데 필수적인 것은 아니다. 예를 들어, 본 발명의 양태를 포함하는 디스플레이 어댑터는 단지 CPU(2), 스위치 또는 키패드와 같은 소정의 입력장치(4)에 접속된 입력/출력(3), RAM(5), 디스플레이 어댑터(8) 및 디스플레이 장치(9) 만을 포함하는 정보 처리 시스템에 이용될 수 있다.
디스플레이 어댑터
도2는 디스플레이 어댑터(8)의 일실시예의 기능 블록도이다. 이 실시예에서, 제어기(100)는 다양한 형태의 정보를 전달하는 신호를 송수신하기 위해 버스(1)에 접속된다. 예를 들어, 제어기(100)는 경로(11)로부터의 명령어, 경로(13)로부터의 어드레스, 경로(15)로부터의 데이터 및 경로(17)로부터의 타이밍 신호를 수신한다. 제어기(100)는 경로(15)를 따라 버스(1)로 데이터를 전송한다.
만일 경로(11)로부터 수신된 명령어가 메모리-판독 명령어이면, 경로(13)로부터 수신되는 어드레스는 메모리 내의 판독될 위치를 나타낸다. 이 판독에 의해 메모리로부터 입수되는 데이터는 래치(102)로 배치되며, 경로(15)를 따라 전송된다. 만일 경로(11)로부터 수신되는 명령어가 메모리-기록 명령어이면, 경로(13)로부터 수신되는 어드레스는 경로(15)로부터 수신되는 데이터가 기록될 메모리 내의 위치를 나타낸다.
제어기(100)는 비디오 RAM(106)에 억세스하기 위해 메모리 제어기(104)를 이용한다. 비디오 RAM(106)으로부터 판독된 정보는 메모리 제어기(104)를 통해 메모리 버스(109)로 통과된다. 메모리로 기록되는 정보는 메모리 버스(109)로부터 메모리 제어기(104)를 통해 비디오 RAM(106)으로 전달된다. 도시된 바와 같이, 메모리 버스(109)는 32-비트 버스이다. 이러한 버스폭은 본 발명에 임계적인 것이 아니며, 다른 버스폭도 이용될 수 있다. 캐시(108)는 선택적인 것이지만, 비디오 RAM(106)에 저장된 정보에 억세스하는데 필요한 시간을 감소시키기 위해 이용될 수 있다. 캐싱이 사용되든지 또는 그렇지 않든지 간에, 비디오 RAM(106) 내의 한 위치로부터 판독된 정보는 래치(102)로 배치된다.
비디오 출력(110)은 비디오 RAM(106)으로부터 입수된 정보에 응답하여 비디오 출력 디스플레이 신호를 발생한다. 비디오 출력(110)의 특정 구현예가 본 발명을 실시하는데 있어 임계적인 것은 아니지만, 통상적인 구현예는 비디오 출력 디스플레이 신호를 발생하는데 필요한 정보를 입수하는 것에 관해 부과되는 타이밍 제한조건(constraints)을 완화시키기 위한 선입선출(FIFO) 버퍼와, 예를 들어, 칼라 및 감마(gamma) 접속을 위해 제어기(100)에 의해 설정될 수 있는 디스플레이 속성에 따라 비디오 RAM(106)으로부터 입수된 정보를 변경하기 위한 팔레트와, 픽셀 정보를 직렬 비트 스트림으로 변환하기 위한 비디오 시프트 레지스터, 및 아날로그 비디오 신호를 생성하기 위한 디지탈-아날로그 변환기를 포함한다. 제어기(100)는 한 픽셀당 다수의 비트와 같은 정보에 따라 시프트 레지스터의 연산을 적응시키고, 또한, 경로(123)를 따라 비디오 동기화 신호를 제공한다.
도2에 도시된 실시예는 디스플레이 어댑터 구현예의 넓은 범위에서의 기본적인 기능을 예시하도록 포괄적인 구성으로 의도된 것이다. 본 발명이 병합될 수 있는 디스플레이 어댑터의 일례로는, 미국 산호세에 소재하는 SMOS Systems Inc.에 의해 제조된 모델, SPC8110F0A가 있다. 도2에 도시된 실시예는 또한, 많은 실제적인 구현예에서 볼 수 있는, 버퍼, 클럭, 스프라이트(sprite) 관리, 버스 마스터링, 코-프로세싱, 파이프라이닝, 및 전력관리와 같은 일부의 구성요소를 생략하여, 간단한 구성이 되도록 의도된 것이다. 이 도면에서 생략된 기능은 매우 다양한 조합으로 이용될 수 있고, 또한, 다양한 방식으로 구현될 수 있지만, 그러나, 이들 기능은 본 발명에 필수적인 것은 아니다. 본 발명은 도2에 도시된 실시예를 포함하여 어떤 특정 실시예에 따라 구현된 디스플레이 어댑터에 제한되지 않는다. 필수적인 기능은 제어기(100)와, 래치(102)와 같은 그래픽스 제어기 래치, 및 비디오 RAM(106)과 같은 랜덤 억세스 메모리에 의해 제공될 수 있는 후술되는 래치 제어 기능이다.
래치 제어
도3은 본 발명에 따른 래치 제어 기능의 한가지 방법에서의 기능적인 단계를 예시하는 흐름도이다. 이 제어 방법의 연산에 대해서는 도2에 도시된 디스플레이 어댑터 실시예를 참조하여 설명된다.
단계(202)에서는 필요에 따라 초기화가 제공된다. 단계(204)에서는, 경로(11)로부터 수신되는 명령어가 메모리-판독 명령어인지 판단한다. 만일 그렇다면, 단계(208)에서, 그 명령어에 의해 명시된 판독 어드레스가 이전에 저장된 어드레스와 일치하는지 판단한다. 만일 2개의 어드레스가 일치하면, 래치(102)에 이전에 배치된 데이터가 경로(15)로 제공된다. 만일 이들 2개의 어드레스가 일치하지 않으면, 명령어에 의해 명시된 판독 어드레스가 저장되고, 그 명령어는 처리되어, 요구된 정보가 가능하다면 캐시(108)로부터 입수되고, 그렇지 않으면 비디오 RAM(106)으로부터 입수되게 된다. 만일 경로(11)로부터 수신된 명령어가 메모리-판독 명령어가 아니면, 단계(216)에서, 그 명령어의 실행이 비디오 RAM(106)의 내용에 영향을 주게될 것인지 판단한다. 만일 그렇게 된다면, 단계(218)에서, 저장된 어드레스가 클리어되고, 단계(212)에서, 명령어가 처리된다. 단계(214)에서는, 원하는 바에 따라 다양한 보조관리(housekeeping) 기능이 제공될 수 있다.
전술한 래치 제어 방법의 필수적인 기능은 상이한 순서로 배열된 유사한 단계들을 포함하는 등가의 방법에 의해 실현될 수 있다는 것은 명백할 것이다. 이러한 변형예는 본 발명의 범위를 벗어나지 않는다.
프로그래밍
본 발명에 의해 실현되는 장점을 예시하는, 그래픽 사용자 인터페이스와의 2가지 공통적인 연산은 윈도우와 같은 디스플레이 객체의 이동(moving) 및 리사이징(resizing) 연산이다. 이와 같은 연산은 비디오 RAM으로부터 데이터를 판독하고, 데이터를 변경하고, 변경된 데이터를 비디오 RAM에 기록하는 명령어들의 많은 반복(iterations)을 유발한다. 종래 기술에 따르면, 후속 메모리-판독 명령어는 원하는 정보가 래치(102)에서 이용가능한 경우 조차도, 캐시 메모리(108)(구현되어 있는 경우) 또는 비디오 RAM(106)에 대한 억세스를 유발한다.
예를 들어, 비디오 RAM(106)에 저장된 정보가 팩형-픽셀 모드 또는 평면 모드에 따라 편제되어, 각각의 위치가 2개 또는 그 이상의 픽셀을 나타내는 정보를 저장하고 있는 것으로 가정하면, 소정의 위치에 저장된, 변경을 필요로 하는 모든 픽셀에 대한 첫 번째 메모리-판독 명령어를 실행함으로써, 이동 또는 리사이징 연산이 보다 효율적으로 수행될 수 있다. 소정의 위치에 대한 첫 번째 메모리-판독 명령어는 캐시(108) 또는 비디오 RAM(106)으로부터 원하는 정보를 입수하고, 그 위치에 저장된 정보를 래치(102)에 저장하게 된다. 이 위치에 저장된 픽셀 정보에 대한 후속 메모리-판독 명령어는 래치(102)로부터 원하는 정보를 입수하게 된다. 이 위치에 대한 모든 필요한 판독 이후에, 변경된 픽셀 정보는 원하는 바에 따라 비디오 RAM에 기록될 수 있다.
다른 형태의 명령어에 관하여 메모리-판독 명령어를 실행하기 위한 적절한 순서는 예를 들어, 애플리케이션 또는 운영체제 구성요소와 같이, 정보를 요구하는 장치 내의 로직에 의해 명시될 수 있으며, 또는 요구한 장치 내의 "장치 드라이버"로 불리는 특수한 인터페이스나, 또는 명령어의 시퀀스를 검사하고 그것을 적절하게 재배열(reordering)하는, 디스플레이 어댑터 자체 내의 로직에 의해 제공될 수 있다.
이동 및 리사이징에 더하여, 본 발명은 비디오 RAM 내의 동일한 위치에 대한 반복적인 억세스를 필요로하는 다른 형태의 연산의 효율도 개선할 수 있다. 비록 비디오 RAM 내의 위치가 하나 이상의 픽셀에 대한 정보를 저장하는 상황에서 본 발명의 가장 큰 장점이 발생하는 것으로 고찰되었지만, 이러한 장점은 소정의 위치에 대한 반복되는 판독 억세스가 비디오 메모리 내용에 영향을 주는 개입하는 명령어 없이 이루어지는, 각각의 위치에서 오직 하나의 픽셀에 대한 정보를 저장하는 그래픽스 모드에 대해서도 실현될 수 있다.

Claims (15)

  1. 다수의 위치(locations) - 여기서, 상기 각각의 위치는 디스플레이 영상의 하나 또는 그 이상의 픽셀의 디스플레이 속성을 나타내는 다수의 비트를 저장할 수 있음 - 를 포함하는 랜덤 억세스 메모리; 및
    명령어 입력 및 데이터 출력을 구비한 제어 회로 - 여기서, 상기 제어 회로는 상기 다수의 위치에 대한 판독 억세스를 위해 상기 랜덤 억세스 메모리에 접속되며, 상기 명령어 입력에서 수신되는 메모리-판독 명령어 신호에 응답하여 상기 데이터 출력에서 데이터 신호를 생성할 수 있으며, 상기 데이터 신호는 각각의 위치에 저장된 디지탈 정보를 나타내고, 상기 제어 회로는 또한, 상기 랜덤 억세스 메모리에 접속되어 상기 각각의 위치 및 상기 디지탈 정보를 나타내는 정보를 래치할 수 있는 래치 회로를 포함함 - ;
    를 포함하고,
    여기서, 후속 메모리-판독 명령어 신호에 응답하여, 상기 제어 회로는, 상기 후속 메모리-판독 명령어 신호가 상기 각각의 위치에 저장된 상기 랜덤 억세스 메모리 내의 정보의 판독을 요구할 때마다, 상기 랜덤 억세스 메모리에 대한 억세스 없이 상기 래치 회로에 래치된 정보에 응답하여 상기 데이터 신호를 생성할 수 있는
    디스플레이 어댑터.
  2. 제 1 항에 있어서,
    상기 랜덤 억세스 메모리는 다수의 평면으로 편제되고, 각각의 위치는 상기 디스플레이 영상의 각각의 픽셀의 디스플레이 속성을 나타내는 정보를 저장하며, 각각의 위치의 각각의 평면은 하나 또는 그 이상의 비트를 저장할 수 있는
    디스플레이 어댑터.
  3. 제 1 항에 있어서,
    상기 랜덤 억세스 메모리와 상기 제어 회로 사이에 삽입된 메모리 캐시
    를 더 포함하는 디스플레이 어댑터.
  4. 디스플레이 어댑터에서, 메모리-판독 명령어를 나타내는 명령어 신호에 응답하여 출력 신호 - 여기서, 상기 출력 신호는 상기 메모리-판독 명령어에 의해 명시된 랜덤 억세스 메모리 내의 각각의 위치에 저장된 디지탈 정보를 나타내고, 상기 랜덤 억세스 메모리 내의 각각의 위치는 디스플레이 영상의 하나 또는 그 이상의 픽셀의 디스플레이 속성을 나타내는 다수의 비트를 저장함 - 를 생성하는 방법에 있어서,
    (가) 명령어 신호를 수신하고, 수신된 명령어 신호가 상기 랜덤 억세스 메모리로부터 정보를 판독하기 위한 메모리-판독 명령어를 나타내는지 판단하는 단계;
    (나) 만일 수신된 명령어 신호가 메모리-판독 명령어를 나타내지 않는다면, 상기 수신된 명령어 신호가 나타내는 명령어의 처리가 상기 랜덤 억세스 메모리의 내용에 영향을 주는 경우에 저장된 어드레스를 클리어시키고, 상기 수신된 명령어 신호가 나타내는 명령어를 처리하고, 다음의 단계를 바이패스하는 단계;
    (다) 상기 수신된 명령어 신호가 메모리-판독 명령어를 나타내면, 상기 저장된 어드레스가 메모리-판독 명령어에 의해 명시된 명령어 어드레스와 일치하는지 판단하는 단계;
    (라) 상기 저장된 어드레스가 상기 명령어 어드레스와 일치하지 않는 경우에, 상기 명령어 어드레스를 새로운 저장된 어드레스로서 저장하고, 상기 수신된 명령어 신호가 나타내는 메모리-판독 명령어를 처리하고 - 여기서, 상기 처리는 상기 명령어 어드레스에 의해 명시된 위치에서 상기 랜덤 억세스 메모리에 저장된 정보를 입수하는 것을 포함함 -, 상기 정보를 래치에 배치하고, 상기 정보에 응답하여 상기 출력 신호를 생성하고, 다음의 단계를 바이패스하는 단계; 및
    (마) 상기 저장된 어드레스가 상기 명령어 어드레스와 일치하는 경우에, 상기 래치에 이전에 배치된 정보에 응답하여 상기 출력 신호를 생성하는 단계
    를 포함하는 디스플레이 어댑터에서의 출력 신호 생성 방법.
  5. 제 4 항에 있어서,
    상기 랜덤 억세스 메모리는 다수의 평면으로 편제되고, 각각의 위치는 상기 디스플레이 영상의 각각의 픽셀의 디스플레이 속성을 나타내는 정보를 저장하고, 각각의 위치의 각각의 평면은 하나 또는 그 이상의 비트를 저장할 수 있는
    디스플레이 어댑터에서의 출력 신호 생성 방법.
  6. 제 4 항에 있어서,
    상기 디스플레이 어댑터는 상기 랜덤 억세스 메모리에 접속된 메모리 캐시를 포함하고,
    상기 저장된 어드레스와 일치하지 않는 명령어 어드레스를 가진 메모리-판독 명령어를 처리하는 단계는 상기 메모리 캐시로부터 상기 정보를 입수하는 단계를 포함하는
    디스플레이 어댑터에서의 출력 신호 생성 방법.
  7. 메모리-판독 명령어를 나타내는 명령어 신호에 응답하여 출력 신호 - 여기서, 상기 출력 신호는 상기 메모리-판독 명령어에 의해 명시된 랜덤 억세스 메모리 내의 각각의 위치에 저장된 디지탈 정보를 나타내고, 상기 랜덤 억세스 메모리 내의 각각의 위치는 디스플레이 영상의 하나 또는 그 이상의 픽셀의 디스플레이 속성을 나타내는 다수의 비트를 저장함 - 를 생성하기 위한 방법을 수행하도록 상기 머신에 의해 실행될 수 있는 명령어들의 프로그램을 구체화하는, 상기 머신에 의해 판독가능한 매체에 있어서,
    상기 방법은,
    (가) 명령어 신호를 수신하고, 수신된 명령어 신호가 상기 랜덤 억세스 메모리로부터 정보를 판독하기 위한 메모리-판독 명령어를 나타내는지 판단하는 단계;
    (나) 만일 수신된 명령어 신호가 메모리-판독 명령어를 나타내지 않는다면, 상기 수신된 명령어 신호가 나타내는 명령어의 처리가 상기 랜덤 억세스 메모리의 내용에 영향을 주는 경우에 저장된 어드레스를 클리어시키고, 상기 수신된 명령어 신호가 나타내는 명령어를 처리하고, 다음의 단계를 바이패스하는 단계;
    (다) 상기 수신된 명령어 신호가 메모리-판독 명령어를 나타내면, 상기 저장된 어드레스가 메모리-판독 명령어에 의해 명시된 명령어 어드레스와 일치하는지 판단하는 단계;
    (라) 상기 저장된 어드레스가 상기 명령어 어드레스와 일치하지 않는 경우에, 상기 명령어 어드레스를 새로운 저장된 어드레스로서 저장하고, 상기 수신된 명령어 신호가 나타내는 메모리-판독 명령어를 처리하고 - 여기서, 상기 처리는 상기 명령어 어드레스에 의해 명시된 위치에서 상기 랜덤 억세스 메모리에 저장된 정보를 입수하는 것을 포함함 -, 상기 정보를 래치에 배치하고, 상기 정보에 응답하여 상기 출력 신호를 생성하고, 다음의 단계를 바이패스하는 단계; 및
    (마) 상기 저장된 어드레스가 상기 명령어 어드레스와 일치하는 경우에, 상기 래치에 이전에 배치된 정보에 응답하여 상기 출력 신호를 생성하는 단계
    를 포함하는
    머신 판독가능 매체.
  8. 제 7 항에 있어서,
    상기 랜덤 억세스 메모리는 다수의 평면으로 편제되고, 각각의 위치는 상기 디스플레이 영상의 각각의 픽셀의 디스플레이 속성을 나타내는 정보를 저장하고, 각각의 위치의 각각의 평면은 하나 또는 그 이상의 비트를 저장할 수 있는
    머신 판독가능 매체.
  9. 제 7 항에 있어서,
    상기 디스플레이 어댑터는 상기 랜덤 억세스 메모리에 접속된 메모리 캐시를 더 포함하고,
    상기 저장된 어드레스와 일치하지 않는 명령어 어드레스를 가진 메모리-판독 명령어를 처리하는 단계는 상기 메모리 캐시로부터 상기 정보를 입수하는 단계를 포함하는
    머신 판독가능 매체.
  10. 다수의 위치(locations) - 여기서, 상기 각각의 위치는 디스플레이 영상의 하나 또는 그 이상의 픽셀의 디스플레이 속성을 나타내는 다수의 비트를 저장할 수 있음 - 를 포함하는 랜덤 억세스 메모리;
    상기 랜덤 억세스 메모리에 접속되어, 상기 랜덤 억세스 메모리 내의 한 위치에 저장된 디지탈 정보를 래치할 수 있는 래치; 및
    상기 랜덤 억세스 메모리 및 상기 래치에 접속되어, 메모리-판독 명령어를 나타내는 명령어 신호에 응답하여 출력 신호를 생성하기 위한 제어 수단 - 여기서, 상기 출력 신호는 상기 메모리-판독 명령어에 의해 명시된 상기 랜덤 억세스 메모리 내의 특정 위치에 저장된 디지탈 정보를 나타내고, 상기 제어 수단은, 상기 메모리-판독 명령어가 상기 래치 내의 정보에 대응하는 위치에 있는 상기 랜덤 억세스 메모리 내의 정보를 요구할 때마다, 상기 랜덤 억세스 메모리에 대한 억세스 없이 상기 래치 내의 정보에 응답하여 상기 데이터 신호를 생성함 -
    을 포함하는 디스플레이 어댑터.
  11. 제 10 항에 있어서,
    상기 랜덤 억세스 메모리는 다수의 평면으로 편제되고, 각각의 위치는 상기 디스플레이 영상의 각각의 픽셀의 디스플레이 속성을 나타내는 정보를 저장하며, 각각의 위치의 각각의 평면은 하나 또는 그 이상의 비트를 저장할 수 있는
    디스플레이 어댑터.
  12. 제 10 항에 있어서,
    상기 랜덤 억세스 메모리 및 상기 제어 수단에 접속된 메모리 캐시를 더 포함하고,
    상기 제어 수단은, 상기 메모리-판독 명령어가 상기 래치 내의 정보에 대응하는 위치에 있는 상기 랜덤 억세스 메모리 내의 정보를 요구할 때마다, 상기 메모리 캐시에 대한 억세스 없이, 상기 래치 내의 정보에 응답하여 상기 출력 신호를 생성하는
    디스플레이 어댑터.
  13. 정보 처리 시스템에 있어서,
    정보 처리 장치;
    명령어 입력, 데이터 입력, 데이터 출력 및 영상 출력을 구비한 디스플레이 어댑터 - 여기서, 상기 명령어 입력, 데이터 입력 및 데이터 출력은 상기 정보 처리 장치에 접속됨 - ; 및
    상기 디스플레이 어댑터의 상기 영상 출력에 접속된 디스플레이 장치
    를 포함하고,
    상기 디스플레이 어댑터는,
    다수의 위치(locations) - 여기서, 상기 각각의 위치는 상기 디스플레이 장치에 디스플레이될 영상의 하나 또는 그 이상의 픽셀의 디스플레이 속성을 나타내는 다수의 비트를 저장할 수 있음 - 를 포함하는 랜덤 억세스 메모리; 및
    상기 다수의 위치에 대한 판독 억세스를 위해 상기 랜덤 억세스 메모리에 접속되며, 상기 명령어 입력에서 수신되는 메모리-판독 명령어 신호에 응답하여 상기 데이터 출력에서 데이터 신호를 생성할 수 있는 제어 회로 - 여기서, 상기 데이터 신호는 각각의 위치에 저장된 디지탈 정보를 나타내고, 상기 제어 회로는 또한, 상기 랜덤 억세스 메모리에 접속되어 상기 디지탈 정보를 래치할 수 있고, 또한, 여기서, 상기 명령어 입력에서 수신되는 후속 메모리-판독 명령어 신호에 응답하여, 상기 제어 회로는, 상기 후속 메모리-판독 명령어 신호가 상기 각각의 위치에 저장된 상기 랜덤 억세스 메모리 내의 정보의 판독을 요구할 때마다, 상기 랜덤 억세스 메모리에 대한 억세스 없이 상기 래치 회로에 래치된 정보에 응답하여 상기 데이터 신호를 생성할 수 있음 -
    를 포함하는 정보 처리 시스템.
  14. 제 13 항에 있어서,
    상기 랜덤 억세스 메모리는 다수의 평면으로 편제되고, 각각의 위치는 상기 디스플레이 영상의 각각의 픽셀의 디스플레이 속성을 나타내는 정보를 저장하며, 각각의 위치의 각각의 평면은 하나 또는 그 이상의 비트를 저장할 수 있는
    정보 처리 시스템.
  15. 제 13 항에 있어서,
    상기 랜덤 억세스 메모리와 상기 제어 회로 사이에 삽입된 메모리 캐시
    를 더 포함하는 정보 처리 시스템.
KR1019980709532A 1997-03-25 1998-03-24 Vga에 순응하는 비디오 디스플레이 어댑터와의 효율적인 메모리-판독 연산을 위한 방법 및 장치 KR20000015972A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82412897A 1997-03-25 1997-03-25
US8/824,128 1997-03-25

Publications (1)

Publication Number Publication Date
KR20000015972A true KR20000015972A (ko) 2000-03-25

Family

ID=25240660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980709532A KR20000015972A (ko) 1997-03-25 1998-03-24 Vga에 순응하는 비디오 디스플레이 어댑터와의 효율적인 메모리-판독 연산을 위한 방법 및 장치

Country Status (5)

Country Link
EP (1) EP0927387A2 (ko)
JP (1) JP2001505674A (ko)
KR (1) KR20000015972A (ko)
CN (1) CN1220753A (ko)
WO (1) WO1998043154A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005351920A (ja) * 2004-06-08 2005-12-22 Semiconductor Energy Lab Co Ltd 表示装置の制御回路及びそれを内蔵した表示装置・電子機器並びにその駆動方法
US7705821B2 (en) 2005-01-31 2010-04-27 Semiconductor Energy Laboratory Co., Ltd. Driving method using divided frame period

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672368A (en) * 1985-04-15 1987-06-09 International Business Machines Corporation Raster scan digital display system
EP0228745A3 (en) * 1985-12-30 1990-03-28 Koninklijke Philips Electronics N.V. Raster scan video controller provided with an update cache, update cache for use in such video controller, and crt display station comprising such controller
EP0536414B1 (en) * 1991-04-15 1998-09-02 Oki Electric Industry Company, Limited Apparatus for processing image
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US5579473A (en) * 1994-07-18 1996-11-26 Sun Microsystems, Inc. Interface controller for frame buffer random access memory devices

Also Published As

Publication number Publication date
JP2001505674A (ja) 2001-04-24
EP0927387A2 (en) 1999-07-07
WO1998043154A3 (en) 1998-11-05
CN1220753A (zh) 1999-06-23
WO1998043154A2 (en) 1998-10-01

Similar Documents

Publication Publication Date Title
US5251298A (en) Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses
US5764243A (en) Rendering architecture with selectable processing of multi-pixel spans
US5764228A (en) Graphics pre-processing and rendering system
US6025853A (en) Integrated graphics subsystem with message-passing architecture
US6002411A (en) Integrated video and memory controller with data processing and graphical processing capabilities
US5815166A (en) Graphics subsystem with slaveable rasterizer
US5754191A (en) Method and apparatus for optimizing pixel data write operations to a tile based frame buffer
US6847369B2 (en) Optimized packing of loose data in a graphics queue
US7791601B2 (en) Efficient object storage for zone rendering
US5623624A (en) Memory control architecture for high speed transfer options
JP3734226B2 (ja) 圧縮され、ワード整合されたビットマップを高速ブロック転送する方法および装置
EP0279227B1 (en) Raster display vector generator
US5678037A (en) Hardware graphics accelerator system and method therefor
US5477242A (en) Display adapter for virtual VGA support in XGA native mode
US6072508A (en) Method and apparatus for shortening display list instructions
US5678063A (en) System and method for performing efficient random write operations
US6031550A (en) Pixel data X striping in a graphics processor
CN115101025B (zh) 一种支持虚拟帧缓冲的lcd控制电路及其控制方法
US5727139A (en) Method and apparatus for minimizing number of pixel data fetches required for a stretch operation of video images
KR20000015972A (ko) Vga에 순응하는 비디오 디스플레이 어댑터와의 효율적인 메모리-판독 연산을 위한 방법 및 장치
US20060092163A1 (en) Rendering images on a video graphics adapter
US5999200A (en) Method and apparatus for automatically controlling the destination of a graphics command in a register file
US5555460A (en) Method and apparatus for providing a reformatted video image to a display
JP2628621B2 (ja) データ処理システムおよび文字表示方法
US5734873A (en) Display controller with accelerated drawing of text strings

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application