Bernard Ourghanlian, responsable technologies et s�curit� de Microsoft France, nous a �crit � la suite de la publication de l'article Windows incapable d'exploiter les derniers processeurs. Nous publions ci-dessous, en italiques, son courrier, ainsi que notre r�ponse. Selon l'article publi� par le Monde Informatique il semblerait que Windows serait incapable d'exploiter les derniers processeurs et serait, en particulier, incapable de g�rer plus de 16 threads. Fort heureusement, il n'en est rien, ainsi que le d�montre un examen rapide de l'affichage du gestionnaire de t�che sur un simple PC portable qui permet de visualiser 67 threads rien que pour le processus OUTLOOK.EXE, 37 pour explorer.exe, etc. Autrement dit, Windows Vista - ainsi que d'ailleurs toutes les versions successives de Windows NT depuis sa version initiale - est un syst�me d'exploitation qui est parfaitement capable de g�rer un nombre extr�mement important de threads. En fait, il n'y a pas de d'autre limite au nombre de threads qu'il est possible de cr�er sur un syst�me Windows que la quantit� de m�moire adressable par un processus utilisateur. Ce que veut dire M. Ty Carlson dont le nom est cit� dans cet article, c'est qu'avec l'av�nement et la g�n�ralisation des processeurs multi-coeurs, la plupart des applications qui tournent aujourd'hui sur un PC n'ayant pas �t� con�ues � l'origine pour s'ex�cuter dans un environnement multiprocesseur, celles-ci ne pourront pas n�cessairement profiter de l'ensemble des coeurs disponibles pour s'ex�cuter plus rapidement car elles n'ont pas �t� pens�es pour s'ex�cuter en parall�le. Autrement dit, dans la mesure o� les processeurs sont en train de devenir massivement multi-coeurs, il va falloir faire �voluer les techniques de programmation pour en tirer parti mais cela n'a absolument rien � voir avec le fait que Windows ne puisse pas tirer parti de 4 processeurs ou utiliser plus de 16 threads. Derni�re remarque : l'article fait �galement r�f�rence au fait � qu'en configuration standard, XP est toujours limit� � n'exploiter que 128 Ko de la m�moire cache des processeurs Intel � ; fort heureusement, ce n'est pas Windows XP (ni un quelconque syst�me d'exploitation d'ailleurs, qu'il soit d'origine Microsoft ou non) qui g�re la m�moire cache des processeurs Intel mais bien les processeurs eux-m�mes. Pour rappel, un cache est le nom donn� au premier niveau de hi�rarchie m�moire que l'on rencontre lorsque les adresses quittent le CPU. Quand le CPU trouve l'�l�ment demand� dans le case, on a ce que l'on appelle un succ�s cache. Quand il ne le trouve pas, on parle alors de d�faut de cache (ou �chec cache). Un ensemble de donn�es de taille fixe, appel� bloc, contenant le mot demand� est obtenu � partie de la m�moire principale et plac� par le cache. Le principe dit de localit� temporelle nous dit qu'il y a des chances que l'on ait besoin � nouveau de ce mot dans un futur proche : il est donc utile de le placer dans le cache o� il peut �tre obtenu rapidement. A cause du principe dit de localit� spatiale, il y a aussi une grande probabilit� que les autres donn�es du bloc soient bient�t n�cessaire. Le temps d'acquisition lors d'un d�faut de cache d�pend � la fois de la latence et de la bande passante m�moire : la latence d�termine le temps pour r�cup�rer le premier mot du bloc et la bande passante d�termine le temps pour r�cup�rer le reste de ce bloc. Un �chec cache est trait� par mat�riel et oblige les processeurs avec une ex�cution dans l'ordre � s'arr�ter (suspension) jusqu'� ce que la donn�e soit disponible.