-
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
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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
Najnowsze wątki
- 2025-01-04 Zbieranie danych przez www
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r
- 2025-01-04 Warszawa => Specjalista ds. IT - II Linia Wsparcia <=
- 2025-01-04 Warszawa => Java Developer <=
- 2025-01-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-04 Warszawa => System Architect (Java background) <=
- 2025-01-04 Wrocław => Application Security Engineer <=
- 2025-01-04 Chrzanów => Specjalista ds. public relations <=
- 2025-01-04 Katowice => Key Account Manager (ERP) <=
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-03 Warszawa => International Freight Forwarder <=
- 2025-01-03 Mińsk Mazowiecki => Area Sales Manager OZE <=