Nic dziwnego, że Sega ponownie wybrała Hitachi do opracowania swojego procesora. Jeśli czytałeś poprzedni artykuł o Sega Saturn to pozwólcie, że przedstawię Wam następną generację procesora SH: SH-4 działający z niesamowitą prędkością 200 MHz . Więc co jest interesującego w tym procesorze?
- Potok 5-stopniowy: Do pięciu instrukcji może być przetwarzanych jednocześnie (szczegółowe wyjaśnienie można znaleźć w poprzednim artykule).
- Potokowanie instrukcji można teraz znaleźć wszędzie w tej generacji konsol i od teraz będzie standardem.
- Dwukierunkowa superskalarność: Nowy typ równoległości, w którym procesor może przetwarzać więcej niż jedną instrukcję (w tym przypadku dwie) na każdym etapie potoku, co skutkuje większą liczbą instrukcji wykonywanych na sekundę.
- Dedykowana Jednostka Zmiennoprzecinkowa lub 'FPU': Oblicza 32-bitowe liczby dziesiętne (pojedynczej precyzji) i 64-bitowe (podwójnej precyzji).
- Pamięć podręczna instrukcji 8KB i pamięć podręczna danych 16 KB: Ten stosunek jest dość ciekawy, ponieważ konsole zwykle zawierają więcej pamięci podręcznej instrukcji niż pamięci podręcznej danych. Jednak SH-4 pozwala na podzielenie pamięci podręcznej danych na dwie sekcje: 8 KB Scratchpad (szybki RAM) i 8 KB pamięci podręcznej danych.
- 32-bitowa architektura wewnętrzna przy zachowaniu 16-bitowego zestawu instrukcji (SuperH ISA): Podobnie jak SH-2, zwiększa to gęstość kodu i zmniejsza koszty ogólne magistrali, jednocześnie korzystając z zalet architektury 32-bitowej.
- Zewnętrzna magistrala 64-bitowa: Kluczowa dla manipulowania wartościami 64-bitowymi (np. podwójnej precyzji i long) bez marnowania dodatkowych cykli.
Dodatkowa praca
Typowe obowiązki CPU konsoli do gier obejmują obsługę logiki gry, prowadzenie wrogiej sztucznej inteligencji i dostarczanie instrukcji GPU. W Dreamcast SH-4 jest również zaangażowany w większość potoku graficznego, przetwarzając dane geometryczne, takie jak obliczanie przekształceń perspektywy. W rezultacie zawiera 128-bitową jednostkę SIMD, która może przyspieszyć operacje wektorowe .
Polepszenie dostępu do pamięci
Procesor zawiera dedykowaną Jednostkę Zarządzania Pamięcią lub 'MMU' do adresowania wirtualnego, jest to pomocne, ponieważ fizyczna przestrzeń adresowa pamięci tego procesora ma szerokość 29 bitów. Tak więc za pomocą czterech TLB programiści mogą używać adresów 32-bitowych bez pogorszenia wydajności.
Ponieważ do adresowania potrzeba tylko 29 bitów, dodatkowe trzy bity kontrolują ochronę pamięci, odpowiednio zmieniając mapę pamięci i omijając pamięć podręczną .
Programista decyduje, czy korzystać z tych funkcji, czy nie. Gry dla tego systemu z pewnością niekoniecznie wymagają ochrony pamięci, a MMU musi być ręcznie włączane przy starcie.
Brak UMA ale...
Chociaż ten system nie jest zaprojektowany w oparciu o ścisłą architekturę zunifikowanej pamięci, jak znany konkurent, deleguje dostęp WE/WY do GPU. Oznacza to, że jeśli procesor musi pobrać coś, co jest poza dedykowaną RAM lub interfejsem szeregowym (który jest również podłączony), będzie musiał zażądać GPU i poczekać, jeśli to konieczne.
Zapytania specjalne
Ten CPU posiada również unikalną funkcjonalność o nazwie Równoległe WE/WY lub 'PIO', która służy do manipulowania wieloma lokalizacjami WE/WY w tym samym czasie. Sega podłączyło te piny, aby CPU mógł manipulować trybem wideo GPU (więcej szczegółów na ten temat później).