Метка «x86»

Вряд ли сейчас кого-то удивишь тем, что развитием архитектуры IA-32 занимается не только Intel, но и такие компании, как AMD и VIA. Больше информации можно найти, например, в статье A. Fog'a. Сегодня я планирую рассказать об одном, на мой взгляд, не до конца продуманном изменении ISA, внесенном компанией AMD.

http://technology.desktopnexus.com/wallpaper/911325

При мыслях о влиянии AMD на архитектуру IA-32 в первую очередь вспоминается REX префикс и поддержка 64-битного режима процессора. И это безусловно «положительный» эффект, который сделал IA-32 лучше. Однако были и другие интересные изменения, которые лично я положительными назвать не могу.
Читать полностью »

В Apportable SDK добавлена поддержка х86Неделю назад вышла очередная версия платформы Apportable SDK с примечательным номером 1.1.11. Но еще более примечательно в нем другое. Для тех, кто не в курсе, Apportable SDK — довольно интересный инструмент, позволяющий собирать приложения под Android из кода на С++ или Objective-C, изначально написанного для iOS. Очевидно, что наиболее востребован Apportable SDK для создания кросс-платформенных игр. В SDK поддерживаются разнообразные игровые движки, а получаемое приложение является 100% нативным, не требующим никаких дополнительных сред или эмуляций.
Читать полностью »

Android с 64 битным ядром от Intel в вопросах и ответах
Слухи о том, что компания Intel готовит 64-битную версию Android, оптимизированную под ее процессоры, ходили уже довольно давно, да и сама корпорация на последних этапах не делала из этого секрета: так, совершенно прямое тому подтверждение прозвучало на недавнем форуме IDF, проходившем в китайском Шенжене. Однако информации было слишком мало, чтобы выносить ее на Хабра обсуждение – другими словами, обсуждать было еще нечего. Теперь это уже не так: у нас есть и информация о проделанной работе, и, самое главное, прямые ссылки для скачивания нового продукта. Имеющуюся информацию мы решили оформить в виде вопросов и ответов.
Читать полностью »

Привет, %username%!
Декодирование IA-32 кода — задача архисложная. Чтобы в этом убедиться, можете обратиться к Intel Software Development Manual или к статьям, ранее написанным на хабре: Префиксы в системе команд IA-32, Правильно ли работает ваш дизассемблер?. Давайте посмотрим, как с этой задачей борется функционально точный полноплатформенный симулятор Wind River Simics, позволяющий создать высокопроизводительное виртуальное окружение, в котором любая электронная система, начиная с одной платы и заканчивая целыми многопроцессорными, многоядерными и даже многомашинными системами, может быть определена, разработана и запущена.
Как справиться с IA 32 кодом или особенности декодера SimicsБольшинство библиотек для декодирования IA-32 инструкций генерируют или используют таблицы соответствия между кодами операций и инструкциями. Пример использования данного подхода описан в статье Дизассемблер своими руками. Однако декодирование префиксов и аргументов обычно написано руками: libopcodes, metasm, beaengine, distorm. Данный подход обладает существенным недостатком — добавление поддержки новых наборов команд потребует большого количества ручной работы.
Существуют и другие способы создания декодеров, например с помощью языка GDSL. Данный подход является универсальным и позволяет создавать декодеры для любых архитектур.
Simics же использует совершенно другой не менее универсальный подход для работы с IA-32 инструкциями, названный раздельным декодированием. Также Simics имеет возможность использования внешних декодеров, но об этом немного позже.
Читать полностью »

IBM прощается с x86 серверами, вся линейка продана Lenovo

Компания IBM достаточно давно хотела избавиться от x86 серверов в своей серверной линейке и, похоже, это ей наконец удалось — благодаря ей компания Lenovo становится одним из крупнейших поставщиков серверного оборудования в мире, приобретя такие линейки серверов как System x, BladeCenter и др. Сумма сделки составила 2,3 миллиарда долларов.
Читать полностью »

Оптимизация Android приложений под х86. Опыт 2GISНаверное, читателям Хабры не имеет смысла представлять 2ГИС – российский геосервис, ставший важнейшим источником информации для жителей многих городов нашей (и не только) страны. Разработчики сервиса уделяют большое внимание мобильным приложениям — продукт доступен для различных мобильных ОС и входит в число лучших бесплатных приложений в категориях «карты», «навигация» на Google Play и App Store.
Мобильные устройства с ОС Android на базе x86 возможно, пока известны чуть менее, чем 2ГИС, но с постоянным увеличением ассортимента, их известность растет.
Мы пригласили 2ГИС в гости в блог Intel, чтобы задать им несколько вопросов об оптимизации мобильной версии программы под архитектуру х86. Ответы подготовил Сергей Галин — Руководитель команды разработки мобильного 2ГИС.
Читать полностью »

Перехват функций ядра является базовым методом, позволяющим переопределять (дополнять) различные его механизмы. Исходя из того, что за исключением небольших архитектурно-зависимых частей, ядро Linux почти полностью написано на языке C, можно утверждать, что для осуществления встраивания в большинство из компонентов ядра, достаточно иметь возможность перехвата соответствующих функций ЯВУ, реализующих ту или иную логику.

Данная статья является практическим обобщением представленных ранее статей:

  1. Управляемый PageFault в ядре Linux
  2. Кошерный способ модификации защищённых от записи областей ядра Linux

Далее будет рассмотрено каким образом использование данных материалов может быть применимо в обеспечении возможности перехвата функций ядра Linux.
Читать полностью »

В первой части статьи я рассказал о компании DMP Electronics, малоизвестном тайваньском производителе x86-совместимых процессоров семейства Vortex86, а также материнских плат и компьютеров на их базе. Во второй части я обещал привести сравнительные характеристики процессора Vortex86MX, и сделать обзор компьютера eBox-3300MX на его базе. К сожалению, по не зависящим от меня причинам, вторая часть ещё не закончена, и я вынужден опубликовать третью часть раньше второй. В третьей части речь пойдёт об Arduino.

Не прошло и месяца, как Intel объявила о начале продаж первого x86-совместимого Arduino-контроллера, а DMP Electronics уже выпустила свою версию платы на базе своего собственного процессора Vortex86EX. Новая плата получила название 86Duino.x86 compatible, часть 3: «86Duino наносит ответный удар»Читать полностью »

Те, кто хоть однажды сталкивался с необходимостью поменять что-то в ядре на лету не понаслышке знают, что данный вопрос требует детальной проработки, ведь страницы памяти ядра, хранящие код и некоторые данные, помечены как «read-only» и защищены от записи!

Для x86 известным решением является временное отключение страничной защиты посредством сброса бита WP регистра CR0. Но следует применять это с осторожностью, ведь страничная защита является основой для многих механизмов ядра. Кроме того, необходимо учитывать особенности работы на SMP-системах, когда возможно возникновение разных неприятных ситуаций.

Читать полностью »

Запуск физического движка Bullet Physics на Android х86
Истоник фото
Постоянный рост вычислительной мощности мобильных устройств способствует развитию мобильных игр. В мобильном сегменте появился целый класс игр, который славится реалистичной графикой и правдоподобной физикой. Такие эффекты как взрыв гранаты в шутере, занос машины в гонке ложатся на плечи физического движка. В основе физического движка заложены математические модели, которые просчитываются в процессе игры. Как правило это вычислительные задачи и от того насколько быстро и качественно физический движок справляется с ними зависит привлекательность игры.
В этой статье показано, как собрать и портировать физический движок Bullet Physics на платформу Android на базе процессора Intel Atom.
Читать полностью »