2017-09-01ãã1ã¶æéã®è¨äºä¸è¦§
RISC-Vã®ã¢ã¦ããªããªã¼ãå®è£ ã§ããBOOMv2ã¯ãgithubã§æ¢ã«å ¬éããã¦ããã github.com BOOMv2ã®å®è£ ã¨Rocket Chipã®å®è£ ã¯åé¢ããã¦ãããå é¨ã³ã¢ãBOOMv2ãå¤é¨ã®ã¤ã³ã¿ãã§ã¼ã¹é¨åãRocket Chipã§å®è£ ããã ä¸è¨ã®BOOM v2.0.1㯠riscv-boom ãªãã¸â¦
å°ãåã«ãRISC-Vã®Rocket Coreã®ã¢ã¦ããªããªã¼ãçãBOOM(Berkeley Out-of-Order Machine) ã®Version2ããªãªã¼ã¹ããããã¨ãã¢ãã¦ã³ã¹ãããããCARRV (RISC-Vã®å¦è¡ã¯ã¼ã¯ã·ã§ãã) ã«åãã¦ãã®è©³ç´°ãå ¬éãããã®ã§èªãã§ã¿ãã BOOM v2: an open-souâ¦
ã¡ãã£ã¨ä¹ ãã¶ãã«Raspberry-Pi3ãç«ã¡ä¸ããããããããã¨ã¯çµã¿è¾¼ã¿æ©å¨ã§OpenCVã¨ããOpenVXãã©ã®ããã«ãã¦åããã°ããã®ãã®èª¿æ»ã ã ã¾ãã¯ãRaspberry-Pi3ã使ã£ã¦OpenCVãåä½ããããã ããã¯æ¢ã«å 人ã«ãã£ã¦ææ³ã確ç«ããã¦ãããã¨ã§ãQiiâ¦
ååDot Productã¢ã¯ã»ã©ã¬ã¼ã¿ãä½ã£ãã®ã ããæ£ããåä½ãã¦ããªãã£ãã®ã§ãããã°ãã¦ããã ããèããããè¡åç© ãæ±ããã«ããããã¡ã¢ãªã®ãã§ããã¢ãã¬ã¹ã®ã¨ã³å¹ ãæ±ºããã®ã«ãè¡åã®åãµã¤ãºãå¿ è¦ã ã£ãã®ã§ããããè¨å®ãããã¡ã³ã¯ã·ã§ã³ãâ¦
Rocket Chipã®åä½å¨æ³¢æ°ãä¸ããã¹ããããã試è¡ãã¦ããããZynqSmallConfigã®å ´åã¯ã©ãããã卿³¢æ°ãä¸ããã®ã ããï¼ ZedBoardã§FPGAåãã«åæãããå ´åã«ã¯ããã¤ããªãã·ã§ã³ããããããã©ã«ãã§ã¯ZynqConfigãå°ããã®æ§æã§ZynqSmallConfigã¨â¦
Rocket ChipãFPGAã«ã¤ã³ããªã¡ã³ããã¦åä½ããã¦ããããåä½å¨æ³¢æ°ã25MHzã«è¨å®ããã¦ããã¨ããã®ã«é©æããã ZedBoardèªä½ã¯100MHzã§åãã¯ãã ããHiFive1ã ã£ã¦320MHzã§åä½ãããããªè¨è¨ã ã ãªããããªã«é ã卿³¢æ°ã§è¨è¨ããã¦ããã®ã ããï¼ â¦
ååãChiselã使ã£ã¦Dot Productã¢ã¯ã»ã©ã¬ã¼ã¿ãä½ã£ãããã¾ã æ£ããçããä¸è´ãã¦ããªãã£ãã msyksphinz.hatenablog.com ä¸å¿ãããã°ãã¦ããã°ã©ã ãæ£ããèµ°ããã¨ãåºæ¥ãããã«ãã¦ãã¾ãã¯16x16ã®ãµã¤ãºã§æ£ããåé¡ãè¨ç®ããã¦ãããã¨ã確èªâ¦
Chiselã使ã£ã¦è¡åç©ãè¨ç®ãããã¼ãã¦ã§ã¢ãéçºãã¦ããããããã«ã¯å¼±ç¹ãããã å°ããªè¡åã«ç¦ç¹ãå½ã¦ãã®ã§ã大ããªè¡å(16è¡ä»¥ä¸)ã«å¯¾å¿ã§ããªããã¨ã ã msyksphinz.hatenablog.com msyksphinz.hatenablog.com ããããã®æ¹æ³ã«ã¯å©ç¹ãããã16â¦
ã¶ã¤ãªã³ã¯ã¹ã®reVISIONã¹ã¿ãã¯ã¯ãã³ã³ãã¥ã¼ã¿ãã¸ã§ã³ãæ©æ¢°å¦ç¿ãã³ãã¯ãã£ãã㣠& ã»ã³ãµã¼ ãµãã¼ã ã«æ³¨åãã¦FPGAä¸ã§åä½ããããã¨ã®ã§ãããã¼ãã¦ã§ã¢ãã¶ã¤ã³ãã½ããã¦ã§ã¢ã¹ã¿ãã¯ãæä¾ãã¦ããã ãã®ãªãã§ã³ã³ãã¥ã¼ã¿ãã¸ã§ã³ã«æ³¨ç®â¦
RISC-Vã®å®è£ ãRocket Chipã®ã¢ã¯ã»ã©ã¬ã¼ã¿åãã¤ã³ã¿ãã§ã¼ã¹ã«ãã¼ãã¦ã§ã¢ãå®è£ ããRTLã·ãã¥ã¬ã¼ã·ã§ã³ãè¡ã£ãã æ¬¡ã«ãRocket ChipãFPGAåãã«è«çåæããã¨ããã¾ã§ä¸æãè¡ã£ãã®ã§ãä»åéçºããRoCCã¢ã¯ã»ã©ã¬ã¼ã¿ãFPGAã«å®è£ ãã¦ã¿ããã ãâ¦
ãã£ã¸ã¿ã«åè·¯è¨è¨ã¨ã³ã³ãã¥ã¼ã¿ã¢ã¼ããã¯ã㣠第2çä½è : ãã¤ãããã»ããã¼ããªã¹,ãµã©ã»L.ããªã¹,David Money Harris,Sarah L. Harris,天éè±æ´,é´æ¨è²¢,䏿¢æä¼¯,æ°¸æ¾ç¤¼å¤«åºç社/ã¡ã¼ã«ã¼: ç¿æ³³ç¤¾çºå£²æ¥: 2017/09/11ã¡ãã£ã¢: åè¡æ¬ãã®ååãå«ããâ¦
åå使¥ããããRISC-Vã®Rocket Chipã§ãFPGAã«RoCCã¢ã¯ã»ã©ã¬ã¼ã¿ä»ãã®å®è£ ãã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ãã使¥ãååã¾ã§ã¯ã ä¸å¿ãã¼ãã¾ã§é²ãã ãã®ã®ã使 ãã¢ããªã±ã¼ã·ã§ã³ãåä½ããã使¥ãæ¢ã¾ã£ã¦ãã¾ã£ã¦ããã ããã§ããã£ã¨ãæ°æ¥½ãªãã«ãâ¦
ååãRISC-Vã®Rocket Chipã«æ´æ°ã®Dot Productãè¨ç®ããã¢ã¯ã»ã©ã¬ã¼ã¿ãæ¥ç¶ããã ããã«ãããæ´æ°è¡åç©ã®è¨ç®ã«ããã¦ãç´2.7åã®é«éåãéæããã ãã ããããã¯ã¾ã é«éåã§ããä½å°ãããã ä¸åº¦ãã¼ã¿ãã¢ã¯ã»ã©ã¬ã¼ã¿å ã«æ ¼ç´ããã¨ã次ã«åâ¦
Rocket Chipã¨Chiselã®åå¼·ãé²ãã¦ãããRoCCã®ã¤ã³ã¿ãã§ã¼ã¹ã«Chiselã§è¨è¿°ããã¢ã¯ã»ã©ã¬ã¼ã¿ãæ¥ç¶ãã¦ããã®å¹æã測å®ããã ã¾ãã¯ç°¡ååã®ããã«ãRoCCã¤ã³ã¿ãã§ã¼ã¹ããã¡ã¢ãªã®å¤ãèªã¿è¾¼ãã§ããã®å¤ããã¹ã¦å ç®ããããã°ã©ã ãæ¸ãã¦ã¿ãã â¦
RISC-Vã®Rocket Chipã§ãFPGAã«ã¤ã³ããªã¡ã³ãã¼ã·ã§ã³ãããããã«ã¯ããã¤ãã®æ¹æ³ããããããã®ä¸ã§fpga-zynqãªãã¸ããª(https://github.com/ucb-bar/fpga-zynq)ã使ã£ã¦ãFPGAã«RISC-Vãç¼ãã¦ã¿ã¦ããã ãã®ä¸ã§ããã¯ãRoCC(Rocket Custom Coprocessâ¦
RISC-Vã®Rocket Chipãä½¿ãæ§æã§ãFPGAã«ã¤ã³ããªã¡ã³ãããããã®ããã±ã¼ã¸ã¨ãã¦ã¯ä»¥ä¸ã®2ã¤ãããã ããã UCBã®fpga-zynqãªãã¸ããªãå©ç¨ãã (https://github.com/ucb-bar/fpga-zynq) SiFiveã®freedomãªãã¸ããªãå©ç¨ãã (https://github.com/sifiâ¦
ä¸ã®ä¸ã§ã¯Appleãæ°ãã製åãçºè¡¨ããããããã£ã¡ã§å¾¹å¤ãã¦ãã人ã¯ããããããã ããããç§ã¯RISC-Vã®Webinarãè´è¬ããããã«å¾¹å¤ãã¦ã¾ããã zoom.us å 容ã¨ãã¦ã¯RISC-Vã®åºæ¬çãªISAã®åºç¤ããå§ã¾ãåå¿è åãã ãªãããã®ã¦ã§ãã»ããã¼ã¯ä¸åâ¦
RISC-Vè©ä¾¡ãã¼ãã®HiFive1ã¯ããªã³ãããã®ã¡ã¢ãªãå°ãªããL1Dãã£ãã·ã¥ã16KBãããªãããã以å¤ã®ãã¼ã¿ã«ã¢ã¯ã»ã¹ããããã«ã¯ãå¤é¨ã®ãã©ãã·ã¥ã¡ã¢ãªãå©ç¨ããå¿ è¦ãããã ããã«ãããã»ã¨ãã©ãã¹ã¦ã®ãã¼ã¿ã¯ããããããã©ãã·ã¥ã¡ã¢ãªã«æ ¼ç´â¦
RISC-Vãããã§åä½ããããã°ã©ã ãéçºããå ´åãããã¤ãæ¹æ³ãåå¨ããã Arduino IDEã使ã£ã¦éçºãã Freedom-E-SDK ã使ã£ã¦éçºãã ãããã®æ¹æ³ã¯ã©ã¡ãã¨ããæ¬ããã°ãéãã§ç´¹ä»ãã¦ãããArduino IDEã¯ä»ã®Arduinoãã©ãããã©ã¼ã ã¨ã®è¦ªåæ§â¦
msyksphinz.hatenablog.com RISC-Vã«ç¹åããã¯ã¼ã¯ã·ã§ãããIEEE MICROã¨ã®é£æºã§éå¬ãããCARRV(Computer Architecture Research with RISC-V)ã®äºåããã°ã©ã ãå ¬éããã¦ãã¾ãã éå¬ã¯2017/10/14ããã¹ãã³ RISC-Vã·ãã¥ã¬ã¼ã·ã§ã³ãã¨ãã¥ã¬ã¼ã·ã§â¦
æ¬æ¥ã¢ãã¦ã³ã¹ããã£ã¦ç¥ã£ããAmazonãæä¾ããã¤ã³ã¹ã¿ã³ã¹F1ã§åä½ããRISC-V ãã«ãã³ã¢NoCããªãªã¼ã¹ããããããã fires.im ååã¯"FireSim"ãAmazonã ããFireãªã®ããªï¼ æ§æã¨ãã¦ã¯2種é¡ç¨æããã¦ãããAmazon F1ã«ã2種é¡ãããã f1.2xlarge â¦
RISC-Vããã»ããµHiFive1ã§MNISTãå®è¡ããã¦ãããç¾ç¶ã®åé¡ç¹ã¨ãã¦ã¯ããããããªã¨ãããé ããã¨ã ã äºæ³ãããæ§è½ãåºãªãããããã試è¡ããçµæããã¯ãåé¡ã¨ãã¦ã¯å¦ç¿ãã¼ã¿ãCPUã«å¯¾ãã¦é ãã¨ããã«ããäºã ããã ã¤ã¾ããåºå®å¤ã®å¦ç¿ãã¼â¦
ååã¯ãRoCCã¤ã³ã¿ãã§ã¼ã¹ã使ã£ã¦å°ç¨ãã¼ãã¦ã§ã¢ãåãããé常ã®ã½ããã¦ã§ã¢å½ä»¤ãåãããå ´åã¨æ¯ã¹ã¦ã©ã®ç¨åº¦æ§è½ãç°ãªãã®ã調æ»ããã ãã®çµæããã¼ãã¦ã§ã¢ãã·ã³ãã«ãªããããã½ããã¦ã§ã¢ã使ã£ãå ´åã¨å¤§å·®ãªãçµæã«ãªã£ã¦ãã¾ã£ãã â¦
RoCCã¤ã³ã¿ãã§ã¼ã¹ã使ã£ã¦å°ç¨å½ä»¤ã使ãããã¼ãã¦ã§ã¢ã¢ã¯ã»ã©ã¬ã¼ã·ã§ã³ãã§ããããã«ãªã£ãã ã¨ãããããã¾ãã¯å°æèª¿ã¹ã«ãã¡ã¢ãªãããã¼ã¿ãèªã¿è¾¼ãã§å ç®ããå°ç¨ãã¼ãã¦ã§ã¢ã使ãããã®æ§è½ãè¦ã¦ã¿ããã 使ãããã¼ãã¦ã§ã¢ ã¾ãã¯â¦
ãã¼ã£ã¨RoCCã¤ã³ã¿ãã§ã¼ã¹ã®åå¼·ããã£ã¦ããã®ã ãããã£ã¨ããã£ãæ°ããããéä¸ã§åä½ãæ¢ã¾ã£ã¦ãã¾ãã®ã¯ãã¯ãéä¸ã§ãªã¯ã¨ã¹ããã¥ã¼ããã£ã±ãã«ãªã£ã¦ãã¾ãããã ã RoCCã¤ã³ã¿ãã§ã¼ã¹ã«ã¯ã¿ã°ãä»ãã¦ããã®ã ãããã®ã¿ã°ã«ã¡ããã¨ããIDãâ¦
RISC-Vããã»ããµHiFive1ã§MNISTãåä½ããããã宿©ãããã°ããã¦ãã¦ããã£ã¨åä½ããããã«ãªã£ãã ããããµã¤ãºãå¢ããã¨ãã¼ã¿ã»ã¯ã·ã§ã³ãå ¥ããããªãã®ã§ãããã工夫ãããããããã¡ãã£ã¨è»½éåã§ããªãã ãããã HiFive1(32bit RISC-V)ã§ã®â¦
RISC-Vããã»ããµHiFive1ã§MNISTãåä½ããããã宿©ãããã°ããã¦ãã¦ããã£ã¨åä½ããããã«ãªã£ãã ã¾ã ããããµã¤ãºã¯1ã®ã¾ã¾ã ããã¨ããããåä½ããããã«ãªã£ãã åé¡ã ã£ãã®ã¯ããã¼ã¿ã®é ç½®æ¹æ³ã ã£ããã¡ããã¨èª¿æ´ãã¦å ¥åãã¼ã¿ãæµãã¨ãâ¦
ã ãã¶æéã空ãã¦ãã¾ã£ããRISC-Vããã»ããµHiFive1ã使ã£ãå®é¨ãæ©æ¢°å¦ç¿ã®ãããã¯ã¼ã¯ãåä½ããã¦MNISTãåä½ãããä»¶ããã£ã¨åéããã ã¨ããããMNISTã®ãã¼ã¿ã使ã£ã¦ã¡ããã¨è¨ç®ã§ããããã«ãªããããããã§ãããããã°ã¯ãªããªã大å¤ã ã â¦
ååããä¸çæ¸å½RoCCã¤ã³ã¿ãã§ã¼ã¹ã«æ¥ç¶ããã¢ã¯ã»ã©ã¬ã¼ã¿ã®ãããã°ããã¦ããã®ã ããã©ãã䏿ãè¡ããªãã RoCCã¤ã³ã¿ãã§ã¼ã¹ããã³ãã³ããåãåã£ã¦ãL1ãã£ãã·ã¥ã«å¯¾ãã¦ã¢ã¯ã»ã¹ããã¦ãã¼ã¿ãåãåºãããã®ãã¼ã¿ã«å¯¾ãã¦å å·¥ãè¡ãããã®â¦