distortion - Процессор глазами маркетолога [entries|archive|friends|userinfo]
distortion

[ website | My Website ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Процессор глазами маркетолога [Sep. 20th, 2010|03:22 am]
Previous Entry Add to Memories Tell A Friend Next Entry
LinkLeave a comment

Comments:
From:[info]ohnesta.at
Date:September 20th, 2010 - 12:00 pm
(Link)
Потому что 99% населения, считающего, что знает, как работают компьютеры, имеет представления на уровне 1970х годов. Неудивительно, примерно тогда в совке и перестали разрабатывать компьютеры, плюс международная изоляция — школа сдулась. Мифов вокруг x86 десятки, и я не знаю, с какого стоит начать разоблачение. Если что-то конкретное интересует, я отвечу.
From:[info]ohnesta.at
Date:September 20th, 2010 - 12:29 pm
(Link)
Это не миф, а попросту глупость. Даже на заре индустрии больше трети хранилище микрокода не занимало (что объяснимо низким бюджетом транзисторов — десятки тысяч). Две трети процессора сейчас заняты кэшем, что можно легко увидеть на каждой презентационной картинке. Именно разрыв в производительности между процессором и памятью является одной из главных проблемой (вторая — энергопотребление).

Декодер команд — штука довольно простая, но полезная. Программа, записанная крупными инструкциями, имеет меньший объем, чем записанная мелкими, а это экономит пропускную способность памяти и место в кэше (особенно, первого уровня). Реализация новой крупной инструкции в микрокоде весьма дешева (часто бесплатна), а выигрыш зачастую велик.

Статическая компиляция в микроинструкции не всегда приводит к повышению производительности. Во-первых, оверхед на декодирование крупных инструкций по сравнению с мелкими не превышает 10%, что ничтожно, если принять во внимание медленную память. Во-вторых, без компрессии кода все равно не обойтись, т.к. нужно экономить пропускную способность шины и место в кэше первого уровня, т.е. оверхед не будет сильно меньше. В-третьих, зачастую (по крайней мере при нынешнем развитии техник статического анализа) динамическая компиляция генерирует лучший код, т.к. есть доступ к статистике от предсказателя ветвлений и контроллера памяти, собранной для конкретного исполняемого в данный момент приложения.
[User Picture]
From:[info]ketmar
Date:September 20th, 2010 - 01:15 pm
(Link)
не с того начал, тащемта. хер с ним, с декодером — это дело десятое. а вот важное дело — это совершенно ебанутая неортогональность системы команд и специализация регистров (которых и так нихера почти нет).
From:[info]ohnesta.at
Date:September 21st, 2010 - 12:28 am
(Link)
Ортогональность — слишком дорогая и приносящая мало пользы штука, реализовывать ее невыгодно. Аналогично с универсальностью регистров. Также нужно различать архитектурные и физические регистры. От переименования регистров все равно не уйти при внеочередном исполнении, так что большое число архитектурных регистров не требуется.