US20070233975A1 - Data processor with a built-in memory - Google Patents
Data processor with a built-in memory Download PDFInfo
- Publication number
- US20070233975A1 US20070233975A1 US11/759,330 US75933007A US2007233975A1 US 20070233975 A1 US20070233975 A1 US 20070233975A1 US 75933007 A US75933007 A US 75933007A US 2007233975 A1 US2007233975 A1 US 2007233975A1
- Authority
- US
- United States
- Prior art keywords
- memory
- bus
- data processing
- access
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
- G09G3/003—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
-
- 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/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- 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/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/005—Adapting incoming signals to the display format of the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/18—Use of a frame buffer in a display terminal, inclusive of the display panel
-
- 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/363—Graphics controllers
Definitions
- the present invention relates to a memory-built-in data processor that performs data processing such as desired image processing by means of a built-in memory.
- the feature of the memory consolidating logic LSI is to enable memory access at higher speed than that of an external memory by linking a built-in memory and a logic circuit together with a bus of high bandwidth, thereby to realize high-speed data processing.
- the operation clock in the LSI As the operation clock in the LSI is speeded up, it becomes difficult to make the entire LSI synchronize with the high-speed clock. If the clock frequency doubles with LSIs of the same size, the area of the region of the LSI, which is stable in synchronous operation, decreases to 1 ⁇ 4. It is preferable for solving this problem to divide the interior of the LSI into a plurality of blocks, and perform only a closed process in each block.
- the memory consolidating logic LSI configured to perform a closed process in the interior of the block can speed up the clock, but becomes impossible to access in real time only a memory of small capacity that can be arranged in a narrow region of each block. For this reason, there is a problem that the LSI can perform only data processing to treat the small amount of data that can be stored in a small capacity memory, that is, data processing of relatively small process amount, so that the contents of data processing is limited.
- the object of the present invention is to provide a memory-built-in data processor that enables data processing of various process contents while utilizing high bandwidth by a built-in memory effectively.
- a memory-built-in data processor connected to an external unit, comprising: a memory which stores data; a first bus, a second bus and a third bus; a controller connected to the external unit and the memory via the first bus and the second bus, respectively; and a data processor connected to the controller via the third bus, the data processor performing read/write of data with respect to the memory via the third bus, the controller and the second bus, and subjecting the data to a desired processing; the controller performing arbitration between a first access requirement input via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus to access the memory; the memory, the first bus, the second bus, the third bus, the controller, and the data processor being integrated in an integrated circuit.
- a memory-built-in data processor connected to an external unit, comprising: a plurality of first data processing parts each including a memory which stores data; a first bus, a second bus and a third bus; a controller connected to the external unit and the memory via the first bus and the second bus, respectively; and a data processing unit connected to the controller via the third bus, the data processing unit performing readout/write-in of data with respect to the memory via the third bus, the controller and the second bus, and subjecting the data to desired processing, the controller performing arbitration between a first access requirement input via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus to access the memory; at least one second data processing part which accesses the whole of the memories of the plurality of first data processing parts as one memory space, the second data processing part performing readout/write-in of data with respect to the memories and subjecting the data to a desired data processing; and an interface which connects
- FIG. 1 shows a block diagram of an image processing system that can be applied to a memory-built-in data processor related to an embodiment of the present invention
- FIG. 2 shows a block diagram of a memory-built-in data processor related to the first embodiment of the present invention
- FIGS. 3A and 3B show flowcharts for explaining an arbitration process and an interface operation which are done by a controller which requests to access the built-in memory via 1 a local bus and a global bus in the above embodiment
- FIG. 4 shows a block diagram of a memory-built-in data processor related to the second embodiment of the present invention
- FIGS. 5A and 5B show a one-dimensional stripe type addressing method and a one-dimensional block type addressing method for a local unit of a distributor in the second embodiment
- FIG. 6 shows a flowchart for explaining a process selecting which rendering unit of a local unit and a global unit according to an input polygon in the second embodiment
- FIG. 7 shows a block diagram of a memory-built-in data processor related to the third embodiment of the present invention
- FIG. 9 shows a block diagram of a memory-built-in data processor related to the fifth embodiment of the present invention.
- FIG. 11 shows a block diagram of memory-built-in data processor related to the seventh embodiment of the present invention.
- FIG. 1 shows an image processing system as an example of a system which can apply the memory-built-in data processor according to an embodiment of the present invention.
- a controller 11 a DVD drive 12 , a hard disk drive 13 , a video input device 14 and a communication unit 15 as user input equipment are connected to a main bus 10 .
- the DVD drive 12 plays back a DVD (digital versatile disc) which stores application software such as a game or movie/music data or plays back to a rewritable DVD.
- the hard disk drive 13 is used as external memory storage of large capacity to accumulate image data, for example.
- the video input device 14 is a digital still camera, a digital video camera or a scanner, and outputs a video signal of still images or motion images to be image-processed.
- the communication unit 15 communicates with external equipment via a network such as the Internet.
- a CPU 17 and a video processor 20 are connected to the bus 10 via a bus bridge 16 .
- a main memory 18 is connected to the CPU 17 , and an external memory 19 is connected to the video processor 20 as needed.
- a digital-to-analog (D/A) converter 21 is connected to the video processor 20 .
- the video processor 20 is used for rendering arithmetic processing when the image processing system is a real-time three dimension graphics system used for computer game machines, for example.
- a video game software stored in the DVD is read out by the DVD drive 12 , transferred to the main memory 18 , and executed by the CPU 16 according to user operation input form the controller 11 .
- three-dimensional spatial data is updated, and shape primitive data is sent to the video processor 20 by the CPU 16 to execute drawing arithmetic processing, referred to as rendering.
- the rendering is a processing for expressing the three-dimensional space by using polygons as the shape primitive of the object and rendering (filling) these polygons. Processes such as texture mapping, hidden-surface removal, lighting (illumination computation), shading (shadowing), anti-aliasing, perspective projection and clipping as known in the field of three-dimension computer graphic (CG) generally is referred to as rendering.
- the rendering may include a vertex process.
- the vertex process is a process for calculating a parameter to be necessary for rendering the polygon in units of a pixel every vertex of a polygon mesh. This vertex process may be performed not only by the video processor 20 , but also by the CPU 16 .
- the video processor 20 can perform processes such as various filtering processes for the video signal of still images or motion images input from the video input device 14 .
- the image data output from the video processor 20 is converted to a video signal by the D/A converter 21 .
- the video signal is displayed on the display, and output as a hard copy as necessary.
- the memory-built-in data processor according to an embodiment of the present invention is applied to the video processor 20 in the image processing system shown in FIG. 1 , for example.
- the memory-built-in data processor will be described concretely hereinafter.
- FIG. 2 shows a configuration of the memory-built-in data processor related to the first embodiment of the present invention.
- the memory-built-in data processor 30 of FIG. 2 is realized by so-called a memory consolidating logic LSI wherein a built-in memory 31 such as DRAM, a data processing unit 32 and a controller 33 are integrated in a single LSI (large-scale semiconductor integrated circuit).
- the data processing unit 32 is a rendering unit configured to depict the polygons as described above or a SIMD (single instruction multiple data) type parallel processor configured to perform image processing and so on.
- the data processing unit 32 executes the above processes while accessing the built-in memory via the controller 33 , i.e., performing readout and write-in of data.
- a memory bus 34 connects the built-in memory 31 and controller 33 to each other, and a local bus 35 connects the data processing unit 32 and controller 33 to each other.
- the controller 33 is connected to an external unit by a global bus 36 .
- the buses 34 and 35 and a part of the bus 36 are formed as internal wirings of the memory consolidating logic LSI. Assuming that the memory-built-in data processor 30 is the video processor 20 in the image processing system of FIG. 1 , for example.
- the external unit is a CPU 17 and an external memory connected via the bus bridge 16 shown in FIG. 1 .
- the memory bus 34 and local bus 35 are realized by the wiring in the LSI as described above. Therefore, these buses have shorter wiring length, broader data bus width and higher bus clock in comparison with the global bus 36 used for connection to the external unit. Therefore, the memory bus 34 and local bus 35 can transfer data at high speed in comparison with the global bus 36 .
- the data processing unit 32 can access the built-in memory 31 at high speed and high bandwidth via the local bus 35 , controller 33 and memory bus 34 .
- the controller 33 arbitrates between the access requests that are performed via a plurality of routes for readout and write-in of data with respect to the built-in memory 31 .
- the controller 33 accesses the built-in memory 31 via the memory bus 34 to perform readout/write-in operations while performing an arbitration process between the access requirement by way of the local bus 35 and the access requirement by way of the global bus 36 .
- the global controller 33 When the global controller 33 receives the access requirement from the external unit by way of the global bus 36 , it stops the access requirement from the data processing unit 32 by way of the local bus 35 and accesses the memory according to the access requirement by way of the global bus 36 . When a serial process is finished, the controller 33 accepts the access requirement by way of the local bus 35 .
- the controller 33 When the controller 33 receives the access requirement from the data processing unit 32 by way of the local bus 35 , it stops the access requirement from the external unit by way of the global bus 36 and accesses the built-in memory according to the access requirement by way of the local bus 35 . When a serial process is finished, the controller 33 accepts the access requirement by way of the global bus 36 .
- the controller 33 accepts either the access requirement by way of the global bus 36 or the access requirement by way of local bus 35 every data access.
- the controller 33 receives the access requirement by way of the local bus 35 and the access requirement by way of the global bus 36 simultaneously, that is, receives a simultaneous access request, if the access destination addresses correspond to different banks of the built-in memory 31 , the controller 33 accepts this simultaneous access request, if the access destination address correspond to different banks, the controller 33 gives priority to one of the access requirements and keeps the other waiting.
- FIG. 3A shows a flowchart of an arbitration process, but this arbitration process is performed by hardware in the controller 33 in order to speed up the entire process of the memory-built-in data processor 30 .
- the controller 33 checks an access requirement from the local bus 35 (step S 101 ). If there is no access requirement from the local bus 35 , the controller 33 checks the access requirement from the global bus 36 (step S 102 ). If there is access requirement from the global bus 36 , the controller 33 executes a process corresponding to the access requirement from the global bus 36 (global access process) (step S 103 ).
- step S 104 the controller 33 checks further the access requirement from the global bus 36 (step S 104 ). If there is no access requirement from the global bus 36 , the controller 33 executes a process corresponding to the access requirement from the local bus 35 (local access process) (step S 105 ). If there is an access requirement from the global bus 36 in the step S 104 , that is, if the controller 33 receives the access requirement from the local bus 35 and the access requirement from the global bus 36 at the same time, the controller 33 checks whether access destinations (addresses) of these access requirements are on the same area (bank). If the access destinations of the access requirements from the local bus 35 and the global bus 36 are in different areas, the controller 33 performs the simultaneous access for these areas (step S 107 ).
- step S 106 if the access destinations of the access requirements from the local bus 35 and the global bus 36 are in the same area, the controller 33 checks whether the local bus access is set (step S 108 ). If a local priority access is set, the controller 33 performs a local access process (step S 109 ). If the local priority access is not set, the controller 33 performs a global access process (step S 110 ).
- step S 106 in FIG. 3A when the access requirements from the local bus 35 and the global bus 36 are directed to an access destination in the same area, whether the local priority access is set in step S 108 is checked and either of the local access process or global access process is performed according to the result. However, whether the global priority access is set in step S 108 may be checked. If the global priority access is set, the global access process is performed, and if the global priority access is not set, the local access process may be performed.
- the controller 33 performs the arbitration process described above with respect to the access requirements from the local bus 35 and the global bus 36 to the built-in memory 31 . Further, the controller 33 has a function for managing the built-in memory 31 by dividing the built-in memory 31 into a plurality of areas, that is, a function for managing selectively an area accessable via the local bus 35 and an area accessable via the global bus 36 as shown in dashed lines in FIG. 2 in order to enable the simultaneous access by step S 107 of FIG. 3A .
- an access requirement from the local bus is checked (S 111 ). If there is the local access requirement, a local access process is executed (S 112 ), and if there is not, an access requirement from the global bus is checked (S 113 ). If there is the global access requirement, a global access process is executed (S 114 ), and if there is not, a process returns to step S 111 .
- the local access process is performed in response to the access requirement from the local bus
- the global access process is performed in response to the global access requirement.
- the built-in memory 31 is divided into at least two regions.
- the data processing unit 32 executes a process by means of one of the divided regions, and transfers data from the global bus 36 to the other of the divided regions together with the process. As this data transfer, there is an operation to send data for a process which the data processing unit 32 is to execute next, to the divided region. For example, while the local unit depicts polygon, the global unit transfers data (vertex information, texture) to be necessary for rendering a next polygon, to the local unit. In this case, the controller 33 performs control for the local bus priority.
- the data processing unit 32 transfers data to the global bus 36 from different memory regions of the built-in memory 31 .
- the data processing unit 32 performs an operation for outputting data indicating a result of a previous process.
- the local unit executes polygon rendering, and the global unit brings in the image of the region in which the rendering has been completed.
- the controller 33 controls the local unit in the local bus priority.
- the data processing unit may comprise a rendering unit.
- controller 33 Since the controller 33 has the function described above, the simultaneous access efficiency is improved, and data corruption due to the fact that access to an area accessable via a local bus 35 is gained via a global bus 36 , and vice versa, can be prevented. This is preferable in light of protection of data stored in the built-in memory 31 .
- FIG. 4 shows a configuration of a memory-built-in data processor related to the second embodiment of the present invention.
- the memory-built-in data processor 40 A shown in FIG. 4 comprises a plurality of data processing units (first data processing units, referred to as local units hereinafter) 41 A- 41 N and a data processing unit (the second data processing unit, referred to as a global unit hereinafter) 42 .
- Each of the first data processing units 41 A- 41 N comprises a memory-built-in data processor 30 related to the first embodiment shown in FIG. 2 .
- the memory built-in processor 40 A provides a plurality of local units 41 A- 41 N each having the same configuration as that of the memory-built-in data processor 30 shown in FIG. 2 .
- the global unit 42 is a data processing unit such as a general-purpose processor or a rendering unit, and connected to the local units 41 A- 41 N via the global bus 44 A to 44 N led from an allotter 43 and the local units 41 A- 41 N.
- the global unit 42 is configured so as to be able to access (read and write) the built-in memories via the allotter 43 and global buses 44 A to 44 N with considering the whole of the built-in memories (the built-in memory 31 in FIG. 2 ) of the local units 41 A- 41 N to be one address space.
- the global unit 42 can deliver data with respect to an external unit over an external interface 45 .
- the memory-built-in data processor 40 A is the video processor 20 in the image processing system as shown in FIG. 1
- the external unit connected to the external interface 45 is the CPU 17 connected via the bus bridge 16 , the external memory 19 and the like.
- the allotter 43 has a function to perform selection of the local units 41 A- 41 N and addressing of the built-in memory according to the access requirement from the global unit 42 .
- the allotter 43 accesses the built-in memory corresponding to the access requirement by selecting an appropriate local unit of the local units 41 A- 41 N, converting the address indicated by the access requirement from the global unit 42 to an address assigned to the selected local unit in the address space of the whole built-in memories of the local units 41 A- 41 N, and distributing the address to the selected local unit.
- FIGS. 5A and 5B show a method that the allotter 43 performs addressing (memory mapping) with respect to the local units 41 A- 41 N according to control from the global unit 42 .
- FIG. 5A shows a one-dimensional stripe type method
- FIG. 5 B shows a one-dimensional block type method.
- FIGS. 5A and 5B indicate the local units 41 A- 41 N with local units 1 to N.
- the addresses of the same local unit are arranged in a stripe, that is, between the addresses of the different local units as shown in FIG. 5A .
- Two-dimensional stripe type and block type addressing methods suitable for graphics processing are known. These methods can be applied to the present embodiment, too.
- the allotter 43 may use selectively one of the plural addressing methods according to intended use or processing contents of the memory-built-in data processor, and is fixed to one of the methods.
- each of the local units 41 A- 41 N high-speed processing can be realized by a high-speed data transmission via the bandwidth memory bus and local bus as described in the first embodiment.
- the whole of the memory-built-in data processor 40 A when viewing the local unit 41 A- 41 N from the global unit 42 via the allotter 43 , the built-in memories of the local units 41 A- 41 N can be accessed as mass storage having one address space. For this reason, it is possible to realize a process that handles a large quantity of data at a processing speed. In other words, it is possible to select the operation mode of the memory-built-in data processor 40 A according to the process contents. Therefore, a flexible data processor can be realized.
- the memory built-in processing unit 40 A can function as a drawing apparatus in a three-dimensional graphics system.
- polygon data is input to the global unit 42 from the external unit via the external interface 45 .
- the global unit 42 depicts big polygons and the local units 41 A- 41 N each depict only small polygons.
- a circuit of a rendering unit in each of the local units 41 A- 41 N can be scaled down in comparison with that of the global unit 42 .
- each of the local units 41 A to 41 N accesses to one of the memory areas of the built-in memory to perform arithmetic processing by means of the built-in memory, and at the same time the external interface 45 and global unit 42 transfer data for a process of the next local unit to the other memory area of the built-in memory.
- FIG. 6 shows a process selecting whether the polygon data is depicted by a rendering unit of which of the local units 41 A- 41 N and global unit 42 according to the polygon size of the input polygon data. This selection process is performed in the global unit 42 according to the size (polygon size) of the polygon data (shape primitive data) input via the external interface 45 .
- step S 201 it is determined whether the polygon size of the input polygon data is a data size capable of being processed with the local units 41 A- 41 N (step S 201 ). If the size of the input polygon data is the data size capable of being processed with the local units 41 A- 41 N, a suitable one of the local units 41 A- 41 N is selected, and the polygon data is transferred to the selected local unit to be depicted (steps S 202 and S 203 ). On the other hand, if it is determined that the input polygon data cannot be processed by the local units 41 A- 41 N in step S 201 , the global unit 42 depicts the polygon data.
- FIG. 7 shows a configuration of the memory-built-in data processor 40 B related to the third embodiment of the present invention, wherein the global unit 42 is removed from the memory-built-in data processor 40 A related to the second embodiment that is shown in FIG. 5 and the external interface 45 is directly connected to the allotter 42 .
- the memory-built-in data processor of the present embodiment can be considered as the global unit whose external interface 45 has no data processing function such as rendering.
- Each of the local units 41 A- 41 N of the present embodiment can realize high-speed processing with the high-speed data transfer by way of the bandwidth memory bus and local bus similarly to the second embodiment.
- the whole of the memory-built-in data processor 40 B when viewing the local units 41 A- 41 N from the external unit via the external interface 45 and allotter 43 , the whole of the built-in memories of the local units 41 A- 41 N can be assumed as a mass storage having one address space and accessed. Therefore, the third embodiment is substantially the same as the second embodiment excepting for selectively rendering with the local unit and global unit according to the input polygon data.
- each of the local units 41 A to 41 N accesses to the built-in memory to perform arithmetic processing by means of the built-in memory, and at the same time the external interface 45 and global unit 42 transfer data for a process of the next local unit to the other region of the built-in memory.
- FIG. 8 shows a configuration of a memory-built-in data processor 40 C related to the fourth embodiment of the present invention.
- the memory-built-in data processor 40 C of the present embodiment has plural local units 41 A- 41 N and plural global units 42 A- 42 M, and the local units 41 A- 41 N are optionally connected to the global units 42 A- 42 M by a switching unit 46 .
- the switching unit 46 performs switching between the local units 41 A- 41 N and the global units 42 A- 42 M. In other words, the switching unit 46 connects each of the local units 41 A- 41 N to one or more of the global units 42 A- 42 M and may use a conventional crossbar switch or a shared bus.
- the switching unit 46 performs the switching connection between the local units 41 A- 41 N and the global units 42 A- 42 M according to an external control signal.
- the external control signal is generated by the CPU 17 according to designation of a user which is input via the controller 11 in FIG. 1 , for example, and input to the video processor 20 that is the memory-built-in data processor 40 C of the present embodiment.
- the external interface 45 has a distribution/combination function for distributing data or signals from the external unit to the global units 42 A- 42 M or combining data or signals from the global units 42 A- 42 M on a shared bus.
- plural global units 42 A- 42 M and plural local units 41 A- 41 N are provided. It is possible by switching between the global units 42 A- 42 M and the local units 41 A- 41 N by means of the switching unit, to expand data processing efficiency in comparison with the memory-built-in data processor 40 B related to the second embodiment shown in FIG. 4 and improve total performance of data processing.
- FIG. 9 shows a configuration of the memory-built-in data processor 40 D related to the fifth embodiment of the present invention.
- the memory-built-in data processor 40 D of the present embodiment is configured by other data processing units (the third data processing units), i.e., local units 47 A- 47 M, corresponding to the global units 42 A- 42 M one-on-one, as well as the memory-built-in data processor 40 C related to the fourth embodiment shown in FIG. 8 .
- the global units 42 A- 42 M are connected to the local units 47 A- 47 M by the global buses 48 A- 48 M, respectively.
- the local units 47 A- 47 M each have the same configuration as the memory-built-in data processor shown in FIG. 2 similarly to the local units 41 A- 41 N.
- the local units 41 A- 41 N and global unit 42 provide the rendering function in the memory-built-in data processor 40 B shown in FIG. 7 .
- the rendering function is eliminated from the global unit 42 A- 42 M and added to the local units 47 A to 47 M.
- the local units 41 A- 41 N connected to the global units 42 A- 42 M via the switching unit 46 are shared local units used in common with respect to the global units 42 A- 42 M.
- the local units 47 A- 47 M are dedicated local units used only by the global units 42 A- 42 M connected to the corresponding local units 47 A- 47 M, respectively.
- polygons of small size are rendered by the shared local units 41 A- 41 N
- polygons of large size are rendered by a pair of each of global units 42 A- 42 M and each of the dedicated local units 47 A- 47 M.
- the present embodiment can produce the effect that improves the development efficiency of an apparatus while showing performance similar to the memory-built-in data processor 40 C related to the fourth embodiment shown in FIG. 8 , by making the shared local units 41 A- 41 N and the dedicated local units 47 A- 47 M with the same architecture.
- FIG. 10 shows a configuration of a memory-built-in data processor 40 E related to the sixth embodiment of the present invention, wherein the global unit 42 and local units 41 A- 41 N are connected by a crossbar unit 49 .
- This is a configuration in which the allotter 43 in the memory-built-in data processor 40 B shown in FIG. 4 and related to the second embodiment is substituted with the crossbar unit 49 .
- the crossbar unit 49 performs switching between the global unit 42 and the local units 41 A- 41 N and between the local units 41 A- 41 N according to an external control signal.
- the external control signal is generated by the CPU 17 according to designation of a user which is input via the controller 11 in FIG. 1 , for example, and input to the video processor 20 that is the memory-built-in data processor 40 E of the present embodiment.
- the present embodiment can take various other process aspects in comparison with the configuration that connects the global unit 42 and the local units 41 A- 41 N via the allotter 43 as shown in FIG. 4 .
- communication between the local units 41 A- 41 N is enabled by optionally connecting the local units 41 A- 41 N to each other by means of the crossbar unit 49 .
- a data copy can be performed between the local units 41 A- 41 N. This is profitable when the video processor 20 performs processing such as filtering with respect to the image data input by the video input device 14 of FIG. 1 , for example.
- image data of a certain frame is stored in the built-in memory of a certain local unit
- image data of the next frame is stored in the built-in memory of other local unit
- the image data stored in the built-in memory of the another local unit is copied and added to the built-in memory of the certain local unit.
- the local unit 42 can perform an operation according to a request from another local unit while it performs a process.
- the own data processing unit of the local unit 41 A for example, performs a process using the own built-in memory
- the local unit 41 A receives a write-in request to the built-in memory from another local unit 41 B or the global unit 42 , it performs the following operation.
- the data processing unit performs operations similar to ⁇ parallel write-in> and ⁇ parallel readout> described above.
- the local units each comprising a rendering unit perform rendering in parallel
- texture image and shader data are stored in the built-in memory of another local unit.
- the texture data stored in the built-in memory of the local unit 41 A is used by the local unit 41 B as well as the local unit 41 A.
- the above operation is controlled in the local access priority by the controller.
- FIG. 11 shows a configuration of a memory-built-in data processor 40 F related to the seventh embodiment of the present invention, wherein the configuration of the sixth embodiment shown in FIG. 10 is improved so that plural global units 42 A- 42 M and local units 41 A- 41 N are connected by a crossbar unit 49 .
- the crossbar unit 49 performs switching between the global units 42 and the local units 41 A- 41 N and switching between the local units 41 A- 41 N according to an external control signal.
- the external control signal is generated by the CPU 17 according to designation of a user which is input via the controller 11 in FIG. 1 , for example, and input to the video processor 20 that is the memory-built-in data processor 40 F of the present embodiment.
- the connection relation between the global units 42 A- 42 M and the local units 41 A- 41 N is changed by the crossbar unit 49 according to process contents of the memory-built-in data processor 40 F.
- An arbitrary connection between the local units 41 A- 41 N enables communication between the local units 41 A- 41 N.
- the present embodiment can take a process aspect similar to the fifth embodiment as well as the same effect as the sixth embodiment shown in FIG. 9 .
- a part of the local units 41 A- 41 N for example, local units 41 A- 41 M correspond to the global units 42 A- 42 N one-on-one
- the rendering function eliminated from the global units 42 A- 42 N is added to the local units 41 A- 41 M
- the local units 41 A- 41 M are determined as dedicated local units used for only by the global units 42 A- 42 N.
- another part of the local units 41 A- 41 N are employed as the share local units used in common with respect to the global units 42 A- 42 N.
- the present embodiment can produce the effect that improves the development efficiency of an apparatus while showing performance similar to the memory-built-in data processor 40 C related to the fourth embodiment shown in FIG. 8 , by making the shared local units 41 A- 41 N and the dedicated local units 47 A- 47 M with the same architecture.
- the present invention can provide a memory-built-in data processor that enables data processing of various process contents while utilizing high bandwidth by the built-in memory effectively.
- a memory-built-in data processor of base configuration that is explained as a local unit, for example, can realize high-speed processing by high-speed data transmission.
- the whole of the built-in memories of plural local units is assumed as a mass storage having an address space which is accessible, such process where a large quantity of data is handled at a slow processing speed can be realized.
- shader program and data as well as textured images can be included as main processing data.
- the polygon rendering is performed.
- the present invention can be applied to a rendering process of rendering in units of a pixel, such as ray-tracing, photon mapping.
- the present invention can be applied to an image processing of processing an image in units of a rectangle, such as image filter, template matching.
Abstract
A memory-built-in data processor comprises a controller connected to an external unit and a memory via first and second buses, and a data processor performing readout/write-in of data with respect to the memory via a third bus, the controller and the second bus, the controller performing arbitration between a first access requirement input via the first bus and a second access requirement input from the data processing unit via the third bus, the memory, the first bus, the second bus, the third bus, the controller, and the data processor being integrated in an integrated circuit.
Description
- This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2001-298635, filed Sep. 27, 2001, the entire contents of which are incorporated herein by reference.
- 1. Field of the Invention
- The present invention relates to a memory-built-in data processor that performs data processing such as desired image processing by means of a built-in memory.
- 2. Description of the Related Art
- With large-scaling of LSI, a semiconductor integrated circuit, a so-called memory consolidating logic LSI realizing high-speed data processing by fabricating a semiconductor memory such as DRAM and a logic circuit in a single integrated circuit chip has been developed. For example, such memory consolidating logic LSI is described by Jpn. Pat. Appln. KOKAI Publication No. 11-185467, and Jpn. Pat. Appln. KOKAI Publication No. 2000-67573.
- The feature of the memory consolidating logic LSI is to enable memory access at higher speed than that of an external memory by linking a built-in memory and a logic circuit together with a bus of high bandwidth, thereby to realize high-speed data processing.
- As the operation clock in the LSI is speeded up, it becomes difficult to make the entire LSI synchronize with the high-speed clock. If the clock frequency doubles with LSIs of the same size, the area of the region of the LSI, which is stable in synchronous operation, decreases to ¼. It is preferable for solving this problem to divide the interior of the LSI into a plurality of blocks, and perform only a closed process in each block.
- The memory consolidating logic LSI configured to perform a closed process in the interior of the block can speed up the clock, but becomes impossible to access in real time only a memory of small capacity that can be arranged in a narrow region of each block. For this reason, there is a problem that the LSI can perform only data processing to treat the small amount of data that can be stored in a small capacity memory, that is, data processing of relatively small process amount, so that the contents of data processing is limited.
- The object of the present invention is to provide a memory-built-in data processor that enables data processing of various process contents while utilizing high bandwidth by a built-in memory effectively.
- According to an aspect of the present invention, there is provided a memory-built-in data processor connected to an external unit, comprising: a memory which stores data; a first bus, a second bus and a third bus; a controller connected to the external unit and the memory via the first bus and the second bus, respectively; and a data processor connected to the controller via the third bus, the data processor performing read/write of data with respect to the memory via the third bus, the controller and the second bus, and subjecting the data to a desired processing; the controller performing arbitration between a first access requirement input via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus to access the memory; the memory, the first bus, the second bus, the third bus, the controller, and the data processor being integrated in an integrated circuit.
- According to another aspect of the present invention, there is provided a memory-built-in data processor connected to an external unit, comprising: a plurality of first data processing parts each including a memory which stores data; a first bus, a second bus and a third bus; a controller connected to the external unit and the memory via the first bus and the second bus, respectively; and a data processing unit connected to the controller via the third bus, the data processing unit performing readout/write-in of data with respect to the memory via the third bus, the controller and the second bus, and subjecting the data to desired processing, the controller performing arbitration between a first access requirement input via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus to access the memory; at least one second data processing part which accesses the whole of the memories of the plurality of first data processing parts as one memory space, the second data processing part performing readout/write-in of data with respect to the memories and subjecting the data to a desired data processing; and an interface which connects the external unit to the second data processing part, the plurality of first data processing parts, the second data processing part, and the interface being integrated in an integrated circuit.
-
FIG. 1 shows a block diagram of an image processing system that can be applied to a memory-built-in data processor related to an embodiment of the present invention, -
FIG. 2 shows a block diagram of a memory-built-in data processor related to the first embodiment of the present invention, -
FIGS. 3A and 3B show flowcharts for explaining an arbitration process and an interface operation which are done by a controller which requests to access the built-in memory via 1 a local bus and a global bus in the above embodiment, -
FIG. 4 shows a block diagram of a memory-built-in data processor related to the second embodiment of the present invention, -
FIGS. 5A and 5B show a one-dimensional stripe type addressing method and a one-dimensional block type addressing method for a local unit of a distributor in the second embodiment, -
FIG. 6 shows a flowchart for explaining a process selecting which rendering unit of a local unit and a global unit according to an input polygon in the second embodiment, -
FIG. 7 shows a block diagram of a memory-built-in data processor related to the third embodiment of the present invention, -
FIG. 8 shows a block diagram of a memory-built-in data processor related to the fourth embodiment of the present invention, -
FIG. 9 shows a block diagram of a memory-built-in data processor related to the fifth embodiment of the present invention, -
FIG. 10 shows a block diagram of a memory-built-in data processor related to the sixth embodiment of the present invention, and -
FIG. 11 shows a block diagram of memory-built-in data processor related to the seventh embodiment of the present invention. - An embodiment of the present invention will now be described with reference to drawings.
-
FIG. 1 shows an image processing system as an example of a system which can apply the memory-built-in data processor according to an embodiment of the present invention. Acontroller 11, aDVD drive 12, ahard disk drive 13, avideo input device 14 and acommunication unit 15 as user input equipment are connected to amain bus 10. TheDVD drive 12 plays back a DVD (digital versatile disc) which stores application software such as a game or movie/music data or plays back to a rewritable DVD. Thehard disk drive 13 is used as external memory storage of large capacity to accumulate image data, for example. Thevideo input device 14 is a digital still camera, a digital video camera or a scanner, and outputs a video signal of still images or motion images to be image-processed. Thecommunication unit 15 communicates with external equipment via a network such as the Internet. - A
CPU 17 and a video processor 20 are connected to thebus 10 via abus bridge 16. Amain memory 18 is connected to theCPU 17, and anexternal memory 19 is connected to the video processor 20 as needed. A digital-to-analog (D/A)converter 21 is connected to the video processor 20. - The video processor 20 is used for rendering arithmetic processing when the image processing system is a real-time three dimension graphics system used for computer game machines, for example. A video game software stored in the DVD is read out by the
DVD drive 12, transferred to themain memory 18, and executed by theCPU 16 according to user operation input form thecontroller 11. As a result, three-dimensional spatial data is updated, and shape primitive data is sent to the video processor 20 by theCPU 16 to execute drawing arithmetic processing, referred to as rendering. - The rendering is a processing for expressing the three-dimensional space by using polygons as the shape primitive of the object and rendering (filling) these polygons. Processes such as texture mapping, hidden-surface removal, lighting (illumination computation), shading (shadowing), anti-aliasing, perspective projection and clipping as known in the field of three-dimension computer graphic (CG) generally is referred to as rendering. The rendering may include a vertex process. The vertex process is a process for calculating a parameter to be necessary for rendering the polygon in units of a pixel every vertex of a polygon mesh. This vertex process may be performed not only by the video processor 20, but also by the
CPU 16. - On the other hand, the video processor 20 can perform processes such as various filtering processes for the video signal of still images or motion images input from the
video input device 14. The image data output from the video processor 20 is converted to a video signal by the D/A converter 21. The video signal is displayed on the display, and output as a hard copy as necessary. - The memory-built-in data processor according to an embodiment of the present invention is applied to the video processor 20 in the image processing system shown in
FIG. 1 , for example. The memory-built-in data processor will be described concretely hereinafter. -
FIG. 2 shows a configuration of the memory-built-in data processor related to the first embodiment of the present invention. The memory-built-indata processor 30 ofFIG. 2 is realized by so-called a memory consolidating logic LSI wherein a built-inmemory 31 such as DRAM, adata processing unit 32 and acontroller 33 are integrated in a single LSI (large-scale semiconductor integrated circuit). Thedata processing unit 32 is a rendering unit configured to depict the polygons as described above or a SIMD (single instruction multiple data) type parallel processor configured to perform image processing and so on. Thedata processing unit 32 executes the above processes while accessing the built-in memory via thecontroller 33, i.e., performing readout and write-in of data. - A
memory bus 34 connects the built-inmemory 31 andcontroller 33 to each other, and alocal bus 35 connects thedata processing unit 32 andcontroller 33 to each other. Thecontroller 33 is connected to an external unit by aglobal bus 36. Thebuses bus 36 are formed as internal wirings of the memory consolidating logic LSI. Assuming that the memory-built-indata processor 30 is the video processor 20 in the image processing system ofFIG. 1 , for example. The external unit is aCPU 17 and an external memory connected via thebus bridge 16 shown inFIG. 1 . - The
memory bus 34 andlocal bus 35 are realized by the wiring in the LSI as described above. Therefore, these buses have shorter wiring length, broader data bus width and higher bus clock in comparison with theglobal bus 36 used for connection to the external unit. Therefore, thememory bus 34 andlocal bus 35 can transfer data at high speed in comparison with theglobal bus 36. Thedata processing unit 32 can access the built-inmemory 31 at high speed and high bandwidth via thelocal bus 35,controller 33 andmemory bus 34. - The
controller 33 arbitrates between the access requests that are performed via a plurality of routes for readout and write-in of data with respect to the built-inmemory 31. In other words, thecontroller 33 accesses the built-inmemory 31 via thememory bus 34 to perform readout/write-in operations while performing an arbitration process between the access requirement by way of thelocal bus 35 and the access requirement by way of theglobal bus 36. There are following four methods of arbitrating between the access requirements. - [Global Priority Access]
- When the
global controller 33 receives the access requirement from the external unit by way of theglobal bus 36, it stops the access requirement from thedata processing unit 32 by way of thelocal bus 35 and accesses the memory according to the access requirement by way of theglobal bus 36. When a serial process is finished, thecontroller 33 accepts the access requirement by way of thelocal bus 35. - [Local Priority Access]
- When the
controller 33 receives the access requirement from thedata processing unit 32 by way of thelocal bus 35, it stops the access requirement from the external unit by way of theglobal bus 36 and accesses the built-in memory according to the access requirement by way of thelocal bus 35. When a serial process is finished, thecontroller 33 accepts the access requirement by way of theglobal bus 36. - [Allegation Access]
- The
controller 33 accepts either the access requirement by way of theglobal bus 36 or the access requirement by way oflocal bus 35 every data access. - [Simultaneous Access]
- In a case of that the
controller 33 receives the access requirement by way of thelocal bus 35 and the access requirement by way of theglobal bus 36 simultaneously, that is, receives a simultaneous access request, if the access destination addresses correspond to different banks of the built-inmemory 31, thecontroller 33 accepts this simultaneous access request, if the access destination address correspond to different banks, thecontroller 33 gives priority to one of the access requirements and keeps the other waiting. - An example of an arbitration process of the access requirement to the built-in
memory 31 in the present embodiment will be described referring toFIG. 3A .FIG. 3A shows a flowchart of an arbitration process, but this arbitration process is performed by hardware in thecontroller 33 in order to speed up the entire process of the memory-built-indata processor 30. - At first, the
controller 33 checks an access requirement from the local bus 35 (step S101). If there is no access requirement from thelocal bus 35, thecontroller 33 checks the access requirement from the global bus 36 (step S102). If there is access requirement from theglobal bus 36, thecontroller 33 executes a process corresponding to the access requirement from the global bus 36 (global access process) (step S103). - If there is an access requirement from the
local bus 35 in step S101, thecontroller 33 checks further the access requirement from the global bus 36 (step S104). If there is no access requirement from theglobal bus 36, thecontroller 33 executes a process corresponding to the access requirement from the local bus 35 (local access process) (step S105). If there is an access requirement from theglobal bus 36 in the step S104, that is, if thecontroller 33 receives the access requirement from thelocal bus 35 and the access requirement from theglobal bus 36 at the same time, thecontroller 33 checks whether access destinations (addresses) of these access requirements are on the same area (bank). If the access destinations of the access requirements from thelocal bus 35 and theglobal bus 36 are in different areas, thecontroller 33 performs the simultaneous access for these areas (step S107). - In step S106, if the access destinations of the access requirements from the
local bus 35 and theglobal bus 36 are in the same area, thecontroller 33 checks whether the local bus access is set (step S108). If a local priority access is set, thecontroller 33 performs a local access process (step S109). If the local priority access is not set, thecontroller 33 performs a global access process (step S110). - In step S106 in
FIG. 3A , when the access requirements from thelocal bus 35 and theglobal bus 36 are directed to an access destination in the same area, whether the local priority access is set in step S108 is checked and either of the local access process or global access process is performed according to the result. However, whether the global priority access is set in step S108 may be checked. If the global priority access is set, the global access process is performed, and if the global priority access is not set, the local access process may be performed. - The
controller 33 performs the arbitration process described above with respect to the access requirements from thelocal bus 35 and theglobal bus 36 to the built-inmemory 31. Further, thecontroller 33 has a function for managing the built-inmemory 31 by dividing the built-inmemory 31 into a plurality of areas, that is, a function for managing selectively an area accessable via thelocal bus 35 and an area accessable via theglobal bus 36 as shown in dashed lines inFIG. 2 in order to enable the simultaneous access by step S107 ofFIG. 3A . - An interface operation based on a local bus priority will be described with reference to the flowchart of
FIG. 3B . - At first an access requirement from the local bus is checked (S111). If there is the local access requirement, a local access process is executed (S112), and if there is not, an access requirement from the global bus is checked (S113). If there is the global access requirement, a global access process is executed (S114), and if there is not, a process returns to step S111.
- As described above, in the interface operation, the local access process is performed in response to the access requirement from the local bus, and the global access process is performed in response to the global access requirement.
- Parallel writing and parallel read-out of the data processor of the first embodiment will be described.
- <Parallel Writing>
- The built-in
memory 31 is divided into at least two regions. Thedata processing unit 32 executes a process by means of one of the divided regions, and transfers data from theglobal bus 36 to the other of the divided regions together with the process. As this data transfer, there is an operation to send data for a process which thedata processing unit 32 is to execute next, to the divided region. For example, while the local unit depicts polygon, the global unit transfers data (vertex information, texture) to be necessary for rendering a next polygon, to the local unit. In this case, thecontroller 33 performs control for the local bus priority. - <Parallel Read-Out>
- The
data processing unit 32 transfers data to theglobal bus 36 from different memory regions of the built-inmemory 31. In this case, thedata processing unit 32 performs an operation for outputting data indicating a result of a previous process. For example, the local unit executes polygon rendering, and the global unit brings in the image of the region in which the rendering has been completed. Thecontroller 33 controls the local unit in the local bus priority. In the parallel writing and parallel read-out operation, the data processing unit may comprise a rendering unit. - Since the
controller 33 has the function described above, the simultaneous access efficiency is improved, and data corruption due to the fact that access to an area accessable via alocal bus 35 is gained via aglobal bus 36, and vice versa, can be prevented. This is preferable in light of protection of data stored in the built-inmemory 31. -
FIG. 4 shows a configuration of a memory-built-in data processor related to the second embodiment of the present invention. The memory-built-indata processor 40A shown inFIG. 4 comprises a plurality of data processing units (first data processing units, referred to as local units hereinafter) 41A-41N and a data processing unit (the second data processing unit, referred to as a global unit hereinafter) 42. Each of the firstdata processing units 41A-41N comprises a memory-built-indata processor 30 related to the first embodiment shown inFIG. 2 . In other words, the memory built-inprocessor 40A provides a plurality oflocal units 41A-41N each having the same configuration as that of the memory-built-indata processor 30 shown inFIG. 2 . - The
global unit 42 is a data processing unit such as a general-purpose processor or a rendering unit, and connected to thelocal units 41A-41N via theglobal bus 44A to 44N led from anallotter 43 and thelocal units 41A-41N. Theglobal unit 42 is configured so as to be able to access (read and write) the built-in memories via theallotter 43 andglobal buses 44A to 44N with considering the whole of the built-in memories (the built-inmemory 31 inFIG. 2 ) of thelocal units 41A-41N to be one address space. - The
global unit 42 can deliver data with respect to an external unit over anexternal interface 45. When the memory-built-indata processor 40A is the video processor 20 in the image processing system as shown inFIG. 1 , the external unit connected to theexternal interface 45 is theCPU 17 connected via thebus bridge 16, theexternal memory 19 and the like. - The
allotter 43 has a function to perform selection of thelocal units 41A-41N and addressing of the built-in memory according to the access requirement from theglobal unit 42. When theallotter 43 receives the access requirement from theglobal unit 42, it accesses the built-in memory corresponding to the access requirement by selecting an appropriate local unit of thelocal units 41A-41N, converting the address indicated by the access requirement from theglobal unit 42 to an address assigned to the selected local unit in the address space of the whole built-in memories of thelocal units 41A-41N, and distributing the address to the selected local unit. -
FIGS. 5A and 5B show a method that theallotter 43 performs addressing (memory mapping) with respect to thelocal units 41A-41N according to control from theglobal unit 42.FIG. 5A shows a one-dimensional stripe type method, andFIG. 5 B shows a one-dimensional block type method.FIGS. 5A and 5B indicate thelocal units 41A-41N withlocal units 1 to N. In the one-dimensional stripe type addressing method, the addresses of the same local unit are arranged in a stripe, that is, between the addresses of the different local units as shown inFIG. 5A . The same addresses (i=1, 2, . . . , N) of the different local units are arranged continually. In the one-dimensional block type addressing method, the different addresses i (i=1, 2, . . . , N) of the same local unit are arranged continuously as shown inFIG. 5B to form blocks of addresses. - Two-dimensional stripe type and block type addressing methods suitable for graphics processing are known. These methods can be applied to the present embodiment, too. The
allotter 43 may use selectively one of the plural addressing methods according to intended use or processing contents of the memory-built-in data processor, and is fixed to one of the methods. - According to the present embodiment, in each of the
local units 41A-41N, high-speed processing can be realized by a high-speed data transmission via the bandwidth memory bus and local bus as described in the first embodiment. On the other hand, as the whole of the memory-built-indata processor 40A, when viewing thelocal unit 41A-41N from theglobal unit 42 via theallotter 43, the built-in memories of thelocal units 41A-41N can be accessed as mass storage having one address space. For this reason, it is possible to realize a process that handles a large quantity of data at a processing speed. In other words, it is possible to select the operation mode of the memory-built-indata processor 40A according to the process contents. Therefore, a flexible data processor can be realized. - By making both
local unit 41A-41N andglobal unit 42 bring a function of a rendering unit as a concrete application of the present embodiment, the memory built-inprocessing unit 40A can function as a drawing apparatus in a three-dimensional graphics system. In this case, polygon data is input to theglobal unit 42 from the external unit via theexternal interface 45. Theglobal unit 42 depicts big polygons and thelocal units 41A-41N each depict only small polygons. Thus, a circuit of a rendering unit in each of thelocal units 41A-41N can be scaled down in comparison with that of theglobal unit 42. - In the embodiment of
FIG. 4 , each of thelocal units 41A to 41N accesses to one of the memory areas of the built-in memory to perform arithmetic processing by means of the built-in memory, and at the same time theexternal interface 45 andglobal unit 42 transfer data for a process of the next local unit to the other memory area of the built-in memory. -
FIG. 6 shows a process selecting whether the polygon data is depicted by a rendering unit of which of thelocal units 41A-41N andglobal unit 42 according to the polygon size of the input polygon data. This selection process is performed in theglobal unit 42 according to the size (polygon size) of the polygon data (shape primitive data) input via theexternal interface 45. - At first, it is determined whether the polygon size of the input polygon data is a data size capable of being processed with the
local units 41A-41N (step S201). If the size of the input polygon data is the data size capable of being processed with thelocal units 41A-41N, a suitable one of thelocal units 41A-41N is selected, and the polygon data is transferred to the selected local unit to be depicted (steps S202 and S203). On the other hand, if it is determined that the input polygon data cannot be processed by thelocal units 41A-41N in step S201, theglobal unit 42 depicts the polygon data. - It is preferable for speedup of the process of the memory-built-in
data processor 40A that the selection process ofFIG. 6 is realized by hardware of theglobal unit 42. -
FIG. 7 shows a configuration of the memory-built-indata processor 40B related to the third embodiment of the present invention, wherein theglobal unit 42 is removed from the memory-built-indata processor 40A related to the second embodiment that is shown inFIG. 5 and theexternal interface 45 is directly connected to theallotter 42. The memory-built-in data processor of the present embodiment can be considered as the global unit whoseexternal interface 45 has no data processing function such as rendering. - Each of the
local units 41A-41N of the present embodiment can realize high-speed processing with the high-speed data transfer by way of the bandwidth memory bus and local bus similarly to the second embodiment. As for the whole of the memory-built-indata processor 40B, when viewing thelocal units 41A-41N from the external unit via theexternal interface 45 andallotter 43, the whole of the built-in memories of thelocal units 41A-41N can be assumed as a mass storage having one address space and accessed. Therefore, the third embodiment is substantially the same as the second embodiment excepting for selectively rendering with the local unit and global unit according to the input polygon data. - In the embodiment of
FIG. 7 , each of thelocal units 41A to 41N accesses to the built-in memory to perform arithmetic processing by means of the built-in memory, and at the same time theexternal interface 45 andglobal unit 42 transfer data for a process of the next local unit to the other region of the built-in memory. -
FIG. 8 shows a configuration of a memory-built-indata processor 40C related to the fourth embodiment of the present invention. The memory-built-indata processor 40C of the present embodiment has plurallocal units 41A-41N and pluralglobal units 42A-42M, and thelocal units 41A-41N are optionally connected to theglobal units 42A-42M by a switchingunit 46. - The switching
unit 46 performs switching between thelocal units 41A-41N and theglobal units 42A-42M. In other words, the switchingunit 46 connects each of thelocal units 41A-41N to one or more of theglobal units 42A-42M and may use a conventional crossbar switch or a shared bus. - The switching
unit 46 performs the switching connection between thelocal units 41A-41N and theglobal units 42A-42M according to an external control signal. In the image processing system shown inFIG. 1 , for example, the external control signal is generated by theCPU 17 according to designation of a user which is input via thecontroller 11 inFIG. 1 , for example, and input to the video processor 20 that is the memory-built-indata processor 40C of the present embodiment. - On the other hand, the
external interface 45 has a distribution/combination function for distributing data or signals from the external unit to theglobal units 42A-42M or combining data or signals from theglobal units 42A-42M on a shared bus. - According to the present embodiment, plural
global units 42A-42M and plurallocal units 41A-41N are provided. It is possible by switching between theglobal units 42A-42M and thelocal units 41A-41N by means of the switching unit, to expand data processing efficiency in comparison with the memory-built-indata processor 40B related to the second embodiment shown inFIG. 4 and improve total performance of data processing. -
FIG. 9 shows a configuration of the memory-built-indata processor 40D related to the fifth embodiment of the present invention. The memory-built-indata processor 40D of the present embodiment is configured by other data processing units (the third data processing units), i.e.,local units 47A-47M, corresponding to theglobal units 42A-42M one-on-one, as well as the memory-built-indata processor 40C related to the fourth embodiment shown inFIG. 8 . Theglobal units 42A-42M are connected to thelocal units 47A-47M by theglobal buses 48A-48M, respectively. Thelocal units 47A-47M each have the same configuration as the memory-built-in data processor shown inFIG. 2 similarly to thelocal units 41A-41N. - In the second embodiment, the
local units 41A-41N andglobal unit 42 provide the rendering function in the memory-built-indata processor 40B shown inFIG. 7 . In contrast, in the present embodiment, the rendering function is eliminated from theglobal unit 42A-42M and added to thelocal units 47A to 47M. - In other words, the
local units 41A-41N connected to theglobal units 42A-42M via theswitching unit 46 are shared local units used in common with respect to theglobal units 42A-42M. In contrast, thelocal units 47A-47M are dedicated local units used only by theglobal units 42A-42M connected to the correspondinglocal units 47A-47M, respectively. - In other words, when performing the rendering process explained as a modification of, for example, the second embodiment in the present embodiment, polygons of small size are rendered by the shared
local units 41A-41N, and polygons of large size are rendered by a pair of each ofglobal units 42A-42M and each of the dedicatedlocal units 47A-47M. - The present embodiment can produce the effect that improves the development efficiency of an apparatus while showing performance similar to the memory-built-in
data processor 40C related to the fourth embodiment shown inFIG. 8 , by making the sharedlocal units 41A-41N and the dedicatedlocal units 47A-47M with the same architecture. -
FIG. 10 shows a configuration of a memory-built-indata processor 40E related to the sixth embodiment of the present invention, wherein theglobal unit 42 andlocal units 41A-41N are connected by acrossbar unit 49. This is a configuration in which theallotter 43 in the memory-built-indata processor 40B shown inFIG. 4 and related to the second embodiment is substituted with thecrossbar unit 49. - The
crossbar unit 49 performs switching between theglobal unit 42 and thelocal units 41A-41N and between thelocal units 41A-41N according to an external control signal. In the image processing system shown inFIG. 1 , for example, the external control signal is generated by theCPU 17 according to designation of a user which is input via thecontroller 11 inFIG. 1 , for example, and input to the video processor 20 that is the memory-built-indata processor 40E of the present embodiment. - The present embodiment can take various other process aspects in comparison with the configuration that connects the
global unit 42 and thelocal units 41A-41N via theallotter 43 as shown inFIG. 4 . For example, it is possible to change the connection relation between theglobal unit 42 and thelocal units 41A-41N by thecrossbar unit 49 according to the process contents of the memory-built-indata processor 40E. - Further, communication between the
local units 41A-41N is enabled by optionally connecting thelocal units 41A-41N to each other by means of thecrossbar unit 49. As a result, a data copy can be performed between thelocal units 41A-41N. This is profitable when the video processor 20 performs processing such as filtering with respect to the image data input by thevideo input device 14 ofFIG. 1 , for example. - In filtering, image data of a certain frame is stored in the built-in memory of a certain local unit, image data of the next frame is stored in the built-in memory of other local unit, and the image data stored in the built-in memory of the another local unit is copied and added to the built-in memory of the certain local unit. As a result, a process for averaging the image data of both frames and so on can be executed.
- In the embodiment of
FIG. 10 , thelocal unit 42 can perform an operation according to a request from another local unit while it performs a process. In a case that the own data processing unit of thelocal unit 41A, for example, performs a process using the own built-in memory, when thelocal unit 41A receives a write-in request to the built-in memory from another local unit 41B or theglobal unit 42, it performs the following operation. When the built-in memory is divided into a plurality of memory areas, and the local unit and global unit access different memory areas, the data processing unit performs operations similar to <parallel write-in> and <parallel readout> described above. - On the other hand, assuming that the same memory area as the memory area which the
local unit 41A accesses is accessed via the global bus. In this case, when the local units each comprising a rendering unit perform rendering in parallel, texture image and shader data are stored in the built-in memory of another local unit. In this case, the texture data stored in the built-in memory of thelocal unit 41A is used by the local unit 41B as well as thelocal unit 41A. - The above operation is controlled in the local access priority by the controller.
-
FIG. 11 shows a configuration of a memory-built-indata processor 40F related to the seventh embodiment of the present invention, wherein the configuration of the sixth embodiment shown inFIG. 10 is improved so that pluralglobal units 42A-42M andlocal units 41A-41N are connected by acrossbar unit 49. - The
crossbar unit 49 performs switching between theglobal units 42 and thelocal units 41A-41N and switching between thelocal units 41A-41N according to an external control signal. In the image processing system shown inFIG. 1 , for example, the external control signal is generated by theCPU 17 according to designation of a user which is input via thecontroller 11 inFIG. 1 , for example, and input to the video processor 20 that is the memory-built-indata processor 40F of the present embodiment. In other words, the connection relation between theglobal units 42A-42M and thelocal units 41A-41N is changed by thecrossbar unit 49 according to process contents of the memory-built-indata processor 40F. An arbitrary connection between thelocal units 41A-41N enables communication between thelocal units 41A-41N. - The present embodiment can take a process aspect similar to the fifth embodiment as well as the same effect as the sixth embodiment shown in
FIG. 9 . In other words, a part of thelocal units 41A-41N, for example,local units 41A-41M correspond to theglobal units 42A-42N one-on-one, the rendering function eliminated from theglobal units 42A-42N is added to thelocal units 41A-41M, and thelocal units 41A-41M are determined as dedicated local units used for only by theglobal units 42A-42N. On the other hand, another part of thelocal units 41A-41N are employed as the share local units used in common with respect to theglobal units 42A-42N. - The present embodiment can produce the effect that improves the development efficiency of an apparatus while showing performance similar to the memory-built-in
data processor 40C related to the fourth embodiment shown inFIG. 8 , by making the sharedlocal units 41A-41N and the dedicatedlocal units 47A-47M with the same architecture. - As described above, the present invention can provide a memory-built-in data processor that enables data processing of various process contents while utilizing high bandwidth by the built-in memory effectively.
- A memory-built-in data processor of base configuration that is explained as a local unit, for example, can realize high-speed processing by high-speed data transmission. On the other hand, when the whole of the built-in memories of plural local units is assumed as a mass storage having an address space which is accessible, such process where a large quantity of data is handled at a slow processing speed can be realized.
- Further, shader program and data as well as textured images can be included as main processing data. In the above embodiments, the polygon rendering is performed. However, the present invention can be applied to a rendering process of rendering in units of a pixel, such as ray-tracing, photon mapping. Furthermore, the present invention can be applied to an image processing of processing an image in units of a rectangle, such as image filter, template matching.
- Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
Claims (14)
1-19. (canceled)
20. A memory-built-in data processor connected to an external unit, comprising:
a memory configured to store data internal to the data processor;
a first bus, a second bus and a third bus;
a controller connected to the external unit and the memory via the first bus and the second bus, respectively; and
a data processing unit connected to the controller via the third bus, the data processing unit configured to perform readout/write-in of data with respect to the memory via the third bus, the controller and the second bus, and subjecting the data to a desired processing; wherein
the controller is configured to perform arbitration between a first access requirement input from the external unit via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus, to access the memory internally; and wherein
when memory access destinations of a first access requirement and a second access requirement are on the same area in the memory, the controller checks an access priority for local memory access internal to the data processor, and if the access priority is set, the controller accesses the memory of the second access requirement; and wherein
when memory access destinations of the first access requirement and the second access requirement are on different areas in the memory, the controller accesses the different areas simultaneously; and wherein
the memory, the first bus, the second bus, the third bus, the controller, and the data processor are integrated in an integrated circuit.
21. A memory-built-in data processor according to claim 20 , wherein
the controller is further configured to divide the memory into plural areas to manage them, and is configured to set the access destinations of the first access requirement and the second access requirement to different areas of the memory.
22. A memory-built-in data processor connected to an external unit, comprising:
a plurality of first data processing parts comprising:
a memory configured to store data internal to the data processor,
a first bus, a second bus and a third bus,
a controller connected to the external unit and the memory via the first bus and the second bus, respectively, and
a data processing unit connected to the controller via the third bus, the data processing unit configured to perform readout/write-in of data with respect to the memory via the third bus, the controller and the second bus, and configured to subject the data to desired processing;
at least one second data processing part which accesses the whole of memories of the plurality of first data processing parts as one memory space, the second data processing part configured to perform readout/write-in of data with respect to the memories and subjecting the data to desired data processing; and
an interface configured to connect the external unit to the second data processing part; wherein
the controller is configured to perform arbitration between a first access requirement input from the external unit via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus, to access the memory internally; and wherein
when memory access destinations of a first access requirement and a second access requirement are on the same area in the memory, the controller checks an access priority for local memory access internal to the data processor, and if the access priority is set, the controller accesses the memory of the second access requirement; and wherein
when memory access destinations of the first access requirement and the second access requirement are on different areas in the memory, the controller accesses the different areas simultaneously; and wherein
the plurality of first data processing parts, the at least one second data processing part, and the interface are integrated in an integrated circuit.
23. A memory-built-in data processor according to claim 22 , wherein
the controller is further configured to divide the memory into plural areas to manage the plural areas, and is configured to set the access destinations of the first access requirement and the second access requirement to different areas of the memory.
24. A memory-built-in data processor apparatus according to claim 22 , further comprising:
an allotter connected between the plurality of first data processing parts and the second data processing part, the allotter configured to select one of the first data processing parts according to the access requirement from the second data processing part, configured to convert an address indicated by the access requirement to an address assigned to the first data processing part selected in the memory space, and configured to distribute a converted address to the first data processing part selected.
25. A memory-built-in data processor connected to an external unit, comprising:
a plurality of data processing parts comprising:
a memory configured to store data internal to the data processor,
a first bus, a second bus and a third bus,
a controller connected to the external unit and the memory via the first bus and the second bus, respectively, and
a data processing unit connected to the controller via the third bus, the data processing unit configured to perform readout/write-in of data with respect to the memory via the third bus, the controller and the second bus, and configured to subject the data to desired processing; and
an interface configured to connect the data processing parts to the external unit, and configured to enable to access the whole of memories of the plurality of data processing parts as one memory space with respect to the access requirement from the external unit; wherein
the controller is configured to perform arbitration between a first access requirement input from the external unit via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus, to access the memory internally; and wherein
when memory access destinations of a first access requirement and a second access requirement are on the same area in the memory, the controller checks an access priority for local memory access internal to the data processor, and if the access priority is set, the controller accesses the memory of the second access requirement; and wherein
when memory access destinations of the first access requirement and the second access requirement are on different areas in the memory, the controller accesses the different areas simultaneously; and wherein
the plurality of data processing parts and the interface are integrated in an integrated circuit.
26. A memory-built-in data processor according to claim 25 , wherein
the controller is further configured to divide the memory into plural areas to manage the plural areas, and is configured to set the access destinations of the first access requirement and the second access requirement to different areas of the memory.
27. A memory-built-in data processor apparatus according to claim 25 , further comprising:
an allotter connecting the plurality of data processing parts and the interface, the allotter configured to select one of the data processing parts according to the access requirement from the external unit, configured to convert an address indicated by the access requirement to an address assigned to the data processing part selected in the memory space, and configured to distribute a converted address to the data processing part selected.
28. A memory-built-in data processor connected to an external unit, comprising:
a plurality of first data processing parts comprising:
a memory configured to store data internal to the data processor, a first bus, a second bus and a third bus,
a controller connected to the external unit and the memory via the first bus and the second bus, respectively, and
a data processing unit connected to the controller via the third bus, the data processing unit configured to perform readout/write-in of data with respect to the memory via the third bus, the controller and the second bus, and configured to subject the data to desired processing;
a plurality of second data processing parts configured to enable to access the whole of memories of the plurality of first data processing units as one memory space, the second data processing parts configured to perform readout/write-in of data with respect to the memories and configured to subject the data to desired data processing;
a switching unit configured to switch between the plurality of first data processing parts and the plurality of second data processing parts; and
an interface configured to connect between the external unit and the plurality of second data processing parts; wherein
the controller is configured to perform arbitration between a first access requirement input from the external unit via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus, to access the memory internally; and wherein
when memory access destinations of a first access requirement and a second access requirement are on the same area in the memory, the controller checks an access priority for local memory access internal to the data processor, and if the access priority is set, the controller accesses the memory of the second access requirement; and wherein
when memory access destinations of the first access requirement and the second access requirement are on different areas in the memory, the controller accesses the different areas simultaneously; and wherein
the plurality of first data processing parts, the plurality of second data processing parts, the switching unit, and the interface are integrated in an integrated circuit.
29. A memory-built-in data processor according to claim 28 , wherein
the controller is further configured to divide the memory into plural areas to manage the plural areas, and is configured to set the access destinations of the first access requirement and the second access requirement to different areas of the memory.
30. A memory-built-in data processor connected to an external unit, comprising:
a plurality of first data processing parts comprising:
a memory configured to store data internal to the data processor,
a first bus, a second bus and a third bus,
a controller connected to the external unit and the memory via the first bus and the second bus, respectively, and
a data processing unit connected to the controller via the third bus, the data processing unit performing readout/write-in of data with respect to the memory via the third bus, the controller and the second bus, and subjecting the data to desired processing;
at least one second data processing part which enables to access the whole of memories of the plurality of first data processing parts as one memory space, the second data processing part performing readout/write-in of data with respect to the memories and subjecting the data to desired data processing;
a crossbar unit configured to perform switching between the plurality of first data processing parts and configured to perform switching between the plurality of first data processing parts and the at least one second data processing part; and
an interface connecting the external unit and the second data processing part; wherein
the controller is configured to perform arbitration between a first access requirement input from the external unit via the first bus to perform readout/write-in with respect to the memory and a second access requirement input from the data processing unit via the third bus, to access the memory internally; and wherein
when memory access destinations of a first access requirement and a second access requirement are on the same area in the memory, the controller checks an access priority for local memory access internal to the data processor, and if the access priority is set, the controller accesses the memory of the second access requirement; and wherein
when memory access destinations of a the first access requirement and the second access requirement are on different areas in the memory, the controller accesses the different areas simultaneously; and wherein
the plurality of first data processing parts, the second data processing part, and the interface being integrated in an integrated circuit.
31. A memory-built-in data processor apparatus including:
a plurality of first data processing parts comprising:
a memory configured to store data internal to the data processor,
a first bus, a second bus and a third bus,
a controller connected to an external unit and the memory via the first bus and the second bus, respectively, and
a data processing unit connected to the controller via the third bus, the data processing unit configured to perform readout/write-in of data with respect to the memory via the third bus, the controller and the second bus, and configured to subject the data to desired processing;
a plurality of second data processing parts which enable to access the whole of memories of the plurality of first data processing parts as one memory space, the second data processing parts performing readout/write-in of data with respect to the memories and subjecting the data to desired data processing;
a crossbar unit configured to perform switching between the first data processing parts and the second data processing parts, configured to perform switching between the first data processing parts, and configured to perform switching between the second data processing parts; and
an interface connecting the external unit and the second data processing parts; wherein
the controller is configured to perform arbitration between a first access requirement input from the external unit via the first bus to perform readout/write-in with respect to the memory, and a second access requirement input from the data processing unit via the third bus, to access the memory internally; and wherein
when memory access destinations of a first access requirement and a second access requirement are on the same area in the memory, the controller checks an access priority for local memory access internal to the data processor, and if the access priority is set, the controller accesses the memory of the second access requirement; and wherein
when memory access destinations of the first access requirement and the second access requirement are on different areas in the memory, the controller accesses the different areas simultaneously; and wherein
the plurality of first data processing parts, the plurality of second data processing parts, the crossbar unit, and the interface are integrated in an integrated circuit.
32. A memory-built-in data processor apparatus according to claim 31 , including:
a plurality of third data processing parts connected to the plurality of second data processing parts, respectively, the second data processing parts configured to perform readout/write-in of data with respect to memories of the third data processing parts and configured to subject the data to desired data processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/759,330 US20070233975A1 (en) | 2001-09-27 | 2007-06-07 | Data processor with a built-in memory |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001298635A JP3793062B2 (en) | 2001-09-27 | 2001-09-27 | Data processing device with built-in memory |
JP2001-298635 | 2001-09-27 | ||
US10/241,458 US7035982B2 (en) | 2001-09-27 | 2002-09-12 | Data processor with a built-in memory |
US11/374,048 US7237072B2 (en) | 2001-09-27 | 2006-03-14 | Data processor with a built-in memory |
US11/759,330 US20070233975A1 (en) | 2001-09-27 | 2007-06-07 | Data processor with a built-in memory |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/374,048 Division US7237072B2 (en) | 2001-09-27 | 2006-03-14 | Data processor with a built-in memory |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070233975A1 true US20070233975A1 (en) | 2007-10-04 |
Family
ID=19119508
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/241,458 Expired - Fee Related US7035982B2 (en) | 2001-09-27 | 2002-09-12 | Data processor with a built-in memory |
US11/374,048 Expired - Fee Related US7237072B2 (en) | 2001-09-27 | 2006-03-14 | Data processor with a built-in memory |
US11/759,330 Abandoned US20070233975A1 (en) | 2001-09-27 | 2007-06-07 | Data processor with a built-in memory |
US11/759,338 Expired - Fee Related US7546425B2 (en) | 2001-09-27 | 2007-06-07 | Data processor with a built-in memory |
US11/759,324 Abandoned US20070229507A1 (en) | 2001-09-27 | 2007-06-07 | Data processor with a built-in memory |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/241,458 Expired - Fee Related US7035982B2 (en) | 2001-09-27 | 2002-09-12 | Data processor with a built-in memory |
US11/374,048 Expired - Fee Related US7237072B2 (en) | 2001-09-27 | 2006-03-14 | Data processor with a built-in memory |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/759,338 Expired - Fee Related US7546425B2 (en) | 2001-09-27 | 2007-06-07 | Data processor with a built-in memory |
US11/759,324 Abandoned US20070229507A1 (en) | 2001-09-27 | 2007-06-07 | Data processor with a built-in memory |
Country Status (2)
Country | Link |
---|---|
US (5) | US7035982B2 (en) |
JP (1) | JP3793062B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087350A1 (en) * | 2009-10-08 | 2011-04-14 | 3D M.T.P. Ltd | Methods and system for enabling printing three-dimensional object models |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010108204A (en) * | 2008-10-30 | 2010-05-13 | Hitachi Ltd | Multichip processor |
US8223693B2 (en) * | 2009-06-23 | 2012-07-17 | Mediatek Inc. | PTA method and apparatus utilizing the same |
US9626306B2 (en) * | 2012-02-17 | 2017-04-18 | Netronome Systems, Inc. | Global event chain in an island-based network flow processor |
JP5468668B2 (en) * | 2012-11-12 | 2014-04-09 | 株式会社東芝 | Memory controller |
EP2992438B1 (en) | 2013-04-30 | 2019-08-28 | Hewlett-Packard Enterprise Development LP | Memory network |
KR102493461B1 (en) | 2015-08-31 | 2023-01-30 | 삼성전자 주식회사 | System and Method of rendering |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3343140A (en) * | 1964-10-27 | 1967-09-19 | Hughes Aircraft Co | Banked memory system |
US4949244A (en) * | 1987-02-18 | 1990-08-14 | Hitachi, Ltd. | Storage system |
US5363500A (en) * | 1990-01-25 | 1994-11-08 | Seiko Epson Corporation | System for improving access time to video display data using shadow memory sized differently from a display memory |
US6099417A (en) * | 1997-08-14 | 2000-08-08 | The Little Tikes Company | Apparatus for tossing or teeing a ball |
US6202137B1 (en) * | 1997-09-18 | 2001-03-13 | Intel Corporation | Method and apparatus of arbitrating requests to a multi-banked memory using bank selects |
US6327681B1 (en) * | 1996-03-21 | 2001-12-04 | Hitachi, Ltd. | Data processor with built-in DRAM |
US6370558B1 (en) * | 1993-11-30 | 2002-04-09 | Texas Instruments Incorporated | Long instruction word controlling plural independent processor operations |
US6393520B2 (en) * | 1997-04-17 | 2002-05-21 | Matsushita Electric Industrial Co., Ltd. | Data processor and data processing system with internal memories |
US20020083311A1 (en) * | 2000-12-27 | 2002-06-27 | Paver Nigel C. | Method and computer program for single instruction multiple data management |
US6473841B1 (en) * | 1998-10-20 | 2002-10-29 | Matsushita Electric Industrial Co., Ltd. | Signal processing apparatus with memory access history storage |
US6587917B2 (en) * | 2001-05-29 | 2003-07-01 | Agilent Technologies, Inc. | Memory architecture for supporting concurrent access of different types |
US6587110B1 (en) * | 1999-02-03 | 2003-07-01 | Kabushiki Kaisha Toshiba | Image processing unit, image processing system using the same, and image processing method |
US20030177288A1 (en) * | 2002-03-07 | 2003-09-18 | Kabushiki Kaisha Toshiba | Multiprocessor system |
US20030200422A1 (en) * | 2002-04-19 | 2003-10-23 | Semiconductor Technology Academic Research Center | Parallel processor |
US6675267B2 (en) * | 1998-01-30 | 2004-01-06 | Stmicroelectronics Limited | Shared memory access by multiple controllers having different bus widths |
US6704018B1 (en) * | 1999-10-15 | 2004-03-09 | Kabushiki Kaisha Toshiba | Graphic computing apparatus |
US6809422B2 (en) * | 2003-03-12 | 2004-10-26 | Kabushiki Kaisha Toshiba | One-chip image processing apparatus |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59121455A (en) | 1982-12-28 | 1984-07-13 | Toshiba Corp | Prefixing system |
US5099417A (en) * | 1987-03-13 | 1992-03-24 | Texas Instruments Incorporated | Data processing device with improved direct memory access |
JPH01241642A (en) | 1988-03-24 | 1989-09-26 | Fuji Electric Co Ltd | Dynamic arranging method for common memory |
JPH05189549A (en) | 1991-09-10 | 1993-07-30 | Kubota Corp | Image data processor by multiprocessor |
JPH0850651A (en) | 1994-08-05 | 1996-02-20 | Mitsubishi Electric Corp | Image processing lsi |
JPH09167242A (en) | 1995-12-19 | 1997-06-24 | Fuji Xerox Co Ltd | Plotting processing device and method |
JPH10269167A (en) | 1997-03-28 | 1998-10-09 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | Memory access system |
JP3691213B2 (en) | 1997-07-18 | 2005-09-07 | 松下電器産業株式会社 | Processor and memory access method |
JPH11185467A (en) | 1997-12-22 | 1999-07-09 | Fujitsu Ltd | Semiconductor integrated circuit apparatus |
JP2000067573A (en) | 1998-08-19 | 2000-03-03 | Mitsubishi Electric Corp | Memory provided with arithmetic function |
JP3946393B2 (en) | 1999-10-19 | 2007-07-18 | 株式会社東芝 | Parallel computer with hierarchical structure |
-
2001
- 2001-09-27 JP JP2001298635A patent/JP3793062B2/en not_active Expired - Fee Related
-
2002
- 2002-09-12 US US10/241,458 patent/US7035982B2/en not_active Expired - Fee Related
-
2006
- 2006-03-14 US US11/374,048 patent/US7237072B2/en not_active Expired - Fee Related
-
2007
- 2007-06-07 US US11/759,330 patent/US20070233975A1/en not_active Abandoned
- 2007-06-07 US US11/759,338 patent/US7546425B2/en not_active Expired - Fee Related
- 2007-06-07 US US11/759,324 patent/US20070229507A1/en not_active Abandoned
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3343140A (en) * | 1964-10-27 | 1967-09-19 | Hughes Aircraft Co | Banked memory system |
US4949244A (en) * | 1987-02-18 | 1990-08-14 | Hitachi, Ltd. | Storage system |
US5070444A (en) * | 1987-02-18 | 1991-12-03 | Hitachi, Ltd. | Storage system |
US5363500A (en) * | 1990-01-25 | 1994-11-08 | Seiko Epson Corporation | System for improving access time to video display data using shadow memory sized differently from a display memory |
US6370558B1 (en) * | 1993-11-30 | 2002-04-09 | Texas Instruments Incorporated | Long instruction word controlling plural independent processor operations |
US6327681B1 (en) * | 1996-03-21 | 2001-12-04 | Hitachi, Ltd. | Data processor with built-in DRAM |
US6393520B2 (en) * | 1997-04-17 | 2002-05-21 | Matsushita Electric Industrial Co., Ltd. | Data processor and data processing system with internal memories |
US6099417A (en) * | 1997-08-14 | 2000-08-08 | The Little Tikes Company | Apparatus for tossing or teeing a ball |
US6202137B1 (en) * | 1997-09-18 | 2001-03-13 | Intel Corporation | Method and apparatus of arbitrating requests to a multi-banked memory using bank selects |
US6675267B2 (en) * | 1998-01-30 | 2004-01-06 | Stmicroelectronics Limited | Shared memory access by multiple controllers having different bus widths |
US6473841B1 (en) * | 1998-10-20 | 2002-10-29 | Matsushita Electric Industrial Co., Ltd. | Signal processing apparatus with memory access history storage |
US6587110B1 (en) * | 1999-02-03 | 2003-07-01 | Kabushiki Kaisha Toshiba | Image processing unit, image processing system using the same, and image processing method |
US6704018B1 (en) * | 1999-10-15 | 2004-03-09 | Kabushiki Kaisha Toshiba | Graphic computing apparatus |
US20020083311A1 (en) * | 2000-12-27 | 2002-06-27 | Paver Nigel C. | Method and computer program for single instruction multiple data management |
US6587917B2 (en) * | 2001-05-29 | 2003-07-01 | Agilent Technologies, Inc. | Memory architecture for supporting concurrent access of different types |
US20030177288A1 (en) * | 2002-03-07 | 2003-09-18 | Kabushiki Kaisha Toshiba | Multiprocessor system |
US20030200422A1 (en) * | 2002-04-19 | 2003-10-23 | Semiconductor Technology Academic Research Center | Parallel processor |
US6809422B2 (en) * | 2003-03-12 | 2004-10-26 | Kabushiki Kaisha Toshiba | One-chip image processing apparatus |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087350A1 (en) * | 2009-10-08 | 2011-04-14 | 3D M.T.P. Ltd | Methods and system for enabling printing three-dimensional object models |
US8175734B2 (en) | 2009-10-08 | 2012-05-08 | 3D M. T. P. Ltd. | Methods and system for enabling printing three-dimensional object models |
Also Published As
Publication number | Publication date |
---|---|
US7237072B2 (en) | 2007-06-26 |
JP3793062B2 (en) | 2006-07-05 |
US20060155906A1 (en) | 2006-07-13 |
US7035982B2 (en) | 2006-04-25 |
US7546425B2 (en) | 2009-06-09 |
US20070233976A1 (en) | 2007-10-04 |
US20070229507A1 (en) | 2007-10-04 |
JP2003108437A (en) | 2003-04-11 |
US20030061455A1 (en) | 2003-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7477260B1 (en) | On-the-fly reordering of multi-cycle data transfers | |
JP4691493B2 (en) | Adaptive load balancing for multiprocessor graphics processing systems | |
JP2637931B2 (en) | Computer system for texture mapping | |
CN101124613B (en) | Graphic processing sub system and method with increased scalability in the fragment shading pipeline | |
US7546425B2 (en) | Data processor with a built-in memory | |
US6762763B1 (en) | Computer system having a distributed texture memory architecture | |
US8169441B2 (en) | Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video | |
US5757374A (en) | Method and apparatus for performing texture mapping | |
JPH10116355A (en) | Three-dimensional graphics accelerator provided with direct data channel for improving performance | |
US7664922B2 (en) | Data transfer arbitration apparatus and data transfer arbitration method | |
JPH10177659A (en) | Three-dimensional graphic accelerator for executing multilogic bus while using improved common data line for bus communication | |
JP2007512613A (en) | Method and system for multiple 3-D graphic pipelines on a PC bus | |
US20040189650A1 (en) | Accelerator control unit configured to manage multiple hardware contexts | |
EP0676720B1 (en) | Image generation apparatus | |
JPWO2003009125A1 (en) | Arithmetic device and image processing device | |
EP2204740A1 (en) | Memory management process and apparatus for the same | |
EP1195719A2 (en) | Rendering memory in a volume rendering system | |
US7489315B1 (en) | Pixel stream assembly for raster operations | |
JP4264529B2 (en) | Image processing apparatus and method | |
JP4264530B2 (en) | Image processing apparatus and method | |
US6563507B1 (en) | Storage circuit control device and graphic computation device | |
EP1308899A2 (en) | Image processing apparatus | |
JP4186561B2 (en) | Image processing apparatus and method | |
US6476818B1 (en) | Storage circuit control device and graphic computation device | |
US6985153B2 (en) | Sample request mechanism for supplying a filtering engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |