• [^] # Re: Second degré...

    Posté par (site web personnel) . En réponse au journal Quand Linus énervé, Linus faire ça !. Évalué à 4.

    Bien sûr, et c'est même souvent fait 3x fois : la valid, à la verif et par l'équipe logiciel ensuite.

    Mais si le design n'est pas fait par des mecs des OS, tu te retrouves avec des registres qui n'ont pas le comportement habituel de la mémoire (reset sur lecture, par exemple) qui oblige à mettre des volatile partout dans ton code, ce qui ralentit tout. Ou alors tu as 50 modules ayant tous le même registres d'enable, avec tous une subtilité, donc au lieu d'avoir un seul registre calculé avec un offset par rapport à l'adresse de base du périphérique, tu as un gigantesque switch avec un bout de code pour chaque module. Tu peux avoir aussi un registre partagé entre 2 périphériques, ainsi les 2 drivers ne peuvent pas être indépendant.

    Tu peux aussi avoir des mécanismes automatiques, mis en hard pour accélérer le système par rapport au logiciel, mais qui nécessite que le logiciel comprenne ce qui se passe et anticipe le comportement du hardware ! Simplement car il manque des interruptions pour que le hardware signale son état interne.

    Tu peux avoir des points de fonctionnement assez fin tension/fréquence, complètement gaché par l'énergie que dépense la mémoire cache.

    De ce que j'ai vu, c'est surtout des spécifications écrite par des personnes du hardware, et non par des personnes systèmes qui maitrisent hardware et software. Pour eux, l'interface n'est pas si important et ne représente qu'une liste d'adresse mémoire.

    "La première sécurité est la liberté"