Sega zdecydowała się na pełnoprawny procesor Zilog Z80 pracujący z częstotliwością ~3,58 MHz. Popularny wybór używany przez maszyny takie jak ZX Spectrum i Amstrad CPC.
Procesor Z80 ma ciekawą historię, ponieważ jego autorem jest nikt inny jak twórcy Intela 8080, którzy przestali interesować się kierunkiem, w jakim zmierza Intel, i w 1974 roku postanowili założyć własną firmę krzemową, Zilog. Ich debiutujący produkt można uznać za nieoficjalnego następcę Intel 8080, który zawiera:
- ISA Z80: Zestaw instrukcji zgodny z Intel 8080, ale rozszerzony o wiele innych instrukcji. Obsługuje słowa 8-bitowe.
- 8-bitowa magistrala danych, idealna do przenoszenia 8-bitowych danych. Większe wartości zużywają dodatkowe cykle CPU.
- Czternaście 8-bitowych rejestrów ogólnego przeznaczenia : To całkiem dużo, biorąc pod uwagę, ze CPU 6502 miał tylko trzy (
X,YiA). Jednakże rejestr Z80 zawiera pewne zastrzeżenia (lub zalety, w zależności od tego, jak na to patrzysz):- Tylko siedem rejestrów jest dostępnych jednocześnie, pozostałe siedem jest nazywanych 'Rejestrami Alternatywnymi' i musi być zamieniane z pierwszym zestawem, aby mieć do nich dostęp. To jest powiązane z zasadą przełączania banków. Z80 dostarcza również specjalistyczne instrukcje, takie jak
EXiEXX, aby przenieść zawartość pomiędzy każdym zestawem. - W ramach każdego zestawu sześć 8-bitowych rejestrów może być również zestawionych razem, aby dostarczyć do trzech 16-bitowych rejestrów, umożliwiających manipulowania większymi wartościami.
- Tylko siedem rejestrów jest dostępnych jednocześnie, pozostałe siedem jest nazywanych 'Rejestrami Alternatywnymi' i musi być zamieniane z pierwszym zestawem, aby mieć do nich dostęp. To jest powiązane z zasadą przełączania banków. Z80 dostarcza również specjalistyczne instrukcje, takie jak
- 16-bitowa magistrala, konsekwencje są wyjaśnione w następnej sekcji.
- 4-bitowe ALU: Może to być nieco szokujące, ale oznacza to po prostu, że obliczenia wykonywane na wartościach 8-bitowych wymagają dwukrotnie większej liczby cykli.
Zdjęcie płyty głównej na początku artykułu przedstawia procesor NEC D780C-1, oznacza to po prostu, że SEGA używała chipów produkcji różnych producentów, inne wersje zawierały nawet chip wyprodukowany przez Zilog. Ale w tym artykule nie ma znaczenia, kto wyprodukował procesor, ponieważ wewnętrzne funkcje pozostają takie same.
Porównanie względne
Zauważ, że procesor 6502 (znaleziony w NES) działa tylko na ~2 MHz. Jest to około połowy prędkości chipu Master System. W połączeniu z większym rejestrem Z80 można by pomyśleć, że Master System powinien bez wątpienia przewyższać NES.
I odwrotnie, jeśli się w to zgłębimy, zobaczysz, że 6502 zawiera większe (8-bitowe) ALU. Tak więc operacje arytmetyczne, które mogą zająć tylko dwa cykle w 6502, zużywają cztery na Z80. Ostatecznie, pokazuje to że względne cechy takie jak prędkość CPU lub rozmiar rejestru, gdy analizowane są osobno, mogą być zwodnicze. Zarówno Z80, jak i 6502 mają swoje mocne i słabe strony, jeśli chodzi o różne zadania. Wszystko zależy od umiejętności programisty.
Dostępna pamięć
Jak wspomniano wcześniej, Z80 ma 16-bitową magistralę adresową, więc procesor może wykryć do 64 KB pamięci. W mapie pamięci znajdziesz 8 KB pamięci RAM do ogólnego użytku , która jest dublowana w kolejnym bloku 8 KB. Wreszcie mapowane jest również do 48 KB ROM-u gier.
Dostęp do pozostałych komponentów
Jak można wyczytać z poprzedniego akapitu, w przestrzeni adresowej znajduje się tylko główna pamięć RAM i część pamięci ROM kartridża, więc jak program może uzyskać dostęp do innych komponentów? Cóż, w przeciwieństwie do Famicom'u/NES-a Nintendo, nie cały sprzęt Master System jest mapowany przy użyciu lokalizacji pamięci. Zamiast tego niektóre urządzenia peryferyjne znajdują się w przestrzeni WE/WY.
Dzieje się tak, ponieważ rodzina Z80 zawiera interesującą funkcję o nazwie porty WE/WY, która umożliwia procesorowi komunikację z innym sprzętem bez wyczerpania adresów pamięci. W tym celu istnieje oddzielna przestrzeń adresowa dla 'urządzeń WE/WY' o nazwie porty i obie mają tę samą magistralę danych i adresową. Różnica polega jednak na tym, że porty są odczytywane i zapisywane odpowiednio za pomocą instrukcji IN i OUT - w przeciwieństwie do tradycyjnej instrukcji ładowania/przechowywania (LD).
Kiedy wykonywana jest instrukcja IN lub OUT, Z80 ustawia linie adresowe wskazujące na urządzenie peryferyjne (które może być na przykład klawiaturą), flaguje swój pin IORQ wskazujący, że żądanie I/O zostało zainicjowane i ostatecznie oznacza pin RD lub pin WR zależnie od tego, czy jest to odpowiednio kod instrukcji IN czy OUT. Zaadresowane urządzenie peryferyjne musi ręcznie sprawdzić magistralę adresową i piny WE/WY oraz wykonać wymaganą operację. W przypadku instrukcji IN, CPU zapisze odebraną wartość w predefiniowanym rejestrze.
Sposób, w jaki SEGA połączyła procesor z resztą komponentów, umożliwia nie tylko dostęp do wartości, ale także pokazywanie/ukrywanie niektórych komponentów przed pojawieniem się na mapie pamięci.
Co ciekawe, Game Boy miał 'wariant' Z80, który całkowicie pomijał porty WE/WY. Musiał więc zmieścić wszystko w mapie pamięci.
Kompatybilność wsteczna
Architektura tej konsoli jest bardzo podobna do jej poprzednika, Sega SG-1000, więc Master System zdołał uzyskać wsteczną kompatybilność z SG-1000. Chociaż dotyczy to tylko japońskiego wariantu, ponieważ pozostałe zawierają inne gniazdo kartridża.
