やかんです。

いやー、この学期はまじで勉強不足でつらいです。

東大生やかんのブログ
やかん

その分開発や趣味勉強などに注力してました

ハードウェア設計論も例外じゃないですが、この授業はやっぱり物理が基礎にあるんですよねー。物理は全くわからなくて今絶賛勉強中なので、理解としては浅いものになってしまう。しょうがないですね。ただ普通に面白いのとタメになるのとで、勉強頑張ります。

東大生やかんのブログ
やかん

もちろん物理も並行して勉強していくよ

SoCとは?

SoCはSystem on Chipの略です。

SoCは、複数のコンポーネント(CPU、メモリ、入出力インターフェース、特定用途向けのプロセッサなど)を一つのチップ上に統合した集積回路です。

gpt-4o様

だそうですね。

SoCの必須条件として、授業では以下の4つが取り上げられました。

  1. DDR等メモリインターフェースを有している
  2. PCIe等高速バスインターフェースを有している
  3. UARTなどによるシリアルインターフェースを有してる
  4. 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プラットフォームだと思われる。

ということで、今回の内容は終了。最後までお読みいただき、ありがとうございます。