เกี่ยวกับฉัน

รูปภาพของฉัน
สกลนคร, สกลนคร, Thailand
https://www.facebook.com/k151039

คลังบทความของบล็อก

ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์


ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์

  ความหมายของเทคโนโลยีสารสนเทศ

            คอมพิวเตอร์ (Computer) หมายถึง อุปกรณ์อิเล็กทรอนิกส์อย่างหนึ่งที่สามารถรับโปรแกรมและข้อมูล ประมวลผล สื่อสารเคลื่อนย้ายข้อมูลและแสดงผลลัพธ์ได้
เทคโนโลยี (technology) หมายถึง การนำความรู้ทางด้านวิทยาศาสตร์หรือความรู้ด้านอื่น ๆ มาประยุกต์ใช้งานด้านใดด้านหนึ่งเพื่อใหงานนั้นมีความสามารถและมีประสิทธิภาพเพิ่มขึ้น
สารสนเทศ (Information) หมายถึง ข้อมูลที่ผ่านกระบวนการเก็บรวบรวม และเรียบเรียง ที่เป็นประโยชน์ต่อผู้ใช้
            เทคโนโลยีสารสนเทศ (Information technology : IT )  หมายถึง การนำเทคโนโลยีมาใช้งานที่เกี่ยวกับการประมวลผลข้อมูลเพื่อให้ได้เป็นสารสนเทศ  เป็นเทคโนโลยีที่ใช้เป็นการผสมผสานระหว่างเทคโนโลยีทางคอมพิวเตอร์ กับเทคโนโลยีการสื่อสารเพื่อช่วยในการติดต่อสื่อสารและการส่งผ่านข้อมูลและ สารสนเทศ ให้สะดวกรวดเร็วมากขึ้น

องค์ประกอบของเทคโนโลยีสารสนเทศ  มีส่วนประกอบดังนี้

            1.  ฮาร์ดแวร์ (Hardware)  หมายถึง เครื่องคอมพิวเตอร์และอุปกรณ์ต่อพ่วง เช่น แป้นพิมพ์ เมาส์ หน่วยประมวลผลกลาง จอภาพ เครื่องพิมพ์ และอุปกรณ์อื่น ๆ ฮาร์ดแวร์จะทำงานตามโปรแกรมหรือซอฟต์แวร์ที่เขียนขึ้น
            2.   ซอฟต์แวร์ (Software) บางครั้งเรียกว่าโปรแกรม หรือชุดคำสั่งวัตถุประสงค์หลักของซอฟต์แวร์ที่สั่งให้ฮาร์ดแวร์ทำงาน คือการประมวลผลข้อมูล (Data) ให้เป็นสารสนเทศ (Information)
3.       เครือข่ายคอมพิวเตอร์และการติดต่อสื่อสาร (Computer network and communication)
4.  ข้อมูลและฐานข้อมูล (Data and database) ในการประมวลผลข้อมูล คอมพิวเตอร์จะประมวลผลตามข้อมูลที่ป้อนเข้าสู่หน่วยรับข้อมูล ดังนั้นข้อมูลจึงเป็นส่วนสำคัญอย่างหนึ่งในการประมวลผลเพื่อให้ได้สารสนเทศเพื่อการตัดสินใจ

วงจรการทำงานของคอมพิวเตอร์

            ในการทำงานของคอมพิวเตอร์ จะมีขั้นตอนการทำงานพื้นฐาน 4 ขั้นตอน

                        1. รับข้อมูล (Input) คอมพิวเตอร์จะทำหน้าที่รับข้อมูลเพื่อนำไปประมวล อุปกรณ์ที่ทำหน้าที่รับข้อมูลที่นิยมใช้ในปัจจุบัน ได้แก่ แป้นพิมพ์ (Keyboard) และเมาส์ (Mouse) เป็นต้น
                        2. ประมวลผล (Process) เมื่อคอมพิวเตอร์รับข้อมูลเข้าสู่ระบบแล้ว จะทำการประมวลผลตามโปรแกรมหรือคำสั่งที่กำหนด เช่น การคำนวณภาษี การคำนวณเกรดเฉลี่ย เป็นต้น
                        3. แสดงผล (Output) คอมพิวเตอร์จะแสดงผลลัพธ์ที่ได้จากดการประมวลผลไปยังหน่วยแสดงผล อุปกรณ์ทำหน้าที่แสดงที่ใช้แพร่หลายในปัจจุบัน ได้แก่ จอภาพ (Monitor)และเครื่องพิมพ์ (Printer) เป็นต้น
                        4. จัดเก็บข้อมูล (Storage) คอมพิวเตอร์จะทำการจัดเก็บข้อมูลลงในอุปกรณ์เก็บข้อมูล เช่น ฮาร์ดดิสก์ (Hard Disk)แผ่นฟลอบปีดิสก์ (Floppy Disk)เป็นต้น

คุณสมบัติของคอมพิวเตอร์

เครื่องคอมพิวเตอร์ถูกสร้างขึ้นมาเพื่อให้มีจุดเด่น 4 ประการ เพื่อทดแทนข้อจำกัดของมนุษย์ เรียกว่า 4 S special ดังนี้
1. หน่วยเก็บ (Storage)
หมายถึง ความสามารถในการเก็บข้อมูลจำนวนมากและเป็นเวลานาน นับเป็นจุดเด่นทางโครงสร้างและเป็นหัวใจของการทำงานแบบอัตโนมัติของเครื่องคอมพิวเตอร์ ทั้งเป็นตัวบ่งชี้ประสิทธิภาพของคอมพิวเตอร์แต่ละเครื่องด้วย
2. ความเร็ว (Speed)
หมายถึง ความสามารถในการประมวลผลข้อมูล (Processing Speed) โดยใช้เวลาน้อย เป็นจุดเด่นทางโครงสร้างที่ผู้ใช้ทั่วไปมีส่วนเกี่ยวข้องน้อยที่สุด เป็นตัวบ่งชี้ประสิทธิภาพของเครื่องคอมพิวเตอร์ที่สำคัญส่วนหนึ่งเช่นกัน
3. ความเป็นอัตโนมัติ (Self Acting)
หมายถึง ความสามารถในการประมวลผลข้อมูลตามลำดับขั้นตอนได้อย่างถูกต้องและต่อเนื่องอย่างอัตโนมัติ โดยมนุษย์มีส่วนเกี่ยวข้องเฉพาะในขั้นตอนการกำหนดโปรแกรมคำสั่งและข้อมูลก่อนการประมวลผลเท่านั้น
4. ความน่าเชื่อถือ (Sure)
หมายถึง ความสามารถในการประมวลผลให้เกิดผลลัพธ์ที่ถูกต้อง ความน่าเชื่อถือนับเป็นสิ่งสำคัญที่สุดในการทำงานของเครื่องคอมพิวเตอร์ ความสามารถนี้เกี่ยวข้องกับโปรแกรมคำสั่งและข้อมูลที่มนุษย์กำหนดให้กับเครื่องคอมพิวเตอร์โดยตรง กล่าวคือ หากมนุษย์ป้อนข้อมูลที่ไม่ถูกต้องให้กับเครื่องคอมพิวเตอร์ก็ย่อมได้ผลลัพธ์ที่ไม่ถูกต้องด้วยเช่นกัน
จากการที่คอมพิวเตอร์มีลักษณะเด่นหลายประการ ทำให้ถูกนำมาใช้ประโยชน์ต่อการดำเนินชีวิตประจำวันในสังคมเป็นอย่างมาก ที่พบเห็นได้บ่อยที่สุดก็คือ การใช้ในการพิมพ์เอกสารต่าง ๆ เช่น พิมพ์จดหมาย รายงาน เอกสารต่าง ๆ ซึ่งเรียกว่างานประมวลผล ( word processing ) นอกจากนี้ยังมีการประยุกต์ใช้คอมพิวเตอร์ในด้านต่างๆ อีกหลายด้าน ดังต่อไปนี้

1.       งานธุรกิจ เช่น บริษัท ร้านค้า ห้างสรรพสินค้า ตลอดจนโรงงานต่างๆ ใช้คอมพิวเตอร์ในการทำบัญชี งานประมวลคำ และติดต่อกับหน่วยงานภายนอกผ่านระบบโทรคมนาคม นอกจากนี้งาน   อุตสาหกรรม ส่วนใหญ่ก็ใช้คอมพิวเตอร์มาช่วยในการควบคุมการผลิต และการประกอบชิ้นส่วนของอุปกรณ์ต่างๆ เช่น โรงงานประกอบรถยนต์ ซึ่งทำให้การผลิตมีคุณภาพดีขึ้นบริษัทยังสามารถ
รับ หรืองานธนาคาร ที่ให้บริการถอนเงินผ่านตู้ฝากถอนเงินอัตโนมัติ ( ATM ) และใช้คอมพิวเตอร์คิดดอกเบี้ยให้กับผู้ฝากเงิน และการโอนเงินระหว่างบัญชี เชื่อมโยงกันเป็นระบบเครือข่าย
2.       งานวิทยาศาสตร์ การแพทย์ และงานสาธารณสุข สามารถนำคอมพิวเตอร์มาใช้ในนำมาใช้ในส่วนของการคำนวณที่ค่อนข้างซับซ้อน เช่น งานศึกษาโมเลกุลสารเคมี วิถีการโคจรของการส่งจรวดไปสู่อวกาศ หรืองานทะเบียน การเงิน สถิติ และเป็นอุปกรณ์สำหรับการตรวจรักษาโรคได้ ซึ่งจะให้ผลที่แม่นยำกว่าการตรวจด้วยวิธีเคมีแบบเดิม และให้การรักษาได้รวดเร็วขึ้น
3.       งานคมนาคมและสื่อสาร ในส่วนที่เกี่ยวกับการเดินทาง จะใช้คอมพิวเตอร์ในการจองวันเวลา ที่นั่ง ซึ่งมีการเชื่อมโยงไปยังทุกสถานีหรือทุกสายการบินได้ ทำให้สะดวกต่อผู้เดินทางที่ไม่ต้องเสียเวลารอ อีกทั้งยังใช้ในการควบคุมระบบการจราจร เช่น ไฟสัญญาณจราจร และ การจราจรทางอากาศ หรือในการสื่อสารก็ใช้ควบคุมวงโคจรของดาวเทียมเพื่อให้อยู่ในวงโคจร ซึ่งจะช่วยส่งผลต่อการส่งสัญญาณให้ระบบการสื่อสารมีความชัดเจน
4.       งานวิศวกรรมและสถาปัตยกรรม สถาปนิกและวิศวกรสามารถใช้คอมพิวเตอร์ในการออกแบบ หรือ จำลองสภาวการณ์ ต่างๆ เช่น การรับแรงสั่นสะเทือนของอาคารเมื่อเกิดแผ่นดินไหว โดยคอมพิวเตอร์จะคำนวณและแสดงภาพสถานการณ์ใกล้เคียงความจริง รวมทั้งการใช้ควบคุมและติดตามความก้าวหน้าของโครงการต่างๆ เช่น คนงาน เครื่องมือ ผลการทำงาน
5.       งานราชการ เป็นหน่วยงานที่มีการใช้คอมพิวเตอร์มากที่สุด โดยมีการใช้หลายรูปแบบ ทั้งนี้ขึ้นอยู่กับบทบาทและหน้าที่ของหน่วยงานนั้นๆ เช่น กระทรวงศึกษาธิการ มีการใช้ระบบประชุมทางไกลผ่านคอมพิวเตอร์ , กระทรวงวิทยาศาสตร์และเทคโนโลยี ได้จัดระบบเครือข่ายอินเทอร์เน็ตเพื่อเชื่อมโยงไปยังสถาบันต่างๆ , กรมสรรพากร ใช้จัดในการจัดเก็บภาษี บันทึกการเสียภาษี เป็นต้น
6.       การศึกษา ได้แก่ การใช้คอมพิวเตอร์ทางด้านการเรียนการสอน ซึ่งมีการนำคอมพิวเตอร์มาช่วยการสอนในลักษณะบทเรียน CAI หรืองานด้านทะเบียน ซึ่งทำให้สะดวกต่อการค้นหาข้อมูลนักเรียน การเก็บข้อมูลยืมและการส่งคืนหนังสือห้องสมุด

ประเภทของคอมพิวเตอร์

            1. ซูเปอร์คอมพิวเตอร์ (Supercomputer) เป็นคอมพิวเตอร์ที่มีขนาดใหญ่ที่สุด และมีประสิทธิภาพในการทำงานสูงสุด สามาถประมวลผลคำสั่งได้ 100 ล้านคำสั่งต่อนาที เหมาะกับงานที่ต้องใช้ความละเอียด มีการคำนวณซับซ้อน และต้องการความถูกต้องแม่นยำ เช่น การพยากรณ์อากาศ การทดสอบทางอวกาศ  งานสื่อสารดาวเทียม งานวิจัยพลังงานนิวเคลียร์ งานวิจัยขีปนาวุธ  งานวิจัยวิทยาศาสตร์  เป็นต้น
2. เมนเฟรมคอมพิวเตอร์ (Mainframe computer) เป็นคอมพิวเตอร์ที่มีประสิทธิภาพรองจากซูเปอร์คอมพิวเตอร์  สามารถรองรับการทำงานจากผู้ใช้ได้หลายร้อยคน ประมวลผลด้วยความเร็วสูง มีหน่วยความจำขนาดใหญ่ การจัดเก็บข้อมูลได้เป็นจำนวนมากใช้กับองค์การขนาดใหญ่ เช่น งานธนาคาร การจองตั๋วเครื่องบิน การลงทะเบียนและการตรวจสอบผลการเรียนของนักศึกษา  งานสำมะโนประชากรของรัฐบาล  ประกันชีวิตเป็นต้น
            3. มินิคอมพิวเตอร์ (Minicomputer) เป็นคอมพิวเตอร์ที่มีประสิทธิภาพในการทำงานน้อยกว่าเมนเฟรมแต่สูงกว่าไมโครคอมพิวเตอร์ เหมาะกับงานที่มีข้อมูลจำนวนมาก สามารถรับรองการทำงานจากผู้ใช้ได้หลายคนในการทำงานที่แตกต่างกัน เช่น การคำนวณทางด้านวิศวกรรม ทำให้การพัฒนามินิคอมพิวเตอร์เจริญอย่างรวดเร็ว การจองห้องโรงแรม การทำงานด้านบัญชีขององค์การธุรกิจ เป็นต้น
4. ไมโครคอมพิวเตอร์ (Microcomputer) เป็นคอมพิวเตอร์ส่วนบุคคลที่มีผู้นิยมใช้แพร่หลายมาก ที่สุด มีขนาดเล็กและราคาถูก เคลื่อนย้ายได้สะดวก สามารถใช้งานโดยผู้ใช้คนเดียว (Stand alone)  เหมาะกับงาน Word Precessing, Speead sheet, Accorting จัดทำสิ่งพิมพ์   แบ่งได้ดังนี้
1.       แบบติดตั้งใช้งานอยู่กับที่บนโต๊ะทำงาน (Desktop Computer) 
2.       คอมพิวเตอร์ แล็ปท็อป (Notebook)  พกพาสะดวก
3.       คอมพิวเตอร์ แทปเลท (Tablet Computer) มีลักษณะคล้ายโน๊ตบุ๊ค แต่มีความแตกต่าง คือ สามารถป้อนข้อมูลทางจอภาพได้ (ใช้ปากกาชนิดพิเศษ)
4.       คอมพิวเตอร์ขนาดพกพา(Handheld Computer) มีขนาดเท่าฝ่ามือ เช่น  Palmtop, PDA (Personal Digital  Assistant)

รูปแบบการประมวลผลของคอมพิวเตอร์

            1. การประมวลผลส่วนบุคคล (Personal Computing : PC)   งานเกี่ยวกับการประมวลผลคำ, งานด้านกราฟฟิก ตารางจัดการ  การเขียนโปรแกรม
            2. การประมวลผลแบบรวมศูนย์ (Centralized  Computing) มีเครื่องแม่ข่ายเท่านั้น ที่ทำการประมวลผลและจัดเก็บข้อมูลทุกส่วน
            3. การประมวลผลแบบกระจาย (Distributed Computing)  คอมพิวเตอร์ทุกเครื่องต้องเชื่อมต่อกันเป็นเครือข่าย โดยมีเครื่องแม่ข่าย (Server) ทำการแจกจ่ายหน้าที่การทำงาน โดยเครื่องลูกข่ายมีความสามารถในการจัดเก็บและทำหน้าที่บางส่วนได้โดยไม่ต้องพึ่งพาเครื่องแม่ข่าย

โครงสร้างข้อมูล (Data Structure)
บิต (Bit) คือ ข้อมูลที่มีขนาดเล็กที่สุด เป็นข้อมูลที่เครื่องคอมพิวเตอร์สามารถเข้าใจและนำไปใช้งานได้ ซึ่งได้แก่ เลข 0 หรือ เลข 1 เท่านั้น
ไบต์ (Byte) หรือ อักขระ (Character) ได้แก่ ตัวเลข หรือ ตัวอักษร หรือ สัญลักษณ์พิเศษ 1 ตัว เช่น 0, 1, …, 9, A, B, …, Z  และเครื่องหมายต่างๆ ซึ่ง 1 ไบต์จะเท่ากับ 8 บิต หรือ ตัวอักขระ 1 ตัว เป็นต้น
ฟิลด์ (Field) ได้แก่ ไบต์ หรือ อักขระตั้งแต่ 1 ตัวขึ้นไปรวมกันเป็นฟิลด์   เช่น เลขประจำตัว ชื่อพนักงาน เป็นต้น
เรคคอร์ด (Record) ได้แก่ ฟิลด์ตั้งแต่ 1 ฟิลด์ ขึ้นไป ที่มีความสัมพันธ์เกี่ยวข้องรวมกันเป็นเรคคอร์ด เช่น ชื่อ นามสกุล เลขประจำตัว ยอดขาย ข้อมูลของพนักงาน 1 คน เป็น 1 เรคคอร์ด
ไฟล์ (Files) หรือ แฟ้มข้อมูล ได้แก่ เรคคอร์ดหลายๆ เรคคอร์ดรวมกัน ซึ่งเป็นเรื่องเดียวกัน เช่น ข้อมูลของประวัติพนักงานแต่ละคนรวมกันทั้งหมดเป็นไฟล์หรือแฟ้มข้อมูลเกี่ยวกับประวัติพนักงานของบริษัท เป็นต้น
ฐานข้อมูล (Database) คือ การเก็บรวบรวมไฟล์ข้อมูลหลายๆ ไฟล์ที่เกี่ยวข้องกันมารวมเข้าด้วยกัน เช่น ไฟล์ข้อมูลของแผนกต่างๆ มารวมกันเป็นฐานข้อมูลของบริษัท เป็นต้น

การวัดขนาดข้อมูล
ในการพิจารณาว่าข้อมูลใดมีขนาดมากน้อยเพียงไร เรามีหน่วยในการวัดขนาดของข้อมูล
ดังต่อไปนี้
8 Bit
=
1 Byte
1,024 Byte
=
1 KB (กิโลไบต์)
1,024 KB
=
1 MB (เมกกะไบต์)
1,024 MB
=
1 GB (กิกะไบต์)
1,024 GB
=
1TB (เทระไบต์)

อินเตอร์เนตเบื้องต้น

  อินเทอร์เนตคืออะไร

อินเทอร์เนต (Internet) คือ เครือข่ายคอมพิวเตอร์ที่ใหญ่ที่สุดในโลก เกิดขึ้นจากระบบเครือข่ายคอมพิวเตอร์เล็ก ๆ รวมกันเป็นระบบเครือข่ายใหญ่ เพื่อใช้ในการติดต่อสื่อสาร แลกเปลี่ยนข้อมูลกันทั่วโลก

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

อินเทอร์เนตทำอะไรได้บ้าง ?
เดิมทีการใช้บริการจำกัดให้ใช้ในด้านการศึกษาวิจัยและอยูในแวดวงการศึกษาเท่านั้น ต่อมาได้มีการขยายในเชิงธุรกิจมากขึ้น ทำให้ขอบข่ายการใช้ Internet มีมากมาย เช่น
1.       สามารถติดต่อกับคนได้ทั่วโลก
2.       สามารถใช้เพื่อแลกเปลี่ยนข้อมูล , ความคิดเห็น
3.       สามารถใช้ช่วยในการค้นหาและโอนย้าย Software ต่าง ๆ มาได้ฟรี
4.       สามารถค้นคว้าวิจัย เปรียบเหมือนคุณเข้าห้องสมุดไปศึกษาค้นคว้าหนังสือต่าง ๆ โดยที่ตัวคนเองไม่ต้องไปยังห้องสมุดนั้น
5.       สามารถอ่านข่าวสารของกลุ่มสนทนาต่าง ๆ
6.       สามารถท่องเที่ยวไปยังสถานที่ต่าง ๆ ได้ทั่วโลก เช่น พิพิธภัณฑ์ , สวนสัตว์ เป็นต้น

บริการต่าง ๆ ของอินเทอร์เนต

1. ไปรษณีย์อิเลคทรอนิคส์ (Electronic Mail หรือ E-Mail)
เป็นบริการหนึ่งบนอินเทอร์เนตที่คนนิยมใช้กันมากคือส่งจดหมายโดยทางคอมพิวเตอร์ถึงผู้ที่มีบัญชีอินเทอร์เนต ด้วยกันไม่ว่าจะอยู่ใกล้หรือไกลคนละซีกโลกจดหมายก็จะไปถึงอย่างสะดวกรวดเร็วและง่ายดายโปรแกรมที่ใช้ ในการรับ-ส่งจดหมายอิเลคทรอนิคส์นั้นมี หลายโปรแกรมด้วยกันแล้วแต่จะเลือก ใช้ตาม ความ ชอบหรือความถนัด โปรแกรมที่พูดถึงก็เช่น Eudora, Pine, Netscape Mail, Micorsoft Explorer และอื่น ๆ อีกมากมาย เป็นต้น

2. World Wide Web (WWW)
เป็นการเข้าสู่ระบบข้อมูลอย่างหนึ่งที่กำลังเป็นที่ฮิตสุดบนอินเทอร์เนต ข้อมูลนี้จะอยู่ในรูปของ Interactive Multimedia คือ มีทั้งรูปภาพ ข้อความ ภาพเคลื่อนไหว เสียง และวีดีโอ อีกทั้งข้อมูลเหล่านี้ยังใช้ระบบที่เรียกว่า hypertext กล่าวคือ จะมีคำสำคัญหรือรูปภาพในข้อมูลนั้นที่จะช่วยให้ท่านเข้าสู่รายละเอียดที่ลึกและกว้างขวางยิ่งขึ้น คำสำคัญดังกล่าวจะเป็นคำที่เป็นตัวหนา หรือขีดเส้นใต้ เพียงแต่ท่านเลือกกดที่คำที่เป็นตัวหนาหรือขีดเส้นใต้ นั้น ๆ ท่านก็สามารถเข้าสู่ข้อมูลเพิ่มเติมได้ (ข้อมูลเหล่านี้จะมีผู้สร้างขึ้นมาและเก็บไว้ในคอมพิวเตอร์ต่าง ๆ ทั่วโลก)
Uniform Resource Locator (URL) คือที่อยู่ของข้อมูลบน WWW ซึ่งถ้าเราจะหาข้อมูลเราต้องทราบที่อยู่ของ homepage หรือ URL ก่อน ตัวอย่างที่อยู่ของ homepage ของกลุ่มเซนต์จอห์นคือ ส่วนโปรแกรมที่ช่วยให้เข้าสู่ข้อมูลที่อยู่บน WWW ได้ คือ Netscape และ Microsoft Explorer เป็นต้น
3. FTP (File Transfer Protocol)
คือ บริการที่ใช้ในการโอนย้าย file หรือข้อมูลจากคอมพิวเตอร์หนึ่งไปยังอีกคอมพิวเตอร์หนึ่ง ในเครือข่ายอินเทอร์เนตถ้าเครื่องนั้นๆต่อเข้ากับระบบที่เป็นอินเทอร์เนตก็สามารถโอนย้ายข้อมูลกันได้เครื่อง คอมพิวเตอร์บางที่นั้นจะทำหน้าที่ เป็นศูนย์รวมของข้อมูลต่าง ๆ เช่น รูปภาพ , ข้อความ , บทความ , คู่มือ และโปรแกรมต่าง ๆ ที่เป็น Freeware หรือ Shareware เและเปิดให้เข้าไปโอนย้านมาได้ฟรี โปรแกรมที่จะช่วยในการโอนย้ายข้อมูล ก็เช่น Netscape, Telnet WSFTP เป็นต้น
4.Telnet
เป็นบริการที่ช่วยให้เราสามารถเข้าสู่ระบบคอมพิวเตอร์อื่นเสมือนหนึ่งไปนั่งใช้เครื่องคอมพิวเตอร์ของที่นั่น โปรแกรมที่ช่วยให้ท่านใช้บริการนี้ได้คือ โปรแกรม NCSA Telnet เมื่อเปิดโปรแกรมแล้วให้พิมพ์คำสั่ง Telnet ดังในรูปภาพข้างล่างเมื่อท่านใช้คำสั่ง Telnet แล้วให้พิมพ์ที่อยู๋ของแหล่งข้อมูลนั้น ท่านก็จะสามารถเข้าสู่ระบบข้อมูลนั้น ๆ ได้เสมือนท่านไปนั่งอยู่หน้าจอคอมพิวเตอร์ของเครื่อง ๆ นั้นเลยทีเดียว ระบบ Telnet

5. Usenet / News groups
เป็นบริการที่ช่วยให้ท่านเข้าสู่ข่าวสารข้อมูลของกลุ่มสนทนาแลกเปลี่ยนปัญหาข้อสงสัยข่าวสารต่าง ๆ กลุ่มเหล่านี้จะมีสารพัดกลุ่มตามความสนใจ โปรแกรมที่ช่วยให้ท่านใช้บริการนี้ คือ โปรแกรม Netscape News ที่อยู่ใน โปรแกรม Netscape Navigator Gold 3.0 เมือเปิดโปรแกรมดังกล่าว จากนั้นรายชื่อของกลุ่มสนทนาจะปรากฎขึ้นให้ท่านเลือกอ่านตามใจชอบ

หากจะใช้ Internet ควรต้องมีอะไรบ้าง ?
1. เครื่องคอมพิวเตอร์ที่ต่อเชื่อมอยู่ในเครือข่ายอินเทอร์เนต การต่อเครื่องเครื่องคอมพิวเตอร์เข้ากับระบบเครือข่ายอินเทอร์เนตนั้น ลักษณะการต่อจะขึ้นอยู่กับความเร็วของสายที่ต่อเชื่อม
2. หากท่านต้องการใช้บริการอินเทอร์เนตจากที่บ้าน โดยการต่อคอมพิวเตอร์ที่บ้านให้เข้าสู่ ระบบเครือข่ายอินเทอร์เนต ท่านต้องมี Modem (โมเด็ม) หรือตัวแปลงสัญญาณ โมเด็มจะเป็นตัวช่วยให้เครื่องคอมพิวเตอร์ของท่านรับข้อมูลจากอินเทอร์เนต ได้ความเร็วของ Modem ควรจะเป็นอย่างต่ำ 14.1 kbps หรือมากกว่านั้น (kilobyte per second = อัตราความเร็วในการส่งข้อมูล)
3. หากท่านใช้บริการอินเทอร์เนตจากที่ทำงาน มหาวิทยาลัยหรือโรงเรียน สำหรับหน่วยงาน
ใหญ่ ๆ มักจะมีการต่อเชื่อมเข้ากับระบบอินเทอร์เนตด้วยการใช้สายเช่า ซึ่งมีความเร็วในการส่งสัญญาณสูงแทนโมเด็ม และจะต้องมีโปรแกรมที่ช่วยให้ท่านเข้าสู่ระบบอินเทอร์เนต ขึ้นอยู่กับว่าท่านจะเลือกใช้บริการอะไร ตัวอย่างเช่น หารกจะใช้ E-Mail (Electronic Mail) หรือจดหมายอิเล็กทรอนิกส์ โปแกรมที่จะใช้ได้ เช่น Pine , Eudora , Netscape Mail, Microsoft Explorer แต่ถ้าจะใช้ WWW ก็ต้องใช้โปรแกรม Netscape เป็นต้น
4. Internet Account ท่านต้องเปิดบัญชีอินเทอร์เนต เหมือนกับต้องจดทะเบียนมีชื่อและที่อยู่บนอินเทอร์เนต เพื่อที่ว่าเวลาติดต่อสื่อสารกับใครบนอินเทอร์เนต จะได้มีข้อมูลส่งกลับมาหาท่านได้ถูกที่



หน่วยความจำภายนอก



 หน่วยความจำภายนอก (external memory)

        หน่วยความจำภายนอก หรือหน่วยความจำสำรอง หมายถึง สื่อต่างๆ ที่ใช้เป็นตัวเก็บข้อมูลเพิ่มจากหน่วย ความจำหลัก (main memory) เพราะหน่วยความจำหลักในคอมพิวเตอร์นั้นไม่มีพื้นที่พอจะเก็บข้อมูลจำนวนมาก ไว้พร้อมกันได้หมด (เนื่องจากราคาต่อพื้นที่สูง) เพื่อช่วยประหยัดเราจึงเก็บข้อมูลไว้ในหน่วยความจำรอง (เช่น จานบันทึกแบบแข็ง) นี้ก่อน เพราะราคาต่อพื้นที่ถูกกว่ามากและสามารถเก็บข้อมูลได้ถาวร แล้วจึงดึงข้อมูลไปไว้ในหน่วยความจำหลักเฉพาะเมื่อเวลาต้องการเรียกใช้เท่านั้น

                                 

ฮาร์ดดิสก์ (HardDisk)  

        เป็นอุปกรณ์เก็บข้อมูลที่มีลักษณะการทำงานคล้ายกับฟลอปปี้ดิสก์ แต่มีความจุของข้อมูลและความเร็วในการเข้าถึงข้อมูลสูงกว่า โครงสร้างภายในของฮาร์ดดิสก์จะประกอบด้วยแผ่นอลูมิเนียมเคลือบด้วยสารแม่ เหล็กหลายแผ่นเรียงซ้อนกันเป็นแผ่นดิสก์เรียกรวมกันว่Platters หมุนด้วยความเร็วประมาณ 3,600 รอบต่อวินาที ทำให้สามารถเก็บข้อมูลได้รวดเร็วและจำนวนมาก หัวอ่าน-เขียนของ HD จะไม่ได้สัมผัสกับแผ่นเหมือนกับ FD โดยจะลอยอยู่เหนือแผ่นที่เคลือบด้วยสารแม่เหล็กห่างประมาณ 4 ไมครอน
           Harddisk Controller เป็นอุปกรณ์ที่อยู่ภายในเมนบอร์ดของเครื่องคอมพิวเตอร์ ทำหน้าที่แปลงข้อมูลและควบคุมสัญญาณต่าง ๆ ให้เหมาะสมกับ drive ของ HD แต่ละชนิด และเชื่อมต่อวงจรภายในของคอมพิวเตอร์ให้เข้ากับกลไกของ HD
ชนิดของ Controller
                  - ESDI (Enhanced Small Device Interface) มีอัตราการรับส่งตั้งแต่ 10-24 เมกะบิตต่อวินาที ปัจจุบันไม่ค่อยใช้แล้ว
                   - IDE (Intelligent Drive Electronics) บน HD แบบ IDE จะมีวงจรควบคุมอยู่ในตัวเอง และใช้ controller card เป็นตัวเชื่อมต่อกับระบบบัสของบอร์ด IDE มีข้อดีในแง่ที่ความเชื่อถือในการใช้งานสูง และราคาถูก อัตราการส่งจะเร็วกว่า ESDI ถึง 2 เท่า
                  - SCSI (Small Computer Systems Interface) ความ เร็วในการรับส่งข้อมูลอยู่ระหว่าง 4-10 เมกะบิตต่อวินาที แต่ SCSI สามารถต่อกับอุปกรณ์ได้มากแบบ และง่าย นอกจากนี้ SCSI ยังมีวงจรควบคุมอยู่ในตัวเองเช่นเดียวกับ IDE
                  ความจุของ HD ในปัจจุบันนิยมวัดเป็น GB (1,000,000,000 ตัวอักษร) ยิ่งความจุมากก็จะสามารถเก็บข้อมูลได้มาก และราคาก็
ยิ่งสูงขึ้นตามไปด้วย ซึ่งสามารถคำนวณได้จากสูตร
                  ความจุ = จำนวนไซลินเดอร์ * จำนวนด้าน * จำนวนเซกเตอร์ * จำนวนไบต์ในเซกเตอร์

 ฟลอปปี้ดิสก์ (Floppy Disk)

         เป็นแผ่นพลาสติกที่ทำจากวัสดุไมล่าบาง ๆ เคลือบด้วยสารออกไซด์ที่สามารถทำให้มีสภาพเป็นเหล็กได้ บรรจุอยู่ในซองที่ทำหน้าที่ป้องกัน มีการเก็บข้อมูลไว้บนผิวของแผ่นพลาสติก diskette มักถูกใช้ในการแจกจ่ายซอฟต์แวร์ การส่งไฟล์ หรือการสำรองข้อมูล  ผิวแผ่นดิสก์ที่ฉาบด้วยสารแม่เหล็กจะแบ่งเป็นแนววงกลมคล้ายกับร่องของแผ่น เสียง เรียกว่า Track ซึ่งจะมีหลาย track ซ้อน ๆ กันเป็นวงแหวน แต่ละวงจะถูกแบ่งเป็นพื้นที่ย่อย ๆ เรียกว่า Sector ซึ่งในการบันทึกข้อมูลจะทำการบันทึกลงบน sector เหล่านี้ จำนวน track และ sector นี้จะแตกต่างกันขึ้นอยู่กับวิธีการจัดเก็บข้อมูล หรือที่เรียกว่าการ Format นั่นเอง      
        ความจุของแผ่นดิสก์ = จำนวนด้าน * จำนวน track * จำนวน sector * จำนวนไบต์ใน sector
เช่น แผ่นดิสก์ขนาด 3.5 นิ้ว ในแต่ละด้านจะแบ่งเป็น 40 แทรค แทรคละ 36 เซกเตอร์ หนึ่งเซกเตอร์เก็บข้อมูลได้ 512 ไบต์ ดังนั้น จะมีความจะ 2 * 40 * 36 * 512 = 1,474,560 ไบต์ หรือประมาณ 1.44 เมกะไบต์ 



   Flash Drive (หรือที่หลายคนเรียก Handy Drive, Thumb Drive, USB Drive)


        เป็น อุปกรณ์ที่ใช้ในการเก็บข้อมูลหรือไฟล์จากคอมพิวเตอร์ มีขนาดเล็กและน้ำหนักเบา สะดวกในการพกพาติดตัว แต่ในขณะเดียวกันมีความจุสูง สามารถเก็บข้อมูลได้จำนวนมากตั้งแต่ 128 MB ถึง 4 GB และขนาดความจุข้อมูลก็ได้รับการพัฒนาเพิ่มขึ้นเรื่อยๆ

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

                                        

                                          

ซีดีรอม (CD-ROM : Compact Disc Read Only Memory)

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

 

 

 

หลักการคำนวนทางคณิตศาสตร์

หลักการคำนวนทางคณิตศาสตร์

หน่วยประมวลผลทางคณิตศาสตร์และตรรกะ ALU เป็นส่วนประกอบที่เป็นอิเล็กทรอนิกส์ที่ใช้พื้นฐานทางดิจิตอลลอจิก ทำหน้าที่ประมวลผลในคอมพิวเตอร์ทั้งทางด้านคณิตศาสตร์และตรรกะ โดยซีพียูจะมี ALU ประกอบอยู่ภายในซีพียู โดยซีพียูจะใช้งาน ALU ร่วมกับหน่วยควบคุม (Control Unit) รีจิสเตอร์ หน่วยความจำ และอุปกรณ์อินพุต/เอาต์พุต
ALUการเปลี่ยนเป็นค่าตรงข้าม
ใช้ sign-and-magnitude
+21 = 00010101
-21 = 10010101 sign-and-magnitude
ใช้ 2’s complement
+21 = 00010101 2’s complement
= 11101010 กลับค่าแต่ละบิต
+ 1
-21 = 11101011
การบวกและการลบ
ใช้ 2’s complement
- ใช้หลัก a-b = a+(-b)
- ไม่คิดตัวทด และค่าสูงสุดไม่เกินของจำนวนบิต
การบวกและการลบ
ใช้ 1’s complement
- ถ้ามีตัวทดเกิดขึ้น จะนำไปบวกเข้ากับค่าผลลัพธ์ที่ได้
การคูณ
จำนวนเต็มไม่มีเครื่องหมาย
- ตั้งตัวคูณให้ตำแหน่งขวาสุดตรงกับตัวตั้ง
- ผลคูณย่อยที่เกิดขึ้นตำแหน่งขวาสุดให้ตรงตัวคูณ
- นำผลคูณย่อยมารวมกัน
- จำนวนเต็มมีเครื่องหมาย (บวก)
- จำนวนเต็มมีเครื่องหมาย (ลบ)
การหาร
-การบวกและลบเลขทศนิยม
- การตรวจสอบค่า 0
- การปรับเลขชี้กำลังให้เท่ากัน
- ทำการบวกหรือลบค่าของจำนวนนั้น (Mantissa)
- ปรับให้อยู่ในรูปแบบทั่วไป
การคูณเลขทศนิยม
- โฟลว์ชาร์ตแสดงการคูณเลขทศนิยม (Z <--X x Y)
การหารเลขทศนิยม
- โฟลว์ชาร์ตแสดงการคูณเลขทศนิยม (Z <--X / Y)
Haft Adder และ Full Adder
- ตารางค่าความจริงของการบวกเลข 2 บิต และวงจรสำหรับการบวกเลข 2 บิต
- ตารางค่าความจริงการบวกเลข 3 บิต (2 บิตและมีตัวทด) และสัญลักษณ์ Full Adder
- วงจร Full Adder ที่เกิดจาก Haft Adder 2 ตัว
Ripple-Carry Adder
- Ripple-Carry Adder (ขนาด 4 บิต)
- ตัวบวกขนาด 16 บิตที่เกิดจากการเรียงต่อกันของ Ripple-Carry Adder 4 ตัว

Ripple-Borrow Subtractor
- ตัวลบขนาด 16 บิตที่เกิดจากการเรียงต่อกันของ Ripple-Borrow Subtractor 4 ตัว

รูปแบบของคำสั่งและการบ่งตำแหน่งที่อยู่

รูปแบบของคำสั่งและการบ่งตำแหน่งที่อยู่

รหัสที่ใช้แทนอักขระ
ตัวอักษร ตัวเลขและสัญลักษณ์ หรือที่เรียกว่าอักขระในไมโครคอมพิวเตอร์จะแทนด้วยรหัสไบนารี ทุกครั้งที่เรากดแป้นพิมพ์ เช่น ปุ่มอักษร A ระบบก็จะรับอักษร A เข้าไปและแปลงเป็นรหัสไบนารี (เข้ารหัส) 1 ไบต์ เป็นต้น ในตารางที่ 8.1 แสดงมาตรฐานการใช้รหัสไบนารีแทนอักขระที่นิยมแพร่หลายในระบบไมโคร คอมพิวเตอร์เรียกว่ารหัส ASCII (อ่านว่า แอสกี้) ย่อมาจาก American Standard Code for Interchange จะใช้แทนทั้งสระ พยัญชนะ ตัวเลข สัญลักษณ์ ทั่วไป และอักษรที่ใช้ควบคุม เช่น LF คือ Line Feed หมายถึงให้เลื่อนไปบรรทัดถัดไป เป็นต้น
รูปแบบคำสั่ง
ไมโครโปรเซสเซอร์ไม่ว่าจะผลิตจากบริษัทไหนก็แล้วแต่ จะมีชุดคำสั่งประจำไมโคร-โปรเซสเซอร์เบอร์นั้น เช่น 8080 ของบริษัทอินเทลก็จะมีชุดคำสั่งเฉพาะของ 8080 ขณะที่ 6800 ของ โมโตโรลาก็จะมีชุดคำสั่งเฉพาะของ 6800 เป็นต้น คำสั่ง 8080 จะมาใช้กับ 6800 ไม่ได้และในทางกลับกัน คำสั่งของ 6800 จะใช้กับ 8080 ก็ไม่ได้ อย่างไรก็ดี ไม่ว่าจะเป็นคำสั่งของไมโครโปรเซสเซอร์เบอร์ใด พื้นฐานก็คือคำสั่งจะอยู่ในลักษณะไบนารี คำสั่งหนึ่งคำสั่งอาจประกอบด้วยไบต์เดียว สองไบต์ สามไบต์ หรือสี่ไบต์แล้วแต่กรณี ไบต์แรกของคำสั่งเรียกว่า โอเปอเรชันโค้ด (operation code)

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

ชนิดของคำสั่ง
คำสั่งในภาษาระดับสูง เช่น Pascal หรือ FORTRAN ตัวอย่างคำสั่ง เช่น
X = X + Y
ประโยคนี้บอกให้คอมพิวเตอร์นำค่าของตัวแปร Y บวกกับค่าที่เก็บในตัวแปร X แล้วเก็บผลลัพธ์ไว้ที่ X นักศึกษาอาจจะสงสัยว่า คำสั่งเช่นนี้เมื่ออยู่ในรูปแบบคำสั่งคอมพิวเตอร์แล้วจะมีหน้าตาเป็นอย่างไร สมมุติว่าตัวแปร X และ Y อ้างอิงถึงข้อมูลที่ตำแหน่ง 513 และ 514 ตามลำดับ สมมติต่อไปว่าให้ใช้ชุดคำสั่งที่ง่ายต่อการทำความเข้าใจแล้ว ประโยคดังกล่าวจะถูกแปลเป็นคำสั่ง

ที่อยู่อ้างอิงในคำสั่งเครื่อง
วิธีการหนึ่งที่นิยมใช้ในการอธิบายสถาปัตยกรรมของเครื่องคอมพิวเตอร์ คือ การอธิบายจำนวนของ “ที่อยู่อ้างอิง” ในคำสั่งเครื่องแต่ละคำสั่ง วิธีการนี้ได้รับความนิยมน้อยลงเมื่อการออกแบบซีพียูมีความสลับซับซ้อนมาก ขึ้น อย่างไรก็ตาม ก็ยังคงเป็นวิธีการที่มีประโยชน์สำหรับการวิเคราะห์ความแตกต่างของซีพียูคำสั่งเครื่องแต่ละคำสั่ง มีความจำเป็นต้องอ้างอิงที่อยู่เป็นจำนวนเท่าใด คำสั่งเกี่ยวกับคณิตศาสตร์และตรรกะ มักจะต้องการการอ้างอิงที่อยู่ของตัวถูกดำเนินการ (Operand) มากกว่าคำสั่งชนิดอื่น โดยทั่วไปคำสั่งในกลุ่มนี้จะเป็นคำสั่งประเภท unary (ต้องการตัวถูกดำเนินการเพียงตัวเดียว) หรือ binary (ต้องการตัวถูกดำเนินการสองตัว) ดังนั้นจึงต้องการอ้างอิงถึงที่อยู่ของตัวถูกดำเนินการสูงสุดสองตัว ผลลัพธ์ที่ได้จากการคำนวณจะต้องถูกนำไปเก็บไว้ในหน่วยความจำ จึงอาจต้องการอ้างอิงที่อยู่แห่งที่สามในแต่ละคำสั่งนั้น ประการสุดท้ายเมื่อการประมวลผลคำสั่งนั้นสิ้นสุดลง ก็มีความจำเป็นจะต้องอ้างอิงที่อยู่ของคำสั่งในลำดับต่อไปด้วยเหตุผลดังกล่าว ทำให้น่าเชื่อว่าคำสั่งแต่ละคำสั่งจะต้องการการอ้างอิงที่อยู่สี่แห่งด้วย กัน(ที่อยู่สำหรับตัวถูกดำเนินการสองตัว ที่อยู่สำหรับเก็บผลลัพธ์ และที่อยู่สำหรับคำสั่งต่อไป) ในทางปฏิบัติแทบจะไม่มีคอมพิวเตอร์เครื่องใดที่มีการอ้างอิงที่อยู่มากถึง สี่แห่ง คำสั่งส่วนใหญ่จะอ้างอิงที่อยู่จำนวนระหว่างหนึ่งถึงสามที่อยู่ต่อคำสั่ง และนำที่อยู่ของคำสั่งต่อไปใส่ไว้ในรีจิสเตอร์แยกต่างหาก (เรียกว่า Program counter) ซึ่งแยกออกจากรีจิสเตอร์ที่ใช้ในคำสั่งเครื่อง

ชนิดของตัวถูกดำเนินการ คำสั่งเครื่องทำงานกับข้อมูลซึ่งสามารถแบ่งออกตามชนิดหรือประเภทได้ดังนี้
- ตำแหน่งที่อยู่ (address)
- ตัวเลข (Number)
- ตัวอักษร (Character)
- ข้อมูลตรรกะ (Logical data)
อันที่จริงตำแหน่งที่อยู่ก็เป็นข้อมูลชนิดหนึ่ง ในหลายกรณีมีการคำนวณเกิดขึ้นกับตัวถูกกระทำที่ถูกอ้างอิงในคำสั่งเครื่อง เพื่อกำหนดตำแหน่งที่อยู่ในหน่วยความจำหลัก หรือในหน่วยความจำเสมือน ในกรณีเช่นนี้ ตำแหน่งที่อยู่จะถูกคำนวณในลักษณะเดียวกันกับเลขแบบไม่มีเครื่องหมาย
ข้อมูล ชนิดอื่นได้แก่ ตัวเลข ตัวอักษร และข้อมูลตรรกะ ซึ่งจะอธิบายถึงรายละเอียดในลำดับต่อไป นอกจากนี้แล้ว คอมพิวเตอร์บางเครื่องยังได้กำหนดข้อมูลหรือโครงสร้างข้อมูลชนิดพิเศษขึ้น ใช้งาน เช่น ข้อมูลชนิดที่สามารถทำงานกับตัวถูกกระทำที่เป็นกลุ่มตัวอักษร (string) ได้โดยตรง

ข้อมูลตัวเลข
ภาษาเครื่องทุกชนิดจะมีข้อมูลชนิดตัวเลขไว้ใช้งาน แม้กระทั่งงานที่ไม่เกี่ยวข้องกับตัวเลขก็ยังมีความจำเป็นจะต้องใช้ตัวเลขมา ช่วยในการนับ บอกความกว้างหรือขนาดของข้อมูล และอื่น ๆ ความแตกต่างที่สำคัญระหว่างตัวเลขที่ใช้ในทางคณิตศาสตร์ทั่วไป กับตัวเลขที่เก็บอยู่ในเครื่องคอมพิวเตอร์คือ ตัวเลขคอมพิวเตอร์มีขนาดที่จำกัดเนื่องจากเหตุผลสองประการคือ ประการแรก ตัวเลขที่เก็บอยู่ในคอมพิวเตอร์นั้นถูกจำกัดขนาดด้วยรูปแบบที่ใช้อยู่ใน เครื่องนั้น ประการที่สอง ในกรณีของเลขจำนวนจริงก็ถูกจำกัดขนาดด้วยระดับความเที่ยงตรงที่ต้องการนัก พัฒนาโปรแกรมจึงต้องทำความเข้าใจในผลที่เกิดขึ้นจากการปัดเศษ การ overflow และการ underflow
ข้อมูลชนิดตัวเลขมักจะแบ่งออกเป็นสามชนิด คือ
- เลขจำนวนเต็ม (Integer of fixed point)
- เลขจำนวนจริง (Floating point)
- เลขฐานสิบ (Decimal point)
โดยธรรมชาติแล้วการทำงานภายในเครื่องคอมพิวเตอร์นั้นใช้เลขฐานทั้งหมด แต่ส่วนที่ต้องติดต่อกับผู้ใช้ที่เป็นมนุษย์นั้นจะจำเป็นจะต้องใช้เลขฐานสิบ ดังนั้นจึงมีความจำเป็นที่จะต้อง
ข้อมูลตัวอักษร
รูปแบบข้อมูลที่ใช้งานทั่วไปคือตัวอักษร (text) หรือข้อความ (character string) ข้อมูลที่เป็นข้อความนั้น เป็นรูปแบบที่สะดวกสบายต่อคน แต่ในเวลาเดียวกันก็เป็นรูปแบบที่ไม่สามารถเก็บไว้ในคอมพิวเตอร์ หรือนำไปประมวลผลได้โดยง่าย เนื่องจากระบบดังกล่าวถูกออกแบบมาให้ทำงานกับเลขฐานสองเท่านั้น ดังนั้นจึงได้มีการประดิษฐ์รหัสสำหรับการเก็บข้อมูลตัวอักษรไว้ใน คอมพิวเตอร์ รหัสแบบแรกที่ได้รับการออกแบบนำมาใช้งานคือ รหัสมอส (Morse code) ในปัจจุบันโค้ดรหัสที่ถูกนำมาใช้อย่างแพร่หลายเรียกว่า International Reference Alphabet (IRA) ซึ่งมีชื่อเรียกในประเทศสหรัฐอเมริกาว่า รหัสแอสกี้ (ASCII) ดังแสดงตัวอย่างในตาราง 8.1 รหัส IRA ได้รับความนิยมนำไปใช้งานทั่วโลก ตัวอักษรแต่ละตัวในรหัสนี้ถูกแทนด้วยเลขฐานสองจำนวน 7 บิต ทำให้สามารถกำหนดสัญลักษณ์ได้ 128 แบบ ซึ่งเป็นจำนวนที่มากเกินพอสำหรับตัวอักษรที่สามารถพิมพ์ออกทางเครื่องพิมพ์ ได้ รหัสส่วนหนึ่งจึงถูกนำไปใช้เป็นหรัสควบคุม (control characters) รหัสควบคุมบางส่วนถูกนำมาใช้ในการควบคุมลักษณะการพิมพ์ในแบบต่าง ๆ ในขณะที่รหัสที่เหลือถูกนำไปใช้ในการสื่อสารข้อมูล รหัส IRA จะถูกเก็บและเรียกใช้เป็นข้อมูลขนาด 8 บิตต่อตัวอักษรเสมอ โดยบิตที่ 8

ข้อมูลตรรกะ
โดยปกติข้อมูลแต่ละเวิร์ด หรือแต่ละหน่วยที่สามารถอ้างอิงได้ (เช่น ไบต์ halfword, และอื่น ๆ ) จะถือเสมือนหนึ่งว่าเป็นข้อมูลหน่วยเดียว แต่ในบางครั้งก็มีความจำเป็นจะต้องพิจารณาข้อมูลในแต่ละหน่วยนั้นครั้งละ 1 บิต ซึ่งจะมีค่าเป็น “0” หรือ “1” เมื่อข้อมูลถูกมองในลักษณะนี้เรียกว่าเป็นข้อมูลแบบตรรกะ
การมองข้อมูลครั้งละ 1 บิตมีประโยชน์สองประการ ประการแรก บางครั้งก็มีความจำเป็นจะต้องเก็บข้อมูลอาร์เรย์แบบบูลลีน หรือข้อมูลที่เป็นเลขฐานสองโดยตรง ซึ่งข้อมูลแต่ละตัวจะกินเนื้อที่เพียง 1 บิตเท่านั้น การเก็บข้อมูลแบบตรรกะจึงถูกนำมาใช้ในงานประเภทนี้ได้อย่างมีประสิทธิภาพ ประการที่สอง ในบางครั้งก็มีความจำเป็นจะต้องจัดการกับข้อมูลธรรมดาครั้งละ 1 บิต ตัวอย่างเช่น ในการทำงานกับเลขจำนวนจริงโดยใช้ซอฟต์แวร์ จะต้องมีการเลื่อนตำแหน่งบิตข้อมูลเกิดขึ้น หรือในการแปลงเลขจากรหัส IRC เป็นรหัส BCD ก็ต้องอาศัยการเลื่อนบิตเช่นกัน
สังเกตว่าจากตัวอย่างทั้งสองที่ยกมานั้น ข้อมูลเดียวกันบางครั้งจะต้องอยู่ในรูปแบบตรรกะ บางครั้งก็อยู่ในรูปแบบของตัวเลข หรือตัวอักษร ชนิดของข้อมูลของหน่วยข้อมูลใด ๆ จะถูกกำหนดโดยชนิดของการกระทำที่เกิดขึ้นกับข้อมูลหน่วยนั้น ซึ่งจะไม่เกิดขึ้นในการทำงานของคำสั่งภาษาคอมพิวเตอร์ระดับสูง
การบ่งตำแหน่งที่อยู่
เมื่อ ซีพียู จะทำงานตามคำสั่ง ที่เขียนไว้ในหน่วยความจำ จะต้องนำคำสั่งจากหน่วยความจำถ่ายลงสู่ ซีพียูแล้วจึงจะประมวลผลตามวัฏจักรดังได้กล่าวมาแล้ว แต่ละคำสั่งจะมี ออปโค้ด เป็นไบต์แรก แล้วตามด้วยข้อมูลหรือตำแหน่งข้อมูลในไบต์ที่สองและสาม เมื่อซีพียู แปลรหัสออปโค้ดแล้วจะทราบว่า จะต้องไปนำข้อมูลจากที่ใดมาปฏิบัติต่อ เพื่อให้คำสั่งนั้นแล้วเสร็จ ในหัวข้อนี้จะกล่าวถึงวิธีต่าง ๆ ที่ซีพียูไปนำข้อมูลมาจากหน่วยความจำวิธีดังกล่าวนี้เรียกว่า การแบ่งตำแหน่งที่อยู่หรือ แอดเดรสซิงโหมด (Addressing mode)
การบ่งตำแหน่งทันที
การบ่งตำแหน่งทันที (immediate mode) เป็น รูปแบบของการบ่งตำแหน่งที่ง่ายที่สุดคือ ตัวถูกกระทำจะปรากฏอยู่ ในคำสั่งนั้น หรือค่าของตัวถูกกระทำปรากฏอยู่กับคำสั่ง หรือค่าของตัวถูกกระทำจะเขียนตามหลังคำสั่งตำแหน่งที่ติดต่อกัน ซึ่งหมายความว่า เราสามารถที่จะดึงตัวถูกกระทำจากหน่วยความจำได้ ในเวลาเดียวกันกับที่ดึงคำสั่ง (Instruction fetch) ขึ้นมาทำงาน ดังนั้นจึงประหยัดวงรอบของการของการอ้างอิงหน่วยความจำไปได้หนึ่งรอบ ข้อด้อยวิธีการนี้คือ ขนาด ตัวเลขถูกจำกัดโดยขนาดของฟิลด์ที่อยู่ (Address field ) ซึ่งในคำสั่งส่วนใหญ่มักจะ มีขนาดเล็ก (เช่น20 บิต) เมื่อเทียบกับข้อมูล ขนาดหนึ่ง เวิร์ด (ปกติยาว 32 บิต)
การบ่งตำแหน่งโดยตรง
รูปแบบที่จัดว่าง่ายอีกวิธีหนึ่งคือ การบ่งตำแหน่งโดยตรง (direct addressing) ซึ่งเขตข้อมูลตำแหน่งที่อยู่จะบรรจุตำแหน่งจริงของตัวถูกกระทำเอาไว้ดังนี้
EA (Effective Address) = A
วิธีการนี้ได้รับความนิยมในการใช้งานกับคอมพิวเตอร์รุ่นแรก ๆ แต่ไม่เป็นที่นิยมใช้ในปัจจุบัน การประมวลผลจะต้องใช้วงรอบการอ้างอิงหน่วยความจำเพิ่มขึ้นอีกหนึ่งรอบ โดยที่ไม่ต้องมีการคำนวณเพิ่มเติม ข้อด้อยประการสำคัญคือ ขอบเขตที่จำกัดในการอ้างอิงตำแหน่งข้อมูลในหน่วยความจำ
การบ่งตำแหน่งทางอ้อม
เนื่องจากวิธีการอ้างอิงโดยตรงนั้น ความยาวของเขตข้อมูลตำแหน่งที่อยู่มักจะมีขนาดสั้นกว่าความยาวของหนึ่ง เวิร์ดจึงทำให้ขอบเขตในการอ้างอิงข้อมูลลดลง การแก้ปัญหานี้ทำได้โดยการใช้ขอบเขตข้อมูลตำแหน่งที่อยู่ในการอ้างอิงถึง ตำแหน่งเวิร์ดในหน่วยความจำที่เก็บตำแหน่งที่แท้จริงของข้อมูลเอาไว้ วิธีการนี้เรียกว่า การอ้างอิงทางอ้อม (indirect addressing) มีรูปแบบดังนี้
EA = (A)เครื่องหมายวงเล็บในที่นี้ใช้ในความหมายว่า “ค่าที่เก็บอยู่ในตำแหน่งที่อ้างถึงโดย A (เขตข้อมูลตำแหน่งที่อยู่ในคำสั่ง)” ข้อดีของวิธีการนี้คือ ถ้าเวิร์ดในหน่วยความจำมีขนาด N บิต จะทำให้ผู้ใช้สามารถอ้างอิงข้อมูลได้มากถึง 2N เวิร์ด ข้อเสียคือ คำสั่งประเภทนี้จะต้องอ้างอิงหน่วยความจำเพิ่มขึ้นอีก 2 วงรอบ จึงจะสามารถอ่านค่าตัวถูกกระทำและประมวลผลได้ นั่นคือหนึ่งวงรอบสำหรับอ่านเวิร์ดที่อ้างอิงถึงโดย A และอีกหนึ่งวงรอบสำหรับอ่านค่าข้อมูลที่แท้จริงที่เก็บอยู่ในตำแหน่งเวิร์ด ที่ถูกระบุโดย A นั้น

การบ่งตำแหน่งผ่านรีจีสเตอร์
การอ้างอิงผ่านรีจีสเตอร์โดยตรง (register addressing) มีความคล้ายคลึงกับการอ้างอิงโดยตรง สิ่งที่แตกต่างกันก็คือ เขตข้อมูลตำแหน่งที่อยู่ในคำสั่งเครื่องจะบรรจุหมายเลขของ รีจีสเตอร์ที่อ้างอิง แทนการกำหนดตำแหน่งที่อยู่ในหน่วยความจำEA = Rโดยปกติเขตข้อมูลตำแหน่งที่อยู่ที่กำหนดหมายเลขของรีจีสเตอร์นั้น จะมีขนาดระหว่าง 3 ถึง 5 บิต ทำให้สามารถอ้างอิงรีจีสเตอร์ได้ตั้งแต่ 8 ถึง 32 ตัวข้อได้เปรียบของการอ้างอิงรีจีสเตอร์โดยตรงได้แก่ (1) คำสั่งเครื่องต้องการพื้นที่ขนาดเล็กมากสำหรับการอ้างอิงหมายเลขรีจีสเตอร์ และ (2) ไม่ต้องเสียเวลาในการอ้างอิงหน่วยความจำเพื่ออ่านข้อมูลตัวถูกกระทำ เวลาที่ใช้ในการอ้างอิงข้อมูลในรีจีสเตอร์ที่เก็บอยู่ภายในตัวซีพียูนั้น น้อยกว่าเวลาที่ใช้อ้างอิงข้อมูลในหน่วยความจำมาก อย่างไรก็ตาม ข้อจำกัดของวิธีการนี้คือมีพื้นที่สำหรับเก็บข้อมูลขนาดจำกัดมาก

โครงรส้างและหน้าที่ของCPU

โครงรส้างและหน้าที่ของCPU

โครงสร้างภายในซีพียู

ซีพียูจะทำงานตามคำสั่งที่ผู้ใช้ป้อนเข้าไป ซึ่งคำสั่งดังกล่าวจะถูกเก็บในหน่วย ความจำหลัก ดังนั้นซีพียูจะต้องทำงานดังต่อไปนี้
- ดึงคำสั่งเข้ามา (fetch instruction) คือการที่ซีพียูอ่านคำสั่งมาจากหน่วยความจำหลักเข้ามาเก็บไว้ภายในตัวซีพียู
- แปลความหมายของคำสั่ง (interpret instruction) คำสั่งจะถูกแปลความหมาย เพื่อจะได้ทราบว่า คำสั่งนั้นต้องการ
ให้ทำงานอย่างใด
- ดึงข้อมูล (fetch data) การประมวลผลคำสั่งเครื่องหนึ่งคำสั่ง อาจจำเป็นต้องอ่านข้อมูลจากหน่วยความจำหลักหรืออุปกรณ์
ไอโอเข้ามาด้วย
- ประมวลผลข้อมูล (process data) การประมวลผลคำสั่งอาจเกี่ยวข้องกับการทำงานทางคณิตศาสตร์หรือตรรกะ
- การบันทึกข้อมูล (write data) ผลการประมวลผลข้อมูลอาจต้องการให้บันทึกผลลัพธ์ที่ได้ไว้ในหน่วยความจำหลักหรืออุปกรณ์ไอโอ

การจัดองค์ประกอบของรีจีสเตอร์ภายในซีพียูการแบ่งกลุ่มรีจีสเตอร์อาจจะแบ่งได้หลายวิธี สำหรับในบทนี้จะแบ่งออกเป็นสองกลุ่มคือ
1) รีจีสเตอร์ที่ผู้ใช้มองเห็นได้ รีจีสเตอร์ในกลุ่มนี้อนุญาตให้คำสั่งในโปรแกรมสามารถลดการอ้างอิงข้อมูลในหน่วยความจำหลัก
โดยนำรีจีสเตอร์มาใช้งานแทน
2) รีจีสเตอร์สำหรับการควบคุมและรายงานสถานะการทำงาน รีจีสเตอร์ในกลุ่มนี้ถูกนำไปใช้โดยหน่วยควบคุม เพื่อควบคุมการทำงาน
ของซีพียู และถูกใช้โดยคำสั่งพิเศษของระบบปฏิบัติการในการควบคุมการประมวลผลของโปรแกรม

รีจีสเตอร์ส่วนที่ผู้ใช้มองเห็น
รีจีสเตอร์ส่วนที่ผู้ใช้สามารถมองเห็นได้นั้น หมายถึง รีจีสเตอร์ที่สามารถใช้คำสั่งภาษาเครื่องควบคุมและใช้งานได้ผ่านการประมวลผล
โดยซีพียู รีจีสเตอร์กลุ่มนี้แบ่งออกเป็นประเภทดังนี้
- รีจีสเตอร์ใช้งานทั่วไป สามารถนำไปใช้งานได้หลายหน้าที่ตามที่ผู้พัฒนาโปรแกรมต้องการ แต่อาจมีรีจีสเตอร์บางตัวถูกกำหนด
ไว้ใช้งานกับเลขจำนวนจริงหรือเป็นตัวชี้ตำแหน่งในสแต๊ก ในบางกรณีรีจีสเตอร์ใช้งานทั่วไปสามารถนำไปใช้งานในการกำหนดที่อยู่
เช่น การอ้างอิงที่อยู่แบบรีจีสเตอร์ทางอ้อมหรือแบบดีสเพลชเมนต์ ตัวอย่าง รีจีสเตอร์ใช้งานทั่วไป ได้แก่ รีจีสเตอร์เก็บข้อมูลของซีพียู
8086 (AX, BX, CX, และ DX) เป็นต้น
- รีจีสเตอร์สำหรับเก็บตำแหน่งที่อยู่ อาจเป็นรีจีสเตอร์สำหรับใช้งานทั่วไป หรือเป็นรีจีสเตอร์ที่กำหนดให้ใช้การอ้างอิงเกี่ยวกับตำแหน่ง
ที่อยู่โดยตรง ตัวอย่าง รีจีสเตอร์เหล่านี้ ได้แก่
- ตัวชี้ตำแหน่งเซ็กเมนต์ (segment pointers) : ในเครื่องที่ใช้วิธีกำหนดตำแหน่งที่อยู่แบบเซ็กเมนต์ จะมีรีจีสเตอร์เซ็กเมนต์
(segment register) ในบางกรณีอาจมีการใช้รีจีสเตอร์มากกว่าหนึ่งตัว เช่น ตัวหนึ่งใช้สำหรับระบบปฏิบัติการและอีกหนึ่งใช้สำหรับ
โปรเซสที่กำลังถูกประมวลผล
- ตัวชี้ตำแหน่งดรรชนี (index registers) : รีจีสเตอร์ในกลุ่มนี้ใช้สำหรับการกำหนดตำแหน่งที่อยู่แบบ indexed
addressing และอาจเป็นชนิด autoindexing ก็ได้
- ตัวชี้ตำแหน่งในสแต็ก (stack pointer) : ถ้าคอมพิวเตอร์นั้นใช้ระบบ user-visible stack addressing
สแต็กที่นำมาใช้งานจะะเก็บอยู่ในหน่วยความจำและจะมีจีสเตอร์ตัวหนึ่งที่ใช้ในการชี้ตำแหน่งข้อมูลตัวบนสุดในสแต็กนั้น
วิธีการนี้ช่วยให้สามารถอ้างอิงตำแหน่งข้อมูลโดยนัยได้ นั่นคือการใช้คำสั่ง PUSH, POP และคำสั่งอื่น ๆ ที่เกี่ยวกับสแต็กก็ไม่มีความ
จำเป็นจะต้องบอกตำแหน่งตัวถูกกระทำที่เก็บอยู่ในสแต็กนั้น
- รีจีสเตอร์สำหรับเก็บเงื่อนไขการทำงาน การเก็บเงื่อนไขการทำงานจะมีกลุ่มรีจีสเตอร์ที่ถูกกำหนดค่าขึ้นมาให้สอดคล้องกับผลการ
ประมวลผลของซีพียู เช่น การคำนวณทางคณิตศาสตร์ อาจทำให้ผลลัพธ์มีค่าเป็นจำนวนบวก จำนวนลบ เป็นศูนย์หรือ โอเวอร์โพลว์ก็ได้
กลุ่มบิตเหล่านี้ มักจะเรียกว่า "แฟล็ก” (Flags) ซึ่งจะแสดงไปพร้อม ๆ กับผลลัพธ์ที่คำนวณได้ และถูกเก็บไว้ในตำแหน่งที่
เก็บ ผลลัพธ์แล้ว บิตพิเศษกลุ่มนี้จะกำหนดค่าขึ้นมาให้สอดคล้องกับผลลัพธ์ที่ประมวลได้ เพื่อนำไปใช้ทดสอบค่าตามเงื่อนไขต่าง ๆ ที่ต้องการ

รีจีสเตอร์ควบคุมและแสดงสถานะ
เป็นกลุ่มรีจีสเตอร์ที่ส่วนใหญ่จะไม่ยินยอมให้ผู้ใช้มองเห็น บางส่วนอาจยินยอมให้ใช้คำสั่งเครื่องในการประมวลผลได้
แต่ต้องกระทำในฐานะของระบบปฏิบัติการเท่านั้น ซีพียูแต่ละรุ่นจะมีการจัดองค์ประกอบของรีจีสเตอร์แตกต่างกัน
ส่วนใหญ่จะแบ่งรีจีสเตอร์สำหรับควบคุมและแสดงสถานะออกเป็นสี่ประเภทดังนี้
- PC (Program counter) เป็นรีจีสเตอร์ที่เก็บที่อยู่ของคำสั่งที่จะถูกประมวลผลในลำดับต่อไป
- IR (Instruction register) เป็นรีจีสเตอร์ที่เก็บคำสั่งเครื่องที่ถูกอ่านจากหน่วยความจำหลักเข้ามาเก็บ
- MAR (Memory address register) ใช้เก็บตำแหน่งที่อยู่อ้างอิงในหน่วยความจำหลัก
- MBR (Memory buffer register) ใช้เก็บข้อมูลขนาด 1 เวิร์ด ล่าสุดที่ถูกอ่านเข้ามาในซีพียูหรือ
ใช้เก็บข้อมูลเพื่อเตรียมบันทึกลงในหน่วยความจำหลัก
โดยทั่วไป ซีพียูจะปรับปรุงค่าในรีจีสเตอร์ PC ทันทีภายหลังจากที่ได้อ่านคำสั่งเข้ามา เพื่อให้รีจีสเตอร์ PC นี้ชี้ตำแหน่ง
คำสั่งที่จะถูกอ่านเข้ามาในลำดับต่อไปเสมอ คำสั่งประเภท branch หรือ skip ทำให้เกิดการเปลี่ยนแปลงค่าในรีจีสเตอร์
นี้ได้ คำสั่งที่ถูกอ่านเข้ามาจะถูกนำไปเก็บไว้ที่รีจีสเตอร์ IR ซึ่งจะถูกวิเคราะห์รหัสดำเนินงาน และตัวกำหนดค่าตัวถูกกระทำ

การออกแบบซีพียูจะต้องกล่าวถึงรีจีสเตอร์ตัวหนึ่ง หรือกลุ่มหนึ่งที่เรียกว่า Program status word (PSW)
ซึ่งใช้เก็บข้อมูลสถานะการทำงานของซีพียูดังต่อไปนี้
- Sign : ใช้เก็บบิตเครื่องหมายของผลลัพธ์ที่เกิดขึ้นจากการประมวลผลคำสั่งทางคณิตศาสตร์ครั้งล่าสุด
- Zero : บิตนี้จะมีค่าเป็น “1” ถ้าผลลัพธ์ที่เกิดขึ้นจากการประมวลผลคำสั่งทางคณิตศาสตร์ครั้งล่าสุดมีค่าเป็น “0”
- Carry : บิตนี้จะมีค่าเป็น “1” ถ้าผลลัพธ์ที่เกิดขึ้นจากการประมวลผลคำสั่งทางคณิตศาสตร์ครั้งล่าสุดเกิดการยืมเลขจาก
หลักที่สูงกว่า หรือมีการทดเลขบิตที่มีค่าเกินบิตสูงสุด
- Equal : บิตนี้จะมีค่าเป็น “1” ถ้าผลการเปรียบเทียบทางตรรกะมีค่าเท่ากัน
- Overflow : ใช้สำหรับบอกให้ทราบว่า ผลลัพธ์ที่เกิดขึ้นจากการประมวลผลคำสั่งทางคณิตศาสตร์ครั้งล่าสุดเกิด overflow
- Interrupt enable/disable : ใช้ในการสั่งให้กระบวนการอินเทอร์รัพท์ทำงานหรือหยุดทำงาน
- Supervisor : ใช้ในการบอกสถานะ การทำงานของซีพียูว่า ในขณะนั้นมีสถานะเป็น user หรือ supervisor
คำ สั่งเครื่องบางส่วนที่เป็นคำสั่งสงวน จะสามารถประมวลผลได้ และเนื้อที่หน่วยความจำบางส่วนจะสามารถอ้างอิงถึงได้ก็ต่อเมื่อซีพียูอยู่ใน สถานะ supervisor เท่านั้น

วิวัฒนาการของคอมพิวเตอร์

วิวัฒนาการของคอมพิวเตอร์

นับตั้งแต่มีการประดิษฐ์คอมพิวเตอร์เครื่องแรกมาจนกระทั่งปัจจุบัน เราสามารถ
แบ่งยุคของการพัฒนาคอมพิวเตอร์ออกเป็นยุคต่างๆ ได้ 5 ยุค โดยพิจารณาจาก
เทคโนโลยีที่ใช้ในการสร้างเครื่องคอมพิวเตอร์

คอมพิวเตอร์ยุคที่ 1 

เป็นคอมพิวเตอร์ที่ใช้งานในช่วง ค.ศ 1951 - 1958 เป็น
คอมพิวเตอร์ที่ใช้หลอดสูญญากาศ (Vacuun Tube) ขนาดใหญ่ ต้องใช้พลังงาน
ไฟมากในการทำงานการใช้งานยาก ราคาแพง
 
                                 มาร์ค1


 
                                 อินิเอด

คอมพิวเตอร์ยุคที่ 2 

เป็นคอมพิวเตอร์ที่ใช้งานในช่วง ค.ศ 1959 - 1964 เป็น
คอมพิวเตอร์ที่ใช้ทรานซิสเตอรที่พัฒนาโดยเทคโนโลยีสารกึ่งตัวนำ นำมาใช้
แทนหลอดสุญญากาศทำให้คอมพิวเตอร์

คอมพิวเตอร์ยุคที่ 3 

เป็นคอมพิวเตอร์ที่ใช้ในช่วง ค.ศ 1965 - 1971 เป็นคอมพิวเตอร์ที่สร้างจาก
อุปกรณ์ ที่เรียกว่าวงจรรวม (Integrated Circuit) วงจรรวมเป็นวงจรที่นำเอาทรานซิสเตอร์หลายๆ
ตัวมาประดิษฐ์รวามบนชิ้นส่วนเดียวกัน ทำให้ขนาดของคอมพิวเตอร์เล็กลง และราคาก็ถูกลงกว่าเดิม
 

คอมพิวเตอร์ยุึคที่ 4 

เป็นคอมพิวเตอร์ที่ใช้งานในช่วง ค.ศ 1972 - 1980 เป็นคอมพิวเตอร์ที่ใช้วงจร
รวมขนาดใหญ่ขึ้นที่รวมการทำงานของทรานซิสเตอร์จำนวนมากขึ้นไว้บนชิ้นส่วนเดียว ทำให้คอมพิวเตอร์
มีขนาดเล็กลงเป็นคอมพิวเตอร์ตั้งโต๊ะที่เราเห็นกันทั่้วไป

คอมพิวเตอร์ยุคที่ 5 

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

การรับส่งข้อมูลเข้าออก(I/O)

การรับส่งข้อมูลเข้าออก(I/O)

หน่วยรับส่งข้อมูลเข้าออก 

        ทำหน้าที่เป็นตัวกลาง การถ่ายเทข้อมูลระหว่างระบบคอมพิวเตอร์กับโลกภายนอก โดยโลกภายนอกจะหมายถึงอุปกรณ์บริวารประเภทต่าง ๆ เช่น แป้นพิมพ์ จอภาพ เครื่องพิมพ์ นอกจากนี้อุปกรณ์บริวารยังหมายถึง อุปกรณ์ที่ใช้ในงานอื่น ๆ ที่ต่อเชื่อมอยู่กับระบบคอมพิวเตอร์ เช่น ในเครื่องคอมพิวเตอร์ที่ใช้ในกระบวนการผลิตในโรงงานอุตสาหกรรม อาจจะต่อเชื่อมอยู่กับอุปกรณ์วัดหรือควบคุมอุณหภูมิ อุปกรณ์เครื่องมือวัดต่าง ๆ เป็นต้น หน่วยรับส่งข้อมูลเข้าออก บางทีจะเรียกว่า อุปกรณ์เชื่อมต่อไอโอ หรือเรียกทับศัพท์ว่า อุปกรณ์อินเตอร์เฟส (interface) เนื่องจากอุปกรณ์เชื่อมต่อนี้จะเป็นชุดของวงจร ซึ่งอาจจะเป็นชุดมาตรฐานที่ติดตั้งมาพร้อมกับระบบคอมพิวเตอร์ ได้แก่ ชุดเชื่อมต่อแป้นพิมพ์ เมาส์ เครื่องพิมพ์ หรืออาจจะผลิตออกมาเป็นแผงวงจร (การ์ด) เพื่อนำไปเสียบลงในช่องขยายเพิ่ม (Expansion slot) ในระบบคอมพิวเตอร์ ดังนั้นจึงอาจจะเรียกว่า อินเตอร์เฟสการ์ดหรือโมดูลไอโอ (คำว่าไอโอ หมายถึง Input / Output)หน่วยรับส่งข้อมูลเข้าออกจะจัดข้อมูลที่รับจากอุปกรณ์ต่อพ่วงให้อยู่ในรูป ที่เหมาะสมแล้วส่งให้ระบบคอมพิวเตอร์ ในทางกลับกันก็จะสามารถรับข้อมูลจากระบบคอมพิวเตอร์ แล้วจัดให้อยู่ในรูปที่เหมาะสม เพื่อส่งให้อุปกรณ์ต่อพ่วง การทำหน้าที่ดังกล่าวนี้ เนื่องจากรูปแบบทางข้อมูลที่ใช้ในอุปกรณ์ต่อพ่วงและระบบคอมพิวเตอร์ โดยปกติจะมีรูปแบบที่แตกต่างกัน
หน่วยรับข้อมูลเข้าออกแต่ละหน่วย จะเชื่อมต่ออยู่กับบัสหลัก คือ บัสตำแหน่ง บัสข้อมูล และบัสควบคุม ดังนั้นการบ่งชื่อหรือตำแหน่งของหน่วยรับส่งข้อมูลเข้าออก สามารถ ทำได้สองวิธี วิธีแรกโดยการจัดให้หน่วยรับส่งข้อมูลเข้าออกเป็นส่วนหนึ่งของหน่วยความ จำหลัก จึงสามารถที่จะใช้ คำสั่ง ส่งข้อมูลเข้าออกหน่วยรับส่งข้อมูลเข้าออกได้เช่นเดียวกับคำสั่งที่ใช้กับ หน่วยความจำปกติ วิธีที่สองทำโดยการจัดวงจรเพิ่มเติมเพื่อบ่งตำแหน่งหรือรหัสประจำหน่วยรับ ส่งข้อมูลเข้าออก กรณีนี้จะต้องใช้คำสั่งเฉพาะของหน่วยรับส่งข้อมูลเข้าออก
       การเชื่อมต่ออุปกรณ์ต่อพ่วงปกติจะไม่สามารถเชื่อมต่อเข้าโดยตรงกับบัสหลัก แต่จะต่อผ่านโมดุลไอโอโดยมีเหตุผลดังนี้
- อุปกรณ์ต่อพ่วงมีอยู่จำนวนมาก ซึ่งมีวิธีทำงานที่แตกต่างกันทำให้ไม่มีความเหมาะสมในการปล่อยให้ซีพียู เป็นตัวควบคุมการทำงานอุปกรณ์ทั้งหมด
- อัตราการถ่ายเทข้อมูลของอุปกรณ์ต่อพ่วงนั้นช้ากว่าความเร็วในการทำงานของซี พียู มาก ดังนั้นจึงเป็นการไม่เหมาะสมที่จะต่ออุปกรณ์เหล่านี้เข้ากับบัสโดยตรง
- อัตราการถ่ายเทข้อมูลของอุปกรณ์บางชนิด สูงกว่าความเร็วของหน่วยความจำหลัก หรือแม้กระทั่ง ซีพียู ซึ่งก็ไม่เหมาะสมที่จะนำอุปกรณ์เหล่านี้ต่อเข้าโดยตรงกับบัสเช่นกัน
- โครงสร้างข้อมูลหรือขนาดของเวิร์ดไม่เหมือนกับรูปแบบหรือขนาดที่เครื่องคอมพิวเตอร์ใช้อยู่

รูปแบบการรับและส่งข้อมูล หน่วยรับส่งข้อมูลเข้าออก มีการรับส่งข้อมูลอยู่ 2 ระบบ ได้แก่ การรับส่งข้อมูลแบบขนานหรืออาจเรียกว่า PIO (parallel Input / Output) ซึ่งจะสามารถรับส่งข้อมูลได้ครั้งละหลายบิต เช่น 4, 8, 16 หรือ 32 บิต นอกจากการรับส่งข้อมูลแล้ว จะต้องมีการแลกเปลี่ยนสัญญาณควบคุมระหว่างหน่วยรับส่งข้อมูลเข้าออกและ อุปกรณ์ต่อพ่วงด้วย ทั้งนี้เพื่อรักษาจังหวะในการถ่ายเทข้อมูล ระหว่างหน่วยรับส่งข้อมูลเข้าออกและอุปกรณ์ต่อพ่วง สัญญาณควบคุมมีประโยชน์มากเพราะโดยปกติ อุปกรณ์ต่อพ่วงจะมีการทำงานในอัตราที่ช้ากว่าระบบคอมพิวเตอร์ หากระบบคอมพิวเตอร์ส่งข้อมูลด้วยอัตราความเร็วจนอุปกรณ์ต่อพ่วงรับไม่ทัน ก็จะเกิดการสูญหายของข้อมูล วิธีแก้ก็คืออุปกรณ์ต่อพ่วงจะมีสัญญาณคอยแจ้งว่าตนเองพร้อมที่จะรับข้อมูล เพิ่มเติม (ready) และหน่วยรับส่งข้อมูลเข้าออกก็จะมีสัญญาณคอยแจ้งว่าจะมีการส่งข้อมูล การประสานงานกันระหว่างสัญญาณทั้งสองนี้ เรียกว่า วิธีจับมือ (handshaking) ระหว่างหน่วยรับส่งข้อมูลเข้าออกและอุปกรณ์ต่อพ่วงซึ่งจะทำให้การรับส่ง ข้อมูลที่มีประสิทธิภาพขึ้น

หน้าที่และโครงสร้างของหน่วยรับและส่งข้อมูลเข้าออก
หน้าที่ของหน่วยรับและส่งข้อมูล
หน่วยรับส่งข้อมูลเข้าออกหรือโมดูลไอโอ จะเป็นตัวคั่นกลางระหว่างระบบคอมพิวเตอร์และอุปกรณ์ต่อพ่วง ดังนั้น โมดูลไอโอซึ่งทำหน้าที่บริการทั้งสองด้าน หน้าที่หลักของโมดูลไอโอ สามารถแบ่งออกได้ดังนี้
- การควบคุมและรักษาจังหวะการทำงาน
- การสื่อสารกับโปรเซสเซอร์และสื่อสารกับอุปกรณ์ต่อพ่วง
- การจัดการบัฟเฟอร์
- การตรวจสอบข้อผิดพลาด
ในช่วงเวลาใด ๆ ก็ตาม โปรเซสเซอร์อาจจะทำการสื่อสารกับอุปกรณ์ภายนอกหนึ่งอย่างหรือมากกว่านี้ ในรูปแบบที่ไม่สามารถคาดเดาได้ ซึ่งขึ้นอยู่กับความต้องการไอโอของโปรแกรมที่ทำงานอยู่ในเวลานั้น ทรัพยากรภายใน เช่น หน่วยความจำหลักและบัสหลัก จะต้องถูกนำมาใช้ในงานร่วมกันระหว่างกิจกรรมหลายชนิด ร่วมทั้งการอ่านหรือบันทึกข้อมูลผ่านโมดูลไอโอ ดังนั้นฟังก์ชันไอโอจึงหมายถึง ความต้องการในการควบคุมและการจับเวลา(control and timing)เพื่อการประสานงานให้ข้อมูลสามารถไหลผ่านทางทรัพยากรภายในในอุปกรณ์ ภายนอกได้ตัวอย่างเช่น การควบคุมการถ่ายเทข้อมูลจากอุปกรณ์ภายนอกมายังโปรเซสเซอร์ อาจจะเกี่ยวพันกับการทำงานดังนี้
- โปรเซสเซอร์ทำการติดต่อกับโมดูลไอโอ เพื่อตรวจสอบสถานะของอุปกรณ์ที่ต้องการใช้งาน
- โมดูลไอโอส่งข้อมูลแสดงสถานะกลับมาให้
- ถ้าอุปกรณ์นั้นสามารถใช้งานได้ และพร้อมที่จะถ่ายเทข้อมูล โปรเซสเซอร์จะร้องขอถ่ายเทข้อมูลผ่านการออกคำสั่งไปยังโมดูลไอโอ
- โมดูลไอโอได้รับข้อมูลชุดแรก (8 บิตหรือ16 บิต)มาจากอุปกรณ์ภายนอก
- ข้อมูลถ่ายเทจากโมดูลไอโอต่อไปกับโปรเซสเซอร์
ถ้าระบบคอมพิวเตอร์มีบัสหลักใช้งาน การโต้ตอบระหว่างโปรเซสเซอร์และโมดูลไอโอจะเกี่ยวข้องกับการถือครองบัส เหตุการณ์ที่สมมติยังแสดงให้เห็นว่า โมดูลไอโอจะต้องสื่อสารกับโปรเซสเซอร์และสื่อสารกับอุปกรณ์ภายนอก การสื่อสารกับโปรเซสเซอร์เกี่ยวข้องกับสิ่งต่อไปนี้
- การถอดรหัสคำสั่ง (command decoding) : โมดูลไอโอรับคำสั่งจากโปรเซสเซอร์ซึ่งปกติจะส่งสัญญาณมาทางบัสควบคุมการทำ งาน(control bus)ตัวอย่างเช่นโมดูลไอโอสำหรับขับดิสก์จะรับคำสั่งเช่น READ SECTOR,WRITE SECTOR,SEEK track number,และ SCAN record ID คำสั่งสองคำสั่งหลังจำเป็นต้องมีการส่งผ่านตัวกำหนดค่ามาด้วย ซึ่งจะส่งมาทางบัสสำหรับถ่ายเทข้อมูล
- ข้อมูล (Data) : โปรเซสเซอร์จะแลกเปลี่ยนข้อมูลกับโมดูลไอโอ ผ่านทางบัสสำหรับถ่ายเทข้อมูล
- การรายงานสถานะ (status reporting) : เนื่องจากอุปกรณ์ต่อพ่วง มักจะมีความเร็วต่ำมาก จึงมีความจำเป็นต้องทราบสถานะการทำงานของอุปกรณ์ ตัวอย่างเช่น ถ้าโมดูลไอโอถูกสั่งให้อ่านข้อมูลส่งมาให้โปรเซสเซอร์ อุปกรณ์ดังกล่าวอาจจะยังไม่ว่างเนื่องจากกำลังให้บริการคำสั่งที่มาก่อนหน้า นี้ ข้อเท็จจริงข้อนี้สามารถส่งยังโปรเซสเซอร์ผ่านทางสัญญาณสถานะการทำงาน ซึ่งโดทั่วไปมีอยู่สองอย่างคือ BUSY (ไม่- - การรับรู้ที่อยู่ (address recognition): อุปกรณ์ไอโอก็คล้ายกับหน่วย ความจำ คือแต่ละ เวิร์ด จะมีหมายเลขที่อยู่เฉพาะเป็นของตนเอง นั้นคืออุปกรณ์ไอโอแต่ละชิ้นจะต้องมีหมายเลขเฉพาะสำหรับการอ้างอิงเป็นของตน เอง ดังนั้นโมดูลไอโอจะต้องสามารถรับรู้หมายที่อยู่เฉพาะของอุปกรณ์แต่ละชนิดได้ อีกด้านหนึ่ง โมดูลไอโอจะต้องสามารถสื่อสารกับอุปกรณ์ไอโอได้ การสื่อสารนี้ได้แก่การออกคำสั่ง รายงานสถานะการทำงาน และการถ่ายเทข้อมูลงานที่มีความสำคัญมากที่สุดส่วนหนึ่งของโมดูลไอโอคือ การทำบัฟเฟอร์สำหรับข้อมูล (data buffering) ความต้องการนี้จะถ่ายเทข้อมูลไปยังหรือมาจากหน่วยความหลักหรือโปรเซสเซอร์ นั้นสูงมาก แต่อัตราการถ่ายเทข้อมูลของอุปกรณ์ต่อพ่วงต่าง ๆ นั้นช้ามากกว่าหลายเท่าตัว และยังมีอัตราการถ่ายเทที่แตกต่างกันในช่วงที่กว้างมากด้วย ข้อมูลที่ถูกส่งมาจากหน่วยจำหลัก ถูกส่งมายังโมดูลไอโอในลักษณะที่มีความเร็วสูงมากแต่เป็นช่วงสั้น ๆ เรียกว่า เบิรซท์ (burst) ข้อมูลนั้นจะถูกเก็บไว้ในบัฟเฟอร์ของโมดูลไอโอ จากนั้นจึงถูกส่งไปยังอุปกรณ์ต่อพ่วงด้วยความเร็วต่ำเท่ากับอุปกรณ์นั้นๆ ซึ่งในด้านที่รับข้อมูลนั้นก็จะทำงานที่ความเร็วสูงมาก เพื่อไม่ให้หน่วยความจำต้องมาถูกบังคับให้ทำงานช้าลงเพราะอุปกรณ์ความเร็ว ต่ำ โมดูลไอโอจึงสามารถทำงานเท่ากับหน่วยความจำและโปรเซสเซอร์ และจะต้องสามารถทำงานได้ช้ามากเท่ากับความเร็วของอุปกรณ์ต่อพ่วงแต่ละตัวที่ มีใช้งาน ในทางกลับกันถ้าอุปกรณ์ไอโอทำงานที่ความเร็วสูงมากกว่าที่หน่วยความจำจะทำ งานตามได้ทันแล้ว โมดูลไอโอจะต้องใช้เทคนิคบัฟเฟอร์กับอุปกรณ์นั้น

โครงสร้างของโมดูลไอโอ
โม ดูลไอโอแต่ละโมดูลมีความแตกต่างกันมากมายหลายแบบขึ้นอยู่กับชนิดและการทำงาน ของอุปกรณ์ต่อพ่วง จำนวนอุปกรณ์ที่ต่อพ่วงโมดูลที่จะควบคุมได้ ในที่นี้จะกล่าวถึงรูปแบบทั่วไปเท่านั้น แสดงบล็อกไดอะแกรมของโมดูลไอโอทั่วไป โมดูลไอโอจะมีส่วนที่เชื่อมต่อระบบคอมพิวเตอร์โดยผ่าน บัสหลัก ได้แก่ บัสข้อมูล บัสตำแหน่งและบัสควบคุม ข้อมูลที่ส่งผ่านโมดูลจะผ่านบัฟเฟอร์ที่เป็นรีจีสเตอร์ข้อมูล ซึ่งรีจีสเตอร์นี้จะทำหน้าที่พักข้อมูลที่รับจากซีพียูเพื่อส่งไปให้อุปกรณ์ ต่อพ่วงหรือทำหน้าที่รับข้อมูลจากอุปกรณ์ต่อพ่วงเพื่อส่งไปให้ซีพียู
การควบคุมไอโอด้วยโปรแกรม
วิธี การทำงานของไอโอมีอยู่สามวิธี วิธีแรกคือการควบคุมด้วยโปรแกรม(programmed I/O) ข้อมูลจะเกิดการแลกเปลี่ยนระหว่างโปรเซสเซอร์กับโมดูลไอโอ โปรเซสเซอร์จะประมวลผลโปรแกรมที่เป็นการออกคำสั่งโดยตรงเกี่ยวกับการทำงาน ของไอโอรวมทั้งการตรวจสอบสถานะของอุปกรณ์ การสั่งอ่านหรือบันทึกข้อมูล และการถ่ายเทข้อมูล เมื่อโปรเซสเซอร์ออกคำสั่งไปยังโมดูลไอโอ โปรเซสเซอร์จะต้องรอจนกว่าการตอบสนองต่อคำสั่งนั้นจะสิ้นสุด ถ้าโปรเซสเซอร์ทำงานได้เร็วกว่าโมดูลไอโอ การรอคอยนี้จะเป็นการเสียเวลาของโปรเซสเซอร์เป็นอย่างยิ่ง วิธีที่สองเรียกว่า การควบคุมไอโอผ่านกระบวนการอินเทอร์รัพท์ (Interrupt-driven I/O) โปรเซสเซอร์จะออกคำสั่งไอโอ แล้วหันกลับไปประมวลผลคำสั่งอื่นต่อไป เมื่อโมดูลไอโอทำงานที่ได้รับมอบนั้นเสร็จเรียบร้อยแล้วก็จะส่งสัญญาณผ่าน อินเทอร์รัพท์มาบอกให้ทราบ ทั้งสองวิธีนี้โปรเซสเซอร์จะต้องรับผิดชอบในการดึงข้อมูลออกมาจากหน่วยความ จำหลักและส่งไปให้โมดูลไอโอ และจะต้องจัดการบันทึกข้อมูลที่ได้รับจากโมดูลไอโอเข้าไปในหน่วยความจำ สำหรับการอ่านข้อมูล วิธีที่สามคือ ดีเอ็มเอ หรือการเข้าถึงหน่วยความจำหลักโดยตรง (Direct memory access: DMA) ด้วยวิธีการนี้ โมดูลไอโอและหน่วยความจำหลักจะแลกเปลี่ยนข้อมูลกันโดยตรง โดยที่โปรเซสเซอร์จะมีส่วนร่วมในการทำงานน้อยมากการควบคุมไอโอด้วยโปรแกรมนั้น เมื่อซีพียูประมวลผลโปรแกรมหลักจะทำการตรวจสอบรีจีสเตอร์สถานะ (I/O status register) ของไอโอเป็นระยะ ๆ (ตามเวลาที่กำหนดไว้) ว่าอุปกรณ์ต่อพ่วงใดแสดงความพร้อมที่จะขอติดต่อกับซีพียู หรืออีกกรณีหนึ่งเมื่อซีพียูพบคำสั่งที่เกี่ยวข้องกับไอโอ ซีพียูก็จะเรียกใช้ชุดคำสั่งหรือโปรแกรมย่อย เพื่อให้บริการอุปกรณ์ต่อพ่วงนั้น จากนั้นก็จะเปลี่ยนบิตบอกสถานะของโมดูลไอโอให้เป็น “0” หรือเป็นค่าที่เหมาะสม เพื่อเมื่อปฏิบัติเสร็จเรียบร้อยโมดูลไอโอก็จะไม่ทำอะไรต่อ ดังนั้นจึงเป็นหน้าที่ของ ซีพียูที่จะคอยตรวจสอบ ดูสถานะของโมดูลไอโอจนพบว่างานที่ได้สั่งให้ทำนั้นเสร็จเรียบร้อยแล้ว

ในการประมวลผลคำสั่งที่เกี่ยวข้องกับไอโอ ซีพียูจะต้องกำหนดหมายเลขที่อยู่หรือแอดเดรสของโมดูลไอโอและอุปกรณ์ต่อพ่วง หรืออุปกรณ์ต่อพ่วงแต่ละชนิดจะได้รับหมายเลขที่ไม่ซ้ำกัน เมื่อซีพียูส่งคำสั่งไอโอมายังโมดูลไอโอ คำสั่งนั้นจะระบุหมายเลขที่อยู่ของอุปกรณ์ต่อพ่วงที่ต้องการไว้ด้วยเสมอ ดังนั้นโมดูลไอโอจะต้องตรวจสอบสัญญาณที่มาตามสายสัญญาณว่า เป็นหมายเลขที่อยู่ของตนเองหรือไม่ คำสั่งที่ต้องการให้อุปกรณ์ต่อพ่วงปฏิบัติจะมี 4 อย่างด้วยกันคือ
- การควบคุม (Control) : ใช้ในการกระตุ้นให้อุปกรณ์ไอโอพร้อมที่จะปฏิบัติงาน และบอกให้ทราบว่าจะต้องทำงานอะไร ตัวอย่างเช่น หน่วยเทปแม่เหล็กอาจได้รับคำสั่งให้ม้วนเทปกลับหรือหมุนเทปไปข้างหน้าหนึ่ง ระเบียน คำสั่งเหล่านี้จะได้รับการปรับแต่งให้มีความเหมาะสมกับอุปกรณ์แต่ละชนิด
- การทดสอบ (Test) : ใช้สำหรับการทดสอบสถานะการทำงานหลายอย่างของโมดูลไอโอและอุปกรณ์ โปรเซสเซอร์จะต้องการทราบว่าอุปกรณ์ที่ต้องการใช้งานนั้น มีความพร้อมใช้งานอยู่หรือไม่ หรือต้องการทราบว่าคำสั่งที่ให้ปฏิบัติก่อนหน้านี้ได้เสร็จเรียบร้อยหรือยัง หรือว่ามีข้อผิดพลาดใด ๆ เกิดขึ้นหรือไม่
- การอ่านข้อมูล (Read) : จะทำให้โมดูลไอโออ่านข้อมูลมาจากอุปกรณ์ที่ต่อพ่วงและใส่เข้าไว้ในบัฟเฟอร์ จากนั้นโปรเซสเซอร์จะสามารถนำข้อมูลไปใช้ โดยออกคำสั่งให้โมดูลไอโอใส่ข้อมูลเข้าไปในบัสนำสั่ง- การบันทึกข้อมูล (Write) : จะทำให้โมดูลไอโอนำข้อมูล (ไบต์ หรือ เวิร์ด) จากบัสนำส่งข้อมูล ไปส่งต่อให้กับอุปกรณ์ต่อพ่วงที่ต้องการ

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

ในไมโครโปรเซสเซอร์แทบทุกประเภท การอินเทอร์รัพท์กระทำโดยการที่อุปกรณ์ต่อพ่วงส่งสัญญาณอิเล็กทรอนิกส์ไป เปลี่ยนระดับตรรกะที่ขาหนึ่งของไมโครโปรเซสเซอร์ เราเรียกขานั้นว่า ขาอินเทอร์รัพท์ เพื่อแจ้งให้ไมโครโปรเซสเซอร์ทราบ กระบวนการในการเกิดอินเทอร์รัพท์ จะเกิดเหตุการณ์ดังต่อไปนี้
- อุปกรณ์ไอโอจะส่งสัญญาณอินเทอร์รัพท์ไปยังซีพียู
- ซีพียูทำการประมวลผลคำสั่งในโปรแกรมที่กำลังทำงานอยู่จนเสร็จเรียบร้อย (เฉพาะคำสั่งที่กำลังทำอยู่นั้น) ก่อนที่จะตอบสนองต่ออินเทอร์รัพท์
- ซีพียูจะทำการทดสอบอินเตอร์รัพท์ ตรวจสอบว่ามีเพียงอินเทอร์รัพท์เดียว และส่งสัญญาณตอบรับไปยังอุปกรณ์ที่ส่งสัญญาณอินเทอร์รัพท์นั้น การตอบรับจะทำให้อุปกรณ์นั้นหยุดส่งสัญญาณอินเทอร์รัพท์
- ซีพียูจะเตรียมการประมวลผลโปรแกรมสำหรับอินเทอร์รัพท์นั้น (เรียกว่า interrupt routine) ซึ่งเริ่มต้นด้วยการบันทึกข้อมูลที่เกี่ยวข้องกับการประมวลผลโปรแกรมที่ กำลังทำงานอยู่นั้น (ก่อนเกิดอินเทอร์รัพท์) ประกอบด้วย (1) สถานะการทำงานของโปรเซสเซอร์ซึ่งเก็บอยู่ในรีจีสเตอร์ตัวหนึ่ง เรียกว่า Program status word (PSW) และ (2) ตำแหน่งของคำสั่งต่อไปที่จะถูกประมวลผล ซึ่งเก็บอยู่ในรีจีสเตอร์เรียกว่า Program counter (PC) ข้อมูลเหล่านี้อาจถูกเก็บในสแต็กควบคุมการทำงานของระบบ)
- โปรเซสเซอร์จะดึงคำสั่งแรกของโปรแกรมสำหรับอินเทอร์รัพท์ที่เกิดขึ้นนั้น ขึ้นมาทำงานเพื่อตอบเสนองต่ออินเทอร์รัพท์ โปรแกรมดังกล่าวอาจเป็นเพียงโปรแกรมเดียวสำหรับอินเทอร์รัพท์แต่ละอย่าง หรือโปรแกรมเดียวสำหรับอุปกรณ์แต่ละอย่าง ซึ่งขึ้นอยู่กับสถาปัตยกรรมของคอมพิวเตอร์หรือระบบปฏิบัติการที่เลือกใช้ ในกรณีที่มีโปรแกรมสำหรับอินเทอร์รัพท์มากกว่าหนึ่งโปรแกรม โปรเซสเซอร์จะต้องทำการตัดสินใจเลือกโปรแกรมหนึ่งขึ้นมาทำงานซึ่งข้อมูล สำหรับการตัดสินใจนี้อาจถูกส่งมาพร้อมกับสัญญาณอินเทอร์รัพท์แล้ว หรือโปรเซสเซอร์อาจจะต้องส่งสัญญาณไปถามอุปกรณ์ที่เป็นผู้ส่งสัญญาณอิน เทอร์รัพท์เข้ามาจึงจะสามารถเลือกโปรแกรมที่ถูกต้องได้
- ณ เวลานี้ โปรแกรมเคาน์เตอร์และ PSW ที่เกี่ยวข้องกับโปรแกรมที่ถูกขัดจังหวะการทำงานได้ถูกบันทึกไว้ในสแต็กของ ระบบเรียบร้อยแล้ว อย่างไรก็ตาม ยังคงมีข้อมูลอื่นที่ถือได้ว่าเป็นส่วนหนึ่งของสถานะของโปรแกรมที่กำลังถูก ประมวลผลอยู่ นั่นคือข้อมูลที่เก็บอยู่ใน รีจีสเตอร์ภายในตัวโปรเซสเซอร์จะต้องถูกบันทึกไว้เช่นเดียวกัน เนื่องจากรีจีสเตอร์เหล่านี้อาจถูกใช้โดยโปรแกรมสำหรับอินเทอร์รัพท์ ดังนั้นข้อมูลในรีจีสเตอร์เหล่านี้ (และอาจหมายถึงข้อมูลแสดงสถานะอื่น ๆ ) จะต้องถูกบันทึกไว้ด้วย โดยทั่วไปโปรแกรมสำหรับอินเทอร์รัพท์จะเริ่มต้นการทำงานด้วยการบันทึกข้อมูล ในรีจีสเตอร์ลงในสแต็ก
- โปรแกรมนี้ก็จะเริ่มทำงานต่อไป ด้วยการตรวจสอบสถานะที่เกี่ยวข้องกับการทำงานไอโอที่ต้องการ หรือเหตุการณ์อื่นที่ทำให้เกิดอินเทอร์รัพท์ การทำงานนี้อาจรวมถึงการส่งคำสั่งเพิ่มเติมหรือการส่งการตอบรับไปยังอุปกรณ์ ไอโอ
- เมื่อโปรแกรมอินเทอร์รัพท์ทำงานเสร็จแล้ว ก็จะปิดท้ายด้วยการคืนค่าให้แก่ รีจีสเตอร์ในซีพียูที่นำมาจากสแต็กของระบบ
- การทำงานส่วนสุดท้ายคือ การคืนค่าให้แก่ PSW และโปรแกรมเคาน์เตอร์ที่นำมาจากสแต็กของระบบ ทำให้คำสั่งต่อไปที่จะถูกประมวลผลนั้นถูกอ่านมาจากคำสั่งในตำแหน่งต่อไปของ โปรแกรมที่ถูกขัดจังหวะการทำงานก่อนหน้านี้

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

การเชื่อมต่อโมดูลไอโอกับอุปกรณ์ต่อพ่วง
การ ติดต่อสื่อสารระหว่างคอมพิวเตอร์กับอุปกรณ์ภายนอกหรืออุปกรณ์ต่อพ่วง ซึ่งมีอยู่มากหมายหลายประเภท เช่น แป้นพิมพ์ เครื่องพิมพ์ สแกน โมเด็ม เป็นต้น ซึ่งอุปกรณ์เหล่านี้จะต้องอาศัยช่องทาง (port) สำหรับส่งถ่ายข้อมูล พอร์ตหรือช่องทางนี้มีการทำงานอยู่สองแบบ คือ ทำงานแบบอนุกรม (serial) และทำงานแบบขนาน (parallel) ดังได้กล่าวมาแล้วในหัวข้อ 6.3 ในการทำงานของส่วนเชื่อมต่อแบบขนานจะมีสายสัญญาณหลายเส้นเชื่อมต่อระหว่างโม ดูลไอโอและอุปกรณ์ต่อพ่วงทำให้สามารถถ่ายโอนข้อมูลได้หลายบิตพร้อม ๆ กัน ส่วนการเชื่อมต่อแบบอนุกรมจะมีสายสัญญาณเพียงเส้นเดียวเท่านั้นที่ใช้ในการ ถ่ายโอนข้อมูล ซึ่งจะถูกส่งออกครั้งละหนึ่งบิต การเชื่อมต่อแบบขนานมักจะใช้ เชื่อมต่อกับอุปกรณ์ต่อพ่วงที่สามารถทำได้อย่างรวดเร็ว เช่น ฮาร์ดดิสก์หรือเทปแม่เหล็ก ในขณะที่การเชื่อมต่อแบบอนุกรมจะนำไปใช้กับอุปกรณ์ที่มีความเร็วต่ำ เช่น เครื่องพิมพ์ จอภาพ เป็นต้น ในปัจจุบันได้มีการขยายการเชื่อมต่อแบบอนุกรมความเร็วสูงสุดขึ้นมาใช้งาน ซึ่งจะทำให้การเชื่อมต่อแบบขนานมีความสำคัญลดลง การเชื่อมต่อแบบอนุกรม ความเร็วสูงที่กำลังได้รับ ความนิยมก็คือ USB และ FireWire
มาตรฐานการเชื่อมต่อ USB
USB ย่อมาจาก Universal Serial Bus เป็นมาตรฐานการเชื่อมต่ออุปกรณ์ ไอโอ ภายนอกแบบใหม่สำหรับเครื่องคอมพิวเตอร์ในระดับพีซีที่ใช้งานง่ายราคาถูก สามารถจัด คอนฟิกูเรชันได้ง่ายอีกทั้งมีความเร็วอีกทั้งมีความเร็วในการถ่ายเทข้อมูล สูงสุด ซึ่งสามารถสนับสนุนการถ่ายข้อมูลที่ความเร็ว12Mb/วินาที ลักษณะของข้อมูลสามารถเป็นได้ทั้งรูปแบบการถ่ายเทข้อมูลในลักษณะกระแสและ แพ็กเก็ต (Packet ในที่นี้จะหมายถึงในลักษณะรูปแบบของข้อมูลที่มีแบบแผนตายตัวที่เรียกว่า Frame ที่ประกอบด้วยส่วนหัว ส่วนข้อมูลและส่วนหางที่ใช้ตรวจสอบความผิดพลาดของข้อมูล)
การที่ USB สนับสนุนการส่งถ่ายข้อมูลหลายรูปแบบดังกล่าว จึงทำให้ USB สามารถรับรองอุปกรณ์ ไอโอ ได้หลากหลาย เช่น เมาส์ แป้นพิมพ์ กล้องถ่ายภาพและอุปกรณ์เชื่อมต่อ ISDN นอกจากนี้ USB ยังยอมให้เชื่อมต่อแบบ Hot plug ซึ่งหมายถึงความสามารถติดตั้งอุปกรณ์ไอโอ ได้ทันที่โดยไม่ต้องปิดเครื่องคอมพิวเตอร์เสียก่อนอุปกรณ์ที่ทำงานภายใต้ USB สามารถทำงานที่ความเร็วต่ำได้แก่ 1.5 Mb/วินาที หรือความเร็วสูงสุดคือ 12 Mb/วินาที ซึ่งข้อดีของการทำงานที่เร็วต่ำหมายถึงสัญญาณ
รบกวนที่เกี่ยวกับสนามแม่เหล็กไฟฟ้าจะมีน้อยกว่าอุปกรณ์ที่ทำงานด้วยความเร็วสูง ด้วยเหตุนี้จึงมีความน่าเชื่อถือมากกว่าUSB มีรูปแบบความเร็วในการถ่ายเทข้อมูล 2 แบบ ได้แก่ แบบความเร็วสูงสุด ซึ่ง USB ใช้เพื่อการส่งข่าวสารและถ่ายเทข้อมูลที่ความเร็ว 12 Mbps อุปกรณ์ที่ทำงานความเร็วสูงสุด ได้แก่ ซิปไดรฟ์ สแกนเนอร์ และเครื่องพิมพ์ เป็นต้น ส่วนแบบความเร็วต่ำอยู่ที่ 1.5 Mbps อุปกรณ์ที่ทำงานบนความเร็วต่ำ ได้แก่ แป้นพิมพ์ เมาส์ จอยสติก เป็นต้น โดยมี USB Host ที่ตั้งบนเมนบอร์ด ทำหน้าที่จัดการดูแลช่องสัญญาณและความเร็วของ USB ในแต่ละพอร์ต รวมทั้งควบคุมการสื่อสารและการถ่ายเทข้อมูล ระหว่าง USB Host กับอุปกรณ์ USB
ข้อดีของการใช้ USB มีหลายประการดังต่อไปนี้
- ราคาประหยัด USB ช่วยประหยัดค่าใช้จ่ายในการติดตั้งอุปกรณ์ไอโอรอบข้างของพีซี
- Hot Plug ท่านสามารถติดตั้งอุปกรณ์ ได้ทันที่โดยไม่ต้องปิดเครื่องคอมพิวเตอร์เสียก่อน การติดตั้งแบบนี้จะไม่ส่งผลกระทบต่อ USB รวมทั้งอุปกรณ์ข้างเคียง
- ใช้คอนเน็กเตอร์แบบเดี่ยว ด้วยคอนเน็กเตอร์ 1 ช่องสามารถติดตั้งอุปกรณ์ USB ใดก็ได้ แต่ถ้าต้องการเชื่อมต่ออุปกรณ์ USB มากกว่านี้ต้องติดตั้งผ่านฮับ USB
- สนับสนุนอุปกรณ์ความเร็วต่ำและความเร็วสูง USB สามารถสนับสนุนอุปกรณ์ที่ทำงานด้วยความเร็วต่ำได้แก่ 1.5 Mb/วินาที และสูงสุดที่ความเร็ว 12 Mb/วินาที ด้วยความเร็วต่ำจะทำให้ USB ทำงานได้ดีกับอุปกรณ์ USB ราคาถูก เนื่องจากสามารถใช้สายสัญญาณเชื่อมต่อที่ไม่ต้องมีระบบป้องกันการรบกวนของ สนามแม่เหล็ก
- สามารถจ่ายไฟจากสายเคเบิล อุปกรณ์ไอโอที่เชื่อมต่อภายนอกสามารถรับแรงดันไฟเลี้ยงอุปกรณ์จากสายเคเบิล USB โดยเฉพาะแรงดันไฟขนาด 5.0 Vdc นอกจากนี้กระแสไฟที่ส่งออกมาผ่านทางสายเคเบิลนี้มีขนาด 100-500 mA ทั้งนี้ขึ้นอยู่กับ USB ฮับ
- มีระบบตรวจสอบและแก้ไขความผิดพลาด ระบบ USB ยังมีการตรวจสอบความผิดพลาดรวมทั้งการแก้ไขในขณะที่มีการส่งถ่ายข้อมูลไป มาระหว่างอุปกรณ์ USB กับ USB อินเทอร์เฟส กรณีที่ตรวจพบความผิดพลาดระหว่างการถ่ายเทข้อมูลจะพยายามรับส่งข้อมูลกัน ใหม่อีกครั้ง ซึ่งเพิ่มความน่าเชื่อถือในการขนถ่ายข้อมูล
- ประหยัดพลังงาน อุปกรณ์ USB จะเข้าสู่การหยุดทำงานชั่วคราวถ้าไม่มีการทำงานใด ๆ เกิดขึ้นบนระบบบัสหลังจาก 3 มิลลิวินาทีผ่านไป และในขณะที่อยู่ในห้วงของการหยุดทำงานชั่วคราวดังกล่าว ระบบจะกินกระแสไฟเพียง 500 ไมโครแอมแปร์เท่านั้น
- สามารถสนับสนุนรูปแบบการถ่ายเทข้อมูล 4 แบบ ระบบ USB สนับสนุนการขนถ่ายข้อมูลได้ 4 รูปแบบ ได้แก่ Bulk, Isochronous, Interrupt และ Control Transfers
มาตรฐานการเชื่อมต่อ FireWire
การ เชื่อมต่อแบบ ไฟร์ไวร์ (Fi-Wi) เป็นการเชื่อมต่อกับอุปกรณ์ต่อพ่วงแบบอนุกรม ที่กำลังได้รับความนิยมอีกแบบหนึ่งนอกจากจะเป็นมาตรฐานการเชื่อมต่อในระบบ คอมพิวเตอร์แล้วยังนำไปใช้เป็นมาตรฐานการเชื่อมต่ออุปกรณ์อีเล็กทรอนิกส์ เครื่องใช้ในบ้านได้อีก ได้แก่ อุปกรณ์เกี่ยวกับภาพ เสียง และเกมส์ เป็นต้น ในปัจจุบันความเร็วของโปรเซสเซอร์ขึ้นไปถึงระดับ GHz หรือพันล้านเฮิรตซ์ต่อวินาที ในขณะที่อุปกรณ์บันทึกข้อมูลก็สามารถบันทึกข้อมูลได้ในระดับ gigabyte หรือ พันล้านไบต์ ทำให้ความต้องการทางไอโอสำหรับเครื่องคอมพิวเตอร์ส่วนบุคคล เครื่องเวิร์คสเตชัน และเครื่องเซิร์ฟเวอร์เพิ่มขึ้นอย่างมาก แม้ว่าจะมีเทคโนโลยีช่องสื่อสารไอโอความเร็วสูงที่ได้รับการพัฒนาขึ้นมา สำหรับเครื่องเมนเฟรม และซูเปอร์คอมพิวเตอร์ ซึ่งอาจนำมาใช้งานได้ แต่ก็เป็นอุปกรณ์ที่มีราคาแพงมาก และมีขนาดใหญ่เกินกว่าที่จะนำมาใช้ในเครื่องคอมพิวเตอร์ขนาดเล็ก ทำให้เกิดการค้นคว้าพัฒนาส่วนติดต่อความเร็วสูงขึ้นมาทดแทนระบบSCSI และระบบอื่น ๆ ที่ใช้อยู่ในปัจจุบัน ผลที่ได้รับจากการค้นคว้าคือมาตรฐาน IEEE 1394 ซึ่งเป็นบัสแบบอนุกรมประสิทธิภาพสูง เรียกชื่อทั่วไปว่า FireWire
FireWire มีข้อดีเหนือกว่าส่วนติดต่อไอโอแบบเก่าหลายประการ นั่นคือ เป็นระบบที่มีความเร็วสูง ราคาต่ำ และสร้างขึ้นมาใช้งานได้ง่าย อันที่จริงแล้ว ระบบนี้ไม่ได้นำมาใช้งานเฉพาะในระบบคอมพิวเตอร์เท่านั้น แต่ยังสามารถนำไปใช้ในอุปกรณ์ดิจิตอลอื่น ๆ ได้ เช่น กล้องดิจิตอล เครื่องเล่นวิดีโอ และโทรทัศน์ ในระบบเหล่านี้ FireWire ถูกนำมาใช้ในการถ่ายโอนข้อมูลทางด้านภาพ ซึ่งมีแหล่งที่มาจากอุปกรณ์ดิจิตอล จุดเด่นของส่วนติดต่อแบบ FireWire คือการใช้การสื่อสารแบบอนุกรม การสื่อสารแบบขนาน เช่น ระบบ SCSI นั้นจะต้องใช้สายสัญญาณเป็นจำนวนมากกว่า ทำให้ต้องใช้สายขนาดใหญ่ หัวเชื่อมต่อก็ต้องมีขนาดใหญ่ตามไปด้วย มีราคาแพงกว่า และมีโอกาสที่จะชำรุดเสียหายมากกว่า สายเคเบิลที่มีสายสัญญาณอยู่ข้างในหลายเส้นมีฉนวนภายในเพื่อป้องกันสัญญาณ รบกวนกันเองภายในสาย นอกจากนี้ ส่วนติดต่อแบบขนานจะต้องมีการเทียบจังหวะการทำงานของสัญญาณในสายทุกเส้น ให้ตรงกัน ซึ่งปัญหาเหล่านี้ยิ่งทวีความรุนแรงเมื่อสายมีขนาดยาวขึ้น