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?
Jawaban:
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.
sumber
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.
sumber
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?
sumber