na klasyczne już mikroprocesory. Niejako wracamy
do lat 70-tych XX wieku. To były szalone czasy
(dla procesorów), czasy radosnej twórczości
i walki konkurencyjnej. W szranki stanęło kilka
firm, niektóre na tym wypłynęły na szerokie wody
inne miały mniej szczęścia a o niektórych
wynalazkach słuch zaginął.
Tak całkiem niedawno obchodziliśmy 50 rocznicę narodzin pierwszego procesora i4004 (od Intel). Z perspektywy dzisiejszych czasów, to była cienizna, nie miał nawet przerwań i dosyć pokrętnie się go używało. No cóż... było jak było i nie nam to oceniać. Jak mówi porzekadło „pierwsze śliwki robaczywki”, i4004 dał szansę na doświadczenia, przemyślenia i korekty. To było kilkuletnia droga prowadząca do i8008. Co prawda nie miałem okazji go użyć, ale udało mi się go potrzymać w rękach. Może to nie jest jakiś wielki wyczyn, ale...
Otóż ten dał swoje geny dla praktycznie wszystkim znanego procka i8080. Ten był jaki był... miał również swoje wady i jedną dosyć istotną zaletę: był i można było go w miarę prosto użyć. W sumie dał duży impuls do działania, powstało wiele aplikacji i zostało napisane sporo kodu na ten procek. Jak to często bywa, prawdziwi twórcy i zarządy firm mają rozbieżne cele biznesowe, toteż prawdziwi twórcy odeszli z Intel i utworzyli nową firmę Zilog dając światu najbardziej kultowy procek Z-80. Intencją twórców było stworzenie procka, którego lista instrukcji byłaby nadzbiorem dla i8080, co pozwoliłoby na użycie istniejącego już oprogramowania. To był chyba dobry marketing, bo świat w to uwierzył a nie jest to prawdą do końca. Jak to często bywa, problem tkwi w szczegółach. I8080 i Z-80 odmiennie wykonują pewne specyficzne operacje. Przykładowo wskaźnik P/V (dla Z-80) i P (dla i8080) mają odmienne znaczenie. Dla i8080 jest to wskaźnik parzystości wyniku operacji arytmetycznej i logicznej. Dla Z-80 jest to wskaźnik parzystości dla operacji logicznych oraz wskaźnik nadmiaru dla operacji arytmetycznych. Przykładowo kod:
Kod: Zaznacz cały
LD A,33
ADD A,15
JP PE,INTEL
JP PO,ZILOG
jest w stanie rozróżnić procki, ponieważ 33+15=48 zawiera parzystą liczbę jedynek, więc i8080 ustawi flagę, natomiast Z-80 zauważy, że wynik operacji w kodzie U2 mieści się w dopuszczalnym zakresie [-128..+127], więc nie ustawi flagi P/V. Nie ma to jak dobry marketing...
Intel przemyślał swoje postępowanie i wkrótce wyszedł procek 8085. Ten już nie był tak uciążliwy w stosowaniu, jednak już Z-80 nie udało się pokonać.
Niewiele później w stosunku do i8080 światło dzienne ujrzał inny procek MC6800 (Motorola). Ten już jest dużo mniej znany w naszym kraju. Nawet w rodzimych stronach miał kłopoty z przebiciem się. Powód tego jest dosyć prozaiczny, gdyż historia lubi się powtarzać. Cele biznesowe twórców i zarządu stały się rozbieżne i... powstała firma MOS Technology oferująca procek 6502 (dziwnie podobny architektonicznie do 6800). Ten zrobił furorę. Wszyscy ujeżdżacze Atari lub Commodore powinni go znać.
To są procki najbardziej znane w świecie 8 bitów. Jednak są i takie, które stoją w cieniu nie walcząc o popularność i robią swoje. Takim jest właśnie 1802. Nie pamiętam kto jest jego pierwszym producentem, gdyż interesowałem się nim pod koniec lat 80-tych a dzisiaj jest praktycznie nie do zdobycia. Ten procek miał fajne cechy: był bardzo oszczędny w poborze energii oraz charakteryzował się odpornością na promieniowanie kosmiczne. To spowodowało, że „wziął udział” w eskapadach kosmicznych. Sondy kosmiczne z nim na pokładzie mkną w przestrzeni kosmicznej. Może kiedyś jacyś kosmici go odkryją.
Potem nadeszły czasy procków 16-bitowych, więc wszystkie siły twórcze zostały skierowany do innych zadań. I tak iteracyjnie poprzez i8086, i80286, i80386 itd. mamy dzisiaj różne odmiany procków Pentium. Nie jest to jedyny procek 16-bitowy, 32-bitowy i później 64-bitowy. Istnieją procki z rodziny 68K od Motoroli, która po raz kolejny przegrała wyścig o hegemonię. No jakoś chłopaki nie mają farta, ale to nie znaczy, że te procki nie są warte zainteresowania.