SuperH - SuperH

SuperH (SH)
Návrhář Hitachi Ltd.
Bity 32bitový (32 → 64)
Představeno 90. léta 20. století
Design RISC
Kódování SH2: 16bitové instrukce; SH2A a novější: smíšené 16- a 32bitové instrukce
Endianness Bi
Otevřeno Ano, bez licenčních poplatků

SuperH (nebo SH ) je 32-bitové redukovanou instrukční sadou (RISC) architektury sad instrukcí (ISA) od Hitachi a v současné době vyrábí Renesas . Je implementován mikrokontroléry a mikroprocesory pro vestavěné systémy .

V době představení byl SuperH pozoruhodný tím, že navzdory své 32bitové architektuře měl 16bitové instrukce s pevnou délkou. To byl neotřelý přístup; v té době procesory RISC vždy používaly velikost instrukce, která byla stejná jako interní šířka dat, obvykle 32 bitů. Použití menších instrukcí mělo důsledky, soubor registru byl menší a pokyny byly obecně ve formátu dvou operandů. Ale pro trh, na který byl SuperH zaměřen, to byla malá cena za lepší účinnost paměti a procesoru .

Pozdější verze návrhu, počínaje SH-5, obsahovaly jak 16-, tak 32bitové instrukce, přičemž 16bitové verze mapovaly na 32bitovou verzi uvnitř CPU. To umožnilo strojovému kódu pokračovat v používání kratších instrukcí k úspoře paměti, aniž by to vyžadovalo množství potřebné logiky dekódování instrukcí, pokud šlo o zcela oddělené instrukce. Tento koncept je nyní známý jako komprimovaná sada instrukcí a používají ji i jiné společnosti, přičemž nejpozoruhodnějším příkladem je ARM pro její sadu instrukcí Thumb .

V roce 2015 vypršela platnost mnoha původních patentů na architekturu SuperH a procesor SH-2 byl znovu implementován jako open source hardware pod názvem J2 .

Dějiny

SH-1 a SH-2

SH-2 na Sega 32X a Sega Saturn

Rodina procesorů SuperH byla poprvé vyvinuta společností Hitachi na počátku 90. let minulého století. Koncept návrhu byl pro jedinou instrukční sadu (ISA), která by byla směrem nahoru kompatibilní přes řadu jader CPU .

V minulosti by tento druh konstrukčního problému byl vyřešen pomocí mikrokódu , přičemž modely nižší třídy v řadě provádějí neimplementované instrukce jako řadu více základních instrukcí. Například instrukce k provedení násobení 32 x 32-> 64 bitů, "dlouhé násobení", může být implementována v hardwaru u modelů vyšší třídy, ale místo toho může být provedena jako řada přídavků u modelů nižší třídy.

Jednou z klíčových realizací během vývoje konceptu RISC bylo, že mikrokód měl omezený čas dekódování, a jak se procesory zrychlovaly, představovalo to nepřijatelnou režii výkonu. Aby se to vyřešilo, společnost Hitachi místo toho vyvinula jeden ISA pro celou linku, přičemž nepodporované pokyny způsobovaly pasti na těch implementacích, které neobsahovaly hardwarovou podporu. Počáteční modely v řadě, SH-1 a SH-2, se například lišily pouze podporou 64bitového násobení; SH-2 podporoval MUL, DMULSa DMULUzatímco SH-1 by způsobil past, kdyby na ně narazil.

ISA používá 16bitové instrukce pro lepší hustotu kódu než 32bitové instrukce, což byl v té době velký přínos, kvůli vysokým nákladům na hlavní paměť . Temnější stránkou tohoto přístupu bylo, že bylo k dispozici méně bitů pro kódování čísla registru nebo konstantní hodnoty. V SuperH ISA bylo pouze 16 registrů, které vyžadovaly čtyři bity pro zdroj a další čtyři pro cíl. Samotná instrukce byla také čtyřbitová, takže další čtyři bity zůstaly nezúčtovány. Některé instrukce používaly tyto poslední čtyři bity pro offsety v přístupech k poli, zatímco jiné kombinovaly druhý slot registru a poslední čtyři bity k vytvoření 8bitové konstanty.

Původně byly představeny dva modely. Základní model byl SH-1, který podporoval celkem 56 instrukcí. SH-2 přidal 64bitové násobení a několik dalších příkazů pro větvení a další povinnosti, čímž se celkový počet zvýšil na 62 podporovaných pokynů. SH-1 a SH-2 byly použity v Sega Saturn , Sega 32X a Capcom CPS-3 .

SH-3

O několik let později bylo do rodiny přidáno jádro SH-3; nové funkce zahrnovaly další koncept přerušení, jednotku správy paměti (MMU) a upravený koncept mezipaměti. Tyto funkce vyžadovaly rozšířenou sadu instrukcí a přidaly šest nových instrukcí pro celkem 68. SH-3 byl bi-endian a běžel buď v uspořádání bytů big-endian, nebo small-endian.

Jádro SH-3 také přidalo rozšíření DSP , tehdy nazývané SH-3-DSP. Díky rozšířeným datovým cestám pro efektivní zpracování DSP, speciálním akumulátorům a vyhrazenému DSP enginu typu MAC toto jádro sjednotilo svět procesorů DSP a RISC. S původním jádrem SH-2 byl také použit derivát DSP.

V letech 1994 až 1996 bylo celosvětově dodáno 35,1 milionu zařízení SuperH.

SH-4

V roce 1997 začaly společnosti Hitachi a STMicroelectronics (STM) spolupracovat na návrhu SH-4 pro Dreamcast . SH-4 představoval provádění superskalárních ( 2cestných ) instrukcí a vektorovou jednotku s plovoucí desetinnou čárkou (vhodná zejména pro 3D grafiku ). Standardní čipy založené na SH-4 byly představeny kolem roku 1998.

Licencování

Na začátku roku 2001 založily Hitachi a STM IP společnost SuperH, Inc., která se chystala licencovat jádro SH-4 jiným společnostem a vyvíjela architekturu SH-5, první přesun SuperH do 64bitové oblasti. Dřívější SH-1 až 3 zůstaly majetkem Hitachi.

V roce 2003 založily společnosti Hitachi a Mitsubishi Electric společný podnik s názvem Renesas Technology , přičemž 55% z nich ovládala společnost Hitachi. V roce 2004 koupila společnost Renesas Technology podíl společnosti STMicroelectronics na společnosti SuperH Inc. a s ní licenci na jádra SH. Renesas Technology později se stal Renesas Electronics, po jejich sloučení s NEC Electronics .

Design SH-5 podporoval dva režimy provozu. Režim SHcompact je ekvivalentní instrukcím uživatelského režimu sady instrukcí SH-4. Režim SHmedia je velmi odlišný, používá 32bitové instrukce s šedesáti čtyřmi 64bitovými celočíselnými registry a instrukce SIMD . V režimu SHmedia je cíl pobočky (skok) načten do větvového registru odděleně od skutečné instrukce větve. To umožňuje procesoru předběžně načíst pokyny pro větev, aniž by museli sledovat instrukční tok. Kombinace kompaktního 16bitového kódování instrukcí s výkonnějším 32bitovým kódováním instrukcí není jedinečná pro SH-5; Procesory ARM mají 16bitový režim Thumb (ARM licencovalo několik patentů od SuperH for Thumb) a procesory MIPS mají režim MIPS-16. SH-5 se však liší, protože jeho režim zpětné kompatibility je spíše 16bitové kódování než 32bitové kódování.

Poslední evoluční krok se odehrál kolem roku 2003, kdy se jádra od SH-2 až po SH-4 sjednotila do superskalárního jádra SH-X, které tvořilo jakousi nadmnožinu instrukčních sad předchozích architektur a přidalo podporu pro symetrické multiprocesing .

Pokračující dostupnost

Od roku 2010 jsou jádra, architektura a produkty SuperH s Renesas Electronics a architektura je konsolidována kolem platforem SH-2, SH-2A, SH-3, SH-4 a SH-4A. Produkty System-on-chip založené na mikroprocesorech SH-3, SH-4 a SH-4A byly následně nahrazeny novějšími generacemi na základě licencovaných jader CPU od společnosti Arm Ltd. , přičemž řada stávajících modelů byla stále prodávána a prodávána do března 2025 prostřednictvím programu dlouhověkosti produktů Renesas.

Od roku 2021 budou mikrokontroléry SH72xx založené na SH-2A nadále nabízeny společností Renesas se zaručenou dostupností do února 2029 spolu s novějšími produkty založenými na několika dalších architekturách včetně Arm , RX a RH850 .

J Jádro

Platnost posledního z patentů SH-2 vypršela v roce 2014. Na LinuxCon Japan 2015 představili vývojáři j-core reimplementaci SH-2 ISA s čistým prostorem s rozšířením (kvůli nevyčerpaným ochranným známkám známým jako „jádro J2“ ). Následně byl na ELC 2016 představen návrhový návod.

Open source BSD licencí VHDL kód J2 jádro bylo prokázáno na Xilinx FPGA a ASIC vyráběných na TSMC je nm 180 procesu, a je schopen zavedení μClinux . J2 je zpětně ISA kompatibilní s SH-2, implementován jako 5stupňový kanál se samostatnými rozhraními instrukcí a datové paměti a strojem generovaný instrukční dekodér podporující hustě zabalený a složitý (vzhledem k ostatním strojům RISC) ISA. Další pokyny lze snadno přidat. J2 implementuje instrukce pro dynamický posun (pomocí SH-3 a novějších instrukčních vzorů), rozšířené atomové operace (používané pro navlékání primitiv) a zamykání/rozhraní pro symetrickou podporu více procesorů. Platnost plánů implementace instrukčních sad SH-2A (jako „J2+“) a SH-4 (jako „J4“) jako příslušných patentů vyprší v letech 2016–2017.

Jako motivace pro navrhování nových jader založených na této architektuře bylo uvedeno několik funkcí SuperH:

  • Vysoká hustota kódu ve srovnání s jinými 32bitovými RISC ISA, jako jsou ARM nebo MIPS, důležité pro výkon šířky pásma a mezipaměti paměti
  • Podpora existujícího kompilátoru a operačního systému ( Linux , Windows Embedded , QNX )
  • Extrémně nízké náklady na výrobu ASIC , když vyprší platnost patentů (přibližně 0,03 USD za dvoujádrové jádro J2 na 180 nm procesu TSMC).
  • Implementace patentů a licenčních poplatků (s licencí BSD)
  • Plná a živá podpora komunity
  • Dostupnost levné platformy pro vývoj hardwaru pro nástroje FPGA s nulovými náklady
  • Nástroje pro generování a integraci CPU a SoC RTL, produkující přenosný RTL a dokumentaci FPGA a ASIC
  • Čistý, moderní design s otevřeným designem, generováním, simulací a ověřovacím prostředím

Modely

CPU Hitachi SH-3

Rodina jader SuperH CPU obsahuje:

  • SH-1-používá se v mikrokontrolérech pro hluboce zabudované aplikace (jednotky CD-ROM , hlavní zařízení atd.)
  • SH -2 - používá se v mikrokontrolérech s vyššími požadavky na výkon, používá se také v automobilovém průmyslu, jako jsou řídicí jednotky motorů nebo v síťových aplikacích, a také v herních konzolách, jako je Sega Saturn . SH-2 také našel domov v mnoha aplikacích řídicí jednotky motorů automobilů , včetně Subaru , Mitsubishi a Mazda .
  • SH-2A-Jádro SH-2A je rozšířením jádra SH-2 včetně několika dalších instrukcí, ale co je nejdůležitější, přechází do superskalární architektury (je schopna vykonat více než jednu instrukci v jednom cyklu) a dvou pěti- etapové potrubí. Obsahuje také 15 registrových bank, které zajišťují latenci přerušení 6 hodinových cyklů. Je také silný v aplikacích řízení motoru, ale také v multimédiích, automobilovém audiu, hnacím ústrojí, ovládání karoserie automobilu a automatizaci kanceláří a budov
  • SH -DSP - původně vyvinut pro trh mobilních telefonů , později použit v mnoha spotřebitelských aplikacích vyžadujících výkon DSP pro kompresi JPEG atd.
  • SH -3 - používá se pro mobilní a ruční aplikace, jako je Jornada , silný v aplikacích Windows CE a na trhu po mnoho let na trhu automobilových navigací. Cave CV1000 , podobně jako Sega Naomi CPU Hardware, také použití tohoto procesoru. Hudební produkční jednotky Korg Electribe EMX a ESX také používají SH-3.
  • SH-3-DSP-používá se hlavně v multimediálních terminálech a síťových aplikacích, také v tiskárnách a faxech
  • SH-4-používá se tam, kde je vyžadován vysoký výkon, jako jsou automobilové multimediální terminály, herní konzole nebo set-top boxy
  • SH-5-používá se v špičkových 64bitových multimediálních aplikacích
  • SH-X-hlavní jádro používané v různých příchutích (s/bez jednotky DSP nebo FPU) v řídicí jednotce motoru, multimediálním vybavení automobilu, set-top boxech nebo mobilních telefonech
  • SH -Mobile - procesor SuperH Mobile Application; navržen tak, aby uvolnil zpracování aplikací z LSI základního pásma

SH-2

CPU Hitachi SH-2

SH-2 je 32bitová architektura RISC se 16bitovou pevnou délkou instrukcí pro vysokou hustotu kódu a je vybavena hardwarovým blokem násobení a akumulace (MAC) pro algoritmy DSP a má pětistupňové potrubí.

SH -2 má mezipaměť na všech zařízeních bez paměti ROM .

Poskytuje 16 obecných registrů, vektorový základní registr, globální základní registr a procedurální registr.

Dnes se řada SH-2 rozprostírá od 32 kB integrovaného blesku až po zařízení bez paměti ROM. Používá se v celé řadě různých zařízení s různými periferiemi, jako je CAN, Ethernet, časovací jednotka řízení motoru, rychlý ADC a další.

SH-2A

SH-2A je upgrade jádra SH-2, který přidal nějaké 32bitové instrukce. To bylo oznámeno na začátku roku 2006.

Mezi nové funkce jádra SH-2A patří:

  • Superskalární architektura: provedení 2 instrukcí současně
  • Harvardská architektura
  • Dvě 5stupňová potrubí
  • Smíšené 16bitové a 32bitové instrukce
  • 15 registračních bank pro reakci na přerušení v 6 cyklech.
  • Volitelně FPU

Rodina SH-2A dnes zahrnuje široké paměťové pole od 16 kB až po a zahrnuje mnoho variací bez paměti ROM. Zařízení jsou vybavena standardními periferiemi, jako jsou CAN , Ethernet , USB a dalšími, a periferiemi specifičtějšími pro aplikaci, jako jsou časovače řízení motoru , řadiče TFT a periferie určené pro aplikace automobilových pohonů.

SH-4

CPU Hitachi SH-4

SH-4 je 32bitový procesor RISC a byl vyvinut pro primární použití v multimediálních aplikacích, jako jsou herní systémy Sega Dreamcast a NAOMI . Obsahuje mnohem výkonnější jednotku s plovoucí desetinnou čárkou a další vestavěné funkce spolu se standardním 32bitovým celočíselným zpracováním a 16bitovou velikostí instrukcí.

Mezi funkce SH-4 patří:

  • FPU se čtyřmi multiplikátory s plovoucí desetinnou čárkou, podporující 32bitové jednoduché přesnosti a 64bitové dvojité přesné plováky
  • Operace 4D produktu s plovoucí desetinnou čárkou a násobení vektoru matice
  • 128bitová sběrnice s pohyblivou řádovou čárkou umožňuje přenosovou rychlost 3,2 GB/s z mezipaměti dat
  • 64bitová externí datová sběrnice s 32bitovým adresováním paměti, což umožňuje maximálně 4 GB adresovatelné paměti s přenosovou rychlostí 800 MB/s
  • Vestavěné řadiče přerušení, DMA a řízení spotřeby

^ Ve vlastním SH4 vyrobeném pro Casio, SH7305, není FPU.

SH-5

SH-5 je 64bitový procesor RISC.

Nikdy nebyl vydán téměř žádný nesimulovaný hardware SH-5 a na rozdíl od stále živého SH-4 byla podpora pro SH-5 zrušena z gcc a Linuxu.

Reference

Citace

Bibliografie

externí odkazy