procesor rownolegly

Mar 07, 2010 20 Replies


> procesorze amulet (asynchroniczny arm). W największym skrócie


>A to o ten z Manchesteru... Myślałem o tym lampowym.
>Czy możliwe jest zbudowanie komputera asynchronicznego, który nie wykonuje
>dokładnie krok po kroku programu?
>np.taki który ma zapisane w kolejnych komórkach pamięci rozkazy i wykonuje
>cały program w etapach, ale równocześnie po kilka instrukcji?

No coz, byl dawniej taki jezyk, Occam, na transputery, ktory zasadniczo tak mial dzialac - jesli nie zaznaczyles specjalnie, to kolejne linie byly wykonywane rownolegle.


Oczywiscie to w zalozeniach, bo w praktyce transputer byl w miare normalnym procesorem sekwencyjnym, z tym ze chetnie dzialal w srodowisku wieloprocerowym. Z czasem to nawet Inmosie przestali uzywac Occamu, i transputery programowali w C.


Duzo pracy wlozyl Intel i AMD w to zeby wspolczesne procesory x86 potrafily zrobic kilka instrukcji na raz, oczywiscie ma to bardzo ograniczony zakres, pomijajac fakt kilku rdzeni.


Przetwarzanie algorytmiczne jest z reguly sekwencyjne, i to sie szybko nie zmieni.


J.


Dokladnie, dlatego zrobilem nowy i zatytulowalem jak zatytulowalem. Tu powinno byc tylko o procesorach ktore wiecej niz jedna instrukcje na raz robia :-)

To jest jeden z problemow - jak np zrobic sumator zeby wygenerowac taki sygnal jak juz wynik na wyjsciu sie ustabilizuje.

Dla innych blokow, np pamieci naturalne beda raczej zwykle uklady czasowe do wygenerowania takiego sygnalu po czasie w ktorym juz _powinien_ sie pojawic stabilny sygnal.

Tak czy inaczej - wspolczesny procesor ma w sobie duzo rejestrow przelaczanych sygnalem zegara, dlatego nazywamy synchronicznym.

Asynchroniczny musialby z tego zrezygnowac.

To czesciowo juz dzis dziala - jak procek za goracy to sie automatycznie zegar spowalnia :-)

J.

Tak, to prawda temat ¶mierci Pana Jacka Karpiñskiego siê poszerzy³ i poszed³ w 2D. Zaciekawi³a mnie ta asynchroniczno¶æ w 1971 roku na TTLach. Wiem, ¿e to nie jest nic dziwnego - dzisiaj. Naprawi³em tak± maszynê Voumard z 1976 roku zrobion± przez Szwajcarów. Ma ona piêkny dekoder kolejnych bloków algorytmicznych i pamiêæ na diodach. Ale ta maszyna by³a zrobiona w technologi DTL. Nie ma zegara centralnego, a wszystkie sygna³y czasowe s± generowane przez uk³ad RC (taki scalak jak 74123, ale w technologi DTL).

W zwi±zku z tym wydaje mi siê, ¿e te pomys³y Pana Karpiñskiego musz± byæ naprawdê dobre i warto poznaæ ten K-202.

Teraz po³±czyæ pomys³ Jacka Karpiñskiego (asynchronizm) z równoleg³o¶ci± mo¿e daæ korzy¶ci w kwadracie.

Myślę, że z uwagi na sekwencyjność procesory równoległe to mrzonka. Jest problem z instrukcjami warunkowymi, z danymi uzyskiwanymi w operacji poprzedzającej. W najlepszym razie będą to procesory wielojądrowe, gdzie wielotorowość z uwagi na sekwencyjność programu będzie ograniczona i np. procesory 256 kernelowe nie będą dawały znaczącego przyrostu wydajności. Prawdziwe przetwarzanie równoległe to oczywiście sieci neuronowe, które w porównaniu do technologi szeregowej dopiero raczkują. Sieci neuronowych nie potrafimy programować (nie jest mi znany żaden kompilator), póki co działają tylko w oparciu o uczenie się.

JanuszR

U¿ytkownik "JanuszR" snipped-for-privacy@o2.pl napisa³ w wiadomo¶ci news:hn1f8b$iti$ snipped-for-privacy@news.onet.pl...

