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
Rustから学ぶ 非同期処理の仕組み
skanehira
1
140
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.1k
Language Update: Java
skrb
2
300
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
「Linux」という言葉が指すもの
sat
PRO
4
140
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
180
はじめてのOSS開発からみえたGo言語の強み
shibukazu
1
150
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
170
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
110
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
290
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
310
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Docker and Python
trallard
45
3.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Faster Mobile Websites
deanohume
309
31k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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