KR19990036270A - Memory associated system and frame buffers, and systems and methods of using the same - Google Patents

Memory associated system and frame buffers, and systems and methods of using the same Download PDF

Info

Publication number
KR19990036270A
KR19990036270A KR1019980700938A KR19980700938A KR19990036270A KR 19990036270 A KR19990036270 A KR 19990036270A KR 1019980700938 A KR1019980700938 A KR 1019980700938A KR 19980700938 A KR19980700938 A KR 19980700938A KR 19990036270 A KR19990036270 A KR 19990036270A
Authority
KR
South Korea
Prior art keywords
frame buffer
memory
display
processing system
area
Prior art date
Application number
KR1019980700938A
Other languages
Korean (ko)
Inventor
지 알 모헨 라오
Original Assignee
로버트 에프. 도노휴
사이러스 로직, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로버트 에프. 도노휴, 사이러스 로직, 인코포레이티드 filed Critical 로버트 에프. 도노휴
Publication of KR19990036270A publication Critical patent/KR19990036270A/en

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/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • 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/122Tiling
    • 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/125Frame memory handling using unified memory architecture [UMA]
    • 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

Landscapes

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

Abstract

처리 시스템(100)은 시스템 메모리 영역(109)과 다수의 프레임 버퍼 영역(110/111)을 구비하는 연합 메모리 시스템(105)을 포함한다. 중앙 처리 장치(101)는 자신의 어드레스 영역 내에 연합 시스템 메모리(105)를 구비하고, 프레임 버퍼 영역(110/111)으로부터의 제 1의 선택된 영역 내의 디스플레이 데이터를 갱신하도록 하는 반면, 프레임 버퍼 영역(110/111) 중 제 2의 선택된 영역으로부터의 디스플레이 데이터가 관련 디스플레이 장치의 디스플레이 스크린의 리프레쉬를 위한 데이터를 제공하도록, 동작할 수 있다.Processing system 100 includes a federated memory system 105 having a system memory region 109 and a plurality of frame buffer regions 110/111. The central processing unit 101 has an associated system memory 105 in its address area and allows to update the display data in the first selected area from the frame buffer areas 110/111, while the frame buffer area ( And display data from the second selected area of 110/111 to provide data for refreshing the display screen of the associated display device.

Description

시스템과 프레임 버퍼를 연합한 메모리, 및 이를 사용하는 시스템 및 방법Memory associated system and frame buffers, and systems and methods of using the same

비디오/그래픽 디스플레이 성능을 구비한 통상적인 처리 시스템은, 중앙 처리 장치(central processing unit : CPU), CPU 로컬 버스에 의해(직접 및/또는 코어(core) 논리 회로를 통해) CPU와 연결된 디스플레이 제어기, 코어 논리 회로를 통해 상기 CPU 로컬 버스에 연결된 시스템 메모리, 주변 로컬 버스(예컨대, PCI)를 통해 디스플레이 제어기에 연결된 프레임 버퍼 메모리, 주변 장치 회로(예컨대, 클록 구동기 및 신호 변환기, 디스플레이 구동기 회로), 및 디스플레이 유니트를 포함한다.Conventional processing systems with video / graphical display capabilities include a central processing unit (CPU), a display controller connected to the CPU by a CPU local bus (directly and / or via core logic circuitry), System memory coupled to the CPU local bus via a core logic circuit, frame buffer memory coupled to the display controller via a peripheral local bus (eg, PCI), peripheral circuitry (eg, clock drivers and signal converters, display driver circuits), and It includes a display unit.

CPU는 시스템 마스터이고, 일반적으로 소프트웨어 동작 시스템(OS)과 관련하여 전반적인 시스템 제어를 제공한다. 무엇보다도, CPU는 코어 논리 회로를 통해, 프로그램 실행을 위해 필요한 지령 및 데이터를 유지하는 시스템 메모리와 통신한다. 통상적으로, 코어 논리 회로는 2 내지 7개의 칩으로 이루어지고, 하나 이상의 칩은 "어드레스 관련"("address intensive")이고, 하나 이상의 다른 칩은 "데이터 경로 관련"("data path intensive")이다. CPU는 또한 사용자 명령 및 프로그램 지령에 따라, 디스플레이 유니트에 디스플레이될 그래픽 영상의 내용을 디스플레이 제어기를 통해 제어한다.The CPU is the system master and generally provides overall system control in relation to the software operating system (OS). First of all, the CPU communicates with the system memory through the core logic circuitry to hold instructions and data necessary for program execution. Typically, the core logic circuit consists of two to seven chips, one or more chips being "address intensive" and one or more other chips being "data path intensive". . The CPU also controls, via the display controller, the content of the graphical image to be displayed on the display unit, in accordance with user instructions and program instructions.

예컨대, 비디오 그래픽 구조(VGA) 제어기와 같은, 디스플레이 제어기는, 일반적으로 CPU와 디스플레이 구동기 회로를 인터페이스시키고, 프레임 버퍼와 CPU 사이의 그래픽 및/또는 비디오 데이터의 교환, 및 디스플레이 데이터가 갱신되고 스크린이 리프레쉬(refresh)될 때의 디스플레이를 관리하고, 프레임 버퍼 메모리 동작을 제어하고, 그래픽 또는 비디오 데이터에 대한 부가적인 기본 처리를 수행한다. 예컨대, 디스플레이 제어기는 선 그리기(line draw) 및 다각형 채움(polygon fill)과 같은 동작의 수행 성능을 포함할 수 있다. 디스플레이 제어기는 대부분의 경우 CPU에 대한 종속 장치(slave)이다.For example, a display controller, such as a video graphics structure (VGA) controller, generally interfaces the CPU with the display driver circuitry, exchanges graphics and / or video data between the frame buffer and the CPU, and updates the display data and displays the screen. Manages display when refreshed, controls frame buffer memory operations, and performs additional basic processing on graphics or video data. For example, the display controller can include the performance of performing operations such as line drawing and polygon fill. The display controller is in most cases a slave to the CPU.

일반적으로, CPU 그 자체는, 디스플레이된 영상(데이터)에서의 변화가 요구될 때, 디스플레이 화면을 갱신하기 위해 필요한 디스플레이 데이터를 제공한다. CPU에 대한 경비 부담(PCI 버스 또는 다른 버스 상의 대역폭의 제한도 함께)과 디스플레이 제어기 기록 버퍼의 크기에 대한 제한 때문에, 갱신된 디스플레이 데이터는 시스템 메모리 내에서 생성되고 저장된다. 디스플레이 기록 버퍼가 용량을 갖고, CPU 시간이 유용할 때, CPU는 코어 논리 회로와 CPU 로컬 버스를 통해, 시스템 메모리로부터 요구되는 정보(통상적으로 프레임 버퍼 및 픽셀 데이터에 대한 어드레스)를 판독하고, 이들 데이터를 코어 논리 회로와 PCI 버스를 통해 디스플레이 제어기의 기록 버퍼에 기록한다. 디스플레이 갱신 동안, 데이터의 각 워드(word)를 디스플레이 제어기에 기록하기 위하여, 복수의 CPU 주기(즉, 판독 및 기록 주기)가 요구된다. CPU 주기의 효율적인 사용이, 다른 동작을 위하여 PCI (로컬) 버스를 사용하지 않는 것은 말할 것도 없고, 보다 더 빠른 처리 속도와 확장된 성능에 결정적일 때, 이것은 심각한 단점을 생성한다. 디스플레이 갱신 속도는 제어기 상의 기록 버퍼의 깊이와 PCI 로컬 버스의 대역폭에 의해 제한되기도 한다.In general, the CPU itself provides the display data necessary for updating the display screen when a change in the displayed image (data) is required. Because of the cost burden on the CPU (along with the limitation of bandwidth on the PCI bus or other bus) and the limitation on the size of the display controller write buffer, the updated display data is created and stored in system memory. When the display write buffer has capacity and CPU time is useful, the CPU reads the required information (usually the address for the frame buffer and pixel data) from the system memory, via the core logic circuitry and the CPU local bus, Data is written to the display controller's write buffer via the core logic circuit and the PCI bus. During display update, a plurality of CPU cycles (ie, read and write cycles) are required to write each word of data to the display controller. This is a serious drawback when the efficient use of CPU cycles is crucial to faster processing speeds and expanded performance, not to mention not using a PCI (local) bus for other operations. The display update rate is also limited by the depth of the write buffer on the controller and the bandwidth of the PCI local bus.

상술한 종래의 처리/디스플레이 시스템 구조에서 통상적으로 발견되는 다른 문제점은 미사용 메모리 공간이다. 현재, 통상적인 시스템 메모리는 그 크기가 4 내지 8 메가바이트이다. 예견할 수 있는 미래에 있어서, 시스템 메모리는 새로운 OS가 개발됨에 따라 16 메가바이트까지 그 크기가 증가할 수 있다. 종래의 개인용 컴퓨터에 있어서, 주 메모리로도 알려진 시스템 메모리는 정상적으로 다이내믹 RAM 장치(DRAMs)로 구성된다. 상업용 DRAM은 그 밀도가 4배의 곱으로만 구성되고(즉, 256 KB, 1 MB, 4 MB), 어드레스 지정 가능한 각 저장 위치의 최대 크기는 16 폭의 크기이다. 따라서, 각 개별 장치의 전체 용량이 사용되지 않는다 할지라도, 시스템 메모리(오늘날의 PC 시스템을 위해서는 64 내지 72 비트 폭이 필요)를 구성하기 위해 정상적으로 복수의 칩이 요구된다. 예컨대, 64 비트 폭의 데이터 버스를 지원하기 위하여, 뱅크마다 16 비트의 4 개의 병렬로 된 장치가 요구된다. 256 KB 또는 1 MB 장치 중 어느 것이 사용되는 지에 따라, 각 뱅크는 각각 1 MB 또는 4 MB의 대응 용량을 갖는다. 예컨대 3 MB의 중간 용량이 뱅크마다 요구된다면, 보다 더 큰 증가분이 선택되어야 하고, 일부 메모리는 미사용으로 된다. 이러한 문제점은, 동작 효율을 위하여 CPU는 필연적으로 메모리 내에서 데이터를 서로 인접하여 저장하지 않으므로, 시스템 메모리 공간의 사용은 역시 최적 이하라는 사실에 의해, 도를 더하게 된다.Another problem commonly found in the conventional processing / display system architecture described above is unused memory space. Currently, typical system memory is 4 to 8 megabytes in size. In the foreseeable future, system memory may grow in size up to 16 megabytes as new operating systems are developed. In conventional personal computers, system memory, also known as main memory, is normally composed of dynamic RAM devices (DRAMs). Commercial DRAM consists of only four times its density (i.e. 256 KB, 1 MB, 4 MB), and the maximum size of each addressable storage location is 16 widths. Thus, even if the total capacity of each individual device is not used, a plurality of chips are normally required to form system memory (64 to 72 bits wide for today's PC systems). For example, to support a 64-bit wide data bus, four parallel units of 16 bits are required per bank. Depending on which of the 256 KB or 1 MB devices is used, each bank has a corresponding capacity of 1 MB or 4 MB, respectively. For example, if an intermediate capacity of 3 MB is required per bank, a larger increment must be chosen and some memory is unused. This problem is further illustrated by the fact that the CPU does not necessarily store data adjacent to each other in memory for operational efficiency, so that the use of system memory space is also less than optimal.

메모리 공간의 최적 이하의 사용은 통상적인 프레임 버퍼 구성에서도 발견된다. 프레임 버퍼는 통상적으로 클(통상적으로 0.8 내지 1.25 MB 범위 내임) 필요는 없지만, 디스플레이 리프레쉬를 하기 위해 필요한 대역폭이 될 필요가 있다. 예컨대, 프레임 버퍼가 디스플레이 제어기에 대한 64-비트 폭의 데이터 버스를 지원한다고 가정한다. 이러한 버스를 지원하기 위하여 4개의 병렬로 연결된 16 비트의 DRAM이 필요하다. 16 비트 DRAM에 의한 종래 256KB의 사용된다면, 프레임 버퍼는 2 MB의 전체 용량을 갖는다. 따라서, 가장 큰 프레임 버퍼(즉, 1.25 MB)에 대해서조차, 상당한 양의 메모리 공간은 미사용으로 된다.Sub-optimal use of memory space is also found in conventional frame buffer configurations. The frame buffer typically does not need to be large (typically in the range of 0.8 to 1.25 MB), but needs to be the bandwidth required for display refresh. For example, suppose the frame buffer supports a 64-bit wide data bus for the display controller. To support this bus, four parallel 16-bit DRAMs are required. If a conventional 256KB of 16-bit DRAM is used, the frame buffer has a total capacity of 2 MB. Thus, even for the largest frame buffer (i.e., 1.25 MB), a significant amount of memory space is unused.

따라서, 처리 및 디스플레이 시스템에서 메모리를 보다 더 효율적으로 구성하고 관리하기 위한 개선된 장치, 시스템 및 방법에 대한 필요성이 대두된다. 특히, 디스플레이 갱신 도중 CPU 동작 주기를 보존하기 위한 기술에 대한 필요성이 야기된다. 유리하게, 이러한 기술은, 다른 중요한 동작을 수행하도록 CPU를 자유롭게 하고, 따라서 전체 시스템 성능을 개선한다. 부가적으로, 디스플레이 처리 시스템에 요구되는 시스템 및 프레임 버퍼 메모리를 보다 효율적으로 구성하고 관리하기 위한 회로, 시스템 및 방법에 대한 필요성이 대두된다. 특히, 이러한 장치의 시스템 및 방법은 이러한 메모리를 구성하는데 요구되는 장치의 수를 최소화해야만 한다. 결과적으로, 보다 더 간결하고, 값싸며, 효율적인 시스템 구조가 실현될 수 있다. 이들 메모리, 특히 DRAM은, 다중화된 어드레스/RAS-CAS 형 시스템, 또는 다중 클록/동기 DRAM(이제 산업계에서 고려중인), 또는 동기 그래픽 DRAM 또는 특정 인터페이스를 갖는 DRAM이 될 수 있다.Thus, there is a need for improved apparatus, systems, and methods for more efficiently configuring and managing memory in processing and display systems. In particular, there is a need for a technique for preserving CPU operating cycles during display updates. Advantageously, this technique frees the CPU to perform other important operations, thus improving overall system performance. In addition, there is a need for circuits, systems, and methods for more efficiently configuring and managing the system and frame buffer memory required for display processing systems. In particular, the systems and methods of such devices should minimize the number of devices required to construct such memory. As a result, a more compact, cheap and efficient system structure can be realized. These memories, in particular DRAM, may be multiplexed address / RAS-CAS type systems, or multiple clock / synchronous DRAMs (now considered in the industry), or synchronous graphics DRAMs or DRAMs with specific interfaces.

본 발명은, 일반적으로 디스플레이 서브 시스템을 포함하는 데이터 처리 시스템에 관한 것이고, 시스템과 프레임 버퍼를 연합한 메모리, 및 이를 사용하는 시스템 및 방법에 관한 것이다.TECHNICAL FIELD The present invention relates generally to data processing systems including display subsystems, and to memory incorporating the system and frame buffers, and systems and methods of using the same.

도 1은, 본 발명의 원리에 따라 디스플레이 데이터의 생성 및 제어를 하는 처리 시스템의 한 부분에 대한 기능 블록도.1 is a functional block diagram of a portion of a processing system for generating and controlling display data in accordance with the principles of the present invention.

도 2는 도 1에 도시된 연합 메모리의 가능한 구성 중 하나의 기능 블록도.2 is a functional block diagram of one of the possible configurations of the associated memory shown in FIG.

도 3은 도 1의 시스템에서의 한 응용에 적합한 집적된 디스플레이 제어기/연합 메모리 장치의 기능 블록도.3 is a functional block diagram of an integrated display controller / unified memory device suitable for one application in the system of FIG.

상술한 것은, 다음의 본 발명의 상세한 설명이 보다 더 쉽게 이해되도록, 본 발명의 특성 및 기술적 장점을 보다 개략적으로 기술하였다. 본 발명의 청구 범위의 요지를 구성하는 본 발명의 부가적인 특성 및 장점은 이하에서 설명된다. 당업자라면, 개시된 개념 및 특정 실시예는 본 발명의 동일한 목적을 달성하기 위한 다른 구조를 변경하고 설계하기 위한 기본으로서 쉽게 사용될 수 있음을 이해할 수 있을 것이다. 당업자라면 또한, 이러한 등가의 구성은 첨부된 청구 범위에서 주장하는 본 발명의 사상과 범주로부터 벗어나지 않음을 알 수 있을 것이다.The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be more readily understood. Additional features and advantages of the present invention which form the subject of the claims of the present invention are described below. Those skilled in the art will appreciate that the disclosed concepts and specific embodiments can be readily used as a basis for modifying and designing other structures for achieving the same object of the present invention. Those skilled in the art will also appreciate that such equivalent constructions do not depart from the spirit and scope of the invention as claimed in the appended claims.

본 발명의 원리에 따라, 시스템과 프레임 버퍼를 연합한 메모리 시스템을 포함하는 처리 시스템이 개시된다. 연합 메모리 시스템에 있어서, 프레임 버퍼 메모리와 시스템 메모리는 단일 집적 회로 또는 집적 회로의 단일 뱅크 내에 할당된다. 이점은, 프레임 버퍼 메모리가 개별적이고, 시스템 메모리로부터 분리되며, 디스플레이 제어기를 통해 시스템의 나머지와 인터페이스를 해야만 하는, 현재 유용한 디스플레이 제어 시스템과는 대조적이다. 본 발명의 원리에 따라, 연합 메모리의 프레임 버퍼 영역은 최소한 2개의 물리적인 메모리 블록을 포함한다. 하나의 블록은 디스플레이 제어기나 CPU에 의해 스크린 리프레쉬를 하는데 사용된다. 제 2의 블록은 디스플레이 데이터 갱신을 위해 사용된다. 유리하게, 시스템 CPU는 원하는 위치에 직접 기록함으로써 갱신 정보 프레임 버퍼 블록에서 데이터를 갱신할 수 있다. 더욱이 이들 갱신은, 리프레쉬 버퍼가 그 디스플레이 화면의 리프레쉬를 위한 데이터를 제공하는 동안, 갱신 버퍼에 대해 이루어질 수 있다. 이러한 점은, 갱신을 수행하기 위하여, CPU가 우선 시스템 메모리에서 갱신 데이터를 저장/검색하고, 시스템 메모리로부터 그 데이터를 판독한 후, 그 데이터를 디스플레이 제어기의 기록 버퍼에 기록하여야만 하는, 현재 유용한 시스템과는 대조적이다. 본 발명의 원리는, 판독이 리프레쉬 버퍼로부터 직접 이루어질 수 있기 때문에, 소중한 시스템 동작 주기를 보호하는 것뿐만 아니라, 디스플레이 제어기에서 기록 버퍼의 제거를 가능케 하기도 한다.In accordance with the principles of the present invention, a processing system including a memory system incorporating a system and a frame buffer is disclosed. In a federated memory system, frame buffer memory and system memory are allocated within a single integrated circuit or a single bank of integrated circuits. This is in contrast to currently available display control systems, where the frame buffer memory is separate, separate from the system memory, and must interface with the rest of the system through the display controller. In accordance with the principles of the present invention, the frame buffer area of the associated memory comprises at least two physical memory blocks. One block is used for screen refresh by the display controller or the CPU. The second block is used for display data update. Advantageously, the system CPU can update data in the update information frame buffer block by writing directly to the desired location. Moreover, these updates can be made to the update buffer while the refresh buffer provides data for refreshing its display screen. This means that in order to perform an update, a currently useful system in which the CPU must first store / retrieve update data in system memory, read the data from system memory, and then write the data to the display controller's write buffer. In contrast to that. The principle of the present invention not only protects valuable system operating cycles since reads can be made directly from the refresh buffer, but also enables the removal of the write buffer in the display controller.

본 발명의 제 1의 실시예에 따라, 시스템 메모리 영역과 다수의 프레임 버퍼 영역을 구비하는 연합 시스템 메모리를 포함하는 처리 시스템이 기술된다. 이러한 처리 시스템은 중앙 처리 장치를 더 포함하는데, 상기 연합 메모리는 중앙 처리 장치의 어드레스 공간 내에 놓인다. 중앙 처리 장치는 프레임 버퍼 영역 중 제 1의 선택된 영역 내의 디스플레이 데이터를 갱신하기 위해 동작할 수 있는 반면, 프레임 버퍼 영역의 제 2의 선택된 영역으로부터의 디스플레이 데이터는 관련 디스플레이 장치의 디스플레이 스크린의 리프레쉬를 위한 데이터를 제공한다.In accordance with a first embodiment of the present invention, a processing system is described that includes an associated system memory having a system memory area and a plurality of frame buffer areas. Such a processing system further includes a central processing unit, wherein the associated memory is placed within the address space of the central processing unit. The central processing unit may be operable to update display data in the first selected area of the frame buffer area, while display data from the second selected area of the frame buffer area is for refreshing the display screen of the associated display device. Provide data.

본 발명의 제 2의 실시예에 따라, 최소한 하나의 시스템 메모리 공간과 제 1 및 제 2의 프레임 버퍼 공간을 포함하는 연합 메모리를 포함하는 처리 시스템이 제공된다. 제 1의 프레임 버퍼 공간에 저장된 디스플레이 데이터를 갱신하기 위한 회로가 처리 시스템의 한 부분으로서 제공된다. 제 1의 프레임 버퍼 공간에 저장된 디스플레이 데이터의 갱신과 실질적으로 동시에, 대응하는 디스플레이를 생성하기 위한, 제 2의 프레임 버퍼 공간에 저장된 디스플레이 데이터를 검색하기 위한 회로도 제공된다. 부가적으로, 처리 시스템은, 대응하는 갱신된 디스플레이를 생성하기 위하여 제 1 프레임 버퍼 공간 내에 저장된 디스플레이 데이터를 검색하기 위한 회로를 포함한다.According to a second embodiment of the present invention, there is provided a processing system comprising an associated memory comprising at least one system memory space and first and second frame buffer spaces. Circuitry for updating display data stored in the first frame buffer space is provided as part of the processing system. Circuitry is also provided for retrieving display data stored in a second frame buffer space for producing a corresponding display substantially simultaneously with updating of display data stored in the first frame buffer space. In addition, the processing system includes circuitry for retrieving display data stored in the first frame buffer space to produce a corresponding updated display.

부가적인 처리 시스템은 본 발명을 구현한다. 처리 시스템은, 중앙 처리 장치, 상기 중앙 처리 장치에 연결된 CPU 로컬 버스, 상기 CPU 로컬 버스에 연결된 코어 논리 회로, 코어 논리 회로와 상술한 버스에 연결된 디스플레이 제어기, 및 상기 코어 논리 회로에 연결되고 시스템 메모리 영역과 다수의 프레임 버퍼 영역을 제공하는 연합 메모리 시스템을 포함한다.Additional processing systems implement the present invention. The processing system includes a central processing unit, a CPU local bus coupled to the central processing unit, a core logic circuit coupled to the CPU local bus, a display controller coupled to the core logic circuit and the aforementioned bus, and a system memory coupled to the core logic circuit. An associated memory system provides an area and a number of frame buffer areas.

본 발명의 원리는 메모리 관리 방법으로도 구현된다. 이러한 방법 중 하나에 있어서, 연합 메모리는 시스템 메모리와 제 1 및 제 2 프레임 버퍼 메모리로 분할된다. 제 1 프레임 버퍼에 저장된 디스플레이 데이터는 갱신되는 반면, 제 2의 프레임 버퍼에 저장된 디스플레이 데이터는 대응하는 디스플레이를 생성하기 위하여 사용된다. 제 1 프레임 버퍼 내의 데이터의 갱신이 종료될 때, 제 1 프레임 버퍼에 저장된 데이터는 대응하는 갱신된 디스플레이를 생성하기 위하여 검색된다.The principles of the present invention are also implemented in a memory management method. In one of these methods, the associated memory is divided into system memory and first and second frame buffer memories. The display data stored in the first frame buffer is updated while the display data stored in the second frame buffer is used to generate the corresponding display. When the update of the data in the first frame buffer ends, the data stored in the first frame buffer is retrieved to produce the corresponding updated display.

본 발명의 원리를 구현하는 시스템은 종래 기술의 것에 대해 상당한 장점을 갖는다. 특히, 다른 중요한 동작을 수행하도록 CPU를 자유롭게 하는 디스플레이 갱신 동안에 이러한 원리는 CPU 동작 주기를 절약할 수 있어서, 전체 시스템 성능을 개선한다. 부가적으로, 본 발명의 연합 시스템 메모리는 처리/디스플레이 시스템에서 요구되는 메모리 공간의 보다 더 효율적인 구성 및 동작을 가능케 한다. 특히, 시스템 메모리 및 프레임 버퍼 메모리를 할당시킴으로써, 미사용 메모리 공간은 최소화될 수 있고, 결과적으로 보다 더 간결하고, 값싸며, 효율적인 시스템이 실현될 수 있다.Systems implementing the principles of the present invention have significant advantages over those of the prior art. In particular, during a display update that frees the CPU to perform other important operations, this principle can save CPU operating cycles, thereby improving overall system performance. Additionally, the federated system memory of the present invention allows for more efficient configuration and operation of the memory space required for processing / display systems. In particular, by allocating system memory and frame buffer memory, unused memory space can be minimized, resulting in a more concise, inexpensive, and efficient system.

현재의 PC 시스템이 CPU 로컬 버스와 그래픽 제어기 사이의 직접 통신(오늘날 CPU와 그래픽 제어기 사이의 모든 통신은 PCI 로컬 버스만을 통해 이루어진다)을 포함하지 않는다 할지라도, 장래에는 이것은 변할 것이다. P6(인텔)과 같은 프로세서가 그래픽/비디오/NSP 오디오 기능을 첨가할 때, CPU 로컬 버스를 통한 CPU와 그래픽 제어기 사이의 직접 통신에 대한 필요성이 존재한다. 이것은 멀티태스킹(multitasking) 상황과 유사하다.Although current PC systems do not include direct communication between the CPU local bus and the graphics controller (all communication between the CPU and the graphics controller today is through the PCI local bus only), this will change in the future. When processors such as P6 (Intel) add graphics / video / NSP audio functionality, there is a need for direct communication between the CPU and the graphics controller via the CPU local bus. This is similar to a multitasking situation.

보다 더 완벽한, 본 발명과 이의 장점의 이해를 위하여, 다음의 도면과 관련된 다음의 설명에 대한 참조가 이루어진다.For a more complete understanding of the invention and its advantages, reference is made to the following description in connection with the following figures.

본 발명의 원리와, 이들의 장점은, 유사한 번호가 유사한 부품을 나타내는, 도 1 내지 도 3에 도시된 도시예를 참조하여 최상으로 이해될 것이다.The principles of the present invention and their advantages will be best understood with reference to the illustration shown in Figs. 1 to 3, wherein like numerals represent like parts.

도 1은, 그래픽 및/또는 비디오 데이터의 디스플레이를 제어하는, 처리 시스템(100)의 일 부에 대한 높은 레벨의 기능 블록도이다. 시스템(100)은 중앙 처리 장치(101), CPU 로컬 버스(102), 코어 논리 회로(103), 디스플레이 제어기(104), 연합 시스템/디스플레이 메모리(105), 디지털 아날로그 변환기(DAC)(106) 및 디스플레이 장치(107)를 포함한다.1 is a high level functional block diagram of a portion of a processing system 100 that controls the display of graphical and / or video data. System 100 includes central processing unit 101, CPU local bus 102, core logic circuit 103, display controller 104, federated system / display memory 105, digital-to-analog converter (DAC) 106. And a display device 107.

CPU(101)는 시스템(100)의 전체 동작을 제어하는 "마스터"("master")이다. 무엇보다도, CPU(101)는 다양한 데이터 처리 기능을 수행하고, 사용자 명령 및/또는 응용 소프트웨어의 실행에 따라, 디스플레이 유니트(107)에 디스플레이될 그래픽 데이터의 내용을 결정한다. CPU(101)는, 예컨대 상업적인 개인용 컴퓨터에서 사용되는 인텔 펜티엄급 마이크로프로세서 및 이와 유사한 것과 같은 범용 마이크로프로세서가 될 수 있다. CPU(101)는, 예컨대 특정 버스 또는 일반 버스(업계에서 공통인)가 될 수 있는 CPU 로컬 버스(102)를 통해, 시스템(100)의 나머지와 통신한다.The CPU 101 is a "master" that controls the overall operation of the system 100. First of all, the CPU 101 performs various data processing functions and determines the contents of the graphic data to be displayed on the display unit 107 in accordance with the execution of user commands and / or application software. The CPU 101 may be a general purpose microprocessor such as, for example, an Intel Pentium class microprocessor and the like used in a commercial personal computer. CPU 101 communicates with the rest of system 100 via CPU local bus 102, which may be, for example, a particular bus or a general bus (common in the industry).

시스템 메모리와 프레임 버퍼 메모리는 단일 집적 회로 또는 집적된 회로의 뱅크 내에 할당되기 때문에, 메모리(105)는 "연합" 메모리 시스템이다. 이것은, 프레임 버퍼 메모리가 개별적이고 시스템 메모리로부터 분리되며, 디스플레이 제어기를 통해 시스템의 나머지와 인터페이스하는, 상술한 종래 기술의 시스템과는 대조적이다.Since the system memory and frame buffer memory are allocated within a single integrated circuit or bank of integrated circuits, the memory 105 is a "associative" memory system. This is in contrast to the prior art system described above, wherein the frame buffer memory is separate and separate from the system memory and interfaces with the rest of the system via the display controller.

코어 논리 회로(103)는, CPU(101)의 제어를 받아, 데이터와, 어드레스와, CPU(101), 디스플레이 제어기(104) 및 연합 메모리(105) 사이의 지령의, 교환을 제어한다. 코어 논리 회로(103)는, 시스템의 나머지 특히 CPU(101)와 호환되도록 설계된, 상업적으로 취득 가능한 다수의 코어 논리 회로 칩 세트 중 임의의 하나일 수 있다. 도시된 시스템에서 칩(112)과 같은 하나 이상의 코어 논리 회로 칩은, "어드레스 관련"인 반면, 도 1의 칩(114)과 같은 하나 이상의 코어 논리 회로 칩은 "데이터 관련"이다. CPU(101)은 코어 논리 회로(103)와 직접 통신하거나, 또는 외부(L2) 캐쉬(115)를 통해 통신할 수 있다. CPU(101)는 또한 내장된 (L1) 캐쉬를 포함할 수 있음을 주목해야 한다. L2 캐쉬(115)는 예컨대 256 KB의 고속 SRAM 장치(들)일 수 있다.The core logic circuit 103 is controlled by the CPU 101 to control the exchange of data, addresses, and instructions between the CPU 101, the display controller 104, and the associated memory 105. The core logic circuit 103 may be any one of a number of commercially available core logic circuit chip sets designed to be compatible with the rest of the system, particularly the CPU 101. In the illustrated system, one or more core logic circuit chips, such as chip 112, are "address related", while one or more core logic circuit chips, such as chip 114 of FIG. 1, are "data related". The CPU 101 may communicate directly with the core logic circuit 103 or via an external (L2) cache 115. It should be noted that the CPU 101 may also include an embedded (L1) cache. L2 cache 115 may be, for example, 256 KB of high speed SRAM device (s).

디스플레이 제어기(104)는 상업적으로 취득 가능한 다수의 VGA 디스플레이 제어기 중 임의의 것이 될 수 있다. 디스플레이 제어기(104)는, 코어 논리 회로(103)를 통하거나, 또는 CPU 로컬 버스(102)를 통해 CPU(101)로부터 직접, 데이터, 지령 및/또는 CPU(101)로부터의 어드레스를 수신할 수 있다. 데이터, 지령 및 어드레스는 코어 논리 회로(103)를 통해 디스플레이 제어기(104)와 연합 메모리(105) 사이에서 교환된다. 더욱이, 어드레스 및 지령은, 예컨대 PCI 로컬 버스와 같은 로컬 버스를 통해, 코어 논리 회로(103)와 디스플레이 제어기(104) 사이에서 교환될 수 있다. 일반적으로, 디스플레이 제어기(104)는 스크린 리프레쉬를 제어하고, 선 그리기, 다각형 채움, 컬러 공간 변환, 디스플레이 데이터 보간 및 줌잉(zooming) 디스플레이 및 비디오 스트림잉(streaming)과 같은 제한된 수의 그래픽 기능을 실행하고, 전원 관리와 같은 다른 보조의 일을 처리한다. 비디오 데이터는 디스플레이 제어기(104)에 직접 입력될 수 있다.Display controller 104 can be any of a number of commercially available VGA display controllers. The display controller 104 may receive data, commands and / or addresses from the CPU 101 via the core logic circuit 103 or directly from the CPU 101 via the CPU local bus 102. have. Data, commands and addresses are exchanged between the display controller 104 and the associated memory 105 via the core logic circuit 103. Moreover, addresses and instructions may be exchanged between the core logic circuit 103 and the display controller 104 via a local bus, such as a PCI local bus. In general, display controller 104 controls screen refresh and executes a limited number of graphics functions, such as line drawing, polygon filling, color space conversion, display data interpolation and zooming display, and video streaming. And do other subsidiary tasks such as power management. Video data may be input directly to the display controller 104.

디지털 아날로그 변환기(106)는 제어기(104)로부터 디지털 데이터를 수신하고, 이에 따라 디스플레이 장치(107)를 구동시키기 위하여 아날로그 데이터를 출력한다. 도시된 실시예에 있어서, DAC(106)는 디스플레이 제어기(104)와 함께 단일 칩으로 집적된다. 시스템(100)의 특정 실행에 따라, 많은 선택 사항을 지정하기 위하여, DAC(106)는 컬러 팔레트, YUV - RGB 포맷 변환 회로, 및/또는 X- 및 Y- 줌밍 회로를 포함할 수 있다. 디스플레이 장치(107)는 예컨대, CRT 유니트, 액정 디스플레이 장치, 전자발광 디스플레이 장치, 플라즈마 디스플레이 장치, 또는 스크린 상에 영상을 다수의 픽셀로 디스플레이하는 다른 형태의 디스플레이 장치가 될 수 있다. 다른 실시예에 있어서, 디스플레이 장치(107)는 레이저 프린터 또는 유사한 서류 관찰/프린트 장치와 같은 다른 형태의 출력 장치가 될 수 있다.The digital analog converter 106 receives digital data from the controller 104 and accordingly outputs analog data to drive the display device 107. In the illustrated embodiment, the DAC 106 is integrated with the display controller 104 into a single chip. Depending on the particular implementation of system 100, to specify many options, DAC 106 may include color palettes, YUV-RGB format conversion circuits, and / or X- and Y- zooming circuits. The display device 107 may be, for example, a CRT unit, a liquid crystal display device, an electroluminescent display device, a plasma display device, or another type of display device for displaying an image in a plurality of pixels on a screen. In other embodiments, display device 107 may be another type of output device, such as a laser printer or similar document viewing / printing device.

본 발명의 원리에 따라, 연합 메모리(105)는 시스템 메모리(109)와 디스플레이 프레임 버퍼를 구현하며, 프레임 버퍼는 프레임 버퍼 블록 A(110)와 프레임 버퍼 블록 B(111)로 분할된다. 시스템 메모리(109)는 양호하게, 다양한 처리 기능과 응용 프로그램을 실행하는데 요구 되는대로, CPU(101)의 명령 하에서 데이터, 어드레스 및 지령을 저장하는 전통적인 시스템 메모리이다. 이중 블록의 프레임 버퍼(110/111)는 시스템 메모리(109)와 동일한 CPU 어드레스 공간에 존재한다. 두 개의 뱅크에 할당된 어드레스 블록이 서로 인접하거나 인접하지 않을 수 있다 할지라도, 양호하게, 각 프레임 버퍼 블록(110 및 111)은 CPU(101) 어드레스 공간 내의 어드레스의 할당된 인접 블록(세트)이다. 어드레스 분배된 프레임 버퍼 뱅크(A 및 B)는, CPU(101)에 의해 실행되는 OS에 의한 연합 메모리(105)의 분할에 따라, 변할 수 있음을 주목해야 한다. 각 프레임 버퍼 블록(110 및 111)은, 종래의 프레임 버퍼에서 이루어지는 바와 같이, 디스플레이 장치(107)의 스크린에 대해 한 픽셀씩 맵핑(mapping)한다.In accordance with the principles of the present invention, the associated memory 105 implements the system memory 109 and the display frame buffer, which is divided into frame buffer block A 110 and frame buffer block B 111. System memory 109 is preferably a traditional system memory that stores data, addresses, and instructions under the instructions of CPU 101, as required to execute various processing functions and application programs. The double block frame buffer 110/111 resides in the same CPU address space as the system memory 109. Preferably, each frame buffer block 110 and 111 is an allocated contiguous block (set) of addresses in the CPU 101 address space, although the address blocks assigned to the two banks may or may not be adjacent to each other. . It should be noted that the address-distributed frame buffer banks A and B may vary depending on the division of the association memory 105 by the OS executed by the CPU 101. Each frame buffer block 110 and 111 maps one pixel to the screen of the display device 107, as is done in a conventional frame buffer.

디스플레이 생성 및 갱신 도중, 각 프레임 버퍼 뱅크(110/111)는 디스플레이 스크린에 대응하는 픽셀 데이터를 유지한다. 하나의 메모리 뱅크(110/111)는, 디스플레이 장치(107)상의 스크린을 리프레쉬하기 위하여 디스플레이 제어기(104)가 억세스하는(디스플레이 제어기(104)에 의해 생성된 어드레스를 사용하여), "디스플레이 메모리" 또는 "리프레쉬 메모리"이다. CPU(101)는 또한, 현재 디스플레이 메모리로 작용하는 프레임 버퍼 뱅크(110/111)를 직접 억세스하고, 디스플레이 장치(107)의 스크린 자체를 리프레쉬할 수 있다. 이러한 경우에 있어서, 디스플레이 제어기(104)는 우회(bypass)되거나 또는 DAC(106) 및 디스플레이 장치(107)로 보내지는 픽셀 데이터를 위한 파이프라인으로 단순히 작용한다. 유리하게, 모든 디스플레이 데이터는 리프레쉬 메모리 내의 하나의 인접한 "리프레쉬 블록" 내에 존재하고, 이것은 디스플레이 제어기로 하여금 CPU(101)의 최소 간섭으로 저장된 리프레쉬 데이터를 억세스할 수 있게 한다(만약 디스플레이 데이터가 메모리의 비인접 영역에 저장되려 한다면, 이 데이터에 대하여 디스플레이 제어기를 명령하기 위하여 더 많은 CPU의 간섭이 필요하게 된다). 전체 디스플레이 처리 시간의 75%는 스크린 리프레쉬를 위하여 사용되기 때문에, 디스플레이 리프레쉬를 디스플레이 제어기로 이동시키는 능력은, CPU(101)는 다른 업무를 위해 유효하게 구성되기 때문에, 시스템 성능을 실질적으로 개선할 수 있다.During display generation and update, each frame buffer bank 110/111 maintains pixel data corresponding to the display screen. One memory bank 110/111 is a "display memory" that is accessed by the display controller 104 (using the address generated by the display controller 104) to refresh the screen on the display device 107. Or "refresh memory". The CPU 101 can also directly access the frame buffer banks 110/111 serving as the current display memory and refresh the screen itself of the display device 107. In this case, the display controller 104 simply acts as a pipeline for pixel data that is bypassed or sent to the DAC 106 and the display device 107. Advantageously, all display data resides in one adjacent "refresh block" in the refresh memory, which allows the display controller to access the stored refresh data with minimal interference of the CPU 101 (if the display data If it is to be stored in a non-adjacent area, more CPU intervention is required to command the display controller for this data). Since 75% of the total display processing time is used for screen refresh, the ability to move the display refresh to the display controller can substantially improve system performance since the CPU 101 is effectively configured for other tasks. have.

동시에, 다른 프레임 버퍼 뱅크(110/111)는 스크린 갱신을 위해 배타적으로 사용된다. CPU(101)는 변경되는 데이터를 유지하는 위치에 직접 기록함으로써, 리프레쉬 프레임 버퍼 블록(110/111) 내의 디스플레이 데이터를 갱신한다. 시스템 메모리에 기록하고, 디스플레이 제어기 기록 버퍼가 유효할 때 시스템 메모리로부터 판독하고, 그후 프레임 버퍼에 기록하는 종래 기술의 복수 단계의 처리는, 따라서 프레임 버퍼 갱신 블록에 대한 일련의 직접 기록 동작으로 감소된다. 따라서, "스크린 갱신" 뱅크 내의 픽셀 데이터의 각 워드(word)의 갱신은 갱신되는 데이터의 각 워드에 대한 오직 하나의 CPU 주기를 사용하여 이루어진다(데이터 버스의 폭 및/또는 데이터 비트의 수와 같은 이러한 계수에 따라, CPU(101)는 연합 메모리(105)에 한 번에 기록할 수 있고, 변경되는 각 워드는 하나 이상의 픽셀을 표시할 수 있다). 즉, 다수의 데이터 워드가 갱신 프레임 버퍼 뱅크 내에서 갱신되고 있다면, 스크린 갱신을 수행하는데 요구되는 CPU 클록 주기의 수는 2등분된다.At the same time, other frame buffer banks 110/111 are used exclusively for screen update. The CPU 101 updates the display data in the refresh frame buffer block 110/111 by writing directly to the position holding the changed data. The prior art multi-step process of writing to system memory, reading from system memory when the display controller write buffer is valid, and then writing to the frame buffer is thus reduced to a series of direct write operations for the frame buffer update block. . Thus, updating each word of pixel data in the "screen update" bank is done using only one CPU period for each word of data being updated (such as the width of the data bus and / or the number of data bits). According to this coefficient, the CPU 101 can write to the associative memory 105 at once and each word that is changed can represent one or more pixels). That is, if multiple data words are being updated in the update frame buffer bank, the number of CPU clock cycles required to perform the screen update is divided into two.

스크린 갱신이 일단 종료되면, 디스플레이 메모리로서 현재 동작하는 프레임 메모리 뱅크(110/111)와 스크린 리프레쉬 메모리로서 현재 동작하는 프레임 버퍼 뱅크(110/111)는 역할을 전환한다. 예컨대, 블록 A가 스크린을 리프레쉬하기 위해 사용되었고, 반면 디스플레이에 대한 갱신이 블록 B에 대한 기록을 통해 실현되었다면, 블록 B에 대한 갱신이 종료될 때, 블록 A는 갱신 블록이 되고, 블록 B는 스크린 갱신 블록이 된다.Once the screen update is completed, the frame memory bank 110/111 currently operating as the display memory and the frame buffer bank 110/111 currently operating as the screen refresh memory switch roles. For example, if block A was used to refresh the screen, while an update to the display was realized through writing to block B, then when the update to block B ends, block A becomes an update block and block B It becomes a screen update block.

본 발명의 원리를 구현하는 시스템(100)과 같은 시스템에 있어서, 디스플레이 제어기 기록 버퍼는 제거될 수조차 있다. 이러한 경우의 디스플레이 리프레쉬는, 리프레쉬 프레임 버퍼 블록(110/111)으로부터 직접 데이터를 단순히 검색함으로써 수행될 수 있고, 디스플레이 유니트(107)에 대한 디스플레이 제어기(104)를 통해 파이프라인될 수 있다. 이 경우, 리프레쉬 버퍼는 필수적으로 디스플레이 제어기 기록 버퍼를 대체한다.In a system such as system 100 implementing the principles of the present invention, the display controller write buffer may even be removed. Display refresh in this case can be performed by simply retrieving data directly from the refresh frame buffer block 110/111, and can be pipelined through the display controller 104 to the display unit 107. In this case, the refresh buffer essentially replaces the display controller write buffer.

시스템과 프레임 버퍼가 연합한 메모리(105)는 단일 칩으로, 또는 다중 칩(장치)의 서브 시스템으로 구성될 수도 있다. 이러한 서브 시스템(200)은 도 2에 도시되었다. 시스템(200)은 다수의 메모리 뱅크(201)로 구성된다. 시스템(100)에서 사용될 때, 각 뱅크(201a)는 어드레스 버스(202), 데이터 버스(203) 및 제어 버스(204)에 의해 코어 논리 회로(103)에 연결된다. 뱅크(201)는, 열 및 행 어드레스 비트를 뱅크(201)에 동시에 제공하는 어드레스 버스(202)로, 비-다중화 어드레스 지정 구조로 동작할 수 있다. 선택적으로, 뱅크(201)는, 어드레스 버스(202) 상에 다중화된 행 및 열 어드레스를 갖는, 다중화된 (RAS/CAS) 구조와 "비동기 DRAM 구조"(RAS 및 CAS에 부가하여, 비동기 클록)로 동작할 수 있다. 제어 버스(204)는, 다중화된 어드레스 구조의 종전의 DRAM 제어 신호(RAS와 CAS와 같은), 출력 인에이블(enable), 및 판독/기록 신호를 전달한다. 이하에서 추가로 설명되는 바와 같이, 각 뱅크(201)는 개별적인 세트와 관련되고, 뱅크 선택은 어드레스 버스(202) 상에 나타난 어드레스의 함수로 이루어진다.The memory 105 associated with the system and the frame buffer may be configured as a single chip or as a subsystem of multiple chips (devices). This subsystem 200 is shown in FIG. System 200 is comprised of multiple memory banks 201. When used in the system 100, each bank 201a is connected to the core logic circuit 103 by an address bus 202, a data bus 203 and a control bus 204. Bank 201 is an address bus 202 that simultaneously provides column and row address bits to bank 201 and may operate in a non-multiplexed addressing structure. Optionally, bank 201 has a multiplexed (RAS / CAS) structure and " asynchronous DRAM structure " (in addition to RAS and CAS, asynchronous clock) with multiplexed row and column addresses on address bus 202. It can work as The control bus 204 carries conventional DRAM control signals (such as RAS and CAS), output enable, and read / write signals of the multiplexed address structure. As will be described further below, each bank 201 is associated with a separate set, and bank selection is made as a function of the address represented on the address bus 202.

시스템과 프레임 버퍼가 연합한 메모리(105)의 응용에 있어서, 하나의 뱅크(201)는 프레임 버퍼 블록 A로 사용될 수 있고, 제 2의 뱅크(201)는 프레임 버퍼 블록 B로 사용될 수 있고, 나머지 뱅크(201)는 시스템 메모리(109)로 사용될 수 있다. 논의의 목적을 위하여, 연합 메모리(105)는, 마이크로 소프트 윈도우 95와 같은 최신의 OS를 지원하기 위해 적합한 8 MB(64 Mb) 메모리라고 가정한다. 이러한 예에 있어서, 각 뱅크(201)는 1 MB DRAM 장치이다. 64 Mb 중 1비트의 선택을 수행하기 위하여(즉, 한 "비트씩"("by 1")의 장치가 사용된다), 비-다중화 구조에서는 26개의 어드레스 비트가 요구된다. 각 뱅크가 4, 8, 16, 32, 또는 64 비트씩의 장치에 의해 구성된다면, 어드레스 비트의 수는 적절하게 감소된다. 1 비트씩의 장치에 대해, 각 어드레스 워드의 3 비트(예컨대 3 개의 최하위 비트)는 뱅크 선택을 위해 사용된다. 프레임 버퍼 블록 A, 프레임 버퍼 블록 B 또는 시스템 메모리를 어드레스 지정하기 위하여, CPU(101)는 이들 3 개의 어드레스 비트를 단순히 변경한다.In the application of memory 105 in which the system and frame buffer are associated, one bank 201 may be used as frame buffer block A, the second bank 201 may be used as frame buffer block B, and the other The bank 201 may be used as the system memory 109. For purposes of discussion, it is assumed that federated memory 105 is 8 MB (64 Mb) memory suitable to support the latest OS, such as Microsoft Windows 95. In this example, each bank 201 is a 1 MB DRAM device. In order to perform the selection of 1 bit of 64 Mb (ie, one "bit by one" ("by 1") device is used), 26 address bits are required in the non-multiplexed structure. If each bank is constituted by devices of 4, 8, 16, 32, or 64 bits, the number of address bits is appropriately reduced. For one bit device, three bits (eg, three least significant bits) of each address word are used for bank selection. To address frame buffer block A, frame buffer block B or system memory, CPU 101 simply changes these three address bits.

도 3은 다른 처리 시스템(300)의 기능 블록도이다. 시스템(300)에 있어서, 디스플레이 제어기(104)와 DAC(106)는 시스템 메모리(105)와 다수의 프레임 버퍼 블록과 함께, 단일 칩의 단일 집적 회로(301) 상에 집적된다. 디스플레이 제어기/DAC(104/106)는 내부 어드레스 및 데이터 버스(306)를 통해 각 프레임 버퍼 블록을 억세스하며, 상기 버스는 디스플레이 장치(107)를 구동하기 위해서도 사용된다. 시스템(100)에서와 같이, CPU(101)는 디스플레이 갱신을 하기 위하여 임의의 프레임 버퍼 블록에 직접 기록한다. 이하에서 설명되는 바와 같이, 하나 이상의 다른 프레임 버퍼 블록은 디스플레이 스크린을 리프레쉬하기 위하여 사용될 수 있다.3 is a functional block diagram of another processing system 300. In the system 300, the display controller 104 and the DAC 106 are integrated onto a single integrated circuit 301 of a single chip, along with the system memory 105 and a number of frame buffer blocks. Display controller / DAC 104/106 accesses each frame buffer block through an internal address and data bus 306, which bus is also used to drive display device 107. As in system 100, CPU 101 writes directly to any frame buffer block for display update. As described below, one or more other frame buffer blocks may be used to refresh the display screen.

특히, 한 쌍의 블록(304A 및 304B)은 비디오 프레임 버퍼 A 및 B의 대응 쌍을 위한 메모리 공간으로 제공된다. 또한 집적 회로(301) 상에 포함된 것은, 그래픽 프레임 버퍼 A 및 B의 대응 쌍을 제공하는 한 쌍의 블록(305A 및 305B)이다. 상술한 프레임 버퍼 블록(110 및 111)의 경우에서와 같이, 비디오 프레임 버퍼 블록(304A 및 304B)은 비디오 갱신 블록(버퍼) 및 비디오 리프레쉬 블록(버퍼)으로서 선택적으로 사용된다. 그래픽 데이터에 대해서만 갱신 및 리프레쉬 블록(버퍼)으로서 선택적으로 동작하는 버퍼(305A 및 305B)에 대해서도 동일하다. 집적 회로(301) 상에 역시 제공되는 것은 동화상 전문가 그룹(MPEG) 프레임 버퍼(307)이다. 블록(307)은 MPEG 포맷으로 데이터를 저장하는데 전용으로 사용되고, 역시 CPU(101) 내의 어드레스 공간 내에 존재한다.In particular, a pair of blocks 304A and 304B is provided as memory space for a corresponding pair of video frame buffers A and B. Also included on the integrated circuit 301 are a pair of blocks 305A and 305B that provide corresponding pairs of graphics frame buffers A and B. FIG. As in the case of the frame buffer blocks 110 and 111 described above, the video frame buffer blocks 304A and 304B are selectively used as the video update block (buffer) and the video refresh block (buffer). The same applies to the buffers 305A and 305B which selectively operate as update and refresh blocks (buffers) for graphic data only. Also provided on the integrated circuit 301 is a moving picture expert group (MPEG) frame buffer 307. Block 307 is dedicated to storing data in MPEG format and is also present in the address space within CPU 101.

본 발명 및 그 장점이 상세하게 설명되었지만, 첨부된 청구범위에 의해 한정되는 본 발명의 사상과 범주를 벗어남이 없이, 다양한 변화, 치환 및 변경이 이루어질 수 있음을 이해해야 한다.While the invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (31)

처리 시스템에 있어서,In the processing system, 시스템 메모리 영역과 다수의 프레임 버퍼 메모리 영역을 포함하는 연합(unified) 시스템 메모리와,Unified system memory including a system memory area and a plurality of frame buffer memory areas; 중앙 처리 장치(central processing unit)로서, 상기 연합 메모리는 상기 중앙 처리 장치의 어드레스 공간 내에 놓이고, 상기 중앙 처리 장치는 상기 프레임 버퍼 영역 중 제 1의 선택된 영역 내에서 디스플레이 데이터를 갱신하도록 동작할 수 있는 반면, 상기 프레임 버퍼 중 제 2의 선택된 프레임 버퍼로부터의 디스플레이 데이터는 관련 디스플레이 장치의 디스플레이 스크린의 리프레쉬(refresh)를 위한 데이터를 제공하는, 중앙 처리 장치를 포함하는 것을 특징으로 하는 처리 시스템.As a central processing unit, the associated memory is located within an address space of the central processing unit, and the central processing unit is operable to update display data within a first selected area of the frame buffer area. While the display data from the second selected frame buffer of the frame buffers comprises a central processing unit for providing data for refreshing the display screen of the associated display device. 제 1항에 있어서, 상기 CPU는, 상기 디스플레이 스크린을 리프레쉬하기 위한 상기 제 2의 프레임 버퍼 메모리로부터의 상기 디스플레이 데이터를 검색하기 위하여, 추가로 동작할 수 있는 것을 특징으로 하는 처리 시스템.The processing system of claim 1, wherein the CPU is further operable to retrieve the display data from the second frame buffer memory for refreshing the display screen. 제 1항에 있어서, 상기 연합 시스템 메모리와 상기 디스플레이 장치를 인터페이스하기 위한 디스플레이 제어기를 더 포함하는 것을 특징으로 하는 처리 시스템.2. The processing system of claim 1, further comprising a display controller for interfacing the associated system memory with the display device. 제 1항에 있어서, 상기 디스플레이 제어기는, 상기 디스플레이 스크린을 리프레쉬하기 위한 상기 제 2의 프레임 버퍼 영역으로부터의 상기 디스플레이 데이터를 검색하기 위해 추가로 동작할 수 있는 것을 특징으로 하는 처리 시스템.The processing system of claim 1, wherein the display controller is further operable to retrieve the display data from the second frame buffer area for refreshing the display screen. 제 1항에 있어서, 상기 제 1 및 제 2 프레임 버퍼 영역은, 상기 연합 메모리와 관련된 어드레스 공간 내의 인접 세트의 어드레스에 상응하는 것을 특징으로 하는 처리 시스템.2. The processing system of claim 1, wherein the first and second frame buffer regions correspond to adjacent sets of addresses in an address space associated with the associated memory. 제 1항에 있어서, 상기 시스템 메모리는, 상기 연합 메모리와 관련된 어드레스 공간 내의 인접 세트의 어드레스에 상응하는 것을 특징으로 하는 처리 시스템.The processing system of claim 1, wherein the system memory corresponds to an adjacent set of addresses in an address space associated with the associated memory. 제 1항에 있어서, 상기 시스템 메모리 영역은, 상기 연합 메모리와 관련된 어드레스 공간 내의 어드레스 공간의 다수의 세트에 상응하는 것을 특징으로 하는 처리 시스템.2. The processing system of claim 1, wherein the system memory region corresponds to a plurality of sets of address spaces in an address space associated with the associated memory. 제 1항에 있어서, 상기 메모리 영역의 각각은, 개별적이고 인접하는 물리적인 메모리 영역에 상응하는 것을 특징으로 하는 처리 시스템.2. The processing system of claim 1, wherein each of the memory regions corresponds to a separate and contiguous physical memory region. 제 1항에 있어서, 상기 연합 메모리는 다수의 집적 회로 칩으로부터 구성되는 것을 특징으로 하는 처리 시스템.2. The processing system of claim 1, wherein said associative memory is comprised from a plurality of integrated circuit chips. 제 9항에 있어서, 상기 제 1 및 제 2 프레임 버퍼 메모리 영역 각각은 최소한 하나의 전용 집적 회로 칩으로 할당되는 것을 특징으로 하는 처리 시스템.10. The processing system of claim 9, wherein each of said first and second frame buffer memory regions is allocated to at least one dedicated integrated circuit chip. 처리 시스템에 있어서,In the processing system, 최소한 하나의 시스템 메모리 영역과 제 1 및 제 2의 프레임 버퍼 영역을 포함하는 연합 메모리와,An associated memory comprising at least one system memory region and first and second frame buffer regions; 상기 제 1 프레임 버퍼 영역에 저장된 디스플레이 데이터를 갱신하기 위한 회로와,Circuitry for updating display data stored in the first frame buffer area; 상기 제 1 프레임 버퍼 영역에 저장된 상기 디스플레이 데이터를 갱신하는 것과 거의 동시에 대응하는 디스플레이를 생성하기 위하여, 상기 제 2의 프레임 버퍼 영역에 저장된 디스플레이 데이터를 검색하기 위한 회로와,Circuitry for retrieving display data stored in the second frame buffer area to produce a display that substantially corresponds to updating the display data stored in the first frame buffer area; 대응하는 갱신 디스플레이를 생성하기 위하여, 상기 제 1의 프레임 버퍼 영역에 저장된 디스플레이 데이터를 검색하기 위한 회로를 포함하는 것을 특징으로 하는 처리 시스템.And circuitry for retrieving display data stored in said first frame buffer area to produce a corresponding update display. 제 11항에 있어서, 상기 제 1 버퍼 영역에 저장된 상기 디스플레이 데이터를 갱신하기 위한 상기 회로는, 중앙 처리 장치를 포함하는 것을 특징으로 하는 처리 시스템.12. The processing system according to claim 11, wherein said circuit for updating said display data stored in said first buffer area comprises a central processing unit. 제 11항에 있어서, 상기 제 1 프레임 버퍼 영역에 저장된 데이터를 검색하기 위한 상기 회로는, 중앙 처리 장치를 포함하는 것을 특징으로 하는 처리 시스템.12. The processing system of claim 11, wherein said circuit for retrieving data stored in said first frame buffer area comprises a central processing unit. 제 11항에 있어서, 상기 제 2의 메모리 영역에 저장된 데이터를 검색하기 위한 상기 회로는, 중앙 처리 장치를 포함하는 것을 특징으로 하는 처리 시스템.12. The processing system of claim 11, wherein said circuit for retrieving data stored in said second memory area comprises a central processing unit. 제 11항에 있어서, 상기 제 1 메모리 공간에 저장된 데이터를 검색하기 위한 상기 회로는 디스플레이 제어기를 포함하는 것을 특징으로 하는 처리 시스템.12. The processing system of claim 11, wherein said circuitry for retrieving data stored in said first memory space comprises a display controller. 제 11항에 있어서, 상기 제 2의 메모리 공간에 저장된 데이터를 검색하기 위한 상기 회로는, 디스플레이 제어기를 포함하는 것을 특징으로 하는 처리 시스템.12. The processing system of claim 11, wherein said circuitry for retrieving data stored in said second memory space comprises a display controller. 제 11항에 있어서, 상기 연합 메모리는 단일 집적 회로 칩 상에 구성되는 것을 특징으로 하는 처리 시스템.12. The processing system of claim 11, wherein the associated memory is configured on a single integrated circuit chip. 처리 시스템에 있어서,In the processing system, 중앙 처리 장치(central processing unit : CPU)와,A central processing unit (CPU), 상기 중앙 처리 장치에 연결된 버스와,A bus connected to the central processing unit, 상기 버스에 연결된 코어(core) 논리 회로와,A core logic circuit connected to the bus, 상기 코어 논리 회로에 연결되어, 시스템 메모리 영역과 다수의 프레임 버퍼 영역을 제공하는, 연합 메모리 시스템을 포함하는 것을 특징으로 하는 처리 시스템.And a associated memory system coupled to the core logic circuit, the associated memory system providing a system memory region and a plurality of frame buffer regions. 제 18항에 있어서, 상기 CPU는, 디스플레이 갱신을 위하여 상기 시스템 버스와 상기 코어 논리 회로를 통하여 데이터를 상기 프레임 버퍼 영역 중 제 1의 영역에 기록하도록 동작할 수 있고, 디스플레이 리프레쉬를 위한 상기 프레임 버퍼 영역 중 제 2의 프레임 버퍼로부터 데이터를 판독하도록 동작할 수 있는 것을 특징으로 하는 처리 시스템.19. The system of claim 18, wherein the CPU is operable to write data to a first area of the frame buffer area via the system bus and the core logic circuit for display update, the frame buffer for display refresh. And be operable to read data from a second frame buffer in the region. 제 18항에 있어서, 상기 CPU는, 디스플레이 갱신을 위한 상기 시스템 버스와 상기 코어 논리 회로를 통해 데이터를 상기 프레임 버퍼 영역 중 제 1의 영역에 기록하도록 동작할 수 있고, 상기 디스플레이 제어기는, 디스플레이 리프레쉬를 위해 상기 프레임 버퍼 영역 중 제 2의 영역으로부터의 데이터를 판독하도록 동작할 수 있는 것을 특징으로 하는 처리 시스템.19. The system of claim 18, wherein the CPU is operable to write data to a first area of the frame buffer area via the system bus and the core logic circuit for display update, wherein the display controller is further configured to refresh the display. And read data from a second one of the frame buffer areas for the purpose of reading. 제 18항에 있어서, 상기 연합 프레임 버퍼는 다수의 메모리 장치로부터 구성되는 것을 특징으로 하는 처리 시스템.19. The processing system of claim 18, wherein the associative frame buffer is constructed from a plurality of memory devices. 제 21항에 있어서, 상기 다수의 메모리 장치 중 선택된 장치는 상기 메모리 영역의 대응하는 영역을 위하여 제공되는 것을 특징으로 하는 처리 시스템.22. The processing system of claim 21, wherein a selected one of the plurality of memory devices is provided for a corresponding area of the memory area. 제 18항에 있어서, 상기 프레임 버퍼 영역 중 선택된 영역은 비디오 프레임 버퍼를 포함하는 것을 특징으로 하는 처리 시스템.19. The processing system of claim 18, wherein the selected area of the frame buffer area comprises a video frame buffer. 제 18항에 있어서, 상기 프레임 버퍼 영역 중 하나의 영역은 그래픽 프레임 버퍼를 포함하는 것을 특징으로 하는 처리 시스템.19. The processing system of claim 18, wherein one of the frame buffer areas comprises a graphics frame buffer. 제 18항에 있어서, 상기 프레임 버퍼 영역 중 상기 영역은 MPEG 프레임 버퍼를 포함하는 것을 특징으로 하는 처리 시스템.19. The processing system of claim 18, wherein said area of said frame buffer area comprises an MPEG frame buffer. 메모리 관리 방법에 있어서,In the memory management method, 연합 메모리를 시스템 메모리와 제 1 및 제 2의 프레임 버퍼 영역으로 분할하는 단계와,Dividing the associated memory into system memory and first and second frame buffer regions; 상기 제 1 프레임 버퍼에 저장된 디스플레이 데이터를 갱신하는 단계와,Updating display data stored in the first frame buffer; 갱신하는 상기 단계 도중, 대응하는 디스플레이를 생성하기 위하여 상기 제 2의 프레임 버퍼에 저장된 디스플레이 데이터를 검색하는 단계와,During the updating step, retrieving display data stored in the second frame buffer to produce a corresponding display; 갱신하는 상기 단계의 종료 시, 대응하는 갱신 디스플레이를 생성하기 위하여 상기 제 1의 프레임 버퍼에 저장된 디스플레이 데이터를 검색하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.At the end of the updating step, retrieving display data stored in the first frame buffer to produce a corresponding update display. 제 26항에 있어서, 상기 갱신하는 단계는, CPU로부터 직접 상기 제 1의 프레임 버퍼 내의 최소한 하나 이상의 위치에 기록하는 부단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.27. The method of claim 26, wherein said updating comprises writing to at least one location in said first frame buffer directly from a CPU. 제 26항에 있어서, 상기 검색하는 단계는, 관련 디스플레이 제어기에 의해 제공된 어드레스에 따라 디스플레이 데이터를 검색하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.27. The method of claim 26, wherein the retrieving comprises retrieving display data in accordance with an address provided by an associated display controller. 제 26항에 있어서, 상기 검색하는 단계는, CPU로부터 제공된 어드레스에 따라 디스플레이 데이터를 검색하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.27. The method of claim 26, wherein the retrieving comprises retrieving display data in accordance with an address provided from a CPU. 제 26항에 있어서, 상기 디스플레이 데이터는 그래픽 데이터를 포함하는 것을 특징으로 하는 메모리 관리 방법.27. The method of claim 26, wherein the display data includes graphic data. 제 26항에 있어서, 상기 디스플레이 데이터는 비디오 데이터를 포함하는 것을 특징으로 하는 메모리 관리 방법.27. The method of claim 26, wherein the display data includes video data.
KR1019980700938A 1995-08-08 1996-08-05 Memory associated system and frame buffers, and systems and methods of using the same KR19990036270A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51257495A 1995-08-08 1995-08-08
US8/512574 1995-08-08

Publications (1)

Publication Number Publication Date
KR19990036270A true KR19990036270A (en) 1999-05-25

Family

ID=24039674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980700938A KR19990036270A (en) 1995-08-08 1996-08-05 Memory associated system and frame buffers, and systems and methods of using the same

Country Status (4)

Country Link
EP (1) EP0843872A1 (en)
JP (1) JPH11510620A (en)
KR (1) KR19990036270A (en)
WO (1) WO1997006523A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6118462A (en) 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
WO1999028893A1 (en) * 1997-12-01 1999-06-10 Mediaq, Inc. High performance, highly integrated computer architecture with extendible embedded memory
WO1999034294A1 (en) * 1997-12-24 1999-07-08 Creative Technology Ltd. Optimal multi-channel memory controller system
US6414688B1 (en) * 1999-01-29 2002-07-02 Micron Technology, Inc. Programmable graphics memory method
US6469703B1 (en) 1999-07-02 2002-10-22 Ati International Srl System of accessing data in a graphics system and method thereof
US7554551B1 (en) * 2000-06-07 2009-06-30 Apple Inc. Decoupling a color buffer from main memory
JP4042088B2 (en) 2000-08-25 2008-02-06 株式会社ルネサステクノロジ Memory access method
US6753873B2 (en) * 2001-01-31 2004-06-22 General Electric Company Shared memory control between detector framing node and processor
US6888550B2 (en) * 2001-07-19 2005-05-03 International Business Machines Corporation Selecting between double buffered stereo and single buffered stereo in a windowing system
JP5658430B2 (en) * 2008-08-15 2015-01-28 パナソニックIpマネジメント株式会社 Image processing device
AU2016272477B2 (en) 2015-06-01 2022-03-31 Saisei Pharma Co., Ltd. Enzyme-treated milk product, method for producing same, composition, and product

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298957A (en) * 1979-06-28 1981-11-03 Xerox Corporation Data processing system with character sort apparatus
CA1257719A (en) * 1985-02-25 1989-07-18 Stephen Maine Graphics display system
DE3530602A1 (en) * 1985-08-27 1987-03-05 Busch Dieter & Co Prueftech Method for continuous representation of data on a raster-scanned picture tube (CRT), and equipment for implementing the method
US4862154A (en) * 1986-10-31 1989-08-29 International Business Machines Corporation Image display processor for graphics workstation
DE69114825T2 (en) * 1990-12-21 1996-08-08 Sun Microsystems Inc Method and device for increasing the processing speed of a display system with double buffer memory.
CA2062200A1 (en) * 1991-03-15 1992-09-16 Stephen C. Purcell Decompression processor for video applications

Also Published As

Publication number Publication date
JPH11510620A (en) 1999-09-14
WO1997006523A1 (en) 1997-02-20
EP0843872A1 (en) 1998-05-27

Similar Documents

Publication Publication Date Title
JP2683564B2 (en) Software-configurable memory structure for data processing system with graphic processing function
US6911983B2 (en) Double-buffering of pixel data using copy-on-write semantics
US6104418A (en) Method and system for improved memory interface during image rendering
US6911984B2 (en) Desktop compositor using copy-on-write semantics
JP3026788B2 (en) Computer system with unified memory architecture
EP1741089B1 (en) Gpu rendering to system memory
US5526025A (en) Method and apparatus for performing run length tagging for increased bandwidth in dynamic data repetitive memory systems
US5598526A (en) Method and system for displaying images using a dynamically reconfigurable display memory architecture
US5210723A (en) Memory with page mode
US5959639A (en) Computer graphics apparatus utilizing cache memory
KR100227133B1 (en) A memory architecture using conserved addressing and systems and methods using the same
JPH09219094A (en) Memory, memory sub-system, memory device and memory system addressing method
KR19990036270A (en) Memory associated system and frame buffers, and systems and methods of using the same
EP0809230A2 (en) Display controller with internal half frame buffer and systems and methods using the same
KR100255259B1 (en) Circuits, systems and methods for interfacing processing circuitry with a memory
JPH08180675A (en) Multiple page memory
US5265234A (en) Integrated memory circuit and function unit with selective storage of logic functions
EP0422299B1 (en) Memory with page mode
US6425020B1 (en) Systems and methods for passively transferring data across a selected single bus line independent of a control circuitry
US6005811A (en) Method for operating a memory
JPH0636550A (en) Semiconductor memory
JP2966182B2 (en) Computer system
US5870108A (en) Information handling system including mapping of graphics display data to a video buffer for fast updation of graphic primitives
US5548744A (en) Memory circuit and method for setting an operation mode
JPH09106374A (en) Image memory device

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