Jednočipový počítač Super Harvard Architecture - Super Harvard Architecture Single-Chip Computer

Super Harvard Architektura Single-Chip Computer ( SHARC ) je vysoce výkonný plovoucí desetinnou čárkou a pevnou řádovou čárkou DSP od Analog Devices . SHARC se používá v různých aplikacích pro zpracování signálu, od dělostřeleckých granátů řízených jedním CPU až po počítače s radarem zpracovávajícím radar přes 1000 obzorů. Původní design se datuje zhruba na leden 1994.

Procesory SHARC jsou nebo byly použity, protože nabízejí dobrý výkon s plovoucí desetinnou čárkou na watt .

Procesory SHARC jsou obvykle určeny k tomu, aby měly dobrý počet sériových odkazů na další blízké procesory SHARC, které se používají jako nízkonákladová alternativa k SMP .

Architektura

SHARC je procesor VLIW zaměřený na architekturu Harvardské architektury ; neví nic o 8bitových nebo 16bitových hodnotách, protože každá adresa se používá k ukazování na celé 32bitové slovo, nejen na oktet . Není tedy ani malý endian, ani velký endian, ačkoli kompilátor může použít kteroukoli konvenci, pokud implementuje 64bitová data a / nebo nějaký způsob, jak zabalit více 8bitových nebo 16bitových hodnot do jediného 32bitového slova. Analog Devices se rozhodli vyhnout problému pomocí 32bitového znaku v jejich kompilátoru C.

Velikost slova je 48-bit pro instrukce, 32-bit pro celá čísla a normální s plovoucí desetinnou čárkou a 40-bit pro rozšířenou plovoucí desetinnou čárkou. Kód a data se obvykle načítají z paměti na čipu, kterou musí uživatel podle potřeby rozdělit na oblasti různých velikostí slov. Malé datové typy mohou být uloženy v širší paměti, což jednoduše zbytečně ztrácí místo. Systém, který nepoužívá 40bitovou rozšířenou plovoucí desetinnou čárku, může rozdělit paměť na čipu na dvě části, 48bitovou pro kód a 32bitovou pro všechno ostatní. Většina instrukcí CPU souvisejících s pamětí nemá přístup ke všem bitům 48bitové paměti, ale pro tento účel je k dispozici speciální 48bitový registr. Ke speciálnímu 48bitovému registru lze přistupovat jako dvojice menších registrů, což umožňuje pohyb do a z normálních registrů.

S čipem SHARC lze použít paměť mimo čip. Tuto paměť lze konfigurovat pouze pro jednu jedinou velikost. Pokud je paměť mimo čip nakonfigurována jako 32bitová slova, aby nedocházelo k plýtvání, může být pro provádění kódu a rozšířenou plovoucí desetinnou čárkou použita pouze paměť na čipu. Operační systémy mohou k překonání tohoto problému použít překrytí a podle potřeby přenášet 48bitová data do paměti na čipu. K tomu je k dispozici modul DMA . Skutečné stránkování není možné bez externí MMU .

SHARC má 32bitový adresní prostor adresovaný slovům. V závislosti na velikosti slova je to 16 GB, 20 GB nebo 24 GB.

Pokyny SHARC mohou obsahovat 32bitový okamžitý operand. Pokyny bez tohoto operandu jsou obecně schopné provádět dvě nebo více operací současně. Mnoho pokynů je podmíněných a může jim předcházet „if podmínka “ v jazyce sestavení . Existuje celá řada možností podmínek , podobně jako možnosti poskytované registrem příznaků x86 .

K dispozici jsou dva sloty pro zpoždění . Po skoku budou normálně provedeny dva pokyny následující po skoku.

Procesor SHARC má integrovanou podporu pro ovládání smyčky. Lze použít až 6 úrovní, aby se předešlo potřebě běžných pokynů větvení a běžného účetnictví souvisejícího s výstupem ze smyčky.

SHARC má dvě úplné sady univerzálních registrů. Kód může mezi nimi okamžitě přepínat, což umožňuje rychlé kontextové přepínání mezi aplikací a OS nebo mezi dvěma vlákny.

Viz také

externí odkazy