WEBVTT

00:00.090 --> 00:01.050
ナレーター：このレッスンでは､

00:01.050 --> 00:03.720
いくつかの組み込みシステムについて話を始めます｡

00:03.720 --> 00:05.610
さて､ 組み込みシステムというのは､

00:05.610 --> 00:10.980
特定の専用機能を実行するように設計されたコンピュータシステムのことである｡

00:10.980 --> 00:13.260
さて､ 組込みシステムというと､

00:13.260 --> 00:18.150
製造分野やオートメーション分野の話をすることが多い｡

00:18.150 --> 00:19.890
つまり､ 医療用点滴システムのマイクロコントローラーには､

00:19.890 --> 00:22.770
ひとつの仕事があるということだ｡

00:22.770 --> 00:24.840
患者さんに必要な輸液ができるように､

00:24.840 --> 00:29.520
機械を通って点滴に入る輸液の量を測定するためです｡

00:29.520 --> 00:33.030
水処理プラントの制御システム用にもう1つ持っているかもしれない｡

00:33.030 --> 00:36.870
そしてその責任は､ 水が一定の割合で流れるようにすることである｡

00:36.870 --> 00:41.940
そして､ システムの流量を維持するためにバルブを開けたり閉めたりする｡

00:41.940 --> 00:43.307
これが組込みシステムの考え方だ｡ 

00:43.307 --> 00:45.840
そして､ 非常にシンプルなデバイスになることもあれば､

00:45.840 --> 00:52.890
LinuxやAndroidのような完全なオペレーティングシステムを備えた複雑なデバイスになることもある｡

00:52.890 --> 00:54.360
ただ､ それによるんだ｡ 

00:54.360 --> 00:55.770
さて､ この特別なレッスンでは､

00:55.770 --> 01:00.120
単一の機能を持ち､ その機能を実行するために専用のオペレーティング・システムやマイクロプロセッサを持つ､

01:00.120 --> 01:05.100
特定の組み込みシステムにもっと焦点を当てようと思います｡

01:05.100 --> 01:07.950
例えば､ 私の家にはスマートメーターがある｡ 

01:07.950 --> 01:09.900
だから､ 自宅の脇に出て､ 自宅の電気メーターを見れば､

01:09.900 --> 01:11.550
1時間当たり何キロワット使っているのか､

01:11.550 --> 01:17.010
また長期的にどれくらい使っているのかがわかる｡

01:17.010 --> 01:19.860
現在､ この情報はインターネットに接続されており､

01:19.860 --> 01:24.420
電力会社は月に一度､ メーターを読みに私の家まで人を派遣する必要がない｡

01:24.420 --> 01:26.730
その代わり､ 今はすべて電子的に行われている｡ 

01:26.730 --> 01:32.640
携帯電話のモデムを使い､ 携帯電話のネットワークを通じてインターネット経由で本社とサーバーに接続し､

01:32.640 --> 01:36.600
消費電力のデータを取り込むのだ｡

01:36.600 --> 01:37.770
あなたの家のメーターを見れば､

01:37.770 --> 01:40.200
似たようなものがあるだろう｡

01:40.200 --> 01:42.030
現在､ この種の組込みシステムは､

01:42.030 --> 01:46.530
頻繁な変更が行われない､ あるいは許されない静的な環境と考えられている｡

01:46.530 --> 01:50.010
例えば､ 電気メーターのソフトウェアを最後にアップグレードしたのはいつですか？

01:50.010 --> 01:51.210
おそらく一度もないだろう｡ 

01:51.210 --> 01:54.120
電力会社も頻繁にはやっていないだろう｡

01:54.120 --> 01:56.190
それがこのような組み込みシステムの考え方だ｡ 

01:56.190 --> 01:57.900
このようなシステムは､ 1つの目的だけを果たすために作られた､

01:57.900 --> 02:00.870
非常に削ぎ落とされたシステムなのだ｡

02:00.870 --> 02:03.510
そうすることで､ 余分なコードが少なくなり､

02:03.510 --> 02:05.490
よりセキュアになる｡

