OpenRISC

OpenRISC
OpenRISC
디자이너원래 Damjan Lampret, 현재는 OpenRISC 커뮤니티(Stafford Horne 등)
비트32비트, 64비트
소개했다2000년, 22년(2000년)
버전1.3[1]
설계.RISC
부호화고정된.
엔디안니스Little에 대한 구현되지 않은 큰 스텁
페이지 크기8KiB
내선번호ORFPX32/64,[2] ORVDX64[3]
열다.있음(LGPL/GPL), 로열티 무료
레지스터
범용16 또는 32
부동 소수점선택적.

OpenRISC는 RISC(Reduced Instruction Set Computer) 원칙을 기반으로 일련오픈 소스 하드웨어 기반 중앙 처리 장치(CPU)를 개발하는 프로젝트입니다.오픈 소스 라이센스를 사용하는 명령 집합 아키텍처(ISA)가 포함되어 있습니다.OpenCores 커뮤니티의 대표 프로젝트입니다.

첫 번째(및 2019년 현재만) 아키텍처 설명은 OpenRISC 1000("OR1k")에 대한 것으로, 부동 소수점 연산 [4]벡터 프로세서를 옵션으로 지원하는 32비트64비트 프로세서 제품군을 나타냅니다.이 사양의 OpenRISC 1200 실장은 2000년에 Damjan Lampret에 의해 Veriloghardware Description Language(HDL)[5]로 작성되었습니다.
OR [6]1200에 비해 몇 가지 이점이 있는 최신 mor1kx 구현은 Julius Baxter에 의해 설계되었으며 Verilog에서도 기술되어 있습니다.
또한 OR1k 사양을 구현하는 소프트웨어 시뮬레이터가 있습니다.[7]

하드웨어 설계는 GNU Lesser General Public License(LGPL)로 출시되었으며 모델과 펌웨어는 GNU General Public License(GPL)로 출시되었습니다.

OpenRISC 1200에 기반한 (SoC) 구현에 대한 참조 시스템이 개발되었으며, ORPSoC(OpenRISC Reference Platform System-on-Chip)로 명명되었습니다.Field-Programmable Gate Array(FPGA;[8][9] 필드 프로그래머블 게이트 어레이)에서 실행되는 ORPSoC 및 기타 OR1200 기반 설계를 여러 그룹에서 시연했으며, 여러 가지 상용 파생 모델이 생산되었습니다.

OpenRisc 1000 CPU 구현에 기반한 이후의 SoC 설계는 minSoC, OpTiMSoC [10]및 MiSoC입니다.

명령 집합

명령 세트는 3개의 오퍼랜드로드 스토어 아키텍처를 사용하는 비교적 단순한 MIPS 아키텍처와 같은 기존 RISC로 16 또는 32개의 범용 레지스터와 고정 32비트 명령 길이를 갖추고 있습니다.명령 세트는 32비트 버전과 64비트 버전의 사양 간에 대부분 동일하며, 주요 차이점은 레지스터 폭(32비트 또는 64비트)과 페이지 테이블 레이아웃입니다.OpenRISC 사양에는 최신 데스크톱 및 서버 프로세서에 공통되는 모든 기능(슈퍼바이저 모드 및 가상 메모리 시스템, 메모리 페이지의 읽기, 쓰기 및 실행 제어 옵션, 여러 프로세서 간의 동기화 및 인터럽트 처리 명령)이 포함되어 있습니다.

또 다른 주목할 만한 기능은 디지털 신호 처리를 위한 풍부한 단일 명령, 다중 데이터(SIMD) 명령 세트입니다.

실장

OpenRISC는 Flextronics(Flex) FPGA 개발 보드에서 프로토타입으로 제작되었으며 uClinux 실행

대부분의 구현은 Field-Programmable Gate Array(FPGA; 필드 프로그래머블 게이트 어레이)로 이루어지기 때문에 성능을 희생하면서 설계를 반복할 수 있습니다.

2018년에는 OpenRISC 1000이 안정적이라고 판단되어 ORSoC(OpenCores 소유자)는 성능 향상을 위해 비용 효율적인 애플리케이션별 집적회로(ASIC) 구축을 위한 크라우드 펀딩 프로젝트를 시작했습니다.ORSoC는 이에 [citation needed]대한 커뮤니티의 비판에 직면했다.그 프로젝트는 목표에 도달하지 못했다.

2022년 7월 현재, 오픈 소스 ASIC는 생산되지 않았다.

상업용 실장

