<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="rss.css" type="text/css"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:xhtml="http://www.w3.org/1999/xhtml" xml:lang="ja-JP">
	<channel rdf:about="http://www.math.sansu.org/u/diary/index.rdf">
	<title>U-memo</title>
	<link>http://www.math.sansu.org/u/diary/</link>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/" />
	<description></description>
	<dc:creator>ukai</dc:creator>
	<dc:rights>Copyright 2008 ukai &lt;ukai @ 算数 . org&gt;, copyright of comments by respective authors</dc:rights>
	<items><rdf:Seq>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080807#p01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080617#c06"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080617#c05"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080617#c04"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080617#c03"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080617#c02"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080617#c01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080617#p01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080605#p01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080527#p01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080517#p01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080513#p01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080501#p01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080424#p01"/>
<rdf:li rdf:resource="http://www.math.sansu.org/u/diary/?date=20080422#p01"/>
</rdf:Seq></items>
</channel>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080807#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080807#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080807#p01" />
<dc:date>2008-08-07T17:42:06+09:00</dc:date>
<title>google ストリートビュー</title>
<dc:creator>ukai</dc:creator>
<dc:subject>雑記</dc:subject>
<description>おや、私の車(駐車中)が写ってる。でも場所が正しくないなぁ。</description>
<content:encoded><![CDATA[<h3>google ストリートビュー</h3><p>
おや、私の車(駐車中)が写ってる。でも場所が正しくないなぁ。</p>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080617#c06">
<link>http://www.math.sansu.org/u/diary/?date=20080617#c06</link>
<dc:date>2008-07-25T20:22:01+09:00</dc:date>
<title>2008-06-17のツッコミ[6] (tetsuya)</title>
<dc:creator>tetsuya</dc:creator>
<description>その口調がすでに魔人間ぽいですぜひさかわさんプ</description>
<content:encoded><![CDATA[その口調がすでに魔人間ぽいですぜひさかわさんプ]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080617#c05">
<link>http://www.math.sansu.org/u/diary/?date=20080617#c05</link>
<dc:date>2008-07-25T19:19:23+09:00</dc:date>
<title>2008-06-17のツッコミ[5] (うかい)</title>
<dc:creator>うかい</dc:creator>
<description>真人間なので痛車にはのっていませんわよオホホホホ</description>
<content:encoded><![CDATA[真人間なので痛車にはのっていませんわよオホホホホ]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080617#c04">
<link>http://www.math.sansu.org/u/diary/?date=20080617#c04</link>
<dc:date>2008-07-25T17:26:33+09:00</dc:date>
<title>2008-06-17のツッコミ[4] (tetsuya)</title>
<dc:creator>tetsuya</dc:creator>
<description>綾成分無しは考えられまへんな。赤いというとこういうのですかクス ttp://jabro.jp/Entry/557/</description>
<content:encoded><![CDATA[綾成分無しは考えられまへんな。赤いというとこういうのですかクス<br>ttp://jabro.jp/Entry/557/]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080617#c03">
<link>http://www.math.sansu.org/u/diary/?date=20080617#c03</link>
<dc:date>2008-07-25T11:02:40+09:00</dc:date>
<title>2008-06-17のツッコミ[3] (うかい)</title>
<dc:creator>うかい</dc:creator>
<description>うひ。 綾の方向はもうないですぜー。 # 赤いスポーツカー(謎)に乗ってますが(謎 </description>
<content:encoded><![CDATA[うひ。<br>綾の方向はもうないですぜー。<br><br># 赤いスポーツカー(謎)に乗ってますが(謎<br>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080617#c02">
<link>http://www.math.sansu.org/u/diary/?date=20080617#c02</link>
<dc:date>2008-07-25T10:08:35+09:00</dc:date>
<title>2008-06-17のツッコミ[2] (うんの)</title>
<dc:creator>うんの</dc:creator>
<description>わくわく。</description>
<content:encoded><![CDATA[わくわく。]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080617#c01">
<link>http://www.math.sansu.org/u/diary/?date=20080617#c01</link>
<dc:date>2008-07-24T22:18:55+09:00</dc:date>
<title>2008-06-17のツッコミ[1] (tetsuya)</title>
<dc:creator>tetsuya</dc:creator>
<description>数年ぶりに廃神さまっ発見。やっぱ実名検索するといつでも引っかかるス ちなみにアレな方向の日記ばっかですが、綾な方向の日記はないんでせうか。それを期待して探したのにｗ</description>
<content:encoded><![CDATA[数年ぶりに廃神さまっ発見。やっぱ実名検索するといつでも引っかかるス<br>ちなみにアレな方向の日記ばっかですが、綾な方向の日記はないんでせうか。それを期待して探したのにｗ]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080617#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080617#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080617#p01" />
<dc:date>2008-06-17T19:25:50+09:00</dc:date>
<title>Linux (glibc) の memcpy()</title>
<dc:creator>ukai</dc:creator>
<dc:subject>プロセッサ</dc:subject>
<description>memcpy 最適化 バイト単位でコピーするアホなコードの方が、勝手にベクトル化される分、gcc 内蔵のヤツより最大３倍高速なんだってwww 手元の glibc memcpy() だとこんなコードですが、 そもそも SSE2 を使わない縛りとしても最速コードではなさげ。 008bb6d0 memcpy: 8bb6d0: 8b 4c 24 0c mov 0xc(%esp),%ecx 8bb6d4: 89 f8 mov %edi,%eax 8bb6d6: 8b 7c 24 04 mov 0x4(%esp),%edi 8bb6da: 89 f2 mov %esi,%edx 8bb6dc: 8b 74 24 08 mov 0x8(%esp),%esi 8bb6e0: fc cld 8bb6e1: d1 e9 shr %ecx 8bb6e3: 73 01 jae 8bb6e6 memcpy+0x16 8bb6e5:..</description>
<content:encoded><![CDATA[<h3>Linux (glibc) の memcpy()</h3><ul>
<li><a href="http://d.hatena.ne.jp/kazuhooku/20080616/1213605846">memcpy 最適化</a></li>
</ul>
<blockquote>
<p>バイト単位でコピーするアホなコードの方が、勝手にベクトル化される分、gcc 内蔵のヤツより最大３倍高速なんだってwww</p>
</blockquote>
<p>手元の glibc memcpy() だとこんなコードですが、
そもそも SSE2 を使わない縛りとしても最速コードではなさげ。</p>
<pre>
008bb6d0 &lt;memcpy&gt;:
 8bb6d0:       8b 4c 24 0c             mov    0xc(%esp),%ecx
 8bb6d4:       89 f8                   mov    %edi,%eax
 8bb6d6:       8b 7c 24 04             mov    0x4(%esp),%edi
 8bb6da:       89 f2                   mov    %esi,%edx
 8bb6dc:       8b 74 24 08             mov    0x8(%esp),%esi
 8bb6e0:       fc                      cld    
 8bb6e1:       d1 e9                   shr    %ecx
 8bb6e3:       73 01                   jae    8bb6e6 &lt;memcpy+0x16&gt;
 8bb6e5:       a4                      movsb  %ds:(%esi),%es:(%edi)
 8bb6e6:       d1 e9                   shr    %ecx
 8bb6e8:       73 02                   jae    8bb6ec &lt;memcpy+0x1c&gt;
 8bb6ea:       66 a5                   movsw  %ds:(%esi),%es:(%edi)
 8bb6ec:       f3 a5                   rep movsl %ds:(%esi),%es:(%edi)
 8bb6ee:       89 c7                   mov    %eax,%edi
 8bb6f0:       89 d6                   mov    %edx,%esi
 8bb6f2:       8b 44 24 04             mov    0x4(%esp),%eax
 8bb6f6:       c3                      ret    
</pre>
<p>Intel としてはコンパイラの性能自慢のために、
自分らの過去のコードよりもインパクトのある数字だから
持ってきたんだろうなぁ。</p>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080605#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080605#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080605#p01" />
<dc:date>2008-06-05T07:30:21+09:00</dc:date>
<title>連続逆王手の最長</title>
<dc:creator>ukai</dc:creator>
<dc:subject>Game</dc:subject>
<description>やねうらお氏のところでは現在56手だそうだが、 もう少し長いのが「将棋ガイドブック」p176 に書いてある。 それですら最長と証明されてるわけではなくもっと長いのがあるかもしれないとのこと。 コメントかけないのでここで。</description>
<content:encoded><![CDATA[<h3><a href="http://d.hatena.ne.jp/yaneurao/20080605#p1">連続逆王手の最長</a></h3><p>
やねうらお氏のところでは現在56手だそうだが、
もう少し長いのが「将棋ガイドブック」p176 に書いてある。
それですら最長と証明されてるわけではなくもっと長いのがあるかもしれないとのこと。</p>
<p>コメントかけないのでここで。</p>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080527#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080527#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080527#p01" />
<dc:date>2008-05-27T17:40:20+09:00</dc:date>
<title>必須、推奨、任意 (RFC2119)</title>
<dc:creator>ukai</dc:creator>
<dc:subject>雑記</dc:subject>
<description>英単語のメモ 必須: MUST, REQUIRED, SHALL 禁止(必須の正反対): MUST NOT, SHALL NOT 推奨: SHOULD, RECOMMENDED 推奨の正反対: SHOULD NOT, NOT RECOMMENDED 任意: MAY, OPTIONAL</description>
<content:encoded><![CDATA[<h3>必須、推奨、任意 (<a href="http://www.rfc.net/rfc2119.html">RFC2119</a>)</h3><p>
英単語のメモ</p>
<ul>
<li>必須: MUST, REQUIRED, SHALL</li>
<li>禁止(必須の正反対): MUST NOT, SHALL NOT</li>
<li>推奨: SHOULD, RECOMMENDED</li>
<li>推奨の正反対: SHOULD NOT, NOT RECOMMENDED</li>
<li>任意: MAY, OPTIONAL</li>
</ul>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080517#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080517#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080517#p01" />
<dc:date>2008-05-17T11:44:31+09:00</dc:date>
<title>鎌倉街道</title>
<dc:creator>ukai</dc:creator>
<dc:subject>雑記</dc:subject>
<description>小野路のところ、いつの間にやら開通していたのねー。 Google map にも反映されているところを見るとだいぶ前(2〜3年くらい前？)からなのか？</description>
<content:encoded><![CDATA[<h3>鎌倉街道</h3><p>
小野路のところ、いつの間にやら開通していたのねー。
Google map にも反映されているところを見るとだいぶ前(2〜3年くらい前？)からなのか？</p>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080513#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080513#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080513#p01" />
<dc:date>2008-05-13T15:17:01+09:00</dc:date>
<title>知能指数検査という名の人災</title>
<dc:creator>ukai</dc:creator>
<dc:subject>雑記</dc:subject>
<description>Shiro さん(2008/05/09 06:40:46 PDT 天災) 他人にIQ200であることを指摘されるのが呪いなんじゃなくて、そういう特性を持ってしまったことが既に呪いなのだ。 IQ200を持ってしまったという呪い それを他人に知られる呪い それを自分が知らされる呪い リンク先の人々を見る限り、まんなかの呪いが一番事態をややこしくしているように見える。 知能検査は確かに小学校の頃にやった気がするが、あの結果は「普通は」本人には教えてもらえない。それを本人が知らされるということはその情報を持て余した人(=教師)がいるからだ。 Gifted な人(..</description>
<content:encoded><![CDATA[<h3>知能指数検査という名の人災</h3><ul>
<li><a href="http://practical-scheme.net/wiliki/wiliki.cgi?Shiro">Shiro さん(2008/05/09 06:40:46 PDT 天災)</a></li>
</ul>
<blockquote>
<p>他人にIQ200であることを指摘されるのが呪いなんじゃなくて、そういう特性を持ってしまったことが既に呪いなのだ。</p>
</blockquote>
<ul>
<li>IQ200を持ってしまったという呪い</li>
<li>それを他人に知られる呪い</li>
<li>それを自分が知らされる呪い</li>
</ul>
<p>リンク先の人々を見る限り、まんなかの呪いが一番事態をややこしくしているように見える。</p>
<p>知能検査は確かに小学校の頃にやった気がするが、あの結果は「普通は」本人には教えてもらえない。それを本人が知らされるということはその情報を持て余した人(=教師)がいるからだ。</p>
<p>Gifted な人(orその逆でも)たちをロクに扱えない人らにそんな情報をあたえることがそもそもの人災なんじゃないか。知能検査の結果を見るまでその子が「特殊」であることを認識してなくても支障が無かった(ように見える)んだろう？</p>
<p>あるいは IQ=50 とかの人を今まで認識してなくて検査で見つけてうまく教育した例とかあるのかな？</p>
<p>IQが極端に振れるような人は見る人が見れば(しばらく観察すれば)検査しなくても分かるような気がするんだが、かつそれで分からない人はどのみちまともにその子に適切な教育を施すことは無理だと思うんだが、なんで学校は知能検査するの？</p>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080501#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080501#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080501#p01" />
<dc:date>2008-05-01T12:57:07+09:00</dc:date>
<title>伊勢湾岸道</title>
<dc:creator>ukai</dc:creator>
<dc:subject>雑記</dc:subject>
<description>ぼったくりだろーと思うくらいに高かったはずなのに、 全線開通したからか、新名神が開通したからか知らないけど、 いつのまにか普通の値段になっているのね。 わざわざ使うことはないだろうけど。</description>
<content:encoded><![CDATA[<h3>伊勢湾岸道</h3><p>
ぼったくりだろーと思うくらいに高かったはずなのに、
全線開通したからか、新名神が開通したからか知らないけど、
いつのまにか普通の値段になっているのね。</p>
<p>わざわざ使うことはないだろうけど。</p>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080424#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080424#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080424#p01" />
<dc:date>2008-04-24T14:35:40+09:00</dc:date>
<title>Google map はデータが古い</title>
<dc:creator>ukai</dc:creator>
<dc:subject>雑記</dc:subject>
<description>先月末に開業した横浜市営地下鉄グリーンラインがまだ google map では観測できない。2月開業の新名神(亀山〜草津田上)もないな。2005年の地図なのかー。 Yahoo! Map にはある。すばらしい。</description>
<content:encoded><![CDATA[<h3>Google map はデータが古い</h3><p>
先月末に開業した横浜市営地下鉄グリーンラインがまだ google map では観測できない。2月開業の新名神(亀山〜草津田上)もないな。2005年の地図なのかー。</p>
<p>Yahoo! Map にはある。すばらしい。</p>]]></content:encoded>
</item>
<item rdf:about="http://www.math.sansu.org/u/diary/?date=20080422#p01">
<link>http://www.math.sansu.org/u/diary/?date=20080422#p01</link>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.math.sansu.org/u/diary/?date=20080422#p01" />
<dc:date>2008-04-22T21:18:43+09:00</dc:date>
<title>Nehalem の LSD はバッファかトレースキャッシュか</title>
<dc:creator>ukai</dc:creator>
<dc:subject>プロセッサ</dc:subject>
<description>夢とロマンが足りない - たるさんのパソコンフィールド 当サイト的な分析であるが、大原先生の言うとおりこのバッファが質的には事実上のトレースキャッシュである点は間違いないだろう。 理由は簡単で、同記事にもあるとおり単なるバッファならFIFOバッファであるべきところをファーストループに沿って再実行できる点と、x86ではなくμOPsを保存することでデコードを省略している点から読み取る事ができる。トレースキャッシュの本質は「デコードと実行をデカップルすること」にあるわけだから、LSDはその条件を満たしている。 (Core MA..</description>
<content:encoded><![CDATA[<h3>Nehalem の LSD はバッファかトレースキャッシュか</h3><ul>
<li><a href="http://www.ne.jp/asahi/comp/tarusan/main185.htm">夢とロマンが足りない - たるさんのパソコンフィールド</a></li>
</ul>
<blockquote>
<p>当サイト的な分析であるが、大原先生の言うとおりこのバッファが質的には事実上のトレースキャッシュである点は間違いないだろう。 理由は簡単で、同記事にもあるとおり単なるバッファならFIFOバッファであるべきところをファーストループに沿って再実行できる点と、x86ではなくμOPsを保存することでデコードを省略している点から読み取る事ができる。トレースキャッシュの本質は「デコードと実行をデカップルすること」にあるわけだから、LSDはその条件を満たしている。 (Core MAの構造ではデコードと実行をデカップルできないから、一見似ているが動作の本質は全く異なる。) </p>
</blockquote>
<p>このバッファは決してトレースキャッシュではない。分岐予測に失敗した場合には何処から再起動が掛かるかを考えると、トレースキャッシュとの違いが鮮明になる。
分岐予測に失敗した場合にもトレースキャッシュにHitする限りデコードをすっとばせるが、LSD および命令バッファは分岐予測ミスしたら flush されてしまって、デコードをすっ飛ばすことは不可能(のはず)。</p>
<p>つまりトレースキャッシュは実行パイプラインの(レイテンシの)短縮化が主な目的になっているのだが、命令バッファはあくまでも命令キャッシュ(メモリ)と実行部とのデカップルが目的(=メモリレイテンシの隠蔽と実効スループットの確保)である。</p>
<p>トレースキャッシュはその存在により、Hit すれば命令実行パイプラインが短いが、現実には Miss する割合がそれなりに避けられない以上、Hit/Miss の混在によって L1I$ 〜実行部への直接パスのスループットを阻害しうる (トレースキャッシュへの書き込み処理などが邪魔する) 。つまりスループット変動を起こしやすく、実効スループットは低下しやすい。</p>
<p>逆に、命令バッファは L1I$ 〜実行部の「実効」スループットを確保することが本質的な目的であり、パイプラインの全長は短くならない(しない)。</p>
<p>そう考えると、CoreMA方式とNehalem方式ではこのLSDを含むバッファの「目的」の点では差が無い。デコードの前段か後段かの違いがあるだけであり、「命令キャッシュ(メモリ)との」デカップルという目的はどちらも達成している。</p>
<p>ただし、x86アーキテクチャはデコードスループットが致命的なボトルネックになりやすい (あんな変態的な命令体系でスーパースカラは大変)ので、デコーダの後ろでデカップルするというのは、実効スループットを稼ぐという命令バッファの目的に最も適っている。つまり命令バッファをx86アーキテクチャ向けに最適化したというスループット向上の正当進化であって、レイテンシ主眼スループット無視(...は言い過ぎか)のトレースキャッシュのような先祖返りでは無いのである。</p>
<p>LSD もこの「実効スループット確保」の目的を考えると自然である。
前回の日記でも書いたことだが、ショートループになる場合には命令キャッシュ〜分岐予測機構の実効供給能力がピークの半分以下に下がる。
ループになる分岐命令は高い精度で分岐予測が出来るのに勿体ない話であって、ILP を確保できる優良顧客からしっかり確保しようというのが LSD である。</p>
<p>トレースキャッシュもショートループはキャッシュヒットするから高い性能が出るわけで、ショートループだけに目を付ければ同じように高スループットの挙動を観測できるので、同一視したくなるのは仕方がない話ですが。</p>]]></content:encoded>
</item>
</rdf:RDF>
