Mengapa CPU Terlibat Selama Keyboard Echo?

9

Saat ini saya sedang belajar untuk ujian ilmu komputer, dan saya telah menemukan sebuah konsep yang membuat saya agak bingung.

Ketika seseorang mengetik tombol pada keyboard, karakter ASCII ditransmisikan ke CPU. Setelah penerimaan karakter ini, CPU menampilkan karakter yang sama ke layar. Proses ini disebut echoing. Alih-alih melibatkan CPU, mengapa kita tidak hanya melakukan proses gema ini dilakukan di dalam unit keyboard / layar sehingga CPU bebas untuk melakukan pekerjaan bermanfaat lainnya?

Sekarang, secara intuitif, saya merasa seperti ini karena tidak ada unit keyboard / layar yang ditentukan, dan CPU adalah perangkat yang bertanggung jawab untuk berkomunikasi antara layar dan keyboard, melalui jaringan interkoneksi. Namun, saya merasa seperti fakta bahwa unit keyboard / layar disebutkan mungkin berarti saya kehilangan konsep penting. Apakah ini masalahnya? Mengapa kita melibatkan CPU dalam proses gema?

MMMMMCK
sumber
Bagaimana cara kerja input keyboard dan output teks? mungkin menarik. Ini memberikan gambaran tingkat tinggi dari pemrosesan yang berlangsung di sistem operasi khas untuk komputer bergaya PC saat ini.
Gilles 'SO- stop being evil'
Jika saya bisa memilih untuk menutup saya akan. Ini bukan ilmu komputer. Ini lebih cocok untuk StackOverflow atau di tempat lain yang berfokus pada perangkat keras komputer dan pemrograman tingkat rendah.
Miles Rout

Jawaban:

6

Membiarkan komputer melihat setiap karakter saat diketik memungkinkan programmer untuk membuat antarmuka pengguna lebih dinamis.

Kembali ketika komputer serius seukuran beberapa kulkas tegak dan komputer dioperasikan pada input pengguna satu baris pada satu waktu, input terminal ditangani seperti yang Anda jelaskan. Anda mengetikkan baris teks pada terminal yang menampilkannya secara lokal (seringkali di atas kertas). Hanya ketika Anda menekan tombol ENTER atau RETURN teks yang dikirim ke mainframe atau komputer mini untuk diproses.

Tetapi bahkan saat itu, keuntungan membiarkan komputer melihat input pengguna awal disadari oleh para insinyur saat itu. Perintah selesai, di mana Anda mengetikkan beberapa huruf pertama dari sebuah perintah dan komputer mengisi sisanya, ditemukan pada pertengahan 1960-an. Fitur ini disalin dan ditingkatkan selama bertahun-tahun ke tempatnya sekarang, tersedia di semua shell UNIX modern dan di bawah Windows juga.

Mengizinkan CPU untuk melihat setiap karakter saat diketik juga memungkinkan shell untuk menawarkan pengeditan baris perintah dan fitur histori jauh melampaui apa yang bisa disediakan terminal bodoh. Kunci dapat memungkinkan Anda untuk menelusuri daftar perintah yang sebelumnya Anda ketikkan, pilih satu, lalu edit sedikit sebelum menekan RETURN untuk menjalankannya. Teks dapat dipotong dan disisipkan di antara baris perintah, mungkin karena CPU memiliki akses ke perintah sebelumnya sementara terminal tidak. Nama file dan perintah dapat diselesaikan berdasarkan input parsial, sekali lagi mungkin karena CPU memiliki akses ke nama file dalam sistem file dan terminal tidak.

Kyle Jones
sumber
Ini jawaban yang sangat bagus, terima kasih!
MMMMMCK
4

Membiarkan komputer melihat setiap karakter saat diketik TIDAK PERLU DIPERLUKAN untuk membuat antarmuka pengguna lebih dinamis.

Terminal ASCII lama biasanya datang sebagai satu paket keyboard + layar, atau keyboard + kepala cetak (sering disebut teletype). Jadi gema lokal dimungkinkan. Input dikirim sebagai seluruh baris, dan untuk itulah kunci enter (itu juga disebut carriage-return). Ini nyaman ketika terminal Anda terhubung melalui saluran telepon lambat ke komputer yang jauh. Saya masih memiliki modem 300 baud yang saya gunakan saat itu, yang sedikit kurang dari 300 bit / detik. Dan itu bukan yang paling lambat saya gunakan. Anda tidak ingin menunggu gema.

Kyles Jones memberi Anda beberapa alasan bagus untuk membuat gema dikontrol oleh komputer. Seperti pengeditan histori dan baris perintah. Tetapi bahkan alasan-alasan ini dapat diatasi dengan gema lokal. Terminal layar ascii lama saya (dibeli pada tahun 1980 dan saya tidak lagi berani terhubung ke outlet karena kapasitor harus dalam keadaan menyesal) memiliki (masih memiliki) sekitar 12 layar (layar adalah 24 baris 80 karakter) senilai sejarah , dan fasilitas pengeditan lokal: terminal memiliki CPU lokal sendiri ... Saya tidak yakin itu yang ada dalam pikiran Anda. Ini semua dari ingatan, jadi saya harap ini dekat dengan kebenaran, tetapi mencari manual akan membutuhkan waktu.

Jadi, pada dasarnya saya memiliki komputer antarmuka pengguna yang terhubung ke komputer lain. Sebenarnya, akan selalu ada beberapa perangkat keras untuk menangani gema, jadi pertanyaan Anda lebih pada apakah pantas untuk memiliki perangkat keras canggih untuk melakukannya dengan CPU atau dengan perangkat keras yang lebih sederhana (tidak dapat melakukan pekerjaan canggih). Para pembangun terminal saya menganggapnya pantas, dan menjadikannya terminal yang canggih, dengan protokol komunikasi bodoh dengan komputer yang kemudian menjadi standar.

Saya pertama kali berpikir untuk mengatakan bahwa alasan yang baik untuk melalui CPU adalah bahwa aplikasi sekarang menggunakan windows dengan semua jenis fitur dan font yang berbeda, dan yang membutuhkan kekuatan komputer untuk mendapatkan fleksibilitas yang sesuai, bahwa layar sederhana- keyboard tidak dapat menawarkan.

Tetapi saya ingat pada waktunya (ingatan sulit untuk diingat kembali) bahwa ini salah. Pada awal 1980, orang-orang mengembangkan grafik bitmap (itu adalah nama untuk jenis layar yang sekarang Anda gunakan, meskipun CRT lebih disukai daripada LCD). Beberapa karya mengikuti tampilan terminal tradisional, membuat terminal grafis yang sangat canggih dengan banyak windoes dan font, dll. Salah satunya adalah BLIT , yang menjadi subjek dari banyak eksperimen, seperti kepiting terkenal Cardelli .

Itu tidak berarti bahwa CPU yang menjalankan aplikasi tidak melihat karakter. Tapi itu tidak harus. Terminal cukup kuat untuk melakukan pekerjaan yang sangat kompleks sendiri.

Arsitektur komputer telah menguji banyak solusi, terutama ketika jaringan lebih cepat tersedia. Anda prihatin dengan terminal, tetapi pada beberapa titik, itu adalah disk yang menjadi masalah (sebagian besar harga, saya pikir, dan juga manajemen). Jadi kami punya waktu -stasiun kerja diskless (yaitu komputer pribadi). Mereka akan menyertakan CPU, layar, keyboard dan RAM, tetapi tidak ada disk. Ruang disk ada di jaringan, dan Anda hanya meminta ruang file dari jaringan. Bahkan pertukaran memori virtual dilakukan melalui jaringan.

Jadi kesimpulannya adalah: antarmuka yang canggih (misalnya), menggunakan windows, berbagai font, tombol yang dapat diprogram, pengeditan baris perintah, sinkronisasi antara input dan output, dan yang tidak, memang membutuhkan kekuatan pemrosesan nyata. Bahkan dengan kemampuan yang sangat lemah, beberapa perangkat keras dibutuhkan. Kemudian daya komputasi ini dapat dipasangkan ke komputer dan CPU-nya, atau mungkin independen dari itu dan terhubung sedikit banyak. Hal yang sama mungkin berlaku untuk sumber daya lainnya.

Tapi semuanya sangat relatif.

Komentar terakhir. Terminal layar alfanumerik pertama yang pernah saya gunakan adalah Tektronix pada tahun 1974, yang datang dengan keyboard-nya. Layar dan keyboard terhubung sangat erat, sehingga kami harus membayar seseorang untuk memodifikasinya dengan mengubah sirkuit dengan besi solder sehingga akan berperilaku sesuai kebutuhan. Tetapi saya harus menghentikan aliran cerita saya yang tak ada habisnya.

babou
sumber
Apa yang lama itu baru lagi. Stasiun kerja tanpa disk kembali!
dfeuer
-1

Bagaimana mungkin CPU tidak terlibat? Bagaimana komputer tahu apakah akan mencetak apa saja ke layar tanpa melibatkan CPU? Bagaimana ia tahu di mana harus mencetak karakter? Bagaimana ia tahu font apa yang digunakan? Bagaimana cara mengetahui cara merender font itu?

David Richerby
sumber
Ini juga pemikiran saya. Sayangnya, saya telah "berbakat" dengan seorang prof yang penggemar berat pertanyaan gotcha yang tidak jelas, jadi saya pikir bermain dengan aman bukanlah ide yang buruk.
MMMMMCK
4
Hmmpf, anak-anak hari ini. Teletype dulunya adalah suatu hal. Mereka memiliki font dalam ROM (dalam RAM mungkin untuk beberapa model canggih). Mereka menyimpan dan mencetak garis, kemudian mengirimkannya ke komputer. Kemudian datang terminal dengan layar; ini mempertahankan memori dari posisi karakter saat ini dan dapat memahami perintah dari pengguna atau CPU untuk memindahkan kursor, mengatur atribut teks, dll.
Gilles 'SO-stop being evil'