Главная » Просмотр файлов » Поддержка системы команд THUMB в двоичной трансляции

Поддержка системы команд THUMB в двоичной трансляции (1187412), страница 5

Файл №1187412 Поддержка системы команд THUMB в двоичной трансляции (Поддержка системы команд THUMB в двоичной трансляции) 5 страницаПоддержка системы команд THUMB в двоичной трансляции (1187412) страница 52020-09-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

потери свойств мониторавиртуальной машины) либо сторонних программных ошибок.Также ожидается, что на исполняемых файлах, закодированных смешанно,различными системами машинных команд, прирост скорости будет получен засчет:1. Увеличения производительности Thumb-кодированных участков2. Уменьшения количества переключений в режим эмуляции при переходемежду Thumb и ARM базовыми блоками.Не должно наблюдаться уменьшения производительности на исполняемыхфайлах, закодированных исключительно системой команд arm.Для проверки данных гипотез был подобран специализированный набортестовых исполняемых файлов.

Он состоит из трех исполняемых файлов; одинзакодирован исключительно в Thumb, второй смешанный, третий исключительноarm.#include <stdio.h>int​ ​next_prime​(​int​ i, ​int​ x[]) {while​ (x[i] == ​​0)​ i++;return​ i;​}int​ ​main​(​int​ argc, c​ har​* argv[]) {int​​* primes;int​ i = ​​0​;int​ j = ​​0​;int​ k = ​​0​;const​ ​​int​ _end = ​100000​;for​​(i=​2​; i < _end; i++) {primes[i] = i;//printf("%d\n", i);}for​​(i=​2​; i < _end; i = next_prime(i+​1​, primes)) {for​​(j = (i*​2​); j < _end; j += i) {//printf("i: %d, j: %d\n", i, j);primes[j] = ​0​;}}for​​(i=​2​; i < _end; i++) {if​ ( primes[i] != ​​0​ ) {printf(​"Prime number: %d\n"​, primes[i]);}}return​ ​​0​;}Листинг 13.

Исходный код примитивной программы для замерапроизводительности целочисленных расчетов.Код, из которого собраны данные исполняемые файлы, представляет собойпримитивную реализацию решета Эратосфена. Выходной файл покрывает околодвух третей арифметико-логических инструкций, имеет простую с точки зренияанализа потока исполнения структуру и не использует условное исполнение.Для проверки первой гипотезы, Parallels ARM Emulator был собран в двухверсиях, одна из которых поддерживала только эмуляцию Thumb, а другаяподдерживала и эмуляцию, и двоичную трансляцию.Для всех остальных измерений был использован свободный набор бенчмарковMiBench. [17] Его выбор был обусловлен простотой использования,специализацией на встраиваемые RISC системы, а также лицензированием.Для сборки кода был использован кросс-компилятор, полученный от проектаGCC, версии 7.1.0.GNU C99 (GCC) version 7.1.0 (arm-linux-gnueabi)compiled by GNU C version 7.0.1 20170421 (Red Hat 7.0.1-0.15), GMPversion 6.1.2, MPFR version 3.1.5, MPC version 1.0.2, isl version isl-0.16.1-GMPGGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072COLLECT_GCC_OPTIONS='-std=c99' '-fno-exceptions' '-fno-unwind-tables''-nostartfiles' '-masm-syntax-unified' '-fno-pie' '-fno-gnu-tm' '-v' '-march=armv7ve''-mtls-dialect=gnu'Листинг 14.

Версия и конфигурация используемого компилятора.Сравнение производительности было также осуществлено относительноосновных конкурентов (см. главу 2). В сравнении участвовали версии QuickEmulator версии 2.9В качестве Houdini была использована поставка Android 5, сборка Android onx86, на устройстве Asus ZenFone 4 (A450CG), результаты были нормированы потактовой частоте устройств.Характеристики тестового стенда для остальных измерений указаны влистинге 15. Тестовый стенд находится под управлением операционной системыGNU\Linux.$ cat /proc/versionLinux version 4.11.5-300.fc26.x86_64 (mockbuild@bkernel02.phx2.fedoraproject.org)(gcc version 7.1.1 20170526 (Red Hat 7.1.1-2) (GCC) ) #1 SMP Wed Jun 14 19:16:35UTC 2017$ lscpuArchitecture:x86_64CPU op-mode(s):32-bit, 64-bitByte Order:Little EndianCPU(s):8Vendor ID:GenuineIntelModel:42Model name:Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHzStepping:7CPU MHz:799.951CPU max MHz:3500,0000CPU min MHz:800,0000$ cat /proc/meminfoMemTotal:12182760 kBЛистинг 15.

