Dataflow programmingIn computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture. Dataflow programming languages share some features of functional languages, and were generally developed in order to bring some functional concepts to a language more suitable for numeric processing. Some authors use the term datastream instead of dataflow to avoid confusion with dataflow computing or dataflow architecture, based on an indeterministic machine paradigm.
Stream processingIn computer science, stream processing (also known as event stream processing, data stream processing, or distributed stream processing) is a programming paradigm which views streams, or sequences of events in time, as the central input and output objects of computation. Stream processing encompasses dataflow programming, reactive programming, and distributed data processing. Stream processing systems aim to expose parallel processing for data streams and rely on streaming algorithms for efficient implementation.
DataflowIn computing, dataflow is a broad concept, which has various meanings depending on the application and context. In the context of software architecture, data flow relates to stream processing or reactive programming. Dataflow computing is a software paradigm based on the idea of representing computations as a directed graph, where nodes are computations and data flow along the edges. Dataflow can also be called stream processing or reactive programming. There have been multiple data-flow/stream processing languages of various forms (see Stream processing).
Architecture DataflowLe dataflow (en flux de données) est une architecture où les données sont des entités actives qui traversent le programme de manière asynchrone, contrairement à l'architecture classique von Neumann, où elles attendent passivement en mémoire pendant que le programme est exécuté séquentiellement suivant le contenu du pointeur de programme (PC). On parle aussi d'ordinateur cadencé par les données. Dans une architecture flux de données, les programmes sont représentés sous forme de graphes : un nœud représente une opération à effectuer, tandis que les données circulent sur les arcs et forment les entrées aux nœuds.
Microprocesseur multi-cœurvignette|Un processeur quad-core AMD Opteron. vignette|L’Intel Core 2 Duo E6300 est un processeur double cœur. Un microprocesseur multi-cœur (multi-core en anglais) est un microprocesseur possédant plusieurs cœurs physiques fonctionnant simultanément. Il se distingue d'architectures plus anciennes (360/91) où un processeur unique commandait plusieurs circuits de calcul simultanés. Un cœur (en anglais, core) est un ensemble de circuits capables d’exécuter des programmes de façon autonome.
Langage graphiquevignette|Script du programme "Hello, world!" dans le langage de programmation graphique Scratch Un langage de programmation graphique ou visuel est un langage de programmation dans lequel les programmes sont écrits par assemblage d'éléments graphiques. Sa syntaxe concrète est composée de symboles graphiques et de textes, qui sont disposés spatialement pour former des programmes. De nombreux langages visuels se basent sur les notions « de boîtes et de flèches » : les boîtes (ou d'autres d'objets) sont traitées comme des entités, reliées par des flèches ou des lignes qui représentent des relations.
MPEG-4MPEG-4, également appelé ISO/CEI 14496, est une norme de codage d’objets audiovisuels spécifiée par le Moving Picture Experts Group (MPEG). La norme MPEG-4 spécifie d'abord des techniques pour gérer le contenu de scènes comprenant un ou plusieurs objets audio-vidéo. Contrairement à MPEG-2 qui visait uniquement des usages liés à la télévision numérique (diffusion DVB et DVD), les usages de MPEG-4 englobent toutes les nouvelles applications multimédias comme le téléchargement et le streaming sur Internet, le multimédia sur téléphone mobile, la radio numérique, les jeux vidéo, la télévision et les supports haute définition.
Manycore processorManycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are used extensively in embedded computers and high-performance computing. Manycore processors are distinct from multi-core processors in being optimized from the outset for a higher degree of explicit parallelism, and for higher throughput (or lower power consumption) at the expense of latency and lower single-thread performance.
H.264vignette|Le diagrame de ce système H.264, ou MPEG-4 AVC (Advanced Video Coding), ou MPEG-4 Part 10, est une norme de codage vidéo développée conjointement par l'UIT-T Q.6/SG16 Video Coding Experts Group (VCEG) ainsi que l'ISO/CEI Moving Picture Experts Group (MPEG) et est le produit d'un effort de partenariat connu sous le nom Joint Video Team (JVT). La norme UIT-T H.264 et la norme ISO/CEI MPEG-4 Part 10 (ISO/CEI 14496-10) sont techniquement identiques, et la technologie employée est aussi connue sous le nom AVC, pour Advanced Video Coding.
Programmation concurrenteLa programmation concurrente est un paradigme de programmation tenant compte, dans un programme, de l'existence de plusieurs piles sémantiques qui peuvent être appelées threads, processus ou tâches. Elles sont matérialisées en machine par une pile d'exécution et un ensemble de données privées. La concurrence est indispensable lorsque l'on souhaite écrire des programmes interagissant avec le monde réel (qui est concurrent) ou tirant parti de multiples unités centrales (couplées, comme dans un système multiprocesseurs, ou distribuées, éventuellement en grille ou en grappe).
H.265H.265, ou « MPEG-H HEVC » (High Efficiency Video Coding), est une norme de codage/compression vidéo ISO/CEI 23008-2 et UIT-T H.265, publiée le . Elle est développée conjointement par les groupes Video Coding Experts Group (VCEG) et Moving Picture Experts Group (MPEG) et doit succéder au H.264 (ISO/CEI 14496-10 et UIT-T H.264). Ses applications concernent aussi bien la compression des vidéos en ultra-haute définition que la diminution du débit de transmission sur les réseaux pour les vidéos en définition standard avec des applications pour la vidéo sur mobile et pour l'extension de l'éligibilité aux services audiovisuels (TV, VoD.
MPEG-1MPEG-1 est une norme de compression vidéo et audio définie par la norme ISO/CEI-11172, élaborée par le groupe MPEG en 1988. Ce groupe a pour but de développer des standards internationaux de compression, décompression, traitement et codage d'images animées et de données audio. La norme MPEG-1 représente chaque image comme un ensemble de blocs 16 × 16. Elle permet d'obtenir une définition de : 352× à 30 images par seconde en NTSC 352× à 25 images par seconde en PAL/SECAM MPEG-1 permet d'obtenir des débits de l'ordre de 1,2 Mbit/s (exploitable sur un lecteur de CD-ROM).
Réseau sur une puceNetwork-on-Chip ou Network-on-a-Chip (NoC or NOC) ou en français réseau sur une puce est une technique de conception du système de communication entre les cœurs sur les System on Chip (SoC). Les NoCs peuvent passer dans les domaines d'horloge synchrone ou asynchrone ou bien utiliser une logique de circuit asynchrone sans horloge. Le NoC applique les théories et méthodes de réseau aux communications à l'intérieur d'une puce et permet ainsi l'amélioration des performances par rapport aux interconnexions de bus et commutateur matriciel conventionnelles.
Advanced Audio CodingAdvanced Audio Coding (AAC, « encodage audio avancé ») est un algorithme de compression audio avec perte de données ayant pour but d’offrir un meilleur rapport qualité sur débit binaire que le format plus ancien MPEG-1/2 Audio Layer 3, plus connu sous le nom de MP3. Pour ces qualités, il est choisi par différentes entreprises dont Apple ou RealNetworks. La RNT (Radio numérique terrestre utilise le système de radio diffusion DAB+ (version améliorée du DAB, Digital Audio Broadcasting) qui intègre une version avancée du codec AAC : HE-AAC version 2, aussi appelé eAAC+, et défini dans la norme MPEG-4 Part 3.
LabVIEWLabVIEW (contraction de Laboratory Virtual Instrument Engineering Workbench) est le cœur d’une plate-forme de conception de systèmes de mesure et de contrôle, fondée sur un environnement de développement graphique de National Instruments. Le langage graphique utilisé dans cette plate-forme est appelé « G ». Créé à l’origine sur Apple Macintosh en 1986, LabVIEW est utilisé principalement pour la mesure par acquisition de données, pour le contrôle d’instruments et pour l’automatisme industriel.
Compteur ordinalDans un processeur, le compteur ordinal ou pointeur d'instruction (en anglais : instruction pointer ou program counter) est le registre (souvent nommé PC) qui contient l'adresse mémoire de l'instruction en cours d'exécution ou prochainement exécutée (cela dépend de l'architecture). Une fois l'instruction chargée, il est automatiquement incrémenté pour pointer l'instruction suivante. Les instructions de branchement ou d'appel et retour de sous-programmes permettent de choisir une autre adresse pour influer sur le déroulement du programme informatique.
Rich Internet applicationUne rich Internet application (RIA), ou application Internet riche, est une application Web qui offre des caractéristiques similaires aux logiciels traditionnels installés sur un ordinateur. La dimension interactive et la vitesse d'exécution sont particulièrement soignées dans ces applications Web. Une RIA peut être : exécutée sur un navigateur Web. Aucune installation n'est requise ; exécutée localement dans un environnement sécurisé appelé sandbox (bac à sable).