Introprocesseur Virtuel 16bits
Publié : dim. 12/déc./2010 22:52
Bonjour, j'ai développé une sorte de complément virtuel (pour l'instant) d'un microprocesseur.
J'ai appelé cela un introprocesseur.
Il s'agit d'un fichier à stocker sur un supporte rapide, ou une ROM rapide d'accès.
C'est une sorte de ROM à double adressage : (je ne sais pas si cela existe physiquement)
On y rentre un nombre considéré comme un résultat dans la première adresse, et l'on teste si un deuxième nombre est facteur du premier en le rentrant en tant que deuxième adresse. Le resultat obtenu en donnée est un '0' ou un '1'.
C'est un petit pas intermédiaire entre l'ordinateur traditionnel et l'ordinateur quantique, puisque cela permet, à partir d'un résultat, de retrouver des tas de possibilités ayant permis d'atteindre ce résultat.
De plus, on peut savoir, dans certaines limites, si un nombre est premier.
Le principe est simple : Au lieu de calculer pour chaque nombre s'il est premier et quels sont les facteurs le composant à chaque fois, on calcule dans une fichier tous les facteurs de chaque nombre sous une forme la plus simplifiée possible... des 0 et des 1.
Exemple :
12 peut être représenté par 000010|111110. Ça se lit de gauche à droite. Le 1er 0 correspond au facteur '1', le 2ème au facteur '2', etc...
Si on trouve un '0', alors, le facteur correspondant permet de recomposer le nombre. Toute la partie droite du nombre, soit N/2 est inutile, puisqu'elle ne contient qu'au mieux un '0' correspondant au nombre lui même.
Et la logique pour recomposer cette sorte de crible mathématique est :
1 2 3 4 5 6 7 8 9 (adresse facteurs)
0 0 0 0 0 0 0 0 0 | 00 (adresse de résultat)
0 1 1 1 1 1 1 1 1 | 01
0 0 1 1 1 1 1 1 1 | 02
0 1 0 1 1 1 1 1 1 | 03
0 0 1 0 1 1 1 1 1 | 04
0 1 1 1 0 1 1 1 1 | 05
0 0 0 1 1 0 1 1 1 | 06
0 1 1 1 1 1 0 1 1 | 07
0 0 1 0 1 1 1 0 1 | 08
Regardez bien chaque colonne (verticale), et vous verrez que cela ressemble à des fréquences.
Un pro en algorithmique peut probablement casser les nombres premiers...
Vous trouverez un code source d'application ici :
http://www.lumene.fr/Introprocesseur_Virtuel_16bits.zip
Il faut d'abord lancer le calcul de la ROM virtuelle une bonne fois pour toute, et ensuite, l'introprocesseur virtuel peut être utilisé.
Ceci n'est qu'un code source test à améliorer.
Comme dirait Morpheus dans Matrix : "Je ne peux que te montrer la voie, Neo !"
Bref, si quelqu'un comprend l'intérêt de ce code source et la théorie, il peut probablement parvenir à fabriquer des merveilles qui seront plus puissantes que l'ordinateur de météo-france, et peut-être, donc, faire avancer la science à pas de géants.
J'ai appelé cela un introprocesseur.
Il s'agit d'un fichier à stocker sur un supporte rapide, ou une ROM rapide d'accès.
C'est une sorte de ROM à double adressage : (je ne sais pas si cela existe physiquement)
On y rentre un nombre considéré comme un résultat dans la première adresse, et l'on teste si un deuxième nombre est facteur du premier en le rentrant en tant que deuxième adresse. Le resultat obtenu en donnée est un '0' ou un '1'.
C'est un petit pas intermédiaire entre l'ordinateur traditionnel et l'ordinateur quantique, puisque cela permet, à partir d'un résultat, de retrouver des tas de possibilités ayant permis d'atteindre ce résultat.
De plus, on peut savoir, dans certaines limites, si un nombre est premier.
Le principe est simple : Au lieu de calculer pour chaque nombre s'il est premier et quels sont les facteurs le composant à chaque fois, on calcule dans une fichier tous les facteurs de chaque nombre sous une forme la plus simplifiée possible... des 0 et des 1.
Exemple :
12 peut être représenté par 000010|111110. Ça se lit de gauche à droite. Le 1er 0 correspond au facteur '1', le 2ème au facteur '2', etc...
Si on trouve un '0', alors, le facteur correspondant permet de recomposer le nombre. Toute la partie droite du nombre, soit N/2 est inutile, puisqu'elle ne contient qu'au mieux un '0' correspondant au nombre lui même.
Et la logique pour recomposer cette sorte de crible mathématique est :
1 2 3 4 5 6 7 8 9 (adresse facteurs)
0 0 0 0 0 0 0 0 0 | 00 (adresse de résultat)
0 1 1 1 1 1 1 1 1 | 01
0 0 1 1 1 1 1 1 1 | 02
0 1 0 1 1 1 1 1 1 | 03
0 0 1 0 1 1 1 1 1 | 04
0 1 1 1 0 1 1 1 1 | 05
0 0 0 1 1 0 1 1 1 | 06
0 1 1 1 1 1 0 1 1 | 07
0 0 1 0 1 1 1 0 1 | 08
Regardez bien chaque colonne (verticale), et vous verrez que cela ressemble à des fréquences.
Un pro en algorithmique peut probablement casser les nombres premiers...
Vous trouverez un code source d'application ici :
http://www.lumene.fr/Introprocesseur_Virtuel_16bits.zip
Il faut d'abord lancer le calcul de la ROM virtuelle une bonne fois pour toute, et ensuite, l'introprocesseur virtuel peut être utilisé.
Ceci n'est qu'un code source test à améliorer.
Comme dirait Morpheus dans Matrix : "Je ne peux que te montrer la voie, Neo !"
Bref, si quelqu'un comprend l'intérêt de ce code source et la théorie, il peut probablement parvenir à fabriquer des merveilles qui seront plus puissantes que l'ordinateur de météo-france, et peut-être, donc, faire avancer la science à pas de géants.