nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 10:03



Reply to topic  [ 7 posts ] 
x86 Machine Code Statistics 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Интересную статистику я неожиданно нашел: x86 Machine Code Statistics.
Меня давно что-то подобное интересовало, с тех пор, как мы подсчитывали
статистику заимствований в BASIC-ax...
Attachment:
Top20x86.gif
Top20x86.gif [ 40.05 KiB | Viewed 6212 times ]

В обсуждении результата пишут, что выборка была нерепрезентативна, но всё равно интересно.

Я поискал и другую статистику, меня больше интересовали CALL и RET, гуглил я прямо фразу:
x86 Machine Code Statistics
По другим источникам CALL и RET могут занимать от 3% до более 10% кода x86...


P.S. Страница эта у меня кривовато открывается, поэтому я сделал её pdf-копию, если кому-либо
вдруг станет интересна прочая статистика по кодам x86.
Attachment:
x86_machine_code_statistics.pdf [117.39 KiB]
Downloaded 360 times

_________________
iLavr


03 Feb 2019 00:15
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Я последнее время считаю статистику инструкций RISC-V тут и тут ;)

_________________
:dj: https://mastodon.social/@Shaos


03 Feb 2019 12:25
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
А как ты её считаешь?
Мне этот вопрос был интересен вот с какой точки зрения: когда в своё время посчитали
статистику использования команд процессорами, то пришли к мысли о RISC-процессорах.

Вот только неизвестно, как считали... :-?

Человек, на которого я дал ссылку, декомпилировал программы и подсчитывал явные инструкции,
чтобы тексты и данные не портили ему статистику.
Но и то им что-то не все остались доволны.

_________________
iLavr


03 Feb 2019 12:58
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22410
Location: Silicon Valley
Reply with quote
Lavr wrote:
А как ты её считаешь?

Я в эмулятор вставил счётчиков и инкрементирую соответствующий счётчик когда та или иная инструкция походит через исполнительный модуль - эту статистику надо знать, чтобы ускорять критически важные инструкции в первую очередь (те, что чаще используются)

_________________
:dj: https://mastodon.social/@Shaos


03 Feb 2019 13:05
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Я в эмулятор вставил счётчиков...

Спасибо! :kruto: Я что-то не додумался до эмуляторов... :o
Крутил мысли вокруг живых процессоров и программ...

_________________
iLavr


03 Feb 2019 13:12
Profile
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
Lavr wrote:
Интересную статистику я неожиданно нашел: x86 Machine Code Statistics.
Меня давно что-то подобное интересовало, с тех пор, как мы подсчитывали
статистику заимствований в BASIC-ax...
Attachment:
Top20x86.gif

В обсуждении результата пишут, что выборка была нерепрезентативна, но всё равно интересно.
Любопытно, что команды PUSH используются более чем в 2 раза чаще чем POP.


05 Feb 2019 21:41
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
jdigreze wrote:
Любопытно, что команды PUSH используются более чем в 2 раза чаще чем POP.

А там по ссылке это отмечено и объяснено. х86 используют стек для передачи параметров подпрограмме.
Забрасывают параметры в стек через PUSH, а вот подпрограмма их вынимает НЕ через POP.
Вынимают параметры вот так:
Code:
                push  bp
                mov   bp,sp
                mov   ax,[bp+4]
                и т.д.

Поэтому в среднем и получается, что POP примерно в два раза меньше, чем PUSH.

_________________
iLavr


06 Feb 2019 00:22
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 7 posts ] 

Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.