Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Code opération — Wikipédia
Code opération — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Opcode)

En informatique, un code opération (en anglais, opcode[1],[2], operation code[1], machine code[3], instruction code[4], instruction syllable[5],[6],[7],[8], instruction parcel ou opstring[9],[2]) 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.

Vue d'ensemble

[modifier | modifier le code]

Les spécifications et le format des codes opérations sont définis dans le jeu d'instructions du processeur en question, qui peut être une unité centrale de traitement (UCT ou CPU en anglais) ou une unité de traitement spécialisée (comme un processeur graphique ou GPU)[10]. Les codes opérations pour un jeu d'instructions donné peuvent être décrits à l'aide d'une table de codes opérations détaillant toutes les valeurs de codes opérations possibles. Outre le code opération lui-même, une instruction comporte normalement aussi un ou plusieurs spécificateurs d'opérandes (c'est-à-dire de données) sur lesquels l'opération doit agir, bien que certaines opérations puissent avoir des opérandes implicites, voire aucun opérande[10].

Certains jeux d'instructions ont des champs de longueurs uniformes pour les codes opérations et les opérandes, alors que d'autres (l'architecture x86 par exemple) ont une structure plus compliquée, avec des champs de longueurs variables[10],[11]. Les jeux d'instructions peuvent être étendus par l'utilisation de préfixes au code opération qui ajoutent un sous-ensemble de nouvelles instructions composées de codes opérations existants suivant des séquences d'octets réservées.

Selon l'architecture, les opérandes peuvent être des registres de processeur, des valeurs dans la pile d'exécution, des adresses de mémoire vive, des ports d'entrées-sorties, etc. spécifiés et accessibles en utilisant des modes d'adressage plus ou moins complexes. Les types d'opérations comprennent les opérations arithmétiques, les opérations logiques, la manipulation de bits, la copie de données et le contrôle de programme, ainsi que des instructions spéciales (telles que l'instruction CPUID, qui permet de connaître certaines caractéristiques du processeur)[10].

Le langage assembleur, ou simplement l'assembleur, est un langage de programmation de bas niveau, qui utilise des mnémoniques (pour les codes opérations et les opérandes) pour représenter le code machine[10], ce qui améliore la lisibilité tout en donnant un contrôle précis sur les instructions. La plupart des programmes sont aujourd'hui réalisés à l'aide de langages de programmation de haut niveau[12], qui sont plus faciles à lire et à écrire[10]. Ces langages doivent être compilés (traduits en langage assembleur), ou exécutés par des interpréteurs[13].

Jeux d'instructions pour les logiciels

[modifier | modifier le code]

Les codes opérations sont aussi utilisés dans les bytecodes et autres représentations destinées à un interpréteur de logiciel plutôt qu'à un dispositif matériel. Ces jeux d'instructions destinés à des logiciels utilisent souvent des types de données et des opérations de niveau légèrement supérieur à la plupart des équivalents matériels, mais sont néanmoins construits selon des principes similaires. Les exemples incluent le bytecode trouvé dans les fichiers de classe Java qui sont ensuite interprétés par la machine virtuelle Java, le bytecode utilisé dans GNU Emacs pour le code Lisp compilé, le Common Intermediate Language .NET, et bien d'autres[14].

Références

[modifier | modifier le code]
  1. ↑ a et b David William Barron, Assemblers and Loaders, University of Southampton, Southampton, UK, Elsevier North-Holland Inc., coll. « Computer Monographs », 1978 (1re éd. 1971, 1969) (ISBN 0-444-19462-2, LCCN 78-19961), « 2.1. Symbolic instructions », p. 7 (xii+100 pages)
  2. ↑ a et b Shigeru Chiba, « Javassist, a Java-bytecode translator toolkit » [archive du 2 mars 2020], 2007 (consulté le 27 mai 2016)
  3. ↑ MCS-4 Assembly Language Programming Manual - The INTELLEC 4 Microcomputer System Programming Manual, Santa Clara, California, USA, Intel Corporation, décembre 1973, B-1 – B-8, « Appendix B - Instruction Machine Codes »
  4. ↑ MCS-40 User's Manual For Logic Designers, Santa Clara, California, USA, Intel Corporation, novembre 1974, « The Functions Of A Computer: Instruction Register And Decoder », viii :

    « […] Each operation that the processor can perform is identified by a unique binary number known as an instruction code. […] »

  5. ↑ Douglas W. Jones, « A Minimal CISC », Association for Computing Machinery (ACM), New York, USA, vol. 16, no 3,‎ juin 1988, p. 56–63 (DOI 10.1145/48675.48684)
  6. ↑ Łukasz Domagała, Application of CLP to instruction modulo scheduling for VLIW processors, Gliwice, Poland, Jacek Skalmierski Computer Studio, 2012, 80–83 [83] (ISBN 978-83-62652-42-6, lire en ligne [archive du 2 mars 2020]), « 7.1.4. Benchmark suite »
  7. ↑ Mark Smotherman, « Multiple Instruction Issue » [archive du 28 mai 2016], School of Computing, Clemson University, 2016 (consulté le 28 mai 2016)
  8. ↑ Douglas W. Jones, « A Minimal CISC » [archive du 2 mars 2020], sur Computer Architecture On-Line Collection, Iowa City, USA, The University of Iowa, Department of Computer Science, 2016 (consulté le 28 mai 2016)
  9. ↑ Andrew Schulman, « Finding Binary Clones with Opstrings & Function Digests », CMP Media LLC, vol. 30, no 7,‎ 1er juillet 2005, p. 69–73 (ISSN 1044-789X, lire en ligne [archive du 2 mars 2020], consulté le 2 mars 2020); Andrew Schulman, « Finding Binary Clones with Opstrings & Function Digests », CMP Media LLC, vol. 30, no 8,‎ 1er août 2005, p. 56–61 (ISSN 1044-789X, lire en ligne [archive du 2 mars 2020], consulté le 28 mai 2016); Andrew Schulman, « Finding Binary Clones with Opstrings & Function Digests », United Business Media, vol. 30, no 9,‎ 1er septembre 2005, p. 64–70 (ISSN 1044-789X, lire en ligne [archive du 2 mars 2020], consulté le 28 mai 2016)
  10. ↑ a b c d e et f Computer architecture: A quantitative approach, Cambridge, Massachusetts, USA, Morgan Kaufmann Publishers, 23 novembre 2017 (ISBN 978-0-12811905-1, OCLC 983459758)
  11. ↑ Richard Mansfield, Machine Language For Beginners, Greensboro, North Carolina, USA, COMPUTE! Publications, Inc., American Broadcasting Companies, Inc.; Small System Services, Inc., coll. « Compute! Books », 1983 (ISBN 0-942386-11-6, lire en ligne [archive du 13 février 2008]), « Introduction: Why Machine Language? »
  12. ↑ « Programming Language Popularity » [archive du 11 avril 2015], sur langpop.com, 25 octobre 2013 (consulté le 10 octobre 2015)
  13. ↑ William Swanson, « Introduction to Assembly Language » [archive du 2 mars 2020], sur Swanson Technologies, 2001 (consulté le 10 octobre 2015)
  14. ↑ (en) « bytecode Definition » [archive du 15 septembre 2008] (consulté le 10 octobre 2015)
  • icône décorative Portail de l’informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Code_opération&oldid=229056256 ».
Catégorie :
  • Langage machine
Catégories cachées :
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id