Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マイクロプロセッサの設計と実装実験成果スライド
Search
Yuto Nakamura
December 23, 2022
Education
0
1.2k
マイクロプロセッサの設計と実装実験成果スライド
Yuto Nakamura
December 23, 2022
Tweet
Share
More Decks by Yuto Nakamura
See All by Yuto Nakamura
車載エッジデバイスにおけるAI実装
yutyan0119
0
1.1k
Other Decks in Education
See All in Education
「最初の本」の紹介
eltociear
1
210
Course Review - Lecture 12 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.4k
(2024) Histoire et histoires du lycée Saint-Louis
mansuy
0
100
Interaction - Lecture 10 - Information Visualisation (4019538FNR)
signer
PRO
0
1.4k
2023年度「生成AI100校プロジェクト」 実践報告書/The 2023 "Generative AI 100 Schools Project" Practical Report
codeforeveryone
0
1.1k
Прием на целевое обучение
pnuslide
0
4.7k
week2@tcue2024
nonxxxizm
0
930
【実践】 パフォーマンス・チューニング~オプティマイザ活用術~
oracle4engineer
PRO
1
660
大学業務における生成AI活用の現在地 -基本編-
gmoriki
3
2.4k
NTTコムウェアの東海支店でもアジャイル人材育てんとかんやん!結果どえらい人材が育ったがね!
mizuki_fujita
0
260
【基本】Oracle Database データベース・ユーザー・セキュリティ入門
oracle4engineer
PRO
1
300
AGU情報社会論 2024 #03 "CC BY-SA"
fullfull
0
140
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Web Components: a chance to create the future
zenorocha
307
41k
The World Runs on Bad Software
bkeepers
PRO
63
11k
Rails Girls Zürich Keynote
gr2m
93
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
How STYLIGHT went responsive
nonsquared
93
5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Agile that works and the tools we love
rasmusluckow
325
20k
How to name files
jennybc
67
96k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
How to train your dragon (web standard)
notwaldorf
79
5.5k
Transcript
MICROPROCESSOR DESIGN & IMPLEMENTATION
実装方針 • 5段パイプライン • 2bit分岐予測 • フォワーディング有り • スーパースカラー ◦
2つ目のパイプライ ンは制約有り ◦ ALU/Branch x 2 ◦ RegRead x 4 2
第一世代 2K performance run parameters for coremark. CoreMark Size :
666 Total ticks : 1093050850 Total time (secs): 13 Iterations/Sec : 23 Iterations : 300 3 • 5サイクル化 • パイプライン化はしない ◦ FDEMW -> FDEMW … • 80Mhzで実機動作
第二世代 2K performance run parameters for coremark. CoreMark Size :
666 Total ticks : 2095233356 Total time (secs): 17 Iterations/Sec : 117 Iterations : 2000 4 • パイプライン化 • 常に分岐しない予測 ◦ ストールを短くする ◦ ストールは addi x0, 0 で命令 を差し替える • メモリアドレス専用の加算機 • 123Mhzで実機動作 D E M W F D X X X F X X X X F F D E M W
第三世代 5 • 第二世代に分岐予測を足した • 118Mhzで実機動作
第三世代 2K performance run parameters for coremark. CoreMark Size :
666 Total ticks : 1958052487 Total time (secs): 15 Iterations/Sec : 133 Iterations : 2000 6 • 第二世代に分岐予測を足した • 118Mhzで実機動作 ※2bit分岐予測でも2レベル適応型分岐予測でもCoremarkのスコアは変わらず🤔
第四世代 7 • スーパースカラー化 • 以下のときは2つ目は実行しない ◦ 1つ目が分岐予測のとき ◦ メモリ命令のとき
◦ 1つ目の命令とRAWハザード ◦ 1つ目の命令とWAWハザード すべてのテストに通過したが CoreMarkは動作せず… 参考: IntRegReg 47clock-> 35clock IntRegImm 48clock -> 31clock
困った事 • すべてのテストに通ってCoremarkのトレースが一致しても Coremark_for_Synthesisが動かないことがあった ◦ Hardware counterの実装バグ ◦ 自前でテストを書いて解決 •
LoadAndStoreの仕様に気づくのに時間がかかる • ALU内で >>> が想定動作をしない($signedつけてもダメ) • vivadoのsimulationが結構な頻度で落ちる 8
やりたかったこと • スーパースカラー化完遂 • メモリアライメントを無視した命令への対応 (公式曰くoptional) • M命令、 FPU実装など… •
公式テストの実行 ◦ https://github.com/riscv-software-src/riscv-tests ◦ jalrはこれでテストしてみたがあってるかわからない (Privileged/CSR Instructionを実装していないため) 9
おわり 10 楽しかったです!!!