「アドレス空間」を含む日記 RSS

はてなキーワード: アドレス空間とは

2019-09-26

anond:20190926101553

そんな感じだった。

最初自作バイナリエディタで、バイナリ直接編集でどうにかしようとしてたんだけど、

900回くらい編集→実行を繰り返して、ようやく printf ができそうなアドレス空間アクセスできた。

ところが、突如登場した、

カーネルプロテクターっていうアンチウィルスソフトみたいなのが自動修復を試みてきてなかなか成功しない。

最後は、コンパイラーって子の力を借りて、遂にprintf できる実行ファイルが完成する。

エンター・キーを押すと同時に、画面一杯に、 HELLO WORLD文字が乱れ飛び、

劇場内は拍手喝采、同時にエンディングテーマが流れ出す。

パートでは、すべての出来事がVM(バーチャルマシン)上で行われていたことが明かされた。

2013-02-23

PlayStation4は夢が無い」という幻想をぶち壊す

最初に言っておくと、増田SCEが嫌いな方でPS3Vitaも持っていない。

PSPスパロボの新作が出るまで持っていなかったほどだ。

そんな増田だが、PlayStation4発表でのハードウェアに対する誤解の数々を見てちょっとばかり怒りを覚えたので少し書いておく

x86」ではなく「AMD64

いきなり「何が違うんだ?」と思う人や「何も違わないだろ?」と言う人も居るかも知れない。

だが後半を語る上でもこれは重要な話なので省略しないでおく。

最近PCは当たり前のように64bitのメモリ空間を扱えるようになった。

この増田を読んでる人でも64bit OSを使っている人は少なくないはずだ。

これをもたらしたのは、x86 CPUを作ったIntelではなくx86互換CPUを作っていたAMDである

じゃあIntelは何をしていたのかと言うと、64bit CPUを作っていた。x86を完全に捨てて。

Intelは「IA-64」という64bit CPUを開発して商品も出していたが、これは現在ではほぼ完全に消えている。

何故かと言うと、x86が動かなかったからだ。

確かにIA-64は64bitをネイティブで扱えて「x86の古臭い負債」が全く無かった。しかし、現実世界x86で作られた既存ソフトウェアを求めたのだ。ゲーム業界でも似たような話を聞いた気もする。

それに対して、AMDは「64bitを扱えるx86」を作ってしまった。これが「AMD64」であり、現在業界標準としてx86-64と呼ばれているものである

知っての通り、x86-64現在Intel CPUでも対応している。AMDが作った命令を使わされる事になったIntelは何を思っただろうか。逆に、これまでIntelの命令を使ってきたAMDは何を思っていたのだろう。

Cellが目指した「理想的」なヘテロジニアスコンピューティングGPUが実現した「現実的」なヘテロジニアスコンピューティング

PS3に搭載されていたCellは、非x86スカラプロセッサPowerPC CPU(PPE)と、複数のベクトルプロセッサSPEを組み合わせたヘテロジニアス(非対称)プロセッサだった。(スカラベクトルについてはググろう)

スカラプロセッサが得意な処理、ベクトルプロセッサが得意な処理を両方とも高速に実行できる。それがCellの目指した「夢」だった。

しかし、知っての通りCellが目指した夢は破れた。

スカラプロセッサベクトルプロセッサプログラム最適化は全く別の概念で、プログラマーにとっては野球サッカーを同時にやらされるような物である

しかも、スカラプロセッサベクトルプロセッサの間でデータの交換もある。野球サッカーキャッチボールて。

スーパーコンピュータ「京」スカラベクトルの合わせ業で池田某氏に何度も叩かれるほどの超絶難産だった事は記憶に新し…いっけ?

それが原因でPS3の性能を最大限に引き出したソフトほとんど存在せず、こともあろうにXbox360とのマルチソフトが溢れる結果となった。(ちなみに増田360も持ってないのでエルシャダイプレイ出来ていない、問題だ)

それに対し、PC世界ではPS3360が発売してしばらく後に新たなヘテロジニアスコンピューティングが生まれていた。

CPUに比べて進化が止まらないGPUベクトルプロセッサの代わりとして使う試みだ。

GPUスパコン用のベクトルプロセッサCellSPEと違い、最近のどのPCにも搭載されているので量産効果で割安というメリットがある。

DirectXバージョンも2桁に突入機能が増えるにつれて、「もうこれで計算すれば良いんじゃね?」となったわけだ。

結論から言うとこの試みは無茶苦茶ヒットした。近年開発されたTOP500スパコンGPUが使われていないものを探すのが難しくなってきたし、

最近Photoshopなんかの比較的身近なツールもGPUコンピューティング対応してきてヌルヌル動くようになっている。

しかし、そんなGPUにも欠点はある。「CPUメモリから絶望的に遠い」のだ。

IBM発明MS-DOSWindowsが動くことで爆発的に普及した今のPCは、GPUを外付けにすること前提で設計されていた。

DirectXOpenGLのような例外を除いて、基本的に現代OSCPUとメインメモリソフトを動かすように出来ている。

GPUも、一旦メインメモリ上でGPURAMに載せるためのデータを生成し、CPUからGPU動かすよー」という命令を出さなければ動かせないのだ。

これはGPUにとって致命的すぎる欠点だった。これが原因で、遅さを跳ね返せる最新のミドルレンジハイエンドGPUでなければ逆にCPUより遅くなってしまうケースばかりだ。

現実的な理由で始まったGPUコンピューティングがぶち当たった現実的な壁である

CPUGPUAPU(加速するプロセッサ)の夢

このGPU欠点を克服する方法について、AMDはかなり前(少なくともGPUコンピューティング流行るより前の2007年以前)から取り組んでいた。

GPUコンピューティングが遅いのはCPUから物理的に遠いため命令を送る時間が掛かり、メモリの扱いも異なるせいである。

なら同じ場所に載せてしまえば良いのだ。

CPUからGPUに命令を送る遅延を無くし、CPUメモリGPUメモリを交換する時間も減らせばGPUコンピューティングデメリットは消え失せる。

夢のある話だ。

しかし、AMDには発想と設計技術はあったがカネと製造技術Intelと比べて絶望的に劣っていたため、

初めてのCPUGPU統合したプロセッサIntelに先を越されてしまった。(IntelGPU絶望的に遅いからって実質出てないなんて言っちゃダメだ)

これにはAMDもかなり堪えただろう。けれどもAMD戦略を曲げなかった。

IntelGPU絶望的に遅いのでほとんど意味は無かったが、少なくとも前世代のIntel GPUに比べると格段に実効性能が上がっていたのだ。CPUGPUを近付ける統合には間違いなく意味があったということである

AMDCPUGPUを同じチップにするだけでは無く、メモリアドレス空間」も一緒にする道を目指した。

こうなるとCPUの使っているメモリGPUから直接扱え、GPUの使っているメモリCPUから直接扱えるようになる。

これが実現するとCPUGPUが完全なヘテロジニアスコンピュータに一歩近付くのだ。

しかし、そんな夢のあるCPU+GPUの開発は当然難航した。

半導体工場部門を分社化して売り払ってもまだ開発は遅れた。

2011年にやっとAMD初めてのCPUGPUであるAPUを出せたが、メモリアドレス空間はまだ別々だった。

2012年になってもメモリ空間は別々のままだったが、AMDARMiPhoneAndroidWindows Phoneに載っているARMである)と合同でHSA(ヘテロジニアスシステムアーキテクチャ)を推進すると発表した。

世の中の現実的な人々は笑った。「アーキテクチャだけを作ってもハードソフトが出てこないんじゃ話になりませんよ」と。

同じ2012年AMD2013年中にHSAの第1世代製品を出すとだけ発表し2012年は終わった。

ぼくのかんがえたヘテロジニアスコンピューティングマシン

そして2013年2月21日米国時間20日)、Sony Computer EntertainmentPlayStation 4を発表した。

Cellコケしまったので載らない事は誰もが知っていたが、載っているハードウェア一部の人が驚いた。

―HSAであるPC用のHSA対応APUがまだ正式発表されていない中で、なんとHSAを載せてきた。(2013年末発売だから当たり前だというツッコミは止めろ!)

CPUx86-64Jaguar 8コア(ちなみにPC向けJaguarは4コアまでだ)、GPURadeon HD 7800相当でPS3と違いガチで1.8TFLOPS(理論上1秒間に計1.8兆個の小数点を含む計算を実行可能)のスペックを持つ代物だ。

このCPUGPUは8GBのGDDR5メモリを共有して動作する。8GBと聞くと最近PCから考えると少なく聞こえるかも知れないが、(わたしのメモリは16GBです)

GDDR5とはGPUの描画計算を速く済ませるために作られた超高速メモリであり、ご家庭のDDR3メモリとは比べ物にならない速さが出せる。

実際の所PS4がHSA対応かは正式発表されていないのだが、PC向けJaguarはHSA対応と発表されており、SCEPS4APUCPUGPU)と呼んでいてこの変態メモリ構成とすると、発売までにクッタリスペックダウンしない限りHSA確定と見て良いはずだ。

また、PlayStationはこれまで一度もx86CPU採用した事が無く、これが最初(で最g)のx86採用機となる。

Intelが初代XboxCeleron搭載)であっさり諦めたx86ゲーム機市場制圧の夢を、AMDが思いもよらぬ形で果たしたのだ。

これまでPCしか発売されてこなかったDiabloが、x86-64PS4向けに初めてコンシューマ版を発表した事もx86-64採用が決してつまらない事ではなかった証だろう。(Diabloと戦うハメになるサードの方々にとっては非常につまらないが)

CPUGPUの”フュージョン”…(HSAは以前はFusionと呼ばれていた。そういえばドラゴンボール映画も今年やな…)

AMDが長年の間見てきた夢が、PS4で初めて現実世界に現れることになる。(※ただし次世代XboxもHSA採用PS4より先に発売したりしない世界線に限る)

こんな馬鹿らしいほど夢が詰まったマシンを「x86搭載だからPCみたいで夢が無い」という一言で切り捨ててしまう人に増田絶望した。

なおこの増田Core i7GeForceで書かれた模様


追記

予想以上に反響が大きくてビビったので

でも、それってユーザーの夢にどう繋がるの?

という趣旨感想についてだけ補足。

性能の引き出し易さがPS3と比べて格段に良くなるのでPS3ラストレムナント人喰いの大鷲トリコのような非情現実が減る。以上。

2010-08-23

IPv4アドレス在庫の枯渇で警告

うん、数年前から IPv4 アドレスが枯渇する~枯渇する~って騒いでるよね。

ようやく本腰据えてこの問題に取り組まないといけなくなってる。

枯渇は、来年6月頃だっけ?

これが枯渇したらどうなるか。

新しく IPv4 が取得できなくなるんだけど、とりあえずその問題は枯渇してからでもいいや。

今、本気で直面してるのは、インターネット黎明期に "予約" されて使わなかった帯域の話だ。

1.0.0.0/8 とか 2.0.0.0/8 とかいったアドレスって、IANA とかが予約してて使わなかった帯域なんだ。

でもって、その帯域はイタズラとか悪意ある攻撃目的で使われることが多かった。

1.0.0.0/8 の帯域からの攻撃であるように見せかけるパケットは、実際には使われてないんだから拒否しても問題ないよね?

当時は、そんな考え方をした。

だから、歴史的にも、拒否する設定をデフォルトで入れることが多い。

DNS のサンプルを見ても、そんなアドレス帯域は bogon とかで拒否してる。

けど、1.0.0.0/8 の帯域は、すでに一般企業へ開放されている。

これ自体は、いろんなところで言われてたりする。

http://jvnrss.ise.chuo-u.ac.jp/csn/index.cgi?p=APNIC%A4%CB%BF%B7%B5%AC%A4%CB%B3%E4%A4%EA%C5%F6%A4%C6%A4%E9%A4%EC%A4%BF+1%2E0%2E0%2E0%2F8+%A4%C8+27%2E0%2E0%2E0%2F8

そして、日本会社で 1.72.0.0/13 という巨大なアドレス空間を取得しているところがある。

その会社は、みんなも良く知ってる会社だろう。

だから、もしかすると、そんなアドレス帯域を使う機会があるかもしれない。

そうすると、その帯域からはアクセスできないサイトが出てくるかもしれない。

枯渇するまでに直面する問題は多いよ。

枯渇に伴う問題に対応しながら IPv6 対応なんて、無茶すぎ。

でも、来年6月から、本当に直面しないと動かないんだろうな。

仕事は沢山ありそうだけど、逃げ出したい orz



~追記~

http://australis.arrow.jp/kangaeru/

こいつ…記事まるパクリorz

2010-04-12

http://anond.hatelabo.jp/20100412211926

アドレス空間は気にしないとメモリ使えないんじゃないかなと思うんだけど、どうやったら気にしなくできるの?

実際の開発環境でその二つを意識する事はほとんど無いって事ね。意図して分けることも出来るけど、よほど性能を追求する状況じゃない限りはその必要は無い。ビルドする時にコンパイラ勝手にやってくれる。

http://anond.hatelabo.jp/20100412201527

横から素人の質問で申しわけないんだが

PS3は二種類のメモリが半分ずつ併存しているから片一方しか使えないと勘違いしてるんだろうけど、そんなのいちいち気にしてる所なんて無いよ。

PS3GPUメモリCPUメモリがわかれてるってことだよね

わかれてるっていうのは、片方のCPU or GPUからアクセスしたときに2つのメモリ

ってことだと思うけど(これはあってる?)

そんなのいちいち気にしてる所なんて無いよ

ここがわからないんだけど、レイテンシや帯域は気にしなければ、実行速度が遅いだけだけど

アドレス空間は気にしないとメモリ使えないんじゃないかなと思うんだけど、どうやったら気にしなくできるの?

2008-07-23

http://anond.hatelabo.jp/20080721132909

みずほz/Linux案件がITProのニュースになってました。

140台のRS/6000を20台のSystem z/SUSEコンソリしたそうです。

http://itpro.nikkeibp.co.jp/article/COLUMN/20080711/310594/?ST=system&P=1

# "Principles of Operation"ってのは、IBMのMVSのアーキテクチャが記載されたドキュメントです。ESA/390, z/Architectureの各版にアップデートされてます。最新版はこれかな?古い版では日本語もあったと思うんだけど・・・

 z/OS V1R9.0: http://www-03.ibm.com/systems/z/os/zos/bkserv/r9pdf/

# メインフレームUNIX/Linuxよりも優位にあると思うのは、チャネルサブシステム、Sysplex、アドレス空間管理かな。

2006-12-19

リンクはTOPにだけとか言ってると

あなたが作ろうとしているそのアドレスは既にリンクが貼られています

なんて、膨大なアドレス空間を 全てリンクで埋め尽くそうとするとする輩が出てきたりして。

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん