facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 1
  •  
  • 2010/04/21(水) 12:42:23
mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h

msg db '懐かしのDOS時代のプログラミングについて語ろうぜ',0dh,0ah,'$'

ここまで見た
  • 783
  •  
  • 2014/02/22(土) 22:53:33.46
>>771
コードとデータの分離は関係あるよ。

データ部分の実行を制限するのがNXビット
もちろんこれは比較的最近作られたもの

http://ja.wikipedia.org/wiki/NX%E3%83%93%E3%83%83%E3%83%88
NXビットは、端的に言えば「データの誤実行」を防ぐために用いられる。
そのしくみは、メモリをコード(プロセッサ命令)領域とデータ領域とに分離し、
データを配置したメモリ領域にあらかじめ特別な印(属性)を付与することで、
この領域のデータを実行しないようにする(実行を試みた際に例外=エラーを発行する)ものである。

典型的には、バッファオーバーラン攻撃(後述)等に代表される、ヒープやスタック領域等に
置かれたデータを破壊ないしは書き換えて任意のコードを挿入し実行を誘う攻撃を、
オペレーティングシステムとCPUの協調により保護するために用いられる機能である。
その機能自体は、汎用機やワークステーション等の分野では既に特に目新しいものではなかったが、
パーソナルコンピュータ用に最も普及したIA-32/AMD64アーキテクチャにおける実装は比較的最近の出来事であり、
最初に実装したAMD64系列が搭載したものを"NXbit"と呼称したため、一般にはこの名称が普及した。

ノイマン型アーキテクチャのコンピュータでは、プログラムをメモリ上にデータとして読み込み、逐次実行する。
メモリを読み取った際それがデータであるかプログラムであるのかを、単にメモリ上のデータのみをもって判断することは、
ノイマン型では本質的に不可能である。バッファオーバーラン(バッファーオーバーフロー)等と呼ばれる攻撃は、
ノイマン型コンピュータのこのような性質を悪用して行われる。

ここまで見た
  • 784
  •  
  • 2014/02/22(土) 23:05:12.78
>>783
バッファオーバーラン攻撃って目的が任意のコード実行とは限らないんでトンチンカンなこと言ってますよ

ここまで見た
  • 785
  •  
  • 2014/02/22(土) 23:08:23.73
>>784
え? だからなに?
バッファオーバーラン攻撃の目的が任意のコード実行だ。とは
ひとことも言ってないけど? そんな話してないけど?

コードとデータの分離の話。

コードとデータの分離なんてされてないのが普通。

ここまで見た
  • 786
  •  
  • 2014/02/22(土) 23:18:41.88
>コードとデータの分離なんてされてないのが普通。

ハーバードアーキテクチャも知らない人か…

ここまで見た
  • 787
  •  
  • 2014/02/22(土) 23:21:16.63
>>785
> え? だからなに?
> バッファオーバーラン攻撃の目的が任意のコード実行だ。とは
> ひとことも言ってないけど? そんな話してないけど?

↓を引用しててよく言うww

> 典型的には、バッファオーバーラン攻撃(後述)等に代表される、ヒープやスタック領域等に
> 置かれたデータを破壊ないしは書き換えて任意のコードを挿入し実行を誘う攻撃を、
> オペレーティングシステムとCPUの協調により保護するために用いられる機能である。

ここまで見た
  • 788
  •  
  • 2014/02/22(土) 23:30:52.76
>>786
今のパソコンはハーバードアーキテクチャではなくて
ノイマン型アーキテクチャですよ。

なにみんなと違うコンピュータの話してるのさ?
お前の話はみんなと違うコンピュータの話だったんだな。

通りでずれてるはずだ。

ここまで見た
  • 789
  •  
  • 2014/02/22(土) 23:32:36.43
>>787
引用した先が言っていることは、
俺が言っていることじゃないし。

ここまで見た
  • 790
  •  
  • 2014/02/22(土) 23:42:48.50
>>788
> 今のパソコンはハーバードアーキテクチャではなくて
> ノイマン型アーキテクチャですよ。

いつからパソコン限定の話になったの??

ここまで見た
  • 791
  •  
  • 2014/02/22(土) 23:43:49.87
>>789
お前が引用したこと。

関係ないなら引用しなければ良かっただけ。

ここまで見た
  • 792
  •  
  • 2014/02/23(日) 00:34:18.07
>>790
じゃあ現在使われている
ハーバードアーキテクチャを使った
ものを言ってみて。

ここまで見た
ここまで見た
  • 794
  •  
  • 2014/02/23(日) 01:53:28.66
それwikipediaじゃんw
知らないから調べましたってか?w

ここまで見た
  • 795
  •  
  • 2014/02/23(日) 04:59:50.86
>>792
Wikiも確認しないで言ってんだ?

「じゃあ現在使われている
 ハーバードアーキテクチャを使った
 ものを言ってみて(キリッ」

笑w

ここまで見た
  • 796
  •  
  • 2014/02/23(日) 05:05:00.25
wikipediaをwikiって略す人は無知を晒してるようなものなので恥ずかしくないのならwikiと言い続けたらいい

ここまで見た
  • 797
  •  
  • 2014/02/23(日) 05:09:20.15
「wikipediaをwikiって略す人は無知を晒してるようなもの」と言って満足してる人は本質が見えない人。

ここまで見た
  • 798
  •  
  • 2014/02/23(日) 05:11:24.69
>>796
>wikipediaをwikiって略す人

って誰のこと? 世の中に存在する wiki ってwikipedia だけだとでも思ってるのかな??

ここまで見た
  • 799
  •  
  • 2014/02/23(日) 05:14:02.39
>>795
いいから、お前がなんのコンピュータの話を
していたのか書けよw

こっちはZ80やx86などのありふれたフォン・ノイマン型コンピュータの
話をしている。お前は違うんだろう?

当然そのコンピュータの話を続けられるんだろうな?
まあ無理だろう。

ということで当時はコードとデータは分離されていないのが一般的。

>>763
> Z80で64kbite BASIC-ROM、64kbite RAM、64kbite VRAMなパソコンだと
> コードとデータの分離や切り替えが効かないとはじまらんだろ

ということで当時はコードとデータは分離されていないのが一般的。

ここまで見た
  • 800
  •  
  • 2014/02/23(日) 05:14:55.03
> 792 :デフォルトの名無しさん:2014/02/23(日) 00:34:18.07
> >>790
> じゃあ現在使われている
> ハーバードアーキテクチャを使った
> ものを言ってみて。

↑に対して6分で返された返答が↓

> 793 :デフォルトの名無しさん:2014/02/23(日) 00:40:16.53
> >>792
> http://en.wikipedia.org/wiki/Harvard_architecture#Modern_uses_of_the_Harvard_architecture

1時間悩んだ返答が↓w

> 794 :デフォルトの名無しさん:2014/02/23(日) 01:53:28.66
> それwikipediaじゃんw
> 知らないから調べましたってか?w

ここまで見た
  • 801
  •  
  • 2014/02/23(日) 05:16:05.66
※ レスを返すまでの時間が短い=必死でリロード
レスを返すまでの時間が長い=他にやることがあって見てない。

ここまで見た
  • 802
  •  
  • 2014/02/23(日) 05:20:42.99
>>799
> いいから、お前がなんの

> 現在使われている
> ハーバードアーキテクチャを使った

> コンピュータの話を
> していたのか書けよw

聞かれるまでもない話だし、具体例なら沢山ありますよ。 >Wikipedia

> こっちはZ80やx86などのありふれたフォン・ノイマン型コンピュータの
> 話をしている。お前は違うんだろう?

お前は狭い範囲の話をしてるつもりなのね、了解。

> ということで当時はコードとデータは分離されていないのが一般的。

お前の狭い範囲での知識ではそういうことですね、了解、了解。

>> Z80で64kbite BASIC-ROM、64kbite RAM、64kbite VRAMなパソコンだと
>> コードとデータの分離や切り替えが効かないとはじまらんだろ
>
>ということで当時はコードとデータは分離されていないのが一般的。

SMC-70やX1では分離してたけど?

ここまで見た
  • 803
  •  
  • 2014/02/23(日) 05:22:45.21
> 800 :デフォルトの名無しさん:2014/02/23(日) 05:14:55.03

> 801 :デフォルトの名無しさん:2014/02/23(日) 05:16:05.66
> ※ レスを返すまでの時間が短い=必死でリロード
> レスを返すまでの時間が長い=他にやることがあって見てない。

ああ、成る程。

ここまで見た
  • 804
  •  
  • 2014/02/23(日) 05:30:50.34
知識自慢爺、引っ込みがつかなくなって徹夜かw

ここまで見た
  • 805
  •  
  • 2014/02/23(日) 05:33:24.62
>>802
> SMC-70やX1では分離してたけど?

分離されてないよ。
だいたい、ハーバードアーキテクチャじゃないじゃんw

ここまで見た
  • 806
  •  
  • 2014/02/23(日) 05:35:30.23
http://weblearningplaza.jst.go.jp/taikei/620/faq/naiyou.html#q1-01

Q1-1
フォン・ノイマン方式とはどのようなものですか?

A1-1
フォン・ノイマンが発表した論文に基づいたストアードプログラム方式のコンピュータアーキテクチャを、
便宜上フォン・ノイマン方式と呼びます。今日のコンピュータには画像処理などの特別な場合を除いて
フォン・ノイマン方式が採用されています。一般的に以下に当てはまるものがフォン・ノイマン方式だとされています。

(1)プログラム内蔵方式であること
命令とデータを同一の主記憶装置内に置く。

(2)線形主記憶装置を持つこと
主記憶装置のアドレスを指定して、その場所に情報を読み出し、書き込む。

(3)命令は逐次実行方式であること
プログラムカウンタに指定される主記憶装置上のアドレスにある命令を読み出して実行し、
終了後にプログラムカウンタに命令語長分を加え次のアドレスの命令を読み出す。

(4)低機能命令を持つこと
加減算などの演算命令や、ロードストア命令などの簡単な動作を行う命令を持つ。

(5)プログラムの流れを変更できること
命令の一部により作られた主記憶装置のアドレスをプログラムカウンタにセットする分岐命令を持ち、プログラムの流れを変更できる。

(6)入出力装置の制御を行うこと
入出力装置を制御して情報を送受できる。

ここまで見た
  • 807
  •  
  • 2014/02/23(日) 05:36:24.03
>>805
分離されてるよ。つか、

> だいたい、ハーバードアーキテクチャじゃないじゃんw

データとコードの分離がハーバードアーキテクチャの条件じゃないけど?

ここまで見た
  • 808
  •  
  • 2014/02/23(日) 05:37:19.26
>>804
知識ない奴は関係ないところで揚げ足取ろうと必死だなww

ここまで見た
  • 809
  •  
  • 2014/02/23(日) 05:37:22.85
>>807
じゃあなんでハーバードアーキテクチャの話したの?w

ここまで見た
  • 810
  •  
  • 2014/02/23(日) 05:38:40.25
>>809
>>786

ここまで見た
  • 811
  •  
  • 2014/02/23(日) 05:39:02.08
>>786
コードとデータの分離なんてされてないのが普通だよね

ここまで見た
  • 812
  •  
  • 2014/02/23(日) 05:39:37.52
>>808
おうおう熱いこと
まあ血圧測りながら頑張れや、脳出血で逝くぞ

ここまで見た
  • 813
  •  
  • 2014/02/23(日) 05:40:28.10
コードとデータの分離なんてされてない

ハーバードアーキテクチでは分離されてる!

データとコードの分離がハーバードアーキテクチャの条件じゃないけど?



面白いなこの流れw

ここまで見た
  • 814
  •  
  • 2014/02/23(日) 05:42:04.11
>>813が面白いのは、

「ハーバードアーキテクチでは分離されてる! 」

と言った人と

「データとコードの分離がハーバードアーキテクチャの条件じゃないけど? 」

が同じ人なんだ。

ここまで見た
  • 815
  •  
  • 2014/02/23(日) 05:47:30.06
ハーバードアーキテクチャを理解してない馬鹿が面白がってるみたいね。
コードとデータの分離なんて実装のひとつに過ぎないんだけど。

ここまで見た
  • 816
  •  
  • 2014/02/23(日) 05:49:51.09
> http://weblearningplaza.jst.go.jp/taikei/620/faq/naiyou.html#q1-01
>
> Q1-1
> フォン・ノイマン方式とはどのようなものですか?

挙句に関係ないコピペとか、馬鹿丸出しだなw

ハーバードアーキテクチャはフォン・ノイマン方式を否定しないよ。

ここまで見た
  • 817
  •  
  • 2014/02/23(日) 05:50:20.84
ここまでの話で出たように
ハーバードアーキテクチャだからといって
データとコードは分離されてるとは限らないわけで、
ハーバードアーキテクチャを含めて
ほとんどのコンピュータでは、コードとデータは分離されていません。

分離されてるというのならそのCPUを具体的に言ってみろよ
マイナーか今は使われていないかのどっちかだろうが?
最初からそんなCPUの話はしてないんだよ。

ここまで見た
  • 818
  •  
  • 2014/02/23(日) 06:15:57.54
>>817
> ハーバードアーキテクチャを含めて
> ほとんどのコンピュータでは、コードとデータは分離されていません。

コードとデータで内部バスがキャッシュ含めて分けられてるアーキテクチャなんていまどきのPCのプロセッサ含めて全然珍しくないけどな??

> 分離されてるというのならそのCPUを具体的に言ってみろよ
> マイナーか今は使われていないかのどっちかだろうが?
> 最初からそんなCPUの話はしてないんだよ。

まあ、お前が特殊な話をしてるというのは分かった。

ここまで見た
  • 819
  •  
  • 2014/02/23(日) 06:21:31.74
>>817
>ハーバードアーキテクチャを含めて
>ほとんどのコンピュータでは、コードとデータは分離されていません。

>>793は都合が悪いか英語が読めないかで無視ですね?ww

ここまで見た
  • 820
  •  
  • 2014/02/23(日) 06:22:51.80
PICは80年代からあったな
今も使われてるけど
ただしPICで動いてるDOSは見覚えが無い

ここまで見た
  • 821
  •  
  • 2014/02/23(日) 06:27:28.20
>PICは80年代からあったな

70年代からあったよ

ここまで見た
  • 822
  •  
  • 2014/02/23(日) 06:31:10.55
なら
80年代にはあったな

ここまで見た
  • 823
  •  
  • 2014/02/23(日) 06:34:17.97
>>820
>ただしPICで動いてるDOSは見覚えが無い

なら
今までには見たことがないということね

ここまで見た
  • 824
  •  
  • 2014/02/23(日) 07:06:11.60
スレタイ嫁

ここまで見た
  • 825
  •  
  • 2014/02/23(日) 07:14:20.58
>>788
> 今のパソコンはハーバードアーキテクチャではなくて
> ノイマン型アーキテクチャですよ。

ハーバード・アーキテクチャ - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%BC%E3%83%90%E3%83%BC%E3%83%89%E3%83%BB%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3
> ノイマン型アーキテクチャにおいても,キャッシュメモリの実装方法において、インストラクションキャッシュと
> データキャッシュという分け方をすることで、ハーバード・アーキテクチャを取り入れていると考えることが
> できるケースもある。すなわち、最近の高性能プロセッサ(具体的にはインテルx86ならペンティアム以降)
> では、マイクロプロセッサ内のプロセッサコアとキャッシュメモリの構成を見るとハーバード・アーキテクチャに
> なっているというものである。キャッシュメモリを含めてCPUとして見た場合は、外部の主記憶との構成は
> 従来通りノイマン型アーキテクチャである。

ここまで見た
  • 826
  •  
  • 2014/02/23(日) 10:54:54.60
プロセッサコアとキャッシュメモリ
~~~~~~~~~~~~~~~~~~~~~


なるほど、”キャッシュメモリ" の場合はってだけで
メインメモリの話をしていたわけだから
関係ないってことかw

ここまで見た
  • 827
  •  
  • 2014/02/23(日) 14:33:07.09
>メインメモリの話をしていたわけだから

ハーバードアーキテクチャ分かってないの丸判りw

ここまで見た
  • 828
  •  
  • 2014/02/23(日) 14:51:58.23
>>827
見てる方が恥ずかしくなるからもうやめとけ、爺さん

ここまで見た
  • 829
  •  
  • 2014/02/23(日) 15:01:10.05
理屈で反論できないからレッテル貼りで罵倒ww

ここまで見た
  • 830
  •  
  • 2014/02/23(日) 15:05:40.21
>>829
どうした? いつも同じ返しじゃつまらんぞ爺
お前が顔真っ赤で草生やし始めた時点で、もう議論とやらは終わっとる

ここまで見た
  • 831
  •  
  • 2014/02/23(日) 15:27:27.26
>>825 出典を追加して記事の信頼性向上にご協力ください

要するにMSXにROMカートリッジを差してゲームできるのがハーバードアーキテクチャってヤツだろ

ここまで見た
  • 832
  •  
  • 2014/02/23(日) 16:26:14.95
そのROMにコードとデータが混じってたら違う。
で、実際に混じってるので、違う。

ここまで見た
  • 833
  •  
  • 2014/02/23(日) 16:29:37.19
・MSXはハーバードアーキテクチャではない
・ハーバードアーキテクチャはコード領域にデータが含まれることを否定しない

フリックラーニング
フリック回転寿司
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email