Aktualności Forum Giełda Sprzęt Programy Strefa Gier Graffiti Publicystyka Teleport
  • ACA 1233 i koprocesor

12.11.2015 06:39, autor: Dariusz Wiśniewski (Flops)
odsłon: 2781, wersja PDF

ACA 1233ACA 1233 Karty ACA 12xx firmy Individual Computers pojawiły się na naszym rynku w 2010 roku. Stanowią świetną alternatywę dla starych, coraz trudniej dostępnych, dwudziestoletnich kart turbo, takich jak Blizzard 1230, Apollo 1230, M-tec i wiele innych zabytków. Karty ACA zostały stworzone z myślą o ludziach, którzy chcą wygodniej korzystać z systemu operacyjnego oraz przede wszystkim gier, uruchamianych przy pomocy WHDLoad. Z tego powodu we wcześniejszych wersjach pominięto możliwość instalacji koprocesora matematycznego, gdyż wydawał się on całkowicie zbędny. Jednakże dla części użytkowników możliwość instalacji koprocesora jest ważnym czynnikiem wyboru karty. Dlatego też, we wrześniu 2014 roku, Individual Computer wprowadził nową wersję karty - ACA 1233. Na karcie tej istnieje możliwość instalacji koprocesora - przynajmniej teoretycznie. Choć karta posiada punkty lutownicze dla koprocesora i była tworzona z myślą o jego dodaniu, to brakuje podstawek, które ułatwiłaby znacznie montaż układu oraz generatora. Autor karty zaznaczył również, że tak naprawdę koprocesor nie jest wspierany, a powodem tego ma być niestabilność w trybie burst. Nigdzie nie można znaleźć informacji o próbach instalacji koprocesora w ACA 1233 i problemów lub korzyści z tym związanych. W takiej sytuacji nie pozostało mi nic innego, jak sprawdzenie działania karty z koprocesorem i zobaczenie czy można go normalnie użytkować, czy istnieją wspomniane problemy oraz jak wpływają na stabilność i szybkość karty. A także, czy ACA 1233 stanowi dobrą alternatywę dla innych starszych kart, z możliwością instalacji koprocesora.

Koprocesor... a po co mi on?

Przeznaczeniem każdego koprocesora jest wyręczanie lub wspomaganie procesora głównego w jakichś operacjach. Na przykład blitter w Amidze może przenosić, wypełniać obszary pamięci, wykonywać na nich operacje logiczne lub rysować linie w czasie, gdy procesor główny przeprowadza jakieś inne operacje. Koprocesor matematyczny, jak sama nazwa wskazuje, wspomaga w operacjach matematycznych. Najważniejszą jego cechą jest to, że koprocesor - FPU (z ang. Floating Point Unit) operuje na liczbach zmiennoprzecinkowych inaczej nazywanych zmiennopozycyjnymi. Jednostka Arytmetyczno Logiczna ALU (z ang. Aritmetic Logic Unit) procesora głównego operuje jedynie na liczbach stałoprzecinkowych. Jaka jest różnica pomiędzy jednym, a drugim? Stałoprzecinkowe to liczby ze zbioru liczb całkowitych (..., -3, -2, -1, 0, -1, 2, 3, ....). Przy pomocy takiego zapisu nie można przedstawić bezpośrednio liczby np. 0.01. Za to liczby zmiennopozycyjne to liczby ze zbioru rzeczywistego, a więc również ułamkowe np. 1.25. O ile w większości operacji w grach 2D czy operacjach systemowych takie liczby nie są wykorzystywane, to w aplikacjach inżynieryjnych, grafice 3D oraz grach 3D bez liczb rzeczywistych nie da się obejść. Można użyć różnych sztuczek i przeprowadzać obliczenia na liczbach rzeczywistych przy pomocy ALU, ale zawsze wiąże się to z dużym nakładem czasowym, a w efekcie powolnym działaniem gry/aplikacji. Każdy, kto uruchomił LightWave w wersji na FPU i CPU, zauważył pewnie sporą różnicę w czasie oczekiwania na koniec obliczeń. Przy tym samym zegarze przeważnie czas z użyciem koprocesora skraca się trzykrotnie. Tak duże przyspieszenie niestety nie przenosi się wszędzie. Po pierwsze, aplikacja musi być napisana tak, aby korzystała z FPU (wiele aplikacji na Amigę, które mogłoby wykorzystać koprocesor w celu przyspieszenia obliczeń, z niego nie skorzysta), po drugie - gdy wykonujemy obliczenia na liczbach stałoprzecinkowych koprocesor przeważnie nie daje żadnego przyspieszenia. Choć przy nieco niższym zegarze procesora głównego i wysokim taktowaniu koprocesora, teoretycznie stosując odpowiednią konstrukcji programu, można uzyskać przyspieszenie nawet takich obliczeń, dzięki współbieżności działań koprocesora 68882 z procesorem głównym (procesor może wykonywać równolegle inne operacje, w czasie kiedy koprocesor wykonuje jednocześnie bardziej zaawansowane obliczenia, np. dzielenie). Koprocesor przyda się przede wszystkim ludziom, którzy chcą się pobawić programami użytkowymi lub pograć w "TFX". Mamy również port "Quake", który wymaga do uruchomienia koprocesora, ale działa tak powolnie (1 - 1.5 FPS na pełnym ekranie), że granie na MC68030 + MC68882 pozbawione jest jakiegokolwiek sensu. Na takiej konfiguracji można go uruchomić tylko jako ciekawostkę. Istnieje także kilka starszych dem scenowych, które wymagają koprocesora i bez niego się nie uruchomią, dlatego też sam zawsze wybierałem kartę z możliwością instalacji koprocesora, żeby móc je obejrzeć.

ACA 1233ACA 1233 ACA 1233 - pierwsze wrażenie

Kartę zamówiłem w naszym rodzimym sklepie RetroAmi. Po dwóch dniach od zamówienia leżała na moim biurku. Ładne zgrabne pudełko, w nim instrukcja obsługi w wersji standardowej oraz po polsku (plus dla RetroAmi), dwuletnia gwarancja oraz najważniejsze - sama karta - opakowana w antystatyczną folię bąbelkową. We wcześniejszych produktach IC brakowało ostatniego elementu, przez co karty/inne urządzenia były bardziej podatne na uszkodzenia w transporcie. Teraz otrzymujemy profesjonalnie zapakowany produkt jak za dobrych starych czasów. Karta bardzo dobrze wykonana, widać że jest to profesjonalna produkcja. Jedyny drobny szczegół który rzucił mi się w oczy (ale dopiero po instalacji koprocesora), to troszkę krzywo wlutowany procesor (minimalnie obrócony). Karta trafiła do mojej Amigi 1200 jeszcze przed zamontowaniem FPU. Wykonałem szereg testów wydajnościowych oraz stabilnościowych. Jak było można się tego spodziewać, wszystkie przebiegły pomyślnie, wyniki z testów zostały zachowane, dla porównania ewentualnych minimalnych różnic w osiągach, gdyby wystąpiły problemy po dodaniu koprocesora i trzeba by było wyłączyć tryb burst pamięci podręcznych lub przeprowadzić jakiś inny zabieg (Jens nigdzie nie sprecyzował o co chodzi z tym trybem). ACA 1233 wyposażona jest w procesor MC68030 40 MHz, jest tak samo szybka jak jej poprzedniczka ACA 1232. Dzięki zastosowaniu nowoczesnych szybkich pamięci nawet przy szybkości procesora głównego niższej o 10 MHz w porównaniu do Blizzarda 1230 MK IV w większości testów syntetycznych wypada podobnie, czasem wolniej, czasem szybciej (ale różnice są raczej niewielkie). Również w demach czy grach nie można zauważyć różnicy w działaniu pomiędzy tymi dwiema kartami.

Instalacja koprocesora

Karta ACA nie posiada podstawki pod koprocesor ani pod generator - tylko gołe pola lutownicze. Wymagane jest wlutowanie koprocesora lub podstawki bezpośrednio do PCB. Jest to poważne utrudnienie, gdyż trzeba posiadać dobre umiejętności w obchodzeniu się lutownicą lub kogoś, kto wlutuje koprocesor i generator za nas. Trzeba tutaj zaznaczyć, że taka ingerencja w kartę wiąże się z utratą gwarancji, co pewnie dla większości użytkowników będzie poważnym problemem (dla mnie jest, ale jestem ciekawski). Zakup odpowiedniej podstawki w Polsce również okazał się niełatwym zadaniem. Za to zakup koprocesora w ostatnim czasie nie powinien nikomu sprawić problemów, a i ceny w porównaniu do lat poprzednich znacznie spadły. Generatory kwarcowe, jakie można zastosować do taktowania koprocesora, to standardowe prostokątne lub kwadratowe generatory typu DIL na napięcie 5V. Można cały czas bez problemów kupić takie generatory w większych sklepach elektronicznych lub na popularnych portalach aukcyjnych. Trzeba pamiętać, że do karty ACA 1233, tak jak do Blizzarda 1230, pasują koprocesory typu PGA, a więc te złoto plus ceramika z końcówką RC, np. MC68882RCxx, a nie koprocesory w obudowie plastikowej PLCC z końcówką FN, np MC68882FNxx.

Moje umiejętności lutowania pozostawiają wile do życzenia, więc po wstępnych testach karta trafiła do kolegi Dez3 (który zaoferował już wcześniej chęć pomocy) i dzięki jego uprzejmości, karta szybko otrzymała podstawkę pod koprocesor i generator. Dez3 wykonał świetną robotę i wlutował układ oraz podstawkę ładnie i równiutko. Koprocesor jaki został użyty do testów to MC68882RC25, który wcześniej został przetestowany w Blizzardzie 1230 MK IV na 50 MHz i nie sprawiał tam żadnych problemów. Dez3 po zamontowaniu FPU przeprowadził kilka testów stabilnościowych przy taktowaniu koprocesora 40 MHz asynchronicznie - z pozytywnym efektem. Podjął również próbę uruchomienia koprocesora w trybie synchronicznym, która niestety nie powiodła się. Zworka FPU CLK musi być rozwarta, a generator zainstalowany, w przeciwnym razie komputer nie startuje - czarny ekran.

ACA 1233 Testowanie stabilności

Po powrocie karty, z braku innych generatorów jak 60 MHz - choć nie wierzyłem, że karta w ogóle się uruchomi - podjąłem próbę z tak wysokim taktowaniem MC68882. Karta o dziwo uruchomiła się. Wstępne testy działania koprocesora przebiegły pomyślnie, nie było widać żadnych przekłamań w generowanej grafice. Kolejne testy przeprowadziłem w programach SysInfo, SysSpeed oraz AIBB. Wyniki można zobaczyć na dołączonych zrzutach ekranów. Później uruchomiłem testy stabilności w programach użytkowych wykorzystujących intensywnie FPU, takich jak LightWave 3.5, Scenery Animator oraz kilka dem scenowych korzystających z FPU. LightWave liczył przez wiele godzin popularny na PPA test Benchmark3 w wersji CPU jak również FPU. Scenery Animator w wersji FPU wygenerował kilka ładnych widoków w najwyższej rozdzielczości. Wszystkie testy trwały łącznie około cztery doby, karta nie zawiesiła się, nie sprawiła żadnych problemów. W demach również nie wystąpiły żadne objawy wadliwego działania, zero resetów, zawieszeń itd. Archiwizerem LhA spakowałem całą partycję około 100 MB do RAM i z powrotem rozpakowałem i tak kilka razy, również zero błędów CRC. Z wykorzystanie WHDLoad odpaliłem kilka dem i nadal wszystko było w porządku, także karta pozytywnie mnie zaskoczyła. Jedyna gra, jaka wymaga koprocesora - "Quake", również działała poprawnie. Oczywiście uruchamiałem tylko timedemo i robiłem w międzyczasie inne rzeczy, bo granie na takiej konfiguracji to masochizm, choć w latach 90-tych przeszedłem na Blizzardzie 1230 MK III z koprocesorem całą wersję demo. Jedynie dema "Rift" TBL oraz "Serenity" Elude zawieszały się zawsze w tym samym miejscu, ale po przełożeniu kart, okazało się że na Blizzardzie jest to samo, więc to nie wina ACA, tylko czegoś innego. Czego - niestety nie udało mi się ustalić do dzisiaj, pomimo zmiany systemu i wypróbowaniu prawie wszystkich innych możliwości. Jedynie nie wymieniałem samej Amigi, może coś w niej jest nie tak. Na A4000D i MC68060 oba te dema w tej samej wersji działają poprawnie. Pozostałe dema czy to wykorzystujące koprocesor, czy też nie, działały poprawnie, przez wiele godzin włączałem kolejne i nic złego się nie działo. Karta pracowała bez żadnego dodatkowego chłodzenia. Dopiero po wykonaniu wszystkich testów dodałem mały wentylator, gdyż wychodzę z założenia - im chłodniej, tym karta będzie dłużej żyć.

Wydajność

Niestety nie posiadam generatora 50 MHz, żebym mógł porównać szybkość Blizzarda 1230 i ACA 1233 z taką samą częstotliwością taktowania koprocesora. W testach ACA 1233 koprocesor był taktowany z prędkością 10 MHz większą niż taktowany jest koprocesor w Blizzardzie (w Blizzardzie synchronicznie z procesorem 50 MHz, w ACA 1233 procesor 40 MHz, a koprocesor 60 MHz). Dzięki temu, że MC68882 taktowane jest szybciej, w większości testów syntetycznych i aplikacjach użytkowych ACA 1233 była szybsza. W AIBB, w teście SAVAGE przyrost prędkości w stosunku do Blizzarda jest prawie równy, różnicy w taktowaniu FPU pomiędzy tymi dwiema kartami, natomiast w BeachBall różnica to już tylko około 7%. Można by się było spodziewać, że wyniki będą zawsze wyższe o różnicę w taktowaniu koprocesora (+20% na korzyść ACA), a wyniki testów syntetycznych średnio są wyższe o ~10%. Takie przyspieszenie, a czasem w niektórych testach spowolnienie względem Blizzarda 1230, wynika z taktowania procesora głównego niższego w ACA w stosunku do Blizzarda. Koprocesor wszelkie dane oraz instrukcje pobierane z pamięci otrzymuje za pośrednictwem procesora. Szczególnie kiedy procesor działa z wolniejszym taktem niż koprocesor, zdarza się często, że pomimo iż koprocesor wykonał instrukcję, musi czekać na synchronizację i dane z procesora. Jeśli jednak koprocesor wykonuje bardziej zaawansowane obliczenia, które są wykonywane w wielu cyklach, znaczenie szybkości procesora już nie ma takiego dużego wpływu na wyniki testów koprocesora. Stąd też, różne testy syntetyczne dają różne wyniki, zależnie od zastosowanych algorytmów. Aby przetestować praktyczne możliwości karty, wybrałem popularny na PPA test Benchmark3 z zastosowaniem LightWave 3.5. W przypadku wersji LightWave korzystającej tylko z CPU, dla Blizzarda 1230 MK IV oczekiwanie na zakończenie obliczeń wynosiło: 1 dzień, 8 godzin, 50 minut i 35 sekund, dla ACA 1233: 1 dzień, 13 godzin, 6 minut i 29 sekund. W teście procesora karta Jensa wypadła słabiej niż stary poczciwy produkt Phase5. W wersji dla koprocesora natomiast, wynik Blizzarda to: 11 godzin, 10 minut i 28 sekund, dla ACA 1233 (MC68882 60 MHz): 10 godzin, 51 minut i 49 sekund. Czyli ACA 1233 z wykorzystaniem FPU była szybsza tylko o ~1% od Blizzarda. Ale za to jak popatrzeć na wzrost szybkości obliczeń pomiędzy wersja LightWave korzystającej z procesora, a wersji korzystającej z koprocesora, to przyrost prędkości dla karty ACA 1233 wynosi 341%, czyli ponad trzy razy szybciej. To pokazuje jaka moc drzemie w MC68882. Kolejny test prędkości postanowiłem przeprowadzić w czymś bliższym większości użytkowników, czyli grze ID Software - "Quake" Obie karty w teście timedemo demo1 oscylowały przy takiej samej “astronomicznej” liczbie ramek ~1.5 FPS. Niestety nie posiadam obecnie gry "TFX", żeby zobaczyć jaką wpływ na płynność działania gry powoduje koprocesor. Jak tylko wpadnie w moje ręce i będę miał wolną chwilkę, nie omieszkam zrobić porównanie i zamieścić wyniki na PPA.

ACA 1233ACA 1233ACA 1233ACA 1233ACA 1233ACA 1233ACA 1233

Podsumowanie

Na pytanie czy ACA 1233 stanowi alternatywę dla Blizzarda 1230, po przeprowadzonych testach, wypadało by odpowiedzieć, że tak. W moich testach karta zachowywała się bardzo stabilnie, nie sprawiała żadnych problemów. Do prędkości działania też nie mogę mieć zastrzeżeń, gdyż większość testów wypadała lepiej niż w przypadku Blizzarda. W porównaniu do Apollo/Elbox 1230, czy M-tec 1230 karta Jensa wypada jeszcze lepiej, oprócz lepszej wydajności, ACA oferuje 127 MB pamięci Fast (oraz 1 MB dla funkcji maprom), a większość kart Apollo/Elbox i M-tec posiadają ograniczenie do 8 MB Fast. Dodatkowo mogą powodować problemy z działaniem portu PCMCIA. Jednak nadal z czystym sumieniem nie mogę powiedzieć, że szukając karty z możliwością instalacji koprocesora, użytkownicy powinni wybrać ACA 1233, zamiast starszego Blizzarda. Starałem się przeprowadzić jak najwięcej rzetelnych testów, żeby wychwycić ewentualne problemy o których wspominał Jens. U mnie ich nie zauważyłem, jednak nadal istnieje prawdopodobieństwo, że coś mogło mi umknąć i istnieje przypadek/aplikacja/demo, które nie zadziała tak jak powinno. Nawet gdyby się tak okazało, to dla mnie nie jest to szczególnie duży problem. Na tym na czym mi najbardziej zależało - dema, działają poprawnie. W mojej Amidze ACA 1233 z FPU zawitała na dłużej.

Pragnę podziękować użytkownikowi PPA Dez3 za montaż koprocesora i generatora oraz Badermanowi za recenzję i poprawki. Podziękowania również dla sklepu RetroAMI.

Plusy:
+ jedyna na rynku nowa karta z możliwością instalacji koprocesora
+ karta dzięki miejscu na generator, pozwala stosować różnej szybkości koprocesory
+ w przeprowadzonych testach bardzo stabilna
+ produkt profesjonalnie wykonany

Minusy:
- brak podstawek pod koprocesor i generator, co utrudnia montaż układów
- instalacja koprocesora wiąże się z utratą gwarancji - problem z działaniem karty w trybie synchronicznym (karta nie uruchamia się)

ACA 1233ACA 1233ACA 1233

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