Чипы x86 / x64 все еще используют микропрограммирование? - PullRequest
6 голосов
/ 01 марта 2010

Если я понимаю эти две статьи, архитектура Intel на самом низком уровне перешла к использованию инструкций RISC вместо традиционного набора команд CISC, которым Intel известна:

http://www.hardwaresecrets.com/article/235/4

http://www.tomshardware.com/reviews/intel,264-6.html

Если это так, то микропрограммы микросхем x86 / x64 все еще микропрограммированы или они используют аппаратное управление, как традиционные чипы RISC? Я предполагаю, что он все еще микропрограммирован, но хотел проверить.

Ответы [ 5 ]

4 голосов
/ 01 марта 2010

Микрокод существует уже давно, если вы на это ссылаетесь. Так что я не знаю, о чем статья HardwareSecrets, если только Intel не создает процессоры RISC поверх процессоров CISC.

Даже статья HardwareSecrets называет их микроинструкциями. Картофель, потахто.

http://en.wikipedia.org/wiki/Microcode

3 голосов
/ 11 февраля 2011

Только что нашел ответ. Ссылка на «ОРГАНИЗАЦИЯ КОМПЬЮТЕРНЫХ СИСТЕМ» Эндрю Таненбаума, стр. 54 - стр. 59. Чипы Intel основаны на CISC, и все чипы на основе CISC имеют интерпретатор (микрокод), который разбивает сложные инструкции на маленькие шаги. Раньше все чипы содержали микропрограмму. не было никакого термина CISC, пока в 1980 году Дэвид Паттерсон и Карло Секин не представили концепцию RISC. RISC расшифровывается как сокращенный набор команд компьютера. В настоящее время размер набора инструкций не имеет значения. Что важно в дизайне RISC, так это простота инструкций, но название «уменьшенный». Дизайн RISC - это быстрое издание все более простых инструкций. сколько времени заняло указание, имело значение меньше, чем сколько можно было запустить в секунду. Кроме того, преимущество использования более быстрой CPU ROM по сравнению с более медленной основной памятью, которую имел CISC, исчезло благодаря появлению такой же более быстрой основной памяти. RISC определенно лучше, чем производительность CISC. тогда почему производитель микросхем Intel не перешел на RISC? по двум причинам. Прежде всего, существует проблема обратной совместимости, и миллиарды долларов компании инвестировали в программное обеспечение для линейки Intel. Во-вторых, Intel удалось использовать идею RISC в своих чипах CISC. начиная с 486, процессоры Intel содержат ядро ​​RISC, которое выполняет самые простые и самые распространенные инструкции в одном цикле передачи данных, интерпретируя при этом более сложные инструкции обычным способом CISC. Я думаю, что Intel поверхностно перешла к гибридному подходу, чтобы сохранить лицо / славу / доброжелательность на рынке в соответствии с технологическими достижениями. Я бы взял чипы Intel только на основе CISC.

2 голосов
/ 21 ноября 2010

На современных процессорах x86 большинство инструкций выполняется без микрокода (*), но некоторые сложные или редко выполняемые используют микрокод.

(*) Не путать с микрооперациями - в процессорах x86 вне порядка команды x86 обычно декодируются в одну или несколько микроопераций, которые затем ставятся в очередь для выполнения (без микрокода!) конвейер выполнения вне очереди.

Интересно также отметить, что современные процессоры x86 имеют возможность исправлять / обновлять микрокод для исправления ошибок в полевых условиях.

1 голос
/ 12 февраля 2011

Современные процессоры x86 все еще используют микрокод, потому что набор команд x86 очень сложен по сравнению с типичными процессорами RISC. Это верно по крайней мере для некоторых инструкций.

Внутренне сложные инструкции разбиты на простые RISC-подобные инструкции, которые затем обрабатываются сложным RISC-подобным ядром. RISC-подобные инструкции иногда переупорядочиваются или выполняются параллельно.

0 голосов
/ 09 марта 2011

Типичными примерами микрокодированных инструкций являются деление и умножение, и это относится как к CISC, так и к RISC. Просто не стоит реализовывать аппаратное деление, учитывая, как (относительно) редко оно используется. Умножения гораздо проще реализовать, но они также микрокодированы, хотя, конечно, не в той же степени. Согласно этому документу Задержки инструкций и пропускная способность для ... процессоров x86 задержки для mul и div для процессора K10 составляют 5 и 77 или 15,4X. Для intel SBR (?) Соответствующие значения равны 4 и 92 или 23X. Дополнительным пониманием их относительной сложности является их соответствующая пропускная способность: на K10 может поддерживаться умножение каждого второго тактового цикла (2,5 - 5/2 - в работе одновременно), но выдерживается только одно деление в каждом 77-м тактовом цикле (аналогично задержке деления) .

Другими примерами являются sh? D (shift? Double) и bs? (битовое сканирование?).

...