# CPU実験2020 3班 第3回 進捗報告
<br>
<br>
### 発表: 2020/10/13 服部穣
##### チーム: 菅研吾(Core)、服部穣(Compiler)、奥田壮一郎(Simulator)、太田一毅(FPU)
[本文のリンク](https://hackmd.io/EY3pPx53TO-P0DcuDFLcQQ)
[スライドのリンク](https://hackmd.io/@G7Ik9qReRYmBCqCD2cNwOg/B1ag16bDv#/)
---
## 線表
- 線表
```mermaid
gantt
title CPU実験2020 3班 線表 ver 1.0
dateFormat MM/DD
axisFormat %m/%d
section Fibonacci
初期ISA決定: 1isa, 9/29, 1w
Fibonacci用コア : 1core ,9/29 ,5w
初期ISA用コンパイラ : 1compiler ,9/29 ,3w
初期ISA用シミュレータ : 1simulator , 9/29 ,3w
初期ISA用アセンブラ: 1fpu, after 1isa, 2w
section 完全動作
初期ISAの改善: 2isa, after 1core, 1w
完動コア: 2core, after 1core, 3w
コンパイラ(ライブラリ実装): 2compiler, after 1compiler, 3w
FPU: 2fpu, after 1fpu, 5w
section 高速化
ISAの決定: isa3, after 2core, 2w
高速化頑張る: opt, after isa3, 4w
```
- Fibonacci目標日: 11/10(火)
- 完全動作目標日: 12/01(火)
---
## 進捗報告と来週の予定
### <img src="https://i.imgur.com/7WAB1xh.png" alt="suga" style="zoom:15%;" /> Suga Kengo (Core)
- 今週やったこと
- ボードをながめた。
- 適当なバイナリを書き込んだ。
- 来週やること
- シミュレーションの環境を整える
- lb命令だけのコアを完成させる
- UART通信の実装
---
## 進捗報告と来週の予定
### <img src="https://i.imgur.com/6BU9wc6.png" alt="joe" style="zoom:15%;" /> Joe Hattori (Compiler)
- 今週やったこと
- Fibonacciの実装(spikeで挙動を確認)
- 来週やること
- MinCamlのtest/\*のうちいくつかを実行できるようにする。
- 擬似命令の書き換え(?)
---
## 進捗報告と来週の予定
### <img src="https://i.imgur.com/Di21V3n.png" alt="wa" style="zoom:60%;" /> Wa Wa (God)
- 今週やったこと
- 今からやります(10/12)。
- 今やっています(10/13)。
- 来週やること
- がんばります(10/12)。
- がんばっています(10/13)。
---
## 進捗報告と来週の予定
### <img src="https://i.imgur.com/GKmK5Y6.png" alt="ota" style="zoom:15%;" /> Kazuki Ota (FPU)
- 今週やったこと
- RISC-Vの機械語の仕様調査
- アセンブラ例調査
- [RISC-V Online Simulator](https://www.kvakil.me/venus/)というものがあった。
- 少なくともFibonacciのステップ実行・アセンブリ出力はできる。
- GNU-asというアセンブラがあるのを教えてもらった。
- 来週やること
- スプレッドシートに従ってアセンブラを書き終える。
- (パース・実装が楽なのはPython?言語は要検討)
- 疑問: 命令列を順々に機械語に翻訳するだけでいいのかが結局わかってない。
<!--
## 補足: 旧FPUスケジュール
- 10/06: ゼロ関数(常に0を返す関数)
- 10/07: 比較
- 10/14: 加減算
- 10/18: 乗算
- 10/21: ftoiとかfloorとかfsqrとか
- 10/25: 除算
- 11/01: 平方根
- 11/03: 三角関数
- 11/04: atan関数
- 11/10: FPU完成!
-->
<style>
/* basic design */
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6,
.reveal section, .reveal table, .reveal li, .reveal blockquote, .reveal th, .reveal td, .reveal p {
font-family: 'Meiryo UI', 'Source Sans Pro', Helvetica, sans-serif, 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic';
text-align: left;
line-height: 1.8;
letter-spacing: normal;
text-shadow: none;
word-wrap: break-word;
color: #444;
}
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {font-weight: bold;}
.reveal h1, .reveal h2, .reveal h3 {color: #2980b9;}
.reveal th {background: #DDD;}
.reveal section img {background:none; border:none; box-shadow:none; max-width: 95%; max-height: 95%;}
.reveal blockquote {width: 90%; padding: 0.5vw 3.0vw;}
.reveal table {margin: 1.0vw auto;}
.reveal code {line-height: 1.2;}
.reveal p, .reveal li {padding: 0vw; margin: 0vw;}
.reveal .box {margin: -0.5vw 1.5vw 2.0vw -1.5vw; padding: 0.5vw 1.5vw 0.5vw 1.5vw; background: #EEE; border-radius: 1.5vw;}
/* table design */
.reveal table {background: #f5f5f5;}
.reveal th {background: #444; color: #fff;}
.reveal td {position: relative; transition: all 300ms;}
.reveal tbody:hover td { color: transparent; text-shadow: 0 0 3px #aaa;}
.reveal tbody:hover tr:hover td {color: #444; text-shadow: 0 1px 0 #fff;}
/* blockquote design */
.reveal blockquote {
width: 90%;
padding: 0.5vw 0 0.5vw 6.0vw;
font-style: italic;
background: #f5f5f5;
}
.reveal blockquote:before{
position: absolute;
top: 0.1vw;
left: 1vw;
content: "\f10d";
font-family: FontAwesome;
color: #2980b9;
font-size: 3.0vw;
}
/* font size */
.reveal h1 {font-size: 5.0vw;}
.reveal h2 {font-size: 4.0vw;}
.reveal h3 {font-size: 2.8vw;}
.reveal h4 {font-size: 2.6vw;}
.reveal h5 {font-size: 2.4vw;}
.reveal h6 {font-size: 2.2vw;}
.reveal section, .reveal table, .reveal li, .reveal blockquote, .reveal th, .reveal td, .reveal p {font-size: 2.2vw;}
.reveal code {font-size: 1.6vw;}
/* new color */
.red {color: #EE6557;}
.blue {color: #16A6B6;}
/* split slide */
#right {left: -18.33%; text-align: left; float: left; width: 50%; z-index: -10;}
#left {left: 31.25%; text-align: left; float: left; width: 50%; z-index: -10;}
</style>
<style>
/* specific design */
.reveal h1 {
margin: 0% -100%;
padding: 2% 100% 4% 100%;
color: #fff;
background: #c2e59c; /* fallback for old browsers */
background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB);
background-size: 200% 200%;
animation: Gradient 60s ease infinite;
}
@keyframes Gradient {
0% {background-position: 0% 50%}
50% {background-position: 100% 50%}
100% {background-position: 0% 50%}
}
.reveal h2 {
text-align: center;
margin: -5% -50% 2% -50%;
padding: 4% 10% 1% 10%;
color: #fff;
background: #c2e59c; /* fallback for old browsers */
background: -webkit-linear-gradient(to right, #64b3f4, #c2e59c); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to right, #64b3f4, #c2e59c); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}
</style>
{"metaMigratedAt":"2023-06-15T14:03:20.385Z","metaMigratedFrom":"YAML","title":"CPU実験2020 3班 第3回 進捗報告","breaks":true,"slideOptions":"{\"theme\":\"white\",\"slideNumber\":\"c/t\",\"center\":false,\"transition\":\"none\",\"keyboard\":true,\"width\":\"93%\",\"height\":\"100%\"}","contributors":"[{\"id\":\"818b4bbb-69dc-430d-bd63-d53e4bf1c156\",\"add\":120,\"del\":23},{\"id\":\"1bb224f6-a45e-4589-810a-a083d9c3703a\",\"add\":5179,\"del\":77},{\"id\":\"3e985b05-5d00-4b3a-9fef-2dd9c8b8cbad\",\"add\":103,\"del\":15},{\"id\":\"8a2b783f-ca46-42f0-b444-4b7b299ac67f\",\"add\":385,\"del\":81}]"}