[go: up one dir, main page]

SuperH (ili SH ) je 32-bitna arhitektura skupova instrukcija (ISA) sa smanjenim skupom instrukcija (RISC) koju je razvio Hitachi, a trenutno proizvodi Renesas . Implementiraju ga mikrokontroleri i mikroprocesori za ugrađene sisteme.

SuperH (SH)
DizajnerHitachi Ltd.
Bitovi32-bit (32 → 64)
Uveden1990s
DizajnRISC
EncodingSH2: 16-bit instructions; SH2A and newer: mixed 16- and 32-bit instructions
EndianBi
OpenDa[1]
Registri

U vreme predstavljanja, SuperH je bio poznat po tome što je imao 16-bitne instrukcije fiksne dužine, uprkos 32-bitnoj arhitekturi. Ovo je bio nov pristup. U to vreme, RISC procesori su uvek koristili veličinu instrukcije koja je bila ista kao i interna širina podataka, uglavnom 32-bitna. Korišćenje manjih instrukcija imalo je posledice, datoteka registra je bila manja, a instrukcije su generalno bile u formatu sa dva operanda. Ali za tržište kojem je SuperH bio namenjen, ovo je bila mala cena za poboljšanu efikasnost keš memorije procesora.

Kasnije verzije dizajna, počevši od SH-5, uključivale su i 16-bitne i 32-bitne instrukcije, pri čemu su 16-bitne verzije preslikane na 32-bitnu verziju unutar procesora. Ovo je omogućilo mašinskom kodu da nastavi da koristi kraća uputstva za uštedu memorije, dok ne zahteva količinu logike dekodiranja instrukcija koja je potrebna ako se radi o potpuno odvojenim instrukcijama. Ovaj koncept je sada poznat kao kompresovani skup instrukcija, a koriste ga i druge kompanije, a najznačajniji primer je ARM za Thumb skup instrukcija.

Od 2015. godine, mnogi originalni patenti za SuperH arhitekturu su zastarevali i SH-2 procesor je bio reimplementiran kao hardver otvorenog koda pod imenom J2.

Istorija

uredi

SH-1 and SH-2

uredi
 
SH-2 na Sega 32X-u i Sega Saturn-u

Porodicu jezgara procesora SuperH prvi je razvio Hitachi početkom 1990-ih. Koncept dizajna je bio za jedan skup instrukcija (ISA) koji bi bio kompatibilan prema gore u nizu procesorskih jezgara.

Ranije bi se ova vrsta dizajnerskog problema rešavala korišćenjem mikrokoda. To bi značilo da bi najniži modeli u seriji izvodili neimplementirane instrukcije kao niz osnovnih instrukcija. Na primer: instrukcija za izvođenje 32 x 32 -> 64-bitnog množenja ("dugo množenje") može se implementirati u hardver na modelima visoke klase, ali umesto toga može se izvršiti kao niz dodataka na modelima niže klase.

Jedna od ključnih spoznaja tokom razvoja RISC koncepta bila je da je mikrokod imao ograničeno vreme dekodiranja. Kako su procesori postajali sve brži, to je predstavljalo neprihvatljivo opterećenje performansi. Da bi to rešio, Hitachi je umesto toga razvio jedinstveni ISA za celu liniju, sa nepodržanim uputstvima koja izazivaju zamke na onim implementacijama koje nisu imale hardversku podršku. Na primer: početni modeli u liniji (SH-1 i SH-2) razlikovali su se samo u svojoj podršci za 64-bitno množenje. SH-2 je podržavao MUL, DMULS i DMULU, dok bi SH-1 izazvao zamku ako bi se na njih naišlo.  [2]

ISA koristi 16-bitne instrukcije za bolju gustinu koda od 32-bitnih, što je u to vreme bila velika korist zbog visoke cene glavne memorije. Nedostaci ovog pristupa su bili u tome što je postojalo manje dostupnih bitova za kodiranje broja registra ili konstantne vrednosti. U SuperH ISA-i bilo je samo 16 registara koji su zahtevali 4 bita za izvor i još 4 za odredište. Sama instrukcija je takođe bila 4 bita - ostavljajući još 4 bita bez računa. Neka uputstva su koristila ova poslednja 4 bita za odstupanja u pristupima nizu dok su druga kombinovala drugi slot registra i poslednja 4 bita da bi proizvela 8-bitnu konstantu.[3]

U početku su predstavljena dva modela. SH-1 je bio osnovni model, podržavajući ukupno 56 instrukcija. SH-2 je dodao 64-bitno množenje i nekoliko dodatnih komandi za grananje i druge dužnosti, čime je ukupan broj podržanih instrukcija bio 62.[2] SH-1 i SH-2 su korišćeni u Sega Saturn, Sega 32X i Capcom CPS-3..[4]

Nekoliko godina kasnije, jezgro SH-3 je dodato porodici; nove funkcije su uključivale još jedan koncept prekida, jedinicu za upravljanje memorijom (MMU) i modifikovani koncept keša. Ove karakteristike su zahtevale prošireni skup instrukcija, dodajući šest novih instrukcija za ukupno 68.[2] SH-3 je bio bi-endian, radio je u big-endian ili little-endian redosledu bajtova.

Jezgro SH-3 je takođe dodalo DSP (digitalna obrada signala) proširenje, tada nazvano SH-3-DSP. Sa proširenim putanjama podataka za efikasnu DSP obradu, posebnim akumulatorima i namenskim DSP mehanizmom tipa MAC, ovo jezgro je objedinilo svet DSP-a i procesora RISC. Derivat DSP-a je takođe korišćen sa originalnim jezgrom SH-2.

Između 1994. i 1996. godine, preko 35 miliona SuperH uređaja isporučeno je širom sveta.[5]

1997. godine, Hitachi i STMicroelectronics (STM) su započeli saradnju na dizajnu SH-4 za Dreamcast. SH-4 je imao superskalarno (dvosmerno) izvršavanje instrukcija i vektorsku jedinicu sa pokretnim zarezom (posebno pogodnu za 3D grafiku ). Standardni čipovi zasnovani na SH-4 predstavljeni su oko 1998. godine.[6]

Licensing

uredi

Početkom 2001. godine Hitachi i STM osnovali su IP kompaniju SuperH, Inc., koja će licencirati jezgro SH-4 drugim kompanijama i razvijati SH-5 arhitekturu, što je bio prvi korak SuperH-a u 64-bitno područje. Raniji SH-1 do 3 ostali su u vlasništvu korporacije Hitachi.[6][7]

Godine 2003. Hitachi i Mitsubishi Electric osnovali su zajedničko preduzeće pod nazivom Renesas Technology, pri čemu je Hitachi kontrolisao 55% preduzeća. Godine 2004. Renesas Technology je otkupio deo vlasništva STMicroelectronics-a u SuperH Inc. i sa njim licencu za SH jezgra.[8] Renesas Technology je kasnije postao Renesas Electronics, nakon njihovog spajanja sa NEC Electronics.

Dizajn SH-5 podržavao je dva režima rada. SHcompact režim ekvivalentan je korisničkom uputstvu iz skupa instrukcija SH-4. SHmedia režim se veoma razlikuje, koristeći 32-bitne instrukcije sa šezdeset četiri 64-bitna celobrojna registra i SIMD instrukcije. U SHmedia modu odredište grane (skok) se učitava u registar grana odvojeno od stvarne instrukcije grane. Ovo omogućava procesoru da unapred preuzme uputstva za granu, bez potrebe da njuška tok instrukcija. Kombinacija kompaktnog 16-bitnog kodiranja instrukcija sa moćnijim 32-bitnim kodiranjem instrukcija nije jedinstvena za SH-5. ARM procesori imaju 16-bitni Thumb režim (ARM je licencirao nekoliko patenata od SuperH za Thumb[9]) a MIPS procesori imaju MIPS-16 režim. Međutim, SH-5 se razlikuje jer je njegov način kompatibilnosti unazad 16-bitno kodiranje, a ne 32-bitno kodiranje.

Poslednji evolutivni korak dogodio se oko 2003. godine, gde su se sva jezgra od SH-2 do SH-4 ujedinila u jedno super-skalarno SH-X jezgro koje je formiralo neku vrstu skupa instrukcija u skupu prethodnih arhitektura, i dodalo podršku za simetrično multiprocesiranje.

Kontinuirana dostupnost

uredi

Od 2010. SuperH procesorska jezgra, arhitektura i proizvodi su u Renesas Electronics-u, i arhitektura je konsolidovana oko platformi SH-2, SH-2A, SH-3, SH-4 i SH-4A. Proizvodi System-on-chip zasnovani na mikroprocesorima SH-3, SH-4 i SH-4A naknadno su zamenjeni novim generacijama zasnovanim na licenciranim procesorskim jezgrama kompanije Arm Ltd., a mnogi od postojećih modela koji se i dalje prodaju do marta 2025. kroz program dugovečnosti proizvoda Renesas.[10]

Od 2021. godine, mikrokontroleri SH72xx zasnovani na SH-2A i dalje će se prodavati u Renesas-u sa garantovanom dostupnošću do februara 2029. godine, zajedno sa novijim proizvodima zasnovanim na nekoliko drugih arhitektura, uključujući Arm, RX i PH850 .

J Core

uredi

Poslednji patent SH-2 istekao je 2014. godine. Na LinuxCon-u u Japanu 2015. godine, programeri j-jezgra predstavili su ponovnu implementaciju SH-2 ISA-e sa ekstenzijama (poznatom kao "J2 jezgro" zbog neispunjenih zaštitnih znakova (žigova)).   Zatim je na ELC-u 2016. predstavljeno uputstvo za dizajn.[11]

VHDL kod sa otvorenog koda, licenciran BSD om za J2 jezgro, dokazan je na Xilinx FPGA i na ASIC proizvedenim na TSMC-ovom 180nm procesu i sposoban je da pokrene µClinux.  J2 je unazad ISA kompatibilan sa SH-2, implementiran kao petostepeni cevovod sa odvojenim interfejsima za instrukcije i memoriju podataka, i mašinski generisani dekoder instrukcija koji podržava gusto upakovan i složen (u odnosu na druge RISC mašine) ISA. Dodatne instrukcije se lako dodaju. J2 implementira instrukcije za dinamičko pomeranje (koristeći SH-3 i novije obrasce instrukcija), proširene atomske operacije (koje se koriste za navoje primitiva) i zaključavanje/interfejse za simetričnu višeprocesorsku podršku. Planovi za implementaciju SH-2A (kao "J2+") i SH-4 (kao "J4") skupova instrukcija pošto relevantni patenti ističu 2016-2017. godine.[9]

Nekoliko karakteristika SuperH-a navedeno je kao motivacija za projektovanje novih jezgara zasnovanih na ovoj arhitekturi: [9]

  • Velika gustina koda u poređenju sa drugim 32-bitnim RISC ISA-ima, kao što su ARM ili MIPS [12] važni za performanse keš memorije i memorije
  • Podrška za postojeći kompajler i operativni sistem (Linux, Windows Embedded, QNX[13])
  • Izuzetno niski troškovi proizvodnje ASIC-a sada kada isteknu patenti (oko 0,03 dolara za dvojezgreno J2 jezgro na TSMC-ovom 180nm procesu).
  • Implementacija bez patenata i autorskih prava (licencirana BSD)
  • Potpuna i živahna podrška zajednice
  • Dostupnost jeftine razvojne platforme za hardver za FPGA alate bez troškova
  • CPU i Soc RTL alati za generisanje i integraciju, koji proizvode FPGA i ASIC prenosivi RTL i dokumentaciju
  • Čist, moderan dizajn sa okruženjem za dizajn, generisanje, simulaciju i verifikaciju otvorenog koda

Modeli

uredi
 
Hitachi SH-3 procesor

Porodica SuperH procesorskih jezgara uključuje:

  • SH-1 - koristi se u mikrokontrolerima za duboko ugrađene aplikacije ( CD-ROM uređaji, glavni uređaji itd. )
  • SH-2 - koristi se u mikrokontrolerima sa većim zahtevima za performansama, takođe se koristi u automobilskoj industriji, poput upravljačkih jedinica motora ili u mrežnim aplikacijama, kao i u konzolama za video igre, poput Sega Saturn. SH-2 se takođe našao u mnogim aplikacijama za upravljanje automobilskim motorima, uključujući Subaru, Mitsubishi i Mazda-u.
  • AH-2A - Jezgro SH-2A je proširenje jezgra SH-2 uključujući nekoliko dodatnih instrukcija, ali što je najvažnije prelazak na superskalarnu arhitekturu (sposobna je da izvrši više od jedne instrukcije u jednom ciklusu) i dva petoetapna cevovoda. Takođe uključuje 15 banaka registara kako bi se olakšala latencija prekida od 6 ciklusa takta. Takođe je snažan u aplikaciji za upravljanje motorom, ali i u multimediji, zvuku u automobilu, pogonu, kontroli karoserije automobila i automatizaciji zgrada i zgrada
  • SH-DSP - prvobitno razvijen za tržište mobilnih telefona, kasnije korišćen u mnogim potrošačkim aplikacijama koje zahtevaju DSP performanse za JPEG kompresiju itd.
  • SH-3 - koristi se za mobilne i ručne aplikacije kao što je Jornada, snažan u Windows CE aplikacijama i već dugi niz godina na tržištu automobilske navigacije. Cave CV1000, sličan Sega NAOMI hardverskom procesoru, takođe je koristio ovaj procesor. Korg Electribe EMX i ESX muzičke produkcijske jedinice takođe koriste SH-3.[14]
  • SH-3-DSP - koristi se uglavnom u multimedijalnim terminalima i mrežnim aplikacijama, takođe u štampačima i faks mašinama
  • SH-4 - koristi se kad god su potrebne visoke performanse, kao što su multimedijalni terminali za automobile, konzole za video igre ili set-top boks uređaji
  • SH-5 - koristi se u vrhunskim 64-bitnim multimedijalnim aplikacijama
  • SH-X - glavno jezgro koje se koristi u raznim ukusima (sa/bez DSP ili FPU jedinica) u upravljačkoj jedinici motora, multimedijalnoj opremi za automobile, televizijskim prijemnicima ili mobilnim telefonima
  • SH-Mobile - SuperH mobilni procesor aplikacija; dizajniran za rasterećenje obrade aplikacija iz LSI-ja osnovnog opsega
 
Hitachi SH-2 procesor

SH-2 je 32-bitna RISC arhitektura sa 16-bitnom fiksnom dužinom instrukcije za visoku gustinu koda, i sadrži hardverski blok za višestruku akumulaciju (MAC) za DSP algoritme i ima petostepeni cevovod.

SH-2 ima keš memoriju na svim uređajima bez ROM-a.

Omogućava 16 registara opšte namene, registar vektorske baze podataka, globalni bazni registar i registar procedura.

Danas se porodica SH-2 proteže od 32KB ugrađenog blica do uređaja bez ROM-a. Koristi se u raznim uređajima sa različitim periferijama, kao što su CAN, Ethernet, jedinica za merenje vremena motora, brzi ADC i drugi.

SH-2A

uredi

SH-2A je nadogradnja na jezgro SH-2 koja je dodala neke 32-bitne instrukcije. Najavljena je početkom 2006.

Nove funkcije jezgra SH-2A uključuju:

  • Superskalarna arhitektura: izvršavanje 2 instrukcije istovremeno
  • Harvardska arhitektura
  • Dva petostepena cevovoda
  • Mešovite 16-bitne i 32-bitne instrukcije
  • 15 registarskih banaka za odgovor na prekid u 6 ciklusa
  • Opcionalni FPU

Porodica SH-2A danas obuhvata široko polje memorije od 16KB do i uključuje mnoge varijacije bez ROM-a. Uređaji poseduju standardne periferne uređaje kao što su CAN, Ethernet, USB i druge, kao i periferne uređaje specifične za aplikacije, poput tajmera za upravljanje motorom, TFT kontrolera i perifernih uređaja namenjenih automobilskim pogonskim sklopovima.

 
Hitachi SH-4 procesor

SH-4 je 32-bitni RISC procesor i razvijen je za primarnu upotrebu u multimedijalnim aplikacijama, kao što su Segini Dreamcast i NAOMI sistemi za igre. Uključuje mnogo moćniju jedinicu sa pokretnim zarezom [note] i dodatne ugrađene funkcije zajedno sa standardnom 32-bitnom celobrojnom obradom i 16-bitnom veličinom instrukcija

Karakteristike SH-4 uključuju:

  • FPU sa četiri multiplikatora sa pokretnim zarezom, koji podržavaju 32-bitnu pojedinačnu preciznost i 64-bitnu dvostruku preciznost
  • 4D rad proizvoda sa tačkama sa pokretnim zarezom i množenje matrice-vektora
  • 128-bitna magistrala sa pokretnim zarezom omogućava 3.2GB/s brzinu prenosa iz keša podataka
  • 64-bitna spoljna magistrala podataka sa 32-bitnim adresiranjem memorije, omogućava maksimalno 4GB adresabilne memorije sa brzinom prenosa 800MB/s
  • Ugrađeni kontroleri za prekid, DMA i upravljanje napajanjem

^ Ne postoji FPU u konkretnom SH4 napravljenom za Casio, takozvanom SH7305.

SH-5 je 64-bitni RISC procesor.[15]

Skoro nijedan nema simuliran SH-5 hardver nikada nije objavljen,[16] i za razliku od još uvek živog SH-4, podrška za SH-5 je odbačena sa gcc-a [17] i Linux-a.

References

uredi

Citati

uredi
  1. ^ J-core Open Processor
  2. ^ a b v Program 1996, str. 1.
  3. ^ Program 1996, str. 30–33.
  4. ^ „CP System III (CPS3) Hardware (Capcom)”. www.system16.com. System 16. Pristupljeno 3. 8. 2019. 
  5. ^ „Arhivirana kopija”. Arhivirano iz originala 05. 03. 2016. g. Pristupljeno 23. 08. 2021. 
  6. ^ a b „STMicro, Hitachi plan new company to develop RISC cores”. EE Times. 3. 4. 2001. „Hitachi created the SH family of processors and developed its first four major iterations, but has worked with ST since 1997, when the companies agreed to share a common high-end microprocessor road map. They jointly developed the 32-bit SH4 RISC processor core, and began development of the SH5 architecture, which will now be completed by SuperH. SuperH's initial product will be the SH4 core. Earlier SH versions will not be part of the spin-off agreement. 
  7. ^ „SuperH, Inc. formed by Hitachi and STMicroelectronics to Boost the Proliferation of SuperH Cores in Embedded Microprocessor Applications”. [mrtva veza]
  8. ^ „Renesas to take over SuperH core business”. EE Times. 28. 9. 2004. 
  9. ^ a b v Nathan Willis (10. 6. 2015). „Resurrecting the SuperH architecture”. LWN.net. 
  10. ^ „"SuperH RISC Engine Family MCUs". Renesas Electronics. 
  11. ^ http://j-core.org/talks/ELC-2016.pdf
  12. ^ V.M. Weaver (17. 3. 2015). „Exploring the Limits of Code Density (Tech Report with Newest Results)” (PDF). 
  13. ^ „J Cores”. j-core. Arhivirano iz originala 11. 5. 2016. g. Pristupljeno 27. 4. 2016. 
  14. ^ Kuwabara (25. 7. 2019). „Korg EMX / ESX Service Manual” (PDF). 
  15. ^ „SH-5 CPU Core, Volume1: Architecture” (PDF). Arhivirano iz originala (PDF) 31. 12. 2022. g. Pristupljeno 23. 08. 2021. 
  16. ^ „Wasabi SH-5 Press Release”. 8. 3. 2016. 
  17. ^ „GCC 7 Release Series Changes, New Features, and Fixes”. 2. 2. 2018. 

Bibliografija

uredi

Eksterni likovi

uredi