Часовой пояс: UTC + 3 часа




Форум закрыт Новая тема / Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. Закрыто  Сообщений: 48 • Страница 3 из 3<  1  2  3
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 13.11.2003
Откуда: Москва
Цитата:
Примерно так мог бы выглядеть Царь Леонид через неделю битвы в Фермопильском ущелье, полежи он неделю на жарком греческом солнышке.

Автор сам придумал эту мощную шутку или так в оригинале было?

_________________
Внимание! Форум в опасности! ИДИОТ ЗА КЛАВИАТУРОЙ!!!



Партнер
 

Member
Статус: Не в сети
Регистрация: 17.10.2006
Откуда: Россия
Новость не читал @ сразу отвечал
Politura, mag_ai, процессор не может быть одновременно VLIW и RISC?
RISC - сокращенный набор быстрых инструкций, VLIW - длинное командное слово. Не вижу никакого противоречия.
mag_ai писал(а):
Более правильное объяснение. постараюсь иначе объяснить. виртуальная машина джава это прослойка для выполнение байт-кода... то есть а влив требует крутых компиляторов и полностью откомпилированого кода. а значит такую крутую штуку и сложность доведение кода до кондиции повесят на далвик - что кажется не очень логично. а с simd как я понимаю архитектуру андроида можно работать только через системное апи или через далвик. но опять либо далвик нужен паченый (ибо нужно будет выполнять уже собранный код под армы скажем) потому что налету перевести команды неона скажем в mips это и есть костыль. либо писать библиотеку для поддержки всех архитектур в приделах приложение что тож проблема.

Как-то у Вас все смешалось.
Начнем с того, что да, джава-код работает поверх виртуальной машины. Виртуальную машину джавы перенесли уже на тонну архитектур, даже на отечественный Эльбрус. Поэтому все джава такая из себя ынтырпрайзная, что работает везде. Джава на мипсах уже давно есть.
Производительность VLIW действительно в большинстве случаев зависит от компилятора. Но тех оптимизаций, которые сейчас есть в том же gcc, думаю, достаточно.
Дальвик - другая виртуальная машина, которая написана иначе: с упором не на стек, а на регистры, тк у RISC процессоров их довольно много, в отличие от х86.
SIMD - это single instruction multiple data. Если мне не изменяет память, то это просто набор команд, разработанный для обработки мультимедиа данных. Подробнее на википедии найдете.
Честно говоря, я не сильно понимаю, зачем нужна эта головная боль с эмуляцией ARM'а на MIPS'ах, ибо толку - с гулькин нос. Работать действительно будет, но медленно. Выгоднее будет пересобрать весь софт нативно под мипс.
Ведроид уже сейчас прекрасно бегает на мипсах и на х86.

Добавлено спустя 2 минуты 54 секунды:
Grotlon писал(а):
Очень сомневаюсь, что они выиграют от 64 битной адресации. На настольном ПК ускорились только архиваторы, и то всего лишь на 10%.

А Вы понимаете, из-за чего произошло или не произошло повышение производительности при переходе на 64 бита? Бьюсь об заклад, что нет.

Добавлено спустя 20 минут 39 секунд:
Grotlon писал(а):
Очень сомневаюсь, что они выиграют от 64 битной адресации. На настольном ПК ускорились только архиваторы, и то всего лишь на 10%.

Давайте рассмотрим пример программы, которая складывает 2 64битных числа для архитектуры х86 в исполнении 32 и 64 бита.
Код
Код:
uint64_t plus(uint64_t a, uint64_t b)
{
    return a+b;
}

int main()
{
    plus(5, 10);
    return 0;
}

Собираем с помощью gcc: gcc -S test.c -m32 и gcc -S test.c -m64, соответственно, чтобы получить ассемблерный листинг.
Теперь смотрим на листинги:
32 бита
Код:
   .file   "test.c"
   .text
   .globl   plus
   .type   plus, @function
