Bitove polia a optimalizacia kody Was: STM32F051K6U7 ma USART2 ?

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Březen 16 06:55:06 CET 2015


Kdyz casteji ladite v ARM ASM, tak se hodne konstrukcim nestacite divit, 
ale nakonec je to logicke a dano principen kazda instrukce 32b za kazdou 
cenu i s podminkou...
A je potreba zohlednit slozity pristup do pameti, nacteni konstanty z 
nejake adresy muze u SDRAM znamenat 10-20 cyklu navic, zatimco to orr je 
davno pnactene v cache a predzpracovane...
Thumb uz tak hezky organizovany neni, ale podle dostupnych informaci se 
stejne preklada na ARM interne, aspon v plnotucnych ARMech. A co je 
nejlepsi, kazda verze a odnoz, zejmena CM rada, ma ruzne prapodivne 
instrukce, napriklad if neco proved n dalsich instrukci atp... Ve 
vysledku to bezi prekvapive rychle - treba ta Sitara od TI, stale 
nechapu, jak muze mit CPU s taktem 1GHz 2GIPS, jestli je to prepocitano 
statisticky se zohlednenim predikce skoku atd., nebo jestli je 
zpracovani nejak paralelizovano? Kazdopadne po zapojeni cache je to 
blesk, bez cache asi tak na urovni STM32F0....
Hral jsem si s OpenRisc procesorem pro FPGA a to je taky zajimave 
navrzeno, instrukce jsou krasne, jednoduche a ucinne ;-)

Dne 15. 3. 2015 v 23:31 Josef Štengl napsal(a):
> Že ano? Návrh ARMu byla ukázka docela hezké inženýrské práce (s 
> ohledem na dobu vzniku a limity zadání). Sadu ARM osobně obdivuji (na 
> THUMB není už tak pěkný pohled - přílišné omezení na velikost).
>
> Ano vyjde to velikostně stejně, počet instrukcí také (jak překvapivé 
> pro RISC :-). Ale. Ne rychlostně/energeticky. No, a taky že jsem si 
> líný přečíst manuál (pravda zabere to pár dní, je to tlustá brožura 
> :-) ještě neznamená že Englický inžinýr to navrhoval pod vlivem wiskey 
> :-D.
>
> ced
>
>
> Dne 15.3.2015 v 22:52 Milan B. napsal(a):
>>
>> Samozrejme to je dane architekturou ARMu. Lenze niekto musel toto 
>> sialenstvo vymysliet, navrhnut, implementovat....
>>
>> A ked ina alternativa - natiahnutie konstanty z poolu a jej pouzitie 
>> vyjde narovnako (tiez su to dve instrukcie, dokopy aj
>> s konstantou zaberu rovnako miesta), naco takymito prekomplikovanymi 
>> instrukciami komplikovat:
>> - implementaciu jadra
>> - implementaciu kompilatorov
>> - zivot vsetkym, ktori hladaju chybu v (domnelo alebo naozaj) zle 
>> skompilovanom kode
>> - ... atd
>>
>> -m-
>>
>> On 15. 3. 2015 22:21, Jaroslav Buchta wrote:
>>> No tohle asi zrovna  bude dano architekturou ARMu, do registru jde 
>>> dat primo jen omezena mnozina konstant dana pomerne
>>> slozitou kombinaci konstanty a posuvu.
>>> Druha moznost je nacist konstantu 32b z pameti adresovane relativne, 
>>> takze to vyjde nastejno jako 2 instrukce.
>>>
>>> Dne 15. 3. 2015 v 22:13 Milan B. napsal(a):
>>>>
>>>>>
>>>>> Pohlad do vygenerovaneho kodu priniesol prekvapenie:
>>>>>  orr     r3, r3, #4096
>>>>>  orr     r3, r3, #1
>>>>>
>>>>
>>>> No, tak stacilo pozriet do dokumentacie... treti operand je "any 
>>>> constant that can be produced by shifting an 8-bit
>>>> value left by any number of bits within a 32-bit word"... preboha, 
>>>> kto toto navrhoval?
>>>>
>>>> Tak ostanme len u toho, ze optimalizacia prace s bitovymi polami 
>>>> nie je nic moc.
>>>>
>>>> -m-
>>>>
>>>> _______________________________________________
>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>> Hw-list na list.hw.cz
>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>>
>>> ---
>>> This email has been checked for viruses by Avast antivirus software.
>>> http://www.avast.com
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com



Další informace o konferenci Hw-list