โครงสร้างและการทำงานภายในระบบคอมพิวเตอร์
โครงสร้างและฟังก์ชันการทำงาน
• โครงสร้างคอมพิวเตอร์ หมายถึงส่วนประกอบสำคัญต่างๆที่นำมาสร้างเป็นคอมพิวเตอร์
• ฟังก์ชัน (Function) คือ การปฏิบัติงานของแต่ละส่วนในโครงสร้าง ดังนั้นแต่ละส่วนในโครงสร้างก็จะมีฟังก์ชันหน้าที่การทำงานของตน
ฟังก์ชันการทำงานในระบบคอมพิวเตอร์
โครงสร้างของระบบคอมพิวเตอร์
คอมพิวเตอร์ประกอบด้วยส่วนสำคัญ 4 ส่วนคือ
The Central Processing Unit (CPU)
CPU ทำหน้าที่ในการควบคุมการปฏิบัติงานของคอมพิวเตอร์ และการประมวลผลข้อมูล
The Central Processing Unit (CPU)
หน้าที่ของหน่วยประมวลผลกลาง มีดังต่อไปนี้
อ่านและแปลคำสั่งที่เขียนไว้ในโปรแกรม
ประมวลผลตามคำสั่งที่เขียนไว้ในโปรแกรม
รับส่งข้อมูลโดยติดต่อกับหน่วยความจำภายในเครื่อง
ติดต่อรับส่งข้อมูลกับผู้ใช้ โดยผ่านหน่วยรับข้อมูล และหน่วยแสดงผล
ย้ายข้อมูลและคำสั่งจากหน่วยงานหนึ่งไปยังอีกหน่วยงานหนึ่ง
องค์ประกอบของ CPU
CPU ประกอบด้วย 3 ส่วนหลักดังนี้ :
The Central Processing Unit (CPU)
หน่วยประมวลผลกลางจะประกอบด้วย 2 หน่วยย่อยๆ คือ
1.หน่วยควบคุม (Control Unit)
2.หน่วยคำนวณ/ตรรกะ (ALU – Arithmetic and Logic Unit)
Control Unit
มีหน้าที่ในการสั่งงานและประสานงานการดำเนินการทั้งหมดของระบบ ดังนี้
ติดต่อสื่อสารกับ ALU และหน่วยความจำหลัก
ตัดสินใจในการนำข่าวสารเข้าและออกจากหน่วยความจำหลัก
กำหนดเส้นทางการส่งข่าวสารจากหน่วยความจำไปยัง ALU และจาก ALU ไปยังหน่วยความจำหลัก
มีหน่วยที่ทำหน้าที่ในการถอดรหัสว่าจะให้เครื่องคอมพิวเตอร์ทำอะไร
ควบคุมการถอดรหัสให้เป็นไปตามขั้นตอนการทำงาน เพื่อให้ได้ผลลัพธ์ออกมา
Arithmetic and Logic Unit
ประกอบด้วยวงจรทางไฟฟ้าที่ทำหน้าที่ 2 อย่างคือ
1.การดำเนินงานเชิงเลขคณิต (Arithmetic Operation) ทำหน้าที่ในการคำนวณ อันได้แก่ การบวก ลบ คูณ หาร
2.การดำเนินงานเชิงตรรกวิทยา (Logical Operation) ทำหน้าที่ในการเปรียบเทียบระหว่างข้อมูล โดยมีการทดสอบตามเงื่อนไข มากกว่า น้อยกว่า เท่ากับ หรือไม่เท่ากับ เงื่อนไขทางตรรกะเช่น AND, OR, NOT ซึ่งการปฏิบัติงานของคอมพิวเตอร์จะขึ้นอยู่กับผลลัพธ์ของการเปรียบเทียบนั้น
รีจิสเตอร์ (Register)
เป็นหน่วยความจำชั่วคราวความเร็วสูง ที่ใช้ในการเก็บคำสั่งและข้อมูลสำหรับการประมวลผลภายใน CPU
Data held temporarily in registers can be accessed at greater speeds than data stored in memory
รีจิสเตอร์ (Registers)
รีจีสเตอร์ (Registers)
รีจิสเตอร์ จะอยู่ภายในหน่วยประมวลผลกลางและจะถูกจัดการและควบคุมโดยหน่วยควบคุม (Control Unit) ซึ่งจะใช้เป็นแหล่งเก็บข้อมูลและคำสั่งภายในโปรแกรมที่จะถูกนำมาประมวลผล โดยทั่วไปแล้วรีจิสเตอร์จะแบ่งออกได้หลายแบบตามหน้าที่ของรีจิสเตอร์แต่ละตัว
1.Instruction Register - เก็บส่วนของคำสั่งโปรแกรม
2.Address Register - เก็บส่วน แอดเดรส ของคำสั่งโปรแกรม
3.Storage Register - เก็บข้อมูลที่โอนย้ายมาจาก RAM
4.Accumulator - เก็บผลลัพธ์จากการประมวลผลชั่วคราว
ชนิดของรีจิสเตอร์
ใช้เก็บข้อมูลที่จะทำการประมวลผลในทันที ได้แก่
1.Program Counter (PC) ใช้เก็บตำแหน่งของคำสั่งถัดไป
2.Instruction Register (IR) เก็บคำสั่ง ที่โหลดมาจากหน่วยความจำ (เก็บคำสั่งปัจจุบัน)
3.Memory Address Register (MAR) เก็บตำแหน่ง ข้อมูลที่จะอ่านเขียนหน่วยความจำ
4.Memory Buffer Register (MBR) เก็บข้อมูลที่จะอ่านหรือเขียนลงหน่วยความจำ
5.Accumulator (AC) เก็บ ผลลัพธ์จากการประมวลผลชั่วคราว
5.การติดตั้งwindowsและโปรแกรมเฉพาะทาง
การติดตั้งระบบปฏิบัติการ Windows โดยปกติ จะสามารถทำได้ 2 แบบคือ การติดตั้งโดยการอัพเกรดจาก Windows ตัวเดิม หรือทำการติดตั้งใหม่เลยทั้งหมด สำหรับตัวอย่างในที่นี้ จะขอแนะนำวิธีการ ขั้นตอนการติดตั้ง Windows แบบลงใหม่ทั้งหมด ซึ่งความเห็นส่วนตัว น่าจะมีปัญหาในการใช้งานน้อยกว่าแบบอัพเกรดค่ะ
วิธีการติดตั้ง Window ยังสามารถแบ่งออกได้เป็น 3 แบบดังนี้
1. ติดตั้งแบบอัพเกรดจาก Windows ตัวเดิม โดยใส่แผ่น CD และเลือกติดตั้งจาก CD นั้นได้เลย
2. ติดตั้งโดยการบูตเครื่องใหม่จาก CD ของ Windows Setup และทำการติดตั้ง
3. ติดตั้งจากฮาร์ดดิสก์ โดยทำการ copy ไฟล์ทั้งหมดจาก CD ไปเก็บไว้ในฮาร์ดดิสก์ ก่อนทำการติดตั้ง
ในการแบ่งพื้นที่ฮาร์ดดิสก์ แนะนำให้ทำการวางแผนประมาณขนาดพื้นที่ไว้ล่วงหน้าด้วย โดยทั่วไปก็ไม่ควรจะใช้พื้นที่ต่ำกว่า 3G. และเนื่องจากระบบ Windows XP สามารถที่จะสร้างเมนู Multi Boot ได้หลังจากที่ติดตั้งไปแล้ว โดยยังสามารถเลือกเมนูว่า จะเรียก Windows ตัวเดิมหรือจะเรียก Windows XP ก็ได้ ดังนั้น หลาย ๆ ท่านมักจะแบ่งพื้นที่ไว้ลง Windows 98 ที่ Drive C: ประมาณ 5G. และเผื่อไว้สำหรับ Windows XP ที่ Drive D: อีกประมาณ 5G. ที่เหลือก็จะเป็น Drive E: สำหรับเก็บข้อมูลอื่น ๆ ทั่วไป แต่ถ้าหากลง Windows เพียงแค่ตัวเดียว ก็ไม่จำเป็นค่ะ
การตั้งค่าใน BIOS ก่อนทำการติดตั้ง Windows XP ใหม่จะต้องทำการ Disable Virus Protection ใน BIOS ซะก่อน เพราะว่าเมนบอร์ดบางรุ่นจะมีการป้องกัน Virus โดยการป้องกันการเขียนทับในส่วนของ Boot Area ของฮาร์ดดิสก์ ซึ่งเท่าที่เคยเห็นมา เครื่องคอมพิวเตอร์ปัจจุบันนี้ส่วนใหญ่จะมีให้เลือกตั้งค่านี้อยู่แล้ว ถ้าหากเครื่องของใครไม่มีก็ไม่ต้องตกใจ เพราะเมนบอร์ด บางรุ่นอาจจะไม่มีก็ได้ วิธีการก็คือ
เริ่มจากการเปิดเครื่องคอมพิวเตอร์ใหม่ ขณะที่เครื่องกำลังทำ Memory Test หรือนับ RAM อยู่นั่นแหละ ด้านล่างซ้ายมือจะมีคำว่า Press DEL to enter SETUP ให้กดปุ่ม DEL บน Keyboard เพื่อเข้าสู่เมนูของ Bios Setup (แล้วแต่เมนบอร์ด ด้วยบางทีอาจจะใช้ปุ่มอื่น ๆ สำหรับการเข้า Bios Setup ก็ได้ลองดูให้ดี ๆ) จากนี้ก็แล้วแต่ว่าเครื่องของใคร จะขึ้นเมนูอย่างไร คงจะไม่เหมือนกันแต่ก็ไม่แตกต่างกันมากนัก จากนั้นให้มองหาเมนู Bios Features Setup ส่วนใหญ่จะเป็นเมนูที่สอง ใช้ปุ่มลูกศรเลื่อนแถบลงมาแล้วกด ENTER ถ้าใช่จะมีเมนูของ Virus Warning หรือ Virus Protection อะไรทำนองนี้ ถ้าหากเป็น Enable อยู่ละก็ให้เปลี่ยนเป็น Disable โดยเลื่อนแถบแสงไปที่เมนูที่เราต้องการใช้ปุ่ม PageUp หรือ PageDown สำหรับเปลี่ยนค่าให้เป็น Disable
กดปุ่ม ESC เพื่อกลับไปเมนูหลักของ Bios Setup มองหาเมนูของ SAVE TO CMOS AND EXIT หรืออะไรทำนองนี้เลื่อนแถบแสงไปเลยแล้วกด ENTER ถ้าหากเครื่องถามว่าจะ Save หรือไม่ก็ตอบ Y ได้เลย หลังจากนี้เครื่องจะทำการ Reboot ใหม่อีกครั้ง ใส่แผ่น Startup Disk ที่เราทำไว้ตามขั้นตอนแรกรอไว้ก่อนเลย
มาดูขั้นตอนตั้งแต่เริ่มต้น การติดตั้ง Windows XP กันเลยค่ะ
เริ่มต้น โดยการเซ็ตให้บูตเครื่องจาก CD-Rom Drive ก่อน โดยการเข้าไปปรับตั้งค่าใน bios ของเครื่องคอมพิวเตอร์ โดยเลือกลำดับการบูต ให้เลือก CD-Rom Drive เป็นตัวแรกครับ (ถ้าหากเป็นแบบนี้อยู่แล้ว ก็ไม่ต้องเปลี่ยนอะไร)
วันจันทร์ที่ 23 สิงหาคม พ.ศ. 2553
3.ส่วนประกอบของระบบปฏิบัติการ
ส่วนประกอบของระบบปฏิบัติการ
การติดต่อกับผู้ใช้ หรือยูเซอร์อินเทอร์เฟซ (User interface)
ผู้ใช้สามารถสั่งให้คอมพิวเตอร์ทำงาน จึงเป็นหน้าที่ของระบบปฏิบัติการในเป็นตัวกลาง และเตรียมสภาพแวดล้อมต่าง ๆ ให้กับผู้ใช้ในการสั่งงานคอมพิวเตอร์ หลังจากนั้นจะใช้คำสั่งผ่านทาง System call เพื่อปฏิบัติสิ่งที่ผู้ใช้ต้องการ
ใช้สามารถติดต่อหรือควบคุมการทำงานของเครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการได้ โดยระบบปฏิบัติการจะเครื่องหมายพร้อมต์ (prompt) ออกทางจอภาพเพื่อรอรับคำสั่งจากผู้ใช้โดยตรง ตัวระบบปฏิบัติการจึงเป็นตัวกลางที่ทำหน้าที่เชื่อมโยงระหว่างผู้ใช้กับฮาร์ดแวร์ของเครื่อง นอกจากนี้ผู้ใช้อาจเขียนโปรแกรมเพื่อใช้งานกรณีนี้ผู้ใช้ก็สามารถติดต่อกับระบบปฏิบัติการได้โดยผ่านทาง System Call
ควบุคมดูแลอุปกรณ์ (Control devices)
ระบบปฏิบัติการมีหน้าที่ควบคุมอุปกรณ์ต่าง ๆ ให้ทำงานสอดคล้องกับความต้องการ โดยไม่เกิดข้อผิดพลาด เช่นการควบคุมดิสก์ จอภาพ หรือซีดีรอม เป็นต้น ระบบปฏิบัติการจะรับคำสั่งจากผู้ใช้ และเรียกใช้ System call ขึ้นมาทำงาน ให้ได้ผลตามต้องการ
ให้ความสะดวกแก่ผู้ใช้ในการใช้งานอุปกรณ์ต่างๆ ได้ง่าย เช่น การเข้าถึงข้อมูลในแฟ้มหรือติดต่อกับอุปกรณ์รับ/แสดงผลข้อมูล จึงทำให้ผู้พัฒนาโปรแกรมไม่จำเป็นต้องเขียนโปรแกรมเพื่อควบคุมตัวขับดิสก์เพราะระบบปฏิบัติการจัดบริการให้มีคำสั่งสำหรับติดต่อกับอุปกรณ์เหล่านี้ได้อย่างง่ายๆเนื่องจากผู้ใช้เครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการ อาจไม่มีความจำเป็นต้องมีความรู้ความเข้าใจถึงหลักการทำงานภายในของเครื่อง
ดังนั้น ระบบปฏิบัติการจึงมีหน้าที่ควบคุมการทำงานของโปรแกรม การทำงานของอุปกรณ์ต่างๆ เพื่อให้การทำงานของระบบเป็นไปอย่างถูกต้องและสอดคล้องกัน ระบบปฏิบัติการจึงมีส่วนประกอบของหน้าที่ต่างๆ ที่ควบคุมอุปกรณ์แต่ละชนิดที่มีหน้าที่แตกต่างกันไป โดยผู้ใช้อาจเรียกใช้ผ่านทาง System Call หรือเขียนโปรแกรมขึ้นมาควบคุมอุปกรณ์เหล่านั้น
2.1.3 จัดสรรทรัพยากร หรือรีซอร์สระบบ (Resources management)
เพราะทรัพยากรของระบบมีจำกัด และมีหลายประเภท ระบบปฏิบัติการต้องบริการให้ผู้ใช้ ได้ใช้ทรัพยากรต่าง ๆ ให้เป็นไปอย่างต่อเนื่อง ตัวอย่างทรัพยากร ที่ระบบปฏิบัติการต้องจัดการ เช่น ซีพียู หน่วยความจำ ซีดีรอม เครื่องพิมพ์ เป็นต้น
ทรัพยากรหลักที่ต้องมีการจัดสรร ได้แก่ หน่วยประมวลผลกลาง หน่วยความจำหลัก อุปกรณ์รับ/แสดงผลข้อมูล และแฟ้มข้อมูล เช่น การจัดลำดับให้บริการใช้เครื่องพิมพ์การสับหลีกงานหลายงานในหน่วยความจำหลักและการจัดสรรหน่วยความจำหลักให้กับโปรแกรมทั้งหลาย ทรัพยากร คือสิ่งที่ซึ่งถูกใช้ไปเพื่อให้โปรแกรมดำเนินไป
องค์ประกอบของระบบปฏิบัติการ
การจัดการโปรเซส (Process management)
การจัดการหน่วยความจำ (Memory management)
การจัดการไฟล์ (File management)
การจัดการอินพุต / เอาต์พุต (I/O system management)
การจัดการสื่อจัดเก็บข้อมูล (Storage managment)
เน็ตเวิร์ค (Networking)
ระบบป้องกัน (Protection system)
ระบบตัวแปลคำสั่ง (Command-interpreter system
ใช้หลอดสูญญากาศ ยังไม่มี OS และใช้ CARD I/O รับ-ส่งข้อมูล
ยุคที่ 2 (ค.ศ.1955 - 1964)
ใช้ทรานซิสเตอร์ เป็น Mainframe เริ่มใช้ Fortran, Cobol โดยใช้ Batch processing ควบคุม
ยุคที่ 3 (ค.ศ.1965 - 1979)
ใช้ IC(Integrated circuit) เริ่มใช้ Basic, Pascal เริ่มใช้ Multiprogramming และ time sharing
ยุคที่ 4 (ค.ศ.1980 - ปัจจุบัน)
ใช้ Multi-mode และ Virtual machine เริ่มสื่อสารระหว่างเครือข่าย (Internet)
โครงสร้างระบบปฏิบัติการ
องค์ประกอบของระบบ หรือคอมโพแนนต์ของระบบ (System component)
ระบบแบ่งงานออกเป็นส่วนย่อยต่าง ๆ เรียกว่า component เช่น input, output หรือ function ซึ่งหน้าที่ของระบบ คือจัดการส่วนย่อยต่าง ๆ ให้ทำงานร่วมกันได้อย่างมีประสิทธิภาพ ซึ่งมีงานหลาย ๆ อย่างที่ต้องจัดการ ดังนี้
การจัดการโปรเซส (Process management)
การจัดการหน่วยความจำ (Memory management)
การจัดการไฟล์ (File management)
การจัดการอินพุต / เอาต์พุต (Input/Output management)
การจัดการสื่อจัดเก็บข้อมูล (Storage management)
เน็ตเวิร์ค (Networking)
ระบบป้องกัน (Protection system)
ระบบตัวแปลคำสั่ง (Interpreter system)
เซอร์วิสของระบบปฏิบัติการ (Operating system services)
บริการพื้นฐานที่ระบบปฏิบัติการต้องมีให้กับผู้ใช้ ที่น่าสนใจมีดังนี้
การเอ็กซิคิวต์โปรแกรม
การปฏิบัติกับอินพุต/เอาต์พุต
การจัดการกับระบบไฟล์
การติดต่อสื่อสาร
การตรวจจับข้อผิดพลาด
การแชร์รีซอร์ส
การป้องกัน
System calls
ทำหน้าที่ กำหนดอินเทอร์เฟสระหว่าง process กับ operating system เพื่อการควบคุม และจัดการระบบ โดยแบ่งออกเป็น 5 กลุ่ม
การควบคุมโปรเซส
การจัดการกับไฟล์
การจัดการดีไวซ์
การบำรุงรักษาข้อมูล
การติดต่อสื่อสาร
การติดต่อกับผู้ใช้ หรือยูเซอร์อินเทอร์เฟซ (User interface)
ผู้ใช้สามารถสั่งให้คอมพิวเตอร์ทำงาน จึงเป็นหน้าที่ของระบบปฏิบัติการในเป็นตัวกลาง และเตรียมสภาพแวดล้อมต่าง ๆ ให้กับผู้ใช้ในการสั่งงานคอมพิวเตอร์ หลังจากนั้นจะใช้คำสั่งผ่านทาง System call เพื่อปฏิบัติสิ่งที่ผู้ใช้ต้องการ
ใช้สามารถติดต่อหรือควบคุมการทำงานของเครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการได้ โดยระบบปฏิบัติการจะเครื่องหมายพร้อมต์ (prompt) ออกทางจอภาพเพื่อรอรับคำสั่งจากผู้ใช้โดยตรง ตัวระบบปฏิบัติการจึงเป็นตัวกลางที่ทำหน้าที่เชื่อมโยงระหว่างผู้ใช้กับฮาร์ดแวร์ของเครื่อง นอกจากนี้ผู้ใช้อาจเขียนโปรแกรมเพื่อใช้งานกรณีนี้ผู้ใช้ก็สามารถติดต่อกับระบบปฏิบัติการได้โดยผ่านทาง System Call
ควบุคมดูแลอุปกรณ์ (Control devices)
ระบบปฏิบัติการมีหน้าที่ควบคุมอุปกรณ์ต่าง ๆ ให้ทำงานสอดคล้องกับความต้องการ โดยไม่เกิดข้อผิดพลาด เช่นการควบคุมดิสก์ จอภาพ หรือซีดีรอม เป็นต้น ระบบปฏิบัติการจะรับคำสั่งจากผู้ใช้ และเรียกใช้ System call ขึ้นมาทำงาน ให้ได้ผลตามต้องการ
ให้ความสะดวกแก่ผู้ใช้ในการใช้งานอุปกรณ์ต่างๆ ได้ง่าย เช่น การเข้าถึงข้อมูลในแฟ้มหรือติดต่อกับอุปกรณ์รับ/แสดงผลข้อมูล จึงทำให้ผู้พัฒนาโปรแกรมไม่จำเป็นต้องเขียนโปรแกรมเพื่อควบคุมตัวขับดิสก์เพราะระบบปฏิบัติการจัดบริการให้มีคำสั่งสำหรับติดต่อกับอุปกรณ์เหล่านี้ได้อย่างง่ายๆเนื่องจากผู้ใช้เครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการ อาจไม่มีความจำเป็นต้องมีความรู้ความเข้าใจถึงหลักการทำงานภายในของเครื่อง
ดังนั้น ระบบปฏิบัติการจึงมีหน้าที่ควบคุมการทำงานของโปรแกรม การทำงานของอุปกรณ์ต่างๆ เพื่อให้การทำงานของระบบเป็นไปอย่างถูกต้องและสอดคล้องกัน ระบบปฏิบัติการจึงมีส่วนประกอบของหน้าที่ต่างๆ ที่ควบคุมอุปกรณ์แต่ละชนิดที่มีหน้าที่แตกต่างกันไป โดยผู้ใช้อาจเรียกใช้ผ่านทาง System Call หรือเขียนโปรแกรมขึ้นมาควบคุมอุปกรณ์เหล่านั้น
2.1.3 จัดสรรทรัพยากร หรือรีซอร์สระบบ (Resources management)
เพราะทรัพยากรของระบบมีจำกัด และมีหลายประเภท ระบบปฏิบัติการต้องบริการให้ผู้ใช้ ได้ใช้ทรัพยากรต่าง ๆ ให้เป็นไปอย่างต่อเนื่อง ตัวอย่างทรัพยากร ที่ระบบปฏิบัติการต้องจัดการ เช่น ซีพียู หน่วยความจำ ซีดีรอม เครื่องพิมพ์ เป็นต้น
ทรัพยากรหลักที่ต้องมีการจัดสรร ได้แก่ หน่วยประมวลผลกลาง หน่วยความจำหลัก อุปกรณ์รับ/แสดงผลข้อมูล และแฟ้มข้อมูล เช่น การจัดลำดับให้บริการใช้เครื่องพิมพ์การสับหลีกงานหลายงานในหน่วยความจำหลักและการจัดสรรหน่วยความจำหลักให้กับโปรแกรมทั้งหลาย ทรัพยากร คือสิ่งที่ซึ่งถูกใช้ไปเพื่อให้โปรแกรมดำเนินไป
องค์ประกอบของระบบปฏิบัติการ
การจัดการโปรเซส (Process management)
การจัดการหน่วยความจำ (Memory management)
การจัดการไฟล์ (File management)
การจัดการอินพุต / เอาต์พุต (I/O system management)
การจัดการสื่อจัดเก็บข้อมูล (Storage managment)
เน็ตเวิร์ค (Networking)
ระบบป้องกัน (Protection system)
ระบบตัวแปลคำสั่ง (Command-interpreter system
ใช้หลอดสูญญากาศ ยังไม่มี OS และใช้ CARD I/O รับ-ส่งข้อมูล
ยุคที่ 2 (ค.ศ.1955 - 1964)
ใช้ทรานซิสเตอร์ เป็น Mainframe เริ่มใช้ Fortran, Cobol โดยใช้ Batch processing ควบคุม
ยุคที่ 3 (ค.ศ.1965 - 1979)
ใช้ IC(Integrated circuit) เริ่มใช้ Basic, Pascal เริ่มใช้ Multiprogramming และ time sharing
ยุคที่ 4 (ค.ศ.1980 - ปัจจุบัน)
ใช้ Multi-mode และ Virtual machine เริ่มสื่อสารระหว่างเครือข่าย (Internet)
โครงสร้างระบบปฏิบัติการ
องค์ประกอบของระบบ หรือคอมโพแนนต์ของระบบ (System component)
ระบบแบ่งงานออกเป็นส่วนย่อยต่าง ๆ เรียกว่า component เช่น input, output หรือ function ซึ่งหน้าที่ของระบบ คือจัดการส่วนย่อยต่าง ๆ ให้ทำงานร่วมกันได้อย่างมีประสิทธิภาพ ซึ่งมีงานหลาย ๆ อย่างที่ต้องจัดการ ดังนี้
การจัดการโปรเซส (Process management)
การจัดการหน่วยความจำ (Memory management)
การจัดการไฟล์ (File management)
การจัดการอินพุต / เอาต์พุต (Input/Output management)
การจัดการสื่อจัดเก็บข้อมูล (Storage management)
เน็ตเวิร์ค (Networking)
ระบบป้องกัน (Protection system)
ระบบตัวแปลคำสั่ง (Interpreter system)
เซอร์วิสของระบบปฏิบัติการ (Operating system services)
บริการพื้นฐานที่ระบบปฏิบัติการต้องมีให้กับผู้ใช้ ที่น่าสนใจมีดังนี้
การเอ็กซิคิวต์โปรแกรม
การปฏิบัติกับอินพุต/เอาต์พุต
การจัดการกับระบบไฟล์
การติดต่อสื่อสาร
การตรวจจับข้อผิดพลาด
การแชร์รีซอร์ส
การป้องกัน
System calls
ทำหน้าที่ กำหนดอินเทอร์เฟสระหว่าง process กับ operating system เพื่อการควบคุม และจัดการระบบ โดยแบ่งออกเป็น 5 กลุ่ม
การควบคุมโปรเซส
การจัดการกับไฟล์
การจัดการดีไวซ์
การบำรุงรักษาข้อมูล
การติดต่อสื่อสาร
วันจันทร์ที่ 16 สิงหาคม พ.ศ. 2553
1.ความหมายของระบบปฏิบัติการ
• ระบบปฏิบัติการ (Operating System)
ระบบปฏิบัติการ หมายถึง ชุดของโปรแกรมที่อยู่ระหว่างฮาร์ดแวร์แลซอฟต์แวร์ประยุกต์ มีหน้าที่ในการควบคุมการปฏิบัติงานของฮาร์ดแวร์ และสนับสนุนคำสั่งสำหรับควบคุมการทำงานของฮาร์ดแวร์ประยุกต์ ตัวอย่างของซอฟต์แวร์ระบบปฏิบัติการที่นิยมใช้ในปัจจุบัน เช่น MS - DOS , UNIX , Windows 95 , และ Mac System 7 เป็นต้น ระบบปฏิบัติงานมีหน้าที่หลัก ๆ คือ
o จัดส่วนประกอบต่าง ๆ ของระบบคอมพิวเตอร์ เช่น หน่วยประมวลผลกลาง หน่วยความจำ ที่เก็บข้อมูลสำรอง และเครื่องพิมพ์
o จัดการงานในส่วนของการติดต่อกับผู้ใช้
o ให้บริการโปรแกรมประยุกต์อื่น เช่น การรับข้อมูล และการแสดงผล เป็นต้น ปกติแล้วโปรแกรมประยุกต์จะถูกเรียกให้เริ่มต้นทำงานผ่านระบบปฏิบัติการ
ระบบปฏิบัติการทำงานอยู่เบื้องหลังการทำงานของผู้ใช้ โดยเฉพาะระบบปฏิบัติการบนเครื่องเมนเฟรมหรือเครื่องที่มีขนาดใหญ่ก็ย่อมมีการทำงานที่ซับซ้อนมากขึ้น เพราะต้องดูแลการทำงานหลายอย่างจากผู้ใช้หลายคนพร้อมกัน
ระบบปฏิบัติการบนเครื่องไมโครคอมพิวเตอร์
ในปัจจุบันนี้ ระบบปฏิบัติการบนเครื่องไมโครคอมพิวเตอร์ที่ได้รับความนิยม จะแยกตามฮาร์ดแวร์ที่ใช้งานได้เป็น 2 ระบบ คือระบบปฏิบัติการที่ทำงานบนเครื่อง ไอบีเอ็มพีซี (IBM personal Computer) หรือ เลียนแบบไอบีเอ็มพีซี (IBM PC Competible) และระบบปฏิบัติการที่ทำงานบนเครื่องแมคอินทอช (Macintosh) โดยปกติแล้ว โปรแกรมประยุกต์ใด ๆ จะสามารถทำงานบนระบบปฏิบัติการตัวใดตัวหนึ่งเท่านั้น เช่น โปรแกรมไมโครซอฟต์เวิร์ดที่ถูกออกแบบมาให้ทำงานบนเครื่องไอบีเอ็มพีซี ก็จะไม่สามารถนำไปใช้งานบนเครื่องแมคอินทอช เพราะเครื่องไอบีเอ็มพีซี จะนิยมใช้ระบบปฏิบัติการของไมโครซอฟต์ที่เรียกว่าเอ็มเอสดอส (MS - DOS)หรืออาจใช้ระบบที่ใหม่กว่าคือไมโครซอฟต์วินโดว์ (Microsoft Windows) หรือระบบปฏิบัติการแบบเปิดในตระกูลยูนิกซ์ เช่น SCO UNIX หรือ LINUX ในขณะที่เครื่องแมคอินทอชใช้ระบบปฏิบัติการที่เรียกว่าแมคอินทอชซิสเต็มเซเว่น (Macintosh System 7) ซึ่งออกแบบโดยบริษัทแอปเปิล การที่เครื่องสองชนิดใช้ระบบปฏิบัติการต่างกัน เนื่องมาจากมีหน่วยประมวลผลกลางไม่เหมือนกัน ผู้ที่จะผลิตซอฟต์แวร์คอมพิวเตอร์จะต้องเลือกที่จะผลิตซอฟต์แวร์ให้ใช้บนระบบใดระบบหนึ่ง หรือถ้าจะให้ใช้ได้บนระบบปฏิบัติการทั้งสองชนิดก็ต้องพัฒนาซอฟต์แวร์ขึ้นมาสองชุด
โดยมากแล้วผู้ใช้เครื่องคอมพิวเตอร์จะไม่สนใจว่าจะใช้ระบบปฏิบัติการใด แต่จะเลือกซอฟต์แวร์ประยุกต์ที่สามารถทำงานให้ได้ประโยชน์สูงสุดตามต้องการ แล้วจึงพิจารณาว่าซอฟต์แวร์นั้นทำงานบนระบบปฏิบัติการชนิดใด แต่ผู้ใช้บางกลุ่มก็เจาะจงเลือกใช้ระบบปฏิบัติการเอ็มเอสดอส เพราะมีซอฟต์แวร์ประยุกต์ให้เลือกใช้ได้มากมาย และผู้ใช้บางกลุ่มก็ต้องการใช้เครื่องแมคอินทอช เพราะมีระบบโต้ตอบผู้ใช้ที่ได้ง่ายและสวยงาม
o ระบบปฏิบัติการเอ็มเอสดอส (MS - DOS)
ผู้ใช้เครื่องคอมพิวเตอร์ในปัจจุบันนี้มักจะมีฮาร์ดดิสก์ติดอยู่ด้วยเสมอ เมื่อผู้ใช้เปิดเครื่องคอมพิวเตอร์ ระบบปฏิบัติการก็จะถูกเรียกจากฮาร์ดดิสก์มาไว้ในหน่วยความจำของเครื่องเพื่อเตรียมที่จะใช้งานได้ทันทีที่ต้องการ ขั้นตอนที่ย้ายระบบปฏิบัติการเข้าสู่หน่วยความจำของเครื่องนั้นเรียกว่าการบูตระบบ (booting) หรือ บูตแสตป (bootstrap) ซึ่งมีขั้นตอนคือเมื่อเปิดสวิทช์เครื่องคอมพิวเตอร์ขึ้น โปรแกรมเล็ก ๆ ที่อยู่ในหน่วยความจำรอม (ROM) จะเรียกเอาส่วนประกอบพื้นฐานที่จำเป็นของระบบปฏิบัติการจากฮาร์ดดิสก์เข้ามาไว้ในหน่วยความจำหลัก ซึ่งจะได้ผลลัพธ์บนจอภาพเป็น C > หรือ C:\ > โดยที่หมายถึงดิสก์ไดรฟ์ที่ทำงานอยู่ และเครื่องหมาย > หมายถึงการเตรียมพร้อมที่จะทำงาน (prompt) จากนั้นผู้ใช้ก็จะสามารถพิมพ์คำสั่งของเอ็มเอสดอสได้ทันที
2.ประเภทของระบบปฏิบัติการ
ประเภทของระบบปฏิบัติการ
ระบบปฏิบัติการที่ใช้กันโดยทั่วไปในปัจจุบัน อาจนำเอาไปใช้ได้กับคอมพิวเตอร์หลากหลายชนิด ตั้งแต่เครื่องคอมพิวเตอร์ระดับใหญ่จนถึงอุปกรณ์คอมพิวเตอร์พกพาขนาดเล็ก อาจแบ่งได้ออกเป็น 3 ชนิด คือ
- ระบบปฏิบัติการแบบเดี่ยว (stand-alone OS) เป็นระบบปฏิบัติการที่มุ่งเน้นและให้บริการสำหรับผู้ใช้เพียงคนเดียว(เจ้าของเครื่องนั้นๆ) นิยมใช้สำหรรรรรรับเครื่องคอมพิวเตอร์ที่ประมวลผลและทำงานแบบทั่วไป เช่น เครื่องคอมพิวเตอร์หรือสำนักงาน ซึ่งจะถูกติดตั้งระบบปฏิบัติการนี้ไว้ใช้รองรับการทำงานบางอย่าง เช่น พิมพ์รายงาน ดูหนังหรือเชื่อมต่อเข้ากับอินเทอร์เน็ต เป็นต้น ปัจจุบันพัฒนาให้มมมมีคุณสมบัติที่เป็นเครื่องลูกข่ายเพื่อขอรับบริการ จากเครื่องแม่ข่ายได้ด้วย
- ระบบปฏิบัติการแบบเครือข่าย (network OS) เป็นระบบการที่มุ่งเน้นและบริการสำหรับผู้ใช้หลายๆคน(multi-user) นิยมใช้สำหรับงานให้บริการและประมวลผลข้อมูลสำหรับเครือข่ายโดยเฉพาะ มักพบเห็นได้กับการนำไปใช้ในองค์กรธุรกิจทั่วไป เครื่องคอมพิวเตอร์ที่ติดตั้งระบบปฏิบัติการเหล่านี้จะเรียกว่า เครื่อง sever ซึ่งเป็นเสมือนเครื่องแม่ข่ายที่ให้บริการข้อมูลต่างๆ ที่จำเป็นสำหรับผุ้ใช้นั่นเอง
- ระบบปฏิบัติการแบบฝัง (embeded OS) เป็นระบบปฏิบัติการที่พบเห็นได้ในอุปกรณ์คอมพิวเตอร์พกพาขนาดเล็ก เช่น พีดีเอ หรือSmart phone บางรุ่น สามารถช่วยในการทำงานของอุปกรณ์แบบไม่ประจำที่เหล่านี้ได้เป็นอย่างดี เกิดขึ้นมาหลังสุดพร้อมๆกับที่อุปกรณ์คอมพิวเตอร์พกพาเหล่านี้ได้รับความนิยมมากขึ้น บางระบบมีคุณสมบัติที่ใกล้เคียงกับระบบปฏิบัติการแบบเดี่ยวด้วย เช่น รองรับการทำงานทั่วไป ดูหนัง ฟังเพลงหรือเชื่อมต่ออินเทอร์เน็ตได้
ระบบปฏิบัติการ หมายถึง ชุดของโปรแกรมที่อยู่ระหว่างฮาร์ดแวร์แลซอฟต์แวร์ประยุกต์ มีหน้าที่ในการควบคุมการปฏิบัติงานของฮาร์ดแวร์ และสนับสนุนคำสั่งสำหรับควบคุมการทำงานของฮาร์ดแวร์ประยุกต์ ตัวอย่างของซอฟต์แวร์ระบบปฏิบัติการที่นิยมใช้ในปัจจุบัน เช่น MS - DOS , UNIX , Windows 95 , และ Mac System 7 เป็นต้น ระบบปฏิบัติงานมีหน้าที่หลัก ๆ คือ
o จัดส่วนประกอบต่าง ๆ ของระบบคอมพิวเตอร์ เช่น หน่วยประมวลผลกลาง หน่วยความจำ ที่เก็บข้อมูลสำรอง และเครื่องพิมพ์
o จัดการงานในส่วนของการติดต่อกับผู้ใช้
o ให้บริการโปรแกรมประยุกต์อื่น เช่น การรับข้อมูล และการแสดงผล เป็นต้น ปกติแล้วโปรแกรมประยุกต์จะถูกเรียกให้เริ่มต้นทำงานผ่านระบบปฏิบัติการ
ระบบปฏิบัติการทำงานอยู่เบื้องหลังการทำงานของผู้ใช้ โดยเฉพาะระบบปฏิบัติการบนเครื่องเมนเฟรมหรือเครื่องที่มีขนาดใหญ่ก็ย่อมมีการทำงานที่ซับซ้อนมากขึ้น เพราะต้องดูแลการทำงานหลายอย่างจากผู้ใช้หลายคนพร้อมกัน
ระบบปฏิบัติการบนเครื่องไมโครคอมพิวเตอร์
ในปัจจุบันนี้ ระบบปฏิบัติการบนเครื่องไมโครคอมพิวเตอร์ที่ได้รับความนิยม จะแยกตามฮาร์ดแวร์ที่ใช้งานได้เป็น 2 ระบบ คือระบบปฏิบัติการที่ทำงานบนเครื่อง ไอบีเอ็มพีซี (IBM personal Computer) หรือ เลียนแบบไอบีเอ็มพีซี (IBM PC Competible) และระบบปฏิบัติการที่ทำงานบนเครื่องแมคอินทอช (Macintosh) โดยปกติแล้ว โปรแกรมประยุกต์ใด ๆ จะสามารถทำงานบนระบบปฏิบัติการตัวใดตัวหนึ่งเท่านั้น เช่น โปรแกรมไมโครซอฟต์เวิร์ดที่ถูกออกแบบมาให้ทำงานบนเครื่องไอบีเอ็มพีซี ก็จะไม่สามารถนำไปใช้งานบนเครื่องแมคอินทอช เพราะเครื่องไอบีเอ็มพีซี จะนิยมใช้ระบบปฏิบัติการของไมโครซอฟต์ที่เรียกว่าเอ็มเอสดอส (MS - DOS)หรืออาจใช้ระบบที่ใหม่กว่าคือไมโครซอฟต์วินโดว์ (Microsoft Windows) หรือระบบปฏิบัติการแบบเปิดในตระกูลยูนิกซ์ เช่น SCO UNIX หรือ LINUX ในขณะที่เครื่องแมคอินทอชใช้ระบบปฏิบัติการที่เรียกว่าแมคอินทอชซิสเต็มเซเว่น (Macintosh System 7) ซึ่งออกแบบโดยบริษัทแอปเปิล การที่เครื่องสองชนิดใช้ระบบปฏิบัติการต่างกัน เนื่องมาจากมีหน่วยประมวลผลกลางไม่เหมือนกัน ผู้ที่จะผลิตซอฟต์แวร์คอมพิวเตอร์จะต้องเลือกที่จะผลิตซอฟต์แวร์ให้ใช้บนระบบใดระบบหนึ่ง หรือถ้าจะให้ใช้ได้บนระบบปฏิบัติการทั้งสองชนิดก็ต้องพัฒนาซอฟต์แวร์ขึ้นมาสองชุด
โดยมากแล้วผู้ใช้เครื่องคอมพิวเตอร์จะไม่สนใจว่าจะใช้ระบบปฏิบัติการใด แต่จะเลือกซอฟต์แวร์ประยุกต์ที่สามารถทำงานให้ได้ประโยชน์สูงสุดตามต้องการ แล้วจึงพิจารณาว่าซอฟต์แวร์นั้นทำงานบนระบบปฏิบัติการชนิดใด แต่ผู้ใช้บางกลุ่มก็เจาะจงเลือกใช้ระบบปฏิบัติการเอ็มเอสดอส เพราะมีซอฟต์แวร์ประยุกต์ให้เลือกใช้ได้มากมาย และผู้ใช้บางกลุ่มก็ต้องการใช้เครื่องแมคอินทอช เพราะมีระบบโต้ตอบผู้ใช้ที่ได้ง่ายและสวยงาม
o ระบบปฏิบัติการเอ็มเอสดอส (MS - DOS)
ผู้ใช้เครื่องคอมพิวเตอร์ในปัจจุบันนี้มักจะมีฮาร์ดดิสก์ติดอยู่ด้วยเสมอ เมื่อผู้ใช้เปิดเครื่องคอมพิวเตอร์ ระบบปฏิบัติการก็จะถูกเรียกจากฮาร์ดดิสก์มาไว้ในหน่วยความจำของเครื่องเพื่อเตรียมที่จะใช้งานได้ทันทีที่ต้องการ ขั้นตอนที่ย้ายระบบปฏิบัติการเข้าสู่หน่วยความจำของเครื่องนั้นเรียกว่าการบูตระบบ (booting) หรือ บูตแสตป (bootstrap) ซึ่งมีขั้นตอนคือเมื่อเปิดสวิทช์เครื่องคอมพิวเตอร์ขึ้น โปรแกรมเล็ก ๆ ที่อยู่ในหน่วยความจำรอม (ROM) จะเรียกเอาส่วนประกอบพื้นฐานที่จำเป็นของระบบปฏิบัติการจากฮาร์ดดิสก์เข้ามาไว้ในหน่วยความจำหลัก ซึ่งจะได้ผลลัพธ์บนจอภาพเป็น C > หรือ C:\ > โดยที่หมายถึงดิสก์ไดรฟ์ที่ทำงานอยู่ และเครื่องหมาย > หมายถึงการเตรียมพร้อมที่จะทำงาน (prompt) จากนั้นผู้ใช้ก็จะสามารถพิมพ์คำสั่งของเอ็มเอสดอสได้ทันที
2.ประเภทของระบบปฏิบัติการ
ประเภทของระบบปฏิบัติการ
ระบบปฏิบัติการที่ใช้กันโดยทั่วไปในปัจจุบัน อาจนำเอาไปใช้ได้กับคอมพิวเตอร์หลากหลายชนิด ตั้งแต่เครื่องคอมพิวเตอร์ระดับใหญ่จนถึงอุปกรณ์คอมพิวเตอร์พกพาขนาดเล็ก อาจแบ่งได้ออกเป็น 3 ชนิด คือ
- ระบบปฏิบัติการแบบเดี่ยว (stand-alone OS) เป็นระบบปฏิบัติการที่มุ่งเน้นและให้บริการสำหรับผู้ใช้เพียงคนเดียว(เจ้าของเครื่องนั้นๆ) นิยมใช้สำหรรรรรรับเครื่องคอมพิวเตอร์ที่ประมวลผลและทำงานแบบทั่วไป เช่น เครื่องคอมพิวเตอร์หรือสำนักงาน ซึ่งจะถูกติดตั้งระบบปฏิบัติการนี้ไว้ใช้รองรับการทำงานบางอย่าง เช่น พิมพ์รายงาน ดูหนังหรือเชื่อมต่อเข้ากับอินเทอร์เน็ต เป็นต้น ปัจจุบันพัฒนาให้มมมมีคุณสมบัติที่เป็นเครื่องลูกข่ายเพื่อขอรับบริการ จากเครื่องแม่ข่ายได้ด้วย
- ระบบปฏิบัติการแบบเครือข่าย (network OS) เป็นระบบการที่มุ่งเน้นและบริการสำหรับผู้ใช้หลายๆคน(multi-user) นิยมใช้สำหรับงานให้บริการและประมวลผลข้อมูลสำหรับเครือข่ายโดยเฉพาะ มักพบเห็นได้กับการนำไปใช้ในองค์กรธุรกิจทั่วไป เครื่องคอมพิวเตอร์ที่ติดตั้งระบบปฏิบัติการเหล่านี้จะเรียกว่า เครื่อง sever ซึ่งเป็นเสมือนเครื่องแม่ข่ายที่ให้บริการข้อมูลต่างๆ ที่จำเป็นสำหรับผุ้ใช้นั่นเอง
- ระบบปฏิบัติการแบบฝัง (embeded OS) เป็นระบบปฏิบัติการที่พบเห็นได้ในอุปกรณ์คอมพิวเตอร์พกพาขนาดเล็ก เช่น พีดีเอ หรือSmart phone บางรุ่น สามารถช่วยในการทำงานของอุปกรณ์แบบไม่ประจำที่เหล่านี้ได้เป็นอย่างดี เกิดขึ้นมาหลังสุดพร้อมๆกับที่อุปกรณ์คอมพิวเตอร์พกพาเหล่านี้ได้รับความนิยมมากขึ้น บางระบบมีคุณสมบัติที่ใกล้เคียงกับระบบปฏิบัติการแบบเดี่ยวด้วย เช่น รองรับการทำงานทั่วไป ดูหนัง ฟังเพลงหรือเชื่อมต่ออินเทอร์เน็ตได้
วันจันทร์ที่ 9 สิงหาคม พ.ศ. 2553
งานที่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 สำหรับ ความเร็วในการส่งถ่ายข้อมูลนั้น ก็ขึ้นอยู่กับชนิดของหน่วยความจำหลักด้วย ถ้าหน่วยความจำหลัก เป็นชนิด ที่เร็ว ก็จะยิ่งช่วยเพิ่มอัตราเร็วในการส่งถ่ายข้อมูลมากขึ้น ดังนี้
o EDO DRAM หรือ SDRAM PC 66 ได้ 528M/s
o SDRAM PC 100 ได้ 800M/s
o 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 )
1x 66 MHz 266
2x 133 MHz 533
4x 266 MHz 1,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 นี้
ารส่งถ่ายข้อมูลส่วนมากจะเป็นระหว่างไมโครโปรเซสเซอร์กับอุปกรณ์ภายนอกทั้งหมด โดยผ่านบัส ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่น การอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่ สามารถส่งผ่านมายังหน่วยความจำหลักได้โดยไม่ผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่า ขบวนการ 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 สำหรับ ความเร็วในการส่งถ่ายข้อมูลนั้น ก็ขึ้นอยู่กับชนิดของหน่วยความจำหลักด้วย ถ้าหน่วยความจำหลัก เป็นชนิด ที่เร็ว ก็จะยิ่งช่วยเพิ่มอัตราเร็วในการส่งถ่ายข้อมูลมากขึ้น ดังนี้
o EDO DRAM หรือ SDRAM PC 66 ได้ 528M/s
o SDRAM PC 100 ได้ 800M/s
o 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 )
1x 66 MHz 266
2x 133 MHz 533
4x 266 MHz 1,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 นี้
- บัสข้อมูล (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 สำหรับ ความเร็วในการส่งถ่ายข้อมูลนั้น ก็ขึ้นอยู่กับชนิดของหน่วยความจำหลักด้วย ถ้าหน่วยความจำหลัก เป็นชนิด ที่เร็ว ก็จะยิ่งช่วยเพิ่มอัตราเร็วในการส่งถ่ายข้อมูลมากขึ้น ดังนี้
o EDO DRAM หรือ SDRAM PC 66 ได้ 528M/s
o SDRAM PC 100 ได้ 800M/s
o 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 )
1x 66 MHz 266
2x 133 MHz 533
4x 266 MHz 1,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 นี้
ารส่งถ่ายข้อมูลส่วนมากจะเป็นระหว่างไมโครโปรเซสเซอร์กับอุปกรณ์ภายนอกทั้งหมด โดยผ่านบัส ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่น การอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่ สามารถส่งผ่านมายังหน่วยความจำหลักได้โดยไม่ผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่า ขบวนการ 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 สำหรับ ความเร็วในการส่งถ่ายข้อมูลนั้น ก็ขึ้นอยู่กับชนิดของหน่วยความจำหลักด้วย ถ้าหน่วยความจำหลัก เป็นชนิด ที่เร็ว ก็จะยิ่งช่วยเพิ่มอัตราเร็วในการส่งถ่ายข้อมูลมากขึ้น ดังนี้
o EDO DRAM หรือ SDRAM PC 66 ได้ 528M/s
o SDRAM PC 100 ได้ 800M/s
o 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 )
1x 66 MHz 266
2x 133 MHz 533
4x 266 MHz 1,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 นี้
ส่งงานครั้งที่1
รูปแบบในการส่งข้อมูล (transmission mode)
กลุ่ม 1
การส่งแบบขนาน (parallel transmission) คือการส่งข้อมูลพร้อมกันทีละหลาย ๆ บิตในหนึ่งรอบสัญญาณนาฬิกา โดยการส่งจะรวมบิต 0 และ 1 หลาย ๆ บิตเข้าเป็นกลุ่มจำนวน n บิต ผู้ส่งส่งครั้งละ n บิต ผู้รับจะรับครั้งละ n บิตเช่นกัน ซึ่งจะคล้ายกับเวลาที่เราพูดคุยเราจะพูดเป็นคำ ๆ ไม่พูดทีละตัวอักษร
กลไกการส่งข้อมูลแบบขนานใช้หลักการง่าย ๆ เมื่อส่งครั้งละ n บิต ต้องใ้ช้สาย n เส้น แต่ละบิตมีสายของตนเอง ในการส่งแต่ละครั้งทุกเส้นต้องใช้สัญญาณนาฬิกาอันเดียวกัน ทำให้สามารถส่งออกไปยังอุปกรณ์อื่นพร้อมกันได้
รูปแสดงการส่งข้อมูลแบบขนาน โดยให้ n=8 โดยทั่วไปแล้วปลายของสายทั้ง 2 ข้างจะถูกต่อด้วยคอนเน็กเตอร์ด้านละ 1 ตัว ข้อดีของการส่งข้อมูลแบบขนานคือ ความเร็ว เพราะส่งข้อมูลได้ครั้งละ n บิต ดังนั้น ความเร็วจึงเป็น n เท่าของการส่งแบบอนุกรม แต่ข้อเสียที่สำคัญคือ ค่าใช้จ่าย ทั้งนี้เพราะต้องใช้สายจำนวน n เส้น
ตัวอย่างการส่งข้อมูลแบบขนาน เช่น การส่งข้อมูลภายในระบบบัสของเครื่องคอมพิวเตอร์ หรือการส่งข้อมูลจากเครื่องคอมพิวเตอร์ไปยังเครื่องพิมพ์ (printer) เป็นต้น
กลุ่ม 2
การส่งข้อมูลแบบอนุกรม (serial transmission) จะใช้วิธีการส่งทีละ 1 บิตในหนึ่งรอบสัญญาณนาฬิกา ทำให้ดูเหมือนว่าบิตต่าง ๆ เรียงต่อเนื่องกันไป จากอุปกรณ์หนึ่งไปยังอีกอุปกรณ์หนึ่ง ดังรูป
ข้อดีของการส่งข้อมูลแบบอนุกรม คือการใช้ช่องทางการสื่อสารเพียง 1 ช่อง ทำให้ลดค่าใช้จ่ายลง แต่ข้อเสียคือ ความเร็วของการส่งที่ต่ำ ตัวอย่างของการส่งข้อมูลแบบอนุกรม เช่น โมเด็มจะใช้การส่งแบบอนุกรมเนื่องจากในสัญญาณโทรศัพท์มีสายสัญญาณเส้นเดียว และอีกเส้นหนึ่งเป็นสายดิน
กลุ่ม 3
การส่งข้อมูลแบบอะซิงโครนัส (asynchronous transmission) เป็นการส่งข้อมูลที่ผู้รับและผู้ส่งไม่ต้องใช้สัญญาณนาฬิกาเดียวกัน แต่ข้อมูลที่รับต้องถูกแปลตามรูปแบบที่ได้ตกลงกันไว้ก่อน เนื่องจากไม่ต้องใช้สัญญาณนาฬิกาเดียวกันทำให้ผู้รับไม่สามารถคาดการณ์ได้ว่าเมื่อใดจะมีข้อมูลส่งมาให้ ดังนั้นผู้ส่งจึงจำเป็นต้องแจ้งผู้รับให้ทราบว่าจะมีการส่งข้อมูลมาให้โดยการเพิ่มบิตพิเศษเข้ามาอีกหนึ่งบิต เอาไว้ก่อนหน้าบิตข้อมูล เรียกว่า บิตเริ่ม (start bit) โดยทั่วไปมักใช้บิต 0 และเพื่อให้ผู้รับทราบจุดสิ้นสุดของข้อมูลจึงต้องมีการเพิ่มบิตพิเศษอีกหนึ่งบิตเรียกว่าบิตจบ (stop bit) มักใช้บิต 1 นอกจากนี้แล้วการส่งข้อมูลแต่ละกลุ่มต้องมีช่องว่างระหว่างกลุ่ม โดยช่องว่างระหว่างไบต์อาจใช้วิธีปล่อยให้ช่องสัญญาณว่าง หรืออาจใช้กลุ่มของบิตพิเศษที่มีบิตจบก็ได้ รูปต่อไปนี้แสดงการส่งข้อมูลแบบอะซิงโครนัส ให้บิตเริ่มเป็นบิต 0 บิตจบเป็นบิต 1 และให้ช่องว่างแทนไม่มีการส่งข้อมูล (สายว่าง)
ข้อดีของการส่งข้อมูลแบบอะซิงโครนัส มี 2 ประการ คือ ค่าใช้จ่ายถูกและมีประสิทธิภาพ การส่งข้อมูลแบบนี้จะนำไปใช้ในการสื่อสารที่ต้องการใช้ความเร็วไม่สูงนัก ตัวอย่างเช่น การติดต่อระหว่างเครื่องคอมพิวเตอร์กับเครื่องปลายทาง (terminal) ที่โดยธรรมชาติแล้วเป็นการสื่อสารแบบอะซิงโครนัส เพราะผู้ใช้จะพิมพ์ทีละ 1 ตัวอักษรจากเครื่องปลายทางไปยังเครื่องคอมพิวเตอร์จึงไม่ต้องใช้ความเร็วสูงในการติดต่อสื่อสาร
กลุ่ม 4
การส่งข้อมูลแบบซิงโครนัส (synchronous transmission) เป็นการส่งบิต 0 และ 1 ที่ต่อเนื่องกันไปโดยไม่มีการแบ่งแยก ผู้รับต้องแยกบิตเหล่านี้ออกมาเป็นไบต์ หรือเป็นตัวอักษรเอง
จากภาพแสดงการส่งข้อมูลแบบซิงโครนัส ผู้ส่งทำการส่งบิตติดต่อกันยาว ๆ ถ้าผู้ส่งต้องการแบ่งช่วงกลุ่มข้อมูลก็ส่งกลุ่มบิต 0 หรือ 1 เพื่อแสดงสถานะว่าง เมื่อแต่บิตมาถึงผู้รับ ผู้ัรับจะนับจำนวนบิตแล้วจับกลุ่มของบิตให้เป็นไบต์ที่มี 8 บิต
การส่งข้อมูลแบบซิงโครนัสมีประสิทธิภาพสูงกว่าแบบอะซิงโครนัสมาก และทำให้มีการใช้ความสามารถของสายสื่อสารได้เกือบทั้งหมด ข้อดีของการส่งข้อมูลแบบซิงโครนัส คือความเร็วในการส่งข้อมูล ทั้งนี้เพราะไม่มีบิตพิเศษหรือช่องว่างที่ไม่ได้ถูกนำไปใช้เมื่อถึงผู้รับ จึงทำให้ความเร็วของการส่งข้อมูลแบบซิงโครนัสเร็วกว่าแบบอะซิงโครนัส ด้วยเหตุนี้จึงมีการนำไปใช้งานที่ต้องการความเร็วสูง เช่น การส่งข้อมูลระหว่างเครื่องคอมพิวเตอร์
กลุ่ม 5
การส่งข้อมูลแบบบัส (Bus Network) เป็นเครือข่ายที่เชื่อมต่อคอมพิวเตอร์และอุปกรณ์ต่าง ๆ ด้วยสายเคเบิลยาวต่อเนื่องไปเรื่อย ๆ โดยจะมีคอนเน็กเตอร์เป็นตัวเชื่อมต่อคอมพิวเตอร์ และอุปกรณ์เข้ากับสายเคเบิล ในการส่งข้อมูลจะมีคอมพิวเตอร์เพียงตัวเดียวเท่านั้นที่สามารถส่งข้อมูลได้ในช่วง เวลาหนึ่งๆ การจัดส่งข้อมูลวิธีนี้ จะต้องกำหนดวิธีการที่จะไม่ให้ทุกสถานีส่งข้อมูลพร้อมกัน เพราะจะทำ ให้ข้อมูลชนกัน วิธีการที่ใช้อาจแบ่งเวลาหรือให้แต่ละสถานีใช้ความถี่สัญญาณที่แตกต่างกัน การเซตอัป เครื่องเครือข่ายแบบบัสนี้ ทำได้ไม่ยาก เพราะว่าเครื่องคอมพิวเตอร์และอุปกรณ์แต่ละชนิด ถูกเชื่อมต่อด้วยสาย เคเบิลเพียงเส้นเดียวโดยส่วนใหญ่แล้วเครือข่ายแบบบัส มักจะใช้ในเครือข่ายขนาดเล็ก ซึ่งอยู่ในองค์กรที่มีคอมพิวเตอร์ใช้ไม่มากนัก
กลุ่ม 6 ระบบบัส
ระบบบัส
ระบบบัสเปนลายวงจรอิเล็กทรอนิกสทําหนาที่ในการรับสงขอมูลระหวางไมโครโปรเซสเซอรกับสวนอื่น ๆ ของคอมพิวเตอรผานระบบชุดของสายนําสัญญาณใหเช่นการสงผานขอมูลระหวาง LANcard กับ CPU เพื่อใหเครื่องคอมพิวเตอรของเราสามารถติดตอกับเครื่องอื่นในเครือข่ายไดอย่างไรก็ตาม
การสงขอมูลระหวางซีพียูกับแผนวงจรเหลานี้ถาหากแบนดวิดทตางกัน เชน ซีพียูมีขนาด 32 บิต แตการดมีบัสแค16 บิต จะทําใหทํางานไดชาลงเนื่องจากเกิดคอขวดในการสงผานขอมูล
นอกจากนั้นระบบบัสยังทําการโอนยายขอมูลจากอุปกรณหนึ่งไปอีกอุปกรณหนึ่ง เชน การ
Copy ขอมูลจาก Hard disk ลง Floppy Disk หรือการนําขอมูลจาก Hard disk ไปสูหนวยความจํา RAMก็ตองทําผานระบบบัสทั้งนั้น
กลุ่ม 7 address bus
address bus ช่องทางกำหนดตำแหน่ง ช่องทางอิเล็กทรอนิกส์ที่มักมีเส้นทางแยกันตั้งแต่ 20 ถึง 32 เส้น ใช้เพื่อส่งสัญญาณที่บอกตำแหน่งไว้ในหน่วยความจำ จำนวนเส้นทางในช่องทางกำหนดตำแหน่งจะกำหนดจำนวนตำแหน่งหน่วยความจำที่ โปรเซสเซอร์จะอ้างถึงได้
กลุ่ม 8
CONTROL BUS
บัสควบคุม (CONTROL BUS) เป็นบัสที่รับสัญญาณการควบคุมจากตัวซีพียูโดยบัสควบคุม เพื่อบังคับว่าจะอ่านข้อมูลเข้ามา หรือจะส่งข้อมูลออกไป จากตัวซีพียู โดยระบบภายนอกจะตอบรับต่อสัญญาณควบคุมนั้น
ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่น การอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่ สามารถส่งผ่านมายังหน่วยความจำหลักได้โดยไม่ผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่า ขบวนการ DMA (DIRECT MEMORY ACCESS)
กลุ่ม 9
PC AT bus
เมื่อครั้งที่ 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 สาเหตุที่ต้องมีการเปลี่ยนแปลงน่าจะเกิดจากข้อสังเกตุต่อไปนี้ PC AT นั้นใช้ CPU 80286 และเพิ่ม DMA controller และ interrupt controller เข้าไปอีกอย่างละตัว และมีวงจรพิเศษไว้สำหรับทำ refresh memory ซึ่งจะทำให้ DMA channel 0 ว่างไป ซึ่งการ refresh memory นั้น ใน AT จะใช้ AT bus เส้นพิเศษ 1 เส้นที่เรียกว่า REFRESH ซึ่งนำมาแทนที่การทำงานของ DMA channel 0 และใน AT นั้นสามารถทำการ cascade interrupt controller ได้ โดยการนำ interrupt controller ตัวต่อไปต่อเข้ามาที่ interrupt request 2 และใช้ interrupt request 9 ทำหน้าที่แทน interrupt request 2 และเมื่อ 80286 ทำการดำเนินการใน Real address mode ซึ่ง address space นั้นมีขนาดเล็กจำกัดไม่เกิน 1 MB เมื่อ AT ทำการ run CPU ของมันใน Real address mode มันจะใช้ original bus 62 เส้น ( เหมือนกับที่ PC ใช้ ) และถ้าเป็นกรณีที่ AT นั้นไม่ได้ run ใน Real address mode และgenerate address ที่มีขนาดใหญ่ มันจะใช้หน่วยความจำพิเศษทำการอ่าน และ เขียน control line อันใหม่ของ PC AT bus ในการที่จะบอกว่าเป็น address ขนาดใหญ่ โดยที่อุปกรณ์เหล่านี้จะถูกกำหนด address ได้ภายใน MB แรก เท่านั้น PC AT จะสามารถใช้ได้กับ card ที่ถูกออกแบบมาให้ใช้กับ PC แม้ว่า PC AT จะเป็น 16 บิต จึงทำให้ในการส่งข้อมูล 16 bit นั้นสามารถทำได้ภายในคราวเดียวและAT bus ก็มี control line พิเศษเพื่อการนี้โดยเฉพาะอยู่แล้ว มีหนึ่งเส้นของ control line ที่เพิ่มเข้ามาใน AT นั้นจะใช้เป็น zero wait state line (0WS) ซึ่ง IBM นั้นจะส่งสัญญาณใน line นี้ลงใน original PC bus เส้นที่ไม่ได้ใช้งานอะไร ดังนั้นในการผลิตอุปกรณ์นั้นจึงสามารถทำได้ทั้งcard 8 bit และ card 16 bit นอกจากนี้ยังมีอีกหนึ่งเส้นของ special control line ที่ใช้เป็นตัวชี้ว่าอุปกรณ์นั้นกำลังจะเริ่มทำการรับส่งข้อมูล 16 บิต ซึ่งใน line นี้นั้นอนุญาติให้ PC ระบุว่า card ที่ใช้นั้นเป็น card 8 bit หรือ 16 bit
กลุ่ม 1
การส่งแบบขนาน (parallel transmission) คือการส่งข้อมูลพร้อมกันทีละหลาย ๆ บิตในหนึ่งรอบสัญญาณนาฬิกา โดยการส่งจะรวมบิต 0 และ 1 หลาย ๆ บิตเข้าเป็นกลุ่มจำนวน n บิต ผู้ส่งส่งครั้งละ n บิต ผู้รับจะรับครั้งละ n บิตเช่นกัน ซึ่งจะคล้ายกับเวลาที่เราพูดคุยเราจะพูดเป็นคำ ๆ ไม่พูดทีละตัวอักษร
กลไกการส่งข้อมูลแบบขนานใช้หลักการง่าย ๆ เมื่อส่งครั้งละ n บิต ต้องใ้ช้สาย n เส้น แต่ละบิตมีสายของตนเอง ในการส่งแต่ละครั้งทุกเส้นต้องใช้สัญญาณนาฬิกาอันเดียวกัน ทำให้สามารถส่งออกไปยังอุปกรณ์อื่นพร้อมกันได้
รูปแสดงการส่งข้อมูลแบบขนาน โดยให้ n=8 โดยทั่วไปแล้วปลายของสายทั้ง 2 ข้างจะถูกต่อด้วยคอนเน็กเตอร์ด้านละ 1 ตัว ข้อดีของการส่งข้อมูลแบบขนานคือ ความเร็ว เพราะส่งข้อมูลได้ครั้งละ n บิต ดังนั้น ความเร็วจึงเป็น n เท่าของการส่งแบบอนุกรม แต่ข้อเสียที่สำคัญคือ ค่าใช้จ่าย ทั้งนี้เพราะต้องใช้สายจำนวน n เส้น
ตัวอย่างการส่งข้อมูลแบบขนาน เช่น การส่งข้อมูลภายในระบบบัสของเครื่องคอมพิวเตอร์ หรือการส่งข้อมูลจากเครื่องคอมพิวเตอร์ไปยังเครื่องพิมพ์ (printer) เป็นต้น
กลุ่ม 2
การส่งข้อมูลแบบอนุกรม (serial transmission) จะใช้วิธีการส่งทีละ 1 บิตในหนึ่งรอบสัญญาณนาฬิกา ทำให้ดูเหมือนว่าบิตต่าง ๆ เรียงต่อเนื่องกันไป จากอุปกรณ์หนึ่งไปยังอีกอุปกรณ์หนึ่ง ดังรูป
ข้อดีของการส่งข้อมูลแบบอนุกรม คือการใช้ช่องทางการสื่อสารเพียง 1 ช่อง ทำให้ลดค่าใช้จ่ายลง แต่ข้อเสียคือ ความเร็วของการส่งที่ต่ำ ตัวอย่างของการส่งข้อมูลแบบอนุกรม เช่น โมเด็มจะใช้การส่งแบบอนุกรมเนื่องจากในสัญญาณโทรศัพท์มีสายสัญญาณเส้นเดียว และอีกเส้นหนึ่งเป็นสายดิน
กลุ่ม 3
การส่งข้อมูลแบบอะซิงโครนัส (asynchronous transmission) เป็นการส่งข้อมูลที่ผู้รับและผู้ส่งไม่ต้องใช้สัญญาณนาฬิกาเดียวกัน แต่ข้อมูลที่รับต้องถูกแปลตามรูปแบบที่ได้ตกลงกันไว้ก่อน เนื่องจากไม่ต้องใช้สัญญาณนาฬิกาเดียวกันทำให้ผู้รับไม่สามารถคาดการณ์ได้ว่าเมื่อใดจะมีข้อมูลส่งมาให้ ดังนั้นผู้ส่งจึงจำเป็นต้องแจ้งผู้รับให้ทราบว่าจะมีการส่งข้อมูลมาให้โดยการเพิ่มบิตพิเศษเข้ามาอีกหนึ่งบิต เอาไว้ก่อนหน้าบิตข้อมูล เรียกว่า บิตเริ่ม (start bit) โดยทั่วไปมักใช้บิต 0 และเพื่อให้ผู้รับทราบจุดสิ้นสุดของข้อมูลจึงต้องมีการเพิ่มบิตพิเศษอีกหนึ่งบิตเรียกว่าบิตจบ (stop bit) มักใช้บิต 1 นอกจากนี้แล้วการส่งข้อมูลแต่ละกลุ่มต้องมีช่องว่างระหว่างกลุ่ม โดยช่องว่างระหว่างไบต์อาจใช้วิธีปล่อยให้ช่องสัญญาณว่าง หรืออาจใช้กลุ่มของบิตพิเศษที่มีบิตจบก็ได้ รูปต่อไปนี้แสดงการส่งข้อมูลแบบอะซิงโครนัส ให้บิตเริ่มเป็นบิต 0 บิตจบเป็นบิต 1 และให้ช่องว่างแทนไม่มีการส่งข้อมูล (สายว่าง)
ข้อดีของการส่งข้อมูลแบบอะซิงโครนัส มี 2 ประการ คือ ค่าใช้จ่ายถูกและมีประสิทธิภาพ การส่งข้อมูลแบบนี้จะนำไปใช้ในการสื่อสารที่ต้องการใช้ความเร็วไม่สูงนัก ตัวอย่างเช่น การติดต่อระหว่างเครื่องคอมพิวเตอร์กับเครื่องปลายทาง (terminal) ที่โดยธรรมชาติแล้วเป็นการสื่อสารแบบอะซิงโครนัส เพราะผู้ใช้จะพิมพ์ทีละ 1 ตัวอักษรจากเครื่องปลายทางไปยังเครื่องคอมพิวเตอร์จึงไม่ต้องใช้ความเร็วสูงในการติดต่อสื่อสาร
กลุ่ม 4
การส่งข้อมูลแบบซิงโครนัส (synchronous transmission) เป็นการส่งบิต 0 และ 1 ที่ต่อเนื่องกันไปโดยไม่มีการแบ่งแยก ผู้รับต้องแยกบิตเหล่านี้ออกมาเป็นไบต์ หรือเป็นตัวอักษรเอง
จากภาพแสดงการส่งข้อมูลแบบซิงโครนัส ผู้ส่งทำการส่งบิตติดต่อกันยาว ๆ ถ้าผู้ส่งต้องการแบ่งช่วงกลุ่มข้อมูลก็ส่งกลุ่มบิต 0 หรือ 1 เพื่อแสดงสถานะว่าง เมื่อแต่บิตมาถึงผู้รับ ผู้ัรับจะนับจำนวนบิตแล้วจับกลุ่มของบิตให้เป็นไบต์ที่มี 8 บิต
การส่งข้อมูลแบบซิงโครนัสมีประสิทธิภาพสูงกว่าแบบอะซิงโครนัสมาก และทำให้มีการใช้ความสามารถของสายสื่อสารได้เกือบทั้งหมด ข้อดีของการส่งข้อมูลแบบซิงโครนัส คือความเร็วในการส่งข้อมูล ทั้งนี้เพราะไม่มีบิตพิเศษหรือช่องว่างที่ไม่ได้ถูกนำไปใช้เมื่อถึงผู้รับ จึงทำให้ความเร็วของการส่งข้อมูลแบบซิงโครนัสเร็วกว่าแบบอะซิงโครนัส ด้วยเหตุนี้จึงมีการนำไปใช้งานที่ต้องการความเร็วสูง เช่น การส่งข้อมูลระหว่างเครื่องคอมพิวเตอร์
กลุ่ม 5
การส่งข้อมูลแบบบัส (Bus Network) เป็นเครือข่ายที่เชื่อมต่อคอมพิวเตอร์และอุปกรณ์ต่าง ๆ ด้วยสายเคเบิลยาวต่อเนื่องไปเรื่อย ๆ โดยจะมีคอนเน็กเตอร์เป็นตัวเชื่อมต่อคอมพิวเตอร์ และอุปกรณ์เข้ากับสายเคเบิล ในการส่งข้อมูลจะมีคอมพิวเตอร์เพียงตัวเดียวเท่านั้นที่สามารถส่งข้อมูลได้ในช่วง เวลาหนึ่งๆ การจัดส่งข้อมูลวิธีนี้ จะต้องกำหนดวิธีการที่จะไม่ให้ทุกสถานีส่งข้อมูลพร้อมกัน เพราะจะทำ ให้ข้อมูลชนกัน วิธีการที่ใช้อาจแบ่งเวลาหรือให้แต่ละสถานีใช้ความถี่สัญญาณที่แตกต่างกัน การเซตอัป เครื่องเครือข่ายแบบบัสนี้ ทำได้ไม่ยาก เพราะว่าเครื่องคอมพิวเตอร์และอุปกรณ์แต่ละชนิด ถูกเชื่อมต่อด้วยสาย เคเบิลเพียงเส้นเดียวโดยส่วนใหญ่แล้วเครือข่ายแบบบัส มักจะใช้ในเครือข่ายขนาดเล็ก ซึ่งอยู่ในองค์กรที่มีคอมพิวเตอร์ใช้ไม่มากนัก
กลุ่ม 6 ระบบบัส
ระบบบัส
ระบบบัสเปนลายวงจรอิเล็กทรอนิกสทําหนาที่ในการรับสงขอมูลระหวางไมโครโปรเซสเซอรกับสวนอื่น ๆ ของคอมพิวเตอรผานระบบชุดของสายนําสัญญาณใหเช่นการสงผานขอมูลระหวาง LANcard กับ CPU เพื่อใหเครื่องคอมพิวเตอรของเราสามารถติดตอกับเครื่องอื่นในเครือข่ายไดอย่างไรก็ตาม
การสงขอมูลระหวางซีพียูกับแผนวงจรเหลานี้ถาหากแบนดวิดทตางกัน เชน ซีพียูมีขนาด 32 บิต แตการดมีบัสแค16 บิต จะทําใหทํางานไดชาลงเนื่องจากเกิดคอขวดในการสงผานขอมูล
นอกจากนั้นระบบบัสยังทําการโอนยายขอมูลจากอุปกรณหนึ่งไปอีกอุปกรณหนึ่ง เชน การ
Copy ขอมูลจาก Hard disk ลง Floppy Disk หรือการนําขอมูลจาก Hard disk ไปสูหนวยความจํา RAMก็ตองทําผานระบบบัสทั้งนั้น
กลุ่ม 7 address bus
address bus ช่องทางกำหนดตำแหน่ง ช่องทางอิเล็กทรอนิกส์ที่มักมีเส้นทางแยกันตั้งแต่ 20 ถึง 32 เส้น ใช้เพื่อส่งสัญญาณที่บอกตำแหน่งไว้ในหน่วยความจำ จำนวนเส้นทางในช่องทางกำหนดตำแหน่งจะกำหนดจำนวนตำแหน่งหน่วยความจำที่ โปรเซสเซอร์จะอ้างถึงได้
กลุ่ม 8
CONTROL BUS
บัสควบคุม (CONTROL BUS) เป็นบัสที่รับสัญญาณการควบคุมจากตัวซีพียูโดยบัสควบคุม เพื่อบังคับว่าจะอ่านข้อมูลเข้ามา หรือจะส่งข้อมูลออกไป จากตัวซีพียู โดยระบบภายนอกจะตอบรับต่อสัญญาณควบคุมนั้น
ไมโครโพรเซสเซอร์ไม่ใช่จะควบคุมการทำงานของบัสทั้งหมด บางกรณีในการส่งถ่ายข้อมูลภายนอกด้วยกันเอง ผ่านบัสได้เป็นกรณีพิเศษเหมือนกัน เช่น การอ่านข้อมูลจากหน่วยความจำสำรองขนาดใหญ่ สามารถส่งผ่านมายังหน่วยความจำหลักได้โดยไม่ผ่านไมโครโพรเซสเซอร์เลย ก็โดยการใช้ขบวนการที่เรียกว่า ขบวนการ DMA (DIRECT MEMORY ACCESS)
กลุ่ม 9
PC AT bus
เมื่อครั้งที่ 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 สาเหตุที่ต้องมีการเปลี่ยนแปลงน่าจะเกิดจากข้อสังเกตุต่อไปนี้ PC AT นั้นใช้ CPU 80286 และเพิ่ม DMA controller และ interrupt controller เข้าไปอีกอย่างละตัว และมีวงจรพิเศษไว้สำหรับทำ refresh memory ซึ่งจะทำให้ DMA channel 0 ว่างไป ซึ่งการ refresh memory นั้น ใน AT จะใช้ AT bus เส้นพิเศษ 1 เส้นที่เรียกว่า REFRESH ซึ่งนำมาแทนที่การทำงานของ DMA channel 0 และใน AT นั้นสามารถทำการ cascade interrupt controller ได้ โดยการนำ interrupt controller ตัวต่อไปต่อเข้ามาที่ interrupt request 2 และใช้ interrupt request 9 ทำหน้าที่แทน interrupt request 2 และเมื่อ 80286 ทำการดำเนินการใน Real address mode ซึ่ง address space นั้นมีขนาดเล็กจำกัดไม่เกิน 1 MB เมื่อ AT ทำการ run CPU ของมันใน Real address mode มันจะใช้ original bus 62 เส้น ( เหมือนกับที่ PC ใช้ ) และถ้าเป็นกรณีที่ AT นั้นไม่ได้ run ใน Real address mode และgenerate address ที่มีขนาดใหญ่ มันจะใช้หน่วยความจำพิเศษทำการอ่าน และ เขียน control line อันใหม่ของ PC AT bus ในการที่จะบอกว่าเป็น address ขนาดใหญ่ โดยที่อุปกรณ์เหล่านี้จะถูกกำหนด address ได้ภายใน MB แรก เท่านั้น PC AT จะสามารถใช้ได้กับ card ที่ถูกออกแบบมาให้ใช้กับ PC แม้ว่า PC AT จะเป็น 16 บิต จึงทำให้ในการส่งข้อมูล 16 bit นั้นสามารถทำได้ภายในคราวเดียวและAT bus ก็มี control line พิเศษเพื่อการนี้โดยเฉพาะอยู่แล้ว มีหนึ่งเส้นของ control line ที่เพิ่มเข้ามาใน AT นั้นจะใช้เป็น zero wait state line (0WS) ซึ่ง IBM นั้นจะส่งสัญญาณใน line นี้ลงใน original PC bus เส้นที่ไม่ได้ใช้งานอะไร ดังนั้นในการผลิตอุปกรณ์นั้นจึงสามารถทำได้ทั้งcard 8 bit และ card 16 bit นอกจากนี้ยังมีอีกหนึ่งเส้นของ special control line ที่ใช้เป็นตัวชี้ว่าอุปกรณ์นั้นกำลังจะเริ่มทำการรับส่งข้อมูล 16 บิต ซึ่งใน line นี้นั้นอนุญาติให้ PC ระบุว่า card ที่ใช้นั้นเป็น card 8 bit หรือ 16 bit
สมัครสมาชิก:
บทความ (Atom)