Архитектура процессора

(Различия между версиями)
Перейти к: навигация, поиск
(Обзор)
(Мобильные устройства: архитектура ARM)
Строка 18: Строка 18:
  
 
=== Мобильные устройства: архитектура ARM ===
 
=== Мобильные устройства: архитектура ARM ===
Существует значительно упрощенный набор инструкций под названием [http://en.wikipedia.org/wiki/ARM_architecture ARM] и в силу его простоты на многих мобильных устройствах используется базирующиеся на ARM процессоры. (Обратите внимание, что "проще" не обязательно означает "лучше" или "хуже" для конечного пользователя: процессоры ARM обычно меньше и поэтому их легче производить.) Это справедливо в отношении устройств, на которых используется Maemo. Так как набор инструкций отличается, большинство приложений, запускающихся на компьютере, не будут непосредственно запускаться в Maemo без перекомпиляции. Для перекомпиляции требуется оригинальное описание приложения на каком-то удобочитаемом языке программирования ([[исходный текст программы]]). Он не доступен для большинства коммерческих, закрытых приложений, которые поэтому называются приложениями с ''закрытым исходным текстом''.
+
Существует значительно упрощенный набор инструкций под названием [http://en.wikipedia.org/wiki/ARM_architecture ARM]. В силу его простоты на многих мобильных устройствах используется базирующиеся на ARM процессоры. (Обратите внимание, что "проще" не обязательно означает "лучше" или "хуже" для конечного пользователя: процессоры ARM обычно меньше и поэтому их легче производить.) Это справедливо в отношении устройств, на которых используется Maemo. Так как набор инструкций отличается, большинство приложений, запускающихся на компьютере, не будут непосредственно запускаться в Maemo без перекомпиляции. Для перекомпиляции требуется оригинальное описание приложения на каком-то удобочитаемом языке программирования ([[исходный текст программы]]). Он не доступен для большинства коммерческих, закрытых приложений, которые поэтому называются приложениями с ''закрытым исходным текстом''.
  
 
=== Эмуляция ===
 
=== Эмуляция ===

Версия 12:01, 10 марта 2010

Архитектура процессора

Содержание


Обзор

Цель данной страницы – ответить на следующие (закономерные) вопросы, которые достаточно часто возникают в сообществе:

  1. Возможно ли сделать так, чтобы <некоторые приложения Windows> запускались на платформе Maemo?
  2. Почему да или почему нет?
  3. Почему имеет значение, какие технологии выбраны для использования и поддержки?

В данной статье предпринята попытка ответь на данные вопросы, объяснив, что такое архитектура компьютерного процессора, и связать их с программным и аппаратным обеспечением Maemo.

Компьютеры: архитектура x86

Большинство компьютеров оснащены процессорами, которые производят компании Intel или AMD. Их называют совместимыми с x86. Pentium и Core2, Athlon и Phenom – все они являются совместимыми на уровне ЦП (Центрального процессора) с набором инструкций x86. Программное обеспечение, работающее на одном из них, будет работать и на другом.

Скомпилированные приложения

Суть заключается в том, что вне зависимости от формы, которую принимают приложения, в конечном счете их необходимо представить ЦП в виде инструкций x86. Самыми эффективными приложениями часто являются те приложения, которые скомпилированы непосредственно в листинг данных инструкций x86. По этой причине наиболее основополагающие части операционной системы и приложения с самыми высокими требованиями обычно распространяются и хранятся в виде двоичного представления (в доступном для чтения компьютером виде) указанного скомпилированного состояния.

Мобильные устройства: архитектура ARM

Существует значительно упрощенный набор инструкций под названием ARM. В силу его простоты на многих мобильных устройствах используется базирующиеся на ARM процессоры. (Обратите внимание, что "проще" не обязательно означает "лучше" или "хуже" для конечного пользователя: процессоры ARM обычно меньше и поэтому их легче производить.) Это справедливо в отношении устройств, на которых используется Maemo. Так как набор инструкций отличается, большинство приложений, запускающихся на компьютере, не будут непосредственно запускаться в Maemo без перекомпиляции. Для перекомпиляции требуется оригинальное описание приложения на каком-то удобочитаемом языке программирования (исходный текст программы). Он не доступен для большинства коммерческих, закрытых приложений, которые поэтому называются приложениями с закрытым исходным текстом.

Эмуляция

Единственный способ применения скомпилированных двоичных файлов одной архитектуры в другой архитектуре – использовать транслятор. Он называется эмулятор; он эмулирует необходимую архитектуру для программного обеспечения таким образом, что оно становится совместимым. Данный процесс может быть очень неэффективным, если эмулируемый процессор в несколько, а то и в десятки раз медленнее, чем родной процессор. В применении к портативным устройствам Maemo c ограниченной производительностью системы и емкостью батареи это означает, что эмулировать сложное программное обеспечение для компьютера в целом не представляется целесообразным. Это справедливо в отношении операционной системы Microsoft Windows и приложений, запускаемых в Windows.

За более подробной информацией о том, какие архитектуры и системы можно эмулировать в Maemo, обратитесь на страницу эмулятор.

Вывод и применение

Вывод, который может сделать пользователь, заключается в том, что открытые стандарты и открытые исходные тексты программы - друзья. При наличии достаточного количества времени и потребности практически все программное обеспечение, которое является "открытым", можно перенести и, возможно, будет перенесено на Maemo.

Еще один вывод – закрытые продукты, возможно, никогда не станут доступными, если их владелец не видит смысла в выпуске данного продукта для Maemo. Подумайте, поддерживаются ли открытые стандарты и открытые исходные тексты, когда принимается решение, какую технологию применить в проектах, чтобы можно было использовать устройство Maemo наиболее эффективным способом.

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты