Отговори на тема  [ 26 мнения ]  Отиди на страница Предишна  1, 2
Tour of ARM Assembly 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Tour of ARM Assembly
Цитат:
Аз ли не обяснявам добре, не змам, ама..

бе не си много зле :-)
Доколкото разбрах , ако една процедура ще вика друга, тя трябва да спаси линк регистъра.
Ретърна се заменя с поп, ок. Задължително имаш един пуш. Ок. Бе не е по-странно от някой пик.
Не мога да ти преброя пуш/поповете , сигурно трябва да ми пратиш листингите и три дена да
пиша на С за ПЦ. То това е задача за дипломна работа :-)


Сря Юни 25, 2014 10:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юли 31, 2007 2:55 pm
Мнения: 1792
Местоположение: София
Мнение Re: Tour of ARM Assembly
miro_atc написа:
това са градски легенди...

Ъхъ, тъй ще да е.

Цитат:
АРМ са поне 10 години по-късно като дизайн

Това не го разбирам.

Ако се вярва на Уикипедия:
MIPS - 1981
ARM - 1985
POWER - ~1990

Цитат:
така че да сравняваме нещо дето е правено оня ден с нещо дето е правено по времето когато 640К стигаха на всеки и за всичко е досто некоректно.

Бях абсолютно конкретен за кои неща ARM е криво. И преди съм писал кои са основните спънки, и защо в ARM64 накрая се сетиха да догонят влака като направят несъвместими промени.
Това беше и повече към @palavrov - че накланянето на везната към компактен машинен код и удобство на програмиста води до компромиси другаде. Или защо VAX и 68K си заминаха. :)

Цитат:
Не, няма проблем с оут ъф ордера освен ако нямаш предвид М0 ;-)

Има естествено. Не че не може да се реализира (справка - x86 и разните Cortex-A), а че не може да се реализира ефективно заради калпави избори в архитектурата.

И естествено говоря за ARM в 32-битовата си версия. Хайде, стига от мен.


Чет Юни 26, 2014 12:07 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Tour of ARM Assembly
stefan63 написа:
Palavrov , само като им гледам картата на паметта и се изприщвам от големите числа .

Това също е един от тарикатлъците, въпреки че рядко се ползва от СоЦ-аджиите - адресите на регистрите на контролерите да са така измислени, че да се зареждат с 1 инструкция - 8 бита ror (4 бита*2) - така базовия адрес на регистрите на контролера се зарежда в регистър на процесора само с една инструкция, без допълнително зареждане на константа от паметта (т.е. още цикли виж по долу). После четене/запис до конкретен регистър на контролера става пак с една инструкция. За разлика от х86 в АРМ инструкциите са винаги 16/32 бита - в х86 за прочетеш адрес някъде из паметта ти трябва поне 6-7 байтова инструкция. Та най хитрото което съм виждал е в АТ91САМ7 как са направени прекъсванията - можеш с 1 инструкция да стартираш конкретния вектор на прекъсване подаден от контролера в регистър който е точно накрая на адресното пространство.
stefan63 написа:
Рамът поевтиня , чиповете поевтиняха, толкоз ли не могат да сместят един класически CALL/RET в поредната тъмб-версия?

Рама верно поевтиня, но циклите за достъп до него все още си имат значение. Процесорите са много по бързи отколкото шината за паметта и всяка инструкция която чете/пише външната памет си е проблем. Между другото евтиния рам има повече отношение за дизайна на ГУИ операционните системи отколкото за архитектурата на процесорите - например Вин32 АПИ-то е почти същото както когато се е надскочило 640-те Кб когато ограниченията са били съвсем други и още си влачи наследството в прозоречната архитектура, но да не разводняваме темата.
stefan63 написа:
Ако имаш време и мерак - опиши как АРМ бие 86 , наистина съм сляп за това.

бие го основно с 2 неща:
- повече регистри - чак 64 битовия х86 горе долу го мяза на нещо, преди това с тези 8 регистъра от които само 4 са обща употреба и от тях само 2 са за предаване на параметри - сравни го това с 14-те регистъра на арм (16 без сп и пц, лр може да се ползва по усмотрение) - за компилиторите това си има огромно значение, жалко че ТГИ не пише вече тук да вметне че те и 16 са малко, дручко си е с 32 например ;)
- условно изпълнение на почти всички инструкции - т.е. елиминират се разните условни преходи, а те са нещото което най много мори пайплайна в процесора - оптимизиращите компилатори го ползват това и кода наистина е адски сбит.
stefan63 написа:
Все пак в главата ми остава усещането че 8086 е по-добре за компилиране на прместваем код, отколкото thumb-армовете.

Не е вярно - преместваем код на х86 не може да се прави без разни магарии - т.е. инструкциите са преместваеми наистина, но данните не са, няма относителна адресация спрямо пц, а в арм има :)

_________________
Мразя да мразя ...


Чет Юни 26, 2014 12:41 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Tour of ARM Assembly
woody написа:
Това беше и повече към @palavrov - че накланянето на везната към компактен машинен код и удобство на програмиста води до компромиси другаде. Или защо VAX и 68K си заминаха. :)

За това спор няма - просто е хубаво да фърлим малко яснота да не се заблуждават хората, че АРМ архитектурата е трудна за асемблер и че х86 е по добре замислен.

_________________
Мразя да мразя ...


Чет Юни 26, 2014 12:52 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: Tour of ARM Assembly
Значи, викате (миро и палавров), страшна работа бил тоя арм? :D С вградени тарикатлъци.
Ами ние бедните хорица дето не получаваме рекламна комисионна какво да правим? Аз колкото пъти опитам да го харесам (ама честно, много сериозно опитвам!) и все на яки псувни ме избива, явно твърде много ми мирише на гей работа... :)

_________________
'просто' е технически синоним на 'красиво'


Чет Юни 26, 2014 5:44 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Tour of ARM Assembly
palavrov, с повечето ти доводи съм съгласен. Многото равностойни регистри са си огромен плюс. За преместваемите данни ставаше въпрос - инструкциите с отместване спрямо PC на АРМ не са ми много ясни , трябва още да почета, От друга страна офсет регистрите на 86 колкото и куци да изглеждат - дават 64к данни където и да е в адресното пространство.


Чет Юни 26, 2014 8:27 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Tour of ARM Assembly
Днеска успях да почета 5 минути, сякаш в АРМ е направено доста добре по отношение на данните- един регистър може да заредиш за база , друг да ползваш за офсет, или да зададеш офсета с име. Не успях да стигна до въпроса - има ли ограничение на тема има ли инструкции, които са ограничени в това отношение, тоест- които не могат да ползват универсален регистър за база, а само PC. И има ли други ограничения на тази тема.


Чет Юни 26, 2014 8:22 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Tour of ARM Assembly
stefan63 написа:
Днеска успях да почета 5 минути, сякаш в АРМ е направено доста добре по отношение на данните- един регистър може да заредиш за база , друг да ползваш за офсет, или да зададеш офсета с име. Не успях да стигна до въпроса - има ли ограничение на тема има ли инструкции, които са ограничени в това отношение, тоест- които не могат да ползват универсален регистър за база, а само PC. И има ли други ограничения на тази тема.

Да не те излъжа тука - Миро е по в час от мен с арм асемблера, моите знания са по скоро обща култура в сравнение с него, та:
всъщност ПЦ регистъра в АРМ (Р15) е равностоен на всички останали с допълнението, че извлича на всеки такт инструкция и се инкрементира - т.е. всички инструкции за изваждане, събиране, умножение (!), битови операции и т.н. могат да го ползват както за сорс така и за дестинейшън - добави към това флаговете за условно изпълнение които важат за почти всяка инструкция и ето ти - условни преходи, скаларни преходи през таблици, и една камара екзотики и малоумия които могат да ти дойдат на ум. Аз поне не знам за друга архитектура в която да можеш да правиш такива магарии ...

_________________
Мразя да мразя ...


Чет Юни 26, 2014 11:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Tour of ARM Assembly
Н'бабане Гт'муан'га написа:
Значи, викате (миро и палавров), страшна работа бил тоя арм? :D С вградени тарикатлъци.
Ами ние бедните хорица дето не получаваме рекламна комисионна какво да правим? Аз колкото пъти опитам да го харесам (ама честно, много сериозно опитвам!) и все на яки псувни ме избива, явно твърде много ми мирише на гей работа... :)

Стига рева, всеки има право на лош вкус ;) Бтв. един приятел скоро замина за австралията, ти не беше ли там? Да взема да ви свържа ако ти липсват локални контакти с нашенци от бранша?

_________________
Мразя да мразя ...


Чет Юни 26, 2014 11:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: Tour of ARM Assembly
palavrov написа:
Стига рева, всеки има право на лош вкус ;) Бтв. един приятел скоро замина за австралията, ти не беше ли там? Да взема да ви свържа ако ти липсват локални контакти с нашенци от бранша?


Що да не рева бе, как ще има прогрес ако всички са доволни? :)
Твоя човек, дай го насам. Контакти винаги са добре дошли, особено ако е човек на място с който може да се изпие една бира докато оплюваме армовете

_________________
'просто' е технически синоним на 'красиво'


Пет Юни 27, 2014 8:59 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Tour of ARM Assembly
woody написа:

Цитат:
АРМ са поне 10 години по-късно като дизайн

Това не го разбирам.

Ако се вярва на Уикипедия:
MIPS - 1981
ARM - 1985
POWER - ~1990



woody, ману википедията... оня arm от 80-те няма нищо общо със сегашните...
Казано простичко, ако отидеш да си поръчаш някакъв проц, то изоборът ти е между АРМ с дизайн от преди 2-3 години максимум или друга архитектура на годините на баба ми... Изключвам Интел разбира се. Другите, ако правят някакви нови чипове, то са пълни екзотика, неизчистени от бъгове и т.н.
Това е положението на пазара и както казах не е коректно на база пазарно положение да съдим за един или друг. Мога ти дам примери от различни класове, но ти и сам трябва да си запознат. Примерно в ниския клас какво имаш като избор? ПИК32 и Куртекс-М, виж кога е дизайнван MIPS-a виж куртекса. Минимум 10 години разлика. Съшото е в по-високия клас, до преди 1-2 години нямаше достъпен АРМ с гигабит та такова разучавахме разни PPC-та... ми колкото и да са били супер, извинявай то харчи минимум 1W и то докато спи. Сега е пълно с гигабит арм-ве и ако видиш и консумация и възможности, просто говорим за друга ера!
Нищо лошо не искам да кажа за Power и MIPS, самият факт че след толкова години все още са на пазара и са някаква алтернатива на АРМ-ве дето са дизайнвани вчера-оня ден говори много добре за първите. Жалко е, че не се развиват с такива темпове и с такива пари както АРМ.




Цитат:
Бях абсолютно конкретен за кои неща ARM е криво.

не знам защо си мислиш, че има нещо сбъркано в АРМ?
Това за скаларността, ми няма проблем... Просто вие си мислите, че след като някои други архитектури са се ориентирали към 3-4 issue преди години, то АРМ задължително трябва да ги копира. Не, не ги копира. Освен това АРМ покриват целия спектър, имат си супер скаларни ядра както казах до 8 инструкции/клок, имат си и прости ядра. В НИТО ЕДНО обаче не съм чул да има бъг или проблем!!
Имаше критики че с dual issue-то първите А-куртекси няма да са достатъчно бързи... ми бързи, бавни 90% от талафоните са с такива.

Цитат:
Цитат:
Не, няма проблем с оут ъф ордера освен ако нямаш предвид М0 ;-)

Има естествено. Не че не може да се реализира (справка - x86 и разните Cortex-A), а че не може да се реализира ефективно заради калпави избори в архитектурата.
И естествено говоря за ARM в 32-битовата си версия. Хайде, стига от мен.

[/quote]
Кой ти каза, че "не може"? 8O
И кой ти каза, че има несъвместимост между 64-бит и 32-бит ??
И кой ти каза, че има "калпав избор?

Пак ти повтарям, че АРМ са ПОНЕ 10 години назад във времето. Само тоя факт трябва да ти говори, че или трябва да са големи идиоти и да не могат да направят нещо правено толкова години, или има и други съображения да не го правят както ти си мислиш че трябва да се направи.
АРМ целяха мобилния сегмент и там колко инстукции се изпълняват на клок далеч не е единственият критерий. Макар че сега и това правят, както казах проца на ейпъл прави 6 инструкции на клок. При това стандартни, без да разчитат на компилаторите да слагат хинтове и други глупости както е power-a да кажем. А и на всичкото отгоре говим за проц дето слагат в талафон, а не в десктоп с финтилатори...


Пет Юни 27, 2014 10:01 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 26 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 11 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни