-
Data: 2012-10-17 15:51:50
Temat: Re: sortowanie
Od: Baranosiu <r...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 17.10.2012 kenobi <p...@g...com> napisał/a:
> zagladam do wyniku w asmie ale nie za kazdym
> razem bo to troche nieporeczne
>
> ogolnie faktycznie sporo potrafi wycinac
> ale wtedy widac bo wynik zauwazalnie
> spada itp - tak ze na razie testuje troche
> niestarannie bo nie chce sie zameczyc
> ale wyniki i tak bywaja pouczajace
>
Z obliczeniami zmiennoprzecinkowymi to jest czasem tak, że powiedzmy
kompilator w danym fragmencie kodu wykorzysta MMX ale gdzieś wewnątrz
tego kodu jest wywołanie zewnętrznej funkcji (kompilator nie wie co
się w niej dzieje, bo to plik obiektowy z biblioteki) a ta zewnętrzna
funkcja to powiedzmy sin(x), więc ok, jest zrzucenie x na stos i
wywołanie CALL _sin i już znajdujemy się wewnątrz funkcji _sin:
kod funkcji _sin "widzi", że procesor jest w trybie MMX, więc
bezpośrednio z FPU skorzystać nie można i są dwa wyjścia:
1) obliczenie wartości sin(x) "na piechotę" bez użycia FPU
2) zrzucenie wszystkich rejestrów MMX do pamięci tymczasowej (na
przykład na stos), potem reset układu aby przełączyć go w tryb FPU,
wyliczenie sin(x), potem reset układu i przełączenie go w tryb MMX,
potem przywrócenie zawartości wszystkich rejestrów MMX
To który wariant się wykona zależy od biblioteki. Niestety x86 mają ten
"błąd projektowy" że MMX i FPU to tak na aprawdę jeden układ pracujący
w dwóch różnych trybach (i mają wspólną "pamięć" na rejestry),
przełączanie kontekstu pracy tego układu jest niestety "cyklochłonne" :D
Następne wpisy z tego wątku
- 17.10.12 16:14 kenobi
- 17.10.12 16:40 Baranosiu
- 17.10.12 16:45 Baranosiu
- 17.10.12 17:04 kenobi
- 17.10.12 17:46 Baranosiu
- 17.10.12 17:47 Baranosiu
- 17.10.12 18:09 kenobi
- 17.10.12 18:45 Edek Pienkowski
- 17.10.12 20:00 PK
- 17.10.12 20:20 PK
- 17.10.12 20:22 PK
- 17.10.12 20:26 PK
- 17.10.12 20:43 bartekltg
- 17.10.12 22:28 Baranosiu
- 18.10.12 01:33 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-09 Próby RCB SMS alarmowy
- 2024-10-09 Bye Bye Aero2
- 2024-10-09 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-10-09 Białystok => Technical Leader (Java Background) <=
- 2024-10-09 Katowice => QA Engineer <=
- 2024-10-09 Gdynia => Data Scientist <=
- 2024-10-09 Warszawa => Data Scientist / Data Engineer (modele predykcyjne) <=
- 2024-10-09 Warszawa => Programista Full Stack .Net <=
- 2024-10-09 Warszawa => Senior Account Manager <=
- 2024-10-09 Warszawa => Key Account Manager <=
- 2024-10-09 Warszawa => Sales Development Representative (z j. niemieckim) <=
- 2024-10-09 masowe programowanie AVR
- 2024-10-08 Fajny pomysł na monitor z klawiaturą
- 2024-10-08 Warszawa => Sales Development Representative (in German) <=
- 2024-10-08 Warszawa => WordPress Developer + ACF <=