Автор: ROMby Unknown , 5 декабря 2003
Добрый день!
немного не в тему

следует ли исходя из http://www.enlight.ru/docs/cpu/INFO/mcupdate.htm, что можно добавить в современные интел процы добавить sse, sse2, 3dnow и т.д. соответственно тому, что они не поддерживают, хотя бы теоретически?

и из статьи не смог понять, каково ограничение на объём этого микрокода и где он хранится
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

Root

22 года 3 месяца назад

Finally, it has been asked, whether it would be possible to create your own version of microcode, which could in example be optimized, or even add more functionality, eg. new instructions. This question can be answered with a no. To create such a microcode some would need information about the interna of the target microprocessor, which exceed the level of all known documentation. The only possible way is, if those, who originally created the microprocessor, do create the microcode updates.

Читаем этот абзац и... Понимаем, что микрокод написан на своем языке, который знают только Интеловцы :)
Размер микрокода - 2048 байт. Что в них можно запихать? Алгоритмы работы с 3DNow! ??? Боюсь, просто места не хватит!

NortonC

22 года 3 месяца назад

1) два килобайта не такая уж маленькая ёмкость
2) это не асм, а что-то более специфичное, возможно работающее с готовыми блоками, которые являются компонентами команд, а из компонентов собирать и быстрее и места меньше занимает. А сами блоки достаточно простые и ошибок в них не бывает-)))
3) либо 2кб хватит всем, p1mmx,p2,p3,p4, либо это всего лишь один блок, а блоков (теоретически) может быть несколько, но об этом не написано
4) //Finally, it has been asked, whether it would be possible to create your own version of microcode, which could in example be optimized, or even add more functionality, eg. new instructions. This question _can be_ answered with a no

написано не must -)))

Root

22 года 3 месяца назад

п.1:
В 512 байт помещается бусектор операционки. Ну, и что? Микрокод скорее всего написан на элементарных инструкциях, которых не так уж и мало. Тем более, что сложные команды могут состоять из нескольких десятков микроинструкций, а для каждой из них еще нужно и место :(
п.2:
конечно это не асм, а нечто другое. Но вот что? Кто-нибудь видел описалово на микрокод?
Вот еще предложение для экстремалов: залецте микрокод НЕ от Вашего процессора. Посмотрю я на Вас :) Может SSE2 добавится :)
п.3:
И сколько же памяти в процессоре? 2МБ? Скорее всего Интел сэкономила на памяти и особо процессоры ею не обделяла. Соответственно, кол-во возможных команд будет не столь велико, как хотелось бы :(

apple_rom

22 года 3 месяца назад

Люди, не парьтесь - микрокоды, это совсем не то, что вы думаете. ;) никакие это не "команды" и "программы", короче. И радость от их присутствия или отсутствия процессору совсем небольшая... :)
А большинство имеющихся статей в инете с громкими названиями по изменению/редактированию оных базируется лишь на беспочвенных предположениях, вытекающих из элементарного незнания сабжа...

NortonC

22 года 3 месяца назад

залецте микрокод НЕ от Вашего процессора. ... Может SSE2 добавится :)


Видимо, с моей стороны будет некоторой наглостью, но я всё-таки предложу это самому создателю патчера. Возможно, ему это будет сделать наиболее просто из всех присутствующих:-)
ССЕ2, конечно не прибавится, я прекрасно понимаю, что сейчас микрокоды используются скорее всего как просто "патчи", но вот что именно убавится или перестанет работать, было бы интересно узнать.

А по поводу "для экстремалов"...раньше тоже никто не думал, что можно написать патчер, теоретически возможность есть, а вот просто подумать об этом, так сказать "think different" не получалось, слишком уж необычно:-)))
в самом конце статьи(4 пункт) хоть что-то новое, по крайней мере для меня


И в чем новизна? В том, что
В Pentium Pro 1136 байт представляют собой мусор, который можно модифицировать и который не оказывает никакого влияния на конечный результат


Это абсолютно бездоказательно! Тот факт, что после модификации микрокода автору не удалось найти сколько нибудь заметные изменения говорит только о том, ему не удалось найти сколько нибудь заметные изменения

Полностью согласен, что
большинство имеющихся статей в инете с громкими названиями по изменению/редактированию оных базируется лишь на беспочвенных предположениях, вытекающих из элементарного незнания сабжа...


Сначала нужно задать себе простой вопрос: что есть процессор? А еще лучше - как мне на PLM, например Altera EPM3032, создать наипростейший процессор, однобитный, однорегистровый, с одной командой? И после этого станет ясно, для чего и почему нужен микрокод...
К сожалению, происходит отказ на уровне чипа, если:
-Микрокод предназначается не для данного типа процессора
-Микрокод бы модифицирован
Другими словами, внутри процессора есть сперциальная система безопасности.

:)
Автор получил такой результат по причине:
Но мне, например, Windows не нравится. Мне нравится Линукс, и под ним мы можем использовать микрокод легко и просто.

_Правильней_ делать все это в биосе, _напрямую_ работая с процессором, а не загружая с помощью каких-то программ, которые могут использовать дополнительные проверки.
Я это делал именно в биосе и никаких "отказов на уровне чипа" ни разу не получил.
"Полезность" микрокодов можно предположить лишь в прескоттах, где которые стали объемней и с которыми я просто не экспериментировал в виду отсутствия таковой возможности.

Root

20 лет назад

написанное на WASM очень "содержательно"...
Мне гораздо больше понравилась ЭТА статья. В ней по поводу сравнения различных микрокодов написано гораздо более разумное:
−The 4 Pentium® Pro update data is different from all the other microcodes, but between
them they share the last 1136 bytes. The Pentium® Pro stepping B0 (0611 CPUID
encoding) does not share any bytes with the other microcodes.
−The 42 Pentium® II and Pentium® III update data share the last 1056 Bytes. They
differ completely from the Celeron and Pentium® Pro microcodes.
−The 8 Celeron updates differ completely from all the other microcode update data.

т.е. это не мусор, а просто нечто общее (скажем, какое-нить управление кэшем или действительно загрузчик микрокода).
apple_rom
Я это делал именно в биосе и никаких "отказов на уровне чипа" ни разу не получил.

а проверял действительно ли загрузился "левый" микрокод? ИМХО - под "отказом на уровне чипе" автор предполагает то, что микрокод процессором отвергается, а узнать про это можно с помощью инструкции CPUID и MSR'ов. В статье написано, что там все проверки были вырезаны, т.е. единственной причиной не загрузки микрокодов (если судить по CPUID/MSR) остается только сам проц...
ревизия загруженного микрокода не меняется если пытаться загружать чужой микрокод - это уже дааавно проверено :wink: