les processeurs X86 : une structure dépassée

désolé, cette page est un peu technique et nécessite quelques notions de programmation Si vous n'y connaissez rien, vous pouvez passer à la conclusion.

avertissement

dans ma jeunesse, j'ai fait un peu d'assembleur 6502 (conversion A/D, recueil de données, calcul et traçage de courbes sur écran), ça me permet de comprendre le pourquoi des choses, mais je n'ai pas suivi la technologie, aussi peut-il y avoir quelques micro inexactitudes ; merci de me les signaler ; le gros du raisonnement est cependant valable.

retour pourquoi Mac

au fait

un adressage limité obligeant à des tours de passe passe pour bénéficier de toute la mémoire.

une organisation des chiffres renversante (little endian, comme disent les informaticiens : on commence par le chiffre le plus petit, alors que tout le reste de l'informatique fonctionne... normalement)

une absence quasi totale de registres

des instructions CISC complétement dépassée, compensée par une structure quasi RISC en interne avec des bidouillages infames pour assurer la traduction des instructions CISC en fonctionnement RISC avec pipeline.

et depuis peu : une innovation marquante, Intel a annoncé l'intégration d'un dispositif d'identification au sein même du Pentium III, sous la forme d'un numéro de série propre à chaque processeur : le PSN (Processor Serial Number) permet aux différents logiciels d'identifier l'utilisateur.

Jugeant que ce marquage n'assurait plus l'anonymat sur Internet, deux associations américaines, l'Aclu et l'Epic, ont appelé assembleurs et consommateurs au boycott total du Pentium III (charte Big Brother Inside)

Mise à jour importante

Depuis cette annonce, la situation n'est c'est pas améliorée : les architectures TCPA et Palladium (=NGCB) ont suscité un grand émoi.

En gros, il sera bientot techniquement possible à Microsoft de vous obliger à demander son autorisation pour lire ou relire n'importe quel document, meme ceux que vous avez fait vous-même. Plus de détails

Plusieurs gouvernements ou administrations ont compris le problème, et commencent à interdire à leurs services informatiques d'acheter des licences Microsoft. Vous, vous faites comme vous voulez !!!

plus d'info

 

la carte mère

l'avis d'un programmeur PC sur le matériel dont il est affligé

Bien sûr je constate des anomalies parfois mais je crois que personne ne peut nier qu'il est quand même bien plus stable que ne l'était Windows 3.11 et plus encore que ne l'est DOS en général.

J'entends parfois dire que le système d'exploitation du Macintosh est de meilleure qualité que le "notre". C'est sans doute vrai. Mais il y'a une chose qu'il convient de constater : Windows il faut le dire à sa décharge tourne quand même sur une machine, l'IBM-PC qui sur le plan matériel est ... PARFAITEMENT MERDIQUE.

jugez plutôt:

- Un processeur qui fonctionne avec des segments mémoire de 64 Ko. De ce fait sous DOS, essayez de programmer le mode vidéo 800 x 600 - 256 couleurs par exemple il vous faudra du courage. Ce n'est qu'un exemple. Et avec un language d'assemblage d'une simplicité, et d'un bricolage!

 - 15 IRQs pour brancher les cartes. Là aussi bravo, il faut vouloir être limité en 1998.

 - 5 DMA, surtout n'en utilisez pas trop!

 - Une horloge à 18,2 Hz on croit rêver!!! Quelle précision! On ne descend même pas au centième de seconde.

 - Un beeper...et un beau! Vous savez désactiver le beeper sans débrancher le fil ?

Je trouve pour cette raison que pour avoir réussi à faire dans les trois quarts des cas une abstraction de ces problèmes pénibles Windows nous a quand même simplifié la vie.

Marc.LeBihan@wanadoo.fr

revenons à nos Beurks

 

et le commentaire d'un programmeur Mac

à un PCIste qui disait

> pourquoi quand je demande des critiques concretes personne ne me répond ?

> c'est facile de dire que la prog c'est mieux sous mac que sous pc, mais

> dites pourquoi?

 

Bon, je répondrai, mais c'est une exception. J'en ai vraiment marre.

- Processeur Intel, donc :

- code assembleur merdique

- architecture mémoire pourrie

- little endian à la con

- BIOS, donc :

- code crétin

- OBSOLETE (as-tu vu OpenFirmware, juste un peu ?)

- Windows (95 ou NT, même douleur)

- WinSocks (As-tu vu les Streams de OpenStransport ?)

- Headers merdiques et redondants

- Visual C++ LOURD LOURD LOURD à crever

- MFC, le machin qui nécessite un préprocesseur et un assembleur, et qui prétend être écrit en C++, MOUARF !!!

- Pas de managers clairs et puissants, comme Sound Manager, QuickTime, QuickDraw (GX/3D/classique), etc. Rien que des DirectX ou autre BeurkX débiles et mal foutus.

- architecture d'impression ridicule

- OLE/COM, OUARF, mort de rire ! COM, je rigole.

- Scripting nullissime, pour ne pas dire inexistant au sens ou j'entend 'scripting'.

- installeurs impossibles à réaliser simplement

- gestion des DLL plus que douteuse

- Registery à la con, qui aurait pu être une bonne idée, mais tellement mal foutue en l'état...

Je te fait grâce par pure bonté d'âme des documentations relatives à ces divers joyeux sujets. Il serait vraiment méchant de les évoquer. Oui, vraiment.

J'aurais également pu entrer dans les détails (vu par le développeur) à propos de la sécurité de ces systèmes (95/NT), de ActiveX, de la qualité même des API, etc. Mais je suis dans un jour de bonté, je t'épargnerai donc cela.

Si tu veux d'autres exemples, ouvre un bouquin ou deux, par exemple les documentations que je me refuse à citer, tu comprendras très vite.

Le sage montre la lune, l'imbécile regarde le doigt.

Fabrice FT'e Truillot http://fte.home.ml.org/

revenons à nos Beurks

 

conséquences

Ces incohérences dans la structure et le langage des processeurs Intel expliquent les nombreux Bug ayant affecté la structure des premiers Pentium et Pentium II. On se souvient du rappel des premières séries de Pentium (dans les années 96-98, les Pentiums étaient aussi appelés Buggiums)

Cette structure anarchique nécessite aussi une puissance électrique beaucoup plus importante que les concurrents, expliquant la faible puissance des portables PC, qui ne peuvent fonctionner à fréquence acceptable qu'en utilisant des processeurs atrophiés de certaines fonctions.

Enfin, la mauvaise qualité des instructions X86 complique la tache des informaticiens, rendant le développement de projets X86 plus long, plus difficile et plus couteux. Ajoutons que le système d'exploitation Windows ne leur facilite pas la tache.

Dès que j'ai le temps, je vais retrouver un listing plus précis des incongruités du X86, mais depuis quelques mois, j'ai un disque dur de 4 GO, alors c'est plus difficile à fouiller...

 

revenons à nos Beurks