OrdinateurUn ordinateur est un système de traitement de l'information programmable tel que défini par Alan Turing et qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui font exécuter des opérations logiques et arithmétiques. Sa structure physique actuelle fait que toutes les opérations reposent sur la logique binaire et sur des nombres formés à partir de chiffres binaires.
P-code machineIn computer programming, a p-code machine (portable code machine) is a virtual machine designed to execute p-code (the assembly language or machine code of a hypothetical central processing unit (CPU)). This term is applied both generically to all such machines (such as the Java virtual machine (JVM) and MATLAB precompiled code), and to specific implementations, the most famous being the p-Machine of the Pascal-P system, particularly the UCSD Pascal implementation, among whose developers, the p in p-code was construed to mean pseudo more often than portable, thus pseudo-code meaning instructions for a pseudo-machine.
Bytecode JavaLe bytecode Java est un bytecode destiné à regrouper des instructions exécutables par une machine virtuelle Java. Par extension, il désigne un flux d'octets binaire au format d'une classe Java. Ce flux est habituellement le résultat de la compilation d'un code source, ce code source n'étant pas obligatoirement écrit en langage Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par une machine virtuelle Java.
Bytecodevignette|Code binaire en En informatique, le bytecode (terme anglais signifiant « code en bytes ») est un code intermédiaire entre les instructions machines et le code source, qui n'est pas directement exécutable. Le bytecode (également appelé code portable ou p-code) peut être créé à la volée et résider en mémoire (compilation à la volée, JIT en anglais) ou bien résider dans un fichier, généralement binaire qui représente le programme, tout comme un fichier de code objet produit par un compilateur.
Notation polonaise inversethumb|Exemple d'utilisation de la pile en RPN La notation polonaise inverse (NPI) (en anglais RPN pour Reverse Polish Notation), également connue sous le nom de notation post-fixée, permet d'écrire de façon non ambiguë les formules arithmétiques sans utiliser de parenthèses. Dérivée de la notation polonaise présentée en 1924 par le mathématicien polonais Jan Łukasiewicz, elle s’en différencie par l’ordre des termes, les opérandes y étant présentés avant les opérateurs et non l’inverse.
Dalvik (machine virtuelle)Dalvik est une machine virtuelle destinée aux téléphones mobiles et tablettes tactiles, qui est incorporée dans le système d'exploitation Android. Dalvik est destiné à permettre l'exécution simultanée de plusieurs applications sur un appareil de faible capacité (peu d'espace mémoire et peu de puissance de calcul). Créé par Dan Bornstein, Dalvik fait partie du runtime, le moteur qui permet l'exécution des applications pour Android. Le nom est celui d'un village de pêcheurs en Islande, pays d'origine de son auteur.
Pile d'exécutionEn informatique, la pile d’exécution (souvent abrégée en la pile ; en anglais, call stack) est une structure de données de type pile qui sert à enregistrer des informations au sujet des fonctions actives dans un programme informatique. Une pile d'exécution est utilisée pour emmagasiner plusieurs valeurs, mais sa principale utilisation est de garder la trace de l'endroit où chaque fonction active doit retourner à la fin de son exécution (les fonctions actives sont celles qui ont été appelées, mais n’ont pas encore terminé leur exécution).
Adressage mémoireL’adressage mémoire est, en électronique et en informatique, la façon dont se fait l'accès aux données conservées en mémoire. Une adresse mémoire est un nombre entier naturel (rarement une autre sorte d'identifiant) qui désigne une zone particulière de la mémoire, ou juste le début d'une zone. Le plus souvent, une donnée peut être lue ou écrite. La mémoire peut être temporaire (mémoire vive) pour le travail ou au contraire durable (mémoire non volatile) pour le stockage.
X87thumb|Micro-processeur i487SX x87 est un jeu d'instructions orienté calcul en virgule flottante faisant partie de l'architecture de microprocesseurs x86. Les processeurs proposant ce jeu d'instructions sont l'Intel 8087, 80287, 80387, 80487, AMD K6, Pentium, Athlon, Pentium 4 et Athlon 64. À partir du 80486, la plupart des processeurs x86 implémentent ce jeu d'instruction directement dans le processeur principal. Jeu d'instruction_x86#x87 : Instructions d'unité de calcul en virgule flottante MMX SSE, SSE2 C
Burroughs Large SystemsThe Burroughs Large Systems Group produced a family of large 48-bit mainframes using stack machine instruction sets with dense syllables. The first machine in the family was the B5000 in 1961, which was optimized for compiling ALGOL 60 programs extremely well, using single-pass compilers. The B5000 evolved into the B5500 (disk rather than drum) and the B5700 (up to four systems running as a cluster). Subsequent major redesigns include the B6500/B6700 line and its successors, as well as the separate B8500 line.
WebAssemblyWebAssembly, abrégé wasm, est un standard du World Wide Web pour le développement d’applications. Il est conçu pour remplacer JavaScript avec des performances supérieures. Le standard consiste en un bytecode, sa représentation textuelle et un environnement d'exécution dans un bac à sable compatible avec JavaScript. Il peut être exécuté dans un navigateur Web et en dehors. WebAssembly est standardisé dans le cadre du World Wide Web Consortium.
Machine virtuelle Javavignette|Machine virtuelle Java - Spécification Java 7 La machine virtuelle Java (en anglais Java virtual machine, abr. JVM) est un appareil informatique fictif qui exécute des programmes compilés sous forme de bytecode Java. L'appareil est simulé par un logiciel spécifique à chaque plateforme ou couple (machine/système d’exploitation) et permet aux applications Java compilées en bytecode de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate.
Parrot (machine virtuelle)Parrot est une machine virtuelle à base de registres développée par la communauté Perl. Parrot sera la cible de l'interpréteur de Perl 6 en cours de spécification. La plupart des autres machines virtuelles sont à base de piles. Les développeurs de Parrot considèrent comme un avantage la ressemblance avec l'architecture des processeurs actuels. Cela permettra d'utiliser la littérature sur ce sujet pour le développement de la machine virtuelle Parrot. Parrot est aussi destiné à supporter d'autres langages dynamiques tels que Ruby, Python, Tcl ou JavaScript.
Code opérationEn informatique, un code opération (en anglais, opcode, operation code, machine code, instruction code, instruction syllable, instruction parcel ou opstring) est la partie d'une instruction en langage machine qui spécifie l'opération à effectuer. Outre le code opération lui-même, la plupart des instructions précise également les données qu'elles vont traiter, sous forme d'opérandes. En plus des codes opérations utilisés dans les jeux d'instructions de diverses unités centrales de traitement, qui sont des dispositifs matériels, ils peuvent également être utilisés dans les bytecodes de machines virtuelles.
Model of computationIn computer science, and more specifically in computability theory and computational complexity theory, a model of computation is a model which describes how an output of a mathematical function is computed given an input. A model describes how units of computations, memories, and communications are organized. The computational complexity of an algorithm can be measured given a model of computation. Using a model allows studying the performance of algorithms independently of the variations that are specific to particular implementations and specific technology.
CPythonCPython est l'implémentation de référence du langage Python et l'implémentation par défaut et la plus largement utilisée de ce langage. CPython peut être défini à la fois comme un interpréteur et un compilateur, car il compile le code Python en bytecode avant de l'interpréter. Il possède une interface avec plusieurs langages, dont le C, dans laquelle il est possible d'écrire explicitement des liaisons dans un autre langage que Python. Enfin, c'est un logiciel libre.
Pile (informatique)En informatique, une pile (en anglais stack) est une structure de données fondée sur le principe « dernier arrivé, premier sorti » (en anglais LIFO pour last in, first out), ce qui veut dire qu'en général, le dernier élément ajouté à la pile est le premier à en sortir. vignette|upright=2|Schémas d'une pile gérée en ''last in, first out. La plupart des microprocesseurs gèrent nativement une pile pour les appels de routine. Elle correspond alors à une zone de la mémoire, et le processeur retient l'adresse du dernier élément.
Minimal instruction set computerMinimal instruction set computer (MISC) est une architecture processeur avec un nombre d'opérations basiques (et d'opcodes correspondant) très réduit. De tels jeux d'instructions sont généralement basés sur une pile plutôt que sur des registres afin de réduire la taille des spécificateurs d'opérande. Une telle architecture de machine à pile est par nature plus simple de par le fait que toutes les instructions opèrent sur la plus haute des entrées de la pile.