ネットが遅くてイライラしてない!?

ASICなどのハードウェア処理とソフトウェア処理の違いって具体的に何なんでしょうか?

ハードウェア処理の方が速度が速く、
ソフトウェア処理の方が柔軟性が高いと覚えているんですが、
友人に「なんでハードウェア処理は速度が速いの?」と質問され答えられませんでした・・・

どなたか具体的にわかるかた、いらっしゃいませんか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

どちらの処理でも最終的な演算はハードウェアで行われます。


つまりソフトウェア処理は、
ソフトウェアの解釈→適切なハードウェア処理への展開→ハードウェアでの処理
の手順を踏むことになります。

当然、余計な手順を踏むぶんだけ、ソフトウェア処理の方が処理が遅くなります。
実際には高速化のため、さまざまな工夫がされていますが。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました!
お礼遅くなってすいません、大変助かりました。

お礼日時:2004/07/31 16:45

友人の質問に対しては、



Q.「なんでハードウェア処理は速度が速いの?」
A.「既に、行う処理が決まっていて単位時間に同時に必要になる機能が必要なだけ用意されているから」

といったところかと思います。

ソフト処理は、既に用意された汎用的なハードウェアを、順番よく、うまく組み合わせて使うことで目的の処理を果たします。

ハード処理は、目的の処理が先にありきで、その目的に必要なハードウェアをいくらでも用意できます。

簡単な例で、例えば(今ではありえないけど)加算器が一個しか用意されていないCPUがあったとしましょう。

百個の数値の足し算をしてくださいといわれたら、メモリからレジスタに値を読んでは、予め用意されていた汎用の加算器を通してA+Bの処理をしてはアキュームレータに保存するような処理を百回繰り返して実現します。こんなことなら、加算器をもっと用意しておけば並列に何個か足せたのに~、と思う瞬間です。

しかし、金も電力もマスク費用もいくらかけても構わない!といわれれば、100個の数値を一発で格納するレジスタF/Fと、100個の加算器を通した出力をアキュームレータF/Fに流し込めば、タイミングがMETする限りは1クロックで済みます。そのかわり、それしか出来ません。

但し、ハードのほうが早いというのは必ずしも当てはまりません。逆に、上記のような簡単な処理くらいならPentium4ほどに膨大な電力や大きなチップ面積を食うようなハードは不要です。

1 bitの加算器しか用意しないで、100個 x (ビット幅)回の加算処理(1万クロック近くかかって)でようやく演算結果を出す代わりに、チップ面積を小さくしてお安く、省電力なハードウェアに致しました、という場合だってあります。
なお、このハードもそういう決まった処理を決まった時間でしかこなせません。

具体例は、以上のようなところですがいかがでしょ。
これがMPEGデコーダになろうがDVDレコーダになろうがDSPだろうがネットワークルータだろうが理屈は同じです。

柔軟性といえば、C言語からハードを作る事だってできますけど、速度は必要とされる機能を、どれだけ予め用意できるか≒金と電力どれだけだせますか、次第です。
    • good
    • 0
この回答へのお礼

たくさん書いていただいてありがとうございます。
でも、私には少しレベルが高い話でちょっとわかりにくかったです^^;
レベルが低くて本当に申し訳ないです・・・

でも何回か読んでいくうちに大分イメージがわいてきました。
どうもありがとうございました!

お礼日時:2004/07/31 16:48

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QIP-VPNとインターネットVPNの違い

就職活動をしている大学生です。
セキュリティとネットワークに興味があり、そこから自分が何をやりたいのか突き詰めて行った結果VPNを提供している企業が浮かび上がって来ました、業界研究をしている際に疑問が出てきました。

IP-VPNとインターネットVPNの違いの違いがいまいちわかりません。

インターネットVPNはインターネット上を介したVPN、IPは事業者のネットワーク内のVPNって解釈でよいのですかね??

そうなるとプライベート回線を引くのとIP-VPNの違いは???

提供している事業者の違い、VPNに関すること、VPNの今後&求められるもの等、教えてください。

よろしくお願いします。

Aベストアンサー

こんちは。hirasakuです。

簡単に言うと
インターネットVPNはその名の通り、インターネット網を利用した拠点間をあたかもLANのように使うためのWAN構築です。
基本的にVPN接続するためのルータの設定(トンネリングや暗号化・認証など)はユーザーが設定し、運用管理もユーザーが行います。
インターネット網なので通信に対する保障がありませんので、VPNに通すデータを検討しなければならない場合もあります。
一番安価に構築できランニングコストが抑えられます。

IP-VPNは通信事業者の閉域IPネットワーク網を通信経路として用い、自社専用ネットワークであるかのようなWANを構築できるサービスのことです。
通信事業者側で用意している網は品質を保証してあり、ユーザー側はIP-VPN網に接続するだけで、セキュアな通信ができ、インターネットVPN同様LANのように使えます。

プライベート回線とは専用線やフレームリレー網などのことを言っているのですかね?
専用線は料金が距離に比例し、拠点間の距離が離れるほどコストが大きくなり、セルリレー/フレームリレーは、フルメッシュ型接続ですけど、柔軟なネットワーク構築が難しいという問題があります。専用線・フレームリレーなどは回線帯域の割にはコストが高いので、インターネットVPNやIP-VPNでコストを安くしてネットワークを構築するようになってきてます。

インターネットVPNやIP-VPNはプロトコルにIPを使わなくてはならないので、データはIPに乗せる必要があります。
そこで、広域イーサネットというサービスを各通信事業者が行っています。広域イーサネットはプロトコルをIP以外(IPXやSNAなど)を通すことができ、またイーサなので、WAN側に接続するのに極端な話、スイッチでつなげられますので、今までのようにルータの設定などいらなくなります。(VLAN構成にするならスイッチの設定が必要ですけけど)また、QoSなどデータの優先制御や帯域制御などもできますので、VoIPなどにも使えますね。
ということで、簡単に拠点間のLAN構築が可能になります。

提供しているサービスの違いは、どこも似たり寄ったりかなって思いますけど。
サービス提供エリアや、構築にあったオプションサービスなどで選べばいいのでは。

こんちは。hirasakuです。

簡単に言うと
インターネットVPNはその名の通り、インターネット網を利用した拠点間をあたかもLANのように使うためのWAN構築です。
基本的にVPN接続するためのルータの設定(トンネリングや暗号化・認証など)はユーザーが設定し、運用管理もユーザーが行います。
インターネット網なので通信に対する保障がありませんので、VPNに通すデータを検討しなければならない場合もあります。
一番安価に構築できランニングコストが抑えられます。

IP-VPNは通信事業者の閉域IPネットワ...続きを読む

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

Q仕切り価格の意味を教えて下さい。

経理の方と話をしていると「仕切り価格」という言葉が出ました。

調べても上手く理解出来ません。
頭の悪い私にでも分かるように具体例を挙げて教えて頂けると大変助かります。


よろしくお願い申し上げます。

Aベストアンサー

売るときの値段です。

定価10,000円だとしたら、
大量に仕入れてくれるA社には仕切り60%、6,000円で販売、
そこそこ仕入れてくれるB社には仕切り80%、8,000円で販売、
一般の方には、仕切り無し、つまりは定価の10,000円で販売。

ということになります。

もちろん仕切りが仕入れ値を割ってはいけません、損しますから。
そんな感じでゆるく考えてください。

Qハードウェア化すると速い?

最近ハードウェアに関する本を読んでいるんですが、ソフトウェア上で実行するアプリケーションをハードウェア化にすると高速に実行できるって書いてあります。
それはなぜですか?ソフト上では1クロックのCPUで1命令しか実行できないに対して、ハードウェアでは数命令もできるらしいですが、具体的にまだよく理解できないです。
特に最近FPGAとかを使用するとハードウェア化を実現可能ですって。。
でも、1命令でパイプライン処理するとソフト上でも数命令できると思います。
この辺はよくご存じる方がいれば是非教えてください。
よろしくお願いします。

Aベストアンサー

ハードウェア化することにより処理をパイプライン処理できます。これにより処理速度を劇的に高速化できます。
例えば、テレビを組み立てる工場でたとえてみます。1台のテレビを組み立てるのに10行程があるとします。最初の行程ではTVの外箱を組み立てる、2番目の行程では電源ユニットを取り付ける、3番目ではブラウン管を取り付ける、等々です。この作業を「CPU処理する」ということは、この10の行程の全てを一人の作業者が行うといういことです。この一人の作業者は行程1から順に作業していき、行程10まで行って、やっと1台のテレビが完成します。1つの行程に10分かかるとすると、1台のテレビを作るには100分かかることになります。これに対して「専用ハードウェア化する」ということは10人の作業者を用意することです。最初の作業者は外箱を組み立てる作業のみを行います。外箱1台を作ったら、それを2番目の作業者に渡して、また外箱の組み立て作業に入ります。その間に2番目の作業者は電源ユニットの取り付けを平行して行います。つまり、流れ作業を行うということです。このように10人の作業者が1つの作業を専門に行いますので、100分の間に10台のテレビを作ることができます。つまり、「専用ハードウェア化する」ことにより「CPUで処理する」ことの10倍の速度が得られたわけです。この説明で理解の手助けとなれば幸いです。

ハードウェア化することにより処理をパイプライン処理できます。これにより処理速度を劇的に高速化できます。
例えば、テレビを組み立てる工場でたとえてみます。1台のテレビを組み立てるのに10行程があるとします。最初の行程ではTVの外箱を組み立てる、2番目の行程では電源ユニットを取り付ける、3番目ではブラウン管を取り付ける、等々です。この作業を「CPU処理する」ということは、この10の行程の全てを一人の作業者が行うといういことです。この一人の作業者は行程1から順に作業していき、行...続きを読む

QTx Rx の『x』の意味は何ですか?

通信系の仕様書によく出てくる
Tx Rx なる略語があります。

Tx:送信機(Transmitter)を表す略語。
Rx:受信機(Reciver)を表す略語。

だと思うのですが、この『x』って何の意味があるの?

ご存知の方いらっしゃいましたらご教授下さい。

Aベストアンサー

No.1です。

No.2さん、No.3さんが言われているのはRS-232CのTXD、RXDの事ですね。
これはTXとかRXとは別物です。

Tx:TX:Transmitter(送信機)
Rx:RX:Reciever(受信機)

TXD:Transmit eXchange Data (データ送信ピン) 
RXD:Recieved eXchange Data (データ受信ピン) 

Qスイッチングハブとレイヤ2スイッチの違いについて

妙な質問ですみません。
周辺機器メーカサイトを見ると、スイッチングハブとレイヤ2スイッチと分かれたカテゴリで置かれているのを目にしますが
スイッチングハブとレイヤ2スイッチの違いとは何でしょうか?

どちらもデータリンクの2層目を対象として動き、アドレステーブルを元に対象のポートに搬送波を流すもので、ほぼ同じものと思っていたのですが、上司に質問したところ、
異なるセグメントを混在して接続でき、同一のセグメントが接続されているポートにのみ、搬送波が流れるものがレイヤ2スイッチ(ただし、異なるセグメントにも搬送波を流す方法はある)とのことで、
上記の機能がなく、MACアドレスで識別するだけのものをスイッチングハブ、という回答をもらいました。
 VLANとは別にそういった機能をもったものがレイヤ2スイッチとのことだったのですが、この認識で正解なのでしょうか?
 色々とサイトを見て回りましたが、スイッチとレイヤ3スイッチやルータの解説などは書いてあるところはありますが、レイヤ2スイッチとスイッチングハブの違いについて書かれたサイトが見当たりませんでした。

 違いについて皆様のお知恵を拝借お願いいたします。

妙な質問ですみません。
周辺機器メーカサイトを見ると、スイッチングハブとレイヤ2スイッチと分かれたカテゴリで置かれているのを目にしますが
スイッチングハブとレイヤ2スイッチの違いとは何でしょうか?

どちらもデータリンクの2層目を対象として動き、アドレステーブルを元に対象のポートに搬送波を流すもので、ほぼ同じものと思っていたのですが、上司に質問したところ、
異なるセグメントを混在して接続でき、同一のセグメントが接続されているポートにのみ、搬送波が流れるものがレイヤ2スイッ...続きを読む

Aベストアンサー

これは言葉の言い回しだけです。
スイッチングハブとは、解釈の通りでMACアドレスを管理し、必要なポート以外にはデータを流さない装置です。
レイヤ2スイッチはMACアドレスのみ。
レイヤ3スイッチはIPアドレスまで管理しています。
世の中にはレイヤ4スイッチという装置まであります。

要はみんなスイッチングハブです。
レイヤ2スイッチは、スイッチングハブに含まれます。

Qエクセルで計算すると2.43E-19などと表示される。Eとは何ですか?

よろしくお願いします。
エクセルの回帰分析をすると有意水準で2.43E-19などと表示されますが
Eとは何でしょうか?

また、回帰分析の数字の意味が良く分からないのですが、
皆さんは独学されましたか?それとも講座などをうけたのでしょうか?

回帰分析でR2(決定係数)しかみていないのですが
どうすれば回帰分析が分かるようになるのでしょうか?
本を読んだのですがいまいち難しくて分かりません。
教えてください。
よろしくお願いします。

Aベストアンサー

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるための指数表記のことですよ。
・よって、『2.43E-19』とは?
 2.43×1/(10の19乗)で、
 2.43×1/10000000000000000000となり、
 2.43×0.0000000000000000001だから、
 0.000000000000000000243という数値を意味します。

補足:
・E+数値は 10、100、1000 という大きい数を表します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
・数学では『2.43×10』の次に、小さい数字で上に『19』と表示します。→http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98
・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?

参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む

QNTPで同期が始まらない

こんにちは。
度々すみません、NTPの設定をしましたがどうも同期が始まりません。

「ntpdate 130.69.251.23」と手動同期は成功します。
しかしntpデーモンを起動し1時間以上放置しても同期されません。
※外部タイムサーバー参照としてます

ntp.confは下記のとおりです。
---------------------------------------------------
server 133.100.9.2 # clock.nc.fukuoka-u.ac.jp
server 130.69.251.23
driftfile /var/lib/ntp/drift
---------------------------------------------------

でntpq -pの結果は下記となります。

remote refid st t when poll reach delay offset jitter
==============================================================================
133.100.9.2 .INIT. 16 u - 64 0 0.000 0.000 4000.00
130.69.251.23 .GPS. 1 u 27 64 377 8.015 -99970. 17262.6

同期ができれば「remote」列に「*」が表示されると思っています。
何か設定が足りないでしょうか?。
尚、「/vat/log/message」をtailしてますが特にエラーは無さそうです。

よろしくお願いします。

こんにちは。
度々すみません、NTPの設定をしましたがどうも同期が始まりません。

「ntpdate 130.69.251.23」と手動同期は成功します。
しかしntpデーモンを起動し1時間以上放置しても同期されません。
※外部タイムサーバー参照としてます

ntp.confは下記のとおりです。
---------------------------------------------------
server 133.100.9.2 # clock.nc.fukuoka-u.ac.jp
server 130.69.251.23
driftfile /var/lib/ntp/drift
---------------------------------------------------

でntp...続きを読む

Aベストアンサー

#4のqaaqです。

○ntp.conf 関連
server 行に "iburst" を付けておきましょう。
server ntp.nict.jp iburst <--こんな感じになります。

ntp サーバ起動時の時刻調整の収束時間が早くなります。
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=ntp.conf&dir=jpman-5.4.0%2Fman&sect=0

○ntpdate での時刻調整
ntpdate -b -u [サーバ名] を複数回実行して、"offset の値が0.1以下"になるまで、強制的に時刻調整して下さい。

○ハードウエアclockの修正
hwclock -w コマンドでハードウエアclockを合わせます。
http://www.linux.or.jp/JM/html/util-linux/man8/hwclock.8.html

○ntpdの動作
ntpによる時刻調整は、調整幅が通常128mSと小さいので、1時間は様子をましょう。
2時間程度経過しても、時刻修正の兆候が見られない場合ハードウェアの不良も考えられます。

時刻調整の兆候としては、
・logファイルに 一時間毎に調整したメッセージが書かれる。
Jan 7 21:57:40 ntpd[91145]: offset 0.000994 sec freq -190.802 ppm error 0.000076 poll 8
・ntpq -p の出力の最初の桁に"*,+"が付く。また、reach が377になる。
% ntpq -np
remote refid st t when poll reach delay offset jitter
+192.168.0.102 GPS_NMEA(0) 2 u 3 32 377 0.926 -0.330 0.023
*192.168.0.192 GPS_NMEA(1) 2 u 10 32 377 0.747 -0.336 0.023
192.168.0.9 PPS(1) 2 u 3 32 377 0.757 6.559 0.161


○その他
・PC起動時には、システムクロックを計測してその後の動作の基準にしていますが、
CMOSバッテリ不足やハードウェアに何らかの異常があるととんでもない時刻を示すことがあります。(要修理です)
・BIOSの時計も起動時の初期時刻として使われてしまうので、ある程度合わせておいた方がいいです。

#4のqaaqです。

○ntp.conf 関連
server 行に "iburst" を付けておきましょう。
server ntp.nict.jp iburst <--こんな感じになります。

ntp サーバ起動時の時刻調整の収束時間が早くなります。
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=ntp.conf&dir=jpman-5.4.0%2Fman&sect=0

○ntpdate での時刻調整
ntpdate -b -u [サーバ名] を複数回実行して、"offset の値が0.1以下"になるまで、強制的に時刻調整して下さい。

○ハードウエアclockの修正
hwclock -w コマンドでハ...続きを読む

Q問題なければ、の敬語を教えて

(1)問題ございませんでしたら、
(2)問題ありませんでしたら、
(3)問題がありませんでしたら、

等、考えてみましたが、どれもしっくりしません。

ビジネスメールとして相応しい文がありましたら教えて下さい。

よろしくお願いします。

Aベストアンサー

さしつかえなければ、・・・

もし、よろしければ、・・・・

できましたら、・・・・

Qバイナリデータとテキストデータの違いについて

宜しくお願いします。

バイナリデータを用語辞典で調べると
「テキスト形式(文字データ)以外のデータ形式全般のこと。
実行可能形式のコンピュータプログラムや、画像や音声、
動画などのデータなどがバイナリデータにあたる。」
(http://e-words.jp/w/E38390E382A4E3838AE383AA.html)
とあります。

これでは、バイナリデータとテキストデータの違いが分かりません。

テキストデータはコードの集まりで、
さらに細かくすると0と1の集まり(?)だから・・・
と考えるとバイナリデータとテキストデータの
違いが分かりません。

Q1.私は何が分かっていないのでしょうか?
Q2.バイナリデータとテキストデータの違いを教えてください。

宜しくお願い致します。

Aベストアンサー

バイナリデータは01の集まりです。
テキストデータは文字としての意味が与えられて居ます。ただテキストデータの01としての表現方法はプラットフォーム(OSやアプリケーション)によって異なります。例えば英文字コードでもメインフレームで使われるEBCDICもあり、unixやPCで使われるASCIIもあります。また日本語など英語以外の文字をあらわすのには、さらに多くの種類があります。また改行を表す文字もいろいろです。
例えば telnet で他のコンピュータにログオンして通信する時の文字コードはASCIIで、改行はCRLFと決まっているので、そうでないコンピュータはtelnetプログラムが自分のコンピュータのコード体系と相互変換します。

ftpでテキストデータを転送する時も同じくASCIIとCRLFと決まっています。ただ日本語文字の時にどのコードを使うかは規格では決まっていないので、ftpクライアントで、相手コンピュータの日本語コード種類を指定して、自分と合わなければ転送時に相互変換します。

Cプログラムでもテキストの改行は'\n'と決まっているので、そうでないWindowsの場合はCプログラムとの間でCRLFと'\n'の相互変換が、ライブラリ中で自動的に行われます。

そういった変換を全く行わないのがバイナリデータです。画像ファイルなどはjpegと形式が決まればどのコンピュータでも同じフォーマットなので変換の必要はありません。逆にテキストとみなして変換するとデータが壊れてしまいます。

バイナリデータは01の集まりです。
テキストデータは文字としての意味が与えられて居ます。ただテキストデータの01としての表現方法はプラットフォーム(OSやアプリケーション)によって異なります。例えば英文字コードでもメインフレームで使われるEBCDICもあり、unixやPCで使われるASCIIもあります。また日本語など英語以外の文字をあらわすのには、さらに多くの種類があります。また改行を表す文字もいろいろです。
例えば telnet で他のコンピュータにログオンして通信する時の文字コードはASCIIで、改行はCRL...続きを読む


人気Q&Aランキング