- เรื่องเล่าสนุกๆ ก็คือ ปี 1961 Intel พัฒนาชิป
4004 และประกาศว่าชิปขนาดเล็กๆ
ตัวเดียวนี่แหละทำงานได้เทียบเท่าเครื่อง
ENIVAC ที่ผลิตในปี 1946 ซึ่งใช้หลอดสูญญากาศ
18000 ตัว และเรื่องยังเล่าต่อไปว่า ที่มาของ 4004
นั้นเกิดจากบริษัทญี่ปุ่นรายหนึ่งต้องการให้ Moore
และเพื่อนพ้องผลิตชิป 12 ชิป สำหรับเครื่องคิดเลข 1 เครื่อง
แทนที่จะผลิต 12 ชิป Moore
แจ้งว่าแค่ชิปเดียวก็ใช้งานได้
ปัจจุบันถ้าพูดถึงชิปหนึ่งชิป
ความสามารถของมันนั้นไม่ได้ทำงานแค่คิดเลขอย่างเดียว
ทำมากกว่านั้นอีกหลายอย่าง และนั่นเขาเรียกว่า CPU หรือ
หน่วยประมวลผลกลาง
|
ไมโครโปรเซสเซอร์ทำหน้าที่อะไร
ไมโครโปรเซสเซอร์ หรือที่เรียกกันย่อๆว่า ซีพียู (CPU)
มาจากคำว่า CentralProcessingUnitอันหมายความว่าเป็นหน่วยประมวลผลกลางซึ่งถือเป็นหัวใจหลักในการประมวลผลของคอมพิวเตอร์
โดยพื้นฐานแล้วซีพียูทำหน้าที่ประมวลผลข้อมูลทางคณิตศาสตร์และข้อมูลเชิงตรรกะเท่านั้น
แต่ทำไมการคำนวณขนาดนี้
ต้องมีการพัฒนาซีพียูกันไม่หยุดหย่อน ทำไม 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
ซึ่งช่วยในการพยากรณ์ล่วงหน้ามา
ลำดับขั้นต่อไปของคำสั่งที่จะถูกนำ