• Что такое микрокод процессора?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Толи это программа которая разбивает некоторые сложные инструкции cisc на микроинструкции, толи это и есть набор микроинструкций.
    Да, это набор микроинструкций. Хороший пояснительный пример - это операция деления. В RISC-процессорах с их полтора десятками команд деления нет, но делить можно - с помощью подпрограммы деления длиной в пару сотен RISC-команд. Таких подпрограмм может быть много, по количеству сложных CISC-команд. Эти подпрограммы могут быть реализованы как интерпретатор со своим софтом. Это и есть микрокод. Его можно менять извне (например, для оптимизации).
    Одно точно понял, что микрокод находится в пзу. И вроде как при подачи питания переносится в озу.
    Если ПЗУ медленное и находится снаружи проца, а ОЗУ быстрое (скажем, это кэш-память, наиболее близкая к ядру), то применяя архитектуру с подгрузкой микрокода, можно сильно ускорить работу этого микрокода, заодно получив возможность его редактирования. Но это не обязательно, при быстром ПЗУ микрокод, не нуждающийся в редактировании, можно держать сразу в нём.
    Что и как определяет что команда нуждается в разбивке на микроинструкции?
    Сложность. Собственно, переход к микрокоду - это возможность упростить управляющее устройство проца, избавить его от очень длинных командных последовательностей (см. пример с операцией деления). А это в свою очередь позволяет сделать выч. ядро (то самое, которое работает на предельно высоких частотах) максимально компактным и выделяющим не слишком много тепла.
    Ответ написан
    Комментировать
  • Что такое микрокод процессора?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Любой процессор по сути маленький компьютер, там есть исполнительные устройсва, ячейки регистров (память), внешние каналы (шины данных и адреса), кеши.... и всем этим нужно как-то управлять. Вот за это управление и отвечает микрокод процессора. По сути это такой глубоко завязанный на железо код, который позволяет реализовать отдельные примитивные действия внутри процессора, которые требуют согласованного действия отдельных его компонентов.
    Но микрокод только в древних процессорах (которые собирались из сотен отдельных элементов или нескольких микросхем) хранился в отделной схеме ПЗУ. Во всех микропроцессорах (когда все потроха процессора, а порой еще и часть внешних шин собраны на одном кристалле) микрокод пишется в отдельную часть этого общего кристалла. И не всегда это ПЗУ, иногда там типа флеша, но быстрого, ведь он работает на внутренней (очень высокой) частоте процессора.
    Ответ написан
    Комментировать