Motorola – czy było warto?
Data
Muszę na samym wstępie zaznaczyć, iż jeśli jesteście gorącymi zwolennikami architektury 68k, bądź komputera, który procesor z tej rodziny posiada, to mogę urazić Wasze uczucia religijne.
Motorola 68000, o której głównie będę pisał, to procesor właściwie 32-bitowy, którego wydajnośćdławi jego 16-bitowa magistrala danych. Nie tylko to jest kamieniem u szyi tej konstrukcji. Ciąży na niej jeszcze fakt, że zaprezentowany w 1979 roku procesor posiada duży narzut rozwiązań architektury CISC, która nie czyni go demonem wydajności, za to raczej energożerną lochą ze swoimi 68 000 tranzystorami – stąd jego nazwa. Dopiero produkowane od 1985 roku wersje CMOS zjechały z poborem energii do 0,13W (8MHz) ze zrywających gacie z tyłka 1,35W dla wersji HMOS. Z dzisiejszego punktu widzenia zdecydowanie słaby ruch marketingowy, aby nazwać procesor skalą jego złożoności. Jednakże wtedy rzeczywistość wyglądała inaczej.
Czasy te jednak powoli z roku na rok się zmieniały i konsumenci rynku zdominowanego przez maszyny oparte o MOS 6502 (który według powyższej nomenklatury powinien się raczej nazywać MOS 3510) zaczynali się ślinić do bardziej zaawansowanych gier, które widzieli na coraz bardziej zaawansowanych komputerach czy automatach, a te zaczęły przechodzić w połowie lat osiemdziesiątych ubiegłego wieku na 68k.
W przypadku automatów było to całkiem uzasadnione, gdyż wiele z nich napędzanych w poprzedniej generacji było Motorolą 6809. Procesory 8-bitowepozostały jednak w tych systemach jako procesory dźwięku z własną pamięcią na próbki, czy pełniąc inną rolę akceleracji.
W 1984 roku zadebiutował Macintosh, wstępnie planowany jako niskobudżetowa alternatywa dla komputerów z serii Apple II. Miała to być zmniejszona fizycznie, jak i kosztowo Apple Lisa. Ponieważ jednak w projekcie zaczął maczać palce Steve Jobs, który uczynił Macintosha celem swoich osobistych ambicji, historia tej konstrukcji potoczyła się nieco inaczej.
No i tutaj na scenę po raz pierwszy wchodzi „dobry charakter” w tym artykule. O ile MOS 6502, który w różnych wersjach napędzał całą ośmiobitowa linię produktów firmy Commodore, Atari, Apple, Acorn, Nintendo oraz wielu innych, będąc znacznie wydajniejszym procesorem od konkurencji taktowany wtedy zegarem 1-2MHz,ze znacznie potężniejszą Motorolą 68000 taktowaną 7MHz nie miał szans. Jednakże on również miał swojego następcę, co pokazuje konkurencja pomiędzy Macintoshem a Apple IIGS. Ten ostatni jest napędzany 16-bitowym WDC 65C816. Należy jednak nadmienić, że 65816 jest tak 16-bitowy, jak 68000 jest 32-bitowa, albo 386SX jest 32-bitowy. Chodzi o to, że jest to 16-bitowy rdzeń CPU komunikujący się z otoczeniem 8-bitową magistralą danych, mimo że magistrala adresowa pozwala zaadresować również 16MB RAM. Myślicie sobie zapewne, że 16-bitowy 65816 z ośmiobitową magistralą danych to nadal nic w porównaniu do 32-bitowej 68000 z szesnastobitową magistralą danych? Nic bardziej mylnego. Właśnie z tego powodu zegar Apple IIGS został umyślnie obniżony do 2,8MHz, aby nie był konkurencją dla 7,83MHz Macintosha. Że już nie wspomnę o fakcie, że dosłownie miażdżył Maca pod każdym innym względem. Posiadał lepszą grafikę, lepszy dźwięk, lepszy system, lepsze opcje rozszerzeń i do tego niższą cenę. W czym więc tkwiła szatańska moc, której trzeba było założyć kaganiec, żeby nie zmiotła Macintosha? Głównie w jego przodku MOS 6502 od którego czerpał. Wiele rozwiązań w 65816 zaprezentowanym w 1984 nosi cechy, które zostały ubrane w połowie lat osiemdziesiątych w akronim RISC i rozwijane. Tak, jak swój poprzednik, potrafi bardzo sprawnie wykorzystywać komunikację z pamięcią RAM, co daje mu tak dużą przewagę w wydajności w stosunku do taktowania. Wykonywanie rozkazów zajmuje mu od 2 do 9 cykli zegarowych, podczas gdy w przypadku 68000 jest to od 4 do 36, a skomplikowane instrukcje matematyczne dochodzą do 158 cykli. Sama obsługa przerwania zajmuje Motoroli ponad 40 cykli zegarowych. Są to absurdalnie długie czasy wykonywania porównawszy do 6502/65816, podczas których nie da się zrobić nic więcej (np. wywołać przerwania). Motorola 68000 błyszczy, jeśli chodzi o rozbudowaną listę rozkazów, ilość wbudowanych rejestrów oraz tryb nadzorczy, ułatwiający wykorzystanie jej w systemach operacyjnych z kontrolą dostępu do pamięci. Jednakże jeśli chodzi wydajność, zadowolić się musi jedynie będąc nieco szybszą od Intel 8086.
Tabela z danymi umożliwiającymi porównanie czasu wykonania w milisekundach dla zegara 8MHz dla różnych procesorów, ze względów technicznych znajduje się w wersji on-line magazynu.
Procesor WDC 65C816 był sercem nie tylko Apple IIGS, ale również Acorn Communicator i konsoli Super Nintendo, znajdującoprócz tego zastosowanie w akceleratorach dla C64, Atari 8-bit, Apple II, SNES. Dziś wykorzystywany jest w hobbystycznych systemach produkowanych na mniejszą skalę, jak na przykład C-One, czy Foenix C256, jednakże w czasach swojej świetności nie zyskał nawet ułamka popularności Motoroli 68k.
Czy więc mogliśmy uniknąć Motoroli, nie zerwać z ciągłością rodziny 65xx i doczekać epoki procesorów 32-bit dzięki wydajności 65C816? Nadal produkowane chipy z nominalną prędkością 14MHz odpadają dopiero przy 25MHz na zasilaniu 5V, więc potencjał wydajnościowy na pewno był. Apple IIGS z akceleratorem 12-14MHz uruchamia płynnie „Wolfensteina 3D”. Jak wyglądałby następca Commodore 128, gdyby CBM nie wykupiło opartej o Motorolę Amigi? Być może tak, jak wyglądał Commodore 65, który nigdy nie wszedł do produkcji, a zawierał w sobie szybki mikrokontroler oparty o 6502 taktowany 3,5MHz? No a może właśnie tak, jak współczesny Foenix C256? Pewne możliwości zostały utracone. Apple przez kolejną dekadę bujało się z architekturą 68k, by ją potem porzucić na rzecz PowerPC. Jednakże już w latach osiemdziesiątych pojawił się nowy gość na „dzielni”. W pełni 32-bitowy RISC o wysokiej energooszczędności i o ironio, Apple 7 lat później współpracowało z firmą zajmującą się jego produkującą w celu instalacji tej jednostki w swoim nowym mobilnym produkcie Newton. Co więcej, w XXIwieku ta wiedza została wykorzystana w produktach z „i” w nazwie. Tak... Mowa o procesorze ARM firmy Acorn, który również jest pociotkiem architektury 65xx (z punktu widzenia programisty) i napędza dzisiaj praktycznie każde urządzenie mobilne, jakim się posługujemy. Wypuszczony na rynek w 1986 roku (czyli dwa lata po Macintoshu i rok po Amidze) procesor ARM2 składał się z 27 000 tranzystorów i był szybszy od Motoroli 68020 składającej się z 190 000, pobierając przy tym o połowę mniej energii. O ile szybszy? No cóż, 4 MIPS przy 8MHz może nie wydawać się na dzisiejsze standardy oszałamiającą mocą obliczeniową, ale biorąc pod uwagę, że Motorola 68020 potrzebowała dla osiągnięcie 5,25 MIPS zegara wynoszącego aż 33MHz... Jak mawiają: „Dobrymi procesorami piekło jest wybrukowane”. Nic więc dziwnego, że męczoną przeze mnie Motorolę 68000 ze swoim 1,4 MIPS przy zegarze 8MHz nie byłoby ciężko doścignąć przetaktowując nawet MOS 6502 na jakieś 3-4MHz w tym niezupełnie realistycznym benchmarku...
Podejrzewam, że gdyby tamten epizod komputerów domowych trwający może dekadę, potoczył się inaczej, nie zmieniłby świata dzisiaj. Nie wątpię jednak, że dziś wspominalibyśmy gry retro nieco innego poziomu. Być może nawet dysponując nieco lepszymi implementacjami współczesnych procesorów mobilnych.
/Data