page0029
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* メモリアクセスの高速化
-(by [[K]], 2013.04.24)
** 通常のメモリアクセス
-OSECPUではたった一度のメモリアクセスに際して、これだけの...
--ポインタは上限より小さいか。[1]
--ポインタは下限より大きいか。[1]
--アクセスしたい領域はまだfreeされていないかどうかのシグ...
--実際のアクセス。[1]
--これはポインタレジスタがP02やP03などの実レジスタだった...
--これらは[[memo0002]]の2013.04.10の(4)の[2]のレベルの場...
-これはひどい。実際のメモリアクセスの6倍ものアクセスが発...
--そしてあまりにも遅いと[2]のレベルを使う気がしなくなって...
** アイデア0
-ということで、こんなものを考えている。だいぶ前から考えて...
-OSECPUに専用のバッファを増設する。これは巨大なベクトルレ...
-このレジスタは256本をいっせいにメモリに読んだり書いたり...
--バッファも結局はメモリなので、このバッファへのアクセス...
-このバッファは添え字をつけて任意の要素にアクセスすること...
-結局、バッファに転送する際に(256*2+5)回のメモリアクセス...
--しかもそれでいて安全性に関しては全く妥協していない。
-この方法は256よりも少ない量の「端数」に対しては有効では...
** アイデア1
-結局性能が2倍しか上がらないのであれば、普通のアクセスで2...
--でもそれだと正味2のアクセスに対して(2+5)=7のアクセスが...
--それではということで、4個のレジスタにしたらどうだろうか...
** アイデア2
-そもそもチェックの量を減らすことはできないかという考え方...
--制限区域からは制限区域にしか分岐できない。外へ出ること...
--制限区域内では、管理下に置く管理下に置くポインタレジス...
--制限区域内に入るとき、管理下に置かれたポインタレジスタ...
-これらの仕組みによってどのくらい高速化されるだろう。まず...
-これをアイデア1と組み合わせれば、アクセス数4に対してオー...
-アイデア2の欠点はJITコンパイラが少々複雑になってしまうこ...
** 考察
-どのアイデアがいいだろうか。
-アイデア0のメリットは、自分でFPGAなどでCPUを作りさえすれ...
-アイデア1のメリットは、x64やARMのように実レジスタが多い...
-アイデア2のメリットは、アイデア0やアイデア1との併用が可...
-どちらにしても、実際の処理内容はメモリアクセスだけではな...
-アイデア1とアイデア2は早めに対応するつもりだ。アイデア0...
-Javaや.NETはどうしているのかというと、まずガーベージコレ...
--まあでもOSECPUだってアイデア1とアイデア2の併用ならJava...
--それにガーベージコレクトは、それはそれで問題を引き起こ...
** こめんと欄
-このページにこめんと欄はありません。このページの内容にコ...
終了行:
* メモリアクセスの高速化
-(by [[K]], 2013.04.24)
** 通常のメモリアクセス
-OSECPUではたった一度のメモリアクセスに際して、これだけの...
--ポインタは上限より小さいか。[1]
--ポインタは下限より大きいか。[1]
--アクセスしたい領域はまだfreeされていないかどうかのシグ...
--実際のアクセス。[1]
--これはポインタレジスタがP02やP03などの実レジスタだった...
--これらは[[memo0002]]の2013.04.10の(4)の[2]のレベルの場...
-これはひどい。実際のメモリアクセスの6倍ものアクセスが発...
--そしてあまりにも遅いと[2]のレベルを使う気がしなくなって...
** アイデア0
-ということで、こんなものを考えている。だいぶ前から考えて...
-OSECPUに専用のバッファを増設する。これは巨大なベクトルレ...
-このレジスタは256本をいっせいにメモリに読んだり書いたり...
--バッファも結局はメモリなので、このバッファへのアクセス...
-このバッファは添え字をつけて任意の要素にアクセスすること...
-結局、バッファに転送する際に(256*2+5)回のメモリアクセス...
--しかもそれでいて安全性に関しては全く妥協していない。
-この方法は256よりも少ない量の「端数」に対しては有効では...
** アイデア1
-結局性能が2倍しか上がらないのであれば、普通のアクセスで2...
--でもそれだと正味2のアクセスに対して(2+5)=7のアクセスが...
--それではということで、4個のレジスタにしたらどうだろうか...
** アイデア2
-そもそもチェックの量を減らすことはできないかという考え方...
--制限区域からは制限区域にしか分岐できない。外へ出ること...
--制限区域内では、管理下に置く管理下に置くポインタレジス...
--制限区域内に入るとき、管理下に置かれたポインタレジスタ...
-これらの仕組みによってどのくらい高速化されるだろう。まず...
-これをアイデア1と組み合わせれば、アクセス数4に対してオー...
-アイデア2の欠点はJITコンパイラが少々複雑になってしまうこ...
** 考察
-どのアイデアがいいだろうか。
-アイデア0のメリットは、自分でFPGAなどでCPUを作りさえすれ...
-アイデア1のメリットは、x64やARMのように実レジスタが多い...
-アイデア2のメリットは、アイデア0やアイデア1との併用が可...
-どちらにしても、実際の処理内容はメモリアクセスだけではな...
-アイデア1とアイデア2は早めに対応するつもりだ。アイデア0...
-Javaや.NETはどうしているのかというと、まずガーベージコレ...
--まあでもOSECPUだってアイデア1とアイデア2の併用ならJava...
--それにガーベージコレクトは、それはそれで問題を引き起こ...
** こめんと欄
-このページにこめんと欄はありません。このページの内容にコ...
ページ名: