{"id":4109,"date":"2026-09-29T12:13:16","date_gmt":"2026-09-29T12:13:16","guid":{"rendered":"https:\/\/www.chess.lumn.eu\/wordpress\/?p=4109"},"modified":"2026-09-30T08:41:03","modified_gmt":"2026-09-30T08:41:03","slug":"stockfish-11-68020-68040","status":"publish","type":"post","link":"https:\/\/www.chess.lumn.eu\/wordpress\/2026\/09\/29\/stockfish-11-68020-68040\/","title":{"rendered":"Stockfish 11 &#038; Fruit 2.1 : 68020, 68040 &#038; ARM"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4109\" class=\"elementor elementor-4109\">\n\t\t\t\t\t\t<div class=\"elementor-inner\">\n\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6f00d29 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6f00d29\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2ac67d1\" data-id=\"2ac67d1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8ab859a elementor-widget elementor-widget-html\" data-id=\"8ab859a\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,400&family=JetBrains+Mono:wght@400;500;700&display=swap\" rel=\"stylesheet\">\n<style>\n  .naum-body{\n    --creme:#f7f4ee; --encre:#2b2b2b; --rouge:#c0392b;\n    --or:#b8863b; --trait:#e3ddd0; --gris:#6b665c;\n    max-width:900px; margin:0 auto; padding:64px 28px 120px;\n    background:var(--creme); color:var(--encre);\n    font-family:'DM Sans',system-ui,sans-serif; font-weight:400;\n    font-size:18px; line-height:1.72; -webkit-font-smoothing:antialiased;\n  }\n  .naum-body, .naum-body *{box-sizing:border-box;}\n\n  .naum-body h1{font-family:'DM Serif Display',serif; font-weight:400; font-size:2.9rem;\n     line-height:1.08; letter-spacing:-.5px; margin:0 0 .35em; color:var(--encre);}\n  .naum-body h2{font-family:'DM Serif Display',serif; font-weight:400; font-size:1.85rem;\n     line-height:1.15; letter-spacing:-.3px; margin:2.6em 0 .5em; padding-bottom:.25em;\n     border-bottom:2px solid var(--rouge); color:var(--encre);}\n  .naum-body h3{font-family:'DM Sans',sans-serif; font-weight:700; font-size:1.1rem;\n     letter-spacing:.2px; text-transform:uppercase; margin:1.8em 0 .4em; color:var(--rouge);}\n  .naum-body .eyebrow{font-family:'JetBrains Mono',monospace; font-size:.78rem; letter-spacing:3px;\n     text-transform:uppercase; color:var(--or); margin:0 0 1.2em;}\n  .naum-body .chapeau{font-size:1.22rem; line-height:1.6; color:var(--gris); font-style:italic;\n     margin:0 0 2.4em; padding-left:1.1em; border-left:3px solid var(--or);}\n  .naum-body p{margin:0 0 1.15em;}\n  .naum-body a{color:var(--rouge); text-decoration:none; border-bottom:1px solid rgba(192,57,43,.35);}\n  .naum-body a:hover{border-bottom-color:var(--rouge);}\n  .naum-body strong{font-weight:700;}\n  .naum-body code{font-family:'JetBrains Mono',monospace; font-size:.85em; background:#efe9dd;\n     padding:.08em .35em; border-radius:3px; color:#7a3b2e;}\n  .naum-body ul,.naum-body ol{margin:0 0 1.2em; padding-left:1.35em;}\n  .naum-body li{margin:.4em 0;}\n\n  .naum-body ol.etapes{list-style:none; padding-left:0; counter-reset:et;}\n  .naum-body ol.etapes>li{counter-increment:et; position:relative; padding-left:52px; margin:1.1em 0;}\n  .naum-body ol.etapes>li::before{content:counter(et); position:absolute; left:0; top:-2px;\n     width:34px; height:34px; border-radius:50%; background:var(--rouge); color:#fff;\n     font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1rem;\n     display:flex; align-items:center; justify-content:center;}\n\n  .naum-body .box{border-radius:8px; padding:18px 22px; margin:1.6em 0; font-size:.97rem; line-height:1.62;}\n  .naum-body .box .box-titre{font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:2px;\n     text-transform:uppercase; display:block; margin-bottom:.5em; font-weight:700;}\n  .naum-body .naum-note-box{background:#f3ecda; border:1px solid #ddd0ab;}\n  .naum-body .naum-note-box .box-titre{color:#9a7b2e;}\n  .naum-body .naum-alert-box{background:#fbeae7; border:1px solid #e8b6ac;}\n  .naum-body .naum-alert-box .box-titre{color:var(--rouge);}\n  .naum-body .naum-coherence-box{background:#e9f2e6; border:1px solid #b6d3ab;}\n  .naum-body .naum-coherence-box .box-titre{color:#4e7a3b;}\n\n  .naum-body .tbl-wrap{overflow-x:auto; margin:1.6em 0;}\n  .naum-body table{border-collapse:collapse; width:100%; font-size:.9rem; background:transparent;}\n  .naum-body th,.naum-body td{border:1px solid var(--trait); padding:10px 13px; text-align:left; vertical-align:top;}\n  .naum-body th{background:#efe9dd; font-weight:700; letter-spacing:.3px;}\n  .naum-body tbody tr:nth-child(even){background:#faf7f0;}\n  .naum-body .ok{color:#4e7a3b; font-weight:700;}\n  .naum-body .taille{font-family:'JetBrains Mono',monospace; font-size:.86em; white-space:nowrap;}\n\n  .naum-body .champ{font-family:'JetBrains Mono',monospace; font-size:.82rem; background:#20232a;\n     color:#e6e1d6; padding:14px 18px; border-radius:6px; margin:.6em 0; overflow-x:auto;\n     border-left:3px solid var(--or);}\n  .naum-body .champ b{color:#e8b17a; font-weight:700;}\n\n  .naum-body .dl-zone{background:#20232a; border-radius:12px; padding:34px 30px; margin:2.2em 0;\n     text-align:center; color:#e6e1d6;}\n  .naum-body .dl-zone h3{color:#e8b17a; margin:0 0 .3em;}\n  .naum-body .dl-zone p{color:#b7b1a4; font-size:.95rem; margin:0 0 1.4em;}\n  .naum-body .dl-button{font-family:'DM Sans',sans-serif; font-weight:700; font-size:1.05rem;\n     background:var(--rouge); color:#fff; border:none; padding:15px 34px; border-radius:8px;\n     cursor:pointer; letter-spacing:.3px; transition:transform .12s ease, background .2s ease;}\n  .naum-body .dl-button:hover{background:#a5301f; transform:translateY(-2px);}\n  .naum-body .dl-button:active{transform:translateY(0);}\n  .naum-body .dl-sub{font-family:'JetBrains Mono',monospace; font-size:.74rem; color:#8a857a; margin-top:1em;}\n\n  .naum-body hr{border:none; border-top:1px solid var(--trait); margin:3em 0;}\n  .naum-body .sig{font-family:'JetBrains Mono',monospace; font-size:.78rem; color:var(--gris);\n     text-align:right; margin-top:3.5em;}\n\n  @media (max-width:600px){\n    .naum-body{font-size:16px; padding:44px 18px 90px;}\n    .naum-body h1{font-size:2.1rem;}\n    .naum-body h2{font-size:1.45rem;}\n  }\n<\/style>\n<style>\n  .naum-body{--grille:#e3ddd0;}\n  .naum-body .fig{margin:1.8em 0 .6em; background:#fbf9f4; border:1px solid var(--trait); border-radius:8px; padding:14px 12px 6px;}\n  .naum-body .fig .ax{font-family:'JetBrains Mono',monospace; font-size:11px; fill:var(--gris);}\n  .naum-body .fig .lab{font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700; fill:var(--rouge);}\n  .naum-body .legende{font-size:.85rem; color:var(--gris);}\n  .naum-body .provisoire{background:#fff6e0; border:1px dashed #d9b765;}\n  .naum-body .provisoire .box-titre{color:#9a7b2e;}\n<\/style>\n<style>\n  .naum-body .schema{margin:1.8em 0 .6em; background:#fbf9f4; border:1px solid var(--trait); border-radius:8px; padding:18px 12px 10px;}\n  .naum-body .schema svg{width:100%; height:auto; display:block;}\n  .naum-body .schema .bx{fill:#fff; stroke:#cfc6b3; stroke-width:1.2;}\n  .naum-body .schema .bx2{fill:#20232a; stroke:#20232a;}\n  .naum-body .schema .t{font-family:'DM Sans',sans-serif; font-size:13px; fill:#2b2b2b; font-weight:700;}\n  .naum-body .schema .s{font-family:'JetBrains Mono',monospace; font-size:10.5px; fill:#6b665c;}\n  .naum-body .schema .tw{font-family:'DM Sans',sans-serif; font-size:13px; fill:#e8b17a; font-weight:700;}\n  .naum-body .schema .sw{font-family:'JetBrains Mono',monospace; font-size:10.5px; fill:#e6e1d6;}\n  .naum-body .schema .fl{stroke:#c0392b; stroke-width:1.6; fill:none;}\n  .naum-body .duo{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin:1.6em 0;}\n  .naum-body .duo > div{background:#fbf9f4; border:1px solid var(--trait); border-radius:8px; padding:16px 20px; font-size:.95rem; line-height:1.6;}\n  .naum-body .duo h4{font-family:'DM Serif Display',serif; font-weight:400; font-size:1.45rem; margin:0 0 .2em; color:var(--rouge);}\n  .naum-body .duo .an{font-family:'JetBrains Mono',monospace; font-size:.75rem; letter-spacing:2px; color:var(--or); text-transform:uppercase;}\n  .naum-body blockquote{margin:2em 0; padding:0 0 0 1.2em; border-left:3px solid var(--rouge); font-family:'DM Serif Display',serif; font-size:1.5rem; line-height:1.35; color:var(--encre);}\n<\/style>\n<article class=\"naum-body\">\n\n  <p class=\"eyebrow\">Laboratoire &middot; moteurs embarqu\u00e9s &middot; septembre 2026 &middot; mis \u00e0 jour le 30 septembre<\/p>\n  <h1>Stockfish 11 et Fruit 2.1 dans un 68020, un 68040 et un ARM : <em>les moteurs l\u00e9gendaires dans le silicium l\u00e9gendaire<\/em><\/h1>\n  <p class=\"chapeau\">Le plus fort moteur \u00e0 \u00e9valuation classique jamais \u00e9crit, log\u00e9 dans les processeurs qui ont fait la gloire des Mephisto, des Macintosh et des Amiga. Pas de syst\u00e8me d'exploitation, pas d'\u00e9cran, pas de clavier : Stockfish seul face au processeur, dans une machine qui n'a jamais exist\u00e9, recr\u00e9\u00e9e dans l'\u00e9mulateur MAME. Le portage est fait, puis \u00e9tendu : une troisi\u00e8me machine, \u00e0 processeur ARM, et un second moteur, Fruit 2.1. Les premi\u00e8res mesures sont l\u00e0, encore provisoires.<\/p>\n\n  <h2>Deux l\u00e9gendes qui ne s'\u00e9taient jamais rencontr\u00e9es<\/h2>\n\n  <div class=\"duo\">\n    <div>\n      <span class=\"an\">Janvier 2020<\/span>\n      <h4>Stockfish 11<\/h4>\n      C'est le dernier Stockfish d'avant les r\u00e9seaux de neurones, l'aboutissement de douze ans de travail collectif. Il descend de Glaurung, puis a \u00e9t\u00e9 affin\u00e9 par des milliers de contributeurs et des millions de parties d'essai sur le r\u00e9seau Fishtest. Son \u00e9valuation est enti\u00e8rement \u00e9crite \u00e0 la main, terme par terme. D\u00e8s la version suivante, un r\u00e9seau de neurones prenait le relais. Dans le laboratoire, lors du tournoi <a href=\"https:\/\/www.chess.lumn.eu\/wordpress\/2026\/06\/23\/le-chant-du-cygne-de-levaluation-classique\/\">\u00ab Le chant du cygne de l'\u00e9valuation classique \u00bb<\/a>, il a \u00e9cras\u00e9 l'\u00e9lite de sa cat\u00e9gorie : <strong>76,5 %, sans une seule d\u00e9faite en 179 parties<\/strong>.\n    <\/div>\n    <div>\n      <span class=\"an\">1984 &middot; 1990<\/span>\n      <h4>Motorola 68020 et 68040<\/h4>\n      Le 68020 a fait entrer la famille 68000 dans le vrai 32 bits. Il a anim\u00e9 le Macintosh II et l'Amiga 1200, et, dans le monde des \u00e9checs, les modules Mephisto Berlin Pro et la Fidelity Designer Mach IV. Le 68040 est l'aboutissement de la lign\u00e9e : cache int\u00e9gr\u00e9, pipeline profond, unit\u00e9 de calcul flottant sur la puce. C'est le c\u0153ur des Macintosh Quadra, de l'Amiga 4000 et des stations NeXT. Pour toute une g\u00e9n\u00e9ration, ces puces ont incarn\u00e9 la puissance de calcul.\n    <\/div>\n  <\/div>\n\n  <p>Trente \u00e0 trente-cinq ans s\u00e9parent le moteur de ces processeurs. Rien ne les destinait \u00e0 se rencontrer : Stockfish est \u00e9crit pour les processeurs 64 bits actuels, qui calculent sur plusieurs c\u0153urs \u00e0 plusieurs gigahertz, avec des gigaoctets de m\u00e9moire. Le 68020 et le 68040 viennent d'une \u00e9poque o\u00f9 quelques m\u00e9gaoctets \u00e9taient un luxe et o\u00f9 l'on comptait en m\u00e9gahertz.<\/p>\n\n  <blockquote>Le programme le plus raffin\u00e9 de l'\u00e8re classique, sur le mat\u00e9riel qui a port\u00e9 les plus grandes machines d'\u00e9checs d\u00e9di\u00e9es.<\/blockquote>\n\n  <h2>Pourquoi cette exp\u00e9rience<\/h2>\n  <p>Le laboratoire poursuit depuis des mois une m\u00eame question : dans les progr\u00e8s des \u00e9checs par ordinateur, quelle part revient au logiciel, quelle part au mat\u00e9riel ? Deux exp\u00e9riences ont d\u00e9j\u00e0 attaqu\u00e9 le probl\u00e8me par les deux bouts :<\/p>\n  <ul>\n    <li><strong>le logiciel seul<\/strong> : Stockfish 18 brid\u00e9 \u00e0 un nombre fixe de positions par coup, jusqu'\u00e0 faire jeu \u00e9gal avec un Mephisto Genius 68030 London \u00e0 sa vitesse d'origine. L'\u00e9quilibre se situe vers <strong>1 000 positions par coup<\/strong> seulement ;<\/li>\n    <li><strong>le mat\u00e9riel seul<\/strong> : les programmes d'origine des machines d\u00e9di\u00e9es, intacts, mais \u00e9mul\u00e9s \u00e0 grande vitesse, jusqu'\u00e0 plus de 300 MHz \u00e9quivalents pour le Saitek RISC 2500.<\/li>\n  <\/ul>\n  <p>Il manquait l'exp\u00e9rience la plus directe de toutes. On prend le moteur moderne, on ne le bride par aucun artifice et on ne lui accorde aucune vitesse moderne : on le place sur le processeur m\u00eame des machines d'\u00e9poque. Stockfish 11 sur un 68020, c'est le programme de 2020 dans les conditions mat\u00e9rielles d'un Mephisto Berlin Pro. Il se retrouve \u00e0 armes \u00e9gales avec le programme de Richard Lang, sur le m\u00eame terrain.<\/p>\n\n  <h2>Une machine qui n'a jamais exist\u00e9<\/h2>\n  <p>Les machines d'\u00e9checs du paquet CB-Emu sont des reproductions fid\u00e8les : processeur, m\u00e9moire morte, clavier, afficheur, \u00e9chiquier \u00e0 capteurs. Pour parler UCI, elles ont besoin d'un module qui \u00ab appuie \u00bb sur leurs touches et lit leurs diodes. Pour Stockfish, rien de tout cela n'a de sens : il ne lit pas un \u00e9chiquier, il parle UCI.<\/p>\n  <p>D'o\u00f9 le parti pris du portage : cr\u00e9er dans MAME <strong>deux machines enti\u00e8rement nouvelles<\/strong>, r\u00e9duites \u00e0 l'essentiel. On y trouve un processeur, 68020 pour l'une, 68040 pour l'autre, de la m\u00e9moire, et un port s\u00e9rie, le m\u00eame type de liaison qui servait jadis \u00e0 relier un ordinateur \u00e0 son terminal. Il n'y a ni clavier, ni \u00e9cran, ni \u00e9chiquier. Stockfish y d\u00e9marre \u00ab \u00e0 nu \u00bb, sans syst\u00e8me d'exploitation, et dialogue en UCI par ce port s\u00e9rie. De l'autre c\u00f4t\u00e9, un relais transmet les commandes de Banksia ou de cutechess, exactement comme pour n'importe quel moteur. Une troisi\u00e8me machine, \u00e0 processeur ARM, a rejoint les deux premi\u00e8res (voir plus bas).<\/p>\n\n  <div class=\"schema\">\n    <svg viewBox=\"0 0 860 190\" role=\"img\" aria-label=\"Cha\u00eene : Banksia ou cutechess, relais UCI, port s\u00e9rie, machine \u00e9mul\u00e9e 68020 ou 68040 avec m\u00e9moire, Stockfish 11\">\n      <rect class=\"bx\" x=\"10\" y=\"55\" width=\"170\" height=\"80\" rx=\"8\"\/>\n      <text class=\"t\" x=\"95\" y=\"88\" text-anchor=\"middle\">Banksia \/ cutechess<\/text>\n      <text class=\"s\" x=\"95\" y=\"108\" text-anchor=\"middle\">interface de tournoi<\/text>\n      <path class=\"fl\" d=\"M182 95 H232\"\/><path class=\"fl\" d=\"M224 89 L232 95 L224 101\"\/>\n      <rect class=\"bx\" x=\"234\" y=\"55\" width=\"150\" height=\"80\" rx=\"8\"\/>\n      <text class=\"t\" x=\"309\" y=\"88\" text-anchor=\"middle\">Relais UCI<\/text>\n      <text class=\"s\" x=\"309\" y=\"108\" text-anchor=\"middle\">sur le PC<\/text>\n      <path class=\"fl\" d=\"M386 95 H436\"\/><path class=\"fl\" d=\"M428 89 L436 95 L428 101\"\/>\n      <text class=\"s\" x=\"411\" y=\"84\" text-anchor=\"middle\">s\u00e9rie<\/text>\n      <rect class=\"bx2\" x=\"438\" y=\"18\" width=\"412\" height=\"154\" rx=\"10\"\/>\n      <text class=\"sw\" x=\"456\" y=\"40\">MAME &middot; machine cr\u00e9\u00e9e pour l'occasion<\/text>\n      <rect x=\"456\" y=\"54\" width=\"120\" height=\"100\" rx=\"6\" fill=\"#2d313a\" stroke=\"#4a4f5a\"\/>\n      <text class=\"tw\" x=\"516\" y=\"96\" text-anchor=\"middle\">68020<\/text>\n      <text class=\"sw\" x=\"516\" y=\"116\" text-anchor=\"middle\">ou 68040<\/text>\n      <rect x=\"590\" y=\"54\" width=\"100\" height=\"100\" rx=\"6\" fill=\"#2d313a\" stroke=\"#4a4f5a\"\/>\n      <text class=\"tw\" x=\"640\" y=\"96\" text-anchor=\"middle\">M\u00e9moire<\/text>\n      <text class=\"sw\" x=\"640\" y=\"116\" text-anchor=\"middle\">programme<\/text>\n      <text class=\"sw\" x=\"640\" y=\"130\" text-anchor=\"middle\">+ tables<\/text>\n      <rect x=\"704\" y=\"54\" width=\"130\" height=\"100\" rx=\"6\" fill=\"#2d313a\" stroke=\"#c0392b\"\/>\n      <text class=\"tw\" x=\"769\" y=\"90\" text-anchor=\"middle\">Stockfish 11<\/text>\n      <text class=\"sw\" x=\"769\" y=\"110\" text-anchor=\"middle\">sans syst\u00e8me<\/text>\n      <text class=\"sw\" x=\"769\" y=\"124\" text-anchor=\"middle\">UCI sur s\u00e9rie<\/text>\n    <\/svg>\n    <p class=\"legende\">Pas de module de pilotage ni de lecture d'afficheur : le moteur lui-m\u00eame parle UCI, directement depuis le processeur \u00e9mul\u00e9.<\/p>\n  <\/div>\n\n  <h2>Ce que ce portage a de vertigineux<\/h2>\n  <p>Faire tourner Stockfish sur un PC est trivial. Le faire tourner sur un 68020 nu, c'est lui retirer tout ce qu'il tient pour acquis :<\/p>\n  <ol class=\"etapes\">\n    <li><strong>Plus de syst\u00e8me d'exploitation.<\/strong> Ni fichiers, ni fils d'ex\u00e9cution, ni horloge syst\u00e8me, ni console. Tout ce que Stockfish demandait \u00e0 Windows ou \u00e0 Linux doit \u00eatre fourni par un code de d\u00e9marrage minimal : la m\u00e9moire, le temps qui passe, l'entr\u00e9e et la sortie du texte UCI.<\/li>\n    <li><strong>Plus de 64 bits.<\/strong> Stockfish repr\u00e9sente l'\u00e9chiquier par des \u00ab bitboards \u00bb de 64 bits, un bit par case, manipul\u00e9s d'un seul coup par un processeur moderne. Le 68020 et le 68040 travaillent en 32 bits : chaque op\u00e9ration sur l'\u00e9chiquier doit \u00eatre d\u00e9coup\u00e9e en deux moiti\u00e9s.<\/li>\n    <li><strong>Un monde \u00e0 l'envers.<\/strong> La famille 68000 range les octets dans l'ordre inverse de celui des PC (big-endian). Le code doit produire exactement les m\u00eames calculs sur une architecture qui lit la m\u00e9moire dans l'autre sens.<\/li>\n    <li><strong>Un seul c\u0153ur, peu de m\u00e9moire.<\/strong> Les recherches parall\u00e8les de Stockfish n'ont plus d'objet ; sa table de transposition doit tenir dans la m\u00e9moire d'une machine d'\u00e9poque.<\/li>\n    <li><strong>Un mat\u00e9riel invent\u00e9.<\/strong> Aucune machine r\u00e9elle ne correspond : il a fallu \u00e9crire la description de ces deux machines dans MAME, leur carte m\u00e9moire et leur port s\u00e9rie, puis v\u00e9rifier que le moteur y d\u00e9marre et y joue.<\/li>\n  <\/ol>\n  <p>Au bout du chemin, Stockfish 11 r\u00e9pond <code>uciok<\/code> depuis un processeur de 1984, re\u00e7oit une position, r\u00e9fl\u00e9chit et rend son coup. C'est l'algorithme de Stockfish 11 et son \u00e9valuation classique qui tournent d\u00e9sormais sur le silicium des ann\u00e9es 1980.<\/p>\n\n  <div class=\"box naum-coherence-box\">\n    <span class=\"box-titre\">Ce qui est fait<\/span>\n    Trois machines \u00e9mul\u00e9es : 68020 (avec coprocesseur 68881) \u00e0 16 MHz, 68040 \u00e0 40 MHz, ARM9 \u00e0 30 MHz. Deux moteurs embarqu\u00e9s dans chacune, Stockfish 11 et Fruit 2.1, sans syst\u00e8me d'exploitation ; dialogue UCI par port s\u00e9rie, relay\u00e9 vers Banksia et cutechess. Six moteurs en tout.\n  <\/div>\n\n  <h2>Une troisi\u00e8me machine : l'ARM9 \u00e0 30 MHz<\/h2>\n  <p>La famille 68000 n'a pas \u00e9t\u00e9 la seule \u00e0 \u00e9quiper les machines d'\u00e9checs de haut de gamme. Au d\u00e9but des ann\u00e9es 1990, les processeurs ARM ont pris le relais : ARM2 dans le Saitek RISC 2500, ARM6 \u00e0 30 MHz dans la TASC R30 d\u00e8s 1993. D'o\u00f9 une s\u0153ur ARM des deux machines 68k, avec les m\u00eames p\u00e9riph\u00e9riques, le m\u00eame port s\u00e9rie, le m\u00eame protocole et le m\u00eame mode de chargement du moteur. Seul le processeur change, et c'est pr\u00e9cis\u00e9ment l'int\u00e9r\u00eat : comparer le m\u00eame moteur sur deux familles de processeurs de la m\u00eame \u00e9poque.<\/p>\n  <ul>\n    <li><strong>Le processeur<\/strong> : un ARM9 (jeu d'instructions ARMv5TE) cadenc\u00e9 \u00e0 <strong>30 MHz<\/strong>, la fr\u00e9quence de la TASC R30. L'ARM7TDMI vis\u00e9 au d\u00e9part a \u00e9t\u00e9 \u00e9cart\u00e9 : la biblioth\u00e8que standard du compilateur utilise une instruction qu'il ne conna\u00eet pas, exactement comme le coprocesseur 68881 s'\u00e9tait impos\u00e9 pour les machines 68k.<\/li>\n    <li><strong>La m\u00e9moire<\/strong> : 1 Mo de m\u00e9moire morte pour le moteur, <strong>32 Mo de m\u00e9moire vive<\/strong>, comme les machines 68k.<\/li>\n    <li><strong>L'ordre des octets<\/strong> : petit-boutiste, comme un PC, \u00e0 l'inverse des 68020 et 68040.<\/li>\n  <\/ul>\n  <p>L'ARMv5 apporte surtout deux instructions pr\u00e9cieuses pour un moteur d'\u00e9checs : <code>CLZ<\/code>, qui trouve le premier bit d'un mot en une seule instruction, l'op\u00e9ration la plus appel\u00e9e d'un moteur \u00e0 bitboards, et <code>UMULL<\/code>, la multiplication longue, utile aux \u00ab nombres magiques \u00bb qui servent \u00e0 calculer les coups des pi\u00e8ces \u00e0 longue port\u00e9e. Sur le papier, l'ARM9 est mieux arm\u00e9 que le 68020 pour ce travail.<\/p>\n\n  <h2>Un second moteur : Fruit 2.1<\/h2>\n  <p>Fruit 2.1, de Fabien Letouzey, date de 2005. C'est l'autre grand moteur \u00e0 \u00e9valuation classique du laboratoire : sur PC, il figure dans la liste \u00e0 2723 Elo. Il a \u00e9t\u00e9 embarqu\u00e9 sur les trois m\u00eames machines, avec la m\u00eame m\u00e9thode. Sa conception diff\u00e8re de celle de Stockfish sur un point qui compte ici : Fruit ne repr\u00e9sente pas l'\u00e9chiquier par des bitboards de 64 bits mais par un simple tableau de cases. Il \u00e9chappe donc au surco\u00fbt des processeurs 32 bits, et calcule plus de positions par seconde que Stockfish sur la m\u00eame puce. Reste \u00e0 savoir ce que ces positions valent.<\/p>\n\n  <h2>La grande inconnue : sa force<\/h2>\n  <p>Combien vaut Stockfish 11 priv\u00e9 de ses gigahertz ? Personne ne le sait. Les indices dont on dispose tirent dans des directions oppos\u00e9es :<\/p>\n  <ul>\n    <li><strong>Son intelligence par position calcul\u00e9e est immense.<\/strong> Stockfish 18 \u00e9gale le Genius 68030 London en ne calculant qu'environ 1 000 positions par coup. Stockfish 11 n'a pas le r\u00e9seau de neurones de son successeur, mais sa recherche est d'une s\u00e9lectivit\u00e9 que les programmes de 1990 n'imaginaient pas.<\/li>\n    <li><strong>Son code est \u00e9crit pour un autre monde.<\/strong> Chaque op\u00e9ration sur ses bitboards de 64 bits co\u00fbte double sur un processeur 32 bits. Son \u00e9valuation d\u00e9taill\u00e9e, taill\u00e9e pour des processeurs modernes, p\u00e8se lourd \u00e0 chaque position. Un programme con\u00e7u d\u00e8s l'origine pour le 68020, comme celui du Berlin Pro, tire de chaque cycle un rendement que Stockfish n'a jamais eu besoin de chercher.<\/li>\n  <\/ul>\n  <p>Le face-\u00e0-face est d'autant plus fascinant que les rep\u00e8res sont l\u00e0, dans la liste du laboratoire, \u00e0 vitesse d'origine :<\/p>\n\n  <div class=\"tbl-wrap\">\n    <table>\n      <thead><tr><th>Machine d'\u00e9poque<\/th><th>Processeur<\/th><th>Cote du laboratoire<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td>Mephisto Genius 68030 London<\/td><td>68030<\/td><td class=\"taille\">2363<\/td><\/tr>\n        <tr><td>Mephisto Berlin Pro 68020<\/td><td>68020<\/td><td class=\"taille\">2315<\/td><\/tr>\n        <tr><td>Fidelity Designer Mach IV<\/td><td>68020<\/td><td class=\"taille\">2090<\/td><\/tr>\n        <tr><td>Mephisto Berlin 68000<\/td><td>68000<\/td><td class=\"taille\">2135<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n\n  <p>Stockfish 11 sur 68020 battra-t-il le Berlin Pro, \u00e9crit par Richard Lang pour ce m\u00eame processeur ? Le 68040 le propulsera-t-il au-del\u00e0 du London, le roi des machines Mephisto ? Ou bien trente ans de progr\u00e8s logiciel se heurteront-ils au mur des m\u00e9gahertz ? C'est la question que les parties vont trancher.<\/p>\n\n  <blockquote>Pour la premi\u00e8re fois, le logiciel de 2020 et celui de 1990 vont s'affronter sur le m\u00eame silicium.<\/blockquote>\n\n  <h2>Le protocole de mesure<\/h2>\n  <p>La mesure suit les r\u00e8gles du laboratoire, pour que les chiffres se placent directement sur la liste calibr\u00e9e :<\/p>\n  <ul>\n    <li>les six moteurs embarqu\u00e9s tournent <strong>\u00e0 la vitesse du processeur \u00e9mul\u00e9<\/strong>, comme les machines d'\u00e9poque auxquelles on les compare ;<\/li>\n    <li>cadence du laboratoire, <strong>60 coups en 15 minutes<\/strong>, ouvertures du livre Perfect 2023 ;<\/li>\n    <li>gauntlets face aux machines d\u00e9di\u00e9es de la liste, puis face aux moteurs PC class\u00e9s si la force l'exige ;<\/li>\n    <li>calcul des cotes avec les adversaires \u00e0 cote fixe, marges d'erreur \u00e0 l'appui ; les parties perdues au temps et les incidents techniques sont \u00e9cart\u00e9s.<\/li>\n  <\/ul>\n\n  <h2>Premi\u00e8res mesures<\/h2>\n  <p>Avant les gauntlets, un tournoi de contr\u00f4le a r\u00e9uni les six moteurs embarqu\u00e9s et cinq machines CB-Emu : Genius 68030 London, Berlin Pro 68020, RISC II, RISC 2500 et Star Diamond. Chacun a jou\u00e9 chacun des autres en quatre parties, soit 220 parties sous Banksia. Les moteurs embarqu\u00e9s jouaient \u00e0 60 coups en 15 minutes ; les machines CB-Emu \u00e0 leur propre niveau d'environ 15 secondes par coup.<\/p>\n\n  <h3>Vitesse de calcul<\/h3>\n  <p>Valeurs m\u00e9dianes relev\u00e9es dans les parties de ce tournoi (positions par seconde et profondeur annonc\u00e9es par les moteurs) :<\/p>\n  <div class=\"tbl-wrap\">\n    <table>\n      <thead><tr><th>Machine<\/th><th>Stockfish 11<\/th><th>Fruit 2.1<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td>68020 + 68881 &middot; 16 MHz<\/td><td class=\"taille\">580 pos\/s &middot; prof. 10<\/td><td class=\"taille\">1 070 pos\/s &middot; prof. 5<\/td><\/tr>\n        <tr><td>68040 &middot; 40 MHz<\/td><td class=\"taille\">1 570 pos\/s &middot; prof. 11<\/td><td class=\"taille\">2 730 pos\/s &middot; prof. 6<\/td><\/tr>\n        <tr><td>ARM9 &middot; 30 MHz<\/td><td class=\"taille\">3 540 pos\/s &middot; prof. 13<\/td><td class=\"taille\">6 550 pos\/s &middot; prof. 7<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p>L'ARM9 \u00e0 30 MHz calcule <strong>environ 6 fois plus vite<\/strong> que le 68020 \u00e0 16 MHz, et le 68040 environ 2,6 \u00e0 2,7 fois plus vite, pour les deux moteurs. Fruit calcule 1,7 \u00e0 1,9 fois plus de positions que Stockfish sur la m\u00eame puce, mais Stockfish va nettement plus profond dans le m\u00eame temps.<\/p>\n\n  <h3>Cotes provisoires<\/h3>\n  <p>Les 52 parties perdues au temps ont \u00e9t\u00e9 \u00e9cart\u00e9es, dont 31 par le Star Diamond ; il reste 168 parties. Les cinq machines CB-Emu gardent leur cote du laboratoire, et celles des six moteurs embarqu\u00e9s en sont d\u00e9duites.<\/p>\n  <div class=\"tbl-wrap\">\n    <table>\n      <thead><tr><th>Moteur<\/th><th>Cote provisoire<\/th><th>Marge (95 %)<\/th><th>Score<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td><strong>Stockfish 11 &middot; ARM9 30 MHz<\/strong><\/td><td class=\"taille\">2878<\/td><td class=\"taille\">&plusmn; 240<\/td><td class=\"taille\">33,5 \/ 36<\/td><\/tr>\n        <tr><td><strong>Stockfish 11 &middot; 68040 40 MHz<\/strong><\/td><td class=\"taille\">2755<\/td><td class=\"taille\">&plusmn; 197<\/td><td class=\"taille\">31 \/ 36<\/td><\/tr>\n        <tr><td><strong>Stockfish 11 &middot; 68020 16 MHz<\/strong><\/td><td class=\"taille\">2431<\/td><td class=\"taille\">&plusmn; 143<\/td><td class=\"taille\">18,5 \/ 33<\/td><\/tr>\n        <tr><td>Mephisto Genius 68030 London<\/td><td class=\"taille\">2363<\/td><td class=\"taille\">fixe<\/td><td class=\"taille\">16,5 \/ 35<\/td><\/tr>\n        <tr><td><strong>Fruit 2.1 &middot; ARM9 30 MHz<\/strong><\/td><td class=\"taille\">2345<\/td><td class=\"taille\">&plusmn; 132<\/td><td class=\"taille\">17 \/ 36<\/td><\/tr>\n        <tr><td>Mephisto Berlin Pro 68020<\/td><td class=\"taille\">2315<\/td><td class=\"taille\">fixe<\/td><td class=\"taille\">14 \/ 32<\/td><\/tr>\n        <tr><td><strong>Fruit 2.1 &middot; 68040 40 MHz<\/strong><\/td><td class=\"taille\">2309<\/td><td class=\"taille\">&plusmn; 152<\/td><td class=\"taille\">11 \/ 28<\/td><\/tr>\n        <tr><td>Mephisto RISC II<\/td><td class=\"taille\">2266<\/td><td class=\"taille\">fixe<\/td><td class=\"taille\">14,5 \/ 32<\/td><\/tr>\n        <tr><td>Saitek RISC 2500<\/td><td class=\"taille\">2247<\/td><td class=\"taille\">fixe<\/td><td class=\"taille\">5,5 \/ 32<\/td><\/tr>\n        <tr><td>Novag Star Diamond<\/td><td class=\"taille\">2226<\/td><td class=\"taille\">fixe<\/td><td class=\"taille\">4 \/ 7<\/td><\/tr>\n        <tr><td><strong>Fruit 2.1 &middot; 68020 16 MHz<\/strong><\/td><td class=\"taille\">1970<\/td><td class=\"taille\">&plusmn; 230<\/td><td class=\"taille\">2,5 \/ 29<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p>Deux constats ressortent d\u00e9j\u00e0, marges comprises. Sur le processeur m\u00eame du Berlin Pro, Stockfish 11 a remport\u00e9 ses quatre parties contre lui (4 \/ 4). Et sur chaque machine, Stockfish devance Fruit d'environ 450 \u00e0 530 points : la profondeur de recherche l'emporte sur le nombre de positions.<\/p>\n\n  <div class=\"box provisoire\">\n    <span class=\"box-titre\">Chiffres provisoires<\/span>\n    Ces cotes reposent sur 28 \u00e0 36 parties par moteur, avec des marges de 130 \u00e0 240 points, et les machines CB-Emu y jouaient \u00e0 niveau fixe. Elles donnent un ordre de grandeur, pas une place d\u00e9finitive dans la liste. Les gauntlets en cours, \u00e0 60 coups en 15 minutes face aux adversaires class\u00e9s de la liste, les remplaceront.\n  <\/div>\n\n  <div class=\"box naum-note-box\">\n    <span class=\"box-titre\">\u00c0 suivre<\/span>\n    Les r\u00e9sultats des gauntlets de Stockfish 11 et de Fruit 2.1 sur 68020, 68040 et ARM9 feront l'objet d'une mise \u00e0 jour, avec la cote d\u00e9finitive de chacun et sa place parmi les machines d\u00e9di\u00e9es et les moteurs PC de la liste.\n  <\/div>\n\n  <p class=\"sig\">chess.lumn.eu &middot; laboratoire de calibration &middot; 29 septembre 2026 &middot; mis \u00e0 jour le 30 septembre 2026<\/p>\n\n<\/article>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Laboratoire &middot; moteurs embarqu\u00e9s &middot; septembre 2026 &middot; mis \u00e0 jour le 30 septembre Stockfish 11 et Fruit 2.1 dans un 68020, un 68040 et un ARM : les moteurs l\u00e9gendaires dans le silicium l\u00e9gendaire Le plus fort moteur \u00e0 \u00e9valuation classique jamais \u00e9crit, log\u00e9 dans les processeurs qui ont fait la gloire des Mephisto,&hellip;&nbsp;<a href=\"https:\/\/www.chess.lumn.eu\/wordpress\/2026\/09\/29\/stockfish-11-68020-68040\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">Stockfish 11 &#038; Fruit 2.1 : 68020, 68040 &#038; ARM<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":4143,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":""},"categories":[70,72,37],"tags":[],"rttpg_featured_image_url":{"full":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040.jpg",1200,1000,false],"landscape":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040.jpg",1200,1000,false],"portraits":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040.jpg",1200,1000,false],"thumbnail":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040-150x150.jpg",150,150,true],"medium":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040-300x250.jpg",300,250,true],"large":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040-1024x853.jpg",1024,853,true],"1536x1536":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040.jpg",1200,1000,false],"2048x2048":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040.jpg",1200,1000,false],"neve-blog":["https:\/\/www.chess.lumn.eu\/wordpress\/wp-content\/uploads\/2026\/09\/stockfish-11-68020-68040-930x620.jpg",930,620,true]},"rttpg_author":{"display_name":"valterd","author_link":"https:\/\/www.chess.lumn.eu\/wordpress\/author\/valterd\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/www.chess.lumn.eu\/wordpress\/category\/chess-engines\/\" rel=\"category tag\">Chess Engines<\/a> <a href=\"https:\/\/www.chess.lumn.eu\/wordpress\/category\/emulations\/\" rel=\"category tag\">\u00c9mulations<\/a> <a href=\"https:\/\/www.chess.lumn.eu\/wordpress\/category\/soft\/\" rel=\"category tag\">Soft<\/a>","rttpg_excerpt":"Laboratoire &middot; moteurs embarqu\u00e9s &middot; septembre 2026 &middot; mis \u00e0 jour le 30 septembre Stockfish 11 et Fruit 2.1 dans un 68020, un 68040 et un ARM : les moteurs l\u00e9gendaires dans le silicium l\u00e9gendaire Le plus fort moteur \u00e0 \u00e9valuation classique jamais \u00e9crit, log\u00e9 dans les processeurs qui ont fait la gloire des Mephisto,&hellip;&nbsp;Read&hellip;","_links":{"self":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/4109"}],"collection":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/comments?post=4109"}],"version-history":[{"count":8,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/4109\/revisions"}],"predecessor-version":[{"id":4173,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/posts\/4109\/revisions\/4173"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/media\/4143"}],"wp:attachment":[{"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/media?parent=4109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/categories?post=4109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chess.lumn.eu\/wordpress\/wp-json\/wp\/v2\/tags?post=4109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}