eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProcesory wielordzenioweProcesory wielordzeniowe
  • Data: 2014-10-05 00:25:04
    Temat: Procesory wielordzeniowe
    Od: s...@g...com szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    .. i do tego programowanie wielowątkowe. Ja tu czegoś nie rozumiem.
    Weźmy na przykład program do obliczenia sumy liczb od 1 do N. Ot, zwykły ciąg
    arytmetyczny S(N)=N*(N+1)/2. Zakładając, że wzoru nie znamy, zlecamy to kompowi. Soft
    jest banalny:

    s:=0;
    for i:=0 to N do
    begin
    s:=s+1;
    end;

    Powyższe jest nasmarowane w Pascalu, którego składnia jest podobna do C, ino jest to
    bardziej czytelne. Nie w tym rzecz.. Rozbijmy to na 2 wątki:

    1)
    s1:=0;
    for i:=0 to k do
    ...........
    ..........
    2) s2:=0;
    for i:=k+1 do
    .............
    ..............

    Wiasomo o co biega,no i na koniec s:=s1+s2. Czyli wykonujemy jak gdyby 2 programy na
    2-ch różnych kompach, kompilator ładnie nam to rozdzielił i klawo jak cholera. No to
    teraz skomplikujmy zagadnienie ciuta bardziej.. Chcemy policzyć sumę wyrazów
    jakiegoś ciągu, którego wyrazy są zapisane w wektorze A[i] (i=0..N). Robimy zaś 2
    wątki:

    1)
    s1:=0;
    for i:=0 to k do
    begin
    s1:=s1+A[i];
    end;

    2) s2:=0;
    for i:=k+1 to N do
    begin
    s2:=s2+A[i];
    end;

    s:=s1+s2. A co jeżeli elementy ciągu A[m] i A[n] są zapisane fizycznie w tej samej
    kostce pamięci? Co w takiej sytuacji dają mi 2 rdzenie?

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: