หน่วยประมวลผล (processor)

ทำไม Intel , AMD , Cyrix , IDT ผู้พัฒนาซีพียูต่างก็ต้องมีการประกาศตัวซีพียูใหม่ๆ และชิงกันพัฒนาเทคโนโลยีการประมวลผลใหม่ๆ เสมอ?

ย้อนกลับไปปี 1946 คอมพิวเตอร์ยุคแรกที่มีชื่อที่พอจะจำได้ก็คือ ENIVAC นั้นทำงานโดยใช้หลอดไดโอด ซึ่งสถานะการทำงานของหลอดพวกนี้ มีสองอย่าง คือ 1 กับ 0 จะมีค่าเป็น 1 เมื่อมีกระแสไหลผ่านและเป็น 0 เมื่อไม่มีกระแสไหลผ่าน นั่นจึงเป็นเหตุผลให้คอมพิวเตอร์ใช้เลขฐาน 2 (ประกอบด้วยเลข 0 1 สองตัว!)ในการคำนวณ ครั้นต่อมาวิทยาการก้าวหน้าขึ้นเรื่อยๆ จากหลอดไดโอดก็พัฒนาเป็นทรานซิสเตอร์ และจากทรานซิสเตอร์พัฒนา<เป็นวงจรรวม ซึ่งรู้จักในชื่อของ ไอซี (IC = Integrated Circuit) และในที่สุดก็พัฒนาเป็นชิป ที่เรียกว่าพัฒนาเป็นชิพนั้นคือ พัฒนาให้วงจรก็รวมอยู่บนแผ่นเวเฟอร์ การพัฒนาโดยเอา IC ไปวางบนเวเฟอร์นั้น เรียกแต่ละชิ้นที่ใช้เป็นซีพียูได้ว่าชิป

สิ่งที่ผู้ผลิตซีพียูพยายามเพิ่มก็คือ ประสิทธิภาพในการประมวลผลของซีพียู เมื่อกล่าวถึงซีพียูและการประมวลผล สิ่งหนึ่งที่ต้องเข้าใจคือภายในซีพียูไม่มีหน่วยเก็บข้อมูลสำหรับเก็บข้อมูลปริมาณมากๆ และซีพียูในยุคแรกๆ ก็ไม่มีแคช (Cache = หน่วยความจำภายในตัวซีพียูสำหรับพักข้อมูล คำสั่งที่ถูกเรียกใช้งานบ่อยๆ) ด้วยซ้ำไป ปัจจัยที่มีผลต่อความเร็วของซีพียูก็คือ ความเร็วในการประมวลผลและความเร็วในการโอนย้ายข้อมูล ซีพียูรุ่นแรก ประมวลผลด้วยความเร็ว 4.77 MHz และมีบัสซีพียู (CPU BUS) ความกว้าง 8 บิต เรียกว่า ซีพียู 8 บิต (Intel 8080 8088) ระหว่างการทำงานซีพียูเคลื่อนย้ายข้อมูลครั้งละ 1 ไบต์ (1 ไบต์ = 8 บิต) ยุคต่อมาจึงประมวลได้ครั้งละ 16 บิต 32 บิต และ 64 บิต ปัจจุบันซีพียูรุ่นใหม่ๆ ประมวลผลข้อมูลครั้งละ 128 บิต การประมวลผล จะมีกระบวนการ คือ นำข้อมูลเข้า เรียกว่าค่าอินพุท (Input) ซึ่งอาจจะมีมากกว่า 2 ค่า ก็ได้ หลังจากนั้น จะมีการดำเนินการทางคณิตศาสตร์ หรือทางตรรกะกับข้อมูลเหล่านั้น ทำให้ได้ผลลัพธ์ออกมาเป็น เอาท์พุท (Output) ความเร็วในการประมวลผลทั้งกระบวนการนั้น ขึ้นอยู่กับสัญญาณนาฬิกา ซึ่งนับสัญญาณเป็น Clock 1 เช่น ซีพียู 100 MHz หมายความว่าเกิดสัญญาณนาฬิกา 100 ครั้งต่อวินาที ยิ่งสูง การประมวลผลก็จะยิ่งเร็วขึ้น

ความเร็วในการประมวลผล
ภายในคอมพิวเตอร์ไม่ได้มีเฉพาะซีพียูเท่านั้น แต่มีอุปกรณ์นำข้อมูลเข้า (Input Devices) และอุปกรณ์แสดงผลลัพธ์ (Output Devices) โดยมีหน่วยความจำหลัก (RAM = RANDOM Access Memory) เป็นเสมือนโกดังเก็บวัตถุดิบและสินค้าสำเร็จรูประหว่างประมวลผล (ดังที่กล่าวมาแล้วว่าซีพียูนั้นมีแคชที่มีความจุไม่มาก รองรับเฉพาะข้อมูลหรือคำสั่งที่เรียกใช้บ่อยๆ เท่านั้น ดังนั้น จะมีข้อมูลปริมาณมากถูกส่งเข้าซีพียู และหลังจากประมวลผลเสร็จแล้ว ซีพียูก็ส่งข้อมูลออกอีก
การประมวลผลของซีพียูจึงเกี่ยวข้องกับความเร็วและการขนส่งข้อมูลระหว่างซีพียูและอุปกรณ์รอบข้าง หลักของการขนส่งให้มีประสิทธิภาพก็คือ บรรทุกวัตถุหรือสิ่งของต่อ 1 เที่ยวรถบรรทุกให้ได้มากที่สุด ถนนกว้างหลายเลนก็ทำให้รถส่งของวิ่งได้พร้อมกันคราวละหลายคัน ในการประมวลทางคอมพิวเตอร์แล้วซีพียูก็ขึ้นอยู่กับปัจจัยดังกล่าวเช่นกัน
ขีดจำกัดของซีพียูความเร็วสูงกับประสิทธิภาพของการประมวลผล
เมื่อเทียบประสิทธิภาพระหว่างซีพียูและบัสหน่วยความจำ (Memory BUS) โดยคิดเทียบความเร็วของ PCI 66 เมกะเฮิร์ต ความกว้างบัส 32 บิต (4 ไบต์) จะสามารถส่งข้อมูลได้สูงสุด 200 เมกะไบต์/วินาที (66 MHz x 4 Byte) ซึ่งเป็นค่าสูงสุดทางทฤษฎี ซึ่งในความเป็นจริงจะได้แค่ 132 MB/sec เพราะเวลาของ overhead แต่ถ้าหากพิจารณาที่ซีพียู ซึ่งสมมุติเป็น 80486 DX2 66 MHz สามารถประมวลได้ 400 MBytes/sec (66Mhz x 8 bytes) จะมองเห็นว่าลำพังซีพียูและหน่วยความจำหลักนั้น การประมวลผลของซีพียูจะมีประสิทธิภาพกว่า การส่งข้อมูลจากบัสหน่วยความจำหลักมาก นั่นคือ ซีพียูจะต้องรอให้ข้อมูลถูกส่งมาจากหน่วยความจำหลัก
เริ่มจากสมัยเมื่อสามสิบปีก่อนหน้านี้ IBM ได้สาธิตการใช้เมนเฟรมที่สามารถประมวลได้เร็วกว่า หากมี "Cache Memory" ซึ่งเป็นหน่วยความจำประเภทความเร็วสูง สำหรับเก็บข้อมูลและคำสั่งที่มักถูกเรียกใช้งานโดยซีพียูบ่อยๆ ซึ่งหากคำสั่งหรือข้อมูลดังกล่าวอยู่ในแคช ก็จะสามารถเรียกมาใช้งานได้เร็วกว่า Intel 486 มีแคช 8 กิโลไบต์ ซึ่งเป็นแคชระดับ 1 (Level 1 cache หรือเรียกอีกชื่อว่าแคชภายใน (Internal Cache) ที่เรียกว่าแคชภายใน เพราะอยู่ภายในตัวซีพียูนั่นเอง และแคชระดับสอง (Second Level Cache) หรือแคชภายนอก (External Cache) ที่เรียกว่าแคชภายนอก เพราะเป็นแคชที่ติดตั้งลงบนเมนบอร์ดนั่นเอง แคชนี้จะมาช่วยทำให้การประมวลของซีพียูเร็วขึ้น ทั้งแคชภายในและภายนอก จะเรียกอีกชื่อหนึ่งว่า หน่วยความจำสแตติก (Static Memory) ซึ่งหากเป็นแคชภายใน จะมีบัสความกว้างเท่ากับซีพียู และทำงานที่ความเร็วเท่ากับซีพียูด้วย ส่วนแคชภายนอกยังคงทำงานที่ความเร็วบัสของหน่วยความจำไดนามิก (66 MHz) และมีความกว้างของบัสเท่ากับหน่วยความจำไดนามิก แต่ข้อได้เปรียบของ External Cache ก็คือ มี BUS Memory Address แยกออกมาต่างหากและมีอัตราการเข้าถึงข้อมูลต่ำกว่า (5 - 15 ns) นอกจากจะได้ Internal Cache กับ External Cache มาช่วยให้การประมวลผลมีประสิทธิภาพมากขึ้น สถาปัตยกรรมของ Branch Prediction ซึ่งช่วยในการพยากรณ์ล่วงหน้ามา ลำดับขั้นต่อไปของคำสั่งที่จะถูกนำมาประมวลนั้นคืออะไร เพื่อจะได้จัด เตรียมข้อมูลเข้ามาให้พร้อม นอกจากนี้ซีพียูสมัยใหม่ บางรุ่นยังใช้หลักการของ Pipeline , SuperScalar เพื่อเพิ่มประสิทธิภาพในการประมวลข้อมูล Pipeline ช่วยในการเพิ่มความเร็วในการโอนถ่ายข้อมูล ขณะที่ SuperScalar ทำให้การประมวลของซีพียูมีประสิทธิภาพมากขึ้น แต่ทั้ง Internal , External Cache , Branch Prediction ที่ทำให้การประมวลผลข้อมูลเร็วขึ้นนั้น ล้วนแล้วแต่มีที่มาจากการพัฒนาเทคโนโลยีแทบทั้งสิ้น

ขนาดเล็ก กินไฟน้อย ประสิทธิภาพสูง เป็นเป้าหมายของการออกแบบซีพียูในขั้นต้น

 
 
     Links อื่น ๆ
 



























 





 
       
 
 
 
   

Copyright © 2004 Institute for Innovation and Development of Learning Process.  All rights reserved.