Архитектура процессора
(Новая страница: «=={{PAGENAME}}== __TOC__ === Обзор === Цель данной страницы – ответить на следующие (закономерные) воп…») |
Admin (обсуждение | вклад) (→Эмуляция) |
||
(не показаны 11 промежуточных версий 2 участников) | |||
Строка 5: | Строка 5: | ||
=== Обзор === | === Обзор === | ||
Цель данной страницы – ответить на следующие (закономерные) вопросы, которые достаточно часто возникают в сообществе: | Цель данной страницы – ответить на следующие (закономерные) вопросы, которые достаточно часто возникают в сообществе: | ||
− | # Возможно ли сделать так, чтобы <некоторые приложения Windows> запускались на Maemo? | + | # Возможно ли сделать так, чтобы <некоторые приложения Windows> запускались на платформе Maemo? |
− | # Почему или почему нет? | + | # Почему да или почему нет? |
# Почему имеет значение, какие технологии выбраны для использования и поддержки? | # Почему имеет значение, какие технологии выбраны для использования и поддержки? | ||
Строка 15: | Строка 15: | ||
=== Скомпилированные приложения === | === Скомпилированные приложения === | ||
− | Суть заключается в том, что вне зависимости от формы, которую принимают приложения, в конечном счете их необходимо представить ЦП в виде инструкций x86. Самыми эффективными приложениями часто являются те приложения, которые ''[ | + | Суть заключается в том, что вне зависимости от формы, которую принимают приложения, в конечном счете их необходимо представить ЦП в виде инструкций x86. Самыми эффективными приложениями часто являются те приложения, которые ''[http://en.wikipedia.org/wiki/Compiler скомпилированы]'' непосредственно в листинг данных инструкций x86. По этой причине наиболее основополагающие части операционной системы и приложения с самыми высокими требованиями обычно распространяются и хранятся в виде [http://en.wikipedia.org/wiki/Executable двоичных файлов] (т.е. в доступном для чтения компьютером виде) указанного скомпилированного состояния. |
=== Мобильные устройства: архитектура ARM === | === Мобильные устройства: архитектура ARM === | ||
− | Существует | + | Существует существенно упрощенный набор инструкций под названием [http://en.wikipedia.org/wiki/ARM_architecture ARM]. В силу его простоты на многих мобильных устройствах используются базирующиеся на ARM процессоры. (Обратите внимание, что "проще" не обязательно означает "лучше" или "хуже" для конечного пользователя: процессоры ARM обычно меньше и поэтому их легче производить) Это справедливо в отношении устройств, на которых используется Maemo. Так как набор инструкций отличается, большинство приложений, запускающихся на компьютере, не будут непосредственно запускаться на платформе Maemo без перекомпиляции. Для перекомпиляции требуется оригинальное описание приложения на каком-то удобочитаемом языке программирования ([[исходный текст программы]]). Он не доступен для большинства коммерческих, закрытых приложений, которые поэтому называются приложениями с ''закрытым исходным текстом''. |
=== Эмуляция === | === Эмуляция === | ||
− | Единственный способ применения скомпилированных двоичных файлов одной архитектуры в другой архитектуре – использовать транслятор. Он называется [ | + | Единственный способ применения скомпилированных двоичных файлов одной архитектуры в другой архитектуре – использовать транслятор. Он называется [http://en.wikipedia.org/wiki/Emulator эмулятор]; он эмулирует необходимую архитектуру для программного обеспечения таким образом, что оно становится совместимым. Данный процесс может быть очень неэффективным, если эмулируемый процессор в несколько, а то и в десятки раз медленнее, чем родной процессор. В применении к портативным устройствам Maemo c ограниченными производительностью системы и емкостью батареи это означает, что эмулировать сложное программное обеспечение для компьютера в целом не представляется целесообразным. Это справедливо в отношении операционной системы Microsoft Windows и приложений, запускаемых в Windows. |
− | За более подробной информацией о том, какие архитектуры и системы можно эмулировать | + | За более подробной информацией о том, какие архитектуры и системы можно эмулировать на платформу Maemo, обратитесь на страницу [[Эмуляторы]]. |
=== Вывод и применение === | === Вывод и применение === | ||
− | Вывод, который может сделать пользователь, заключается в том, что открытые стандарты и открытые исходные тексты программы - | + | Вывод, который может сделать пользователь, заключается в том, что открытые стандарты и открытые исходные тексты программы - это то, с чем лучше иметь дело. При наличии достаточного количества времени и потребности практически все программное обеспечение, которое является открытым, можно перенести и оно, возможно, будет перенесено на Maemo. |
Еще один вывод – закрытые продукты, возможно, никогда не станут доступными, если их владелец не видит смысла в выпуске данного продукта для Maemo. Подумайте, поддерживаются ли открытые стандарты и открытые исходные тексты, когда принимается решение, какую технологию применить в проектах, чтобы можно было использовать устройство Maemo наиболее эффективным способом. | Еще один вывод – закрытые продукты, возможно, никогда не станут доступными, если их владелец не видит смысла в выпуске данного продукта для Maemo. Подумайте, поддерживаются ли открытые стандарты и открытые исходные тексты, когда принимается решение, какую технологию применить в проектах, чтобы можно было использовать устройство Maemo наиболее эффективным способом. |
Текущая версия на 21:34, 5 апреля 2010
[править] Архитектура процессора
Содержание |
[править] Обзор
Цель данной страницы – ответить на следующие (закономерные) вопросы, которые достаточно часто возникают в сообществе:
- Возможно ли сделать так, чтобы <некоторые приложения Windows> запускались на платформе Maemo?
- Почему да или почему нет?
- Почему имеет значение, какие технологии выбраны для использования и поддержки?
В данной статье предпринята попытка ответь на данные вопросы, объяснив, что такое архитектура компьютерного процессора, и связать их с программным и аппаратным обеспечением 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 наиболее эффективным способом.