PCI local bus

13
เจาะลึกระบบบัสนําสัญญาณ PCI local bus สุรพล ศรีบุญทรง บทความ 1996 บัสนําสัญญาณสําหรับเชื่อมโยงขอมูลระหวางหนวยประมวลผลกลางและอุปกรณรอบขาง (expansion bus) ขนาด 16 บิท อยาง IBM's AT (Advanced Technology) expansion bus ซึ่งยังคงมีติดตั้งใชงานอยูในผลิตภัณฑ เครื่องคอมพิวเตอรพีซีหลายๆ ยี่หอในขณะนีนับไดวาเปนประดิษฐกรรมโบราณที่มีอายุการใชงานยืนนานมากเมื่อเทียบ กับองคประกอบดานฮารดแวรคอมพิวเตอรชนิดอื่นๆเพราะถานับแตบัสนําสัญญาณ IBM's AT expansion bus ปรากฏ สูโลกคอมพิวเตอรเปนครั้งแรกจนถึงบัดนีก็นับเปนเวลาสิบกวาปแลว เวลาสิบกวาปนี้ถาพูดถึง ผลิตภัณฑอุตสาหกรรมทั่วๆ ไปอาจจะไมถือวานานสัก เทาใดนัก แตเมื่อเปนผลิตภัณฑกลุมคอมพิวเตอรที่มี วิวัฒนาการอยางรวดเร็วมากแลว เวลาสิบกวาปอาจ เทียบไดกับเวลานับเปนรอยปเลยทีเดียว อยางดูแต ผลิตภัณฑเครื่องคอมพิวเตอรในตระกูลพีซีนั้น แคเวลา สิบกวาปก็มีการพัฒนาจากเครื่อง 80286 AT ไปเปนเครื่อง 80386, 80486, และเครื่อง Pentium PC ในปจจุบัน จน เดี๋ยวนี้เราแทบจะหาเครื่องคอมพิวเตอร 80286 AT ซึ่งเปนตนกําเนิดแหงบัสนําสัญญาณ ISA bus ทํายาไมไดอีกแลว แตการที่บัสนําสัญญาณแบบ AT expansion bus หรือที่ปจจุบันรูจัก และเรียกขานกันในชื่อ "ISA bus" (Industry Standard Architecture bus) ยังคงเปนที่ยอมรับใชงานในหมูบริษัทผูผลิตเครื่องคอมพิวเตอรหลายๆ รายนั้น สาเหตุสําคัญก็มาจากการที่มันเปนสวนเชื่อมโยงสัญญาณที่ไมไดมีสวนเกี่ยวของโดยตรงกับการทํางานหลักๆ ใน ระบบคอมพิวเตอร เปนเพียงสวนเชื่อมโยงสัญญาณขอมูลระหวางหนวยประมวลผลกลางกับอุปกรณรอบขางซึ่งยังคงมี ความเร็วในการทํางานคอนขางต่ํา (slow devices) จนบางครั้งออกจะเปนการสิ้นเปลืองงบประมาณเกินไปเสียดวยซ้ํา หากจะนําเอาบัสนําสัญญาณประสิทธิภาพสูงๆ ราคาแพงๆ มาใชรวมกับมัน อยางไรก็ตาม รูปแบบการประมวลของระบบคอมพิวเตอรในปจจุบันไดมีการปรับเปลี่ยนไปจากเดิม เปนอยางมาก มีการนําเอาระบบปฏิบัติการประเภท Multi-tasking OS ซึ่งสามารถดําเนินการประมวลคําสั่งหลายๆ อยางพรอมกันไปในเวลาเดียวกันมาใช ในขณะเดียวกันโปรแกรมประยุกตตางๆ ก็ไดรับการพัฒนาใหมีขนาดใหญโต, มี รูปแบบการทํางานที่หลากหลาย และประสิทธิภาพในการทํางานเพิ่มสูงขึ้นเปนอยางมาก ทําใหปริมาณขอมูลที่ตองถูก สงผานไปมาระหวางหนวยประมวลผลกลางกับอุปกรณรอบขางอื่นๆ ทวีจํานวนขึ้นอยางมากมายเปนหลายสิบ หลายรอย เทาตัว จนทําใหระบบบัสนําสัญญาณที่เคยเพียงพอจนเรียกไดวาเหลือเฟอในอดีตตองกลับกลายเปนวาคับแคบเกินกวาทีจะรองรับปริมาณขอมูลดังกลาวได อันสงผลใหเหลาบริษัทผูผลิตเครื่องคอมพิวเตอรทั้งหลายจําเปนตองหารูปแบบบัสนําสัญญาณชนิดใหม ที่มีประสิทธิภาพ และขีดความสามารถในการรองรับปริมาณการสงผานขอมูลที่มากขึ้นมาใชแทนบัสนําสัญญาณ ISA bus ซึ่งระบบบัสนําสัญญาณระดับคุณภาพที่ดูเหมือนวาจะเปนที่นาสนใจมากที่สุดในสายตาของผูเชี่ยวชาญคอมพิวเตอรขณะนี

Transcript of PCI local bus

Page 1: PCI  local bus

เจาะลึกระบบบัสนําสัญญาณ PCI local bus สุรพล ศรีบุญทรง

บทความ 1996

บัสนําสัญญาณสําหรับเช่ือมโยงขอมูลระหวางหนวยประมวลผลกลางและอุปกรณรอบขาง (expansion

bus) ขนาด 16 บิท อยาง IBM's AT (Advanced Technology) expansion bus ซึ่งยังคงมีติดต้ังใชงานอยูในผลิตภัณฑ

เครื่องคอมพิวเตอรพีซีหลายๆ ย่ีหอในขณะน้ี นับไดวาเปนประดิษฐกรรมโบราณที่มีอายุการใชงานยืนนานมากเมื่อเทียบ

กับองคประกอบดานฮารดแวรคอมพิวเตอรชนิดอื่นๆเพราะถานับแตบัสนําสัญญาณ IBM's AT expansion bus ปรากฏ

สูโลกคอมพิวเตอรเปนครั้งแรกจนถึงบัดน้ี ก็นับเปนเวลาสิบกวาปแลว

เวลาสิบกวาปน้ีถาพูดถึง

ผลิตภัณฑอุตสาหกรรมทั่วๆ ไปอาจจะไมถือวานานสัก

เทาใดนัก แตเมื่อเปนผลิตภัณฑกลุมคอมพิวเตอรที่มี

วิวัฒนาการอยางรวดเร็วมากแลว เวลาสิบกวาปอาจ

เทียบไดกับเวลานับเปนรอยปเลยทีเดียว อยางดูแต

ผลิตภัณฑเครื่องคอมพิวเตอรในตระกูลพีซีน้ัน แคเวลา

สิบกวาปก็มีการพัฒนาจากเครื่อง 80286 AT ไปเปนเครื่อง 80386, 80486, และเครื่อง Pentium PC ในปจจุบัน จน

เด๋ียวน้ีเราแทบจะหาเครื่องคอมพิวเตอร 80286 AT ซึ่งเปนตนกําเนิดแหงบัสนําสัญญาณ ISA bus ทํายาไมไดอีกแลว

แตการที่บัสนําสัญญาณแบบ AT expansion bus หรือที่ปจจุบันรูจัก และเรียกขานกันในช่ือ "ISA

bus" (Industry Standard Architecture bus) ยังคงเปนที่ยอมรับใชงานในหมูบริษัทผูผลิตเครื่องคอมพิวเตอรหลายๆ

รายน้ัน สาเหตุสําคัญก็มาจากการที่มันเปนสวนเช่ือมโยงสัญญาณที่ไมไดมีสวนเกี่ยวของโดยตรงกับการทํางานหลักๆ ใน

ระบบคอมพิวเตอร เปนเพียงสวนเช่ือมโยงสัญญาณขอมูลระหวางหนวยประมวลผลกลางกับอุปกรณรอบขางซึ่งยังคงมี

ความเร็วในการทํางานคอนขางตํ่า (slow devices) จนบางครั้งออกจะเปนการสิ้นเปลืองงบประมาณเกินไปเสียดวยซ้ํา

หากจะนําเอาบัสนําสัญญาณประสิทธิภาพสูงๆ ราคาแพงๆ มาใชรวมกับมัน

อยางไรก็ตาม รูปแบบการประมวลของระบบคอมพิวเตอรในปจจุบันไดมีการปรับเปลี่ยนไปจากเดิม

เปนอยางมาก มีการนําเอาระบบปฏิบัติการประเภท Multi-tasking OS ซึ่งสามารถดําเนินการประมวลคําสั่งหลายๆ

อยางพรอมกันไปในเวลาเดียวกันมาใช ในขณะเดียวกันโปรแกรมประยุกตตางๆ ก็ไดรับการพัฒนาใหมีขนาดใหญโต, มี

รูปแบบการทํางานที่หลากหลาย และประสิทธิภาพในการทํางานเพิ่มสูงข้ึนเปนอยางมาก ทําใหปริมาณขอมูลที่ตองถูก

สงผานไปมาระหวางหนวยประมวลผลกลางกับอุปกรณรอบขางอื่นๆ ทวีจํานวนข้ึนอยางมากมายเปนหลายสิบ หลายรอย

เทาตัว จนทําใหระบบบัสนําสัญญาณที่เคยเพียงพอจนเรียกไดวาเหลือเฟอในอดีตตองกลับกลายเปนวาคับแคบเกินกวาที่

จะรองรับปริมาณขอมูลดังกลาวได

อันสงผลใหเหลาบริษัทผูผลิตเครื่องคอมพิวเตอรทั้งหลายจําเปนตองหารูปแบบบัสนําสัญญาณชนิดใหม

ที่มีประสิทธิภาพ และขีดความสามารถในการรองรับปริมาณการสงผานขอมูลที่มากข้ึนมาใชแทนบัสนําสัญญาณ ISA bus

ซึ่งระบบบัสนําสัญญาณระดับคุณภาพที่ดูเหมือนวาจะเปนที่นาสนใจมากที่สุดในสายตาของผูเช่ียวชาญคอมพิวเตอรขณะน้ี

Page 2: PCI  local bus

2

ก็เห็นจะไมมีชนิดใดโดดเดนเกินหนาผลิตภัณฑ " PCI (Peripheral Component Interconnection) local bus ไปได

ดังน้ัน เพื่อใหทานผูอานมีความเขาใจในระบบบัสนําสัญญาณแบบ PCI local bus ไดเปนอยางดี ผูเขียนจึงขอถือโอกาส

ใชบทความน้ีเปนที่อธิบายลึกลงไปในรายละเอียดของมัน

ปญหาการจราจรสัญญาณขอมูล

ดังที่ไดกลาวมาขางตนแลววา หากบริษัทผูผลิตเครื่อง

คอมพิวเตอรตองการใหผลิตภัณฑของตนสามารถรองรับการรองรับการ

ประมวลผลสมัยใหมไดน้ัน พวกเขาไมเพียงแตจะตองเพิ่มประสิทธิภาพ

ของหนวยประมวลผลกลาง, และความสามารถในการจัดการกับ

หนวยความจําเทาน้ัน แตยังตองมีการพัฒนาเพิ่มขีดความสามารถในการ

สงผานสัญญาณขอมูลไปมาระหวางหนวยประมวลผลกลางกับอุปกรณ

ตางๆ ภายในระบบคอมพิวเตอรอีกดวย

เพราะลําพังการเพิ่มความเร็วของหนวยประมวลผลกลางแตเพียงอยางเดียวอาจจะทําใหระบบมี

ความเร็วในการประมวลผลข้ึนจริง แตการทํางานโดยรวมของระบบคอมพิวเตอรมิไดจํากัดอยูแคการประมวลผลของ

หนวยประมวลผลกลาง หรือการสงผานขอมูลระหวางหนวยประมวลผลกลางกับหนวยความจําหลักเทาน้ัน จําเปนที่

จะตองมีการสงผานขอมูลระหวางหนวยประมวลผลกลางกับอุปกรณประกอบระบบอื่นๆ อยาง ฮารดดิสก หรือสวน

ควบคุมหนาจอมอนิเตอร ฯลฯ ดวย

ตรงน้ีเองที่บัสนําสัญญาณ ISA bus เขามามีผลจํากัดการทํางานของระบบคอมพิวเตอรโดยรวมได

เพราะขนาดความกวางสัญญาณ 16 บิทของมันจะสงผลใหการจราจรขอมูลปริมาณมหาศาลตองสะดุดและเคลื่อนตัวไป

อยางยากลําบาก (เหมือนสภาพการจราจรคอขวดที่เกิดข้ึนบนถนนวิภาวดีรังสิตของกรุงเทพฯ) ดังน้ัน หากยังไมรีบ

ดําเนินการแกไขปรับปรุงขยายขนาดความกวางของบัสนําสัญญาณ ถึงจะเพิ่มความเร็วของหนวยประมวลผลกลางข้ึนไป

เทาใดก็คงไมทําใหความเร็วโดยรวมของระบบคอมพิวเตอรเพิ่มข้ึนจากเดิมได

ทางออกที่งายที่สุดสําหรับปญหาเรื่องการจราจรคอขวดของขอมูล (bottleneck) ภายในเครื่อง

คอมพิวเตอรที่ใชระบบบัสนําสัญญาณแบบ ISA bus ก็คือ ใชวิธีการตอเช่ือมอุปกรณรอบขางประเภทที่ตองมีการ

เรียกใชบอยๆ เขากับบัสนําสัญญาณภายใน (local bus) อันเปนบัสที่ตอออกมาจากตัวหนวยประมวลผลกลางโดยตรง

และมีความเร็วในการสงผานสัญญาณขอมูลไดสูงที่สุดภายในระบบ เชน มีบางผลิตภัณฑเลือกที่จะติดต้ังวงจรควบคุม

หนาจอ (graphics chips) หรืออุปกรณรอบขางตัวอื่นๆ ไวบนแผงวงจรหลัก (motherboard) โดยตรงเลย

การใชวิธีตออุปกรณรอบขางสําคัญๆ อยางเชน วงจรควบคุมหนาจอ* เขากับตัวหนวยประมวลผลกลาง

โดยตรงน้ี แมวาจะทําใหการสงผานสัญญาณขอมูลระหวางสวนควบคุมหนาจอกับหนวยประมวลผลกลางเปนไปอยาง

รวดเร็วข้ึนจริง แตมันกลับสงผลเสียติดตามมาถึงสองประการดวยกัน ประการแรก มันทําใหตัวอุปกรณควบคุมหนาจอ

น้ีถูกผูกติดไปกับหนวยประมวลผลกลางชนิดตัวติดกันไปตลอด (processor treadmill) เวลาที่มีผลิตภัณฑเครื่อง

คอมพิวเตอรที่ใชหนวยประมวลผลกลางความเร็วสูงข้ึนออกสูตลาด มันก็หมายความวาสวน I/O subsystem ของ

คอมพิวเตอรตองไดรับการออกแบบใหมหมดตามไปดวยทุกครั้ง

Page 3: PCI  local bus

3

ผลเสียประการที่สองของการติดต้ังวงจรควบคุมหนาจอเขากับแผงวงจรหลักโดยตรง เปนผลเสียโดยตรง

ตอผูใชคอมพิวเตอรตรงที่มันทําใหผูใชคอมพิวเตอรตองถูกผูกติดกับวงจรควบคุมหนาจอรุนเดิมที่ติดตั้งอยูบน

แผงวงจรหลักไปตลอด ไมสามารถเปลี่ยนไปใชวงจรควบคุมหนาจอรุนใหมๆ ที่มีประสิทธิภาพมากข้ึนได ถึงแมวาบางครั้ง

สวนของวงจรควบคุมหนาจอที่มีใชอยูน้ันอาจจะลาสมัยไปแลวก็

ตาม เพราะติดขัดวาถาจะเปลี่ยนไปใชของใหมก็อาจจะตอง

เปลี่ยนแผงวงจรหลักใหมหมดเลย และปญหาน้ียังสงผลเสีย

ทางออมยอนกลับไปยังตัวผูผลิตแผงวงจรควบคุมหนาจอเองอีก

ตรงทําใหสามารถจําหนายสินคาไดนอยลง

ดังน้ัน วิธีการแกไขปญหาการจราจรคอขวด

ของขอมูลดวยการตอพวงวงจรควบคุมหนาจอเขากับหนวย

ประมวลผลกลางแผงวงจรหลักโดยตรงจึงเปนอันพับฐานไปโดยปริยาย และทางออกที่แยบยลกวาก็ไดถุกพัฒนาข้ึนมา

น่ันคือ แทนที่จะตอพวงวงจรควบคุมหนาจอเขากับแผงวงจรหลักโดยตรงก็คงวงจรดังกลาวไวกับสวนแผงวงจรขยาย

(expansion board) ตามเดิมน่ันแหละ แตหันไปใชวิธีการปรับปรุงสวนของแผงวงจรหลักเสียใหมใหสามารถเลือก

ตอเช่ือมวงจรควบคุมหนาจอเขากับบัสนําสัญญาณสวน local bus ของหนวยประมวลผลกลางดวยการลากสายมาจาก

แผงวงจรขยายได

ผลจากการคงวงจรควบคุมหนาจอไวที่สวนของแผงวงจรขยายน้ัน ก็ทําใหผูใชคอมพิวเตอรสามารถ

ปรับเปลี่ยนไปใชวงจรควบคุมหนาจอใหมๆ ที่มีประสิทธิภาพมากข้ึนไดอยางอิสระ และสะดวกสบาย (Upgradivity)

ในขณะที่การออกแบบสวนแผงวงจรหลักเสียใหมใหเลือกงตออุปกรณรอบขางเขากับบัส Local bus ได ก็สงผลใหการ

ขยับขยายการทํางานของระบบโดยรวมเปนไปอยางอิสระเชนกัน (expandability) ถาจะมีปญหาอยูบางก็ตรงเงื่อนไข

ที่วาผูใชคอมพิวเตอรจะตองเลือกซื้ออุปกรณรอบขางที่ออกแบบมาเพื่อการทํางานรวมกับแผงวงจรหลักของตนโดยตรง

เทาน้ัน (ซึ่งก็ไมไดเปนปญหาสลักสําคัญอะไรนัก เพราะตามปรกติผูผลิตคอมพิวเตอรก็มักจะออกแบบผลิตภัณฑของตน

ใหสามารถทํางานรวมกับผลิตภัณฑอื่นไดอยางกวางๆ อยูแลว)

* ความจริงอาจจะเปนวงจรควบคุมอุปกรณรอบ

ขางชนิดอื่นๆ ก็ได แตที่เลือกใชวงจรควบคุมสวนหนาจอ

มอนิเตอรก็เพราะวา โปรแกรมประยุกตรุนใหมๆ ในปจจุบัน

มักจะมุงเนนไปที่สีสัน และความสมจริงตางๆที่ปรากฏบนหนา

จอมอนิเตอร ซึ่งก็สงผลใหมีปริมาณขอมูลที่ใชสําหรับการ

แสดงออกบนหนาจอสูงมากข้ึนตามไปดวย จนบางครั้งหากไมมี

วงจรควบคุมการแสดงออกบนหนาจอ (graphics accelerator) ที่ดีพอแลว ผูใชอาจจะตองรอเครื่องคอมพิวเตอรใชเวลา

สรางภาพบนหนาจอทีละหลายๆ นาทีเลยก็เปนได

มาตรฐาน PCI local bus

Page 4: PCI  local bus

4

มาตรฐานบัสนําสัญญาณแบบ PCI local bus น้ันเปนรูปแบบการเช่ือมโยงสัญญาณขอมูลสมรรถนะ

สูงระหวางแผงวงจรหลัก และแผงวงจรขยายซึ่งไดรับการนําเสนอสูสายตาสาธารณชนครั้งแรกใน Intel Technical

Forum ที่ออกในเดือนธันวาคม ป ค.ศ. 1991 หลังจากน้ันมาอีกเกือบครึ่งปมันถึงไดมีการรางระบุขอกําหนดมาตรฐาน

ของ PCI local bus ฉบับแรกออกมาในเดือน มิถุนายน ค.ศ. 1992 โดยกลุมคณะกรรมการ "The PCI Steering

Committee members"

คณะกรรมการ

The PCI Steering

Committee members น้ี

ประกอบไปดวยสมาชิกที่มี

ช่ือเสียงอันเปนที่ยอมรับใน

หมูผูผลิตผลิตภัณฑ

คอมพิวเตอรทั่วๆ ไป อัน

ไดแก บริษัท Compaq,

บริษัท DEC, บริษัท IBM,

บริษัท Intel, และบริษัท

NCR ซึ่งตอมา

คณะกรรมการดังกลาวก็มีการปรับปรุงเปลี่ยนมาเรื่อยจนกระทั่งกลายมาเปนกลุมที่มีช่ือวา "PCI SIG (PCI Special

Interest Group) กรุป" ในเดือนมิถุนายนของปถัดมา (ค.ศ. 1992) พรอมๆ กับที่มาตรฐาน PCI local bus ก็กลายมา

เปนมาตรฐานระบบเปดสําหรับผลิตภัณฑคอมพิวเตอรทั่วไป จนกระทั่งเมื่อเดือนเมษายนปที่แลว ขอดําหนดมาตรฐาน

PCI local bus (PCI specifications) ฉบับ revision 2.0 ก็ไดถูกจัดรางและตีพิมพออกมาเปนฉบับลาสุด

บริษัทผูผลิตผลิตภัณฑคอมพิวเตอรที่ใหการยอมรับในมาตรฐาน PCI local bus ของกลุม PCI SIG น้ี

นับไดวามีอยูกวางขวางทั่วไป ที่หลักๆ ก็เห็นจะได บริษัท Apple ที่ประกาศตัวออกมาอยางชัดเจนวาจะใหการสนับสนุน

ในมาตรฐาน PCI local bus อยางเต็มที่ รวมทั้งยังมีแผนการที่จะติดต้ังระบบบัสนําสัญญาณแบบ PCI local bus ใน

ผลิตภัณฑเครื่องคอมพิวเตอร PowerPC RISC Macintosh รุนใหมที่กําลังจะออกมาของตนดวย (ในผลิตภัณฑ

PowerPC Macintosh รุนแรกของบริษัท Apple ยังคงใชบัสนําสัญญาณ NuBus ซึ่งรองรับการทํางานของแผงวงจร

ขยาย NuBus peripheral boards อยู)

หรืออยางบริษัท DEC (Digital Equibment Corporation) ซึ่งเปนหน่ึงในสมาชิกของกลุม PCI SIG ก็

ยืนยันวาจะมีการนําเอามาตรฐาน PCI local bus เขาไปใชในผลิตภัณฑกลุม Alpha-based systems รวมทั้งยังมีการ

ติดต้ังรูปแบบการอินเทอรเฟซแบบ PCI interface ไวบนชิปหนวยประมวลผลความเร็วสูง "DECchip 210066 RISC"

ของบริษัท อีกดวย

ดวยความสนับสนุนจากเหลาบริษัท ผูผลิตคอมพิวเตอรเหลาน้ีน่ีเองก็เปนเครื่องยืนยันถึงอนาคตอันสดใส

ของมาตรฐาน PCI local bus ไดเปนอยางดี จนนาจะเปนที่เช่ือไดอยางแนนอนวามันคงจะไดรับการยอมรับเปน

Page 5: PCI  local bus

5

มาตรฐานสําหรับการเช่ือมโยงระหวางอุปกรณประกอบระบบ (component interconect) และมาตรฐานสําหรับระบบ

บัสขยาย (expansion-bus standard) โดยทั่วไปภายในระยะเวลาอันสั้นน้ี

การที่เหลาบริษัทผูผลิตคอมพิวเตอรใหการตอนรับมาตรฐาน PCI เปนอยางดีน้ัน มาจากความจริง

อยางหน่ึงวาเทาที่เปนมาในอดีตสวนของบัสนําสัญญาณเปนสวนที่มีวิวัฒนาการนอยมากเมื่อเทียบกับวิวัฒนาการในดาน

การประมวลผล และการมุงเนนแตการพัฒนาประสิทธิภาพของหนวยประมวลผลกลางใหมีประสิทธิภาพสูงมากข้ึนไม

สามารถจะสงผลใหระบบคอมพิวเตอรโดยรวมมีความเร็วมากข้ึนกวาเดิมไดสักเทาใดนัก

ดังน้ัน เมื่อมาตรฐาน PCI มีการแยกเอาสวน

ติดตอกับอุปกรณรอบขาง (I/O subsystem) ออกมาเสียจากสวน

ของหนวยประมวลผลกลาง, หนวยความจําหลัก, และ

หนวยความจําแคช (processor/memory/cache subsystem)

มันจึงเปนที่สบใจของเหลาวิศวกรผูออกแบบผลิตภัณฑคอมพิวเตอร

อยางย่ิง เพราะทําใหพวกเขาไมตองประสบกับปญหาการผูกยึดติด

กับหนวยประมวลผล (processor treadmill) เชนที่เคยเปนมา

และน่ันเองที่เปนสวนสงเสริมใหมาตรฐาน PCI ถูกนํามาใชกับผลิตภัณฑคอมพิวเตอรหลายๆ ย่ีหอ

สวนพื้นฐานสําคัญ (fundamental part) ของมาตรฐาน PCI อยูที่การออกแบบตัวชิป PCI-to-host

bridge chip ข้ึนมาทําหนาที่เช่ือมตอบัส PCI bus เขากับบัส Local bus ของหนวยประมวลผลกลาง และเมื่อใดที่ชิป

PCI-to-host bridge chip ที่วาน้ีสําเร็จเรียบรอยถึงข้ันที่มีจําหนายใหเลือกใชโดยทั่วไป หนวยประมวลผลรุนใหมๆ

ทั้งหลายก็จะสามารถติดตอกับอุปกรณรอบขางในระบบมาตรฐาน PCI (PCI components access) ไดทุกชนิด และเมื่อ

ถึงตอนน้ันก็เทากับมาตรฐาน PCI ไดกาวลวงพนไปสูมาตรฐานที่ไมข้ึนกับหนวยประมวลผล (processor independent

standard) อีกตอไปแลว

ชิป PCI-to-host bridge chip น้ีก็ถูกออกแบบมาใหสามารถถอดเปลี่ยนไดงายๆ ไมยุงยากอะไร เชน

สมมติวาทางบริษัทผูผลิตชิปหนวยประมวลผลมีการออกผลิตภัณฑหนวยประมวลผลรุนใหมออกมา สิ่งที่ผูผลิตเครื่อง

คอมพิวเตอรตามมาตรฐาน PCI ตองทําก็มีแคเพียงถอดเปลี่ยนชิป PCI-to-host bridge chip เสียใหมเทาน้ัน สวน

องคประกอบอื่นๆ ในเครื่องคอมพิวเตอรยังสามารถคงไวไดตามเดิมไมตองไปยุงเกี่ยวดวยเลย

เน่ืองจากมาตรฐาน PCI เปนมาตรฐานการเช่ือมโยงสัญญาณขอมูลระดับ comonent-and-board

level bus ดังน้ันจึงสามารถรวมเอามาตรฐานการเช่ือมโยงสัญญาณรูปแบบอื่นๆ อยางเชน ระบบ SCSI bus เขามาไว

ภายในมาตรฐาน PCI ไดดวย เพียงแตจะตองใชชิปวงจรควบคุม (controller chip) หรือแผงวงจรควบคุม (controller

board) สําหรับการอินเทอรเฟซเขากับบัส PCI bus เทาน้ัน

ดวยวิธีการเช่ือมตอกับบัสนําสัญญาณ PCI bus ดังกลาว เหลาบริษัทผูผลิตอุปกรณรอบขางที่ตอง

ติดตอหนวยประมวลผลผาน I/O ports ทั้งหลายในปจจุบัน (I/O component designers) ไมวาจะเปน แผงวงจร

กราฟฟก, แผงวงจรอินเทอรเฟซ SCSI (Small computer system interface), หรือแผงวงจรเน็ตเวิรก ฯลฯ สามารถ

ทุมเทสติปญญาไปใชเพื่อการพัฒนาผลิตภัณฑของตนใหมีสมรรถนะการทํางานไดอยางเต็มที่ ไมตองเสียเวลามาตรึกตรอง

Page 6: PCI  local bus

6

เรื่องของการเช่ือมโยงสัญญาณกับหนวยประมวลผลหรือบัส ที่มีการพัฒนาออกรุนใหมๆ ออกมาอยูตลอดเวลาใหเปลือง

สมองเลย

มาตรฐาน PCI ยืนยันที่จะกําหนด

ความเร็วของบัส PCI bus ไวที่ขนาด 33 MHz แมวา

ปจจุบันผลิตภัณฑหนวยประมวลผลกลางสวนใหญจะไดรับ

การพัฒนาขีดความสามารถในการประมวลผลใหมีความเร็ว

เกินเลยขนาด 33 MHz ไปแลว ทั้งน้ีก็เพราะวาหนวย

ประมวลผลกลางสามารถทํางานเร็วกวาความเร็วของบัสนํา

สัญญาณไดโดยไมมีปญหา ดวยชิป host-to-PCI bridge

จะทําหนาที่แยกเอาสวนบัสนําสัญญาณของหนวย

ประมวลผล (processor bus) ออกเสียจากบัสนําสัญญาณ

PCI bus

นอกจากการแยก processor bus ออก

จาก PCI bus แลว ชิป host-to-PCI bridge ยังมี

ความสามารถจัดเก็บขอมูลไวในรูปหนวยความจําบัฟเฟอร (buffering) อีกดวย เพื่อเพิ่มประสิทธิภาพในการทํางานของ

ระบบคอมพิวเตอร และบัสนําสัญญาณ โดยเฉพาะเมื่อตองใชงานรวมกับหนวยประมวลผลที่ไมมีความสามารถในการ

บันทึกขอมูลทีละมากในรวดเดียว (burst write) อยางเชน ไมโครโปรเซสเซอร 80486 ฯลฯ

ทั้งน้ีและทั้งน้ัน เน่ืองจากบัส PCI bus ไมไดถูกออกแบบมาใหรองรับการทํางานแบบ burst write

ดังน้ัน ชิป host-to-PCI bridge จึงตองทําหนาที่รับเอาขอมูลที่ทยอยมาจากหนวยประมวลผล (non burst-write) มา

เก็บไวในหนวยความจําบัฟเฟอรของตน กอนที่จะอัดเอาขอมูลที่วาน้ันผานบัส PCI bus ไปในรวดเดียวเลย (burst-write)

นอกจากน้ัน ชิป host-to-PCI bridge ยังประกอบไปดวยการทํางานดานลอจิกอีกหลายอยางดวยกัน อยางเชน สวน

ควบคุมหนวยความจําแคช (cache controller) และ กลไก centralized arbitration mechanism ของบัส PCI bus

ฯลฯ

