Circuit générateur de nombres aléatoires
2 participants
Page 1 sur 1
Circuit générateur de nombres aléatoires
INTEL annonce avoir conçu et fabriqué un circuit intégré VLSI qui génére des nombres strictement aléatoires à très haut débit (2,4 giga-nombres par seconde). Le coeur de ce circuit intégré utilise les fluctuations thermiques d'un circuit, phénomène strictement aléatoire.
Outre les applications de sécurité, dont je me fiche un peu, j'attends avec impatience sa mise sur le marché! Il permettra de disposer enfin de générateurs vraiment aléatoires, très utiles en calcul (méthode de MC et similaires) mais aussi en simulation des process.
Voir http://spectrum.ieee.org/computing/hardware/intel-makes-a-digital-coin-tosser-for-future-processors
Outre les applications de sécurité, dont je me fiche un peu, j'attends avec impatience sa mise sur le marché! Il permettra de disposer enfin de générateurs vraiment aléatoires, très utiles en calcul (méthode de MC et similaires) mais aussi en simulation des process.
Voir http://spectrum.ieee.org/computing/hardware/intel-makes-a-digital-coin-tosser-for-future-processors
Re: Circuit générateur de nombres aléatoires
Je profite de ce post sur l'électronique pour poser une question. Je me suis toujours demandé comment on pouvait programmer quelque chose sur des circuits. Imaginons un truc "tout con", un petit robot qui agit d'une manière très précise lorsqu'il touche un objet durant son mouvement ; comment mettre en relation la partie électronique puis la partie programmation qui lui dicte ce qu'il faut faire lorsqu'il rencontre un obstacle ?
Je me doute que ça doit être compliqué d'expliquer ça avec les doigts -peut-être que je me suis mal fait comprendre aussi -, mais si tu pouvais essayer ...
Je me doute que ça doit être compliqué d'expliquer ça avec les doigts -peut-être que je me suis mal fait comprendre aussi -, mais si tu pouvais essayer ...
Guillaume- Nombre de messages : 45
Age : 34
Date d'inscription : 01/12/2008
Re: Circuit générateur de nombres aléatoires
Vaste question! Reprenons ton exemple. Imaginons donc un robot dont on décide qu'il doit reculer lorsque il touche un obstacle.
En énoncant cette phrase, on désigne trois objets : un capteur, qui détecte la rencontre avec l'obstacle; un effecteur, le moteur qui provoque le recul du robot; et un organe de commande, ce que tu appelles les "circuits", qui commande au moteur de changer de sens de rotation lorsque le capteur détecte l'obstacle. On suppose qu'on utilise un circuit programmable, comme un microprocesseur ou un micro-contrôleur, qu'il va falloir programmer. Pour simplifier l'écriture je l'appelle le "circuit"
le capteur génére un signal électrique lorsqu'il détecte l'obstacle. ce signal est envoyé au "circuit". Le "circuit" ne comprend que les signaux numériques, donc il faut d'abord transformer le signal du capteur en signal numérique. le circuit recoit ce signal et l'analyse. On verra tout à l'heure comment. A l'issue de cette analyse, le "circuit" a "décidé" de changer le sens de rotation du moteur pour reculer. Il envoit donc un ordre au moteur, sous forme numérique. En fait, les moteurs ne comprennent pas ce genre d'ordre. Il faut donc transformer cet ordre numérique en ordre analogique, que le moteur comprendra.
En résumé, 3 éléments : capteur, contrôle/commande, effecteur. Dans notre cas simple, un contact qui se ferme lorsque on touche l'obstacle, un mcircoprocesseur, et un moteur.
En énoncant cette phrase, on désigne trois objets : un capteur, qui détecte la rencontre avec l'obstacle; un effecteur, le moteur qui provoque le recul du robot; et un organe de commande, ce que tu appelles les "circuits", qui commande au moteur de changer de sens de rotation lorsque le capteur détecte l'obstacle. On suppose qu'on utilise un circuit programmable, comme un microprocesseur ou un micro-contrôleur, qu'il va falloir programmer. Pour simplifier l'écriture je l'appelle le "circuit"
le capteur génére un signal électrique lorsqu'il détecte l'obstacle. ce signal est envoyé au "circuit". Le "circuit" ne comprend que les signaux numériques, donc il faut d'abord transformer le signal du capteur en signal numérique. le circuit recoit ce signal et l'analyse. On verra tout à l'heure comment. A l'issue de cette analyse, le "circuit" a "décidé" de changer le sens de rotation du moteur pour reculer. Il envoit donc un ordre au moteur, sous forme numérique. En fait, les moteurs ne comprennent pas ce genre d'ordre. Il faut donc transformer cet ordre numérique en ordre analogique, que le moteur comprendra.
En résumé, 3 éléments : capteur, contrôle/commande, effecteur. Dans notre cas simple, un contact qui se ferme lorsque on touche l'obstacle, un mcircoprocesseur, et un moteur.
Dernière édition par domi le Dim 29 Aoû - 0:43, édité 1 fois
Re: Circuit générateur de nombres aléatoires
Voyons maintenant le cas du "circuit"!
Très schématiquement, dans ce "circuit", un micro-controleur ou un microprocesseur, on va trouver:
- des circuits qui permettent de dialoguer avec l'extérieur: le capteur, le moteur
- des circuits qui permettent de faire des calculs numériques et logiques. On les nomme ALU (Arithmetic and Logic Unit)
- des circuits qui permettent de stocker des données (mémoire données)
- des circuits qui permettent de stocker des instructions (mémoire programme).
ça c'est de l'électronique. Tous ces circuits sont construits avec des transistors, dont le fonctionnement relève de l'électronique pure.
Reste à leur faire faire les actions que l'on désire en fonction des données ou de l'environnement : c'est le programme, le software, par opposition au hardware constitué des circuits.
Pour faire un programme, on écrit d'abord une série d'instructions dans un langage "humain", par exemple ici : "si rencontre obstacle alors reculer".
Puis on traduit ces instructions "humaines" en instructions un peu plus "techniques", ce qui donne "si contact fermé alors inverser sens rotation moteur". Et enfin, on transforme cela en suite d'instructions "machines", en binaire, qui seront compréhensibles par l'ALU.
Ces transformations s'effectuent à l'aide de programmes spéciaux: les compilateurs ou les assembleurs.
Ces instructions machines sont stockées dans la mémoire programme du micro-contrôleur ou micro-processeur.
Voilà en très très gros.... Des questions?
Très schématiquement, dans ce "circuit", un micro-controleur ou un microprocesseur, on va trouver:
- des circuits qui permettent de dialoguer avec l'extérieur: le capteur, le moteur
- des circuits qui permettent de faire des calculs numériques et logiques. On les nomme ALU (Arithmetic and Logic Unit)
- des circuits qui permettent de stocker des données (mémoire données)
- des circuits qui permettent de stocker des instructions (mémoire programme).
ça c'est de l'électronique. Tous ces circuits sont construits avec des transistors, dont le fonctionnement relève de l'électronique pure.
Reste à leur faire faire les actions que l'on désire en fonction des données ou de l'environnement : c'est le programme, le software, par opposition au hardware constitué des circuits.
Pour faire un programme, on écrit d'abord une série d'instructions dans un langage "humain", par exemple ici : "si rencontre obstacle alors reculer".
Puis on traduit ces instructions "humaines" en instructions un peu plus "techniques", ce qui donne "si contact fermé alors inverser sens rotation moteur". Et enfin, on transforme cela en suite d'instructions "machines", en binaire, qui seront compréhensibles par l'ALU.
Ces transformations s'effectuent à l'aide de programmes spéciaux: les compilateurs ou les assembleurs.
Ces instructions machines sont stockées dans la mémoire programme du micro-contrôleur ou micro-processeur.
Voilà en très très gros.... Des questions?
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum