วันศุกร์ที่ 13 มีนาคม พ.ศ. 2552

บทที่ 10 - บัสและอินเทอร์เฟซ (Bus & Interface)

บัสและอินเทอร์เฟซ
(Bus & Interface)
บัสและอินเทอร์เฟซ
- คำสั่งที่ถูกเอ็กซิคิวต์ในซีพียูโดยการย้ายข้อมูลในรูปแบบที่ต่างกันไม่ว่าจะเป็นการย้ายข้อมูลจากรีจิสเตอร์ไปสู่รีจิสเตอร์
หรือระหว่างรีจิสเตอร์กับหน่วยความจำนอกจากข้อมูลที่เป็นตัวเลขแล้ว ข้อมูลยังสามารถรวมคำสั่งและแอ็ดเดรสไปพร้อม ๆ กัน
ด้วยดังนั้นข้อมูลที่ถ่ายโอนระหว่างไอโอโมดูล, หน่วยความจำ และซีพียูจะคล้ายกันการเชื่อมต่อทางกายภาพที่ทำให้ข้อมูลสามารถ
ถ่ายโอนจากแหล่งหนึ่งไปอีกแหล่งหนึ่งในระบบคอมพิวเตอร์เรียกว่า “บัส” (bus)
- บัสมีการเชื่อมต่อดีไวซ์ตั้งแต่สองดีไวซ์ขึ้นไป
- มีสัญญาณควบคุมให้ดีไวซืใดส่งก่อน ดีไวซ์ใดต้องรอ
- ในช่วงเวลาเดียวกันไม่มีดีไวซ์ที่ส่งข้อมูลพร้อมกัน
- บัสที่ทำหน้าที่เชื่อมต่อส่วนหลัก ๆ ของคอมพิวเตอร์ (โปรเซสเซอร์, หน่วยความจำ และไอโอ) เรียกว่า “บัสระบบ” (System bus)
- ปกติจะมีการโหลดโอเปอเรชันและข้อมูลจากหน่วยความจำไปยังโปรเซสเซอร์
- ส่วนการเขียนข้อมูลจากโปรเซสเซอร์ลงหน่วยความจำจะทำในทิศทางตรงข้าม
- การกระทำกับหน่วยความจำผ่านทางบัสระบบเป็นโอเปอเรชันที่เป็น “สลาฟ” (slave)
- ซีพียูสามารถเชื่อมต่อโดยตรงกับบัสระบบทำให้เรียกว่า “มาสเตอร์” (master)
โครงสร้างพื้นฐานของบัส
- โครงสร้างบัส SCSI
- ประเภทของบัส (Type)
- การควบคุมบัส (Arbitration)
- รูปแบบการเข้าจังหวะ (Timing)
- ขนาดบัส (Width)
- ประเภทการถ่ายโอนข้อมูล(Data transfer type)
- Split transaction
การออกแบบบัส
Dedicate : เป็นบัสที่มีการกำหนดหน้าที่ไว้อย่างชัดเจนและถาวร ซึ่งจะเห็นได้ชัดคือบัสย่อยในระบบคอมพิวเตอร์
เช่น แอ็ดเดรสบัส, ดาต้าบัส หรือคอนโทรลบัสที่จะทำหน้าที่กำหนดแอ็ดเดรส, ส่งข้อมูล และสัญญาณควบคุม ตามลำดับ
Multlplexed : บัสที่สามารถทำหน้าที่ได้หลายอย่าง ไม่มีการกำหนดอย่างชัดเจนและถาวร การทำหน้าที่อะไรนั้น
ขึ้นอยู่กับสัญญาณควบคุม
ประเภทของบัส
Centralized : มีดีไวซ์ที่เรียกว่า “คอนโทรลเลอร์” (Controller) หรือ “อาร์บิเตอร์” (Arbiter)
อาจจะเป็นหน่วยแยกหรือรวมอยู่กับโปรเซสเซอร์ก็ได้ โดยดีไวซ์นี้มีหน้าที่จัดสรรเวลาการใช้บัสให้กับดีไวซ์อื่นที่ร้องขอมา
Distributed : ไม่มีคอนโทรลเลอร์ที่คอยควบคุมการใช้บัส แต่จะมีวงจรพิเศษที่เรียกว่า “แอ็กเซสคอนโทรลลอจิก”
(Access Control Logic) อยู่ในตัวเอง และจะทำงานร่วมกันในแบ่งการใช้บัสร่วมกัน
การควบคุมบัส
Synchronous : จะมีดีไวซ์หนึ่งบนบัสนั้นที่มีเครื่องกำเนิดสัญญาณนาฬิกาและทำหน้าที่ส่งชุดสัญญาณ 0 และ 1
ในช่วงเวลา
Asynchronous : ไม่มีสัญญาณนาฬิกาของบัส ดีไวซ์ที่เป็นมาสเตอร์ของบัสแบบนี้จะวางทุกสิ่งที่ต้องการลงบนบัส
(แอ็ดเดรส, ดาต้า และคอนโทรล) และกำหนด MSYN (master synchronization) ดีไวซ์ที่เป็นสลาฟจะทำงาน
ของตนและเมื่อเสร็จสิ้นจะกำหนด SSYN (slave synchronization) หลังจากนั้นดีไวซ์ที่เป็นมาสเตอร์จะปลดปล่อย
MSYN แล้วส่งสัญญาณไปปลดปล่อย SSYN
ขนาดของบัส
ทุกบัสสนับสนุนการเขียน (จากมาสเตอร์ไปสลาฟ) และการอ่าน (จากสลาฟไปมาสเตอร์) สำหรับแอ็ดเดรสบัส/ดาต้าบัสที่
เป็นแบบ multiplexed ในขั้นแรกบัสจะถูกกำหนดให้เป็นแอ็ดเดรสบัสก่อน (เพื่อกำหนดแอ็ดเดรส) หลังจากนั้นจะถูกกำหนด
เป็นดาต้าบัส (เพื่อส่งข้อมูล) สำหรับโอเปอเรชันการอ่าน จะมีการรอให้ข้อมูลถูกดึงจากสลาฟมาวงบนบัสก่อน แต่สำหรับโอเปอเรชัน
ทั้งอ่านและเขียน อาจจะต้องมีการรอ เพื่อการเพิ่มการควบคุมและเลือกดีไวซ์ให้รับสิทธิ์การใช้บัสต่อไป เช่น กำหนดสิทธิ์ให้ดีไวซ์สามารถ
อ่านและเขียนได้ เป็นต้น
การถ่ายโอนข้อมูล
โดยปกติดีไวซ์ที่สามารถทำการอ่านและเขียนได้จะมีบัสมาสเตอร์ ถ้าบัสใดเป็นมัลติเพิลมาสเตอร์ (multiple master)
แสดงว่ามีหลาย ๆ ซีพียู หรือเมือไอโอสามารถกำหนดให้ทำงานกับบัสได้ ในระบบมัลติเพิลมาสเตอร์นี้จะต้องมีอาร์บิเตอร์เพื่อตัดสิน
ว่าดีไวซ์ใดจะได้สิทธิ์การใช้บัสนั้นในช่วงเวลาต่อไป อาร์บิเตอร์จะมีการจัดระดับความสำคัญของดีไวซ์แบบคงที่ แต่ในบางระบบที่มี
daisy-chains จะมีการให้สิทธิ์แบบสุ่มก็ได้ ในระบบมัลติเพิลมาสเตอร์นั้น บัสสามารถมีแบนด์วิธ (bandwidth)
ที่มากกว่าโดยใช้แพ็กเก็ต (packet) เพื่อให้บัสทำงานเต็มที่ เทคนิคนี้เรียกว่า “Split transaction”
มาตรฐานของบัสที่มีการใช้งานอย่างแพร่หลายในพีซี

PCI (Peripheral Component Interconnect)
-มีอัตราเร็ว 2 แบบคือ 33 และ 66 เมกะเฮิร์ต ปัจจุบันบนเมนบอร์ดมีสล็อตสูงสุด 5 สล็อตสำหรับติดตั้งอุปกรณ์ และสามารถ
รองรับการทำงานของการ์ด PCI แบบบัสมาสเตอร์ (สนับสนุนการถ่ายโอนข้อมูลความเร็วสูง โดยไม่ผ่าน DMA) เช่น
SCSI หรือ LAN card เป็นต้น
-ความกว้างของดาต้าบัสมีทั้งแบบ 32 และ 64 บิต โดยมีแบนด์วิธสูงสุดที่ 533 เมกะบิตต่อวินาที และสามารถถ่ายโอนข้อมูล
ในรูปแบบของ Burst Mode
- แรงดันไฟฟ้าที่ใช้กับบัสแบบ PCI นี้มี 2 แบบคือ ใช้แรงดันไฟฟ้าขนาด +3.3 โวลต์ สำหรับเครื่องพีซีทั่วไป และแรงดันขนาด
+5 โวลต์ สำหรับคอมพิวเตอร์ที่ใช้ซีพียูแบบ RISC เช่น Alpha ของ DEC
- ใช้เทคนิคที่ใช้แอ็ดเดรสบัส/ดาต้าบัสเป็นแบบ multiplexed ทำให้ลดขนาดจำนวนขาของสล็อต PCI
- ใช้ระบบ Plug & Play ทำให้สามารถติดตั้งอุปกรณ์ได้โดยไม่ต้องตั้งค่าคอนฟิกกุเรชัน ทำให้ลดปัญหาการเกิดอินเทอร์รัพต์
- มีระบบ Write Posting และ Read Prefetching ทำให้ประหยัดเวลาในการเตรียมการเขียนและอ่านข้อมูล
- เป็นระบบบัสที่ไม่ขึ้นกับโปรเซสเซอร์ ทำให้สามารถใช้อุปกรณ์ร่วมกันได้ เป็นการลดค่าใช้จ่าย และการซ่อมบำรุง
- มีการตรวจสอบและแก้ไขข้อผิดพลาดในระหว่างการถ่ายโอนข้อมูล
SCSI (Small Computer System Interface)
-บัสแบบขนานทั่วไปที่ออกแบบมาเพื่อทำงานเป็นสากลกับไอโอดีไวซ์ เช่น ฮาร์ดิสก์, เครื่องพิมพ์, ซีดีรอม, สแกนเนอร์
และเทป เป็นต้น
-แต่บัสแบบ SCSI มีการกำหนดแอ็ดเดรสให้แต่ละดีไวซ์
-บัสแบบ SCSI ถูกออกแบบให้เป็น “daisy chained” ที่แต่ละดีไวซ์จะเชื่อมต่อกับดีไวซ์อื่น โดยตัวที่สองจะเชื่อมต่อ
กับตัวที่หนึ่ง ตัวที่สามจะเชื่อมต่อกับตัวที่สอง เป็นเช่นนี้เรื่อยไป
-ดีไวซ์ตัวสุดท้ายจะมีเทอร์มิเนเตอร์ (terminator) เพื่อป้องกันการสะท้อนของสัญญาณกลับเข้ามาที่บัสในลักษณะผิดทิศทาง
-มีเทอร์มิเนเตอร์ที่คอนโทรลเลอร์ของบัสแบบ SCSI ไอโอแต่ละตัวจะมีคอนโทรลเลอร์เฉพาะอยู่ในตัวเอง
AGP (Accelerated Graphics Port)
การเชื่อมต่อของ AGP
- AGP ไม่เป็นระบบบัส
- แต่ AGP เป็นบัสที่ใช้กับการ์ดจอเพื่อการแสดงผลภาพเคลื่อนไหวแบบ 3 มิติ รวมทั้งภาพยนตร์ หรือ วิดีโอแบจอคอมพิวเตอร์
มีขนาดของบัสเป็น 32 บิตเช่นเดียวกับ PCI AGP สามารถวิ่งได้ที่ความเร็วสูงสุด ในขณะที่ PCI วิ่งได้ความเร็วเพียงครึ่งหนึ่ง
เช่น ถ้าโปรเซสเซอร์ทำงานที่ 100 เมกะเฮิร์ต
- AGP ก็สามารถทำงานได้ที่ความเร็ว 100 เมกะเฮิร์ตในขณะที่ PCI ทำงานได้ที่ความเร็ว 50 เมกะเฮิร์ตเท่านั้น ทำให้ PCI
ไม่สามารถรองรับความเร็วในการประมวลผลเชิงภาพกราฟิก โดยเฉพาะกราฟิก 3 มิติ ทำให้มีการพัฒนา AGP ขึ้นมา
USB (Universal Serial BUS)
รูปแบบการเชื่อมต่อของ USB
-สามารถเชื่อมต่อดีไวซ์ได้ถึง 127 ดีไวซ์ในคอมพิวเตอร์เครื่องเดียว
-ความเร็วในการถ่ายโอนข้อมูลสูงถึง 480 เมกะบิตต่อวินาที หรือ 60 เมกะไบต์ต่อวินาที (ใน USB 2.0) ทั้งสัญญาณเสียงและ
สัญญาณภาพ
-ลดการใช้รีซอร์ส IRQ และสล็อต (Slot) สำหรับการ์ดต่าง ๆ ที่เป็นอุปกรณ์ต่อพ่วงในคอมพิวเตอร์ได้อย่างมาก
-เปิดสวิตช์ก็สามารถใช้งานได้ทันที ไม่จำเป็นต้องปิดแล้วเปิดเครื่องใหม่
-สนับสนุนการทำงานแบบ Plug & Play
-สนับสนุนการทำงานแบบ Hot Swap ที่สามารถถอด-ใส่อุปกรณ์ได้โดยไม่ต้อปิดสวิตช์คอมพิวเตอร์ และใช้งานต่อได้ทันที
-USB มีคอนเน็กเตอร์เฉพาะที่ไม่เหมือนคอนเน็กเตอร์ของดีไวซ์อื่น ๆ ทำให้ช่วยป้องกันความผิดพลาดในการเชื่อมต่อดีไวซ์ผิดประเภท
-ดีไวซ์ที่เชื่อมต่อกับพอร์ต USB ใช้ไฟฟ้าแรงดันต่ำ เช่น เมาส์, กล้องดิจิตอล จะใช้ไฟจากบัส USB ได้ทันที แต่ถ้าดีไวซ์นั้นใช้ไฟฟ้า
แรงดันสูง เช่น เครื่องพิมพ์, สแกนเนอร์, โมเด็ม จะต้องมีแหล่งจ่ายไฟแยกต่างหาก เช่น จากเต้าเสียบ
-ความยาวของสายสัญญาณของดีไวซ์ USB สามารถยาวได้ถึง 5 เมตร หากต้องการความยาวมากกว่านั้นจะต้องใช้อุปกรณ์ทวนสัญญาณ
(repeater) -สามารถขยายดีไวซ์มาตรฐานที่เชื่อมต่อนั้นด้วยไดร์เวอร์มาตรฐาน
-การเชื่อมต่อทำได้ง่ายเนื่องจากมีสายสัญญาณเพียง 4 เส้น คือ V+, V-, D+ และ D- โดยสายข้อมูล (D+ และ D-) นั้นจะ
เป็นสายตีเกลียวคู่
-มีระบบ Suspend เพื่อช่วยในการประหยัดพลังงาน
-มีการกำหนดค่าแอ็ดเดรสของดีไวซ์ต่าง ๆ โดยอัตโนมัติ ทำให้ลดข้อผิดพลาดในการเกิดอินเทอร์รัพต์ของดีไวซ์
-มีระบบตรวจสอบและแก้ไขข้อผิดพลาดในการถ่ายโอนข้อมูลไปมาระหว่าง USB กับ USB Interface ในกรณีเกิดข้อผิดพลาด
ในถ่ายโอนข้อมูล จะพยายามรับส่งข้อมูลกันใหม่อีกครั้ง
-สนับสนุนการถ่ายโอนข้อมูล 4 ระบบคือ Bulk, Isochronous, Interrupt และ Control Transfer
ส่วนประกอบ USB
- ฮาร์ดแวร์
- USB Controller/Root Hub
- USB Hubs
- อุปกรณ์ USB
- ซอฟต์แวร์
- USB Device Driver
- USB Driver
- Host Controller Driver

ไม่มีความคิดเห็น:

แสดงความคิดเห็น