Komentowana treść: Apollo Phoenix - zapowiedź i zdjęcia
[#61] Re: Apollo Phoenix - zapowiedź i zdjęcia

@kwaku85, post #60

jak ktoś kiedyś zaimplementuje PPC w takiej karcie.


litości.
[#62] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #30

Proszę rozwinąć dlaczego Phoenix Core ma być nazywany emulatorem, a nie reimplementacją, klonem albo procesorem zgodnym na poziomie instrukcji z 68000. Z tego co jest napisane, to jest to całkowicie zbudowany od nowa procesor zgodny z 68000/coldfire, gdyby to była emulacja, to z definicji rdzeń procesora powinien jak najwierniej odwzorowywać działanie oryginalnego 68000 łącznie z jego mizerną wydajnością, a tak nie jest prędzej mu do nowej wersji procesora niż do emulatora. Poza tym FPGA niczego nie emuluje, tylko się tym staje, zasoby FPGA są jak surowiec, który kształtujesz na wybraną formę lub jak glina, która po ukształtowaniu i wypaleniu staje się naczyniem (glina nie udaje naczynia, choć jakbyś się uparł jak osioł, to tak mógłbyś powiedzieć), tego samego nie można powiedzieć o mikrokontrolerach, które właśnie udają jakieś urządzenie, ale żeby to robić, muszą wykonywać jakiś program. Najprostszym przykładem jest ostatnio popularny emulator stacji GOTEK. Mamy głupi nawyk nazywanie czegoś emulatorem sprzętowym tylko dlatego, że coś takiego już powstało.

Poważną różnicą pomiędzy FPGA a mikrokontrolerem jest to, że zawartość pierwszego, może posłużyć bezpośrednio do wyprodukowania układu w technologii ASIC, czyli w takiej w jakiej kupujemy układy ze sklepów, w przypadku drugim, nie ma takiej możliwości. FPGA może stać się mikrokontrolerem, ale mikrokontroler nigdy nie stanie się FPGA.

Uważam, że termin sprzętowy emulator jest po prostu terminem nieprecyzyjnym i źle stosowanym.
[#63] Re: Apollo Phoenix - zapowiedź i zdjęcia
Generalnie to chyba jakiś żart, albo majaczenie zaspanego marzyciela.

Jedynym sposobem aby to wszystko było możliwe, jest włożenie w miejsce procesora kompletnej Amigi i jeżeli ta karta powstanie, to tym właśnie będzie, ponieważ nie ma innej możliwości obejścia ograniczenia 2MB chipu jak zaimplementowanie tego w chipsecie, dodatkowo nie ma możliwości, aby jakikolwiek układ miał możliwość czytania danych tego co leży po stronie procesora, co tym bardziej potwierdza, że pamięć chip będzie na tej płytce, a co za tym idzie, również układ dźwiękowy i graficzny. Sama wzmianka o tym, że będzie AGA implikuje konieczność umieszczenia całej amigi na jednej płytce, wzmianka o HDMI świadczy, że grafika będzie generowana na płytce (patrz pamięć CHIP), inaczej musiałaby być jakaś wtyka pod Denise. Ale to nie koniec nieprawidłowości, gdyby nawet była wtyka pod Denise, to ilość kolorów i tak byłaby ograniczona do 4096, ponieważ DAC w A500 ma 12-bitów. Nie wspomnę już, że AGA to chipset korzystający z 32-bitowej szyny danych i do tego jest czyta z niej dwa razy szybciej (czyli np Alice w A1200 jest 4 razy szybsza od Denise), jeśli nawet ktoś połączy to przez mostki 16-32 bit, to dochodzi jeszcze fakt, że cykle pamięci CHIP w A500 są oparte na zegarze 7MHz a nie 14MHz, co będzie tylko oznaczało, że zyskamy AGA tak samo szybkie jak OCS/ECS tylko z większą ilością trybów graficznych, które będą nieużywalne przy takiej prędkości, jeśli natomiast będzie CHIP na karcie, to OK (tylko jak już wspomniałem, wszystko, co korzysta z CHIP musi też być na tej karcie.

Podsumowując, jeśli coś takiego wyjdzie, to nie będzie to nic innego jak minimig z szybkim procesorem wkładany w slot CPU, a sama amiga będzie robiła za interfejs myszki, klawiatury i joysticka. Nie żebym się czepiał, albo był przeciwny, ale pomyślcie sami jak to wygląda, gdy się wpina Amigę w Amigę Obrazek recedenta dotyczący podłączania A1200 jako turbo do A600 chyba straci na sarkaźmie :)
[#64] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sanjyuubi, post #62

Poważną różnicą pomiędzy FPGA a mikrokontrolerem jest to, że zawartość pierwszego, może posłużyć bezpośrednio do wyprodukowania układu w technologii ASIC, czyli w takiej w jakiej kupujemy układy ze sklepów, w przypadku drugim, nie ma takiej możliwości. FPGA może stać się mikrokontrolerem, ale mikrokontroler nigdy nie stanie się FPGA.


Być może masz rację, ale w tym sporze moim zdaniem nie ma żadnego znaczenia czy według przez ciebie przyjętej definicji FPGA jest emulatorem czy nie jest.

Jaką wartość ma dla zwykłego użytkownika jakaś abstrakcyjna, teoretyczna możliwość skonsturowania fizycznego układu z kodu siedzącego w FPGA? Po prostu najczęściej w grę wchodzą dwa przeciwstawne podjeścia - albo chcesz obcować z prawdziwą Amigą (bo np. masz fetysz starego plastiku albo jara cię sama świadomość, że w środku siedzą prawdziwe chipy) albo po prostu chcesz uruchamiać szybko amigowe programy, w czym doskonale spełnia się WinUAE. Taka "trzecia droga" w postaci FPGA ani nie jest nawet w przybliżeniu tak szybka jak WinUAE, a z drugiej strony nie daje poczucia obcowania z prawdziwym sprzętem fetyszystom, jakkolwiek irracjonalne to poczucie by nie było. Choćby nie wiem jakie konstrukcje myślowe budować aby nie nazwać tego emulatorem, reimplementacja w FPGA zawsze będzie tylko namiastką "real thing", nawet jeśli ktoś będzie się upierał, że "nieemulatorową".
[#65] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #64

Jaką wartość ma dla zwykłego użytkownika jakaś abstrakcyjna, teoretyczna możliwość skonsturowania fizycznego układu z kodu siedzącego w FPGA


Ano taką, że wypowiadanie się w temacie bez jakiegokolwiek przygotowania merytorycznego, jest przejawem zwykłej ignorancji. Już samo to, że napisałeś, że w FPGA siedzi kod, świadczy o tym, że nie wiesz o czym mówisz. FPGA jest tym czym jest płytka prototypowa, czyli platformą służącą do przetestowania układu zanim zlecisz go do produkcji w formie stałego krzemu, którego już nie zmienisz, jest tym samym czym kość flash z wgranym kickstartem względem ostatecznej kości ROM wytrawionej na stałe w krzemie, a to że FPGA znalazło zastosowanie w innych dziedzinach to inny temat. Wsad do FPGA nie jest żadnym kodem, tylko jego konfiguracją, proszę nie mylić kodu napisanego w VHDLu z językiem programowania, ponieważ jest to tylko opis funkcyjny układu, tak samo jak HTML jest językiem opisowym, a nie programowania.


albo chcesz obcować z prawdziwą Amigą (bo np. masz fetysz starego plastiku albo jara cię sama świadomość, że w środku siedzą prawdziwe chipy


Mylisz pojęcia, jeśli ktoś zbuduje coś co działa tak samo, albo i nawet lepiej od pierwowzoru to nie znaczy, że ta rzecz jest emulatorem, bo wg Twojej definicji, każdy PC jest emulatorem pierwszego IBM PC, każdy samochód jest emulatorem pierwszego samochodu Gottlieb Daimlera, świetlówka jest emulatorem żarówki, dioda led jest emulatorem żarówki, chińskie podróbki nie są podróbkami tylko emulatorami, a wymieniać można w nieskończoność.

Między klonem, a emulatorem jest jednak różnica. W FPGA wszystko działa fizycznie tak się to opisze, dokładnie tak jakbyś budował wszystko z krzywek i trybików, i tak jak te trybiki się będą potem naprawdę obracać, a nie udawać że się obracają, tak w FPGA będzie się wszystko działo naprawdę, a nie udawało.

Jeżeli jednak dla zwykłego użytkownika nie ma znaczenia ta abstrakcja (której w FPGA nie ma), to po co zabrałeś głos w #30 poście?
[#66] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #64

A właściwie to... człowiek coś za dużo myśli po nocach
[#67] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sanjyuubi, post #66

Ano taką, że wypowiadanie się w temacie bez jakiegokolwiek przygotowania merytorycznego, jest przejawem zwykłej ignorancji. Już samo to, że napisałeś, że w FPGA siedzi kod, świadczy o tym, że nie wiesz o czym mówisz.


Napisałeś bardzo dużo epitetów pod moim adresem o zerowej wartości merytorycznej. W FPGA nie siedzi kod? To ciekawa opinia, ale obawiam się, że jesteś w niej odosobniony:

http://en.wikipedia.org/wiki/Hardware_description_language

A hardware description language looks much like a programming language such as C; it is a textual description consisting of expressions, statements and control structures. One important difference between most programming languages and HDLs is that HDLs explicitly include the notion of time.


Oczywiście da się na siłę zbudować definicję kodu tak, żeby wykluczyć HDL i podciągnąć ją pod twoją tezę, ale nie o to tutaj chodzi, prawda?

To bardzo miłe że potrafisz się pochwalić, że rozróżniasz języki które bazują na control flow od języków bazujących na data flow, ale jak już pisałem - dla użytkownika zainteresowanego tylko "real thing" nie ma to znaczenia czy czyjś emulowany układ będzie emulowany przez taki czy inny rodzaj kodu. Dla niego to nadal będzie tylko emulator.
[#68] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #67

Oczywiście da się na siłę zbudować definicję kodu tak, żeby wykluczyć HDL i podciągnąć ją pod twoją tezę, ale nie o to tutaj chodzi, prawda?


Przeczytałeś w ogóle artykuł który linkujesz? Jeśli nie rozumiesz różnicy, to spróbuje ją wyjaśnić na przykładzie kompilacji programu oraz przygotowania wsadu do FPGA.

Program komputerowy (np. rdzeń emilacji 68000 w UAE):
Kompilacja -> asemblacja -> linkowanie -> kod wynikowy do wykonania przez procesor dla którego była wykonywana kompilacja (np. x86)

Wsad do FPGA (np. core 68k w Vampire 600):
Analiza -> synteza -> mapowanie -> place & route -> opis sprzętu w formacie binarnym, do załadowania do FPGA dla którego generowano wsad

Różnica jest dramatyczna, w przypadku nr 1 dostajemy coś co jest kodem maszynowym, który musi zostać wykonany przez procesor, w wyniku tego wynikania będziemy mogli programowo emulować procesor 68000, a w przypadku nr 2 dostajemy... procesor 68000! Nie jakiś kod który udaje procesor 68000, tylko procesor 68000. To na ile on jest kompatybilny z oryginałem, to inna sprawa.

cafe

Może dla użytkowników nietechnicznych pojęcie "emulator sprzętowy" jest bardziej zrozumiałe (przez analogię do emulacji programowej, z którą pewnie większość ma styczność), niż "reimplementacja" (ciężko wymagać używania słowa, którego znaczenia się nie rozumie).


Ostatnia aktualizacja: 24.07.2014 12:51:43 przez strim_
[#69] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #67

W FPGA nie siedzi kod? To ciekawa opinia, ale obawiam się, że jesteś w niej odosobniony


Przeczytałeś w ogóle linijkę, którą zacytowałeś? Miło, że próbowałeś się na chwilę zagłębić w temat, ale zbyt głęboko nie doszedłeś. Potwierdziłeś tylko, ze HDL nie jest językiem programowania, czego pewnie nie zauważyłeś? Wielu ludzi uważa CPLD/FPGA za pewnego rodzaju procesor, co jest nieprawdą. Nawet żeś nie pofatygował się poczytać o FPGA w którym jestem odosobniony: http://pl.wikipedia.org/wiki/Field_Programmable_Gate_Array zwłaszcza następującej linijki:

Aby zdefiniować zachowanie układu FPGA używa się języka opisu sprzętu takiego jak Verilog czy VHDL. Następnie przy pomocy narzędzi syntezy generuje się listę połączeń, która potem w procesie implementacji jest odwzorowywana w konkretnym układzie. Należy zwrócić uwagę, że proces syntezy dopuszcza tworzenie układów logicznych dowolnych rozmiarów, podczas gdy proces implementacji jest próbą wpisania go do konkretnego układu FPGA, gdzie może zabraknąć zasobów do realizacji zadanej logiki. Do zaprogramowania układu FPGA służy plik binarny, który zawiera informacje o konfiguracji układu.


Rozróżniasz (lista połączeń != kod) ?

Wsad od FPGA/CPLD to konfiguracja do LUTów/makroceli, nie ma tam ani jednego polecenia.

http://www.xilinx.com/support/documentation/application_notes/xapp444.pdf - strona 2, wsad do CPLD to właśnie konfiguracja tych czerwonych kropek. FPGA ma inną konstrukcję elementów logicznych niż cpld, ale zasada i efekt końcowy są te same.

Jeżeli napiszesz program, który udaje jakiś sprzęt, to jest to na bank emulator, ale jeśli zbudujesz sprzęt, to dlaczego miałby to być emulator, a nie klon, replika, czy reimplementacja albo zwykła podróbka?



Ostatnia aktualizacja: 24.07.2014 13:38:49 przez sanjyuubi
[#70] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #67

gdyby mieć pełną dokumentację OCS i 68000 można by z niej zrobić idealnie działającą ze 100% kompatybilnością kopię w FPGA.

Gdybyś to samo chciał zrobić na procesorze CPU musiałbyś użyć nie emulatora tylko symulatora układów logicznych i wydajność takiego czegoś byłaby tragiczna. Wątpię czy na i7 można by uruchomić z dobrą prędkością Commodore 64 a co dopiero Amigę
[#71] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sanjyuubi, post #69

Rozróżniasz (lista połączeń != kod) ?



Tak, rozróżniam. W tym zakresie masz oczywiście rację, kod nie jest tam wykonywany, mamy tu do czynienia jedynie z opisem konfiguracji układu. Ta konfiguracja decyduje o tym, jaki układ Jest w danej chwili "emulowany" (według ciebie - jakim układem FPGA się "staje"). I z tego co rozumiem, głównie z potocznym znaczeniem tego słowa się nie zgadzasz. Bo potocznie mówi się o tym emulator - zajrzyj tu http://en.m.wikipedia.org/wiki/Emulator i poszukaj "FPGA".

I nie chcę się spierać o to, czy mówiąc "emulator" o FPGA mówi się prawidłowo czy nie, tak się po prostu potocznie mówi. Być może błędnie. Ale to, co z twojego punktu widzenia jest wielkim błędem, z punktu widzenia normalnego użytkownika może być już dzieleniem włosa na czworo.

Ta twoja walka z nazywaniem FPGA emulatorem przypomina mi troche moje protesty przeciwko nazywaniu Amigi "klasykiem". Tak się po prostu mówi w niektórych kręgach i tyle, w końcu dałem sobie z tym spokój. Tobie też proponuję, zaoszczędzisz sobie trochę nerwów. Po prostu pogódź się z tym, że FPGA jest uważane przez laików (czyli 99% ludzi) za pewien rodzaj emulatora.
[#72] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #71

Więc trzeba uświadomić tych 99% laików że są w błędzie, a nie dalej twierdzić że 99% laików ma racje. Ale przecież Classic Amiga ma dużo wspólnego z FPGA, bo można ją odtworzyć w FPGA za kilka lat albo dekad powstanie skrót Classic FPGA tak jak powstał zwrot Amiga Klasyczna.

Co do Wikipedii to tworzą ją ludzie, w praktyce jest to pewnie 99% laików pomyśl że jest tylko jeden procent nie laików i oni nie nadążają z poprawianiem tych 99% laików.
[#73] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #71

Nazwanie FPGA emulatorem jest śmieszne - przecież ta technologia jest używana jest przede wszystkim do budowy nowych urządzeń (podobno pierwsze karty Riva były oparte właśnie na tej technologii). Co powiesz na taki przypadek, że mając rozrysowany schemat ZX-Spectrum na pojedyncze bramki robi się jego implementacje w układzie FPGA? Jest on odtworzony w 100% - czy to jest emulator? A jak zrobi się to samo przy użyciu fizycznych układów TTL (istnieje taki projekt, nazywa się Harlequin) to już nie jest emulator? Schemat jedynego układu specjalizowanego ULA z ZX-Spectrum rozrysowano stosując inżynierię wsteczną (np. zdjęcia rentgenowskie - The Book Of ULA) - teoretycznie dało by się to pewnie zrobić z układami Amigi - jednak była by to katorżnicza praca.

Więc moim zdaniem wszystko jest kwestią dostępności dokumentacji - w momencie gdy układ jest w 100% odtworzony w FPGA to już jest jego implementacja w innej technologii - nadal można było by się bawić i zrobić to wszystko na bramkach logicznych, a idąc dalej - na tranzystorach :).
[#74] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #71

Gdybyś chociaż czytał zawartość linków, które podsyłasz, to byś przynajmniej nie wyglądał jak seryjny wklejacz linków, już na samym początku jest napisane:

In computing, an emulator is hardware or software or both that duplicates (or emulates) the functions of one computer system (the guest) in another computer system (the host)


czyli
"Emulator to szprzęt lub program, który duplikuje (lub emuluje) [lol] funkcje jednego systemu komputerowego w innym systemie komputerowym"


Nie będę chyba rozwijał, że autor tego stwierdzenia sam nie jest pewny czy dobrze pisze (duplikacja czy emulacja), ale zakładając, że to taka mała chwila słabości, wychodzi nam na jaw bardzo ważna rzecz, cytuję jeszcze raz:

"duplikuje (lub emuluje) [lol] funkcje jednego systemu komputerowego w innym systemie komputerowym"


czyli emulator do działania potrzebuje środowiska komputerowego, żaden emulator sprzętowy, nawet jeśli napisali tam FPGA-based, nie był samodzielnym urządzeniem i potrzebował działającego systemu operacyjnego na komputerze "host" i uruchomionego programu (emulatora), który się tym sprzętem wspomagał, stąd razem z oprogramowaniem, które z niego korzystało tworzył tkzw. emulator sprzętowy.

Podany przez ciebie odnośnika zamiast wspierac twoją teorię, to jeszcze bardziej ją pogrążył. Zgodnie z definicją na początku strony, procesor 68000 w FPGA nie jest żadnym emulatorem, nawet amiga w FPGA nie jest żadnym emulatorem, bo nie potrzebuje żadnego systemu komputerowego do działania.

Wiem, że nie ma czegoś takiego jak Amiga klasyczna, ale ciesz się, że nie mówią na nią PC-et, mimo że nim jest :)

Poza tym nie mam zamiaru ulegać 99% tumanów, tak się rodzi ciemnota zaściankowa, rozwój internetu zapoczątkował czas odmóżdżania i kto wie, czy nie doczekamy się jeszcze podważenia geometrii Ziemi, strachu przed gniewem boga słońca podczas zaćmienia, albo powrotu do polowania na czarownice. Wizja z matrixa nie jest już taka nierealna.

Ostatnia aktualizacja: 24.07.2014 23:12:43 przez sanjyuubi
[#75] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sanjyuubi, post #74

Zgodnie z definicją na początku strony, procesor 68000 w FPGA nie jest żadnym emulatorem


Okej, mogę się zgodzić z tym, że nie jest emulatorem. Ale nie jest też prawdziwym procesorem 68000, tylko jego reimplementacją. Z tym, że reimplementacja jednak czymś się różni od prawdziwego procesora chyba jednak się zgodzisz? A to, czy ta różnica ma dla kogoś znaczenie czy nie jest już sprawą subiektywną.

Dlatego stawiam tezę: reimplementacja != real thing.

Oczywiście ty się z tym nie zgodzisz, bo dla ciebie układ FPGA po wyposażeniu go w odpowiedni config "staje się" 68000, co rozumiem i masz prawo do takiej opinii plus całkiem sporo argumentów na jej poparcie.

Ostatnia aktualizacja: 25.07.2014 00:15:10 przez jubi
[#76] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #75

Tutaj panie, czy ktoś już uważa reimplementację lub inaczej, zbudowany od nowa procesor jest prawdziwy czy nie podchodzi pod tkzw. x-filizm polegający na indywidualnym odczuwaniu wrażeń i wyciągania wniosków niekoniecznie mających pokrycie w rzeczywistości. A Ty nie widzisz procesora 68000 jako fizycznego mechanizmu tylko przez pryzmat gorącego uczucia pałającego do starego kawałku krzemu wyprodukowanego w latach 90, tak jak audiofile pałają do lampowych wzmacniaczy albo gramofonów z wałkiem woskowym. Nie wiem dlaczego wg Ciebie procesor w ASIC jest bardziej realny niż procesor w FPGA, którego wykonujesz hardcopy i masz to samo, różnica jest taka sama jak pomiędzy pamięcią RAM albo FLASH i ROM. Jeżeli wyhodujesz człowieka z próbówki, to będzie to jak najbardziej prawdziwa i żywa istota, mimo, że niektórym nawet coś takiego przez myśl nie przyjdzie, a wielu nie będzie w stanie nawet zaakceptować.

Dodam jeszcze, że nawet trudno nazwać Phoenix Core kopią 68000 albo zwykłą re-implementacją, prócz kompatybilnego zestawu instrukcji ten procesor architekturą w niczym nie przypomina i nie miał z założeń przypominać w niczym 68000, harwardzka architektura pojawiała się w 040, jest cache, którego 68000 nie ma, zoptymalizowany pipeline, interfejs pamięci i wyliczać można w kółko, jest po prostu całkowicie nowym procesorem zgodnym z 68000 i nic więcej, a nazywa się Phoenix a nie 68000.

Osobiście szlag by mnie trafił, gdybym wykonał sobie procesor i357 z zoptymalizowanym do bólu rdzeniem, a ktoś nazwał to emulatorem i7 i nieprawdziwą rzeczą.

Ostatnia aktualizacja: 25.07.2014 01:39:58 przez sanjyuubi
[#77] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sanjyuubi, post #74

Tak, tak... ale to dotyczy (co wyraźnie napisano) "in computation"!
Jeśli chodzi o emulację zasobów sprzętowych (a nie konkretnie jednego systemu komputerowego na innym) to trzeba czytać
http://en.wikipedia.org/wiki/Hardware_emulation
Baaa... nawet posiadanie odpowiedniego kawałka krzemu nie oznacza, że przestaje być emulacja. Przykład karty z x86 dla amigi. To nadal była emulacja, tyle że w tym przypadku odbywało się przez dedykowany sprzęt. Emulowany był system, nie procesor (bo ten akurat był fizyczny) czyli odpowiednio mapowane zasoby sprzętowe amigi by "emulowany" PC mógł z nich korzystać. Apollo nie emuluje procesora. Jest procesorem Apollo tyle tylko, że zaimplementowanym w FPGA. Natomiast tak czy siak emuluje 68k.
[#78] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #75

Czyli jednak reimplementacja != emulacja - krok zrobiony w dobrą stronę - trzeba siać, siać, siać :).

A co powiesz na to, że np. Motorola (albo może już Freescale) wydaje procesor 68000 w innej technologii z przekonstruowaną strukturą układu, bardziej energooszczędną, tak jak to miało miejsce w przypadku ostatnich wersji 68000 stosowanych m.innymi w Minimigu (3,3V wersja MC68SEC000). Czy to jest nadal procesor 68000, jego reimplementacja czy może emulacja? :) Podobne przykłady można mnożyć - podobnie jest np. z Z80 Ziloga, które też jest w nowej wersji, używanej m.innymi w Speccy2010.
[#79] Re: Apollo Phoenix - zapowiedź i zdjęcia

@gorzyga, post #78

A ja bym się pokusił o wsadzenie do FPGA takiego komputerka lub zmodyfikowanego 68000
sharp X6800-68030 Zamiast SuperAGA, może układ graficzny z Sharpa. Wiem i tak nic z tego.
[#80] Re: Apollo Phoenix - zapowiedź i zdjęcia

@abcdef, post #77

Natomiast tak czy siak emuluje 68k.


mozna nawet powiedziec, ze 68000 jest emulowany przez 68010, ktory jest emulowany przez 68020 itd. , czyli kazdy kolejny procesor z rodziny to emulacja poprzedniego plus cos tam.
[#81] Re: Apollo Phoenix - zapowiedź i zdjęcia

@jubi, post #67

na HDL wystarczy spojrzec jak na projekt, schemat na desce ukladu itp..., a FPGA jest tutaj w zamysle srodowiskiem do testow..., czyli taka plytka z przymocowanymi elementami i stosem drucikow za pomoca ktorych mozna poszczegolne elementy polaczyc ze soba tworzac uklad. Rozwoj FPGA zmniejszyl koszty i zwiekszyl mozliwosci dajac nowe pole do wykorzystania np: ów procesor Apollo kompatybilny w jakims stopniu z 68k.
[#82] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sigma2pi, post #80

Tak, tak... to jeszcze raz napiszę - 68000 tranzystorów kontra kilka milionów.
[#83] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sigma2pi, post #81

Na marginesie.
Z FPGA korzystaja wielkie firmy, lacznie z Intelem, Nvidia, AMD, Qualcomm, Mediatek itd., a tu taka ciekawostka, ze nie trzeba miec miliardow Intela zeby zrobic procka itd. dzieki mozliwosciom jakie daje FPGA.

tak wyglada w FPGA prototyp procesora MCST R1000 z 2010r kompatybilny z zestawem instrukcji (ISA) Sparc V9




a tak przeniesiony prototyp do ASIC, wlasciwie jego 4 sztuki..., jezeli dodam, ze kosztowalo to niewielki ulamek tego co przeznacza Intel na budowe procka to robi sie ciekawie. O ile dominacja Intela w ISA x86 jest niepodwazalna to w przypadku 68k droga jest wolna ...

[#84] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sigma2pi, post #83

Freescale też prototypuje w FPGA co nie zmienia faktu, że finalnie procek produkuje jako fixed logic. Idąc za przytoczoną dużo wcześniej analogią - chcesz ceramiczny kubek, bierzesz glinę (fpga), lepisz kubek (synteza) i jak ma odpowiedni kształt to wypalasz (przenosisz w fixed logic oszczędzając powierzchnię i tranzystory i mogąc użyć większych częstotliwości). Jak zostaniesz na etapie gliny to nadal możesz się z takiego tworu napić jest to więc naczynie pełniące tą samą rolę co kubek i zewnętrznie tak samo wyglądające. Ale elastyczność jest okupiona ceną.
[#85] Re: Apollo Phoenix - zapowiedź i zdjęcia

@abcdef, post #84

Świetnie wytłumaczone.OK
[#86] Re: Apollo Phoenix - zapowiedź i zdjęcia

@abcdef, post #77

No właśnie, trzeba czytać!

Już na samym początku tekstu z Twojego odnośnika następuje wykluczenie karty x86 jako emulatora:

Sometimes hardware emulation can be confused with hardware devices such as expansion cards with hardware processors that assist functions of software emulation, such as older daughterboards with x86 chips to allow x86 OSes to run on motherboards of different processor families.


Natomiast dalej jest opisana różnica pomiędzy emulacją, a prototypowaniem w FPGA:

A key traditional distinction between an emulator and an FPGA prototyping system has been that the emulator provides a rich debug environment, while a prototyping system has little or no debug capability and is primarily used after the design is debugged to create multiple copies for system analysis and software development.had a number of limitations, primarily due to the difficulty of accessing signals. New tools that enable full RTL signal visibility with a small FPGA LUT impact, allow deep capture depth and provide multi-chip and clock domain analysis are emerging to allow efficient debug, comparable to the emulator.



Natomiast tak czy siak emuluje 68k.


Jasne. Czyli nauka poszła w las. Od kiedy to wykonanie urządzenia zgodnego z jakimś standardem czyni je emulatorem? Jeżeli procesor Phoenix emuluje 68000, to znaczy, że wykonuje jakiś program? Jakimi innymi instrukcjami prócz tymi z 68000 dysponuje Phoenix?

A wspominając o reimplementacji, to indivisionECS jest reimplementacją Denise, nie całkowitą, bo jakichś tam pierdół nie obsługuje, przez co trzeba wkładać oryginalną Denise do komputera. Ale nie jest to też taka sobie zwykła reimplementacja, bo oferuje więcej niż sama Denise m.in. ma własny bufor i tryb chunky, przez co może być użyta jako słaba karta graficzna. DOOM wygląda ładniej i działa szybciej, taka Denise powinna być w Amidze od początku :)

Tak swoją drogą, jeśli projekt miał być komercyjny, to podejrzewam, że miał oferować zgodność instrukcji na poziomie 060+wszystkie instrukcje z 68000 jak w NATAMI, a że coś nie wypaliło, to dostajemy potwora technicznie lepszego od 060, ale z ograniczonym zestawem instrukcji do 68000 (demo?). Tak przynajmniej przypuszczam, ponieważ dziwnie to wygląda, gdy ktoś konstruuje procesor w podobnej technologii jak 060 a daje taki biedny zestaw instrukcji. Gdyby dodali zgodność z 060, to mogliby wypuścić to jako coś w stylu 68200, albo sprzedawać w fpga, które mają wbudowaną pamięć flash za np. 25E. Aż dziw, że nie dobili targu z Jensem!!!!

Ostatnia aktualizacja: 25.07.2014 23:16:07 przez sanjyuubi
[#87] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sigma2pi, post #83

O ile dominacja Intela w ISA x86 jest niepodważalna to w przypadku 68k droga jest wolna ...


Kurde, tego właśnie brakowało Amidze i sprawiało, że procesory PPC były właściwie obce. Gdyby PPC było zgodne z M68k, tak jak x86 jest teoretycznie dalej zgodne z x386, to wszystko potoczyłoby się w bardziej eleganckim stylu, a wielu nie czułoby się w tyłek kopniętych, gdy kupowali karty z PPC, a potem się okazywało, że tylko 060 wyciska siódme poty. Fakt, że PPC jakoś się tam wpisało w historię Amigi, ale jest on takim trochę przybłędą przygarniętym przez nasze środowisko.

A właściwie, czy hybryda PPC+68000 w jednym układzie to nie byłby procesor idealny, który zniszczyłby mur między obozem 68k i PPC?
[#88] Re: Apollo Phoenix - zapowiedź i zdjęcia

@sanjyuubi, post #86

Już na samym początku tekstu z Twojego odnośnika następuje wykluczenie karty x86 jako emulatora:

Nie. Bez tej karty można emulować PC całkowicie programowo z prędkością ciężarnego ślimaka używając zupełnie oddzielnej aplikacji. Tutaj masz kartę z firmware który bezpośrednio pozwala przełączyć się na zupełnie inny system. Jest to emulator, przy czym w tym momencie sam procesor 286 jest "assisting device" natomiast urządzenie - owszem, sprzętowym emulatorem. Tak samo w niektórych modelach PS3 masz sprzętową emulację PS2, bo w środku jest częściowo chipset tego modelu - reszta jest uzupełniana programowo. I nikt nie twierdzi, że EE w PS3 jest sprzętowym emulatorem, natomiast takową emulację wspiera. W kolejnych modelach Sony uszczupliło EE i przeniosło więcej na soft, a wreszcie całkiem zrezygnowało ze sprzętowego wsparcia.
while a prototyping system has little or no debug capability and is primarily used after the design is debugged to create multiple copies for system analysis and software development.

Bardzo ciekawe biorąc pod uwagę to na zakończenie:
New tools that enable full RTL signal visibility with a small FPGA LUT impact, allow deep capture depth and provide multi-chip and clock domain analysis are emerging to allow efficient debug, comparable to the emulator

Od kiedy to wykonanie urządzenia zgodnego z jakimś standardem czyni je emulatorem?

Od zawsze udawanie jednego układu przez inny czyni go emulatorem. FPGA to nie 68k, ani x86, ani ARM, ani PPC. A można go przystosować by funkcjonalnie robił to samo. Ot przez wgranie odpowiedniej konfiguracji. Możesz syntezować dla różnych FPGA i przesuwać po fizycznych blokach i nadal będzie działać (mniej lub bardziej stabilnie, ale będzie). Dlatego jest to nazywane softcore mpu. Z drugiej strony nie takie rzeczy już były, których nikt emulatorami nie nazwał. Najprościej będzie sięgnąć do choćby Transmeta crusoe, wewnętrzna architektura VLIW czyli coś zupełnie innego od CISC x86, a jednak przez specjalny dekoder (a w zasadzie więcej niż dekoder) procesor wykonywał x86. Tak samo zresztą K5 mające w sobie rdzeń RISC AM29000. I w tym wypadku nikt nie nazywał tego emulatorem x86. Ale emulacja JIT była tam obecna :)
Jakimi innymi instrukcjami prócz tymi z 68000 dysponuje Phoenix

Cyclone V nie dysponuje żadnymi (sprzęt), softcore Apollo dysponuje 68k.
ale z ograniczonym zestawem instrukcji do 68000

Jak pisałem wcześniej skoro oferuje wykonywanie kodu 68k i coldfire to musi przynajmniej dysponować zestawem zgodnym z CPU32 czyli mniej więcej poziom 020.
Natami nie posiada samo w sobie zgodności 060, a jedynie jak takową kartę z tym procesorem (drogi, ciężki do dostania) włożymy. IMHO bezsens się w to pchać, skoro wystarczyłaby zgodność z 040 + wszystkie obecne ficzery by przegonić dość mocno 060 nawet te kręcone do 100MHz. Rzecz w tym, że ten softcore nie wspiera obecnie ani MMU, ani FPU. Może kiedyś coś się rozkręci, ale jeszcze nie teraz. Inna sprawa - do A500 czy 2000 to i tak licząc nawet 020-like z tymi możliwościami dałoby ogromne przyspieszenie - tylko do czego? Na ECS ciężko w coś "ambitnego" pograć, może stąd "superAGA"?
[#89] Re: Apollo Phoenix - zapowiedź i zdjęcia

@abcdef, post #88

Wiem że dużo osób gra na Amidze i nie wykorzystuje jej do innych celów, ale przecież zawsze można pograć na PT-1210 Mk1 i czy ten program nie będzie działał szybciej z zastosowaniem tej karty turbo i na pewno znajdzie się jeszcze jakaś inny Soft który wykorzysta takie nowe Turbo.

Na pewno dużo osób śledzi ten wątek, dlatego nie chciał bym napisać nic głupiego. Co do tego czy to jest emulacja czy nie , to można to porównać do... co może nie jest związane z tym tematem w 100% ale...

To jeśli jakaś firma zbuduje Replikę Samochodu to jest to samochód i można nim jeździć i nazywają go Repliką. Czemu bo jest to oryginalna konstrukcja odtworzona na innej ramie z innych części. Może Repliką daleko do oryginału ale nie nazywają ich Emulatorami bo nie udają Samochodów tylko nimi są.

I własnie w przypadku tej karty turbo nie można by nazwać tego procesora Repliką.

Wtedy nie musieli byście się dłużej spierać i mogli byście wspólnie stwierdzić że jest to Replika.
[#90] Re: Apollo Phoenix - zapowiedź i zdjęcia

@abcdef, post #88

Nie. Bez tej karty można emulować PC całkowicie programowo z prędkością ciężarnego ślimaka używając zupełnie oddzielnej aplikacji. Tutaj masz kartę z firmware który bezpośrednio pozwala przełączyć się na zupełnie inny system. Jest to emulator, przy czym w tym momencie sam procesor 286 jest "assisting device" natomiast urządzenie - owszem, sprzętowym emulatorem. Tak samo w niektórych modelach PS3 masz sprzętową emulację PS2, bo w środku jest częściowo chipset tego modelu - reszta jest uzupełniana programowo. I nikt nie twierdzi, że EE w PS3 jest sprzętowym emulatorem, natomiast takową emulację wspiera. W kolejnych modelach Sony uszczupliło EE i przeniosło więcej na soft, a wreszcie całkiem zrezygnowało ze sprzętowego wsparcia.


Ale nie chodziło o to, że bez karty emulacja nie będzie działać, tylko że ta karta wg definicji nie jest sprzętowym emulatorem. Emulate znaczy po angielsku udawać, ale że by nastąpiła czynność udawania, to element/urządzenie/system operacyjny musi mieć oryginalnie inne przeznaczenie, bo jeśli robi to do czego został stworzony, to nie jest emulacja (udawanie). Czyli emulator zawsze pracuje w jakimś środowisku, biorąc to pod uwagę można określić, że amiga+karta z procesorem x286 + VGA to emulator (amiga wraz z kartą udają PC), Hxc i Gotek są emulatorami ponieważ wraz z pendrivem i obrazami dysków udają stację dysków do której włożona jest dyskietka, Ultimate1541 to połączenie emulatora z reimplementacją, ponieważ cała elektronika stacji dysków do C64 została odtworzona w FPGA, ale mechaniczne cześć jak silnik, głowica i dyskietka są wirtualnie emulowane wewnątrz FPGA.

Natomiast co do PS3 i PS2, to występuje tam jak najbardziej emulacja, nie wgłębiałem się w PS3, ale w starszych modelach PS2 niektóre układy, które pracowały sobie w trybie PS2 (nie pamiętam, które) zmieniały swoją rolę w trybie PSX, nie wiem czy sprzętowo cała konsola zamieniała się PSX, czy było to wspomagane programowo, później wersje slim, emulowały już chyba PSX całkowicie programowo.

Poza tym 040 i 060 już nie są wcale takie zgodne z 68000 i wymagają bibliotek emulujących brakujące instrukcje, ale nikt tych procesorów nie nazywa jakoś emulatorami 68000, 040 to nawet nie ma pełnego FPU którego cześć jest emulowana przez procesor.

New tools that enable full RTL signal visibility with a small FPGA LUT impact, allow deep capture depth and provide multi-chip and clock domain analysis are emerging to allow efficient debug, comparable to the emulator


Zapewne chodzi o to, że można zaimplementować tkzw. chipscope, czyli analizator logiczny wewnątrz FPGA. Mimo, ze tamta definicja twierdzi, że emulatory sprzętowe mają o wiele bardziej rozbudowane możliwości debugowania, to jest to definicja naciągana (mówiłem kilka postów wcześniej, że termin emulator w przypadku sprzętu jest mocni nieprecyzyjny - właściwie jest to termin dla leniuchów, którzy wolą używać ogólnego zwrotu zamiast zgłębić temat i nazywać rzeczy po imieniu), bo gdybym np. zbudował amigę z której wychodzi 500 przewodów do analizatora logicznego, to dalej byłaby to amiga, a nie emulator.


Od zawsze udawanie jednego układu przez inny czyni go emulatorem.


A no właśnie "udawanie", a czymże jest oryginalnie FPGA, że musi udawać? Jest pustą skorupą, kawałkiem krzemu, który nie ma żadnej funkcji, który czeka aż ktoś tchnie w niego życie, lub gliną której trzeba nadać kształt.

Co innego mikrokontroler, który już sam w sobie jest systemem komputerowym.


A co do Natami, to miał we wczesnej fazie powstać procesor w FPGA tak dobry jak 68060 i o wiele bardziej kompatybilniejszy z 68000. Stąd moje podejrzenia.

Ostatnia aktualizacja: 26.07.2014 14:46:01 przez sanjyuubi
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