SuperH
Дизајнер | Hitachi Ltd. |
---|---|
Битови | 32-bit (32 → 64) |
Уведен | 1990s |
Дизајн | RISC |
Encoding | SH2: 16-bit instructions; SH2A and newer: mixed 16- and 32-bit instructions |
Ендиан | Bi |
Open | Да[1] |
Регистри |
SuperH (или SH ) је 32-битна архитектура скупова инструкција (ISA) са смањеним скупом инструкција (RISC) коју је развио Hitachi, а тренутно производи Renesas . Имплементирају га микроконтролери и микропроцесори за уграђене системе.
У време представљања, SuperH је био познат по томе што је имао 16-битне инструкције фиксне дужине, упркос 32-битној архитектури. Ово је био нов приступ. У то време, RISC процесори су увек користили величину инструкције која је била иста као и интерна ширина података, углавном 32-битна. Коришћење мањих инструкција имало је последице, датотека регистра је била мања, а инструкције су генерално биле у формату са два операнда. Али за тржиште којем је SuperH био намењен, ово је била мала цена за побољшану ефикасност кеш меморије процесора.
Касније верзије дизајна, почевши од SH-5, укључивале су и 16-битне и 32-битне инструкције, при чему су 16-битне верзије пресликане на 32-битну верзију унутар процесора. Ово је омогућило машинском коду да настави да користи краћа упутства за уштеду меморије, док не захтева количину логике декодирања инструкција која је потребна ако се ради о потпуно одвојеним инструкцијама. Овај концепт је сада познат као компресовани скуп инструкција, а користе га и друге компаније, а најзначајнији пример је ARM за Thumb скуп инструкција.
Од 2015. године, многи оригинални патенти за SuperH архитектуру су застаревали и SH-2 процесор је био реимплементиран као хардвер отвореног кода под именом J2.
Историја
SH-1 and SH-2
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/HD6417095_01.jpg/150px-HD6417095_01.jpg)
Породицу језгара процесора SuperH први је развио Hitachi почетком 1990-их. Концепт дизајна је био за један скуп инструкција (ISA) који би био компатибилан према горе у низу процесорских језгара.
Раније би се ова врста дизајнерског проблема решавала коришћењем микрокода. То би значило да би најнижи модели у серији изводили неимплементиране инструкције као низ основних инструкција. На пример: инструкција за извођење 32 x 32 -> 64-битног множења ("дуго множење") може се имплементирати у хардвер на моделима високе класе, али уместо тога може се извршити као низ додатака на моделима ниже класе.
Једна од кључних спознаја током развоја RISC концепта била је да је микрокод имао ограничено време декодирања. Како су процесори постајали све бржи, то је представљало неприхватљиво оптерећење перформанси. Да би то решио, Hitachi је уместо тога развио јединствени ISA за целу линију, са неподржаним упутствима која изазивају замке на оним имплементацијама које нису имале хардверску подршку. На пример: почетни модели у линији (SH-1 и SH-2) разликовали су се само у својој подршци за 64-битно множење. SH-2 је подржавао MUL, DMULS и DMULU, док би SH-1 изазвао замку ако би се на њих наишло. [2]
ISA користи 16-битне инструкције за бољу густину кода од 32-битних, што је у то време била велика корист због високе цене главне меморије. Недостаци овог приступа су били у томе што је постојало мање доступних битова за кодирање броја регистра или константне вредности. У SuperH ISA-и било је само 16 регистара који су захтевали 4 бита за извор и још 4 за одредиште. Сама инструкција је такође била 4 бита - остављајући још 4 бита без рачуна. Нека упутства су користила ова последња 4 бита за одступања у приступима низу док су друга комбиновала други слот регистра и последња 4 бита да би произвела 8-битну константу.[3]
У почетку су представљена два модела. SH-1 је био основни модел, подржавајући укупно 56 инструкција. SH-2 је додао 64-битно множење и неколико додатних команди за гранање и друге дужности, чиме је укупан број подржаних инструкција био 62.[2] SH-1 и SH-2 су коришћени у Sega Saturn, Sega 32X и Capcom CPS-3..[4]
SH-3
Неколико година касније, језгро SH-3 је додато породици; нове функције су укључивале још један концепт прекида, јединицу за управљање меморијом (MMU) и модификовани концепт кеша. Ове карактеристике су захтевале проширени скуп инструкција, додајући шест нових инструкција за укупно 68.[2] SH-3 је био bi-endian, радио је у big-endian или little-endian редоследу бајтова.
Језгро SH-3 је такође додало DSP (дигитална обрада сигнала) проширење, тада названо SH-3-DSP. Са проширеним путањама података за ефикасну DSP обраду, посебним акумулаторима и наменским DSP механизмом типа MAC, ово језгро је објединило свет DSP-а и процесора RISC. Дериват DSP-а је такође коришћен са оригиналним језгром SH-2.
Између 1994. и 1996. године, преко 35 милиона SuperH уређаја испоручено је широм света.[5]
SH-4
1997. године, Hitachi и STMicroelectronics (STM) су започели сарадњу на дизајну SH-4 за Dreamcast. SH-4 је имао суперскаларно (двосмерно) извршавање инструкција и векторску јединицу са покретним зарезом (посебно погодну за 3D графику ). Стандардни чипови засновани на SH-4 представљени су око 1998. године.[6]
Licensing
Почетком 2001. године Hitachi и STM основали су IP компанију SuperH, Inc., која ће лиценцирати језгро SH-4 другим компанијама и развијати SH-5 архитектуру, што је био први корак SuperH-а у 64-битно подручје. Ранији SH-1 до 3 остали су у власништву корпорације Hitachi.[6][7]
Године 2003. Hitachi и Mitsubishi Electric основали су заједничко предузеће под називом Renesas Technology, при чему је Hitachi контролисао 55% предузећа. Године 2004. Renesas Technology је откупиo дeо власништва STMicroelectronics-а у SuperH Inc. и са њим лиценцу за SH језгра.[8] Renesas Technology је касније постао Renesas Electronics, након њиховог спајања са NEC Electronics.
Дизајн SH-5 подржавао је два режима рада. SHcompact режим еквивалентан је корисничком упутству из скупа инструкција SH-4. SHmedia режим се веома разликује, користећи 32-битне инструкције са шездесет четири 64-битна целобројна регистра и SIMD инструкције. У SHmedia моду одредиште гране (скок) се учитава у регистар грана одвојено од стварне инструкције гране. Ово омогућава процесору да унапред преузме упутства за грану, без потребе да њушка ток инструкција. Комбинација компактног 16-битног кодирања инструкција са моћнијим 32-битним кодирањем инструкција није јединствена за SH-5. ARM процесори имају 16-битни Thumb режим (ARM је лиценцирао неколико патената од SuperH за Thumb[9]) а MIPS процесори имају MIPS-16 режим. Међутим, SH-5 се разликује јер је његов начин компатибилности уназад 16-битно кодирање, а не 32-битно кодирање.
Последњи еволутивни корак догодио се око 2003. године, где су се сва језгра од SH-2 до SH-4 ујединила у једно супер-скаларно SH-X језгро које је формирало неку врсту скупа инструкција у скупу претходних архитектура, и додало подршку за симетрично мултипроцесирање.
Континуирана доступност
Од 2010. SuperH процесорска језгра, архитектура и производи су у Renesas Electronics-у, и архитектура је консолидована око платформи SH-2, SH-2A, SH-3, SH-4 и SH-4A. Производи System-on-chip засновани на микропроцесорима SH-3, SH-4 и SH-4A накнадно су замењени новим генерацијама заснованим на лиценцираним процесорским језграма компаније Arm Ltd., а многи од постојећих модела који се и даље продају до марта 2025. кроз програм дуговечности производа Renesas.[10]
Од 2021. године, микроконтролери SH72xx засновани на SH-2A и даље ће се продавати у Renesas-у са гарантованом доступношћу до фебруара 2029. године, заједно са новијим производима заснованим на неколико других архитектура, укључујући Arm, RX и PH850 .
J Core
Последњи патент SH-2 истекао је 2014. године. На LinuxCon-у у Јапану 2015. године, програмери ј-језгра представили су поновну имплементацију SH-2 ISA-е са екстензијама (познатом као "J2 језгро" због неиспуњених заштитних знакова (жигова)). Затим је на ELC-у 2016. представљено упутство за дизајн.[11]
VHDL код са отвореног кода, лиценциран BSD ом за J2 језгро, доказан је на Xilinx FPGA и на ASIC произведеним на TSMC-овом 180nm процесу и способан је да покрене µClinux. J2 је уназад ISA компатибилан са SH-2, имплементиран као петостепени цевовод са одвојеним интерфејсима за инструкције и меморију података, и машински генерисани декодер инструкција који подржава густо упакован и сложен (у односу на друге RISC машине) ISA. Додатне инструкције се лако додају. J2 имплементира инструкције за динамичко померање (користећи SH-3 и новије обрасце инструкција), проширене атомске операције (које се користе за навоје примитива) и закључавање/интерфејсе за симетричну вишепроцесорску подршку. Планови за имплементацију SH-2A (као "J2+") и SH-4 (као "J4") скупова инструкција пошто релевантни патенти истичу 2016-2017. године.[9]
Неколико карактеристика SuperH-а наведено је као мотивација за пројектовање нових језгара заснованих на овој архитектури: [9]
- Велика густина кода у поређењу са другим 32-битним RISC ISA-има, као што су ARM или MIPS [12] важни за перформансе кеш меморије и меморије
- Подршка за постојећи компајлер и оперативни систем (Linux, Windows Embedded, QNX[13])
- Изузетно ниски трошкови производње ASIC-а сада када истекну патенти (око 0,03 долара за двојезгрено J2 језгро на TSMC-овом 180nm процесу).
- Имплементација без патената и ауторских права (лиценцирана BSD)
- Потпуна и живахна подршка заједнице
- Доступност јефтине развојне платформе за хардвер за FPGA алате без трошкова
- CPU и Soc RTL алати за генерисање и интеграцију, који производе FPGA и ASIC преносиви RTL и документацију
- Чист, модеран дизајн са окружењем за дизајн, генерисање, симулацију и верификацију отвореног кода
Модели
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Hitachi_SH3.jpg/150px-Hitachi_SH3.jpg)
Породица SuperH процесорских језгара укључује:
- SH-1 - користи се у микроконтролерима за дубоко уграђене апликације ( CD-ROM уређаји, главни уређаји итд. )
- SH-2 - користи се у микроконтролерима са већим захтевима за перформансама, такође се користи у аутомобилској индустрији, попут управљачких јединица мотора или у мрежним апликацијама, као и у конзолама за видео игре, попут Sega Saturn. SH-2 се такође нашао у многим апликацијама за управљање аутомобилским моторима, укључујући Subaru, Mitsubishi и Mazda-у.
- AH-2A - Језгро SH-2A је проширење језгра SH-2 укључујући неколико додатних инструкција, али што је најважније прелазак на суперскаларну архитектуру (способна је да изврши више од једне инструкције у једном циклусу) и два петоетапна цевовода. Такође укључује 15 банака регистара како би се олакшала латенција прекида од 6 циклуса такта. Такође је снажан у апликацији за управљање мотором, али и у мултимедији, звуку у аутомобилу, погону, контроли каросерије аутомобила и аутоматизацији зграда и зграда
- SH-DSP - првобитно развијен за тржиште мобилних телефона, касније коришћен у многим потрошачким апликацијама које захтевају DSP перформансе за JPEG компресију итд.
- SH-3 - користи се за мобилне и ручне апликације као што је Jornada, снажан у Windows CE апликацијама и већ дуги низ година на тржишту аутомобилске навигације. Cave CV1000, сличан Sega NAOMI хардверском процесору, такође је користио овај процесор. Korg Electribe EMX и ESX музичке продукцијске јединице такође користе SH-3.[14]
- SH-3-DSP - користи се углавном у мултимедијалним терминалима и мрежним апликацијама, такође у штампачима и факс машинама
- SH-4 - користи се кад год су потребне високе перформансе, као што су мултимедијални терминали за аутомобиле, конзоле за видео игре или сет-топ бокс уређаји
- SH-5 - користи се у врхунским 64-битним мултимедијалним апликацијама
- SH-X - главно језгро које се користи у разним укусима (са/без DSP или FPU јединица) у управљачкој јединици мотора, мултимедијалној опреми за аутомобиле, телевизијским пријемницима или мобилним телефонима
- SH-Mobile - SuperH мобилни процесор апликација; дизајниран за растерећење обраде апликација из LSI-ја основног опсега
SH-2
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Denso-SH2.jpg/150px-Denso-SH2.jpg)
SH-2 је 32-битна RISC архитектура са 16-битном фиксном дужином инструкције за високу густину кода, и садржи хардверски блок за вишеструку акумулацију (MAC) за DSP алгоритме и има петостепени цевовод.
SH-2 има кеш меморију на свим уређајима без ROM-а.
Омогућава 16 регистара опште намене, регистар векторске базе података, глобални базни регистар и регистар процедура.
Данас се породица SH-2 протеже од 32KB уграђеног блица до уређаја без ROM-а. Користи се у разним уређајима са различитим периферијама, као што су CAN, Ethernet, јединица за мерење времена мотора, брзи ADC и други.
SH-2A
SH-2A је надоградња на језгро SH-2 која је додала неке 32-битне инструкције. Најављена је почетком 2006.
Нове функције језгра SH-2A укључују:
- Суперскаларна архитектура: извршавање 2 инструкције истовремено
- Харвардска архитектура
- Два петостепена цевовода
- Мешовите 16-битне и 32-битне инструкције
- 15 регистарских банака за одговор на прекид у 6 циклуса
- Опционални FPU
Породица SH-2A данас обухвата широко поље меморије од 16KB до и укључује многе варијације без ROM-а. Уређаји поседују стандардне периферне уређаје као што су CAN, Ethernet, USB и друге, као и периферне уређаје специфичне за апликације, попут тајмера за управљање мотором, TFT контролера и периферних уређаја намењених аутомобилским погонским склоповима.
SH-4
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/SH7091_01.jpg/150px-SH7091_01.jpg)
SH-4 је 32-битни RISC процесор и развијен је за примарну употребу у мултимедијалним апликацијама, као што су Сегини Dreamcast и NAOMI системи за игре. Укључује много моћнију јединицу са покретним зарезом [note] и додатне уграђене функције заједно са стандардном 32-битном целобројном обрадом и 16-битном величином инструкција
Карактеристике SH-4 укључују:
- FPU са четири мултипликатора са покретним зарезом, који подржавају 32-битну појединачну прецизност и 64-битну двоструку прецизност
- 4D рад производа са тачкама са покретним зарезом и множење матрице-вектора
- 128-битна магистрала са покретним зарезом омогућава 3.2GB/s брзину преноса из кеша података
- 64-битна спољна магистрала података са 32-битним адресирањем меморије, омогућава максимално 4GB адресабилне меморије са брзином преноса 800MB/s
- Уграђени контролери за прекид, DMA и управљање напајањем
^ Не постоји FPU у конкретном SH4 направљеном за Casio, такозваном SH7305.
SH-5
SH-5 је 64-битни RISC процесор.[15]
Скоро ниједан нема симулиран SH-5 хардвер никада није објављен,[16] и за разлику од још увек живог SH-4, подршка за SH-5 је одбачена са gcc-а [17] и Linux-а.
References
Цитати
- ^ J-core Open Processor
- ^ а б в Program 1996, стр. 1.
- ^ Program 1996, стр. 30–33.
- ^ „CP System III (CPS3) Hardware (Capcom)”. www.system16.com. System 16. Приступљено 3. 8. 2019. CS1 одржавање: Формат датума (веза)
- ^ „Архивирана копија”. Архивирано из оригинала 05. 03. 2016. г. Приступљено 23. 08. 2021.
- ^ а б „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.” CS1 одржавање: Формат датума (веза)
- ^ „SuperH, Inc. formed by Hitachi and STMicroelectronics to Boost the Proliferation of SuperH Cores in Embedded Microprocessor Applications”. [мртва веза]
- ^ „Renesas to take over SuperH core business”. EE Times. 28. 9. 2004. CS1 одржавање: Формат датума (веза)
- ^ а б в Nathan Willis (10. 6. 2015). „Resurrecting the SuperH architecture”. LWN.net. CS1 одржавање: Формат датума (веза)
- ^ „"SuperH RISC Engine Family MCUs"”. Renesas Electronics.
- ^ http://j-core.org/talks/ELC-2016.pdf
- ^ V.M. Weaver (17. 3. 2015). „Exploring the Limits of Code Density (Tech Report with Newest Results)” (PDF). CS1 одржавање: Формат датума (веза)
- ^ „J Cores”. j-core. Архивирано из оригинала 11. 5. 2016. г. Приступљено 27. 4. 2016. CS1 одржавање: Формат датума (веза)
- ^ Kuwabara (25. 7. 2019). „Korg EMX / ESX Service Manual” (PDF). CS1 одржавање: Формат датума (веза)
- ^ „SH-5 CPU Core, Volume1: Architecture” (PDF). Архивирано из оригинала (PDF) 31. 12. 2022. г. Приступљено 23. 08. 2021.
- ^ „Wasabi SH-5 Press Release”. 8. 3. 2016. CS1 одржавање: Формат датума (веза)
- ^ „GCC 7 Release Series Changes, New Features, and Fixes”. 2. 2. 2018. CS1 одржавање: Формат датума (веза)
Библиографија
- SuperH RISC Engine SH-1/SH-2 Programming Manual (PDF). Hitachi Americal Ltd. 3. 9. 1996. Приступљено 2020-12-06. CS1 одржавање: Формат датума (веза)
- SH-4 CPU Core Architecture (PDF). STMicroelectronics and Hitachi Ltd. 12. 9. 2002. ADCS 7182230F. Приступљено 2020-12-06. CS1 одржавање: Формат датума (веза)
Екстерни ликови
- Renesas SuperH, Products, Tools, Manuals, App.Notes, Information
- J-core Open Processor
- J-core на веб-сајту GitHub
- Linux SuperH development list
- DCTP - Hitachi 200 MHz SH-4 на сајту Wayback Machine (архивирано август 10, 2016)
- in-progress Debian port for SH4