Data processor having unified memory architecture providing priority memory access
First Claim
Patent Images
1. A data processor comprising:
- a CPU;
a main memory including a portion of said main memory that is used as a frame buffer for storing display data; and
a display controller for controlling display of display data on a display unit using the display data stored in said frame buffer;
a memory controller connected to said main memory via a memory bus, said CPU via a CPU bus, and said display controller via a local bus, for relaying a memory access sequence of said CPU to said main memory between said CPU bus and said memory bus, and for relaying a memory access sequence of said display controller to said main memory between said local bus and said memory bus;
said memory controller, in order to provide priority to the memory access sequence of said CPU every time, including means for suspending execution of the memory access sequence of said display controller to said main memory, when the memory access sequence of said CPU to said main memory starts on said CPU bus during relaying of the memory access sequence of said display controller to said memory bus;
said memory controller including means for resuming the execution of the memory access sequence of said display controller to said main memory after the memory access sequence of the CPU to said main memory ends, and for executing the unexecuted portion of said memory access sequence; and
said memory controller including a buffer for storing data output from said main memory onto said memory bus for the memory access sequence of said display controller to said main memory when execution is suspended, and then outputting the data stored in said buffer to said display controller when the memory access sequence of said display controller is resumed, wherein a difference between a throughput of said memory bus and a throughput of said CPU bus is greater than a reading rate of said display controller for reading data from said main memory.
6 Assignments
0 Petitions
Accused Products
Abstract
In order to reduce degradation of the processing performance of the data processor due to use of a part of the main memory as a display frame buffer, when an access request to the memory is generated from the CPU, the memory controller holds it once, requests the display controller to stop the access to the memory which is in execution, when data to the access executed already is transferred from the memory, holds it, and transfers the access request from the CPU bus which is held by the memory. When the access from the CPU bus ends, the memory controller restarts the access stopped in the display controller and passes the held data to the display controller.
82 Citations
13 Claims
-
1. A data processor comprising:
-
a CPU;
a main memory including a portion of said main memory that is used as a frame buffer for storing display data; and
a display controller for controlling display of display data on a display unit using the display data stored in said frame buffer;
a memory controller connected to said main memory via a memory bus, said CPU via a CPU bus, and said display controller via a local bus, for relaying a memory access sequence of said CPU to said main memory between said CPU bus and said memory bus, and for relaying a memory access sequence of said display controller to said main memory between said local bus and said memory bus;
said memory controller, in order to provide priority to the memory access sequence of said CPU every time, including means for suspending execution of the memory access sequence of said display controller to said main memory, when the memory access sequence of said CPU to said main memory starts on said CPU bus during relaying of the memory access sequence of said display controller to said memory bus;
said memory controller including means for resuming the execution of the memory access sequence of said display controller to said main memory after the memory access sequence of the CPU to said main memory ends, and for executing the unexecuted portion of said memory access sequence; and
said memory controller including a buffer for storing data output from said main memory onto said memory bus for the memory access sequence of said display controller to said main memory when execution is suspended, and then outputting the data stored in said buffer to said display controller when the memory access sequence of said display controller is resumed, wherein a difference between a throughput of said memory bus and a throughput of said CPU bus is greater than a reading rate of said display controller for reading data from said main memory. - View Dependent Claims (2)
-
-
3. A processor comprising:
-
a CPU;
a main memory including a portion of said main memory that is used as a frame buffer for storing display data; and
a display controller for controlling display of display data on a display unit using the display data stored in said frame buffer;
a memory controller connected to said main memory via a memory bus, said CPU via a CPU bus, and said display controller via a local bus, for relaying a memory access sequence of said CPU to said main memory between said CPU bus and said memory bus, and for relaying a memory access sequence of said display controller to said main memory between said local bus and said memory bus;
said memory controller including means for suspending execution of the memory access sequence of said display controller to said main memory when the memory access sequence of said CPU to said main memory starts on said CPU bus during relaying of said memory access sequence of said display controller to said memory bus;
said memory controller including means for resuming the execution of the memory access sequence of said display controller to said main memory after the memory access sequence of said CPU to said main memory ends, and for executing the unexecuted portion of the memory access sequence;
said memory controller including address storage means for storing an address range of said main memory data in which address ranges are stored in said main memory after compression;
said memory controller including compression means for compressing the data;
said memory controller including recovery means for recovering the compressed data;
said memory controller including means for relaying a memory access sequence for writing, when the memory access sequence of said CPU on said CPU bus to said main memory is a memory access sequence for writing data within the address range registered in said address storage means of the data being compressed by said compression means into said main memory;
said memory controller including means for relaying a memory access sequence for reading, when said memory access sequence of said display controller on said local bus to said main memory is a memory access sequence for reading data from the address range registered in said address storage means of the compressed data stored in said main memory to said memory bus, and further relaying recovered data by said recovery means of the read data from said main memory to said local bus; and
wherein the address range of the main memory data in which are stored after compression is used as a frame buffer and the compression is a compression for selecting two data among three or more data corresponding to three or more pixels as first data and second data and converting the three or more data to said first data, data indicating the difference value between the first data and the second data, and data indicating which of the three or more data is closer to the first data or the second data.
-
-
4. A main controller IC chip for controlling access of a main memory of a CPU comprising:
-
a display controller using a part of a main memory as a frame buffer for storing display data and controlling display of display data;
a memory controller connected to said main memory via a memory bus, to said CPU via a CPU bus, and to said display controller via a local bus, for providing priority memory access to said CPU by relaying a memory access sequence of said CPU to said main memory between said CPU bus and said memory bus, and relaying a memory access sequence of said display controller to said main memory between said local bus and said memory bus;
said memory controller including;
a control circuit for suspending execution of the memory access sequence of said display controller to said main memory when the memory access sequence of said CPU to said main memory starts on said CPU bus during relaying of the memory access sequence of said display controller to said memory bus, for resuming the execution of the memory access sequence of said display controller to said main memory after the memory access sequence of said CPU to said main memory is completed, including executing the unexecuted portion of the memory access sequence; and
a buffer for storing a memory access request from said display controller while the execution of the memory access sequence of said display controller is suspended, the stored accessed request being used to resume execution of the memory access sequence of said display controller, wherein a difference between a throughput of said memory bus and a throughput of said CPU bus is greater than a reading rate of said display controller for reading data from said main memory.
-
-
5. A data processing system comprising:
-
a CPU;
a memory for storing programs and display data;
a memory controller connected to said CPU via a CPU bus and said memory via a memory bus, for providing priority to an access request from said CPU to said memory, said memory controller having a display controller for reading the display data stored in said memory, and a buffer for storing an access request from said display controller to said memory, and execution of the memory access by said display controller in response to an access request from said CPU; and
wherein said display controller resumes execution of the memory access based on the access request stored in said buffer after completion of the memory access from said CPU, and wherein a difference between a throughput of said memory bus and a throughput of said CPU bus is greater than a reading rate of said display controller for reading data from said memory. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A data processing system comprising:
-
a CPU;
a memory for storing programs and display data;
a memory controller connected to said CPU via a CPU bus and to said memory via a memory bus, for providing priority to an access request from said CPU to said memory, said memory controller including a drawing circuit for producing the display data to be stored in said memory, and a buffer for storing an access request from said drawing circuit to said memory and suspending execution of a memory access by said drawing circuit in response to an access request from said CPU; and
wherein said drawing circuit resumes execution of the memory access based on the access request stored in said buffer after completion of the memory access from said CPU, and wherein a difference between a throughput of said memory bus and a throughput of said CPU bus is greater than a reading rate of said drawing circuit for reading data from said memory. - View Dependent Claims (12, 13)
-
Specification