A znasz mo¿e jak±¶ sieæ neuronow± szczególnie dobrze nadaj±c± siê do przewidywania jutra? Na przyk³ad jest du¿a instalacja lakiernicza z lat 70-tych i warto by by³o wiedzieæ co siê popsuje JUTRO...

Pozdrowienia. Krzysztof z Tychów.

U¿ytkownik "JanuszR" snipped-for-privacy@o2.pl napisa³ w wiadomo¶ci news:hn1f8b$iti$ snipped-for-privacy@news.onet.pl...

Nie, to rzeczywistosc.

Sa obliczenia w sposob naturalny dajace sie podzielic.

Ale emulacja dzialania seici neuronowych idalnie na daje sie na maszyny (bardzo)wieloprocesorowe.

U¿ytkownik "Krzysztof Tabaczyñski" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news:hn2435$7o5$ snipped-for-privacy@inews.gazeta.pl...

Ale juz maszyny rownolegle dobrze nadaja sie do przewidywinania jutra.

Inaczej nie ma szans - ale korzysci z takiej architektury obawiam sie, ze zostana zjedzone przez komplikacje i niewiele na koncu uzyskamy, a nawet troche stracimy. Np. wspomniana juz mozliwosc ograniczenia czestotliwosci zegara w razie zbyt wysokiej temperatury, oczywiscie mozna to protezowac, ale lawinowo wzrosnie stopien komplikacji .

C=A+B "Nawet je¶li A d±¿y do 0, to i tak nic z tego, bo jeszcze jest B?" S.

U¿ytkownik "Sylwester £azar" snipped-for-privacy@alpro.pl napisa³ w wiadomo¶ci news:hn2eil$s9v$ snipped-for-privacy@mx1.internetia.pl...

Taaa, cos z tymi ziolami jest na rzeczy.

U¿ytkownik "Ghost" snipped-for-privacy@everywhere.pl napisa³ w

Zeby instrukcje sie wykonywaly jak najszybciej mozna, a nie w takt ktory umozliwia dokonczenie najdluzszej. Zeby na sygnal zegara nie pulsowalo pare tysiecy [milionow ?] bramek, a tylko te ktore trzeba. I w koncu - bo nikt do tej pory tego nie zrobil, a potem sie opisze co wyszlo.

J.

U¿ytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:hn2so9$okb$ snipped-for-privacy@news.onet.pl...

Przeciez w synchronicznym rozne instrukcje wykonuja sie w roznym tepie.

Pulsowanie nie wynika z (nie)synchronicznosci.

Ghost wrote:

Nie dla siurpryzy najszybsze magistrale/procesory są robione synchronicznie. Oprócz oczywistości w bardziej skomplikowanym kompilacie (choć w sumie nie dużo większej niż dla procesorów równoległych) również w maszynach asynchronicznych potrzebujesz w końcu semaforowania, by przekazać następującej części maszyny, że dane wejściowe są ważne. Oprócz tego decyzja, czy dany element procesora może zostać wykorzystany do obróbki następnej instrukcji zależy od tego, czy już przetworzył poprzednie dane. Dla systemów synchronicznych jest to łatwe, bo wiadomo z góry ile taktów kosztuje dana instrukcja. Dla asynchronicznych tego nie stwierdzisz tak łatwo. Trzeba dodać rezerwę na racing conditions. Wystarczy, że temperatura czipa będzie nierównomierna i już sypią się problemy (i programy). Da się to zrobić dla systemów pracujących stosunkowo wolno, ale wchodząc w GHz masz poważne z tym problemy. Tak na serio, to uważam za możliwe, i może nawet warte zastosowania maszyn asynchronicznych do wykonywania specyficznych operacji. Na przykład używałem kiedyś (1984 rok) asynchronicznego multiplikatora zmiennoprzecinkowego,bo był wybitnie szybszy od koprocesora numerycznego, ale zajmował dużą płytkę (wraz z obwodem wejściowym, dwoma równoległymi ADC, układem logarytmującym i filtrem). Płytkę robił kumpel jako pracę dyplomową. Reszta była synchroniczna (na MC68000) z taktem 16MHz. Ale mnożenie 24.8x24.8 z normalizacją do 16.16 zajmowało jeden takt. Po prostu pobierałem 32 bity z obszaru pamięci i gotowe.

Waldek

£adnie powiedziane: wybitnie szybszy.

Czyli w zasadzie maszyna analogowa de facto? Je¶li to nie tajemnica, mo¿na siê zapoznaæ z t± prac±? By³em bardzo zawiedziony, gdy na Politechnice w 1994 roku mia³em zajêcia na analogowych maszynach matematycznych. By³em pod wra¿eniem, ale to by³ ostatni rok i sz³y na z³om. Nie mog³em zrozumieæ dlaczego. Pewnie zakupiono 20x PC 486 i nie by³o gdzie postawiæ:-) Zastanawia³em siê wtedy dok³adnie nad tym, aby przetwarzaæ analogowo i dorobiæ interfejs cyfrowy dla wyniku. Jako¶ tak mi siê ko³ata³o, ¿e to jednak jest zaszumione itp.

S.

U¿ytkownik "Waldemar Krzok" snipped-for-privacy@zedat.fu-berlin.de> napisa³ w wiadomo¶ci news: snipped-for-privacy@mid.uni-berlin.de...

I tu sie zgadza, poszczegolne bloki robiace jakies skomplikowane operacje (m.in. na sprzetowych sieciach neuronowych) warto wydzielac - ale to dotyczy jakiegos liniowego i w aspekcie algorytmicznym wzglednie prostego przetwarzania. Caly komputer to zupelnie inne gacie.

W³a¶nie o to chodzi. ¯ycie nie jest czarne ani bia³e, tylko szare. Je¿eli poszukujesz rozwi±zañ i kompromisów mo¿e staæ siê nawet i ró¿owe. Przecie¿ pisa³em o cechach asynchronicznych K-202. To mnie interesuje. A czy ich bêdzie 20% czy 80% to nie ma znaczenia. Nie zarzekam siê, ¿e jak zobaczê kwarc w K-202 to bêdê smutny. Nie o to tu chodzi. Wa¿na jest wydajno¶æ ca³o¶ci. K-202 w 1971 przy swoich 700W mia³ bardzo du¿±. BTW: Czy tam jest wiatrak w ¶rodku? Nie wymaga³ ch³odzenia, ale mo¿e wiatrak mia³ wewnêtrzny. S.

Am 09.03.2010 08:43, schrieb Sylwester Łazar:

nie całkiem analogowa. W sumie był to m.in. miernik mocy dla prądów zmiennych do 1MHz, moce do 100kW. Po stopniach wejściowych było to digitalizowane szybkimi DAC i przeliczane. Trochę to uniwersytecko wyszło (znaczy drogo i za dokładnie), ale był to pomysł facia, gdzie robiłem praktykę. Miało być jeszcze dorobione fft też asynchronicznie, ale to już miał robić kto inny. Czy zrobili, nie mam pojęcia. W sumie była to tajemnica, bo urządzenie powstawało na zamówienie wojska, więc pewnie też dlatego było drogie i za dokładne ;-). Maszynami analogowymi też się bawiłem na uczelni. Było nas 5 osób na wykładzie i tylko ja zdawałem egzamin (w 1987, chyba). Też byłem ostatnim semestrem ;-). Mieliśmy maszyny AEG, dwie średnie szafki. Na egzaminie dyskutowałem z profesorem na temat maszyn hybrydowych, ale już wtedy powątpiewaliśmy w sukces takowych. To, że analogowe jest zaszumione widzi każdy. To, że cyfrowe też jest zaszumione powinien każdy widzieć, ale tego nie robi, niestety.

Waldek

U¿ytkownik "Sylwester £azar" snipped-for-privacy@alpro.pl napisa³ w wiadomo¶ci news:hn51hp$iim$ snipped-for-privacy@mx1.internetia.pl...

No jednak nie o to -> komputer to zupelnie inne gacie.

Dlatego, ¿e do uniwersalnego nie warto? A do przemys³u? S.

U¿ytkownik "Sylwester £azar" snipped-for-privacy@alpro.pl napisa³ w wiadomo¶ci news:hn5gsh$e0i$ snipped-for-privacy@mx1.internetia.pl...

Dlatego, ze nie spalnia kryterium.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required