หน่วยประมวลผลกลาง

หน่วยประมวลผลกลาง () หรือย่อว่า ซีพียู (CPU) เป็นวงจรอิเลคทรอนิกส์ที่ทำงาน หรือประมวลผล ตามชุดของคำสั่งเครื่องจากซอฟต์แวร์ คำนี้เริ่มใช้ในอุตสาหกรรมคอมพิวเตอร์ตั้งแต่ต้นศตวรรษ 1960

หน่วยประมวลผลเปรียบเสมือนเป็นสมองของคอมพิวเตอร์ ในการทำหน้าที่ตัดสินใจหรือคำนวณ จากคำสั่งที่ได้รับมา เช่น การเปรียบเทียบ การกระทำการทางคณิตศาสตร์ ฯลฯ

โดยมีกระบวนการพื้นฐานคือ
 อ่านชุดคำสั่ง (fetch)
 ตีความชุดคำสั่ง (decode)
 ประมวลผลชุดคำสั่ง (execute)
 อ่านข้อมูลจากหน่วยความจำ (memory)
 เขียนข้อมูล/ส่งผลการประมวลกลับ (write back)

สถาปัตยกรรมของหน่วยประมวลผลกลาง ประกอบไปด้วย ส่วนควบคุมการประมวลผล (control unit) และ ส่วนประมวลผล (execution unit) และจะเก็บข้อมูลระหว่างการคำนวณ ไว้ในระบบเรจิสเตอร์

 การทำงานของหน่วยประมวลผลกลาง 
การทำงานของหน่วยประมวลผลกลางแบ่งออกตามหน้าที่ได้เป็นห้ากลุ่มใหญ่ ๆ ดังนี้ โดยทำงานทีละคำสั่ง จากคำสั่งที่เรียงลำดับกันไว้ตอนที่เขียนโปรแกรม
 Fetch - การอ่านชุดคำสั่งขึ้นมา 1 คำสั่งจากโปรแกรม ในรูปของรหัสเลขฐานสอง (Binary Code from on-off of BIT)
 Decode - การตีความ 1 คำสั่งนั้นด้วยวงจรถอดรหัส (Decoder circuit) ตามจำนวนหลัก (BIT) ว่ารหัสนี้จะให้วงจรอื่นใดทำงานด้วยข้อมูลที่ใด
 Execute - การทำงานตาม 1 คำสั่งนั้น คือ วงจรใดในไมโครโปรเซสเซอร์ทำงาน เช่น วงจรบวก วงจรลบ วงจรเปรียบเทียบ วงจรย้ายข้อมูล ฯลฯ
 Memory - การติดต่อกับหน่วยความจำ การใช้ข้อมูลที่อยู่ในหน่วยจำชั่วคราว (RAM, Register) มาใช้ในคำสั่งนั้นโดยอ้างที่อยู่ (Address)
L3 Cache - รอคำสั่งระหว่างกระบวนการกำลังประมวลผล*Write Back - การเขียนข้อมูลกลับ โดยมีหน่วยจำ Register ช่วยเก็บที่อยู่ของคำสั่งต่อไป ภายหลังมีคำสั่งกระโดดบวกลบที่อยู่

 การทำงานแบบขนานในระดับคำสั่ง (ILP) 

โดยการทำงานเหล่านี้ถ้าเป็นแบบพื้นฐานก็จะทำงานกันเป็นขั้นตอนเรียงตัวไปเรื่อย ๆ แต่ในหลักความเป็นไปได้คือการทำงานในแต่ละส่วนนั้นค่อนข้างจะเป็นอิสระออกจากกัน จึงได้มีการจับแยกกันให้ทำงานขนานกันของแต่ละส่วนไปได้ หลักการนี้เรียกว่า pipeline เป็นการทำการประมวลผลแบบขนานในระดับการไหลของแต่ละคำสั่ง (ILP: Instruction Level Parallelism) โดยข้อมูลที่เป็นผลจากการคำนวณของชุดก่อนหน้าจะถูกส่งกลับไปให้ชุดคำสั่งที่ตามมาในช่องทางพิเศษภายในหน่วยประมวลผลเอง


การทำงานแบบขนานนี้สามารถทำให้มีความสามารถเพิ่มขึ้นได้อีกคือเพิ่มการทำงานแต่ละส่วนออกเป็นส่วนที่เหมือนกันในทุกกลุ่มแต่ให้ทำงานคนละสายชุดคำสั่งกัน วิธีการนี้เรียกว่าการทำหน่วยประมวลผลให้เป็น superscalar วิธีการนี้ทำให้มีหลาย ๆ ชุดคำสั่งทำงานได้ในขณะเดียวกัน โดยงานหนักของ superscalar อยู่ที่ส่วนดึงชุดคำสั่งออกมา (Dispatcher) เพราะส่วนนี้ต้องตัดสินใจได้ว่าชุดคำสั่งอันไหนสามารถทำการประมวลผลแบบขนานได้ หลักการนี้ก็เป็นการทำการประมวลผลแบบขนานในลำดับการให้ของแต่ละคำสั่ง (ILP: Instruction Level Parallelism) เช่นกัน

 การทำงานแบบขนานในระดับกลุ่มชุดคำสั่ง (TLP) 
การทำงานของโปรแกรมคอมพิวเตอร์แต่ละโปรแกรมสามารถแบ่งตัวออกได้เป็นระดับกลุ่มชุดคำสั่ง (Thread) โดยในแต่ละกลุ่มสามารถทำงานขนานกันได้ (TLP: Thread Level Parallelism)
ในระดับ2

 คอมพิวเตอร์แบบฝังตัว 
 สถาปัตยกรรม PowerPC 440 ของไอบีเอ็ม
 สถาปัตยกรรม 8051 ของอินเทล
 สถาปัตยกรรม 6800 ของโมโตโรลา
 ใช้ในหน่วยควบคุม 68HC11 ซึ่งเป็นที่แพร่หลายอย่างมาก
 สถาปัตยกรรม ARM ของ ARM (เคยเป็นส่วนหนึ่งของบริษัท Acorn Computers)
 ใช้ใน เครื่องเล่นเพลง ไอพ็อด, เครื่องเล่นเกม เกมบอยแอดวานซ์, และ พีดีเอ จำนวนมาก 0
 หน่วยประมวลผล XScale และ StrongARM ของอินเทลนั้น ใช้สถาปัตยกรรม ARM
ใช้ความถี่ในการรับคำสั่งต่อวินาทีด้วยความเร็ว 2.4 ร้อยล้านคำสั่ง ส่วนมากใช้ในกำลังประมวลผลแบบฝังตัว

 เครื่องคอมพิวเตอร์ส่วนบุคคล 
 สถาปัตยกรรม x86 ของอินเทล
 สถาปัตยกรรม 6800, 6809, และ 68000 ของโมโตโรลา
 สถาปัตยกรรม 6502 ของ MOS Technology
 สถาปัตยกรรม Z80 ของ Zilog
 สถาปัตยกรรม PowerPC ของไอบีเอ็ม (ในภายหลังคือพันธมิตร AIM alliance)
 สถาปัตยกรรม AMD64 (หรือ x86-64) ของเอเอ็มดี
 เข้ากันได้กับสถาปัตยกรรมแบบ x86 ของอินเทล

 คอมพิวเตอร์เซิร์ฟเวอร์ และเวิร์คสเตชัน 
 สถาปัตยกรรม SPARC ของ SPARC International, Inc. (มีสมาชิกเช่น ซัน ไมโครซิสเต็มส์, ฟูจิตสึ, โตชิบา, เท็กซัสอินสทรูเมนส์) หน่วยประมวลผล LEON2 ซึ่งเป็นหน่วยประมวลผลแบบเปิดเผยรหัส ใช้สถาปัตยกรรม SPARC
 สถาปัตยกรรม POWER ของไอบีเอ็ม
 สถาปัตยกรรม MIPS ของ MIPS Computer Systems Inc. ชุดของคำสั่งเครื่องของ MIPS เป็นเครื่องมือหลักในการสอนสถาปัตยกรรมคอมพิวเตอร์ในหนังสือ Computer Organization and Design เขียนโดย เดวิด เอ. แพตเทอร์สัน และ จอห์น แอล. เฮนเนสซี ISBN 1-55860-428-6 1998 (2nd. edition)
 สถาปัตยกรรม PA-RISC ของเอชพี
 สถาปัตยกรรม ขนาด 9*9*9 Algorithm ชนิดหนึ่งที่ใช้เงื่อนเวลา
 สถาปัตยกรรม Alpha ของ DEC
 สถาปัตยกรรม ARM ของ ARM (เคยเป็นส่วนหนึ่งของบริษัท Acorn Computers)

 มินิคอมพิวเตอร์จนถึงเมนเฟรม 
 สถาปัตยกรรม PDP-11 ของ DEC, และสถาปัตยกรรม VAX ที่ถูกพัฒนาต่อมา
 สถาปัตยกรรม SuperH ของฮิตาชิ
 สถาปัตยกรรมของคอมพิวเตอร์รุ่น UNIVAC 1100/2200 (ปัจจุบันสนับสนุนโดย Unisys ClearPath IX computers)
 1750A - คอมพิวเตอร์มาตรฐานของกองทัพไทย
 AP-101 - คอมพิวเตอร์ของกระสวยอวกาศ

 ดูเพิ่ม 
 อุปกรณ์คอมพิวเตอร์
 เมนบอร์ด

 อ้างอิง 
 Hennessy, John A.; Goldberg, David (1996). Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers. ISBN 1-55860-329-8.

 แหล่งข้อมูลอื่น 
 รายละเอียดหน่วยประมวลผลกลาง CPU (Central Processing Unit)