Code สถาปัตยกรรมคอมพิวเตอร์

วันเสาร์ที่ 31 สิงหาคม พ.ศ. 2556

3.ส่วนประกอบโครงสร้างภายใน Microprocessor (RISC)

3.ส่วนประกอบโครงสร้างภายใน Microprocessor (RISC)


    โครงสร้างชุดคำสั่งที่ใช้ใน RISC ของยกตัวอย่างของชุดคำสั่ง MIPS ไว้กระทำรีจิสเตอร์ 3 ตัวคือ scr1, scr2, dest กล่าวถึง scr เป็นรีจิสเตอร์ตัวทำงาน dest เป็นรีจิสเตอร์ผลลัพธ์ การออกแบบคำสั่งมุ่งไปที่การใช้รีจิสเตอร์ภายใน ดังนั้น รีจิสเตอร์มักมีขนาดกว้าง ขนาด 32 บิตจะพิจารณาคำสั่งที่แสดงจะพบว่าคำสั่งเพียงเท่านี้ การใช้งานหรือการเขียนโปรแกรม ให้ทำงานในสิ่งต่างๆที่ต้องการ  การออกแบบ RISC ที่ใช้สถาปัตยกรรมที่แตกต่างจาก CISC โดยสิ้นเชิงความสามารถอยู่ที่การจัดการการหน่วยความจำ    เมื่อซีพียู RISC ทำงานด้วยคำสั่งที่ใช้กับรีจิสเตอร์เป็นหลักมีเพียง LD กับ ST ที่ใช้จากหน่วยความจำLD กับ ST จึงต้องเกี่ยวกับหน่วยความจำที่ซีพียูต้องติดต่อ การที่ซีพียูต้องติดต่ออย่างรวดเร็ว ต้องอาศัยหน่วยความจำแคช ดังนั้น ประสิทธิภาพของ RISC ขึ้นอยู่กับการจัดโครงสร้างของหน่วยความจำที่หน่วยความจำแคชจะต้องมีบทบาทที่ทำให้ซีพียูติดต่อข้อมูลเป็นส่วนใหญ่โครงสร้างของแคชที่ใช้กับ RISCเป็นแบบ direct mapped cache ใช้การติดต่อกับหน่วยความจำนี้จำทำให้หน่วยความจำต่อกับแคชในลักษณะที่มีการกำหนดตำแหน่ง แคชแบบนี้จะทำให้การเข้าถึงทำได้เร็ว

2.ชนิดของ Microprocessor

ชนิดของ Microprocessor

เราสามารถแบ่งไมโครโพรเซสเซอร์ตามสถาปัตยกรรมได้เป็น 2 ชนิด คือ
1. Reduced Instruction Set Computer
            RISC คือ ไมโครโพรเซสเซอร์ที่มีคำสั่งน้อย แต่คำสั่งทำงานได้เร็ว ในยุคคริสต์ทศวรรษ 1970 ไมโครโพรเซสเซอร์ที่ได้ คือ IBM 801, Stanford MIPS และ Berkeley RISC 1 และ 2 ไมโครโพรเซสเซอร์ชนิดนี้ในยุคต่อมาได้แก่ SPARC ของ ซัน ไมโครซิสเต็มส์ และ PowerPC ของ โมโตโรล่า

ภาพ:Reduced Instruction Set Computer

2. Complex Instruction Set Computer
            CISC เป็นสถาป้ตยกรรมของไมโครโพรเซสเซอร์ที่มีคำสั่งมากกว่าและซับซ้อนกว่า ได้แก่ ไมโครโพรเซสเซอร์ x86 เพนเทียมและเซเลรอนของอินเทลและ ไมโครโพรเซสเซอร์จากบริษัทเอเอ็มดี (AMD)

ภาพ:

1.ประวัติและวิวัฒนาการ Microprocessor

1.ประวัติและวิวัฒนาการ Microprocessor

ไมโครโพรเซสเซอร์เป็นผลงานที่ได้มาจากการรวบรวมแนวความคิดของนักวิทยาศาสตร์ หลายสาขา ซึ่งสาขาที่สำคัญได้แก่ สาขาคณิตศาสตร์ สาขาเครื่องกล สาขาไฟฟ้า และสาขาการคำนวณโดยสามารถแบ่งเป็นยุคต่าง ๆ ได้ดังนี้
 1.     ยุคของกลไก : เป็นยุคเริ่มต้นที่เกิดจากความคิดของมนุษย์ในสมัยของ Babylonians ต้องการที่จะใช้เครื่องคำนวณที่ทำงานได้ด้วยมือของมนุษย์ จึงได้คิดค้น “ลูกคิด ” ด้วยการใช้งานที่เป็นระบบตัวเลขง่าย โดยใช้เลขฐานสิบ ต่อมาในปี 1801 John Jacquard คิดค้นระบบบัตรเจาะรู (IBM card) เป็นรูปแบบที่ใช้งานเพื่อควบคุมการทำงานของเครื่องคอมพิวเตอร์
           ในปี 1833 Charles Babbage ผู้ที่ได้ชื่อว่าบิดาแห่ง เครื่องคอมพิวเตอร์แบบดิจิตอล โดยความร่วมมือของ Augusta Ada Baron สร้างเครื่องคำนวณที่ชื่อ Analytical engine ขึ้นเพื่อใช้ในการคำนวณและพิมพ์ตารางคณิตศาสตร์  โดยนำไปในการคำนวณตารางการเดินเรือของกองทัพเรือ ซึ่งเป็นที่ยอมรับในการทำงาน  ซึ่งสามารถเก็บข้อมูลขนาด 20 หลัก ได้1,000 ค่า

2.     ยุคของไฟฟ้า : เริ่มขึ้นในปี 1800  Michael Faraday คิดค้นและสร้างมอเตอร์ไฟฟ้าขึ้น เพื่อสนับสนุนการทำงานของเครื่องคำนวณของ Blaise Pascal ซึ่งใช้เป็นอุปกรณ์พื้นฐานในสำนักงานจนถึงปี 1970 ซึ่งมีการนำเครื่องคำนวณที่มีขนาดเล็กมาใช้งานคิดค้นโดย Bomar และในช่วงเดียวกัน Monroe ได้คิดค้นเครื่องคำนวณแบบตั้งโต๊ะที่มีการทำงานได้ 4 แบบในปี 1854 ได้มีการกำหนดเป็นรูปแบบของการใช้ logic แทน
         ในปี 1889 Herman Hollerithทำการพัฒนาระบบบัตรเจาะรูเพื่อใช้ในการจัดเก็บข้อมูลที่มีลักษณะการทำงานเหมือนกับของ Babbage แต่ใช้แนวความคิดของ Jacquard และได้พัฒนาเครื่องโดยใช้มอเตอร์ไฟฟ้า เพื่อให้สามารถนับ จัดเรียง และตรวจสอบข้อมูลก่อนที่จะทำการจัดเก็บลงในบัตรเจาะรู โดยที่เครื่องจะทำงานได้โดยไม่ต้องใช้มนุษย์คอยควบคุมการทำงานของเครื่องในปี 1890 และในปี 1896 Herman Hollerith ได้จัดตั้งบริษัทโดยใช้ชื่อว่า Tabulating Machine company ในเวลาต่อมาได้ขยายงานจนเป็นบริษัทที่มีขนาดใหญ่ ใช้บัตรเจาะรู และเรียกบัตรเจาะรูนี้ว่า “Hollerith cards” โดยเก็บเป็นรหัสขนาด 12 บิต และเรียกรหัสนี้ว่า “Hollerith code" และใช้งานเครื่อง Tabulating machine จนถึงปี 1941
         ในปี 1906 วงการอิเล็กทรอนิกส์ได้มีการเริ่มต้นพัฒนาหลอดสูญญากาศขึ้น โดยหลอดที่ใช้งานคือ หลอดไทรโอด ในช่วงปี1958 Jack Kilby ได้คิดค้นวงจรรวม (Integrated Circuit : IC) ที่ Texas Instrument ซึ่งอยู่ในรูปแบบของวงจรดิจิตอล คือ RTLในปี 1970 เป็นการสร้างชิพที่มีการรวม transistors จำนวน 15,000 ตัวเข้าไว้ในชิพซิลิกอนเพียงชิพเดียว(LSI : Large Scale Integrated Circuit) จึงทำให้เครื่องคอมพิวเตอร์มีขนาดลดลง
สำหรับไมโครโพรเซสเซอร์ตัวแรกของโลกได้ถือกำเนิดขึ้นในปี 1971 โดยทางบริษัทอินเทล เป็นผู้ผลิตออกมาคือ 4004 ผู้คิดค้นและออกแบบคือ Marcian E. Hoff ซึ่งถือได้ว่าเป็นการจุดประกายให้กับไมโครโปรเซสเซอร์ในปัจจุบัน
                
3.    ยุคของไมโครโพรเซสเซอร์ : เริ่มต้นขึ้นในปี 1971 ได้มีการรวมตัวกันผลิตอุปกรณ์ที่เป็นตัวประมวลผลข้อมูลที่เรียกว่า "Microprocessor" จากพื้นฐานมีขนาด 4 บิต LSI และพัฒนาต่อเนื่องจงในปัจจุบันเป็น iA64 (Itanium)   ที่มีขนาด 128 บิต SLSI (Super large-scale integrated circuit) ปัจจุบันเป็นช่วงที่มีการใช้งาน Microprocessor กันมากและการพัฒนาไม่ได้หยุดอยู่เท่านี้ การพัฒนาระบบให้มีขีดความสามารถใกล้เคียงกับสมองของมนุษย์มากขึ้น หรือที่เรียกว่า "Artificial Intelligence" ซึ่งใช้การประมวลผลแบบขนานส่วนการประมวลผล (Parallel Processing)
              จากประวัติความเป็นมาของ Microprocessor พบว่าจุดกำเนิดเริ่มจากการใช้ลูกคิด แล้วจึงพัฒนามาใช้ฟันเฟืองโดยต่อมาเป็นการใช้หลอดสูญญากาศและรีเลย์ เมื่อมีการผลิตสารกึ่งตัวนำและทรานส์ซิสเตอร์ ต่อจากนั้นเป็นอุปกรณ์ประเภทวงจรรวม ( Integrated Circuit ) และพัฒนามาเป็น Microprocessor และ Microprocessor Base Computer System
- Microprocessor ขนาด 4 Bit
- Microprocessor ขนาด 8 Bit
- Microprocessor ขนาด 32 Bit
- ไมโครโพรเซสเซอร์เพนเทียม หรือ Microprocessor ขนาด 64 Bit

ที่มา : http://www.school.net.th/library/snet1/hardware/archit.html 




วันพุธที่ 28 สิงหาคม พ.ศ. 2556

5.ศัพท์และความหมายที่เกี่ยวกับ ระบบ Bus(20 ศัพท์)



5.ศัพท์และความหมายที่เกี่ยวกับ ระบบ Bus(20 ศัพท์)

1. Control Bus  บัสควบคุม   การควบคุม การเขียน อ่านข้อมูล
2.  Data Bus  ดาต้าบัส  ใช้สำหรับส่งการขนส่งข้อมูลไปยังตำแหน่งที่ระบุ
3.Address Bus  หมายเลข แอดเดรส4.Bus ใช้สำหรับการขนส่งที่ต้องการขนส่งจากจุดหนึ่ง สิ่งที่ขนส่ง คือ (สัญญาณไฟฟ้า) 

5.Power Line คือ  สายไฟฟ้า จะให้พลังไฟฟ้ากับการ์ดขยายต่างๆ
6.Internal bus คือ ตัวต่อเชื่อมโยงซึ่งทำหน้าที่ควบคุมข้อมูล จากไมโครโพรเซสเซอร์ไปยังวงจรต่างๆ ที่มีความสัมพันธ์กัน และไปยังหน่วยความจำ บางทีเรียกว่า local bus
7.Control Line คือ สายควบคุม ใช้สำหรับส่งผ่านสัญญาณเวลา (TIMING SIGNS) จาก นาฬิกาขอระบบ และส่งสัญญาณอินเตอร์รัพต์
8.Address Line คือ สายแอดเดรส  ข้อมูลใดๆที่จะถูกส่งผ่านไป แอดเดรสเป้าหมายจะถูกส่งมาตามสายข้อมูลและบอกให้ตำแหน่งรับข้อมูล (แอดเดรส) รู้ว่าจะมีข้อมูลบางอย่างพร้อมที่จะส่งมาให้
9.Memory Write ใช้บอกว่าจะเขียนข้อมูลลงในหน่วยความจำ

10.Memory Read ใช้บอกว่าอ่านข้อมูลจากหน่วยความจำ
11.I/O Write ใช้ควบคุมการเขียนข้อมูลไปยังเอาต์พุต
12.I/O Read ใช้ควบคุมการอ่านข้อมูลจากพอร์ตเข้าสู่ระบบบัส
13.Transfer ACK  เป็นสัญญาณตอบรับระบบบัส
14.Bs Request เป็นสัญญาณร้องขอการใช้ระบบบัส
15.Interrupt ACK เป็นสัญญาณตอบรับอินเทอร์รัปต์
16.Clock สัญญาณนาฬิกา
17.Reset สัญญาณรีเซตระบบ
18.Interrupt Request เป็นสัญญาณร้องขอการอินเทอร์รัปต์
19.Bus Width ความกว้างของบัส คnv ตัวบอกปริมาณของข้อมูลที่จะส่งได้ในแต่ละครั้ง
20.Bus System คือ บัสระบบ เป็นกลุ่มสัญญาณที่เชื่อมต่อส่วนต่างๆเข้าด้วยกันเป็นระบบคอมพิวเตอร์ที่อยู่บนเมนบอร์ดของคอมพิวเตอร์ 

วันพุธที่ 21 สิงหาคม พ.ศ. 2556

4.อุปกรณ์ต่างๆที่เกี่ยวข้องในระบบ Bus

4.อุปกรณ์ต่างๆที่เกี่ยวข้องในระบบ Bus

1.ระบบบัส และช่องสำหรับติดตั้งอุปกรณ์ต่างๆ (Bus & Slot)
    บัสเป็นทางเชื่อมต่อระหว่างอุปกรณ์ต่างๆ ทั้งที่อยู่บนเมนบอร์ดและที่ติดตั้งเพิ่มเข้ามา ตั้งแต่ ซีพียู, หน่วยความจำ, แคช, ฮาร์ดดิสก์, สล็อตต่างๆ และจอภาพ เป็นต้น ดังนั้น ความเร็วและประสิทธิภาพในการทำงานของบัสจึงมีผลอย่างมากกับประสิทธิภาพโดยรวมของคอมพิวเตอร์
    ระบบบัสที่เหมาะสมจะต้องมีความเร็วเพียงพอที่จะให้อุปกรณ์ต่างๆ รับส่งข้อมูลระหว่างกันได้เต็มความเร็วของอุปกรณ์นั้นๆ เพื่อไม่ให้เป็นตัวถ่วงอุปกรณ์อื่นๆ อันจะทำให้ความเร็วโดยรวมของทั้งเครื่องลดลง
    โครงสร้างของระบบบัสของเครื่องคอมพิวเตอร์มีความสลับซับซ้อน ทั้งนี้เนื่องจากอุปกรณ์ต่างๆ ไม่ว่าจะเป็นซีพียู แรม ฮาร์ดดิสก์ การ์ดแสดงผล และอุปกรณ์ต่อพ่วงต่างๆ ได้ถูกพัฒนาให้มีความเร็วเพิ่มขึ้น จึงทำให้ต้องพัฒนาชิปเซ็ตและระบบบัสต่างๆ ตามไปด้วย
bus
ระบบบัสและสล็อตต่างๆ มีความสำคัญและเกี่ยวข้องกันอย่างไร?
1.1 บัสและซ็อคเก็ตของซีพียู
    บัสที่สำคัญที่สุด คือ บัสที่ใช้เชื่อมต่อกับซีพียู เรียกว่า Front Side Bus (FSB) ซึ่งเป็นบัสที่ต้องทำงานด้วยความถี่สูงสุดภายนอกของซีพียู เช่น 100, 133, 166, 200 และ 266 MHz เป็นต้น เนื่องจากเป็นเส้นทางเชื่อมต่อระหว่างซีพียู (ซึ่งติดตั้งอยู่กับซ็อคเก็ตของซีพียู) กับชิปเซ็ตตัวหลัก
front
1.2 บัสและสล็อตของอุปกรณ์ความเร็วสูง
    สล็อตของอุปกรณ์ความเร็วสูง เช่น PCI, AGP และ PCI Express เป็นต้น
PCI (Peripheral Component Interconnect) และ PCI-X (PCI Extended)
    บัส PCI เป็นบัสความเร็วค่อนข้างสูง ใช้เชื่อมต่อระหว่างชิปเซ็ตกับอุปกรณ์ความเร็วรองลงมา เช่น การ์ดเสียง, การ์ดโมเด็ม, การ์ดแลน เป็นต้น มาตรฐานของบัส PCI ปัจจุบันจะมีความกว้างบัส 32 บิต และ 64 บิต ซึ่งบัสแบบ 64 บิตนี้จะเรียกว่า PCI-X
pci
AGP (Accelerated Graphic Port)
    AGP เป็นพัฒนาการที่ต่อจากบัส PCI โดยทำงานที่ความถี่ 66 MHz บัส AGP นี้ถูกออกแบบมาสำหรับการ์ดแสดงผลโดยเฉพาะ ซึ่งเป็นอุปกรณ์ที่มีการส่งข้อมูลมากที่สุด และจำเป็นต้องส่งผ่านข้อมูลให้ได้เร็วที่สุด เพราะจะมีผลต่อประสิทธิภาพโดยรวมอย่างเห็นได้ชัด แต่ก็มีข้อจำกัดคือ เมนบอร์ดส่วนใหญ่จะมีสล็อต AGP อยู่เพียงสล็อตเดียวเท่านั้น แต่สำหรับมาตรฐานของระบบบัสอย่าง PCI Express จะสามารถมีได้มากกว่า 1 ช่องบนเมนบอร์ดเดียวกัน
PCI Express
    PCI Express นั้นเป็นบัสที่ทำงานแบบ Serial และสามารถเลือกใช้ความเร็วมากน้อยตามต้องการได้ โดยแบ่งออกเป็นช่องสัญญาณ (channel) หรือ lane ของ PCI ซึ่งจะมีความเร็วในการรับส่งข้อมูลแต่ละทิศทาง 250 MB/sec และรวมสองทาง (Full-Duplex) สูงถึง 500 MB/sec ซึ่งขั้นต่ำสุดเรียกว่า PCI Express x1 ถูกออกแบบให้มาแทนที่ PCI Bus แบบเดิม ประกอบด้วย 1 lane สล็อตก็จะสั้นหน่อย ส่วนขั้นถัดไปจะมีความเร็วเพิ่มขึ้นเป็น 2, 4, 8 และ 16 เท่าตามลำดับ ก็จะประกอบด้วย 2, 4, 8 และ 16 lane ที่รับส่งข้อมูลพร้อมกัน สล็อตก็จะยาวขึ้น (มีขั้วต่อมากขึ้น) เรียกว่าเป็น PCI Express x2, x4, x8 และสูงสุดคือ PCI Express x16 ที่เร็วถึง 8 GB/sec ซึ่งจะมาแทนที่สล็อตแบบ AGP 8x ที่ใช้กันอยู่ในปัจจุบัน
นอกจากนี้ด้วยข้อจำกัดที่มีมานานของเมนบอร์ดส่วนใหญ่จะสามารถมีสล็อต AGP ได้เพียงสล็อตเดียวเท่านั้น แต่สำหรับมาตรฐานใหม่อย่าง PCI Express x16 ที่จะมาแทนที่สล็อต AGP แบบเดิมนั้นจะสามารถมีได้มากกว่า 1 ช่องบนเมนบอร์ดเดียวกัน
pcie
2. BIOS (Basic Input/Output System)
    BIOS คือ ชิปที่ถูกติดตั้งมาบนเมนบอร์ดจากโรงงาน ภายในบรรจุโปรแกรมหรือชุดคำสั่งขนาดเล็กสำหรับควบคุมการทำงานขั้นพื้นฐาน เช่น การทำกระบวนการ POST (Power-On Self Test) ของเครื่อง รวมทั้งโปรแกรมที่ใช้ตั้งค่าการทำงานให้กับเครื่อง ที่เรียกว่า BIOS หรือ CMOS Setup ที่จะบันทึกข้อมูลและค่าต่างๆ ไว้ใน ชิปหน่วยความจำอีกประเภทหนึ่งที่เรียกว่า ซีมอส (CMOS) ซึ่งเป็นหน่วยความจำที่กินไฟน้อย และเก็บข้อมูลได้โดยใช้แบตเตอรี่ที่อยู่บนเมนบอร์ด ซึ่งจะคอยจ่ายไฟเลี้ยงให้ตลอดเวลาแม้ในขณะที่ปิดเครื่อง ถ้าแบตเตอรี่ก้อนนี้หมดหรือถูกถอดออก ค่าที่ตั้งไว้ก็จะหายและกลับไปใช้ค่าเริ่มต้นแทน
    bios
3. ขั้วต่อและพอร์ตต่างๆ
port
 
 
 

3.ระบบ Bus ทำงานได้อย่างไรในคอมพิวเตอร์

3.ระบบ Bus ทำงานได้อย่างไรในคอมพิวเตอร์

  ในระบบไมโครคอมพิวเตอร์ การส่งถ่ายข้อมูลส่วนมากจะเป็นระหว่างไมโครโปรเซสเซอร์กับอุปกรณ์ภายนอก ทั้งหมด โดยผ่านบัส ในไมโครโพรเซสเซอร์จะมีบัสต่างๆ ดังนี้ บัสข้อมูล (DATA BUS) คือบัสที่ ไมโครโพรเซสเซอร์ (ซีพียู) ใช้เป็นเส้นทางผ่านในการควบคุมการส่งถ่ายข้อมูลจากตัวซีพียูไปยังอุปกรณ์ภายนอก หรือรับข้อมูลจากอุปกรณ์ภายนอกเพื่อทำการประมวลผลที่ซีพียู บัสรองรับข้อมูล( ADDRESS BUS) คือบัสที่ตัวซีพียู เลือกว่าจะส่งข้อมูลหรือรับข้อมูลจากอุปกรณ์ไหนไปที่ใด โดยจะต้องส่งสัญญาณเลือกออกมาทางแอดเดรสบัส บัสควบคุม (CONTROL BUS) เป็นบัสที่รับสัญญาณการควบคุมจากตัวซีพียูโดยบัสควบคุมเพื่อบังคับ ว่าจะอ่านข้อมูลเข้ามา หรือจะส่งข้อมูลออกไปจากตัวซีพียู โดยระบบภายนอกจะตอบรับต่อสัญญาณควบคุมนั้น ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่นการอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่สามารถ ส่งผ่านข้อมูลมายังหน่วยความำหลักได้โดยผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่าขบวนการ DMA (DIRECT MEMORY ACCESS)
 

2. วิวัฒนาการและเทคโนโลยีระบบ Bus

2. วิวัฒนาการและเทคโนโลยีระบบ Bus

ระบบ BUS ต่างๆ ในระบบไมโครคอมพิวเตอร์ การส่งถ่ายข้อมูลส่วนมากจะเป็นระหว่างไมโครโปรเซสเซอร์กับอุปกรณ์ภายนอกทั้งหมด โดยผ่านบัส ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่น การอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่ สามารถส่งผ่านมายังหน่วยความจำหลักได้โดยไม่ผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่า ขบวนการ DMA (Direct Memory Access)

- บัสข้อมูล (Data BUS) คือ บัสที่ไมโครโพรเซสเซอร์ (ซีพียู) ใช้เป็นเส้นทางผ่านในการควบคุมการส่งถ่ายข้อมูลจากตัวซีพียูไปยังอุปกรณ์ภายนอกหรือรับข้อมูลจากอุปกรณ์ภายนอก เพื่อทำการประมวลผลที่ซีพียู
- บัสรองรับข้อมูล (Address BUS) คือ บัสที่ตัวซีพียู เลือกว่าจะส่งข้อมูลหรือรับข้อมูลจากอุปกรณ์ไหนไปที่ใดโดยจะต้องส่งสัญญาณเลือกออกมาทางแอดเดรสบัส
- บัสควบคุม (Control BUS) คือ บัสที่รับสัญญาณการควบคุมจากตัวซีพียูโดยบัสควบคุม เพื่อบังคับว่าจะอ่านข้อมูลเข้ามา หรือจะส่งข้อมูลออกไป จากตัวซีพียู โดยระบบภายนอกจะตอบรับต่อสัญญาณควบคุมนั้น
ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่น การอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่ สามารถส่งผ่านมายังหน่วยความจำหลักได้โดยไม่ผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่า ขบวนการ DMA (Direct Memory Access)
  

 
1.PC BUSเมื่อ IBM ได้ทำการเปิดตัว IBM PC ( XT ) ตัวแรก ซึ่งใช้ CPU 8088 เป็น CPU ขนาด 8 Bit ดังนั้น เครื่อง Computer เครื่องนี้ จึงมีเส้นทางข้อมูลเพียง 8 เส้นทาง( 8 data line ) และ เส้นทางที่อยู่ 20 เส้นทาง ( 20 address line ) เพื่อใช้ในการอ้างตำแหน่งของหน่วยความจำ Card ที่นำมาต่อกับ PC Bus นั้น จะเป็น Card แบบ 62 pin ซึ่ง 8 pin ใช้สำหรับส่งข้อมูล อีก 20 pin ไว้สำหรับอ้างตำแหน่งของหน่วยความจำ ซึ่ง CPU 8088 นั้น สามารถอ้างอิงหน่วยความจำได้เพียง 1 Megabyte ซึ่งในแต่ละ pin นั้น สามารถส่งข้อมูลได้เพียง 2 ค่า คือ 0 กับ 1 ( หรือ Low กับ High ) ดังนั้น เมื่อใช้ 20 pin ก็จะอ้างอิงตำแหน่งได้ที่ 2 คูณกัน 20 ครั้ง ( หรือ 2 ยกกำลัง 20 ) ซึ่งก็จะได้เท่ากับ 1 Meg. พอดี ส่วน pin ที่เหลือก็ใช้เป็นตัวกำหนดการอ่านค่า ว่าอ่านจากตำแหน่งของหน่วยความจำ หรือ ตำแหน่ง ของ Input/Output หรือ บาง pin ก็ใช้สำหรับจ่ายไฟ +5, -5, +12 และ สาย Ground ( สายดิน ) เพื่อจ่ายไฟให้กับ Card ที่ต่อพ่วงบน Slot ของ PC Bus นั่นเอง และ ยังมี pin บางตัวที่ทำหน้าที่เป็นตัว reset หรือ เป็นตัว refresh หรือแม้กระทั่ง clock หรือ สัญญาณนาฬิกาของระบบนั่นเอง
ระบบ Bus แบบ PC Bus นี้ มีความกว้างของ Bus เป็น 4.77 MHz และ สามารถส่งถ่ายข้อมูลด้วยความเร็วสูงสุดที่ 2.38 MB ต่อ วินาที

2.ISA Bus (ISA=Industry Standand Architecture)ในยุคของ PC AT หรือ ตั้งแต่ CPU รุ่น 80286 เป็นต้นมา ได้มีการเปลี่ยนแปลงขนาดของ เส้นทางข้อมูลจาก 8 Bit ไปเป็น 16 Bit ทำให้ IBM ต้องมาทำการออกแบบระบบ Bus ใหม่ เพื่อให้สามารถส่งผ่านข้อมูลทีละ 16 Bit ได้ แน่นอนว่า การออกแบบใหม่นั้น ก็ต้องทำให้เกิดความเข้ากันได้ย้อนหลังด้วย ( Compatble ) กล่าวคือ ต้องสามารถใช้งานกับ PC Bus ได้ด้วย
แต่ปัญหานี้ IBM แก้ไข โดยการทำ Slot มาต่อเพิ่มจาก PC Bus เดิม อีก 36 Pin โดยที่เพิ่มเส้นทางข้อมูลอีก 8 Pin รวมแล้วก็จะเป็น 16 Pin สำหรับส่งข้อมูลได้ทีละ 16 Bit พอดี และ เพิ่ม 4 Pin สำหรับทำหน้าที่อ้างตำ- แหน่งจากหน่วยความจำ ซึ่งก็จะรวมเป็น 24 Pin และ จะอ้างได้มากถึง 16 Meg. ( 2 ยกกำลัง 24 ) ซึ่งก็เป็นขนาดของหน่วยความจำสูงสุดที่ CPU 80286 นั้น สามารถจะอ้างได้ แต่อย่างไรก็ตาม การอ้าง ตำแหน่งของ I/O Port นั้น ก็ยังคงถูกจำกัดไว้ที่ 1,024 อยู่ดี เนื่องจาก ปัญหาด้านความเข้ากันได้ กับ PC Bus
นอกจากนี้ Pin ที่เพิ่มเข้ามา ยังช่วยเพิ่มการอ้างตำแหน่ง DMA และ ค่าของ IRQ เพิ่มอีกด้วย ซึ่งเรื่องของ DMA และ IRQ Slot แบบใหม่นี้ เรียกว่าเป็น Slot แบบ 16-Bit ซึ่งต่อมาก็เรียกกันว่าเป็น AT Bus แต่เราจะรู้จักกันในนามของ ISA Bus มากกว่า โดยคำว่า ISA มาจากคำเต็มว่า Industry Standard Architecture

รูปแสดงรูปร่าง ของ ISA Bus แสดงตำแหน่งของทั้ง 8 Bit และ 16 Bit

เราสามารถนำ Card แบบ 8 Bit มาเสียบลงบนช่อง 16 Bit ได้ เพราะ ใช้ สถาปัตยกรรมพื้นฐานเหมือนๆกัน จะต่างกันก็ตรงส่วนที่เพิ่มมา สำหรับ 16 Bit เท่านั้น ซึ่งจะใช้ ( ในกรณีที่ใช้ Card 16 Bit ) หรือ ไม่ใช้ ( ในกรณีใช้ Card 8 Bit ) ก็ได้
ระบบ Bus แบบ ISA Bus นี้ มีความกว้างของ Bus เป็น 8 MHz และ สามารถส่งถ่ายข้อมูลด้วยความเร็วสูงสุดที่ 8 MB ต่อ วินาที

3.MCA Bus (MCA=Micro Channel Architecture)เมื่อครั้งที่ IBM นั้นออกแบบ AT ขึ้นมา IBM ได้ทำการออกแบบระบบ bus ใหม่เพื่อให้ใช้ได้กับข้อมูล 16 บิต และได้เพิ่มจำนวนของ control line และ ออกแบบ PC AT busโดยขยายออกมาจาก PC bus ซึ่งจะทำให้ competible กับ PC hardware และ IBM จะใช้ 62 pins channel slot เหมือนกับที่ใช้ใน PC และ IBM ได้ทำการเปลี่ยนชื่อของ pin บาง pin ให้สั้นลง และทำการเพิ่มอีก 36 pin ซึ่งใช้เป็น auxiliary slot auxiliary bus นั้นประกอบด้วย bus ข้อมูล 8 เส้น address bus 7 เส้น interrupt request 5 เส้น DMA request และ acknowledge 4 เส้น และ 8 เส้นเป็น power และ control line

4.EISA Busการพัฒนา ขยายระบบ bus ของ PC AT bus นั้น ในปี 1991 Intel ได้ผลิต EISA chip set ซึ่งรวมเอา 82358 Bus controller 82357 Integrated System Peripheral และ 82355 Bus Master Interface Controller เข้าด้วยกัน เมื่อครั้งที่ IBM ทำการขยาย จาก PC bus ไปสู่ PC AT bus โดยการเพิ่ม data address และ control line ลงไป ผู้ออกแบบได้ทำการออกแบบให้ compatible กับ ของเดิม เช่น ผู้ใช้สามารถใช้ กับอุปกรณ์ที่เป็นของ PCที่เป็น 8 บิต ได้ EISA bus นั้นได้ถูกออกแบบให้ขยายจาก PC AT ขึ้นมาโดยมีคุณสมบัติดังต่อไปนี้
EISA bus นั้นจะ compatible กับ PC และ PC AT bus และ EISA slot นั้นต้องสามารถใส่ card ของ PC ที่เป็น 8 บิต และ PC AT ที่เป็น 16 บิต ได้เช่นเดียวกับ 32 bit EISA card s bus master ทุกตัวสามารถใช้ส่ง data ไปยัง memory หรือ อุปกรณ์ที่เชื่อมต่ออยู่ หรือส่งข้อมูลจาก memory หรือ อุปกรณ์ที่ต่ออยู่ออกไป โดยไม่สนใจว่าจะเป็น 8,16 หรือ 32 bits EISA bus จะรองรับการส่งข้อมูลรอบต่อรอบไว้สำหรับ data ที่มีความกว้างแตกต่างกัน หรือ ชนิดของการส่งที่แตกต่างกัน เช่น single transfer และ burst transfer ( ส่งข้อมูลความเร็วสูงในแบบ Synchronou) EISA Bus อนุญาตให้อุปกรณ์เข้ามาใช้ interrupt line ร่วมกันได้แม้ว่าจะถูกออกแบบมาสำหรับ EISA device EISA bus controller รับประกันได้ว่าจะสามารถข้าถึง high priority bus master ตัวอย่างเช่น วงจรที่ทำการ refresh DRAM
  

 
5.Local Busเมื่อคราวที่ compaq ได้เปิดตัว Deskpro 386 นั้น ทาง Compaq ได้แยกสัญญาณนาฬิกาของหน่วยความจำหลัก, Bus และ CPU ออกจากกัน ซึ่ง Compaq ก็ได้ เปิดตัวระบบ Bus ใหม่ของตนไปด้วย เพราะ หน่วยความจำหลักของเครื่องนี้ จะอยู่บน slot ขนาด 32 bit ซึ่งออกแบบมาเฉพาะของ Compaq เท่านั้น ซึ่ง ก็เป็นจุดเริ่มต้นให้ผู้ผลิตแต่ละบริษัท เริ่มที่จะหันไปออกแบบและผลิตระบบบัส ที่เป็นมาตราฐานของตนเองขึ้นมา
ระบบบัสเหล่านี้ แต่เดิมเรียกว่าเป็น Private Bus เพราะใช้เป็นการส่วนตัวเฉพาะบริษัทเท่านั้น แต่ต่อมาก็ เรียกว่าเป็น Local Bus เพราะใช้สัญญาณนาฬิกาเดียวกับ CPU ไม่ต้องพึ่งวงสัญญาณนาฬิกาพิเศษแยกออกจาก CPU เลย ซึ่งจะทำให้สามารถใช้สัญญาณนาฬิกาเดียวกันกับ CPU ในขณะนั้นได้ ซึ่งก็มักจะนำมาใช้กับหน่วยความจำหลัก เพื่อเพิ่มประสิทธิภาพโดยรวมของระบบ แต่ก็มี Card แสดงผลอีกชนิดหนึ่งที่ต้องการความไวสูง เช่น Display Card ที่มีการเข้าถึงและส่งถ่ายข้อมูล ระหว่าง CPU กับ Display Card ได้เร็วแล้ว ก็ช่วยจะลดปัญหาเรื่อง Refresh Rate ต่ำ เพราะ CPU จะทำการประมวลผลและนำมาแสดงผลบนจอภาพ ยิ่งหากว่ามีการใช้ mode resolution ของ จอภาพสูง ๆ และเป็น mode graphics ด้วยแล้ว CPU ก็ยิ่งต้องทำการส่งถ่ายข้อมูลให้เร็วขึ้น เพื่อให้ภาพที่ได้ไม่กระตุก และไม่กระพริบ (Refresh Rate ต่ำเป็นเหตุให้จอกระพริบ) เนื่องจากระบบ Local Bus นั้นจะช่วยในการส่งผ่าน และเข้าถึงข้อมูลได้รวดเร็ว จึงได้มีบริษัทนำระบบ Local Bus มาใช้กับ Dispay Card ด้วย โดยบริษัทแรก ที่นำมาใช้และเปิดตัวอย่างเป็นทางการ คือ NEC ซึ่งใช้กับ NEC Powermate (ในปี 1991) และต่อ ๆ มาผู้ผลิตรายอื่น ๆ ก็ได้พยายามเลียนแบบ และได้ออกแบบระบบ Local Bus ของตน ซึ่ง Card ของแต่ละบริษัท ก็นำเอาไปใช้กับ บริษัทอื่นไม่ได้ ทำให้มีการ กำหนดมาตราฐานระบบ Bus นี้ขึ้นมา โดยกลุ่มนั้นชื่อ Video Electronic Standards Association หรือ VESA และได้เรียก มาตราฐานนั้นว่าเป็น VESA Local Bus หรือ สั้น ๆ ว่า VL Bus ในปี 1992
ระบบ VL Bus นั้นสามารถใช้สัญญาณนาฬิกา ได้สูงถึง 50 MHz ทั้งยังสนับสนุนเส้นทางข้อมูลทั้ง 32 bit และ 64 bit รวมถึงอ้างตำแหน่งหน่วยความจำได้สูงถึง 4Gigabyte อีกด้วย แต่อย่างไรก็ตาม VL Bus ก็ไม่สถาปัตยกรรมที่ดีนัก เพราะไม่มีเอกลักษณ์ หรือ คุณสมบัติพิเศษนอกเหนือไปจาก ISA มากนัก เพราะจะเป็นการเพิ่มขีดความสามารถให้กับ ISA มากกว่าที่จะเป็นพัฒนาความสามารถให้เกับ ISA เนื่องจากยังคงให้ CPU เป็นตัวควบคุมการทำงาน ใช้ Bus Mastering ไม่ได้ และยังไม่สามารถปรับแต่งค่าต่าง ๆ ผ่านทาง Software ได้ จากจุดอ่อนตรงจุดนี้ ทำให้ Intel ได้ พัฒนาระบบ Local Bus ของตนขึ้น มานั่นเอง
 

6.PCI Busระบบ PCI หรือ Peripheral Computer Interconnect ก็เป็น Local Bus อีกแบบหนึ่ง ที่พัฒนาขึ้นโดย Intel ในเดือนกรกฎาคม ปี 1992 โดยที่แยกการควบคุมของระบบบัส กับ CPU ออกจากกัน และส่งข้อมูลผ่านกัน ทางวงจรเชื่อม (Bridge Circuit) ซึ่งจะมี Chipset ที่คอยควบคุมการทำงานของระบบบัสต่างหาก โดยที่ Chpiset ที่ควบคุมนี้จะเป็นลักษณะ Processor Independent คือ ไม่ขึ้นกับตัว Processor (หรือ CPU) แรกเริ่มที่เปิดตัวนั้น PCI จะเป็นบัสแบบ 32 bit ที่ทำงานด้วยความเร็ว 33 MHz ซึ่งสามารถให้อัตราเร็ว ในการส่งผ่านข้อมูลถึง 133 M/s
ต่อมา เมื่อ Intel เปิดตัว CPU ใน Generation ที่ 5 ของตน Intel Pentium ซึ่งเป็น CPU ขนาด 32 bit ทาง Intel ก็ได้ทำการกำหนดมาตราฐาน ของ PCI เสียใหม่ เป็น PCI 2.0 ในเดือนกรกฎาคม 1993 ซึ่ง PCI 2.0 มีความกว้างของเส้นทางข้อมูลถึง 64 bit ซึ่งหากใช้งานกับ Card 64 bit แล้ว ก็จะสามารถให้อัตราเร็วใน การส่งผ่านข้อมูลสูงสุดถึง 266 M/s จุดเด่นของ PCI ที่เห็นได้ชัด

รูปแสดงรูปร่าง ของ PCI Bus ส่วน Slot สีดำด้านล่าง ก็คือ Slot ISA
นอกเหนือไปจากข้างต้น ก็ยังมีเรื่องของ Bus Mastering ซึ่ง PCI นั้น ก็สามารถ ทำได้เช่นเดียวกับ EISA และ MCA แล้ว Chipset ที่ใช้เป็นตัวควบคุมการทำงาน ก็ยังสนับสนันระบบ ISA และ EISA อีกด้วย ซึ่งก็สามารถทำให้ผลิต Mainboard ทีมีทั้ง Slot ISA, EISA และ PCI รวมกันได้ นอกจากนั้น ยังสนับสนุนระบบ Plug-and-Play อีกด้วย (เป็นมาตราฐานที่พัฒนาในปี 1992 ที่กำหนดให้ Card แบบ Plug-and-Play นี้ จะไม่มี Dipswitch หรือ Jumper เลย ทุกอย่าง ทั้ง IRQ, DMA หรือ Port จะถูก กำหนดไว้แล้ว แต่เราสามารถเลือก หรือ เปลี่ยนแปลงได้จาก Software)
รูปแสดงรูปร่าง ของ PCI Bus อีกรูปหนึ่ง


รูปแสดงลักษณะของ PCI 64 Bit ( วงสีเหลือง ) และ PCI 32 Bit ( วงสีแดง )

7.AGP

ในกลางปี 1996 เมื่อทาง Intel ได้ทำการเปิดตัว Intel Pentium II ซึ่งพร้อมกันนั้นก็ได้ทำการเปิดตัว สถาปัตยกรรมที่ช่วยเพิ่มประสิทธิภาพ ของหน่วยแสดงผลด้วย นั่นก็คือ Accelerated Graphics Port หรือ AGP ซึ่งก็ได้เปิดตัว Chipset ที่สรับสนุนการทำงานนนี้ด้วย คือ 440LX (ซึ่งแน่นอนว่า Chipset ที่ออกมาหลัง จากนี้ ก็จะสนับสนุนการทำงาน AGP ด้วย AGP นั้น จะมีการเชื่อมต่อกับ Chipset ของระบบแบบ Poin-to-Point ซึ่ง จะช่วยให้การส่งผ่านข้อมมูล ระหว่าง Card AGP กับ Chipset ของระบบได้เร็วขึ้น และยังมีเส้นทาง
เฉพาะ สำหรับติดต่อกับหน่วยความ จำหลักของระบบ เพื่อใช้ทำการ Redder ภาพ แบบ 3D ได้อย่างรวดเร็วอีกด้วย จากเดิม Card แสดงผล แบบ PCI นั้น จะมีปัญหาเรื่องของหน่วยความจำบน Card เพราะเมื่อต้องการใช้งาน ด้านการ Render ภาพ 3 มิติ ที่มีขนาดใหญ่มาก ๆ ก็จำเป็นต้องมีการใช้หน่วยความจำบน Card นั้นมาก ๆ เพื่อ รองรับขนาดของพื้นผิว (Texture) ที่เป็นองค์ประกอบสำคัญของงาน Render แน่นอน เมื่อหน่วยความจำ มาก ๆ ราคาก็ยิ่งแพง ดังนั้นทาง Intel จึงได้ทำการคิดค้นสถาปัตยกรรมใหม่เพื่องานด้าน Graphics นี้ โดย เฉพาะ AGP จึงได้ถือกำเนิดขึ้นมา AGP นั้นจะมี mode ในการ render อยู่ 2 แบบ คือ Local Texturing และ AGP Texturing โดยที่ Local Texturing นั้น จะทำการ copy หน่วยความจำ ของระบบไปเก็บไว้ที่เฟรมบัฟเฟอร์ของ Card (หน่วยความจำ บนตัว Card) จากนั้นจงทำการประมวลผล โดยดึงข้อมูลจากเฟรวมบัฟเฟอร์บน Card นั้นอีกที ซึ่งวิธีการนี้ ก็เป็นวิธีการที่ใช้บนระบบ PCI ด้วย วิธีนี้จะพึ่งขนาดของหน่วยความจำบน Card มาก APG Texturing นั้น เป็นเทคนิคใหม่ที่ช่วยลดปริมาณของหน่วยความจำ หรือ เฟรมบัฟเฟอร์บน Display Card ลงได้มาก เพราะสามาถทำการใช้งาน หน่วยความจำของระบบให้เป็นเฟรมบัฟเฟอร์ได้เลย โดยไม่ต้องดึง ข้อมูลมาพักไว้ที่เฟรมบัพเฟอร์ของ Card โดยปกติแล้ว AGP จะทำงานที่ความเร็ว 66 MHz ซึ่งปม้ว่าระบบจะ ใช้ FSB เป็น 100 MHz แต่มันก็ยังคงทำงานที่ 66 MHz (ซึ่งตรงจุดนี้ Mainboard บางรุ่น บางยี่ห้อ สามารถ ปรับแต่งค่านี้ได้ แต่ ทั้งนี้ และทั้งนั้น ก็ควรคำนึงถึงขีดจำกัดของ Card และอุปกรณ์อื่น ๆ ด้วย) ซึ่งใน mode ปกติของมัน ก็จะมีความสามารถแทบจะเหมือนกับ PCI แบบ 66 MHz เลย โดยจะมีอัตราการส่งถ่ายข้อมูลที่ สูงถึง 266 M/s และนอกจากนี้ยังสามารถทำงานได้ทั้งขอบขาขึ้นและขอบขาลงของ 66 MHz จึงเท่ากับว่ามัน ทำงาน ที่ 133 MHz ซึ่งจะช่วยเพิ่มอัตราการส่งถ่ายข้อมูลได้สูงถึง 532 M/s (Card ที่ใช้ และ chipset ที่ใช้ต้อง สนับสนุนการทำงานแบบนี้ด้วย) ซึ่งเรียก mode นี้ว่า mode 2X และ mode ปกติว่าเป็น mode 1X สำหรับ ความเร็วในการส่งถ่ายข้อมูลนั้น ก็ขึ้นอยู่กับชนิดของหน่วยความจำหลักด้วย ถ้าหน่วยความจำหลัก เป็นชนิด ที่เร็ว ก็จะยิ่งช่วยเพิ่มอัตราเร็วในการส่งถ่ายข้อมูลมากขึ้น ดังนี้
    • EDO DRAM หรือ SDRAM PC 66 ได้ 528M/s
    • SDRAM PC 100 ได้ 800M/s
    • DRDRAM ได้ 1.4G/s
อีกสาเหตุหนึ่งที่ระบบบัสแบบ AGP ทำได้ดีกว่า PCI เพราะ เป็น Slot แบบเอกเทศ ไม่ต้องไปใช้ Bandwidth ร่วมกับใคร (เพราะเครื่อง ๆ หนึ่งมี Display Card เพียงตัวเดียวก็เพียงพอแล้ว ดังนั้น ใน Mainboard จึงมี Slot AGP เพียง Slot เดียว) ในปัจจุบัน ระบบบัสแบบ AGP ได้พัฒนามาถึง AGP 4X แล้ว ซึ่งช่วยให้เพิ่มอัตราการส่งผ่านข้อมูลได้สูงขึ้น อีกเท่าตัวจาก 2X เลยทีเดียว
ทุกวันนี้ การใช้งานคอมพิวเตอร์โดยทั่วไปนั้น ก็จะใช้งานกันด้าน Graphics กันเป็นหลัก อย่างน้อยที่สุด ระบบปฏิบัติการที่เราใช้โดยทั่วไป ก็จะเป็นในแบบ Graphical User Interface ( GUI ) ทั้งหมดแล้ว จะมีบ้าง ก็แค่ในส่วนของ UNIX เช่น Linux หรือ Solaris เป็นต้น แต่รุ่นใหม่ๆ ก็มักจะใช้เป็น GUI แล้ว ( เช่น OpenWin หรือ CDE ) ดังนั้น ก็เรียกได้ว่า เราได้ใช้งานด้าน Graphics กันทุกครั้งของการเปิดเครื่องเลยทีเดียว ยิ่งถ้าใช้งานเพื่อเล่นเกมส์ โดยเฉพาะเกมส์ 3 มิติ ( 3D ) ด้วยแล้ว ก็จะยิ่งใช้งานด้าน Graphics และ Animetion อย่างสูงมาก ซึ่งหน้าที่การทำงานเหล่าเพื่อให้ได้ผลลัพธ์ออกมาที่หน้าจอ ให้เราๆ ท่านๆ พอใจ ก็ล้วนเกิดมาจากหน่วยประมวลผลด้าน Graphics ทั้งสิ้น ซึ่ง Graphics Card ที่เราใช้บนเครื่องคอมพิวเตอร์โดยทั่วไปแล้ว ก็จะมีอยู่ด้วยกัน 3 แบบคือ
  1. Onboard คือมีการรวมเอาหน่วยประมวลผลด้าน Graphics และส่วนควบคุมหน่วยความจำของ Graphics เข้าไว้บน Mainboard เลย
  2. Card PCI โดยการปลักเข้ากับ Slot แบบ PCI
  3. Card AGP โดยการปลักเข้ากับ Slot เฉพาะ สำหรับงานด้าน Graphics โดยเฉพาะ และนี่ละครับ ที่เรา  

กำลังจะกล่าวถึงในเรื่องนี้ นั่นก็คือ AGP หรือ Accelerated Graphics Port

ข้อดีของ AGP   จากความต้องการในการใช้งานด้าน Graphics อย่างสูง ทั้งเรื่องเกมส์ 3D ซึ่งต้องในการประมวลผลด้าน Graphics แบบ Real-Time และ Streaming VDO ซึ่งต้องการการรับส่งข้อมูลคราวละมากๆ เกินความสามารถของ PCI Bus ที่จะรองรับไว้ได้อีกต่อไป ทาง Intel จึงได้พัฒนาและเปิดตัวระบบ Bus ใหม่นี้ ขึ้นมาเมื่อปีค.ศ. 1996 และให้ชื่อว่า Accelerated Graphics Port ( AGP ) โดยการจับเอาระบบ Bus แบบ PCI มาปรับแต่ง พัฒนาขึ้นใหม่ เพื่องานด้าน Graphics โดยเฉพาะ การติดต่อสื่อสารระหว่าง Graphics Chip กับหน่วยประมวลผลกลาง ( CPU ) ในเครื่องคอมพิวเตอร์นี้ ก็เหมือนกับอุปกรณ์อื่นๆ คือ ต้องผ่านระบบ Bus ในการรับส่งข้อมูลจากที่หนึ่ง ไปยังอีกที่หนึ่ง ซึ่งแม้ว่า AGP นี้ จะพัฒนาขึ้นจากระบบ Bus แบบ PCI แต่ว่าเป็นการสร้างช่องทางรับส่งเฉพาะของตน ในแบบ Point-to-Point และใช้งานเพียงด้านนี้ด้านเดียว ที่ Slot เดียว ไม่มีการใช้งานร่วมกับอุปกรณ์ หรือ Card อื่นๆ ใดทั้งสิ้น เป็นการต่อตรงระหว่าง Graphics Port และ CPU โดยตรง ดังนั้น ในความเป็นจริง จึงไม่อาจถือว่าระบบ AGP นี้ เป็นระบบ Bus อย่างแท้จริงได้
Diagram แสดงสถาปัตยกรรมของ Pentium!!! ที่ใช้งานกับ AGP ( ภาพจาก Intel Corp. )

สำหรับ AGP นี้ ก็มีข้อดีที่เหนือกว่า PCI อย่างเห็นได้ชัดก็คือ
  • มีประสิทธิภาพ และให้ประสิทธิผลที่สูงกว่า
  • สามารถติดต่อ และอ้างอิงข้อมูลกับหน่วยความจำของระบบได้โดยตรง

Card ที่ใช้ Interface แบบ AGP

ซึ่ง AGP นั้น ใช้เทคนิคหลายๆ อย่างที่เพิ่มเติมจาก PCI เพื่อให้ได้ประสิทธิภาพ และ ประสิทธิผลที่เหนือกว่า คือ
  • AGP นั้น ใช้ระบบ Bus ความกว้าง 32 Bit ที่ทำงานด้วยความเร็ว 66 MHz ( 66 ล้านรอบต่อวินาที ) ซึ่งหมายความว่า ภายใน 1 วินาทีนั้น มันสามารถรับ-ส่งข้อมูลขนาด 32 Bit ( หรือ 4 Byte ) ได้ถึง 66 ล้านครั้ง และความเร็วในการรับ-ส่งนี้ ก็จะเพิ่มขึ้น ตามมาตรฐานของ AGP เช่น 2x, 4x หรือ 8x ซึ่งเพิ่มเป็นจำนวนเท่าจากเดิมเลยละครับ
  • เป็นระบบ Bus แบบต่อตรง เฉพาะ AGP กับ CPU ดังนั้น จึงไม่มีอุปกรณ์อื่นๆ ใด มาใช้งานร่วมด้วย ทำให้ช่องทางในการรับส่งนี้ มีเพียงแค่ข้อมูลด้าน Graphics เท่านั้น ทำให้สามารถใช้รับ-ส่งข้อมูลได้เต็มที่ ไม่ต้องแบ่งกับใคร
  • AGP นั้น ใช้การทำงานแบบ Pipeline เพื่อให้ทำงานได้รัดกุม ให้ทุกๆสัญญาณนาฬิกา มีการทำงานได้อย่างต่อเนื่อง ( การทำงานแบบ Pipeline นั้น สามารถอ่านเพิ่มเติมได้ที่ Pipeline & Superscalar )
  • AGP ใช้การอ้างอิงข้อมูลผ่านทาง Sideband Addressing ซึ่งตัวหน่วยประมวลผลด้าน Graphics จะทำการติดต่อกับ CPU ผ่านช่องทางอื่น ซึ่งมีถึง 8 ช่องทาง ไม่เกี่ยวกับ ช่องทางเดินข้อมูล ถ้าเพื่อนๆ งงตรงนี้ ก็ลองนึกถึงขณะเรากำลังฟังเพลงจากสถานีวิทยุใด วิทยุหนึ่ง เราก็สามารถที่จะโทรศัพท์เข้าไปขอเพลงถัดไปได้ โดยไม่มีผลกระทบกับเพลงที่กำลังฟังอยู่ในขณะนี้ได้ .. นั่นละครับ หลักการเดียวกันเลย แถมยังเตรียมไว้ให้ด้วยกันถึง 8 ช่องทาง และเป็นช่องทางเฉพาะที่ใช้เฉพาะ AGP กับ CPU เท่านั้นอีกด้วย ดังนั้น จึงอ้างอิงข้อมูลกันได้อย่างสบาย หายห่วงเลยละครับ

เกี่ยวกับหน่วยความจำ
นอกเหนือไปจากประสิทธิภาพ และ ประสิทธิผลที่ AGP ทำได้เหนือกว่า PCI แล้ว ก็ยังมีอีกจุดหนึ่งที่ทาง AGP ทำได้ดีกว่า นั่นก็คือ การอ้างอิงหน่วยความจำของระบบ ได้โดยตรง ด้วยความเร็วเต็มที่ๆ ระบบรองรับ
ถ้าการใช้งานหลักคือ 3D เกมส์แล้วละก็ งานด้าน Texture Mapping ที่ทำให้ภาพ 3 มิติที่ออกมานั้น ดูสวยงามและสมจริง จึงเป็นสิ่งที่สำคัญ และแน่นอน Texture Mapping นี้ จะใช้หน่วยความจำค่อนข้างสูง ยิ่งถ้าภาพมีความละเอียด คมชัดเท่าไร ก็ย่อมต้องการขนาดของหน่วยความจำที่จะเก็บข้อมูลพื้นผิว ( Texture ) ที่มากขึ้นด้วย ซึ่งในสมัยที่มีการพัฒนา AGP นั้น หน่วยความจำบน Graphics Card ( หรือที่เรียกว่า Video RAM ) ที่ใช้ จะมีราคาแพงกว่าหน่วยความจำของระบบในเครื่องอยู่มาก ดังนั้น ความคมชัด ความละเอียดของภาพที่ออกมานั้น จึงขึ้นอยู่กับขนาดของหน่วยความจำบน Graphics Card แต่ด้วยความสามารถของ AGP ที่สามารถอ้างอิงใช้งานบนหน่วยความจำหลักของระบบแทนหน่วยความจำด้าน Graphics ได้ จึงเป็นข้อดีอีกประการหนึ่ง ที่ทำให้ AGP นั้น เหนือกว่า PCI แม้ว่า ณ ปัจจุบัน ราคาของหน่วยความจำจะมีราคาลดลง จนทำให้หน่วยความจำบน Graphics Card มีขนาดเพียงพอกับการทำงาน ไม่ต้องอาศัยหน่วยความจำของระบบแล้วก็ตามที
สำหรับ ระบบแบบ PCI เดิมนั้น ถ้ามีการทำ Texture Mapping แล้วละก็ จะมีการเก็บข้อมูลที่ซ้ำซ้อน เพราะต้องเก็บข้อมูลซ้าๆ กัน 2 ที่ โดยในขั้นแรกนั้น เมื่อต้องมีการทำ Texture Mapping ระบบ ก็จะทำการ Load ข้อมูลพื้นผิว มาจาก Harddisk เพื่อมาเก็บไว้ในหน่วยความจำหลักของระบบ และเมื่อถึงคราวจำเป็นต้องใช้เพื่อแสดงผล ก็จะดึงข้อมูลจากหน่วยความจำ ไปให้ CPU ทำการประมวลผล และเพื่อให้แสดงผลตามที่ CPU ทำงาน ก็จะส่งข้อมูลชุดดังกล่าวไปเก็บไว้ยังหน่วยความจำของ Graphics Card ที่เรียกว่า FrameBuffer ผ่านทาง PCI Bus ทำให้เกิดการเก็บข้อมูลที่ซ้ำซ้อนขึ้น คือ ต้องเก็บทั้งที่หน่วยความจำของระบบ และ หน่วยความจำ FrameBuffer ของ Graphics Card
          ด้วยระบบ Bus แบบ PCI นั้น การทำ Texture Mapping จะต้องดึงข้อมูลจาก Harddisk ไปเก็บที่หน่วยความจำของระบบ แล้วจึงประมวลผลและส่งต่อให้กับหน่วยความจำ FrameBuffer บน Graphics Card ต่อไป แต่ AGP นั้น จะทำการเก็บข้อมูลไว้เพียงแค่ครั้งเดียว ที่เดียว คือที่หน่วยความจำของระบบ โดยการใช้คุณสมบัติของ AGP ที่เรียกว่า GART ( Graphics Address Remapping Table ) ซึ่ง GART นี้ จะมองหน่วยความจำของระบบในส่วนที่เก็บข้อมูลพื้นผิวไว้ เป็นเสมือนอยู่ในหน่วยความจำ FrameBuffer ของ Graphics Card เลย ทำให้ลดขั้นตอนในการทำงานลง อีกทั้งยังลดปริมาณของหน่วยความจำ FrameBuffer ของ Card ลงได้อีก ซึ่งผลที่ได้นั้น นอกจากจะช่วยเพิ่มประสิทธิภาพแล้ว ยังช่วยลดต้นทุนในการผลิต Card ได้อีกด้วย
 
 
ด้วยระบบ Bus แบบ AGP นั้น การทำ Texture Mapping งสามารถดึงข้อมูลจาก Harddisk เข้าสู่หน่วยความจำของระบบซึ่ง Graphics Chip สามารถดึงไปใช้งานได้โดยตรงเลย
จากที่เห็นในรูปละครับ จะพบว่า ถ้าเป็น Card แบบที่ไม่ใช่ AGP แล้ว ไม่ว่าจะเป็น PCI, ISA หรือ VL-Bus นั้น ก็จะมีการเก็บข้อมูลที่ซ้ำซ้อน ทำให้ CPU ต้องทำงานหนักขึ้น อีกทั้งยังสิ้นเปลืองเนื้อที่โดยใช่เหตุอีก และที่สำคัญ ขนาดของพื้นผิวนั้น ก็ต้องมีขนาดไม่เกินความจุของหน่วยความจำ Framebuffer บน Card อีกด้วย
มาตรฐาน AGP ในปัจจุบันปัจจุบันนี้ มีมาตรฐานของ AGP ออกมาแล้ว 3 รุ่นด้วยกันคือ
  • AGP 1.0
  • AGP 2.0
  • AGP Pro
โดยที่ มาตรฐาน AGP 1.0 นั้นออกมาเป็นรุ่นแรก เรียกได้ว่า ยังแทบจะไม่มีอะไรมาก ต่อมาจึงได้พัฒนารุ่นที่ 2.0 ขึ้นมา ซึ่งก็ครอบคลุมความสามารถของรุ่นที่ 1.0 ไว้อย่างครบถ้วน แล้วยังรองรับความสามารถใหม่ๆ เพิ่มขึ้นมาอีกด้วย โดยที่ มาตรฐานใหม่นี้ จะรองรับความเร็วในการทำงานเมื่อครั้งเปิดตัว ได้ถึง 3 โหมดของการทำงาน โดยที่ทุกๆ โหมดการทำงานนั้น จะใช้งานที่ความเร็ว Bus ของ AGP ที่ 66 MHz แต่ให้ผลลัพธ์ที่แตกต่างกันในแต่ละโหมด เช่นโหมด 2x นั้น ก็จะสามารถส่งข้อมูลได้เป็น 2 เท่า หรือ 4x ก็จะส่งได้มากเป็น 4 เท่า ซึ่งพอจะสรุปเป็นตารางได้

โหมดการทำงานความเร็วของสัญญาณนาฬิกาอัตราการรับ-ส่งข้อมูล ( MBps )
1x66 MHz266
2x133 MHz533
4x266 MHz1,066


รูปแสดง Mainboard ที่มี Interface แบบ AGP 2.0

ส่วน AGP Pro นั้น ก็อ้างอิงพื้นฐานมาจากรุ่น 2.0 แต่ตรงส่วนของ Interface Slot นั้น จะมีความยาวกว่า AGP ปกติ ทั้งนี้ ก็เพื่อรองรับกับงาน Graphics ระดับสูง ที่ต้องการประสิทธิภาพที่มากขึ้นนั่นเอง ซึ่ง เครื่องคอมพิวเตอร์ใดๆ ที่มี Slot AGP Pro หรือ 2.0 นั้น ก็จะสามารถใช้งานได้กับทั้ง Card AGP รุ่น 1.0 และ 2.0 แต่ถ้า เป็น Slot รุ่น 1.0 ก็ต้องทำใจสักหน่อย เพราะใช้งานได้กับเพียงรุ่น 1.0 ที่รองรับความเร็วได้เพียง 1x เท่านั้น

AGP 1.0 นั้น เปิดตัวมาพร้อมๆ กับ Chipset 440LX ของทาง Intel และต่อมา จึงได้เปิดตัว Chipset 440BX พร้อมๆ กับ AGP 2.0 โดยต่างก็เป็น Chipset ที่ใช้กับ CPU ตระกูล Pentium II / Celeron แบบ Slot-1 ซึ่งในขณะนั้น Chipset 440BX ก็ยังรองรับได้เพียงโหมด 2x และต่อมา ก็ได้ออก Chipset รุ่นใหม่ๆ ที่พัฒนาการทำงานจนรองรับได้ถึง 4x โดยยังคงใช้มาตรฐาน 2.0 เช่นเดิม ซึ่งโหมด 4x นี้ ก็เป็นโหมดใช้กันอยู่ในปัจจุบัน และในปัจจุบัน ก็กำลังพัฒนาและปรับปรุงโหมดการทำงานเพิ่มขึ้นมาอีก 1 โหมด คือ 8x ซึ่ง ยังคงอ้างอิงมาตรฐานเดิม 2.0 นั่นเอง แต่จะทำงานที่ความเร็วสัญญาณนาฬิกาที่ 533 MHz และให้อัตราการรับส่งข้อมูลที่เพิ่มขึ้นเป็น 2,133 MBps โดยในขณะนี้ บรรดาผู้ผลิต Chipset ต่างๆ ก็ได้เปิดตัวรุ่นใหม่ ที่จะออกมารองรับการทำงานในโหมด 8x นี้กันแล้ว และคาดว่า จะมี Mainboard ที่รองรับโหมดนี้ ออกวางจำหน่ายจริงในราวกลางปี ค.ศ. 2002 นี้

 ที่มา http://www.nextproject.net/contents/default.aspx?00064