The present application discloses a computing device that can provide a low-power, highly capable computing platform for computational imaging. The computing device can include one or more processing units, for example one or more vector processors and one or more hardware accelerators, an intellige
The present application discloses a computing device that can provide a low-power, highly capable computing platform for computational imaging. The computing device can include one or more processing units, for example one or more vector processors and one or more hardware accelerators, an intelligent memory fabric, a peripheral device, and a power management module. The computing device can communicate with external devices, such as one or more image sensors, an accelerometer, a gyroscope, or any other suitable sensor devices.
대표청구항▼
1. An electronic device comprising: a plurality of vector processors, wherein one of the plurality of vector processors is configured to execute an instruction that operates on a first array of values;a hardware accelerator comprising a programmable datapath pipeline that is programmed using configu
1. An electronic device comprising: a plurality of vector processors, wherein one of the plurality of vector processors is configured to execute an instruction that operates on a first array of values;a hardware accelerator comprising a programmable datapath pipeline that is programmed using configuration information received from a software module, wherein the programmable datapath pipeline is configured to perform a filtering operation on a second array of values in accordance with the configuration information, wherein the hardware accelerator further comprises an output buffer for receiving a scan-line of an image processed by the programmable datapath pipeline, and a pipeline stall controller configured to stall an operation of the programmable datapath pipeline when the output buffer is full;a memory fabric comprising a plurality of memory slices; anda host processor configured to cause the memory fabric to provide the first array of values to the one of the plurality of vector processors and to provide the second array of values to the hardware accelerator, wherein the one of the plurality of vector processors is configured to process the first array of values in accordance with the instruction, and wherein the hardware accelerator is configured to process the second array of values in accordance with the configuration information. 2. The electronic device of claim 1, wherein the hardware accelerator comprises a plurality of functional units that are chained together to perform the filtering operation. 3. The electronic device of claim 2, wherein an order in which the plurality of functional units is chained together is determined using the configuration information received from the software module. 4. The electronic device of claim 3, wherein an output of a first of the plurality of functional units is provided to a first buffer in the memory fabric, and an input of a second of the plurality of functional units is received from the first buffer. 5. The electronic device of claim 1, wherein the hardware accelerator further comprises a depth map client that is configured to receive depth information that is indicative of a depth of an object represented by a pixel in the scan-line of the image. 6. The electronic device of claim 5, wherein the hardware accelerator further comprises a depth map module that is configured to process the depth information to match a resolution of the depth information to a resolution of the scan-line of the image. 7. The electronic device of claim 6, wherein the depth map module is further configured to time-synchronize the depth information to the scan-line of the image. 8. The electronic device of claim 1, wherein the memory fabric comprises a mutex controller that is configured to monitor a status of an exclusive access request requesting an exclusive access to a shared resource by one of the vector processors, and when the one of the vector processors receives an exclusive access to the shared resource, send an acknowledgement message to the one of the vector processors, indicating that the one of the vector processors has the exclusive access to the shared resource. 9. The electronic device of claim 1, wherein the memory fabric comprises a plurality of buffers, wherein a first of the plurality of buffers is associated with a first of the vector processors, and wherein a second of the vector processors is configured to send data to the first of the vector processors by storing the data in the first of the plurality of buffers. 10. The electronic device of claim 9, wherein the memory fabric is configured to dynamically modify a capacity of the first of the plurality of buffers based on an amount of data transferred to the first of the vector processors. 11. The electronic device of claim 9, wherein the memory fabric is configured to dynamically associate two or more of the plurality of buffers to the first of the vector processors based on an amount of data transferred to the first of the vector processors. 12. The electronic device of claim 9, wherein the plurality of buffers is a part of one of the plurality of memory slices in the memory fabric. 13. The electronic device of claim 9, wherein the memory fabric is configured to store state information of the one of the vector processors when the one of the vector processors enters a low-power mode. 14. The electronic device of claim 13, wherein the state information is stored in a static random access memory in the memory fabric. 15. The electronic device of claim 1, wherein the memory fabric comprises a direct memory access (DMA) controller, wherein the DMA controller comprises an operation list indicating an order in which DMA operations are to be performed. 16. The electronic device of claim 15, wherein the DMA controller is configured to perform a subset of the DMA operations in the operation list based on an enable buffer, wherein the enable buffer includes a plurality of bits, wherein one of the plurality of bits is associated with one of the DMA operations, and a value of the one of the plurality of bits is indicative of whether the one of the DMA operations is to be performed by the DMA controller. 17. A method comprising: providing, by a memory fabric comprising a plurality of memory slices, a first array of values to one of a plurality of vector processors;providing, by the memory fabric, a second array of values to a hardware accelerator comprising a programmable datapath pipeline;executing, by one of the plurality of vector processors, an instruction that operates on the first array of values;configuring the datapath pipeline in the hardware accelerator using configuration information;performing, using the datapath pipeline in the hardware accelerator, a filtering operation on the second array of values in accordance with the configuration information;receiving, at an output buffer, a scan-line of an image processed by the programmable datapath pipeline; andstalling, by a pipeline stall controller, an operation of the programmable datapath pipeline when the output buffer is full. 18. The method of claim 17, wherein the hardware accelerator comprises a plurality of functional units, and the method further comprises chaining the plurality of functional units in accordance with the configuration information to perform the filtering operation. 19. The method of claim 18, wherein the plurality of functional units comprises a first functional unit and a second functional unit, and wherein chaining the plurality of functional units comprises an output of the first functional unit to an input of the second functional unit. 20. The method of claim 17, further comprising: receiving depth information that is indicative of a depth of an object represented by a pixel in the scan-line of the image; andsynchronizing the depth information to the scan-line of the image. 21. The method of claim 17, further comprising: monitoring, by a memory controller in the memory fabric, a status of an exclusive access request requesting an exclusive access to a shared resource by the one of the vector processors, andwhen the one of the vector processors receives an exclusive access to the shared resource, sending an acknowledgement message to the one of the vector processors, indicating that the one of the vector processors has the exclusive access to the shared resource. 22. The method of claim 17, wherein the memory fabric comprises a plurality of buffers, wherein a first of the plurality of buffers is associated with a first of the vector processors, and the method further comprises sending, by a second of the vector processors, data to the first of the vector processors by storing the data in the first of the plurality of buffers. 23. The method of claim 22, further comprising dynamically modifying a capacity of the first of the plurality of buffers based on an amount of data transferred to the first of the vector processors. 24. The method of claim 22, further comprising dynamically associating two or more of the plurality of buffers to the first of the vector processors based on an amount of data transferred to the first of the vector processors. 25. The method of claim 22, further comprising storing state information of the one of the vector processors in the memory fabric when the one of the vector processors enters a low-power mode. 26. The method of claim 25, wherein the state information is stored in a static random access memory in the memory fabric. 27. The method of claim 17, further comprising maintaining, at a direct memory access (DMA) controller, an operation list indicating an order in which DMA operations are to be performed. 28. The method of claim 27, further comprising performing a subset of the DMA operations in the operation list based on an enable buffer, wherein the enable buffer includes a plurality of bits, wherein one of the plurality of bits is associated with one of the DMA operations, and a value of the one of the plurality of bits is indicative of whether the one of the DMA operations is to be performed by the DMA controller.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (33)
Comair, Claude; Li, Xin; Abou-Samra, Samir; Champagne, Robert; Fam, Sun Tjen; Ghali, Prasanna; Pan, Jun, 3D transformation matrix compression and decompression.
Seong,Nak hee; Lim,Kyoung mook; Jeong,Seh woong; Park,Jae hong; Im,Hyung jun; Bae,Gun young; Kim,Young duck, Apparatus and method for dispatching very long instruction word having variable length.
Iwata Yasushi,JPX ; Asato Akira,JPX, Data processing device to compress and decompress VLIW instructions by selectively storing non-branch NOP instructions.
Pitsianis,Nikos P.; Pechanek,Gerald George; Rodriguez,Ricardo, Efficient complex multiplication and fast fourier transform (FFT) implementation on the ManArray architecture.
Pitsianis, Nikos P.; Pechanek, Gerald G.; Rodriguez, Ricardo E., Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture.
Coleman Charles H. (Redwood City CA) Miller Sidney D. (Mountain View CA) Smidth Peter (Menlo Park CA), Method and apparatus for image data compression using combined luminance/chrominance coding.
Gerald G. Pechanek ; Juan Guillermo Revilla ; Edwin F. Barry, Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor.
Pechanek Gerald G. ; Revilla Juan Guillermo ; Barry Edwin F., Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor.
Pechanek, Gerald G.; Revilla, Juan Guillermo; Barry, Edwin Franklin, Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor.
Drabenstott, Thomas L.; Pechanek, Gerald G.; Barry, Edwin F.; Kurak, Jr., Charles W., Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution.
Drabenstott, Thomas L.; Pechanek, Gerald G.; Barry, Edwin F.; Kurak, Jr., Charles W., Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution.
Drabenstott,Thomas L.; Pechanek,Gerald George; Barry,Edwin Franklin; Kurak, Jr.,Charles W., Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution.
Drabenstott,Thomas L.; Penchanek,Gerald G.; Barry,Edwin F.; Kurak, Jr.,Charles W., Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution.
Thomas L. Drabenstott ; Gerald G. Pechanek ; Edwin F. Barry ; Charles W. Kurak, Jr., Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution.
Hall William E. (Beaverton OR) Stigers Dale A. (Hillsboro OR) Decker Leslie F. (Portland OR), Parallel vector processing system for individual and broadcast distribution of operands and control information.
Topham,Nigel Peter, Processor and method for generating and storing compressed instructions in a program memory and decompressed instructions in an instruction cache wherein the decompressed instructions are assigned im.
Topham,Nigel Peter, Processor and method for generating and storing compressed instructions in a program memory and decompressed instructions in an instruction cache wherein the decompressed instructions are assigned imaginary addresses derived from information stored in the program memory with the compressed instructions.
Booth, Jr.,Lawrence A.; Rosenzweig,Joel; Burr,Jeremy, System and method for high-speed communications between an application processor and coprocessor.
Haikonen Pentti,FIX ; Juhola Janne M.,FIX ; Latva-Rasku Petri,FIX, Video compressing method wherein the direction and location of contours within image blocks are defined using a binary picture of the block.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.