US2014176587A1PendingUtilityA1

Electronic system and method for selectively allowing access to a shared memory

Assignee: ST MICROELECTRONICS INCPriority: Aug 26, 1996Filed: Mar 3, 2014Published: Jun 26, 2014
Est. expiryAug 26, 2016(expired)· nominal 20-yr term from priority
G06F 13/1605H04N 19/61G09G 5/001G09G 2360/18H04N 19/427G06F 15/167G09G 5/363G06F 13/18H04N 19/423H04N 21/4435H04N 21/443G09G 2340/02G06T 1/60
60
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An electronic system, an integrated circuit and a method for display are disclosed. The electronic system contains a first device, a memory and a video/audio compression/decompression device such as a decoder/encoder. The electronic system is configured to allow the first device and the video/audio compression/decompression device to share the memory. The electronic system may be included in a computer in which case the memory is a main memory. Memory access is accomplished by one or more memory interfaces, direct coupling of the memory to a bus, or direct coupling of the first device and decoder/encoder to a bus. An arbiter selectively provides access for the first device and/or the decoder/encoder to the memory based on priority. The arbiter may be monolithically integrated into a memory interface. The decoder may be a video decoder configured to comply with the MPEG-2 standard. The memory may store predicted images obtained from a preceding image.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A computing device method, comprising:
 configuring a main memory bus to pass data at a rate sufficient to operate at least two devices without either of the at least two devices starving for lack of data;   generating first main memory requests with a first processing unit;   passing the first main memory requests to a shared main memory through a first main memory interface and over the main memory bus;   generating second main memory requests with a decoder/encoder;   passing the second main memory requests to the shared main memory through a second main memory interface and over the main memory bus;   receiving the first and second main memory requests from the first processing unit and the decoder/encoder respectively with an arbiter;   arbitrating access to the shared main memory with the arbiter   retrieving software instructions from the shared main memory, the software instructions passed over the main memory bus in real time;   executing the software instructions with the first processing unit;   passing, in real time, video data between the decoder/encoder and the shared main memory over the main memory bus; and   operating the decoder/encoder on the video data.   
     
     
         2 . The computing device method according to  claim 1  wherein configuring the main memory bus to pass data at a rate sufficient to operate at least two devices without either of the at least two devices starving for lack of data includes configuring the main memory bus with a bandwidth at least two times greater than an amount of data carried to the decoder/encoder when the decoder/encoder is operating in real time. 
     
     
         3 . The computing device method according to  claim 2  wherein the main memory bus is configured to carry up to 400 Mbytes/s. 
     
     
         4 . The computing device method according to  claim 1  wherein executing the software instructions with the first processing unit includes directing operations of the decoder/encoder. 
     
     
         5 . The computing device method according to  claim 1 , comprising:
 generating third main memory requests with a refresh logic unit;   passing the third main memory requests to the shared main memory over the main memory bus; and   receiving the third main memory requests from the refresh logic unit with the arbiter.   
     
     
         6 . The computing device method according to  claim 1 , comprising:
 granting, via the arbiter, access to the shared main memory to the decoder/encoder in a first time interval; and   granting, via the arbiter, access to the shared main memory to the first processing unit in a second time interval.   
     
     
         7 . The computing device method according to  claim 6 , comprising:
 determining a priority of access to the shared main memory for the decoder/encoder with a direct memory access (DMA) engine.   
     
     
         8 . The computing device method according to  claim 6 , comprising:
 determining a burst length of access to the shared main memory for the decoder/encoder with a direct memory access (DMA) engine.   
     
     
         9 . The computing device method according to  claim 6 , comprising:
 determining a priority of access to the shared main memory for the first processing unit with a direct memory access (DMA) engine.   
     
     
         10 . The computing device method according to  claim 6 , comprising:
 determining a burst length of access to the shared main memory for the first processing unit with a direct memory access (DMA) engine.   
     
     
         11 . The computing device method according to  claim 1 , wherein arbitrating access to the shared main memory comprises:
 operating a state machine with at least three states, a first idle state indicating that no devices are accessing the shared main memory, a second busy state indicating one device is accessing the shared main memory, and a third queue state indicating that the one device is accessing the shared main memory and at least one other device is waiting to access the shared main memory.   
     
     
         12 . The computing device method according to  claim 1 , comprising:
 preventing the decoder/encoder from receiving consecutive accesses to the shared main memory when the first processing unit is waiting to access the shared main memory.   
     
     
         13 . The computing device method according to  claim 1 , comprising:
 preventing the first processing unit from receiving consecutive accesses to the shared main memory when the decoder/encoder is waiting to access the shared main memory.   
     
     
         14 . The computing device method according to  claim 1 , comprising:
 raising priority of the first processing unit to access the shared main memory when the first processing unit is waiting to access the shared main memory.   
     
     
         15 . The computing device method according to  claim 14  wherein raising priority of the first processing unit to access the shared main memory is based on a length of time a first main memory request is in a queue. 
     
     
         16 . The computing device method according to  claim 1 , comprising:
 raising priority of the decoder/encoder to access the shared main memory when the decoder/encoder is waiting to access the shared main memory.   
     
     
         17 . The computing device method according to  claim 16  wherein raising priority of the decoder/encoder to access the shared main memory is based on a length of time a second main memory request is in a queue. 
     
     
         18 . The computing device method according to  claim 1 , comprising:
 preempting first processing unit access to the shared main memory when the decoder/encoder is waiting to access the shared main memory.   
     
     
         19 . The computing device method according to  claim 1 , comprising:
 preempting decoder/encoder access to the shared main memory when the first processing unit is waiting to access the shared main memory.   
     
     
         20 . The computing device method according to  claim 1 , wherein executing the software instructions comprises:
 executing at least one two-dimensional (2D) graphics accelerator software instructions or at least one three-dimensional (3D) graphics accelerator software instructions.

Join the waitlist — get patent alerts

Track US2014176587A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.