หน่วยประมวลผล
(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 ที่ทำให้การประมวลผลข้อมูลเร็วขึ้นนั้น
ล้วนแล้วแต่มีที่มาจากการพัฒนาเทคโนโลยีแทบทั้งสิ้น
ขนาดเล็ก กินไฟน้อย ประสิทธิภาพสูง
เป็นเป้าหมายของการออกแบบซีพียูในขั้นต้น