กลาวโดยสรุปแลว มาตรฐาน PCI ที่กําเนิดข้ึนมาใหมน้ีมิไดมีวัตถุประสงคเพื่อการใชแทนมาตรฐานบัส

ขยาย (expansion bus standard) ซึ่งกําลังเปนที่นิยมอยูในขณะน้ี มันเพียงแตผสมผสาน PCI bus เขากับรูปแบบบัส

นําสัญญาณมาตรฐานที่มีอยูเดิม และผูผลิตคอมพิวเตอรสามารถติดต้ังรูปแบบบัสนําสัญญาณแบบเดิมอยาง ISA, EISA,

Micro Chanel, NuBus หรือ SCSI เขากับบัสนําสัญญาณ PCI bus ที่พัฒนาข้ึนมาใหมไดโดยเพียงแตอาศัยความ

ชวยเหลือจากชิป host-to-PCI bridge เทาน้ัน

เพราะถึงแมวาบัสนําสัญญาณแบบเดิมๆ จะมีสมรรถนะในการสงผานขอมูลดอยกวา PCI bus แตมันก็

เปนรูปแบบที่ไดรับการติดต้ังใชงานอยูโดยทั่วไปอยูแลวในปจจุบัน ถาตองเลิกใชเสียหมดเลยเพียงเพื่อจะมาใช PCI bus

คงไมมีใครเขาเอาดวย การออกแบบบัสนําสัญญาณ PCI bus ใหสามารถทํางานรวมกับระบบบัสนําสัญญาณที่ดอยกวา

(downward compatability) จึงนับไดวาเปนกุศโลบายที่ชาญฉลาดของทีมงานผูออกแบบมาตรฐาน PCI ในการที่จะทํา

ใหระบบมาตรฐาน PCI ไดรับการยอมรับโดยเหลาบริษัท ผูผลิตผลิตภัณฑคอมพิวเตอรทั่วไป

Page 7: PCI  local bus

7

เปาหมาย และท่ีมาของระบบบัส PCI bus

การออกแบบมาตรฐานบัสนําสัญญาณ PCI bus น้ันมีเปาหมายหลักอยูสามประการดวยกัน ประการ

แรก มันจะตองเปนรูปแบบการติดตอกับบัส Local bus ซึ่งออกมาจากหนวยประมวลผลกลางโดยตรงไดอยางมี

ประสิทธิภาพมากที่สุด ในราคาที่ตํ่าที่สุด (Low-cost, high-performance Local bus interface), ประการที่สอง มัน

จะตองมีความสามารถในการกําหนดคา configurations ของอุปกรณและแผงวงจรตางๆ ที่ตอเพิ่มเขามาในมาตรฐาน

PCI ไดโดยอัตโนมัติ (Autonomic configurations of components and add-in boards), และประการสุดทาย

มาตรฐาน PCI ที่ไดรับการออกแบบมาน้ันจะตองมีความยืดหยุนเพียงพอที่จะสามารถรองรับอุปกรณรอบขางประเภท

ใหมๆ ที่จะไดรับการออกแบบมาในอนาคตไดดวย (Future peripherals support)

ดวย

วัตถุประสงคประการแรก ที่

ตองการออกแบบให

มาตรฐาน PCI มีราคาไมแพง

มากเกินไปน้ัน จุดแรกที่

ทีมงานผูออกแบบมาตรฐาน

PCI จึงมุงเนนไปที่การลด

จํานวนขา (pins) และสายสัญญาณตางที่ใชในการเช่ือมโยงสัญญาณ เพราะตามปรกติแลวอุปกรณอิเล็กทรอนิกส

ทั้งหลายที่เกี่ยวของกับระบบบัสนําสัญญาณ ไมวาจะเปนหัวตอคอนเนคเตอร, ไอซีชิป และช้ินสวนตางๆ บน

แผงวงจรหลัก ฯลฯ จะมีราคาคางวดแพงข้ึน และขนาดใหญโตข้ึนหากวาตองประกอบไปดวยขาจํานวนมากๆ หรือตอง

ติดตอกับสายสัญญาณจํานวนมากๆ ของบัสนําสัญญาณ

วิธีการลดจํานวนขาของอุปกรณ และจํานวนสายนําสัญญาณของมาตรฐาน PCI น้ันกระทําโดยการ

เลือกใชบัสนําสัญญาณแบบ Multiplexed data & address bus ซึ่งสงผลใหมาตรฐาน PCI สามารถใชจํานวนขาเพียง

47 ขาสําหรับการติดตอในสวน PCI target และใชการติดตอแบบ 49 ขาในสวนของ PCI master และถึงแมวาจะใช

จํานวนสายสัญญาณนอยลง แตอุปกรณตางๆ ในมาตรฐาน PCI ก็สามารถรองรับการทํางานของระบบไดอยางมี

ประสิทธิภาพ (ดังแสดงในรูปที่ 1)

รูปท่ี 1 แสดงรูปแบบของขา (pins) และการอินเทอรเฟซสัญญาณ (signal interface) ของอุปกรณตามมาตรฐาน PCI ซึ่ง

ประกอบไปดวยสวนของขาที่จําเปนตองใชสําหรับการติดต้ัง PCI bus (required pins) และสวนของขาที่เปนสวน

เสริม (optional pins) สําหรับการติดต้ังระบบบัสแบบ 64 บิท และสําหรับรองรับหนวยความจําแคช ฯลฯ

สําหรับแผงวงจรที่จะนํามาติดต้ังเพิ่มเติมใหกับระบบคอมพิวเตอร (add-in boards) น้ัน ระบบบัส

มาตรฐาน PCI จะกําหนดไวสองขนาด คือขนาดมาตรฐานความยาว 12 น้ิว และขนาดสั้น (ยาวประมาณ 7 น้ิว) โดยบัส

Page 8: PCI  local bus

8

PCI bus จะอนุญาตใหติดต้ังเพิ่มไดไมเกิน 10 โหลด (คาโหลดของบัสมีวิธีคิดดังน้ี คือ แตละไอซีชิปบนแผงวงจรหลักคิด

เทียบไดเทากับ 1 โหลด ในขณะที่แตละแผงวงจรที่ติดต้ังเสริมเขามาบนสล็อตจะคิดเปน 2 โหลดตอหน่ึงแผง)

ดังน้ัน สมมติวาบนแผงวงจรหลักมีอุปกรณที่ติดต้ังอยูในรูปไอซีชิปอยู 4 ตัวอยูแลว ระบบบัส PCI bus

ก็จะอนุญาตใหผูใชคอมพิวเตอรสามารถติดต้ังแผงวงจรเพิ่มเขามาไดอีก 3 แผง หรืออีกหกโหลดเทาน้ัน หากผูใช

คอมพิวเตอรด้ือดึงติดต้ังโหลดเขาไปเกินกวาที่ระบบบัส PCI bus จะรองรับได ก็จะมีผลไปรบกวนการทํางานของสวน

กําหนดเวลาใชงานของอุปกรณ (timing specifications) อันจะนําไปสูความเสียหายของระบบคอมพิวเตอรโดยรวมได

และเพื่อใหมาตรฐาน PCI สามารถครอบคลุมไปถึงอุปกรณที่ใชคาความตางศักยขนาด 3.3 โวลตได

กลุม PCI SIG จึงไดมีการระบุขอกําหนด 3.3-V PCI specifications สําหรับอุปกรณคอมพิวเตอรที่ใชคาความตางศักย

ขนาด 3.3 โวลต ออกมาดวยตางหาก นอกเหนือไปจากมาตรฐานเดิมที่ใชคาความตางศักย 5 โวลต (ปจจุบันเหลาบริษัท

อุตสาหกรรมอิเล็กทรอนิกสทั้งหลายตางมีแนวโนมที่จะเปลี่ยนมาตรฐานสัญญาณดิจิตัลจากเดิมที่เปน 5 โวลต ไปใชขนาด

3.3 โวลตแทน)

ดวยการระบุคากําหนดความตางศักยไวสองคาน้ี ทําใหผลิตภัณฑ

แผงวงจร และสล็อตที่ใชในมาตรฐาน PCI จําเปนตองไดรับการออกแบบมาเพื่อการใช

งานกับคาความตางศักยที่เหมาะสมของตนเทาน้ัน คือ แผงวงจร 5 โวลตก็ตองใชกับ

สล็อตแบบ 5 โวลต ในขณะที่สล็อตแบบ 3.3 โวลตก็ตองใชกับแผงวงจร 3.3 โวลต

เชนเดียวกัน อยางไรก็ตาม เพื่อหลีกเลี่ยงความสับสนอันเน่ืองมาจากการเสียบ

แผงวงจรผิดสล็อตทางกลุม PCI SGI จึงเรียกรองใหเหลาบริษัทผูผลิตแผงวงจรหันมาใช

มาตรฐานเดียวกัน หรือไมอยางน้ันก็นาจะผลิตแผงวงจรใหสามารถใชไดกับสล็อตทั้ง

สองระดับความตางศักยเลย

รูปท่ี 2 แสดงลักษณะแผงวงจรเสริม (add-in boards) สามแบบ แบบ 5 โวลต (ซาย) ,แบบ 3.3 โวลต (ขวา) และแบบ

ที่สามารถใชไดกับทั้ง 3.3 โวลต และ 5โวลต (กลาง) ที่ทางกลุม PCI SIG กําลังเรียกรองใหเหลาบริษัทผูผลิตแผงวงจร

ทั้งหลายหันมาใช

มาตรฐาน PCI จําแนกพื้นที่แอดเดรสตําแหนงที่อยู (address space) ออกเปนสามประเภท คือ เปน

memory space, I/O space และ Configuration space โดย configuration space น้ันจะเปนพื้นที่จัดเก็บขอมูล

ขนาด 256 ไบทภายในอุปกรณ PCI device แตละตัว ซึ่งใชสําหรับจัดเก็บขอมูลเกี่ยวกับรายละเอียดของตัวอุปกรณน้ันๆ

ตัวอยางของขอมูลที่ถูกจัดเก็บไวในสวน configuration space น้ีก็ไดแกคารหัสชนิด (type code) ซึ่งแสดงใหระบบ

ทราบวาอุปกรณดังกลาวน้ันมีการทํางานควบคุมหนวยความจําสํารอง, ควบคุมการอินเทอรเฟซกับเน็ตเวิรก, ควบคุมสวน

หนาจอ, หรือควบคุมอุปกรณฮารดแวรอื่นๆ อยูหรือไม ?

ดวยวิธีการระบุคารหัสชนิดไวภายใน Configuration space ของแตละอุปกรณดังกลาว มาตรฐาน PCI จึงสามารถ

รองรับอุปกรณ ประเภทที่มีการทํางานหลายๆ อยาง (multifunctional device) ไดทีละหลายๆ ตัวไดอยางไม

มีปญหา ตราบใดที่ยังมีการตอเช่ือมโยงสัญญาณทางกายภาพ (physical connection) เขากับบัส PCI bus เพียงอัน

Page 9: PCI  local bus

9

เดียว ยกตัวอยางเชน ไอซีชิปตัวหน่ึงอาจจะสามารถรองรับไดทั้งการเช่ือมโยงสัญญาณแบบ SCSI และการติดตอกับ

Ethernet

นอกจากคารหัสชนิด (type code) แลว ภายในสวน Configuration space ยังประกอบไปดวย คา

รีจิสเตอร PCI control, status, และ latency timer registers ; ตําแหนง expansion ROM ของอุปกรณ ; และ คา

รีจิสเตอร base-address registers เวลาที่ผูใชเปดเครื่องคอมพิวเตอรข้ึนใชงาน ระบบจะตรวจเช็คแสกนไปตามพื้นที่

configuration space ของอุปกรณทุกๆ ตัวที่ตออยูกับบัส PCI bus หลังจากแสกนครบแลวระบบก็จะกําหนดคา

base address ที่เฉพาะตัว และกําหนดระดับความสําคัญในการอินเทอรรัพท (interupt level) ใหกับอุปกรณแตละตัว

น้ัน

สําหรับสวน expansion ROM ของอุปกรณ PCI

device น้ัน ก็จะประกอบไปดวยรหัสที่ใชกระตุนอุปกรณ (initialize

code) โดยขอมูลที่บรรจุอยูในหนวยความจํา ROM ที่วาน้ันจะถูก

จัดเรียงไวในรูปแบบฟอรแมทของ little endian (หรือที่รูจักกันอีก

ช่ือวาเปนฟอรแมทแบบ reverse-byte ordering ซึ่งจัดเรียงใหไบท

ที่มีนัยสําคัญนอยที่สุดอยูในตําแหนงหนาสุด) แตไมไดถูกออกแบบให

ปกปองตนเองจากการถูกเรียกใชขอมูลจากหนวยประมวลผลอื่นๆ

นอกจากน้ันตัวหนวยความจํา expansion ROM ของมาตรฐาน PCI ยังสามารถจัดเก็บขอมูลรหัสที่

แตกตางกันออกไปไดดวย ทําใหระบบสามารถใชขอมูลใน ROM ไปกระตุนเรียกเอาอุปกรณที่ออกแบบมาเพื่อใชกับ

หนวยประมวลผลซึ่งมีโครงสรางทางสถาปตยตางกันข้ึนมาใชได (different architecture devices initialization) อัน

สงผลใหระบบมาตรฐาน PCI สามารถรองรับอุกรณฮารดแวรตางๆ ที่ตอพวงเขามาไดโดยอัตโนมัติ ไมตองไปปรับแตง

อะไรใหยุงยากอีก หรือจะเรียกวาเปนระบบเสียบแลวเลนไดเลย (plug-and-play system) ก็คงได

หลากหลายประสิทธิภาพของระบบบัส PCI bus

การทํางานแตละอยางภายในระบบ PCI bus (PCI transaction) น้ัน ดําเนินไประหวางสวน Master

ซึ่งควบคุมบัส และสวน Target ซึ่งเปนเปาหมายปลายทางของบัส โดยคําวา Master และ Target น้ีเปนคําศัพท

เฉพาะตัวของมาตรฐาน PCI เอง ตัว Master หมายถึงอุปกรณในระบบที่สามารถควบคุมบัส และกระตุนใหมีการเขาถึง

หนวยความจําเพื่อเรียกเอาคําสั่งดําเนินการข้ึนมาทํางานได เชน หนวยประมวลผล หรือวงจรควบคุมบัส bus-

mastering SCSI controller ฯลฯ

ในขณะทีคํ่าวา target ก็จะหมายถึงอุปกรณที่ถูกควบคุมทั้งหลาย (slave devices) จะทําอะไรทีก็เปน

ผลมาจากการตอบสนองตอคําสั่งดําเนินการจาก master เทาน้ัน อยางเชน หนวยความจํา, หรือวงจรควบคุมหนาจอ

VGA controlller ฯลฯ ทั้งน้ีระบบบัส PCI bus ทําการสงผานขอมูลไปมาระหวาง Master และ Target ในรูปลักษณ

ของการอานและบันทึกขอมูลแบบรวดเดียวจบ (burst read and write) เพื่อผลในการทํางานที่มีประสิทธิภาพสูงที่สุด

สําหรับการทํางานของบัสตามปรกติ (normal bus access) น้ัน การสงผานขอมูลแตละครั้งจะเกิดข้ึน

ไดจําเปนตองมีคาแอดเดรสที่อยูใหมเสมอ(one address for single transfer) แตสําหรับการสงผานขอมูลแบบรวด

Page 10: PCI  local bus

10

เดียวจบ (burst transfer) ของมาตรฐาน PCI แลว ระบบบัสจะไดรับคาแอดเดรสที่อยูเพียงคาเดียวเทาน้ัน หลังจากน้ัน

ระบบบัส PCI bus จะดําเนินการสงผานขอมูลหลายๆ ครั้งติดตามกันไปไดเลย (one address for multiple

transfers)

โดยการสงผานขอมูลแบบ Burst transfer ของมาตรฐาน PCI น้ี จะเริ่มดวยสวน address phase

หน่ึงเฟสกอน แลวจึงตามมาดวยสวน data phase อีกหน่ึงเฟส หรือมากกวาหน่ึงเฟส ทําใหแตละเฟสของ Data

phase สามารถถูกสงผานไปไดระหวางแตละชวงคาบสัญญาณนาฬิกา (clock peroid) อันสงผลใหระบบมาตรฐาน PCI

สามารถจัดสงขอมูลดวยความเร็ว 132 Mbps ผานไปตามบัสขนาด 32

บิท หรือดวยความเร็ว 264 Mbps ผานไปตามบัสขนาด 64 บิทได

(การสงผานขอมูลแบบ Burst transfer น้ีอาจจะเปนการสงผานขอมูล

ไปยังหนวยความจํา หรือไปยังสวน I/O ก็ได)

มีขอสังเกตุอีกอยางวา การสงผานขอมูลแบบ Burst

transfer ของมาตรฐาน PCI น้ีจะไมมีขอจํากัดในเรื่องระยะความยาว

ของขอมูลที่จัดสง (indefinite burst length) ซึ่งตางไปจาก

โครงสรางทางสถาปตยของระบบอื่นๆ ที่มักจะมีระยะความยาวของ

ขอมูลที่จัดสงไปอยางชัดเจนแนนอน (limited, fixed burst length)

ดังน้ัน การสงผานขอมูลแบบ Burst transfer ของมาตรฐาน PCI จะ

ดําเนินตอเน่ืองกันไปจนกวาตัวอุปกรณ Master หรือ target จะรอง

ขอใหหยุด หรือจนกวาจะมีอุปกรณรอบขางชนิดอื่นๆ ที่มีศักดศรี

เหนือกวา (higher priority) รองขอใชบัส

แตละอุปกรณ PCI device จะมีการทํางาน Latency timer ซึ่งทําหนาที่สํารวจตรวจสอบดูชวงเวลา

ยาวนานที่สุดที่ตัวอุปกรณเองไดรับอนุญาตใหสามารถเขามาใชบัส PCI bus ได โดยการทํางาน latency timer น้ีจะจะ

เขาถึงบัสผานทาง configuration space และถูกโปรแกรมไวโดยหนวยประมวลผล ทําใหหนวยประมวลผลสามารถ

ปรับแตงการทํางานภายในระบบใหมีประสิทธิภาพและความเหมาะสมมากที่สุด (system performance

optimization) ดวยการโปรแกรมชวงเวลา latency ที่อุปกรณ PCI device แตละตัวจะเขามาใชบัสใหเปนไปอยาง

เหมาะสม

เวลาที่มีการสงผานขอมูลแบบ Burst transaction ระหวางอุปกรณ PCI device เกิดข้ึนน้ัน ตัว

อุปกรณ Master ซึ่งทําหนาที่ควบคุมบัสจะเปนผูระบุถึงรูปแบบของการสงผานขอมูล (transaction type) โดยผานทาง

คําสั่ง bus command (ดังแสดงในรูปที่ 3) ซึ่งปรากฏอยูบนเสน Command/byte enable (C/BE[3::0]#) ภายในชวง

เฟส address phase ของการสงผานขอมูล (ดังแสดงในรูปที่ 4)

รูปท่ี 3 แสดงรายละเอียด และความหมายของรหัสคําสั่ง Bus command ซึ่งอุปกรณ Master ใชระบุถึงรูปแบบการ

สงผานขอมูล

Page 11: PCI  local bus

11

รูปท่ี 4 แสดงรูปแบบพื้นฐานในการอาน และบันทึกขอมูลผานบัส PCI bus ซึ่งเกิดข้ึนในชวงหน่ึงเฟรม อันประกอบดวย

หน่ึง address phase และ สาม data phase โดยมีคาคําสั่งระบุรูปแบบการสงผานขอมูล Bus command ปรากฏ

อยูในสวน C/BE line

การเพิ่มประสิทธิภาพการทํางานของระบบคอมพิวเตอรยังสามารถกระทําไดอีกทางหน่ึงดวยการลด

ชวงเวลา Overhead ซึ่งบัสอยูระหวางการถูกจองใชงาน แตไมมีการสงผานขอมูลเกิดข้ึนจริงระหวางน้ัน เพราะตาม

ปรกติเวลาที่อุปกรณ PCI device แตละตัวจะเขาไปเขาถึงบัส PCI bus ได ตัวมันตองรองขอใชบัสผานทาง central

arbiter ดวยสัญญาณ REQ (request signal) เมื่อ central arbitor ซึ่งเปนการทํางานชิป host-to-PCI bridge ไดรับ

สัญญาณ REQ จากอุปกรณ PCI device มันก็จะสงสัญญาณอนุญาต GNT (grant signal) ออกมา

อยางไรก็ตาม ระหวางที่ central

arbiter ซึ่งทําหนาที่เหมือนเปนนายหนาหรือตัวกลางคอย

ดําเนินการติดตอระหวางอุปกรณ PCI device กับบัสทํา

การจัดวางการติดตอของแตละอุปกรณ PCI device เขา

กับบัส (arbitration process) อยูน้ัน มันก็ทําใหบัสตอง

เสียเวลาอันมีคาไปเปลาปลี้ๆ เสียหลายรอบสัญญาณ

นาฬิกาอยูเหมือนกัน ดังน้ันเพื่อลดปญหาการสูญเปลา

ของเวลา มาตรฐาน PCI จึงอนุญาตให central arbiter

ทําการจัดวางการติดตอของอุปกรณถัดไปไดเลยในระหวาง

ที่การสงผานขอมูลของอีกอุปกรณหน่ึงกําลังดําเนินอยู

ในสวนของรูปแบบการสงผานขอมูลน้ัน ระบบบัส PCI bus ยังสามารถจัดสงขอมูลไดทั้งแบบทีละ 32

บิท และทีละ 64 บิท ข้ึนอยูกับวามาตรฐาน PCI ที่ตอพวงอยูกับบัส PCI bus มีการรองรับวิธีสงผานขอมูลทีละ 64 บิท

หรือไม โดยเริ่มจากอุปกรณ master จะตองจัดสงสัญญาณ REQ64 และ ACK64 ไปยังอุปกรณ target ดูกอนวา ตัว

อุปกรณ Target น้ันมีความสามารถในการรับขอมูลทีละ 64 บิทหรือไม ถาตัวอุปกรณ target สามารถรับขอมูลทีละ 64

บิทได การสงผานขอมูลทีละ 64 บิทจึงจะเกิดข้ึนได

สวนอุปกรณmasterของมาตรฐาน PCI น้ันจะสามารถรองรับวิธีการกําหนดตําแหนงแอดเดรสไดทั้ง

ชนิด 32 บิท และชนิด 64 บิท (both 32 & 64 bit addressing) โดยไมจําเปนวามันจะสามารถรองรับเสนทางการ

สงผานขอมูลทีละ 32 หรือ 64 บิท (32 bit or 64 bit data path ?) ตรงตามวิธีการกําหนดคาตําแหนงแอดเดรสของมัน

หรือไม อีกทั้งมันยังไมจําเปนตองรับรูดวยวาอุปกรณ target ที่มันติดตอดวยน้ันมีการรองรับการจัดสงขอมูลแบบใด ?

(แบบ 32 บิท หรือ 64 บิท)

เวลาที่อุปกรณ master จัดสงขอมูลไปยังอุปกรณ target มันจะตองเสนอแอดเดรสตําแหนงที่อยูใน

รูปแบบฟอรแมท dual-address-cycle command ที่ตัวอุปกรณ target ทั้งชนิด 32 บิท และชนิด 64 บิทสามารถ

รองรับไดทั้งคู โดยรูปแบบฟอรแมทของการกําหนดตําแหนงแอดเดรสแบบ dual-address-cycle command ที่วาน้ัน

32 บิทแรก (first 32 bit address) ของคาตําแหนงที่อยูแบบ 64 บิทจะถูกจัดวางไวบนสวนลาง 32 บิทของบัส (lower

Page 12: PCI  local bus

12

32 bit of bus) และอีก 32 บิทที่เหลือของตําแหนงที่อยูแบบ 64 บิท จะถูกจัดวางไวสวนบน 32 บิทของบัส (upper 32

bit of bus)

นอกจากจะแบงสวนบัสสงผานสัญญาณออกเปนสองสวน คือ บน 32 บิท, และลาง 32 บิทแลว การ

กําหนดตําแหนงแอดเดรสแบบ dual-address-cycle command ยังจัดแบงการสงผานขอมูลแอดเดรสออกเปนสองรอบ

อีกดวย โดยรอบแรกก็เปนการสงผานในลักษณะที่กลาวไปแลว สวนรอบที่สองก็เปนจัดสงเฉพาะขอมูลแอดเดรส 32 บิท

หลัง ที่เคยสงไปแลวทาง 32 บัสบนในรอบแรก แตพอมาสงในรอบสองน้ีเปลี่ยนมาใชสงทาง 32 บัสลางแทน

ดวยวิธีการแบงคาแอดเดรสออกเปนสองสวน และจัดสงขอมูลแอดเดรสออกไปสองครั้งก็ทําให dual-

address-cycle command สามารถรองรับไดเสมอไมวาตัวอุปกรณ target จะเปนแบบ 32 บิท หรือ 64 บิท หากตัว

อุปกรณ target เปนแบบ 32 บิท มันก็รับขอมูลแอดเดรสที่สงมาเฉพาะ 32 บิทของบัสลางเทาน้ัน แตรับสองครั้ง ครั้ง

แรกก็รับ 32 บิทแรก ครั้งที่สองก็รับ 32 บิทหลัง สวนในกรณีที่อุปกรณ target เปนแบบ 64 บิท มันก็สามารถรับขอมูล

แอดเดรสทั้งบัสบนบัสลางไดภายในรอบแรกทีเดียวไปเลย ไมตองมารับขอมูลแอดเดรสในรอบที่สอง

อนาคตของมาตรฐาน PCI

ในอดีตที่ผานๆ มาน้ัน ระบบมาตรฐานการอินเทอรเฟซระหวางอุปกรณตางๆ ภายในระบบ

คอมพิวเตอรมักจะไดรับการออกแบบข้ึนมาดวยวัตถุประสงคเพื่อการใชงานรวมกับอุปกรณตางๆ ที่มีอยูในทองตลาดเปน

หลัก ซึ่งก็เลยสงผลใหมาตรฐานการอินเทอรเฟซเหลาน้ันมักจะลาสมัยไปอยางรวดเร็ว เพราะกวามาตรฐานดังกลาวจะ

ไดรับการยอมรับ ผลิตภัณฑอุปกรณคอมพิวเตอรตางๆ ทั้งฮารดแวรและซอฟทแวรก็มักจะมีการพัฒนาเปลี่ยนแปลงไป

จากเดิมแลว

แตสําหรับมาตรฐาน PCI ที่ไดกลาวมาในบทความน้ีเปนรูปแบบการอินเทอรเฟซที่ไดรับการออกแบบ

โดยคํานึงถึงรูปแบบของอุปกรณคอมพิวเตอรในอนาคตเปนสําคัญ จึงมีการเผื่อที่วางในอนาคตไวคอนขางมากสําหรับที่

มาตรฐาน PCI จะสามารถพัฒนาตอไปไดอีก มีการเลือกขนาดแบนดวิดทที่สามารถใชรวมกับเครื่องคอมพิวเตอรแทบทุก

ชนิดต้ังแตเครื่องคอมพิวเตอรพกพาธรรมดา ไปจนถึงเครื่อง

เวิรกสเตช่ัน หรือเครื่องเซิรฟเวอรประสิทธิภาพสูงๆ ราคา

แพงๆ น่ันเลยทีเดียว

สวนการที่แผงวงจรหลักของเครื่อง

คอมพิวเตอรในระบบมาตรฐาน PCI ตองมีไอซีชิปติดต้ังเขา

มาอีกหลายๆ ตัว อันสงผลใหสิ้นเปลืองเน้ือที่บน

แผงวงจรหลัก และมีราคาแพงข้ึนไปกวาเดิมน้ัน แมวา

อาจจะนับเปนขอเสียของระบบ PCI bus ได แตมันก็เปน

รูปแบบที่ไดรับการยอมรับเปนมาตรฐานแลว อันจะสงผล

ใหช้ินสวนวงจรเหลาน้ีมีแนวโนมที่จะถูกพัฒนาใหมีขนาด

เล็กยอมลง และมีราคาถูกลงไปโดยปริยาย ย่ิงถาติดตาม

ขาวสักหนอยจะพบวาเมื่อเร็วๆ น้ีบริษัท DEC ซึ่งเปนหน่ึงใน

Page 13: PCI  local bus

13

สมาชิดของกลุม PCI SIG ไดออกผลิตภัณฑชิปหนวยประมวลผล DECchip 210066 RISC processor ซึ่งติดต้ังระบบบัส

PCI bus มาไวภายในตัวชิปดวยออกมาแลว (เปนผลิตภัณฑที่นาสนใจมากสําหรับเหลาผูผลิตเครื่องคอมพิวเตอรโนตบุค

เพราะมันทําใหสามารถลดขนาดของแผงวงจรหลักลงไปไดอยางมาก)

กลาวโดยสรุปแลว ระบบบัสมาตรฐาน PCI น้ีไดนํามาซึ่งคุณประโยชนแกอุตสาหกรรมคอมพิวเตอรใน

หลายๆ ระดับดวยกัน สําหรับกลุมผูผลิตเครื่องคอมพิวเตอรพีซี มาตรฐาน PCI จะเปดโอกาสใหสามารถออกแบบ

ผลิตภัณฑใหมีประสิทธิภาพสูงข้ึนกวาเดิมไดอยางมากจากการที่มันสามารถสงผานขอมูลไดเร็วข้ึน และดวยความสามารถ

ในการกําหนดรูปแบบ

ฮารดแวรอัตโนมัติของมัน

ก็ยังทําใหเราสามารถ

ติดต้ังเอาอุปกรณฮารดแวร

ตางๆ เขามาในระบบได

อยางสะดวก (plug-and-

play system)

สวนใน

กลุมของผูผลิตเครื่อง

คอมพิวเตอรระดับ

เวิรกสเตช่ันน้ัน ถึงแมวา

ตามปรกติมันจะมี

สมรรถนะความเร็วในการ

ทํางานสูงกวาระบบบัส

มาตรฐาน PCI อยูแลว แตการติดต้ังบัส PCI bus ก็ทําใหมันสามารถเขาถึงอุปกรณคอมพิวเตอรมาตรฐานที่ตํ่ากวา ซึ่ง

มีราคาถูกกวาเดิมมากๆ (low-cost industry-standard components) ที่ใชกับเครื่องคอมพิวเตอรตระกูลพีซีไดดวย

ดังน้ัน จึงไมนาจะเปนปญหาเลยวาระบบบัสมาตรฐาน PCI น้ีจะไดรับการยอมรับจากวงการคอมพิวเตอรหรือไม เพราะ

คําตอบที่มีน้ันมันชัดเจนอยูแลว