nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 19 Aug 2019 17:03



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

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

_________________
iLavr


03 Feb 2019 01:15
Profile
Admin
User avatar

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

_________________
:eugeek: https://twitter.com/Shaos1973


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

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

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

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

_________________
iLavr


03 Feb 2019 13:58
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17977
Location: Colorado
Reply with quote
Lavr wrote:
А как ты её считаешь?

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

_________________
:eugeek: https://twitter.com/Shaos1973


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

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

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

_________________
iLavr


03 Feb 2019 14:12
Profile
God

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

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


05 Feb 2019 22:41
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09: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 01:22
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 7 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.