[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GULLIVER] Fiche bricolage version beta 1 - usage interne
|
From |
Stephane Ecolivet <Stephane dot Ecolivet at irisa dot fr> |
|
Subject |
[GULLIVER] Fiche bricolage version beta 1 - usage interne |
|
Date |
Fri, 12 Feb 1999 15:04:10 +0100 |
Salut à tous,
Pour ceux qui sont intéressés (soit pour lire, soit
pour me signaler d'éventuelles erreurs orthographiques
ou non, voici le source LaTeX2e de la fiche bricolage
#1 : Le dual Celeron 450. La version finale intègrera
des schémas et une table en plus. Ce document est
pour l'instant à usage interne à l'association ; il
pourra faire parti du bulletin si les responsables
éditoriaux le jugent utile, pertinent ou intéressant.
Merci à Laurent pour sa relecture.
Amicalement,
--
Stéphane
=============< fiche_bricolage_n1.tex >=============
\documentclass[11pt]{article}
\usepackage{french}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{epsfig}
\title{\textsc{Fiche bricolage n\degre~1}~:\\
le dual celeron 450~MHz}
\author{Stéphane Écolivet}
\date{}
\begin{document}
\maketitle
\section*{Avant-propos et avertissement}
Ce texte ne relate que les manipulations que j'ai faites
pour construire l'ordinateur décrit ci-dessous. Les
manipulations décrites n'ont pas la prétention de pouvoir
être faites à nouveau
et de fonctionner. \textbf{Les personnes tentant des
manipulations similaires le font à leurs risques et
périls}, je ne serai être tenu responsable des
éventuelles conséquences de ces actions.
\section{But de la man\oe{}uvre}
Les processeurs \texttt{x86} bas de gamme d'aujourd'hui
sont les \texttt{Celeron~300~A}. Ces processeurs sont
constitués d'un noyau de \texttt{Pentium~II} avec quelques
caractèristiques des processeurs \texttt{Xeon}. Les premiers
\texttt{Celeron} n'avaient pas de cache de niveau 2 et
avaient des performances très faibles\footnote{Pour mesurer
l'impact du cache de niveau 2, une manipulation très simple
consiste à le désactiver dans le BIOS lorsque celui-ci
le permet.}. Ce fut un échec commercial. La version suivante,
à laquelle appartiennent les \texttt{Celeron~300~A},
intègre 128 Ko de cache de niveau 2. Le cache du
\texttt{Celeron} fonctionne à la fréquence du processeur
alors que les 512 Ko du \texttt{Pentium~II} sont cadencés
à la moitié de cette fréquence. Réservé au marché bas
de gamme, le \texttt{Celeron} est
bridé par rapport au \texttt{Pentium~II}~: le bus fonctionne
à 66 MHz et ne peut fonctionner en multiprocesseur.\\
Nous allons expliquer comment nous avons passé ces
limitations.
\section{Matériel utilisé}
Nous avons utilisé le matériel suivant~:
\begin{itemize}
\item 2 \texttt{Celeron~300~A}, Slot~1 de fabrication
Malaisienne~;
\item 2 ventilateurs à roulement à bille~;
\item une carte-mère dual Slot~1, la
\texttt{DFI~P2XBL/D} au format ATX~;
\item un boitier grand tour du même format~;
\item mémoire SDRAM à 100 MHz~;
\item un fer à souder~;
\item du fil de cuivre d'un millimètre de diamètre~;
\item du fil électrique gainé, d'environ 0,5
millimètre de diamètre~;
\item 2 mèches de 0,4 et 0,5 millimètre de diamètre~;
\item du ruban adhésif isolant électrique~;
\item du vernis à ongle (rose, mais cela n'a aucune
importance)~;
\item la documentation technique d'Intel concernant
les \texttt{Pentium~II} et \texttt{Celeron}, librement
accessible sur le web.
\end{itemize}
\section{Augmentation de la fréquence des \texttt{Celeron}}
La fréquence du processeur est celle du bus multipliée
par un coefficient fixe au processeur. Dans le cas du
\texttt{Celeron~300~A}, ce coefficient est 4,5 et la
fréquence du bus est 66 MHz. Le seul moyen d'augmenter
la fréquence du processeur est d'augmenter celle du
bus. La carte-mère choisie supporte les fréquences du bus
suivantes~: 66, 68, 75, 83, 100, 103, 112 et 133 MHz.
En installant un processeur et un terminateur dans
la carte-mère, nous testons chaque processeur avec un
bus à 68, 75 et 83 MHz. Ces fréquences se sélectionnent
directement dans le BIOS. Les \texttt{Celeron} étant
réputés pour pouvoir être facilement sur-cadencés,
aucune surprise, tout fonctionne très bien à ces
fréquences.
Cependant, la carte-mère ne donnera la possibilité
d'utiliser les fréquences supérieures que si le
processeur en permet l'utilisation.\\
La carte-mère acquère cette information par la broche
B~21 de la carte-support du processeur. Si le circuit
est fermé, le bus doit officiellement fonctionner à
66 ou 75 MHz, s'il est ouvert, le bus doit fonctionner
à 100 MHz. Nous allons donc ouvrir le circuit en
recouvrant la broche B~21 de vernis à ongle afin que
le contact n'ait plus lieu. Après avoir laissé
sécher, nous réinstallons un processeur et passons le
bus à 100 MHz. Le processeur fonctionne maintenant
correctement à 450 MHz. La même manipulation est
effectuée sur l'autre processeur.
\section{Plusieurs processeurs}
C'est le Japonais Tomohiro Kawada qui a réalisé le
premier système bi-\texttt{Celeron}. Il s'est aperçu
que très peu de différences existaient entre le
brochage du \texttt{Pentium~II} (qui fonctionne en
multiprocesseur) et le \texttt{Celeron}. Pour fonctionner
en multiprocesseur, un mécanisme, appelé \textit{APIC},
réparti les interruptions du bus PCI sur les interruptions
des processeurs. Pour fonctionner, il faut que chaque
processeur puisse recevoir ces interruptions à tour de
rôle. Le choix du processeur se fait via les broches
BR0\# et BR1\#. La broche BR0\# est nécessaire au
fonctionnement
même du processeur et n'a subie aucune modification
par rapport à celle du \texttt{Pentium~II}. Par contre,
la broche BR1\#, au lieu d'être alimentée en 1,5~V et de
devenir active à 0~V, est alimentée en 2~V et ne peut
donc jamais être dans l'état actif.\\
La solution à ce problème est simple~: déconnecter
l'alimentation en 2~V de cette broche et la connecter sur
une alimentation à 1,5~V. C'est ce que nous allons faire.
\subsection{Déconnexion}
La broche BR1\# est alimentée via la carte-support. Pour
couper cette connexion, nous allons forer dans la
broche elle-même, à partir de la face inférieure de
la carte-support. La broche a un diamètre de 0,5 millimètre.
Des connections étant proches, nous commençons par forer
avec une mèche de 0,4 millimètre de diamètre. N'ayant pas
trouvé de mini-perceuse avec un mandrin approprié, je l'ai
fait à la main, en tournant la mèche entre mes doigts. Le
trou à faire est de l'épaisseur de la carte-support, soit
environ 1,5 millimètre. Une fois le trou de 0,4 millimètre
soigneusement fait, bien verticalement, il suffit de l'élargir
avec la mèche de 0,5 millimètre pour déconnecter totalement
la broche BR1\#.
\subsection{Alimentation en 1,5~V}
La source d'alimentation de la broche BR1\# peut être
la broche du haut à gauche du composant RP6 de la
carte-support. Cette alimentation n'est pas utilisée,
pas d'effets négatifs à attendre.
Faute d'avoir une panne de fer à souder
suffisamment fine, j'ai enroulé un fil de cuivre autour
de la panne en le laissant dépasser de quelques millimètres.
Il convient de «~mouiller~» le fil avec de la soudure
avant utilisation. Ensuite, il faut délicatement souder
la source d'alimentation sur la partie supérieure de la
broche BR1\#. Le fer à souder n'ayant pas de thermorégulation,
on ne s'attarde pas sur les composants.\\
Ce premier fil soudé, il faut maintenant connecter BR1\#
au connecteur B~75. C'est la partie la plus délicate.
Le connecteur B~75 se trouve sur la face opposée de la
carte-support. On utilisera donc un fil reliant la soudure
précédente à B~75 en le passant par
un trou servant de support pour l'installation du
ventilateur. La soudure sur B~75 est difficile~: elle
ne doit pas toucher les broches voisines et doit résister
à l'introduction de la carte-support dans le slot de la
carte-mère. Si elle devait être arrachée, le PC ne booterait
pas.\\
Les deux processeurs ayant subit cette transformation,
le système a ensuite été testé avec un disque Linux.
Un noyau utilisant les multi-processeurs a été compilé,
puis utilisé. Première découverte~: deux logos Linux
apparaissent lors du boot. Le système est rapide, puissant.
Si la stabilité semble correcte à 375 MHz (plus de 24
heures sans problème avec une charge moyenne supérieure
à 10), des problèmes apparaissent à 450 MHz~: avec une
charge de 10, le système se gèle et un reboot devient
nécessaire.
\subsection{Augmentation de la tension d'alimentation}
Lorsque l'on augmente la fréquence des processeurs,
le bruit électronique augmente. Tant que les signaux
ne sont pas confondus avec le bruit, tout marche.
L'ajout d'un processeur est aussi une source de bruit.
C'est pourquoi, le système fonctionne bien avec deux
processeurs à 375 MHz ou avec un processeur à 450 MHz,
mais se gèle avec deux processeurs à 450 MHz.
Le remède est simple~: augmenter l'intensité des signaux
afin qu'ils ne soient plus confondus avec le bruit.
Cela se fait en augmentant la tension d'alimentation du
processeurs.\\
Certaines cartes-mère permettent de modifier via le BIOS
cette tension d'alimentation. La notre règle automatiquement
cette tension selon les indications du processeur. Cette
tension peut varier de 1,8~V à 3,5~V. La tension de cinq
broches en indique la valeur~: B~120, A~120, B~119, A~119
et A~121. Leur
fonctionnement est identique à celui de la broche B~21
déterminant la fréquence du bus. La tension
«~normale~» de notre \texttt{Celeron} est de 2~V. La
seule tension légèrement supérieure facile à obtenir
est 2,2~V. Elle s'obtient en déconnectant les broches
A~121, A~119 et B~119 à l'aide de vernis à ongles.
\section{Conclusion}
Le système ainsi modifié fonctionne sans incident avec
des performances équivalentes à celle d'un
bi-\texttt{Pentium~II} cadencé à 450 MHz sous Linux.
Les deux objectifs premiers de cette manipulation
ont été atteints~: le \textit{fun} et une \textit{upgrade}
intéressante à coût très limité.
\section*{Bibliographie}
Les références indispensables avant de se lancer
dans l'aventure, toutes disponibles à cette adresse
(http://developer.intel.com/design/litcentr/index.htm)~:
\begin{itemize}
\item \textit{Intel Celeron Processor Datasheet}
\item \textit{Intel Pentium II Processor at 233MHz,
266MHz, 300MHz, and 333MHz Datasheet}
\item \textit{Intel Pentium II Processor GTL+
Guidelines}
\item \textit{P6 Family of Processors: Hardware
Developers Manual}
\end{itemize}
~
\tiny
\begin{center}
Ce document a été écrit avec \LaTeX2e sur le système Debian/GNU
Linux décrit ci-dessus.
\end{center}
\end{document}