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
2.6k
マイクロプロセッサの設計と実装実験成果スライド
Yuto Nakamura
December 23, 2022
Tweet
Share
More Decks by Yuto Nakamura
See All by Yuto Nakamura
車載エッジデバイスにおけるAI実装
yutyan0119
0
1.3k
Other Decks in Education
See All in Education
Adobe Express
matleenalaakso
1
8.1k
【洋書和訳:さよならを待つふたりのために】第1章 出会いとメタファー
yaginumatti
0
150
20251119 如果是勇者欣美爾的話, 他會怎麼做? 東海資工
pichuang
0
160
MySmartSTEAM 2526
cbtlibrary
0
170
Web 2.0 Patterns and Technologies - Lecture 8 - Web Technologies (1019888BNR)
signer
PRO
0
3k
Semantic Web and Web 3.0 - Lecture 9 - Web Technologies (1019888BNR)
signer
PRO
2
3.1k
CSS3 and Responsive Web Design - Lecture 5 - Web Technologies (1019888BNR)
signer
PRO
1
3k
LotusScript でエージェント情報を出力してみた
harunakano
0
110
多様なメンター、多様な基準
yasulab
5
19k
JavaScript - Lecture 6 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
あなたの言葉に力を与える、演繹的なアプローチ
logica0419
1
250
沖ハック~のみぞうさんとハッキングチャレンジ☆~
nomizone
1
540
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
96
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
73
How to Ace a Technical Interview
jacobian
281
24k
Are puppies a ranking factor?
jonoalderson
0
2.6k
Statistics for Hackers
jakevdp
799
230k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Side Projects
sachag
455
43k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
420
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 楽しかったです!!!