ソフトウェアって必要?論理回路で十分?

このQ&Aのポイント
  • 論理回路だけでヤフーみたいなホームページを作れるのでは?
  • ソフトウェアが無くてもコンピューターになるけど、汎用性や拡張性を求めるならソフトウェアがあると便利
  • ハードを絞り込んでソフトの切り替えで多機能性を実現している
回答を見る
  • ベストアンサー

ソフトウェアって必要?論理回路で十分?

論理回路ってあるじゃん。notとかandとかorとかnandとかexorとか加算器とかフリップフロップとかシーケンスとかです。 論理回路があれば、それを組み合わせて色々できると思います。だけど、これだけでは限界があるでしょうか?資源が豊富でコストを気にしなくて良いのなら、論理回路だけでヤフーみたいなホームページを作れるのでは? ソフトウェアって必要ですか?ソフトウェアが無ければコンピューターは鉄の塊に等しいと聞いたことがありますが、ウソですよね?エニアックは真空管の論理回路だけで出来たコンピューターで、ソフトウェアが無かったと認識してます。電卓にソフトウェアは無い気がする。 ソフトウェアが無くてもコンピューターになるけど、汎用性や拡張性を求めるならソフトウェアがあると便利、こういう話?計算機能、ワープロ機能、メール機能、ビデオ会議機能、ゲーム機能など、必要機能を全てハードウェア(論理回路)だけで作ろうとすると、大掛かりになりすぎる(出来ると言えば出来るけど)。だから、ハードを絞り込んでソフトの切り替えで多機能性を実現しているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • neuron-x
  • ベストアンサー率52% (139/266)
回答No.1

その通りです。 その気になれば、全てハードウェアで表現することも可能です。ソフトウェアを利用するより、ハードウェアだけで構築されていた方が処理速度などでも有利になります。 しかし、ハードウェアの場合は「処理の内容を変更しよう」と思ったときに、回路の組み直しなど非常に手間がかかります。ソフトウェアなどでは、このような変更が頻繁に発生するため、そのたびに全てのハードウェアを交換…などという方法は現実的には無理があります。 そのため、ハードウェアはある程度汎用的な処理が実現できるように作成し、その上に各ソフトウェアを作成して柔軟な対応が行えるようになります。こうしておけば、ソフトウェアの一部だけを修正して簡単に修正ができます。(もしハードウェアだったら、利用者全てのハードウェアを交換する…って、かなり難しいですよね!)

five_163
質問者

お礼

さんきゅー

その他の回答 (4)

  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.5

コストと開発期間が無制限でいいのなら、おっしゃるとおり、ソフトウェアは要りません。 バグがあったときに、ハードウェアだけで構成されていると作り直しにお金も時間もかかります。 モジュールに分けての開発もしにくいので、膨大な開発工数がかかりそう。 デバッグもデバッグ用のハードウェアを作って、完成したらまた、本番用のハードウェアを作り直して。 電卓も1960年代の初期の物はハードウェアのみだったけど、コストダウンと各種モデルの開発期間短縮のために、1970年頃にCPU+ソフトウェアに切り替わってます。

five_163
質問者

お礼

さんきゅー

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.4

>エニアックは真空管の論理回路だけで >出来たコンピューターで、ソフトウェア >が無かったと認識してます。 >電卓にソフトウェアは無い気がする。 どちらもソフトウエアが必要です。 そして、論理回路だけでプログラムを実行 させようとする場合、実行させようとする プログラムを変える毎に、論理回路を配線 及びスイッチ等を物理的に変更する必要が あります。 #1000ステップなら1000個、100万ステップ #なら100万個

  • SPROCKETER
  • ベストアンサー率26% (2014/7516)
回答No.3

 ソフトウェアでも処理速度が間に合う程度のものであれば、プログラムで動かした方が開発が容易になるからで、どうしても処理速度が間に合わなければ、ロジック回路で作るしかありません。  ソフトウェアが必要になったのは、複雑な処理系が簡単な命令の羅列で作成出来るからです。たとえば、以下のようなものです。  ADD EAX,12345678  これはEAXレジスタに32ビットの数値である12345678を加算する命令ですが、これを論理回路で作成すると、32ビット分のAND,OR,NOT,EXORなどの論理命令で構成される複雑な回路を設計しなければなりません。  ところが、ソフトウェアならば、1命令で済んでしまうわけですし、変更も簡単です。複雑な処理系になるほどソフトウェアで作るしか方法が無くなり、論理回路で設計していたのでは開発時間がかかり過ぎる問題が出て来ます。  ソフトウェアにも論理命令は存在します。用途に合わせて作る為にソフトウェアが必要とされるわけです。

five_163
質問者

お礼

さんきゅー

noname#215107
noname#215107
回答No.2

可能ですよ。 FPGAなどは、お考えに近いのではないでしょうか。 また、プログラム書き換えをあまり重視しないコンピュータにはハーバードアーキテクチャが採用されています。 炊飯器など家電製品に内蔵されているマイコンなどは、書き換えのできないワンタイムEPROMにプログラムが書き込まれています。プログラム領域はROM、変数などはRAMに配置されています。 ただし、プログラムにはバグがつきものです。最近は、書き換えが簡単にできることも重要になっています。最近では、インターネットを利用して、フラッシュROMを書き換える事ができるマイコンを使った家電が増えましたね。

five_163
質問者

お礼

さんきゅー

関連するQ&A

  • 論理回路の問題についての質問です。

    論理回路の問題についての質問です。 入力をx,Dフリップフロップの出力の組を(y1,y2),出力をzとし、以下の論理式で表されるDフリップフロップを2つ用いた順序回路の機能を、DフリップフロップではなくTフリップフロップを2つ用いた順序回路として実現せよ。ただし、Dフリップフロップの時点t+1における出力は、時点tにおける入力Dと一致し、Tフリップフロップの時点t+1における出力は時点tにおける入力Tと時点tにおける出力との排他的論理和として与えられる。 D1=¬x・y1+x・¬y1 D2=y2・y1+¬y2・¬y1 z=y1・y2 論理式を簡単化すると、 D1=x(xor)y1 D2=¬{x(xor)y1} となるので、Tフリップフロップを用いた場合、計算すると図のような回路になりましたが、この回路で正しいでしょうか? また、基本的なTフリップフロップは、いつも問題の様に時点t+1における出力は時点tにおける入力Tと時点tにおける出力との排他的論理和となっているのでしょうか? 教科書には立ち上がりで反転する、と書いてありましたが、排他的論理和については触れていませんでした。 よろしくお願いします。

  • 論理回路問題

    デジタル値で8ビットの擬似正弦波を発する論理回路の設計をしたい。 1、Dフリップフロップを用い、nを入力し4n(8≦n≦64)をカウントする時に値を0にリセットする8ビット同期式のカウンタの回路図を書きたい 8ビットのインクリメント回路を使ってよい。 2、1の正しく動作する為の最大動作周波数を求めたい 3、8ビットのtと6ビットのnを入力してsinπt/2n(8≦n≦64)の近似値を出力する論理回路の回路図を書きたい。sin関数の近似にはtayler展開を使用する 8ビット加算回路、減算回路及び8ビット入力16出力の乗算回路を使ってよい 4、3の回路の入力tが変化したときの伝播遅延時間は? 5、1と3より目的の回路を書く。 6、5での回路が正しく動作する最大動作周波数は? NOT,NAND、NOR 各ゲートの伝播遅延時間 2ns XOR,XNOR  各ゲートの伝播遅延時間 3ns Dフリップフロップからのクロック入力の有効エッジからの伝播遅延時間 3ns Dフリップフロップのセットアップ時間 5ns Dフリップフロップのホールド時間 1ns インクリメント加算、減算回路の伝播遅延時間 5ns 乗算回路の最大伝播遅延時間 30ns どなたか上記の問いについてアドバイス頂けないでしょうか? 宜しければお願いします

  • 論理回路について。

    1、AND回路の論理式を言え。と言う質問に対し、何と答えたらよいのでしょうか? AandB=0、AバーandB=0、AバーandBバー=1……、と答えればいいのでしょうか? 2,フリップフロップがいまいちよく分かりません。ある瞬間の状態を保存することと言われても、いまいちイメージが湧かないのです。教えていただけませんか?.

  • 論理回路:「カウンタ」は何を「カウント」するもの?

    論理回路の勉強をしています。 カウンタなのですが、カウンタは何をカウントするのでしょうか? 図を見ればクロックの動きによって出力Qの動きを表で書いたりは一応できるのですが、何をしているのかがよくわかりません。 その前のフリップフロップを勉強しているときとの違いがわかりません。 よろしくお願いします。

  • 論理回路

    ダイオードによるORゲート、ANDゲート、 トランジスタによるNOTゲート、NANDゲートが論理回路として 機能する理由を、ダイオードとトランジスタの特性をふまえて説明お願いします。

  • 論理回路

    大学の実験で10個の回路の課題がありどうしても2つだけわかりません。真理値表と回路図が必要なんですけど・・・ ひとつは比較回路を作成するというもので入力A1、A0、B0、B1があり出力が|A1A0-B1B0|≧2のとき1、|A1A0-B1B0|<2のとき0というものです もう一つがまったくわからなくフリップフロップを3段使い、非同期型8進(2進3bit)カウンタ構成せよというものです。 このふたつが全然わかりません。 だれかわかるかたおねがいします。

  • 電験三種 論理回路の考え方

    いつもお世話になります。 電験三種の勉強をしているのですが、論理回路の考え方についてどうも理解出来ませんのでご教示をお願いいたします。 過去問で、添付画像の論理回路のタイムチャートで、入力、出力の組み合わせが正しいは1~5のうちどれかという問題なんですが、 一つずつ出力を順を追って考えていけばわかる問題だとは思うのですが、どうも私の場合こういう類の問題が苦手です。 わかりやすい問題の解き方はないでしょうか? たとえばこういったフリップフロップが含まれている回路をブール代数をつかって表す事も可能なのでしょうか? 以上ご教示お願い致します。

  • カウンターを使い回路を作成する問題です

    5->6->2->1と表示して5に戻る回路を作成する.ただし,2入力NANDとDフリップフロップのみを使用することとし,Dフリップフロップは正負両方の出力を使用して良い この回路を,2ビットのカウンタとカウンタ値から出力を生成する組み合わせ回路とで実現する.カウンタはいま何桁目を表示しているのかだけを記憶しており,カウンタ値が00,01,10,11のときはそれぞれ一,十,百,千の桁を表すとする.組み合わせ回路はカウンタ値{C1,C0}を入力とし,それが示している桁の値を4ビットの符号なし二進数{O3,O2,O1,O0}で出力する.例えば1234場合は,カウンタが00の時は一の桁の4を,01の時は十の桁の3を,という風に組み合わせ回路が出力する. 以下の問に答えよ. 問1 この組み合わせ回路の論理式を示せ. 問2 このカウンタを設計し,図示せよ. 問3 問2で設計したカウンタの値を問1の組み合わせ回路に入力し,組み合わせ回路の出力をDフリップフロップで保持することにして,全体を完成させて図示せよ. 問4 この回路の最大動作周波数を計算せよ.ただし,Dフリップフロップの遅延時間,セットアップ時間,ホールド時間はそれぞれ10.5ns,3.0ns,1.0nsで,NANDのH→LとL→Hの伝搬遅延時間はそれぞれ6.5ns,5.5nsとする. この問題がわかりません。 よろしくお願いします。

  • NANDを2つ使用したSRフリップフロップ回路の動作原理

    NANDを2つ使用したSRフリップフロップ回路の動作原理を教えてください。 真理値表での動作は理解しているのですが、もっと詳しい動作原理を知りたいです。 プルダウンを使って、スイッチを入れると、NANDの入力に”0”が入力される設定です。

  • 同期回路と非同期回路の境界線は?

    同期回路と非同期回路の境界はどこまででしょうか? 前段のフリップフロップの出力を後段のフリップフロップのクロックに使ったり、 途中で論理ゲートを使った場合などは、回路自体の遅延がありますよね? カウンタ回路などの場合、段数が多くなると遅延が累積して、非同期カウンタと変わらなくなってしまうように思えるんですが? また、そのような場合、最初のクロックのタイミングではカウンタの値を読み出せないと思いますが、、、、。基本のクロックを遅らせて使っては同期とは言えない気もします。 回路自体はシミュレーションで動けばOKなのですが、同期と非同期の境目が気になったものですから、、。もしかしたら何か大きな勘違いをしているかもしれないので、ご指摘をお願い致します。