Y a-t-il quelque chose de plus bas que le niveau de bit de 1 et de 0?

8

Lors de l'apprentissage de l'architecture des ordinateurs et de son fonctionnement, nous pensons que le langage le plus bas que nous pouvons trouver que la machine comprend est binaire comme 1 et 0. Et tout ce que nous entrons devra être transformé / converti en binaire, mais étant des nombres binairescela ne signifierait-il pas que nous aurions besoin d'un autre interprète / compilateur pour transformer le binaire en langage machine réel? Nous savons tous de l'électronique qu'un ordinateur est principalement composé de CPU qui est donc un circuit intégré qui est donc composé de transistors, etc., et la seule chose que ces outils comprennent est l'électricité, donc l'électricité sera le langage le plus compréhensible pour un ordinateur. Donc, ma préoccupation est, le binaire est-il vraiment 1 et 0 ou les 1 et 0 sont juste utilisés pour représenter l'absence et / ou la présence d'électricité? En supposant qu'il ne s'agit que d'une représentation de l'absence ou de la présence d'électricité, n'y aurait-il pas un autre langage intermédiaire ou même inférieur entre les commandes que nous entrons et le binaire, afin que les circuits sachent où envoyer le courant et où ne pas le faire?

Yuran Pereira
la source
2
Je veux juste commenter votre "absence d'électricité" | "L'absence de signal ne doit jamais être utilisée comme signal." - Julian Bigelow, 1947. "
Dylan Meeus
2
Dans un sens, je suppose que la réponse à votre question est qu'il existe un "langage" sous-jacent dans la physique de l'électricité sur lequel les circuits sont basés. Fondamentalement, la nature est comme une machine de Turing et la disposition des fils et des composants est comme la bande d'entrée. Pour y arriver sous un angle différent: les ordinateurs fonctionnent en manipulant des signaux analogiques (variant en continu dans le temps, l'espace, la magnitude, etc.) et en les interprétant comme approximativement numériques (variant discrètement, sous forme d'entiers, dans le temps, l'espace et la magnitude). Vous avez raison: 0 et 1 signifient simplement différentes quantités d'électricité.
Patrick87
1
Juste pour clarifier le Yuran, vous l'avez à l'envers lorsque vous dites que nous utilisons des 0 et des 1 pour représenter l'électricité. Nous utilisons l'électricité pour représenter les 0 et les 1.
jmite
Voici la thèse de maîtrise de Claude Shannon , MIT 1937: cs.virginia.edu/~evans/greatworks/shannon38.pdf . Il explique comment l'algèbre booléenne et les circuits de relais peuvent être utilisés comme modèles les uns des autres.
Wandering Logic
1
Oui, mais ce n'est pas le sujet de ce site. Vous voudrez peut-être répondre à vos questions sur la façon de construire des processeurs à partir du fil jusqu'au génie électrique .
Raphael

Réponses:

8

Les ordinateurs numériques fonctionnent de telle sorte que (presque) à tout moment donné, n'importe quel fil transporte (à peu près) l'une des deux tensions possibles, l'une signifiant 0 et l'autre signifiant 1. Les tensions dépendent de la convention utilisée. En ce sens, l'informatique numérique fonctionne avec0le sable 1s. Cependant, même les ordinateurs numériques s'interfacent avec des appareils analogiques, tels que le stockage physique et les réseaux. La façon dont les données sont codées dans les réseaux peut être quelque peu différente, car plusieurs bits peuvent être codés à la fois, selon le codage.

Permettez-moi d'expliquer mes qualifications dans la première phrase ci-dessus. "Presque" se réfère au fait que lorsque les fils passent de0 à 1ou vice versa, il y aura des tensions intermédiaires. Ces commutateurs sont synchronisés sur tous les fils de sorte que chaque fois que des fils sont "lus", le commutateur (le cas échéant) s'est déjà produit. "En gros" se réfère au fait que les tensions ne sont pas exactes. Il existe deux petites plages de tensions qui correspondent à0 et 1. Les périphériques doivent être capables de "lire" des bits dans ces plages, mais généralement de les "écrire" de manière plus restrictive.

Yuval Filmus
la source
3

