Микрокод внутри сопроцессора Intel 8087: обмен регистрами
Инструкция FXCH в сопроцессоре Intel 8087 из 1980 года по описанию тривиальна. Она меняет местами два регистра с плавающей точкой. В ассемблере это одна строчка, программист на такое обычно не тратит и секунды мысли. Внутри чипа та же операция разложена на 14 шагов микрокода.
Автор с командой Opcode Collective вскрыл корпус 8087, снял кристалл под микроскопом и вытащил содержимое ПЗУ микрокода — 1648 микроинструкций по 16 бит каждая. На этой почве и разбирается конкретный случай с FXCH. Почему банальный swap двух чисел превращается внутри в 14 шагов с проверками, ветками обработки исключений и подменой пустых регистров на NaN, из чипа сорока с лишним лет видно вполне подробно.
Post #69574
12.8K

- 🔥 39
- 👍 7
- ❤ 6
- 🤔 6
- 👎 3
- 💩 3
- 🤝 3
- 🤩 2
- 👌 2
- 🥱 2
- 🥴 1