
Слухи о том, что компания Intel готовит 64-битную версию Android, оптимизированную под ее процессоры, ходили уже довольно давно, да и сама корпорация на последних этапах не делала из этого секрета: так, совершенно прямое тому подтверждение прозвучало на недавнем форуме IDF, проходившем в китайском Шенжене. Однако информации было слишком мало, чтобы выносить ее на Хабра обсуждение – другими словами, обсуждать было еще нечего. Теперь это уже не так: у нас есть и информация о проделанной работе, и, самое главное, прямые ссылки для скачивания нового продукта. Имеющуюся информацию мы решили оформить в виде вопросов и ответов.
Читать полностью »
Рубрика «x86» - 9
Android с 64-битным ядром от Intel в вопросах и ответах
2014-06-05 в 5:11, admin, рубрики: android, x86, Блог компании Intel, Смартфоны и коммуникаторы, метки: x86Как справиться с IA-32 кодом или особенности декодера Simics
2014-03-18 в 5:25, admin, рубрики: x86, Блог компании Intel, виртуализация, дизассемблер, Процессоры, метки: x86, дизассемблер Привет, %username%!
Декодирование IA-32 кода — задача архисложная. Чтобы в этом убедиться, можете обратиться к Intel Software Development Manual или к статьям, ранее написанным на хабре: Префиксы в системе команд IA-32, Правильно ли работает ваш дизассемблер?. Давайте посмотрим, как с этой задачей борется функционально точный полноплатформенный симулятор Wind River Simics, позволяющий создать высокопроизводительное виртуальное окружение, в котором любая электронная система, начиная с одной платы и заканчивая целыми многопроцессорными, многоядерными и даже многомашинными системами, может быть определена, разработана и запущена.
Большинство библиотек для декодирования IA-32 инструкций генерируют или используют таблицы соответствия между кодами операций и инструкциями. Пример использования данного подхода описан в статье Дизассемблер своими руками. Однако декодирование префиксов и аргументов обычно написано руками: libopcodes, metasm, beaengine, distorm. Данный подход обладает существенным недостатком — добавление поддержки новых наборов команд потребует большого количества ручной работы.
Существуют и другие способы создания декодеров, например с помощью языка GDSL. Данный подход является универсальным и позволяет создавать декодеры для любых архитектур.
Simics же использует совершенно другой не менее универсальный подход для работы с IA-32 инструкциями, названный раздельным декодированием. Также Simics имеет возможность использования внешних декодеров, но об этом немного позже.
Читать полностью »
IBM прощается с x86 серверами, вся линейка продана Lenovo
2014-01-23 в 20:41, admin, рубрики: IBM, Lenovo, x86, Железо, ит-инфраструктура, сервера, метки: IBM, Lenovo, x86, сервера 
Компания IBM достаточно давно хотела избавиться от x86 серверов в своей серверной линейке и, похоже, это ей наконец удалось — благодаря ей компания Lenovo становится одним из крупнейших поставщиков серверного оборудования в мире, приобретя такие линейки серверов как System x, BladeCenter и др. Сумма сделки составила 2,3 миллиарда долларов.
Читать полностью »
Оптимизация Android приложений под х86. Опыт 2GIS
2014-01-13 в 5:13, admin, рубрики: 2GIS, android, x86, Блог компании Intel, Разработка под android, метки: 2gis, android, x86
Наверное, читателям Хабры не имеет смысла представлять 2ГИС – российский геосервис, ставший важнейшим источником информации для жителей многих городов нашей (и не только) страны. Разработчики сервиса уделяют большое внимание мобильным приложениям — продукт доступен для различных мобильных ОС и входит в число лучших бесплатных приложений в категориях «карты», «навигация» на Google Play и App Store.
Мобильные устройства с ОС Android на базе x86 возможно, пока известны чуть менее, чем 2ГИС, но с постоянным увеличением ассортимента, их известность растет.
Мы пригласили 2ГИС в гости в блог Intel, чтобы задать им несколько вопросов об оптимизации мобильной версии программы под архитектуру х86. Ответы подготовил Сергей Галин — Руководитель команды разработки мобильного 2ГИС.
Читать полностью »
Перехват функций ядра Linux с использованием исключений (kprobes своими руками)
2014-01-08 в 18:25, admin, рубрики: hooking, kernel, linux, x86, системное программирование, метки: hooking, kernel, linux, x86Перехват функций ядра является базовым методом, позволяющим переопределять (дополнять) различные его механизмы. Исходя из того, что за исключением небольших архитектурно-зависимых частей, ядро Linux почти полностью написано на языке C, можно утверждать, что для осуществления встраивания в большинство из компонентов ядра, достаточно иметь возможность перехвата соответствующих функций ЯВУ, реализующих ту или иную логику.
Данная статья является практическим обобщением представленных ранее статей:
- Управляемый PageFault в ядре Linux
- Кошерный способ модификации защищённых от записи областей ядра Linux
Далее будет рассмотрено каким образом использование данных материалов может быть применимо в обеспечении возможности перехвата функций ядра Linux.
Читать полностью »
Кошерный способ модификации защищённых от записи областей ядра Linux
2013-12-23 в 21:09, admin, рубрики: kernel, linux, x86, системное программирование, метки: kernel, linux, x86Те, кто хоть однажды сталкивался с необходимостью поменять что-то в ядре на лету не понаслышке знают, что данный вопрос требует детальной проработки, ведь страницы памяти ядра, хранящие код и некоторые данные, помечены как «read-only» и защищены от записи!
Для x86 известным решением является временное отключение страничной защиты посредством сброса бита WP регистра CR0. Но следует применять это с осторожностью, ведь страничная защита является основой для многих механизмов ядра. Кроме того, необходимо учитывать особенности работы на SMP-системах, когда возможно возникновение разных неприятных ситуаций.
Запуск физического движка Bullet Physics на Android х86
2013-12-19 в 9:44, admin, рубрики: android, android development, Android NDK, game development, mobile, physics engine, x86, Блог компании Intel, метки: android development, Android NDK, game development, mobile, physics engine, x86 
Истоник фото
Постоянный рост вычислительной мощности мобильных устройств способствует развитию мобильных игр. В мобильном сегменте появился целый класс игр, который славится реалистичной графикой и правдоподобной физикой. Такие эффекты как взрыв гранаты в шутере, занос машины в гонке ложатся на плечи физического движка. В основе физического движка заложены математические модели, которые просчитываются в процессе игры. Как правило это вычислительные задачи и от того насколько быстро и качественно физический движок справляется с ними зависит привлекательность игры.
В этой статье показано, как собрать и портировать физический движок Bullet Physics на платформу Android на базе процессора Intel Atom.
Читать полностью »
Правильно ли работает ваш дизассемблер?
2013-11-15 в 5:07, admin, рубрики: IA-32, LLVM, objdump, x86, x86_64, Блог компании Intel, дизассемблер, ненормальное программирование, префиксы, Процессоры, метки: IA-32, LLVM, objdump, x86, x86_64, дизассемблер, префиксыСегодня я хочу рассказать об одной интересной сложности декодирования/дизассемблирования IA-32 инструкций.
Перед прочтением этой статьи рекомендую обратиться в статье «Префиксы в системе команд IA-32», описывающей общую структуру IA-32 команды и существующие префиксы. В этой статье я подробнее расскажу про обязательные префиксы (англ. mandatory prefixes) и некоторые нюансы, связанные с ними.
Читать полностью »
Десять имён для одной архитектуры
2013-11-13 в 9:51, admin, рубрики: amd64, IA-32, x64, x86, x86_64, Блог компании Intel, История ИТ, Процессоры, метки: amd64, IA-32, x64, x86, x86_64 
На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 64-битный вариант архитектуры процессоров Intel называется x64, а 32-битный — x86? Я начал объяснять, что не всё так просто. Захотелось нарисовать более полную картину. Ведь на самом деле это не x64, и даже не x86.
Читать полностью »

