Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2010, 23:04   #1
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию Статистика использования команд процессора(трафик!)

В процессе моих исследований мне понадобилось узнать наиболее часто применяемые команды процессора и т.к. я нужного софта не нашел, то пришлось использовать бесплатную версию дизассемблера ida и написать маленький парсер-калькулятор.
Собственно результаты тестирования маленького кусочка дизассемблированного кода (~1.55 МегаБайта(с мусором)).
Собственно вот результаты:
Статистика по всем командам:


Статистика по всем командам кроме первых пяти:


Статистика по всем командам кроме первых двадцати:


Возможно кому-то пригодится.

P.S. Я был немного удивлен результатом, ибо нашлось всего 41 вида команд(наверно нужно попробовать с другими кусками кода)
Кстати push в 3 раза больше чем pop.
P.S.S. Если кто знает как можно экспортировать дизассемблированный код из ida прямо в текстовый файл- скажите =)
Изображения
Тип файла: jpg All.jpg (46.9 Кб, 115 просмотров)
Тип файла: jpg 5.jpg (47.1 Кб, 127 просмотров)
Тип файла: jpg 20.jpg (45.2 Кб, 127 просмотров)

Последний раз редактировалось Levsha100; 28.07.2010 в 23:29.
Levsha100 вне форума Ответить с цитированием
Старый 28.07.2010, 23:37   #2
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Забавно, а зачем это надо?

db - это не команда. Ну и так ещё мусора напарсилось по мелочам.

Цитата:
Кстати push в 3 раза больше чем pop
Ну это как бы нормально. Для передачи параметров используется Push, а для выравнивания стека обычно LEAVE.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 28.07.2010, 23:50   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Ну это как бы нормально. Для передачи параметров используется Push, а для выравнивания стека обычно LEAVE.
Знаю, просто обратил внимание =)
Цитата:
Забавно, а зачем это надо?
Для изучения архитектуры процессоров и для одного пока маленького проектика
Цитата:
Это наверное старовастенькая какая-то.
Да, старовастенькая

Последний раз редактировалось Levsha100; 29.07.2010 в 00:26.
Levsha100 вне форума Ответить с цитированием
Старый 29.07.2010, 00:15   #4
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

а какая версия Ida? Из free я чёт только 4.9 нашёл. Это наверное старовастенькая какая-то.

Цитата:
P.S.S. Если кто знает как можно экспортировать дизассемблированный код из ida прямо в текстовый файл- скажите =)
Я, наверное, вопрос неправильно понял. Ну, как понял.
File->Produce File->Create ASM file.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 29.07.2010 в 00:37.
Ulex вне форума Ответить с цитированием
Старый 29.07.2010, 00:58   #5
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Спасибо =)
Как раз там и не искал =)))
Levsha100 вне форума Ответить с цитированием
Старый 29.07.2010, 01:01   #6
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

Для точности лучше используйте большой ехе...

Думаю график используемых команд нужен только для интереса...

Последний раз редактировалось Stilet; 29.07.2010 в 14:11.
Vikenty вне форума Ответить с цитированием
Старый 29.07.2010, 01:11   #7
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Думаю график используемых команд нужен только для интереса...
Ну я как бы сказал, что эти данные для меня действительно важны.
Цитата:
Для точности лучше используйте большой ехе...
У меня были с этим проблемы, но благодаря Ulex они решены и я проанализирую более большие файлы.
Levsha100 вне форума Ответить с цитированием
Старый 29.07.2010, 01:15   #8
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Цитата:
Для точности лучше используйте большой ехе...
Ну тут точность даже от размера не очень зависит. Какая разница, большой экзешник или нет? Если, например, программа не работает с мультимедиа то и соответствующего набора инструкций (mmx, xmm) в ней не будет. Тоже самое про FPU (хотя, сложно найти более менее крупную программу не работающую с числами с плавающей точкой).
Т.е. эта статистика она как бы справедлива для какого то класса приложений.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 29.07.2010, 01:49   #9
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Т.е. эта статистика она как бы справедлива для какого то класса приложений.
Да, мне сейчас важны более прикладные программы, не связанные с работой видеокарты желательно =)
Levsha100 вне форума Ответить с цитированием
Старый 29.07.2010, 02:07   #10
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Цитата:
Если, например, программа не работает с мультимедиа то и соответствующего набора инструкций (mmx, xmm) в ней не будет
Я это как пример написал. На инструкциях xmm можно оптимизировать любую арифметику, не обязательно в приложениях мультимедиа. И если вы такую программу проанализируете, то наличие и частота использования этих команд не будут ведь ничего говорить о "популярности" таких инструкций впринципе.
Я так полагаю - задача стоит определить минимальный набор команд, необходимых для реализации какого то (назовём его виртуальный) процессора?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
реализация команд с помощью набора других команд zhenyaa Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 08.11.2009 21:37
Статистика M17 Microsoft Office Excel 4 10.04.2009 16:39
Статистика по браузерам. 13th Софт 37 21.02.2009 22:17
Статистика Oldgy Общие вопросы C/C++ 3 18.01.2009 17:33