PDA

Voir la version complète : La séquence de boot : différentes questions...



DJ_DaMS
05/12/2007, 13h42
Bonjour à tous,

Je me pose deux questions, qui bien que n'ayant pas beaucoup de rapport entre elles, peuvent, je pense cohabiter dans le même topic.

La première concerne ce qu'on appelle le microcode. De quoi s'agit-il exactement? Comment ça marche?
Je crois savoir qu'il s'agit d'un code qui est chargé dans le CPU lors du boot de la machine. Quel genre de code est-ce? Un programme en assembleur? une liste de paramètres binaires? du FPGA? Je crois également savoir que ce microcode peut être mis à jour via une update BIOS.

Cela m'amène à la deuxième question : pourquoi, malgré la puissance sans cesse croissante du matériel, le temps de boot d'une machine est toujours aussi long ? (avant tout chargement d'OS).

Merci d'avance pour les réponses.

fefe
05/12/2007, 14h01
un lien Wiki s'impose meme si clairement obsolete ca repond un peu: http://fr.wikipedia.org/wiki/Microcode
http://en.wikipedia.org/wiki/Microcode la version anglaise est plus detaillee.

En gros dans la plupart des CPUs il y a un microcontroleur qui peut changer le comportement d'un certain nombre de fonctions, le microcode est le programme qui s'adresse a ce controleur. Un exemple classiques de ce que peut faire le microcode: ecrire des registres de controle (pour par ex activer ou desactiver les prefetchers).

Des patchs au microcode peuvent etre charges lors du boot par le BIOS, oui, en revanche les constructeurs encryptent ledit microcode pour garantir que personne d'autre ne peut le changer qu'eux.

Le temps de boot si tu ne teste pasa la RAM et desactive tous les disques durs et enleve tous les peripheriques, tu le vois toi (moi pas vraiment)?

PS: un programme assembleur s'assemble toujours en une liste de parametre binaires, et je me passerai de commenter sur "du FPGA" suggerant juste un peu de lecture sur le sujet.

DJ_DaMS
05/12/2007, 15h27
Merci fefe :)

Oui le "du FPGA" est un raccourci un peu brutal, sorry. Je sais ce qu'est un FPGA. Je pensais un moment qu'il y avait un petit FPGA au sein du CPU, ce qui permettait de changer certaines fonctions "à la volée". (Ce qui explique à quel point j'étais dans le brouillard)

Pour ce genre de sujet, j'ai plutot le refexe "X86" que Wiki... grace à toi fefe ;)
Je ferai un effort la prochaine fois.

Pour le temps de boot, c'est vrai que sur une machine simpliste, c'est raccourci à sa plus simple expression.

Sur un server, c'est autre chose (sans même avoir de controler RAID, LAN boot ROM ou Fiber Channel... si en plus il y en a, on peut aller boire un café)

Minuteman
13/12/2007, 07h52
Des patchs au microcode peuvent etre charges lors du boot par le BIOS, oui, en revanche les constructeurs encryptent ledit microcode pour garantir que personne d'autre ne peut le changer qu'eux.

En passant c'est pas comme-ça que les fameux "virus destructeurs de processeurs" étaient censés fonctionner? Il y a eu 2-3 résurgences de news en ce sens ces dernières années.

Neo_13
13/12/2007, 08h33
En passant c'est pas comme-ça que les fameux "virus destructeurs de processeurs" étaient censés fonctionner? Il y a eu 2-3 résurgences de news en ce sens ces dernières années.
ouais, mais ça n'est toujours pas possible :p

fefe
13/12/2007, 09h44
Il y a des activites bien plus lucratives que de casser des CPUs si on reussit a passer la crypto du ucode d'un cpu... Et pour y reussir il faut etre intelligent, et en general ces memes gens intelligents preferent faire de l'argent avec :).

Tramb
13/12/2007, 18h19
Il y a des activites bien plus lucratives que de casser des CPUs si on reussit a passer la crypto du ucode d'un cpu... Et pour y reussir il faut etre intelligent, et en general ces memes gens intelligents preferent faire de l'argent avec :).

Sauf si ça permet d'éxécuter du code non signé sur des consoles par exemple.
Là ça rapporte.
Mais bon en général on s'attaque plutôt au microcode des lecteurs DVD dans ces cas-là c'est plus faiblichon :)