Характеристики тестового стенда для измеренийпроизводительности.ЗаключениеПроведена профилировка производительности монитора виртуальных машинParallels ARM Emulator. Анализ результатов профилировки и основных ожидаемыхи целевых сценариев работы указал на нехватку поддержки архитектуры системыкоманд Thumb, а также на неоптимальное использование структур данных вмодуле анализа потока исполнения.Был предложен и имплементирован способ реализации поддержки системыкоманд Thumb основываясь на уже существующих наработках в архитектуремонитора виртуальных машин.Существующий код модуля анализа потока исполнения был оптимизирован.Были проведены эксперименты по сравнению производительности насинтетических тестах монитора виртуальных машин Parallels ARM Emulator иосновных аналогов.Синтетические тесты содержали арифметические операции, и не содержалиопераций ввода-вывода. Для тестирования прироста производительности былтакже собран тест со смешанным кодом систем команд arm и thumb.Данные тесты показали прирост производительности после выполненных вданной работе оптимизаций приблизительно на 600% в случае исключительноThumb кода и на ~27% в случае приближенного к реальному смешанного(interweaving) кода.По сравнению с Quick Emulation (QEMU), Parallels ARM Emulator показалприблизительно до двух порядков лучшую скорость в обоих случаях.По сравнению с libhoudini существенного отличия в производительностиобнаружить не удалось.

Возможно это свидетельствует об ошибке во времянастройки тестового окружения.Все это позволяет сказать о том, что поставленные в работе цели былиуспешно достигнуты. Предложенные в ходе работы и затем реализованныеметодики улучшают скоростные характеристики программного комплексавиртуализации Parallels ARM Emulator, что было успешно доказано в ходеизмерений в финальной части работы.Дальнейшее продолжение работ в данном направлении видиться возможными актуальным. Касательно исключительно вопросов оптимизации бинарноготранслятора, особенно перспективными видятся попытки дополнительныхоптимизаций транслируемого машинного кода (вопрос изложен в [18], [19]).Список литературы[1] Fabrice Bellard.

QEMU, a Fast and Portable Dynamic Translator// Proceedings of the USENIX Annual Technical Conference 2005[2] Adams K., Agesen O. A comparison of software and hardware techniques for x86virtualization // ACM SIGPLAN Notices. 2006. № 11 (41). C. 2.[3] Altman E., Kaeli D., Sheffer Y. Welcome to the opportunities of binary translation //Computer. 2000. № 3 (33). C. 40–45.[4] De Berg, Mark, Marc Van Kreveld, Mark Overmars, and Otfried CheongSchwarzkopf. "Computational geometry." In ​Computational geometry​, pp. 1-17.Springer Berlin Heidelberg, 2000.[5] Choi M. et al.

Faster Translated Binary Execution on Mobile System throughVirtualization // 2014 IEEE 28th International Conference on AdvancedInformation Networking and Applications. 2014.[6] Choi M., Lim S.-H. x86-Android performance improvement for x86 smart mobiledevices // Concurrency and Computation: Practice and Experience. 2014.

№ 10(28). C. 2770–2780.[7] Cormen T.H. et al. Introduction to algorithms / T.H. Cormen, C.E. Leiserson, R.L.Rivest, C. Stein, Cambridge (Massachusetts): The MIT Press, 2009.[8] Hess K., Newman A. Practical virtualization solutions: virtualization from thetrenches / K. Hess, A. Newman, Upper Saddle River, N.J.: Prentice Hall, PearsonEducation, 2010.[9] Intel, Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 2:Instruction Set Reference & Volume 3: System Programming Guide, A-Z, IntelCorporation, 2011.[10] Menken I.

A complete guide on virtualization / I. Menken, Australia: Emereo PtyLtd., 2008.[11] Popek G.J., Goldberg R.P. Formal requirements for virtualizable third generationarchitectures // Communications of the ACM. 1974. № 7 (17). C. 412–421.[12] ARM Architecture Group, ARM® Architecture Reference Manual: ARM® v7-Aand ARM® v7-R edition – errata markup, ARM Limited,ARM 0406C.c errata 2014 (ID051414) edition, 2014.[13] Gartner Report.URL: http://www.psfk.com/2012/03/cloud-replace-pc-headlines.htm ,(01.06.

2017).[14] Rik Myslewski, Rod Watt ARM tests: Intel flops on Android compatibilityURL:https://www.theregister.co.uk/2014/05/02/arm_test_results_attack_intel/(01.06.2017).[15] Niels Penneman, Danielius Kudinskas, Alasdair Rawsthorne, Bjorn De Sutter, KoenDe Bosschere,Formal virtualization requirements for the ARM architecture, 2000MSC: 68M01, 68N25, 68N30[16] H.

Dong, Q. Hao, Extension to the model of a virtualizable computer and analysis onthe efficiency of a virtual machine, in: Second International Conference onComputer Modeling and Simulation, volume 2 of ICCMS 2010,IEEEComputerSociety, Los Alamitos, California, USA, 2010, pp. 503–507.[17] Guthaus M. R.

et al. MiBench: A free, commercially representative embeddedbenchmark suite //Workload Characterization, 2001. WWC-4. 2001 IEEEInternational Workshop on. – IEEE, 2001. – С. 3-14.[18] Spink, Tom, Harry Wagstaff, Björn Franke, and Nigel Topham. "Efficient codegeneration in a region-based dynamic binary translator." In ​ACM SIGPLAN Notices​,vol. 49, no. 5, pp. 3-12. ACM, 2014.[19] D'antras A. et al. Optimizing indirect branches in dynamic binary translators //ACMTransactions on Architecture and Code Optimization (TACO). – 2016. – Т.

13. –№. 1. – С. 7..

Характеристики

Тип файла
PDF-файл
Размер
573,26 Kb
Высшее учебное заведение

Список файлов ВКР

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее