キーボードエコー中にCPUが関与するのはなぜですか?


9

現在、コンピューターサイエンスの試験に向けて勉強していて、やや困惑している概念に出くわしました。

キーボードでキーを入力すると、ASCII文字がCPUに送信されます。この文字を受け取ると、CPUは同じ文字を画面に出力します。このプロセスはエコーと呼ばれます。CPUを使用する代わりに、このエコープロセスをキーボード/スクリーンユニット内で実行して、CPUが他の有用な作業を自由に行えるようにしないのはなぜですか。

今、直感的には、キーボード/画面ユニットが定義されておらず、CPUが相互接続ネットワークを介して画面とキーボードの間の通信を担当するデバイスであるためです。しかし、キーボード/スクリーンユニットが言及されているという事実は、重要な概念が欠けていることを意味しているように感じるかもしれません。これは事実ですか?なぜエコープロセスにCPUを使用するのですか?


キーボード入力とテキスト出力はどのように機能しますか?興味があるかもしれません。今日のPCスタイルのコンピューターの一般的なオペレーティングシステムで行われている処理の概要を説明します。
Gilles「SO-邪悪なことをやめなさい」14

決議に投票できるとしたら、私はそうします。これはコンピュータサイエンスではありません。StackOverflow、またはコンピューターハードウェアと低レベルのプログラミングに焦点を当てた他の場所に適しています。
Miles Rout 2015

回答:


6

入力した文字をコンピューターに表示させることで、プログラマーはユーザーインターフェイスをより動的にすることができます。

真面目なコンピューターが数台の直立した冷蔵庫の大きさで、ユーザーが操作するコンピューターが一度に1行ずつ入力されたとき、ターミナル入力はあなたが説明したように処理されました。ローカルに(多くの場合紙に)表示する端末にテキスト行を入力しました。EnterキーまたはRETURNキーを押したときのみ、テキストがメインフレームまたはミニコンピューターに送信されて処理されます。

しかし、その当時でさえ、コンピュータにユーザー入力を早く見せるという利点は当時のエンジニアによって実現されていました。コマンドの最初の数文字を入力し、残りをコンピューターが埋めるコマンド補完は、1960年代半ばに発明されました。この機能は何年にもわたってコピーされ、現在の状態にまで改善されており、すべての最新のUNIXシェルおよびWindowsでも使用できます。

CPUが入力された各文字を表示できるようにすると、シェルは、ダム端末が提供できるものをはるかに超えるコマンドライン編集と履歴機能を提供できるようになります。キーを使用すると、以前に入力したコマンドのリストをさかのぼって1つ選択し、RETURNキーを押して実行する前に少し編集できます。コマンドライン間でテキストを切り取って貼り付けることができます。これは、CPUは前のコマンドにアクセスできるが、端末はアクセスできないためです。ファイル名とコマンドは、部分的な入力に基づいて完了することができます。これは、CPUがファイルシステム内のファイルの名前にアクセスでき、端末はアクセスできないためです。


これは素晴らしい答えでした、ありがとう!
MMMMMCK 2014

4

入力した文字をコンピューターに表示させることは、ユーザーインターフェイスをより動的にするために必ずしも必要ではありません。

古いASCII端末は、通常、1つのキーボード+画面パッケージ、またはキーボード+印刷ヘッド(その後、テレタイプと呼ばれる)として提供されていました。したがって、ローカルエコーが可能でした。入力は行全体として送信され、それがEnterキーの目的でした(キャリッジリターンとも呼ばれていました)。これは、端末が低速の電話回線を介して離れたコンピュータに接続されている場合に便利でした。私が使用した300ボーモデムはまだ300ビット/秒未満です。そして、それは私が使用した最も遅いものではありませんでした。あなたはエコーを待ちたくなかった。

カイルズジョーンズは、コンピューターでエコーを制御するいくつかの理由を説明しました。履歴やコマンドライン編集など。しかし、これらの理由でさえ、ローカルエコーで克服できます。私の古いアスキースクリーンターミナル(1980年に購入し、コンデンサーは申し訳ありませんが、コンセントに接続する必要はなくなりました)には、約12のスクリーン(スクリーンは80文字の24行)の価値があります。 、およびローカル編集機能:端末には独自のローカルCPUが搭載されていました... これはすべて記憶からのものなので、私はそれが真実に近いことを願っていますが、マニュアルを探すのには時間がかかります。

それで、基本的に私はユーザーインターフェースのコンピューターを別のコンピューターに接続しました。実際には、エコーを処理するためのハードウェアが常に存在するため、CPUを使用して高度なハードウェアを実行するのが適切か、それとも単純なハードウェア(高度な作業を行うことができない)を使用するのが適切かという質問が多くなります。私の端末のビルダーはそれを適切だと考え、洗練された端末にしました。当時のコンピュータとの通信プロトコルはダムでした。

私は最初に、CPUを通過する十分な理由は、アプリケーションがすべての種類の機能とフォントの異なるウィンドウを使用することであり、適切な柔軟性を得るためにコンピューターの能力が必要であること、つまり単純な画面であることを最初に思いましたキーボードは提供できません。

しかし、私は時間の経過とともに思い出しました(記憶は思い出せない)が、これは誤りでした。1980年の初めに、人々はビットマップグラフィックスを開発していました(これは現在使用している種類の画面の名前でしたが、LCDよりもCRTが高く評価されていました)。一部の作業は従来の端末ビューに従い、複数のウィンドウやフォントなどを備えた非常に洗練されたグラフィック端末を作成しました。その1つは、Cardelliの悪名高いカニなどの多くの実験の対象となったBLITでした。

これは、アプリケーションを実行しているCPUが文字を認識しなかったことを必ずしも意味しません。しかし、そうする必要はありませんでした。端末はそれ自体で非常に複雑な作業を行うのに十分強力でした。

特により高速なネットワークが利用可能になったため、コンピュータアーキテクチャは多くのソリューションをテストしています。あなたは端末に関心がありますが、問題があったのはディスクでした(ほとんどの場合、価格、そして管理)。したがって、私たちはしばらくの間ディスクレスワークステーション(つまり、パーソナルコンピュータ)を持っていました。CPU、画面、キーボード、RAMは含まれますが、ディスクは含まれません。ディスクスペースがネットワーク上にあり、ネットワークからファイルスペースを要求しただけです。仮想メモリの交換でさえ、ネットワークを介して行われました。

したがって、結論は次のとおりです。たとえば、ウィンドウ、さまざまなフォント、プログラム可能なキー、コマンドライン編集、入力と出力の同期などを使用する高度なインターフェイスには、実際の処理能力が必要です。機能が非常に弱い場合でも、いくつかのハードウェアが必要です。次に、この計算能力をコンピューターとそのCPUに接続するか、コンピューターから独立して多かれ少なかれリモートに接続します。他のリソースについても同様です。

しかし、すべてが非常に相対的です。

最後の発言。私が使用した最初の英数字スクリーン端末は、1974年にTektronixで、そのキーボードに付属していました。画面とキーボードは非常にしっかりと接続されていたため、はんだごてで回路を変更して修正するように誰かに支払う必要があり、必要に応じて動作しました。しかし、私は無限の物語の流れを止めるべきです。


古いものがまた新しい。ディスクレスワークステーションが復活しました!
dfeuer 14

-1

どのようにCPU が関与しないのでしょうか?コンピュータは、CPUが関与せずに画面に何かを印刷するかどうかをどのようにして知るのでしょうか。キャラクターをどこに印刷するかをどのように知るのでしょうか?使用するフォントをどのようにして知るのでしょうか?そのフォントをレンダリングする方法をどのように知るのでしょうか?


これも私の考えです。あいにく、あいまいな質問の大ファンである教授から「才能がある」ので、私はそれを安全にプレイすることは悪い考えではないと考えました。
MMMMMCK 2014

4
Hmmpf、最近の子供たち。テレタイプはかつては物事でした。彼らはROMにフォントを持っていました(RAMの中にはおそらくいくつかの高度なモデルのために)。彼らは行を保存して印刷し、それをコンピューターに送りました。次に、画面付きの端末が登場しました。これらは、など、現在の文字位置の記憶を維持してカーソルを移動するために、ユーザーまたはCPUからのコマンドを理解することができ、設定されたテキスト属性
ジル「SO-停止されて悪」
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.