la question n'est pas exactement claire et contient des idées fausses ou une mauvaise application de la terminologie (par exemple, "langage inférieur") mais en l'interprétant d'une manière plus générale / métaphorique / analogique / lâche, oui :

  • une étude de cas intéressante ici est la bascule logique (voir aussi Comment comprendre le verrou SR ) qui, parce qu'elle a une boucle de rétroaction, ne peut pas vraiment être analysée logiquement en termes de 0 et 1 et doit être analysée davantage comme un appareil analogique
  • la synchronisation du circuit est cruciale pour comprendre la nature dynamique de la bascule. un moyen particulièrement utile de le comprendre est un tracé tension / temps.
  • "en dessous" des 0 et des 1 des circuits logiques se trouvent des tensions analogiques continues / non discrètes, et l'électronique binaire peut être dite "contrôler" étroitement les signaux analogiques dans des limites très contraintes.
  • il y a des cas où cela "tombe en panne", par exemple sur une puce IC , l'électronique des grilles défectueuses ou des conceptions marginales peut faire échouer la puce et tomber de "l'enveloppe" binaire.
  • un autre composant de base de l'électronique non binaire est le bruit . une grande partie de la conception du circuit intégré peut être considérée comme le contrôlant / le minimisant. en fait, l'électronique binaire peut être considérée comme un moyen d'éliminer le bruit des circuits pour obtenir des signaux "silencieux".
vzn
la source
1
Les tongs peuvent être analysées logiquement - les valeurs des fils au moment t+1 dépendent de leurs valeurs au moment t et la valeur de l'entrée ou des entrées au moment t.
Yuval Filmus
oui, mais en contraste, les circuits sans rétroaction peuvent être analysés sans concept de temps, et la "logique" en mathématiques n'a pas de concept fondamental de temps (en contraste fort avec CS / EE exactement comme dans l'exemple). aussi, lier la sortie à l'entrée de la même porte n'a pas beaucoup de sens purement "logiquement" sans la notion de temps et une direction de courant!
vzn
1
Les programmes sont systématiquement analysés avec la notion de temps. Chaque fois que vous avez des variables mutables, vous devez en tenir compte.
Yuval Filmus
bien sûr. c'est la large conception Turing complète ou EE de la "logique". les systèmes de logique mathématique antérieurs / plus limités, par exemple la logique propositionnelle ou l'algèbre booléenne (qui, autrement, les circuits de modèle volumineux) n'ont pas de notion de temps. par la façon dont les circuits intégrés défectueux sont une partie incontournable du processus de fabrication et les puces "passées / vérifiées" sont appelées le rendement .
vzn
1

Vous posez plusieurs choses différentes en une seule question. C'est peut-être une bonne idée de démêler le problème par vous-même. Vous parlez de physique, de définition de l'industrie et d'architecture logicielle / informatique.

que le langage le plus bas que nous pouvons trouver que la machine comprend est binaire comme 1 et 0. Et tout ce que nous entrons devra être transformé / converti en binaire.

Faisons cette partie en premier. Les ordinateurs modernes sont basés sur des circuits électriques. Par exemple, la plupart des processeurs ARM peuvent fonctionner à 5 volts. En raison de la façon dont le processeur ARM est intégré dans la structure, le processeur comprend un signal ~ 0 volt comme un bit 0 et ~ 5 volt comme un bit. C'est la définition choisie par quelqu'un.

mais étant des nombres binaires, cela ne signifierait-il pas que nous aurions besoin d'un autre interprète / compilateur pour transformer le binaire en langage machine réel?

Je ne comprends pas complètement ce que vous demandez ici. Mais disons que vous regardez d'un point de vue logiciel. Ensuite, le programme sera éventuellement transformé en lignes de bits réelles et en ligne de bits qui indiquent au CPU ce qu'il faut faire avec les bits. Ceux-ci sont introduits dans le CPU (unité de traitement) et en fonction de l'architecture du processeur, une action sera effectuée sur les données.

Nous savons tous de l'électronique qu'un ordinateur est principalement composé de CPU qui est donc un circuit intégré qui est donc composé de transistors, etc., et la seule chose que ces outils comprennent est l'électricité, donc l'électricité sera le langage le plus compréhensible pour un ordinateur. Donc, ma préoccupation est, le binaire est-il vraiment 1 et 0 ou les 1 et 0 sont juste utilisés pour représenter l'absence et / ou la présence d'électricité?

Comme je l'ai mentionné un peu plus haut, c'est la façon dont les ordinateurs sont construits. Vous pouvez exécuter le processeur sur d'autres tensions mais cela ne fonctionnera pas (je pense). Parce qu'une définition particulière est faite à quelle tension un bit est 0 ou 1.

En supposant qu'il ne s'agit que d'une représentation de l'absence ou de la présence d'électricité, n'y aurait-il pas un autre langage intermédiaire ou même inférieur entre les commandes que nous entrons et le binaire, afin que les circuits sachent où envoyer le courant et où ne pas le faire?

Oui, essentiellement des signaux analogiques. Mais gardez à l'esprit que la plupart du temps, ils sont convertis par un ADC (convertisseur numérique analogique) en une valeur de bit qui représente une tension prédéfinie sur cette ligne.

pwghost
la source