วันพุธที่ 22 กรกฎาคม พ.ศ. 2552

วิวัฒนาการของ Intel

รุ่น 80486
ความจริงก็คือ 80386 รุ่นปรับปรุงนั้นเองโดยได้เพิ่มตัวประมวลผลทางคณิตศาสตร์ (Math co-processor) เพิ่มหน่วยความจำ Cache ภายใน CPU ทำให้ 80486 ทำงานได้เร็วขึ้นอย่างเห็นได้ชัด และได้เพิ่มการทำงานที่เรียกว่าpipeliningเข้าไป แต่เนื่องจากว่า 80486 ที่มี math co-processor มีราคาค่อนข้างสูง Intel จึงได้ออก CPU 80486SX ซึ่ง ได้ถอด math co-processor ออก ( ตัว 80486 ที่มี math co-processor เรียกว่า 80486DX) ทำให้มีราคาถูกลง ตัว 80486 เองได้มีการปรับปรุงขึ้นมาอีกขั้นขึ้นการทำงานในลักษณะที่เรียกว่า Clock doubling คือ เป็นการเพิ่ม Speed ของ Clock ให้สูงขึ้น เช่น 80486DX/2 ทำงาน Clock speed 40/50/60 MHz 80486DX4 ทำงานที่ Clock speed 100 MHz เป็นต้น จากการที่ Clock speed สูงขึ้น บวกกับการที่ได้เพิ่มอุปกรณ์บางอย่างเช่น หน่วยความจำแคชที่มากขึ้น ทำให้ CPU รุ่นนี้ได้รับความนิยมอยู่เป็นเวลานาน และทำให้มีบริษัทอื่น นอกจาก Intel เริ่มเข้ามาผลิต CPU สำหรับ PC ออกมาแข่งขันกัน ได้แก่ Cylix และ AMD เป็นต้น โดยในรุ่น80486นี้ได้มีการเริ่มใช้ระบบที่เรียกว่า pipeliningในCPU
Pipelining
เทคนิค Pipelining หรือที่เรียกว่า Instruction Pipelining เป็นกระบวนการทำงานของโปรเซสเซอร์ที่สามารถ อ้างอิงแอดเดรสปลายทางได้อย่างต่อเนื่อง โดยไม่ต้องการรอให้ข้อมูลที่กำลังมองหาอยู่นั้น ถูกจัดการเสร็จสิ้นเสียก่อน จึงค่อยอ้างอิงแอดเดรสต่อไป หรือพูดง่ายๆ ก็คือ ขณะที่ข้อมูลกำลังเดินทางมายังโปรเซสเซอร์นั้น ตัวโปรเซสเซอร์สามารถปลดปล่อยแอดเดรสชุดต่อไป อย่างไม่รอช้า โดยไม่ต้องรอให้ข้อมูลวิ่งมาถึงตนเองเสียก่อน
ลักษณะนี้ จะเห็น แผนกอ้างอิงแอดเดรส ก็ทำงานของมันไป ขณะที่ข้อมูลกำลังเดินทางเข้ามา พร้อมกับข้อมูลที่เดินทางมาก่อนหน้านี้ ได้รับการจัดการในเวลาเดียวกัน
Pentium
เนื่องจากเริ่มมีบริษัทอื่นๆ ผลิต CPU สำหรับ PC ออกมาแข่งขันกับ Intel จึงทำให้ CPU รุ่นถัดมาของ Intel ไม่ใช้ชื่อเรียกเป็นหมายเลข ใช้เป็นชื่ออื่นแทน หลายท่านคงมีความเข้าใจ Pentium เป็น CPU ขนาด 64 บิต แต่จริงๆ แล้วไม่ใช่ เนื่องจาก Pentium จะออกแบบมาคล้ายๆ กับใช้ 80486 สองตัวทำงานคู่ขนานกัน ทำให้กลไกการทำงานทั้งภายในและนอกตัว CPU เป็น 64 บิตไปโดยปริยาย CPU ของค่ายอื่นที่ออกมาในช่วงนี้ ก็มี AMD K5, Cylix 6x86 ซึ่งได้มีการเพิ่มความสามารถที่เรียกว่า Superscalar
Superscalar

โปรเซสเซอร์ที่มีมาในอดีต จะใช้จักรกลของการคำนวณและจัดการกับคำสั่ง เพียงชุดเดียวเท่านั้น ถึงแม้ว่า โปรเซสเซอร์ดังกล่าว จะสามารถทำงานในระบบ Pipelining ก็ตาม ลักษณะนี้ตัวโปรเซสเซอร์จะสามารถสร้างผลลัพธ์ ต่อหนึ่งชุดคำสั่งที่ได้รับด้วยเวลา คิดเป็น Clock Cycle จำนวนหนึ่ง แต่ด้วยการเพิ่มชุดของจักรกลการคำนวณและการจัดการ เข้าไปหลายๆชุด จะทำให้โปรเซสเซอร์สามารถจัดการกับคำสั่ง ได้มากกว่า 1 คำสั่งขึ้นไป ต่อหนึ่ง Clock Cycle ด้วยวิธีการ เช่นนี้ ทำให้โปรเซสเซอร์ Pentium ที่ถูกจัดว่า เป็นสถาปัตยกรรมแบบ Superscalar สามารถจัดการกับคำสั่ง ได้ถึง 2 คำสั่งภายในหนึ่งลูกคลื่นสัญญาณนาฬิกาเท่านั้น ซึ่งผิดกับ 80486 CPU ที่จะต้องใช้เวลาถึง 2 ลูกคลื่นสัญญาณนาฬิกา เพียงเพื่อจัดการกับ 1 คำสั่งเท่านั้น
Pentium PRO
เป็นรุ่นที่พัฒนาต่อจากPentium ซึ่งได้มีการเพิ่มประสิทธิภาพของ Superscalar ให้ดีขึ้นและได้มีการเปลี่ยนชื่อของRegister และที่สำคัญที่สุดคือการเพิ่มเทคโนโลยี Dynamic Executionซึ่งประกอบไปด้วย
- branch prediction
- data flow analysis
- speculative execution
Branch Prediction
เป็นวิธีการทำนายการไหลของโปรแกรมโดยการใช้ Branches หลายแขนง ( ในบางครั้งก็มีความเป็นไปได้ที่จะพยากรณ์แอดเดรสเป้าหมายของ Branch เงื่อนไข โดยอาศัยลักษณะพิเศษของการ Execute คำสั่ง ตัวอย่าง เช่น แอดเดรสเป้าหมาย ของ Branch Instruction ที่ควบคุม การทำงานลักษณะย้ำแบบ Loop นั้น หากคล้ายกับแอดเดรสของคำสั่งแรกใน Loop ก็จะทำการดึงออกมาใช้งานพร้อมกันแบบ Pipeline ได้ทันที) ซึ่งการใช้กรรมวิธี Multiple Branch จะช่วยให้การทำนายตำแหน่งของข้อมูลคำสั่งที่จะเข้าไปดึงออกมาได้รวดเร็วยิ่งขึ้น โดยสามารถพยากรณ์ได้ว่า คำสั่งต่อไปที่โปรเซสเซอร์ต้องการจะนำมาจัดการนั้น อยู่ ณ ที่ใดของหน่วยความจำ ด้วยประสิทธิภาพสูงถึง 90% ซึ่งสามารถทำได้ เนื่องจากขณะที่โปรเซสเซอร์กำลัง ดึงคำสั่งจากหน่วยความจำอยู่นั้น มันจะมองคำสั่งชุดต่อไป จากโปรแกรมแบบล่วงหน้า ซึ่งลักษณะนี้จะช่วยให้เกิดการเร่งการไหลของงานสู่โปรเซสเซอร์ ได้อย่างมีประสิทธิภาพมากยิ่งขึ้น
Data Flow Analysis
เป็นวิธีการวิเคราะห์และสร้างหมายกำหนดการสำหรับคำสั่งที่ต้องการจะนำมาจัดการแบบมีลำดับ ที่เหมาะสม โดยไม่จำเป็นต้องขึ้นอยู่กับโปรแกรมที่กำลังติดต่ออยู่
โดยวิธีการ Data Flow Analysis นี้ ตัวโปรเซสเซอร์จะมองไปที่ รหัสคำสั่งทาง Software ที่ถูกถอดออกมาแล้ว ว่า เป็นชุดคำสั่งหรือข้อมูลที่พร้อมแล้วสำหรับการ Execute จัดการโดยโปรเซสเซอร์ หรือว่า เป็นเพียงรหัสคำสั่ง ที่ต้องพึ่งพาอาศัยคำสั่งหลักอื่นๆ ที่ยังไม่พร้อมที่จะให้โปรเซสเซอร์นำไปจัดการ ทำให้โปรเซสเซอร์สามารถจัดลำดับของคำสั่ง หรือข้อมูลที่จะนำมา Execute จัดการได้อย่างเหมาะสม และเป็นไปตามจังหวะจะโคน
Speculative Execution
เป็นวิธีการเพิ่มอัตราของการ Execution หรือการจัดการกับคำสั่งที่มีประสิทธิภาพ โดยใช้หลักการมองไปข้างหน้าที่โปรแกรม เคาน์เตอร์ (Program Counter) โดยที่ Program Counter หรือ PC จะทำหน้าที่สร้างแอดเดรสที่ต้องการจะ Execute สำหรับรอบต่อไปของโปรเซสเซอร์ พูดง่ายๆก็คือ ขณะที่โปรเซสเซอร์กำลังจะปลดปล่อยแอดเดรสออกไปที่ปลายทางนั้น มันจะเตรียมการป้อนค่าแอดเดรสถัดไป ที่มันต้องการใช้ในโปรแกรม เคาน์เตอร์แบบล่วงหน้า ทำให้ประหยัดเวลา ไม่ต้องรอคอย และสามารถส่ง แอดเดรสไปยังเป้าหมายทีเดียวถึง 5 ตำแหน่งแอดเดรสในเวลาเดียวกัน ทำให้เกิดกระแสของข้อมูล และ แอดเดรสไปกลับระหว่างโปรเซสเซอร์ และเป้าหมายอย่างต่อเนื่อง
Pentium MMX, AMD K6 3DNOW, Cylix 6X86MX
ก็คือ Pentium ที่เพิ่มความสามารถในเชิงมัลติมิเดีย ( MMX สำหรับ Pentium, 3DNOW สำหรับ AMD) และนอกจากนี้ยังได้เพิ่ม หน่วยความจำแคช Level 2 เข้ามาในตัว CPU มากน้อยแตกต่างกันในแต่ละค่าย ซึ่งได้มีการเพิ่มเทคโนโลยีใหม่ที่ชื่อว่าSIMD (Single Instruction Multiple Data )
SIMD (Single Instruction Multiple Data )
เป็นเทคโนโลยีที่ทำให้คำสั่งเดี่ยวๆ เพียงคำสั่งหนึ่ง สามารถใช้กับข้อมูลได้หลายๆชุดพร้อมกัน ในเวลาเดียวกัน ซึ่งตรงนี้เป็นข้อดี ถ้าหากจะต้องเกี่ยวข้องกับการปฏิบัติงานแบบซ้ำๆกันบน ชุดของข้อมูลที่แตกต่างกัน ตัวอย่างของการทำงานประเภทนี้ ได้แก่การแปลงข้อมูลสำหรับการสร้างภาพที่มีด้านหลายๆด้าน (Polygon) ในทางคณิตศาสตร์ ให้เป็นภาพ Polygon แบบ 3D บนจอภาพ ซึ่งปกติกระบวนการนี้ จะต้องใช้การคำนวณทางคณิตศาสตร์ที่ค่อนข้างซับซ้อน
Pentium II
Celeron, PentiumII, Pentium III จะมีการเพิ่มส่วนขยาย MMX ออกไป ปรับสถาปัตยกรรมภายในใหม่ ทำให้มีการประมวลผลในเชิงจุดทศนิยมได้ละเอียดและถูกต้องมากขึ้น เพิ่มความสามารถในเชิง 3 มิติเข้าไป ส่วน Celeron จะมีคุณสมบัติอื่นๆ เหมือนกับ Pemtium เพียงแต่ตัด L2 ( หน่วยความจำแคช ระดับ 2) ออกไปให้น้อยกว่า หรือไม่มีเลยในบางรุ่น ส่วน CPU ของค่ายอื่นๆ ก็ปรับปรุงขึ้นเป็น AMD K6, AMD K7 ตามลำดับ นอกจากนี้ CPU ในตระกูลเหล่านี้ยังสามารถทำงานกับ Clock speed สูงๆ ได้ 600 - 700 MHz เลยที่เดียว (แล้วแต่รุ่นของ CPU)
Pentium III
รุ่นแรก มีสถาปัตยกรรมแบบเดียวกับ Pentium แต่เพิ่มชุดคำสั่งที่ใช้ในการประมวลผล Multimedia เข้าไปที่เรียกว่า KNI หรือ MMX2 หรือ SSE (Steamming SIMD Extension) และมีการลดขนาด แคช จาก 512 KB เป็น 256 KB ทำงานที่ความเร็วเดียวกับ CPU โดยในปัจจุบัน Pentium III จะถูกแบ่งออกเป็นหลายรุ่นโดยจะมีรหัส E และ B ต่อท้าย โดย E มีความหมายว่าเป็น CPU ที่ใช้สถาปัตยกรรม 0.18 Micron ซึ่งจากเดิมจะเป็นแบบ 0.25 Micron ส่วน B มีความหมายว่า เป็น CPU ที่ใช้ Bus 133 MHz ซึ่ง CPU ในรุ่นนี้ยังได้มีการเปลี่ยนแปลงสถาปัตยกรรมบางอย่าง เพื่อเพิ่มประสิทธิภาพของ CPU ให้สูงขึ้นกว่าเดิม และใช้ Packet แบบ FCPGA
Pentium IV
Pentium 4 เป็น CPU รุ่นล้าสุดซึ่งสนับสนุนความเร็ว Bus ที่ 400 MHz และมีการเพิ่มชุดคำสั่งใหม่เข้าไปที่เรียกว่า SSE2 ซึ่งทำให้ประสิทธิภาพในการประมวลผล Multimedia ดีขึ้น
Itanium
Itanium หรือ เดิมชื่อ Merced ซึ่งเป็น CPU สำหรับ Server หรือ Workstation Itanium นี้ มี Transistor อย่ 2.5 ล้านตัว บรรจุอยู่ใน Cartridge ซึ่งจะมีการรวมเอา Cache ระดับ 3 ขนาด 4 M เข้าไว้ด้วย แถมยังมีการนิยาม คุณสมบัติใหม่อีก คือ BSB หรือ Back-Side Bus ซึ่งจะทำให้ Cache
ระดับ 3 นั้น สามารถทำงานด้วยความเร็วเท่าๆ กับ CPU ได้เลย แม้ว่าจะ ไม่ได้อยู่บนแผ่น Die เดียวกันกับ CPส่วน FSB หรือ Front-Side Bus นั้นจะใช้ระดับ 266 ล้าน Transfers per Second ซึ่งจะมากเป็นเท่าตัว ของ Bus 133 MHz on ซึ่งCPUรุ่นนี้ประมวลผลทีละ64 bit
SledgeHammer
SledgeHammer หรือมีชื่อเป็นทางการว่า Opteron ซึ่งจะเป็นซีพียูในระดับไฮเอนด์สำหรับเซิร์ฟเวอร์และเวิร์กสเตชั่นที่ต้องการความเร็วสูงเป็นพิเศษ SledgeHammer เป็น CPU 64 Bit แต่จะสนับสนุนการทำงานของ CPU มากกว่า 2 ตัวขึ้นไป
Sledgehammer มีรีจีสเตอร์สำหรับคำนวนเลขทศนิยม 16 ตัว มีรีจีสเตอร์สำหรับงานทั่วไป (General-purpose register GPR) 16 ตัว มีแคช L1 128KB L2 512 - 2MB เป็น CPU แบบ socket A ใช้ Mainboard ที่มี Clock Speed 266 MHz และออกแบบวงจรขนาด 0.13 ไมครอน และใช้การเชื่อมต่อโดยทองแดง

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

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