ระบบคอมพิวเตอร์ ( Computer System)
ในการใช้คอมพิวเตอร์ทำงานแล้วให้ได้ผลลัพธ์ออกมาตามความต้องการของผู้ใช้งานนั้น
ย่อมต้องมีองค์ประกอบที่เรียกว่า
ระบบคอมพิวเตอร์เข้ามาเกี่ยวข้องเสมอ ระบบคอมพิวเตอร์ประกอบด้วยอุปกรณ์อิเล็กทรอนิกส์หลายประเภททำงานร่วมกัน
โดยมีคำสั่งหรือที่เรียกว่าโปรแกรมเป็นตัวสั่งการให้อุปกรณ์เหล่านั้นทำงานได้ตามที่มนุษย์ต้องการ
ดังนั้นเมื่อกล่าวถึงระบบคอมพิวเตอร์สิ่งสำคัญของระบบจึงได้แก่
ฮาร์ดแวร์(hardware) ซอฟต์แวร์(software) และบุคลากร(Peopleware) นั่นคือ
เครื่องคอมพิวเตอร์จะทำงานได้ต้องประกอบด้วยองค์ประกอบ 3 ประการ คือ ฮาร์ดแวร์ (Hardware) หมายถึง ส่วนประกอบ โครงสร้าง รวมถึงอุปกรณ์ต่อพ่วงที่สนับสนุนการทำงานของเครื่องคอมพิวเตอร์ อุปกรณ์ต่าง ๆ เหล่านี้มนุษย์สามารถมองเห็นและสัมผัสได้ หน้าที่ของฮาร์ดแวร์ก็คือ ทำงานตามคำสั่งควบคุมการทำงานต่างๆ ที่มนุษย์เป็นผู้สร้างขึ้นเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
ซอฟแวร์ (Software) คือ คำสั่ง หรือชุดคำสั่ง ทำหน้าที่ควบคุมการทำงานของระบบคอมพิวเตอร์ และเป็นส่วนที่ทำให้ผู้ใช้คอมพิวเตอร์กับเครื่องคอมพิวเตอร์ (ฮาร์ดแวร์) สามารถสื่อสารกันได้ ทั้งนี้อาจแบ่งซอฟต์แวร์ตามหน้าที่ของการทำงานได้ดังนี้
พีเพิลแวร์ (People Ware) หรือผู้ใช้ระบบ ในระบบคอมพิวเตอร์ผู้ใช้ส่วนใหญ่เป็นส่วนหนึ่งที่จะก่อใ้เกิดผลลัพธ์จากการให้เครื่องคอมพิวเตอร์ทำงาน ด้วยเหตุที่ว่ามนุษย์เป็นผู้สร้างชุดคำสั่งหรือโปรแกรมขึ้นมาเพื่อควบคุมการทำงานของเครื่องนั่นเอง ในที่นี้จะขอกล่าวถึงผู้ใช้คอมพิวเตอร์ในระดับต่างๆ ดังนี้
ตัวควบคุมอุปกรณ์ แต่ละตัวจะมีหน้าที่ในการรับผิดชอบ
เครื่องพิมพ์ (Computer printer)
เป็นอุปกรณ์ต่อพ่วงที่จะผลิตข้อความและ/หรือกราฟิกของเอกสารที่เก็บไว้ในรูปแบบอิเล็กทรอนิกส์ออกมาในสื่อทางกายภาพเช่นกระดาษหรือแผ่นใสเครื่องพิมพ์ส่วนมากเป็นอุปกรณ์ต่อพ่วงกับคอมพิวเตอร์ทั่วไป
และเชื่อมต่อด้วยสายเคเบิลเครื่องพิมพ์หรือในเครื่องพิมพ์รุ่นใหม่จะเป็นสายยูเอสบีเครื่องพิมพ์บางชนิดที่เรียกกันว่าเครื่องพิมพ์เครือข่าย(Network
Printer) อินเตอร์เฟซที่ใช้มักจะเป็นแลนไร้สายและ/หรืออีเทอร์เน้ต
ซีพียู (CPU) หรือ ไมโครโปรเซสเซอร์ (Microprocessor)
นั้น ย่อมาจากคำว่า Central Processing Unit
ซึ่งหมายความว่าเป็นหน่วยประมวลผลกลาง
ซึ่งเปรียบเสมือนสมองของคอมพิวเตอร์ในการทำหน้าที่ตัดสินใจหรือคำนวณ
จากคำสั่งที่ได้รับมา ถือเป็นหัวใจหลักในการประมวลผลของคอมพิวเตอร์
โดยพื้นฐานแล้วซีพียูทำหน้าที่ประมวลผลข้อมูลทางคณิตศาสตร์และข้อมูลเชิงตรรกะ
บูต (Boot) ก็คือ การเตรียมความพร้อมในการใช้คอมพิวเตอร์ มีการตรวจสอบสถานะของเครื่อง การบอกรายละเอียดต่าง ๆ ของเครื่องคอมพิวเตอร์ บอกว่ามี RAM เท่าไร BUS อะไรบ้าง CPU ของเรามีความเร็วเท่าไรเป็นต้นพูดง่าย ๆ ว่าเป็นการเตรียมความพร้อมนั่นเอง โดยการบูตเครื่องจะมีโปรแกรม BIOS ซึ่งในปัจจุบันมีการพัฒนาไปหลาย version แล้ว เพื่อการทำงานที่มีประสิทธิภาพมากยิ่งขึ้นนั่นเอง
1. Cold Boot คือ การเปิดสวิตซ์ (ปุ่ม Power ด้านหน้า Case นั่นเอง) ซึ่งปิดอยู่ก่อนแล้วเพื่อเริ่มต้นการใช้งาน และ
2. Warm Boot คือ การ reboot โดยอาจกดปุ่มสวิตซ์ (ปุ่ม Power) เพื่อดับไฟหรือกดปุ่ม reset (ปุ่มเล็ก ๆ ด้านหน้า Case นั่นเอง) หรือกดปุ่ม Ctrl+Alt+Del บนคีย์บอร์ด เพื่อพักการใช้งานชั่วเวลาหนึ่ง ซึ่งอาจจะเกิดจากความบกพร่องบางอย่างที่ทำให้คอมพิวเตอร์ไม่สามารถทำงานต่อไปได้ หรือที่เรียกกันว่า เครื่องแฮงค์ (Hang) นั่นเอง
อินเตอร์รัพท์เวคเตอร์ มีบทบาทในการกระโดดไปยังตำแหน่งใหม่เมื่อซีพียูได้รับสัญญาณอินเตอร์รัพท์ ดังนี้คือเมื่อซีพียูได้รับสัญญาณอินเตอร์รัพท์ซีพียูจะตอบรับและกระโดดไปทำยังตำแหน่งที่บอกอินเตอร์รัพท์เวคเตอร์มาจากไหนโดยหลักง่ายๆสัญญาณอินเตอร์รัพท์เป็นสัญญาณเกิดจากวงจรภายนอกซีพียูดังนั้น วงจรภายนอกที่เป็นตัวกำเนิดสัญญาณ INT นี้ต้องเป็นผู้บอกให้ซีพียูรู้ว่าจะต้องไปทำคำสั่งที่ไหนนั่นคือวงจรภายนอกจะต้องเป็นผู้ให้อินเตอร์รัพท์เวคเตอร์ซึ่งเป็นตัวเลขบนารีแก่ซีพียูในเวลาที่ซีพียูตอบรับรู้สัญญาณ นั่นเองเราอาจเรียกง่ายๆว่าขบวนการInterruptacknowledgeคือการตอบรับรู้วงจรภายนอกที่กำเนิดสัญญาณ อินเตอร์รัพท์นั้นและขอรับอินเตอร์รัพท์เวคเตอร์จากวงจรภายนอกนั่นเอง
DMA (Direct Memory Access)
สำหรับอุปกรณ์เก็บข้อมูลขนาดใหญ่เช่น hard disk การเอาเวลาในการทำงานของ
CPU เพื่อไปใช้ในการควบคุมการและทำหน้าที่รับส่งข้อมูลระหว่าง hard disk
กับ memory ตลอดเวลานั้น
จึงเป็นเรื่องที่ไม่คุ้มค่าและสิ้นเปลืองเวลาในการทำงานของ CPU เพื่อไม่ให้
CPU ซึ่งแสนจะฉลาดปราดเปรื่องต้องมารับภาระงานง่าย ๆ
ที่ไม่คู่ควรกับความฉลาดของ CPU เช่นนี้
ในเครื่องคอมพิวเตอร์จึงมีการออกแบบ processor
ที่มีหน้าที่ทำงานที่ไม่ซับซ้อนเฉพาะเรื่อง (special-purpose processor)
เรียกว่า DMA (direct-memory-access) controller โดยการทำงานของ DMA
มีกระบวนการทำงานดังรูปข้างล่าง
จากในรูปเป็นการรับถ่ายโอนข้อมูลระหว่างอุปกรณ์จัดเก็บข้อมูลและหน่วนความจำ
ซึ่งมีการนำ DMA มาใช้ในการถ่ายโอนข้อมูล
โดยสามารถอธิบายขั้นตอนการทำงานในรูปได้ดังต่อไปนี้
1. CPU จะนำชุดของคำสั่งที่เกี่ยวกับการอ่านและเขียนข้อมูลไป write ลงใน main memory ก่อน ซึ่งในคำสั่งดังกล่าวจะระบุตำแหน่งของ source หรือต้นทางของข้อมูลและ destination หรือปลายทางที่จะนำข้อมูลไปจัดเก็บ และจำนวน bytes ของข้อมูลทั้งหมดที่จะทำการโอนถ่ายระหว่างกัน หลังจาก write คำสั่งเสร็จแล้ว (เหมือนผู้จัดการโยนงานให้ลูกน้องทำ) CPU ก็จะไปทำงานอื่นต่อ ปล่อยให้ DMA มารับช่วงทำงานแทน
2. DMA จะเข้ามารับช่วงงานต่อจาก CPU โดยการเข้าไปอ่านคำสั่งใน memory แล้วทำการติดต่อกับ device controller ที่ต้องการรับส่งข้อมูลด้วย จากนั้นจึงทำการโอนถ่ายข้อมูลระหว่างอุปกรณ์และหน่วยความจำ (ดูรูป) ตามตำแหน่งและจำนวนที่ระบุไว้ในคำสั่งนั้น โดยที่ CPU ไม่ต้องมาช่วยเหลือในการทำงานส่วนนี้เลย (CPU เอาเวลาไปทำงานอื่นที่สำคัญกว่า)
3. เมื่อ DMA ทำการโอนถ่ายข้อมูลระหว่างอุปกรณ์และหน่วยความจำเสร็จสิ้นแล้ว ก็จะทำการแจ้งให้ CPU ทราบ โดยการ interrupt ไปที่ CPU (ดูรูป) เพื่อรายงานว่าทำงานตามที่ได้รับมอบหมายเสร็จแล้ว เป็นอันสิ้นสุดกระบวนการทำงานของ DMA
1. CPU จะนำชุดของคำสั่งที่เกี่ยวกับการอ่านและเขียนข้อมูลไป write ลงใน main memory ก่อน ซึ่งในคำสั่งดังกล่าวจะระบุตำแหน่งของ source หรือต้นทางของข้อมูลและ destination หรือปลายทางที่จะนำข้อมูลไปจัดเก็บ และจำนวน bytes ของข้อมูลทั้งหมดที่จะทำการโอนถ่ายระหว่างกัน หลังจาก write คำสั่งเสร็จแล้ว (เหมือนผู้จัดการโยนงานให้ลูกน้องทำ) CPU ก็จะไปทำงานอื่นต่อ ปล่อยให้ DMA มารับช่วงทำงานแทน
2. DMA จะเข้ามารับช่วงงานต่อจาก CPU โดยการเข้าไปอ่านคำสั่งใน memory แล้วทำการติดต่อกับ device controller ที่ต้องการรับส่งข้อมูลด้วย จากนั้นจึงทำการโอนถ่ายข้อมูลระหว่างอุปกรณ์และหน่วยความจำ (ดูรูป) ตามตำแหน่งและจำนวนที่ระบุไว้ในคำสั่งนั้น โดยที่ CPU ไม่ต้องมาช่วยเหลือในการทำงานส่วนนี้เลย (CPU เอาเวลาไปทำงานอื่นที่สำคัญกว่า)
3. เมื่อ DMA ทำการโอนถ่ายข้อมูลระหว่างอุปกรณ์และหน่วยความจำเสร็จสิ้นแล้ว ก็จะทำการแจ้งให้ CPU ทราบ โดยการ interrupt ไปที่ CPU (ดูรูป) เพื่อรายงานว่าทำงานตามที่ได้รับมอบหมายเสร็จแล้ว เป็นอันสิ้นสุดกระบวนการทำงานของ DMA
ลำดับชั้นของหน่วยความจำ (Memory Hierarchy)หน่วยความจำมีอยู่หลายชนิดด้วยกัน แต่ละชนิดต่างก็มีอัตราความเร็วที่แตกต่างกันรวมทั้งขนาดความจุและราคาที่แตกต่างกัน สาเหตุที่เป็นเช่นนั้นก็เพราะว่า เพื่อให้เราเลือกหน่วยความจำใช้งานได้อย่างเหมาะสมนั้นเอง
จากรูปที่ 1 หน่วยความจำลำดับบนสุดเป็นหน่วยความจำที่มีความเร็วสูง และลดหลั่นลงมาเรื่อย ๆ ก็จะมีความเร็วทที่มีขนาดใหญ่ขึ้น ในทำนองเดียวกกัน หน่วยความจำที่มีขนาดใหญ่นั้นจะมีต้นทุนหรือราคาต่ำกว่าหน่วยความจำที่มีขนาดเล็ก
หน่วยความจำแบบ volatile ( Volatile memory)
คือหน่วยความจำของคอมพิวเตอร์ที่จำเป็นต้องมีไฟฟ้าเลี้ยงตลอดเวลาตราบเท่าที่ยังต้องการให้มันเก็บข้อมูลนั้นอยู่
หรืออีกนัยหนึ่งก็คือหากไม่ได้รับไฟฟ้าเลี้ยงแล้วข้อมูลที่เคยเก็บอยู่ในหน่วยความจำชั่วคราวก็จะหายไป
ตัวอย่างของหน่วยความจำชั่วคราวก็คือ แรมชนิดต่างๆ
ตรงกันข้ามกับหน่วยความจำถาวรที่ยังรักษาข้อมูลอยู่แม้ว่าจะไม่มีไฟฟ้าเลี้ยงแล้วก็ตาม
การป้องกันหน่วยความจำ (Memory Protection)
1. บิตใช้งานได้ (Valid Bit) เป็นบิตสถานะที่บอกว่าข้อมูลในเพจถูกอ่านเข้าสู่หน่วยความจำทางกายภาพแล้ว และสามารถนำไปใช้งานได้ทันที
2. บิตใช้งานไม่ได้ (Invalid Bit) เป็นบิตสถานะที่บอกว่าข้อมูลในเพจนั้นไม่มีอยู่ในหน่วยความจำทางกายภาพแล้ว (Physical Memory) และไม่สามารถนำไปใช้งานได้ อาจเกิดจากกรณีที่ระบบปฏิบัติการยังไม่ได้อ่านข้อมูลจากเพจเข้าสู่หน่วยความจำหลัก (Main Memory) หรือข้อมูลของเพจที่ต้องการอ่านนั้นถูกสลับ (Swapped) ออกจากหน่วยความจำแล้ว ซึ่งจะทำให้เกิดข้อผิดพลาดขึ้นที่เรียกว่า “การผิดหน้า (Page Fault)” จึงจำเป็นต้องโหลดเพจข้อมูลเข้าสู่หน่วยความจำก่อนแล้วจึงเปลี่ยนค่าของบิตใช้งานไม่ได้ (Invalid Bit) ให้เป็นบิตใช้งานได้ (Valid Bit) แล้วจึงทำการประมวลผลข้อมูลนั้นใหม่อีกครั้งหนึ่ง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น