KR100611249B1 - Graphic processing unit capable of reducing transaction into system bus - Google Patents
Graphic processing unit capable of reducing transaction into system bus Download PDFInfo
- Publication number
- KR100611249B1 KR100611249B1 KR1020050007567A KR20050007567A KR100611249B1 KR 100611249 B1 KR100611249 B1 KR 100611249B1 KR 1020050007567 A KR1020050007567 A KR 1020050007567A KR 20050007567 A KR20050007567 A KR 20050007567A KR 100611249 B1 KR100611249 B1 KR 100611249B1
- Authority
- KR
- South Korea
- Prior art keywords
- destination
- read
- processing unit
- system bus
- block controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/463—Program control block organisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Image Processing (AREA)
Abstract
그래픽 처리 유닛이 개시된다. 본 발명에 따른 그래픽 처리 유닛은, 비트 단위로 비트맵 그래픽을 처리하는 그래픽 처리 유닛에 있어서, 시스템 버스를 통해 시스템 메모리로부터 데스티네이션 읽기 비트맵 이미지를 독출하는 데스티네이션 읽기 블록 컨트롤러, 데스티네이션 읽기 블록 컨트롤러에 의해 독출된 데스티네이션 읽기 비트맵 이미지에 대하여 논리연산을 수행하는 GPU코어, GPU코어에 의해 한 밴드의 처리가 완료되기 전까지의 데스티네이션 어드레스의 데이터를 저장하는 버퍼, 및 GPU코어에 의해 한 밴드의 처리가 완료된 경우에 버퍼에 저장된 데스티네이션 어드레스의 데이터를 시스템 버스를 통해 시스템 메모리에 기록하는 데스티네이션 쓰기 블록 컨트롤러를 포함한다.The graphics processing unit is disclosed. The graphics processing unit according to the present invention is a graphics processing unit that processes bitmap graphics on a bit-by-bit basis, and includes a destination read block controller for reading a destination read bitmap image from a system memory through a system bus, and a destination read. GPU cores for performing logical operations on the destination read bitmap image read by the block controller, a buffer for storing data of the destination address until processing of one band by the GPU cores, and a GPU core. The destination write block controller writes data of the destination address stored in the buffer to the system memory through the system bus when the processing of one band is completed.
GPU, 비트맵, 데스티네이션 비트맵, 시스템 버스, 트랜잭션GPU, Bitmap, Destination Bitmap, System Bus, Transaction
Description
도 1은 종래의 기술에 따른 그래픽 처리 유닛을 개략적으로 도시한 블록도,1 is a block diagram schematically showing a graphics processing unit according to the prior art;
도 2는 본 발명에 따른 그래픽 처리 유닛을 개략적으로 도시한 블록도, 그리고2 is a block diagram schematically showing a graphics processing unit according to the invention, and
도 3은 도 2의 그래픽 처리 유닛에 의한 그래픽 처리방법을 나타낸 흐름도이다.3 is a flowchart illustrating a graphic processing method by the graphic processing unit of FIG. 2.
* 도면의 주요부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
10, 120 : 그래픽 처리 유닛 11, 123 : GPU코어10, 120:
13 : 소스 블록 컨트롤러 14 : 소스 메모리 인터페이스13: source block controller 14: source memory interface
15 : 패턴 블록 컨트롤러 16 : 패턴 메모리 인터페이스15: pattern block controller 16: pattern memory interface
17a, 126 : 데스티네이션 쓰기 블록 컨트롤러17a, 126: Destination Write Block Controller
18a, 127 : 데스티네이션 쓰기 메모리 인터페이스18a, 127: destination write memory interface
17b, 121 : 데스티네이션 읽기 블록 컨트롤러17b, 121: Destination Read Block Controller
18b : 데스티네이션 읽기 메모리 인터페이스18b: Destination Read Memory Interface
19 : 기타 블록 컨트롤러 19a : 기타 메모리 인터페이스19:
20 : CPU 30 : VPU20: CPU 30: VPU
40 : 메모리 컨트롤러 45 : 시스템 메모리40: memory controller 45: system memory
본 발명은 프린터의 그래픽 처리 유닛에 관한 것으로서, 보다 상세하게는, 시스템 버스로의 트랜잭션을 줄임으로써 전체적인 성능을 향상시킬 수 있는 프린터의 그래픽 처리 유닛에 관한 것이다.The present invention relates to a graphics processing unit of a printer, and more particularly, to a graphics processing unit of a printer that can improve the overall performance by reducing transactions to the system bus.
일반적으로 프린팅 SoC(System on Chip) 시스템의 GPU(Graphic Processing Unit) 블록은 비트맵 연산을 수행하는 그래픽 프로세서로서, 범용의 프로세서의 약점인 비트 단위 연산만을 담당하여 비트 단위로 비트맵 그래픽을 처리한다. 이와 같은 그래픽 프로세서는 심볼릭 명령(symbolic command)이라는 고유의 인스트럭션을 사용하며, 인쇄를 위해 메모리에 비트 단위로 비트맵을 저장한다.In general, the GPU (Graphic Processing Unit) block of a printing SoC system is a graphics processor that performs bitmap operations, and handles bitmap graphics bit by bit only by performing bitwise operations, which are weak points of general-purpose processors. . Such graphics processors use a unique instruction called a symbolic command, which stores bitmaps in bits in memory for printing.
비트맵 연산의 리소스로는 소스 비트맵(source bit map), 패턴(pattern) 비트맵, 및 데스티네이션(destination) 비트맵이 있으며, 이 3가지의 비트맵을 이용하여 256가지의 부울 논리연산(Boolean operation)을 수행한다. 이와 같은 연산을 일반적으로 '비트 블록 이송'(Bit Block Transfer)이라고 하며, 'bitBLT'라고 명칭하기도 한다.The resources for bitmap operations include source bitmap, pattern bitmap, and destination bitmap. Using these three bitmaps, 256 Boolean logic operations ( Boolean operation). Such operations are commonly referred to as 'Bit Block Transfer' and may also be called 'bitBLT'.
도 1은 종래의 기술에 따른 그래픽 처리 유닛을 개략적으로 도시한 블록도이다. 도면을 참조하면, 그래픽 처리 유닛(10)은 시스템 버스를 통하여 CPU(20), VPU(Video Processing Unit)(30), 및 메모리 컨트롤러(40)와 연결된다. 1 is a block diagram schematically showing a graphic processing unit according to the prior art. Referring to the drawings, the
이때, 그래픽 처리 유닛(10)은 GPU코어(11)와, GPU코어(11)로부터의 소스 비트맵 이미지, 데스티네이션 비트맵 이미지, 및 패턴 비트맵 이미지 데이터 요청에 응답하여 요청된 데이터를 제공해 주는 각각의 컨트롤러(13, 15, 17a, 17b)와, 각각의 컨트롤러(13, 15, 17a, 17b)에 대응하는 메모리 인터페이스(14, 16, 18a, 18b)를 구비한다. 데스티네이션 블록의 경우에는 쓰기(write)와 읽기(read) 동작에 대해서 각각의 컨트롤러(17a, 17b)와 메모리 인터페이스(18a, 18b)를 가지고 있다. 그 외에 그래픽 처리 유닛(10)은 다른 여러 로직(19, 19a)도 포함하고 있으나, 본 발명과는 무관하므로 그 설명을 생략한다.In this case, the
GPU코어(11)는 소스 비트맵 이미지, 데스티네이션 읽기 비트맵 이미지, 그리고 패턴 비트맵 이미지 데이터를 각각의 컨트롤러(13, 15, 17b)와 메모리 인터페이스(14, 16, 18b)를 통해서 시스템 메모리(45)로부터 읽어들인 후, 그 데이터들을 처리한다. 처리된 결과는 데스티네이션 쓰기 컨트롤러(17a)와 데스티네이션 쓰기 메모리 인터페이스(18a)를 통해서 다시 시스템 메모리(45)에 기록된다.The
GPU 블록의 기본동작은 이들 비트맵 이미지를 읽어들인 후, 이들 데이터에 논리연산(Logical Operation)에 의한 연산을 수행하여 변형을 가하여 데스티네이션 어드레스(Destionation Address)에 연산된 결과를 기록하는 것을 기본으로 한다. 결과적으로 여러 비트맵 이미지 데이터를 읽어들이고 기록하는 과정에서 많은 메모리 엑세스를 필요로 하며, 따라서 시스템 버스에 많은 트랜잭션을 발생시키게 된다. 특히, 종래의 기술에 따른 그래픽 처리 유닛(10)은 논리연산을 수행하기 위해 계속해서 소스 비트맵 이미지, 패턴 비트맵 이미지, 데스티네이션 읽기 비트맵 이 미지를 읽어 들여야 하기 때문에, 시스템 버스에 많은 읽기/쓰기 트랜잭션을 요청하게 된다. 이것은 SoC 시스템의 시스템 버스의 성능을 저하시키는 원인이 될 수 있다. The basic operation of the GPU block is based on reading these bitmap images, performing operations by logical operation on these data, and modifying them to record the result at the destination address. do. As a result, reading and writing multiple bitmap image data requires a lot of memory access, resulting in many transactions on the system bus. In particular, since the
본 발명은 상기와 같은 문제점을 해결하기 위하여 창안된 것으로서, SoC 시스템에서 발생되는 트랜잭션의 수를 줄여서 전체적으로 SoC 시스템의 성능을 향상시킬 수 있는 그래픽 처리 유닛을 제공하는 것을 목적으로 한다.The present invention has been made to solve the above problems, and an object of the present invention is to provide a graphic processing unit that can improve the performance of the SoC system as a whole by reducing the number of transactions occurring in the SoC system.
상기의 목적을 달성하기 위하여 본 발명에 따른 그래픽 처리 유닛은, 비트 단위로 비트맵 그래픽을 처리하는 그래픽 처리 유닛에 있어서, 시스템 버스를 통해 시스템 메모리로부터 데스티네이션 읽기 비트맵 이미지를 독출하는 데스티네이션 읽기 블록 컨트롤러, 상기 데스티네이션 읽기 블록 컨트롤러에 의해 독출된 상기 데스티네이션 읽기 비트맵 이미지에 대하여 논리연산을 수행하는 GPU코어, 상기 GPU코어에 의해 한 밴드의 처리가 완료되기 전까지의 데스티네이션 어드레스의 데이터를 저장하는 버퍼, 및 상기 GPU코어에 의해 한 밴드의 처리가 완료된 경우에 상기 버퍼에 저장된 상기 데스티네이션 어드레스의 데이터를 상기 시스템 버스를 통해 상기 시스템 메모리에 기록하는 데스티네이션 쓰기 블록 컨트롤러를 포함하는 것을 특징으로 한다.In order to achieve the above object, the graphics processing unit according to the present invention, in the graphics processing unit for processing bitmap graphics bit by bit, destination for reading a destination read bitmap image from the system memory through a system bus A read block controller, a GPU core for performing logical operations on the destination read bitmap image read by the destination read block controller, and data of a destination address until processing of one band by the GPU core is completed. And a destination write block controller that writes data of the destination address stored in the buffer to the system memory through the system bus when processing of one band by the GPU core is completed. It features.
바람직하게는, 상기 그래픽 처리 유닛은 상기 데스티네이션 읽기 블록 컨트롤러에 의해 독출된 상기 데스티네이션 읽기 비트맵 이미지의 데스티네이션 어드레 스를 저장하는 제1 레지스터를 더 포함한다.Advantageously, said graphics processing unit further comprises a first register for storing a destination address of said destination read bitmap image read by said destination read block controller.
바람직하게는, 상기 그래픽 처리 유닛은 사용되는 에뮬레이터의 종류가 PCL6인 경우에는 "1"의 값을 저장하며, 다른 종류의 에뮬레이터가 사용되는 경우에는 "0"의 값을 저장하는 제2 레지스터를 더 포함한다.Preferably, the graphic processing unit stores a value of "1" when the type of emulator used is PCL6, and further adds a second register which stores a value of "0" when another type of emulator is used. Include.
이때, 상기 GPU코어는 새로운 논리연산의 수행이 시작되는 경우, 상기 제2 레지스터에 저장된 에뮬레이터의 종류를 나타내는 값에 따라 상기 버퍼를 "1"로 세팅하거나, "0"으로 클리어하는 것이 바람직하다. 또한, 상기 버퍼는 SRAM(Static RAM)으로 구현되는 것이 바람직하다.In this case, when the execution of a new logic operation starts, the GPU core may set the buffer to "1" or clear to "0" according to a value indicating the type of emulator stored in the second register. In addition, the buffer is preferably implemented as SRAM (Static RAM).
이로써, 본 발명에 따른 그래픽 처리 유닛은 한 밴드의 처리가 완료되기 전까지 반복해서 사용되는 데스티네이션 비트맵 이미지 데이터를 GPU 내의 SRAM에 저장함으로써, 시스템 버스로의 읽기/쓰기 트랜잭션을 줄일 수 있게 되어 전체적인 SoC 시스템의 성능을 향상시킬 수 있게 된다.As a result, the graphic processing unit according to the present invention stores the destination bitmap image data repeatedly used until the processing of one band is completed in the SRAM in the GPU, thereby reducing the read / write transaction to the system bus. SoC system performance can be improved.
이하, 첨부된 도면을 참조하여 본 발명에 따른 그래픽 처리 유닛을 보다 상세하게 설명한다.Hereinafter, a graphic processing unit according to the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명에 따른 그래픽 처리 유닛을 개략적으로 도시한 블록도이다. 도면을 참조하면, 그래픽 처리 유닛(120)은 데스티네이션 읽기 블록 컨트롤러(121), GPU코어(123), 버퍼(125), 데스티네이션 쓰기블록 컨트롤러(126), 데스티네이션 쓰기 메모리 인터페이스(127), 제1 레지스터(SFR0 : Special Function Register 0)(128a), 및 제2 레지스터(SFR1)(128b)를 구비한다. 도 2에는 그래픽 처리 유닛(120)에 데스티네이션 읽기 블록 컨트롤러(121), GPU코어(123), 버퍼(125), 데스티네이션 쓰기블록 컨트롤러(126), 데스티네이션 쓰기 메모리 인터페이스(127), 제1 레지스터(SFR0 : Special Function Register 0)(128a), 및 제2 레지스터(SFR1)(128b)만을 도시하였으나, 본 발명에 따른 그래픽 처리 유닛(120) 또한 도 1과 같은 소스 블록 컨트롤러(13), 소스 메모리 인터페이스(14), 패턴 블록 컨트롤러(15), 패턴 메모리 인터페이스(16), 기타 블록 컨트롤러(19), 기타 메모리 인터페이스(19a)를 구비한다. 다만, 이들의 구성과 기능은 종래의 것과 동일하므로, 도면을 간단하게 하기 위하여 이를 생략하였다.2 is a block diagram schematically illustrating a graphics processing unit according to the present invention. Referring to the drawings, the
데스티네이션 읽기 블록 컨트롤러(121)는 시스템 버스를 통해 시스템 메모리(45)로부터 데스티네이션 읽기 비트맵 이미지를 독출한다. 이때, 시스템 버스와 시스템 메모리(45) 사이에 배치된 메모리 컨트롤러(40)가 시스템 메모리(45)와 시스템 버스 사이의 데이터 송수신을 제어한다.The destination read block controller 121 reads the destination read bitmap image from the
GPU코어(123)는 데스티네이션 읽기 블록 컨트롤러(121)에 의해 독출된 데스티네이션 읽기 비트맵 이미지에 대하여 논리연산을 수행한다.The
PC(Personal Computer) 등과 같은 호스트(도시하지 않음)에서 프린터로 데이터를 보낼 때는 PCL(Printer Command Language), Postscript, GDI 등과 같은 프린터가 해석할 수 있는 형태로 내보내 주는데, 이때, 이미지의 크기(size), 분해능(resolution), 화소의 계조(pixel depth) 등의 데이터가 전송되게 된다. 프린터는 이 정보를 받아서 비트맵 형태(bitmap format)로 프린트하기 위한 데이터로 변환시키게 된다.When sending data from a host (not shown) such as a personal computer (PC) to a printer, the printer is exported in a form that can be interpreted by a printer such as PCL (Printer Command Language), Postscript, GDI, etc. ), Resolution, and pixel depth of the pixel are transmitted. The printer receives this information and converts it to data for printing in bitmap format.
여기서, 비트맵 형태란, 각 화소의 값을 흑 또는 백(즉, '0' 또는 '1')으로 표현하는 방식이다. 호스트에서 그레이 포맷(gray format : 각 픽셀의 명도값을, 예컨대 8비트의 데이터로 표현하는 경우, 0 내지 255의 레벨의 값으로 표현하는 방식)으로 전송된 데이터를 모노이미지(mono image)로 변환시켜 출력하기 위해서는 그레이 포맷을 비트맵 포맷으로 변환시켜야 한다. 따라서, 0 내지 255의 256가지 레벨의 값을 0 또는 1로 변환시키는 해프토닝(halftoning) 과정이 있어야 한다.Here, the bitmap form is a method of expressing the value of each pixel in black or white (that is, '0' or '1'). Converts the transmitted data to a mono image in gray format (the method of expressing the brightness value of each pixel as a 8-bit data, for example, in the level of 0 to 255). In order to print it out, you need to convert the gray format to bitmap format. Therefore, there must be a halftoning process that converts 256 levels of values from 0 to 255 to 0 or 1.
한편, 사용자가 작성한 문서를 프린터로 인쇄하기 위해서는 프린터와 프린터 드라이버를 구비하여야 하는데, 이때 중요한 사항은 프린터와 프린터 드라이버는 동일한 에뮬레이션을 가지고 있어야 한다는 것이다. 예를 들면 PCL6, PCL5e, Postscript, GDI 등과 같은 프린터 에뮬레이션에 따라 이와 동일한 명령어를 생성할 수 있는 드라이버가 제공되어야 한다. 즉, 포스트 스크립트 에뮬레이션이 내장된 프린터에는 포스트 스크립트 프린터 드라이버가 제공되어야 한다.On the other hand, in order to print a user-created document to a printer, a printer and a printer driver must be provided. An important point is that the printer and the printer driver must have the same emulation. For example, a driver must be provided that can generate the same commands based on printer emulation, such as PCL6, PCL5e, Postscript, GDI, and so on. In other words, a PostScript printer driver must be provided for printers with PostScript emulation.
버퍼(125)는 GPU코어(123)에 의해 한 밴드의 처리가 완료되기 전까지의 데스티네이션 어드레스의 데이터를 저장한다. 즉, 한 밴드 내에서 데스티네이션 어드레스의 데이터에 대한 재처리가 필요한 경우, 종래의 기술에서는 시스템 메모리(45)에 저장하기 때문에 재처리가 필요할 때마다 시스템 버스에 많은 트랜잭션을 요구하였으나, 시스템 메모리(45)가 아닌 그래픽 처리 유닛(120) 내부의 버퍼(125)에 데이터를 저장함으로써 시스템 버스로의 트랜잭션을 줄일 수 있게 된다. 여기서, 버퍼(125)는 플립플롭 기억소자로 사용되는 SRAM(Static RAM)으로 구현되는 것이 바람직하다. 또한 SRAM의 크기는, 하나의 밴드 비트맵 데이터를 모두 저장할 수 있는 79360bytes(하나의 밴드가 4960 x 128 라인으로 가정할 경우) 정도가 적당하다. 그러나, SRAM의 크기는 이에 한정된 것은 아니며, 차 후 원하는 크기로 확장될 수도 있다.The
데스티네이션 쓰기 블록 컨트롤러(126)는 GPU코어(123)에 의해 한 밴드의 처리가 완료된 경우에, 버퍼(125)에 저장된 데스티네이션 어드레스의 데이터를 데스티네이션 쓰기 메모리 인터페이스(127) 및 시스템 버스를 통하여 시스템 메모리(45)에 기록한다.The destination write block controller 126 transfers the data of the destination address stored in the
제1 레지스터(128a)는 데스티네이션 읽기 블록 컨트롤러(121)에 의해 독출된 데스티네이션 읽기 비트맵 이미지의 데스티네이션 어드레스를 저장한다. 또한, 제2 레지스터(128b)는 사용되는 에뮬레이터의 종류가 PCL6인 경우에는 "1"의 값을 저장하며, 다른 종류의 에뮬레이터가 사용되는 경우에는 "0"의 값을 저장한다. 여기서, 제1 레지스터 및 제2 레지스터는 32bits의 크기로 구현되는 것이 바람직하다.The
도 3은 도 2의 그래픽 처리 유닛에 의한 그래픽 처리 방법을 나타낸 흐름도이다. 도면을 참조하면, GPU(123)는 하나의 밴드에 대한 그래픽 처리가 완료되면 제1 레지스터(128a)에 저장된 비트 0을 세팅하며(S101), 새로운 밴드의 시작이 있을 때까지 아이들(idle) 상태로 된다.3 is a flowchart illustrating a graphic processing method by the graphic processing unit of FIG. 2. Referring to the drawing, when the graphic processing for one band is completed, the
새로운 밴드가 시작되면(S103), GPU(123)는 SRAM(125)을 클리어 또는 세팅한다. 이를 위해, GPU(123)는 새로운 밴드가 시작되면(S103) 제2 레지스터(128b)를 점검하여 에뮬레이터의 종류를 판단한다. 이때, GPU(123)에 의해 판단된 에뮬레이터의 종류가 PCL6인 경우(S105), GPU(123)는 SRAM(125)을 "1"로 세팅하며(S107), 판단된 에뮬레이터의 종류가 PCL6외의 다른 것인 경우, GPU(123)는 SRAM(125)을 "0"으로 클리어한다(S109). When a new band is started (S103), the
SRAM(125)에 대한 클리어 또는 세팅이 끝난 후, GPU(123)가 한 밴드를 모두 처리할 때까지 SRAM(125)이 데스티네이션 읽기 블록 컨트롤러(121) 및 데스티네이션 쓰기 블록 컨트롤러(126)에 대해 응답하여 데스티네이션 어드레스의 데이터를 저장한다(S111). 즉, GPU(123)에 의한 한 밴드의 처리가 완료될 때까지 데이터는 시스템 버스로 전송되지 않는다.After clearing or setting the
GPU(123)에 의해 한 밴드의 처리가 모두 완료되면(S113), GPU(123)는 한 밴드의 처리가 완료되었다는 신호를 SRAM(125)에 전송하며, 전송된 신호에 의해 SRAM(125)는 그때까지 저장된 데이터를 제1 레지스터(128a)에 저장된 데스티네이션 어드레스로부터 시작하여 자신의 크기만큼의 시스템 메모리(45) 영역에 라이트백(write back) 즉, 저장한다(S115). When the processing of one band is completed by the GPU 123 (S113), the
SRAM(125)에 의한 시스템 메모리(45)로의 라이트백이 모두 끝나면, GPU(123)는 제1 레지스터의 비트를 0으로 세팅하며, 다시 새로운 밴드가 시작될 때까지 아이들 상태가 된다.After all writeback to the
본 발명에 따르면, 그래픽 처리 유닛은 한 밴드에 대한 그래픽 처리가 완료될 때까지 반복적으로 재사용되는 데스티네이션 비트맵 이미지 데이터를 GPU 내의 SRAM에 저장하고, 한 밴드에 대한 그래픽 처리가 완료될 때까지는 시스템 버스로의 트랜잭션을 발생시키지 않음으로써, 전체적인 시스템 버스의 트랜잭션을 줄일 수 있게 되어 결과적으로 SoC 시스템의 성능을 향상시킬 수 있게 된다. According to the present invention, the graphics processing unit stores the destination bitmap image data, which is repeatedly reused until the graphics processing for one band is completed, in the SRAM in the GPU, and until the graphics processing for one band is completed. By not generating transactions on the bus, the overall system bus transaction can be reduced, resulting in improved performance of the SoC system.
이상에서는 본 발명의 바람직한 실시예에 대해서 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다. Although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the present invention is not limited to the specific embodiments of the present invention without departing from the spirit of the present invention as claimed in the claims. Anyone skilled in the art can make various modifications, as well as such modifications are within the scope of the claims.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050007567A KR100611249B1 (en) | 2005-01-27 | 2005-01-27 | Graphic processing unit capable of reducing transaction into system bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050007567A KR100611249B1 (en) | 2005-01-27 | 2005-01-27 | Graphic processing unit capable of reducing transaction into system bus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060086678A KR20060086678A (en) | 2006-08-01 |
KR100611249B1 true KR100611249B1 (en) | 2006-08-10 |
Family
ID=37175854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050007567A KR100611249B1 (en) | 2005-01-27 | 2005-01-27 | Graphic processing unit capable of reducing transaction into system bus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100611249B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009099446A1 (en) * | 2008-02-08 | 2009-08-13 | Hewlett-Packard Development Company, L.P. | Printing method using multiple processors |
-
2005
- 2005-01-27 KR KR1020050007567A patent/KR100611249B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20060086678A (en) | 2006-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000135821A (en) | Printer | |
KR100611249B1 (en) | Graphic processing unit capable of reducing transaction into system bus | |
JP4208350B2 (en) | Drawing apparatus, drawing method, and storage medium | |
JP2004106192A (en) | Writing processor, information processor, image formation apparatus, writing processing method and program | |
US20030098988A1 (en) | Fast printing apparatus and method thereof | |
JP2001096854A (en) | Apparatus and method for printing processing | |
US6992677B2 (en) | System and method for accelerating two-dimensional graphics in a computer system | |
KR100594782B1 (en) | Processing system and method of pattern bitmap data for printer | |
JP2002024840A (en) | Drawing processing device | |
JP4581854B2 (en) | Image processing apparatus, image processing program, and image processing method | |
JP4058197B2 (en) | Drawing apparatus, drawing method, and storage medium | |
JP2017154395A (en) | Information processing device, image processing device, and information processing method | |
JP2005258783A (en) | Data transfer device, data transfer method, image forming apparatus, and option board | |
JP2907436B2 (en) | Pattern information processing apparatus and method | |
JP2004042406A (en) | Printer | |
JPH1063250A (en) | Character processing device | |
JP6191106B2 (en) | Image processing apparatus and image processing method | |
JP2536430B2 (en) | Printer device | |
JPH10207447A (en) | Image processor | |
JP2008097142A (en) | Printer and printer system | |
JP2001246788A (en) | Printer | |
JP2002019196A (en) | Printer and data receiver | |
JPH1110961A (en) | Print processor and printing method | |
JPH03155268A (en) | Picture output controller | |
JPH0477272A (en) | Printer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |