Komentowana treść: Natami MX - prezentacja z działania
[#121] Re: Natami MX - prezentacja z działania

@XoR, post #120

dodawanie jednostek wykonawczych moze byc zbyt kosztowne w stosunku do korzysci, trzeba raczej poczekac na 050/070, zeby ocenic sensownosc takiego rozwiazania.

dodawanie nowych instrukcji jest pomyslem komplikujacym konstrukcje procesora i oddalajacym wielordzeniowosc, niekoniecznie optymalnym. instrukcji simd (sse/avx) jako takich raczej nie bedzie, raczej skupia sie na optymalizacji fpu - 2 instrukcje na cykl w pewnych parach, spodziewam sie rowniez nowych rejestrow fpu - 16 x 64 bit. to powinno wystarczyc i daje mniej wiecej to co moze dac simd, za to mniejszym kosztem i z pozytkiem dla starszych programow, takze programisci nie powinni miec z tym problemow, latwiej tez przystosowac kompilator...
[#122] Re: Natami MX - prezentacja z działania

@1989, post #121

Nie sądzę, aby dodawanie kolejnych rdzeni/potoków było szczególnie proste. Przede wszystkim będzie wymagało podwojenia zasobów FPGA oddanych na potrzeby CPU, plus cały mechanizm komunikacji międzypotokowej. Co do zysków, to mogą być problematyczne - tryb superscalar potrafił w przypadku części programów sprawiać sporo problemów, jeden z bardziej spektakularnych przykładów: wolne działanie Breathless na 68060. Dodanie drugiego rdzenia to juz kosmos, przynajmniej z punktu widzenia systemu operacyjnego. Nie można tego załatwić za pomocą mechanizmu switch context jak było w przypadku kart z PPC. Samo przełączanie skutecznie zabijało zysk prędkościowy w przypadku wielu algorytmów, tylko dzięki sporo większej prędkości PPC miało to czasami sens (gdzie najczęściej PPC robił za coś w rodzaju DSP mielącego MP3 albo jakieś filmiki).
Pozatym drugi rdzeń, niezależnie od implementacji sprzętowej trzeba oprogramować, w przeciwnym wypadku jest równie użyteczny jak 68882 w gołym systemie OS3.1 - jest przez niego ignorowany. A żaden dotychczas powstały program dla Ami nie będzie potrafił z drugim rdzeniem współpracować. No chyba że system 68k dorobi się mechanizmów SMP, ale kto to napisze?
Moim zdaniem jednak nowe instrukcje to byłoby to... przy czym mam na myśli jakieś SIMD przy zachowaniu kompletu instrukcji 030/882 (ale chyba takie jest jedno z założeń). W przypadku instrukcji SIMD nie trzeba by chyba od razu kompilatora, wystarczyłoby napisać kilka prostych bibliotek w asmie pomagających w dekodowaniu MP3, video, czy innej obróbce strumieni. Wtedy dostarczanie plików nagłówkowych pozwoliłoby na szybkie wykorzystanie tego (a poprzez zastąpienie części bibliotek nowymi również stary soft mógłby na tym skorzystać).
I oczywiście dobrze byłoby po prostu iść w megahertze i ilość cache. Ktoś już pisał, że nie powinno się iść w tym kierunku... to jakim cudem Natami ma dekodować te filmy? Wzrost zegara CPU przyniesie prawie liniowy wzrost wydajności (na pewno w granicach na które pozwoli wydajność FPGA) każdemu programowi. Ale oni idą w tym kierunku - 68050 ponoć pokazuje w testach prędkość 68030 500 MHz. Zupełnie przyzwoicie.
A wracając do sensowności Natami, to dla mnie decydująca będzie cena. Jeśli będzie OK, to pewnie kupię (jęsli w końcu wyjdzie). Dla mnie to taka sympatyczna próba ekstrapolacji klasycznej Ami, żadna przyszłość. Fajna zabawka :)
Nie wierzę, aby taki emulowany 68k kiedykolwiek przeskoczył G4 1.5 GHz. Cóż z tego że SuperAGA... coś musi napędzać to wszystko. A pozatym ktoś musi to oprogramować, a to już zupełnie inna historia. Dłuuuuuga i ciężka.
Ale gościom od Natami kibicuję.
[#123] Re: Natami MX - prezentacja z działania

@wali7, post #122

Nie sądzę, aby dodawanie kolejnych rdzeni/potoków było szczególnie proste.


dodanie dodatkowych rdzeni jest akurat najprostsze :). To jest oczywiscie daleka przyszlosc, ale moim zdaniem, taki kierunek jest lepszy niz duzy zestaw dodatkowych instrukcji.

taki przyklad, wspominasz cos o pisaniu dodatkowych bibliotek w asm na nowe instrukcje etc. nieporownywalnie latwiej uruchomic ten sam kawalek kodu, na kolejnym takim samym rdzeniu... itd. spojrz na to chocby tez ten w ten sposob :)

w testach prędkość 68030 500 MHz


zobaczymy jakie beda testy pierwszej 050.

Ostatnia edycja: 01.05.11 04:44:26
[#124] Re: Natami MX - prezentacja z działania

@1989, post #123

Dodanie nowych rdzeni pewnie jest i stosunkowo proste, ale ich efektywne wykorzystanie wymaga fundamentalnych zmian w systemie operacyjnym. A pozatym każdy nowy rdzeń to zwielokrotnienie zasobów FPGA zajętych przez CPU. Dodawanie kolejnych instrukcji nie jest takie kosztowne, czy dodanie jednostki SIMD (zdecydowanie to byłoby lepsze, bo zestaw instrukcji 030/882 jest wystarczająco złożony). Dla przykładu jednostka Altivec to 4 mln tranzystorów, co stanowi niecałe 40% struktury pierwszych G4, a takiego 7447A już zaledwie niecałe 10%, a to są całkiem skomplikowane, superskalarne procesory. A i sama jednostka Altivec nie jest szczególnie prostą implementacją SIMD (pod wieloma względami przewyższa rozwiązania intelowskie), więc zapewne można zrobić taką jednostkę sporo mniejszą.
Nie, nie, kolejne rdzenie to byłby zdecydowanie kwiatek do kożucha - komplikacja w oprogramowaniu takiego cuda zabiłaby to, co wielu kocha w programowaniu dla 68k: prostotę.

PS. Co do 68050, to czytając tekst o tych CPU (12 pytań....) zrozumiałem, że oni już tam coś działającego mają i pierwsze testy CPU robili. Chociaż to co im działa w obecnej Natami to najnormalniejszy 68060.

Ostatnia edycja: 01.05.11 05:44:55

Ostatnia edycja: 01.05.11 05:52:24
[#125] Re: Natami MX - prezentacja z działania

@wali7, post #124

Dodanie nowych rdzeni pewnie jest i stosunkowo proste, ale ich efektywne wykorzystanie wymaga fundamentalnych zmian w systemie operacyjnym.


a dodanie nowych instrukcji nie wymaga fundamentalnych zmian w systemie ?. Jest trudniejsze, pochlania wiele zasobow i wymaga naprawde fundamentalnych zmian w podejsciu do programowania... Koszt instrukcji SIMD ala SSE/AVX to ok. 60% logiki 68k (050/070 z FPU) i trzeba poswiecic sporo czasu na zaprojektowanie takiej jednostki pod katem zestawu instrukcji 68k. O wiele latwiej dodac drugi, trzeci... rdzen - optymalizujac jeden.., dorobic jedynie kolejny poziom cache i dzialac.. :). W przypadku nowych instrukcji programisci musza sie ich nauczyc, czyli dlugo dlugo nic, potem napisac od zera nowe kody w asm.., na 68k wykorzystuja wiedze ktora juz maja, kody ktore juz napisali, narzedzia (asemblery i kompilatory) po ew. niewielkich modyfikacjach, ucza sie czegos nowego, czego i tak w koncu musza sie nauczyc, bo nie da sie przy tych Mhz ominac wielordzeniowosci itd.itd. Co do wydajnosci, to wydajnosc bedzie zblizona do SIMD, w przypadku zoptymalizowanej jednostki FPU z niewielkimi rozszerzeniami.., a dodatkowo taki rdzen jest pelnowartosciowym uniwersalnym CPU :)

PS. to jest jednostkowy test dla niezoptymalizowanych kodow dla 050 (zoptymalizowanych na 030), teoretycznie 500-750Mhz, zoptymalizowany kod dla 050, teoretycznie 900-1000Mhz.

Ostatnia edycja: 01.05.11 12:39:00
[#126] Re: Natami MX - prezentacja z działania

@wali7, post #124

Warto zauważyć, że to nie zupełnie jest 'najnormalniejszy' 68060 - otóż dzięki użyciu ekstremalnie szybkiej pamięci i wyższemu taktowaniu, 060 na karcie CPU w NatAmi jest 2-3 x szybszy niż karty Cyberstorm 060!

Prędkość softcore 050 jest porównywana do 68030 500MHz. Tymczasem 060 na karcie CPU w NatAmi jest szybszy:)

Zatem 050 bije prękością na głowę stare, amigowe 060. Jednak 060 na karcie CPU w NatAmi jest mimo wszystko szybsze zarówno od innych 060 jak i od samego 050

Więcej informacji tutaj:
http://www.natami.net/knowledge.php?b=2¬e=13722&z=TNtGeN

Ostatnia edycja: 01.05.11 13:28:49
[#127] Re: Natami MX - prezentacja z działania

@Banter, post #126

No w koncu jakies konkrety z wiarygodnego zrodla. Dzieki! OK
Dodano:
A moze jakies zrzuty ekranu z SysSpeed? Chyba nie jest to jakies wielce skomplikowane.

Ostatnia edycja: 01.05.11 13:39:53
[#128] Re: Natami MX - prezentacja z działania

@Banter, post #126

to przy zalozeniu, ze 050 nie jest jednostka superskalarna - 1 instrukcja na cykl, warto dodac :), a czy tak bedzie ?
[#129] Re: Natami MX - prezentacja z działania

@1989, post #125

a dodanie nowych instrukcji nie wymaga fundamentalnych zmian w systemie ?
Nie wymaga :)
I dlatego jest do łatwy sposób na przyśpieszenie działania, szczególnie jeśli instrukcje są często używane np. połączone dodawanie i mnożenie.

Zwiększanie rdzeni to dobry sposób bo sumie tani jak zauważyłeś z konstrukcyjnego punktu widzenia, ale to jest faktem dla dojrzałych architektur mających dojrzałe systemy operacyjne a nie wersja 68K bez MMU i AmigaOS który technicznie jest deko zacofany pod względem ochrony pamięci i jej dynamicznej realokacji (skutek braku MMU!)...

Oczywiście dałoby się zrobić hacki i tajemniczymi sposobami używać drugi rdzeń ale byłoby to dużo mniej wygodne i mniej praktyczne od dodatkowych instrukcji. Poza tym najpierw trzeba zoptymalizować główny rdzeń i dodać MMU, ochronę pamięci do AmigaOS itp a dopiero jak już nie bardzo będzie co dalej robić w materii wydajności pojedyńczego rdzenia to myśleć nad multi-cpu
[#130] Re: Natami MX - prezentacja z działania

@1989, post #125

a dodanie nowych instrukcji nie wymaga fundamentalnych zmian w systemie ?. Jest trudniejsze, pochlania wiele zasobow i wymaga naprawde fundamentalnych zmian w podejsciu do programowania...


fundamentalnych zmian wymaga wlasnie dodanie kolejnych rdzeni. Minie duzo czasu, zanim programisci piszacy pod NatAmi naucza sie korzystac z dobrodziejstw SMP. Nie wspominajac o starym systemie AmigaOS ktory do SMP w ogole nie jest dostosowany i musialby byc mocno zmodyfikowany w wielu miejscach tylko po to, zeby te kilka rdzeni wykorzystac.

W przypadku nowych instrukcji nic w samym systemie operacyjnym zmieniac nie trzeba.

W przypadku nowych instrukcji programisci musza sie ich nauczyc,


a w przypadku SMP nic nie musza sie nauczyc? Smiem watpic.

potem napisac od zera nowe kody w asm..,


dlaczego od zera. Tworcy NatAmi nie tworza calkiem nowego i niekompatybilnego zestawu instrukcji, tylko rozszerzaja obecny. Czy scenowcy musieli napisac wszystko od zera przy przejsciu z m68k na 68020?

A programisci i tak beda musieli sie przyzwyczaic, bo zapewne zmieni sie ilosc cykli przypadajacych na kazda instrukcje cpu.
[#131] Re: Natami MX - prezentacja z działania

@Banter, post #126

czyli żaden z procesorów natami nie będzie szybszy od mojego ppc 240 mhz w A1200 ?
to bieda
[#132] Re: Natami MX - prezentacja z działania

@rzookol, post #131

Szybkość procesora to jedno.
Ważneijsze jak wygląda komunikacja z innymi podzespolami kompa - SuperAGA swoje tez zrobi.
Procesor nie swiadczy wcale o wydajnosci systemu jako calosci.

Kiedys na PC-tach tak bylo. Byc moze w rozbudowanej Amice z karta PPC tez tak bylo.
Obecnie ejdnak, nawet w PC, procesor wcale nie swiadczy w wydajnosci danego sprzetu.

Zreszta, sprzety, w ktorych o wszystkim swiadczy procesor - to beznadziejne sprzety :)

Natami faktycznie idzie droga Amigi - procesor koordynuje pracę podzespołów, które /być może/ ważniejsze pełnią rolę niż on sam!

Swoją drogą, Twoje PPC może teoretycznie ejst szybsze, tyle że sensownie do niczego się nie nadaje. Dużo pary...i tyle :)
[#133] Re: Natami MX - prezentacja z działania

@michalmarek77, post #132

Swoją drogą, Twoje PPC może teoretycznie ejst szybsze, tyle że sensownie do niczego się nie nadaje. Dużo pary...i tyle

masz jakieś dowody na poparcie swojej tezy czy to tylko ćwiczenia z retoryki ?
[#134] Re: Natami MX - prezentacja z działania

@rzookol, post #133

Jestem ciekawy jaki to fantastyczny, uzyteczny soft na tym działa:)
Wiesz, "system seller". Każda maszyna coś takiego ma.
Amiga miała Defender of the Crown. i Deluxe Painta.
PC miał Wing Commandera. MsOffice.
Mac miał MArathon'a. i Photoshopa.
St miało Calamusa.

itd, itd.....

A co ma to PPC ?
[#135] Re: Natami MX - prezentacja z działania

@michalmarek77, post #134

ppc ma imagefxa, mplayera, wildfire, showgirls, digiboostera3, owb, earth2140, heretic2, payback, freespace, quake2, wipeout

poza tym jak ja wejdę na internet to mi przeglądarka bedzie działać szybciej niż natami a jak wiadomo w sieci sie duzo czasu spedza

Ostatnia edycja: 01.05.11 19:48:08
[#136] Re: Natami MX - prezentacja z działania

@rzookol, post #135

Cienko.....
Praktycznie same porty :) Kazdy kto chcial gral w to na PC....i tyle. Generalnie pamietam te tytuly z czasów Voodoo2 12MB, Boże toż to wieki temu bylo..........
A Quake 2 chodzi na byle komórce :) i to w openGL :)

okej, Digibooster 3 .

Kiedy wyprodukowano Twoją kartę ? A kiedy wydano DigiBoostera 3 .....
Sporo się czlek naczekac musial na soft wykorzystujacy power tego PPC.
[#137] Re: Natami MX - prezentacja z działania

@michalmarek77, post #136

Praktycznie same porty

Jeśli dla Ciebie ImageFX, Wildfire, i Showgirls to porty , to ja nie mam pytań.
Aaa...Defender Of The Crown to też "port", bodajże z C64 :D
[#138] Re: Natami MX - prezentacja z działania

@michalmarek77, post #136

nie interesuje mnie w co graja pecetowcy, tu jest portal o amigach
[#139] Re: Natami MX - prezentacja z działania

@waldiamiga, post #137

Napisałem "Paraktcyznie"...
A Defender na Amigę z portem nie miał nic wspolnego !
Chyba tylko tyle ile wspólnego ma Zelda z Gamecuba z Zeldą z Gameboya!
Engine/grafika/mechanika/muzyka - wszystko było napisane od podstaw na Amidze , dla Amigi. To był prawdziwy showcase jej możliwości.....

Ty w ogóle wiesz co znaczy port ? Widziałeś wersję C-64 i Amigową ?

Proszę........
[#140] Re: Natami MX - prezentacja z działania

@rzookol, post #138

Sorry, ale jeśli dla Ciebie Heretic 2/ Quake 2/ Earth 2140 / Wipeout to AMIGOWE gry to powinieneś zmienić sobie swój podpis na forum :)

[#141] Re: Natami MX - prezentacja z działania

@waldiamiga, post #137

Sporo się czlek naczekac musial na soft wykorzystujacy power tego PPC.

Nie wiem jak rzookol ale ja po zakupie w 98 roku BlizzaPPC 603e 175MHz/040 25MHz intensywne korzystałem z tego "koprocesora" odpalając emptrójki na Amiga AMPie w 14 bitach bez przycinania kompa, oglądając MPEGi na AMPie, grając w Quake w 25fps, bawiąc się w raytracing Imagine 5 PPC i MoonZoom.
[#142] Re: Natami MX - prezentacja z działania

@rzookol, post #131

PPC w A1200 też nie był specjalnie szybki Słaba pamięć, brak SRAMu, konieczność komunikowania się z wolnym systemem i przełączanie kontekstu sprawiały że byle Pentium 150 był szybszy od tego PPC Nie będzie problem przegonić taką wydajność :)

Poza tym te informacje były sprzed sporego czasu a nowych informacji na temat wydajności specjalnie nie widziałem...

ps. PPC to tak jak koprocesor. Użyteczność mocno ograniczona w przeciwieństwie do szybkiego 68K...
[#143] Re: Natami MX - prezentacja z działania

@michalmarek77, post #139

Ty w ogóle wiesz co znaczy port ?

Pewnie :) Baa..W przeciwieństwie do Ciebie ostatnio nawet jeden popełniłem, ale na razie nie ma się czym chwalić.
[#144] Re: Natami MX - prezentacja z działania

@waldiamiga, post #143

Jestem użytkownikiem. Wymagającym. Kiepskim /bardzo/ programistą.

Zrobiłeś port? Super! Mam nadzieję, że przyniesie Ci to korzyści. Pomoże w karierze. Fajnie!

Tyle, że dla mnie miarą sprzętu są "exclusive", natywne oprogramowanie, takie które swój origin ma na danej platformie.

Porty, hmn, są fajne. Tyle, że nie zawsze potrzebne.......

Aczkolwiek od czegoś trzeba zacząć! Życzę Ci napisania w przyszłości wspaniałego softu dla Twojej ulubionej platformy!
[#145] Re: Natami MX - prezentacja z działania

@szuler, post #130

W przypadku nowych instrukcji nic w samym systemie operacyjnym zmieniac nie trzeba.


w przypadku kolejnego rdzenia, rowniez, zwyczajnie ten kolejny rdzen nie bedzie uzywany przez system, podobnie zreszta jak nowe instrukcje.

Tworcy NatAmi nie tworza calkiem nowego i niekompatybilnego zestawu instrukcji, tylko rozszerzaja obecny. Czy scenowcy musieli napisac wszystko od zera przy przejsciu z m68k na 68020?


rozszerzenia to jedno, ale tutaj niektorzy mowia o zupelnie nowym bloku insrukcji tzw. simd.
[#146] Re: Natami MX - prezentacja z działania

@XoR, post #129

Poza tym najpierw trzeba zoptymalizować główny rdzeń i dodać MMU,


optymalizowac rdzen w ramach zestawu instrukcji 68k, to oczywiste, ale dodanie MMU nie jest konieczne. AOS domyslnie z tego nie korzysta, obniza to wydajnosc, dosc klopotliwe w implementacji - nie tylko CPU, rowniez SAGA ma bezposredni dostep do pamieci, czyli zarzadzanie pamiecia musi byc dodatkowo zrealizowane gdzies na poziomie obslugi kanalow DMA, a nie tylko samego CPU. Na Amidze, w centralnym punkcie jest DMA, przypominam.

Oczywiście dałoby się zrobić hacki i tajemniczymi sposobami używać drugi rdzeń ale byłoby to dużo mniej wygodne i mniej praktyczne od dodatkowych instrukcji.


dla calego bloku dodatkowych instrukcji trzeba od zera napisac program (praktycznie w asm, a mina lata zanim pojawi sie sensowny kompilator C, jezeli w ogole..), uzycie nowego identycznego rdzenia jest o wiele latwiejsze, w asm, bo to b.dobrze znany kazdemu koderowi 68k, tak samo w C/C++... itd. Uruchomienie kolejnego rdzenia wcale nie jest tak trudne jak sadzisz - na systemie bez ochrony zasobow.

Nie wymaga


tak samo jak nowy rdzen.

szczególnie jeśli instrukcje są często używane np. połączone dodawanie i mnożenie.


nie potrzeba do tego nowych instrukcji. wystarczy jak fpu polaczy w pare dodawanie i mnozenie, po czym wykona w 1 cyklu. Na tym skorzystaja rowniez programy nieoptymalizowane pod N68k, czego nie mozna powiedziec o nowych instrukcjach. Przypominam tez, ze taki zlozony blok nowych instrukcji to wydluzenie oczekiwania na Natami o kolejne lata... potem kolejne lata zanim zacznie ktos z tego sensownie korzystac...
[#147] Re: Natami MX - prezentacja z działania

@XoR, post #142

Nie będzie problem przegonić taką wydajność


Celem tworcow Natami jest zrealizowanie najszybszej post Amigi 68k, dt. to rowniez rozszerzen w postaci kart PPC dla klasyka, na ile sie to uda, zobaczymy.

Wydajnosc Natami to nie tylko sam CPU, to rowniez SAGA... :) post#132 @michalmarek77
[#148] Re: Natami MX - prezentacja z działania

@1989, post #146

Wykorzystanie drugiego rdzenia jest o wiele trudniejsze niż wykorzystanie nowych instrukcji. Musisz rozpisać algorytm tak, aby pracował równolegle. Pomijając fakt trudności technicznych, w przypadku wielu algorytmów jest to niemożliwe (np. rekurencja).
Kolejne rdzenie bez solidnego wsparcia systemu operacyjnego nie dają wielkiego przyrostu wydajności (chyba że aplikacja specjalnie jest zoptymalizowana pod kilka rdzeni, ale to są wyjątki), zresztą przy wsparciu też ten przyrost nie jest zbyt imponujący.
Świat PC poszedł w wiele rdzeni, bo możliwości przyspieszania zegarów się już prawie wyczerpały. Świat amigowy, w tym Natami, ma jeszcze duże możliwości w kwestii przyspieszania zegarów, czy optymalizacji architektury.
A z innej beczki, jak sobie wyobrażasz obsługę drugiego rdzenia przez AmigaOS?
[#149] Re: Natami MX - prezentacja z działania

@1989, post #145

w przypadku kolejnego rdzenia, rowniez, zwyczajnie ten kolejny rdzen nie bedzie uzywany przez system,


Czyli bedzie taka sama sytuacja jak w OS4? Dwurdzeniowy CPU z tym, ze wykorzystywany jest tylko i wylacznie jeden rdzen? Dla mnie jest to marnowanie zasobow.

rozszerzenia to jedno, ale tutaj niektorzy mowia o zupelnie nowym bloku insrukcji tzw. simd.


No i? Czy po przejsciu z 68000 na 68030 + FPU programisci musieli przepisac od nowa wszystkie programy?
[#150] Re: Natami MX - prezentacja z działania

@1989, post #146

dla calego bloku dodatkowych instrukcji trzeba od zera napisac program (praktycznie w asm, a mina lata zanim pojawi sie sensowny kompilator C, jezeli w ogole..), uzycie nowego identycznego rdzenia jest o wiele latwiejsze, w asm, bo to b.dobrze znany kazdemu koderowi 68k, tak samo w C/C++... itd. Uruchomienie kolejnego rdzenia wcale nie jest tak trudne jak sadzisz - na systemie bez ochrony zasobow.


Nabieram coraz wiekszego przekonania, ze nie masz pojecia o czym piszesz...
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem