1

組み込みシステムの設計/プログラミングの学習を開始するのに適した場所を探しましたが、Arduino や RaspberryPi などの初心者用デバイスを提案するものはすべてありますが、アセンブリ レベルでのプログラミングに関する提案は見たことがありません。最近、コンピューター サイエンスの学士号を取得しましたが、ソフトウェア プログラミングよりもハードウェアにますます惹かれるようになりました。ハードウェア設計コースを 1 つ受講し、68k のアセンブリ プログラミングと Logism での論理設計を行いました。私は Raspberry Pi を持っていて、いくつかいじりましたが、これらのデバイスに使用される言語はまだ高レベル (C、C++、Python) です。

チップ/コンピューターハードウェアの低レベル設計に本当に興味があるので、いくつか質問があります。

今日のハードウェア設計におけるアセンブリ言語のアプリケーションは何ですか? それはまだ広く使用されていますか、それともそのほとんどが高水準言語によって抽象化されていますか?

アセンブリ プログラミングがまだ広く使用されている場合、アセンブリ プログラミングに関連するのはどのような種類の仕事ですか? アセンブリ プログラミング用の最も一般的なプラットフォーム (68k、x86 など) は?

最後に、上記が当てはまる場合、現代のアセンブリ プログラミングのリソースは何ですか?

ありがとうございます。また、組み込みシステムへの飛び込みに関する他の質問をいくつか見てきました。質問が十分に異なっていることを願っていますが、質問が既に回答されている場合は、遠慮なくフラグを立ててください。

4

3 に答える 3

8

今日のハードウェア設計におけるアセンブリ言語のアプリケーションは何ですか? それはまだ広く使用されていますか、それともそのほとんどが高水準言語によって抽象化されていますか?

アセンブリ言語は、特定のユース ケースで使用されます。組み込みシステム ソフトウェアの特定のユース ケースでは依然として最も一般的ですが、Linux カーネルなどの他の低レベル プロジェクトにも存在します。アセンブリでのみ実行できる特定のことがあり、アセンブリによりコードが高速で小さくなるため、あちこちで使用されます。わかりやすくするために、実際の例を 1 つ挙げます。スマート カードのファームウェアの重要な部分の一部は、ソフトウェアの実行をさまざまな種類の攻撃から保護するためにアセンブリで記述されています。アセンブリは、プログラムのバイナリ表現を完全に制御できる唯一の言語です。コンパイラはファームウェアにセキュリティ ホールを残す可能性があり、攻撃者のエントリ ポイントとなる可能性があります。

アセンブリ プログラミングがまだ広く使用されている場合、アセンブリ プログラミングに関連するのはどのような種類の仕事ですか?

ここでは、高度なアセンブリ言語の知識を必要とするエンジニアリング職の例をいくつか示します。

  • コンパイラエンジニア。
  • ファームウェアエンジニア。
  • セキュア ファームウェア エンジニア。
  • マルウェアアナリスト。

アセンブリ プログラミング用の最も一般的なプラットフォーム (68k、x86 など) は?

これらの時代に最も人気のある CPU アーキテクチャを調べれば、答えがわかります (ネタバレ Intel x86/x64、ARM)。

最後に、上記が当てはまる場合、現代のアセンブリ プログラミングのリソースは何ですか?

グーグル

于 2015-08-07T21:05:06.623 に答える
1

今日のハードウェア設計におけるアセンブリ言語のアプリケーションは何ですか? それはまだ広く使用されていますか、それともそのほとんどが高水準言語によって抽象化されていますか?

これは、低レベルの電子設計では依然として非常に一般的であり、通常はマイクロプロセッサではなく組み込みマイクロコントローラを意味します。

アセンブリ プログラミングがまだ広く使用されている場合、アセンブリ プログラミングに関連するのはどのような種類の仕事ですか? アセンブリ プログラミング用の最も一般的なプラットフォーム (68k、x86 など) は?

電子機器のハードウェア設計者は、時間決定論的操作または速度が重要な操作 (通常は、フラッシュからマイクロコントローラーに読み込まれたファームウェアとして実行される大規模な高水準言語アプリケーションの小さな部分) にアセンブリを日常的に使用しています。

Atmel、Microchip PIC、Cypress、Parallax、Renesas、MSP430 など、今でも一般的にアセンブリ言語でプログラムされているチップがあります。Intelプロセッサや非RTOSを実行するものなど、大規模な鉄の大きなアプリケーションでアセンブリ言語が大規模に使用されていることに驚かれることでしょう。

「ナノ秒が重要な場合はアセンブリを使用し、それ以外の場合は高レベルに固執します。」は、業界におけるおおよその経験則です。

于 2015-08-11T10:27:36.410 に答える