# Reduced instruction set computer

Procesor HP PA-RISC 7300LC
**Reduced instruction set computer**, skrátene **RISC** (doslova *počítač s obmedzenou sadou inštrukcií*) je architektúra procesorov s priamočiarym vykonávaním pomerne jednoduchých inštrukcií.

## Vznik

Pri rozvoji mikroprocesorov, z ktorých mnohé mali mikrokódovú CISC architektúru, a ktorých inštrukčná sada obsahovala aj pomerne zložité inštrukcie, sa ukázalo, že veľká časť zložitejších inštrukcií je využívaná v bežných programoch len zriedkavo. Súčasne sa hľadala aj cesta pre zjednodušenie architektúry procesora, aby bolo možné zmenšiť plochu čipu a tým aj cenu mikroprocesora.

Aj keď názov naznačuje, že procesor RISC pozná len obmedzené množstvo inštrukcií, nemusí tomu nevyhnutne byť tak. Podstatná je skôr jednoduchá štruktúra inštrukcie a najmä jeho priamočiare vykonávanie, bez mikrokódu. Z toho vyplývajú základné znaky RISC procesorov:

* väčšina inštrukcií má rovnakú dĺžku
* väčšina inštrukcií sa vykonáva v jednom inštrukčnom cykle
* procesor má sadu (niekoľko desiatok) rovnocenných registrov (CISC procesory majú obvykle špecializované registre, napr. akumulátor pre aritmetické operácie, niekoľko špecializovaných registrov pre ukazovatele a pod.)
* nad dátovou pamäťou nie je možné vykonávať zložitejšie operácie než načítanie a uloženie (tzv. *load-store* architektúra); tie sú však podporované autoinkrementom/autodekrementom registra slúžiaceho ako ukazovateľ pred/po vykonaní prenosovej inštrukcie.

Z jednoduchosti architektúry vyplýva aj jednoduchá implementácia moderných prvkov zvyšujúcich výkon procesora, napr. pipelining.

V skutočnosti už niektoré prvotné 8-bitové architektúry vykazovali známky RISC, napr. rodina procesorov 6800/6502.

## VLIW

Postupy použité v architektúre RISC sú „dovedené do dokonalosti“ architektúrou **VLIW** (angl. Very Long Instruction Word, veľmi dlhé inštrukčné slovo). Využíva sa nezvyčajne široké inštrukčné slovo (128-256 bitov), v ktorom každá súčasť inštrukcie (typ, operandy, podmienky, skoková adresa) má presne vyhradené miesto aj za tú cenu, že nie vo všetkých inštrukciách sa využijú všetky tieto súčasti (t. j. sa „plytvá“ bitmi). Dôsledkom je mimoriadne jednoduchá štruktúra samotného procesora, ktorý takto môže byť o niečo výkonnejší (príp. pri tej istej výkonnosti môže mať menšiu spotrebu). Táto architektúra je však kvôli širokým zberniciam nepraktická pre použitie v zložitejšom systéme a praktické použitie má len v niektorých zvláštnych aplikáciách (pozri Transmeta).

## Typy

### ARM

Tento 32-bitový RISC procesor vznikol v britskej spoločnosti Acorn (*ARM* je pôvodne skratka z *Acorn Risc Machine*) ako pokus o výkonný procesor pre pracovnú stanicu spájajúcu sieť 8-bitových školských počítačov nazývaných BBC computer (pozri aj Acorn Archimedes, RISC-OS). Inšpirovaný bol procesorom 6502 (na ktorých bol počítač BBC computer založený) a kuriózne bol počas jeho vývoja (na modelovanie a simuláciu) použitý jazyk BASIC.
Neskôr vývoj procesora ARM prešiel pod samostatnú firmu rovnakého mena, ktorá samostatné procesory už nevyrába, ale ponúka ich ako IP jadro. V súčasnosti je jadro ARM ponúkané v obvodoch niekoľkých desiatok firiem v podobe mikroprocesora, mikrokontroléra, SoC obvodu aj ako zabudovaný kontrolér ASIC obvodov.

### SPARC

#### LEON

Modifikácia architektúry SPARC vyvinutá pre ESA pre použitie v kozme. Využíva návrhové prvky, ako napr. priebežná hardwarová kontrola integrity spracovaných dát, pre dosiahnutie vyššej radiačnej odolnosti (*radiation hardened*).

### AVR

AVR je 8-bitové procesorové jadro, ktoré vyvinula nórska pobočka firmy Atmel pre svoje mikrokontroléry.
Jadro AVR obsahuje 32 8-bitových registrov, pre väčšinu inštrukcií rovnocenných (aj keď niektoré inštrukcie môžu využívať len 16 registrov). Architektúra je typu load-store (t. j. na vykonanie aritmeticko-logických inštrukcií je potrebné dáta načítať z pamäte do registrov a výsledok uložiť späť do pamäte). Má harvardskú architektúru (t. j. oddelenú pamäť programu a dátový pamäťový priestor), využíva pipelining, a väčšina 16-bitových inštrukcií sa vykonáva v jedinom hodinovom takte. Vyššie modely (nazývané ATMega) majú integrovanú aj hardwarovú násobičku/deličku a podporujú aj pripojenie externej dátovej pamäte.

## Zneužívanie pojmu RISC

Niektoré typy procesorov sa nazývajú RISC, aj keď nespĺňajú uvedené základné znaky, len na základe faktu, že majú implementovaný nezvykle malý počet inštrukcií.

## Pozri aj

* CISC
* ZISC
* Mikrokontrolér