KR19990025548A - 비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치 - Google Patents
비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치 Download PDFInfo
- Publication number
- KR19990025548A KR19990025548A KR1019970047213A KR19970047213A KR19990025548A KR 19990025548 A KR19990025548 A KR 19990025548A KR 1019970047213 A KR1019970047213 A KR 1019970047213A KR 19970047213 A KR19970047213 A KR 19970047213A KR 19990025548 A KR19990025548 A KR 19990025548A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- frequency
- cycle
- memory clock
- video
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
- G09G2330/021—Power management, e.g. power saving
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Memory System (AREA)
Abstract
본 발명은 메모리 제어에 관한 명령어의 빈도에 따라 자동으로 메모리 클럭을 변경하는 비디오 콘트롤러에 관한 것으로, 모니터로 전송해야 할 화상 데이터를 저장하는 비디오 메모리; CPU로부터 호스트 버스를 통하여 전송된 명령어를 수신하는 버스인터페이스; 상기 버스인터페이스에서 수신된 명령어에 따라 상기 비디오 메모리에 대한 리드/라이트를 제어하기 위한 어드레스, 데이터 및 제어신호를 발생하는 제어수단; 소정의 시간 단위로, 전체 버스 사이클에 대한 비디오 메모리 억세스 사이클의 점유율에 따라 비디오 메모리 억세스용 메모리 클럭의 주파수를 가변하여 설정하기 위한 주파수 설정수단; 및 상기 설정된 메모리 클럭 주파수에 따라 메모리 클럭을 발생하기 위한 주파수 발생수단을 포함하는 것을 특징으로 하여, 메모리 억세스 사이클의 수가 많아지면 메모리 클럭의 주파수를 최대로 높여 최고의 성능을 발휘할 수 있을 뿐만 아니라 메모리 억세스의 수가 작아지면 자동적으로 메모리 클럭 주파수를 낮추어 칩의 소비전력을 최소화할 수 있는 잇점이 있다.
Description
본 발명은 PCI/AGP 버스 구조를 가지는 일반적인 컴퓨터 시스템에 관한 것으로서, 특히 메모리 제어에 관한 명령어의 빈도에 따라 자동으로 메모리 클럭을 변경하는 비디오 콘트롤러에 관한 것이다.
도 1은 일반적인 컴퓨터 시스템에서의 비디오 콘트롤러에 관한 개략적인 블록도이다. 비디오 메모리(13)는 모니터로 전송해야 할 화상 데이터를 저장한다. 버스인터페이스(15)는 CPU(도시되지 아니함)로부터 호스트 버스를 통하여 전송된 명령어(제어신호, 데이터 및 어드레스 신호로 구성됨)를 수신하여, 순차제어기(14)로 보낸다. 순차제어기(14)는 비디오 메모리(13)에 대한 리드/라이트를 제어하기 위한 어드레스, 데이터 및 제어신호를 발생하여 비디오 메모리(13)로 전송한다. 여기의 제어신호에는 CAS(Column Address Strobe), RAS(Row Address Strobe), WE(Write Enable), OE(Output Enable) 등이 있다. 주파수 합성기(16)는 메모리 클럭 및 픽셀 클럭 등의 클럭신호를 생성한다. 바이오스 롬(BIOS ROM; 12)은 이들 모든 장치들을 제어하기 위한 BIOS 코드가 내장되어 있으며, 디바이스 초기화 시에 독출된다.
CPU는 모니터의 화면을 리플레쉬(refresh)시키기 위하여 주기적으로 비디오 메모리를 리드해야 하며, CPU에서 비디오 메모리로의 데이터 전송량이 많아지면 수행속도가 떨어지게 된다. 그런데 메모리의 타이밍 제어에 사용되는 메모리 클럭은 비디오 콘트롤라 칩 초기화 시에 바이오스에 의하여 한번만 프로그램된다. 따라서 CPU 명령어가 많아지거나 또는 적어지더라도 그 클럭 주파수가 더 높아지거나 또는 더 낮아지지 않는다. 그러므로 CPU에서 비디오 메모리로 데이터 전송이 전혀 없는 동안이나 부하가 가장 심한 순간이나 메모리 클럭의 주파수가 변함없이 항상 일정하다.
이와 같이 종래 기술에 의한 메모리 콘트롤러에서는 메모리 클럭의 주파수가 시스템 동작을 위한 최대 주파수로 설정되어 있다. 그러나 실제로 검퓨터를 사용하는 동안에 CPU에서 메모리로의 데이터 전송을 많이 하는 경우는 드물므로, 필요없이 전력을 많이 소모하게 되고 또한 고주파 신호의 사용에 따라 EMI 영향을 받는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는, CPU로부터의 버스 명령어를 분석하여 전체 버스 사이클 중 비디오 메모리를 억세스하는 빈도에 따라 자동적으로 메모리 클럭의 주파수를 가변할 수 있는 비디오 콘트롤러에서 메모리클럭 발생방법을 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 CPU로부터의 버스 명령어를 분석하여 전체 버스 사이클 중 비디오 메모리를 억세스하는 빈도에 따라 자동적으로 메모리 클럭의 주파수를 가변할 수 있는 비디오 콘트롤러에서 메모리클럭 발생장치를 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 전체 버스 사이클 중 비디오 메모리를 억세스하는 빈도에 따라 자동적으로 메모리 클럭의 주파수를 가변할 수 있는 메모리클럭 발생장치를 포함하는 비디오 콘트롤러를 제공하는데 있다.
도 1은 일반적인 컴퓨터 시스템에서의 비디오 콘트롤러에 관한 개략적인 블록도이다.
도 2는 메모리 콘트롤러와 관련된 PCI 버스 타이밍도를 도시한 것이다.
도 3은 본 발명에 의한 비디오 콘트롤러에서 메모리 클럭 발생방법을 설명하기 위한 플로우차트이다.
도 4는 본 발명에 의한 비디오 콘트롤러에서 메모리 클럭 발생장치의 블록도이다.
도 5는 메모리 사이클 계수부(42)를 구성하는 일 예를 도시한 것이다.
도 6은 본 발명에 의한 메모리 클럭 발생장치를 구비하는 비디오 콘트롤러의 블록도이다.
상기의 과제를 이루기 위하여 본 발명에 의한 비디오 콘트롤러에서 메모리클럭 발생방법은, 비디오 콘트롤러에서 비디오 메모리를 억세스하기 위한 메모리 클럭을 발생하는 방법에 있어서, 소정의 시간 동안 전체 버스 사이클의 발생 횟수를 카운트하는 전체 사이클 카운트과정; 상기 소정의 시간과 같은 시간 동안 상기 비디오 메모리를 리드 또는 라이트하는 비디오 메모리 억세스 사이클의 횟수를 카운트하는 메모리 사이클 카운트과정; 상기 카운트된 전체 버스 사이클에 대한 상기 카운트된 비디오 메모리 억세스 사이클의 점유율을 판단하는 점유율 판단과정; 상기 점유율에 따라 메모리 클럭 주파수를 가변하여 설정하는 메모리 클럭 주파수 설정과정; 및 상기 설정된 메모리 클럭 주파수에 따라 메모리 클럭을 발생하는 과정을 포함함을 특징으로 한다.
상기의 다른 과제를 이루기 위하여 본 발명에 의한 비디오 콘트롤러에서 메모리클럭 발생장치는, 비디오 콘트롤러에서 비디오 메모리를 억세스하기 위한 메모리 클럭을 발생하는 장치에 있어서, 전체 버스 사이클의 횟수를 카운트하기 위한 전체 사이클 계수수단; 비디오 메모리를 리드 또는 라이트하는 비디오 메모리 억세스 사이클인지의 여부를 판단하여 메모리 억세스 사이클의 횟수를 카운트하기 위한 메모리 사이클 계수수단; 소정의 시간 단위로 상기 전체 사이클 계수수단 및 상기 메모리 사이클 계수수단의 카운트 값을 리셋하기 위한 시간 설정수단; 상기 시간 설정수단에서 설정된 시간 단위로, 상기 전체 버스 사이클에 대한 상기 비디오 메모리 억세스 사이클의 점유율을 판단하기 위한 점유율 판단수단; 상기 점유율에 따라 메모리 클럭의 주파수를 가변하여 설정하기 위한 주파수 설정수단; 및 상기 설정된 메모리 클럭 주파수에 따라 메모리 클럭을 발생하기 위한 주파수 발생수단를 포함하여, 상기 소정의 시간 단위로 상기 점유율을 정기적으로 판단하여 메모리 클럭 주파수를 가변함을 특징으로 한다.
상기의 또 다른 과제를 이루기 위하여 본 발명에 의한 비디오 콘트롤러는, 모니터로 전송해야 할 화상 데이터를 저장하는 비디오 메모리; CPU로부터 호스트 버스를 통하여 전송된 명령어를 수신하는 버스인터페이스; 상기 버스인터페이스에서 수신된 명령어에 따라 상기 비디오 메모리에 대한 리드/라이트를 제어하기 위한 어드레스, 데이터 및 제어신호를 발생하는 제어수단; 소정의 시간 단위로, 전체 버스 사이클에 대한 비디오 메모리 억세스 사이클의 점유율에 따라 비디오 메모리 억세스용 메모리 클럭의 주파수를 가변하여 설정하기 위한 주파수 설정수단; 및 상기 설정된 메모리 클럭 주파수에 따라 메모리 클럭을 발생하기 위한 주파수 발생수단을 포함하는 것을 특징으로 한다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
도 2는 메모리 콘트롤러와 관련된 PCI 버스 타이밍도를 도시한 것이다.
CLK 신호는 버스 타이밍의 기준신호인 버스클럭신호이다. FRAME# 신호는 현재의 마스터에 의하여 구동되어 억세스의 시작 및 그 계속을 나타내는 사이클 플레임신호이다. 따라서, FRAME# 신호는 버스 트랜잭션(TRANSACTION)의 시작을 나타내기 위하여 어설트(ASSERT)되며, FRAME# 신호가 디어설트될 때 그 트랜잭션은 마지막 데이터를 처리하고 끝난다. AD(31:0) 신호는 메모리 동작이나 입출력 동작 동안에 시스템 어드레스 및 데이터를 전송하는 양방향성의 어드레스/데이타 신호이다.
C/BE#(3:0) 신호는 버스 명령어 및 바이트 인에이블을 전송하는 명령어/바이트 인에이블 신호로서, 어드레스 동작 상태 동안에는 아래의 표 1에 도시한 바와 같은 버스 명령어를 정의하고, 비디오 콘트롤러가 버스 마스터일 때 메모리 리드/라이트 명령어를 발생한다. 그리고 데이터 동작 상태 동안에는 바이트 인에이블로 사용된다.
CBE(3:0)# | 명령어 타입 |
0 2 h ( 0 0 1 0 ) | I/O 리드 |
0 3 h ( 0 0 1 1 ) | I/O 라이트 |
0 6 h ( 0 1 1 0 ) | 메모리 리드 |
0 7 h ( 0 1 1 1 ) | 메모리 라이트 |
0 A h ( 1 0 1 0 ) | 컨피규레이션 리그 |
0 B h ( 1 0 1 1 ) | 컨피규레이션 라이트 |
IDSEL 신호는 PCI 모드에서 컨피규레이션 리드/라이트 사이클 동안에 칩 선택 입력신호로 동작하고, AGP 모드에서 AD(31:16) 및 C/BE(3:2)#의 데이터를 스트로브하는 입력신호로 동작한다. DEVSEL# 신호는 입출력 겸용으로서, 그 출력신호는 비디오 콘트롤러가 그 어드레스를 현재 억세스의 타겟으로 디코드하였을 때 액티브-로우로 구동되며, 비디오 콘트롤러가 버스 마스터일 때에는 입력핀으로 동작하는 디바이스 선택신호이다. 그리고, IRDY# 신호와 TRDY# 신호가 다같이 어설트되는 클럭 사이클에서 데이터 상태가 완료된다.
표 1에 나타낸 바와 같이 C/BE# 신호가 06h (0110) 및 07h (0111) 일 때, 즉 (C/BE#3 C/BE#2 C/BE#1) = ( 0 1 1 )일 때에만 메모리 억세스 사이클이라는 것을 알 수 있다. 그리고 그 다음 클럭에서 DEVSEL# 신호가 액티브-로우가 되면 비디오 메모리 억세스 사이클임이 분명해진다.
도 3은 본 발명에 의한 비디오 콘트롤러에서 메모리 클럭 발생방법을 설명하기 위한 플로우차트이다. 도면에는 일정한 시간 간격을 설정한 다음, 비디오 메모리를 억세스하기 위한 메모리 클럭을 그 시간 간격 단위로 발생하는 과정을 설명한다. 이러한 과정은 각 시간 간격 단위로 반복하여 수행된다.
먼저 전체 버스 사이클의 횟수 및 메모리 사이클의 횟수를 영으로 초기화(31)한 다음 버스 사이클의 시작인지를 첵크한다(32). 첵크된 버스 사이클이 비디오 메모리를 리드 또는 라이트하는 메모리 억세스 사이클인지를 판단하고(33), 만일 그렇다면 비디오 메모리 억세스 사이클의 횟수를 하나 증가시킨다(34). 그리고 버스 사이클마다 전체 버스 사이클의 발생 횟수를 하나 증가시킨다(35).
설정된 시간이 종료되었는지를 첵크(36)하여, 그 시간이 아직 종료되지 않았으면 다시 버스 사이클을 첵크하여 메모리 억세스 사이클의 횟수 및 전체 버스 사이클의 횟수를 카운트-업한다(32-35). 만일 설정된 시간이 종료되었으면, 그 시간 동안의 전체 버스 사이클에 대한 비디오 메모리 억세스 사이클의 점유율을 판단한다(37). 계산된 점유율에 따라 메모리 클럭 주파수를 가변하여 설정하고(38), 그 설정된 메모리 클럭 주파수에 따라 메모리 클럭을 발생한다(39).
여기서, 전체 사이클 카운트과정(35)은 버스 사이클의 시작에서 어설트되고 그 종료시에 디어설트되는 프레임신호(FRAME#)를 카운트하여 전체 사이클의 발생 횟수를 결정한다. 메모리 클럭 주파수 설정과정(38)은 초기 메모리 클럭 주파수를 미리 정의된 최대 주파수로 설정하고, 측정된 점유율의 증감에 비례하여 메모리 클럭 주파수를 증감시키며, 또는 초기 메모리 클럭 주파수를 최대 주파수의 중간 주파수로 설정할 수도 있다.
상술한 바와 같은 과정을 16개의 버스 사이클 단위로 메모리 클럭 주파수를 가변하여 설정할 수 있는 경우를 예로 들어 설명한다. 먼저 처음 16개의 버스 사이클 중에서 메모리 억세스 사이클의 수를 제1레지스터에 저장하고, 그 다음 16개의 버스 사이클 중에서 메모리 억세스 사이클의 수를 제2레지스터에 저장한다. 만일 제2레지스터의 값이 제1레지스터의 값보다 크면 그 차이에 대응하여 클럭 주파수를 높이고, 그렇지 않으면 그 차이에 대응하여 클럭 주파수를 낮춘다. 만일 그 값 차이가 소정의 기준값(예를 들어 4) 이상 차이날 경우에만 클럭 주파수를 가변하도록 할 수도 있다.
도 4는 본 발명에 의한 비디오 콘트롤러에서 메모리 클럭 발생장치의 블록도이다.
전체 사이클 계수부(41)는 버스 사이클의 시작에서 어설트되고 그 종료시에 디어설트되는 프레임신호(FRAME#)를 입력으로 받아들여 그 펄스의 수를 카운트하여, 전체 버스 사이클의 횟수를 카운트한다.
메모리 사이클 계수부(42)는 비디오 메모리를 리드 또는 라이트하는 비디오 메모리 억세스 사이클인지의 여부를 판단하여 메모리 억세스 사이클의 횟수를 카운트한다. 메모리 사이클 계수부(42)는 버스 명령어를 정의하는 명령어/바이트 인에이블 신호(C/BE#) 및 비디오 콘트롤러가 그 어드레스를 현재 억세스의 타겟으로 디코드하였을 때 액티브-로우로 구동되는 선택신호(DEVSEL#)가 입력되어 그 신호의 상태에 따라 메모리 억세스 사이클의 횟수를 카운트한다. C/BE# 신호의 상위 3비트의 값이 11일 때 메모리 리드/라이트 사이클이므로, 메모리 사이클 계수부(42)는 이 3비트를 입력으로하는 논리회로 및 카운터로서 용이하게 구성할 수 있다. 그리고 선택신호(DEVSEL#)를 첵크해 봄으로써 메모리 억세스 사이클인지를 재확인할 수 있다.
시간 설정부(43)는 소정의 시간을 설정하여, 그 시간 단위로 전체 사이클 계수부(41) 및 메모리 사이클 계수부(42)의 카운트 값을 리셋한다. 예를 들어, 시간 단위는 임의 개수의 버스 사이클(예를 들어, 16개의 버스 사이클)에 대응하는 시간 으로 설정할 수 있다.
점유율 판단부(44)는 시간 설정부(43)에서 설정된 시간 단위로, 전체 버스 사이클에 대한 비디오 메모리 억세스 사이클의 점유율을 판단한다. 주파수 설정부(45)는 그 점유율에 따라 메모리 클럭의 주파수를 가변하여 설정한다. 주파수 설정부(45)는 초기 메모리 클럭 주파수를 미리 정의된 최대 주파수로 설정하거나 또는 최대 주파수의 중간값으로 설정한 다음, 측정된 점유율의 증감에 비례하여 메모리 클럭 주파수를 소정의 시간 단위로 증감시킬 수 있다. 즉, 점유율이 100%일 때에는 최대 주파수로, 점유율이 80%일 때에는 최대 주파수의 80% 값으로, 점유율이 30%일 때에는 최대 주파수의 30% 값으로 설정할 수 있으며, 반드시 정비례 관계가 아니라 시스템 성능에 맞도록 임의의 비율로 적절하게 설정할 수도 있다. 주파수 발생부(46)는 주파수 설정부(45)에서 설정된 메모리 클럭 주파수에 따라 메모리 클럭(MCLK)을 발생한다.
도 5는 메모리 사이클 계수부(42)를 구성하는 일 예를 도시한 것이다. 논리합 회로(51)는 C/BE1# 비트, C/BE2# 비트 및 인버터한 C/BE3# 비트를 논리합하고, 카운터(52)는 논리합회로(51)의 출력이 논리 하이일 때 카운트 값을 하나씩 증가시킨다.
도 6은 본 발명에 의한 메모리 클럭 발생장치를 구비하는 비디오 콘트롤러의 블록도이다.
비디오 메모리(61)는 모니터로 전송해야 할 화상 데이터를 저장한다. 버스인터페이스(63)는 CPU(도시되지 아니함)로부터 호스트 버스를 통하여 전송된 명령어를 수신하며, 순차제어기(62) 및 주파수 설정부(64)로 필요한 신호를 전송한다. 순차제어기(62)는 버스인터페이스(62)에서 수신된 명령어에 따라 비디오 메모리에 대한 리드/라이트를 제어하기 위한 어드레스, 데이터 및 제어신호를 발생한다.
주파수 설정부(64)는 버스인터페이스(62)로부터 FRAME# 신호 및 C/BE# 신호를 입력으로 하여, 전체 버스 사이클에 대한 비디오 메모리 억세스 사이클의 점유율에 따라 비디오 메모리 억세스용 메모리 클럭의 주파수를 소정의 시간 단위로 가변하여 설정하며, 그 자세한 구성에 대해서는 전술한 바 있다. 주파수 발생부(65)는 설정된 메모리 클럭 주파수에 따라 메모리 클럭(MCLK)을 발생한다.
이상에서 설명한 바와 같이, 본 발명에 의한 비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치는 시스템의 부하가 많아지면 메모리 클럭 주파수를 최대로 높여 시스템의 성능을 향상시키고 부하가 적을 때에는 자동적으로 메모리 클럭 주파수를 낮춰주므로써, 메모리 억세스 사이클의 수가 많아지면 메모리 클럭의 주파수를 최대로 높여 최고의 성능을 발휘할 수 있을 뿐만 아니라 메모리 억세스의 수가 작아지면 자동적으로 메모리 클럭 주파수를 낮추어 칩의 소비전력을 최소화할 수 있는 잇점이 있다.
Claims (12)
- 비디오 콘트롤러에서 비디오 메모리를 억세스하기 위한 메모리 클럭을 발생하는 방법에 있어서,소정의 시간 동안 전체 버스 사이클의 발생 횟수를 카운트하는 전체 사이클 카운트과정;상기 소정의 시간과 같은 시간 동안 상기 비디오 메모리를 리드 또는 라이트하는 비디오 메모리 억세스 사이클의 횟수를 카운트하는 메모리 사이클 카운트과정;상기 카운트된 전체 버스 사이클에 대한 상기 카운트된 비디오 메모리 억세스 사이클의 점유율을 판단하는 점유율 판단과정;상기 점유율에 따라 메모리 클럭 주파수를 가변하여 설정하는 메모리 클럭 주파수 설정과정; 및상기 설정된 메모리 클럭 주파수에 따라 메모리 클럭을 발생하는 과정을 포함함을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생방법.
- 제1항에 있어서, 상기 전체 사이클 카운트과정은버스 사이클의 시작에서 어설트되고 그 종료시에 디어설트되는 프레임신호를 카운트하여 전체 사이클의 발생 횟수를 결정함을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생방법.
- 제1항에 있어서, 상기 메모리 클럭 주파수 설정과정은초기 메모리 클럭 주파수를 미리 정의된 최대 주파수로 설정하고, 상기 측정된 점유율의 증감에 비례하여 메모리 클럭 주파수를 상기 소정의 시간 단위로 증감시킴을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생방법.
- 제3항에 있어서, 상기 메모리 클럭 주파수 설정과정은초기 메모리 클럭 주파수를 최대 주파수의 중간 주파수로 설정함을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생방법.
- 제1항에 있어서, 상기 소정의 시간은 16개의 버스 사이클에 대응하는 시간임을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생방법.
- 비디오 콘트롤러에서 비디오 메모리를 억세스하기 위한 메모리 클럭을 발생하는 장치에 있어서,전체 버스 사이클의 횟수를 카운트하기 위한 전체 사이클 계수수단;비디오 메모리를 리드 또는 라이트하는 비디오 메모리 억세스 사이클인지의 여부를 판단하여 메모리 억세스 사이클의 횟수를 카운트하기 위한 메모리 사이클 계수수단;소정의 시간 단위로 상기 전체 사이클 계수수단 및 상기 메모리 사이클 계수수단의 카운트 값을 리셋하기 위한 시간 설정수단;상기 시간 설정수단에서 설정된 시간 단위로, 상기 전체 버스 사이클에 대한 상기 비디오 메모리 억세스 사이클의 점유율을 판단하기 위한 점유율 판단수단;상기 점유율에 따라 메모리 클럭의 주파수를 가변하여 설정하기 위한 주파수 설정수단; 및상기 설정된 메모리 클럭 주파수에 따라 메모리 클럭을 발생하기 위한 주파수 발생수단를 포함하여,상기 소정의 시간 단위로 상기 점유율을 정기적으로 판단하여 메모리 클럭 주파수를 가변함을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생장치.
- 제6항에 있어서, 상기 전체 사이클 계수수단은버스 사이클의 시작에서 어설트되고 그 종료시에 디어설트되는 프레임신호를 카운트함을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생장치.
- 제6항에 있어서, 상기 주파수 설정수단은초기 메모리 클럭 주파수를 미리 정의된 최대 주파수로 설정하고, 상기 측정된 점유율의 증감에 비례하여 메모리 클럭 주파수를 상기 소정의 시간 단위로 증감시킴을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생장치.
- 제6항에 있어서, 상기 주파수 설정수단은초기 메모리 클럭 주파수를 최대 주파수의 중간값으로 설정하고, 상기 측정된 점유율의 증감에 비례하여 메모리 클럭 주파수를 상기 소정의 시간 단위로 증감시킴을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생장치.
- 제6항에 있어서, 상기 시간 설정수단은상기 소정의 시간 단위를 16개의 버스 사이클에 대응하는 시간 단위로 설정함을 특징으로 하는 비디오 콘트롤러에서 메모리클럭 발생장치.
- 모니터로 전송해야 할 화상 데이터를 저장하는 비디오 메모리;CPU로부터 호스트 버스를 통하여 전송된 명령어를 수신하는 버스인터페이스;상기 버스인터페이스에서 수신된 명령어에 따라 상기 비디오 메모리에 대한 리드/라이트를 제어하기 위한 어드레스, 데이터 및 제어신호를 발생하는 제어수단;소정의 시간 단위로, 전체 버스 사이클에 대한 비디오 메모리 억세스 사이클의 점유율에 따라 비디오 메모리 억세스용 메모리 클럭의 주파수를 가변하여 설정하기 위한 주파수 설정수단; 및상기 설정된 메모리 클럭 주파수에 따라 메모리 클럭을 발생하기 위한 주파수 발생수단을 포함하는 것을 특징으로 하는 비디오 콘트롤러.
- 제11항에 있어서, 상기 주파수 설정수단은전체 버스 사이클의 횟수를 카운트하기 위한 전체 사이클 계수수단;비디오 메모리를 리드 또는 라이트하는 비디오 메모리 억세스 사이클인지의 여부를 판단하여 메모리 억세스 사이클의 횟수를 카운트하기 위한 메모리 사이클 계수수단;소정의 시간 단위로 상기 전체 사이클 계수수단 및 상기 메모리 사이클 계수수단의 카운트 값을 리셋하기 위한 시간 설정수단;상기 시간 설정수단에서 설정된 시간 단위로, 상기 전체 버스 사이클에 대한 상기 비디오 메모리 억세스 사이클의 점유율을 판단하기 위한 점유율 판단수단; 및상기 점유율에 따라 비디오 메모리 억세스용 메모리 클럭의 주파수를 가변하여 설정하기 위한 주파수 설정수단을 포함하는 것을 특징으로 하는 비디오 콘트롤러.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970047213A KR100238188B1 (ko) | 1997-09-12 | 1997-09-12 | 비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치 |
US09/152,502 US6112310A (en) | 1997-09-12 | 1998-09-14 | Technique for generating memory clock in video controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970047213A KR100238188B1 (ko) | 1997-09-12 | 1997-09-12 | 비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990025548A true KR19990025548A (ko) | 1999-04-06 |
KR100238188B1 KR100238188B1 (ko) | 2000-01-15 |
Family
ID=19521269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970047213A KR100238188B1 (ko) | 1997-09-12 | 1997-09-12 | 비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6112310A (ko) |
KR (1) | KR100238188B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101288667B1 (ko) * | 2010-06-23 | 2013-07-22 | 인텔 코포레이션 | 적응적 메모리 주파수 스케일링 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6460125B2 (en) * | 1998-08-07 | 2002-10-01 | Ati Technologies, Inc. | Dynamic memory clock control system and method |
US6657634B1 (en) | 1999-02-25 | 2003-12-02 | Ati International Srl | Dynamic graphics and/or video memory power reducing circuit and method |
US6820209B1 (en) * | 1999-07-15 | 2004-11-16 | Apple Computer, Inc. | Power managed graphics controller |
US7124285B2 (en) * | 2001-03-29 | 2006-10-17 | Intel Corporation | Peak power reduction when updating future file |
US7903116B1 (en) * | 2003-10-27 | 2011-03-08 | Nvidia Corporation | Method, apparatus, and system for adaptive performance level management of a graphics system |
US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
US7343508B2 (en) | 2004-03-05 | 2008-03-11 | Ati Technologies Inc. | Dynamic clock control circuit for graphics engine clock and memory clock and method |
US7500123B2 (en) * | 2004-06-28 | 2009-03-03 | Ati Technologies Ulc | Apparatus and method for reducing power consumption in a graphics processing device |
US7827424B2 (en) * | 2004-07-29 | 2010-11-02 | Ati Technologies Ulc | Dynamic clock control circuit and method |
US7711966B2 (en) * | 2004-08-31 | 2010-05-04 | Qualcomm Incorporated | Dynamic clock frequency adjustment based on processor load |
US7800621B2 (en) * | 2005-05-16 | 2010-09-21 | Ati Technologies Inc. | Apparatus and methods for control of a memory controller |
US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8438410B2 (en) | 2010-06-23 | 2013-05-07 | Intel Corporation | Memory power management via dynamic memory operation states |
US8799685B2 (en) | 2010-08-25 | 2014-08-05 | Advanced Micro Devices, Inc. | Circuits and methods for providing adjustable power consumption |
US10838646B2 (en) | 2011-07-28 | 2020-11-17 | Netlist, Inc. | Method and apparatus for presearching stored data |
US10198350B2 (en) | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US10380022B2 (en) | 2011-07-28 | 2019-08-13 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
US10372551B2 (en) | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
US10248328B2 (en) | 2013-11-07 | 2019-04-02 | Netlist, Inc. | Direct data move between DRAM and storage on a memory module |
KR102086719B1 (ko) | 2014-03-11 | 2020-03-09 | 삼성전자주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4893271A (en) * | 1983-11-07 | 1990-01-09 | Motorola, Inc. | Synthesized clock microcomputer with power saving |
US4819164A (en) * | 1983-12-12 | 1989-04-04 | Texas Instruments Incorporated | Variable frequency microprocessor clock generator |
JP2507833B2 (ja) * | 1990-12-25 | 1996-06-19 | 三菱電機株式会社 | マイクロコンピュ−タ |
US5378935A (en) * | 1991-06-18 | 1995-01-03 | Nokia Mobile Phones Ltd. | Clock frequency adjustment of an electrical circuit |
US5524249A (en) * | 1994-01-27 | 1996-06-04 | Compaq Computer Corporation | Video subsystem power management apparatus and method |
US5513340A (en) * | 1994-02-14 | 1996-04-30 | Dell Usa, L.P. | Video memory clock selection circuit and method |
US5615376A (en) * | 1994-08-03 | 1997-03-25 | Neomagic Corp. | Clock management for power reduction in a video display sub-system |
US5771373A (en) * | 1994-12-22 | 1998-06-23 | Texas Instruments Incorporated | Power management masked clock circuitry, systems and methods |
US5623647A (en) * | 1995-03-07 | 1997-04-22 | Intel Corporation | Application specific clock throttling |
US5630145A (en) * | 1995-05-05 | 1997-05-13 | United Microelectronics Corp. | Method and apparatus for reducing power consumption according to bus activity as determined by bus access times |
US5758133A (en) * | 1995-12-28 | 1998-05-26 | Vlsi Technology, Inc. | System and method for altering bus speed based on bus utilization |
US5781768A (en) * | 1996-03-29 | 1998-07-14 | Chips And Technologies, Inc. | Graphics controller utilizing a variable frequency clock |
US5774704A (en) * | 1996-07-29 | 1998-06-30 | Silicon Graphics, Inc. | Apparatus and method for dynamic central processing unit clock adjustment |
US5951661A (en) * | 1997-08-15 | 1999-09-14 | Compaq Computer Corporation | Bus protocol violation monitor systems and methods |
-
1997
- 1997-09-12 KR KR1019970047213A patent/KR100238188B1/ko not_active IP Right Cessation
-
1998
- 1998-09-14 US US09/152,502 patent/US6112310A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101288667B1 (ko) * | 2010-06-23 | 2013-07-22 | 인텔 코포레이션 | 적응적 메모리 주파수 스케일링 |
Also Published As
Publication number | Publication date |
---|---|
US6112310A (en) | 2000-08-29 |
KR100238188B1 (ko) | 2000-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100238188B1 (ko) | 비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치 | |
US7043611B2 (en) | Reconfigurable memory controller | |
EP0549164B1 (en) | Memory controller with snooping mechanism | |
US5220651A (en) | Cpu-bus controller for accomplishing transfer operations between a controller and devices coupled to an input/output bus | |
KR100353348B1 (ko) | 마이크로프로세서 | |
US6134638A (en) | Memory controller supporting DRAM circuits with different operating speeds | |
US5873114A (en) | Integrated processor and memory control unit including refresh queue logic for refreshing DRAM during idle cycles | |
EP0553338B1 (en) | High-performance dynamic memory system | |
US7904641B2 (en) | Processor system using synchronous dynamic memory | |
US4556952A (en) | Refresh circuit for dynamic memory of a data processor employing a direct memory access controller | |
EP0307945B1 (en) | Memory control apparatus for use in a data processing system | |
JPH0642226B2 (ja) | データ処理システム | |
JP2762138B2 (ja) | メモリコントロールユニット | |
US5721882A (en) | Method and apparatus for interfacing memory devices operating at different speeds to a computer system bus | |
US5822753A (en) | Information processing system with a memory control unit for refreshing a memory | |
EP0463775A2 (en) | Multiple speed expansion card | |
US6490638B1 (en) | General purpose bus with programmable timing | |
US5657055A (en) | Method and apparatus for reading ahead display data into a display FIFO of a graphics controller | |
US5229758A (en) | Display device controller and method | |
KR20030097700A (ko) | 데이터 프로세서 | |
JPH1124644A (ja) | 表示用メモリ制御装置 | |
JPH0258793A (ja) | Dram制御装置 | |
KR100452332B1 (ko) | 데이터 읽기 및 쓰기 속도 개선 방법 | |
JPH07146814A (ja) | メモリ装置 | |
JP2003036241A (ja) | ウェイトサイクル制御装置およびウェイトサイクル制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120927 Year of fee payment: 14 |
|
FPAY | Annual fee payment |
Payment date: 20130927 Year of fee payment: 15 |
|
LAPS | Lapse due to unpaid annual fee |