Tại sao CPU liên quan đến tiếng vang bàn phím?


9

Tôi hiện đang học cho một kỳ thi khoa học máy tính, và tôi đã bắt gặp một khái niệm khiến tôi hơi bối rối.

Khi gõ một phím trên bàn phím, một ký tự ASCII được truyền đến CPU. Khi nhận được ký tự này, CPU sẽ xuất cùng ký tự ra màn hình. Quá trình này được gọi là tiếng vang. Thay vì có CPU tham gia, tại sao chúng ta không đơn giản thực hiện quá trình lặp lại này trong đơn vị bàn phím / màn hình để CPU có thể tự do thực hiện các công việc hữu ích khác?

Bây giờ, theo trực giác, tôi cảm thấy như vậy là do không có đơn vị bàn phím / màn hình được xác định và CPU là thiết bị chịu trách nhiệm giao tiếp giữa màn hình và bàn phím, thông qua mạng kết nối. Tuy nhiên, tôi cảm thấy như việc một đơn vị bàn phím / màn hình được đề cập có thể có nghĩa là tôi đang thiếu một khái niệm quan trọng. Đây có phải là trường hợp? Tại sao chúng ta liên quan đến CPU trong quá trình echo?


Làm thế nào để nhập liệu bàn phím và đầu ra văn bản làm việc? có thể được quan tâm. Nó cung cấp một cái nhìn tổng quan cấp cao về quá trình xử lý diễn ra trong một hệ điều hành điển hình cho các máy tính kiểu PC ngày nay.
Gilles 'SO- ngừng trở nên xấu xa'

Nếu tôi có thể bỏ phiếu để đóng tôi sẽ. Đây không phải là khoa học máy tính. Nó phù hợp hơn với StackOverflow hoặc một nơi nào khác tập trung vào phần cứng máy tính và lập trình cấp thấp.
Tuyến Miles

Câu trả lời:


6

Để máy tính nhìn thấy từng ký tự khi được gõ cho phép lập trình viên làm cho giao diện người dùng năng động hơn.

Quay lại khi một máy tính nghiêm trọng có kích thước của một số tủ lạnh thẳng đứng và máy tính hoạt động khi người dùng nhập một dòng tại một thời điểm, đầu vào đầu cuối được xử lý như bạn mô tả. Bạn đã gõ một dòng văn bản trên một thiết bị đầu cuối hiển thị cục bộ (thường trên giấy). Chỉ khi bạn nhấn phím ENTER hoặc RETURN, văn bản được gửi đến máy tính lớn hoặc máy tính mini sẽ được xử lý.

Nhưng ngay cả khi đó, lợi thế của việc cho phép máy tính nhìn thấy đầu vào của người dùng sớm đã được các kỹ sư thời đó nhận ra. Hoàn thành lệnh, trong đó bạn nhập một vài chữ cái đầu tiên của lệnh và máy tính sẽ điền vào phần còn lại, được phát minh vào giữa những năm 1960. Tính năng này đã được sao chép và cải tiến qua nhiều năm cho đến ngày nay, có sẵn trong tất cả các hệ vỏ UNIX hiện đại và trong Windows.

Cho phép CPU nhìn thấy từng ký tự khi được gõ cũng cho phép các shell cung cấp các tính năng lịch sử và chỉnh sửa dòng lệnh vượt xa những gì một thiết bị đầu cuối câm có thể cung cấp. Khóa có thể cho phép bạn quay lại danh sách các lệnh bạn đã nhập trước đó, chọn một lệnh và sau đó chỉnh sửa nó một chút trước khi nhấn RETURN để thực thi. Văn bản có thể được cắt và dán giữa các dòng lệnh, có thể vì CPU có quyền truy cập vào các lệnh trước trong khi thiết bị đầu cuối thì không. Tên tệp cũng như các lệnh có thể được hoàn thành dựa trên đầu vào một phần, một lần nữa có thể vì CPU có quyền truy cập vào tên của các tệp trong hệ thống tệp và thiết bị đầu cuối thì không.


Đây là một câu trả lời tuyệt vời, cảm ơn bạn!
MMMMMCK

4

Để máy tính nhìn thấy từng ký tự khi nó được gõ là KHÔNG CẦN THIẾT CẦN THIẾT để làm cho giao diện người dùng năng động hơn.

Các thiết bị đầu cuối ASCII cũ thường xuất hiện dưới dạng một bàn phím + gói màn hình hoặc bàn phím + đầu in (được gọi là teletype). Vì vậy, tiếng vang địa phương là có thể. Đầu vào được gửi dưới dạng toàn bộ dòng, và đó là những gì phím enter dành cho (nó còn được gọi là trả lại vận chuyển). Điều này thuận tiện khi thiết bị đầu cuối của bạn được kết nối qua đường dây điện thoại chậm đến một máy tính ở xa. Tôi vẫn còn một modem 300 bauds mà tôi đã sử dụng sau đó, ít hơn 300 bit / giây. Và đó không phải là chậm nhất tôi đã sử dụng. Bạn không muốn chờ đợi tiếng vang.

Kyles Jones đã cho bạn một vài lý do tốt để kiểm soát tiếng vang của máy tính. Chẳng hạn như lịch sử và chỉnh sửa dòng lệnh. Nhưng ngay cả những lý do này có thể được khắc phục với tiếng vang địa phương. Thiết bị đầu cuối màn hình ascii cũ của tôi (được mua vào năm 1980 và tôi không còn dám kết nối với ổ cắm nữa vì các tụ điện phải ở trạng thái xin lỗi) có (vẫn còn) khoảng 12 màn hình (một màn hình có 24 dòng 80 ký tự) và các phương tiện chỉnh sửa cục bộ: thiết bị đầu cuối có CPU cục bộ riêng của nó ... Tôi không chắc đó là những gì bạn có trong tâm trí. Đây là tất cả từ bộ nhớ, vì vậy tôi hy vọng nó gần với sự thật, nhưng việc tìm kiếm hướng dẫn sẽ khiến tôi mất một thời gian.

Vì vậy, về cơ bản, tôi đã có một máy tính giao diện người dùng kết nối với một máy tính khác. Trên thực tế, sẽ luôn có một số phần cứng để xử lý tiếng vang, vì vậy câu hỏi của bạn là liệu có phù hợp để có phần cứng tinh vi để làm điều đó với CPU hay với phần cứng đơn giản hơn (không thể thực hiện công việc phức tạp). Những người xây dựng thiết bị đầu cuối của tôi nghĩ rằng nó phù hợp và biến nó thành một thiết bị đầu cuối tinh vi, với giao thức giao tiếp câm với máy tính là tiêu chuẩn.

Trước tiên tôi nghĩ rằng một lý do chính đáng để thông qua CPU là các ứng dụng hiện sử dụng các cửa sổ với tất cả các loại tính năng và phông chữ khác nhau và điều đó đòi hỏi sức mạnh của máy tính để có được sự linh hoạt phù hợp, đó là một màn hình đơn giản - bàn phím không thể cung cấp.

Nhưng tôi nhớ lại trong thời gian (bộ nhớ rất khó để nhớ lại) rằng điều này là sai. Đầu những năm 1980, mọi người đã phát triển đồ họa bitmap (đó là tên của loại màn hình bạn hiện đang sử dụng, mặc dù nó được CRT sử dụng hơn LCD). Một số công việc tuân theo chế độ xem thiết bị đầu cuối truyền thống, tạo ra các thiết bị đầu cuối đồ họa rất tinh vi với nhiều luồng gió và phông chữ, v.v. Một trong số đó là BLIT , là chủ đề của nhiều thí nghiệm, như cua nổi tiếng của Cardelli .

Điều đó không nhất thiết có nghĩa là CPU chạy ứng dụng không nhìn thấy các ký tự. Nhưng nó không phải. Thiết bị đầu cuối đủ mạnh để tự làm những công việc rất phức tạp.

Kiến trúc máy tính đã được thử nghiệm nhiều giải pháp, đặc biệt là khi các mạng nhanh hơn có sẵn. Bạn quan tâm đến thiết bị đầu cuối, nhưng tại một số điểm, đó là đĩa là một vấn đề (chủ yếu là giá cả, tôi nghĩ, và cả quản lý). Vì vậy, chúng tôi đã có một trạm làm việc không đĩa thời gian (tức là máy tính cá nhân). Chúng sẽ bao gồm CPU, màn hình, bàn phím và RAM, nhưng không có đĩa. Dung lượng đĩa nằm trên mạng và bạn chỉ yêu cầu dung lượng tệp từ mạng. Ngay cả việc hoán đổi bộ nhớ ảo cũng được thực hiện thông qua mạng.

Vì vậy, sự kết hợp là: giao diện tinh vi (ví dụ), sử dụng các cửa sổ, phông chữ khác nhau, các phím lập trình, chỉnh sửa dòng lệnh, đồng bộ hóa giữa đầu vào và đầu ra, và những gì không, đòi hỏi một số khả năng xử lý thực sự. Ngay cả với khả năng rất yếu, một số phần cứng là cần thiết. Sau đó, sức mạnh tính toán này có thể được gắn vào máy tính và CPU của nó, hoặc có thể độc lập với nó và được kết nối ít nhiều từ xa. Điều tương tự cũng có thể đúng với các tài nguyên khác.

Nhưng mọi thứ đều rất tương đối.

Nhận xét cuối cùng. Thiết bị đầu cuối màn hình chữ và số đầu tiên tôi từng sử dụng là một chiếc Tektronix vào năm 1974, đi kèm với bàn phím của nó. Màn hình và bàn phím được kết nối rất chặt chẽ, đến nỗi chúng tôi phải trả tiền cho ai đó để sửa đổi nó bằng cách thay đổi mạch điện bằng bàn hàn để nó hoạt động khi cần thiết. Nhưng tôi nên dừng dòng câu chuyện bất tận của mình.


Những gì đã cũ là mới một lần nữa. Máy trạm không đĩa đã trở lại!
dfeuer

-1

Làm thế nào CPU có thể không được tham gia? Làm thế nào để máy tính biết có nên in bất cứ thứ gì lên màn hình mà không cần CPU tham gia không? Làm thế nào nó biết nơi để in nhân vật? Làm thế nào nó biết phông chữ để sử dụng? Làm thế nào nó biết làm thế nào để làm cho phông chữ đó?


Đây là suy nghĩ của tôi quá. Thật không may, tôi đã "có năng khiếu" với một người hâm mộ cuồng nhiệt với những câu hỏi khó hiểu, vì vậy tôi nghĩ rằng chơi nó an toàn không phải là một ý tưởng tồi.
MMMMMCK

4
Hmmpf, những đứa trẻ những ngày này. Teletypes đã từng là một điều. Họ đã có một phông chữ trong ROM (có thể trong RAM đối với một số kiểu máy cao cấp). Họ lưu trữ và in một dòng, sau đó gửi nó vào máy tính. Sau đó đến các thiết bị đầu cuối với một màn hình; những thứ này duy trì bộ nhớ của vị trí ký tự hiện tại và có thể hiểu các lệnh từ người dùng hoặc CPU để di chuyển con trỏ, đặt thuộc tính văn bản, v.v.
Gilles 'SO- ngừng trở nên xấu xa'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.