ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
บทที่ 2 การทำงานของ PC
2
PC ทำงานได้อย่างไร เริ่มเปิดเครื่อง
ไฟฟ้าวิ่งเข้าไปใน Power Supply ผ่านไปบนเมนบอร์ด CPU เริ่มทำงานที่ตำแหน่งของ BIOS BIOS เริ่มทำงาน ทำการตรวจสอบฮาร์ดแวร์พื้นฐานต่างๆ VGA, RAM, H.D., F.D., ค่า Config ใน CMOS ค้นหา Bootstrap Program ใน Master Boot Record โหลดข้อมูลจาก Master Boot Record เพื่อโหลด O.S. O.S. เริ่มทำงาน
3
เมื่อ OS ทำงาน รอรับอินพุทจากผู้ใช้ Command Line , Graphic
ทำงานตามคำสั่งนั้น รันโปรแกรมต่างๆ ควบคุมฮาร์ดแวร์ เรื่องความปลอดภัย, ความถูกต้องของข้อมูล, เสถียรภาพ จะทำงาน โดยวนรอบไปเรื่อยๆจนกว่าจะ Shutdown ดังนั้น OS ก็เป็นโปรแกรมเหมือนกัน แต่จะได้ทำงานบ่อยครั้งที่สุด
4
I/O ติดต่อกับ CPU ได้อย่างไร
ให้ น.ศ. ลองนึกภาพดูว่า เราจะส่งข้อมูลจากคีย์บอร์ด ไปที่หน้าจอได้อย่างไร ? ทางวิ่งของข้อมูล ข้อมูลที่จะส่งมีกี่ไบท์ อัตราเร็วในการส่งข้อมูล ความถี่ในการส่งข้อมูล Polling, Buffer, Interrupt, DMA
5
การทำงานแบบ Polling CPU จะวิ่งวนแบบ Round Robin เพื่อถามกับ I/O ทีละตัว หากใครต้องการส่ง / รับข้อมูลก็สามารถทำได้ หากไม่ก็จะผ่านไป พิจารณาข้อดี / ข้อเสีย CPU You? How about you? You? I/O I/O I/O
6
การทำงานแบบ Interrupt
การทำงานแบบ Polling นั้น CPU ต้องทำงานตลอดเวลา วิธีการนี้ CPU จะทำงานโดยไม่สนใจ I/O เมื่อ I/O ต้องการติดต่อกับ CPU ก็จะส่งสัญญาณมาที่ CPU โดยตรง เป็นสัญญาณในระดับฮาร์ดแวร์ (ที่ขาของ CPU จะมีขา INT.) ลองคิดดูว่า CPU จะรู้ได้อย่างไรว่าใครเรียกมา และจะให้บริการอย่างไร CPU INT. Hey I want to send some. I/O
7
Interrupt Service Routine
เมื่อมี I/O ติดต่อมาที่ CPU แล้ว CPU ก็จะกระโดดไปทำงานในส่วนของ Interrupt Service Routine ที่อยู่ใน Memory CPU จะรู้ว่าใครติดต่อมา โดยดูจากหมายเลขการอินเทอร์รัพท์ (Interrupt Request Number,IRQ.) ก่อนที่จะกระโดดไปทำงาน CPU จะ PUSH ค่าใน PC ลงไปใน Stack ของระบบ เมื่อทำงานเสร็จแล้ว ก็จะ POP ค่าใน Stack กลับเข้ามาใน PC อีกครั้งหนึ่ง จำเป็นต้องรู้ลึกขนาดนี้หรือ - Windows, Linux, Open Source
8
Buffer เป็นหน่วยความจำขนาดเล็กๆ ใช้พักข้อมูลชั่วคราว
เป็นตัวคั่นระหว่าง I/O กับ หน่วยความจำหลัก ส่วนใหญ่อยู่ใน Controller ของ I/O - ให้ น.ศ. ลองคิดถึงประโยชน์ของ Buffer System Memory Controller Buffer I/O Data
9
ดูการทำงานจริงของ I/O
การทำงานของ Keyboard กับ CPU เมื่อกด K.B. ข้อมูลวิ่งมาที่ Buffer (บน Controller) ข้อมูลพักไว้ชั่วคราว จนกว่าใกล้จะเต็ม หรือถึงค่าที่ตั้งไว้ (Threshold) Controller ส่งสัญญาณ INT ไป Trigger ที่ CPU CPU หยุดงานเก่าไว้ และมาอ่านข้อมูลจาก Buffer ไปวางไว้ใน RAM (ส่วนของ I/O เฉพาะของ K.B.) CPU กระโดดกลับไปทำงานเก่าต่อไป ดู Java Applet ประกอบในเว็บไซท์
10
ลองเขียน Flowchart ให้ น.ศ. แบ่งกลุ่มๆละประมาณ 5 คน
ลองคุย ทบทวน การทำงานของ Interrupt คิดถึง Flow การทำงานของมัน นำกระดาษมา 1 แผ่น วาด Flowchart ลงไปในกระดาษ เขียนรายชื่อสมาชิกในกลุ่มลงไป ส่งอาจารย์ อาจารย์เก็บไว้
11
DMA ลองคิดถึงการส่งข้อมูลของ CPU จาก RAM ไปที่หน้าจอ
ให้ น.ศ. ที่ชื่อขึ้นต้นด้วย อักษร ส. ตอบ .... สิ่งที่ต้องคำนึงถีง 1. ข้อมูลวิ่งจาก RAM ไปที่จอภาพได้อย่างไร 2. ความเร็วของ CPU และฮาร์ดแวร์อื่นๆ 3. ความเร็วโดยรวมของระบบ (Performance)
12
การส่งข้อมูลไปที่จอภาพโดยไม่มี DMA
สมมติว่าใน RAM มีข้อมูลรูปภาพทั้งหมด 100KB. อยู่ใน RAM ตำแหน่งที่ 500 ถึง 600 CPU ทำการ Copy ข้อมูลทีละ Byte ไปที่ Buffer ของ การ์ดจอ หลังจากนั้น CPU (อีกแล้ว) ก็ทำการส่งข้อมูลจาก Buffer ไปที่ DAC (Digital-Analog Converter) ทีละ Byte เมื่อข้อมูลน้อยลงก็จะ Copy ข้อมูลชุดใหม่มาอีก
13
อธิบายการทำงานของ DMA
สมมติว่าใน RAM มีข้อมูลรูปภาพทั้งหมด 100KB. อยู่ใน RAM ตำแหน่งที่ 500 ถึง 600 CPU ทำการ Copy ข้อมูลทีละ Byte ไปที่ Buffer ของ การ์ดจอ เมื่อทำเสร็จจะไปทำงานอื่นได้เลย บนการ์ดจอ จะมี Microprocessor เพื่อทำการประมวลผลข้อมูลบน Buffer ที่ได้ แล้วส่งไปที่ DAC ด้วยตนเอง เมื่อข้อมูลใน Buffer ลดลงจนใกล้หมด การ์ดจอส่งสัญญาณ INT. มาแจ้งแก่ CPU และ CPU ก็จะ Copy ข้อมูลชุดใหม่มา
14
พักสมอง... ทำกิจกรรมเพื่อคลายสมองซีกซ้าย ร้องเพลง
15
Cache หน่วยความจำหรือ Buffer ที่มีความฉลาดในตัว
มีอัลกอริธึมที่ใช้ในการจัดการ LRU Algorithm เป็นตัวคั่นระหว่างส่วนต่างๆ เช่น CPU Cache (L1,L2) Memory Cache Disk Cache
16
หลักการทำงาน ภายใน Cache จะมี Hardware ที่จะเก็บข้อมูลของข้อมูลจริงใน Cache ได้ เมื่อ Cache เต็ม จะใช้ Replacement Algorithm ในแบบ LRU (Least Recently Used) ดูย้อนหลังกลับไป ข้อมูลไหนถูกอ่านเก่าที่สุด ก็จะถูกแทนที่ 20.00 น. 18.00 น. Victim DATA 20.30 น. 17.00 น. 20.10 น.
17
การทำงานแบบ 2 ช่วง (Dual Mode Operation)
จะแบ่งการทำงานออกเป็น 2 โหมด ได้แก่ Supervisor Mode และ User Mode ต่างกันที่ “สิทธิและขอบเขตในการทำงาน” Supervisor Mode มีสิทธิทุกอย่างในการทำงาน User Mode ไม่สามารถใช้ฮาร์ดแวร์ได้โดยตรง ให้ น.ศ. ลองคิดดูว่า เราจะสร้าง Dual Mode Operation ได้อย่างไร ใช้ Register………ถามว่าจะใช้ กี่ตัวและกี่บิท
18
ลองคิด มีลักษณะของโปรแกรมแบบใดบ้างที่เป็น User Mode และ Supervisor Mode หากไม่มีการแบ่ง Mode เป็น 2 Mode แล้ว จะเป็นอย่างไร หากโปรแกรมใดๆสามารถสั่งการฮาร์ดดิสก์ให้หมุนได้โดยตรงจะเป็นอย่างไร เหตุใดจึงใช้ Register ในการทำงาน
19
การป้องกันด้วย Hardware
การทำงานของ OS นั้น จะต้องคำนึงถึงฮาร์ดแวร์ที่ใช้ด้วย ประโยชน์ของฮาร์ดแวร์ -> ทำงานได้เร็ว, ไม่ต้องใช้ CPU หรือ Main Memory Timer, Interrupt ตัวอย่าง เราสามารถนำฮาร์ดแวร์มาช่วยในการป้องกันการใช้พื้นที่หน่วยความจำ นอกขอบเขตที่กำหนดของโปรแกรมใดๆได้ ทุกๆโปรแกรมที่ทำงานจะต้องใช้ Memory ทุกๆโปรแกรมใน Memory จะมีขอบเขตของตนเอง ออกนอกขอบเขตไม่ได้
20
ภาพอธิบาย - เราจะใช้ Hardware อะไรในการควบคุม
Memory 500 โปรแกรม 200 - เราจะใช้ Hardware อะไรในการควบคุม - จะควบคุม หรือทำงานได้อย่างไร
21
Solution จะใช้ Register 2 ตัวในการควบคุม Base Register Limit Register
Memory จะใช้ Register 2 ตัวในการควบคุม Base Register เก็บแอดเดรสตัวล่าง Limit Register เก็บขนาดของพื้นที่ของโปรแกรม 500 200 200 Base 300 Limit
22
การทำงานของ CPU เมื่อมีการอ้างถึงหน่วยความจำที่ตำแหนงใดๆก็ตาม CPU จะตรวจสอบกับ Register 2 ตัวนี้ก่อนเสมอ หาก Error ก็จะจับ (Trap) โปรแกรมนั้นทันที Base Base + limit Base < >= yes CPU yes Address no no Trap to O.S.
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.