Ne-XVP
Encyclopedia
Ne-XVP was a research project executed between 2006-2008 at NXP Semiconductors. The project undertook a holistic approach to define a next generation multimedia
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...

 processing architecture
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

 for embedded MPSoCs
MPSoC
The multiprocessor System-on-Chip is a system-on-a-chip which uses multiple processors , usually targeted for embedded applications...

 that targets programmability, performance scalability, and silicon efficiency in an evolutionary way. The evolutionary way implies using existing processor cores such as NXP TriMedia
TriMedia (Mediaprocessor)
TriMedia is a family of very long instruction word media processors from NXP Semiconductors . TriMedia is a Harvard architecture CPU that features many DSP and SIMD operations to efficiently process audio and video data streams...

 as building blocks and supporting industry programming standards such as POSIX threads
POSIX Threads
POSIX Threads, usually referred to as Pthreads, is a POSIX standard for threads. The standard, POSIX.1c, Threads extensions , defines an API for creating and manipulating threads....

. Based on the technology-aware design space exploration, the project concluded that hardware accelerators facilitating task management and coherency coupled with right dimensioning of compute cores deliver good programmability, scalable performance and competitive silicon efficiency.

Research

Ne-XVP's research subjects and corresponding publications:
  1. Asymmetric multicore architecture with generic accelerators
  2. Hardware multithreading in VLIWs
  3. Low-complexity cache coherence
    Cache coherence
    In computing, cache coherence refers to the consistency of data stored in local caches of a shared resource.When clients in a system maintain caches of a common memory resource, problems may arise with inconsistent data. This is particularly true of CPUs in a multiprocessing system...

  4. Hardware accelerators for task scheduling and synchronization:
    1. A Hardware Task Scheduler
    2. Hardware Synchronization Unit to sync threads
    3. Task Management Unit
  5. Instruction cache
    Cache
    In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...

     sharing
  6. Design Space Exploration with Performance Density as the optimization function
  7. Technology modeling for embedded processors
  8. Parallelization of complex multimedia
    Multimedia
    Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...

     algorithms (H.264, Frame Rate Conversion)
  9. Auto-parallelizing compilers
    Compiler optimization
    Compiler optimization is the process of tuning the output of a compiler to minimize or maximize some attributes of an executable computer program. The most common requirement is to minimize the time taken to execute a program; a less common one is to minimize the amount of memory occupied...

  10. Time-aware programming languages in cooperation with the ACOTES project
  11. Visual programming
    Visual programming language
    In computing, a visual programming language is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used...

  12. Task-level speculation
  13. Porting GCC to Exposed Pipeline VLIW
    Very long instruction word
    Very long instruction word or VLIW refers to a CPU architecture designed to take advantage of instruction level parallelism . A processor that executes every instruction one after the other may use processor resources inefficiently, potentially leading to poor performance...

    Processors
  14. Multiprogram workload for embedded processing
  15. A 1-GHz embedded VLIW processor

Project members

  • Ghiath Al-Kadi
  • Zbigniew Chamski
  • Dmitry Cheresiz
  • Marc Duranton (project leader)
  • Surendra Guntur
  • Jan Hoogerbrugge
  • Anirban Lahiri
  • Ondrej Popp
  • Andrei Terechko
  • Alex Turjan
  • Clemens Wust
  • ...
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK