- ベストアンサー
簡単なパソコンの文字入力→文字表示の流れ
電気の学部レベルの知識を持つものです。 簡単なパソコンでアルファベットの「a」を入力して表示されるまでの過程を考えてみたのですが、正しいかどうか教えてください。間違っていたら正しい流れを教えてください。 (流れ) キーボードのaをおすと、aに対応するアスキーコードがメインメモリの適切な場所に格納される ↓ メインメモリのROM領域からaのアスキーコードに対応する「a」の形をした画像のデータがビデオメモリの適切な場所に格納される ↓ ビデオメモリは1秒に千回以上読まれているので人間にはaという文字がずっと画面に映っているように見える
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どの程度簡単な構造のコンピュータを想定しているかによりますが、複雑に過程を分ければいくらでも分けられるので、質問者殿の書いた流れのままでも良いと思います。 なので、以下はアドバイスとして参考程度にしていただければと思います。 キーボードは、実際にはマトリクス状に組まれた回路の接点情報を伝えるだけの機能が一般的なので、キーボードのキーから文字コードに行く前にもうワンクッション置いた方がいいかも知れません。 一例: キーボードのaを押すと、aの位置の対応した接点情報が伝達される。(キーコードなどと呼ぶこともあります) キーコードに対応したキャラクターコード(アスキーでも良いでしょう)に変換される。 ※蛇足ですが、例えばシフトキーなどの情報も実際は、シフトキーが押された、離されたのキーコードが送られて、コンピュータ内で、その情報を元に大文字、小文字のキャラクターコードに変換しています。また、キーボードの言語、表示言語などは、同じキーコードでも言語によってになんの文字を当てはめるかなど、判断されてからキャラクターコード変換を決めています。この辺りは今回は割愛しても良いと思いますが、いずれにしてもキーコードからキャラクターコードの間にワンクッション入れておいた方が良いでしょう。 aの形をした画像 ⇒ 画像というとちょっと大仰な感じがしますね。aのフォントに対応するビット情報で良いかも知れません。 1秒に千回以上 ⇒ フレームレートを表すのだと思いますが、昔のコンピュータだと16フレーム/秒程度ですので、十数回~数十回程度で良いと思います。 あと、ビデオメモリ以降は端折っていますが、最後の一個前に、 ビデオメモリに格納された情報を映像信号に変換し、出力装置(ディスプレイでも良いでしょう)に表示する、 などを追加するのも良いかも知れません。 これが正解というのはないので、あくまでもご参考まで。
その他の回答 (1)
概ね合っていると思いますが、一括りにまとめにくくなっているのが現状だと思います。 現在の一般的なパソコンだと、RAM上のフォントデータがビデオカードのメモリへ転送されて、ビデオカードがメモリを読み出して、ビデオ信号もしくはディスプレイ用のデジタルデータを送信します。ただし、オンボードチップの場合はメインメモリを間借りします。このへんはかなり複雑だと思いますので私にはついていけない世界です。 1980年代の初期のパソコンだと、頑張れば自作が可能でした。(今で言う自作PCではなく、本当の自作) メモリマップ上にビデオRAMがあり、Aのアスキーコード0x41をそのまま書きこんでおくと、キャラクタジェネレータROMから0x41に対応するフォントデータを参照して、RGB信号として出力していました。読みだしはディスプレイの描画間隔の頻度で行われます。
お礼
ありがとうございます。
お礼
ありがとうございます。参考になりました。