procesor rownolegly

> 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.

Reply to
J.F.
Loading thread data ...

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.

Reply to
J.F.
Reply to
Sylwester Łazar

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

Reply to
JanuszR
Reply to
Krzysztof Tabaczyński
Reply to
Sylwester Łazar

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

Reply to
Waldemar Krzok
Reply to
Sylwester Łazar
Reply to
Sylwester Łazar

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

Reply to
Waldemar Krzok
Reply to
Sylwester Łazar

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.