plus:
.LFB0:
   .cfi_startproc
   pushl   %ebp
   .cfi_def_cfa_offset 8
   .cfi_offset 5, -8
   movl   %esp, %ebp
   .cfi_def_cfa_register 5
   pushl   %ebx
   subl   $20, %esp
   .cfi_offset 3, -12
   movl   8(%ebp), %eax
   movl   %eax, -16(%ebp)
   movl   12(%ebp), %eax
   movl   %eax, -12(%ebp)
   movl   16(%ebp), %eax
   movl   %eax, -24(%ebp)
   movl   20(%ebp), %eax
   movl   %eax, -20(%ebp)
   movl   -24(%ebp), %eax
   movl   -20(%ebp), %edx
   movl   -16(%ebp), %ecx
   movl   -12(%ebp), %ebx
   addl   %ecx, %eax
   adcl   %ebx, %edx
   addl   $20, %esp
   popl   %ebx
   .cfi_restore 3
   popl   %ebp
   .cfi_restore 5
   .cfi_def_cfa 4, 4
   ret
   .cfi_endproc
.LFE0:
   .size   plus, .-plus
   .globl   main
   .type   main, @function
main:
.LFB1:
   .cfi_startproc
   pushl   %ebp
   .cfi_def_cfa_offset 8
   .cfi_offset 5, -8
   movl   %esp, %ebp
   .cfi_def_cfa_register 5
   andl   $-8, %esp
   subl   $16, %esp
   movl   $10, 8(%esp)
   movl   $0, 12(%esp)
   movl   $5, (%esp)
   movl   $0, 4(%esp)
   call   plus
   movl   $0, %eax
   leave
   .cfi_restore 5
   .cfi_def_cfa 4, 4
   ret
   .cfi_endproc
.LFE1:
   .size   main, .-main
   .ident   "GCC: (GNU) 4.8.1"
   .section   .note.GNU-stack,"",@progbits

64 бита
Код:
   .file   "test.c"
   .text
   .globl   plus
   .type   plus, @function
plus:
.LFB0:
   .cfi_startproc
   pushq   %rbp
   .cfi_def_cfa_offset 16
   .cfi_offset 6, -16
   movq   %rsp, %rbp
   .cfi_def_cfa_register 6
   movq   %rdi, -8(%rbp)
   movq   %rsi, -16(%rbp)
   movq   -16(%rbp), %rax
   movq   -8(%rbp), %rdx
   addq   %rdx, %rax
   popq   %rbp
   .cfi_def_cfa 7, 8
   ret
   .cfi_endproc
.LFE0:
   .size   plus, .-plus
   .globl   main
   .type   main, @function
main:
.LFB1:
   .cfi_startproc
   pushq   %rbp
   .cfi_def_cfa_offset 16
   .cfi_offset 6, -16
   movq   %rsp, %rbp
   .cfi_def_cfa_register 6
   movl   $10, %esi
   movl   $5, %edi
   call   plus
   movl   $0, %eax
   popq   %rbp
   .cfi_def_cfa 7, 8
   ret
   .cfi_endproc
.LFE1:
   .size   main, .-main
   .ident   "GCC: (GNU) 4.8.1"
   .section   .note.GNU-stack,"",@progbits

Для удобства сравним количество строчек в листингах:
Код:
wc -l test_32.s test_64.s
  66 test_32.s
  45 test_64.s


 

Member
Статус: Не в сети
Регистрация: 20.03.2011
Откуда: Москва
Naoru-kun зачем все сравнивать-то? Выделили бы только процедуру:
32
Код:
   .cfi_startproc
   pushl   %ebp
   .cfi_def_cfa_offset 8
   .cfi_offset 5, -8
   movl   %esp, %ebp
   .cfi_def_cfa_register 5
   pushl   %ebx
   subl   $20, %esp
   .cfi_offset 3, -12
   movl   8(%ebp), %eax
   movl   %eax, -16(%ebp)
   movl   12(%ebp), %eax
   movl   %eax, -12(%ebp)
   movl   16(%ebp), %eax
   movl   %eax, -24(%ebp)
   movl   20(%ebp), %eax
   movl   %eax, -20(%ebp)
   movl   -24(%ebp), %eax
   movl   -20(%ebp), %edx
   movl   -16(%ebp), %ecx
   movl   -12(%ebp), %ebx
   addl   %ecx, %eax
   adcl   %ebx, %edx
   addl   $20, %esp
   popl   %ebx
   .cfi_restore 3
   popl   %ebp
   .cfi_restore 5
   .cfi_def_cfa 4, 4
   ret
   .cfi_endproc

64
Код:
   .cfi_startproc
   pushq   %rbp
   .cfi_def_cfa_offset 16
   .cfi_offset 6, -16
   movq   %rsp, %rbp
   .cfi_def_cfa_register 6
   movq   %rdi, -8(%rbp)
   movq   %rsi, -16(%rbp)
   movq   -16(%rbp), %rax
   movq   -8(%rbp), %rdx
   addq   %rdx, %rax
   popq   %rbp
   .cfi_def_cfa 7, 8
   ret
   .cfi_endproc

_________________
I would tell you a joke about UDP, but you probably wouldn't get it.


 

Member
Статус: Не в сети
Регистрация: 23.02.2013
Откуда: г. Орел
Naoru-kun писал(а):
RISC - сокращенный набор быстрых инструкций, VLIW - длинное командное слово.

дальше не читал отвечаю сразу - не может.
а дальше еще хуже чем у меня каша.
я вам еще раз пишу - как можно решить задачу доступа к simd другим методом?
вот скажем человек использовал neon скомпилировал байт-код - дальше что? как он по вашей логике станет исполнятся на sse? (грубый пример)
Naoru-kun писал(а):
Честно говоря, я не сильно понимаю, зачем нужна эта головная боль с эмуляцией ARM'а на MIPS'ах, ибо толку - с гулькин нос.

ну кто будет пересобирать приложения в гугол плей кто? или вы думаете что разработчики туда "исходные коды" постят?
а потом еще нужен реестр телефонов - чтоб выдавать приложение под архитектуру нужную... о это телефон "хунь пинь" он на мипсах ему эту сборку а это "вань пинь" ему на армах. бред байт-код никто пересобирать в гугол плей не будет.
Naoru-kun писал(а):
Ведроид уже сейчас прекрасно бегает на мипсах и на х86.

я еще раз пишу для не понимающих - стоит проблема ни системы а софта который на этой системе будет работать.
и да у интела костыль с далвике который помогает переварить код заточенный под армы и это транслятор грубо говоря neon >> sse других вариантов даж у интла не было.

_________________
Мертвый киберпанк с улыбкой мутанта... (:


 

Junior
Статус: Не в сети
Регистрация: 05.04.2013
Nomand писал(а):
програмисты жуткие лентяи и лодыри, нафиг им что то новое изучать

глупости, в эру когда 99% когда пишется на языках высокого уровня, а языки эти имеют кросс-компилятор/интерпретатор - современным программистам ничего изучать не надо, компилятор все сделает за них... а тем кто использует asm, это уже программеры другого уровня, для них почитать ман по инструкциям нового проца тоже не составляет проблемы, я вот десятки раз на gcc писал код и для ARM и для MIPS, в т.ч. и патчи с asm-вставками для современных ТВ, роутеров, медиабоксов - никаких проблем


 

Junior
Статус: Не в сети
Регистрация: 05.04.2013
terenty79 писал(а):
а нафига 64 разрядные?

для серверного сегмента, мир клином не сошелся на смартах


 

Junior
Статус: Не в сети
Регистрация: 05.04.2013
Naoru-kun писал(а):
А Вы понимаете, из-за чего произошло или не произошло повышение производительности при переходе на 64 бита? Бьюсь об заклад, что нет.

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


 

Member
Статус: Не в сети
Регистрация: 10.02.2012
Откуда: Тольятти
ShadowTM писал(а):
И 90% Андройд-устройств именно на процессорах Intel.

лолшто? 95% устройств на ARM (Samsung,Qualcomm,MediaTek)

_________________
i5 2500K @4.4Ghz\Asus p8z68-v\Asus 7950 DC2T\16 Гб\Windows 10 Pro x64\Asus Xonar DG


Показать сообщения за:  Поле сортировки  
Форум закрыт Новая тема / Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. Закрыто  Сообщений: 48 • Страница 3 из 3<  1  2  3
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan