• Zespół Natami o... nowym procesorze z rodziny 68k

08.09.2012 19:06, autor artykułu: Banter
odsłon: 5824, powiększ obrazki, wersja do wydruku,

Czym jest N68050?

68050 (N050) to nowy procesor z rodziny 68k zaprojektowany przez członków zespołu Natami. Działa wewnątrz FPGA razem z chipsetem Natami. 68050 jest pierwszym procesorem z naszej architektury 68k. Poza tym rozszerzymy architekturę do specyfikacji N68050E a później do N68070. N68050 będzie domyślnym CPU w systemie Natami. Jednak jeśli użytkownik ma chęć, może również nabyć osobną kartę procesorową z prawdziwym 68060 dla swojej Natami, podłączaną do płyty poprzez szynę SyncZorro.

Jak przedstawia się historia rozwoju N68050?

Można powiedzieć, że rozpoczęła się ona w 1998 roku, kiedy to Gunnar usiłował zaprojektować swój pierwszy procesor 68k. Jednak ówczesne FPGA były zbyt małe, aby ukończyć to zadanie. Właściwe prace nad 68070 rozpoczęły się dwa lata temu, kiedy to zrezygnowaliśmy z procesora Coldfire jako potencjalnego procesora dla Natami. Coldfire był interesujący, jednak nasze wyliczenia pokazały, że nasz własny procesor będzie jeszcze lepszy.

Pierwsza wersja "N68070" była zbliżona do krzyżówki 68000 i Coldfire. Naszym pierwszym pomysłem było użycie kolejki podobnej do tej z Coldfire V3. Aby ulepszyć wydajność, zmieniliśmy to i przerobiliśmy kolejkę rozkazów na dłuższą. Naszym celem było osiągnięcie wyższego taktowania i sprawienie, by 68070 był pod każdym względem wydajniejszy od procesora 68060 Motoroli przy taktowaniu tą samą częstotliwością zegara. Pierwszym procesorem, który wypuścimy teraz jest N68050 (jest już właściwie ukończony). N68050 jest wczesną wersją 68070, która posiada tylko jedną kolejkę rozkazów (Integer pipeline). Aby zaznaczyć wyraźnie tę różnicę, obniżyliśmy numer procesora.

Wczesna i kompletnie niezoptymalizowana wersja N68050 działała z prędkością 55 MHz, co było całkiem niezłym wynikiem jak na Amigę. Wkrótce osiągnęliśmy 100 MHz i wciąż mieliśmy zapas mocy w FPGA którym wtedy dysponowaliśmy. Teraz z większym FPGA będziemy mogli uczynić go jeszcze szybszym. Na tym polega potęga FPGA.

Prace nad N68050 składały się z wielu różnych aspektów technicznych jak ulepszanie "branch acceleration", przepisywanie pamięci podręcznej instrukcji, tworzenie test case'ów. Było to możliwe jedynie dzięki bardzo zaangażowanym osobom! Szacujemy, że w ciągu kilku lat, używając nadchodzącej technologii FPGA, uda nam się osiągnąć ponad 300 MHz softcore (czyli procesor w FPGA).

Jaka jest kompatybilność N68050? Czy na N68050 będzie działało więcej gier niż na 040/060 i dlaczego?

Naszym celem jest uzyskanie większej kompatybilności w porównaniu z 68040, jak i 68060. 040 i 060 mają kilka drobnych (i dwa główne) powody braku kompatybilności ze starszym kodem 68k. Na przykład: 040 i 060 nie potrafią tak dobrze obsłużyć "złego", samomodyfikującego się kodu. My możemy naprawić większość "złego kodu" poprzez wewnętrzny cache snooping. 060 porzucił kilka instrukcji 68k. To jest łatwe do naprawy poprzez ponowne dodanie tych instrukcji.

Jakimi atutami nad 040/060 może wykazać się N68050?

W uporządkowaniu mocnych stron procesora pomoże poniższa lista:

  • lepsza wydajność pamięci,
  • większa pamięć podręczna procesora,
  • możliwe większe częstotliwości,
  • większa przepustowość CPU, zdolna do ładowania większej ilości dłuższych instrukcji na takt. Dzięki temu długość instrukcji nie ma wpływy na wydajność,
  • wiele kompleksowych trybów EA jest wykonywanych za darmo, czyli szybciej niż 68040,
  • większość instrukcji jest wykonywana w jednym takcie,
  • dzielenie jest szybsze niż w 68040 i 68060,
  • nowa funkcja: umiejętność "złączenia" dwóch instrukcji razem, aby wykonać je w jednym takcie,
  • nowa funkcja: zdolność złączenia BCC, które przeskakuje jedną instrukcję tą instrukcją, eliminując przez to źle przewidziane branche,
  • nowa funkcja: umiejętność dużej akceleracji odwołań do podprogramu (subroutine calls). Odwołania do podprogramów stają się niemal darmowe,
  • nowa funkcja: zdolność przyspieszania wyliczonych skoków,
  • nowa funkcja: umiejętność wykrycia strumienia pamięci i zdolność do wykonania wstępnego ładowania (prefetchingu).

Jaka jest przewidywana wydajność N68050 w porównaniu z innymi procesorami z rodziny 68k? Czy jest choć trochę szybszy dzięki zastosowaniu nowej pamięci i niskiej latencji?

Nasze oczekiwania względem wydajności są wysokie. Wydajność ma być lepsza niż we wszystkich klasycznych Amigach.

Wydajność CPU może być rozpatrywana pod wieloma różnymi względami: są instrukcje typu code-flow, wydajność pamięci, wydajność arytmetyczna. Potem jest wydajność ładowania kodu z pamięci podręcznej i wydajność kodu poza tą pamięcią. Warianty możliwych algorytmów sprawiają, że jest trudno wyrazić wydajność CPU w jednej liczbie.

N68050 przybywa z wieloma ulepszeniami, które poprawiają różne instrukcje i typy algorytmów. Jeśli naprawdę chcesz pojedynczą liczbę - według naszego wewnętrznego testu SysInfo, pierwsza wersja N68050 wypada porównywalnie do 500 MHz Motoroli 68030. Jesteśmy bardzo dumni z tego wyniku i gotowi go jeszcze z czasem podbić. W starych, dobrych czasach po prostu marzono o 500 MHz 68030! Teraz to marzenie ziści się z Natami. Jeśli masz procesor, taki jak 68030 taktowany zegarem 500 MHz, wówczas twoja Amiga jest bardzo zwinnym i szybkim komputerem - nie zapomnij, że jeszcze więcej mocy dają znacznie ulepszone układy specjalizowane Natami! N68050 jest pod naszą kontrolą i jeśli zobaczymy, że potrzeba instrukcji XYZ, aby był lepszy - po prostu dodamy ją. Mamy kontrolę nad szerokością i szybkością magistrali. Co więcej, N68050 będzie mieć 64-bitowy interfejs pamięci. Z dzisiejszymi dostępnymi FPGA osiągniemy około 133 MHz w N68050... Lecz za 2-3 lata to już inna opowieść. Technologia FPGA rozwija się przez cały czas.

Jaka jest przyszłość procesorów 68k w FPGA (N68050, N68070)?

Planujemy różne wydania N68050. Chcemy ulepszać ten procesor z każdym wydaniem i dodawać więcej funkcji. Nasza wyjściowa wersja 68050 jest bardzo szybkim i potężnym procesorem 68k. Planujemy dodać więcej kolejek rozkazów, a także dodać ulepszony FPU zgodny z 68k w przyszłych wydaniach. Potem przejdziemy na model superskalarny z N68070. Gdy nowe, ulepszone i szybsze FPGA pojawią się na rynku, nasza praca nad N070 stanie się jeszcze bardziej ekscytująca! Przypomnę tylko, że każdy posiadacz Natami będzie mógł pobrać nowe wersje z Internetu. W ten sposób Natami ulepsza koncept Amigi - zamiast kupować nowy sprzęt, można go po prostu "pobrać".

Procesor 68k w FPGA i FPU? Co z kompatybilnością z amigowym FPU?

W naszym projekcie CPU mamy już przeznaczone miejsce, aby dodać koprocesor. Celujemy w 100% kompatybilność z FPU Motoroli, przy jednocześnie znacznie poprawionej wydajności. Uważamy, że potrafimy stworzyć FPU szybszy niż jakikolwiek istniejący FPU 68k. Posiadamy już działający prototyp takiego FPU. Jednak ciągle jest wiele do zrobienia, aby go ukończyć, więc prosimy o cierpliwość.

Czy mogę uruchomić softcore już teraz? Jak to naprawdę działa?

Nasz zespół projektował nowy procesor na platformie deweloperskiej FPGA równolegle do prac Thomasa Hirscha nad płytą Natami MX. Gdy płyty Natami będą w produkcji, będzie oczywiście potrzebne trochę czasu, aby zaimplementować i przetestować softcore w Natami - ten etap wciąż jest przed nami. Podczas tego czasu mamy płyty procesorowe z Motorolą 68060 dla osób, które jak najszybciej chcą mieć w swoich rękach w pełni działający system Natami. Dlatego oferujmy zarówno procesor typu softcore, jak i krzemowy procesor Motorola 68060. Chcemy dać wybór użytkownikom. Może być wiele powodów, dla których mógłbyś chcieć uruchomić prawdziwy procesor 68060 w swoim systemie. Mógłbyś potrzebować go jako programista dla testów kompatybilności lub chciałbyś uruchamiać inny system operacyjny niż AmigaOS, lub może będziesz po prostu wolał używać tego samego procesora, jaki miałeś w swojej starej Amidze. Obecnie projektujemy Natami używając właśnie karty procesorowej z 68060.

Co się stanie z procesorem 68060 na karcie CPU po pobraniu softcore N050?

68060 nie stanie się zupełnie zbędny. Wciąż może służyć jako wsparcie procesora N68050. To oznacza, że jeśli na przykład surfujesz po Internecie Awebem lub Netsurfem pliki JPEG mogą być "przekazane" do rozpakowania dla 68060. Tak samo, jak to ma miejsce w przypadku procesorów PowerPC, które są używane jako procesory asystujące w Amigach PowerUP. Jak może wiesz, karty Cyberstorm PowerPC były wyposażone w procesor 68060 plus procesor PowerPC. System Amigi i 99% programów działało na 68060. PowerPC było głównie używane, aby "przejąć" JPEG, MP3 i inne rodzaje dekodowania datatypów. Najprościej to ujmując planujemy postąpić podobnie, lecz tym razem używając czystej technologii 68k. Tak więc Natami może mieć dwa procesory 68k, gdy prace nad N68050 zostaną ukończone.

Po co w ogóle tworzyć procesor 68k w FPGA?

Wyjaśnijmy najpierw jedną rzecz – N68050 nie jest zaprojektowany, aby konkurować z najnowszymi procesorami architektury x86/x64. Pomimo że N68050 jest bardzo "nowoczesny" i używa najnowszych rozwiązań projektowych, jest zaprojektowany, aby być najszybszym procesorem 68k jaki kiedykolwiek powstał i jest bardzo dobrze przystosowany, aby uwolnić środowisko Amigi od starych producentów sprzętu. Z naszym własnym projektem 68k możemy uczynić Amigę niezależną. Stare Commodore było uzależnione od Motoroli w dostępie do szybkich i tanich procesorów 68k. Wiemy, że Motorola zaprzestała ich produkcji i rozwoju. Nowe procesory PowerPC mają tę samą zależność – która sprawia systemom opartym o PowerPC pewien problem. Poprzez stworzenie własnego procesora możesz usunąć tę zależność. To jest dobre, jako że społeczność amigowa jest zbyt mała, aby przekonać wielkie koncerny do wyprodukowania dopasowanego do naszych potrzeb CPU. Z naszym softcore N68050 oddajemy Amigę tym, do których zawsze należała – do amigowej społeczności.

Proszę zwrócić uwagę, że nasz nowy procesor 68k jest łatwiejszy w programowaniu niż PPC. To przywraca programistom wolność i elastyczność klasycznej Amigi 68k. Czy pamiętasz przyjemność jaka płynęła z kodowania procesora 68k? Czy kiedykolwiek moglibyśmy zapomnieć wszystkie te dema i wspaniałe gry? Teraz wszystko to powraca dzięki naszemu nowemu N68050. Architektura 68k jest naprawdę znacznie łatwiejsza i przyjemniejsza w programowaniu. My w zespole Natami jesteśmy bardzo podekscytowani i nie możemy się doczekać, aż Natami będzie gotowa, aby spróbować swoich umiejętności w programowaniu 68k! Nie zapomnij, że Natami ma już obsługę trybów chunky pixel, a SuperAGA jest o wiele szybsza niż AGA. Wystarczy powiedzieć, że Natami będzie potrafiła obsługiwać gry niemożliwe do uruchomienia na niektórych systemach PPC, nie wspominając już o starych, dobrych Amigach klasycznych, dzięki niesamowitej przepustowości pamięci! Te nowe możliwości w parze z nowym procesorem 68k dadzą sprzętowi kompatybilnemu z Amigą kopa, jakiego było jej trzeba od dłuższego czasu!

Ta nowa architektura 68k daje wyższą kompatybilność i większą ogólną wydajność na Amidze niż rozwiązanie typu Coldfire. Wiele gier i programów odmawia działania na 040/060 z powodu zmian w projekcie tych układów i brakujących instrukcji. Teraz z N68050 dostajesz taką kompatybilność jaką zawsze chciałeś mieć.

Na zakończenie dodam, że Natami z naszą nową rodzinką procesorów 68k pomoże społeczności amigowej i wszystkim osobom zainteresowanym klasyczną Amigą rozpocząć ten nowy etap, na który tak długo czekaliśmy. Zespół Natami Team pozdrawia wszystkich czytelników PPA!

Artykuł oryginalnie pojawił się w czwartym numerze Polskiego Pisma Amigowego.

    tagi: Natami
komentarzy: 18ostatni: 23.05.2023 01:15
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