Transcript lesson1

Operating System
บทที่ 1
พืน้ ฐานระบบคอมพิวเตอร์
Operating System
ส่ วนประกอบของคอมพิวเตอร์
(Computer System components)
Processor คือ อุปกรณ์ทำหน้ำที่ควบคุมกำรทำงำนของคอมพิวเตอร์และ
กำรกระทำข้อมูล ส่ วนใหญ่จะกล่ำวถึง CPU ในกรณี ที่มี 1 processor
Memory ใช้เก็บข้อมูลและโปรแกรมซึ่งเป็ นชุดคำสัง่ ที่ให้ Process ทำงำน
I/O Controller หรือ Device Controller ทำหน้ำที่รับส่ งข้อมูลระหว่ำง
คอมพิวเตอร์และอุปกรณ์ภำยนอก เช่น printer , CD-ROM เป็ นต้น
System Bus ทำหน้ำที่เชื่อมต่อเพื่อส่ งข้อมูลระหว่ำง Process , Memory
และ I/O Controller
Operating System
Operating System
Processor
Operating System
Processor
- หน่วยคำนวณผลทำงคณิ ตศำสตร์และตรรกะ (ALU)
- หน่วยเก็บข้อมูลชัว่ ครำว (register)ซึ่ง มีควำมเร็ วและขนำดเล็กกว่ำ
หน่วยควำมจำหลัก
Register แบ่งออกเป็ นมี 2 กลุ่ม
- register ที่ใช้งำนทัว่ ไป คือเก็บข้อมูล และผลลัพธ์ชวั่ ครำว
- special register ซึ่งใช้ในกำรควบคุมและแจ้งสถำนะ
Operating System
Processor (2)
Processor
Register
ALU
PC
MBR
IOBR
IR
MAR
IOAR
Special Register
Operating System
• Program counter (PC) ใช้เก็บตำแหน่งของหน่วยควำมจำที่เก็บคำสัง่
ถัดไป
• Instruction Register (IR) เก็บคำสัง่ ที่พ่ งึ อ่ำนเข้ำมำ
• Memory Buffer Register(MBR) เก็บข้อมูลที่จะเขียนลงหน่วยควำมจำ
• Memory Address Register (MAR) เก็บตำแหน่งของหน่วยควำมจำที่จะ
ใช้ในกำรอ่ำนหรื อเขียน
• Input/Output Address Register (IOAR) คล้ำย MAR แต่จะใช้กำหนด
ตำแหน่งสำหรับอุปกรณ์เข้ำออก
Operating System
• Input/Output Buffer Register (IOBR) แลกเปลี่ยนข้อมูลระหว่ำงหน่วย
ประมวลผลกับอุปกรณ์เข้ำออก
• Program Status Word (PSW) ใช้เก็บสถำนะต่ำงๆ ของหน่วย
ประมวลผล เช่น สถำนะเงื่อนไขในกำรเปรี ยบเทียบ
Program Execute
- กำรประมวลผลประกอบด้วย 2 ขั้นตอน
* กำรดึงคำสั่ง (Instruction fetch)
* กำรประมวลผล
- กำรประมวลผลหนึ่งคำสัง่ เรี ยกว่ำ วงรอบคาสั่ ง (Instruction cycle)
Operating System
Program Execute (2)
• Fetch cycle คือ วงรอบกำรดึงคำสัง่
• Execute cycle คือ วงรอบกำรประมวลผล
• กำรประมวลผลจะหยุดก็ต่อเมื่อ
* เครื่ องคอมพิวเตอร์ถูกปิ ด
* เกิดข้อผิดพลำดรุ นแรงที่เกิดขึ้นภำยในโปรแกรม
* พบคำสัง่ ในโปรแกรมที่สงั่ ให้เครื่ องหยุดทำงำน
Operating System
Program Execute (3)
Operating System
Instruction Execution
Operating System
Instruction Execution(2)
•
•
•
•
Operating System
Step1 - PC เก็บตำแหน่ง 300 และดึง mem 1940 มำไว้ที่ IR
step 2 - ACจะดึงค่ำ 0003 จำก ตำแหน่ง 940
step 3 - PC เก็บค่ำ 301 , IR จะดึงข้อมูลจำก 301 คือ 5941 มำไว้ที่ IR
step 4 - ก่อน execute ค่ำ PC จะเพิ่มเป็ น 302
- 5 คือ add data , 941 คือ 0002
- AC จะเก็บค่ำเลข 3
- คำสัง่ จะบอกให้นำ 2 ที่ 941 ไปบวกกับ 3 จะได้ 5
- จะนำ 5 เก็บเข้ำที่ AC
Operating System
• step 5 - PC อยูท่ ี่ 302 ก็จะไปดึง 2941 มำไว้ที่ IR ,2 คือ store
PC to mem
• step 6 - 941 คือ กำรนำ ข้อมูล 0005 ไว้ใน 941
0001 = Load AC from Memory
0010 = Store AC to Memory
0101 = Add to AC from Memory
I/O Module Structure หรือ Controller
Operating System
- OS จะติดต่อกับอุปกรณ์ จะติดต่อกับ Controller
- OS จะเขียนคำสัง่ ลงไปใน command register ของ Controller
- status register จะคอย check ว่ำ อุปกรณ์ทำงำนเสร็ จหรื อยัง
- status register จะแบ่งเป็ น bit ย่อยๆ หลำยๆ bit เช่น ถ้ำใน HD มีคำ่
0 0 หมำยถึง HD ว่ำง ถ้ำ 0 1 คืออ่ำนเสร็ จแล้ว
- ถ้ำอุปกรณ์ทำงำนเสร็ จแล้วไม่ตอ้ ง check status จะเรี ยก Interruption
Interrupt
• Interrupt เกิดเนื่องจำก อุปกรณ์แวดล้อมต่ำง ๆ ทำงำนช้ำ
กว่ำ CPU
• กำรขัดจังหวะกำรทำงำนของ CPU
• เพิม่ ประสิ ทธิภำพกำรทำงำนของ CPU
• ประเภทของกำรขัดจังหวะ
- จำกนำฬิกำ
- จำกอุปกรณ์เข้ำออก
- จำกควำมผิดพลำดของ Hardware
Operating System
Interrupt (2)
Operating System
กระบวนการทางาน Interrupt
1. อุปกรณ์ส่งสัญญำณขัดจังหวะ
2. CPU ทำงำนเสร็ จ จะตอบสนองต่อสัญญำณ ทำให้อุปกรณ์ดงั กล่ำว
หยุดกำรส่ งสัญญำณ
3. CPU จะทำกำรบันทึกข้อมูลที่จำเป็ น เพื่อให้สำมำรถกลับมำทำงำน
ณ จุดเดิมได้ ไว้ใน PSW
4. CPU หำตำแหน่งของชุดคำสัง่ ที่จะไปทำงำนสำหรับ Interruption
5. กำหนดค่ำให้กบั PC แล้วอ่ำนคำสัง่ ตำมปกติ และกระโดดไปทำงำน
ชุดคำสัง่ ที่ Interruption
6. เมื่อ CPU ทำงำนเสร็ จก็จะคืนค่ำ Register ต่ำงๆ ที่เก็บไว้
Interrupt (3)
Operating System
- มี register เพิม่ เข้ำมำเรี ยก Interrupt Controller
- ทำหน้ำที่รับรับแจ้งว่ำอุปกรณ์ทำงำนเสร็ จแล้ว
- ถ้ำมีอุปกรณ์แจ้งเข้ำมำหลำยตัวพร้อมกัน ก็จะเลือกเพียงแค่ 1 ตัว โดยเลือกดู
จำกตัวไหนมี priority สูงสุ ด
- เวลำอุปกรณ์แต่ละตัวส่ งสัญญำณ Interrupt จะส่ งพร้อมกับหมำยเลขเพื่อ
บอกว่ำเป็ นอุปกรณ์ตวั ไหน
โครงสร้ างของ I/O Device
กำรทำงำนของ I/O Device มี 3 แนวทำง
• Program I/O
• Interrupt Driven I/O
• Direct Memory Access (DMA)
Operating System
โครงสร้ างของ I/O Device (2)
Operating System
• Program I/O
- ควบคุม I/O Device ด้วยโปรแกรม
- ลักษณะกำรทำงำน จะมีกำร check status ของ Controller ว่ำ ทำงำนเสร็ จหรื อไม่
- จะรอจนกว่ำจะได้รับแจ้งสถำนะว่ำกำรทำงำนเสร็ จหรื อล้มเหลว
• Interrupt Driven I/O
- เมื่ออุปกรณ์ทำงำน สำมำรถทำงำนในส่ วน user program ต่อไปได้โดย ไม่ตอ้ ง
รอให้ทำงำนเสร็ จ
- ไม่ตอ้ ง check status ว่ำทำงำนเสร็ จหรื อไม่
- เมื่ออุปกรณ์ทำงำนเสร็ จก็จะ Interrupt กลับมำ
ข้ อเสี ย
- ทั้ง Program I/O และInterrupt Driven I/O จะใช้ CPU ในกำรส่ งผ่ำนข้อมูล
Operating System
• Direct Memory Access (DMA)
- จะแก้ขอ้ เสี ยในกำรเคลื่อนย้ำยข้อมูล
- DMA จะทำหน้ำที่แทน CPU
- เมื่อทำงำนเสร็ จจะ Interrupt ไปที่ CPU
- DMA เกี่ยวข้องกับ CPU ตอนแรกและตอนสุ ดท้ำย
* ตอนแรก CPU จะ check DMA ว่ำก่อนว่ำจะให้อ่ำนข้อมูลจำก HD ไปที่
ตำแหน่งไหน
* ตอนสุ ดท้ำยคือตอนที่ Interrupt กลับเข้ำมำ
Memory Hierarchy
Operating System
• ชั้นบนสุ ดกำรทำงำนจะเร็ วที่สุด รำคำแพงที่สุด แต่เก็บข้อมูลได้นอ้ ย
• ชั้นต่ำลงมำปริ มำณจะถูกลง ควำมเร็ วก็จะช้ำลง และเก็บข้อมูลได้มำก
Memory Hierarchy (2)
Operating System
• ทำเป็ นลำดับชั้นเพรำะ CPU มีควำมเร็ วมำก
• กำรนำข้อมูลมำพักไว้ใน memory ในส่ วนที่เร็ วกว่ำ เพื่อให้ CPU access
ได้เร็ วขึ้น
• CPU จะ access ข้อมูล ถ้ำเจอในระดับที่เร็ วกว่ำก็จะ Hit ถ้ำไม่เจอ ก็จะ
Miss ก็จะไปหำจำกชั้นถัดไปและ copy มำไว้
Cache Memory
Operating System
•จะอยูร่ ะหว่ำง CPU กับ Main Memory
•มีควำมเร็ วกว่ำ Main Memory
•ข้อมูลจำก Main Memory จะถูก Copy มำไว้บน Cache
คาถาม
กำร access ข้อมูล 1 ครั้ง ขนำด 1024 byte กับ access ข้อมูล 2 ครั้ง ครั้งละ
512 byte แบบไหนจะดีกว่ำกัน