2017/09/05 TileLink Specification Ver.1.7 Draftãå ¬éããã¦ããã®ã§ã追è¨ãã¦ãã¾ãã
RISC-Vå®è£ ã®Rocket-Chipã§ã¯ã足åãã®ã¤ã³ã¿ãã§ã¼ã¹ã¨ãã¦TileLinkã¨ããã¤ã³ã¿ãã§ã¼ã¹ã使ã£ã¦ãããã¨ããããããã©ãã ãæ¤ç´¢ãã¦ã詳細ãåºã¦ããªããTileLinkã¨ã¯ä½ãªã®ã ããï¼
è³æã«ã¤ãã¦ã¯ã以ä¸ã®ãã¼ã¸ãããããåºã¦ããªãããããèªã¿è§£ããããTileLinkã®ä»æ§ãç解ããã®ã¯ä¸å¯è½ãªããã ã
2017/09/05 TileLink Specification Ver.1.7ãå ¬éããã¦ããã以ä¸ãã詳細è³æãåç §ãããã¨ãã§ããã
ã¾ãã以ä¸ã®è«æãåç §ããã¦ããã
- Manager-Client Pairing: A Framework for Implementing Coherence Hierarchies
http://tinker.cc.gatech.edu/pdfs/MICRO44_Jesse_Beu.pdf
TileLinkã®æ¥ç¶ã¤ã¡ã¼ã¸
以ä¸ã¯ä¸è¨è§£èª¬ãµã¤ãããã®å¼ç¨ã
大ã¾ãã«AXIãªã©ã®ãã¹ãããã¯ã¼ã¯ã¨å¤ãããªãã¨æã£ã¦ããã
(https://www.sifive.com/documentation/tilelink/tilelink-spec/ ããå¼ç¨)
ãã¦ã以ä¸ã¯è§£èª¬æãå°ããã¤ç¿»è¨³ããªããç解ãã¦ãããã¨ã«ããã
ã¤ã³ãããã¯ã·ã§ã³
TileLinkã¯ãªã³ãããã¡ã¢ãªé層å ã§ã®ç¹å®ã®ãã£ãã·ã¥ã³ãã¼ã¬ã³ã·ããªã·ãå®è£ ãããã£ãã·ã¥ã³ãã¼ã¬ã³ã¹ãã©ã³ã¶ã¯ã·ã§ã³ã®ããã«è¨è¨ããããããã³ã«ã§ããã
TileLinkã¢ã¼ããã¯ãã£
TileLinkã®ã¬ãã«
TileLinkã¯å¤§ãã2ã¤ã®ã¬ãã«ã«åããããã
- TL-UL (TileLink Uncached Lightweight) : ã·ã³ãã«ãªã¡ã¢ãªèªã¿æ¸ãããã¼ã¹ãèªã¿æ¸ãã¯ãµãã¼ãããªãã
- TL-UH (TileLink Uncached Heavyweight) : TL-ULã«å ãã¦ãããã¤ãã®ãã³ããªãã¬ã¼ã·ã§ã³ãã¢ãããã¯ãªãã¬ã¼ã·ã§ã³ã¨ãã¼ã¹ãã¢ã¯ã»ã¹ãªã©ããµãã¼ãããã
- TL-C (TileLink Cached) : TL-UH ã«å ãã¦ãã³ãã¼ã¬ã³ããã£ãã·ã¥ã®ãµãã¼ããå ãã¦ããã
(https://www.sifive.com/documentation/tilelink/tilelink-spec/ ããå¼ç¨)
ã¨ã¼ã¸ã§ã³ã
TileLinkã¯ã¯ã©ã¤ã¢ã³ãã»ããã¼ã¸ã£ã¢ã¼ããã¯ãã£ã³ãã¼ã¬ã³ã¹ãããã³ã«å ã«åå ãã¦ããã¨ã¼ã¸ã§ã³ãã¯ã以ä¸ã®ã©ã¡ããã§ããã
- ã¯ã©ã¤ã¢ã³ãããã£ãã·ã¥ãããã¯ã«ãªã¯ã¨ã¹ããè¡ãã
- ããã¼ã¸ã£ããã£ãã·ã¥ãããã¯ã®ãã¼ããã·ã§ã³ã¨ãã¼ã¿ã®ä¼æ¬ãç£è¦ããã
ã¯ã©ã¤ã¢ã³ãã¯ãã£ãã·ã¥ãDMAã¨ã³ã¸ã³ããããã¯ã³ãã¼ã¬ã³ãã¡ã¢ãªãã¡ã¤ã³ã«åå ãã¦ããä»ã®ã³ã³ãã¼ãã³ãã§ãããå®éã«ãã¼ã¿ããã¼ã«ã«ã«ã³ãã¼ãããã©ãã«é¢ãããªãã ããã¼ã¸ã£ã¯ã¢ã¦ã¿ã¼ã¬ãã«ã®ãã£ãã·ã¥ã³ã³ããã¼ã©ã§ããããã£ã¬ã¯ããªæ¹å¼ããããã¯ãã¹ã®ã®ãããªããã¼ããããã ã¨ã¡ãã£ã¢ã§ããã ãã«ãã¬ãã«ã®ã¡ã¢ãªé層ã§ã¯ãç¹å®ã®ãã£ãã·ã¥ã³ã³ããã¼ã©ã¯ã¯ã©ã¤ã¢ã³ã(é層å ã®ããã«å¤å´ã®ãã£ãã·ã¥)ãããã¯ããã¼ã¸ã£(ããã»ããµã«ããè¿ããã£ãã·ã¥)ã¨ãã¦ã®æ©è½ãæã£ã¦ããã
ãã£ãã«
TileLinkã®æã¤5ã¤ã®ç¬ç«ãããã£ãã«ã«ã¤ãã¦ã ãããã®ãã£ãã«ã¯åä¸ã®ç©çãªã³ã¯ãå©ç¨ãã¦ãã«ããã¬ã¯ã¹ããããã¨ãã§ããã ããããããããã¯ãé²ãããã«ãã£ãã«éã§åªå 度ãå®ãããã¦ãããããããå³å¯ã«å®ããã¨ãæ±ããããã ãã£ãã«ã«ã¯ã¡ã¿ãã¼ã¿ã¨ãã¼ã¿ã³ã³ãã¼ãã³ããå«ã¾ãã¦ããã
- Channel-A : ç¹å®ã®ã¢ãã¬ã¹é åã¸ã®æä½ãªã¯ã¨ã¹ããçºè¡ããã
- Channel-D : ãªã¯ã¨ã¹ãå ã«å¯¾ãããã¼ã¿ã®å¿çãè¿ãã
- Channel-B (TL-Cå°ç¨) : ãã¹ã¿ã¨ã¼ã¸ã§ã³ãã«ãããã£ãã·ã¥ããã¦ããã¢ãã¬ã¹ã¸ã®ãªã¯ã¨ã¹ããéä¿¡ããããã£ãã·ã¥ãã¼ã¿ã®ã©ã¤ãããã¯æä½ã®ãªã¯ã¨ã¹ããªã©ã
- Channel-C (TL-Cå°ç¨) : Channe-Bã®ãªã¯ã¨ã¹ãã«å¯¾ããå¿çãã¼ã¿ãæ¸ãè¾¼ã¿å¿çãè¿ãã
- Channel-E (TL-Cå°ç¨) : ãã£ãã·ã¥ãã©ãã¯ãªã©ã®ãããã¯è»¢éã®æçµå¿çã«ä½¿ç¨ãããã
ãããã®ãã£ãã«ã¯ã¯ã©ã¤ã¢ã³ãããããã¼ã¸ã£ãããã¼ã¸ã£ããã¯ã©ã¤ã¢ã³ãã¸ã¨æ¥ç¶ããããã¯ã©ã¤ã¢ã³ãããã¯ã©ã¤ã¢ã³ãã¸ã¯æ¥ç¶ãããªãã ãã¼ããã·ã§ã³ã¯ãFinish >> Grant >> Release >> Probe >> Acquireãã§ããã
ãã©ã³ã¶ã¯ã·ã§ã³ããã¼
TileLinkã«ãã管çããããã£ãã·ã¥ãããã¯ã«ã¯ã2ã¿ã¤ãã®ãã©ã³ã¶ã¯ã·ã§ã³ãåå¨ããã
ã¿ã¤ã1.
- ã¯ã©ã¤ã¢ã³ããAcquireãããã¼ã¸ã£ã«éä¿¡ãã
- ããã¼ã¸ã£ã¯å¿ è¦ãªProbeãã¯ã©ã¤ã¢ã³ãã«éä¿¡ããã
- ããã¼ã¸ã£ã¯ãªãªã¼ã¹ããå ¨ã¦ã®Probeã«å¯¾ããReleaseãå¾ ã¤ã
- ããã¼ã¸ã£ã¯å¿ è¦ãªãã°å¾ç¶ã®ã¡ã¢ãªã«ã¢ã¯ã»ã¹ãè¡ãã
- å¿ è¦ãªãã¼ã¿ãããã¯ãã¼ããã·ã§ã³ãæã«å ¥ããã¨ããªãªã¸ãã«ã®ãªã¯ã¨ã¹ããã¨ã«å¯¾ãã¦Grantãéä¿¡ããã
- Grantãåä¿¡ããã¨ããªãªã¸ãã«ã®ã¯ã©ã¤ã¢ã³ãã¯ããã¼ã¸ã£ã«å¯¾ãã¦Finishãéä¿¡ããã©ã³ã¶ã¯ã·ã§ã³ãå®äºããã
ã¿ã¤ã2.
- ã¯ã©ã¤ã¢ã³ãã¯ããã¼ã¸ã£ã«å¯¾ãã¦ãªãªã¼ã¹ãéä¿¡ãããããèªçºçãªåä½ã§ãããã¨ãæå®ããã
- ããã¼ã¸ã£ã¯å¿ è¦ãªãã°å¾ç¶ã®ã¡ã¢ãªã«å¯¾ãã¦éä¿¡ãè¡ãã
- ããã¼ã¸ã£ã¯Grantãå©ç¨ãã¦ããã©ã³ã¶ã¯ã·ã§ã³ã®Acknowledgeãéç¥ããã
並åæ§
TileLinkhaãç¹å®ã®ãã£ãã«ã®P2Péä¿¡ã«å¯¾ãã¦ãªã¼ããªã³ã°ã«å¯¾ãã¦è¦å®ã¯åå¨ããªãã å¾ã£ã¦ãã·ã¹ãã ä¸ã®ã¨ã¼ã¸ã§ã³ãã並åæ§ãä¿æããå¿ è¦ãããã
- ããã¼ã¸ã£ã¯æ¢ã«å¥ã®ã¯ã©ã¤ã¢ã³ãã«ãã£ã¦ã¤ã³ãã©ã¤ãã§ããå ´åã«ã¯(以éã«è°è«ããããã«ã2ã¤ã®ãã©ã³ã¶ã¯ã·ã§ã³ãã©ã®ããã«ãã¼ã¸ããã®ãæ¹æ³ãåãã£ã¦ããå ´åãé¤ã)ãªã¯ã¨ã¹ãã許å¯ãã¦ã¯ãªããªãã
- ã¯ã©ã¤ã¢ã³ããã¢ã¦ãã¹ã¿ã³ãã£ã³ã°ãªèªçºçãªãã©ã³ã¶ã¯ã·ã§ã³ãæã£ã¦ãããªãã°ãã©ã¤ãããã¯ã®å®äºãAcknowledgeããããã¼ã¸ã£ããã®Grantãåä¿¡ããªãã¨ãProbeãªã¯ã¨ã¹ãã«å¯¾ããReleaseãè¿ä¿¡ãããã¨ãã§ããªãã
ãã£ãã«ä¿¡å·ã«ã¤ãã¦
ç©ççãªãã£ãã«ã®è©³ç´°ã¯å®ç¾©ãã¦ããããåãã£ãã«ã§ã®ãã©ã³ã¶ã¯ã·ã§ã³ãä¼ããããã®ä¿¡å·ç¾¤ãå®ç¾©ãã¦ããã°ããã