Est-il un langage de programmation “en dessous” de l'Assemblée?
Est-il un langage de programmation "en dessous" de l'Assemblée?
- en.wikipedia.org/wiki/...
- youtu.être/j9I2KfGKv4M c'est une bonne leçon sur la différence entre l'Instruction Set Architecture) et de la Micro-Architecture
Vous devez vous connecter pour publier un commentaire.
Fait, il y a un niveau de code qui se trouve en dessous de code machine, appelée Microcode.
C -> assembly -> machine code -> microcode -> circuits -> atoms -> ?????
Code Machine. Temps, il a été programmeurs codé dans les 1 et les 0 binaire. Hex a été considéré comme une avance de plus de cette. C'était avant l'assemblée, qui utilise du code les noms et sépare les éléments d'une instruction dans une de ses parties.
Assemblée est une représentation textuelle de code Machine. Il a un seul énoncé qui représente une seule instruction dans le PROCESSEUR lui-même. "MOV X, Y" par exemple, est une instruction qui passe par le CPU et déplace une valeur X dans la position de Y. Pour obtenir en code machine, le PROCESSEUR aura un nombre qui représente "MOV", et un certain nombre qui représente " X " (si c'est pas déjà un certain nombre), et un nombre qui représente Y. Ces premières HEXADÉCIMAL binaire valeurs sont le code de l'ordinateur. C'est les chiffres qui cause le CPU directe des tensions /courants, à travers les transistors pour lui faire faire ce qu'il fait.
Code Machine est d'un niveau inférieur, mais c'est très très proche de l'assemblée. C'est tellement proche, que personne ne prend la peine de l'utiliser à cause des avantages d'être en mesure de lire l'instruction "MOV" = se déplacer. Les noms de variables aussi devenir lisible plutôt que de premières adresses dans la pile ou le tas.
Et pour aller encore plus bas, (non pas que le mot "langue" est approprié pour la "machine" de la langue ou pour encore plus bas les couches physiques), mais en dessous de langage machine, c'est la configuration de portes et interrupteurs utilisés pour la mise en œuvre de chaque binaire opcode pour le hardware (CPU) impliqués... Un grand livre à lire qui traite ce même niveau inférieur par Charles Petzold, appelé "CODE"
Si par en dessous, tu veux dire au niveau inférieur, alors oui. Il n'y a de langage machine. L'assemblée est transformé en langage machine avant de l'exécuter. Sur de nombreux procédés modernes du langage machine est émulé dans microcode. Voir cette pour plus de détails sur microcode.
Code Machine
http://en.wikipedia.org/wiki/Low-level_programming_language
Je pense que le plus bas que vous pouvez obtenir est quelque chose qui s'appelle la Physique ou TRW (Le Monde Réel). C'est ce que les concepteurs de puces et les fabricants utilisent pour créer des Processeurs et autres processeurs qui peuvent prendre la sortie de l'ordinateur de langues et de les transformer en quelque chose de précieux.
Dépend de pourquoi vous posez cette question. Il n'y a rien que vous ne pouvez pas le faire dans l'assemblage que vous pouvez faire via une autre méthode. Le code Machine est juste une autre représentation des mêmes données.
Les premiers ordinateurs (ENIAC) utilisé câblage de sorte que le résultat d'un calcul peut être nourri comme entrée d'un autre. Pour exécuter un autre programme, vous avez dû vous débranchez des câbles et re-câbler différemment.
Assembleur est traduit en code machine par l'assembleur. Vous pouvez l'écrire avec un éditeur binaire. (Ouch!)
CDCI ordinateurs peuvent avoir de microcode, les séquences de segments de la puce (ALU, mémoire d'extraction, etc). Généralement, personne n'écrit de microcode, sauf à la puce fabricant.
Eh bien, il y en langage machine, comme d'autres l'ont mentionné. Langage Machine est généralement un 1-de-1 la traduction de ce que vous écrivez dans l'assemblée, il est donc au même niveau d'abstraction que le code d'assemblée -- juste beaucoup plus difficile d'écrire à la main.
Il y a des exceptions à cela, comme le pseudo-instructions fournis par le langage assembleur MIPS.
Il est, ou devrais-je dire était un niveau au-dessous même de l'assemblée/langage machine: microcode. La logique moderne-transistor budgets étant ce qu'ils sont, je soupçonne que le microcode est en train de perdre de sa pertinence.
Langage d'assemblage est à l'étage inférieur de la langue de programmation bâtiment que le code machine n'est pas une langue parce qu'elle ne comporte pas de grammatic des règles à suivre. Code Machine peut être le seul format de données pour exécuter les opérations du microprocesseur: le PROCESSEUR récupère des données à partir de la mémoire et exécute l'instruction directement selon le code de l'ordinateur par les cheveux.
Toutefois, dans certains modèles récents, tels que le processeur Intel Pentium 4, du code machine est l'expression d'un niveau inférieur RISC unité d'exécution des opérations, connu comme uop ou microoperations. Ainsi, le décodage logique de ces modèles est de traduire le SCRC-type des instructions en petits uop, qui sont généralement destinés à un simple load/store unité, RISC-comme. Dans cet aspect, nous pouvons dire (bien que ce ne peut pas être techniquement exact) que le code machine décrit le "niveau supérieur" instructions complexes de l'architecture, de ne pas "réel" des opérations qui sont réalisées automatiquement par le sous-tendent la logique d'exécution de la CPU.
Nous avons donc une architecture de jeu d'instructions ou d'architecture de code machine, et un intérieur "au niveau de la micro-instruction" set qui est caché du monde extérieur.
Le trace cache des processeurs Intel a été conçu pour stocker un tel ops pour optimiser la superscalar les performances du processeur (le PROCESSEUR exécute uop pas l'architecture de l'instruction mis à disposition pour l'exécution par les programmes).
Bien, vous pouvez toujours écrire du code en binaire (ou hex, ou une autre représentation). Vous aurez alors à calculer sauter les décalages etc dans votre tête. Pas recommandé. 😉
En quelque sorte. Les Machines ne lisent pas l'assemblée, ils lisent "langage machine", qui est ce que l'assemblée est converti en. Langage Machine a "opcodes" au lieu de l'assemblée mnémoniques, et ces opcodes sont le plus souvent que des données binaires. Code Machine n'est pas généralement considéré comme lisible par l'homme.
Sur les systèmes RISC, le code machine est souvent une simple traduction de l'assemblage, mais sur des systèmes x86, en particulier, les deux sont très différents.
Sûr: "code machine", à propos de laquelle, Wikipédia, dans l'article sur le Langage d'Assemblage (http://en.wikipedia.org/wiki/Assembly_language), dit: "met en œuvre une représentation symbolique du numérique machine de codes et d'autres constantes nécessaires à un programme particulier de l'architecture du PROCESSEUR."
Même au-dessous de code machine, pourrait-on dire, est le VHDL, - la conception de la puce. Vous n'avez même pas besoin de la conception de la puce pour exécuter du code, mais juste de transformer instantanément les inputs en outputs.
(non pas que je suis un expert, je suis à l'aide de C++)
Vous pouvez envoyer des courants électriques dans la CPU et de lui indiquer où placer pixels. (Presque binaire, mais vous n'avez pas à utiliser l'ordinateur pour écrire.)