02:05.490 --> 02:10.170
しかし､ 元のコードが良い状態で作られていなければ､

02:10.170 --> 02:13.860
アップデートが難しくなる｡

02:13.860 --> 02:14.693
このため､ 組込みシステムには､

02:14.693 --> 02:19.800
セキュリティ問題を特定し､ 修正するためのサポートがほとんどないことが多い｡

02:19.800 --> 02:22.860
電力会社を呼び出して､ メーターを確保しに来てくれとは言えない｡

02:22.860 --> 02:25.050
それは､ 彼らがあなたのためにしてくれることの一部ではない｡ 

02:25.050 --> 02:26.400
自分たちのデバイスなのだから､

02:26.400 --> 02:27.840
やりたいようにやるだろう｡

02:27.840 --> 02:30.150
また､ 工場やプラント内に組込みシステムがある場合､

02:30.150 --> 02:35.220
製造業であれば､ そのメーカーからのサポートは限られていることが多い｡

02:35.220 --> 02:39.510
そのため､ すべてのデバイスを独立したネットワークに接続し､

02:39.510 --> 02:44.970
インターネットに接続しないようにする必要がある｡

02:44.970 --> 02:48.240
さて､ 組み込みシステムについて語るとき､

02:48.240 --> 02:51.030
PLCと呼ばれる用語がある｡

02:51.030 --> 02:53.310
これは産業用や屋外用に設計されたコンピュータの一種で､

02:53.310 --> 02:57.960
現代の機械システムを自動化することができる｡

02:57.960 --> 03:05.370
さて､ PLCについて考えるとき､ 水の量を多くしたり少なくしたりするためにバルブを開けたり閉めたりする製造業のようなものを思い浮かべてほしい｡

03:05.370 --> 03:07.140
それがPLCの考え方だ｡ 

03:07.140 --> 03:09.780
これはプログラマブル・ロジック・コントローラーである｡ 

03:09.780 --> 03:12.000
さて､ これらのPLCはファームウェア上で動作する｡

03:12.000 --> 03:14.250
なぜなら､ これらはやはり組み込みシステムだからだ｡

03:14.250 --> 03:18.480
そのため､ チップ上のソフトウェアであるファームウェアは､ 脆弱性が発生したときに修正するためにパッチを当てたり､

03:18.480 --> 03:20.280
再プログラムしたりすることができる｡

03:20.280 --> 03:22.620
しかし､ 繰り返しになるが､ 非常に特殊なプロセスがあり､

03:22.620 --> 03:25.230
通常､ メーカーからのサポートは限られている｡

03:25.230 --> 03:28.350
マイクロソフトのように毎週火曜日にパッチをくれるわけではない｡

03:28.350 --> 03:32.550
このようなPLCでは､ 半年､ 1年､ あるいは2年ごとにパッチを受けるかもしれない｡

03:32.550 --> 03:35.520
パッチとパッチの間は通常とても長い｡ 

03:35.520 --> 03:38.550
さて､ もうひとつ話したいのは､ 彼らが使っているオペレーティング・システムのいくつかだ｡

03:38.550 --> 03:43.020
RTOSというリアルタイム・オペレーティング・システムがある｡

03:43.020 --> 03:48.780
さて､ これは決定論的な操作の実行を優先するタイプのオペレーティング・システムである｡

03:48.780 --> 03:52.800
そうすることで､ 一刻を争う仕事にも一貫した対応ができるようになる｡

03:52.800 --> 03:53.880
さて､ 考えてみよう｡ 

03:53.880 --> 03:57.000
原子力発電所内でバルブの開閉を行う場合､

03:57.000 --> 04:02.040
そのバルブはいつでもオフラインにできるのでしょうか？

04:02.040 --> 04:03.240
おそらく､ そうではないだろう？

04:03.240 --> 04:05.670
RTOS（リアルタイム・オペレーティング・システム）を使うというのは､

04:05.670 --> 04:07.500
そういう考え方なんだ｡

04:07.500 --> 04:09.420
というのも､ 組込みシステムの多くは通常､

04:09.420 --> 04:16.440
リブートやクラッシュを許容できず､ ミリ秒単位で予測可能な応答時間を持たなければならないからだ｡

04:16.440 --> 04:19.860
だから､ もし私が飛行機の一部を動かすようなものを作っていて､

04:19.860 --> 04:23.910
それが自動操縦装置の飛行を助け､ 自動操縦装置が数ミリ秒ごとに翼の調整をする必要があるとしたら､

04:23.910 --> 04:29.850
それはリアルタイム・オペレーティング・システムを使いたいことだ｡

04:29.850 --> 04:32.160
そのために標準的なウィンドウズ・システムは使えない｡ 

04:32.160 --> 04:33.990
スピードもパワーも足りない｡ 

04:33.990 --> 04:38.250
再起動やクラッシュの可能性もあるし､ セキュリティ・パッチやその他もろもろもある｡

04:38.250 --> 04:40.620
つまり､ RTOSという言葉を聞いたら､ これは組み込みシステム､

04:40.620 --> 04:46.560
特に重要なアプリケーションでよく使われるタイプのオペレーティング・システムだと考えてほしい｡

04:46.560 --> 04:47.700
さて､ これを実現するもうひとつの方法は､

04:47.700 --> 04:49.740
システムオンチップと呼ばれるものを使うことだ｡

04:49.740 --> 04:51.810
これも組込みシステムの一種である｡ 

04:51.810 --> 04:58.470
これは､ 当社のプロセッサーが､ 複数の論理コントローラーのプラットフォーム機能をシングルチップに統合したものである｡

04:58.470 --> 05:01.860
このシステムオンチップは電力効率が非常に高いため､

05:01.860 --> 05:05.790
組み込みシステムが必要な小型機器によく使われる｡

05:05.790 --> 05:07.860
だから､ 組み込みシステムでポケットに入るような非常に小さいものを作る必要がある場合､

05:07.860 --> 05:12.681
通常はシステムオンチップのようなものを使うことになる｡

05:12.681 --> 05:15.300
ルンバやロボット掃除機のようなものを使っている場合､

05:15.300 --> 05:27.360
それらはシステムオンチップタイプの考え方を採用している｡ なぜなら､ すべての情報を1つのチップに収めようとするからだ｡

05:27.360 --> 05:33.660
システムオンチップとは､ コンピュータシステムの全コンポーネントを1チップに収めた集積回路の一種を指す｡

05:33.660 --> 05:36.630
これには､ プロセッサー､ メモリー､ ストレージ､ グラフィック・プロセッサー､

05:36.630 --> 05:38.670
周辺機器（USBコントローラー､ 電源管理回路､

05:38.670 --> 05:44.010
無線LANやブルートゥース用の無線ラジオなど）が含まれます｡

05:44.010 --> 05:50.880
システム・オン・ア・チップの好例はラズベリー・パイで､ これはシングル・チップ上に存在する完全なコンピュータを内蔵している｡

05:50.880 --> 05:52.650
現在､ これらのシステムオンチップの多くは､

05:52.650 --> 05:54.570
スマートTVやセットトップボックス（Amazon

05:54.570 --> 06:00.750
Fire TV､ Roku､ Apple TVストリーミングデバイスなど）のような他のデバイスに組み込まれる予定だ｡

06:00.750 --> 06:02.970
システムオンチップ設計は､ その低消費電力､

06:02.970 --> 06:04.560
優れた性能､ 小さなフォームファクターにより､

06:04.560 --> 06:07.440
非常に人気がある｡

06:07.440 --> 06:10.260
例えば､ あなたがRokuやFire TV Stickを持っているなら､

06:10.260 --> 06:12.420
それらはUSBメモリのサイズだ｡

06:12.420 --> 06:15.450
しかし､ 既存のテレビに完全なスマートテレビ機能を提供し､

06:15.450 --> 06:20.913
これらのデバイスを使ってワイヤレス接続でストリーミングビデオを処理することができる｡
