KR19990022755A - 다단 우선순위 방식에 따른 디스플레이 메모리 액세스 중재를 포함하는 디스플레이 제어기를 구비한 컴퓨터 시스템 - Google Patents

다단 우선순위 방식에 따른 디스플레이 메모리 액세스 중재를 포함하는 디스플레이 제어기를 구비한 컴퓨터 시스템 Download PDF

Info

Publication number
KR19990022755A
KR19990022755A KR1019970709197A KR19970709197A KR19990022755A KR 19990022755 A KR19990022755 A KR 19990022755A KR 1019970709197 A KR1019970709197 A KR 1019970709197A KR 19970709197 A KR19970709197 A KR 19970709197A KR 19990022755 A KR19990022755 A KR 19990022755A
Authority
KR
South Korea
Prior art keywords
dram
display
access
data
request
Prior art date
Application number
KR1019970709197A
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 KR19990022755A publication Critical patent/KR19990022755A/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/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1431Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using a single graphics controller
    • 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/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor

Landscapes

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

Abstract

컴퓨터 시스템은 컴퓨터 시스템의 사용자에게 시각적인 디스플레이를 제공하기 위한 음극선관(CRT) 또는 액정 디스플레이(LCD)같은 하나 또는 그 이상의 디스플레이 장치를 포함한다. 컴퓨터 시스템은 그래픽 생성기를 가진 영상 디스플레이 제어기(VDC)를 포함한다. 이 VDC는 프로세서(CPU)에 의해 생성되거나 또는 컴퓨터 시스템의 (CD-ROM같은) 도다른 장치에서의 CPU에 의해 검색된 텍스트 또는 그래픽 같은 이미지 정보를 수신하고, CRT 또는 LCD 디스플레이중 하나 또는 모두를 구동하는 신호를 제공한다. VDC는 VDC와 인터페이스되는 동적 입의 접근 메모리(DRAM)를 위한 시퀀스 및 제어기(SEQC)를 포함한다. SEQC는 DRAM으로 접근을 위한 컴퓨터 시스템의 다양한 장치로부터 요구를 중재하고, 다단 우선순위 방식에 따라 이들 접근을 용이하게 한다. 따라서, DRAM으로의 더 효율적인 접근은 컴퓨터 시스템의 다양한 장치 및 DRAM의 이용성과 DRAM에 대한 액세스를 위해 대기하는데 필요한 시간에 관하여 보증되어 있다.

Description

