开始!

参赛目的

工作中实作 Client/Server 的过程中经常会遇到需要根据 URI 分派各种指令的情境。
於是想起可能 Jserv 前辈分享过的 computed goto
但在实体机器使用 perf 分析的结果跟预期的很不一样。
於是研究 MARSS-RISCV,试图找出问题所在。

中途参加了 Skymizer ISSCC 的分享会,开始研究 NVDLA 与 SystemC。
过程中意外找到实作简洁的 RISC-V-TLM,在 code stream 分析上有很大的帮助,
让我能统计机率分布的结果,并用视觉化的散布图呈现。
最後也开始对 SystemC based emulator 产生了兴趣。

没错,我是只兴趣广泛的程序猿,
但不能把发散的兴趣当饭吃。
所以这次系列文会从简介 systemC 功能开始,并把篇幅集中在实作最简单的 RV32I 的 CPU Emulator。

系列文规划

SyetemC 会着重在 LT model,至少会介绍安装流程、wait、Blocking transport,
Sensitive、DMI、Quantum keeper、Phasis、Non-Blocking transport 等等功能有用到会再提。

RISC-V 的部分会实作 RV32I Base Instruction,可能会再加入其他 extension,
Version 20191213 为准,相关文件可以在这边找到 RISC-V Specifications

ONNC、Unit Test 视进度加入。

期许

兴趣广泛是优点也是缺点。
铁人赛目标明确,而且时间有限,超时就中断。
换句话说就是强迫遵守 Time-boxing 原则,
以最小需求为准,计划、重新计划、并小步前进,
练习从功能与时间中做出妥协是最主要的目标。

像美式足球员一样,朝目标尽全力冲刺吧!


<<:  【D1】前言与规划

>>:  前言~第一天轻松谈

(Day12) 物件,浅拷贝/深拷贝

前言 实作很常会遇到要让物件复制出来,个别使用的状况,在 JavaScript 物件复制分成两种: ...

【Day 21】夭寿赞的 ECS on Outposts 实作

tags: 铁人赛 AWS Outposts ECS Task 建立丛集 Cluster 从介面上建...

[Day22]Laravel 路由

Laravel 路由 基本路由 首先看到rotues资料夹里的web.php,会看到这些程序码 Ro...

github

右上 or 左上Repositories New ... > Settings > p...

.NET Core第13天_View常见操作_Layout布局页_PartialView部分检视_强类型视图(大量资料或物件的传递)

_Layout布局(版面配置)页 预设当我们新建好.net5 mvc专案後 比方今天新增一个空的Ra...