ทำไมซีพียูถึงเกี่ยวข้องระหว่าง Keyboard Echo


9

ขณะนี้ฉันกำลังเรียนเพื่อสอบวิทยาศาสตร์คอมพิวเตอร์และฉันเจอแนวคิดที่ทำให้ฉันค่อนข้างนิ่งงัน

เมื่อพิมพ์คีย์บนแป้นพิมพ์อักขระ ASCII จะถูกส่งไปยัง CPU เมื่อรับตัวอักษรนี้ CPU จะแสดงอักขระตัวเดียวกันบนหน้าจอ กระบวนการนี้เรียกว่าการสะท้อน แทนที่จะให้ซีพียูมีส่วนเกี่ยวข้องทำไมเราไม่เพียงทำกระบวนการสะท้อนนี้ภายในหน่วยแป้นพิมพ์ / หน้าจอเพื่อให้ CPU มีอิสระในการทำงานที่มีประโยชน์อื่น ๆ

ตอนนี้อย่างสังหรณ์ใจฉันรู้สึกแบบนี้เพราะไม่มีหน่วยแป้นพิมพ์ / หน้าจอที่กำหนดและ CPU เป็นอุปกรณ์ที่รับผิดชอบในการสื่อสารระหว่างหน้าจอและแป้นพิมพ์ผ่านเครือข่ายเชื่อมต่อโครงข่าย อย่างไรก็ตามฉันรู้สึกเหมือนความจริงที่ว่าหน่วยแป้นพิมพ์ / หน้าจอกล่าวถึงอาจหมายความว่าฉันขาดแนวคิดที่สำคัญ เป็นกรณีนี้หรือไม่? ทำไมเราถึงเกี่ยวข้องกับ CPU ในกระบวนการ echo


คีย์บอร์ดอินพุตและเอาต์พุตข้อความทำงานอย่างไร อาจเป็นที่สนใจ มันให้ภาพรวมระดับสูงของการประมวลผลที่เกิดขึ้นในระบบปฏิบัติการทั่วไปสำหรับคอมพิวเตอร์แบบพีซีในปัจจุบัน
Gilles 'หยุดความชั่วร้าย'

ถ้าฉันสามารถลงคะแนนเพื่อปิดฉันจะ นี่ไม่ใช่วิทยาศาสตร์คอมพิวเตอร์ เหมาะสำหรับ StackOverflow หรือที่อื่นที่เน้นฮาร์ดแวร์คอมพิวเตอร์และการเขียนโปรแกรมระดับต่ำ
Miles Rout

คำตอบ:


6

การให้คอมพิวเตอร์ดูอักขระแต่ละตัวในขณะที่พิมพ์ช่วยให้โปรแกรมเมอร์ทำให้ส่วนต่อประสานกับผู้ใช้มีชีวิตชีวา

ย้อนกลับไปเมื่อคอมพิวเตอร์ที่จริงจังขนาดตู้เย็นตั้งตรงหลายเครื่องและคอมพิวเตอร์ที่ดำเนินการกับผู้ใช้ป้อนข้อมูลครั้งละหนึ่งครั้งจะมีการจัดการอินพุตเทอร์มินัลตามที่คุณอธิบาย คุณพิมพ์บรรทัดข้อความบนเทอร์มินัลซึ่งแสดงไว้ในเครื่อง (มักเป็นกระดาษ) เฉพาะเมื่อคุณกดปุ่ม ENTER หรือ RETURN เท่านั้นข้อความที่ส่งไปยังเมนเฟรมหรือมินิคอมพิวเตอร์ที่จะประมวลผล

แต่ถึงกระนั้นก็ตามข้อดีของการให้คอมพิวเตอร์มองเห็นการป้อนข้อมูลของผู้ใช้ก่อนหน้านี้ได้รับการตระหนักโดยวิศวกรของเวลา การสร้างคำสั่งเสร็จสมบูรณ์ซึ่งคุณพิมพ์ตัวอักษรสองสามตัวแรกของคำสั่งและคอมพิวเตอร์เติมในส่วนที่เหลือถูกคิดค้นในช่วงกลางปี ​​1960 คุณสมบัตินี้ได้รับการคัดลอกและปรับปรุงตลอดหลายปีที่ผ่านมาจนถึงทุกวันนี้มีอยู่ในเชลล์ UNIX รุ่นใหม่และภายใต้ Windows เช่นกัน

การอนุญาตให้ CPU มองเห็นอักขระแต่ละตัวตามที่พิมพ์นอกจากนี้ยังอนุญาตให้เชลล์เสนอการแก้ไขบรรทัดคำสั่งและคุณลักษณะประวัติได้ดีกว่าสิ่งที่เทอร์มินัลโง่สามารถให้ได้ คีย์สามารถอนุญาตให้คุณย้อนกลับไปยังรายการคำสั่งที่คุณพิมพ์ไว้ก่อนหน้านี้เลือกหนึ่งคำสั่งจากนั้นแก้ไขเล็กน้อยก่อนกด RETURN เพื่อเรียกใช้งาน ข้อความสามารถตัดและวางระหว่างบรรทัดคำสั่งได้เนื่องจาก CPU มีการเข้าถึงคำสั่งก่อนหน้าในขณะที่เทอร์มินัลไม่ ชื่อไฟล์และคำสั่งสามารถดำเนินการให้เสร็จสมบูรณ์โดยอิงจากอินพุตบางส่วนเป็นไปได้อีกครั้งเนื่องจาก CPU มีการเข้าถึงชื่อของไฟล์ในระบบไฟล์และเทอร์มินัลไม่ได้


นี่เป็นคำตอบที่ยอดเยี่ยมขอบคุณ!
MMMMMCK

4

การปล่อยให้คอมพิวเตอร์เห็นตัวละครแต่ละตัวในขณะที่พิมพ์ไม่จำเป็นต้องใช้เพื่อให้ส่วนต่อประสานผู้ใช้มีชีวิตชีวามากขึ้น

เทอร์มินัล ASCIIเก่ามักจะมาพร้อมกับแป้นพิมพ์ + หน้าจอแพคเกจหรือแป้นพิมพ์ + หัวพิมพ์ (เรียกแล้วมักจะโทรพิมพ์) ดังนั้นเสียงสะท้อนในท้องถิ่นจึงเป็นไปได้ อินพุตถูกส่งเป็นทั้งบรรทัดและนั่นคือสิ่งที่คีย์ป้อนมีไว้สำหรับ (เรียกอีกอย่างว่า carriage-return) สิ่งนี้สะดวกเมื่อเครื่องของคุณเชื่อมต่อผ่านสายโทรศัพท์ช้ากับคอมพิวเตอร์ระยะไกล ฉันยังมีโมเด็ม 300 bauds ที่ฉันใช้อยู่ซึ่งน้อยกว่า 300 บิต / วินาที และนั่นก็ไม่ใช่สิ่งที่ช้าที่สุดที่ฉันเคยใช้ คุณไม่ต้องการรอเสียงสะท้อน

Kyles Jones ให้เหตุผลที่ดีกับคุณในการควบคุมเสียงสะท้อนจากคอมพิวเตอร์ เช่นประวัติและการแก้ไขบรรทัดคำสั่ง แต่ถึงกระนั้นด้วยเหตุผลเหล่านี้ก็สามารถเอาชนะได้ด้วยเสียงสะท้อนของท้องถิ่น หน้าจอ ASCII เก่าของฉัน (ซื้อในปี 1980 และฉันไม่กล้าเชื่อมต่อกับเต้าเสียบเนื่องจากตัวเก็บประจุต้องอยู่ในสถานะเสียใจ) มี (ยังมี) ประมาณ 12 หน้าจอ (หน้าจอมี 24 บรรทัด 80 ตัวอักษร) มูลค่าของประวัติศาสตร์ และสิ่งอำนวยความสะดวกในการแก้ไขท้องถิ่น: เทอร์มินัลมี CPU ท้องถิ่นของตัวเอง ... ฉันไม่แน่ใจว่าเป็นสิ่งที่คุณมีอยู่ในใจ ทั้งหมดนี้มาจากความทรงจำดังนั้นฉันหวังว่ามันจะใกล้เคียงกับความจริง แต่การค้นหาคู่มือจะใช้เวลาพอสมควร

ดังนั้นโดยทั่วไปฉันมีคอมพิวเตอร์ที่เชื่อมต่อกับผู้ใช้กับคอมพิวเตอร์เครื่องอื่น ที่จริงแล้วจะมีฮาร์ดแวร์บางอย่างที่จะจัดการกับเสียงสะท้อนดังนั้นคำถามของคุณจะเหมาะสมกว่าหากมีฮาร์ดแวร์ที่มีความซับซ้อนในการทำเช่นนั้นกับ CPU หรือฮาร์ดแวร์ที่ง่ายกว่า (ไม่สามารถทำงานที่ซับซ้อนได้) ผู้สร้างเทอร์มินัลของฉันคิดว่ามันเหมาะสมและทำให้มันเป็นเทอร์มินัลที่มีความซับซ้อนโดยมีโปรโตคอลการสื่อสารที่เป็นใบ้กับคอมพิวเตอร์ที่เป็นมาตรฐาน

ฉันคิดว่าการพูดครั้งแรกว่าเหตุผลที่ดีในการใช้ซีพียูก็คือตอนนี้แอปพลิเคชันใช้ windows ที่มีคุณสมบัติและฟอนต์ต่าง ๆ ทุกชนิดและต้องใช้พลังของคอมพิวเตอร์เพื่อให้ได้ความยืดหยุ่นที่เหมาะสม แป้นพิมพ์ไม่สามารถให้ได้

แต่ฉันจำได้ในเวลา (หน่วยความจำยากที่จะจำ) ว่านี่เป็นเท็จ ในช่วงต้นปี 1980 ผู้คนกำลังพัฒนากราฟิกบิตแมป (นั่นคือชื่อสำหรับประเภทของหน้าจอที่คุณใช้อยู่ในขณะนี้แม้ว่ามันจะ CRT rathed กว่า LCD) บางส่วนของงานที่ใช้มุมมองขั้วแบบดั้งเดิมทำให้ขั้วกราฟิกที่มีความซับซ้อนมากกับหลาย windoes และแบบอักษร ฯลฯ หนึ่งในจำนวนนี้คือBLITว่าเป็นเรื่องของการทดลองหลาย ๆ เช่นปูที่น่าอับอายของ Cardelli

ไม่ได้แปลว่าซีพียูที่รันแอพพลิเคชั่นไม่เห็นตัวอักษร แต่มันไม่จำเป็นต้อง เทอร์มินัลมีพลังมากพอที่จะทำงานที่ซับซ้อนมากด้วยตนเอง

สถาปัตยกรรมคอมพิวเตอร์ได้ทดสอบวิธีแก้ปัญหามากมายโดยเฉพาะอย่างยิ่งเมื่อมีเครือข่ายที่เร็วขึ้น คุณมีความกังวลกับเครื่องเทอร์มินัล แต่ในบางจุดมันเป็นดิสก์ที่เป็นปัญหา (ส่วนใหญ่ราคาฉันคิดและการจัดการด้วย) ดังนั้นเราจึงมีเวิร์คสเตชั่นที่ไม่มี diskless (เช่นคอมพิวเตอร์ส่วนบุคคล) พวกเขาจะรวมถึง CPU หน้าจอแป้นพิมพ์และ RAM แต่ไม่มีดิสก์ พื้นที่ดิสก์อยู่บนเครือข่ายและคุณเพิ่งขอพื้นที่ไฟล์จากเครือข่าย แม้แต่การสลับหน่วยความจำเสมือนก็ทำผ่านเครือข่าย

ดังนั้นข้อ จำกัด คืออินเทอร์เฟซที่ซับซ้อน (ตัวอย่าง) การใช้ windows แบบอักษรต่าง ๆ คีย์โปรแกรมการแก้ไขบรรทัดคำสั่งการซิงโครไนซ์ระหว่างอินพุตและเอาต์พุตและสิ่งที่ไม่ต้องการพลังงานการประมวลผลจริง แม้จะมีขีดความสามารถที่ต่ำมากฮาร์ดแวร์บางอย่างก็จำเป็น จากนั้นกำลังประมวลผลนี้อาจต่อกับคอมพิวเตอร์และ CPU หรืออาจเป็นอิสระจากมันและเชื่อมต่อมากหรือน้อยจากระยะไกล เช่นเดียวกันอาจเป็นจริงของทรัพยากรอื่น ๆ

แต่ทุกอย่างนั้นสัมพันธ์กันมาก

คำพูดสุดท้าย หน้าจอตัวอักษรและตัวเลขตัวแรกที่ฉันเคยใช้คือ Tektronix ในปี 1974 ที่มาพร้อมกับแป้นพิมพ์ หน้าจอและคีย์บอร์ดเชื่อมต่ออย่างแน่นหนาเราต้องจ่ายเงินให้ใครบางคนแก้ไขโดยการเปลี่ยนวงจรด้วยหัวแร้งเพื่อที่มันจะทำงานได้ตามต้องการ แต่ฉันควรหยุดกระแสเรื่องราวที่ไม่รู้จบ


สิ่งเก่าคืออะไรใหม่อีกครั้ง เวิร์คสเตชั่ diskless กลับมาแล้ว!
dfeuer

-1

CPU จะไม่เกี่ยวข้องได้อย่างไร คอมพิวเตอร์จะรู้ได้อย่างไรว่าจะพิมพ์สิ่งใด ๆ ลงบนหน้าจอโดยไม่ต้องใช้ CPU หรือไม่ มันจะรู้ได้อย่างไรว่าจะพิมพ์ตัวละครได้ที่ไหน? จะรู้ได้อย่างไรว่าจะใช้แบบอักษรใด มันจะรู้วิธีการแสดงตัวอักษรนั้นได้อย่างไร?


นี่คือความคิดของฉันด้วย น่าเสียดายที่ฉันได้รับ "พรสวรรค์" กับศาสตราจารย์ที่เป็นแฟนตัวยงของคำถาม gotcha ที่คลุมเครือดังนั้นฉันจึงคิดว่าการเล่นนั้นปลอดภัยไม่ใช่ความคิดที่เลว
MMMMMCK

4
Hmmpf เด็ก ๆ วันนี้ โทรพิมพ์ครั้งหนึ่งเคยเป็นอะไร พวกเขามีแบบอักษรใน ROM (ใน RAM อาจเป็นแบบจำลองขั้นสูงบางอย่าง) พวกเขาจัดเก็บและพิมพ์บรรทัดจากนั้นส่งไปยังคอมพิวเตอร์ จากนั้นเทอร์มินัลก็มาพร้อมหน้าจอ สิ่งเหล่านี้เก็บรักษาหน่วยความจำของตำแหน่งอักขระปัจจุบันและสามารถเข้าใจคำสั่งจากผู้ใช้หรือ CPU เพื่อย้ายเคอร์เซอร์ตั้งค่าคุณสมบัติข้อความ ฯลฯ
Gilles 'ดังนั้น - หยุดความชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.