다단 우선순위 방식에 따른 디스플레이 메모리 액세스 중재를 포함하는 디스플레이 제어기를 구비한 컴퓨터 시스템
종래 버스 중재 회로는 Ralph L.Adcock에게 1984년 6월 5일 발행된 미국 특허 4,453,214호(이하, 214특허라 함)와 관련하여 알려져 있다. '214특허에 따르면, 버스 중재기(bus arbitrator) 및 메모리 관리기(bus manager)(BAMM)는 컴퓨터 시스템의 경합하는 동작 유닛 사이의 우선 순위를 학립한다. BAMM은 우선 순위에 따라 메모리에 대한 액세스 요구를 분류하고, 가장 높은 우선 순위 액세스를 갖는 장치가 다른 장치에 우선하게 한다. 일단 메모리에 대한 액세스가 그 장치에게 허용되면, 이 액세스에 대한 인터럽트는 더 높은 우선 순위를 갖는 다른 장치로부터의 액세스 요구가 '214 특허의 BAMM에 의해 수신되더라도 허용되지 않음을 나타낸다. 메모리 액세스를 차지해온 장치가 이러한 액세스를 종료할 때, 사인 오프(sign off) 신호를 제공하므로써, BAMM은 액세스를 요구하고 가장 높은 우선 순위를 갖는 장치에 메모리 액세스를 허용하게 한다.
'214 특허에 기재된 종류의 BAMM에 의하면, 디스플레이 FIFO가 디스플레이를 위한 정보를 거의 또는 완전히 소진한 경우에 컴퓨터 시스템의 디스플레이 FIFO는 필시 DRAM에 대한 액세스가 거절될 수 있다. 따라서, 컴퓨터 시스템의 디스플레이 동작의 연속이 인터럽트될 수 있다. 명백히, 이러한 형태의 디스플레이 인터럽트는 컴퓨터 시스템의 사용자에게 걱정과 혼동을 줄 것이다.
그래픽 컨트롤러 및 디스플레이 컨트롤러를 갖는 다른 종래 그래픽 시스템은 Jeam-Michel Callemyn에게 1991년 2월 5일 허여된 미국 특허 4,991,112호(이하, '112 특허라 함)에 관하여 알려져 있다. '112 특허에 의하면, DRAM 컨트롤러는 리프레쉬(refresh) 요구와 DRAM에 대한 액세스 요구를 돌발적으로 수신하고, 그 요구들을 중재한다. 디스플레이 단계 동안, 예비 판독한 후, 디스플레이 FIFO에게는 가장 큰 우선 순위가 주어진다. FIFO가 가득찬 경우에 돌발적으로 DRAM의 판독은 인터럽트될 수 있다. 이 경우, 가능한 예비 판독에 우선권(priority)이 주어진다. 예비 판독 요구가 없을 때, CPU에 의한 요구가 이행되어 DRAM에 대한 액세스가 CPU를 위해 실행될 것이다. 그러나, FIFO가 액세스 요구를 하자마자, CPU 액세스는 인터럽트되고, FIFO에 대해 돌발적으로 이전에 인터럽트된 판독이 재개된다. 라인리턴 단계 동안, 상이한 우선 순위가 DRAM에 대한 액세스를 위해 설정된다. 즉, DRAM을 리프레쉬함에 가장 높은 우선 순위가 부여되고, 디스플레이 FIFO의 충진(filling)이 그 다음이다. 세 번째 우선 순위는 그래픽 프로세서로부터의 액세스 요구에 따르고, 그 다음은 CPU에 대한 액세스이다. 그러나, 상술한 인트럽트 이외에, '112 특허는 이 액세스가 일단 허용되면 DRAM에 대한 액세스의 인터럽트를 허용한다고 생각되지 않는다. 또한, '112 특허에 의해 허용되는 인터럽트는 FIFO가 가득차 있기 때문에 FIFO의 데이터가 새로운 데이터에 의해 오버라이트(overwrite)되는 것을 방지하기 위해 필요한 본래의 인터럽트이다.
버스 중재 방법을 갖는 또 다른 종래 DRAM 리프레쉬 컨트롤러는 Tzoyao Chan 및 Milton Cheung에게 1994년 9월 6일 허여된 미국 특허 5,345,577호(이하, '577특허라 함)에 따라 알려져 있다. '577 특허에 따르면, 캐쉬 컨트롤러는 버스트 및 히든 리프레쉬 모드를 모두 갖추고 있다. 임의의 수의 이들 요구가 수신될 때까지 리프레쉬 요구는 카운트되지만 메모리 액세스를 허용하는 것에 의해 실행되지 않는다. 한편, 리프레쉬가 실행되는 동안 히든 리프레쉬는 CPU로 홀드 신호를 송출하지 않고 실행된다. 리프레쉬가 완료될 때까지 원격 메모리 액세스가 아닌 로컬 메모리 액세스는 허용된다. 따라서, CPU는 히든 리프레쉬 동안 메모리 액세스가 거부되지만, 어쨋든 히든 리프레쉬가 CPU 동작을 간섭하지 않도록 메모리에 대한 즉각적인 액세스(immediate access)를 기대하지 않을 것이다. 일단 승인된 메모리 액세스의 인터럽션은 이 특허의 특징상에 드러나지 않는다.
일반적으로 고려할 때, 통상 상술한 VDC 등의 그래픽 컨트롤러에 있어서, 시스템의 몇몇 장치들 간의 DRAM 인터페이스(액세스)를 중재하는 것은 컨트롤러의 가장 중요한 부분이다. DRAM에 대한 액세스는 비트-BLT 엔진, 디스플레이 FIFO 및 로컬 버스(즉, CPU) 등의 장치가 DRAM에 대한 액세스를 갖는 방법 및 시기를 명령한다. CPU 및 비트-BLT 엔진에 의한 액세스 요구는 상호 배타적이고, 동시에 발생하지 않을 것이다. 통상, DRAM에 대한 액세스가 하나의 장치에 대하여 중단되고 다른 장치에 대해 허용될 때마다, DRAM의 새로운 페이지가 액세스되어야 한다. 즉, DRAM은 기억 장소들의 2차원적인 어레이로 가시화될 수 있다. 이러한 메모리는 행 포인터 및 열 포인터를 가지는 기억 장소(또는 메모리 셀)의 행과 열을 이용한다. 메모리 액세스가 메모리의 하나의 행에 대하여 이루어지는 한, 데이터가 그 행의 어드레스 위치에 기록되거나 또는 그곳으로부터 판독될 때 열 포인터를 그 행을 따라 단순히 이동하면, 메모리에 대한 단일 페이지 액세스가 수행되고, 페이지 브레이크가 필요없다. 그러나, 메모리의 다른 행(즉, 다른 페이지)이 액세스되어야 할 때, 다음 행의 기억 장소 액세싱에 대한 준비로서 프리-페이지 시퀀스가 실행되어야 한다. 이 프리-차지 시퀀스는 시간이 걸리므로, 메모리에 대한 멀티-페이지 액세스는 그러한 메모리 액세스의 기간 동안 메모리에 기록 또는 판독되는 데이터의 양에 관하여 단일-페이지 액세스 보다 절대로 효과적인 것이 아니다.
따라서, DRAM에 대한 페이지-모드 액세스는 랜덤 액세스에 요구되는 수 많은 페이지 브레이크(page break) 때문에 DRAM에 대한 랜덤 액세스보다 시간 이용에 관하여 더욱 더 효과적이다. 페이지-모드가 DRAM에 유지되지 못할 때, 메모리 셀에 데이터를 기록하거나 또는 그곳으로부터 데이터를 판독하기 위해 요구되는 기간에 부가하여 DRAM의 또 다른 상이한 페이지에 대한 액세스를 허용하기 위해서는 적어도 하나의 준비 프리-차지 사이클이 실행되어야 한다. 비트-BLT를 위해 DRAM에 대한 액세스가 허용될 때, 이들 액세스는 통상 상당한 시간을 소비하는 멀티-페이지 액세스이지만, 이들 액세스 요구는 DRAM에 대한 즉각적인 액세스가 승인되는 것을 요구하지 않는다. 한편, DRAM에 대한 CPU(로컬 버스) 액세스는 통상 단일-페이지 액세스이고, 비트-BLT 액세스보다 상당히 적은 시간을 요구하며, 또한 즉각적인 액세스의 요구결과를 요구하지 않는다. 그러나, CPU가 DRAM 액세스를 대기할 것이 요구될 때, 시스템 처리능력은 감소되고, 컴퓨터 시스템의 WINMARKS(산업 표준 성능 벤치 마크(industry standard performance bench marks))도 감소된다.
또한, 그래픽 컨트롤러의 디스플레이 FIFO도 DRAM 액세스를 요구하며, 하단에서 일정한 속도로 배출하고 단지 때때로 상단에서 다시 채워지는 물(데이터) 저장 탱크로 상상될 수 있다. 이 디스플레이 FIFO는 디스플레이 장치(즉, 예를 들면 CRT 또는 LCD)로 송출된 화상 정보를 저장한다. 디스플레이 FIFO로부터의 데이터 배출속도는 디스플레이 동작의 모드에 좌우된다. 디스플레이가 화소당 4 비트를 요구하는 그레이-스케일(grey-scale) 모드로 동작하고 있으면, 디스플레이 FIFO는 매우 빠르게 배출하지 않을 것이다. 반면에, 사용자가 디스플레이를 컬러 모드로 조작하고 있으면, 디스플레이의 각 화소는 8비트, 또는 16비트 또는 가능하다면 16비트 이상의 정보를 요구할 수 있고, 디스플레이 FIFO는 그에 대응하여 더 빠르게 배출할 것이다.
디스플레이 FIFO가 다시 채워질 때, 재충진속도는 배출속도 보다 훨씬 더 높다. 그러나 재충진은 DRAM에 대한 액세스를 요구하는 다른 동작의 허용으로 인해 간헐적이며 인터럽트될 수도 있다. 또한, FIFO가 재충진되고 있는 동안, 완전 더블-워드의 데이터가 DRAM으로부터 입력되어야 하는 것은 물론이다. 디스플레이 FIFO의 상부에 특정 시간에 입력되는 최종의 완전 더블-워드의 데이터 모두를 수용하기에 충분한 방이 없으면, 기존 데이터의 일부는 오버라이트되어 상실된다. 관례대로, FIFOLO 요구(DRAM 액세스에 대한 낮은 우선 순위 요구)는 디스플레이 장치로 송출되기를 기다리는 기존의 데이터를 오버라이트하는 일 없이, 디스플레이 FIFO가 상부에 적어도 하나의 더블-워드의 새로운 데이터를 위한 공간을 가짐과 동시에 디스플레이 FIFO에 의해 DRAM 컨트롤러로 발부된다.
따라서, DRAM에 대한 하나 이상의 액세스가 FIFOLO 요구에 응답하여 디스플레이 FIFO에 승인될 수 있다. 이 요구는 FIFO가 충진될 때까지 클리어되지 않는다. 디스플레이 FIFO가 FIFOLO 요구에 응답하여 적절히 재충진되지 않으면, 디스플레이 FIFO가 디스플레이에 대하여 그의 최종 더블-워드의 데이터를 기록하기 시작함과 동시에 DRAM에 대한 액세스 FIFOHI 요구가 발부될 것이다. 이 FIFOHI 요구는 즉시 이행될 것이다. 또한, FIFOHI 요구는 FIFO가 완전히 충진될 때까지 클리어 되지 않을 것이다. 따라서, 종래의 DRAM 컨트롤러는 FIFOHI 요구가 발부된 이후에 FIFOLO 및 FIFOHI 모두를 동시에 클리어한다. 또한, 이들 DRAM 액세스 요구는 FIFO가 새로운 데이터로 완전히 충진될 때까지 관례대로 클리어되지 않을 것이다.
도 1의 라인 1은 디스플레이 FIFO와 비트-BLT 엔진 사이에서 교번하는 VDC의 DRAM에 대한 액세스의 이상화된 시퀀스를 도시한 타이밍도이다. 도 1의 라인 2도 디스플레이 FIFO 및 CPU에 의한 DRAM에 대한 액세스의 이상화된 시퀀스를 도시한 것이다. 이들 이상화된 타이밍도는 비트-BLT도, CPU도 DRAM 액세스를 위해 대기하도록 요구되지 않고, DRAM이 유휴 시간을 갖지 않으며, 승인된 액세스가 비트-BLT에 비하여 상대적으로 길어서 멀티-페이지 액세스가 실생될 수 있는 것을 도시하고 있다. 종래 컴퓨터 시스템 그래픽 컨트롤러는 그러한 DRAM 액세스의 이상화된 관리를 달성하지 않는다.
또한, 실제 컴퓨터 시스템 그래픽 컨트롤러(즉, VDC)에 있어서, DRAM에 대한 액세스 및 실제로 승인된 DRAM에 대한 액세스 요구의 시퀀싱은 이상화되지 않는다. 따라서, 가설의 도 2(종래기술로 명시된)는 실제의 종래 컴퓨터 시스템 그래픽 컨트롤러에서 경험될 수 있을 것 같은 타이밍도를 도시하고 있다. 도 2를 참조할 때, 이 그래프의 3개의 시간 라인의 첫 번째는 각각 CPU로부터의 DRAM에 대한 액세스 요구를 나타내고 있다. 다음 2개의 라인은 디스플레이 FIFO로부터의 액세스 요구를 나타내는 것으로, 첫 번째로 낮은 우선 순위 기준(FIFOLO)은 기존의 데이터를 오버라이트하는 일없이 적어도 하나의 더블-워드의 새로운 정보를 기록할 수 있는 디스플레이 FIFO가 디스플레이 정보를 충분히 비우는 것을 나타내고, 두 번째로 높은 우선 순위 기준(FIFOHI)은 디스플레이 FIFO가 그의 최종 더블-워드의 정보를 사용하고 있어서 디스플레이 장치(즉, 예를 들면, CRT 또는 LCD)에 의해 사용자에게 제공될 정보를 완전히 소진할 위험에 있음을 나타낸다. 이들 FIFOLO 및 FIFOHI 요구는 디스플레이 FIFO에게 DRAM 액세스가 승인되어 FIFO가 데이터로 완전히 충진될 때까지 클리어(즉, 제거 또는 중단)되지 않는다. 이러한 종래 그래픽 컨트롤러에 있어서, 가장 높은 우선 순위의 DRAM에 대한 액세스는 심지어 CPU 또는 컴퓨터 시스템의 다른 장치에 이미 승인된 액세스를 인터럽트하고, 디스플레이 FIFOHI 요구에 허용된다.
도 2를 고려할 때, 구간 #1동안, CPU는 DRAM 액세스가 승인되어 사인 오프한다. 구간 #2 동안, DRAM은 유휴상태이다. 구간 #3의 시작은 비어 있는 디스플레이 FIFO에 대한 디스플레이 그래픽 처리의 기동 및 FIFOLO 및 FIFOHI 요구의 동시 발부를 나타낸다. FIFOHI 요구는 이행되지만, 이들 요구(FIFOLO 및 FIFOHI)는 디스플레이 FIFO가 데이터로 완전히 충진될 까지 클리어되지 않는다. 그 결과, 구간 #4의 시작은 FIFOHI 요구가 클리어될 때까지 이행되지 않는 DRAM 액세스를 위한 CPU로부터의 요구를 나타낸다. 구간 #4는 CPU의 대기 시간을 나타낸다. 구간 #4의 끝은 FIFOLO 및 FIFOHI 모두의 동시 클리어를 나타내고, 구간 #5의 시작은 CPU에게 DRAM 액세스가 마침내 승인되는 것을 나타낸다. 구간 #9는 DRAM 액세스를 위한 디스플레이 FIFO로부터 FIFOLO 요구의 발부를 나타낸다. FIFOLO 요구에 응답하여 디스플레이 FIFO에 불충분한 데이터가 제공되므로(예를 들면, 비트-BLT 등의 다른 장치가 DRAM 액세스를 하고 있을 수 있으므로, FIFOLO 요구가 충분히 이행되지 않음), 디스플레이 FIFO는 구간 #10의 시작에서 FIFOHI 요구를 발부한다. 이 FIFOHI 요구는 #10 구간 동안 즉시 이행된다. 그러나, 다른 구간(구간 #10) 동안은 CPU가 DRAM을 액세스하는 것이 거부된다. 구간 #10의 끝에서, FIFOLO 및 FIFOHI 요구는 모두 동시에 클리어되고, CPU에 DRAM 액세스가 승인된다.
또한, 도 2는 DRAM이 때때로 유휴상태(구간 2, 6, 8)로 되고 디스플레이 FIFO가 DRAM에 대한 액세스를 기다리는(구간 4, 9, 10)종래 중재 방법을 도시하고 있다. 일단 FIFOLO 요구가 이루어지면, 디스플레이 FIFO가 디스플레이를 위해 그의 데이터 완전히 소진할 더 이상의 즉각적인 위험이 없을 정도로 충분한 데이터를 수신하였다고 하더라도, DRAM에 대한 액세스가 CPU에게 승인되기 전에 디스플레이 FIFO가 완전히 충진될 때까지 CPU는 대기할 것이 요구된다. 이러한 종래의 그래픽 컨트롤러는 DRAM에 대한 페이지 모드 유지에도 실패하고 컴퓨터 시스템의 처리능력 감소시킨다.
따라서, 그래픽 컨트롤러의 DRAM에 대한 액세스를 중재하는 더욱 효과적이고 효율적인 방식이 필요하다는 것이 인식되었다.
본 발명은 일반적으로 하나 또는 그 이상의 디스플레이를 구비한 컴퓨터 시스템에 간한 것으로서, 예를 들면 음극선관(CRT) 또는 액정 디스플레이(LCD)와 같은 디스플레이 장치를 구비한 컴퓨터 시스템에 관한 것이다. 디스플레이 장치들은 컴퓨터 시스템의 사용자에게 텍스트 또는 그래픽과 같은 컴퓨터 데이터의 가시적인 디스플레이를 제공한다. 특히, 본 발명은 컴퓨터 시스템에 대한 그래픽 발생기, 및 영상 디스플레이 제어기(VCD)를 구비하는 컴퓨터 시스템 분야에 관한 것이다. 버스 인터페이스를 통해, 영상 디스플레이 제어기(VDC)는 프로세서(CPU)에 의해 발생되거나 컴퓨터 시스템의 시디-롬(CD-ROM)같은 다른 장치(facility)로부터 중앙 처리 장치(CPU)에 의해 검색된 텍스트 또는 그래픽과 같은 이미지 정보를 수신하며, 음극선관(CRT) 또는 액정 디스플레이(LCD)들중 하나 또는 모두를 구동하는 신호들을 제공한다.
특히, 본 발명은 영상 디스플레이 제어기(VDC)의 다이나믹 랜덤 액세스 메모리(DRAM)를 위한 시퀀서 및 제어기(SEQC)를 갖는 VCD의 분야에 간한 것이다. CRT 또는 LCD에 디스플레이될 이미지 정보는 선입선출(FIFO) 타입의 영상 메모리에 전송된 준비상태에서 DRAM에 저장된다. FIFO 및 CPU 뿐만아니라, 비트 블록 전송 엔진(bit-BLT)과 같은 컴퓨터 시스템의 다른 장치들(즉, 그래픽 발생기) 또한 DRAM에 액세스를 요구한다. SEQC는 컴퓨터 시스템의 다양한 장치들에 의해 DRAM에 액세스 하기 위한 요구들을 중재하며, 디스플레이 FIFO가 디스플레이를 위한 데이터에 의해 되지 않고, 컴퓨터 시스템의 다른 장치들에 DRAM에 대한 가장 효율적인 액세스가 제공되는 것을 둘다 보장하기 위해 이러한 액세스를 위한 요구들에 우선순위를 정한다.
관련 특허출원 참조
본 발명의 기술내용은, 모두 1995.6.7에 출원된 Computer System with Double Simultaneous Displays Showing Differing Display Image라는 명칭의 미합 중국 특허 출원 제 08/486,796호, Display FIFO Module including a Mechanism for Issuing and Removing Requests for DRAM Access라는 명칭의 미합중국 특허 출원 제 08/485,876호, Computer System with Dual-Panel LCD Color Display라는 명칭의 미합중국 특허 출원 제 08/487,120호, 및 Computer System with Video Display Controller having Power Saving Modes라는 명칭의 미합중국 특허 출원 제 08/487,121호에 개시된 기술내용과 관련된 것이다.
도 1은 중앙 처리 장치(CPU) 및 비트 블록 전송(비트t-BLT) 엔진에 의한 다이나믹 랜덤 액세스 메모리에 대한 이상적인 액세스의 그래픽 표현을 제공하는 도면.
도 2는 종래 그래픽 컨트롤러를 갖는 종래 컴퓨터 시스템에서 경험할 수 있는 가설이 타이밍도.
도 3은 제 1화상을 디스플레이하는 LCD 디스플레이를 갖는 노트북형 컴퓨터 및 상이한 제 2화상을 표시하는 컴퓨터 시스템(10)의 디스플레이 장치로서 사용되는 텔레비젼을 포함하는 컴퓨터 시스템을 도시한 도면.
도 4는 도 1에 도시한 컴퓨터 시스템의 개략적 기능 블록도.
도 5는 이전 도면에 도시한 컴퓨터 시스템의 영상 디스플레이 컨트롤러(VDC)의 개략적 기능 블록도.
도 6은 이전 도면에 도시한 컴퓨터 시스템의 선입선출(FIFO) 디스플레이 메모리를 도시한 도면.
도 7은 본 발명의 컴퓨터 시스템의 시퀀서 및 컨트롤러(SEQC)의 개략적 기능 블록도.
도 8은 본 발명의 컴퓨터 시스템의 DRAM에 대한 액세스를 허용하기 위해 구현된 2계층의 우선 순위 중재 방식을 설명하는 표.
도 9는 DRAM에 대한 액세스를 중재함에 있어서 본 발명의 SEQC에 의해 구현되는 2개의 동시 실행 흐름도를 도시한 도면.
도 10은 본 발명의 컴퓨터 시스템의 다른 실시예의 DRAM에 대한 액세스를 허용하기 위해 구현된 3계층의 우선 순위 중재 방식을 설명하는 표.
도 11 및 도 12는 본 발명의 컴퓨터 시스템의 SEQC에 의해 실행되는 DRAM에 대한 액세스의 중재 결과를 설명하는 타이밍도.
종래 기술의 문제점을 고려하여, 본 발명의 하나의 목적은 이들 문제점 중 하나 이상을 회피하는 그래픽 컨트롤러를 갖는 컴퓨터 시스템을 제공하는 것이다.
본 발명의 다른 목적은 텍스트 또는 그래픽 등의 화상 정보를 수신하고 디스플레이를 구동하는 신호를 제공하는 영상 디스플레이 컨트롤러(video display controller : VDC)를 갖는 컴퓨터 시스템을 제공하는 것이다.
구체적으로, 본 발명은 CPU, 선입선출(FIFO) 형태의 영상 메모리, 비트-BLT 및 컴퓨터 시스템의 다른 장치들 사이에서 VDC의 다이나믹 랜덤 액세스 메모리(DRAM)에 대한 액세스를 중재하는 시퀀서 및 컨트롤러(SEQC)를 갖는 VDC를 제공하는 목적을 갖는다.
따라서, 본 발명은 VDC의 DRAM에 대한 액세스 요구 중의 우선 순위의 2계층 시퀀스를 구현하는 시퀀스-컨트롤러(SEQC)를 갖는 그래픽 컨트롤러가 있고, 상단의 각 요구가 DRAM에 대한 모든 하위 우선 순위 액세스의 인터럽트를 실행하도록 허용되고, 하단의 요구는 그러한 인터럽트를 실행하도록 허용되지 않은 컴퓨터 시스템을 제공하는 것이다. DRAM에 대한 액세스를 기다리는 요구및 인터럽트된 액세스는 2계층 우선 순위 방식의 우선 순위에 따라 큐에 배치된다. 그 결과, 컴퓨터 시스템의 여러 가지 장치에 의한 DRAM 액세스 요구에 할당된 우선 순위의 시퀀스 및 로직은 컴퓨터 시스템의 다른 장치에 의한 DRAM 액세스 인터럽트를 긍정 또는 부정하는 것과 함께, DRAM이 더욱 효과적으로 액세스되게 한다. 일부 동작 조건하에서, 비교적 긴 멀티-페이지 액세스를 필요로 하는 DRAM에 대한 액세스는 이러한 방식으로 구현될 것이고, 다른 동작 조건하에서, 액세스는 항상 더 간단한 액세스로 되어 DRAM에 대한 우선 순위 요구가 적절한 방식으로 구현되는 것이 보장될 것이다. 즉, 예를 들면 마우스 화상을 드로잉(drawing)하고 높은 우선 순위 기준으로 디스플레이 FIFO에 의한 액세스 요구는 항상 DRAM에 대한 즉각적인 액세스가 허용된다. 디스플레이 액세스 요구 및 마우스 화상 요구는 결코 동시에 발생하지 않는다.
다른 특징에 따르면, 본 발명은 컴퓨터 시스템의 사용자로부터 입력을 수신하기 위한 입력 장치; 상기 입력 장치와 인터페이스하고 디스플레이 데이터를 포함하는 출력을 생성하는 처리 기능을 수행함으로써 입력에 응답하는 중앙 처리 장치(CPU); 상기 CPU에 의해 이용된 명령 및 데이터의 기억 장소를 제공하기 위해 상기 CPU와 인터페이스하는 메모리 장치; 상기 CPU로부터 출력 응답을 수신하고 지각할 수 있는 출력 응답을 제공하는 출력 장치; 상기 디스플레이 데이터에 응답하여 사용자에게 가시적인 화상을 제공하는 디스플레이 장치를 포함하는 상기 출력 장치; 상기 가시적인 화상 부분을 제공하는 추가 디스플레이 데이터를 제공하기 위해 상기 출력 장치 및 상기 프로세서와 인터페이스하는 그래픽 발생기(GG)를 포함하는 영상 디스플레이 제어기(VDC); VDC를 통해 CPU와 인터페이스하고, 일시적 기억 장치에 대해 추가 디스플레이 데이터를 포함하는 디스플레이 데이터를 수신하며, 추가 디플레이 데이터의 제공 및 처리 기능에 사용되는 데이터의 일시 저장을 제공하기 위해 상기 CPU 및 상기 GG와 인터페이스하는 다이나믹 랜덤 액세스 메모리(DRAM); 상기 디스플레이 장치에 긴급하게 나타나는 부가적인 디스플레이 데이터를 포함하는 디스플레이 데이터를 수신하여 일시적으로 보류시키기 위한 상기 DRAM과 인터페이스하는 디스플레이 선입선출(FIFO) 메모리, 단지 간헐적으로 상기 DRAM으로부터 데이터를 수신하는 동안 일정한 용량을 가지고 상기 디스플레이 장치에 데이터를 지속적으로 제공하는 상기 디스플레이 FIFO, 상기 디스플레이 FIFO의 데이터 레벨이(FIFOLO) 포인터 이하인지 또는 (FIFOHI) 포인터 이하인지에 따라서 각각 낮은 우선순위기준(FIFOLO) 또는 높은 우선순위기준(FIFOHI)으로 DRAM으로의 액세스에 대한 요구를 발부하는 디스플레이 FIFO를 포함하는 상기 VDC; 상기 DRAM에 대한 액세스 요구들을 역시 각각 발부하는 각각의 CPU와 GG; 및 다단 우선순위는 하단 및 상단을 포함하고 우선순위에 따라 각 단내에 요구 등급을 분류하며, 하단 요구들은 기존의 DRAM 액세스를 인터럽트할 수 없고, 상단에서의 요구는 하위 등급을 갖는 요구 또는 하단 요구에 응답하여 SEQC에 의해 부여된 기존의 DRAM 액세스를 인터럽트할 수 있으며, 상기 DRAM에 대한 액세스를 위한 다단 우선순위에 따라 상기 CPU, 상기 GG 및 상기 디스플레이 FIFO간의 상기 DRAM에 대한 액세스를 중재하는 시퀀스 및 제어기(SEQC) 유니트를 포함하는 컴퓨터 시스템을 제공한다.
본 발명의 또 다른 목적 및 장점은 같은 참조 번호가 구조 또는 기능이 유사한 동일한 기능 또는 특징을 나타내는 첨부 도면과 관련하여 본 발명의 특정한 바람직한 실시예의 다음의 상세한 설명을 판독하는 것에서 명확하게 될 것이다.
도 3을 참조하면, 컴퓨터 시스템(10)은 노트북 컴퓨터(12)와, 케이블(16)을 거쳐 상기 노트북 컴퓨터와 인터페이스되는 추가 디스플레이 장치(14)를 포함한다. 추가 디스플레이 장치(14)는 종래 텔레비젼으로서 도시되어 있다. 본 발명 분야의 통상의 기술자는 텔레비젼이 NTSC 포맷의 신호를 수용하여 인터레이스된 화상을 디스플레이하는 것을 알 것이다. 또한, 컴퓨터 시스템(10)은 RGB 신호(그리고 수평 및 수직 동기 신호)를 사용하여 인터레이스되지 않은 화상(non-interlaced image)을 제공하는 종래 CRT 모니터와 인터페이스할 수 있다. 노트북 컴퓨터는 키보드(18), 플로피 디스크 드라이브(20) 및 트랙 볼(22) 등의 다양한 입력 장치를 포함한다. 본 발명 분야의 통상의 기술자는 트랙 볼이 본질적으로 정상 마우스 입력 장치인 것을 알 것이다. 컴퓨터 시스템(10)은 하드 디스크 드라이브, CD-ROM 및 시리얼 입력-출력(I/O) 포트 등의 추가 입력 장치를 포함할 수 있다. 이들 장치중 몇몇은 액정 디스플레이(24) 외에 컴퓨터 시스템(10)의 출력 장치로서 기능한다. 다음에 설명하는 바와 같이, 디스플레이(24)는 듀얼 패널형으로서 제공된다. 도시한 바와 같이, 노트북 컴퓨터는 멀티-타스크 동작을 실행하기 위해 사용되고 있다. 예를 들면, 노트북 컴퓨터(12)는 재무 분석을 수행할 수 있고, 그 데이터는 LCD(24)에 디스플레이되며, 그것의 그래픽 묘사는 CRT(14)에 디스플레이 된다.
도 4는 입력 장치가 하나의 대표적인 블록(26) 내에 모두 포함된 컴퓨터 시스템(10)의 개략적 블록도를 제공한다. 입력 장치는 메모리 장치(30)와의 인터페이스를 갖는 마이크로프로세서(28)와 인터페이스된다. 메모리 장치(30)는 플로피 디스크 드라이브(20)를 포함하고, 하드 디스크 드라이브, CD-ROM 및 다른 장치를 포함할 수 있다. 데이터 버스(32)는 마이크로프로세서(28)와 인터페이스하고, LCD 및 CRT 화상 디스플레이 장치(14, 24)를 포함하는 출력 장치와의 인터페이스를 제공한다. 컴퓨터 시스템(10)의 다른 출력 장치는 대표적인 블록(34) 내에 포함되어 있다. 화상 디스플레이 장치(14, 24)와의 인터페이스를 용이하게 하기 위해, 컴퓨터 시스템(10)은 버스(32)와 인터페이스하고 LCD(24) 및 CRT(14)에게 구동 신호를 제공하는 영상 디스플레이 컨트롤러(VDC)(36)를 포함한다. VDC는 도 4에서 개략적인 블록(38)으로 도시한 다이나믹 랜덤 액세스 메모리(DRAM)와의 인터페이스를 갖는다. 또한, VDC는 컴퓨터 시스템(10)의 전원 관리 장치(40)와의 인터페이스를 갖는다. 전용 클록(42)은 VDC(36)에게 기준 클럭 속도를 제공한다.
도 5를 참조하면, VDC(36)가 전용 클록(42)으로부터의 클럭 신호에 따르고 VDC의 영상부(46)에 클럭 신호를 제공하는 내부 클럭(44)을 포함한다. 내부 클럭(44)에 의해 제공된 클럭 신호는 화소 클럭(Pclk) 및 메모리 클럭(Mclk)을 포함할 수 있고, 그의 사용은 다음에 상세히 설명한다. 영상부(46)가 버스(32)와 그리고 마이크로프로세서(28)와 인터페이스하기 위해, 영상부(46)는 프로그래머블 호스트 인터페이스(48)를 포함한다. 호스트 인터페이스(48)는 다수의 종래 버스 구조와의 인터페이스를 위한 VDC(36)가 구성되도록 프로그램가능하다. 예를 들면, 호스트 인터페이스(48)는 종래 인텔 486DX 로컬 버스, VL-버스 및 PCI 인터페이스 버스와의 인터페이스를 위해 구성될 수 있다. 호스트 인터페이스(48)는 버스(32)와 VDC(36)의 VGA 코어부(50)를 인터페이스시킨다. 이 VGA 코어부(50)는 다음에 상세히 설명하는 시퀀서, 음극선관 컨트롤러(CRTC), 그래픽 컨트롤러, 속성 컨트롤러 및 종래 VGA 회로를 포함한다.
VGA 코어(50)가 텍스트, 그래픽 및 CRT 및 LCD에 디스플레이되는 다른 가시문자(예를 들면, 커서 및 아이콘 등)을 발생하여 제어하게 하기 위해, VGA 코어는 하드웨어 커서 발생기(52), 비트-BLT 엔진(54) 및 디스플레이 FIFO와 인터페이스된다. 추가의 2개 디스플레이 FIFO(56', 56)도 VGA 코어(50)와 인터페이스된다. 하나의 디스플레이 장치(LCD 또는 CRT)만을 지원하는 VDC(36)의 다른 실시예는 단일 디스플레이 FIFO만을 포함하는 것이며, 이하에서 상세히 설명된다. 두 개의 디스플레이 장치(하나의 LCD 및 하나의 CRT)를 지원하는 2개의 디스플레이 FIFO(56, 56')를 포함할 수 있다. 물론, 이 실시예도 LCD 또는 CRT형의 단일의 디스플레이 장치를 지원할 것이다. 다음에 설명하는 바와 같이, 디스플레이 FIFO(56) 및 추가의 2개 디스플레이 FIFO(56', 56)는 도 3을 참조하여 설명한 바와 같이, 표준 텔레비젼을 제 2디스플레이 장치로서 사용하여, 컴퓨터 시스템(10)의 2중 디스플레이 동작을 지원하기 위해 채용된다.
인터레이스된 화상을 제공하는 디스플레이 장치가 인터레이스되지 않은 화상을 디스플레이하기 위해 사용될 때, 통상적으로 화상은 많은 플리커(flicker)를 포함한다. 그러나, 컴퓨터 시스템(10)(VDC 36)은 인터레이스되지 않은 화상의 교대라인을 저장하고 또한 플리커없이 인터레이스된 화상으로서 디스플레이를 위해 텔레비젼(24)에 이들 화상의 교대 라인을 순차 공급하기 위해 채용되는 2개의 추가 디스플레이 FIFO(56', 56)를 포함한다. 따라서, 이하에서 디스플레이 FIFO(56)이 참조될 때, 이 참조는 디스플레이 FIFO(56', 56)도 포함한다. 다음에 상세히 설명하는 바와 같이, 하나의 디스플레이 FIFO만을 갖는 본 발명의 다른 실시예는 DRAM(38)에 대한 액세스 허용 결정시 단순한 결정 구조를 구현할 수 있다.
하드웨어 커버 발생기(52)는 마이크로프로세서(28) 상에서 실행하는 소프트 웨어 프로그램에 의해 제공되는 커서의 임의의 사전 선택된 이동 속도의 검출에 응답하여, 디스플레이 화면을 이리저리 이동함에 따라 더 용이하게 시각적으로 추종하게 하는 증가된 크기(즉, 예를 들면 정상의 2배)의 커서를 선택적으로 제공한다. 따라서, 컴퓨터 시스템(10)의 사용자가 프로그램의 커서를 이동시키기 위해 마우스 또는 키보드 키를 사용할 때, 이동 속도가 사전에 선택된 임계값에 도달하면, 커서는 2배 또는 더 크게 된다. 상술한 바와 같은 비트-BLT 엔진은 CRT 및 LCD 화면(14, 24) 상에 그래픽 및 다른 그러한 가시 문자를 제공하기 위해 발생된 비트의 블록 전송을 위해 마련된다.
특히, 비트-BLT 엔진은 이들 문자, 솔리드 필(solid fills), 수신지 역전(destination inversions) 및 패턴 필(pattern fills)을 나타내는 비트의 판독, 기록 및 블록 전송을 실행한다. 비트-BLT는 단색 화상의 기록을 가속하기 위한 텍스트 확장 뿐만 아니라 블록 전송된 문자의 경계에 있어서의 모든 데이터 정렬 및 마스킹을 실행한다. 상술한 바와 같이, 디스플레이 FIFO는 더블-워드 크기 단위 또는 레벨의 정수배로 정보 비트를 일시 저장하여, 디스플레이(14, 24)의 화소에 대한 이들 비트의 기록을 대기한다. 바람직하게는, 상기 디스플레이 FIFO(56)는 CRT 및 LCD(14, 24)로 송출되는 디스플레이 정보의 8개의 32비트 더블-워드를 저장하는 8단 FIFO이다.
하드웨어 커서 발생기(52), 비트-BLT(54) 및 디스플레이 FIFO(56) 각각은 DRAM 컨트롤러(58)와 인터페이스된다. 이 DRAM 컨트롤러(58)는 다음에 상세하게 설명되는 바와 같이 VDC(36)의 다른 부분을 포함하여, 컴퓨터 시스템(10)의 여러 기능 유닛에 의해 DRAM에 대한 액세스 요구를 중재하고 구현하는 것에 일반적으로 설명된 DRAM 컨트롤러/시퀀스의 기능을 구현한다. 도 5에서 알 수 있는 바와 같이, DRAM 컨트롤러(50)는 DRAM(38)과의 인터페이스를 갖는다. 도시의 단순화를 위해, DRAM(38)은 도 5에서 하나의 기능 블록으로서 도시되어 있다. 그러나, 본 발명 분야의 통상의 기술자는 이 DRAM이 하나 또는 다수의 DRAM 칩을 포함할 수 있는 것을 알 것이다. 디스플레이 FIFO(56)는 (VGA 컨트롤러(50) 및 DRAM 컨트롤러(58)을 거쳐) 팔래트 컨트롤러(60) 및 액정 디스플레이(LCD) 인터페이스 컨트롤러(62)와의 인터페이스를 갖는다. 팔래트 컨트롤러(60)는 디지털-아날로그 변환기(DAC)(61)와 인터페이스 한다. 팔래트 컨트롤러는 표준 256×18 VGA 팔래트를 구현하는 반면에, LCD 인터페이스 컨트롤러는 단색 모드 동작에서 프레임 변조 및 64 그레이 음영의 디더링(dithering)을 실행하고, 컬러 모드 동작에서 완전한 256K 컬러를 디더링하여 4K 컬러를 실행한다.
도 4에 도시한 구조의 설명을 마치기 위해, VDC(36)가 전력 강하 컨트롤러(64)를 포함하는 것에 유의한다. 이 전력 강하 컨트롤러 VDC(36) 내에 일반화된 상호 접속을 그 자체가 갖는 전력 강하 레지스터(65)와의 상호접속을 갖는다. 이러한 전력 강하 레지스터(65)의 일반화된 상호접속은 도 5에서 레지스터(65)에 출발하는 다수의 화살표로 도시되어 있다. 이들 전력 강하 레지스터(65)의 상호접속은 VDC(36)에 보급되어 다양한 동작 모드 및 그에 대응하는 전력 강하 모드를 위해 구성될 수 있도록 한다. 또한, 전력 강하 레지스터(65)는 컴퓨터 시스템(10)의 사용자에 의한 파라미터 세트의 제어하에, LCD 백 라이트 오프 및 LCD 디스플레이 오프 등의 전력 절약 기능 등을 용이하게 하기 위해 LCD(24)와의 인터페이스를 갖는다.
도 6을 참조하면, 디스플레이 FIFO(56)의 단순한 그래픽 표현이 도시되어 있다. 바람직하게는, 이 디스플레이 FIFO(56)는 8개의 32비트 더블-워드 또는 레벨의 용량을 갖는다. 이들 레벨은 도 6의 왼쪽을 따라 번호 1 내지 8로 나타내어져 있다. 다른 메모리 용량도 본 발명의 사상 및 범위를 이탈하지 않고 디스플레이 FIFO를 위해 채용될 수 있다. 이 디스플레이 FIFO의 하단으로부터, 디스플레이(14) 또는 (24)가 액티브인 동안, 데이터는 상술한 바와 같이 모드에 의존하는 속도(rate)로 디스플레이 장치로 연속적으로 배출된다.
상단에서, 디스플레이 FIFO는 (컴퓨터 시스템(10)의 다른 파라미터 뿐만아니라) VDC의 메모리 클럭 및 DRAM(38)의 스피드에 의존하는 속도로 간헐적으로 재충진된다. 디스플레이 FIFO의 이러한 재충진(refilling)은 다음에 상세히 설명하는 바와 같이 DRAM(38)의 이용도에 따라 중단되고 발생한다. 도 6의 그래픽 표현의 우측을 따라 이동가능한 2개의 포인터가 위치된다. 이들 포인터 중 하나(포인터(66))는 FIFO의 데이터 레벨이 상기 포인터 아래로 떨어질 때, FIFOLO 요구가 DRAM으로부터의 추가 데이터를 위하여 발부되는 것을 나타낸다. 이러한 포인터(66)는 4에서 7사이에서 허용될 수 있는 위치를 갖는다. 다른 포인터(68)는 DRAM(38)으로부터의 추가 데이터를 위한 FIFOHI 요구의 발부를 나타낸다. 포인터(68)는 0에서 7까지의 허용가능한 위치를 갖는다. 각 경우에 있어서, FIFOLO 또는 FIFOHI 요구의 발부는 FIFO(56)가 적어도 하나의 추가 더블-워드 레벨의 데이터를 받아들일 수 있는 것을 나타낸다.
FIFO(56)에 따른 포인터(68)의 위치는 FIFO가 데이터를 완전히 소진하지 않는 것을 보장하도록 데이터의 레벨 7보다 빨리 또는 제로 레벨 보다 늦은 시간에 FIFOHI 요구가 발부될 수 있게 하기 위해, 디스플레이(14) 및 (24)의 동작 모드 (FIFO(56)의 배출 속도를 나타냄) 및 이 FIFO의 가능한 충진속도(VDC의 화소 및 메모리 클럭의 간격, DRAM(38)의 스피드 및 다른 상호접속 간격 및 VDC의 데이터 전송 간격에 의해 결정됨)에 좌우된다. 앞서 지적한 바와 같이, FIFOHI가 발행될 때, DRAM(38)에 대한 다른 액세스는 인터럽트된다. 따라서, 디스플레이 FIFO가 느리게 배출되어 컴퓨터 시스템이 FIFO를 신속히 재충진할 수 있으며, 포인터(68)는 제로(0)로 설정될 수 있고 디스플레이가 데이터를 완전히 소진하지 않을 것이다.
포인터(66)의 위치는 디스플레이 동작의 모드 및 컴퓨터 시스템(10)의 유사한 파라미터에 좌우된다. 이 포인터는 가장 적은 수의 FIFOHI 요구가 발부되는 FIFO(56)의 조기 충진을 촉진하고 또한 컴퓨터 시스템의 다른 장치에게 DRAM(38)에 대한 최적의 액세스가 허용되도록 4에서 7까지의 범위로 설정될 것이다. 당연하게도, FIFOLO 요구에 대한 설정 포인트(포인터(68))는 FIFOHI 요구에 대한 경우만큼 중요하지 않고, 다음에 알 수 있는 바와 같이, 이 FIFOLO 요구 포인터의 레벨은 DRAM 컨트롤러(58)에 의해 구현되는 하단 우선순위 구조에 들어맞는다. 그러나, FIFOLO 요구는 FIFO 요구가 발부되지 않거나 또는 FIFOHI 요구 사이의 간격이 최대화되는 충분한 DRAM에 대한 액세스를 얻고자 하는 FIFO의 레벨로 발부된다.
다음에 알 수 있는 바와 같이, 어드레스 상태 머신은 FIFO(56)에 입력된 데이터의 새로운 레벨(더블-워드)을 계속 계수하고, 선택된 데이터 레벨 마다의 FIFO에서의 충진에 관하여, FIFOLO 또는 FIFOHI 요구를 제거하는 가의 여부에 대하여 결정이 이루어진다. FIFO(56)로부터의 데이터 요구가 클리어되는 일은 결코 없다. 디스플레이 FIFO는 FIFOLO 또는 FIFOHI 요구를 클리어하기 위해 완전히 충진될 필요가 없다.
도 7을 참조하면, 컴퓨터 시스템(10)의 다양한 장치와 DRAM 컨트롤러(58) 및 DRAM의 상호 접속에 대한 기능 블록도가 도시되어 있다. 블록내 번호 70은 VDC(38)의 클럭(도 5에서는 Drclk로 나타냄)에 의해 일정하게 반복하는 시간 간격으로 요구가 발행되는 DRAM 리프레쉬 사이클에 대하여 가능한 요구를 나타낸다. 따라서, 이 요구의 수신은 확실하다. 다른 요구와 이 요구의 타임-시퀀싱은 불확실하다. 마찬가지로, 블록내 번호 72는 LCD 컨트롤러(62)(도 5에서는 (62')로 나타냄)의 하프-프레임 버퍼에 의한 DRAM에 대한 가능한 액세스 요구를 나타낸다. 이 하프-프레임 버퍼는 LCD(24)의 패널에 기록되는 화소값을 수신하고 DRAM(38)에 일시적으로 저장한다. 화소값이 리프레쉬될 필요가 있을 때, 패널 중 하나는 LCD 컨트롤러(62)를 거쳐 그의 관련된 디스플레이 FIFO로부터 프레쉬 정보를 수신한다. 다른 패널은 하프-프레임 버퍼(62')에 의해 이전에 일시적으로 DRAM에 저장되었던 반복하는 이전 화소값을 수신한다.
LCD(24)의 패널은 디스플레이 FIFO와 하프-프레임 버퍼(62')로부터 프레쉬 화상 데이터를 교대로 수신하고, 하프 프레임 버퍼는 디스플레이(24)의 2개의 패널 중 다른 패널이 프레쉬 화상 데이터를 수신하고 있는 동안 특정 패널을 리프레쉬하기 위해 사용되도록 DRAM(38)에 프레쉬 화소값을 일시적으로 저장한다. 이러한 하프-프레임 버퍼는 제한된 양의 내부 메모리를 갖는다. 따라서, DRAM(38)에 대한 메모리 액세스 동안, 하프-프레임 버퍼(62')는 디스플레이(24)상의 몇몇 화소의 리프레싱을 제공하는데 충분한 화소값을 수신할 것이다. 하프-프레임 버퍼는 LCD(24)의 화소를 리프레싱하는데 사용하기 위한 하프-프레임 버퍼의 제한 메모리 용량에 남아있는 데이터량에 따라 FRAMELO(낮은 우선 순위) 또는 FRAMEHI(높은 우선 순위) 기준으로 DRAM에 대한 액세스 요구를 발부한다.
블록(28)내의 번호 74는 DRAM(38)에 대한 액세스를 위해 CPU(28)에 의해 이루어진 가능한 요구를 나타낸다. 블록(54)내의 번호 76은 비트-BLT 엔진(54)에 의해 발부되는 DRAM(38)에 대한 가능한 액세스 요구를 나타내고, 블록(56)내의 번호 78은 디스플레이 장치(14) 또는 (24)로의 송출을 위해 일시적으로 보류될 프레쉬 데이터를 탐색하는 디스플레이 FIFO(56)에 의해 발부되는 가능한 요구(FIFOLO 또는 FIFOHI)를 나타낸다. 다음에 상세히 설명하는 바와 같이, FIFO 요구는 FIFO들(56, 56', 56) 각각으로부터의 그리고 그 FIFO들 각각에 대하여 동일시되는 FIFOLO 또는 FIFOHI 요구를 포함할 수 있다. 요구는 일단 이루어지면 만족될 때까지 또는 그렇지 않으면 FIFOLO 및 FIFOHI 요구인 경우에 클리어될 때까지 계속된다(계류층으로 남음).
도 7을 참조하면, 블록내 번호 80은 마우스 화상을 그리고 위해 DRAM(38)에 대한 액세스용인 마우스 화상 발생기 회로(즉, 위에서 소개되고 설명됨)로부터 수신되는 가능한 요구를 나타낸다. 블록내 번호(82)는 그러한 데이터 요구에 응답하여 DRAM(38)에서 디스플레이 FIFOH 데이터를 판독하는데 사용하기 위해 어드레스를 발생함으로써 디스플레이 FIFO(56)(또는 FIFO(56, 56', 56))에 서비스하는 어드레스 발생기를 나타낸다. 본 발명 분야의 통상의 기술자는 다수의 디스플레이 FIFO(56), (56') 등을 갖는 실시예도 이들 디스플레이 FIFO 마다 분리된 어드레스 발생기(82)를 갖는 것을 알 것이다. DRAM 어드레스 멀티플렉서(84)는 발생된 어드레스를 DRAM(38)에 제공한다. 이 어드레스 멀티플렉서도 발생된 어드레스가 DRAM(38)에서 페이지 브레이크를 요구할 때를 인식하는 장치를 포함하고, 메모리의 다른 페이지가 액세스되도록 DRMA(38)에 필요한 프리-차지 시퀀스를 시작하는데 사용되는 페이지 브레이크 신호(화살표(88)로 나타냄)를 SEQC(86)에 제공한다. 이 페이지 브레이크 신호는 새로운 데이터가 DRAM(38)으로의 직전의 데이터 입력과 다른 행 어드레스를 갖는 때를 나타낸다. 새로운 데이터가 동일한 행 어드레스를 갖는 경우에는, 직전의 데이터와 새로운 데이터가 컴퓨터(10)의 다른 장치들로부터 주어진 때에도 페이지 브레이크 신호가 발생되지 않고, DRAM의 페이지 모드 동작이 손실 시간 없이 프리-차지 시퀀스 동안 유지된다. 즉, DRAM(38)을 액세스하는 장치의 변경은 DRAM(38)에서 페이지 브레이크를 반드시 유발하지 않는다.
도 8 및 도 10에 도시한 바와 같이 DRAM(38)에 대한 액세스에 대한 계류중인 요구들 사이의 논리적 선택 처리를 구현하는 우선 순우 논리 장치(90)가 SEQC(86)내에 있다. 도 8은 다음에 먼저 고려하는 하나의 디스플레이 FIFO(56) 만을 갖는 DRAM 컨트롤러의 더 단순한 예를 도시하고 있다. 도 8을 참조하면, DRAM(38)에 대한 계류중인 엑세스 요구들은 다음에 상세히 설명하는 바와 같이 우선 첫째로 2개의 단(상단 또는 하단)중 하나에 할당되는 것을 알 수 있다. 상단 내에서, 계류 중인 요구는 우선 순위(번호 1u 내지 5u가 매겨져 있음)순서로 정렬(rank)된다. 마찬가지로, 하단 내에서, 계류중인 요구도 우선 순위(11 내지 31로 나타냄)순서로 정렬된다. DRAM(38)에 대한 정렬(rank)된 계류중인 액세스 요구의 이러한 논리적 구조내에서, 각각의 상단 요구는 더 낮은 등급(rank)을 갖는 다른 상단 요구에 응답하여 승인된 DRAM(38)에 대한 모든 기존의 액세스를 인터럽트할 수 있고 또한 모든 하단 요구에 응답하여 승인된 액세스를 인터럽트할 수 있다. 따라서, 디스플레이 FIFO의 DRAM에 대한 액세스가 FIFOLO 요구(11로 정렬됨)에 응답하여 진행중이고 DRAM을 리프레쉬하기 위한 요구가 SEQC에 의해 수신되면(4u로 정렬됨), 디스플레이 FIFO 액세스는 인터럽트된다. 그때, DRAM이 리프레쉬된다.
그러나, 이러한 DRAM의 리프레쉬 동안, DRAM에 대한 CPU 액세스 요구가 수신되면(5u로 정렬됨), SEQC가 상단이더라도 더 낮게 정렬(rank)된 요구의 인터럽트를 허용하지 않으므로, CPU는 DRAM에 대한 액세스를 기다려야 한다. 한편, FIFOHI 요구(2u로 탱크됨)가 DRAM(38)의 리프레쉬동안 수신되면, 이 요구는 DRAM 리프레쉬의 인터럽트 미 디스플레이를 위해 새로운 데이터를 수신하는 디스플레이 FIFO에 의한 DRAM 액세스를 승인하는 것에 의해 이행된다. 하단 요구 내에서, DRAM(38)의 기존의 액세스에 대한 인터럽트는 허용되지 않는다. 이들 하단 요구는 단순히 우선 순위 순서대로 DRAM에 대한 액세스가 허용되고, 모든 상단 요구에 의해 인터럽트될 수 있다. 즉, 비트-BLT 요구(31로 정렬됨)에 응답하여 승인된 DRAM(38)의 액세스는 모든 다른 하단 요구에 의해 인터럽트되지 않지만, 모든 상단 요구에 의해 인터럽트될 수 있다.
그밖에, 도 9는 디스플레이 FIFO(56) 및 DRAM 컨트롤러(58)가 모두 VDC(36)내에 있고 서로 인터페이스한다는 것을 상기할 때, 레벨 카운터(92)(도 8에 도시함)의 사용에 의해 DRAM 컨트롤러(58)로 실행되는 추가 기능을 도식적으로 묘사하고 있다. 레벨 카운터(92)는 DRAM(38)내의 데이터를 액세스하기 위해 발부되는 어드레스를 계속해서 감시하고, 이 데이터를 디스플레이 FIFO(56)에 기록하기 위해 사용된다. N번째 데이터 레벨 마다(N은 디스플레이 FIFO(56)에 제공되는 데이터 레벨의 선택된 정수배를 나타냄), 레벨 카운터(92)는 SEQC(86)의 플래그 또는 레지스터를 리셋한다. 도 9에 도시한 바와 같이, DRAM 컨트롤러(58)는 2개의 개별 질문의 결과를 동시에 그리고 독립저긍로 검사한다. 하나의 질문은 디스플레이 FIFO(56)의 데이터 레벨이 FIFOLO 포인터 아래인가이다. 응답이 아니오이면, 질문은 계속한다. 응답이 예이면, FIFOLO 요구가 발부된다. 디스플레이 FIFO(56)(위에서 설명한 리셋된 플래그 또는 레지스터)에 기록되는 N번째 레벨의 데이터마다, 다시 질문되고, 응답이 아니오이면, FIFOLO 요구는 클리어된다. 따라서, FIFOLO는 디스플레이 FIFO가 데이터로 완전히 충진되지 않고 클리어될 수 있다.
마찬가지로, 다른 질문은 디스플레이 FIFO(56)의 데이터 레벨이 FIFOHI 포인터 아래인가이다. 응답이 아니오이면, 질문이 계속된다. 이 질문에 대한 응답이 예이면, FIFOHI 요구가 발행된다. 위에서 지적한 바와 같이, FIFOHI(도 8을 상기할 때, 2u로 정렬됨)은 마우스 요구(1u로 정렬됨)을 제외하고, DRAM(38)에 대한 모든 다른 액세스 요구의 인터럽트를 실행할 것이다. 따라서, FIFOHI의 발부는 결국 매우 짧은 시간내에 데이터가 DRAM(38)에서 액세스되고 디스플레이 FIFO(56)에 기록되게 할 것이다. 디스플레이 FIFO(56)(위에서 설명한 리셋된 플래그 또는 레지스터를 나타냄)에 기록되는 N번째 레벨의 데이터마다, 다시 질문되고, 응답이 아니오이면, FIFOHI 요구는 클리어된다. 따라서, FIFOHI도 디스플레이 FIFO가 완전히 충진되거나 또는 FIFOLO 포인터의 레벨로 충진되지 않고 클리어될 수 있다. 디스플레이 FIFO(56)는 디스플레이 FIFO에 N레벨의 데이터 기록 완료시 FIFOHI 포인터 이상의 레벨로 충진될 필요가 있다.
바람직하게는, N의 값은 4로 선택된다. N에 대한 이 값은 설명한 바와 같이 8 레벨을 갖는 디스플레이 FIFO에 편리하고, 이들 레벨은 각각 32비트이다. 일부 VGA 동작 모드에 있어서, 각 화소는 4비트를 취하고, 프레임 버퍼는 32 화소마다 LCD 디스플레이를 리프레쉬하므로, 프레임 리프레쉬의 시퀀싱과 디스플레이 FIFO에 N 레벨의 데이터를 기록한 것 사이에서 이들 동작 모드에 유익한 상관성이 있다. 물론, 디스플레이 FIFO는 8 레벨 깊이일 필요가 없고, N은 4로 선택될 필요가 없다. N은 디스플레이 FIFO의 크기와 데이터가 액세스되어 이 디스플레이 FIFO에 기록될 수 있는 스피드 사이의 상호 작용 뿐만 아니라 디스플레이 FIFO가 데이터를 소비하는 비율과 DRAM을 액세스하는 특정 시스템의 다른 장치 요구를 고려하여 선택된다.
도 10을 참조하면, 2개 이상의 디스플레이 FIFO(56, 56', 56) 등을 갖는 DRAM 컨트롤러의 더 복잡한 예에 있어서 우선 순위 논리 장치(90)에 의해 구현되는 우선 순위 논리 구조가 도식적으로 묘사되어 있다. 도 10에서, DRAM(38)의 계류중인 액세스 요구가 우선 첫째로 다음에 설명하는 바와 같이, 3개 단(상단, 중간단 및 하단) 중 하나에 할당되는 것을 알 수 있다. 상단 내에서, 계류중인 요구는 우선 순위(1u 내지 3u의 번호가 매겨져 있음)순으로 정렬된다. 다음에 상세히 설명하는 바와 같이, 이 단이 하나의 등급 레벨에 몇 개의 동등한 요구를 갖는 것에 유의한다. 중간단내에서, 요구는 1m부터 2m 까지 정렬된다. 마찬가지로, 하단내에서, 보류 요구는 11부터 31까지의 우선 순위 순으로 정렬된다. 이러한 DRAM에 대하여 정렬된 계류중인 액세스 요구의 논리적 구조 내에서, 각각의 상단 요구는 그단 내의 요구 큐 내에 배치된다.
이들 DRAM(38)에 대한 액세스 요구는 큐내의 그들의 위치순으로 이행된다. 상단 요구는 다른 상단 요구에 응답하여 승인되는 DRAM(38)에 대한 기존의 모든 액세스 요구를 인터럽트할 수 없다. 이들 상단 요구 1u 내지 3u가 몇 개의 동등한 요구를 포함하는 등급(2u)을 포함하는 것에 유의한다. 즉, 상단 등급 2u는 다수의 FIFOHIn요구를 포함하고, 여기서, 밑첨자 n은 몇 개의 FIFO(561-n) 중 요구하는 하나의 FIFO를 나타낸다. 도 5에서 FIFO(56, 56', 56)가 각각 수치 식별자 1-3을 갖고, 이 식별자가 도 10에서 FIFO 액세스 요구의 소스를 나타내기 위해 사용되는 것을 알 것이다. 한편, 상단 요구는 중간단 또는 하단 요구에 응답하여 승인된 DRAM에 대한 모든 기존의 액세스를 인터럽트할 수 있다. 중간단 요구는 어떠한 하단 액세스라도 인터럽트할 수 없고, 등급(rank)이 더 낮은 중간단 요구에 응담하여 승인된 DRAM 액세스 또는 하단 요구에 응답하여 승인된 액세스 만을 인터럽트할 수 있다. 하단 요구는 DRAM에 대한 어떠한 액세스라도 인터럽트할 수 없고, 서비스를 위해 각각의 큐에 배치된다. 이들 하단 요구도 몇 개의 동등한 요구를 포함하는 등급(11)을 포함하는 것에 유의한다. 즉, 하단 등급 11는 다수의 FIFOLOn요구를 포함하고, 여기서 밑첨자 n은 마찬가지로 몇 개의 FIFO(561-n) 중 요구하는 하나의 FIFO를 나타낸다.
도 11 및 도 12는 본 발명의 컴퓨터 시스템의 SEQC에 의해 실행되는 DRAM에 대한 액세스의 2단 중재의 결과를 (예를 들어) 설명하는 타이밍도이다. 도 10에 도시한 바와 같이 3단 중재 방법으로 마찬가지 결과를 기대할 수 있다. 먼저, 도 11에 있어서, 구간 #1에서, 비트-BLT가 DRAM에 대하여 액세스 요구를 하였고 이 요구가 승인된 것을 알 수 있다. 구간 #2의 시작에서, 디스플레이 FIFO는 DRAM에 대한 액세스 요구를 하였다. FIFOLO 및 FIFOHI가 모두 동시에 발행된다는 사실은 디스플레이 FIFO에 디스플레이 데이터가 없는 것을 나타낸다. 구간 #2에서, 디스플레이 FIFO는 비트-BLT 요구를 폐기하고(도 8의 우선 순위 방법을 참조), 충분한 디스플레이 데이터를 수신함으로써 FIFOHI 요구가 취소된다(도 9의 흐름도에 의해 실행되는 시험 참조). 구간 #3에서, 디스플레이 FIFO는 FIFOLO 요구(계속 보류)가 보류 비트-BLT 요구 보다 높은 우선 순위를 가지므로 DRAM에 의해 계속 서비스된다.
구간 #4에서, FIFOLO 요구는 취소되고(FIFO가 찬 것을 나타내지 않고, FIFO 레벨이 FIFOLO 포인터 이상인 것을 나타냄), 비트-BLT 요구가 실행된다. 구간 #5의 시작에서, FIFOLO 요구가 발행되지만, 하단 요구는 서로 인터럽트할 수 없으므로(도 8참조), 비트-BLT 엔진은 DRAM에 대한 액세스를 유지한다. 구간 #6에서, FIFOHI 요구가 발행되고, 비트-BLT의 액세스를 인터럽트한다. 구간 #7은 FIFOHI가 취소되었지만, 계류중인 비트-BLT 요구도 하단 요구여서 계속 계류중인 FIFOLO 요구를 인터럽트할 수 없으므로, 디스플레이 FIFO가 DRAM에 대한 액세스를 유지하는 것을 나타낸다. 구간 #8은 FIFOLO가 취소될 때, 계류중인 비트-BLT 요구가 이행되는 것을 나타낸다.
도 12는 CPU와 디스플레이 FIFO 사이의 SEQC 중재시 마찬가지 중재 에피소드를 나타낸다. 도 12에서, 구간 #1은 DRAM에 대한 CPU 액세스 요구를 나타낸다. 이 요구는 승인되고 CPU는 사인 오프한다. 구간 #2에서, DRAM은 유휴상태이지만, 구간 #3은 디스플레이 FIFO가 DRAM에 대하여 액세스 요구한 것을 나타낸다. 또한, FIFLOLO 및 FIFOHI가 동시에 발생된다는 사실은 디스플레이 FIFO에 디스플레이 데이터가 없는 것을 나타낸다. 구간 #3에서, 디스플레이 FIFO는 CPU 요구를 폐기하고(도 8의 우선 순위 방법 참조), 충분한 디스플레이 데이터를 수신함으로써, FIFOHI 요구가 취소된다(도 9의 흐름도에 의해 실행되는 시험 참조).
구간 #4에서, 상단 요구가 모든 하단 요구에 대하여 승인된 액세스를 인터럽트할 수 있으므로(FIFOLO는 하단 요구), CPU는 DRAM을 액세스하는 것이 허용된다. 구간 #5에서, CPU는 DRAM을 사인 오프하였고, FIFOLO 요구가 이행된다. 구간 #6은 CPU가 DRAM에 대한 액세스 요구를 하였고, 단순히 FIFOLO만이 계류중이므로 디스플레이 FIFO 액세스를 인터럽트한다. CPU가 DRAM을 사인 오프할 때(구간 #7), DRAM 액세스는 디스플레이 FIFO로 복귀된다. 구간 #8의 시작에서, FIFOHI 요구가 발부되어 실행되지만, 이 구간 #8은 CPU가 더 높이 정렬(rank)된 상단 요구를 인터럽트할 수 없기 때문에 이행되지 않는 DRAM에 대한 CPU 액세스 요구의 발부를 포함한다. 구간 #9는 CPU가 계류중인 FIFOLO 요구에 따라 디스플레이 FIFO 요구를 인터럽트할 수 있으므로, FIFOHI의 클리어 및 CPU 액세스의 승인을 나타낸다.
또한, 디스플레이를 통합하는 지능 장치들에 한정되지 않고, 사용자 디스플레이를 통합하는 삽입된 마이크로 제어기들, 및 디스플레이 포함하는 메카니즘을 처리하는 지능 입/출력을 포함하는 다른 시스템들 및 장치들에 적용될 수 있는 디스플레이 및 방법을 갖는 전술한 컴퓨터 시스템의 원칙들, 특징 및 방법들을 나타내는 도면과 관련하여 전술한 실시예의 연구하면 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 자명할 것이다.
비록 본 발명은 본 발명의 특히 바람직한 실시예에 대한 기준에 의해 도시, 설명 및 한정되지만, 전술한 기준은 본 발명을 한정하지 않으며, 전술한 한정은 추론되어서는 아니된다. 본 발명에 속한 기술분야에서 통상의 지식을 가진 자는 본 발명의 형태 및 기능에서 상당한 변경, 변형 및 등가물의 가능성을 인식할 것이다 본 발명의 도시 및 전술된 바람직한 실시예들은 단지 예시적인 것이며, 본 발명의 범위를 포함하지 않는다. 결론적으로, 본 발명은 모든 관점에서 등가물에 대해 자각시키면서 첨부된 청구의 범위의 사상 및 범위에 의해 단지 한정되어져야 한다.
이상에서 설명한 바와 같이, 컴퓨터 시스템의 다른 장치드렝 의해 DRAM에 대한 액세스 인터럽팅을 가능 또는 불가능하게 하고, 컴퓨터 시스템의 다양한 장치들에 의한 DRAM으로의 액세스에 대한 요구들에 할당된 우선순위의 시퀀스 및 로직이 보다 효율적으로 DRAM에 대해 액세스되도록 할 수 있다.

Claims (23)

  1. 시스템의 사용자로부터 입력을 수신하기 위한 입력 장치;
    상기 입력 장치와 인터페이스하고 디스플레이 데이터를 포함하는 출력을 생성하는 처리 기능을 수행함으로써 입력에 응답하는 중앙 처리 장치(CPU);
    상기 중앙 처리 장치(CPU)에 의해 사용되는 명령 및 데이터에 대한 메모리 기억 장소를 제공하기 위해 상기 중앙 처리 장치(CPU)와 인터페이스하는 메모리 장치;
    상기 중앙 처리 장치(CPU)로부터 출력 응답을 수신하고 지각할 수 있는 출력 응답을 제공하는 출력 장치;
    상기 디스플레이 데이터에 응답하여 사용자에게 가시적인 화상을 제공하는 디스플레이 장치를 포함하는 상기 출력 장치;
    상기 가시적인 이미지 부분을 제공하는 부가적인 디스플레이 데이터를 제공하기 위해 상기 프로세서, 및 상기 출력 장치와 인터페이스하는 그래픽 발생기(GG)(비트 블록 전송 엔진(bit-BLT))을 포함하는 영상 디스플레이 제어기(VDC);
    상기 VDC를 통해 CPU와 인터페이스하고, 일시적 기억 장치에 대한 상기 부가적인 디스플레이 데이터를 포함하는 상기 디스플레이 데이터를 수신하며, 상기 부가적인 디플레이 데이터의 제공 및 상기 처리 기능시에 사용되는 명령 및 데이터의 일시적 기억 장소를 제공하기 위해 상기 CPU 및 상기 GG와 인터페이스하는 다이나믹 랜덤 액세스 메모리(DRAM);
    상기 디스플레이 장치에 긴급하게 나타나는 부가적인 디스플레이 데이터를 포함하는 디스플레이 데이터를 수신하여 일시적으로 보류시키기 위한 상기 DRAM과 인터페이스하는 디스플레이 선입선출(FIFO) 메모리를 구비하되, 상기 디스플레이 FIFO는 단지 간헐적으로 상기 DRAM으로부터 데이터를 수신하는 동안 일정한 용량을 가지고 상기 디스플레이 장치에 상기 데이터를 지속적으로 제공하고, 상기 디스플레이 FIFO의 데이터 레벨이 FIFOLO 포인터 이하인지 또는 포인터 FIFOHI 이하인지에 따라서 낮은 우선순위(FIFOLO) 원칙 또는 높은 우선순위(FFIFOHI) 원칙으로 상기 DRAM으로의 액세스에 대한 요구를 발부하는 상기 디스플레이 선입선출(FIFO) 메모리를 구비하는 상기 VDC;
    후단의 요구가 bit-BLT 요구인 것으로 확인되는 상기 DRAM으로의 액세스에 대한 요구들 또한 각각 발부하는 각가의 상기 CPU와 상기 GG; 및
    상기 DRAM으로의 액세스에 대한 다단 우선순위에 따라 상기 CPU, 상기 GG 및 상기 디스플레이 FIFO 사이에서 상기 DRAM으로의 액세스를 중재하는 시퀀서 및 제어기(SEQC) 유니트를 구비하되, 상기 다단 우선순위는 하단 및 상기 하단보다 상위의 단을 포함하고 우선순위에 따라 각 단내의 요구 등급을 더 분류하며, 상기 하단 요구들은 기존의 DRAM 액세스를 인터럽트할 수 없고, 상기 하단보다 상위의 단에서의 요구는 하위 등급을 갖는 요구 또는 하단 요구에 응답하여 SEQC에 의해 허여된 기존의 DRAM 액세스를 인터럽트할 수 있는 상기 VDC를 포함하는 시스템.
  2. 제 1항에 있어서,
    상기 시퀀서 및 제어기 장치(SEQC)가 상기 다이나믹 랜덤 액세스 메모리(DRAM)로의 액세스에 대한 3단으로의 우선순위에 따라 상기 다이나믹 랜덤 액세스 메모리(DRAM)에 대한 액세스를 중재하되,
    상단 요구는 상단 요구에 응답하여 승인된 DRAM에 대한 기존의 액세스가 아닌 임의의 중단 또는 하단 요구에 응답하여 승인된 DRAM의 액세스를 인터럽트할 수 있으며;
    중단 요구는 어떠한 상단 액세스도 인터럽트하는 것이 허용되지 않고, 하단요구에 응답하여 승인된 임의의 액세스 또는 낮은 등급을 갖는 중단 요구에 응답하여 승인된 임의의 DRAM 액세스를 인터럽트 하도록 허용되며;
    하단 요구는 DRAM에 대한 다른 모든 액세스를 인터럽트할 수 없고 상기 DRAM를 액세스하기 위해 각각의 큐에 위치하는 시스템 장치.
  3. 제 2항에 있어서,
    상기 상단은,
    다수의 동등한 요구들을 수용하는 등급을 포함하는 시스템 장치.
  4. 제 3항에 있어서,
    상기 시스템 영상 디스플레이 제어기(VDC)는,
    각각의 디스플레이 장치에 디스플레이 데이터를 각각 제공하는 상기 다수의 디스플레이 FIFO들을 포함하며, 상기 상단의 동일한 요구들은 상기 다수의 디스플레이 FIFO들중 특정한 어느 하나와 각각 동일한 FIFOHI 요구들인 시스템 장치.
  5. 제 4항에 있어서,
    상기 하단은,
    다수의 동등한 요구들을 수용하는 등급을 포함하는 시스템 장치.
  6. 제 5항에 있어서,
    상기 하단의 상기 동등한 요구들은 상기 다수의 디스플레이 FIFO들중 특정한 어느 하나와 각각 동일한 FIFOLO 요구인 시스템.
  7. 제 1항에 있어서,
    하나 또는 그 이상의 마우스 이미지 생성기, DRAM 재생 클럭, 및 상기 디스플레이 장치를 위한 프레임 재생 반-프레임 버퍼를 더 포함하되, 상기 마우스 이미지 생성기, DRAM 재생 클럭, 및 프레임 재생 반-프레임 버퍼의 각각이 상기 DRAM에 액세스하기 위해 각각 개별적인 요구들을 발부하고, 상기 프레임 재생 반-프레임 버퍼는 각각 상위순위 및 하위순위를 가지는 FRAMEHI 재생 요구 및 FRAMELO 재생 요구를 발부하는 시스템.
  8. 제 7항에 있어서,
    상기 다단 우선순위는 상기 하단내의 우선순위 등급에 상기 하단의 FIFOLO, FRAMELO, 및 bit-BLT 요구들을 포함하는 시스템.
  9. 제 7항에 있어서,
    상기 다단 우선순위는 상기 하단보다 상위의 상기 단내의 우선순위 등급에 상기 하단보다 상위인 상기 단의 Mouse, FIFOHI, FRAMEHI, REFRESH DRAM 및 CPU 요구들을 포함하는 시스템.
  10. 제 1항에 있어서,
    상기 VDC의 상기 SEQC는
    상기 다단 우선순위에 따라서 상기 CPU, 상기 GG, 및 상기 디스플레이 FIFO간의 상기 DRAM에 대한 액세스를 중재하는 우선순의 논리 유니트, 상기 디스플레이 장치의 가변 동작 모드 및 상기 DRAM으로부터 상기 디스플레이 FIFO로 데이터 쓰기가 가능한 속도에 따라 상기 디스플레이 FIFO에 FIFOLO 및 FIFOHI 포인터를 가변적으로 위치시키기 위한 수단,
    상기 DRAM으로부터 상기 디스플레이 FIFO에 쓰기된 데이터의 모든 N(단, N은 데이터의 다수 레벨 선택 정수를 나타냄)번째 레벨을 카운팅하여 N번째 카운트 신호를 제공하기 위한 수단,
    상기 디스플레이 FIFO를 문의하고 상기 N번째 카운트 신호에 관해 상기 디스플레이 FIFO에서 상기 데이터 레벨이 각각의 포인터보다 상위이면 계류중인 FIFOLO 및 FIFOHI 요구를 소거하는, 상기 디스플레이 FIFO를 위한 문의수단을 포함하는 시스템.
  11. 제 10항에 있어서,
    상기 VDC는 상기 DRAM에서 상기 디스플레이 FIFO로 데이터를 쓰기하는데 이용되는 주소들을 생성하는 주소 생성기, 및 상기 생성된 주소들을 모니터링하고 상기 디스플레이 FIFO에 데이터를 쓰는데 이용하기 위해 생성되는 주소의 N레벨들에 상기 N번째 카운트 신호를 제공하는 레벨 카운터를 포함하는 상기 DRAM으로부터 상기 디스플레이 FIFO로 쓰여지는 데이터의 모든 N번째 레벨을 카운팅하기 위한 수단을 포함하는 시스템.
  12. 중앙처리장치(CPU), 다이나믹 랜덤 액세스 메모리(DRAM), 상기 DRAM에서의 데이터에 응답하여 시각적인 이미지를 제공하는 디스플레이 장치, 상기 DRAM에서 상기 디스플레이 장치로 라우팅하는 디스플레이 선입선출 메모리(FIFO), 상기 디스플레이 FIFO의 데이터 레벨에 따라 결정되는 하위순위 원칙(FIFOLO) 및 상위순위 원칙(FIFOHI)으로 디스플레이되는 데이터를 수신하기 위해 상기 DRAM으로 상기 디스플레이 FIFO에 의한 액세스를 요구하기 위한 수단, 상기 시스템의 다른 장치에 의한 상기 DRAM에 대한 액세스를 요구하기 위한 수단을 구비한 시스템에 있어서,
    각 단내에 요구 우선순위의 등급 분류를 가지는 다단 우선순위 논리에 따라서 상기 DRAM에 대한 액세스 요구들을 중재하는 DRAM 제어기-시퀀서(SEQC)를 포함하는 시스템.
  13. 제 12항에 있어서,
    상기 시스템을 상기 디스플레이 장치의 다양한 동작 모드 및 상기 DRAM으로부터 상기 디스플레이 FIFO로의 데이터 쓰기가 가능한 속도에 따라 상기 디스플레이 FIFO에 FIFOLO 및 FIFOHI 포인터를 설정하기 위한 수단, 상기 DRAM으로부터 상기 디스플레이 FIFO에 쓰기된 데이터의 모든 N(단, N은 데이터의 다수 레벨 선택 정소를 나타냄)번째 레벨을 카운팅하여 응답으로 N번째 카운트신호를 제공하기 위한 수단, 상기 디스플레이 FIFO를 문의하고 상기 N번째 카운트 신호에 관해 상기 디스플레이 FIFO에서 상기 데이터 레벨이 각각의 포인터보다 상위이면 계중중인 FIFOLO 및 FIFOHI 요구를 소거하는 수단을 더 포함하는 시스템.
  14. 제 13항에 있어서,
    사용자 입력을 수신하여 응답으로 상기 DRAM에 대한 액세스를 위한 MOUSE 요구블 발부하는 마우스 이미지 생성기, 상기 DRAM에 대한 액세스를 위한 REFRESH DRAM 요구들을 발부하는 DRAM 재생 클럭, 각각 상위순위 및 하위순위를 가지는 FRAMEHI 재생 요구 및 FRAMELO 재생 요구 모두를 발부하는 상기 디스플레이 장치를 위한 프레임 재생 반-프레임 버퍼, 및 상기 DRAM에 대한 액세스를 위한 각각의 요구(bit-BLT)를 발부하고 상기 시각적인 이미지 부분을 제공하는 부가적인 디스플레이 데이터를 제공하기 위해 상기 프로세서 및 상기 출력 장치와 인터페이스하는 그래픽 생성기(GG)를 더 포함하는 시스템.
  15. 제 14항에 있어서,
    상기 다단의 우선순위는,
    상기 하단내의 우선순위 등급에 상기 하단의 FIFOLO, FRAMELO, 및 bit-BLT 요구들을 포함하는 시스템.
  16. 제 15항에 있어서,
    상기 다단의 우선순위는,
    상기 하단보다 상위의 상기 단내의 우선순위 등급에 상기 하단보다 상위인 상기 단의 MOUSE, FIFOHI, FRAMEHI, FRAME DRAM, 및 CPU 요구들을 포함하는 시스템.
  17. 중앙처리장치(CPU), 동적 랜덤 접근 메모리(DRAM), 상기 DRAM에서의 데이터에 응답하여 시각적인 이미지를 제공하는 디스플레이 장치, 상기 DRAM에서 상기 디스플레이 장치로 데이터를 라우팅하는 디스플레이 선입선출 메모리(FIFO), 상기 디스플레이 FIFO의 데이터 레벨에 따라 결정되는 하위순위 원칙(FIFOLO) 및 상위순위 원칙(FIFOHI)으로 디스플레이되는 데이터를 수신하기 위해 상기 DRAM에 대해 상기 디스플레이 FIFO에 의한 액세스를 요구하기 위한 수단, 상기 시스템의 다른 장치에 의한 상기 DRAM에 대한 액세스를 요구하기 위한 수단, 및 각 단내에 요구 우선순위의 등급을 가지는 다단의 우선순위 논리에 따라서 상기 DRAM에 대한 액세스 요구를 중재하는 DRAM 제어기-시퀀서(SEQC)를 포함하는 시스템 운용 방법.
  18. 상기 시스템의 사용자로부터 입력들을 수신하기 위한 입력 장치, 상기 입력 장치와 인터페이스하고 디스플레이 데이터를 포함하는 출력을 생성하는 처리 기능을 수행함으로써 상기 입력들에 응답하는 중앙처리장치(CPU), 상기 CPU에 의해 사용되는 명령 및 데이터에 대한 메모리 기억 장소를 제공하기 위해 상기 CPU와 인터페이스하는 메모리 장치, 상기 CPU로부터 상기 출력 응답을 수신하여 지각할 수 있는 출력 응답을 제공하는 출력 장치, 상기 디스플레이 데이터에 응답하여 상기 사용자에게 가시적인 이미지를 제공하는 디스플레이 장치를 포함하는 상기 출력 장치, 상기 가시적인 이미지 부분을 제공하는 부가적인 디스플레이 데이터를 제공하기 위해 상기 프로세서 및 상기 출력 장치와 인터페이스하는 비트 블록 전송 엔진으로 구성된 그래픽 생성기, 상기 VDC를 통해 상기 CPU와 인터페이스하고, 일시적인 기억 장치를 위한 상기 부가적인 디스플레이 데이터를 포함하는 상기 디스플레이 데이터를 수신하는 다이나믹 랜덤 액세스 메모리(DRAM), 상기 처리 기능과 상기 부가적인 데이터의 제공에 이용되는 명령 및 데이터의 일시 저장을 제공하기 위해 상기 CPU 및 상기 VDC와 인터페이스하는 상기 DRAM을 포함하는 시스템 운용 방법에 있어서,
    상기 VDC에 디스플레이 선입선출(FIFO) 메모리를 구비하는 단계;
    상기 디스플레이 장치에 긴급하게 나타나는 상기 부가적인 디스플레이 데이터를 포함하는 디스플레이 데이터를 수신하여 일시적으로 보류하기 위한 상기 DRAM과 상기 디스플레이 FIFO를 인터페이스하는 단계;
    상기 디스플레이 장치로 상기 데이터를 계속적으로 제공하고 단지 간헐적으로 상기 DRAM으로부터 데이터를 수신하기 위해 상기 디스플레이 FIFO를 이용하는 단계;
    상기 디스플레이 FIFO의 데이터 레벨이 가변 FIFOLO 포인터이하인지 또는 가변 FIFOHI 포인터이하인지에 따라서 하위순위 원칙(FIFOLO) 또는 상위순위 원칙으로 상기 DRAM으로의 상기 디스플레이 FIFO에 의한 액세스 요구를 발부하기 위한 수단을 제공하는 단계;
    상기 CPU 및 상기 bit-BLT에 의한 상기 DRAM에 대한 액세스 요구들을 각각 발부하는 단계;
    하단 및 상기 하단보다 상위의 단을 포함하는 다단 우선순위에 따라 상기 CPU, bit-BLT, 및 상기 디스플레이 FIFO간의 상기 DRAM에 대한 액세스 요구를 중재하는 시퀀스 및 제어기 장치(SEQC)를 상기 VDC에 구비하는 단계;
    하단 요구가 기존의 DRAM 액세스를 인터럽트하지 못하게 하는 단계;
    낮은 등급의 요구 또는 하단 요구에 응답하여 상기 SEQC에 의해 승인된 기존 DRAM 액세스를 상기 하단보다 상위의 단에서 요구들이 인터럽트할 수 있도록 하는 단계; 및
    우선순위에 따라서 각 단내에서 상기 다단 우선순위로 요구들을 더 등급 분류하는 단계를 포함하는 시스템 운용 방법.
  19. 제 18항에 있어서,
    3단 우선순위에 따라서 상기 DRAM에 대한 액세스를 중재하기 위해 상기 SEQC를 이용하는 단계;
    상단 요구에 응답하여 승인된 상기 DRAM에 대한 기존의 액세스가 아닌 임의의 중간단 또는 하단 요구에 응답하여 승인된 상기 DRAM의 액세스를 인터럽트 가능하게 하는 요구들을 갖는 상단을 구비한 상기 3단을 제공하는 단계;
    상기 DRAM에 대한 어떠한 상단 액세스도 인터럽트하는 것이 허용되지 않고 하단 요구에 응답하여 승인된 임의의 DRAM 액세스 또는 낮은 등급을 갖는 중단 요구에 응답하여 승인된 임의의 DRAM 액세스를 인터럽트하는 것만 가능한 요구들을 상기 3단 우선순위의 중단을 제공하는 단계; 및
    상기 DRAM에 대한 다른 모든 액세스를 인터럽트할 수 없고 상기 DRAM에 대한 액세스를 대기하기 위한 각각의 큐에 위치되는 요구들을 갖는 하단을 상기 3단 우선순위에 제공하는 단계
    를 포함하는 시스템 운용 방법.
  20. 제 19항에 있어서,
    다수의 동등한 요구들을 수용하는 등급을 상기 상단에 제공하는 단계를 더 포함하는 시스템 운용 방법.
  21. 제 20항에 있어서,
    다수의 디스플레이 FIFO들을 구비한 VDC를 상기 시스템에 제공하는 상기 단계; 및
    각각의 디스플레이 장치에 디스플레이 데이터를 제공하는 상기 다수의 디스플레이 FIFO들 각각을 이용하고, 상기 상단의 상기 동등한 요구들로서 상기 다수의 디스플레이 FIFO들로부터의 FIFOHI 요구들을 이용하는 단계를 더 포함하는 시스템 운용 방법.
  22. 제 20항에 있어서,
    다수의 동등한 요구들을 수용하는 등급을 상기 하단에 제공하는 단계를 더 포함하는 시스템 운용 방법.
  23. 제 22항에 있어서,
    상기 하단의 상기 동등 요구들로서 상기 다수의 디스플레이 FIFO들로부터의 FIFOLO 요구들을 이용하는 단계를 더 포함하는 시스템 운용 방법.
KR1019970709197A 1995-06-07 1996-05-31 다단 우선순위 방식에 따른 디스플레이 메모리 액세스 중재를 포함하는 디스플레이 제어기를 구비한 컴퓨터 시스템 KR19990022755A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/487,117 US5767866A (en) 1995-06-07 1995-06-07 Computer system with efficient DRAM access
US8/487117 1995-06-07

Publications (1)

Publication Number Publication Date
KR19990022755A true KR19990022755A (ko) 1999-03-25

Family

ID=23934492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970709197A KR19990022755A (ko) 1995-06-07 1996-05-31 다단 우선순위 방식에 따른 디스플레이 메모리 액세스 중재를 포함하는 디스플레이 제어기를 구비한 컴퓨터 시스템

Country Status (6)

Country Link
US (1) US5767866A (ko)
EP (1) EP0834168B1 (ko)
JP (1) JP3557619B2 (ko)
KR (1) KR19990022755A (ko)
DE (1) DE69604667T2 (ko)
WO (1) WO1996041325A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5877741A (en) * 1995-06-07 1999-03-02 Seiko Epson Corporation System and method for implementing an overlay pathway
US5983315A (en) * 1997-04-25 1999-11-09 Rockwell Science Center, Inc. System and method for establishing priorities in transferring data in burst counts from a memory to a plurality of FIFO stages, each having a low, intermediate, and high region
US5953020A (en) * 1997-06-30 1999-09-14 Ati Technologies, Inc. Display FIFO memory management system
US5903283A (en) * 1997-08-27 1999-05-11 Chips & Technologies, Inc. Video memory controller with dynamic bus arbitration
WO1999028893A1 (en) * 1997-12-01 1999-06-10 Mediaq, Inc. High performance, highly integrated computer architecture with extendible embedded memory
JPH11345165A (ja) * 1997-12-05 1999-12-14 Texas Instr Inc <Ti> アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ
US6091431A (en) * 1997-12-18 2000-07-18 Intel Corporation Method and apparatus for improving processor to graphics device local memory performance
FR2776814B1 (fr) * 1998-03-26 2001-10-19 Alsthom Cge Alkatel Procede de controle d'un afficheur a cristaux liquides
US6374244B1 (en) * 1998-04-01 2002-04-16 Matsushita Electric Industrial Co., Ltd. Data transfer device
JP2001184300A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd データ処理プロセッサ
US6914605B2 (en) * 2000-03-21 2005-07-05 Matsushita Electric Industrial Co., Ltd. Graphic processor and graphic processing system
US6654021B2 (en) * 2001-05-18 2003-11-25 Sun Microsystems, Inc. Multi-channel, demand-driven display controller
US6670959B2 (en) * 2001-05-18 2003-12-30 Sun Microsystems, Inc. Method and apparatus for reducing inefficiencies in shared memory devices
US7081896B1 (en) * 2002-08-27 2006-07-25 Nvidia Corporation Memory request timing randomizer
US7506133B2 (en) * 2003-08-20 2009-03-17 Seiko Epson Corporation Method and apparatus for high speed addressing of a memory space from a relatively small address space
JP4624715B2 (ja) * 2004-05-13 2011-02-02 ルネサスエレクトロニクス株式会社 システムlsi
JP4060294B2 (ja) * 2004-07-09 2008-03-12 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理システム、画像処理方法、コンピュータプログラム、半導体デバイス
US8583845B2 (en) * 2008-08-07 2013-11-12 Nec Corporation Multi-processor system and controlling method thereof
US8456478B2 (en) * 2008-10-30 2013-06-04 Microchip Technology Incorporated Microcontroller with integrated graphical processing unit
WO2015067295A1 (en) 2013-11-05 2015-05-14 Huawei Technologies Co., Ltd. Method and arrangement for controlling requests to a shared electronic resource
US10937484B2 (en) * 2015-12-30 2021-03-02 International Business Machines Corporation Dynamic bandwidth throttling of DRAM accesses for memory tracing

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4009470A (en) * 1975-02-18 1977-02-22 Sperry Rand Corporation Pre-emptive, rotational priority system
US4453214A (en) * 1981-09-08 1984-06-05 Sperry Corporation Bus arbitrating circuit
JPS6242228A (ja) * 1985-08-19 1987-02-24 Nec Corp 表示情報処理システム
DE3543894A1 (de) * 1985-12-12 1987-06-19 Wabco Westinghouse Fahrzeug Betaetigungseinrichtung fuer eine differentialsperre
FR2602892B1 (fr) * 1986-07-28 1988-11-10 Bull Sa Carte graphique et interface clavier souris
US4953101A (en) * 1987-11-24 1990-08-28 Digital Equipment Corporation Software configurable memory architecture for data processing system having graphics capability
FR2625340B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Systeme graphique avec controleur graphique et controleur de dram
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
US5072420A (en) * 1989-03-16 1991-12-10 Western Digital Corporation FIFO control architecture and method for buffer memory access arbitration
US5345577A (en) * 1989-10-13 1994-09-06 Chips & Technologies, Inc. Dram refresh controller with improved bus arbitration scheme
JPH03254497A (ja) * 1990-03-05 1991-11-13 Mitsubishi Electric Corp マイクロコンピュータ
CA2065979C (en) * 1991-06-10 1999-01-19 Stephen Patrick Thompson Mode dependent minimum fifo fill level controls processor access to video memory
JPH0635867A (ja) * 1992-07-13 1994-02-10 Mita Ind Co Ltd 画像データ処理回路およびその処理回路のための記憶手段のアクセス方法
US5450542A (en) * 1993-11-30 1995-09-12 Vlsi Technology, Inc. Bus interface with graphics and system paths for an integrated memory system

Also Published As

Publication number Publication date
JP3557619B2 (ja) 2004-08-25
JPH11511263A (ja) 1999-09-28
EP0834168B1 (en) 1999-10-13
US5767866A (en) 1998-06-16
DE69604667D1 (de) 1999-11-18
DE69604667T2 (de) 2000-03-09
EP0834168A1 (en) 1998-04-08
WO1996041325A1 (en) 1996-12-19

Similar Documents

Publication Publication Date Title
JP3728754B2 (ja) 異なった画像を表示する2台の同時表示装置を持つコンピュータ・システム
US5877741A (en) System and method for implementing an overlay pathway
KR19990022755A (ko) 다단 우선순위 방식에 따른 디스플레이 메모리 액세스 중재를 포함하는 디스플레이 제어기를 구비한 컴퓨터 시스템
US6204864B1 (en) Apparatus and method having improved memory controller request handler
US6205524B1 (en) Multimedia arbiter and method using fixed round-robin slots for real-time agents and a timed priority slot for non-real-time agents
US5673416A (en) Memory request and control unit including a mechanism for issuing and removing requests for memory access
US6330646B1 (en) Arbitration mechanism for a computer system having a unified memory architecture
JP3926417B2 (ja) 表示制御装置
US5740383A (en) Dynamic arbitration priority
US6023252A (en) Liquid crystal display device
US5748968A (en) Requesting device capable of canceling its memory access requests upon detecting other specific requesting devices simultaneously asserting access requests
JP2840398B2 (ja) 画像情報制御装置及び表示システム
JP2000035778A (ja) メモリ制御システム、メモリ制御方法及びメモリ制御装置
US5812150A (en) Device synchronization on a graphics accelerator
US5233331A (en) Inking buffer for flat-panel display controllers
US20030222878A1 (en) Computer system which scans lines in tiled blocks of a display area
JPH0631927B2 (ja) 表示データ転送方法及びディスプレイシステム
US20050030319A1 (en) Method and apparatus for reducing the transmission requirements of a system for transmitting image data to a display device
JP2821121B2 (ja) 表示制御装置
JPS63231616A (ja) ビデオ・サブシステム
JPH05333829A (ja) 情報処理装置
JPH01193783A (ja) ビデオインターフェイス装置
JPH06318065A (ja) 画像メモリ装置
JPS61196286A (ja) 表示情報処理装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid