🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.os.msdos
Article #170

Re: CPU Cache & Kermit 3.13 8 について

#170
From: Fukuzawa Yoshiyuki
Date: Tue, 20 Jun 2000 00:00
30 lines
2499 bytes
福沢です。

"IIJIMA 'Delmonta' Hiromitsu" <L94102@mail.ecc.u-tokyo.ac.jp> wrote in message news:394CAB49.886C9944@mail.ecc.u-tokyo.ac.jp...
> ご存じのように、486 以降のキャッシュを積んだマシンでは、非常に
> おおざっぱに言って、いま実行中の近辺のコードを「コードキャッシュ」
> に、最近アクセスしたデータを「データキャッシュ」に保管します。
> 
> 「実行中にコードを書き換える」ということをやると、その結果は、
> コードではないメモリの書き替えの場合と同様に、データキャッシュに
> 保管され、コードキャッシュにはすぐには反映されません。ですから、
> 
> ○キャッシュのない 386 以下のマシンでは、書き替えた
>  あとのコードは、書き替え時にメモリ(DRAM)に送られ、
>  実行時にメモリから読み出されるので、きちんと意図した
>  とおりに実行される
> 
> ○キャッシュのある 486 以降では、書き替え前の内容が
>  すでにコードキャッシュに入っていると、データキャッシュ
>  (と DRAM;ただし、Pentium 以降では DRAM への書き込みが
>  遅れることがある)に入っている書き替え後の内容ではなく、
>  コードキャッシュにある書き替え前の内容が実行される
> 
> ということになってしまいます。

自己書き換えのコードによる問題は、キャッシュではなく
パイプラインやプリフェッチによるものだと思っていたんですが。
まぁ原因は一緒ですけども。

うろ覚えなんですが、386でもすぐ近くのコードを書き換えると
プリフェッチの影響でうまくいかなかったように記憶しています。
Technical Details
Message-ID: <8io0ds$sfi$1@newsgw7.odn.ne.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <3948f293_1@news3.prserv.net> <394CAB49.886C9944@mail.ecc.u-tokyo.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 1117a5,af5d54a174f35587
X-Google-Attributes: gid1117a5,public
X-Google-Thread: ff2c9,e259f40b091b801d
X-Google-Attributes: gidff2c9,public
From: "Fukuzawa Yoshiyuki" <lucky2@pop12.odn.ne.jp>
Subject: Re: CPU Cache & Kermit 3.13 8 について
Date: 2000/06/20
Message-ID: <8io0ds$sfi$1@newsgw7.odn.ne.jp>
X-Deja-AN: 636820465
Content-Transfer-Encoding: 7bit
References: <3948f293_1@news3.prserv.net> <394CAB49.886C9944@mail.ecc.u-tokyo.ac.jp>
X-Priority: 3
Content-Type: text/plain; charset="iso-2022-jp"
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700
X-Complaints-To: news@odn.ad.jp
X-Trace: newsgw7.odn.ne.jp 961512700 29170 210.228.200.43 (20 Jun 2000 14:51:40 GMT)
Organization: odn.ne.jp
X-MSMail-Priority: Normal
Mime-Version: 1.0
NNTP-Posting-Date: 20 Jun 2000 14:51:40 GMT
Newsgroups: fj.os.msdos,fj.comp.arch