Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
wwwalker писал(а): То есть Java-процессор был придуман для того, чтобы все наработки под JVM смогли выполняться аппаратно? В целом я ничего не могу сказать про соображения авторов Java-процессоров, но когда-то в рамках НИР коллеги показывали презентацию по Jazelle - это аппаратный ускоритель Java для ARM. Сейчас на сайте документация уже где-то в скрытых разделах, но при небольших аппаратных затратах там в демо-ролике получалось, что телефон на обычном ARM показывал 2 чего-то там (fps? или абстрактных баллах?) на довольно навороченной игрушке, а с Jazelle - целых 6. В принципе понятно, что Java хороша своей универсальностью, и при этом какие-то архитектуры выполняют байт-код Java эффективно, а какие-то - не очень. Видимо, должна быть и архитектура, которая будет выполнять такой код максимально эффективно.
[quote="wwwalker"]То есть Java-процессор был придуман для того, чтобы все наработки под JVM смогли выполняться аппаратно?[/quote] В целом я ничего не могу сказать про соображения авторов Java-процессоров, но когда-то в рамках НИР коллеги показывали презентацию по Jazelle - это аппаратный ускоритель Java для ARM. Сейчас на сайте документация уже где-то в скрытых разделах, но при небольших аппаратных затратах там в демо-ролике получалось, что телефон на обычном ARM показывал 2 чего-то там (fps? или абстрактных баллах?) на довольно навороченной игрушке, а с Jazelle - целых 6. В принципе понятно, что Java хороша своей универсальностью, и при этом какие-то архитектуры выполняют байт-код Java эффективно, а какие-то - не очень. Видимо, должна быть и архитектура, которая будет выполнять такой код максимально эффективно.
|
|
|
|
Добавлено: Сб мар 31, 2012 00:38 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
То есть Java-процессор был придуман для того, чтобы все наработки под JVM смогли выполняться аппаратно?
То есть Java-процессор был придуман для того, чтобы все наработки под JVM смогли выполняться аппаратно?
|
|
|
|
Добавлено: Пт мар 30, 2012 21:59 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
gudleifr писал(а): Так трудно набрать -s ? Мне не так уж трудно набрать -s. Мне труднее подобрать способ объяснения человеку, который априори считает себя правым, что выбранные им понятия и термины не относятся к поставленному вопросу. Как насчет ассемблера с load/store подходом? Это тоже ассемблер, но выступающий только как инструмент технической реализации процесса компиляции. А речь идет о разных вычислительных моделях. gudleifr писал(а): Все, надоел этот маразм. Если хотите что-то спросить, пишите на мыло. Больше на вопросы в темах не отвечаю. А мне вот хамоватый апломб еще не надоел Он меня даже где-то развлекает...
[quote="gudleifr"]Так трудно набрать -s ? [/quote] Мне не так уж трудно набрать -s. Мне труднее подобрать способ объяснения человеку, который априори считает себя правым, что выбранные им понятия и термины не относятся к поставленному вопросу. Как насчет ассемблера с load/store подходом? Это тоже ассемблер, но выступающий только как инструмент технической реализации процесса компиляции. А речь идет о разных вычислительных моделях. [quote="gudleifr"]Все, надоел этот маразм. Если хотите что-то спросить, пишите на мыло. Больше на вопросы в темах не отвечаю.[/quote] А мне вот хамоватый апломб еще не надоел ;) Он меня даже где-то развлекает...
|
|
|
|
Добавлено: Чт мар 29, 2012 22:42 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
Хищник писал(а): для процессора с какой архитектурой? Так трудно набрать -s ? Все, надоел этот маразм. Если хотите что-то спросить, пишите на мыло. Больше на вопросы в темах не отвечаю.
[quote="Хищник"]для процессора с какой архитектурой?[/quote]Так трудно набрать -s ? Все, надоел этот маразм. Если хотите что-то спросить, пишите на мыло. Больше на вопросы в темах не отвечаю.
|
|
|
|
Добавлено: Чт мар 29, 2012 22:32 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
gudleifr писал(а): Для тех, "кто на бронепоезде" повторяю: промежуточным представлением C-программ является универсальный упрощенный язык ассемблера. Ответ из серии: "какие бывают станки? Фрезерные, токарные, сверлильные? Нет! Легкие, средние, тяжелые". Так вот этот язык ассемблера - он строится для процессора с какой архитектурой?
[quote="gudleifr"]Для тех, "кто на бронепоезде" повторяю: промежуточным представлением C-программ является универсальный упрощенный язык ассемблера.[/quote] Ответ из серии: "какие бывают станки? Фрезерные, токарные, сверлильные? Нет! Легкие, средние, тяжелые". Так вот этот язык ассемблера - он строится для процессора с какой архитектурой?
|
|
|
|
Добавлено: Чт мар 29, 2012 22:16 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
Хищник писал(а): Что "да"? Для тех, "кто на бронепоезде" повторяю: промежуточным представлением C-программ является универсальный упрощенный язык ассемблера.
[quote="Хищник"]Что "да"?[/quote]Для тех, "кто на бронепоезде" повторяю: промежуточным представлением C-программ является универсальный упрощенный язык ассемблера.
|
|
|
|
Добавлено: Чт мар 29, 2012 21:04 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
gudleifr писал(а): Да. См. выше. Что "да"? К какому - к стековому? А в тройки компилировать нельзя? А для трехадресной ортогональной архитектуры компилировать в четверки не будем из вредности - все через бутылочное горлышко стека? Навскидку, по ключевым словам "язык Си промежуточное представление" нашлось, к примеру, вот такое: http://www.optimitech.com/docs/006.pdfЖду комментариев.
[quote="gudleifr"]Да. См. выше.[/quote] Что "да"? К какому - к стековому? А в тройки компилировать нельзя? А для трехадресной ортогональной архитектуры компилировать в четверки не будем из вредности - все через бутылочное горлышко стека? Навскидку, по ключевым словам "язык Си промежуточное представление" нашлось, к примеру, вот такое: [url]http://www.optimitech.com/docs/006.pdf[/url] Жду комментариев.
|
|
|
|
Добавлено: Чт мар 29, 2012 20:49 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
Хищник писал(а): Неужели же язык Си жестко привязан к определенному промежуточному представлению кода? Какому, если не секрет? Да. См. выше.
[quote="Хищник"]Неужели же язык Си жестко привязан к определенному промежуточному представлению кода? Какому, если не секрет?[/quote]Да. См. выше.
|
|
|
|
Добавлено: Чт мар 29, 2012 20:30 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
wwwalker писал(а): Имеется в виду Java-процессор/JVM? Интересно то, что при рекламном описании JVM не акцентируется внимание на стековой модели вычислений. Только при упоминании об аппаратных Java-процессорах я первый раз услышал про стековую модель. В .net используется такой Microsoft Intermediate Language (MSIL). Если почитать его спецификацию, то среди его команд имеются... dup drop и прочее! Только арифметические действия названы по мнемоникам - add, sub и т.п., да store использует порядок операндов, противоположный требуемому словом !. А так MSIL - это стековая машина плюс сборка мусора плюс метаданные. Другое дело, что потом добавляется back-end, который переводит команды этого промежуточного представления в код, оптимизированный для конкретной архитектуры.
[quote="wwwalker"]Имеется в виду Java-процессор/JVM? Интересно то, что при рекламном описании JVM не акцентируется внимание на стековой модели вычислений. Только при упоминании об аппаратных Java-процессорах я первый раз услышал про стековую модель.[/quote] В .net используется такой Microsoft Intermediate Language (MSIL). Если почитать его спецификацию, то среди его команд имеются... dup drop и прочее! Только арифметические действия названы по мнемоникам - add, sub и т.п., да store использует порядок операндов, противоположный требуемому словом !. А так MSIL - это стековая машина плюс сборка мусора плюс метаданные. Другое дело, что потом добавляется back-end, который переводит команды этого промежуточного представления в код, оптимизированный для конкретной архитектуры.
|
|
|
|
Добавлено: Чт мар 29, 2012 20:26 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
gudleifr писал(а): Хищник, кончай опять дурить людей. C-переводится в язык ассемблера стандартным способом. Подразумевается некоторый достаточно универсальный и почти всеми понимаемый. Для проверки, надо взять пару компиляторов и посмотреть, что они выдадут с ключом -s. Неужели же язык Си жестко привязан к определенному промежуточному представлению кода? Какому, если не секрет? Стековое, тройки, четверки? А какая конкретно конструкция Си заставляет пользоваться только этим промежуточным представлением? Что-то мне подсказывает, что проверка "пары компиляторов" не позволит однозначно ответить на этот вопрос. Скорее она позволит убедиться, что для определенной группы компиляторов было эффективным/модным/удобным определенное представление кода.
[quote="gudleifr"]Хищник, кончай опять дурить людей. C-переводится в язык ассемблера стандартным способом. Подразумевается некоторый достаточно универсальный и почти всеми понимаемый. Для проверки, надо взять пару компиляторов и посмотреть, что они выдадут с ключом -s.[/quote] Неужели же язык Си жестко привязан к определенному промежуточному представлению кода? Какому, если не секрет? :) Стековое, тройки, четверки? А какая конкретно конструкция Си заставляет пользоваться только этим промежуточным представлением? Что-то мне подсказывает, что проверка "пары компиляторов" не позволит однозначно ответить на этот вопрос. Скорее она позволит убедиться, что для определенной группы компиляторов было эффективным/модным/удобным определенное представление кода.
|
|
|
|
Добавлено: Чт мар 29, 2012 20:23 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
Хищник писал(а): Java использует стековую модель вычислений. Имеется в виду Java-процессор/JVM? Интересно то, что при рекламном описании JVM не акцентируется внимание на стековой модели вычислений. Только при упоминании об аппаратных Java-процессорах я первый раз услышал про стековую модель.
[quote="Хищник"]Java использует стековую модель вычислений.[/quote] Имеется в виду Java-процессор/JVM? Интересно то, что при рекламном описании JVM не акцентируется внимание на стековой модели вычислений. Только при упоминании об аппаратных Java-процессорах я первый раз услышал про стековую модель.
|
|
|
|
Добавлено: Чт мар 29, 2012 20:19 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
Хищник, кончай опять дурить людей. C-переводится в язык ассемблера стандартным способом. Подразумевается некоторый достаточно универсальный и почти всеми понимаемый. Для проверки, надо взять пару компиляторов и посмотреть, что они выдадут с ключом -s.
[b]Хищник[/b], кончай опять дурить людей. C-переводится в язык ассемблера стандартным способом. Подразумевается некоторый достаточно универсальный и почти всеми понимаемый. Для проверки, надо взять пару компиляторов и посмотреть, что они выдадут с ключом -s.
|
|
|
|
Добавлено: Чт мар 29, 2012 20:18 |
|
|
|
|
|
Заголовок сообщения: |
Re: Что такое аппаратный JAVA-процессор? |
|
|
Java использует стековую модель вычислений. Процессор с регистровой архитектурой вынужден тратить дополнительные такты на эмуляцию такой модели. Можно посмотреть на расширение Jazelle, которое делали для ARM именно для ускорения JVM. Паскаль и Си напрямую не предполагают какую-то конкретную модель вычислений, регистры процессора участвуют там довольно опосредованно. Фактически, они предполагают наличие переменных в памяти, а вовсе не какие-то регистры. Поэтому сделать процессор для Си или Паскаля можно только при учете той модели кода, которую они используют, а не синтаксиса языка.
Java использует стековую модель вычислений. Процессор с регистровой архитектурой вынужден тратить дополнительные такты на эмуляцию такой модели. Можно посмотреть на расширение Jazelle, которое делали для ARM именно для ускорения JVM. Паскаль и Си напрямую не предполагают какую-то конкретную модель вычислений, регистры процессора участвуют там довольно опосредованно. Фактически, они предполагают наличие переменных в памяти, а вовсе не какие-то регистры. Поэтому сделать процессор для Си или Паскаля можно только при учете той модели кода, которую они используют, а не синтаксиса языка.
|
|
|
|
Добавлено: Чт мар 29, 2012 20:05 |
|
|
|
|
|
Заголовок сообщения: |
Что такое аппаратный JAVA-процессор? |
|
|
Я слышал про аппаратные JAVA-процессоры (вроде бы стековые), но не могу понять почему они так называются и как идеология высокоуровневого языка повлияла на особенности аппаратной реализации этого процессора. Для Паскаля или Си процессор другим бы был что ли? )
Я слышал про аппаратные JAVA-процессоры (вроде бы стековые), но не могу понять почему они так называются и как идеология высокоуровневого языка повлияла на особенности аппаратной реализации этого процессора. Для Паскаля или Си процессор другим бы был что ли? )
|
|
|
|
Добавлено: Чт мар 29, 2012 19:51 |
|
|
|
|