Circuits et nombres 2-adiques Gérard Berry Chaire Algorithmes, machines et langages Collège de France Cours 2, le 9 avril 2013
Source du cours Ce cours reprend la théorie et la pratique de Jean Vuillemin (Digital Equipment X ENS) J. Vuillemin. On circuits and numbers, IEEE Trans. on Computers, 43:8:868-79, 1994 G. Berry, Collège de France, cours 2 09/04/2013
Nombres 2-adiques (Hensel, ~1900) R est une complétion de Q. Est-ce la seule? Non : nombres p-adiques pour p premier nombre infinis écrits poids faibles d’abord Beau, mais physique ? cf. Matière à Pensée, p. 32 Alain Connes / JP Changeux Jean Vuillemin : les entiers 2-adiques sont le bon Jean Vuillemin : modèle des circuits numériques En un sens, nous allons créer leur physique Ils unifient l’arithmétique infinie calculable et la logique Booléenne G. Berry, Collège de France, cours 2 09/04/2013
2 Z : anneau des entiers 2-adiques x 2 x0 x1 x2 … poids faibles d’abord opérations et de gauche à droite 0 200000... 2 (0) 1 210000... 21(0) 2 201000... 201(0) 1 211111... 2 (1) 2 201111... 2 0(1) x 2101010... 2 (10) y 2010101... 2 (01) y 2 x y 2/3 ou x y 1 x 2100000... 2001010... x 1 4x x 1/3 G. Berry, Collège de France, cours 2 09/04/2013
L’anneau des 2-adiques p / q existe pour p, q entiers ssi q est impair (cf. Euclide) 1 / 2 n’existe pas car la somme de bits x0x0 ne peut pas valoir 1 Pas d’ordre compatible avec les opérations 1 0 1 G. Berry, Collège de France, cours 2 09/04/2013
2 Z comme algèbre Booléenne 2-adique x vu comme l’ensemble { i | xi 1 } exemple: 1/3 2101010... { i | i pair } Opérations Booléennes point par point x y x y x (x y)n x n yn etc. x x 1 Relation arithmético-logique fondamentale 2100011... 2011100... 2111111... G. Berry, Collège de France, cours 2 09/04/2013
Espace Métrique de Cantor d(x,x) 0 d(x,y) 2n n min t.q. xn yn Exemple : d (201111..., 201101... 1/8) Lemme : 2 Z est ultramétrique : d(x,z) max (d(x,y), d(y,z)) x y z d(x,z) min (d(x,y), d(y,z)) G. Berry, Collège de France, cours 2 09/04/2013
Espace Métrique de Cantor Base d’ouverts : préfixes finis x0 x1...xn { 2 x0 x1...xn y0 y1...yn... | y 2 Z } 1 ex. ouvert de préfixe 210010 Compact – très différent des réels ! G. Berry, Collège de France, cours 2 09/04/2013
préservation de la finitude de l’information Fonctions continues Lemme : f : 2 Z 2 Z continue ssi f(x)n ne dépend que d’un nombre fini de xm 2 x0 x1......xm... 2 y0 y1...yn... Continuité préservation de la finitude de l’information G. Berry, Collège de France, cours 2 09/04/2013
Fonctions synchrones x f(x) x0 x1...xn... 0 x0 x1...xn... G. Berry, Collège de France, cours 2 09/04/2013
Fonctions synchrones et contractantes x f(x) Définition : f : 2 Z 2 Z synchrone ssi calculable par un circuit synchrone (de mémoire finie ou infinie) Théorème f : 2 Z 2 Z est synchrone si et seulement si f(x)n ne dépend que de x0x1...xn, i.e., est contractante x,y. d(f(x),f(y)) d(x,y) Preuve : « seulement si » trivial, Preuve : pour « si » voir la construction SDD diapo G. Berry, Collège de France, cours 2 09/04/2013
Circuits de Moore et contraction strictes Un circuit synchrone est de Moore ssi tout fil entre une entrée et une sortie passe par au moins un registre Circuit de Moore Une fonction f : 2 Z 2 Z est strictement contractante ssi f(x)n dépend seulement de x0x1...xn1 x,y. d(f(x),f(y)) d(x,y) Théorème : une fonction est strictement contractante ssi elle est réalisable par un circuit de Moore G. Berry, Collège de France, cours 2 09/04/2013
Rebouclage des circuits de Moore x f(x) G. Berry, Collège de France, cours 2 09/04/2013
Rebouclage des circuits de Moore f(x) f(x) x x,y. d(f(x),f(y)) d(x,y) x,y. d(f(x),f(y)) 0,6 d(x,y) Lifschitz Théorème de Banach : toute fonction Lifschitzienne sur un compact a un point fixe unique G. Berry, Collège de France, cours 2 09/04/2013
L’addition dans l’espace r = 0 + s a + b + 1 a b s r s a b mais en temps infini ! continuité : couper à n bits pour n bits de sortie + 2 a b s r 3 x2n x mod 2n s2n1 a2n b2n G. Berry, Collège de France, cours 2 09/04/2013
Additionneur 3 bits (Full Adder) oux ou et s a + a s b b r c c r bits a b c s 2 r Einsten et l’épaisseur de l’instant. Passer du continu au discret et du non-déterminisme au détermininme s a oux b oux c r (a et b) ou (b et c) ou (c et a) G. Berry, Collège de France, cours 2 09/04/2013
Opérateurs 2-adiques de base + a s b a b c s 2 r r c 2 x0 x1...xn... 2 0 x0 x1...xn... x 2 x 2 x0 x1...xn... 2 1 x0 x1...xn... x 1 2 x G. Berry, Collège de France, cours 2 09/04/2013
Addition et soustraction dans le temps + a b s r + a b s r 2r 12 r a b 2 r s 2 r a b 1 2 r s 2 r b b 1 s a b b 1 b même équation que dans l’espace ! a b s tick ! s a b G. Berry, Collège de France, cours 2 09/04/2013
Addition mixte espace / temps x y 2 x0 y0 x1 y1... + ap bp sp a ap ai b bp bi s sp si rp + ai bi si tick ! s a b 2ri ri toujours la même équation ! Code source constant pour tous les échanges espace / temps G. Berry, Collège de France, cours 2 09/04/2013
Addition stéréo sp si (ap ai) (bp bi) additionneur stéréo + s b + sp si (ap ai) (bp bi) r additionneur stéréo Alterne deux additions dans le temps stéréo canal gauche canal droit G. Berry, Collège de France, cours 2 09/04/2013
Addition et soustraction dans le temps + a b s + a b s a a s s b b tick ! G. Berry, Collège de France, cours 2 09/04/2013
Multiplication et division par une constante x 3 x preuve : x 2 x 3 x _ x y x / 3 preuve : y x 2 y division seulement par des entiers impairs! G. Berry, Collège de France, cours 2 09/04/2013
? Quasi-inverse y 1 / (12 x) y 2 x y 1 y 1 2 x y x contractante synchrone mais mémoire infinie (cf. construction SDD diapo ??) G. Berry, Collège de France, cours 2 09/04/2013
sur les bits qui passent ! Quasi-racine carrée y 1 8 x x z y ça ne nous dit rien sur les bits qui passent ! y 1 4 z y 2 1 8 z 16 z 2 z x 2 z 2 y 2 1 8 x 16 z 2 16 z 2 G. Berry, Collège de France, cours 2 09/04/2013
Décomposition spatio-temporelle de f synchrone f 0 premier bit sorti par f pour l’entrée 0... f 1 ... 1... f w dernier bit sorti par f pour le mot fini w f 0 0-prédicteur : f 0w = f (w0) pour tout mot w f 1 1-prédicteur : f 1w = f (w1) f u u-prédicteur : f uw = f (wu) pour tout mots w, u G. Berry, Collège de France, cours 2 09/04/2013
Automate de x 3 x + x 3 x 0 / 0 1 / 1 0 / 1 1 / 0 00 10 01 11 G. Berry, Collège de France, cours 2 09/04/2013
Prédicteur 0 de x 3 x + x 3 x 0 / 0 1 / 1 0 / 1 1 / 0 0 / 0 0 / 00 10 01 11 0 / 0 1 / 1 0 / 1 1 / 0 0 / 0 0 / 1 / 1 1 / 00 10 0 / 0 /0 0 / 0 / 0 1 / 1 / 0 0 / 0 / 1 01 11 1 / 1 / 0 1 / 0 1 / G. Berry, Collège de France, cours 2 09/04/2013
Etape de décomposition x 1 f 1 f 0 f (x) f 1 f 0 f(x) = mux(x, f 1 2 f 1(x), f 0 2 f 0(x)) G. Berry, Collège de France, cours 2 09/04/2013
Forme normale SDD de f : 2z2z 1 f11 f10 x f01 f00 f 01 f 00 f 11 f 10 ... f 1 f 0 x 1 f1 f0 f (x) Table de vérité dans l’espace et le temps ultra-rapide : chemin critique un mux La moitié des bits disparaît à chaque cycle G. Berry, Collège de France, cours 2 09/04/2013
SDD partagé de f : 2z2z à mémoire finie 1 f11 f10 x f01 f00 f 01 f 00 f 11 f 10 ... f 1 f 0 x 1 f1 f0 f (x) f à mémoire finie nb fini de prédicteurs f u distincts f à n registres SDD(f ) peut avoir 22 registres n G. Berry, Collège de France, cours 2 09/04/2013
Trace d’une fonction synchrone Tr(f) 2 f0 f1 f00 f01 f10 f11 f000 f001 ... f0 2 f1 4 (Tr(f 0) ʘ Tr(f1 )) L’application d’une trace Tr(f) à un argument x est continue calcul ? Série formelle sur Z/2Z : S(f) = n Tr(f)n zn Théorème : f : 2 Z 2 Z est de mémoire finie ssi S(f) est algébrique dans Z/2Z G. Berry, Collège de France, cours 2 09/04/2013
Des traces synchrones aux trancendants Théorème (Van der Porten) : si f est à mémoire finie, alors le nombre réel 0, f0 f1 f00 f01 f10 f11 f000 f001 ... est soit rationnel soit transcendant Automatic Sequences: Theory, Applications, Generalizations Jean-Paul Allouche et Jeffrey Shallit Cambridge University Press (21 juillet 2003) Cf. aussi cours 5 2010, systèmes finis, http://www.college-de-france.fr/site/gerard-berry/index.htm#|m=course|q=/site/gerard-berry/course-2009-2010.htm|p=../gerard-berry/course-2009-12-16-10h00.htm| G. Berry, Collège de France, cours 2 09/04/2013
Des fonctions continues aux circuits f continue mais pas synchrone dilater le temps nombre 2-adique : < valeur, validité > 0 0 1 0 1 1 0 1 1 1 0 0 ... 0 1 1 0 0 1 1 0 0 1 1 0 ... 0 1 1 0 1 Théorème : toute fonction continue peut être réalisée par un circuit synchrone avec validité G. Berry, Collège de France, cours 2 09/04/2013
Conclusion Merci à Jean Vuillemin Les 2-adiques sont le bon modèle des circuits synchrones arithmétiques (seulement ?) La distance 2-adique, la continuité et le synchronisme sont des notions vraiment fondamentales La structure de l’espace des prédicteurs reste à comprendre La relation fonction continue / circuit synchrone à validité est encore largement à étudier (calcul?) G. Berry, Collège de France, cours 2 09/04/2013
Commutation opérateurs / délais + + a s a s’ s’ b r b r’ r’ c c s’ 2 r’ 2 (abc) s’ 2 r’ 2 a 2 b 2 c Utilisation: couper les chemins critiques G. Berry, Collège de France, cours 2 09/04/2013
Annexe – optimisation par retiming Commutation opérateurs / registres Le retiming comme optimisation fondamentale des circuits en temps G. Berry, Collège de France, cours 2 09/04/2013
Le retiming, un accélérateur majeur + + Calcule 2s + + + + G. Berry, Collège de France, cours 2 09/04/2013
Le retiming, un accélérateur majeur + + Calcule 2s + + Calcule 4s + + G. Berry, Collège de France, cours 2 09/04/2013
Le retiming, un accélérateur majeur + n bits: latence n-1, temps 1 + + + Calcule 4s + + G. Berry, Collège de France, cours 2 09/04/2013