슈퍼H

SuperH
슈퍼H(SH)
디자이너히타치 주식회사
비트32비트(32→64)
소개했다1990년대
설계.RISC
부호화SH2: 16비트 명령, SH2A 이후: 16비트 명령과 32비트 명령 혼합
엔디안니스Bi
열다.네, 로열티[1] 무료

SuperH(또는 SH)는 Hitachi가 개발하고 Renesas가 현재 생산하는 32비트 RISC(Reduced Instruction Set Computing) 명령 집합 아키텍처입니다.임베디드 시스템용 마이크로컨트롤러 및 마이크로프로세서에 의해 구현됩니다.

도입 당시 SuperH는 32비트 아키텍처에도 불구하고 고정 길이 16비트 명령을 가진 것으로 유명했다.이것은 새로운 어프로치였습니다.당시 RISC 프로세서는 항상 내부 데이터 폭(일반적으로 32비트)과 같은 크기의 명령어를 사용했습니다.작은 명령어를 사용하면 레지스터 파일이 더 작고 명령어는 일반적으로 2연산자 형식이었다.그러나 SuperH가 목표로 했던 시장에서는 메모리 및 프로세서 캐시 효율 향상에 따른 적은 비용이었다.

SH-5부터 시작하는 설계 이후 버전에는 16비트 및 32비트 명령이 포함되었으며 16비트 버전은 CPU 내부의 32비트 버전에 매핑되었습니다.이것에 의해, 기계 코드는 메모리를 절약하기 위해서 짧은 명령어를 계속 사용할 수 있게 되었습니다.단, 명령어 디코딩 로직이 완전히 다른 명령어일 경우 필요한 양의 명령어를 필요로 하지 않습니다.이 개념은 현재 압축 명령 집합으로 알려져 있으며 다른 회사에서도 사용되고 있습니다. 가장 주목할 만한 예는 엄지 명령 집합의 ARM입니다.

2015년 현재, SuperH 아키텍처의 많은 특허가 만료되고 있으며, SH-2 CPU는 J2라는 이름으로 오픈 소스 하드웨어로 재실장되었습니다.

역사

SH-1 및 SH-2

Sega 32X 및 Sega Saturn의 SH-2

SuperH 프로세서 코어 패밀리는 1990년대 초에 Hitachi에 의해 처음 개발되었습니다.설계 컨셉은 일련의 CPU 코어에 걸쳐 상위 호환성이 있는 단일 명령 세트(ISA)를 위한 것이었습니다.

과거에는 이러한 종류의 설계 문제를 마이크로코드를 사용하여 해결할 수 있었습니다. 시리즈의 로우엔드 모델은 구현되지 않은 명령을 일련의 더 기본적인 명령으로 수행했습니다.예를 들어 32 x 32 -> 64비트 곱셈, 즉 "롱 곱셈"을 실행하는 명령은 하이엔드 모델에서는 하드웨어에 구현될 수 있지만 로우엔드 모델에서는 일련의 추가 기능으로 수행될 수 있습니다.

RISC 개념의 개발 중에 깨달은 주요 사항 중 하나는 마이크로코드의 디코딩 시간이 한정되어 프로세서가 고속화됨에 따라 이는 허용할 수 없는 퍼포먼스 오버헤드를 나타낸다는 것입니다.Hitachi는 이 문제를 해결하기 위해 전체 제품군에 대해 단일 ISA를 개발했습니다. 지원되지 않는 명령으로 인해 하드웨어 지원이 포함되지 않은 구현에 함정이 발생했습니다.예를 들어, 회선의 초기 모델인 SH-1과 SH-2는 64비트 곱셈 지원에서만 달랐습니다. SH-2는 지원되었습니다.MUL,DMULS그리고.DMULU단,[2] SH-1은 이러한 문제가 발생했을 경우 트랩을 발생시킵니다.

SH-1은 총 56개의 명령을 지원하는 기본 모델이었다.SH-2는 64비트 곱셈과 분기 및 기타 업무를 위한 몇 가지 추가 명령어를 추가함으로써 총 [2]62개의 지원되는 명령이 되었습니다.SH-1과 SH-2는 세가 새턴, 세가 32X 및 캡콤 CPS-3에 사용되었습니다.[3]

ISA는 32비트 명령보다 16비트 명령을 사용하여 코드 밀도를 높였습니다.이것은 메인 메모리의 고비용에 의한 큰 장점입니다.이 접근법의 단점은 레지스터 번호 또는 상수 값을 인코딩하는 데 사용할 수 있는 비트가 적다는 것입니다.SuperH ISA에서는 16개의 레지스터밖에 없었기 때문에 소스에 4비트, 수신처에 4비트가 필요했습니다.명령어 자체도 4비트였고, 나머지 4비트는 설명되지 않았습니다.일부 명령에서는 어레이 액세스의 오프셋에 이들 마지막 4비트를 사용했지만 다른 명령에서는 두 번째 레지스터 슬롯과 마지막 4비트를 결합하여 8비트 상수를 [4]생성했습니다.

SH-3

몇 년 후, SH-3 코어가 제품군에 추가되었고, 새로운 기능에는 또 다른 인터럽트 개념, 메모리 관리 유닛(MMU) 및 수정된 캐시 개념이 포함되었습니다.이러한 기능을 사용하려면 확장 명령 세트가 필요했고, 6개의 새로운 명령을 추가하여 총 [2]68개의 명령을 추가했습니다.SH-3는 바이엔디안이었으며 빅엔디안 또는 리틀엔디안 바이트 순서로 실행되었습니다.

또한 SH-3 코어는 DSP 확장(SH-3-DSP)을 추가했습니다.효율적인 DSP 처리를 위한 확장 데이터 경로, 특수 어큐뮬레이터 및 전용 MAC 타입 DSP 엔진을 통해 DSP와 RISC 프로세서의 세계를 통합했습니다.원래 SH-2 코어에도 DSP의 파생물이 사용되었습니다.

1994년부터 1996년까지 전 [5]세계에 3,510만 대의 SuperH 기기가 출하되었습니다.

SH-4

1997년, 히타치와 STM(STM)은 드림캐스트용 SH-4의 설계에 협력하기 시작했다.SH-4는 슈퍼스칼라(2방향) 명령 실행과 벡터 부동소수점 단위(3D 그래픽에 특히 적합)를 특징으로 했습니다.SH-4에 기반한 표준 칩은 1998년경 [6]도입되었습니다.

라이선스

2001년 초, 히타치와 STM은 IP 회사 SuperH, Inc.를 설립해, SH-4 코어를 타사에 라이센스 해, SH-5 아키텍처를 개발했습니다.SuperH는 64비트 영역으로의 첫 움직임입니다.이전의 SH-1~3은 [6][7]히타치 소유였다.

2003년, 히타치와 미쓰비시 전기는 르네사스 테크놀로지라는 합작회사를 설립해, 그 55%를 히타치가 지배하고 있다.2004년에 Renesas Technology는 SuperH Inc.에 대한 STMicroelectronics의 지분을 매입하고 SH [8]코어에 대한 라이센스를 취득했습니다.Renesas Technology는 NEC Electronics와의 합병으로 후에 Renesas Electronics가 되었습니다.

SH-5 설계에서는 SH-4 명령어세트의 사용자 모드명령어에 상당하는 SHcompact 모드와 64비트 정수 레지스터와 SIMD 명령어에 32비트명령을 사용하는 SHmedia 모드라는 두 가지 동작 모드가 지원되었습니다.SH미디어 모드에서는, 브랜치(점프)의 행선지가 실제 브랜치 명령과는 별도로 브랜치 레지스터에 로드됩니다.이를 통해 프로세서는 명령 스트림을 스누핑할 필요 없이 브랜치 명령을 프리페치할 수 있습니다.콤팩트한 16비트명령어 인코딩과 보다 강력한 32비트명령어 인코딩의 조합은 SH-5에만 있는 것이 아닙니다.ARM 프로세서는 16비트썸 모드(SuperH[9] for Thumb에서 여러 특허를 취득한ARM 프로세서) 및 MIPS 프로세서는 MIPS-16 모드를 갖추고 있습니다.단, SH-5의 하위 호환성 모드는 32비트 부호화가 아닌 16비트 부호화이기 때문에 SH-5는 다릅니다.

마지막 진화 단계는 2003년경 SH-2에서 SH-4까지의 코어가 SH-X 코어로 통합되면서 이전 아키텍처의 일종의 명령 집합 슈퍼셋을 형성하고 대칭 멀티프로세싱 지원을 추가했습니다.

지속적인 가용성

2010년 이후 SuperH CPU 코어, 아키텍처 및 제품은 Renesas Electronics에 포함되어 있으며 아키텍처는 SH-2, SH-2A, SH-3, SH-4 및 SH-4A 플랫폼을 중심으로 통합되었습니다.SH-3, SH-4 및 SH-4A 마이크로프로세서를 기반으로 한 시스템 온칩 제품은 이후 Arm Ltd.의 라이센스 CPU 코어를 기반으로 한 새로운 세대로 대체되었으며, 기존 모델의 대부분은 르네사스 제품 수명 [10]프로그램을 통해 2025년 3월까지 계속 판매되고 있습니다.

2021년 현재 SH-2A 기반의 SH72xx 마이크로컨트롤러는 Arm, RX 및 RH850을 비롯한 여러 아키텍처에 기반한 신제품과 함께 2029년 2월까지 가용성을 보장하는 Renesas에 의해 계속 판매되고 있습니다.

J코어

SH-2의 마지막 특허는 2014년에 만료되었다.LinuxCon Japan 2015에서 j-core 개발자는 SH-2 ISA의 클린룸 재실장(상표 [9][11]유효기간이 만료되지 않았기 때문에 "J2 core"로 불림)을 발표했습니다.그 후, ELC [12]2016에서 설계 실사가 발표되었습니다.

J2 코어의 오픈소스 BSD 라이선스 VHDL 코드Xilinx FPGA 및 TSMC의 180nm 프로세스로 제조된 ASIC에서 검증되었으며 Clinux [9]부팅이 가능합니다.J2는 SH-2와 역호환성이 있으며 별도의 명령 및 데이터 메모리 인터페이스를 갖춘 5단계 파이프라인으로 구현되어 있으며, (다른 RISC 머신에 비해) 촘촘하고 복잡한 ISA를 지원하는 기계 생성 명령 디코더입니다.추가 지침은 쉽게 추가할 수 있습니다.J2는 동적 시프트(SH-3 이후의 명령 패턴을 사용), 확장 원자 조작(원본 스레드에 사용) 및 대칭 멀티프로세서 지원을 위한 잠금/인터페이스용 명령을 구현합니다.관련 특허가 2016-2017년에 [9][needs update]만료됨에 따라 SH-2A(J2+) 및 SH-4(J4) 명령 세트를 구현할 계획이다.

이 아키텍처를 기반으로 새로운 코어를 설계하는 동기로 [9]SuperH의 몇 가지 기능이 거론되고 있습니다.

  • 캐시 및 메모리 대역폭 퍼포먼스에 중요한 ARM이나 MIPS[13] 의 다른 32비트 RISC ISA에 비해 높은 코드 밀도
  • 기존 컴파일러 및 운영체제 지원(Linux, Windows Embedded, QNX[11])
  • 특허가 만료됨에 따라 ASIC 제조 비용이 매우 저렴합니다(TSMC의 180nm 공정에서 듀얼 코어 J2 코어의 경우 0.03달러).
  • 특허 및 로열티가 필요 없는 (BSD 라이선스) 구현)
  • 완전하고 활기찬 커뮤니티 지원
  • 제로 코스트 FPGA 툴을 위한 저비용 하드웨어 개발 플랫폼 가용성
  • CPU 및 SoC RTL 생성 및 통합 도구, FPGA 및 ASIC 휴대용 RTL 및 문서 생성
  • 오픈 소스 설계, 생성, 시뮬레이션 및 검증 환경을 갖춘 깨끗하고 현대적인 설계

모델

Hitachi SH-3 CPU

SuperH CPU 코어 패밀리에는 다음이 포함됩니다.

  • SH-1 – 내장형 애플리케이션(CD-ROM 드라이브, 주요 어플라이언스 등)용 마이크로 컨트롤러에 사용
  • SH-2 – 고성능이 요구되는 마이크로 컨트롤러에 사용되며 엔진 컨트롤 유닛이나 네트워킹 애플리케이션 등의 자동차Sega Saturn 및 Sega 32X 애드온과 같은 비디오 게임 콘솔에도 사용됩니다.SH-2는 스바루, 미쓰비시, 마츠다 등 많은 자동차 엔진 컨트롤 유닛에도 사용되고 있습니다.
  • SH-2A – SH-2A 코어는 몇 가지 추가 명령을 포함하는 SH-2 코어의 확장이지만, 가장 중요한 것은 슈퍼스칼라 아키텍처(1사이클에 여러 명령을 실행할 수 있음) 및 2개의 5단계 파이프라인으로 이동합니다.또한 15개의 레지스터 뱅크를 통합하여 6클럭 사이클의 인터럽트 레이텐시를 촉진합니다.모터 제어 애플리케이션뿐만 아니라 멀티미디어, 자동차 오디오, 파워트레인, 차체 제어 및 사무실 + 빌딩 자동화에도 강력합니다.
  • SH-DSP – 초기에는 휴대폰 시장용으로 개발되었으며, 나중에 JPEG 압축 에 DSP 성능을 필요로 하는 많은 소비자 애플리케이션에서 사용됩니다.
  • SH-3 – Jornada와 같은 모바일 및 핸드헬드 애플리케이션에 사용되며, Windows CE 애플리케이션 및 자동차 내비게이션 시장에서 오랫동안 강세를 보이고 있습니다.세가 나오미 하드웨어의 CPU와 같은 Cave CV1000도 이 CPU를 사용했습니다.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

Hitachi SH-2 CPU

SH-2는 16비트의 고정 명령 길이를 가진 32비트 RISC 아키텍처로 DSP 알고리즘용 하드웨어 Multiple-Acumulate(MAC; 멀티플 어큐뮬레이트) 블록을 갖추고 있으며 5단계 파이프라인을 갖추고 있습니다.

SH-2에는 ROM이 없는 모든 디바이스에 캐시가 있습니다.

16개의 범용 레지스터, 벡터 베이스 레지스터, 글로벌 베이스 레지스터 및 프로시저 레지스터를 제공합니다.

현재 SH-2 패밀리는 32KB의 온보드 플래시에서 ROM이 필요 없는 디바이스까지 확장됩니다.CAN, 이더넷, 모터 제어 타이머 유닛, 고속 ADC 등 주변기기가 다른 다양한 장치에서 사용됩니다.

SH-2A

SH-2A는 일부 32비트 명령이 추가된 SH-2 코어에 대한 업그레이드입니다.그것은 2006년 초에 발표되었다.

SH-2A 코어의 신기능은 다음과 같습니다.

  • Superscalar 아키텍처: 2개의 명령 동시 실행
  • 하버드 건축
  • 2개의 5단계 파이프라인
  • 16비트와 32비트의 혼재 명령
  • 6사이클 동안 인터럽트 응답을 위해 15개의 뱅크를 등록합니다.
  • 옵션 FPU

현재 SH-2A 패밀리는 최대 16KB의 광범위한 메모리 필드에 걸쳐 있으며 ROM이 필요 없는 다양한 종류가 포함되어 있습니다.이 디바이스에는 CAN, 이더넷, USB 의 표준 주변기기뿐만 아니라 모터 제어 타이머, TFT 컨트롤러, 자동차 파워트레인 애플리케이션 전용 주변기기 등 애플리케이션 고유의 주변기기도 탑재되어 있습니다.

SH-4

Hitachi SH-4 CPU

SH-4는 64비트 RISC CPU로, Sega의 Dreamcast NAOMI 게임 시스템과 같은 멀티미디어 애플리케이션에서 주로 사용하도록 개발되었습니다.표준 32비트 정수 처리 및 16비트 명령 크기와 함께 훨씬 더 강력한 부동 소수점[note] 장치와 추가 내장 기능이 포함되어 있습니다.

SH-4 기능은 다음과 같습니다.

  • 4개의 부동소수점 승수를 갖춘 FPU로 32비트 단정도 및 64비트 배정도 부동소수점 지원
  • 4D 부동 소수점 도트 제품 연산 매트릭스-벡터 곱셈
  • 128비트 부동소수점 버스(데이터 캐시로부터의 전송 레이트 3.2 GB/초)
  • 64비트 외부 데이터 버스(32비트 메모리 어드레싱 포함), 최대 4GB의 어드레싱 가능 메모리(바이트 어드레싱 참조), 전송 레이트는 800MB/초
  • 삽입 인터럽트, DMA 및 전원 관리 컨트롤러

^ Casio, SH7305용으로 작성된 커스텀 SH4에는 FPU가 없습니다.

SH-5

SH-5는 64비트 RISC [15]CPU입니다.

시뮬레이션되지 않은 SH-5 하드웨어는 거의 [16]출시되지 않았으며, 아직 가동 중인 SH-4와는 달리 SH-5에 대한 지원은 GCC와 Linux에서[17] 중단되었다.

레퍼런스

인용문

  1. ^ J코어 오픈 프로세서
  2. ^ a b c 프로그램 1996, 페이지 1
  3. ^ "CP System III (CPS3) Hardware (Capcom)". www.system16.com. System 16. Retrieved 3 August 2019.
  4. ^ 프로그램 1996, 페이지 30-33.
  5. ^ "360-MIPS SuperH RISC Processor Enables Personal Access Systems SH7750 Launches the SH-4 Series". November 1997. Archived from the original on 5 March 2016.
  6. ^ a b "STMicro, Hitachi plan new company to develop RISC cores". EE Times. 3 April 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".[데드링크]
  8. ^ Clarke, Peter (28 September 2004). "Renesas to take over SuperH core business". EE Times.
  9. ^ a b c d e Nathan Willis (June 10, 2015). "Resurrecting the SuperH architecture". LWN.net.
  10. ^ ""SuperH RISC Engine Family MCUs"". Renesas Electronics.
  11. ^ a b "J Cores". j-core. Archived from the original on May 11, 2016. Retrieved April 27, 2016.
  12. ^ "j-core Design Walkthrough" (PDF).
  13. ^ V.M. Weaver (17 March 2015). "Exploring the Limits of Code Density (Tech Report with Newest Results)" (PDF).
  14. ^ Kuwabara (25 July 2019). "Korg EMX / ESX Service Manual" (PDF).
  15. ^ "SH-5 CPU Core, Volume1: Architecture" (PDF).
  16. ^ "Wasabi SH-5 Press Release". 8 March 2016.
  17. ^ "GCC 7 Release Series Changes, New Features, and Fixes". 2 February 2018.

참고 문헌

외부 링크