「ソフトウェアはハードウェアを置き換えることができます」というフレーズの意味は何ですか?


90

ハードウェア/ソフトウェアインターフェースおよびオペレーティングシステムに関する初心者向けコースでは、多くの場合、ハードウェアの一部をソフトウェアに、またはその逆に置き換える方が良いかどうかというトピックが出てきます。接続できません。


7
汎用CPUには、任意の論理演算を実行できる命令セットがあります。ソフトウェアは、CPU命令セットによって実行されるコマンドのストリームにコンパイルされます。これは、「ソフトウェアで」作業を行う例です。逆に、ソフトウェアアルゴリズムは、シリコンにロジックゲートの特別な配列を作成することにより、「ハードウェアで」直接実行できます。
キメラ

12
「接続」とは、ソフトウェアとハ​​ードウェアの両方が、異なる方法で論理ステートメントを実行することです。
キメラ

14
それはまさにそれが言うことを意味します。ソフトウェアとハ​​ードウェアが処理を行います。ソフトウェアまたはハードウェアのいずれかを使用して作業できる場合があるため、いずれかを選択します。次に、他の1つを使用する方が良いかどうか疑問に思います。
immibis 16

4
明らかに、すべてのハードウェアをソフトウェアに置き換えることはできません-ソフトウェアモニター、マウス、またはキーボードを作成しようとしても意味がありません。(彼らは仮想のものでない限り)
immibis

2
(ソフトウェア)オペレーティングシステムを使用することを検討してください:1)OSをハードウェアに直接書き込むには、非常に複雑なチップが必要であり、コストがかかります2)ハードウェアを簡単に更新できないため、ハードウェアOSが更新を受信しません。セキュリティ上の問題が見つかった場合、パッチなどを適用することはできませんなど
Bakuriu

回答:


176

他の答えが欠けているという基本的なつながりはこれだと思います:

汎用コンピューター(CPUなど)があれば、定義したほとんどすべての計算を実行するようにプログラムできます。ただし、特殊なハードウェアのほうがパフォーマンスが高い場合や、価値がまったくない場合があります。

(この回答はデスクトップ処理に焦点を当てており、そのドメインの例を使用しています)

ソフトウェアをハードウェアに置き換える

1990年代半ばから後半にかけてPCゲームを覚えるのに十分な年齢であれば、おそらくQuakeのようなFPSゲームを覚えているでしょう。CPUがグラフィックスのレンダリングに必要な計算を実行したことを意味する「ソフトウェアレンダリング」から始まりました。一方、CPUは入力処理、オーディオ処理、AI処理なども実行する必要がありました。CPUリソースに大きな負担がかかりました。さらに、グラフィックス処理はメインストリームCPU(当時または現在)にはあまり適していません。非常に並列度の高いタスクになる傾向があり、最新のハイエンドCPUよりも多くのコアが必要です(8)。

グラフィック処理をソフトウェアからハードウェアに移行しました。3dfxVoodooNvidia TNT(現在はGeForce)を導入しました。これらは、CPUからGPUに処理をオフロードする特殊なグラフィックカードでした。これにより、ワークロードが分散され、同じ量の作業を行うためのより多くのコンピューティングリソースが提供されただけでなく、グラフィックスカードは、3Dグラフィックスをより速く、CPUよりも多くの機能でレンダリングできる特殊なハードウェアでした。

現代の時代に早送りし、デスクトップには非CPUグラフィックが必要です。オペレーティングシステムでさえ、GPUなしでは機能できません。CPUが実際にGPUを実際に統合することは非常に重要です。1

ハードウェアをソフトウェアに置き換える

DVDが新品のとき、デスクトップコンピューターにDVDドライブをインストールできました。ただし、その日のCPUは、DVDビデオおよびオーディオストリームをst音なしでデコードするほど強力ではありませんでした。最初は、デコードを実行するために専用のPCIボードが必要でした。これは、DVDフォーマットをデコードするために特別に構築された特別なハードウェアでした。3Dグラフィックスと同様に、より多くのコンピューティングリソースを提供するだけでなく、タスク用にカスタム構築されたため、DVDの再生がスムーズになります。

CPUがさらに強力になるにつれて、DVDを「ソフトウェアで」、つまり「汎用コンピューターで」デコードすることが可能になりました。効率の低いプロセッサでも、DVD再生をユーザーの期待どおりに動作させるのに十分な生の速度とパイプラインの最適化がありました。

現在、CPU はDVDが導入されたときの数百または数千倍も強力です2。ブルーレイが登場したとき、汎用ハードウェアはタスクを処理するのに十分なほど強力だったため、特殊なハードウェアは必要ありませんでした。

両方を行う

最新のIntel CPUにはH.264エンコードおよびデコード用の特別な命令があります。これは、汎用CPUがすべて同じチップ内で特殊な機能を獲得する傾向の一部です。CPUには同様の回路が含まれているため、DVDの場合のようにH.264を効率的にデコードするために別のPCI Expressボードは必要ありません。


1 GPUは、グラフィカルな計算を実行するために特別に設計されたプロセッサを指します。古い2DグラフィックスカードはGPU ではなく、単にモニターと通信するためのDACを備えたフレームバッファでした。違いは、GPUには特定の種類の計算に優れた特殊なプロセッサが含まれており、時間が経つにつれて、実際にはプログラム可能な(シェーダー)ことです。グラフィックスハードウェアには、フレームバッファ内のデータをケーブル(VGA、DVI、HDMI、DisplayPort)で出力でき、モニターが認識できる形式に変換するために必要な専用回路が常に含まれています。これは、計算を特殊なハードウェアにオフロードするという議論とは無関係です。

2 DVD-Videoは、Pentium 2も新しくリリースされた1997年にリリースされました。これは、CPUの電力が急速に増加していた時代でした。DVDデコーダーを備えた新しいP2コンピューターを検討するか、少し古いP1にインストールすることを検討できます。WikipediaのMIPSリストを使用した最新世代の6 Core i7と比較してください。最新のCPUは590〜1,690倍高速です。これは、クロック速度に一部起因しますが、標準としての複数のコアへの移行と、クロックティックごとにコアごとにより多くの作業を行う最新のCPUへの移行も原因です。また、テクノロジーの進歩に伴い、デスクトップユーザーおよびx86サーバー市場を支配するIntelは、デスクトップユーザーが実行したい操作(ビデオのデコードなど)を高速化するための特別な指示を追加します。


古い2Dグラフィックスカードは、今日理解されている意味ではGPUではありませんでしたが、グラフィックス機能専用のハードウェアが非常に多く存在していました。ブリッターは、ある場所から別の場所に大量のメモリをすばやくコピーできます。場合によっては、単純な論理演算を使用して、ターゲットの場所のデータと結合します。これは、VGA / SVGA時代の典型的な2Dカードに存在していました。他のコンピューターには、ホームコンピューターのハードウェアスプライトや80年代および90年代のゲームコンソールなど、他の特殊な2Dハードウェアがありました。
セバスチャンレッド

127

私は誰もまだ最も顕著な例の1つに言及していないことに驚いています:ソフトウェア無線です。

50年ほど前の現代のスマートフォンを1960年代半ばから有能なエンジニアに見せれば、彼はそのほとんどを理解できるでしょう。スーパーコンピューターをポケットに収まるものに減らすことができますか?小切手。超高品質のカラーテレビに相当するものをパッケージに入れることができますか?小切手。当時のコンピューターよりもはるかに高速で、ストレージなどがはるかに多いということですか?小切手。そのような複雑な機能を実行できるソフトウェアが作成されていますか?小切手。

しかし、有能なエンジニアに、このパッケージには非常に効率的なトランスミッターとセンシティブなレシーバーのセットが含まれていることを伝えてください。 ; 高速データを建物内のどこかの基地局と通信する別のデジタルトランシーバ。低電力ウェアラブルデバイスと通信するさらに別のデジタルトランシーバー。そして中間軌道の衛星から弱い信号を拾う別の受信機...彼はあなたを嘘つきと呼ぶでしょう。

このような高感度の受信機は、隣接する局を除外して目的の信号を選択する多数の調整された回路なしでは構築できないことを知っているため、彼はあなたを嘘つきと呼ぶでしょう。そして、そのような回路には、コンデンサやインダクタなど、テクノロジーよりも物理学によって定義されたサイズの部品が必要です。

その後、現代のラジオでは、そのほとんどがソフトウェアで行われていることを説明する必要があります。アンテナから入ってくる信号が中間周波数に変換されて少し増幅された後、A / Dコンバーターでサンプリングされること。その後の処理はデジタルシグナルプロセッサで行われます。昔ながらのハイエンド無線で大量のハードウェアを必要としていたチューニング、フィルタリングはすべて、数学的な方程式の形で記述できます。そして、それが可能であれば、これらの方程式はDSPによってリアルタイムで実行できます。

これは、ハードウェアを置き換えるソフトウェアの最も顕著な例の1つだと思います。その結果、私たちはポケットにスマートフォンを持ち込み、1960年代の有能なエンジニアでさえ、魔法のようなものになりました。

これと比較して、最近のガレージのドア開閉装置、電子式バスルームスケール、またはテレビのリモコンの単純なロジックは、カスタムハードウェアの代わりに汎用マイクロコントローラーとソフトウェアを使用して実装されるという考えは、ほとんど些細なことです(そして、それは確かにたくさんあります)架空の1960年代のエンジニアにとって、ソフトウェア無線よりも理解しやすいものです。)


16
過小評価された答えは過小評価されています。私は電子工学の小さなバックグラウンドがあり、自分でいくつかの無線デバイスを構築しましたが、最近では信号調整がソフトウェアによって行われたことを知りませんでした。私の心は、これがどのように行われるかを正確に想像しようと試みています。
マチャド

5
@Machado本格的な電子設計を行うと、基本的にはすべて数学の方程式であることがすぐにわかります。物理的な電子機器は、加算、減算、除算、乗算、微分、積分などを行うことができます。それは、すべての低周波ノイズを除去するための物理的なコンデンサの代わりに、コードで行われます。物理信号は、A / Dコンバーターと呼ばれる特殊なハードウェアの塊を介してソフトウェアに「ロード」されます。
CHendrix

6
@Machado dspguide.com/pdfbook.htmこの教科書には、多くの擬似コードの例があります。それは宝石です。
brian_o

4
@Machadoソフトウェア無線(約20ドル)を手に取り、それを使って遊ぶことを忘れないでください!
マイケルハンプトン

5
1960年代の男に、主にコンピューターのパワーと機能をすべて使用していることを伝えないでください。食べ物の写真を投稿したり、猫の動画をストリーミングしたり、ポケモンを狩ったりすることです...
Baard Kopperud

42

この回路を考えてみましょう:

ここに画像の説明を入力してください

フリップフロップ、別名双安定マルチバイブレーターです。次のコードに置き換えることができます。

static bool toggle;

if (toggle == true) 
{
    lblTop.BackColor = Color.Black;
    lblBottom.back Color = Color.Red;
}
else
{
    lblTop.BackColor = Color.Red;
    lblBottom.BackColor = Color.Black;
}
toggle = !toggle;

1
あなたの答えと投稿を修正してくれてありがとう!それについてもう少し学ぶために提案する本はありますか?ガブリエレ
ガブリエレスカルラッティ

11
チェックコード:コンピュータハードウェアおよびソフトウェアの隠された言語。それはうまくsofwareするためにハードウェアからの移行カバー
イゴール・ミラ

4
@igormilla私はあなたの提案を保証することができます。私は現在この本を読んでおり、これまでに読んだことのないコンピュータアーキテクチャに関する最高の本です。それはあなたの喉にあまり技術的な専門用語を押し付けることなく、各概念を明確かつ簡潔に説明する素晴らしい仕事をします。ハードウェアとソフトウェアの関係をより深く理解したい人にはぜひお勧めします。
クリスチャンディーン

1
@igormilla、素敵な発見!幸いことに、Safari Books Onlineの一部として利用できるので今すぐ読み始めることができます。:)(投稿する前にコメントをもう一度読む:広告のように聞こえますが、私はただの幸せな顧客です。去年、私はすぐにブラウジングすることも読むことさえできなかった推奨技術書を見つけませんでした。オンライン。)
ワイルドカード

29

それはまさにその音の意味を意味します。

特に有名な例は、スティーブウォズニアックがApple II用に設計したディスクIIドライブです。

主な技術革新は、競合他社がハードウェアに依存している間にソフトウェアを使用してコントローラーをコンパクトにすることでした。Appleの電子技術者であるビルフェルナンデスは、「[Wozniak's]デザインの主な利点は、通常の60〜70チップではなく6チップしか使用しなかったことでした」

おそらくあなたがよく知っている別の例:エミュレーター。ハードウェア(およびソフトウェア)のセット全体を完全にソフトウェアで置き換えます。CPU、さまざまな制御チップ、さらにはストレージデバイス。

すべてのハードウェアを排除することはできません。最終的には、ソフトウェアを実行するために何かが必要になります。ただし、一般に、ハードウェアに実装できるロジックタスクはソフトウェアにも実装できます(パフォーマンスは同一ではない場合もありますが、基盤となるハードウェアと実装に応じて、パフォーマンスが異なる場合があります。


常に必要なものは、少なくとも1つのプロセッサだけですか?
ガブリエレスカルラッティ

3
@GabrieleScarlattiもう少し必要になります。具体的には、I / Oデバイスはハードウェアである必要がありますが(コントローラーはソフトウェアでもかまいません!)、メモリはハードウェアである必要があります。それらの間の接続はハードウェアである必要がありますが、必要なロジックは限られています。十分なピンがある場合は単純なワイヤ、十分なピンがない場合はわずかに単純なシフトレジスタまたは同様のデバイス。
8ビットツリー16

あはははい、私は少しおおざっぱすぎました。それについてもっと学ぶための良い本をいくつか提案できますか?答えてくれてありがとう!
ガブリエレスカルラッティ

1
このトピックでのこれまでのベストアンサーは、「エミュレーター」です。
マチャド

1
ウォズに言及せずにこのテーマについて話すことはできません!
ジェームズR.

11

これが当てはまるもう1つの分野はシンセサイザーです。

初期のシンセサイザーは、波形を直接生成し、回路(フィルター、アンプなど)を介して波形を変更する100%アナログハードウェアでした。サウンドをデジタルで合成することは可能でしたが、平均的な人には手に入らないコンピューティングリソース(実際のメインフレームとカスタムデジタル/アナログコンバーターハードウェア)が必要でした。

チップの製造が改善されると、シンセサイザーは純粋なアナログからデジタル信号で制御されるがアナログ信号を生成するシンセサイザーチップに移行し、その後純粋なデジタル合成(サンプル再生、FM合成、真の加算合成など)に移行しました。

今日、プロセッサは、プログラマが古典的なアナログシンセサイザーのコンピューターバージョンを作成して、リアルタイムで動作をシミュレートすることにより、元の回路の動作を正確に複製できるようにします。実際、電話とタブレットは、これらの再作成を実行します。コルグIMS-20例です。

クラシックシンセサイザーと新しいシンセサイザーの両方が、Ableton Live、Logic、Cubaseなどのデジタルオーディオプログラム用のVSTまたはAUプラグインとして利用可能であり、これらを使用しないとスペースやお金がない人にシンセサイザーへのアクセスを提供しますそれら。

編集:この時点で、VCVRackについても言及する必要があります。これは、リアルタイムでアナログモジュラー合成をシミュレートします。数秒の音楽の数時間のレンダリング時間からかなり前進。


1
1977年のAtari 2600には、CPU時間の39%以上をディスプレイ生成に使用しながら、5オクターブの範囲で4ボイスの音楽を生成するのに十分なCPU処理能力があります。必要なルックアップテーブルは4Kカートリッジの半分以上(約2300バイト)を占有しますが、カートリッジが4Kを超えることはもちろん可能です。おそらく、音楽の再生中に非常に複雑なゲームプレイを行うことはできませんでしたが、スクロールテキストを備えたかなりカラフルなタイトル画面は間違いなく可能>:*3です。
supercat

はい、10個ほど取り残しましたか?20?私の答えは小説にはなりません。非常に良い点!Mac 512Kには(Musicworks)[ thinkclassic.org/viewtopic.php?id=550]と呼ばれるものがあり、4つの音声をほとんど処理できませんでした。
ジョーマクマホン

68000は、各命令を実行するのに6502よりも多くのサイクルを要しますが、適切なコーディングを行うと、4音声のウェーブテーブル合成がかなり効率的になります。ボリューム設定ごとに256バイトのテーブルを使用して、振幅スケーリングで約240サイクル/サンプルを推定します。振幅スケーリングを削除すると、その時間は56サイクル/サンプル削減されます。
supercat

7

以前は、カットは非常に明確でした。迅速な実行を必要とするほとんどのものは、ハードウェアに実装する必要がありました。たとえば、周波数を生成するマルチバイブレーターを取り上げます。少し前に、(固定の)周波数を生成するために、いくつかのトランジスタ、コンデンサ、そして最終的には水晶が必要でした。現在、わずか数セントほどの価格の安価なマイクロコントローラーがあります。これらは非常に高速であるため、簡単に使用してマルチバイブレータを作成できます。さらに、以前はソフトウェアを使用して、異なるハードウェアをはんだ付けする必要があった周波数を簡単に制御できます。ただし、特定の(ただし現在はかなり高い)周波数を超えるには、純粋なハードウェアが必要です。両方の間に線がありますが、ソフトウェアで解決できる部分は(指数関数的に)成長しています。

編集実際に「ソフトウェアはハードウェアを置き換えることができます」は実際には正しくありません。ハードウェアが非常に強力になったので、それを使用してハードウェアをエミュレートするソフトウェアを実行できます。そのため、いくつかの単純だが静的にはんだ付けされたトランジスタの代わりに、ソフトウェアを理解する何百万ものトランジスタを使用します。そのため、用語は「ハードウェアはソフトウェアを理解できるようになりました」とすべきです。


公平を期すために、ほぼすべてのマイクロコントローラーには、ハードウェアに実装された(少なくとも1つの)汎用PWMモジュールがあります。そのため、適切なCPUで実行されているソフトウェアを使用して、周波数出力をビットバンすることはほとんどありません。
リンドンホワイト

@LyndonWhite PWMは一般的なマルチバイブレーターではありません。周波数発生器のサブセットであるパルス幅を変調しました。
qwerty_so 16

1
確かにこれは本当です。私のポイントは、むしろPWMが生成することを望む最も一般的なタイプの信号であるということです(デューティサイクルの範囲内で)-それがマイクロプロセッサがそれのための特別なハードウェアを持っている理由です。反対の「ハードウェアがソフトウェアを置き換えることができる」の例として、PWM対ビットバングアップを置くでしょう。
リンドンホワイト

@LyndonWhite回答を編集しました。
qwerty_so 16

5

アーケードゲームのタンク(1976年頃)とホームコンソールゲームの戦闘(1977年)を比較すると、ソフトウェアが40年前でもハードウェアを置き換えることができる良い例が得られます。

アーケードゲームタンク(1976年頃)では、2人のプレイヤーが戦車を駆け回ってお互いに撃ち合いました。プロセッサは一切含まれていませんが、代わりに、電子ビーム、タンク、ショットの水平および垂直位置、プレイヤーのスコア、回転角度、経過時間を追跡するためのハードウェアカウンターがありました。スコア、プレイヤーの戦車の形状、および背景に関連付けられたビットマップデータを出力するハードワイヤードロジックがありました。

Atari 2600 Video Computer System(1977年頃の家庭用ゲーム機)には、2つのビットマップオブジェクトと4つの可変幅パルスジェネレーターの水平(垂直ではない!)位置を追跡し、20ビット幅のローをホールドしてクロックアウトするハードウェアが含まれていました-解像度プレイフィールドグラフィックパターン、2つの高解像度8ビットパターン、プレーヤー、背景、およびプレイフィールドの色をラッチし、さまざまなオブジェクト間の衝突を検出します。また、汎用のプログラマブルタイマーも含まれていましたが、ハードウェアには上記以外のものはほとんどありませんでした。それにもかかわらず、ハードウェアはゲームタンクのハードウェアよりもはるかに単純ですが、2K ROMカートリッジの戦闘では、2600が同じ基本ゲームをプレイできますが、他の多くの機能(さまざまな車両と背景、ショットの跳ね返りなど)を備えていますアーケードマシンのほとんどを置き換えることができます」ハードウェアとソフトウェア。興味深いことに、Atari 2600はおそらく市販のマイクロプロセッサベースの家庭用ビデオゲームシステムの中で2番目にシンプルなハードウェアプラットフォームですが、ハードウェアをソフトウェアに簡単に交換できるように設計されているため、正しくプログラムされた場合、競合他社。


タンクをプレイするのに多くの時間と四半期を費やしました。私の友人が古いゲーム機を復元し、すべてがハードウェアであることを知って非常に驚きました。誰かがカルノーマップを作成して管理しやすくするために多くの時間を費やしました。ソフトウェアで複製する方がはるかに簡単で、メンテナンスの必要も少なくなります。小惑星でも同じです。ただし、コンソールコントロールを含めて正確に複製しない限り、どちらも同じ感覚になりません。さらに、ベクトルグラフィックスは、ラスターディスプレイ、IMOで同じように見えません。
SDsolar

@SDsolar:Atariが公開したシートを読んだことを覚えています。所有者がゲームプレイのさまざまな側面を微調整するために行うことができるいくつかのMODがあります。 「機能」)、不可視タンク機能などを追加する可能性があります。ファームウェアを変更するには、より複雑な機器が必要であり、ハードウェアで簡単にできるいくつかの種類のMODはファームウェアでは不可能です(たとえば、プレーヤーの位置がバイナリカウンターを使用し、プレーヤーをスキャンラインごとに2回表示するのは簡単です)。
supercat 16

1

「ソフトウェアはハードウェアを置き換えることができる」というフレーズは、非常に明確な利点がない限り、ハードウェアの問題を解決しようとしない警告です。ソフトウェアは、ハードウェアよりも開発が10倍から50倍安く、ユニットあたりの生産がほぼ無限に安価です。ハードウェアでXを実行することは、ソフトウェアでXを実際に効率的に実行できない場合を除き、成功するソリューションにはなりません。


私はdownvoteませんでしたが、私はかなり確信している、これは不正確です。
J.アラン

@JefréN。ハードウェアを購入するのではなく、開発するだけです。
DepressedDaniel

あなたが正しい; 私は質問の意図を誤解しました。「ソフトウェアは開発するのにハードウェアよりも10倍から50倍安い」という主張を裏付ける引用やリンクがありますか?私は、それが大まかな数字であるか、それとも[一般的に受け入れられ/検証された]声明であるかを知りたいと思います。(私はところで、あなたは悲しいすみません; D)
J.アラン

私はダウン投票しませんでしたが、ソフトウェアが安価であるとは限らないので、アップ投票できません。多くの場合、はるかに高価になります。また、ASICとFPGAの概念を検討してください。ソフトウェアを使用して同等のハードウェアを作成し、より高速に実行できます。実行可能ファイルとインタープリタープログラムの最終的な違いに似ていますが、それ以上です。
SDsolar

1
@SDsolar 同じ機能がソフトウェアよりもハードウェアに安価に実装されているケースは聞いたことがありません。ソフトウェアで実行することが実行可能であれば、ソフトウェアで実行する方がほぼ普遍的に安価になります。もちろん、たとえば、ソフトウェアレンダラーは、グラフィックカードと比較すると、パフォーマンスの問題にすぐに直面します。しかし、それは、パフォーマンスの特定のベースラインを達成するためのソフトウェア実装の実現可能性にさらにつながります。
DepressedDaniel

1

ニュアンスは上手く取り組まれていますが、OPの障害は、ハードウェアをソフトウェアに置き換えることはほとんど不可能だと思うからです。「ハードウェア」には常に「ソフトウェア」ソリューションよりも大幅に少ない「ハードウェア」が含まれます。

違いは、プロセス/アルゴリズム/計算のロジックをハードウェアとソフトウェアの間で移動できることです。多くの例が挙げられているので、詳しく説明しません。


-1

仮想メモリを備えた初期のコンピューターでは、TLBミスが発生すると、新しいページエントリを読み込むためにタスクを切り替える必要がありました。OSソフトウェアの一部が正しいプロセスを見つけ、ページテーブルを調べて、正しいエントリを見つけてTLBに書き戻します。元のプロセスに戻って続行する前に。

現在、ほとんどのCPUはハードウェアを使用してプロセスを実行し、ページテーブルの読み取り、ページテーブルのウォーク、TLBの更新を行います。

どちらの方法でも、ページフォールトを処理するためにソフトウェアを使用する必要がありますが、TLBがページフォールトを簡単に上回るため、ハードウェアウォークはソフトウェアよりも優れています。

ジェネレルでは、繰り返し処理する必要がある単純な手順がある場合、ハードウェアの交換を見つけます。複雑な制御フローを持つ複雑なハードウェアソリューションがある場合は、ソフトウェアを使用してハードウェアを簡素化できます。


-2

ソフトウェアがハードウェアを置き換えたり、その逆を行うことができる多くの例があります。

この典型的な例は、数学ルックアップテーブルです。毎回共通の式の結果を計算する代わりに、それらは数学コプロセッサーの内部に保存され、必要なときに単に参照されます。

ほとんどの人はおそらくオーディオフィルターと、ペダルやアンプなどの実際の楽器やデバイスを模倣できるソフトウェアに既に精通しているでしょう。

物理的に同等のものよりも高速または安価な場合は、仮想的に作成できるハードウェアが使用されます。


-2

会計では、請求書のハードコピー(たとえば)を電子的に送信できるようになり、ソフトウェアがこの種の書類の受領とその処理をますます処理し始めています。これは、ハードウェアがソフトウェアに置き換えられている優れた例です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.