การทำงานของคอมพิวเตอร์ บทที่ 2
คอมพิวเตอร์ทำงานได้อย่างไร PC เป็นอุปกรณ์ไฟฟ้าที่ใช้ไฟฟ้ากระแสตรงทำงาน ข้อมูลภายในเป็นข้อมูลดิจิตอล 01100111000….. แทนข้อมูลเหล่านี้ด้วยแรงดันไฟฟ้า ข้อมูลเหล่านี้เป็นคำสั่งและข้อมูลให้แก่โปรแกรมต่างๆ
เมื่อเริ่มเปิดเครื่อง ไฟฟ้าวิ่งเข้าไปใน 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. เริ่มทำงาน
เมื่อ OS ทำงาน รอรับอินพุทจากผู้ใช้ Command Line , Graphic ทำงานตามคำสั่งนั้น รันโปรแกรมต่างๆ ควบคุมฮาร์ดแวร์ เรื่องความปลอดภัย, ความถูกต้องของข้อมูล, เสถียรภาพ จะทำงาน โดยวนรอบไปเรื่อยๆจนกว่าจะ Shutdown ดังนั้น OS ก็เป็นโปรแกรมเหมือนกัน แต่จะได้ทำงานบ่อยครั้งที่สุด
การทำงานของ BIOS BIOS เป็น Chip ตัวหนึ่งที่อยู่บน Mainboard หน้าที่ของมันได้แก่
POST (Power-On Self Test) เป็นการทดสอบระบบสำหรับส่วนที่จำเป็นสำหรับการทำงานของ PC เมื่อเปิดเครื่องจะเริ่มเข้าสู่ขั้นตอนของ POST ก่อน VGA -> RAM ->Keyboard->….
การทำงานของโปรแกรม Setup หลังจากที่ POST ทำงานเสร็จแล้ว BIOS ก็จะอ่านค่าการเซ็ทต่างๆจาก CMOS เพื่อกำหนด Configuration ต่างๆให้กับระบบ
BIOS program BIOS จะโหลดโปรแกรมใน ROM ของตนเองเข้าไปใน RAM แล้วทำงานแบบ Resident (อยู่ใน RAM ตลอด) Interrupt Vector โปรแกรมที่ใช้ติดต่อกับฮาร์ดแวร์พื้นฐานในระดับล่าง (System Call)
การบูท เมื่อรันการทำงานของโปรแกรม Setup แล้ว ก็จะเข้าสู่การบูท (Bootstrap) โดยจะมีหลักการดังนี้ 1. อ่านโปรแกรมที่ Sector แรกของสื่อ (Disk) (Boot Sector) เข้ามาไว้ใน RAM แล้วให้ CPU ทำงาน 2. โปรแกรมใน Boot Sector เรียกว่า Master Boot Record จะทำการบอกตำแหน่งของ OS. ในดิสก์ที่จะโหลดเข้ามาใน RAM แล้วเริ่มทำงาน หลังจากนี้ก็จะเป็นการทำงานของ O.S. ส่วนโปรแกรมหรือ OS สามารถเรียกใช้งาน BIOS ได้จาก Interrupt Vector และ BIOS Program
เมื่อบูทเสร็จแล้ว มีการเคลื่อนที่ของข้อมูลในระบบ
ระบบบัส มี 2 ประเภท System Bus (CPU <-> RAM) I/O Bus (I/O <-> CPU)
I/O BUS ติดต่อระหว่างอุปกรณ์ I/O กับ CPU มี 3 ประเภท (ที่นิยม) PCI ISA USB
การทำงานของ I/O Bus
การอินเทอร์รัพท์ การติดต่อระหว่าง I/O กับ CPU เพื่อรับ / ส่งข้อมูลนี้จะเป็นการติดต่อแบบ Interrupt เพื่อเพิ่มประสิทธิภาพให้กับการทำงาน เนื่องจาก CPU ทำงานเร็วกว่า I/O มาก ดังนั้น เมื่อ I/O ต้องการติดต่อกับ CPU ก็จะส่งสัญญาณมาบอกกับ CPU และ CPU จะหยุดงานที่กำลังทำอยู่เพื่อให้บริการ I/O ตัวนั้น CPU INT. Hey I want to send some. O.K. I/O
IRQ หมายเลขแสดงการอินเทอร์รัพท์ IRQ (Interrupt Request Number) เป็นหลายเลขที่แสดงว่า “ใคร” เป็นผู้ Interrupt เข้ามา หากไม่มี IRQ CPU ก็จะไม่รู้ว่าใครเรียกมา IRQ มีค่ามาตรฐานสำหรับอุปกรณ์พื้นฐานเช่น Keyboard หากเป็นอุปกรณ์เพิ่มเติมในสมัยก่อนเราจะต้องเซ็ทเอง โดยการเซ็ท IRQ จะเซ็ทจาก Jumper ที่ตัวอุปกรณ์ หากเป็นสมัยนี้ที่เป็น Plug & Play ไม่ต้องทำแบบเดิม OS จะกำหนดให้เราเอง
สามารถดู IRQ ได้ใน Control Panel Start->Settings->Control Panel->System แสดง IRQ ของการ์ดจอ *หากหมายเลข IRQ ซ้ำกันจะเกิด Conflict
การ Conflict ของ IRQ
Device Driver อุปกรณ์ I/O ทุกตัวจะมี Controller ของตนเอง ซึ่งเป็นฮาร์ดแวร์ที่ควบคุมการทำงานระดับไฟฟ้าและกลไกของอุปกรณ์ Device Driver เป็นโปรแกรมที่ควบคุมอุปกรณ์ I/O อีกทีหนึ่ง (สั่งงานผ่าน Controller นั่นเอง) อุปกรณ์พื้นฐานไม่ต้องติดตั้ง Driver เพราะอยู่ในโปรแกรม BIOS อยู่แล้ว อุปกรณ์ที่เราต่อเพิ่มจะต้องติดตั้งโปรแกรม Driver
การทำงานแบบเป็นระดับชั้นของ PC Programs Function Call Library System Call O.S. Driver Controller Hardware
เมื่อโปรแกรมทำงาน เมื่อเราเปิดโปรแกรมใดๆให้ทำงาน มันจะโหลดคำสั่งและข้อมูลเข้าไปใน RAM และสั่งงาน CPU ให้ทำงาน ดังนั้น หากเราเปิดโปรแกรมขึ้นมาหลายโปรแกรมระบบก็จะช้าลงเพราะ RAM เริ่มเต็ม เมื่อ RAM เต็มจะใช้ Harddisk เข้ามาช่วย (เรียกว่า Paging)
พอร์ท ขนาน (parallel) -> ส่งไม่ได้ไกล, ส่งข้อมูลได้ทีละมากๆ พอร์ทขนาน ขนาน (parallel) -> ส่งไม่ได้ไกล, ส่งข้อมูลได้ทีละมากๆ LPT อนุกรม (Serial) -> ส่งไปได้ไกล ความเร็วก็ใช้ได้ พอร์ทอนุกรม
I/O Address CPU จะติดต่อกับ I/O แต่ละตัวผ่านทาง Address เหล่านี้ ดูได้ใน Control Panel