20160908

1. 1st RISC-V Workshop (링크)
(1) Introductions and Welcome (slides)


* ISA는 무료로 공유되어야 한다.
* Open ISA
– SPARC V8
– OpenRISC
– Open Processor Foundation
– Lattice Micro 32 (LM32)
* RISC-V Background
– 2010년에 새로운 ISA를 설계하고자 함.
– x86, ARM은 너무 복잡했음
– 2010년 여름에 세 달 짜리 프로젝트로 새로운 ISA를 만들었음.
* RISC-V 프로젝트 목표: become the industry-standard ISA for all computing devices
* slides에 RISC-V의 ISA가 간단히 소개되어있음.

(2) RISC-V Projects in India (slides)

(3) LowRISC SoC (slides)


* LowRISC는 대량 생산 가능한 오픈 소스 SoC를 목적으로 2014년 여름에 시작한 프로젝트 (RISC-V 기반)
* 접근 방법
– 문제 해결을 위한 한 개의 해법보다, 재사용 가능한 컴포넌트 개발
– Rocket RISC-V 코어에서 파생
– 흥미로운 새로운 기능을 추가하고자 함(보안)
* 다음은 LowRISC의 아키텍쳐 다이어그램
system diagram for test chip.PNG
* LowRISC에서는 보안성 향상을 위해 tagged memory를 도입함. Control-flow hijacking 공격을 막고자 함. Tagged memory를 사용해 word granularity로 권한을 주면 공격을 막을 수 있음. Tag Cache는 이러한 tag(metadata)를 저장하기 위한 캐시이다.
* LowRISC 아키텍쳐에는 4~8개의 minion core들이 들어가 있다. 입출력 전처리, 필터링, 메인 코어 관리, 간단한 작업의 오프로딩, 보안, 격리 실행 등에 사용할 수 있다.
* LowRISC 링크: http://www.lowrisc.org/
* 아주 좋은 tutorial: http://www.lowrisc.org/docs/tagged-memory-v0.1/

(4) RISC-V at BlueSpec (slides)

(5) RISC-V Software Toolchain (slides)


* Tethered system vs Standalone systems
– Tethered system은 standalone으로 실행될 수 없는 시스템. 부팅 위해서는 host system에 의존해야 함. 완벽한 입출력 기능이 없을 수 있음
– Berkeley에서는 지금까지 tethered system으로 테스팅함. Chip testing이 목적이기 때문이다.
– 하지만 두 가지 방향 모두에 관심이 있다.

tethered RISC-V systems.PNG

* RISC-V 시스템을 시뮬레이션하기 위한 시뮬레이터로 Spike ISA simulator가 있다. 이는 ISA interpreter로 동작하며, tethered RISC-V 시스템을 모델링한다.

(6) Structure of the RISC-V Software Stack (slides)


* RISC-V에서 제공하는 software stack에 대한 전반적인 설명. 처음 시작할 때 들으면 매우 도움이 될 것 같음.

(7) Debugging on RISC-V (slides)


* RISC-V toolchain에 포함되어 있는 spike를 사용한 디버깅 기법 설명.
* 관련 링크: http://www.lowrisc.org/docs/tagged-memory-v0.1/spike/

(8) Porting New Code to RISC-V with OpenEmbedded (slides)


* RISC-V에서 바이너리를 실행하기 위해 포팅하면, 바이너리를 다운받아 크로스컴파일하게 될 것. 하지만 오류가 발생하기 쉽고, 의존성 문제가 생길 수 있다. 따라서 빌드를 위한 환경이 필요하고, RISC-V에서는 이를 위해 Yocto를 사용한다. RISC-V를 위해 Yocto를 porting한 것이 RISCV-Poky이다.

(9) RISC-V Testing Environments (slides)

(10) Chisel Quick Tutorial (slides)

(11) Working with Rocket Chip, Adding Extensions, ASIC and FPGA Infrastructure (slides)


2. CHISEL tutorial
RISC-V와 rocket chip의 구조는 대강 파악했다. RISC-V와 rocket chip에서 chisel을 사용하고 있는데, rocket chip을 자유롭게 다루기 위해서는 chisel에 대해 이해하는 것이 필수적이다. CHISEL에 대한 튜토리얼을 담은 github 레포지토리가 있었다(https://github.com/ucb-bar/chisel-tutorial). CHISEL 튜토리얼과 간단한 예제 코드는 내일 볼 예정.

Advertisements
Tagged with: , , , ,
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 103,814 hits
%d bloggers like this: