les bases de l'electroniques sont les fonctions logiques simples, réalisées aujourd'hui principalment à l'aide de transistor MOS
les fonctions de base sont le direct, l'inverse, le OU et le ET
l'information est binaire, comme vous le savez, le 1 étant une certaine valeur de tension , le 0 la tension nulle (notez que tout ce que je vais dire est théorique, puisque les circuits parfaits n'existent pas, on se réfèrent au seuils de tensions)
on a travaillé en 5, 3, 1.8 et maintenant 0.9 V Ne vous y trompez, les pertes sont faibles mais à l'Echelle des millions d'élèment d'un processeurm c'est l'enfer... et les ventilos
Les fonctions : on les représente en logique binaire par les simboles : barre (je la ferai ici avec le souslignage) a, si a vaut 0, a, vaut 1 et vice versa, la fonction ET (&) si a et b sont non nuls, a&b vaut 1 et zero sinon, et la fonction OU si a ou b est non nul alors aOUb vaut 1
on utilise des symboles aritmethiques pour représenter cette logique : a&b s'écrit a.b et aOUb, a+b
on montre que a.b = a+b
et que a+b = a.b (vous pouvez le faire de tete)
Comment on réalise ses fontions? Un transistor Laisse le courant passer si on lui présente une tension adéquoite dans sa base. (le transisotr ayant trois pattes, base, collecteur, emmeteur) Donc on laisse passer un signal en lui en apportant un autre
Si on met deux transistors en serie, le signal passe si les deux bases sont alimentées on réalise dont le ET
en parrallèle, il suffit que l'un des deux soit alimenté et on réalise le OU
La fonction inverse se réalise également de faòon simple (on peut mettre le trsnistot entre la partie du circuit au potentiel 1 et la masse (potentiel nul) si le transistor est alimenté, il devient passant et on obtient un signal nul...
En pratique on utilise la fonction NAND qui est literallement "NON ET" et qui peut servir de brique universelle pour faire toutes les autres. Gaspillage de transistor? oui, mais comme son modèle est réalisé automatiquement, c'est plsu economique de mettre bcp de portes NAND que de dessiner un circuit plus simple. (c'est ça l'industrie... ne soyez pas inquiets, c'est réellement effrayant)
Avec ces fonctions on pourra réaliser toute fonction COMBINATOIRE, c'est à dire qui a une série d'entrées donnée associe une sortie précise. Par exemple l'addition
l'addition binaire : 0+0 =0, 0+1=1, 1+0=1, 1+1=10
donc si on veut faire de grandes addition, on va faire des étages, avec en entrée: ieme chiffre du nombre A, ieme chiffre du nombre B, retenue précédente "r"
Pour la sortie, on a le i eme chiffre du total, "S" et la retenue "R"
on voit que S vaut 1 si on a un nombre impair de 1 en entrée, 0 sinon
donc par exemple S = r.(A.B+A.B)+r.(A.B+A.B)
On peut utiliser la fonction XOR qui fonctionne comme OU mais donne 0 si ses deux entrées sont à 1, pour simplifier) En tilisant deux XOR à la suite, on facilement la fonction
de meme on fera R qui devra valoir 1 si au moins deux entrées valent 1
R = A.B +A.r +B.r
donc en construisant ces deux fonctions avec les portes logiques, on aura en sortie S, qui sera la valeur du ieme chiffre du total à calculer. La sortie R est reliée à l'entrée r de l'étage suivant... et on obtient le calcul avec la retenue
avec n étages on fera un nombre à n chiffres +(la dernière retenue) aui permet de calculer des nombres valant jusqu'à 2^n (pour rappel, 2^10 = 1024)
donc voilà , on peut calculer presque instantanément une addition. En ajoutant un bit au début pour indiquer le signe, et avec des règles simples de passages aux entiers négatifs, la soustraction se fait facilement
Un multiplicateur est une série d'additionneurs, c'est evidemment une operation plus "lourde" certains processeurs (DSP) ont des fonctions directement conçues pour faire les multiplications à grandes vitesses
Mais tout ceci ne permet pas de faire des operations sequentielles (donc dans le temps) ici interviendront les memoires...
|