Komentowana treść: Emu68 - M68K na RaspberryPi
[#1] Re: Emu68 - M68K na RaspberryPi
No i co nam to da ? Rozwój AROSa tylko jako 68k ?

Ostatnia aktualizacja: 19.11.2019 17:21:56 przez Sventevith
[#2] Re: Emu68 - M68K na RaspberryPi

@Sventevith, post #1

Nie wiem, może wirtualny procek szybszy 10x 060?
Tylko czy nie mamy tego w FPGA?
[#3] Re: Emu68 - M68K na RaspberryPi

@marianoamigo, post #2

W FPGA masz procek, sd, ide, saga i w sumie tyle. Więcej się nie zmieści, a i to trzeba było mocno dopracować. 1 rdzeń ARM z Broadcoma może robić za wirtualny 680x0 o większej prędkości od oryginału zupełnie jak to ma miejsce w Vampire. A pozostałe? Mogą nadal pozostawać jako ARM, z wspólną pamięcią z emulowanym 68k. I dodatkowo ze współdzielonymi wszelkimi peryferiami na SoC (audio, grafika, usb, ethernet ...)
Pamiętajcie, że największe ograniczenia teraz stanowi kasa i za słabo rozwinięta wyobraźnia. Za resztę zapłacisz master card ;)
[#4] Re: Emu68 - M68K na RaspberryPi
Bardzo fajna sprawa. Mamy wtedy bardzo szybką platformę 68k.
Tylko napisać sterowniki i jakiś mechanizm startowy dla OS 3.x...
[#5] Re: Emu68 - M68K na RaspberryPi

@abcdef, post #3

Drugi rdzeń może emulować Intela a trzeci zostać ARM-em dla RISC OS i np: gdyby z tego zrobić turbo do Amigi 1200. To mamy AmigaOS, Win98 i Acron-a pod prawym przyciskiem myszki. AGA i do tego jakieś VGA. Jak by się jeszcze udało dorzucić NeXstep-a to jest szał pał. Rpi można włożyć w trapdoor do A1200 i mieć fajne turbo tanim kosztem, na pewno coś więcej niż dostęp do samego chipu w A314. Tanio pewnie wyszło by sprzętowo bo Rpi nie jest drogie, bo oprogramować to, to pewnie trzeba by było się trochę napisać:)

Ostatnia aktualizacja: 19.11.2019 19:54:12 przez tWINpIX
[#6] Re: Emu68 - M68K na RaspberryPi

@tWINpIX, post #5

To tak niestety zawsze jest problem z softem, a w sumie na tym poziomie to nawet firmware. Tylko trzeba pamiętać - FPGA realizuje funkcjonalność w oparciu o tymczasową konfigurację uniwersalnych bloków. SoC jak Broadcom w RPi czy Allwinner H3/H5/H6 w OrangePi czy BananaPi jest w zoptymalizowanym krzemie i funkcjonalności nie zmieni, ale jest to znacznie tańsze i energooszczędne. Tylko łączenie RPi do Amigi to chybiony pomysł. Sam SoC poprzez pamięć podłączyć CPLD/FPGA (emulującym jednocześnie sygnały dla Amigi) jeszcze by miało sens, możliwe że coś takiego się z tego kiedyś wykluje. Ale to nie jest trywialne zadanie. Procesor w FPGA łatwiej połączyć z logiką Amigi niż zupełnie inny procesor z określonymi interfejsami dopasować.
[#7] Re: Emu68 - M68K na RaspberryPi
Mechanizmy JIT są/będą?
[#8] Re: Emu68 - M68K na RaspberryPi
Skoro Arm to ciekawe czy zadziałałoby na A4000 u mnie?
[#9] Re: Emu68 - M68K na RaspberryPi

@waldiamiga, post #7

z tego co czytałem to JIT jest
[#10] Re: Emu68 - M68K na RaspberryPi

@waldiamiga, post #7

Mechanizmy JIT są/będą?


JIT jest od samego poczatku. W zaleznosci od instrukcji m68k, trybu adresowania i aktualnego stanu emulatora instrukcja m68k moze wygenerowac od 1 do 40 instrukcji ARM. Jedna instrukcja w przypadku takich rzeczy jak moveq, add, sub itd, okolo 40 instrukcji przy fsin/fcos.
[#11] Re: Emu68 - M68K na RaspberryPi

@mschulz, post #10

Dzięki za info OK
[#12] Re: Emu68 - M68K na RaspberryPi
Jaką wydajność da się osiągnąć emulując mc680x0 na rpi w porównaniu do natywnego mc68060 i np. natywnego arm, amd x86-64 2ghz, amd apu a4-5300 3,4ghz ?
A czy dało by się zrobić emulację ppc na rpi ? Ale taką bez linuxa w rodzaju Rasbian czy Debian. Z jaką wydajnością ? Może wówczas szło by uruchomic AmigaOS4.1 albo byłoby do tego bliżej. Powinno się zrobić taką emulację, ale może to już jest tylko ja nie wiem np. Amiberry ?


Ostatnia aktualizacja: 20.11.2019 00:05:47 przez rgrg2
[#13] Re: Emu68 - M68K na RaspberryPi

@rgrg2, post #12

Emulowanie RISCowego mocnego PPC na energooszczędnym nie tak mocnym ARM ma niewiele sensu. Nawet na x86, które jest zwyczajnie mocniejsze od ARM emulacja PPC kuleje.
[#14] Re: Emu68 - M68K na RaspberryPi

@rgrg2, post #12

Jaką wydajność da się osiągnąć emulując mc680x0 na rpi w porównaniu do natywnego mc68060 i np. natywnego arm, amd x86-64 2ghz, amd apu a4-5300 3,4ghz ?


Nie wiem, w tej chwili mam tylko syntetyczne benchmarki, m.in. kawalek kodu wyrwany z SysInfo 3.x ktory liczy tak zwane Dhrystones (nie majace tak naprawde zwiazku z prawdziwym testem dhrystone) i MIPS. W tym wypadku wyniki prezentuja sie nastepujaco:

RasPi4: okolo 1417 MIPS (1358000 Dhrystones)
RasPi3b+: okolo 800 MIPS (765000 Dhrystones)
RasPi2: okolo 450 MIPS (432000 Dhrystones)

Transfery do RAM wygladaja nastepujaco (procedora testowa zapisuje w jednej petli pierwsze 100 MB RAM-u w raspberry):

RasPi4: 3900 MB/s
RasPi3b+: 1910 MB/s
RasPi2: 642 MB/s

Wyniki mozna porownac z tym co wypluwa z siebie amigowe SysInfo (ta sama procedura, tyle ze mierzy dokladniej bo wykonuje duzo wiecej iteracji niz wersja z SysInfo). Z tego co wiem 68060 osiaga cos w okolicach 50-70 MIPS, Vampire V4 ma okolo 160 MIPS.

Bardziej syntetyczny benchmark (procedura c2p od Hexmage'a) przeprowadzalem bardzo dawno temu. Moj JIT osiagnal wtedy mniej wiecej 630 MIPS, konwertujac obraz chunky o rozmiarze 25600x4800 pikseli w 0,6 sekundy.

W tej chwili poza poprawkami w FPU przygotowuje benchmark bardzo mocno obciazajacy koprocesor - bedzie to Path Tracer (ten sam ktorym testowalem SMP w AROSie: https://www.youtube.com/watch?v=WlhqZgMfUqg). Oprocz wersji przygotowanej dla Emu68 zamierzam wypuscic wersje dla AmigaOS. Jedyna roznica bedzie sposob liczenia czasu (timer.device vs system clock z peryferiow RasPi) i sposob rysowania (biblioteki systemowe vs bufor ramki w RasPi). Bedzie mozna porownac.
[#15] Re: Emu68 - M68K na RaspberryPi

@abcdef, post #6

Z tym Rpi to miało być że ARM jest tani ale myślałem o A314 i mi się pomyliło:) I napisałem Rpi. Ogólnie cpu ARM nie są drogie tak że HW i ewentualne koszty dev ze strony sprzętowej nie powinny być duże.

Ale jak np: jest z przenoszeniem kodu z C do FPGA. Bo to jest możliwie. I dajmy na to że ten EMU68K który teraz jest na ARM zapisujemy W FPGA a to z koleji łączymy z ARM który tylko liczy a za instrukcje i komunikację z Amiga jest odpowiedzialny FPGA.

Czyli ARM nie potrzebuje wtedy OS po swojej stronie tylko mamy Amigę<>FPGA<>ARM.

Gdyby się dało zamknąć emulator w FPGA to zamiast ARM można by dać i7 i witaj Amigo w XXI wieku

Ostatnia aktualizacja: 20.11.2019 09:07:33 przez tWINpIX
[#16] Re: Emu68 - M68K na RaspberryPi

@mschulz, post #14

Ja bym chciał by ci wszyscy zwolennicy Maliny zamiast tych fantastycznych cyferek z SysInfo (niedawno gdzieś widziałem 300 Mips, teraz już 1400) podali jakieś paktyczne zastosowania typu wynik np. w Quake z ClickBoomu itp. Te wyniki, gdyby je zestawić w wynikami SysInfo pod E-UAE np. na X5000, to wyglądają imponująco, tyle tylko że patrząc na inne testy, choćby te zawarte w programie SysMon, który zawiera w sobie wyniki kilku benchmarków dla różnych dziwnych platform od Wampira po Power 6, to tam Malina jednak odstaje od mojego kompa o kilka długości.

Tak więc pewnie dopiero seria testów praktycznych przeprowadzonych na oprogramowaniu użytkowym i grach, dałaby rzetelną odpowiedź, jak to z tą wydajnością emulacji klasyka na Malinie jest.
[#17] Re: Emu68 - M68K na RaspberryPi

@MUFA-amigaone-pl, post #16

Ja bym chciał by ci wszyscy zwolennicy Maliny zamiast tych fantastycznych cyferek z SysInfo (niedawno gdzieś widziałem 300 Mips, teraz już 1400)


Moj projekt jest na etapie tworzenia. To ze wraz z dodawaniem kolejnych technik optymalizacyjnych wzrasta wydajnosc jest chyba normalne, prawda? To ze Petunia pod OS4 tez nie byla od razu wydajnym emulatorem tez jest oczywiste.

podali jakieś paktyczne zastosowania typu wynik np. w Quake z ClickBoomu itp.


Jak Emu68 bedzie na tyle kompletne zeby uruchomic na nim AROS-a m68k na pewno przeprowadze kolejne testy i nie bede ukrywal wynikow niezaleznie od tego czy beda dobre czy zle.

tam Malina jednak odstaje od mojego kompa o kilka długości.


Nie musisz czuc sie zaatakowany, nie taki jest cel tego projektu.

Tak więc pewnie dopiero seria testów praktycznych przeprowadzonych na oprogramowaniu użytkowym i grach, dałaby rzetelną odpowiedź, jak to z tą wydajnością emulacji klasyka na Malinie jest.


Oczywiscie, zgadzam sie w pelni. Z tym ze Emu68 nie emuluje klasyka. Emu68 emuluje tylko i wylacznie sam procesor 680x0.
[#18] Re: Emu68 - M68K na RaspberryPi

@MUFA-amigaone-pl, post #16

Twój X5000 kosztuje 2000GBP, a malina 50. Gratuluję umiejętności logicznego myślenia.
[#19] Re: Emu68 - M68K na RaspberryPi

@mschulz, post #17

Dobra czyli co jest celem emulatora ? Odpalanie arosa 68k na RPi, zamiast budowania wersji dla ARMA ?

Ostatnia aktualizacja: 20.11.2019 12:10:48 przez Sventevith
[#20] Re: Emu68 - M68K na RaspberryPi

@Sventevith, post #19

Dobra czyli co jest celem, tego emulatora odpalanie arosa 68k na RPi, zamiast budowania wersji dla ARMA ?


Tak, to jedna z możliwości. Początkowo przygotowując port AROSa na ARM (w trybie BigEndian) nie byłem w stanie znaleźć emulatora którego licencja pozwalałaby na bezstresowe włącznie do AROSa, zacząłem więc tworzyć mój własny emulator. W czasie prac doszedłem do wniosku, że w sumie cały system mógłby pracować w trybie m68k o ile emulacja będzie odpowiednio wydajna.

Dlaczego tylko m68k? Bo moim zdaniem w obrębie 32 bitów to sensowna opcja - kod dla CPU motoroli można w tym wypadku potraktować jako formę pośrednią (cos jak bytekod javy albo .net) tłumaczoną w locie na kod natywny wykonywany na docelowej platformie. W ten sposób zniknęłyby główne bolączki AROSa - brak kompatybilności binarnej między różnymi wersjami i brak stałego ABI - bo wraz z m68k wróciłoby po prostu ABI klasycznego AmigaOS.

Innym celem może być na przykład wykorzystanie tego emulatora jako pewnego rodzaju karty turbo do klasycznej amigi. Wyobraź sobie procesor ARM podłączony do szyny A500 zamiast głównego CPU, który wykonuje kod m68k.

Możliwości jest zapewne jeszcze więcej. Projekt jest otwarty, na dość liberalnej licencji. Kto chce, skorzysta.
[#21] Re: Emu68 - M68K na RaspberryPi

@MUFA-amigaone-pl, post #16

Nie zwolennicy tylko użytkownicy. Poza tym porównujesz jabłka z pomarańczami (różne emulatory).
Raspberry pi to fajny i tani sprzęt (sam mam w domu 5 sztuk stałe używanych do różnych zastosowań) na którym można również emulować Amigę 68k. Nie robiłem szczegółowych benchmarków pod emulatorem ale mogę powiedzieć że na RPi 3 pod Amibianem jest szybko. Sysinfo na RPi 3 pod Amibianem pokazywało 150MIPS i 64MFLOPS. Spodziewam się że pod RPi 4 będzie jeszcze szybciej ze względu na sporo szybszy CPU i RAM.
[#22] Re: Emu68 - M68K na RaspberryPi

@mschulz, post #20

A jak podłączyć RPi do szyny procesora 68k? GPIO? Jaką teoretyczną prędkość ma szyna GPIO w RPi?
[#23] Re: Emu68 - M68K na RaspberryPi

@BuLa, post #22

A jak podłączyć RPi do szyny procesora 68k?


Nie RPi. Inny procesor ARM (sa takie z zewnetrzna szyna ktore mogly by zastapic m68k). To ze w chwili obecnej Emu68 testuje na raspberry winika z tego, ze mam takich malin kilka pod reka.
[#24] Re: Emu68 - M68K na RaspberryPi

@BuLa, post #22

Nie podłączysz, bo jest tych gpio nawet za mało. A także choć mogą machać szybko to nie wyrobiłyby się z reakcją. Przypomnę... nie licząc sygnałów kontrolnych masz 24 linie adresowe (32 w wyższych modelach) i 16 linii danych (32 w wyższych modelach). A sam port GPIO licząc razem z zasilaniem ma 40 pinów.
[#25] Re: Emu68 - M68K na RaspberryPi

@BuLa, post #22

Np. tak jak tu.
Projekt @mschulz będzie częścią składową mojego projektu, który w obecnej postaci jest poligonem doświadczalny dla tego typu akceleratora.

Ostatnia aktualizacja: 20.11.2019 13:49:01 przez spidi
[#26] Re: Emu68 - M68K na RaspberryPi

@mschulz, post #20

Faktycznie rozwój Arosa 68k zamiast kilku platform ma duży sens. Zasoby się nie rozpraszają.
Czemu prędkość działania AROSa 68k jest dużo słabsza od AOS 3.1 ?
[#27] Re: Emu68 - M68K na RaspberryPi

@mschulz, post #20

Dlaczego tylko m68k? Bo moim zdaniem w obrębie 32 bitów to sensowna opcja - kod dla CPU motoroli można w tym wypadku potraktować jako formę pośrednią (cos jak bytekod javy albo .net) tłumaczoną w locie na kod natywny wykonywany na docelowej platformie. W ten sposób zniknęłyby główne bolączki AROSa - brak kompatybilności binarnej między różnymi wersjami i brak stałego ABI - bo wraz z m68k wróciłoby po prostu ABI klasycznego AmigaOS.


I ten pomysł mi się podoba.
[#28] Re: Emu68 - M68K na RaspberryPi

@mschulz, post #17

Nie musisz czuc sie zaatakowany, nie taki jest cel tego projektu.


Nie muszę i nie czuję się zaatakowany, skąd taki niedorzeczny pomysł? Czyżby z chata eXeca? Po prostu byłem ciekawy innych wyników niz z SysInfo, których dla emulatorów Amigi na Raspberry nie łatwo można znaleźć na sieci. Atakowany to może byłem przez kolesia, ktory gratulował mi logicznego myślenia, tak jak bym nie wiedział ile kosztuje Mailna a ile X5000 i pytał nie o wydajnośc a o cenę. No ale przez 20 lat bytności na amisieci nauczyłem się ignorować głupawe zaczepki.

Tak więc czekam na testy z Quake, kiedy będzie to możliwe.
[#29] Re: Emu68 - M68K na RaspberryPi

@MUFA-amigaone-pl, post #28

Zbyt nerwowy jesteś, może mniej kawy?
tyle tylko że patrząc na inne testy, choćby te zawarte w programie SysMon, który zawiera w sobie wyniki kilku benchmarków dla różnych dziwnych platform od Wampira po Power 6, to tam Malina jednak odstaje od mojego kompa o kilka długości

Gdzie moja odpowiedź na to jest jakimkolwiek atakiem? Poza tym ja nigdzie nie nazwałem Ciebie "kolesiem" więc kto tu kogo prowokuje.
[#30] Re: Emu68 - M68K na RaspberryPi

@MUFA-amigaone-pl, post #28

Czyżby z chata eXeca?


Zbedna zaczepka, zupelnie nie na miejscu.

Po prostu byłem ciekawy innych wyników niz z SysInfo,


Wspominanie Quake tudziesz innych programow pod AmigaOS w przypadku projektu ktory jest tylko i wylacznie emulatorem CPU jest troche bez sensu.

Tak więc czekam na testy z Quake, kiedy będzie to możliwe.


Niedlugo (o wiele szybciej niz na przyklad taki quake) wyjdzie Path Tracer testujacy przede wszytkim FPU. Otwarte zrodla, nikt nie zarzuci mi stronniczosci, bedzie mial dwie wersje - jedna pod moj emulator, jedna pod AmigaOS. Bedziesz ja mogl uruchomic na UAE, na klasyku albo na OS4 za pomoca petunii.

Czy taki benchmark bedzie OK?
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