Architektura procesora RISC

Architektura RISC to komputer ze zredukowanym zestawem instrukcji. Jest to typ architektury mikroprocesorowej, która wykorzystuje mały zoptymalizowany zestaw instrukcji, w przeciwieństwie do poprzednich typów architektur z rozszerzonym zestawem danych algorytmicznych. Termin RISC został wymyślony przez Davida Pattersona z projektu Berkeley RISC.

Definicja

Komputer z ograniczonym zestawem poleceń jest urządzeniem, którego zestaw instrukcji (ISA) ma zestaw atrybutów, który pozwala mu na wykonywanie cykli o niższym CPI niż złożony zestaw poleceń do komputera (CISC). Ogólna koncepcja RISC jest pojęciem komputera, który zawiera mały zestaw prostych i powszechnych algorytmów, ale nie jest rozszerzonym zestawem złożonych i wyspecjalizowanych sekwencji. Inną wspólną cechą RISC jest architektura ładowania /zapisu, w której dostęp do pamięci odbywa się tylko za pomocą określonych instrukcji.


Historia i rozwój

Pierwsze projekty RISC pochodziły z IBM, Stanford i UC Berkeley w latach 70. i 80. XX wieku. IBM 801 Stanford MIPS i Berkeley RISC I i II zostały opracowane z podobną filozofią, znaną jako RISC. Niektóre cechy projektu były typowe dla większości procesorów RISC:
  • Runtime jednego cyklu: procesory mają CPI - czas na wykonanie instrukcji jednego cyklu. Wynika to z optymalizacji każdego polecenia na procesorze.
  • Przetwarzanie przenośników: techniczny algorytm, który umożliwia jednoczesne wykonywanie części lub etapów instrukcji w celu bardziej wydajnej obsługi instrukcji.
  • Wielka listaRejestry: Filozofia projektowania RISC zwykle obejmuje więcej rejestrów, aby zapobiec nadmiernym interakcjom z pamięcią.
  • Chociaż kilka komputerów z 1960 roku i 70. były wcześniejsze modele RISC, odnosi się do nowoczesnej koncepcji z 1980 roku. W szczególności dwa projekty w Stanford i University of California skalują tę koncepcję koncepcyjną. Stanford MIPS będzie komercyjnie udany model, natomiast Berkeley dał nazwę całej koncepcji skomercjalizowanej jako SPARC. Kolejnym sukcesem tej epoki były wysiłki IBM, które ostatecznie doprowadziły do ​​architektury Power Architecture. Wraz z rozwojem tych obszarów pod koniec 1980 roku, a zwłaszcza na początku 1990 roku. Rozkwit wiele z tych projektów są główną siłą na rynku stacji roboczych Unix, jak i wbudowanych procesorów w drukarkach laserowych, routerów i podobnymi produktami .


    Plusy i minusy architekturze RISC

    Najprostszym sposobem, aby dowiedzieć się mocnych i słabych punktów architektury RISC - jest porównanie go z poprzedniej architektury CISC. Głównym celem Architektury CISC - w celu wykonywania zadań w mniejszej liczbie linii montażu. Osiąga się to poprzez stworzenie sprzętu procesora zdolnego do zrozumienia i wykonania szeregu operacji. W tym konkretnym zadaniu procesor CISC otrzymuje specjalną instrukcję (MULT). W wypełnianiu tej komendy wczytuje dwie wartości do oddzielnych rejestrów, mnoży argumenty w module wykonanie i następnie przechowuje produkt w odpowiednim rejestrze. Tak więc całe zadanie pomnożenia dwóch liczb może byćuzupełnione jedną instrukcją: MULT 2: 3 5: 2. Architektura CISC i RISC - poprzednie i następne rozwiązanie architektoniczne.
    MULT to tak zwana "skomplikowana instrukcja". Polecenie działa bezpośrednio w bankach pamięci komputera i nie wymaga, aby programista jawnie powodował jakiekolwiek funkcje pobierania lub zapisywania. Jest bardzo podobny do polecenia w języku wyższego poziomu. Na przykład, jeśli przyjmiemy, że a reprezentuje wartość 2: 3, a b oznacza wartość 5: 2, to polecenie to jest identyczne z wyrażeniem C a = a * b.
    Jedną z głównych zalet tego systemu jest to, że kompilator musi wykonać minimum pracy, aby przetłumaczyć język języka wysokiego poziomu na zespół. Ponieważ długość kodu jest stosunkowo krótka, do przechowywania instrukcji wymagana jest bardzo mała pamięć RAM. Przy analizie porównawczej CISC i architektury RISC procesorów nacisk kładzie się na wdrażanie złożonych instrukcji bezpośrednio w sprzęcie.

    Podejście RISC

    Procesory RISC wykorzystują tylko podstawowe instrukcje, które są wykonywane w jednym cyklu. Tak więc, wyżej opisane MULT zespół może być podzielona na trzy oddzielne polecenia: ładunek, który przenosi dane z banku pamięci w przypadku Prod, który jest produktem dwóch argumentów znajdujących się w rejestrach i przechowywanie, które przenosi dane z rejestru, w bankach pamięci Jestem Aby wykonać dokładną serię kroków opisanych w podejściu CISC, programista musi zakodować cztery linie zespołu: ŁADUJ A, 2: 3.
    ŁAD B, 5: 2.
    PROD A, B
    zasobnika 2: 3 A. Po pierwsze może to wydawać się znacznie mniej skuteczny sposób, aby dokończyć operację, ponieważ jest bardziejlinia kodu i instrukcje przechowywania dla levelowania wymagają więcej pamięci RAM. Kompilator musi również wykonać więcej pracy, aby przekonwertować język języka wysokiego poziomu na kod tego formularza.

    Porównanie CISC i RISC

    Porównania CISC i RISC dotyczą CISC:
  • Nacisk kładziony jest na dostarczanie sprzętu.
  • Obejmuje złożone instrukcje złożone przez wiele godzin.
  • Małe rozmiary kodu, wysokie cykle na sekundę.
  • Tranzystory używane do przechowywania złożonych instrukcji.
  • RISC:
  • Nacisk na oprogramowanie.
  • Skrócona instrukcja, która nie wymaga wiele czasu.
  • Niskie cykle na sekundę, duże rozmiary kodu.
  • Wydaje więcej tranzystorów na rejestry pamięci.
  • Strategia RISC przynosi bardzo ważne korzyści. Ponieważ każde polecenie wymaga tylko jednego taktu, cały program będzie działał mniej więcej w tym samym czasie co wielocylindrowe polecenie MULT. Te krótkie instrukcje "RISC" wymagają mniej tranzystorów przestrzennych niż skomplikowanych instrukcji, pozostawiając więcej miejsca na wspólne rejestry. Ponieważ wszystkie instrukcje są wykonywane jednorazowo (na przykład jeden cykl), możliwe jest przetwarzanie przenośnika.

    Charakterystyka procesu

    Rozdzielenie instrukcji LOAD i STORE w rzeczywistości zmniejsza ilość pracy, jaką musi wykonać komputer. Po wykonaniu polecenia MULT w stylu CISC procesor automatycznie kasuje rejestry. Jeśli jeden z operandów musi być użyty do innego obliczenia, procesor musiprzeładuj dane z banku pamięci, aby się zarejestrować. W RISC operand pozostanie w rejestrze aż do załadowania na nim innej wartości. Podejście CISC stara się zminimalizować liczbę instrukcji dla każdego programu poprzez poświęcenie liczby cykli na instrukcję. RISC zmniejsza natomiast liczbę cykli ze względu na instrukcje dla każdego programu.

    Złożoność realizacji komercyjnej

    Pomimo korzyści wynikających z przetwarzania opartego na RISC, minęły lata, zanim komercyjnie poszukiwano chipów RISK. Było to w dużej mierze spowodowane brakiem wsparcia oprogramowania. Chociaż linia Power Macintosh firmy Apple, wykorzystująca układy oparte na RISC i Windows NT, jest zgodna z RISC, Windows 3.1 i Windows 95 zostały opracowane z uwzględnieniem procesorów CISC. Wiele firm nie chciało ryzykować eksponowania technologii RISC. Bez komercyjnego zainteresowania twórcy procesorów nie byli w stanie produkować chipów RISC w dość dużych ilościach, aby ich cena była konkurencyjna. Jeszcze jedną poważną przeszkodą była obecność Intela. Pomimo faktu, że ich chipy CISC stawały się coraz bardziej skomplikowane i skomplikowane, Intel miał zasoby do opracowania wydajnych procesorów. Chociaż chipy RISC mogły przewyższyć wysiłki Intela w niektórych obszarach, różnice nie były wystarczająco duże, aby przekonać klientów do zmiany technologii.

    Ogólna korzyść RISC

    Obecnie Intel x86 jest jedynym chipem, który utrzymuje architekturę CISC. Wynika to przede wszystkim z postępu w innych obszarach technologii komputerowej. Cena pamięci RAM spadła gwałtownie. W 1977 r. 1 MB pamięci DRAM kosztuje około 5000 USD. Do 1994 rokuTa sama ilość pamięci kosztuje tylko 6 USD (z inflacją). Technologia kompilatora stała się również bardziej złożona, więc wykorzystanie RISC RAM i nacisk na oprogramowanie stały się doskonałe.

    Filozofia zestawu instrukcji

    Nieporozumienie definicji RISK jest pomysłem, że procedury są eliminowane, co prowadzi do krótszego zestawu algorytmów. Przez wiele lat RISC wzrósł, a wiele z nich ma teraz szerszy zakres funkcji niż CPIS CISC. Termin "ograniczony zestaw procedur" odnosi się do opisu faktu, że objętość pracy wykonywanej przez każdą instrukcję jest zmniejszona (nie więcej niż jeden cykl pamięci) w porównaniu ze skomplikowanymi procedurami CISC, które wymagają kilkudziesięciu cykli w celu wykonania jednego polecenia. Architektura RISC zwykle ma oddzielne algorytmy I /O i manipulację danymi.

    Format instrukcji

    Większość architektur RISC ma instrukcje o stałej długości (zazwyczaj 32 bity) i proste kodowanie, co znacznie upraszcza próbkowanie, dekodowanie i wyjście logiczne. Jedną z wad instrukcji 32-bitowych jest zmniejszenie gęstości kodu, co jest niekorzystnym czynnikiem dla wbudowanych komputerów na stacjach roboczych i serwerach. Architektura RISC była pierwotnie przeznaczona do obsługi. Aby rozwiązać ten problem, kilka architektur, takich jak ARM, Power ISA, MIPS, RISC-V i Adipteva Epiphany, ma opcjonalny krótki format instrukcji lub funkcję kompresji poleceń. SH5 również podąża za tym wzorcem, chociaż rozwinął się w przeciwnym kierunku, dodając więcejmultimedialne instrukcje dla oryginalnego 16-bitowego kodowania.

    Korzystanie z wyposażenia

    Dla dowolnego poziomu ogólnej wydajności, układ RISC zwykle ma mniej tranzystorów zaprojektowanych dla podstawowej logiki, co początkowo pozwoliło projektantom zwiększyć rozmiar rejestrów i wewnętrzną paralelność. Inne funkcje często spotykane w architekturach RISC:
  • Średnia wydajność procesora jest zbliżona do jednej instrukcji na cykl.
  • Jedynym formatem instrukcji jest użycie jednego słowa z kodem operacji w tych samych pozycjach w celu uproszczenia dekodowania.
  • Wszystkie rejestry ogólnego przeznaczenia mogą być używane jako źródło /miejsce docelowe we wszystkich instrukcjach, co ułatwia ich kompilację (rejestry zmiennoprzecinkowe są często przechowywane oddzielnie).
  • Proste tryby ze złożonym adresowaniem wykonywane przez sekwencję poleceń.
  • ​​
  • Kilka rodzajów danych sprzętowych (takich jak ciąg bajtów lub BCD).
  • Projekty RISC zawierały także model pamięci Harvard, w którym zespoły i dane są koncepcyjnie rozdzielone. Oznacza to, że zmiana pamięci, w której przechowywany jest kod, może nie wpływać na instrukcje wykonywane przez procesor (procesor ma osobną pamięć podręczną poleceń i danych), dopóki nie zostanie wydana specjalna instrukcja synchronizacji. Z drugiej strony umożliwia równoczesny dostęp do pamięci podręcznych, co często zwiększa produktywność.

    Cechy architektury RISC

    Na początkowym etapie rozwoju branży programowania komputerówzostał przeprowadzony w języku asemblerowym lub kodzie maszynowym, co zachęciło do stosowania potężnych i łatwych w użyciu instrukcji. Dlatego programiści CPU próbowali zaprojektować algorytmy, które wykonają jak najwięcej pracy. Wraz z nadejściem języków wysokiego poziomu, architekci zaczęli tworzyć specjalne instrukcje dla bezpośredniego wprowadzenia pewnych centralnych mechanizmów. Drugi Ogólnym celem było zapewnienie wszelkich możliwych trybów adresowania dla każdego algorytmu znanego jako ortogonalności w celu ułatwienia wdrożenia kompilator.
    Stosunek do czasu było to, że konstrukcja sprzętu był bardziej dojrzały niż projekt kompilatora, ponieważ sama jest także realizacja przyczyną funkcjonalności w sprzęcie lub microcode, nie tylko w ograniczonym kompilator pamięci (lub jego kod został utworzony). Po pojawieniu RISC, takie podejście stało się znane jako złożonego zestawu instrukcji obliczenia lub CISC. Procesory były stosunkowo mało rejestry z kilku powodów:
  • wiele rejestrów zapewnia długoterminową konserwację i przywrócenie zawartości urządzenia stosu i wymaga dużej liczby bitów, jak spetsyfykatorov zespołów, czyli mniej gęsty kodu.
  • Rejestry CPU są droższe niż zewnętrzne komórki pamięci.
  • Ograniczona dostępność obwodów drukowanych lub układów scalonych.
    ,
  • Praktyczne zastosowanie

    RISC architektura procesora jest obecnie stosowany w szerokim zakresie platform z smartfony tabletek na niektóre zwysokowydajne superkomputery, takie jak komputer K (lider listy 500 najlepszych w 2011 r.). Na początku XXI wieku większość niskoprofilowych i mobilnych systemów opierała się na architekturze RISC. Przykłady:
  • Architektura ARM dominuje na rynku systemów wbudowanych o niskim poborze mocy i tanich (200-1800 MHz w 2014 roku). Jest on stosowany w wielu systemach większościowych Android, Apple iPhone i iPad, Microsoft Windows Phone Windows Mobile (dawniej), obręczy urządzenie (topic.risc.arhitektura), Nintendo Game Boy Advance, DS /3DS i Switch.
  • Linia MIPS (w pewnym momencie używane w wielu komputerach SGI), a teraz - PlayStation, PlayStation 2 Nintendo 64 (ipb.risc.arhitektura), konsole PlayStation Portable gry i bramy dla takich pomieszczeń jako Linksys WRT54G.
  • Hitachi SuperH stosowany w Sega Super 32X, Saturn i Dreamcast (viewtopic.php.risc.arhitektura) opracowali i sprzedawany jako Renesas SH4.
  • Atmel AVR stosowane w różnych linii produkcyjnych, z przenośnych kontrolerów Xbox do samochodów BMW.
  • RISC V (vbulletin.risc.arhitektura), piątego Berkeley RISC ISA Open Source 32-bitowej przestrzeni adresowej, mała rdzeń zestawu instrukcji całkowitą eksperymentalny „Podsumowanie» gęstości ISA kodu i przeznaczone do rozszerzenia standardowego i specjalnego.
  • Stacje robocze, serwery i superkomputery.
  • MIPS (powered.by.smf.risc.arhitektura) Silicon Graphics (2006 kończy się w tworzeniu systemów opartych na MIPS).
  • SPARC Oracle (dawniej Sun Microsystems) Fujitsu (phorum.risc.arhitektura).
  • Architektura IBM Power Architecture, stosowanych w większości superkomputerĂłw IBM średnie serwerów poziomu i urządzeniach końcowych.
  • PA-RISC Hewlett-Packard(Phpbb.risc.arhitektura), określane również jako HP-PA (przerwane pod koniec 2008 roku).
  • Alpha, stosowany w jednopłytowe komputerów, stacji roboczych, serwerów i superkomputerów z Digital Equipment Corporation, Compaq HP (przerwane w 2007 roku).
  • RISC V (powered.by.phpbb.risc.arhitektura), piątego Berkeley RISC ISA open source, 64 lub 128-bitowej przestrzeni adresowej i cały rdzeń, rozszerzone zmiennoprzecinkowych atomizacja i przetwarzanie wektorowe, i ma na celu poszerzenie o instrukcje dla sieci, input-output, przetwarzanie danych. 64-bitowy superskalarowy projekt Rocket jest dostępny do pobrania.
  • Porównanie z innych architekturach

    Niektóre procesory zostały zaprojektowane z bardzo małego zestawu instrukcji, ale te struktury różnią się znacznie od tradycyjnych RISC architektur, ponieważ były one stosowane inne dane, takie jak minimalny zestaw poleceń (różne) lub Transport Initiated Architecture (TTA).
    Architektura RISC tradycyjnie miały niewielki sukces w rynku komputerów stacjonarnych i serwerów towarowych gdzie platform opartych na procesorach x86 architektury są dominujące. Może się to jednak zmienić, ponieważ procesory oparte na ARM są opracowywane dla systemów o wyższej wydajności. Producentów, w tym Cavium, AMD i Qualcomm, wydany procesory serwerowe oparte na architekturze ARM. ARM współpracowało również z Cray w 2017 roku, aby stworzyć superkomputer oparty na architekturze ARM. Lider Spółka z branży komputerowej, Microsoft ogłosił, że we współpracy z Qualcomm w 2017 roku planowane jest wsparcie wersji PC z systemem Windows 10 urządzeń opartych na Qualcomm Snapdragon.Te urządzenia będą obsługiwać oprogramowanie Win32 oparte na procesorze x86, używając emulatora procesora x86. Jednak poza areną komputerów stacjonarnych architektura ARIS RISC jest szeroko stosowana w smartfonach, tabletach i wielu formach wbudowanego urządzenia. Ponadto procesor Intel Pentium Pro (P6) wykorzystuje wewnętrzny procesor RISC do swoich procesorów. Podczas gdy pierwotny rozwój architektury procesorów RISC znacznie różni się od innowacyjnych projektów CISC, do 2000 r. Najbardziej wydajne procesory RISC są prawie takie same, jak najbardziej wydajne procesory w linii CISC.

    Powiązane publikacje