Multiprocesorové systémy
Multiprocesorové systémy vznikly z důvodu zvýšení výkonnosti počítačů, protože jednoprocesorové systémy svým výkonem již přestaly dostačovat. Tyto systémy bývají ve velké většině typu MIND, to je systémy u nichž každý procesor zpracovává jiná data podle svého programu. K důležitým charakteristikám multiprocesorového systému patří počet procesorů. Hlavním problémem byl vhodný poměr ceny a výkonu při velkém počtu procesorů a vhodné spojovací síti. Problém se podařilo vyřešit formou minisuperpočítačů, které byly populární pro vysokou výkonnost a relativně nízkou cenu.
Multiprocesorové systémy se uplatňují v mnoha oblastech techniky jednak z důvodu vysokého výkonu, ale též jako zálohované systémy s vysokou spolehlivostí a bezpečností. To proto, že obsahují množství paralelně pracujících procesorů, které lze využít při paralelním chodu jako zálohu. Systémy se třídí podle nejrůznějších kritérií z nichž nejpoužívanější je způsob komunikace procesorů s pamětí a to : těsně vázané multiprocesorové systémy volně vázané multiprocesorové systémy
Těsně vázané multiprocesorové systémy Těsně vázané multiprocesorové systémy jsou takové systémy, které mají procesory jež nejsou vybaveny pamětí buď vůbec, nebo ji mají velmi malou. Paměťové moduly a periferní zařízení jsou pro všechny procesory společné a jsou většinou střídavě využívány. K jejich vzájemnému libovolnému propojení včetně propojení s periferními zařízeními a pamětmi se používají propojovací sítě. Procesory jsou propojeny ještě sítí přerušovacích signálů. Sítě jsou realizovány jako dynamické.
Tyto systémy se dělí na systémy propojené : sdílenou pamětí sběrnicí přepínačem
Systémy propojené sdílenou pamětí Procesory v tomto systému mezi sebou komunikují též pomocí dat, které se zapisují do paměti a pomocí přerušovacích signálů přes síť přerušovacích signálů. Tento způsob komunikace je velmi rychlý a proto se tyto systémy používají pro řešení úloh kladoucích značné nároky nejen na rozsah komunikace, ale i na její rychlost. Proto aby nevznikaly problémy při komunikaci například při použití přepínačů, je u každého procesoru použita vyrovnávací paměť (viz následující obrázek). Systém je sice složitější, ale je bezpečný. Jeden každý procesor je připojen na síť paměťových modulů přes jednotku překladu adresy. K této jednotce je připojena část přímo adresovatelné paměti, ve které je jádro operačního systému pro daný procesor.
Mezi počítačové systémy propojené sdílenou pamětí patří například superpočítače vyráběné firmou CRAY. Jednalo se o zdokonalení jednoprocesorového počítače Cray-1, takže vznikl nejprve dvouprocesorový model Cray X-MP s 5x vyšší výkonností a později čtyřprocesorový superpočítač s 8 moduly paměti a typovým označením Cray X-MP48 (viz následující obrázek). Tento superpočítač měl výkonnost o řád větší než Cray-1.
Architektura superpočítače Cray X-MP
Systémy propojené sběrnicí Společná sběrnice je běžným spojovacím prostředkem. Bývá používána v multiprocesorových systémech, může tam ale omezovat výkonnost systému, protože ji lze lehce přetížit. Běžně se používá jen s několika procesory.
Systémy propojené přepínačem Tyto systémy mají skoro úplnou volnost při vzájemném propojení 2 libovolných částí. Přepínač je ale značně finančně náročná záležitost, takže propojení většího počtu procesorů je neúměrně náročné a tím i drahé. Z tohoto důvodu je tento systém používán jen u nejvýkonnějších systémů.
Systémy propojené přepínačem
Volně vázané multiprocesorové systémy V těchto systémech má každý procesor velkou lokální paměť, často i s vlastními periferními zařízeními a velkým stupněm autonomie. To z toho důvodu, že lokální paměť obsahuje program i data příslušného procesoru, kterým mají být zpracována. Počítačová síť a volně vázaný multiprocesorový systém se vzájemně velmi podobají a je obtížné mezi nimi určit přesnou hranici. Jako takové jsou nejdůležitější rysy multiprocesorového systému následující : má jen 1 operační systém řeší jen 1 úlohu v daném čase vzdálenosti prvků jsou maximálně jen v desítkách centimetrů
Procesory mezi sebou komunikují formou zpráv přenášených po síti přes překladač adres, který má schopnosti řešit problémy při přístupu na propojovací síť. Šířka propojovací sítě je obvykle malá, většinou to bývá 1 bit. Z tohoto důvodu nejsou tyto systémy vhodné pro vzájemnou silnou spolupráci mezi paralelními procesy. Propojovací síť může být různě složitá. Od jednoduché sběrnice až po víceúrovňový propojovací systém. Tyto propojovací sítě se používají v převážné míře jako statické propojovací sítě.
Vývoj těchto systémů byl opožděn, protože řízení několika vlastně kompletních počítačů na jedné úloze je mnohem složitější než řízení několika procesorů sdílející stejná data nehledě již na cenu.
Architektura volně vázaného systému
Volně vázaný systém se sběrnicí
Transputerové systémy V 80. letech se objevila řada vývojových tendencí a to nejen s větší šířkou dat, rychlostí a lepšími funkcemi. Vyskytly se i pokusy o vytváření větších celků na čipu, což jsou specializované zakázkové obvody. Jsou to například signálové procesory (typ D77P20 firmy NEC), procesory pro manipulaci s daty atd. V roce 1985 byla uvedena na trh mikropočitačová stavebnice, její nejdůležitější prvek byl nazván transputer. Název vznikl ze slov tranzistor a computer. Jedná se vlastně o úplný počítač na čipu, který je však jen základní součástkou.
Stavebnice obsahuje 4 základní řady součástek a to : transputery transputery pro řízení paměti grafické transputery komunikační adaptery
Pro tyto nové součástky, transputery byl vyvinut speciální programovací jazyk OCCAM. Jazyk umožňuje popisovat paralelní procesy, které probíhají v několika transputerech současně. Příklad takovéhoto transputeru je typ 9000 firmy Inmos.
Má 32bitový procesor, 64bitovou jednotku s pohyblivou řádovou čárkou, 4 komunikační linky a 16 kB vyrovnávací paměť pro data i instrukce. Zápisníková paměť je umístěna přímo v ALU. Obsahuje též časovače a speciální procesor virtuálních kanálů. Tento procesor pak na 4 komunikačních linkách umožňuje v multiplexním režimu vlastně neomezený počet komunikačních kanálů. Vyrovnávací paměť je tvořena 4 nezávislými bloky z nichž každý obsahuje 256 řádků po 4 slovech, adresu délky 24 bitů včetně 2 bitů příznaků označujících platnost příslušného řádku a změnu jeho obsahu. Vyrovnávací paměť je připojena pomocí přepínače tak, že k ní má přístup několik jednotek umístěných na čipu.
Aplikace transputerů Aplikace transputerů mají široké použití tam, kde je třeba řídit paralelní procesy. Komunikační linky umožňují vytvářet paralelní systémy jen z transputerů. Takovéto základní zapojení vytváří pravidelná mřížka.
Pokud je třeba vytvořit vysoce výkonný a spolehlivý systém, pak se nahradí každý z transputerů čtveřicí transputerů, kde jsou transputery zapojeny do úplného grafu. V úplném grafu pak komunikuje každý transputer s každým při čemž se celá čtveřice chová jako 1 transputer. Takovýto transputer má pak 4násobnou výkonnost.