This application calims the benefit of priority under 35 U.S.C. § 119 to Japanese Patent Application No. 2004-143629, filed on May 13, 2004, the entire disclosure of which is herein expressly incorporated by reference.
The present invention relates to a system LSI and a data processing system constructed using the LSI, particularly to a system LSI and a data processing system based on a memory access method with which both CPU processing and data processing such as image processing are operated.
One of the prior arts concerning the memory access method is a technique for putting the main storage and image memory into one integrated memory as disclosed in Japanese Patent Laid-Open Announcement No. Hei 11-510620 (1999). This is called as unified memory. A similar construction is disclosed also in U.S. Pat. No. 5,790,138.
In the description hereunder, the unified memory refers to a physically single storage device that can possess inside both an area CPU (command processing section) accesses and an area other units (including display control section) for data processing purpose such as image processing.
Since the main storage and image memory need not be distinguished in case of a unified memory constructed as above, it produces merits that the size of external memory connected to the LSI can be decreased and that the number of signal pins of the LSI for connecting the main storage and image memory can be deducted. While the unified memory construction produces merits as above, it also leads to a demerit that the performance of the main storage access and image memory access may possibly deteriorate, that is, the system performance may possibly drop because the main storage access and image memory access get to compete with each other.
Japanese Patent Laid-Open No. 2002-73526 discloses a memory access method for the unified memory construction aiming to control the system performance drop. In this memory access method, the interface between LSI and integrated memory is provided separately from the interface between the LSI and input/output devices so as to control the system performance drop.
A data processing system that is constructed using a system LSI and required to perform both CPU processing and data processing such as image processing includes, for example, a car navigation system. In a car navigation system, there arises two cases depending upon the operating status of the system: one where particularly the main storage performance needs to improve and the other where particularly the access performance of image memory needs to improve. For example, the case where the main storage access performance needs to improve is a case where voice recognition is processed by the CPU and where the map data stored in a storage device such as hard disk drive is developed on the main memory and route searching is performed by the CPU. The case where the image memory access performance needs to improve is a case where the number of display planes to be superposed by a display function is large or where multiple displays are controlled by one car navigation system.
In case of a conventional system LSI and a data processing system using the LSI, wherein the unified memory construction as above is employed, there arises a problem that the main storage access by the CPU gets to compete with the image memory access by other units and consequently the performance may possibly deteriorate. In addition, it is difficult to adjust the CPU performance, i.e. main storage access performance and data processing performance, i.e. image memory access performance.
The present invention has been made in view of the above problems and an object of the invention is to offer a system LSI employing the unified memory construction that can eliminate the performance drop due to the competition between the main storage access and image memory access and adjust the memory access performance including the main storage access performance and image memory access performance and a data processing unit constructed using the system LSI that can perform data processing efficiently.
Of the inventions disclosed in this application, representative ones are briefly summarized as follows:
In order to achieve the above object, the system LSI of the invention is equipped with a memory access control means having a unified memory interface with which at least two lines of unified memories can be connected so as to adjust the memory access performance including the main storage access performance and image memory access performance. This memory access control means is a means for controlling the access by a command processing (CPU) and other units such as display control section to the at-least two lines of unified memories.
The system LSI of the invention comprises a command processing section, display control section (display control circuit), and memory access control means (MCU) which at least two physically different storage devices (unified memories) can be connected with and controls the access to the storage devices; employing a so-called unified memory construction wherein the storage area of the storage devices can have an area to be accessed by the command processing section and an area to be accessed by the display control section. In addition, in this system LSI, the area to be accessed by the command processing section for main storage purpose and the area to be accessed by the display control section for display purpose (for image memory purpose) are utilized separately based on the purpose of the access to the at-least two storage devices via the memory access control means.
Memories are utilized separately as follows, for example. In case the CPU performance needs to be given the priority, the area to be accessed for main storage is secured in one unified memory, and in case the display performance needs to be given the priority, area to be accessed for main storage is not secured but instead the area to be accessed for display is secured in each unified memory.
In the above system LSI of the invention, the display control section has a function of controlling multiple image planes and has a means for specifying which of the storage device to access for each of the image planes. That is, disposition of data of the multiple image planes into the storage device and area therein is specified independently.
In the above system LSI of the invention, the function of the display control section for controlling multiple image planes is a function of superposing the multiple image planes as a display plane,, and which area of the storage device to access is specified for each of the image planes.
In the above system LSI of the invention, the display control section has a register for specifying where to access for each of the image planes, and makes an access for each of the image planes in accordance with the setting in the register.
In addition, the system LSI of the invention comprises a command processing section, image input section (video input circuit), and memory access control means which at least two physically different storage devices (unified memories) can be connected with and controls the access to the storage devices; the storage area of the storage devices can have an area to be accessed by the command processing section and an area to be accessed by the image input section; and the area to be accessed by the command processing section for main storage purpose and the area to be accessed by the image input section for image input purpose are utilized separately based on the purpose of the access to the at-least two storage devices via the memory access control means.
In addition, the system LSI of the invention comprises a command processing section, voice processing section, and memory access control means which at least two physically different storage devices (unified memories) can be connected with and controls the access to the storage devices; the storage area of the storage devices can have an area to be accessed by the command processing section and an area to be accessed by the voice processing section; and the area to be accessed by the command processing section for main storage purpose and the area to be accessed by the voice processing section for voice processing purpose are utilized separately based on the purpose of the access to the at-least two storage devices via the memory access control means.
In the above system LSI of the invention, the method of memory access employed is such that the access to the at-least two storage devices can be specified using address. For example, it the specific bit of the address is “1”, the first unified memory is to be accessed, and if it is “0”, the second unified memory is to be accessed.
In the above system LSI of the invention, the method of memory access employed is such that the access to the at-least two storage devices can be specified using register.
In addition, a data processing system of the invention comprises the above system LSI, at least two physically different storage devices (unified memories) connected with the system LSI, and external devices; and the system LSI utilizes separately the area to be accessed by the command processing section and the area to be accessed by the display control section based on the purpose of the access to the at-least two storage devices, including the access by the external devices, and in accordance with the operating status of the system.
The purpose of the multiple unified memories is set, for example, as “mainly for display purpose”, “mainly for main storage purpose” or “all for display purpose” depending upon the performance that needs to be given the priority. Then, the purposes of the unified memories are utilized properly using software in accordance with the operations status of the data processing system.
Similarly, the data processing system of the invention is equipped with an image input section (video input circuit) and voice processing section and it is possible to specify which one of the at-least two storage devices (unified memories) shall be accessed for data processing by the image input section and voice processing section.
The effects that can be produced by representative ones of the inventions disclosed in this application are explained briefly hereunder.
With the system LSI and data processing system of the present invention, the memory access performance can be adjusted so as to give the priority on the CPU performance to lower the latency of the main storage access or give the priority on the data processing performance (display performance) for lowering the latency of the access for data processing purpose in accordance with the operating status of the system, and accordingly there is produced an advantage that the system performance can improve.
In addition, when the system LSI of the present invention is applied to a data processing system such as car navigation system, if the car navigation system is constructed by employing only one of the multiple unified memory interfaces and connecting with a single unified memory, a low-cost car navigation system can be constructed. Furthermore, when a car navigation system having higher performance is needed, such system can be constructed by employing two or more unified memory interfaces and connecting with two or more lines of the unified memories.
By providing the system LSI with at-least two unified memory interfaces as described above, multiple data processing systems of different performance can easily be constructed using only one system LSI. Since the same system LSI is applicable to multiple data processing systems of different performance, it becomes no longer necessary to develop a suitable system LSI individually, which is an effect of the invention.
Other objects, advantages and novel features of the present invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings.
Preferred embodiments of the present invention are described hereunder in detail, using figures. In all figures used for describing the preferred embodiments, same symbol is given to the same part/component as a principle and no repeated description is made.
A system LSI according to a preferred embodiment of the present invention and a data processing system employing the system LSI are described hereunder. This embodiment, employing a unified memory connected to the system LSI, achieves an object that the accesses to the unified memory can be arbitrated, that is, the main storage access performance of the CPU and data processing access performance of other unit, such as for image processing, can be adjusted in accordance with the operating status of the data processing system.
The main body 115 is a car navigation system unit including the system LSI according to the embodiment of the invention, two lines of unified memories connected thereto, and external devices. Each of the camera 107, liquid crystal display 108, speakers 109, 110, storage device 111, mobile phone 112, and remote controller receiver 113 is connected to the main body 115 by each signal line 101 to 106.
The camera 107 sends video picture taken by the camera to the main unit 115. The liquid crystal display 108 displays image based on the image signal outputted from the main unit 115. The speakers 109, 110 output voice based on the voice signal outputted from the main unit 115. The main unit 115 reads map data and voice guidance data from the storage device 111. The main unit 115 communicates with the outside by the mobile phone 112. User gives an instruction to the car navigation system unit 115 via the remote controller 114 and the instruction is received by the remote controller receiver 113 and transmitted to the main unit 115.
The system LSI 211 according to this embodiment is constructed as a system LSI comprising two unified memory interfaces through which two lines of unified memories can be connected. The data processing system according to this embodiment is constructed as a system where two unified memory A210 and unified memory B212 are connected with the two unified memory interfaces. In the description hereunder where the two unified memories A and B need not be particularly distinguished from each other, they are called as “unified memories A and B”.
In
The video input circuit 202 receives a video input signal from the camera 107 via the signal line 101, captures the outside image in a buffer contained in the video input circuit 202, and then writes it periodically into the image memory area in the unified memories A and B via the first bus 213-1, 213-2 and MCU 205.
The display control circuit 203 outputs a signal for display to the external liquid crystal display 108 via the signal line 102 and reads data necessary for display from the image area of the unified memories A and B via the first bus 213-1, 213-2 and MCU 205.
The voice processing circuit 204 outputs a voice signal necessary for driving the speakers 109, 110 via the signal line 103 and reads data necessary for voice output from the area of the unified memories A and B via the first bus 213-1, 213-2 and MCU 205.
The memory controller 205 is a memory access control means equipped with interfaces for the two lines of the unified memories A/B. It receives a READ or WRITE access signal from the CPU 201, display control circuit 203 and other unit via the first bus 213-1, 213-2 and controls the unified memories A and B. Detailed construction of the memory controller 205 will be shown later, using
The arbitration circuit 220 arbitrates the accesses that compete with each other on the first bus 213-1, 213-2 and second bus 222-1, 222-2 in accordance with the preset priority. Detailed construction of the arbitration circuit 220 will be shown later, using
The external CPU 206, SRAM 207, peripheral interface 209, flash memory 208 and arbitration circuit 221 are connected with the third bus 214-1, 214-2 outside the system LSI 211.
The external CPU 206, which is a CPU located outside the system LSI 211, can access the unified memories A and B via the third bus 214-1, 214-2 and first bus 213-1, 213-2. The SRAM 207, which is accessed by the external CPU 206, is a memory for storing the data from the system LSI 211 temporarily. Since the SRAM 207 is backed up by a battery, not shown, data in the SRAM 207 can be retained by the battery even when the main power supply to the car navigation system fails.
The peripheral interface 209 is connected with the storage device 111, mobile phone 112 and remote controller receiver 113 via the signal lines 104, 105, 106. The flash memory 208 is a memory for storing information such as a searched route data on a map that needs to be stored even after the power is turned off.
The arbitration circuit 221 arbitrates the accesses that compete with each other on the third bus 214-1, 214-2 in accordance with the preset priority. The DMAC 225 enables the SRAM 207, peripheral I/F 209 and flash memory 208 connected with the third bus 214-1, 214-2 to access the first bus 213-1, 213-2 or second bus 222-1, 222-1. The DMAC 225 is connected with the third bus 214-1, 214-2.
In the system LSI 211, the arbitration circuit 220 receives a NMI signal (non-maskable interrupt signal) from the power monitor circuit 224. The graphic device 223 reads a command string called a display list, stored in the unified memories A and B, executes a graphic operation while outputting an interim result to the unified memories A/B, and outputs the final graphic data to the unified memories A and B.
Each of the CPU 201, video input circuit 202, display control circuit 203, arbitration circuit 220, graphic device 223, memory controller 205, voice processing circuit 204, all connected with the first bus 213-2, 213-2, and third bus 214-1, 214-2 is connected with the second bus 222-1, 222-2. The third bus 214-1, 214-2 and second bus 222-1, 222-2 are connected with each other via the bus bridge 226, and so are the third bus 214-1, 214-2 and first bus 213-1, 213-2.
In this embodiment, each unified memory A and unified memory B is constructed as a SDRAM (synchronous DRAM). The memory bus of the SDRAM operates in synchronism with a clock frequency of a specified cycle.
Since the memory access by the video input circuit 202 and display control circuit 203 to the unified memories A and B needs to be real-time, the access is so operated that no page error is caused in the unified memory SDRAM, during a single transaction. Single transaction means an access for filling a buffer in the video input circuit 202 or display control circuit 203.
Although the memory access by the voice processing circuit 204 also needs to be real-time, page error caused in the SDRAM is allowable because the required real time is not so strict as for the video input circuit 202 and display control circuit 203. Accordingly, this system LSI and data processing system of this embodiment allow page error.
The system LSI 211 has the MCU 205 that is a memory access control means equipped with the unified memory interfaces with which at least two lines of unified memories A210, B212. The storage area in the unified memories A and B can have both the area to be accessed by the CPU 201 and the area to be accessed by the display control circuit 203. In the main unit 115 of the data processing system, based on the purpose of an access to the at-least two unified memories A and B via the MCU 205, an area to be accessed mainly by the CPU 201 for main storage purpose and an area to be accessed mainly by the display control circuit 203 for display purpose are utilized separately. In accordance with the operating status of the data processing unit, the utilization of each unified memory is set, for example, as “mainly for main storage access” and “mainly for display access” by software so as to adjust the memory access performance. In addition, the system is equipped with a means for independently specifying the unified memory and area to be accessed for every display plane controlled by the display control circuit 203.
Each 302, 303 and 304 in the left of
When a human sees the display screen comprising superposed multiple display planes 302 to 304 from the view point 301, he sees a screen like 309 in the right of
The present invention has a means for specifying the access to the unified memories A and B for every one of the multiple image planes. That is to say, it is possible to specify to which one of the multiple unified memories and in which area in the memory each of multiple image planes should be disposed. An example will be described later.
Although multiple image planes are superposed by the display control circuit 203 in this embodiment, the present invention is applicable to a case where a screen if an excessive display size is divided into multiple images for the ease of processing or where multiple displays are controlled by a single car navigation system.
A case with the priority on the CPU performance means that the priority is required to be put on the CPU 201 performance, that is, the reduction of latency of the main storage access for the CPU 201 rather than on the display performance such as greater number of display planes and wider display area for the display unit 108 connected with the display control circuit 203. On the other hand, a case with the priority on the display performance means that the priority is required to be put on the display performance such as greater number of display planes and wider display area for the display unit 108 rather than on the CPU 201 performance.
In this embodiment, the method of specifying the address for an access to the unified memories A/B is such that the disposition of the superposed display planes on the display unit 108 is determined by specifying the display start address in a register (203-1 in
In this embodiment, which memory area to access, unified memory A or unified memory B, shall be judged by whether the specific bit of the address is “1” or not. In other embodiment, it is also possible to specify which to access, unified memory A or unified memory B, by utilizing each register contained in the display control circuit 203 and video input circuit 202.
In
In
In this system LSI and data processing system, as shown in
Although every three image planes to be superposed and displayed are disposed in the unified memories A and B in this embodiment, but other various embodiments are also available. For example, where more unified memories are connected, it is possible to dispose each image plane to be displayed in individual unified memory.
The signal line 604 is connected with the first SDRAM control circuit 607, and the signal line 605 is connected with the second SDRAM control circuit 608.
When the specific bit of the access signal from the first bus 213-1, 123-2 is “1”, the logic circuit 602 outputs the access signal from the first bus 213-1, 123-2 to the signal line 604. When the specific bit of the access signal from the first bus 213-1, 213-2 is “0”, the logic circuit 603 outputs the access signal from the first bus 213-1, 213-2 to the signal line 605.
The access monitor circuit 606 monitors accesses to the unified memory A and unified memory B, monitoring the accesses between the unified memories A and B where an access to the unified memory A is begun first in a single transaction and then access to the unified memory B follows or an access to the unified memory B is begun first and then access to the unified memory A follows.
In this invention, it is important to determine for what main purpose the unified memory A and unified memory B shall be utilized, that is, whether the priority is put on the CPU performance or on the display performance based on the condition of the system. Because of the above, if an access in a single transaction is to access both the unified memory A and unified memory B, this condition is recorded as an error. A register is contained in the access monitor circuit 606 and the above error is recorded there. An interruption signal, although not shown, is connected from the access monitor circuit 606 to the CPU 201, and an error is reported to the CPU 201 in case of interruption.
The first SDRAM control circuit 607 and second SDRAM control circuit 608 are connected with the unified memory A 210 and unified memory B 212, respectively. Each SDRAM control circuits 607 and 608 are a control circuit that issues a command to its corresponding unified memory SDRAM. In addition, each SDRAM control circuits 607 and 608 have a setting register (not shown) for setting the bit width (bus width) of the unified memories A and B, respectively, and so the system can be constructed using different width between the unified memories A and B or the same width. In addition, since each SDRAM control circuits 607 and 608 are independent, it is possible to construct a system using either one of the unified memories A and B.
In
Generally speaking, display access is an access required of real time, and if real time is not available for the display access, there happens a problem that display goes out of order. Because the CPU request is kept waiting by the accesses “DU1 to DU3”, the CPU performance becomes worse than in a case where no waiting has been caused due to competition. In a system of a prior art that is equipped with only one unified memory, such condition as the accesses to the unified memory A as shown in
On the other hand,
By comparing
Immediately after the display access “DU1” is made to the unified memory A, requests “DU2 to 6req” for the display accesses “DU2 to DU6” are made simultaneously. After the access of the display access “DU1” has completed, the display accesses “DU2” to “DU6” are executed one after another. Since display access is required of real time, display goes out of order if the access has not completed within a specified time limit. This embodiment is problematic because the display access “DU6” has not completed before the “DU6 display time limit” in
In
In the car navigation system that is a data processing system according to this embodiment, if main storage performance such as route search or voice recognition by the CPU operation is required, memories are arranged as shown in
In the car navigation system that is a data processing system according to this embodiment, if the display performance (data processing performance) such as an increase of the number of superposed display planes, for example, up to six is required, memories are arranged as shown in
Although the above description takes image memory access by the display control circuit 203 as an example to explain a case where the data processing performance is given the priority, the same applies to the unified memory access for data processing by other units like the video input circuit 202 and voice processing circuit 204. In this embodiment, similarly as in the case of the display control circuit 203, it is possible to specify to which one of the unified memories A/B and in which area in the memory should be accessed for data processing by the video input circuit 202 and voice processing circuit 204
In case of a construction where the unified memory access is made by the video input circuit 202, an image input section, the storage area in each unified memories A and B can have both the area to be accessed by the CPU 201 and the area to be accessed by the video input circuit 202, and based on the purpose of an access to the at-least two unified memories A and B via the MCU 205, a memory access control means, an area to be accessed mainly by the CPU 201 for main storage purpose and an area to be accessed mainly by the video input circuit 202 for image input purpose are utilized separately.
In case of a construction where the unified memory access is made by the voice processing circuit 204, the storage area in each unified memories A and B in the system LSI 211 can have both the area to be accessed by the CPU 201 and the area to be accessed by the voice processing circuit 204, and based on the purpose of an access to the at-least two unified memories A and B via the MCU 205, a memory access control means, an area to be accessed mainly by the CPU 201 for main storage purpose and an area to be accessed mainly by the voice processing circuit 204 for voice processing purpose are utilized separately.
Of these levels in the system LSI of this embodiment, the access priority setting can be altered only at Level 2 and Level 3. The access priority has been set in the priority setting registers 1503 and 1506 in the arbitration circuit 220.
The SDRAM control 901 is allocated to Level 0. It is the control such as refreshing the SDRAM to be executed by the memory controller 205.
Level 1 includes the display device access (DU) 902, video input access (VIN) 903, and voice access 904. The priority of the display device access 902, video input device 903 and voice access 904 in Level 1 is determined by round robin. The display device access 902 corresponds to the access by the display control circuit 203. The video input access 903 corresponds to the access by the video input circuit 202. The voice access 904 corresponds to the access by the voice processing circuit 204.
In this example, no device is set at Level 2. A device shown in dotted line means the device has not been set at the level in question. At Level 3, the CPU access 905, external device access 906, and graphic device access 907 are set. The priority of the CPU access 905, external device access 906, and graphic device access 907 in Level 3 is determined by round robin. The CPU access 905 corresponds to the access by the CPU 201. The external device access 906 corresponds to the access by each device connected with the third bus 214-1, 214-2. The graphic device access 907 corresponds to the access by the graphic device 223.
In
At Level 3, the graphic device access 1007 and external device access 1006 are set for the unified memory A and the CPU access 1015 and external device access 1016 are set for the unified memory B.
In
The arbitration circuit 220 is described hereunder, using
The second bus arbitration circuit 1502 receives a request signal of each device from the second bus 222-1, 222-2 and determines the access priority according to the setting in the priority setting register 1506. In addition, if an NMI signal from the power monitor circuit 224 is received, the second bus arbitration circuit 1502 masks the request by a specified device from the second bus 222-1, 222-2 according to the setting in the on-NMI request mask setting register 1504 and arbitrates the request.
The first bus arbitration circuit 1501 receives a request signal of each device from the first bus 213-1, 213-2 and determines the access priority according to the setting in the priority setting register 1503. In addition, if an NMI signal from the power monitor circuit 224 is received, the first bus arbitration circuit 1501 masks the request by a specified device from the first bus 213-1, 213-2 according to the setting in the on-NMI request mask setting register 1504 and arbitrates the request.
The Level 1 continuation times setting register 1508 is a register for setting how many times of the access, which is given the priority at Level 1 by the priority setting as shown in
The default setting of both Level 1 continuous times setting registers 1507 and 1508 is “0” upon powering on, and this register value being set to “0” means “the bus can be occupied continuously without limitation of times so far as a request at Level 1 continues”. If the Level 1 continuation times setting register 1507 is set to “3” for example, it means “if the access by a device at Level 1 continues three times, a device at Level 2 can attain a bus right without fail (if a request at Level 2 is made)”. By utilizing the Level 1 continuous times setting registers 1507 and 1508 effectively, more flexible adjustment of the system performance becomes available.
As explained above, with a construction equipped with at least two lines of unified memories that can be connected with the system LSI 211, a separate purpose such as “mainly for display”, “mainly for main storage” or “all for display” is set to each line of the unified memories A and B based on the performance that needs to be given the priority. Then, the unified memories A and B are utilized separately by software based on the purpose and in accordance with the operating status of the data processing system. By controlling the separate utilization of the unified memories, the system performance can be well adjusted, for example, so as to give the priority to the CPU performance and data processing performance such as display processing performance. In addition, by constructing a car navigation system employing the system LSI 211, system cost and performance requirement become adjustable.
The system LSI 211 is equipped with at least two lines of unified memory interfaces corresponding to the number of connectable unified memories. If only one of the lines is employed in constructing a car navigation system, the system cost can be lowered. In this case, the performance of the system is expected to be equivalent to a unified memory system according to a conventional technique. If the performance of the whole system needs to be adjusted depending upon the operating status of the car navigation system, this adjustment can be made by connecting a memory such as SDRAM to each of the two lines of unified memory interfaces.
As explained above, only one system LSI 211 is applicable to different car navigation systems, that is, car navigation products from low cost to high end. Since only one system LSI 211 is applicable to multiple data processing system products, production volume of the system LSI 211 increases and the unit const of the system LSI 211 decreases due to mass-production. Consequently, the present invention contributes to lowering the cost of the data processing system products such as car navigation systems.
The invention made by the inventor has been described as above in terms of preferred embodiments, but it is needless to say that the present invention is not limited to the afore-mentioned embodiments but is modifiable so far as their intent is not lost.
The system LSI and data processing system of the present invention is applicable to a multi-media processing system such as car navigation system or telematics system in which the main storage access by the CPU and data processing access for displaying are both performed and accordingly merits of the invention can be enjoyed by adjusting the memory access performance.
The foregoing disclosure has been set forth merely to illustrate the invention and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the spirit and substance of the invention may occur to persons skilled in the art, the invention should be construed to include everything within the scope of the appended claims and equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
2004-143629 | May 2004 | JP | national |