はてなキーワード: CPUとは
http://anond.hatelabo.jp/20070802144801
昔は5,6人でひとつのCPUを作ってたんだが今は一人でひとつのCPUを作ってるみたいだ。その分内容は簡単になってるみたいだけど、マルチプレクサや符号拡張の回路図まで示しちゃうのは甘やかしすぎのような気がする。
コンパイラは昔から一人でひとつ作ってるけど、基本は整数のみのサポートだからその東大の実験よりは楽そうだな。東大での「ゼロから」っていうのがどれほどのものを指すかは知らないけど、こっちだと字句解析・構文解析はlex・yacc任せだし。
それにこういうのは最終奥義「先輩からの遺産」があるんで、実はわかってないけど「要領よく」やっちゃう人もそれなりにいるかも。
”ゼロから”というのもなんだか怪しいな。CAD(?)で論理演算ユニットをそのまま使えるようだし。先輩諸氏からいろいろとレジュメを拝借しているようだし。写真が見えないので推測だけど、プロセッサはFPGA使ってるっぽいね。書き換え可能なCPUとか書いてるけど、当時にはFPGAとかゲートアレイという言葉は無かったのかな?あと、RS-232C通信用のLSIも用意されているみたい。
それでもちょっとうらやましい授業内容だなあ。なんで写真が表示できないんだああ。
"ゼロから"
CPUの設計ができて、プログラミング言語を設計し、コンパイラが書けて、OSを載せて、
その上で例えばレイトレーシングを動かせるくらいの力量がつく。
確かに22歳でそれぐらいできれば割と凄いな。ハードウェア寄りになると不得手なソフトウェアエンジニアは少なくないからCPUは置いておくとして、それ以外なら22歳でそれぐらいできそうな奴は探せばたまーにいるので、その例だけでは東大卒がそれほど群を抜いて凄いのかどうかはさっぱりわからないけど。
プログラミング言語Cをマスターするってのは、Cそのもの設計や実装から、CPUの挙動など、ハードウェア以上の可能な限り全レイヤーを意識してバランスを取り、スケーラビリティの高いシステムをCで書けるぐらいのことを指すと思うんだけど、それとSQL構文の暗記との関連性がよくわからない。まさかマスターってのはCの機能をほぼ完全に使えるだけ、とかそんなことを言ってるんじゃないよね。もしそうなんだとしたらプログラミングのことが全くわかってないので、わかったような発言はすべきではない。
最初から例外的な能力を持った人間の話しかしていない。いきなり普通のプログラマーを持ち出す意味がわからない。無用な炎上で議論が暴走することを想像できないのならば、釣り目的でない限り黙っておくのが懸命だ。
とここまで書いて、俺はいま「しまった」と思っている。
また、ここで注意していただきたいのは、プログラミングなんて誰がやっても同じということだ。
機械語を書く際の冗長な作業を軽減するための、プログラミング言語であり、
もっともプリミティブな部分が定義されていれば、あとはそれを別表現で定義すればいい。
銀行で使われている静脈認証、
うわあ、完全な釣りだった。やられた。脊髄反射で返信を書き始めた俺が一番の馬鹿です。同じ馬鹿なら踊らにゃ損なのでもうちょっと書こう。
まず、プログラミングなんて誰がやっても一緒だと言うのなら一度でいいから多くの優秀なプログラマーが認めるような高度なプログラムを書いてみればいい。一度だけでいい。一生で一度だけで。絶対書けないから。少なくとも、誰が書いても一緒と思っているような考えを改められない程度の人間には一生書くことができない。もし書いたこともないのにそんなことを言っているのなら、「日大生は凄い。ボクシングで世界ランクぐらいは簡単に取れる。でも必要が無いからやらないだけだ」みたいなことを言ってるただの痛い子ちゃんだよ。
研究者とプログラマーの差異についてなんて大昔から散々議論されているというのにこんな内容を持ち出されても。研究しかやらない人間は実装ができないし、実装しかできない人間には研究ができない。相互補完的な関係だ。どっちの人間であっても優秀なら凄いよ。それだけ。両方できたらもっと凄いけど、結局両方を一流のレベルでやることなんてできないから、どうせなら片方に尽力してできるだけ凄いことができるようになった方がいいよね。君は実装が全くできない上に「ぼくがしらない分野なのでプログラミングは低レベルに決まってます><」という主張をやっちゃってるぐらいなので、きっと研究は上手くやれるんだろう。そっちを頑張ってください。応援していますよ。僕は君らの論文を読んで実装を頑張ります。
某私鉄のダイア自動制御システムは俺の昔の上司のMARCH卒が設計やったよ。確かに底辺開発ではないにせよ、ただのちょいと高度なSIだと思うけど。DSの手書き文字認識だって推測する文字の幅が圧倒的に狭いんだからそんな極端に高度なことをやってるわけじゃない。ゼロから動画のCODECを作って売ってるフランスの会社で設計やってる友達がいるけど、そりゃ専門分野だからそれだけのことをやれるのが当たり前なだけで、彼は日本で言うと高専みたいな普通の学校を出てるだけだし(ただ、日本の高専と違って、フランスではその高専みたいな学校卒の地位がそれなりの大卒並みに高いと本人は言っていた)、別にそれをできたからってそんなにイカしてるって訳でもなんでもなくて、アルゴリズム作る人間も含めてただのサラリーマンだよ。十五年ぐらい前ならいざ知らず、今じゃもうCODECなんてありふれてるしね。そりゃその設計やってる彼はそれなりに高給だし能力だって高いんだけどそんなに物凄いことってわけではない。色んな分野にそんな人はゴロゴロいるし、大きな会社で設計やって下に丸投げしてる人だって別に東大ばっかりでもなんでもない。君の言う「高度」はてんでズレてんだよなあ。実情をろくすっぽ知らないまま人づてに聞いた話で頭でっかちになってるんだろうからしょうがないけど。
スピーチぐらいでいいんだったら無難にこなせる奴なんて腐るほどいるわ。これを出した意味がわからない。
散々叩いちゃってごめんね、それとも爆釣で大喜びかな。でも君の主張には同意できるところもある。プログラマーの多くが薄給で、つまらなく、低脳であることだ。俺は自分で今の会社は恵まれてるなあと思ってるけど、これは運が良かっただけだね。
ただまあ、俺もソフトウェアエンジニアの視点から給料の話に何度も乗ってるのであんまり言いたくないんだけど、そんなに儲けたいなら他人に金集めを任せてる程度の人間がやれ高給だの給料が数倍だの言うのは噴飯ものだよね。経営なり何なり、金を運用する側もやってから言うべき。そうでないなら、給料を決めるのは、君や俺の能力にどれだけの金銭的価値があるのかと決める市場の流れやボスの経営判断などによるであって、金に関しては悠々生活できる給与を貰ってるだけの下っ端でしかない人間が偉そうに言う問題ではないし、少なくとも個人の技術と給料は直結しない。研究者やプログラマーが儲からない? だから何? っていう。日本では研究資金の調達が苦手な教授が多いからもしかしたらピンとこないかも知れないけど。
http://anond.hatelabo.jp/20070801222001
ちなみに俺が京大に居た頃のカリキュラムだとC言語を習得するための授業なんて0%だった。
C言語とかアセンブラとかコーディングスキルみたいなのを大学で教えてもらおうと思ってる人は来ちゃだめだろうと思ったよ。
工学部に進学してくる連中にとって、そういういうのは、高校生の時点で既にある程度理解してるもんだったんだ。
じゃあ大学で何をやったかというと、実践だった。
基礎がわかってても実践ができてなかったら戦力にならんからな。
最近はヌルくなってコーディングとかも教えてくれるらしいけどな。
あ、実践ってのはhttp://anond.hatelabo.jp/20070802021749にある
CPUの設計ができて、プログラミング言語を設計し、コンパイラが書けて、OSを載せて、
その上で例えばレイトレーシングを動かせるくらいの力量がつく。
こういう奴な。
知世入れたらkernel panicっちゃった……。
1GHzも無いCPU(Athlon4)、256MBも無いSDRAMでmakeしてたから(化石とかゆーな!そりゃKDEとかはキビシイけど、BlackBoxとかなら現役GUI環境だって可能なんだよ。でもやっぱりXfceがイイよね)、すっごく時間掛かったのに……。
またやり直さなきゃって思うと……憂鬱。祝日なのに明日休みじゃないし。
はやくdebぃあん♪debぃあん♪(「リリアン♪リリアン♪」のノリで)したいのに……。あ、debっていうのはDebian系のパッケージ名であるからして、その後楽しくインストールすることを表現しているのでもあるのですよ。XBillとか。
あと、窓から開発環境移さなくちゃだから、eclipse(CLOCKUPのじゃないよ)入れなくちゃだけれど、これも嫌ーな思い出があるから、ちょっと憂鬱。それとはやくリナ欲しいよL、I、N、A(ぽえりなじゃないよ)。何だか甘い響き。Cygwinなんてやってらんない。
(http://anond.hatelabo.jp/20070611005404より)
http://anond.hatelabo.jp/20070611014001
http://anond.hatelabo.jp/20070611094117
ファン交換にて症状改善しました。
http://anond.hatelabo.jp/20070524111812
うちとこが良い情報工学科なのか悪い奴なのかは判らんが、
計算機における数値表現の方法、それによる誤差や精度保証の仕方。
必要になってきそうな部分を一通りかじってた。
低レベルな部分だとフリップフロップや論理ゲートの仕組みから始まって
一クロックずつ手で書きながら追ってみる、っていうのが面白かった。
その後アセンブラ、C、Javaなんかを順次やっていってたから
http://anond.hatelabo.jp/20070524004238
その後に集積回路の使い方を覚えるんだ。単に電子回路を集めてモジュール化しただけのものだから簡単なはずだ。
そうしたらCPUの作り方がわかってくる。CPUを動かすには機械語が必要だけど、どうして機械語でCPUが動くかがわかるはず。
これを地で行ってるのかもしれないね。
電子回路と集積回路関係が少なかったり(ちょっと触れたりするくらい+選択程度)。
あとはたぶん、CPU→アセンブリはちょっとは知っとけ程度で駆け抜けて、CかJava辺りで実習、そしたらUML等々の(詳細な実装を考えない)設計技法やら分析技法やらに入って、実習して、SEコースまっしぐら。
かなりの独断と偏見が混じってると思うけれど、経験と伝聞の限りではこんな感じだと思う。
http://anond.hatelabo.jp/20070523230747
C言語やrubyを中途半端に学校で習って、よく判らないまま単位だけとって卒業して、その後でJavaやらHaskellやらを最初だけ齧ってしまって結局全部混ざってしまい消化不良みたいな感じです。
まず電子回路の勉強しようぜ。0Vと5Vで電流が流れるだけだから簡単だ。物理的な裏づけもあってわかりやすい。
その後に集積回路の使い方を覚えるんだ。単に電子回路を集めてモジュール化しただけのものだから簡単なはずだ。
そうしたらCPUの作り方がわかってくる。CPUを動かすには機械語が必要だけど、どうして機械語でCPUが動くかがわかるはず。
納豆のパックを洗うのに水道をながしっぱなしにするなよん。
流しのはじっこにおいておけば
皿やコップを洗うときの残り水で十分すすげる。
で、家庭用排水は有機物に溢れているので納豆菌が下水内で繁殖して病原性の大腸菌などが発生が抑えられて下水に住むGさんも元気になってねずっちゅーも元気になってねこも元気になるすんぽうさ。
思うんだけど、もっとエネルギー効率をよくすれば、殆ど太陽光だけで生活できるんじゃね?
PCだってあんだけ発熱してるんだからこれ廃熱から発電するユニットつければよくね?
すくなくともサーバーセンターは空調ガンガンにするぐらいなら、
感熱発電ユニットをCPUにつけてカロリーを電気に変えればよくね?
風力発電用のブレードやらコイルやらは材料の希少性からそんなに製造コスト下がらなさそう。
そうすると、太陽熱を奪いまくるから地球寒冷化とか心配しなきゃいけないのかな??
電気も溜められたらいいのにね。
皆素直に繰り返しの構文で1から100まで回してんのね(違うのがあったら面白いかなと思った)。
これをニモニック言語に置き換えていくのは簡単だと思う。言語は適当だけど読めるでしょ。
$c=1; $c3=3; $c5=5; { $c3--; $c5--; if (($c3 && $c5)==0) { if ($c3 == 0) { print "Fizz"; $c3=3; } if ($c5 == 0) { print "Buzz"; $c5=5; } } else { print $c; } if (($c-100) == 0) { exit; } $c++; } while(1)
何度も直していたら自分の能力に対する自信をなくしてきたorz 本職じゃなくてよかったぜ。
0判定にこだわっているのは、フラグが立つから(分かる人には分かる)。