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