1. Architektura procesorów CISC kontra RISC
Wśród aktualnie produkowanych procesorów obserwujemy dwa typy procesorów: procesory typu CISC (od ang. Compound Instruction Set Computer - komputery o złożonej liście rozkazów) oraz procesory typu RISC (od ang. Reduced Instruction Set Computer - komputery o zredukowanej liście rozkazów).
Procesory typu CISC mają następujące cechy architekturalne:
- Rozbudowana lista rozkazów zawierająca od 100 do 300 rozkazów wewnętrznych.
- Wiele rozkazów wewnętrznych ma skomplikowana treść operacyjną, realizują one w jednym rozkazie skomplikowane operacje łączące dostępy do pamięci operacyjnej z przetwarzaniem danych.
- Duża liczba trybów adresowania dostępna w rozkazach wewnętrznych, od 5 do 20.
- Mała liczba rejestrów roboczych w procesorze, od kilku do kilkunastu.
- Formaty rozkazów wewnętrznych zróżnicowane pod względem: podziału na pola, długości słowa rozkazowego i liczby argumentów.
- Zróżnicowane czasy wykonania rozkazów - od jednego do wielu cykli zegara.
- Układ sterowania procesora jest przeważnie mikroprogramowany.
Badania statystyczne wykonane w latach 80-tych nad stopniem wykorzystania instrukcji CISC w typowych programach, pisanych przez programistów lub generowanych przez kompilator, wykazały, że pokaźny procent skomplikowanych rozkazów CISC (70%) nie jest wykorzystywany i największe wykorzystanie dotyczy prostych rozkazów. To spowodowało powstanie koncepcji architektury procesora o uproszczonej liście rozkazów.
Procesory typu RISC mają następujące cechy architekturalne:
- Ograniczona lista rozkazów, zawierająca do 128 rozkazów wewnętrznych.
- Rozkazy wewnętrznych mają prostą treść operacyjną, realizują one osobno operacje dostępu do pamięci operacyjnej i operacje przetwarza danych w rejestrach.
- Mała liczba trybów adresowania dostępna w rozkazach wewnętrznych, do 4.
- Duża liczba rejestrów roboczych w procesorze, od 32 do 256.
- Mała liczba formatów rozkazów wewnętrznych, jednakowa długość słowa rozkazowego - często odpowiadająca pojedynczemu słowu.
- Ujednolicony czas wykonania rozkazów - od jednego do kilku cykli zegara.
- Układ sterowania procesora jest sprzętowy.
Termin RISC został zaproponowany na Uniwersytecie Kalifornijskim w Berkeley, jako nazwa pierwszych komputerów RISC I oraz RISC II, zbudowanych tam w pierwszych latach 80-tych w oparciu o scalone procesory w technologii VLSI. Firma IBM wyjawiła, że komputer IBM 801, zbudowany w końcu lat 70-tych, miał architekturę zbliżoną do RISC. Koncepcja procesorów RISC była następnie podjęta przez firmę MIPS w Kalifornii (seria komputerów R xx000) oraz z czasem przez wszystkich innych producentów mikroprocesorów.
Podane wyżej cechy architekturalne procesorów CISC mają konsekwencje w postaci bardzo rozbudowanego układu sterującego komputera. Przy realizacji komputera w technologii VLSI, układ sterowania zajmuje często ponad 60% powierzchni całego układu scalonego procesora. Ze względu na interpretację rozkazów CISC przez mikrorozkazy, czasy wykonania tych rozkazów są znacznie dłuższe niż rozkazów RISC. W mikroprocesorach typu RISC dekodowanie rozkazów jest bardzo uproszczone w porównaniu z komputerami CISC. Układ sterujący jest uproszczony i zajmuje kilkanaście procent powierzchni układu scalonego procesora.
Ponieważ komputery RISC stosują znacznie prostsze rozkazy wewnętrzne, skompilowane programy dla tych komputerów są dłuższe i zajmują więcej miejsca w pamięci niż ekwiwalentne programy komputerów CISC. Badania wykazują, że wykonanie programów skompilowanych z języków wysokiego poziomu jest szybsze w komputerach RISC, natomiast programy napisane przez programistę w języku asemblera wykonują się szybciej w komputerach CISC.
Komputery CISC były rozwijane w ciągu ostatnich 30 lat przez wiele firm, z których najbardziej znane są amerykańskie firmy Intel i Motorola. Intel jest producentem serii procesorów Intel x86, które stanowiły i stanowią podstawę komputerów personalnych IBM PC. Motorola jest producentem serii komputerów MC 68xxx, które stanowią podstawę komputerów personalnych Macintosh firmy Apple, bardzo popularnych w USA i Europie Zachodniej.
W najbliższych punktach wykładu prześledzimy rozwój architektury procesorów CISC firmy Intel.