ハードウェアセマフォだとソフトウェアからどうやって使えるの?実際にHWに実装されているソフトウェアAPIがあるということですか?
いくつかのハードウェアに接続するためにファームウェアを実装しているのでお願いします。ハードウェアとファームウェアの間で多くの情報交換が行われます。私はハードウェア セマフォについて頭上で話しましたが、それに関する詳細情報を知りたかっただけです。これに関するいくつかの文献が役立ちます
ハードウェアセマフォだとソフトウェアからどうやって使えるの?実際にHWに実装されているソフトウェアAPIがあるということですか?
いくつかのハードウェアに接続するためにファームウェアを実装しているのでお願いします。ハードウェアとファームウェアの間で多くの情報交換が行われます。私はハードウェア セマフォについて頭上で話しましたが、それに関する詳細情報を知りたかっただけです。これに関するいくつかの文献が役立ちます
あなたはほとんど正しいです。正しく動作するためにいくつかの特別なハードウェアを必要とする SW API があります。ソフトウェアでのセマフォの実装はすべて、アトミックであることが保証されているある種の HW 命令に基づいています。
セマフォを実装するには、ハードウェアの原子性が必要です。通常、HW 命令はアトミックではありません。
少し詳しく説明すると、複数のプロセッサから見える共有メモリの一部を読み書きすることによって、セマフォを実装する必要があります。共有メモリの読み取りと書き込みは、一般にアトミック操作ではありません。たとえば、読み取りの後に書き込みを行う場合、読み取りと書き込みの間に他の命令がスケジュールされている可能性があります。
ハードウェアは、操作の2番目の部分、つまり書き込みが行われる前に、リソースにアクセスする他のマスターからバスがロックされていることを確認する必要があります。通常、これはハードウェアの調停段階で行われます。