ระบบบัส (Bus
System) คือ เส้นทางที่คอมพิวเตอร์ใช้ในการติดต่อสื่อสารกับอุปกรณ์ต่างๆ
เข้าด้วยกันเป็นระบบเดียวกัน ทั้งภายในแผงวงจรหลัก และอุปกรณ์ที่อยู่บน Slot
ของระบบบัสส่วนเชื่อมโยงต่างๆ
ส่วนประกอบภายในเครื่องคอมพิวเตอร์ จะถูกเชื่อมโยงเข้าด้วยกันโดยวงจรทางไฟฟ้า
ที่เรียกว่าระบบบัส
บัสที่ใช้ในระบบคอมพิวเตอร์ คือ
ชุดของการเชื่อมต่อแบบขนานอย่างง่าย ซึ่งมีอยู่บนแผงวงจรหลักของระบบคอมพิวเตอร์
ชิ้นส่วนการควบคุมต่างๆ เช่น CPU Chip Peripheral ต่างๆ และระบบของหน่วยความจำ
เมื่อใดก็ตามที่มีการส่ง หรืออ่านข้อมูลจากหน่วยความจำหรือ พอร์ท
อินพุทเอ้าท์พุทต่างๆ ตำแหน่งที่อยู่ของหน่วยความจำ หรือพอร์ท
จะถูกกำหนดโดยค่าของตัวเลข หรือหมายเลข แอดเดรส ที่ใช้บ่งชี้เป็นกรณีพิเศษ
เมื่อมีการถ่ายโอนข้อมูล แอดเดรสจะถูกส่งผ่านตามส่วนของบัสที่เรียกว่า แอดเดรสบัส
(Address Bus) เมื่อแอดเดรสได้ถูกกำหนดแล้ว
ข้อมูลจะถูกส่งไปยังส่วนของบัสที่แยกออกไปซึ่งเรียกว่า ดาต้าบัส (Data
Bus) นอกจากนี้ยังมีส่วนที่ใช้ควบคุมกิจกรรมต่างๆ
ในระบบ ซึ่งแยกออกมาเฉพาะเรียกว่าบัสควบคุม (Control Bus) การควบคุม การเขียน อ่านข้อมูล
เป็นต้น
ส่วนประกอบของระบบบัส
1. เส้นทาง หมายถึง
เส้นทางที่ข้อมูลเดินทางผ่าน ส่วนใหญ่จะสังเกตเป็นเส้นบนเมนบอร์ด
2. ชิปควบคุม ทำหน้าที่
บริหารการเข้าใช้บัสของชิ้นส่วนต่าง ๆ และทำหน้าที่ป้องกันปัญหา
ขัดแย้งกันเนื่องจากการแย่งใช้บัสในเวลาเดียวกัน
3. สล๊อตต่อขยาย เป็นตัวกลางที่ใช้ติดต่อสื่อสารระหว่างเมนบอร์ดกับการ์ดเสริมต่าง
ๆ ซึ่งจะถูกออกแบบมาให้ตรงกับระบบบัสนั้น ๆ เช่น ระบบบัส PCI ก็จะมีสล๊อต PCI ซึ่งใช้เสียบการ์ดแบบ PCI
บัสประกอบด้วย 2 ส่วน คือ บัสข้อมูล และ บัสที่อยู่ บัสข้อมูลจะส่งข้อมูลจริงๆ
ส่วนบัสที่อยู่จะส่งข้อมูลเกี่ยวกับตำแหน่งที่ข้อมูลควรจะอยู่ในหน่วยความจำ
- ขนาดของบัส สามารถวัดได้เป็นความกว้างบัส
ซึ่งเป็นตัวระบุจำนวนบิทที่คอมพิวเตอร์สามารถส่งได้ในแต่ละครั้ง เช่น บัสที่มีขนาด
32 บิท (รถบัส 32 บิต) จะสามารถส่งข้อมูลได้ 32 บิท หรือ 4 ไบท์ในแต่ละครั้ง
ถ้าเราต้องการส่งข้อมูล 8 บิท
โดยใช้บัสขนาดนี้ ก็จะต้องแบ่งส่ง 2 ครั้งด้วยกัน
แต่ถ้าเราใช้บัสที่มีขนาด 64 บิท
ก็จะสามารถส่งข้อมูลได้ทั้งหมดภายในครั้งเดียว
- บัสจะมีสัญญาณนาฬิกาเช่นเดียวกับหน่วยประมวลผล
ซึ่งผู้ผลิตกำหนดให้ีสัญญาณนาฬิกามีความถี่เป็นเฮิร์ต (เฮิรตซ์ หรือ เฮิร์ตซ์)
คำว่าเมกะเฮิร์ต (MHz) คือสัญญาณนาฬิกา
(ติ๊ก) 1 ล้านครั้งใน 1 วินาที ในปัจจุบันส่วนใหญ่
หน่วยประมวลจะมีสัญญาณนาฬิกา ประมาณ 400, 533, 800 MHz ยิ่งค่าสัญญาณนาฬิกาสูงเท่าไหร่
ความเร็วในการส่งข็อมูลก็มากเท่านั้น
ชนิดเส้นทางบัส
ชนิดเส้นทางบัสแบ่งตามสัญญาณที่ส่ง
- ไฟบัส
เส้นทางบัสสำหรับจ่ายไฟฟ้า
- บัสข้อมูล
เส้นทางบัสสำหรับระบบข้อมูล
- พื้นรถ
เส้นทางบัสสำรหับสายดิน
ชนิดเส้นทางบัสแบ่งตามข้อมูลที่ส่ง
- บัสข้อมูล
มีทั้งหมด 24 เส้น
ใช้สำหรับส่งข้อมูลในรูปของสัญญาณไฟฟ้าเปิดปิด (0,1) โดยสายเหล่านี้จะถูกต่อเข้ากับอุปกรณ์
เช่น หน่วยความจำ อแดปเตอร์การ์ด ดังนั้นเมื่อมีการส่งข้อมูล ๆ นั้นก็จะผ่านอุปกรณ์เหล่านั้นทั้งหมด
แต่อุปกรณ์ที่รับข้อมูลนี้ต้องมี Address ตรงกับค่าที่กำหนดใน Address
Bus
- รถประจำทางอยู่
มีทั้งหมด 20-32 เส้น ใข้สำหรับส่งข้อมูลเป็นสัญญาณ
บอกตำแหน่งที่อยู่หรือแอดเดรสในหน่วยความจำ จำนวนเส้นของ
รถประจำทางอยู่
จะบอกถึงความสามารถในการอ้างถึงหน่วยความจำ ซึ่งจะแตกต่างกันไปตามซีพียูแต่ละรุ่น
เช่น 8088 มี รถประจำทางอยู่ 20 เส้น
ดังนั้นจะอ้างถึงหน่วยความจำได้ขนาด 220 หรือ
1 เมกะไบต์
ส่วน
80286 มี 24 เส้น จะอ้างถึงหน่วยความจำได้ขนาด 224 หรือ
16 เมกะไบต์
เป็นต้น
- การควบคุมรถ ใช้สำหรับส่งสัญญาณควบคุมพื้นฐาน เพื่อระบุว่าให้อุปกรณ์ที่จะได้รับข้อมูลใน
บัสข้อมูล นั้นจัดการอย่างไรกับข้อมูลที่ได้รับ
ประเภทของบัสแบ่งตามลักษณะของข้อมูลที่ปรากฏบนบัส ได้ดังนี้
1. บัสข้อมูล (DATA
BUS) เป็นบัสที่หน่วยประมวลผลกลาง
(CPU) ใช้เป็นเส้นทางผ่านในการควบคมุการส่งถ่ายข้อมูลจากหน่วยประมวลผลกลาง
(CPU) ไปยังอุปกรณ์อุปกรณ์ภายนอกหรือรับข้อมูลจากอุปกรณ์ภายนอก
เพื่อทำการประมวลผลที่หน่วยประมวลผลกลาง (CPU)
2. บัสรองรับข้อมูล
(ADDRESS BUS) คือบัสที่หน่วยประมวลผลกลาง (CPU) เลือกว่าจะส่งข้อมูลหรือรับข้อมูลจากอุปกรณ์ไหนไปที่ใด
โดยจะต้องส่งสัญญาณเลือกออกมาทาง ADDRESS BUS
3. บัสควบคุม (CONTROL
BUS) เป็นบัสที่รับสัญญาณการควบคุมจากหน่วยประมวลผลกลาง
(CPU) เพื่อบังคับว่าจะอ่านข้อมูลเข้ามา
หรือจะส่งข้อมูลออกไป จากหน่วยประมวลผลกลาง (CPU) โดยระบบภายนอกจะตอบรับต่อสัญญาณควบคุมนั้น
คอมพิวเตอร์มีบัสอยู่ 2 ชนิด คือ
- บัสระบบ (system
bus)
เป็นส่วนหนึ่งเมนบอร์ด
หรือแผงวงจรหลัก
บัสระบบทำหน้าที่เป็นเส้นทางต่อระหว่างหน่วยประมวลผลกับหน่วยความจำ
ส่วนบัสเสริมเป็นบัสที่ทำให้หน่วยประมวลสามารถติดต่อสื่อสารกับอุปกรณ์ต่อ พ่วงอื่นๆ
ได้ ส่วนใหญ่ที่มีการอ้างถึง บัส เฉยๆ จะหมายถึง บัสระบบ
- บัสเสริม (expansion
bus)
จะทำให้อุปกรณ์ภายนอกระบบ
สามารถติดต่อกับหน่วยประมวลผลได้ อุปกรณ์ต่อพ่วงจะต่อเข้ากับพอร์ต
ซึ่งพอร์ตจะต่ออยู่บน ช่องเสริม (expansion slot) ซึ่งช่องเสริมนี้จะต่อกับ บัสเสริมเพื่อส่งข้อมูลไปยังหน่วยประมวลผล
รูปข้างล่างนี้เป็นรูปของการส่งข้อมูลระหว่างหน่วยประมวลผล หน่วยความจำ
อุปกรณ์ต่อพ่วงต่างๆ ผ่านทางบัสระบบ และบัสเสริม บัสเสริมบนเมนบอร์ดมีหลายชนิด
แต่ละชนิดบ่งบอกถึงชนิดของการ์ดที่ต่างๆ ที่ต่ออยู่บนคอมพิวเตอร์ ได้แก่ บัส ISA,
บัส PCI,
บัส AGP,
บัส USB และบัสไฟร์ไวร์
- บัสท้องถิ่น (local
bus)
เป็นบัสเสริมที่มีความเร็ว
สูง จะต่อกับอุปกรณ์ที่มีการทำงานเร็วๆ เช่น ฮาร์ดดิสก์
บัสท้องถิ่นที่ควรรู้จักได้แก่ VESA local bus (Video Electronics
Standards Association local bus) ซึ่งส่วนใหญ่ใช้กับการ์ดวิดีโอเท่านั้น และบัส PCI เป็นบัสที่ใช้กับอุปกรณ์ต่างๆ
ได้หลากหลายกว่า VESA lacal bus มาก และมีความเร็วในการส่งข้อมูลเป็น 4 เท่าของบัส ISA
ความสัมพันธ์ของส่วนประกอบภายในระบบคอมพิวเตอร์
1. โปรเซสเซอร์เป็นหน่วยความจำหลักและอุปกรณ์อินพุต/เอาท์พุต
จะเห็นว่าการออกแบบระบบคอมพิวเตอร์ขึ้นอยู่กับแนวคิด
3 ประการด้วยกัน
คือ
1. ข้อมูลและคำสั่งจะต้องเก็บอยู่ในหน่วยความจำเดียวกัน
2. เนื้อหา หรือ
ข้อมูลที่บันทึกอยู่ในหน่วยความจำ จะถูกอ้างถึงตำแหน่งแอดแดรส
ทุกหน่วยข้อมูลโดยไม่สนใจชนิดของข้อมูลที่เก็บ
3. ประมวลผลแบบเรียงลำดับทีละคำสั่ง
แสดงส่วนประกอบหลักภายในคอมพิวเตอร์
จะเห็นว่าซีพียูมีการแลกเปลี่ยนข้อมูลกับหน่วยความจำ
โดยในซีพียูจะมีรีจิสเตอร์ 2 ตัว คือ MARซึ่งใช้ระบุตำแหน่งในหน่วยความจำสำหรับการอ่านหรือเขียนครั้งถัดไป
และMBRจะเก็บข้อมูลที่จะบันทึกลงในหน่วยความจำหรือรับข้อมูลที่อ่านจากหน่วยความจำ
ส่วนอินพุต/เอาท์พุตกับใช้ในการกำหนดตำแหน่งอุปกรณ์ I /
OและI /
O BRจะถูกใช้สำหรับแลกเปลี่ยนข้อมูลระหว่าง
โมดูลไอโอกับซีพียู
ในหน่วยความจำประกอบด้วยกลุ่มของหน่วยความจำ
ซึ่งถูกกำหนดโดยตัวเลขที่แสดงตำแหน่งเรียงตามลำดับ
แต่ละตำแหน่งหน่วยความจำนั้นจะเก็บข้อมูลเลขฐานสองซึ่งสามารถถูกแปลความหมายได้
ส่วนโมดูลไอโอก็จะขนถ่ายข้อมูลอุปกรณ์ภายนอกเข้าไปใน ซีพียู และหน่วยความจำ
โดยจะมีที่เก็บข้อมูลชั่วคราว
สำหรับเก็บข้อมูลเอาไว้ก่อนจนกว่าจะสามารถส่งข้อมูลนั้นออกไปได้
การเคลื่อนย้ายข้อมูลภายในซีพียูจากรีจิสเตอร์หนึ่งไปอีกรีจิสเตอร์หนึ่ง
การอ่าน/เขียนหน่วยความจำหรือการถ่ายโอนข้อมูล จากอุปกรณ์อินพุต/เอาท์พุต
เข้าไปในซีพียู และหน่วยความจำ
ทั้งหมดนี้จะต้องอาศัยเส้นทางในการเคลื่อนย้ายซึ่งเส้นทางเหล่านั้นเรียกว่า บัส
นั่นเอง
2. รีจิสเตอร์และสแต็ก
เป็นเครื่องมือสำหรับการทำงานร่วมกับโปรเซสเซอร์
เสมือนหน่วยความจำย่อยๆ ส่วนหนึ่งที่มีวัตถุประสงค์ในการใช้งานเฉพาะเป็นพิเศษ
มีลักษณะคล้ายกับหน่วยความจำหลักของเครื่องคอมพิวเตอร์
แต่ต่างกันตรงที่หน่วยความจำหลักนั้นมีขนาดใหญ่กว่าและอยู่ภายนอกโปรเซสเซอร์
ในขณะที่รีจิสเตอร์เป็นส่วนหนึ่งของโปรเซสเซอร์ และรีจิสเตอร์มีหลายชนิด
แยกแยะได้ตามลักษณะการใช้งาน
รีจิสเตอร์ของโปรเซสเซอร์แต่ละรุ่นจะมีจำนวนและขนาดไม่เท่ากัน
แต่จะพูดถึงโปรเซสเซอร์ 8088 เป็นตัวอย่าง
มีรีจิสเตอร์ทั้งหมด 14 ตัว
แต่ละตัวสามารถเก็บข้อมูลขนาด 16 บิต
โปรเซสเซอร์จะใช้รีจิสเตอร์ในการคำนวณและเก็บข้อมูลต่างๆ
รีจิสเตอร์กลุ่มแรกเป็นรีจิสเตอร์ประเภทใช้งานทั่วไปสำหรับคำนวณ
ประกอบด้วยรีจิสเตอร์ 4 ตัว
แต่ละตัวถูกใช้เป็นตัวเก็บค่าชั่วคราวในการคำนวณถึงแม้ว่ารีจิสเตอร์เหล่านี้จะมีขนาด
16 บิต
แต่ก็สามารถแบ่งใช้ทีละ 8 บิตได้
เรียกว่า บิตสูง รีจิสเตอร์ชนิดนี้ถูกใช้กันมากในการทำงานภายในเครื่องคอมพิวเตอร์
รีจิสเตอร์กลุ่มต่อไปเรียกว่า
รีจิสเตอร์แบบเซกแมน
เป็นตัวช่วยโปรเซสเซอร์ในการหาหน่วยความจำที่มีขนาดใหญ่ได้ไม่เกิน 64Kไบต์ ประกอบด้วยรีจิสเตอร์ 4 ตัว
ได้แก่บริการลูกค้าเป็นตัวชี้ตำแหน่งของโปรแกรมในหน่วยความจำDSเป็นตำแหน่งของข้อมูลที่ใช้ในโปรแกรมมันเป็นเป็นส่วนเพิ่มเติมของเอสเอสเอสและบอกที่ตั้งของสแต็กที่ใช้ในคอมพิวเตอร์
รีจิสเตอร์อีกกลุ่ม
เป็นกลุ่มที่ใช้ในการอ้างถึงตำแหน่งพิเศษในหน่วยความจำ
ประกอบด้วยรีจิสเตอร์ทั้งหมด 5 ตัว แต่ละตัวถูกออกแบบเพื่องานเฉพาะอย่าง
ได้แก่IPหรือพีซีเป็นตัวบอกตำแหน่งคำสั่งในโปรแกรม
ที่จะทำการประมวลผลให้แก่โปรเซสเซอร์SPและ BPใช้ในการเก็บลำดับต่างๆของการทำงานไว้ในสแต็กและและ ของใช้ช่วยโปรแกรมในการเคลื่อนย้ายข้อมูลจำนวนมากจากที่หนึ่งไปยังอีกที่หนึ่ง
รีจิสเตอร์กลุ่มสุดท้ายเรียกว่า
แฟล็กรีจิสเตอร์
เป็นตัวเก็บผลของการทำงานตามเงื่อนไขต่างๆซึ่งอธิบายไปแล้วในหัวข้อก่อนห้า
ทำหน้าที่เป็นตัวบอกถึงสถานะแก่โปรแกรม เช่น บอกผลของการคำนวณ
การประมวลผลคำสั่ง
1.วัฏจักรคำสั่ง
หน้าที่พื้นฐานของคอมพิวเตอร์อย่างหนึ่งก็คือการปฏิบัติการกับโปรแกรม
หรือการประมวลผลโปรแกรม การที่โปรแกรมจะถูกประมวลผลได้นั้น
คำสั่งต่างๆและข้อมูลทั้งหมดจะถูกเก็บอยู่ในหน่วยความจำมาแปลความหายอีก
ทำเช่นนี้ไปเรื่อยๆ จนกว่าจะหมดคำสั่งหรือปฏิบัติการกับโปรแกรมได้ครบสมบูรณ์ วัฏจักรของคำสั่งอย่างง่ายประกอบด้วย
2 ขั้นตอน คือ
1.1. ขั้นตอนวงจร Fetchคือกระบวนการที่หน่วยควบคุมนำคำสั่งหรืออ่านคำสั่ง(ที่อยู่ในภาษาเครื่องแล้ว)จากนหน่วยความจำหลักหรือแคช
เข้าสู่รีจิสเตอร์ ในซีพียูเพื่อเตรียมส่งไปประมวลผลต่อขณะเดียวกันหน่วยควบคุมจะทำการแปลงรหัสคำสั่งเป็นการแปลความหมายของคำสั่งเพื่อส่งไปยัง
หน่วยคำนวณและเปรียบเทียบ
1.2. ขั้นตอนดำเนินการรอบคือกระบวนการที่หน่วยคำนวณและเปรียบเทียบ(ALU)
ทำการคำนวณและเปรียบเทียบตามคำสั่งที่ได้แปลความหมายแล้วและผลลัพธ์จากการปฏิบัติการของหน่วยคำนวณและเปรียบเทียบ
จะส่งไปเก็บไว้ที่หน่วยความจำหลักในตำแหน่งที่ว่างหรืออาจเก็บไว้ในรีจิสเตอร์ไฟฟ้ากระแสสลับ
แสดงวัฏจักรอย่างง่าย
ขณะเริ่มต้นซีพียูจะทำการดึงคำสั่งจากหน่วยความจำในตำแหน่งที่อ้างถึง
โดยมีรีจิสเตอร์ชื่อพีซีจะทำหน้าที่เก็บลำดับของตำแหน่งที่อยู่ของโปรแกรมหรือคำสั่งที่จะถูกดึงเข้ามาตามลำดับ
การดึงคำสั่งจากหน่วยความจำหลักมานั้น
จะเก็บในรีจิสเตอร์ชื่อIR (รีจิสเตอร์คำสั่ง) โปรเซสเซอร์จะแปลความหมายและปฏิบัติตามคำสั่ง
โดยทั่วไปจะมี 4 ขั้นตอน ดังนี้
1. ซีพียูกับหน่วยความจำ
2. ซีพียูกับอินพุต/เอาท์พุต
3. การประมวลผลข้อมูล
4. การควบคุม
การประมวลผลโปรแกรมโดยมีส่วนของหน่วยความจำและรีจิสเตอร์
ข้อมูลที่เก็บเป็นเลขฐานสิบหก เป็นการบวกจำนวนในตำแหน่งหน่วยความจำที่ 940 กับตำแหน่งที่ 941 มีลำดับการทำงานดังนี้
ขั้นที่ 1
คำสั่งถูกเก็บไว้ในตำแหน่งหน่วยความจำที่
300
การทำขั้นตอนนี้จึงเป็นการดึงคำสั่งในตำแหน่งที่ระบุในพีซีคือตำแหน่ง 300 ในหน่วยความจำมาลงและ
ขั้นที่ 2 คำสั่งในและมีทั้งหมด 16 บิต ใน 4 บิตแรกจะออปโค้ด คำสั่ง 0001 คือ
คำสั่งโหลดข้อมูลจากหน่วยความจำเข้ารีจีสเตอร์ไฟฟ้ากระแสสลับสำหรับ 12 บิตหลังเป็นตำแหน่งหน่วยความจำ 940Hที่เก็บข้อมูลที่ออปโค้ดต้องการ
ดังนั้น 0003Hจึงถูกโหลดลงไปในไฟฟ้ากระแสสลับ
ขั้นที่ 3 ค่าในพีซีจะเพิ่มขึ้นอีกเป็น 301Hดังนั้นคำสั่งต่อไปในตำแหน่ง 302Hจึงถูก ดึงเข้ารีจิสเตอร์และ
ขั้นที่ 4 ออปโค้ด 5Hคือ 0101 ให้ทำการบวกค่าในรีจิสเตอร์ไฟฟ้ากระแสสลับกับข้อมูลในตำแหน่ง
941Hและเก็บผลลัพธ์ในไฟฟ้ากระแสสลับ
ขั้นที่ 5 ค่าในพีซีจะเพิ่มขึ้นอีกเป็น 302Hดังนั้นคำสั่งต่อไปในตำแหน่ง 302Hจึงถูกดึงเข้ารีจิสเตอร์และ
ขั้นที่ 6
นำค่าในไฟฟ้ากระแสสลับไปเก็บในตำแหน่งหน่วยความจำที่ 941H
แสดงไดอะแกรมสถานะของวัฏจักรของคำสั่ง
ไดอะแกรมสถานะของวัฏจักรของคำสั่ง
โดยเขียนในรูปของไดอะแกรมสถานะ อธิบายได้ดังนี้
1.การเรียนการสอนที่อยู่ในการคำนวณคือแอดแดรสของคำสั่งถัดไปที่จะดำเนินการ
2.การเรียนการสอนสามารถดึงข้อมูลคือการอ่านคำสั่งจากหน่วยความจำลงไปในโปรเซสเซอร์
3.การเรียนการสอนการถอดรหัสการดำเนินงานจะทำการวิเคราะห์ประเภทของการดำเนินการ
4.ถูกดำเนินการคำนวณอยู่หาตำแหน่งของตัวดำเนินการ
5.ถูกดำเนินการดึงข้อมูลจะทำการดึงค่าของตัวดำเนินการจากหน่วยความจำหรืออ่านจากI /
O
6.ข้อมูลการดำเนินงานดำเนินการกับข้อมูล
7.ร้านค้าถูกดำเนินการเก็บผลลัพธ์ลงในหน่วยความจำหรือให้ออกทางI /
O
2. อินเทอร์รัพท์
ลักษณะหนึ่งที่ทำให้คอมพิวเตอร์ต่างจากอุปกรณ์เครื่องจักรต่างๆที่มีใช้ในปัจจุบัน
คือ คอมพิวเตอร์สามารถตอบสนองงานที่ไม่ได้คาดเดาล่วงหน้าว่าจะเกิดขึ้นได้
ลักษณะของความสามารถนี้เรียกว่า การอินเทอร์รัพท์ คือการจัดการที่ทำให้คอมพิวเตอร์หยุดพักงานที่กำลังกระทำอยู่ตอนนั้นชั่วคราวแล้วสับเปลี่ยนไปทำงานอื่นซึ่งขึ้นอยู่กับเหตุการณ์ที่เป็นสาเหตุให้เกิดการอินเทอร์รัพท์ โปรเซสเซอร์ของเครื่องคอมพิวเตอร์
สามารถหยุดพักการทำงานหนึ่งไว้ในขณะที่ทำการประมวลผลงานอื่นที่แทรกเข้ามา
โดยการใช้สแต็กของโปรเซสเซอร์ ซึ่งได้อธิบายไปแล้ว เมื่อมีอินเทอร์รัพท์เกิดขึ้น
ข้อมูลที่เกี่ยวกับการทำงานของโปรเซสเซอร์จะสามารถกลับมาทำงานที่จุดเดิมต่อไปได้อย่างถูกต้อง
จึงถือว่าสแต็กเป็นส่วนที่จำเป็นที่ขาดม่ได้ในการทำงานที่มีอินเทอร์รัพท์
อุปกรณ์แต่ละส่วนในเครื่องคอมพิวเตอร์ที่ใช้งานร่วมกับโปรเซสเซอร์จะมีหมายเลขอินเทอร์รัพท์เฉพาะตัว
โดยปกติอินเทอร์รัพท์อาจจะเกิดขึ้นด้วยเหตุการณ์ 4 อย่าง ด้วยกัน คือ
1. โปรแกรม
2. ตัวกำเนิดเวลา
3. อินพุต/เอาท์พุต
4. ฮาร์ดแวร์
ตัวจัดการอินเทอร์รัพท์
โดยทั่วไปจะอยู่ในโปรแกรมรอมไบออสหรือเป็นส่วนหนึ่งของระบบปฏิบัติการ
แต่ไม่ได้มีข้อจำกัดว่า เราจะใช้อินเทอร์รัพท์ได้เฉพาะกับโปรแกรมของระบบเท่านั้น
ในโปรแกรมประยุกต์ต่างๆก็สามารถสร้างตัวจัดการอินเทอร์รัพท์ขึ้นมาใช้เองได้
อินเทอร์รัพท์เป็นกลไกที่ใช้ในการทำงานของเครื่องคอมพิวเตอร์
เครื่องพีซีในปัจจุบันออกแบบให้ใช้อินเทอร์รัพท์ได้ซึ่งเรียกว่าขัดจังหวะการขับเคลื่อนการทำงานระหว่างอุปกรณ์ต่างๆกับคอมพิวเตอร์
นั้นก็มีการใช้อินเทอร์รัพท์เป็นตัวกลางสั่งงาน
การอินเทอร์รัพท์จะช่วยในการประมวลผลให้มีประสิทธิภาพมากขึ้น
เช่น เมื่อมีอุปกรณ์จากภายนอกที่ทำงานช้ากว่าหน่วยประมวลผล
สมมุติว่าเรามีการส่งข้อมูลไปยังเครื่องพิมพ์
หน่วยประมวลผลจะต้องหยุดรอจนกระทั่งเครื่องพิมพ์ทำงานเสร็จ
เวลาที่ต้องสูญเสียการรอคอยนี้ อาจจะสามารถทำงานได้เป็นร้อยๆพันๆคำสั่ง
การเกิดอินเทอร์รัพท์หลายๆครั้งต่อเนื่องกันหรือเกิดอินเทอร์รัพท์ซ้อนอินเทอร์รัพท์ก่อนหน้าที่กำลังดำเนินการอยู่
สามารถเกิดได้ การส่งข้อมูลภายนอกก็จะสร้างอินเทอร์รัพท์ตลอดขณะที่มีข้อมูลเข้ามา
อินเทอร์รัพท์ตัวใดจะเกิดก่อนหลังจะขึ้นอยู่กับความสำคัญสำหรับการกำหนดความสำคัญของอินเทอร์รัพท์
และอนุญาตให้มีการอินเทอร์รัพท์
โครงสร้างบัส
ได้กล่าวมาแล้วว่าวระบบบัสประกอบชุดของสายสัญญาณอยู่ 4 ชุด
กลุ่มของสายสัญญาณที่ใช้ชี้ตำแหน่งเรียกว่าแอดแดรสบัส
กลุ่มของสายสัญญาณที่เป็นตัวนำข้อมูลเรียกว่า ดาต้าบัส กลุ่มสายสัญญาณที่ใช้ควบคุมการรับส่ง
การอ่าน/เขียนข้อมูล เรียกว่า คอนโทรลบัส
และกลุ่มของสายไฟฟ้าที่นำกระแสมาเลี้ยงวงจร เรียกว่า เพาว์เวอร์ไลน์(สายไฟ)
ถ้ามีจำนวนอุปกรณ์ หรือ
แผงควบคุมอุปกรณ์ต่ออยู่บนบัสชุดเดียวกันจำนวนมากๆ
อุปกรณ์แต่ละตัวจะต้องแบ่งเวลาการใช้บัส ทำให้สมรรถนะของบัสลดลง
นั่นคืองานที่ทำได้ช้าลง อีกประการหนึ่ง
แผงควบคุมที่ต่ออยู่บนบัสแต่ละชนิดมีความต้องการหรือส่งถ่ายข้อมูลลงในบัสมีขนาดแตกต่างกัน
แผงควบคุมเหล่านี้ถ้าใช้บัสชุดเดียวกัน คงไม่เกิดผลที่ดีแน่นอน
เพราะมีความต้องการส่งข้อมูลบนบัสปริมาณและความเร็วแตกต่างกัน
แสดงโครงสร้างของบัสแบบเดิม
แสดงโครงสร้างของบัสแบบที่ใช้ในปัจจุบัน
คุณลักษณะของบัส
อุปกรณ์อินพุต/เอาท์พุตแต่ละอย่างมีการเชื่อมต่อเข้ากับบัส
โดยผ่านตัวควบคุมที่เรียกว่า คอนโทรลเลอร์ และมีชื่อแตกต่างกัน
บัสแต่ละแบบจะมีคุณสมบัติไม่เหมือนกัน ขึ้นอยู่กับพารามิเตอร์หลักๆที่เป็นพื้นฐาน
ดังต่อไปนี้
1. ชนิดของบัส
สายไฟที่ใช้ในบัส
มีสองแบบ คือแบบที่สายบัสแต่ละเส้นทำหน้าที่อย่างเดียว ได้แก่พอร์ตที่ใช้งานเฉพาะ
อีกแบบหนึ่งเป็นแบบที่สายบัสบางสายสามารถทำหน้าที่ได้มากกว่าหนึ่งอย่าง
ส่วนทุ่มเทนั่นแต่ละบัสจะติดต่อกับกลุ่มของโมดูลไอโอทั้งหมด
ข้อดีสำหรับบัสนี้มีรับข้อมูลได้ปริมาณสูง
ข้อเสียคือเป็นการเพิ่มขนาดและราคาของระบบ
2. ทฤษฎีการควบคุมการทำงาน
การออกแบบบัสมีทฤษฎีการควบคุมการทำงานของบัส 2 แบบ คือ
แบบศูนย์รวมการควบคุมการทำงานของบัส 2 แบบ คือ ในแบบรวมศูนย์การควบคุมนั้น
ส่วนควบคุมอาจเป็นโมดูลที่แยกออกมาหรือส่วนหนึ่งขอซีพียู
ส่วนแบบการกระจายควบคุมจะไม่มีตัวควบคุมเป็นศูนย์กลาง
แต่ละโมดูลจะประกอบด้วยตัวควบคุมของภายในโมดูลเอง
3. เวลา
การเกิดหลายๆเหตุการณ์ขึ้นพร้อมๆกันบนบัส
โดยใช้สัญญาณนาฬิกา เป็นตัวให้จังหวะการทำงานของเหตุการณ์ต่างๆ
เหตุการณ์ต่างๆก็จะดำเนินไปพร้อมกัน
เรียกการทำงานแบบนี้ว่า การทำงานแบบเข้าจังหวะ ยังมีการทำงานอีกแบบหนึ่งคือ
การทำงานแบบไม่เข้าจังหวะ คือการเกิดเหตุการณ์หนึ่งบนบัส
จะขึ้นอยู่กับเหตุการณ์ที่เกิดขึ้นก่อนหน้านั้น การทำงานแบบเข้าจังหวะสามารถที่จะจัดการและตรวจสอบได้ง่าย
อย่างไรก็ตามยังมีความยืดหยุ่นน้อยกว่าการทำงานแบบไม่เข้าจังหวะ
เนื่องจากว่าอุปกรณ์ทั้งหมดบนบัสจะต้องทำงานร่วมกันไปพร้อมกับสัญญาณนาฬิกาของบัส
ส่วนในการทำงานแบบไม่เข้าจังหวะ
จะมีรูปแบบเป็นการรวมฮาร์ดแวร์ที่ทำงานช้าและเร็วเข้าไปอยู่ในบัสเดียวกันได้
รวมทั้งการนำเทคโนโลยีทั้งเก่าและใหม่มาร่วมกันใช้งานบนบัสได้
4. ความกว้างของบัส
คล้ายกับความกว้างของถนน
ถ้าบัสกว้าง ข้อมูลก็วิ่งได้จำนวนมากในหนึ่งครั้ง
สำหรับหน่วยวัดความกว้างบัสนั้นวัดในหน่วย “บิต” ซึ่ง 8 บิต เท่ากับ 1 ไบต์ หรือ 1 ตัวอักษร
5. ชนิดของการส่งถ่ายข้อมูล
ในการออกแบบบัสสามารถให้มีการจัดการกับข้อมูลหรือการส่งถ่ายข้อมูลได้หลายวิธี
ได้แก่
- เขียน คือ การเก็บการบันทึก
- อ่าน คือ การอ่านข้อมูลลงสู่บัส
- อ่านเขียนปรับเปลี่ยน
คือ อ่านก่อน
ตามด้วยเขียนลงที่ตำแหน่งเดียวกันกับอ่านทันที
- หลังจากอ่านเขียน คือ การเขียนตาทันทีที่การอ่านผ่านไปในตำแหน่งเดียวกัน
- บล็อก คือ
การกระทำกับกลุ่มของข้อมูล
อ้างอิง
: http: //
se-sd.net/sansmbin/h-bus.htmalStailling, w. (1996) องค์การและสถาปัตยกรรมคอมพิวเตอร์ (5 เอ็ด) สหรัฐอเมริกา: Prenticฮอลล์
: เอกสารประกอบการสอนรูปแบบไฟล์ PDF
lesson3จาก
อาจารย์ภัทรดร จั้นวันดี
ไม่มีความคิดเห็น:
แสดงความคิดเห็น