реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> java на ARM7
mihask
сообщение Jan 16 2007, 11:45
Сообщение #1


Частый гость
**

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Уважаемые сограждане, подскажите пожалуйста, существует ли реализация
java-машины на ядре ARM7TDMI ?

Сообщение отредактировал mihask - Jan 16 2007, 11:46
Go to the top of the page
 
+Quote Post
amw
сообщение Jan 16 2007, 12:14
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(mihask @ Jan 16 2007, 12:45) *
Уважаемые сограждане, подскажите пожалуйста, существует ли реализация
java-машины на ядре ARM7TDMI ?

На сколько я знаю - нет.
Но существуют ARM процессоры (кажется ARM10/ARM11), со встроенной аппаратной поддержкой JAVA и для их задействования нужен соответствующий софт. Софт этот - платформозависимый, и покупатьего надо типа у производителя чипа.
Сами процессоры содержат в маркировке букву J (типа ARM10J).

В PDA (опять же - насколько я знаю), используются частные решения по договоренности, то-ли с Sun, то-ли с производителем ОС. Что-то вроде того.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 16 2007, 12:28
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Коммерческие реализации для ARM7TDMI есть, но особой популярности они, похоже, не получили.

Технология от ARM называется Jazele. Самое популярное ядро с jazelle - ARM926EJ-S, встречается у многих производителей. Но софт, как уже сказал amw, нужно покупать у ARM.
Go to the top of the page
 
+Quote Post
mihask
сообщение Jan 17 2007, 07:08
Сообщение #4


Частый гость
**

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Цитата(aaarrr @ Jan 16 2007, 15:28) *
Коммерческие реализации для ARM7TDMI есть, но особой популярности они, похоже, не получили.

Технология от ARM называется Jazele. Самое популярное ядро с jazelle - ARM926EJ-S, встречается у многих производителей. Но софт, как уже сказал amw, нужно покупать у ARM.


Я не большой знаток java. Прямо скажем никакой я не знаток java. smile.gif
Поэтому не пинайте строго: smile.gif

А вот как вы думаете почему java не распространено на всяких там ARM? Ведь и в 51-ый даллас даже затолкали, и надо полагать не тормозит этот процессор вместе с javой. Потому как если 51-ый еще тормознее будет, то нафиг кому он нужен.

И к тому же исходники java открывают, может теперь проще будет переносить java-машину на разные мелкие процы?

Ведь этоже программистам удобней будет - один и тотже код на разных процах пользовать можно будет, и при необходимости один и тот же программист может писать и для контроллера, и верхний
уровень этого контроллера на компе(ну тут конечно вилами по воде smile.gif ).

Я в чем то не прав или я во всем не прав ? smile.gif
Go to the top of the page
 
+Quote Post
Kopa
сообщение Jan 17 2007, 08:01
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(mihask @ Jan 17 2007, 07:08) *
А вот как вы думаете почему java не распространено на всяких там ARM?
Я в чем то не прав или я во всем не прав ? smile.gif

Для АRM достаточно Java VM хотя бы потому, что он применяется в КПК ( ARM9).
Бегло пролистнул интернет и сразу попалась одна из ссылок по затронутому вопросу.

http://www.rtjcom.com/ ( ARM7 там представлен)

Выдержка.
Specially optimized to run on the embedded systems with limited memory resources. On average the simpleRTJ will not require more than 18-24KB of code space to run.
Designed to run as a stand-alone miniature Java operating system. No other RTOS is required to be present in the memory. ...

P.S. Думаю, если озадачиться данным вопросом, то материала можно найти достаточно
Go to the top of the page
 
+Quote Post
AlexBoy
сообщение Jan 17 2007, 12:53
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 19-12-05
Из: Kiev
Пользователь №: 12 394



Цитата(Kopa @ Jan 17 2007, 07:01) *
Бегло пролистнул интернет и сразу попалась одна из ссылок по затронутому вопросу.

http://www.rtjcom.com/ ( ARM7 там представлен)


Вот попалась еще ссылочка, открытый код:
http://www.harbaum.org/till/nanovm/
Go to the top of the page
 
+Quote Post
mihask
сообщение Jan 18 2007, 06:45
Сообщение #7


Частый гость
**

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Ну то что java VM для ARM7 имеется я понял. smile.gif

У меня даже лучше ссылка есть http://java-virtual-machine.net smile.gif

Но вот интересно, почему эта технология не распространена также как СИ, C++, RTOSы ?
Я имею ввиду не КПК и сотовые телефоны, а промышленную электроннику построенную
на ARM7 например и прочих мелких процессорах. Ведь java довольно популярен на
писюковой платформе и помоему не только в сетевых приложениях.

А вот еще вопрос - Открытие исходников java не может повлиять на то, что java машины теперь
будут более активно портироваться на разные мелкие процы ?

И вообще что дает открытие исходников java ? smile.gif
Go to the top of the page
 
+Quote Post
Kopa
сообщение Jan 18 2007, 07:58
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(mihask @ Jan 18 2007, 06:45) *
Но вот интересно, почему эта технология не распространена также как СИ, C++, RTOSы ?
Я имею ввиду не КПК и сотовые телефоны, а промышленную электроннику построенную
на ARM7 например и прочих мелких процессорах.

Вкратце.

Java, в общем случае, состоит из двух больших частей.

1. Язык программирования Java.
( можно непосредственно компилировать в коды целевого процессора, с поддержкой
в рантайме исполнительной среды. но тогда этот подход, почти не отличается от Си, С++, RTOS)
2. Виртуальная машина Java (JVM), в байт-коды( стековой машины) которой компилит Java язык.
При исполнении код JVM преобразуется, часто с профилированием,
в родные коды исполнительной платформы или непосредственно исполняется.

Если с первым более менее ясно,
то ко второму пункту для использования в контроллерах есть вопросы и соответственно
решения при выборе схемы работы с контроллером.

Реализация JVM на стороне контроллера без профилировщика снижает скорость работы
программы, что не всегда допустимо.
Добавление профилировщика - утяжеляет систему по требуемым ресурсам и вносит
недетерминизм в работу системы.

Кроме того, т.к большая часть информации уже потеряна в байт-коде исполняемой
программы, то задача профилирования в регистровую архитектуру конкретного
контроллера задача нетривиальная.


Цитата(mihask @ Jan 18 2007, 06:45) *
А вот еще вопрос - Открытие исходников java не может повлиять на то, что java машины теперь
будут более активно портироваться на разные мелкие процы ?

И вообще что дает открытие исходников java ? smile.gif


Портов JVM и так предостаточно и нет особой сложности портировать непосредственное
исполнение байт-кода, важнее открытие достижений в технологии профилирования байт-кодаsmile.gif

P.S. При всем сказанном у Java, все же, есть шансы потеснить C, C++, на рынке разработки
приложений для контроллеров.




Цитата(AlexBoy @ Jan 17 2007, 12:53) *
Вот попалась еще ссылочка, открытый код:
http://www.harbaum.org/till/nanovm/


Было одно время, в качестве пробы, отработал nanovm проект под IAR-ом для AVR.
Вопросы по данному подходу тоже осталисьsmile.gif
Go to the top of the page
 
+Quote Post
mihask
сообщение Jan 18 2007, 08:22
Сообщение #9


Частый гость
**

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Большое спасибо за ответ smile.gif
Теперь сам немного почитаю попросвещаюсь про профилирование и все такое smile.gif
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Jan 20 2007, 02:37
Сообщение #10


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Я сам не есть специалист в Java, и потому выскажусь почему это не нужно лично мне. smile.gif Первостепенной целью при разработке концепции Java ставилось получение системы требующей минимальных (в идеале вообще не требующей) изменений при переноске кода с одной ОС на другую, и с одной архитектуры на другую. Т.е. титанический ( smile.gif ) труд "писальщиков-архитекторов" J-машин выливается в простоту работы (и соответственно скорость обучения) рядовых Java программистов. Но с точки зрения ресурсов Java это "софтовый" проц в вашем "железном" проце со всеми вытекающими. Понятно, что для обеспечения переносимости от Java отрезали все что можно отрезать у процессора. Это, по сути, стековая ЭВМ с минимумом регистров (4 минимум кажеЦЦо: счетчик команд, регистр доступа к локальным переменным, указатель на стек операндов и последний (сам не знаю чо это smile.gif ) указатель на окружение времени выполнения). Стековая ЭВМ это медлительность в замен компактности ("короткости") кода (в смысле в байтах). Кажется, так же все обстоит и в Fort системах, очень близких по духу Java, но я о них токо слышал. То же как будет распределена эта машина внутри реального ("железного") проца это вопрос к разработчику виртуальной машины и напрямую зависеть от его дара и потраченного времени. Т.е. я хочу сказать что разброс эффективности будет огромный. Вобщем применение такого дива в embedded довольно сомнительно (особенно если вам придется самому писать машину, а потом садить за написание программ зеленых Java-кодеров хотящих в провинции 1500$ в месяц) а уж в DSP системах (где ресурсы вплотную определяют время обработки, а следовательно и круг решаемых задач) и вообще следует избегать применения Java.
Вобщем-то все, с удовольствием прочту критику своих мыслей.