ORSoC의 ORC32-1208과 Beyond Semiconductor의 BA12, BA14 및 BA22 등 여러 상업 조직이 OpenRISC 1000 아키텍처의 파생 모델을 개발했습니다.Dynalith Systems는 OpenRISC 1000과 BA12를 모두 실행할 수 있는 iNCITE FPGA 프로토타이핑 보드를 제공합니다.Flextronics(Flex)와 Jennic Limited는 애플리케이션별 집적회로(ASIC)의 일부로 OpenRISC를 제조했습니다.삼성은 DTV 시스템 온칩(SDP83 B 시리즈, SDP92 C 시리즈, SDP1001/SDP1002 D 시리즈, SDP1103/SDP1106 E 시리즈)[11]에서 OpenRISC 1000을 사용합니다.Allwinner Technology는 A31 ARM 기반 SoC의 [12]일부를 구성하는 AR100 전원 컨트롤러에 OpenRISC 코어를 사용하는 것으로 보고되었습니다.

Cadence Design Systems는 툴 체인 플로우를 문서화할 때 참조 아키텍처로 OpenRISC를 사용하기 시작했습니다(예를 들어 UVM 참조 플로우는 현재 Accellera[13]기여).

TechEdSat은 2012년 7월에 발사된 최초의 NASA OpenRISC 아키텍처 기반의 Linux 컴퓨터이며, 2012년 10월에 OAC Microtec과 OAC Microtec [14][15][16]North America가 제공한 하드웨어와 함께 국제 우주 정거장에 배치되었습니다.

학술적 및 비상업적 용도

OpenRISC는 오픈 소스이기 때문에 학계나 취미 활동가 등에서도 인기가 있습니다.를 들어 Stefan Wallentowitz와[17] 그의 팀은 멀티코어 프로세서 아키텍처 연구에 OpenRISC를 사용했습니다.[18]영국의 OSHUG(Open Source Hardware User Group)는 OpenRISC에서 2회[19][20] 세션을 실시하고 있습니다.취미주의자 Sven-Oke Andersson은 [21]초보자를 위한 OpenRISC에 포괄적인 블로그를 작성했습니다.이 블로그는 EE Times([22]EElectronic Engineering Times)의 관심을 끌었습니다.Sebastian Macke는 JavaScript에서 OpenRISC 1000 에뮬레이터인 jor1k를 구현하여 X Window System과 Wayland를 [23]지원하는 Linux를 실행하고 있습니다.

툴 체인 지원

OpenRISC 커뮤니티는 프로그래밍 언어 C C++ 개발을 지원하기 위해 GNU 툴체인을 OpenRISC로 이식했습니다.이 툴체인을 사용하여 newlib, uClibc, musl(릴리스 1.1.4) 및 glibc 라이브러리가 프로세서로 이식되었습니다.Dynalith는 오픈 제공IDEA는 이 툴체인을 기반으로 하는 그래픽 통합 개발 환경(IDE)입니다.LLVM을 OpenRISC 1000 아키텍처에 포트하는 프로젝트는 2012년 [24]초에 시작되었습니다.

GCC 9는 [25]OpenRISC 지원으로 출시되었습니다.

OR1K 프로젝트는 명령 집합 시뮬레이터 또는 1ksim을 제공합니다.대표적인 구현인 OR1200은 Verilog HDL의 Register-Transfer Level(RTL; 레지스터 전송 레벨) 모델입니다.이 모델에서는 SystemC 기반의 사이클 정밀도 모델을 ORPSoC에 구축할 수 있습니다.OpenRISC 1200의 고속 모델은 Imperas가 설정한 Open Virtual Platforms(OVP) 이니셔티브(OVPsim 참조)에서도 이용할 수 있습니다.

운영 체제 지원

Linux 지원

메인라인 Linux 커널은 버전 [26]3.1에서 OpenRISC를 지원하게 되었습니다.이 릴리스에서 통합된 구현은 32비트 OpenRISC 1000 패밀리(또는 1k)[27]입니다.이전의 OpenRISC 1000 아키텍처는 메인라인 포트로 대체되었습니다.

RTOS 지원

RTEMS, FreeRTOSeCos포함한 여러 실시간 운영 체제(RTOS)가 OpenRISC로 이식되었습니다.

QEMU 지원

버전 1.2 이후 QEMU는 OpenRISC 플랫폼의 [28]에뮬레이션을 지원합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Published versions". Retrieved 2021-03-28.
  2. ^ "Floating point extensions operating on 32-bit/64-bit". Retrieved 2021-03-28.
  3. ^ "Vector/DSP extensions (SIMD) operating on 8-, 16-, 32- and 64-bit data". Retrieved 2021-03-28.
  4. ^ "Architecture - OpenRISC". OpenRisc.io. Retrieved 2021-04-17.
  5. ^ Clarke, Peter (2000-02-28). "Free 32-bit processor core hits the Net". Electronic Engineering Times (EE Times). San Francisco, California, United States: AspenCore Media. Retrieved 2019-03-21.
  6. ^ "Implementations - OpenRISC". OpenRisc.io. Retrieved 2021-04-17.
  7. ^ "Implementations - OpenRISC". OpenRisc.io. Retrieved 2021-04-17.
  8. ^ Pelgrims, Patrick; Tierens, Tom; Driessens, Dries (2004). "Basic Custom OpenRISC System Hardware Tutorial: Embedded system design based upon Soft- and Hardcore FPGAs" (PDF). De Nayer Instituut. 1.0. Archived from the original (PDF) on 2006-11-27. Retrieved 2009-03-03.
  9. ^ Li, Xiang; Zuo, Lin. Open source embedded platform based on OpenRISC and DE2-70 (Masters). KTH Royal Institute of Technology (KTH), Sweden. Archived from the original on 2011-10-06., SoC 프로그램
  10. ^ "System-on-Chip - OpenRISC". OpenRisc.io. Retrieved 2021-04-17.
  11. ^ Samsung Open Source Release Center에서 → TV & VIDEO → TV → DTV → ETC → OR1200.zip 링크를 따릅니다.
  12. ^ AR100 컨트롤러의 Linux-sunxi 프로젝트 커뮤니티 Wiki 페이지.2013년 7월 20일에 취득.
  13. ^ UVM Reference Flow, Accellera 웹사이트(미등록).
  14. ^ OAC Microtec CEO Fredrick Bruhn이 2012년 4월 8일 lists.openrisc.net에 오픈리스 메일링 리스트에 투고
  15. ^ "Swedish breakthrough in space on NASA satellite with electronics from ÅAC Microtec". ÅAC Microtec (Press release). 2012-10-11. Archived from the original on 2014-01-18. Retrieved 2018-03-17.
  16. ^ "Svenskt genombrott i rymden på NASA-satellit med elektronik från ÅAC Microtec" [Swedish breakthrough in space on NASA satellite with electronics from ÅAC Microtec] (Press release) (in Swedish). 2012-10-11. Retrieved 2018-03-16 – via Mynewsdesk.[데드링크] Alt URL
  17. ^ "Dipl.-Ing. Dipl.-Wirt.-Ing. Stefan Wallentowitz". 2009–2013. Archived from the original on 2013-04-13.
  18. ^ Wallentowitz, Stefan; Wild, Thomas; Herkersdorf, Andreas. "Multicore Architecture and Programming Model Co-Optimization (MAPCO)" (PDF) (Research poster at the Sixth International Summer School on Advanced Computer Architecture and Compilation for High-Performance and Embedded Systems (ACACES), 11-17 July 2010). Terrassa (Barcelona), Spain. Archived from the original (PDF) on 10 February 2013. Retrieved 2018-10-29.
  19. ^ 칩(프로그래머블 로직, FPGA를 통한 컴퓨터 절약, OpenCores OpenRISC 1000).2011년 4월 21일, 런던, Goswell Road 116-120, Skills Matter, OSHUG 회의 #9.
  20. ^ 실용적인 System-on-Chip (자체 오픈 소스 FPGA SoC를 프로그래밍할 수 있습니다).2012년 3월 29일, 런던 액튼 스트리트 16번지 크리에이티브 콜라보레이션 센터 17호 OSHUG 미팅.
  21. ^ OpenRISC 1200 소프트 프로세서 Wayback Machine에 2012-05-13 아카이브 완료.Sven-Oke Andersson의 블로그 투고, 2012년 3월 2일.
  22. ^ Maxfield, Clive (2012-05-03). "Comparing four 32-bit soft processor cores". Electronic Engineering Times (EE Times). San Francisco, California, United States: AspenCore Media. Retrieved 2019-03-21.
  23. ^ JavaScript의 OpenRISC 에뮬레이터는 Wayland를 실행할 수 있습니다.
  24. ^ "llvm-or1k". GitHub. 2018-04-06. Retrieved 2019-03-21.
  25. ^ "GCC 9 changelog". GNU. Retrieved 15 June 2022.
  26. ^ "git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arch/openrisc/". git.kernel.org. Archived from the original on 2012-07-08. Retrieved 2011-10-17.
  27. ^ "Linux 3.1". Kernel Newbies. Retrieved 2011-10-17.
  28. ^ QEMU Changelog 1.2

외부 링크