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
3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マイクロプロセッサの設計と実装実験成果スライド
Yuto Nakamura
December 23, 2022
More Decks by Yuto Nakamura
See All by Yuto Nakamura
車載エッジデバイスにおけるAI実装
yutyan0119
0
1.4k
Other Decks in Education
See All in Education
Center for Entrepreneurship Education | Science Tokyo (Institute of Science Tokyo)
sciencetokyo
PRO
0
350
AWS Skill Builderを活用した一石二鳥の業務計画
ysaeki
0
140
Adobe Express
matleenalaakso
2
8.4k
Geografía y fútbol. Atlanta. la megalópolis del fútbol
juanmartin2026
1
12k
25-26 CBT Library top items
cbtlibrary
0
190
Stardy 会社紹介資料
stardy
0
7.1k
2026年度春学期 統計学 第13回 不確かな測定の不確かさを測る ― 不偏分散とt分布 (2026. 6. 25)
akiraasano
PRO
1
180
学生のうちに考えておきたい信頼の話
suisan
1
770
NDIAS Automotive / IoT CTF 2026 Recap - Keyfob & OSINT
himitu23
0
330
Πλουτοκρατία: Η Τυραννία του Μαμμωνά και η Μεταανθρώπινη Δουλεία
amethyst1
0
300
Comentario del plano urbano de Madrid hasta 1860 (1ª parte )
juanmartin2026
1
47k
[2026前期火5] 論理学(京都大学文学部 前期 第12回)「証明を走らせる:カリー・ハワード対応」
yatabe
0
300
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Believing is Seeing
oripsolob
1
210
Building an army of robots
kneath
306
46k
Raft: Consensus for Rubyists
vanstee
141
7.7k
Optimizing for Happiness
mojombo
378
71k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Typedesign – Prime Four
hannesfritz
42
3.2k
KATA
mclloyd
PRO
35
15k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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 楽しかったです!!!