บทที่2 Computer System Structures
posted on 18 Aug 2008 05:08 by 490702464037ระบบคอมพิวเตอร์ยุคใหม่จะมีซีพียู ดีไวช์คอนโทรลเลอร์ (Device controller) ซึ่งเชื่อมโยงกันผ่านคอมมอนบัส (Common bus) ซึ่งแชร์เมโมรีกัน ดังรูป
แสดงระบบคอมพิวเตอร์ยุคใหม่
หน้าที่โดยทั่วไปของสัญญาณขัดจังหวะ
· สัญญาณขัดจังหวะจะส่งการควบคุมไปยัง Interrupt service routine ผ่านทางตารางสัญญาณขัดจังหวะ
· สถาปัตยกรรมของสัญญาณขัดจังหวะ จะต้องบันทึกตำแหน่งของชุคำสั่งที่ถูกขัดจังหวะไว้
· สัญญาณขัดจังหวะที่เข้าสู่ระบบจะถูก Disable ถ้ามีการทำงานของสัญญาณขัดจังหวะตัวอื่นอยู่ก่อนแล้ว เพื่อป้องกันการสูญหายของสัญญาณขัดจังหวะ
· ในระบที่ซับซ้อนขึ้นอาจยอมให้มรการขัดจังหวะซ้อนๆ กันได้โดยเรียงตามศักดิ์ สัญญาณที่มีศักดิ์สูงกว่าอาจขัดจังหวะสัญญาณที่มีศักดิ์ต่ำกว่า แต่ถ้ามีศักดิ์เท่ากันต้องรออินเตอร์รัปต์พร้อมกันไม่ได้
· ระบบปฏิบัติการยุคใหม่ใช้ ตัวขับสัญญาณขัดจังหวะ ถ้าไม่มีการโปรเซส ไม่มีการเรียกใช้อุปกรณ์รับส่งข้อมูล ไม่มีการตอบสนองผู้ใช้ ระบบปฏิบัติการก็ไม่ต้องทำอะไร นั่นเป็นสัญญาณบอกเหตุว่าเกิดอินเตอร์รัปต์หรือแทร็ป
· แทร็ป คือ Software generated interrupt ซึ่งเกิด Error หรือไม่ก็เกิดจากการร้องขอของโปรแกรมของผู้ใช้
โครงสร้างของการรับส่งข้อมูล (I/O Structure)การขัดจังหวะการรับ –ส่งข้อมูลเมื่อI/Oเริ่มทำงาน ซีพีย๔จะโหลดรีจิสเตอร์ที่จำเป็นมาไว้ในดีไวซ์คอนโทลเลอร์ ซึ่งดีไวซ์คอนโทรลเลอร์จะทำการตรวจสอบรีจิสเตอร์เหล่านั้น เพื่อกำหนดว่าจะทำงานอะไร
การรับ-ส่งข้อมูลแบบสัมพันธ์· เมื่อการรับส่งข้อมูลเริ่มขึ้น การจะโยกย้ายการควบคุมให้กับโปรแกรมของผู้ใช้ จะทำได้หลังจากเสร็จการรับส่งข้อมูลเท่านั้น
· ในการรอรับส่งข้อมูลเสร็จมี2วิธี
1.คอมพิวเตอร์บางเครื่องมีชุดคำสั่ง wait พิเศษ ซึ่งปล่อยให้ซีพียูว่าง จนกระทั่งเกิดสัญญาณขัดจังหวะถัดไป
2.เครื่องจักรที่ไม่มีชุคำสั่งดังกล่าว อาจจะมี wait loop
· ถ้าซีพียูต้องรอให้รับส่งข้อมูลเสร็จงานก่อนเสมอ แสดงว่าต้องมีการร้องของของ I/Oอยู่หนึ่งตัวที่เด่นอยู่ตลอดเวลา ดังนั้นเมื่อเกิดสัญญาณกรขัดจังหวะการรับส่งข้อมูล ระบบปฏิบัติการจะรู้ทันทีว่า ดีไวซ์กำลังถูกขัดจังหวะ แต่ไม่สามารถประมวลผล I/O device หลายๆตัวพร้อมกันได้
· ตัวอย่างของระบบนี้คือ ระบบปฏิบัติการ MS-DOS เวลาสั่งพิมพ์ ต้องรอเสร็จงานก่อนจึงจะทำงานต่อไปได้
การรับส่งข้อมูลแบบไม่สัมพันธ์· เมื่อการรับส่งข้อมูลเริ่มขึ้น การโยกย้ายการควบคุมให้กับโปรแกรมของผู้ใช้ทำได้โดยไม่ต้องรอให้การรับส่งข้อมูลเสร็จ
· คำสั่งร้องขอระบบปฏิบัติการ อนุญาตให้โปรแกรมของผู้ใช้รอคอยให้รับบส่งข้อมูลเสร็จ
· ตารางที่ระบบปฏิบัติการใช้เก็บบันทึกของอุปกรณ์รับส่งข้อมูลแต่ละตัว คือ Device status table ซึ่งใช้แสดงชนิดของอุปกรณ์ ที่อยู่ และสถานะ (ว่าง กำลังทำงาน หรือเสีย)
โครงสร้างของ DMA (Direct Memory Access Structure)· ใช้สำหรับอุปกรณ์รับส่งข้อมูลที่มีความเร็วสูง เช่น เทป จานเม่เหล็ก หรือข่ายงานสื่อสาร อาจมีความเร็วในการส่งข้อมูลได้ใกล้เคียงกับความเร็วของหน่วยความจำ
· มีการใช้ Direct Memory Access มาแก้ไขปัญหา สำหรับอุปกรณ์ที่มีควาเร็วสูงเหล่านี้ ตัวควบคุมอุปกรณ์จะส่งข้อมูลจากบัฟเฟอร์ของตนมายังหน่วยความจำหลักโดยตรงทีละชุด โดยไม่ได้อาศัยหน่วยประมวลผลกลางเลย
· การทำงานก็เหมือนเดิม คือ เมื่อโปรแกรมของผู้ใช้ต้องการรับส่งข้อมูลไปยังอุปกรณ์เหล่านี้ ระบบก็จะจัดบัฟเฟอร์
โครงสร้างของหน่วยเก็บข้อมูล (Storage Structures)หน่วยความจำหลักหรือเมนโมรีอย่างถาวร แต่ทำไม่ได้ด้วยเหตุผล 2 ประการ
1. หน่วยความจำหลักเล็กเกินไปที่จะเก็บโปรแกรมและข้อมูลที่จำเป็นทั้งหมดอย่างถาวร
2. หน่วยความจำหลักเป็นอุปกรณ์ที่ใช้เก็บข้อมูลแบบชั่วคราว เพราะเมื่อเครื่องปิดข้อมูลก็หาย
ลำดับของหน่วยเก็บข้อมูล (Storage Hierarchy)แบ่งตาม สปีด ราคา และ Volatility ระดับบนสุดก็แพงแต่ทำงานได้รวดเร็ว ข้อมูลในหน่วยเก็บข้อมูลแบบชั่วขณะ จะหสยไปเมื่อปิดเครื่อง
เมนโมรี แคช และรีจิสเตอร์ คือ Volatile storage แต่จานแม่เหล็กออปติคัลดิสก์ และเทปแม่เหล็กเป็น Nonvolatile storage ส่วนอิเล็กทรอนิกส์ดิสก์เป็นแบบชั่วขณะและถาวร
แสดงลำดับชั้นของอุปกรณ์เก็บข้อมูล
การป้องกันของฮาร์ดแวร์ (Hardware Protection)ข้อผิดพลาดหลายอย่างมักจะตรวจสอบได้โดยฮาร์ดแวร์ ซึ่งสามารถควบคุมได้โดยระบบปฏิบัติการ ซึ่งจะทำการจัดการข้อผิดพลาดนั้นไปเลย
การทำงานแบบ 2ช่วง (Dual Mode Operation)ระบบที่ดีต้องสามารถป้องกันตัวระบบเอง โปรแกรมอื่นและข้อมูลจากโปรแกรมอื่นๆ ไม่ให้เกิดข้อผิดพลาด การป้องกันนี้ต้องอาศัยฮาร์ดแวร์ให้สามารถแยกควาแตกต่างของช่วงการทำงานออกเป็น 2ช่วง คือ User mode และ Monitor mode
การป้องกันของการรับ-ส่งข้อมูล (I/O Protection)เพื่อป้องกันอุปกรณ์รับส่งข้อมูลต่างๆ เรากำหนดให้คำสั่งสำหรับร้องขออุปกรณ์ทุกชนิดเป็นคำสั่งสงวน ดังนั้นผู้ใช้จะไม่สามารถสั่งไปยังอุปกรณ์ได้โดยตรง แต่ต้องร้องขอผ่านระบบปฏิบัติการเสมอ
การป้องกันของหน่วยความจำ (Memory Protection)การป้องกันนี้ทำได้โดยรีจิสเตอร์ 2 ตัว เรียกว่า ฐาน และขอบเขต
· รีจิสเตอร์ฐาน จะเก็บค่าตำแหน่งสุดท้ายที่ยอมให้ใช้ได้ในเมนโนรี
· รีจิสเตอร์ขอบเขต จะเก็บขนาดของเนื้อที่ทั้งหมดของงาน
แสดงการป้องกันพื้นที่ของฮาร์ดแวร์ด้วยรีจิสเตอร์ฐานและขอบเขต
การป้องกันของหน่วยประมวลผลกลาง (CPU Protection)ในการประกันว่า การควบคุมจะย้ายกลับมายังระบบเสมอ แม้ว่าจะมีงานบางงานทำงานวนรอบอย่างไรไม่มีสิ้นสุด เราสามารถทำได้โดยการใช้นาฬิกาจับเวลา นาฬิกานี้จะส่งสัญญาณไปขัดจังหวะฮาร์ดแวร์ ทำให้การควบคุมย้ายกลับมาที่ระบบปฏิบัติการ ซึ่งระบบอาจจะแก้ไขข้อผิดพลาด หรือต่อเวลาให้กับโปรแกรมผู้ใช้อีกก็ได้ คำสั่งในการกำหนดค่านาฬิกาจับเวลานี้ต้องเป็นคำสั่งสงวนด้วย
สถาปัตยกรรมของระบบโดยทั่วไป (General System Architecture)เนื่องจากคำสั่งเกี่ยวกับการรับส่งข้อมูลเป็นคำสั่งสงวน ดังนั้นผู้ที่จะทำคำสั่งนี้ได้ก็คือระบบปฏิบัติการเท่านั้น โปรแกรมผู้ใช้งานไม่สามารถใช้คำสั่งรับส่งข้อมูลได้เอง ไม่ว่าจะเป็นการใช้อย่างถูกต้องหรือไม่ก็ตาม ปัญหานี้แก้ไขได้ โดยถ้าผู้ใช้ต้องการใช้อุปการณ์รับส่งข้อมูล ก็ต้องร้องขอให้ผู้ควบคุมทำแทนจึงจะสามารถใช้ได้
edit @ 18 Aug 2008 05:49:05 by
#1 By ol0ol (58.8.249.11) on 2009-09-10 21:54