やかんです。
いやー、この学期はまじで勉強不足でつらいです。
その分開発や趣味勉強などに注力してました
ハードウェア設計論も例外じゃないですが、この授業はやっぱり物理が基礎にあるんですよねー。物理は全くわからなくて今絶賛勉強中なので、理解としては浅いものになってしまう。しょうがないですね。ただ普通に面白いのとタメになるのとで、勉強頑張ります。
もちろん物理も並行して勉強していくよ
SoCとは?
SoCはSystem on Chipの略です。
SoCは、複数のコンポーネント(CPU、メモリ、入出力インターフェース、特定用途向けのプロセッサなど)を一つのチップ上に統合した集積回路です。
gpt-4o様
だそうですね。
SoCの必須条件として、授業では以下の4つが取り上げられました。
- DDR等メモリインターフェースを有している
- PCIe等高速バスインターフェースを有している
- UARTなどによるシリアルインターフェースを有してる
- DFTによるチップ・ソフトデバッグ機構を有している
呪文にしか見えないので一個一個追っていきます。
「DDR等メモリインターフェースを有している」とは?
まずDDRとは、Double Data Rateの略です。DRAMのインターフェース規格だそうです。
DRAMはCPUで主記憶に使われるやつですね
まあだから、DDRなどのメモリインターフェースを有していないと、メモリとのやり取りが効率化されないからSoCとして未熟ですよ、みたいな話だと思っている。
「PCIe等高速バスインターフェースを有している」とは?
高速バスのインターフェースなんですけど、高速道路を走るバスのことじゃないです。
まず、PCIeはPeripheral Component Interconnect Expressの略で、高速なデータ転送を実現するシリアル拡張バス規格だそうです。
意味がわかりませんね。
まず、「高速なデータ転送を実現する」の部分から。ここで転送されるデータはシリアルデータです。シリアルデータとは、データを1bitずつ連続に送信する方法。
次に、「シリアル拡張バス規格」について。これは「シリアルデータを利用してコンピュータの拡張デバイスを接続するための標準化されたインターフェース」のイメージ。
だから、PCIeなどの高速バスインターフェースを有していると、新たなデバイスを簡単かつ有効に「接続」できたりして嬉しいわけです。
「UARTなどによるシリアルインターフェースを有してる」とは?
UARTは、Universal Asynchronous Receiver/Transmitterの略で、シリアルデータ通信を行うためのハードウェアプロトコルのことです。
これはなんとなくわかりますね。あってるかわかりませんが。ハードウェア間でシリアルデータ通信ができないと元も子もないので、しっかりプロトコルとして定めておこう、というイメージだと思います。それをインターフェースとして観念しているのでしょう。
「DFTによるチップ・ソフトデバッグ機構を有している」とは?
DFTは離散フーリエ変換のことじゃないです。ここではDesign for Testabilityのことを指しているようで、システムがテストしやすいように設計されていますか?という話。
というわけで、こいつらを充足すればとりあえずSoC(System on Chip)として良いだろう、という話のようです。
NOC Designとは?
これはイメージするだけなら、SoCのイメージがあれば簡単だと思われる。まずNOCはNetwork on Chipの略で、だからNOC Designは「チップ上のネットワークを設計しようね」っていうことになる。
SoC内にはネットワークが存在しているよ
マルチIPコアSoCプラットフォームとは?
名前がゴツいですね。
マルチなIPコアでSoCのプラットフォームを作ろう、みたいなニュアンスなので、まずは単体のIPコアがなんなのか気になります。
IPコアとは、とりあえず「特定の機能を持った論理回路」だと思っていれば大丈夫なはず。NPUとかが具体例になるんじゃなかろうか。
で、NPUとか特定の機能に特化したコアを複数チップ上に積んでいくよ、っていう話がマルチIPコアSoCプラットフォームだと思われる。
ということで、今回の内容は終了。最後までお読みいただき、ありがとうございます。