P.S.: Интересно реализовать Java машину на ПЛИС, тогда там все будет родное и железное smile.gif . Кстати, есть же готовые Java-процы. Forth и Lisp-машины в кремнии тоже кстати имеюЦЦо.


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Abo
сообщение Jan 21 2007, 23:25
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 9-01-06
Пользователь №: 12 967



Цитата(DRUID3 @ Jan 20 2007, 02:37) *
Но с точки зрения ресурсов Java это "софтовый" проц в вашем "железном" проце со всеми вытекающими. Понятно, что для обеспечения переносимости от Java отрезали все что можно отрезать у процессора. Это, по сути, стековая ЭВМ с минимумом регистров (4 минимум кажеЦЦо: счетчик команд, регистр доступа к локальным переменным, указатель на стек операндов и последний (сам не знаю чо это smile.gif ) указатель на окружение времени выполнения).

Ну не совсем софтовый! См здесь: http://www.arm.com/pdfs/JazelleWhitePaper.pdf.

В кратце, в ядрах J кроме арм и тумб режимов добавился еще и жаба режим работы. 134 жаба байт-кода выполняются непосредствнно процессором, остальное эмулируется программно в обработчике исключения нейзвестной команды. Регистры виртуального процессора и 4 слова из вершины его стека отображаются на обычный арм регистровый файл. соответственно скорость должна быть хорошей. При этом и реакция на прерывания ядра не ухудшилась, поскольку жабовский байт код может быть прерван.

Касаемо http://www.rtjcom.com/ - очень понравилось, что есть отладчик жабовских приложений, в том числе и многопоточных. Вот песня, когда один поток трассируешь, другой приостановил, а остальные жужжат себе (в смысле квакают, жаба ведь biggrin.gif ), работают!
Go to the top of the page
 
+Quote Post
Kopa
сообщение Jan 22 2007, 07:52
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(DRUID3 @ Jan 20 2007, 02:37) *
...Стековая ЭВМ это медлительность в замен компактности ("короткости") кода (в смысле в байтах). Кажется, так же все обстоит и в Fort системах, очень близких по духу Java, но я о них токо слышал.
...
с удовольствием прочту критику своих мыслей.

Верно, при условии выполнения Java программы без JIT в регистровой архитектуре.
Форт хоть как и Java используют понятие стековой машины ( также как и Net ),
но все же имеют большие различия.
Стековая машина в Jave вторична, по отношению к языку.( это среда исполнения программ).
В Форте же на ней построен весь язык и все ресурсы ее доступны из языка.
Ваше мнение об медлительности Java ошибочно, что прекрасно демонстрируют
Sun-е JVM. C Фортом дело обстоит примерно также. ( хорошая оптимизация присутствует
в комерческих Форт средах). Зачастую использование и поддержка Форт средств держится
на группах энтузиастов и отдельных людей использующих данный язык.

Цитата(DRUID3 @ Jan 20 2007, 02:37) *
P.S.: Интересно реализовать Java машину на ПЛИС, тогда там все будет родное и железное smile.gif . Кстати, есть же готовые Java-процы. Forth и Lisp-машины в кремнии тоже кстати имеюЦЦо.


Вроде уже естьsmile.gif Например JOB ( или JOP ) .
Go to the top of the page
 
+Quote Post
asen
сообщение Jan 22 2007, 10:11
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 513
Регистрация: 5-09-05
Из: Барнаул
Пользователь №: 8 220



Я вот в свое время проходил язык Форт и писал на нем программы и котегорически не согласен с тем что он медленный так как он изначально был разработан для применения в системах реального времени в часности Американских системах управления ракетами и в нем повышение производительности произходит за счет уменьшения времени доступа исходным данным различных операций так как все лежит в одном месте в стеке ! но писать такие программы такая попа !
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016