とあるPDP11/40のレジスタにまつわる議論
PDP11/40のレジスタについて調べていたはずなのに、何で今自分は「何故私は女帝と呼ばれるようになったのか」って資料を見ているんだろう
2012-04-01 20:55:44@superhoge Kernel stack pointer にかぎった話は、Lions本の2.3やPDP-11/05/10/35/40 handbookの6-22あたりに書いてありますね。
2012-04-01 21:00:31@xylnao11 ありがとうございます。Lions本の方を見ましたが、spはUserとKernelで別の二つのsetがあって、他のregistersはspのように二重化されていないようですね。
2012-04-01 21:14:07というわけで、PDP11/40の16bits registersはR0-7+R6(二重化)の計9個ってことかな。PDP11/40より後の製品の話とsimhの実装で混乱してしまった
2012-04-01 21:15:42これだと、説明がつく。MMUユニットを追加するとSPが1個ついてくるんだだ。@superhoge というわけで、PDP11/40の16bits registersはR0-7+R6(二重化)の計9個ってことかな。PDP11/40より後の製品の話とsimhの実装で混乱してしまった
2012-04-01 21:19:40昔のUNIXの勉強をしている人が増えているようなので、このPDP11/40に関するツイートのやり取りをtogetterでまとめとくと面白いかもな。twitter上でもみんなで話し合いながら読み解いているというのが見せられるから
2012-04-01 21:22:41ところで、なんでspだけ複数セットがあるんだっけか。UserとKernelでアドレス空間が違うからだとは思うんだけれど、pcと同じようにソフトで退避させることはできない?まだ整理できていない……
2012-04-01 21:25:07GPUとかだと、複数プロセッサに対してPCは一つで、そのおかげでコストを削減できていると聞きますが、なぜ低減できているのかわかりません。複数プロセッサに対してPC一つのおかげで、プログラミングが非常に難しくなっているので疑問に思うのです
2012-04-01 21:32:24デコーダと命令毎の回路構成の物量がコストに対して支配的。なので、PCを複数にすると、多くのリソースを複数用意しないといけなくなるから。GPUはSIMDの一種なので演算回路のみを多数用意すればよいいから。で合ってる? .@_handyfox
2012-04-01 21:38:48@kumagi ああー、、(”ポラックの法則”でググった)なるほど…いままで、もやっていてモチベーションが上がらなかったことが、解決できました。不勉強でした。ありがとうございます。
2012-04-01 21:45:12@magoroku15 ですね、@kumagiさんからも、アドバイスいただきました。ありがとうございます。プログラマから見ると、なぜそうなっているかがわからないと、面倒なだけで、モチベーションが上がらないことが多いのです。ありがとうございます。
2012-04-01 21:46:50PC複数あったら、その分並行して同時に命令フェッチをする必要があり。GPU, SIMDは同命令(同演算)を複数データに対して平行して同時に処理をしようというものなので、PCは複数必要ないと思います。GPU, SIMDは勉強中なので、知っているのはこの程度
2012-04-01 21:49:37simhでもbreakさせたらusp,kspと2個見えました。モードは上位機種でスーパバイザが追加されてるみたい。 RT @superhoge: 「とあるPDP11/40のレジスタにまつわる議論」をトゥギャりました。 http://t.co/7rQU7u66
2012-04-03 12:46:05@magoroku15 やはり2個あるのですね。togetterまとめに追加させていただきました
2012-04-03 13:35:17上位モデルはスーパバイザモード用にも1個。 RT @superhoge: @magoroku15 やはり2個あるのですね。togetterまとめに追加させていただきました
2012-04-03 13:54:47