WO2012124251A1 - データ処理装置、データ処理方法及びデータ共有システム - Google Patents
データ処理装置、データ処理方法及びデータ共有システム Download PDFInfo
- Publication number
- WO2012124251A1 WO2012124251A1 PCT/JP2012/000898 JP2012000898W WO2012124251A1 WO 2012124251 A1 WO2012124251 A1 WO 2012124251A1 JP 2012000898 W JP2012000898 W JP 2012000898W WO 2012124251 A1 WO2012124251 A1 WO 2012124251A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- address
- data
- memory
- access
- arrangement
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
Definitions
- the present invention relates to a data processing apparatus that processes data such as moving images and still images, and more particularly to improvement of memory access efficiency.
- image processing application software generally performs processing such as storing image data in SDRAM (Synchronous DRAM), sequentially reading out and displaying each pixel data constituting the image.
- SDRAM Synchronous DRAM
- each bank constituting the SDRAM can be accessed by specifying a row address and a column address.
- the burst transfer function With the burst transfer function, the same row address in the same bank can be specified and each data in the memory area specified by each column address can be accessed continuously.
- the so-called precharge command and activate command that are required each time have an interval restriction that each command must be issued after waiting for a certain period, so that the memory access efficiency decreases.
- an object of the present invention is to provide a data processing apparatus capable of realizing efficient memory access and a technique related to the apparatus.
- a data processing apparatus is a data processing apparatus that accesses processing target data stored in a memory configured by a plurality of continuously accessible blocks.
- Mapping means for determining addresses to be arranged in each of the plurality of areas of the memory using the first and second arrangement formats, and the portion based on each arrangement format when reading the partial data in the processing target data
- a selection unit that selects an arrangement mode with better access efficiency to the partial data based on an address range related to the data, and access to the partial data by the mapping unit according to the first and second arrangement modes.
- the processing target data are assumed to have the same contents in different memory areas corresponding to the respective addresses to be determined.
- Access control means for controlling the memory area associated with the memory selected by the selecting means in the memory in which the data is recorded to access the memory area. Defines the address of the data to be processed at a position different from the address at which the data to be processed is arranged according to the first arrangement mode in terms of the relative position to the boundary address of the block in the address space. It is characterized by that.
- the data processing apparatus selects a memory area in which the same data is arranged in two arrangement modes, and selects the one with higher access efficiency each time a part of the data is read. By accessing, it is possible to achieve an improvement in memory access efficiency as a whole.
- Functional block diagram of the data sharing apparatus 100 Functional block diagram of the access management unit
- positioning style with respect to the memory 1000 Diagram showing the configuration of the drawing block
- a flowchart showing the operation of the computer of the data sharing apparatus 100 Flow chart showing the operation of a computer that has received an access request from another computer Flow chart showing the selection process Time chart of control signals to memory 2000 Time chart assuming access to memory 1000
- the data sharing apparatus 100 is composed of a multiprocessor (here, two processors), and is an H.264 standard. This is an apparatus used for MPEG encoding processing of H.264 / MPEG AVC.
- each frame image of an HD (High Definition) moving image obtained by imaging that is, two-dimensional image data composed of 1920 horizontal pixels and 1080 vertical pixels is sequentially stored in a memory, and the frame image to be processed
- a so-called motion search motion compensation
- motion compensation motion compensation
- frame images are stored in memory areas at two different positions in relation to the address boundary of a drawing block (described in detail later) in an address space associated with a continuously accessible memory unit.
- Each time address mapping is performed so that a partial image at an arbitrary position in a frame image needs to be read, memory access is performed based on two address-mapped address ranges according to the position of the partial image.
- the memory area with the higher efficiency is selected and accessed.
- the memory 1000 and the memory 2000 in the data sharing apparatus 100 are SDRAM (Synchronous DRAM) groups connected to the two processors 210 and 310, respectively, and are composed of two SDRAMs (memory 0 and memory 1). .
- SDRAMs have a 4-bank configuration, a memory can be specified by a chip select signal, a bank can be specified by a bank address, and each bank can be accessed by specifying a row address and a column address. With the burst transfer function, the same row address can be specified and each 8-byte data specified by 512 column addresses can be accessed continuously. However, when access to different row addresses occurs, When issuing the precharge command and the activate command, each command must be issued after waiting for a certain period. Therefore, if access to different row addresses in the same bank occurs frequently, the memory access efficiency decreases.
- the same frame image is stored in two memory areas by using two arrangement formats as address mapping used when storing a frame image of an HD moving image in a memory.
- Both of the two arrangement modes are blocks determined by the same row address in the same bank of the memory in a two-dimensional address space (XY two-dimensional address space) determined by an X-direction address (X address) and a Y-direction address (Y address).
- the drawing blocks associated with the two-dimensional image are arranged two-dimensionally, and when address mapping for storing a two-dimensional image (each pixel data constituting the image data) in a memory, each pixel in the two-dimensional image is mapped.
- the X address and the Y address are determined based on the two-dimensional coordinates (the horizontal x coordinate and the vertical y coordinate).
- the two arrangement modes are arrangement modes in which the relative positional relationship between the address serving as the boundary between the drawing blocks in the two-dimensional address space and the two-dimensional image is different from each other.
- the address in the X direction is a column unit corresponding to 8 bytes
- the address in the Y direction is a line unit indicating the number of columns in the X direction.
- the boundary address in the X direction of each drawing block arranged two-dimensionally is represented by 16 ⁇ N (N is an integer of 0 or more), and the boundary address in the Y direction of each drawing block is 32 ⁇ M (M is 0 or more) (Integer).
- image data for 8 horizontal pixels and 1 vertical pixel is represented in one column.
- an address in the logical XY two-dimensional address space of data to be accessed is determined by associating one block of the SDRAM memory cell group determined by the same bank and the same row address as a physical address for each drawing block.
- the physical address (memory, bank, row address, column address) when actually accessing the data is determined. Note that adjacent drawing blocks in the XY two-dimensional address space are associated with different banks.
- the Y address of the pixel data address-mapped by the first arrangement style is Y0
- the Y address of the same pixel data address-mapped by the second arrangement style is Y0 + 16. Note that pixel data groups address-mapped in one drawing block are associated with the same bank and same row address, and thus can be accessed continuously.
- the data sharing apparatus 100 when sequentially reading out partial images at each position in the frame image in motion search processing or the like, two partial images are provided for each partial image according to the position of the partial image in the frame image.
- One of the arrangement modes is selected according to a criterion for determining which one is more efficient in accessing the memory area to which the address mapping is performed, and access is made according to the selection result.
- the criterion is that it is determined that the smaller the number of drawing blocks that the address range to which the partial images are mapped is, the more efficient.
- the data sharing apparatus 100 that performs MPEG encoding processing in parallel by each processor, it is possible to reduce the number of access to the drawing block at the time of reading out a partial image at an arbitrary position in the frame image. This leads to an improvement, and overall, it is possible to prevent wasteful use of a memory bandwidth by suppressing the frequency of consecutive accesses to different row addresses in the same bank.
- the data sharing apparatus 100 includes a computer 200 and a computer 300.
- the computer 200 and the computer 300 are connected via an interface 270 and an interface 370, and the computer 200 is an SDRAM chip group.
- the memory 1000 and the computer 300 are respectively connected to a memory 2000 that is an SDRAM chip group.
- the computer 200 includes a processor 210 and various circuit groups. If the various circuit groups are distinguished from each other in terms of function, an access management unit 220, an arbitration unit 240, an arbitration unit 241, an input management unit 250, an output A management unit 260, an interface 270, a memory control unit 280, and an access replacement unit 290 are provided.
- the processor 210 executes a program stored in the memory to control, for example, various stages of the MPEG encoding process, and requests the access to the memory 1000 or the memory 2000 in order to write or read the image data in the process.
- Memory access That is, the processor 210 outputs an access request such as a data write request for each frame image and a data read request for a partial image for motion search processing for searching for a partial image corresponding to each macroblock. It has a function. After the read request is output, the processor 210 reads data from the memory that is determined to have good access efficiency.
- the access request (write request or read request) is accompanied by an attribute for identifying whether it is a write request or a read request, and the upper left image address (x coordinate, y of the image data to be accessed). Coordinates) and size (width in x direction and width in y direction).
- the access management unit 220 has a function of managing an access request from the processor 210, that is, a function of analyzing an access request, specifying a destination and sending an access request to the destination, as shown in FIG. Section 230, access control section 221, access replacement section 222, and address specifying section 223.
- the address specifying unit 223 specifies an address in the XY two-dimensional address space according to the first arrangement format for the memory 1000 based on the image address (x coordinate, y coordinate) with respect to the two-dimensional image data, and the second address for the memory 2000. 2 has a function of specifying an address in the XY two-dimensional address space in accordance with two arrangement modes.
- the upper left position of the image frame is set to an X address value 16 ⁇ N (N is an integer of 0 or more, for example, 0), a Y address value 32 ⁇ M (M is 0 or more) in the XY two-dimensional address space.
- the X address value 16 ⁇ N and the Y address value 32 ⁇ M + 16 are associated with each other.
- the access replacement unit 222 has a function of converting an address in the XY two-dimensional address space into a physical address in the memory 1000.
- the address mapping by the access replacement unit 222 and the address specifying unit 223 will be described in more detail later.
- the access analysis unit 230 has a function of analyzing an access request from the processor 210, and includes an access attribute determination unit 231, an access division unit 232, and a selection unit 233.
- the access request input to the access analysis unit 230 is accompanied by image addresses (x coordinate, y coordinate) of the upper left and lower right of the rectangular image with respect to the two-dimensional image data, and is output from the access analysis unit 230.
- the access request is accompanied by an address in a logical XY two-dimensional address space formed by two-dimensionally arranging drawing blocks corresponding to memory cells of the same bank and the same row address.
- the direction in which the x coordinate increases is expressed as right, and the direction in which the y coordinate increases is expressed as down. Accordingly, the upper left corner of the rectangular image is indicated by the minimum x coordinate and y coordinate among the coordinates of each pixel constituting the rectangular image.
- the access attribute determination unit 231 has a function of determining whether the access request is a write request or a read request.
- the access dividing unit 232 divides and outputs an access request (write request) to the memory 1000 and an access request (write request) to the memory 2000 in order to write the same data to both the memory 1000 and the memory 2000 when writing data. It has the function to do.
- the selection unit 233 has a function of determining which access efficiency is better when reading out the partial image data that is the target of the read request from the memory 1000 or the memory 2000, and selecting a better access efficiency. .
- the address specifying unit 223 obtains an address range in the first arrangement format and an address range in the second arrangement format of the partial image, and each address range defines the drawing block boundary in the XY two-dimensional address space. The number of drawing blocks spanning each address range, that is, the number of drawing blocks is calculated, and the memory corresponding to the arrangement mode with the smaller number is selected as having good access efficiency.
- the access control unit 221 has a function of selecting a memory to be accessed based on the analysis result of the access analysis unit 230 and controlling to access the selected memory.
- the access request is a write request
- the access request divided into two by the access division unit 232 to realize the writing of data to both the memory 1000 and the memory 2000.
- the information is transmitted to the access replacement unit 222 and the output management unit 260, respectively. If the access request is a read request, based on the selection result of the selection unit 233, the access request is transmitted to the access replacement unit 222 when read from the memory 1000, and output when data is acquired from the memory 2000. Tell the management unit 260.
- the access replacement unit 222 performs writing and reading with respect to the memory 1000 based on the logical addresses in the XY two-dimensional address space, as in the conventional case, adjacent drawing blocks are different from each other (including different SDRAM chips). It has a function of generating a physical address for designating to the SDRAM by an algorithm for associating with (refer to Patent Document 2).
- the input management unit 250 has a function of managing access requests from the computer 300 to the memory 1000.
- the input management unit 250 receives the access request sent via the interface 270 and sends it to the access replacement unit 290.
- the access replacement unit 290 has the same function as the access replacement unit 222, and generates a physical address to be specified in the memory 1000 based on an access request accompanied by an XY two-dimensional address from the computer 300.
- the output management unit 260 has a function of sending an access request from the computer 200 to the computer 300 to the computer 300 via the interface 270 for achieving interface matching between the computers.
- the arbitrating unit 240 has a function of arbitrating contention between access to the memory 1000 from the processor 210 and access to the memory 1000 from the computer 300.
- the arbitration unit 241 has a function of arbitrating a conflict between an access request input from the computer 300 via the interface 270 and an access request output via the interface 270 to the computer 300.
- the memory control unit 280 outputs a control signal (command or the like) according to the distinction between writing and reading and a physical address in order to write data to the memory 1000 or read data from the memory 1000 in accordance with the access request.
- the memory 1000 has a function of controlling.
- the computer 300 includes a processor 310, an access management unit 320, an arbitration unit 340, an arbitration unit 341, an input management unit 350, an output management unit 360, an interface 370, a memory control unit 380, and an access replacement unit 390.
- the elements have the same functions as the corresponding units in the computer 200 described above.
- FIG. 3 is a diagram illustrating the association of the HD frame image with the XY two-dimensional address space and the association of the XY two-dimensional address space with the address designation of the SDRAM according to the first arrangement mode for the memory 1000.
- the XY two-dimensional address space is a two-dimensional arrangement of drawing blocks associated with blocks (memory cell groups) designated by the same bank and the same row address in the same SDRAM.
- FIG. 3 the boundary of the drawing block is indicated by a broken line, and only the range in which one frame image is allocated is shown.
- the upper left of the HD frame image composed of horizontal 1920 pixels ⁇ vertical 1080 pixels is associated with a position where the X address of the XY two-dimensional address space is 0 and the Y address is 0.
- the frame image is allocated to 15 drawing blocks in the X direction and 34 drawing blocks in the Y direction.
- FIG. 4 shows the relationship between the drawing block and the pixels, taking the upper left of the drawing blocks indicated by broken lines in FIG. 3 as an example.
- the drawing block has an X address width of 16 (that is, 128 bytes) and a Y address width of 32, and can be accessed by the same row address, that is, by a 512 column address. Since 8 bytes are stored per column address, one column corresponds to data for 8 pixels in a data configuration of 1 byte per pixel. Data for 128 horizontal pixels and 32 vertical pixels can be arranged in one drawing block.
- FIG. 5 is a diagram showing the association of the HD frame image with the XY two-dimensional address space according to the second arrangement mode for the memory 2000, and the correspondence between the XY two-dimensional address space and SDRAM addressing. Also in FIG. 5, the boundary of the drawing block is indicated by a broken line, and only the range in which one frame image is allocated is shown.
- the upper left of the HD frame image composed of horizontal 1920 pixels ⁇ vertical 1080 pixels is associated with the position where the X address in the XY two-dimensional address space is 0 and the Y address is 16. It is supposed to be.
- the address range in the XY two-dimensional address space to which the frame image is allocated by the first arrangement mode is the same as the address range to which the frame image is allocated by the second arrangement mode in the Y direction. 16 is shifted by half of the drawing block.
- 3 and 5 show the first arrangement mode and the second arrangement for the rectangle 0 and the rectangle 1, which are examples of rectangular images that are continuously accessed when the target is a motion search process. It shows that different addresses are associated with the arrangement style.
- FIG. 3 and 5 also show which block in the memory each drawing block in the XY two-dimensional address space is associated with by the access replacement unit.
- “Memory 0” and “Memory 1” in FIG. 3 and FIG. 5 distinguish the individual SDRAM chip groups constituting each of the memory 1000 and the memory 2000.
- FIG. 6 is a flowchart showing an operation related to image data access by the processor 210 of the computer 200.
- the access attribute determining unit 231 determines whether it is a write request or a read request based on the attribute of the access request (step S1, S2).
- the access request is a write request
- the address is specified based on the upper left image address (x coordinate, y coordinate) and size (width in the x direction and width in the y direction) of the image data to be accessed according to the access request.
- the unit 223 identifies each address range in the XY two-dimensional address space of the image data according to the first arrangement format and the second arrangement format, and the access division unit 232 determines the address range in the first arrangement format based on the result.
- An access request addressed to the memory 1000 accompanied by the address range and an access request addressed to the memory 2000 (computer 300) accompanied by the address range defined in the second allocation mode are generated and sent to the access control unit 221. Transmit (step S3).
- the access control unit 221 sends an access request to the memory 1000 to the access replacement unit 222, and the access replacement unit 222 sets a physical address for accessing the memory 1000 based on the address range of the XY two-dimensional address space related to the access request. Conversion is performed, and data writing control to the memory 1000 is controlled via the arbitration unit 240 and the memory control unit 280 (step S4).
- the access control unit 221 sends an access request for the memory 2000 to the output management unit 260, and the output management unit 260 sends an access request (write request) to the computer 300 via the arbitration unit 241 and the interface 270. (Step S5).
- the input management unit 350 of the computer 300 that has received the access request sent via the interface 370 and the arbitration unit 341 (step S21), XY2 determined based on the second arrangement format attached to the access request.
- the address range in the dimensional address space is sent to the access substitution unit 390, and the access substitution unit 390 converts the address in the XY two-dimensional address space into a physical address for accessing the memory 2000, and passes through the arbitration unit 340 and the memory control unit 380.
- data writing to the memory 2000 or data reading from the memory 2000 is controlled (step S22).
- step S6 if the access attribute determination unit 231 determines that the access request is a read request, the selection unit 233 reads data to be accessed from either the memory 1000 or the memory 2000.
- a selection process for determining whether the access efficiency is good and selecting the one with the good access efficiency is performed (step S6). This selection process will be described later in detail.
- step S7 If it is selected that the memory 1000 connected to the own machine (computer 200) has the higher access efficiency in step S6, that is, the one arranged in the first arrangement mode (step S7), the access is made.
- the analysis unit 230 transmits to the access control unit 221 an access request addressed to the memory 1000 accompanied by an address range defined in the first arrangement format.
- the access control unit 221 sends an access request to the memory 1000 to the access replacement unit 222, and the access replacement unit 222 sets a physical address for accessing the memory 1000 based on the address range of the XY two-dimensional address space related to the access request.
- the data is converted, and data read from the memory 1000 is controlled via the arbitration unit 240 and the memory control unit 280 (step S8).
- step S6 if it is selected that the access efficiency is better in the memory 2000 connected to the other machine (computer 300), that is, the one arranged in the second arrangement mode (step S7). ),
- the access analysis unit 230 transmits an access request addressed to the memory 2000 (computer 300) accompanied by the address range defined in the second arrangement format to the access control unit 221, and the access control unit 221 Is sent to the output management unit 260, and the output management unit 260 sends an access request (read request) to the computer 300 via the arbitration unit 241 and the interface 270 (step S9).
- the selection unit 233 obtains the upper left image address (x coordinate, y coordinate) and size of image data (hereinafter referred to as “partial image”) to be accessed accompanying the access request (step S31), and After calculating the lower right image address based on the image address and size (step S32), the range of the X address and the Y address of the XY two-dimensional address space according to the first arrangement mode for the partial image is calculated. The number of drawing blocks spanned by the address range is calculated (step S33).
- the X address in the upper left XY two-dimensional address space of the partial image according to the first arrangement mode corresponding to the memory 1000 is set as Xa
- the upper left Y address is set as Ya
- the lower right X address is set as Xb
- the lower right If the Y address is set to Yb
- the number Bn of drawing blocks (BXa, BYa) to which the upper left portion of the partial image belongs, drawing blocks (BXb, BYb) to which the lower right portion belongs, and drawing blocks that the partial image straddles are expressed by the following Equation 5.
- Equation 5 Equation 5.
- the range of the calculated X address and Y address differs from that of the first arrangement mode by 16 offsets in the Y direction.
- the X address in the upper left XY two-dimensional address space of the partial image according to the calculated second arrangement mode is set as Xa
- the upper left Y address is set as Ya
- the lower right X address is set as Xb
- the lower right If the Y address of Y is set to Yb, the number Bn of the drawing blocks (BXa, BYa) belonging to the upper left of the partial image, the drawing blocks (BXb, BYb) belonging to the lower right, and the drawing blocks straddling the partial images are the same. It can be specified by 5-9.
- the selection unit 233 compares the number of drawing blocks calculated in step S33 and step S34, respectively, and when the number of drawing blocks according to the first arrangement style is larger (step S35: YES), the second When the memory 2000 corresponding to the arrangement style of the memory is selected as a memory with good access efficiency (step S37), and the number of drawing blocks according to the first arrangement style is not larger (step S35: NO), the first The memory 1000 corresponding to the arrangement mode is selected as a memory with good access efficiency (step S36).
- FIG. 9 shows that when the rectangle 0 and the rectangle 1 are arranged in the XY two-dimensional address space determined by the second arrangement format corresponding to the memory 2000 as shown in FIG. 6 is a time chart showing a control signal for the memory 2000 and a data signal output from the memory 2000 by the memory control unit 380 of the computer 300 when trying to read data.
- the memory control unit 380 of the computer 300 performs two blocks (memory cell group) included in the rectangle 0, that is, the block of the row address 1 of the bank 3 of the memory 0 and the block of the row address 1 of the bank 0 of the memory 1 Issue an activate command. Next, a read command is issued to the two blocks, and image data is read out.
- FIG. 9 shows an example in which two data are read out by accessing two surfaces as the same block in two banks as a configuration of 4 bytes per column.
- a precharge command is issued to the two blocks included in the rectangle 0, and the two blocks included in the rectangle 1, that is, the block at the row address 2 of the bank 2 of the memory 0 and the bank of the memory 1
- the activate command and the read command are issued to the block of the row address 2 of 3. In this way, continuous access to the rectangle 0 and the rectangle 1 is realized.
- FIG. 10 is a time chart showing a control signal that should be output to the memory 1000 and a data signal that should be output from the memory 1000 at that time.
- the memory control unit 280 in the computer 200 includes four blocks (memory cell group) included in the rectangle 0, that is, the block at the row address 0 in the bank 2 of the memory 0, the block at the row address 0 in the bank 1 of the memory 1, and the memory An activate command is issued to the block of row address 1 in bank 3 of 0 and the block of row address 1 in bank 0 of memory 1.
- a read command is issued to the four blocks, and image data is read out.
- a precharge command is issued to the four blocks including the rectangle 0, and the four blocks included in the rectangle 1, that is, the block of the row address 1 of the bank 1 of the memory 0 and the row of the bank 0 of the memory 1 are included.
- the number of computers may be three or more. Characters and other data may be shared. Further, for example, among the three computers A, B, and C each having a dedicated memory and connected by a bus, computer A and computer B share data D, and computer A and computer C share data E. In this case, when updating data shared with other computers, each computer transmits an identifier of the data and update data to the other computers through the bus, and the bus If the identifier of the data transmitted through is shared by the own computer, the updated data may be taken into the dedicated memory of the own computer.
- the access management unit 400 has the same function as the access management unit 220 described above, and the arbitration unit 410 mediates contention of access requests output from the access management unit 220 and the access management unit 400. To do.
- the computer can realize access to the image data in the memory in response to designation of an image address, for example, from another computer.
- each computer may include a processing engine circuit such as a decoder that specializes in specific processing such as image processing, and the access management unit may select the processing engine circuit as a destination of access requests in addition to the memory. .
- Each computer implements only the algorithm and processing mechanism related to only one arrangement mode for data arrangement in the dedicated memory of its own computer, and designates data from other computers or designation of its logical address, image coordinates, etc.
- the number of blocks of memory to be accessed is returned when receiving and allocating to the memory in the allocation format in the own computer based on the designation, and the number of blocks returned from other computers and the allocation format in the own computer It may be possible to determine which computer's dedicated memory is more efficient when compared with the number of blocks. For this purpose, the arrangement format determined by each computer needs to be different for each computer in the amount of deviation from the memory block boundary.
- a data sharing apparatus including two computers including a processor and connected to one memory has been described.
- the number of processors and memories may be other than this. Good.
- the data processing device only needs to have at least one processor and a plurality of memory areas.
- a plurality of memory areas may be defined in which data is arranged in a plurality of arrangement styles such that the data is different between the arrangement styles.
- one processor arranges data such as a frame image in a certain memory area, and arranges the same data such as the same frame image in a different memory area by changing the positional relationship with the memory block boundary.
- some of the data to be read may be read from the memory area with the smaller number across the block boundary.
- the values of the number of memories, the number of banks, the number of columns, the number of lines, etc. shown in the above embodiment are examples, and other values may be used.
- the size of the drawing block is horizontal 16 columns (128 bytes) ⁇ vertical 32 lines, but may be changed according to the number of memory column addresses, the number of data signal lines, and the like.
- one pixel data is one byte.
- This one-pixel data may be a luminance (Y) component or a color difference (Cb, Cr) component.
- one of the two different arrangement modes is used to access the partial image data of the frame image data.
- accessing a memory area arranged on one side is more efficient, it is more efficient to access a memory area arranged on the other of the two different arrangement modes.
- These arrangement modes need to be determined so that the above partial image data can also exist.
- the offset in the Y direction is larger than that width. The same applies to the X direction.
- a plurality of arrangement modes may be determined so that the number of blocks included in the address range of the data to be accessed is different from each other.
- the difference in offset for each arrangement mode is in the horizontal direction (X direction). May appear only (see FIGS. 11A and 11B), or may appear both in the vertical direction (Y direction) and in the horizontal direction (X direction) (see FIGS. 11C and 11C). (See (d)).
- the horizontal and vertical widths of the drawing blocks may be made different for each arrangement mode (see FIGS. 11E and 11F).
- the horizontal 16 columns (128 bytes) ⁇ vertical 32 lines drawing block shown in FIG. 4 is used, and on the other side, the horizontal 8 columns (64 bytes) ⁇ vertical 64 lines are drawn.
- a block may be used.
- the memory access in the course of the MPEG encoding process has been described.
- the processing content for the memory access is not limited to this.
- H. Even H.264 / MPEG AVC processing may be other data encryption / decryption processing.
- the address for mapping the frame image is a two-dimensional address space, but it may be a one-dimensional general address space. However, it is useful to use a two-dimensional address space for arrangement of two-dimensional images. If an address space determined by a one-dimensional address is used for the arrangement of character strings and other data or image data, data that can be stored in a memory cell group that can be accessed by the same row address in the same bank of the SDRAM The offset (relative position) from the boundary address for each unit in units of quantities may be made different between the first arrangement mode and the second arrangement mode.
- the unit is 4 kilobytes
- the first and second arrangement modes define the arrangement (logical address) of data in memory areas of different address ranges in the same logical address space
- the difference between the top addresses of two areas where the same data is arranged may be other than a multiple of 4000H.
- the portions assigned to the drawing blocks (0, 34) to (14, 34) in the lowest vertical direction in the frame image are Further, it may be assigned to the empty areas in the drawing blocks (0, 0) to (14, 0) in the uppermost vertical direction.
- two different arrangement modes are used at the stage of determining the address of the two-dimensional address space determined in association with the memory block from the image address (image coordinate).
- the two placement modes are different so that the relationship between the logical address and the row address is different between the placement modes. It may be determined.
- One processor may realize all or part of the functions of the computer 200 by executing a control program.
- This control program is composed of a program code in a machine language or a high-level language, and may be recorded on a recording medium or distributed and distributed via various communication paths.
- a recording medium includes an IC card, a hard disk, an optical disk, a flexible disk, a ROM, a flash memory, and the like.
- the distributed and distributed control program is used by being stored in a memory or the like that can be read by the processor, and the processor executes the control program to realize the functions shown in the above embodiment. Become so.
- the processor may be compiled and executed or executed by an interpreter.
- the data sharing apparatus 100 and a part of the computers shown in the above embodiment may be configured as an IC, LSI or other integrated circuit package.
- a memory may also be included in the integrated circuit package. This package is incorporated into various devices for use, whereby the various devices realize each function as shown in the above embodiment.
- a data processing apparatus is a data processing apparatus that accesses processing target data stored in a memory configured by a plurality of continuously accessible blocks.
- mapping means for determining addresses for arranging the processing object data in each of a plurality of areas of the memory using the first and second arrangement modes, and when reading partial data in the processing object data, Based on the address range of the partial data based on each layout mode, selection means for selecting a layout mode with higher access efficiency to the partial data, and access to the partial data, the first and second It is assumed that each memory area has the same contents corresponding to each address to be determined by the mapping means according to the layout mode.
- Access control means for performing control by accessing a memory area associated with the arrangement mode selected by the selection means in the memory in which processing target data is recorded; and
- the allocation format is to determine the address of the processing target data at a position different from the address where the processing target data is allocated according to the first allocation mode in terms of the relative position to the boundary address of the block in the address space. It is characterized by being.
- the continuously accessible block is, for example, a burst transfer function in a memory such as a memory cell group having the same row address in the same bank, which can be continuously accessed without waiting for a certain time due to command issue restrictions in the SDRAM. This is a unit area that can be accessed continuously.
- the mapping unit 11 corresponds to, for example, the above-described address specifying unit 223, the selection unit 12 corresponds to, for example, the above-described selection unit 233, and the access control unit 13 includes, for example, the above-described access control unit 221 and access replacement unit 222.
- the access control unit 13 includes, for example, the above-described access control unit 221 and access replacement unit 222.
- the data processing apparatus may be configured as an LSI or other integrated circuit.
- this data processing apparatus a process of sequentially reading and processing images, characters, and other data that are redundantly recorded based on a plurality of different address mappings, rather than being repeatedly recorded with the same address mapping
- the data arranged by one address mapping with high access efficiency is selected and accessed, it is possible to realize efficient memory access as a whole.
- the processing target data is two-dimensional image data represented by an x-coordinate and a y-coordinate
- the first and second arrangement modes are such that the address space is an XY two-dimensional address space and each block in the memory is A plurality of drawing blocks associated with the XY two-dimensional address space are arranged two-dimensionally in the XY two-dimensional address space, and the second arrangement mode is the point of the relative position with respect to the drawing block boundary in the XY two-dimensional address space.
- the X address and Y address in the XY two-dimensional address space are determined according to the x-coordinate and y-coordinate of the two-dimensional image data so that the position differs from the X address and Y address where the two-dimensional image data is arranged depending on the arrangement mode. It may be a thing. This makes it possible to increase the memory access efficiency when performing a so-called motion search process for searching a frame image group similar to a macroblock unit as a partial image, such as an MPEG encoding process.
- the block in the memory corresponding to the drawing block may be a memory cell group having the same row address in the same bank. According to this data processing apparatus, continuous access to areas indicated by different row addresses in the same bank can be reduced.
- the selection means selects one arrangement mode for determining an address so that the number of drawing blocks included in the address range related to the partial data is the smallest among the first and second arrangement formats. Also good. Thereby, the access efficiency can be determined with a simple configuration.
- the data processing device performs a process of sequentially reading out partial images at a plurality of positions in a frame image and having a y-coordinate width of a predetermined size. Is to determine the Y address so that the difference from the Y address determined for the same partial data related to the same partial image in the first arrangement mode is larger than the width of the Y address corresponding to the width of the y coordinate. It may be there.
- the sequential readout process of partial images if any layout is selected, the partial image is address-mapped without straddling the address boundary in the Y direction of the drawing block in the address space. Access efficiency can be improved by accessing according to the arrangement mode.
- the data processing device performs a process of sequentially reading out partial images at each of a plurality of positions in a frame image and having a x-coordinate width of a predetermined size. Defines the X address so that the difference from the X address determined for the same partial data relating to the same partial image by the first arrangement mode is larger than the width of the X address corresponding to the width of the x coordinate. It may be there.
- the sequential reading process of partial images if any layout is selected, the partial image is address-mapped without straddling the address boundary in the X direction of the drawing block in the address space. Access efficiency can be improved by accessing according to the arrangement mode.
- the drawing blocks are associated one-to-one with all memory cell groups having the same row address in the same bank in the memory.
- Both the width in the X direction and the width in the Y direction of the drawing block in the XY two-dimensional address space may be associated with each other so as to be different from the first arrangement form. Since the shape of the rectangular drawing block in the address space associated with the continuously accessible block in the memory is different, the memory arrangement of the two-dimensional image with respect to that block in the memory is different in each arrangement mode, and the access efficiency is good. Therefore, efficient memory access can be realized as a whole.
- the data processing device is configured so that the memory and the processing target data are different memory areas in the memory corresponding to the addresses determined by the mapping unit according to the first and second arrangement modes. It is good also as providing further the recording means written in. With this configuration, both reading and writing of data are realized in the data processing apparatus.
- the processing target data is a frame image, and the data processing device performs a process of sequentially reading a plurality of partial data existing at each of a plurality of positions in the frame image. According to the position of the partial data to be read, it is more preferable to read from the memory area corresponding to the address determined by the mapping means using the first arrangement mode out of the first and second arrangement modes.
- the partial data with high access efficiency and the partial data with high access efficiency to be read out from the memory area corresponding to the address determined by the mapping means using the second arrangement mode are present. It is good also as the 1st and 2nd arrangement
- the data sharing system includes a first memory and a second memory, and a first data processing apparatus that accesses processing target data stored in each memory. 31 and a second data processing device 41, each data processing device having an address for placing the processing object data in the first memory 35 in the first placement.
- Mapping means 32 for determining addresses using the second layout format and addresses for placement in the second memory 45, and when the partial data in the processing target data is read out, Selection means 33 (43) for selecting an arrangement style with higher access efficiency to the partial data based on the address range of the partial data based on the style, and the part Access control means 34 (44) for controlling the access to the data area by accessing the memory area associated with the placement style selected by the selection means, and the second placement style.
- the access control means when accessing a memory connected to a data processing device other than itself, controls to realize the access via the other data processing device. Efficient memory access can be realized in a data sharing system composed of multiprocessors each having a memory connected to each processor.
- the data processing apparatus can realize efficient memory access, it is useful as an apparatus for processing data such as moving images and still images using SDRAM.
- Second memory 100 Data Shared device 200, 300 Computer 210, 310 Processor 220, 320, 400 Access management unit 221 Access control unit 222 Access replacement unit 223 Address specifying unit 230 Access analysis unit 231 Access attribute determination unit 232 Access division unit 233 Selection unit 240, 241, 340, 341, 410 Arbitration unit 250, 350 Input management unit 260, 360 Output management unit 270, 370 Interface 280, 380 Memory control unit 290, 390 Access replacement unit
Abstract
Description
以下、本発明の一実施形態に係るデータ共有装置100について説明する。
データ共有装置100は、マルチプロセッサ(ここでは2つのプロセッサとする。)で構成されH.264/MPEG AVCのMPEGエンコード処理に用いられる装置である。
まず、データ共有装置100の特徴となるメモリアクセス制御について簡単に説明する。
以下、本実施形態に係るデータ共有装置100について、特に画像データに係るアクセスに関連する構成を詳細に説明する。
図3は、メモリ1000用の第1の配置様式によるHDフレーム画像のXY2次元アドレス空間への対応付けと、XY2次元アドレス空間とSDRAMのアドレス指定との対応付けとを表した図である。
(数式1)X2=X1
(数式2)Y2=Y1+16
なお、画素データの2次元座標を(x0,y0)とすると、第1の配置様式で定まるXアドレスの値X1、Yアドレスの値Y1は、以下の式で表される。
(数式3)X1=int(x0/8)
(数式4)Y1=y0
ここで、数式中のintは小数部を切り捨てて整数化することを示す。
以下、上述の構成を備えるデータ共有装置100の動作について説明する。
(数式5)BXa=int(Xa/16)
(数式6)BYa=int(Ya/32)
(数式7)BXb=int(Xb/16)
(数式8)BYb=int(Yb/32)
(数式9)Bn=(BXb-BXa+1)×(BYb-BYa+1)
次に、その部分画像についての第2の配置様式によるXY2次元アドレス空間のXアドレス及びYアドレスの範囲を算定し、そのアドレス範囲が跨る描画ブロックの数を算定する(ステップS34)。この算定されるXアドレス及びYアドレスの範囲はY方向の16のオフセットによって、第1の配置様式によるものとは異なる。但し、この算定された第2の配置様式による部分画像の左上のXY2次元アドレス空間におけるXアドレスをXaと置き、左上のYアドレスをYaと置き、右下のXアドレスをXbと置き、右下のYアドレスをYbと置くと、部分画像の左上の属する描画ブロック(BXa,BYa)、右下の属する描画ブロック(BXb,BYb)、及び、部分画像が跨る描画ブロックの数Bnは、同じ数式5~9により特定することができる。
データ共有装置100においては、図3及び図5に示すようにフレーム画像が記録されている場合において、計算機200或いは計算機300が、矩形0や矩形1を読み出そうとするときには、矩形の跨る描画ブロックの数が小さい方である図5の第2の配置様式で配置されたメモリ2000の方から読み出す。
以上、本発明に係るデータ処理装置の一例としてデータ共有装置の実施形態を説明したが、例示した装置を以下のように変形することも可能であり、本発明に係るデータ処理装置が上述の実施形態で示した通りのデータ共有装置に限られないことは勿論である。
11、32、42 マッピング手段
12、33、43 選定手段
13、34、44 アクセス制御手段
20、1000、2000 メモリ
30 データ共有システム
35 第1メモリ
45 第2メモリ
100 データ共有装置
200、300 計算機
210、310 プロセッサ
220、320、400 アクセス管理部
221 アクセス制御部
222 アクセス置換部
223 アドレス特定部
230 アクセス解析部
231 アクセス属性判定部
232 アクセス分割部
233 選定部
240、241、340、341、410 調停部
250、350 入力管理部
260、360 出力管理部
270、370 インタフェース
280、380 メモリ制御部
290、390 アクセス置換部
Claims (15)
- 複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスするデータ処理装置であって、
前記処理対象データを、メモリの複数の領域それぞれに配置するためのアドレスを、第1及び第2の配置様式を用いて定めるマッピング手段と、
処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段と、
前記部分データへのアクセスを、前記第1及び第2の配置様式により前記マッピング手段によりそれぞれ定められるべき各アドレスに対応した別々のメモリ領域それぞれに同一内容のものとして処理対象データが記録されている前記メモリにおける、前記選定手段の選定した配置様式により対応付けられたメモリの領域に、アクセスすることで実現するよう制御するアクセス制御手段とを備え、
前記第2の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第1の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものである
ことを特徴とするデータ処理装置。 - 前記処理対象データはx座標及びy座標で表される2次元画像データであり、
前記第1及び第2の配置様式は、前記アドレス空間をXY2次元アドレス空間とし、メモリにおける前記ブロック毎に対応付けた描画ブロックを当該XY2次元アドレス空間に2次元に複数配置するものであり、前記第2の配置様式は、XY2次元アドレス空間における描画ブロック境界に対する相対位置の点で、前記第1の配置様式により2次元画像データの配置されるXアドレス及びYアドレスとは異なる位置となるように、2次元画像データのx座標及びy座標に応じてXY2次元アドレス空間におけるXアドレス及びYアドレスを定めるものである
ことを特徴とする請求項1記載のデータ処理装置。 - 前記描画ブロックに対応するメモリにおける前記ブロックは、同一バンクで同一ロウアドレスを有するメモリセル群である
ことを特徴とする請求項2記載のデータ処理装置。 - 前記選定手段は、前記第1及び第2の配置様式のうち、前記部分データに係るアドレス範囲に含まれる描画ブロックの数が最も少ないようにアドレスを定める1つの配置様式を選定する
ことを特徴とする請求項3記載のデータ処理装置。 - 前記データ処理装置は、フレーム画像における複数の位置それぞれの部分画像であってy座標の幅が所定サイズである部分画像を、逐次読み出す処理を行うものであり、
前記第2の配置様式は、前記第1の配置様式により同じ部分画像に係る同じ部分データについて定めたYアドレスとの差が、前記y座標の幅に対応するYアドレスの幅より大きくなるようにYアドレスを定めるものである
ことを特徴とする請求項4記載のデータ処理装置。 - 前記データ処理装置は、フレーム画像における複数の位置それぞれの部分画像であってx座標の幅が所定サイズである部分画像を、逐次読み出す処理を行うものであり、
前記第2の配置様式は、前記第1の配置様式により同じ部分画像に係る同じ部分データについて定めたXアドレスとの差が、前記x座標の幅に対応するXアドレスの幅より大きくなるようにXアドレスを定めるものである
ことを特徴とする請求項4記載のデータ処理装置。 - 前記第1及び第2の配置様式は、メモリにおける同一バンクで同一ロウアドレスを有する全てのメモリセル群に1対1に前記描画ブロックを対応付けており、第2の配置様式は、XY2次元アドレス空間における描画ブロックのX方向の幅及びY方向の幅のいずれもが、第1の配置様式とは異なるように対応付けている
ことを特徴とする請求項4記載のデータ処理装置。 - 前記メモリと、
前記処理対象データを、前記第1及び第2の配置様式により前記マッピング手段により定められた各アドレスに対応した、前記メモリ中の、別々のメモリ領域に書き込む記録手段とを、更に備える
ことを特徴とする請求項4記載のデータ処理装置。 - 前記処理対象データは、フレーム画像であり、
前記データ処理装置は、前記フレーム画像中の複数の位置それぞれに存在する複数の部分データを逐次読み出す処理を行うものであり、
前記フレーム画像における、読み出し対象となる部分データの位置に応じて、前記第1及び第2の配置様式のうち、前記第1の配置様式を用いて前記マッピング手段により定められるアドレスに対応したメモリ領域から読み出す方がアクセス効率のよい部分データと、前記第2の配置様式を用いて前記マッピング手段により定められるアドレスに対応したメモリ領域から読み出す方がアクセス効率のよい部分データとが存在することになるように、前記第1及び第2の配置様式が定められている
ことを特徴とする請求項1記載のデータ処理装置。 - 複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスするデータ処理装置であって、
前記処理対象データは、複数の配置様式それぞれにより、アドレス空間において当該処理対象データの配置されるアドレス範囲と前記ブロック各々の境界アドレスとの相対位置関係が配置様式毎に互い異なるようにアドレスマッピングされており、
前記データ処理装置は、処理対象データ中の部分データを読み出すときに、アドレスマッピングされた当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段と、前記部分データへのアクセスを、前記選定手段の選定した配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御手段とを備える
ことを特徴とするデータ処理装置。 - 第1メモリ及び第2メモリと、各メモリに格納された処理対象データにアクセスする第1及び第2のデータ処理装置とを含むデータ共有システムであって、
前記各データ処理装置は、
前記処理対象データを、前記第1メモリに配置するためのアドレスを前記第1の配置様式を用いて定め、前記第2メモリに配置するためのアドレスを前記第2の配置様式を用いて定めるマッピング手段と、
処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段と、
前記部分データへのアクセスを、前記選定手段の選定した配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御手段とを備え、
前記第2の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第1の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものであり、
前記アクセス制御手段は、自装置以外の他のデータ処理装置に接続されたメモリにアクセスするときは当該他のデータ処理装置を介してそのアクセスを実現するよう制御する
ことを特徴とするデータ共有システム。 - 前記処理対象データはx座標及びy座標で表される2次元画像データであり、
前記第1及び第2の配置様式は、前記アドレス空間をXY2次元アドレス空間とし、メモリにおける前記ブロック毎に対応付けた描画ブロックを当該XY2次元アドレス空間に2次元に複数配置するものであり、前記第2の配置様式は、XY2次元アドレス空間における描画ブロック境界に対する相対位置の点で、前記第1の配置様式により2次元画像データの配置されるXアドレス及びYアドレスとは異なる位置となるように、2次元画像データのx座標及びy座標に応じてXY2次元アドレス空間におけるXアドレス及びYアドレスを定めるものである
ことを特徴とする請求項11記載のデータ共有システム。 - 前記選定手段は、前記第1及び第2の配置様式のうち、前記部分データに係るアドレス範囲に含まれる描画ブロックの数が最も少ないようにアドレスを定める1つの配置様式を選定する
ことを特徴とする請求項12記載のデータ共有システム。 - 複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスするデータ処理装置におけるデータ処理方法であって、
前記処理対象データを、メモリの複数の領域それぞれに配置するためのアドレスを、第1及び第2の配置様式を用いて定めるマッピングステップと、
処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定ステップと、
前記部分データへのアクセスを、前記選定ステップにより選定された配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御ステップとを含み、
前記第2の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第1の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものである
ことを特徴とするデータ処理方法。 - 複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスする機能を有する集積回路であって、
前記処理対象データを、メモリの複数の領域それぞれに配置するためのアドレスを、第1及び第2の配置様式を用いて定めるマッピング部と、
処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定部と、
前記部分データへのアクセスを、前記選定部の選定した配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御部とを含み、
前記第2の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第1の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものである
ことを特徴とする集積回路。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012534484A JP5884037B2 (ja) | 2011-03-16 | 2012-02-10 | データ処理装置、データ処理方法及びデータ共有システム |
US13/522,397 US9201781B2 (en) | 2011-03-16 | 2012-02-10 | Data processing apparatus, data processing method and data sharing system |
CN201280000661.3A CN102804150B (zh) | 2011-03-16 | 2012-02-10 | 数据处理装置、数据处理方法及数据共享系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011057643 | 2011-03-16 | ||
JP2011-057643 | 2011-03-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012124251A1 true WO2012124251A1 (ja) | 2012-09-20 |
Family
ID=46830346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/000898 WO2012124251A1 (ja) | 2011-03-16 | 2012-02-10 | データ処理装置、データ処理方法及びデータ共有システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9201781B2 (ja) |
JP (1) | JP5884037B2 (ja) |
CN (1) | CN102804150B (ja) |
WO (1) | WO2012124251A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016063716A1 (ja) * | 2014-10-24 | 2016-04-28 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037835B1 (en) * | 2013-10-24 | 2015-05-19 | Arm Limited | Data processing method and apparatus for prefetching |
US10380969B2 (en) * | 2016-02-28 | 2019-08-13 | Google Llc | Macro I/O unit for image processor |
EP3693861B1 (en) * | 2019-02-06 | 2022-08-24 | Advanced Digital Broadcast S.A. | System and method for reducing memory fragmentation in a device lacking graphics memory management unit |
US11210221B2 (en) * | 2019-12-10 | 2021-12-28 | Pony Ai Inc. | Memory architecture for efficient spatial-temporal data storage and access |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05128241A (ja) * | 1991-11-05 | 1993-05-25 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
JP2004518343A (ja) * | 2001-01-12 | 2004-06-17 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | メモリアドレス変換のための装置及び方法並びにそのような装置を含む画像処理装置 |
WO2007116612A1 (ja) * | 2006-03-31 | 2007-10-18 | Matsushita Electric Industrial Co., Ltd. | コマンド出力制御装置 |
WO2010086919A1 (ja) * | 2009-01-27 | 2010-08-05 | パナソニック株式会社 | メモリアクセス装置およびその関連技術 |
JP2011039660A (ja) * | 2009-08-07 | 2011-02-24 | Fujitsu Ltd | メモリコントローラ、画像処理システムおよびメモリアクセスの制御方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4965751A (en) * | 1987-08-18 | 1990-10-23 | Hewlett-Packard Company | Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size |
US6215507B1 (en) * | 1998-06-01 | 2001-04-10 | Texas Instruments Incorporated | Display system with interleaved pixel address |
US6674443B1 (en) * | 1999-12-30 | 2004-01-06 | Stmicroelectronics, Inc. | Memory system for accelerating graphics operations within an electronic device |
US6816165B1 (en) * | 2000-12-13 | 2004-11-09 | Micron Technology, Inc. | Memory system having multiple address allocation formats and method for use thereof |
US6956579B1 (en) * | 2003-08-18 | 2005-10-18 | Nvidia Corporation | Private addressing in a multi-processor graphics processing system |
JP4069078B2 (ja) | 2004-01-07 | 2008-03-26 | 松下電器産業株式会社 | Dram制御装置およびdram制御方法 |
WO2009116279A1 (ja) | 2008-03-19 | 2009-09-24 | パナソニック株式会社 | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 |
KR101639574B1 (ko) * | 2009-12-30 | 2016-07-14 | 삼성전자주식회사 | 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법 |
-
2012
- 2012-02-10 CN CN201280000661.3A patent/CN102804150B/zh active Active
- 2012-02-10 JP JP2012534484A patent/JP5884037B2/ja not_active Expired - Fee Related
- 2012-02-10 US US13/522,397 patent/US9201781B2/en active Active
- 2012-02-10 WO PCT/JP2012/000898 patent/WO2012124251A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05128241A (ja) * | 1991-11-05 | 1993-05-25 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
JP2004518343A (ja) * | 2001-01-12 | 2004-06-17 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | メモリアドレス変換のための装置及び方法並びにそのような装置を含む画像処理装置 |
WO2007116612A1 (ja) * | 2006-03-31 | 2007-10-18 | Matsushita Electric Industrial Co., Ltd. | コマンド出力制御装置 |
WO2010086919A1 (ja) * | 2009-01-27 | 2010-08-05 | パナソニック株式会社 | メモリアクセス装置およびその関連技術 |
JP2011039660A (ja) * | 2009-08-07 | 2011-02-24 | Fujitsu Ltd | メモリコントローラ、画像処理システムおよびメモリアクセスの制御方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016063716A1 (ja) * | 2014-10-24 | 2016-04-28 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102804150B (zh) | 2016-01-20 |
US9201781B2 (en) | 2015-12-01 |
US20130057770A1 (en) | 2013-03-07 |
CN102804150A (zh) | 2012-11-28 |
JPWO2012124251A1 (ja) | 2014-07-17 |
JP5884037B2 (ja) | 2016-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5884037B2 (ja) | データ処理装置、データ処理方法及びデータ共有システム | |
US9934153B2 (en) | Patch memory system | |
JP4789753B2 (ja) | 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法 | |
KR101639574B1 (ko) | 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법 | |
KR100817057B1 (ko) | 동일한 픽셀 데이터 그룹에 포함되는 픽셀 데이터들을메모리의 동일한 뱅크 어드레스로 매핑하는 매핑 방법 및비디오 시스템 | |
JP3639464B2 (ja) | 情報処理システム | |
JP5039334B2 (ja) | キャッシュメモリ制御方法、及び装置 | |
US6999091B2 (en) | Dual memory channel interleaving for graphics and video | |
US20070076511A1 (en) | Method and apparatus for mapping memory | |
CN101084493A (zh) | 在帧缓冲器内读取和写入像素分配子帧的方法和装置 | |
CN116010299B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
US20070229507A1 (en) | Data processor with a built-in memory | |
JP3619565B2 (ja) | データ処理装置、及びそれを用いたシステム | |
JPWO2009116115A1 (ja) | メモリコントローラ及びそれを使用したメモリシステム | |
US8612664B2 (en) | Memory management process and apparatus for the same | |
JP3955862B2 (ja) | データ処理装置、及びそれを用いたシステム | |
JP5865696B2 (ja) | 画像処理装置 | |
US20170140501A1 (en) | Method of operating virtual address generator and method of operating system including the same | |
JP6210742B2 (ja) | データ処理装置およびデータ転送制御装置 | |
US8264496B2 (en) | Data management for image processing | |
KR101335367B1 (ko) | 메모리 제어 장치 및 방법 | |
US20140306977A1 (en) | Image processing apparatus, image processing method, image processing system, and computer readable storage medium | |
JP2008278442A (ja) | 画像処理装置 | |
KR20240008487A (ko) | 메모리 부하 밸런싱을 고려한 적응형 이미지 사이즈 패딩 장치 및 방법 | |
TW200407036A (en) | Character pattern data structure for raster scanning type display, method of screen image information generation, and the generator thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201280000661.3 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13522397 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2012534484 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12757388 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12757388 Country of ref document: EP Kind code of ref document: A1 |