1/08/2555

CPU


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

หน่วยประมวลผลกลาง (อังกฤษ: central processing unit) หรือย่อว่า ซีพียู (CPU) เป็นวงจรอิเลคทรอนิกส์ที่ทำงาน หรือประมวลผล ตามชุดของคำสั่งเครื่องจากซอฟต์แวร์ คำนี้เริ่มใช้ในอุตสาหกรรมคอมพิวเตอร์ตั้งแต่ต้นศตวรรษ 1960s
หน่วยประมวลผลเปรียบเสมือนเป็นสมองของคอมพิวเตอร์ ในการทำหน้าที่ตัดสินใจหรือคำนวณ จากคำสั่งที่ได้รับมา เช่น การเปรียบเทียบ การกระทำการทางคณิตศาสตร์ ฯลฯ
โดยมีกระบวนการพื้นฐานคือ:
+ อ่านชุดคำสั่ง (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)
+ 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

เครื่องคอมพิวเตอร์ส่วนบุคคล
+ สถาปัตยกรรม 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 ของเอชพี
+ สถาปัตยกรรม Alpha ของ DEC
+ สถาปัตยกรรม ARM ของ ARM (เคยเป็นส่วนหนึ่งของบริษัท Acorn Computers)

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

ซีพียู (CPU)

ซีพียู (CPU) คือ อุปกรณ์ตัวหนึ่งที่มีความสำคัญและจำเป็นในการทำงานของคอมพิวเตอร์ซึ่งอาจจะเรียกว่าเป็นหัวใจของคอมพิวเตอร์เลยก็ได้ ซีพียู เป็นตัวควบคุมการทำงานของอุปกรณ์ต่างๆ ไม่ว่าจะเป็นอุปกรณ์ที่อยู่ในคอมพิวเตอร์ หรืออุปกรณ์ต่อพ่วงที่ต่อร่วมกับคอมพิวเตอร์ โดย จะเป็นตัวกำหนดความสำคัญของอุปกรณ์ว่าตัวใดมีความสำคัญมากกว่าซึ่งหากติดตั้งอุปกรณ์ 2 ตัวที่อินเทอรัพ, การแจ้งกับซีพียูว่าจะขอเฉพาะอุปกรณ์ที่มีความสำคัญมากกว่าเท่านั้น ส่วนตัวที่สำคัญน้อยกว่าจะไม่สามารถใช้งานได้ เช่น ถ้าเราต่อการ์ดจอภาพกับการ์ดเสียงที่อินเทอรัพเดียวกัน ซีพียู จะเลือกให้ใช้ได้เฉพาะการ์ดจอภาพเท่านั้น

CPU ทำหน้าที่

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


กลไกการทำงานของซีพียู

การทำงานของคอมพิวเตอร์ ใช้หลักการเก็บคำสั่งไว้ที่หน่วยความจำ ซีพียูอ่านคำสั่งจากหน่วยความจำมาแปลความหมายและกระทำตามเรียงกันไปทีละคำสั่ง หน้าที่หลักของซีพียู คือควบคุมการทำงานของคอมพิวเตอร์ทั้งระบบ ตลอดจนทำการประมวลผล
กลไกการทำงานของซีพียู มีความสลับซับซ้อน ผู้พัฒนาซีพียูได้สร้างกลไกให้ทำงานได้ดีขึ้น โดยแบ่งการทำงานเป็นส่วน ๆ มีการทำงานแบบขนาน และทำงานเหลื่อมกันเพื่อให้ทำงานได้เร็วขึ้น



ปัจจัยที่มีผลต่อความเร็วของซีพียู

ความสามารถในการประมวลผล (Processing Power) คือประสิทธิภาพและความเร็วในการทำงานของซีพียู ซึ่งขึ้นอยู่กับชนิดหรือรุ่นของซีพียู เครื่องคอมพิวเตอร์ส่วนบุคคล (Personal Computer) โดยทั่วไปจะใช้ซีพียูในตระกูลของอินเทล เช่น Pentium I, Pentium II, Pentium III ส่วนเครื่องคอมพิวเตอร์อื่นจะใช้ซีพียูที่ต่างกันออกไป
คอมพิวเตอร์ทำงานด้วยความเร็วที่แตกต่างกันซึ่งขึ้นอยู่กับปัจจัยต่างๆ ดังนี้

• รีจิสเตอร์
• หน่วยความจำภายนอก
• สัญญาณนาฬิกา เป็นจังหวะ สัญญาณ (Pulse) ในหนึ่งรอบสัญญาณ (Clock Cycle) คอมพิวเตอร์จะคำนวณหนึ่งครั้ง ส่วนความเร็วของรอบสัญญาณ คือจำนวนรอบของสัญญาณต่อวินาที ซึ่งมีความเร็วมากกว่า 100 ล้านรอบต่อวินาที (100 Megahertz) (แอนนา 2540: 9)
• บัส
• หน่วยความจำแคช
• Passing Math Operation

แหล่งข้อมูล

http://th.wikipedia.org/wiki
http://www.thaigoodview.com/library/contest2552/type1/tech03/18/cpu.html
http://www.google.co.th/imghp

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

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