2024-06-01ãã1ã¶æéã®è¨äºä¸è¦§
ã¡ãã£ã¨ããããã¨CPUã®ææ©å®è¡ã«ã¤ãã¦èª¿ã¹ãå¿ è¦ããã£ã¦ï¼Runaheadå®è¡ã«ã¤ãã¦ããè³æããã£ãã®ã§ã¾ã¨ãã¦ã¿ããã¨ã«ããï¼ è³æèªä½ã¯ä»¥ä¸ï¼Runahead Executionãæåã«ææ¡ãã Onur Mutlu å çç´ã ã®è¬ç¾©è³æãªã®ã§ï¼ãããèªãã°ã¾ãééããªãâ¦
SiFive ã® Essential ã·ãªã¼ãºã®ç¬¬4ä¸ä»£ãçºè¡¨ ããããEssential ã·ãªã¼ãºã«ä¸ä»£ããããã¨ãç¥ããªãã£ãã®ã ãï¼ç¬¬4ä¸ä»£ã®Essential ã·ãªã¼ãºããªãªã¼ã¹ãããï¼ Essential ã·ãªã¼ãºã¯ SiFive ã®ä¸ã§ã¯æ§è½ã§ã¯ãªãã³ã¹ãããã©ã¼ãã³ã¹ãéè¦ãã製å群(â¦
ã¡ãã£ã¨ããããã¨CPUã®ææ©å®è¡ã«ã¤ãã¦èª¿ã¹ãå¿ è¦ããã£ã¦ï¼Runaheadå®è¡ã«ã¤ãã¦ããè³æããã£ãã®ã§ã¾ã¨ãã¦ã¿ããã¨ã«ããï¼ è³æèªä½ã¯ä»¥ä¸ï¼Runahead Executionãæåã«ææ¡ãã Onur Mutlu å çç´ã ã®è¬ç¾©è³æãªã®ã§ï¼ãããèªãã°ã¾ãééããªãâ¦
ã¡ãã£ã¨ããããã¨CPUã®ææ©å®è¡ã«ã¤ãã¦èª¿ã¹ãå¿ è¦ããã£ã¦ï¼Runaheadå®è¡ã«ã¤ãã¦ããè³æããã£ãã®ã§ã¾ã¨ãã¦ã¿ããã¨ã«ããï¼ è³æèªä½ã¯ä»¥ä¸ï¼Runahead Executionãæåã«ææ¡ãã Onur Mutlu å çç´ã ã®è¬ç¾©è³æãªã®ã§ï¼ãããèªãã°ã¾ãééããªãâ¦
RVCã®å®è£ ããããã³ãã¨ã³ãå ¨ä½ã®å®è£ ã¾ã§èãç´ãã¦ï¼ä¸å¿ã®æ¹éãç«ã¦ããã¨ã«ããï¼ å ¨ä½çãªã¢ã¸ã¥ã¼ã«ã¨ãã¦ã¯ï¼ã¾ãå½ä»¤ãã£ãã·ã¥ããã®å½ä»¤ãããã¯ãåãåãï¼ãããRVC解æç¨ã®ã¢ã¸ã¥ã¼ã«ã«éãï¼ ãã³ã¼ãæ¸ã¿ã®å½ä»¤ãæ ¼ç´ããå½ä»¤ãããã¡ã¯â¦
RVCã®å¤å®æ¡ä»¶ã«ä»ãã¦ï¼ããã¡ãã£ã¨èãç´ããï¼ ãã16ãããå½ä»¤ã°ã«ã¼ããï¼å½ä»¤ã®ä¸ä½16ãããã°ã«ã¼ãã§ããã¨ããã®ã¯ï¼ä»¥ä¸ã®æ¡ä»¶ã®ã©ã¡ããã§ããã¯ãã ï¼ ãããï¼ inst_16bit_valid[7:0] ã¨ãã¦ï¼inst_16bit_valid[i] ãå½ä»¤ã®ä¸ä½16ãããã°ã«â¦
èªä½CPUã®VIPTåã«ã¤ãã¦ï¼ãã¹ããå¼·åãã¦AAPGã§å®è¡ãã¦ã¿ããã¨æãï¼ ã¨ãããããã°ã®è§£æã¨åé¡ã®ç¹å®ãã§ããï¼ããã¯VIPTã«é¢ä¿ãªãçºçããåé¡ã®ããã«æãããã©ï¼ããã§ãã¨ãããããã®é¨åãä¿®æ£ããã¨æ£ããPASSããããã«ãªã£ãï¼ ä¿®æ£å¾ã®â¦
èªä½CPUã®VIPTåã«ã¤ãã¦ï¼ãã¹ããå¼·åãã¦AAPGã§å®è¡ãã¦ã¿ããã¨æãï¼ AAPGã®å®è¡æ¹æ³ã¯ããªãæã«ç¢ºç«ããï¼ä»¥ä¸ã®ãããªã³ãã³ãã§ï¼AAPGã®ã©ã³ãã ãã¹ãã®çæãããã¿ã³ã®å®è¡ã¾ã§è¡ã£ã¦ãããï¼ for config in `ls -1 ../tests/aapg/configs/core_â¦
RVCã®å¤å®æ¡ä»¶ã«ä»ãã¦ï¼ããå°ãèããæ¨ãé²ããï¼ ã¾ãï¼insn_rvcã®çææ¹æ³ã ãï¼ãããæ£ç¢ºã«çæãããã¨ãã¾ãé£ããï¼ ä¾ãã°ãã³ã¼ããããã¯ã®ãµã¤ãºã128-bitã®å ´åï¼8ã¤ã®16-bitãããã¯ã«åå²ãã¦RVCå¤å®ãè¡ããã¨ã«ãªãï¼ ãããï¼ããã§RVCâ¦
èªä½CPUã®ããã³ãã¨ã³ããã³ã¼ãé¨åãé常ã«éããã®ã ãï¼ãã®æ¹è¯ãèãã¦ããï¼ éããé¨åã¨ããã®ã¯ï¼RVCå½ä»¤(16-bitå½ä»¤)ãæ¡å¼µãã¦32-bitå½ä»¤ã«å¤æããé¨åã ï¼ RVCå½ä»¤ã¯32-bitå½ä»¤(RVIå½ä»¤)ã®ä¸ã«æ··å¨ãã¦ç¾ãï¼ãããRVCããµãã¼ããã¦ããç°å¢â¦
GCCã®iquoteãªãã·ã§ã³ãåãã¦ç¥ã£ãï¼ gcc.gnu.org è¦ããã«ï¼-Iãªãã·ã§ã³ã¨ã®éãã¯ï¼ -I ãªãã·ã§ã³ã¯ #include <file> 㨠#include "file" ã®ä¸¡æ¹ã®ãã¡ã¤ã«ã®æ¤ç´¢ã«ä½¿ããã -iquote ãªãã·ã§ã³ã¯ #include "file" ã®æ¤ç´¢ã«ã®ã¿ä½¿ããã ã¨ãããã¨ãããï¼</file>â¦
èªä½CPUã®Spikeã¢ãã«ã·ãã¥ã¬ã¼ã¿ç°å¢ã®å¤æ´ (5. Spikeã®æå解æã¨ç°å¢ä¿®æ£)
èªä½CPUã®Spikeã·ãã¥ã¬ã¼ã¿ãããªãä¹ ãã¶ãã«ã¢ãããã¼ãããã¨ãããããªé¢æ°ãå¤ãã£ã¦ãã¦ããªãæ¸æã£ã¦ãã¾ã£ãã Spikeã®æåã«ãè¥å¹²ã®å¤æãã¿ããããï¼Misalignedã®ã¢ã¯ã»ã¹ã«ããã¦ãï¼ä¾å¤ãçºçããã¨ã¨ãã«å½ä»¤ã®ãã¬ã¼ã¹ãã°ã«ãæ®ã£ã¦ãâ¦
ããã³ãã¨ã³ãã®ï¼ãã³ã¼ãã®é¨åãé常ã«éããï¼ Slack (VIOLATED) : -17.096ns (required time - arrival time) Source: u_scariv_tile/u_frontend/u_scariv_inst_buffer/u_inst_queue/r_outptr_reg[1]/C (rising edge-triggered cell FDCE clocked by iâ¦
ãã¯ãã«ã¢ã¼ããã¯ãã£ã«é¢ãã¦é¢ç½ãããªè«æããã£ãã®ã§èªãã§ã¿ããã¨ã«ããï¼ https://ieeexplore.ieee.org/document/9651636 Register Flush-free Runahead Execution for Modern Vector Processors ç¾ä»£ã®ãã¯ãã«ããã»ããµã«ããã¦ï¼ãã¯ãã«ã»ãâ¦
ååã®ç¶ãï¼ msyksphinz.hatenablog.com msyksphinz.hatenablog.com 4. ææ³ã¨çµæ CVP-1ãã¬ã¼ã¹ãChampSimãã©ã¼ãããã«å¤æããå¾ã§ChampSimã®ã¡ã¤ã³ãã©ã³ãã§å¤æ´ã®å½±é¿ãè©ä¾¡ããï¼ ããã³ãã¨ã³ãã®åå²äºæ¸¬ã§ã¯ï¼16Kã¨ã³ããªã®BTBã¨64KBã®ITTAGEã¨â¦
ååã®ç¶ãï¼ msyksphinz.hatenablog.com msyksphinz.hatenablog.com 3.2. åå²å½ä»¤ ChampSimã¯åå²ã¿ã¼ã²ãããããã¡ï¼BTBï¼ãå«ãæ¯è¼ç詳細ãªããã»ããµã»ããã³ãã¨ã³ããã¢ãã«åãã¦ããï¼ ChampSimã¯ç°ãªãã¿ã¤ãã®åå²ãåºå¥ãï¼åå²å½ä»¤ãèªã¿æ¸ãâ¦
èªä½CPUã®ãã£ãã·ã¥ã«ã¤ãã¦ï¼VIPTãå°å ¥ãã¦å®è£ ãéå§ããï¼ ããã¡ãã£ã¨ã¯ãªãã£ã«ã«ãã¹ãç¹å®ããããã«ï¼LiteXã¨ã¯ç¬ç«ããç°å¢ã§Vivadoãå®è¡ãï¼Retimingãé©ç¨ãã¦ã¿ãï¼ ãã®çµæããã£ã¦ï¼ç¾å¨ã®çã®ã¯ãªãã£ã«ã«ãã¹ãç¹å®ãããã¨ãã訳ã ï¼ â¦
Vivado 2024.1 ã§MicroBlaze Vã使ããããã«ãªã£ããããªã®ã§ï¼è©³ç´°ãè¦ã¦ã¿ããã¨ã«ããï¼ä½¿ã£ã¦ã¿ãã®ã¯ã®ã¡ã®ã¡ï¼ https://japan.xilinx.com/products/design-tools/microblaze-v.html#processor-details japan.xilinx.com ãµãã¼ãããå½ä»¤ã»ããã¢ã¼ãâ¦
ååã®ç¶ãï¼ msyksphinz.hatenablog.com 3.1.1. mem-regsã®æ¹å CVP-1 ã®ãã¬ã¼ã¹ã¯ã0 ãã 3 ã¾ã§ã®æ¸ãè¾¼ã¿ã¬ã¸ã¹ã¿ãæã¤å½ä»¤ã§æ§æãããã ããªãã§ããã»ãã¼ãã¨ã¹ãã¢ã¯ãCVP-1ãã¬ã¼ã¹ã«ã¯æ¸ãè¾¼ã¿ã¬ã¸ã¹ã¿ããªãï¼ãã¼ã¹ã»ã¢ãããã¼ããè¡ãã¹â¦
ååã®ç¶ãï¼ msyksphinz.hatenablog.com ãã¬ã¼ã¹ã®è§£æã¨å¤æã®æ±ºå® ChampSimã®ãã¬ã¼ã¹ãã©ã¼ããã åå½ä»¤ã64ãã¤ããå æããåºå®ãã©ã¼ããã å½ä»¤ãã¤ã³ã¿(8B) / is_branch(1B) / branch_taken (1B) / æ¸ãè¾¼ã¿ã¬ã¸ã¹ã¿ (2Ã1B) / ã½ã¼ã¹ã¬ã¸ã¹ã¿ (4Ãâ¦
ç¹ã«æå³ã¯ãªãã®ã ãï¼è«æãããã£ã¦ãã¦ä»¥ä¸ã®è«æãæ°ã«ãªã£ãã®ã§ã¡ã¢ãåããªããèªãã§ã¿ããã¨ã«ããï¼ https://ieeexplore.ieee.org/document/10289581 ãã¤ã¯ãã¢ã¼ããã¯ãã£ã®ç 究ã ã¨ï¼ä¸»ã«ãã¤ãã©ã¤ã³ãã¢ãã«åããã·ãã¥ã¬ã¼ã¿ã使ã£ã¦æ§è½â¦