eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNowoczesne procesory - jak to z nimi jest?Re: Nowoczesne procesory - jak to z nimi jest?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!news.task.gda.pl!not-for-mail
    From: Marek Borowski <m...@...borowski.com>
    Newsgroups: pl.comp.programming
    Subject: Re: Nowoczesne procesory - jak to z nimi jest?
    Date: Sat, 23 Mar 2013 23:21:58 +0100
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 53
    Message-ID: <kil9u3$nh3$1@news.task.gda.pl>
    References: <5148d9db$0$26710$65785112@news.neostrada.pl>
    <4...@g...com>
    <1...@g...com>
    <kihusc$73q$1@news.task.gda.pl> <5...@s...net>
    NNTP-Posting-Host: 82-210-183-160.home.aster.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1364077315 24099 82.210.183.160 (23 Mar 2013 22:21:55 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Sat, 23 Mar 2013 22:21:55 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130307
    Thunderbird/17.0.4
    In-Reply-To: <5...@s...net>
    Xref: news-archive.icm.edu.pl pl.comp.programming:202262
    [ ukryj nagłówki ]

    On 2013-03-23 21:42, Bronek Kozicki wrote:
    > On 22/03/2013 15:54, Marek Borowski wrote:
    >> On 2013-03-21 23:09, M.M. wrote:
    > ...
    >>> No dobrze, ale skąd ta pewność? Czy jesteś pewny na 100% że nie
    >>> da się napisać kompilatora który dla przeciętnych programów
    >>> wygeneruje kod 2 razy szybszy?
    >> Pewnie ze da sie, ale dopuki komitent standaryzacyjny bedzie sie
    >> zajmowal abstrakcjami a nie wprowadzal do core jezyka nowych typow
    >> danych ktore sie mapuja 1:1 na nowe sprzetowe rejestry to IMO nic sie
    >
    > a jak sobie wyobrażasz specyfikację języka który mapuje typy 1:1 na
    > sprzętowe rejestry? I jak ma to pomóc w optymalizacji przeciętnych
    > programów?
    >
    char, int, long -> mapuje sie w rejestry uniwersalne
    float, double -> mapuje sie w rejestry koprocesora

    Swiat idze do przodu, rejestry uniwersalne sie wydluzyly i pojawily sie
    rejestry jednostek wektorowych, a w C/C++ juz niekoniecznie.


    co za problem dodac uint8_vt, uint16_vt, uint32_vt i operacje na nich ?

    uint8_vt = 0x03030303;
    uint8_vt = 0x02020202;
    uint8_vt = v1*v3; // 0x06060606

    z vektorowym float byloby nieco trudniej ale cos mozna wykombinowac.


    Co do drugiej czesci:

    Wspolczesne CPU i tak za zbyt szybkie dla przecietnych programow, moga
    wykorzystywac 1/10 funkcjonalnosci i bedzie dobrze. Pozatym przecietny
    program po stronie klienta to niedlugo bedzie pisany wylacznie
    javascripcie wiec prymitywne typy danych i tak nie beda mialy znaczenia.

    Natomiast co do innych zastosowac to wystarczy spojrzec w kod np. VLC
    (precyzujac bibliotek) Jakos tak sie dziwnie sklada ze najbardziej
    krytyczne fragmenty np. transformata cosinusowa sa jednak pisnanie z
    uzyciem niestandartowych rozszezen czy wrecz asemblerze. Jakby dalo sie
    napisac czysty kod ktory kompilator by zoptymalizowal dostatecznie
    dobrze na jednostke wektorowa to by chyba tam byl jedyny, nie uwazasz ?


    Marek






Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: