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
2018-BKSC-ALU
Search
houmei
March 06, 2018
Technology
0
290
2018-BKSC-ALU
ぼくのかんがえたさいきょうCPU 2018 ALU
houmei
March 06, 2018
Tweet
Share
More Decks by houmei
See All by houmei
ぼくのかんがえたさいきょうCPU 2018 ベクトル演算
houmei
0
170
ぼくのかんがえたさいきょうCPU 2018 スカラ演算
houmei
0
150
ぼくのかんがえたさいきょうCPU 2018 DATA
houmei
0
150
2017 CPU Architeciture
houmei
0
310
Other Decks in Technology
See All in Technology
生成AI時代のセキュアコーディングとDevSecOps
yuriemori
0
110
20251010_HCCJP_AdaptiveCloudUpdates
sdosamut
0
130
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
300
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
580
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
200
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
ソースを読むプロセスの例
sat
PRO
13
7.4k
incident_commander_demaecan__1_.pdf
demaecan
0
140
OAuthからOIDCへ ― 認可の仕組みが認証に拡張されるまで
yamatai1212
0
130
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Statistics for Hackers
jakevdp
799
220k
Designing Experiences People Love
moore
142
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
For a Future-Friendly Web
brad_frost
180
10k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Code Reviewing Like a Champion
maltzj
526
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
΅͘ͷ͔Μ͕͑ͨ ͍͖͞ΐ͏CPU 2018.3.6 @houmei ALU
༰ • ΅͘ͷ͔Μ͕͍͖͑ͨ͞ΐ͏CPUͷղઆ • ཧԋࢉஔ(ALU)ʹ͍ͭͯ twitter : @houmei blog :
ԼੈքౝͷܭࢉػΑ·
ALUͷߏ
ALUͷೖग़ྗ(1) • Ra,Rb(,Rb’...) σʔλೖྗ • Rc ԋࢉछྨͷࢦࣔ • Rd ԋࢉ݁Ռग़ྗ
• Re ԋࢉ݁Ռ༧උग़ྗ • Rf ԋࢉ݁Ռϑϥά
ALUͷೖग़ྗ(2) • ೖྗRa,Rbͱग़ྗRd,Reಉ͡bit෯ • 3Ҿͷԋࢉ(ੵԋࢉͳͲ)Rb’Λ༻ • ࢉͷ݁Ռ2ഒͷbit෯ʹͳΔͷͰRd,Reʹ ग़ྗ • আࢉͷRdʹɺ༨Reʹग़ྗ
ALUͷೖग़ྗ(3) • RcԋࢉͷछྨɺؙΊͳͲΛࢦఆɻ8bit෯ • Rfԋࢉ݁Ռͷঢ়ଶΛग़ྗɻ8bit෯ • ݅ذ໋ྩલͷԋࢉ໋ྩͷRfΛࢀর͢Δ
ԋࢉͷछྨ • ࢉज़ԋࢉɹRa,Rb,Rd,Re(/ුಈখ) • ཧԋࢉɹRa,Rb,Rdbitྻ(Reແޮ) • bitૢ࡞ɹRabitྻɺRbɺRdbitྻɹɹ ―γϑτ໋ྩͳͲ • bitใɹRabitྻɺ(Rbɺ)Rdɹ
―POPC໋ྩͳͲ
ࢉज़ԋࢉ • Ճࢉ/ݮࢉ • ࢉ/ੵԋࢉ • আࢉ/ฏํࠜ • ઈର/ූ߸స •
࠷େ/࠷খ
ཧԋࢉ • RaͱRbͷAND/OR/XOR • Raͷస(NOT) • Ra/Rb/all0ͷબ • ग़ྗͷస(NOT)ɹɹɹɹɹɹɹɹɹɹɹɹɹ ―͜ΕͰͯ͢ΧόʔͰ͖Δ
Ϗοτૢ࡞ • ӈγϑτ/ࠨγϑτ/ࢉज़ӈγϑτ/ࠨճసɹ ―RbྔΛࢦఆ • INSERT/EXTRACTɹɹɹɹɹɹɹɹɹɹɹ ―RbҐஔΛࢦఆ • bitSwapɹ8bitͰҙbitͷೖΕ͑ɹɹɹɹ ―RbύλʔϯΛࢦఆ
Ϗοτใ • POPCɹRaͷ“1”ͷΛΧϯτ • CLZ Count Leading Zero MSB͔Β࿈ଓ͢Δ0ͷ •
CTZ Count Trairing Zero LSB͔Β࿈ଓ͢Δ0ͷ
ϑϥά • ԋࢉ݁Ռͷঢ়ଶΛࣔ͢ • Φʔόʔϑϩʔͷ༗ແ • ݮࢉ࣌ͷRa,Rbͷେখؔɹ→ޙͷذ໋ྩ • ҾͷΤϥʔ(γϑτ໋ྩͷγϑτྔ͕ුಈখ)
ɹ ͭͮ͘ ΅͘ͷ͔Μ͕͍͖͑ͨ͞ΐ͏CPU