Embedded systémy a microcontrollers

Re:Rušní asm versus kompilátor
« Odpověď #75 kdy: 08. 09. 2018, 07:58:38 »
Citace
No jo, ale v embedded a mikrokontrolérech člověk spíš narazí na ten ARM než na x86/x64.

Na tom bude něco pravdy. :-)

Napsat optimalizovaný ARM kompilátor je práce pro vraha. ARM instrukční sada má tak obrovské množství omezení. Nedokáži si dost dobře představit kompilátor, který by zkoušel 1000 x rozličně překopat kód aby našel optimální. Ani si nedokáži dost dobře představit, jak to vůbec matematicky postavit.

Napsat optimalizovaný x86/x64 kompilátor je úloha mnohem snažší. Ty procesory jsou sice architektonicky složitější a je tam více znalostí, ale mnoho problémů tam odpadá.

V ARMu už jen poskládání konstant a jejich hodnot. Poskládání datových struktur a dat co nejblíže místu použití. Pak trefení správné alokace registrů. V ARMu je vůbec těžké navrhnout i nějakou univerzální volací konvenci, aby to plus mínus bylo efektivní ve všech případech.


armabeton

Re:Rušní asm versus kompilátor
« Odpověď #76 kdy: 08. 09. 2018, 10:00:25 »
Citace
No jo, ale v embedded a mikrokontrolérech člověk spíš narazí na ten ARM než na x86/x64.

Na tom bude něco pravdy. :-)

Napsat optimalizovaný ARM kompilátor je práce pro vraha. ARM instrukční sada má tak obrovské množství omezení. Nedokáži si dost dobře představit kompilátor, který by zkoušel 1000 x rozličně překopat kód aby našel optimální. Ani si nedokáži dost dobře představit, jak to vůbec matematicky postavit.

Napsat optimalizovaný x86/x64 kompilátor je úloha mnohem snažší. Ty procesory jsou sice architektonicky složitější a je tam více znalostí, ale mnoho problémů tam odpadá.

V ARMu už jen poskládání konstant a jejich hodnot. Poskládání datových struktur a dat co nejblíže místu použití. Pak trefení správné alokace registrů. V ARMu je vůbec těžké navrhnout i nějakou univerzální volací konvenci, aby to plus mínus bylo efektivní ve všech případech.

Bavíte se borci o porovnání ARMu a 80x86 nebo ARMu a x64? V tom druhém případě ale jděte do AArch64 a x64 :-)

Re:Rušní asm versus kompilátor
« Odpověď #77 kdy: 08. 09. 2018, 17:55:11 »
Citace
Bavíte se borci o porovnání ARMu a 80x86 nebo ARMu a x64? V tom druhém případě ale jděte do AArch64 a x64 :-)

Bavíme se o tom, jak moc dobře optimalizuje člověk versus kompilátor na různých architekturách.

fortranista

Re:Rušní asm versus kompilátor
« Odpověď #78 kdy: 08. 09. 2018, 19:00:31 »
Citace
Bavíte se borci o porovnání ARMu a 80x86 nebo ARMu a x64? V tom druhém případě ale jděte do AArch64 a x64 :-)

Bavíme se o tom, jak moc dobře optimalizuje člověk versus kompilátor na různých architekturách.

nojo potom čím logičtější architektura, tím to má překladač jednodušší a člověk nad ním nemá náskok. Takža na x86-64 a AArch64 už toho moc na ruční úpravy není. Starší architektury - tam je IMHO dost práce pro znalého programátora.