20Q3.04A

20Q3.04A

そもそも「FPGA」って何なんですか? (5)

前回までの説明で FPGA (小人さん) を動かすための仕組みについて大雑把な話をしてきました。小人さんは流れ作業で仕事をするので、データフローのような記述をするとちゃんと変換できます。しかし、プログラム言語からハードウェア記述言語に変換する高位合成ツールは、少し難しいことをしていました。さらに、配置配線ツールは時間が掛かります。さて、最終回である今回は、これまであいまいにしてきた小人さんの正体に迫っていきたいと思います。 CPU はなぜプログラムを実行できる? 第一回でも説明しま...
20Q3.04A

そもそも「FPGA」って何なんですか? (4)

前回は、FPGA での処理は「いつ」「なにを」「どうする」だけではなく、「だれが」と「どこで」が必要という話をしました。また、言い換えれば、CPU はデータに対して処理を変えていくのに対し、FPGA は処理の連なりを作り、それにデータを流していきます。第4回では、この「処理の連なり」を作る方法について考えていきます。 いきなり登場、データフローグラフ! ここで現実の FPGA の世界とこれまでの回で説明してきた概念的な「小人さんの世界」との関係を対応付けしておきます。少し専門的な用...
20Q3.04A

そもそも「FPGA」って何なんですか? (3)

前回、FPGA は小人さんを流れ作業で働かせるという話をしました。第3回では、この「働かせる」という部分を掘り下げていきたいと思います。働かせるための指示書である CPU のプログラムとFPGA のそれがどう違うのかに迫っていきたいと思います。 CPU のプログラムって何? プログラムとは何でしょうか? 一般的には、やるべきことの順番を示したものですね。例えば、運動会のプログラムでは、1.入場行進、2.開会式、3.ラジオ体操、という具合です。コンピュータのプログラムも基本的に...
20Q3.04A

そもそも「FPGA」って何なんですか? (2)

前回、CPU はレシピを見ながら調理し、FPGA はレシピを覚えて調理する、という喩えで違いを説明しました。 第2回では、もう少し詳しく CPU と FPGA の動作の違いを見ていきます。そして「なぜ FPGA を働かせるのが難しい」のかに迫ってみたいと思います。 まずは進化の歴史から 本題に入る前に、CPU と FPGA の進歩の歴史について見ていきます。 CPU の進化の方向性 CPU の歴史は、コンピュータの歴史そのものと言っても良いほど劇的な進化を遂げてき...
20Q3.04A

そもそも「FPGA」って何なんですか? (1)

皆さん、こんにちは。ACRi ブログ第3期の第4コースを担当する飯田です。 このコースでは、タイトル通り「そもそもFPGA って何」という謎に迫っていきます。何となく判っているような、いないような FPGA の不思議にこたえていければと思っています。 例えば、FPGA ってどうやって生まれてきたのかとか、どうして配置配線に時間がかかるのかとか、結局、CPU や GPU と何が違うのかとか、FPGA にまつわる話をしていきます。 このコースは、高校生から大学1年生ぐらいでも理解...
タイトルとURLをコピーしました