KR0161477B1 - Memory mapping method in 24bpp mode - Google Patents
Memory mapping method in 24bpp modeInfo
- Publication number
- KR0161477B1 KR0161477B1 KR1019950052719A KR19950052719A KR0161477B1 KR 0161477 B1 KR0161477 B1 KR 0161477B1 KR 1019950052719 A KR1019950052719 A KR 1019950052719A KR 19950052719 A KR19950052719 A KR 19950052719A KR 0161477 B1 KR0161477 B1 KR 0161477B1
- Authority
- KR
- South Korea
- Prior art keywords
- pixels
- bytes
- memory
- pixel
- 24bpp
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Input (AREA)
Abstract
본 발명은 24bpp 모드에서의 메모리 매핑 방법에 관한 것으로서, 특히 24bpp(bits per pixel : 픽셀 당 비트) 모드에서의 8픽셀에서 3메모리 포인터 매핑하는 방법에 관한 것이다.The present invention relates to a memory mapping method in 24bpp mode, and more particularly, to a method of mapping 3 memory pointers from 8 pixels in 24bpp (bits per pixel) mode.
본 발명의 목적을 위하여 한 픽셀이 3바이트의 데이타로 구성되는 24bpp(픽셀 당 비트) 모드에서의 8개의 픽셀을 제어하는 메모리 매핑 방법에 있어서, 24bpp(픽셀 당 비트) 모드에서의 데이타 구조를 8개의 픽셀 단위로 배열하며, 8개의 픽셀 각각에 3바이트가 할당되며, 8바이트마다 한 개의 메모리 포인터가 할당되어 8개의 픽셀의 24바이트에 대해서 3개의 메모리 포인터를 할당하는 것을 특징으로 한다.In the memory mapping method of controlling 8 pixels in 24bpp (bits per pixel) mode in which one pixel is composed of 3 bytes of data for the purpose of the present invention, the data structure in 24bpp (bits per pixel) mode Each pixel is arranged in units of three pixels, and three bytes are allocated to each of eight pixels, and one memory pointer is allocated to every eight bytes to allocate three memory pointers to 24 bytes of eight pixels.
상술한 바와 같이 본 발명에 의하면 24bpp에서 복잡한 회로를 발생하지 않고도 효율적인 메모리 엑세스가 가능하다.As described above, the present invention enables efficient memory access without generating complicated circuits at 24 bpp.
Description
제1도는 본 발명에 따른 24bpp에서 3메모리 포인터로 구성한 매핑도이다.1 is a mapping diagram composed of three memory pointers at 24 bpp according to the present invention.
제2도는 제1도의 각 포인터에 대한 픽셀 값의 대응을 나타내는 표이다.FIG. 2 is a table showing the correspondence of pixel values with respect to each pointer of FIG.
제3도는 제1도의 각 포인터(0, 1, 2)값과 픽셀(0~7)에 대한 고정된 바이트 인에이블 값을 기록한 실시예이다.FIG. 3 is an embodiment in which the values of each pointer (0, 1, 2) of FIG. 1 and fixed byte enable values for pixels (0-7) are recorded.
본 발명은 24bpp 모드에서의 메모리 매핑 방법에 관한 것으로서, 특히 24bpp(bits per pixel : 픽셀 당 비트) 모드에서의 8픽셀에서 3메모리 포인터 매핑하는 방법에 관한 것이다.The present invention relates to a memory mapping method in 24bpp mode, and more particularly, to a method of mapping 3 memory pointers from 8 pixels in 24bpp (bits per pixel) mode.
일반적으로 퍼스널 컴퓨터(PC)에서 디스플레이 환경의 개선으로 인해 픽셀(화소)을 나타낼 수 있는 데이타의 한도는 8bpp, 16bpp, 32bpp 및 24bpp 등의 다양한 포맷이 제공되고 있다.In general, various formats, such as 8 bpp, 16 bpp, 32 bpp, and 24 bpp, have been provided for limiting data that can represent pixels (pixels) due to the improvement of the display environment in personal computers (PCs).
여기서 24bpp와 32bpp에서 디스플레이시키는 데이타의 비트수는 동일하게 24비트라는 의미에서 같은 디스플레이 칼라의 수를 나타내고 있다. 그러나 32bpp에서는 총 4바이트중에서 1바이트를 사용하지 않기 때문에 이로 인하 데이타의 낭비가 있는 단점이 있었다. 즉, 1024 × 768의 스크린을 디스플레이하고자 할 때 32bpp에서는 최소 3145728 바이트의 데이타가 필요하고, 24bpp에서는 최소 2359296 바이트의 데이타가 필요하다. 결국 24bpp와 32bpp의 데이타는 786432 바이트의 차이가 발생하기 때문에 같은 칼라를 표현하는데 있어서 많은 메모리 요구량의 차이가 생긴다.Here, the number of bits of data displayed at 24bpp and 32bpp is the same number of display colors in the sense of 24 bits. However, because 32bpp does not use 1 byte out of the total 4 bytes, there is a drawback of wasting data. In other words, when displaying a screen of 1024 x 768, at least 3145728 bytes of data is required at 32 bpp, and at least 2359296 bytes of data is required at 24 bpp. As a result, a difference of 786432 bytes of data between 24bpp and 32bpp results in a large difference in memory requirements for the same color.
따라서 본 발명의 목적은 24bpp에서 16M 칼라를 구현하는 그래픽 제어의 데이타 구조를 8픽셀 단위로 재편성함으로서 효율적인 메모리 매핑이 이루어지도록 하는 방법을 제공하는데 있다.Accordingly, an object of the present invention is to provide a method for efficient memory mapping by reorganizing a data control graphic structure that implements 16M color at 24 bpp by 8 pixels.
본 발명의 목적을 달성하기 위하여 본 발명은 한 픽셀이 3바이트의 데이타로 구성되는 24bpp(픽셀 당 비트) 모드에서의 8개의 픽셀을 제어하는 메모리 매핑 방법에 있어서,In order to achieve the object of the present invention, the present invention provides a memory mapping method for controlling eight pixels in a 24 bpp (bit per pixel) mode in which one pixel is composed of three bytes of data.
상기 24bpp(픽셀 당 바이트) 모드에서의 데이타 구조를 8개의 픽셀 단위로 배열하며,The data structure in the 24bpp (byte per pixel) mode is arranged in units of eight pixels,
상기 8개의 픽셀 각각에 상기 3바이트가 할당되며,The three bytes are allocated to each of the eight pixels,
8바이트마다 한 개의 메모리 포인터가 할당되어 상기 8개의 픽셀의 24바이트에 대해서 3개의 메모리 포인터를 할당하는 것을 특징으로 하는 24bpp 모드에서의 메모리 매핑 방법이다.One memory pointer is allocated every 8 bytes, thereby allocating three memory pointers to 24 bytes of the 8 pixels.
이하에서 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
스크린 대 스크린의 비트 블록 전송(bit block transfer)의 경우를 보면, 화면의 1화소에 기억 장치의 1비트가 대응하는 방식의 프레임 버퍼를 갖는 래스터 주사형의 표시에 있어서의 연산에 의한 래스터 연산값에 따라 소스(source)영역과 데스티네이션(Destination) 영역의 데이타가 필요할 때 64비트 버스의 메모리 인터페이스의 효율적인 처리를 위하여 64비트 3개의 한팩으로 하고 각 64비트를 3개의 각기 다른 메모리 포인터로 재배치한다. 다음에 재배치된 메모리 포인터는 픽셀 단위로 정확히 매핑시켜 비트 블록 전송을 실행한다.In the case of screen-to-screen bit block transfer, a raster calculation value by calculation in a raster scan type display having a frame buffer of a system in which one bit of the storage device corresponds to one pixel of the screen. In order to efficiently handle the memory interface of the 64-bit bus when data from the source and destination areas are needed, three 64-bit single packs and each 64-bit are relocated to three different memory pointers. . The relocated memory pointer is then mapped exactly in pixels to perform bit block transfers.
제1도는 본 발명에 따른 24bpp에서 3메모리 포인터로 구성한 매핑도이다.1 is a mapping diagram composed of three memory pointers at 24 bpp according to the present invention.
제1도는 8개의 픽셀(픽셀 0,1,2,3,4,5,6,7), 상기 8개의 픽셀 각각에 3바이트씩 총 24바이트의 데이타, 상기 24바이트중에서 8바이트씩에 3개의 포인터(10,12,14)를 할당하도록 한다.FIG. 1 shows eight pixels (pixels 0,1,2,3,4,5,6,7), a total of 24 bytes of data of 3 bytes in each of the 8 pixels, and 3 of 8 bytes of the 24 bytes. Allocate pointers 10, 12 and 14.
제1도에 도시한 바와 같이 24bpp에서의 1픽셀은 3바이트의 데이타, 예를 들어 픽셀 0은 0,1,2번째 바이트, 픽셀 1은 3,4,5번째 바이트, 픽셀 2는 6,7,0번째 바이트 등으로 구성되어 있어 2의 지수로 표현되는 메모리와는 매치가 되지 않는다.As shown in FIG. 1, one pixel at 24 bpp is three bytes of data, for example, pixel 0 is 0, 1, 2 bytes, pixel 1 is 3, 4, 5 bytes, and pixel 2 is 6, 7 It consists of the 0th byte and so on, and does not match the memory represented by the exponent of 2.
그러므로 64비트 버스의 메모리의 사용을 예로 들면, 8픽셀을 기준으로 총 24바이트가 구성되고, 24바이트의 1/3인 8바이트로서 총 3개의 포인터(10,12,14)로의 분할할 수 있다. 포인터(10,12,14)의 구성은 디스플레이 환경에서 x좌표의 최하위 3비트의 기초로 생성된다.Therefore, taking the memory of a 64-bit bus as an example, a total of 24 bytes are configured based on 8 pixels, and 8 bytes, which is 1/3 of 24 bytes, can be divided into a total of three pointers (10, 12, 14). . The configuration of the pointers 10, 12, 14 is generated on the basis of the least significant 3 bits of the x coordinate in the display environment.
제2도는 제1도의 각 포인터에 대한 픽셀 값의 대응을 나타내는 표이다.FIG. 2 is a table showing the correspondence of pixel values with respect to each pointer of FIG.
제2도는 x좌표의 시작 바이트를 기초로 픽셀 0,1,2는 포인터 0로, 픽셀 3,4,5는 포인터 1로, 픽셀 6,7은 포인터 2로 대응된다.In FIG. 2, pixels 0, 1 and 2 correspond to pointer 0, pixels 3, 4 and 5 correspond to pointer 1, and pixels 6 and 7 correspond to pointer 2 based on the start byte of the x coordinate.
각 포인터는 x좌표 생성기(도시 안됨)의 최하위 3비트를 용이하게 구할 수 있으므로 메모리 데이타의 요구가 있기 전에 미리 생성이 가능하고 각 포인터에 맞는 개별 동작이 가능하다.Each pointer can easily obtain the least significant 3 bits of the x-coordinate generator (not shown), so that it can be created in advance before the request of memory data, and individual operations can be made for each pointer.
메모리 업데이트시에는 필요한 픽셀에 해당하는 3바이트를 기준으로 바이트 인에이블을 발생시켜야 하는데 제1도에서 보는 바와 같이 픽셀 2와 픽셀 5의 경우에는 하나의 포인터로만 데이타를 엑세스할 수 없다.When updating the memory, byte enable should be generated based on 3 bytes corresponding to a required pixel. As shown in FIG. 1, in case of pixel 2 and pixel 5, only one pointer can access data.
제1도의 픽셀 2를 예로 보면 포인터 0(10)에서 최상위 2바이트를 포인터 1(12)에서 최하위 1바이트를 엑세스해야 올바른 픽셀 업데이트가 이루어진다. 따라서 제1도의 픽셀 2 및 픽셀 5를 엑세스할 때에는 2회의 메모리 포인터 엑세스가 필요하게 된다. 그러나 미리 정의된 포인터 및 픽셀에 대한 바이트 인에이블의 고정 값(Fixed Value)을 미리 발생하여 간단한 디코드(도시 안됨) 및 논리합(OR) 게이트(도시 안됨)만으로 바이트 인에이블을 수행할 수 있다.In the example of pixel 2 of FIG. 1, the most significant two bytes are accessed from pointer 0 (10) and the least significant byte from pointer 1 (12) to ensure correct pixel update. Thus, accessing pixel 2 and pixel 5 in FIG. 1 requires two memory pointer accesses. However, the fixed value of the byte enable for the predefined pointer and the pixel may be generated in advance, and byte enable may be performed with only simple decoding (not shown) and OR gate (not shown).
제3도는 제1도의 각 포인터(0,1,2)와 픽셀(0~7)에 대한 고정된 바이트 인에이블 값을 기록한 실시예이다.FIG. 3 is an embodiment in which fixed byte enable values for each pointer (0, 1, 2) and pixels (0-7) of FIG. 1 are recorded.
제3도에서 예를 들어 설명하면 고정된 바이트 값이 E0, 1C, 03이라면 이 3개의 값을 논리합하여 메모리 포인터 0을 선택하고, 00,00,80이라면 이 3개의 값을 논리 합하여 메모리 포인터 1을 선택하여 각 메모리 포인터에 대한 바이트를 인에이블시킨다. 즉, 포인터 0에서 픽셀 0만 선택되면 픽셀 1과 픽셀 2에 해당하는 바이트 값은 0가 되고 선택된 픽셀 0의 바이트 값인 E0와 나머지 0바이트 값이 논리합된다.For example, in FIG. 3, if the fixed byte values are E0, 1C, or 03, the three values are ORed together to select memory pointer 0. If 00,00,80 is the logical pointer 1 Select to enable the byte for each memory pointer. That is, when only pixel 0 is selected at pointer 0, the byte value corresponding to pixel 1 and pixel 2 becomes 0, and E0 which is the byte value of the selected pixel 0 is combined with the remaining 0 byte value.
또한 픽셀이 0, 1, 2가 동시에 선택되면 바이트 값인 E0, 1C, 03이 그대로 논리합되어 포인터 0에 대한 바이트 최종값은 FF가 된다.If pixels 0, 1, and 2 are selected at the same time, the byte values E0, 1C, and 03 are ORed together, and the byte final value of the pointer 0 becomes FF.
상술한 바와 같이 본 발명에 의하면 24bpp에서 복잡한 회로를 발생하지 않고도 효율적인 메모리 엑세스가 가능하다.As described above, the present invention enables efficient memory access without generating complicated circuits at 24 bpp.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950052719A KR0161477B1 (en) | 1995-12-20 | 1995-12-20 | Memory mapping method in 24bpp mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950052719A KR0161477B1 (en) | 1995-12-20 | 1995-12-20 | Memory mapping method in 24bpp mode |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970049392A KR970049392A (en) | 1997-07-29 |
KR0161477B1 true KR0161477B1 (en) | 1999-01-15 |
Family
ID=19441887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950052719A KR0161477B1 (en) | 1995-12-20 | 1995-12-20 | Memory mapping method in 24bpp mode |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0161477B1 (en) |
-
1995
- 1995-12-20 KR KR1019950052719A patent/KR0161477B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970049392A (en) | 1997-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0329892B1 (en) | Display system comprising a windowing mechanism | |
EP0338416B1 (en) | Virtual display adapter | |
US7262776B1 (en) | Incremental updating of animated displays using copy-on-write semantics | |
US4566005A (en) | Data management for plasma display | |
US5959639A (en) | Computer graphics apparatus utilizing cache memory | |
US5075884A (en) | Multilevel secure workstation | |
JP4156033B2 (en) | How to get contiguous memory buffer and build page table | |
EP0201210A2 (en) | Video display system | |
US5216413A (en) | Apparatus and method for specifying windows with priority ordered rectangles in a computer video graphics system | |
US5388200A (en) | Method and apparatus for writing directly to a frame buffer | |
JP3306746B2 (en) | Display graphics adapter and method of storing pixel data in a window system handling different pixel sizes | |
US4918429A (en) | Display system with symbol font memory | |
US5477242A (en) | Display adapter for virtual VGA support in XGA native mode | |
US5032981A (en) | Method for increasing effective addressable data processing system memory space | |
US4940970A (en) | CRT display device with a picture-shifting circuit | |
US4562450A (en) | Data management for plasma display | |
US5473348A (en) | Apparatus and method of controlling paging unit of coprocessor built in display control system | |
KR0161477B1 (en) | Memory mapping method in 24bpp mode | |
US5396263A (en) | Window dependent pixel datatypes in a computer video graphics system | |
EP0121070B1 (en) | Plasma display management systems | |
JPS6327727B2 (en) | ||
EP0422294A1 (en) | Display system | |
JPS60209786A (en) | Color display unit | |
JPS6221191A (en) | Display controller | |
GB2103398A (en) | Microcomputer apparatus for use with a video display |
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: 20060728 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |