คำว่า ซีพียู (CPU) เป็นสิ่งที่มีอยู่ในอุปกรณ์อิเล็กทรอนิกส์แทบทุกชนิด ไม่ได้มีแค่เพียงบนคอมพิวเตอร์ หรือสมาร์ทโฟนเท่านั้น ในโทรทัศน์, เครื่องซักผ้า, เครื่องปรับอากาศ, รถยนต์, หุ่นยนต์ดูดฝุ่น ฯลฯ ต่างก็มี CPU เป็นส่วนประกอบสำคัญ หรือส่วนประกอบหลัก อยู่ทั้งสิ้น
โดย CPU เปรียบได้กับสมองที่คอยประมวลผลตามคำสั่งที่ผู้ใช้ป้อนเข้าไป เพื่อควบคุมการทำงานของมันให้ได้ผลลัพธ์ตามที่ผู้ใช้ต้องการ
ในบทความนี้จะมาอธิบายความเป็นมาของ CPU รวมไปถึงว่ามันทำงานอย่างไร ?
CPU หรือภาษาอังกฤษคือ "Central Processing Unit" (หากแปลเป็นไทยคือ "หน่วยประมวลผลกลาง") เป็น ฮาร์ดแวร์คอมพิวเตอร์ ชิ้นสำคัญที่มีอยู่ในอุปกรณ์อิเล็กทรอนิกส์แทบทุกชนิดในปัจจุบันนี้ เรื่องน่าสนใจที่หลายคนอาจจะไม่คาดคิดคือ แม้มันจะเป็นหัวใจหลักแต่ CPU ไม่สามารถทำงานเพียงลำพังได้ มันจำเป็นต้องทำงานร่วมกับฮาร์ดแวร์อื่น ๆ เสมอ โดย CPU จะเป็นชิปที่ติดตั้ง หรือฝังอยู่บน แผงวงจรหลัก (Mainboard) ที่มีวงจรเชื่อมโยงไปยังฮาร์ดแวร์ส่วนต่าง ๆ เพื่อให้ CPU สามารถควบคุมมันได้นั่นเอง
หากเปรียบเทียบกับมนุษย์ CPU ก็คือสมอง การที่เราจะหยิบแก้วน้ำขึ้นมาดื่ม สมองต้องส่งสัญญาณไปตามเส้นประสาทเพื่อสั่งให้กล้ามเนื้อแขนขยับ ถ้าเรามีสมอง แต่ไม่มีแขน เราก็ไม่สามารถยกแขน เอามือจับแก้วได้ ใช่ไหมล่ะ ?
CPU ประกอบขึ้นจากทรานซิสเตอร์ (Transistor) จำนวนมหาศาลเรียงกัน อย่างใน Intel Core i7-13700K นั้นก็มีทรานซิสเตอร์อยู่มากถึงประมาณ 28,300,000,000 ตัว เลยทีเดียว ทรานซิสเตอร์เหล่านี้จะทำหน้าที่เหมือนสวิตช์เปิดปิดเพื่อแทนค่าเลขฐานสอง (Binary) "0" และ "1" ซึ่งเป็นค่าที่คอมพิวเตอร์ใช้ในการประมวลผลงานต่าง ๆ ไม่ว่าผู้ใช้จะทำกราฟิกผ่าน โปรแกรม Photoshop, เปิด โปรแกรม เว็บเบราว์เซอร์ (Web Browser), ดู Netflix เบื้องหลังนั้นก็ผ่านการประมวลผลจากค่า Binary ทั้งสิ้น
เกร็ดน่าสนใจเกี่ยวกับทรานซิสเตอร์ใน CPU คือคุณน่าจะเคยได้ยินเรื่องกฎของมัวร์ (Moore's Law) มันเป็นคำทำนายที่กอร์ดอน มัวร์ (Gordon E. Moore) หนึ่งในผู้ก่อตั้งบริษัท Intel ได้เคยกล่าวว่า "จำนวนทรานซิสเตอร์ใน CPU จะเพิ่มขึ้นเท่าตัวในทุก 2 ปี"
โดยในการที่จะพัฒนา CPU ให้แรงขึ้น ปัจจัยสำคัญหนึ่งก็มาจากการที่ขนาดของทรานซิสเตอร์สามารถผลิตให้เล็กลงกว่าเดิม ทำให้จำนวนทรานซิสเตอร์บน CPU มีจำนวนมากขึ้นในพื้นที่เท่าเดิม
ภาพจาก : https://www.cnet.com/tech/computing/intel-will-outpace-moores-law-ceo-pat-gelsinger-says/
ซึ่งกฎของมัวร์ได้กลายเป็นเป้าหมายที่บริษัทเทคโนโลยีหลายแห่งได้นำมาใช้ อย่างไรก็ตาม การย่อขนาดทรานซิสเตอร์ใกล้จะถึงขีดจำกัดแล้ว ปัจจุบันอยู่ที่ระดับ 3 นาโนเมตร และอาจย่อได้ถึงระดับ 2 นาโนเมตร มันก็ยากที่จะพัฒนาให้เล็กไปกว่านี้ได้แล้ว นั่นหมายความว่ากฎของมัวร์อาจใกล้ถึงทางตันแล้ว แต่แนวคิดที่จะเพิ่มประสิทธิภาพเท่าตัวในทุก 2 ปี ก็ยังนิยมถูกใช้ในการตั้งเป้าหมายเหมือนเดิมนะ
CPU ยุคใหม่ เริ่มหันมานิยมออกแบบให้รวมชิปที่จำเป็นต่อการทำงานต่าง ๆ เอาไว้ภายในชิปตัวเดียวกันไปเลย หรือที่เรียกว่า System on a Chip (SoC) เพื่อลดขนาดพื้นที่ และอัตราการใช้พลังงาน ซึ่งเป็นประโยชน์ต่ออุปกรณ์พกพาอย่างโน้ตบุ๊ก, สมาร์ทโฟน หรืออุปกรณ์ Internet of things (IoT) เป็นอย่างมาก
ก่อนที่ CPU จะถูกคิดค้นขึ้นมา คอมพิวเตอร์จะสามารถประมวลผลชุดคำสั่งได้รูปแบบเดียวตามที่ตั้งค่าเอาไว้เท่านั้น หากจะทำงานอื่นก็ต้องตั้งค่าเปลี่ยนชุดคำสั่งใหม่เสียก่อน อย่างเครื่อง Electronic Numerical Integrator and Computer หรือ "ENIAC" คอมพิวเตอร์แบบดิจิทัลเครื่องแรกของโลก ที่ถูกใช้งานจริงเป็นครั้งแรกในวันที่ 10 ธันวาคม ค.ศ. 1945 (พ.ศ. 2488) จะต้องถอดสลับสายเพื่อตั้งค่าชุดคำสั่งใหม่ทุกครั้ง หากต้องการประมวลผลงานที่แตกต่างกัน นั่นเป็นเหตุผลที่ทำให้คอมพิวเตอร์ในยุคเริ่มต้นถูกเรียกว่า "Fixed-Program Computers" (คอมพิวเตอร์ที่มีโปรแกรมตายตัว)
เครื่อง ENIAC หรือ คอมพิวเตอร์แบบดิจิทัลเครื่องแรกของโลก
ภาพจาก : https://commons.wikimedia.org/wiki/File:World%27s_First_Computer,_the_Electronic_Numerical_Integrator_and_Calculator_%28ENIAC%29.gif
แต่ภายหลังคอมพิวเตอร์ก็ได้รับการพัฒนาให้สามารถประมวลผลซอฟต์แวร์ต่าง ๆ ที่ถูกบันทึกเอาไว้ภายในเครื่องได้เลย ไม่ต้องสลับสาย หรือตั้งค่าอะไรให้วุ่นวายอีกต่อไป โดยมันถูกเรียกว่า "Stored-Program Computer" คอมพิวเตอร์เครื่องแรกที่ทำได้ก็คือ Electronic Discrete Variable Automatic Computer (EDVAC) ที่พัฒนาแล้วเสร็จในเดือนสิงหาคม ค.ศ. 1949 (พ.ศ. 2492)
เครื่อง EDVAC ถูกออกแบบมาให้ประมวลผลชุดคำสั่งได้หลายรูปแบบ และยังสามารถรวมชุดคำสั่งหลายตัวเข้าด้วยกันเพื่อประมวลผลงานให้มีความหลากหลายได้มากขึ้นอีกด้วย ซอฟต์แวร์ของ EDVAC จึงถูกเก็บเอาไว้บนหน่วยความจำ แทนที่จะต้องใช้สายเชื่อมไปยังฮาร์ดแวร์อีกตัวเหมือนกับเครื่อง ENIAC นั่นทำให้ประสบการณ์ในการใช้งานคอมพิวเตอร์ถูกยกระดับให้ดีกว่าเดิมมาก เปลี่ยนซอฟต์แวร์ก็แค่เปลี่ยนหน่วยความจำ ไม่ต้องสลับสายให้วุ่นวาย นอกจากนี้ EDVAC ยังถือเป็นคอมพิวเตอร์เครื่องแรกของโลกที่ทำงานด้วยระบบ Binary อีกด้วย
เครื่อง EDVAC
ภาพจาก : https://blog.adafruit.com/2018/01/01/on-the-history-of-edvac-the-electronic-discrete-variable-automatic-computer-retrocomputing-history/
และเมื่อเรากล่าวถึงการทำงานแบบ Binary แล้ว มันก็จะเป็นเรื่องของค่า "1" และ "0" ซึ่งในการทำงานของคอมพิวเตอร์ก็จะต้องมีระบบที่สามารถแทนค่า "เปิด (1)" และ "ปิด (0)" โดยในคอมพิวเตอร์ยุคแรก ๆ ก็จะใช้สิ่งที่เรียกว่าหลอดสุญญากาศ (Vacuum Tube) หรือ Thermionic Valve เป็นสวิตช์ในการระบุค่า Binary นั่นเอง
แต่หลอดสุญญากาศเหล่านี้มีข้อจำกัดมากมาย ทั้งขนาดของตัวหลอดที่ใหญ่ และต้องใช้หลายพันตัวในการทำงาน นั้นทำให้ขนาดของตัวเครื่องคอมพิวเตอร์ใหญ่มากเปลืองพื้นที่ในการติดตั้ง, ปัญหาด้านความร้อน และอายุการใช้งานที่ต่ำ การใช้งานก็ยุ่งยากต้องมีการอุ่นหลอดให้พร้อมใช้งานก่อน และใช้งานได้ต่อเนื่องไม่เกิน 8 ชั่วโมง ก่อนจะต้องพักเครื่อง ความเร็วของคอมพิวเตอร์ในยุคนั้นอยู่ที่ประมาณ 100 kHz ถึง 4 MHz เท่านั้น
BULL GAMMA 3 คอมพิวเตอร์รุ่นแรก ๆ ที่ใช้หลอดสุญญากาศ (Vacuum Tube) ที่ถูกสร้างขึ้นในปี ค.ศ. 1952 (พ.ศ. 2495)
ภาพจาก : https://www.technikum29.de/en/computer/gamma3.php
การพัฒนาอย่างก้าวกระโดดเกิดขึ้นเมื่อทรานซิสเตอร์ (Transistor) ถูกนำมาปรับใช้กับคอมพิวเตอร์ มันทำให้ Vacuum Tube ไม่จำเป็นอีกต่อไป ทุกอย่างที่ย่อเอาไว้เป็นชิปขนาดเล็ก ทำให้ขนาดของคอมพิวเตอร์เล็กลง และราคาถูกกว่าเดิมหลายเท่า
อันที่จริง แนวคิดของทรานซิสเตอร์นั้นมีมาก่อนที่เครื่อง ENIAC จะถูกสร้างขึ้นมาเสียอีก โดย Julius Edgar Lilienfeld นักฟิสิกส์ และวิศวกรไฟฟ้าชาวออสเตรีย-ฮังการี-อเมริกัน ได้นำเสนอแนวคิดของ Field-Effect Transistor (FET) ในปี ค.ศ. 1926 (พ.ศ. 2469) แต่ด้วยข้อจำกัดของเทคโนโลยีในสมัยนั้น ทำให้เขาไม่สามารถสร้างมันออกมาได้
กว่าที่แนวคิดของเขาจะเกิดขึ้นจริง ก็ต้องรอถีงปี ค.ศ. 1947 (พ.ศ. 2490) จากความร่วมมือของนักฟิสิกส์สามคน John Bardeen, Walter Brattain และ William Shockley ที่ทำงานอยู่ที่ Bell Labs โดยพวกเขาประสบความสำเร็จในการสร้าง Point-Contact Transistor ขึ้นมา จนทำให้ทั้งสามได้รับรางวัลโนเบลสาขาฟิสิกส์ไปครอง
ทรานซิสเตอร์ที่มีความแพร่หลายที่สุด (ในยุคนั้น) จะเป็น Metal-Oxide-Semiconductor Field-Effect Transistor (MOSFET) ซึ่งก็ถูกพัฒนาขึ้นมาในปี ค.ศ. 1959 (พ.ศ. 2502) โดย Mohamed Atalla และ Dawon Kahng นักฟิสิกส์จาก Bell Labs อีกเช่นเคย มันได้กรุยทางเปิดศักราชใหม่ให้กับอุปกรณ์อิเล็กทรอนิกส์ อย่างคอมพิวเตอร์, เครื่องคิดเลข, วิทยุ ฯลฯ โดยช่วยให้อุปกรณ์เหล่านี้มีขนาดเล็กลง และราคาที่ถูกกว่าเดิมหลายเท่า
ภาพจาก : https://www.allaboutcircuits.com/news/fathers-of-the-mosfet-dawon-kahng-and-martin-atalla/
สำหรับคอมพิวเตอร์เครื่องแรกที่เก็บชุดคำสั่งในการทำงานเอาไว้ในทรานซิสเตอร์คือเครื่อง ETL Mark III ทำให้มันกลายเป็นคอมพิวเตอร์เครื่องแรกของโลกที่ใช้ทรานซิสเตอร์ในการทำงาน ถูกพัฒนาโดย Electrotechnical Laboratory บริษัทสัญชาติญี่ปุ่น โดยเริ่มพัฒนาในปี ค.ศ. 1954 (พ.ศ. 2497) และพัฒนาเสร็จในปี ค.ศ. 1956 (พ.ศ. 2499) หลังจากนั้นคอมพิวเตอร์ที่ทำงานโดยใช้ทรานซิสเตอร์ก็ได้รับความนิยม และถูกพัฒนาอย่างต่อเนื่อง
ETL Mark III
ภาพจาก : https://museum.ipsj.or.jp/en/computer/dawn/0011.html
ก่อนอื่นขออธิบายความแตกต่างระหว่าง ไมโครโปรเซสเซอร์ (Microprocessor) กับซีพียู (CPU) กันก่อนสักเล็กน้อย แม้สองคำนี้มักถูกเรียกแทนกัน แต่ความจริงมันมีความแตกต่างกันอยู่นะ
"CPU ทุกชนิดคือ Microprocessor" แต่ว่า "Microprocessor อาจจะเป็น CPU หรือไม่เป็น CPU ก็ได้"
ความแตกต่างคือ CPU นั้นย่อมาจาก Central Processing Unit หมายความว่ามันเป็นหน่วยประมวลผลกลาง มันรับหน้าที่ประมวลผลหลายอย่าง เพื่อควบคุมส่วนต่าง ๆ ของคอมพิวเตอร์ ซึ่งภายใน CPU ก็จะมี Microprocessor ที่คอยรับคำสั่ง และประมวลงานตามที่ได้รับมา เมื่อทำงานเสร็จแล้วก็ส่งข้อมูลกลับไปให้ CPU ทำงานต่อ
ส่วน Microprocessor คือชิปที่สามารถประมวลผลงานที่ถูกกำหนดโปรแกรมเอาไว้ล่วงหน้า ซึ่งจะทำได้อย่างเดียวเลย แต่ว่าทำได้ดีมาก
สำหรับ Microprocessor หรือ CPU ตัวแรกของโลกคือ Intel 4004 จากบริษัท Intel Corporation เปิดตัวในปี ค.ศ. 1971 (พ.ศ. 2514) นอกจากนี้มันยัง Microprocessor ตัวแรกที่ขายในเชิงพาณิชย์ และเป็น CPU รุ่นแรกที่ Intel ผลิตขึ้นมาอีกด้วย ราคาตอนนั้นอยู่ที่ $60 แต่ถ้าเทียบอัตราเงินเฟ้อค่าเงินปัจจุบันนี้ก็จะอยู่ที่ประมาณ $450 (ประมาณ 16,500 บาท)
Intel 4004 หน่วยประมวลผลกลาง (CPU) ตัวแรกของโลก
ภาพจาก : https://en.m.wikipedia.org/wiki/File:Intel_C4004.jpg
การพัฒนา Intel 4004 มีความน่าสนใจทีเดียว โดยทางบริษัท Intel ได้ถูกก่อตั้งขึ้นในปี ค.ศ. 1968 (พ.ศ. 2511) โดยทางผู้ก่อตั้งมีวิสัยทัศน์ว่า หน่วยความจำที่ใช้เทคโนโลยีเซมิคอนดักเตอร์ (Semiconductor) จะเป็นเทคโนโลยีที่มาแทนที่หน่วยความจำแบบ Magnetic-Core Memory
โดยสินค้าแรกของบริษัท Intel แท้จริงแล้วมันคือ Intel 3101 มันเป็น หน่วยความจำ RAM ชนิด Static Random-Access Memory (SRAM) ระดับ 64 บิต ซึ่งมีความประสิทธิภาพสูงกว่าคู่แข่งในเวลานั้นเป็นอย่างมาก
Intel 3101 หน่วยความจำ RAM ชนิด SRAM ผลิตภัณฑ์แรกของบริษัท Intel
ภาพจาก : https://www.intel.com/content/www/us/en/history/virtual-vault/articles/intels-first-product-3101.html
ตัดภาพไปที่ประเทศญี่ปุ่นปี ค.ศ. 1969 (พ.ศ. 2512) Busicom บริษัทผู้ผลิตเครื่องคิดเลขในประเทศญี่ปุ่น ได้ติดต่อไปยังบริษัท Intel ให้ช่วยผลิตชุดชิปเซต 12 ตัว เพื่อนำมาใช้ในการประมวลผลภายใน Busicom 141-PF Printing Calculator เครื่องคิดเลขตั้งโต๊ะแบบพิมพ์ใบเสร็จได้
เครื่องคิดเลขตั้งโต๊ะแบบพิมพ์ใบเสร็จได้ Busicom 141-PF Printing Calculator
ภาพจาก Busicom 141-PFhttps://museum.ipsj.or.jp/en/heritage/Busicom_141-PF.html
ซึ่งในตอนนั้นบริษัท Intel ยังเป็นบริษัทหน้าใหม่ เพิ่งก่อตั้งมาได้ 2 ปี และวนเวียนอยู่แค่ในตลาดหน่วยความจำเท่านั้น เมื่อได้รับการติดต่อจาก Busicom ทาง Intel ก็ไม่อยากปฏิเสธโอกาสที่จะพัฒนาธุรกิจใหม่ จึงตัดสินใจทำข้อตกลงกับ Busicom
อย่างไรก็ตาม เมื่อ Ted Hoff วิศวกรของบริษัท Intel ได้เริ่มทำงานในโปรเจกต์นี้ เขาก็ค้นพบว่าแนวทางการออกแบบที่ Busicom ทำมานั้นมีความยุ่งยาก และซับซ้อนมาก ยากที่จะทำให้มันสามารถทำงานได้อย่างถูกต้อง เขาจึงเลือกที่จะออกแบบโครงสร้างมันขึ้นมาใหม่แทน ลดจำนวนชุดชิปเซตจาก 12 ตัว ให้เหลือเพียง 4 ตัว ซึ่งแนวคิดใหม่ที่เขาคิดขึ้นมานั้น ได้ปฏิวัติวงการคอมพิวเตอร์ไปตลอดกาล เพราะมันได้กลายเป็น Intel 4004 ซึ่งเป็นไมโครโปรเซสเซอร์ที่สามารถเขียนโปรแกรมได้ (Programmable Microprocessor) ตัวแรกของโลก ที่ได้เปิดตัวออกมาในวันที่ 15 พฤศจิกายน ค.ศ. 1971 (พ.ศ. 2514)
Ted Hoff, Federico Faggin (ผู้รับช่วงการออกแบบต่อมาจาก Ted Holf และ Stan Mazor สามวิศวกรจากบริษัท Intel ได้ร่วมมือกับ Masatoshi Shima จากบริษัท Busicom (ภายหลังได้เข้าร่วมบริษัท Intel) ได้ร่วมมือกันทำงานจนในที่สุดก็ได้เป็นชิป 4 ตัว ที่ถูกตั้งชื่อว่า "4000 Series" โดยมี Intel 4004 Microprocessor เป็นหนึ่งในนั้น
ก่อนที่จะมี Intel 4004 ชิปเซตในคอมพิวเตอร์จะมี Logic programming ที่ถูกสร้างขึ้นมาสำหรับมันโดยเฉพาะ ฝังเอาไว้ในฮาร์ดแวร์เลย แนวทางนี้ทำให้การวิจัยยุ่งยาก และพัฒนามีต้นทุนสูงมาก แถมจำนวนวิศวกรที่ต้องใช้ในการพัฒนาก็มีไม่เพียงพออีกด้วย
การมาของ Intel 4004 ทำให้ผู้ผลิตไม่ต้องพัฒนาชิปเซตเองอีกต่อไป โดยสามารถใช้ชิป Intel 4004 ซึ่งมีคุณสมบัติในการใช้ซอฟต์แวร์เขียนโปรแกรมการทำงานที่ต้องการใส่เข้าไปในตัวชิปเซตได้เลย นั่นทำให้การพัฒนาคอมพิวเตอร์ถูกลงกว่าเดิม, ประสิทธิภาพสูงกว่าเดิม และขนาดเล็กลงอีกด้วย เป็นการเปิดประตูบานใหม่ให้กับวงการไอทีอย่างแท้จริง
เกร็ดน่าสนใจ จากความร่วมมือที่เกิดขึ้นนี้ ทำให้ Busicom ได้เป็นส่วนหนึ่งของเทคโนโลยีเปลี่ยนโลก แต่ด้วยการตัดสินใจที่ผิดพลาด ทำให้ Busicom เสียโอกาสทำกำไร จนล้มละลายไปในที่สุด
โดยในตอนนั้น ยอดขายของเครื่องคิดเลขอันเป็นธุรกิจหลักของบริษัท Busicom กำลังตกต่ำอย่างหนักในระหว่างที่พัฒนาชิป 4004 นั่นทำให้ในเดือนพฤษภาคม ปี ค.ศ. 1971 (พ.ศ. 2514) เพียงไม่กี่เดือนก่อนที่ชิปจะพัฒนาเสร็จ จากปัญหาด้านการเงินที่เกิดขึ้น ทาง Busicom ได้เจรจาขอเปลี่ยนเปลี่ยนสัญญาซื้อขายใหม่ ซึ่งทางทีมที่พัฒนาชิป 4004 ได้คะยั้นคะยอให้ Robery Noyce ซีอีโอของ Intel ในตอนนั้นยอมเปลี่ยนสัญญาซื้อสิทธิ์ในการเป็นเจ้าของสิทธิ์ทั้งหมดในตัวชิปเซตยกเว้นแค่เพียงตัวเครื่องคิดเลข โดยแลกกับการจ่ายเงินลงทุน $60,000 ที่ทาง Busicom ได้ลงทุนมากลับคืนไป
เพียงไม่กี่ปีในปี ค.ศ. 1974 (พ.ศ. 2517) บริษัทก็ล้มละลายไปในที่สุด ส่วนบริษัท Intel ก็เติบโตกลายเป็นบริษัทไอทียักษ์ใหญ่อันดับต้น ๆ ของ มีกำไรต่อปีมหาศาล หากตอนนั้น Busicom อดทนต่ออีกเพียงไม่กี่เดือน ไม่แน่ว่าอาจจะได้ส่วนแบ่งกำไรก้อนโตจากการขายชิปก็เป็นได้
สำหรับภายใน CPU ประกอบขึ้นด้วยองค์ประกอบหลายส่วนทำงานร่วมกัน โดยมีองค์ประกอบหลักดังต่อไปนี้
เป็นหน่วยความจำชั่วคราวที่มีความเร็วสูงมาก ตัว CPU สามารถเข้าถึง และแก้ไขมูลในนี้ได้โดยตรง มีไว้เพื่อเก็บข้อมูลที่ทาง CPU กำลังประมวลผลอยู่ รวมไปถึงชุดคำสั่ง, ค่าของที่อยู่ (Address) และผลลัพธ์ (Result) ที่ได้จากการประมวลผล
เป็นวงจรไฟฟ้าที่มีหน้าที่ในการประมวลผลตรรกะ และหลักการทางคณิตศาสตร์ต่าง ๆ อย่างการบวก, ลบ, คูณ, หาร, มากกว่า, น้อยกว่า, และ, หรือ ฯลฯ โดยจะใช้ Registers ในการเก็บผลลัพธ์ที่อยู่ในระหว่างการประมวลผล
ตัวหน่วยควบคุม (Control Unit) จะทำงานร่วมกับอุปกรณ์ Input และ Output ของคอมพิวเตอร์ โดยมีหน้าที่ควบคุมให้คอมพิวเตอร์ทำงานตามที่กำหนดผ่านการสื่อสารระหว่าง ALU และ Register โดย Control unit จะพยายามเรียบเรียงข้อมูล และขั้นตอนการประมวลผล
Microprocessor เป็นส่วนประกอบหลักในการทำงานของ CPU โดยมันอยู่บนแผ่นวงจรพิมพ์ (Printed Circuit Board - PCB) ที่รวมระบบอิเล็กทรอนิกส์ทั้งหมดเอาไว้ในทีเดียว ซึ่ง Intel 4004 ถือเป็น Microprocessor ตัวแรกที่รวมองค์ประกอบทั้งหมดของ CPU เอาไว้ในชิปตัวเดียว
ในปัจจุบันนี้ CPU มีสถาปัตยกรรมที่ได้รับความนิยมในการใช้งานอยู่ 2 รูปแบบคือ x86 และ ARM ซึ่งความแตกต่างของสองสถาปัตยกรรมนี้ เราเคยมีบทความอย่างละเอียดไปแล้ว (ใครสนใจคลิกอ่านได้ในลิงก์นี้) ดังนั้น ในบทความนี้เราก็จะขออนุญาตอธิบายแค่พอสังเขปเท่านั้น
โครงสร้างสถาปัตยกรรมของ ARM และ x86 จะมีความแตกต่างใหญ่ ๆ อยู่ 3 ด้าน คือ
ARM เป็นสถาปัตยกรรม Reduced Instruction Set Computing (RISC) ในขณะที่ x86 เป็นสถาปัตยกรรมแบบ Complex Instruction Set Computing (CISC)
ซึ่ง RISC นั้นมีจำนวนชุดคำสั่งน้อยกว่า CISC และชุดคำสั่งพื้นฐานที่มีจะทำงานเพียง 1 คำสั่งต่อ 1 รอบสัญญาณนาฬิกา ส่วน CSIC นั้นชุดคำสั่งจะมีความซับซ้อนกว่า และสามารถประมวลผลได้หลายชุดคำสั่งต่อหนึ่งรอบสัญญาณนาฬิกา
จากเหตุผลดังกล่าว ทำให้การออกแบบ และผลิตชิป x86 นั้นมีความยากกว่ามาก ส่งผลให้ราคาของมันสูงขึ้นตามไปด้วย ในทางกันข้าม RISC ทำงานอย่างเรียบง่าย ทำให้ใช้พลังงานต่ำกว่ามาก มันจึงเป็นชิปที่เหมาะกับอุปกรณ์ที่มีข้อจำกัดด้านพลังงาน
โครงสร้างการจัดการหน่วยความจำของสองสถาปัตยกรรมนี้ก็มีความแตกต่างกัน RISC จะทำงานแบบ Register-centric เป็นหลัก ส่วน CISC จะเน้นการเข้าถึงหน่วยความจำ
โดย CISC จะมีชุดคำสั่งที่พร้อมทำงานบนหน่วยความจำโดยตรง แต่ RISC จะไม่สามารถทำแบบนั้นได้ มันจะต้องสั่งย้ายข้อมูลจาก Register มาก่อน ซึ่งการทำแบบนี้ช่วยลดพลังงานที่ต้องใช้เป็นอย่างมาก
ส่วนนี้อาจกล่าวได้ว่ามันเป็นส่วนที่ทำให้ ARM และ x86 แตกต่างกันมากที่สุด แนวคิดของ ARM (RISC) คือความเรียบง่าย สามารถรันหนึ่งชุดคำสั่งได้อย่างรวดเร็ว ในขณะที่ x86 (CISC) จะให้ความสำคัญกับการรันชุดคำสั่งที่ซับซ้อนเป็นหลัก
ดังนั้น การแปลภาษาโปรแกรม (Compliers) ให้โค้ดที่มีความซับซ้อนสูง สามารถทำงานบนอุปกรณ์ที่ใช้ชิป ARM ได้จึงเป็นงานที่ค่อนข้างยากเป็นอย่างมาก ซึ่ง x86 จะสามารถปรับตัวให้ทำงานร่วมกับภาษาเครื่อง (Machine code) ได้ดีกว่า โดยอาศัยประโยชน์จาก Microcode ซึ่งเข้ามาช่วยเป็นตัวกลางในการสื่อสาร แต่นั่นก็เป็นเหตุผลที่ทำให้ การพัฒนา x86 นั้นทำได้ยาก เพราะจำนวนโค้ดที่ต้อง Complier ลงไปมีจำนวนชุดคำสั่งมากกว่า
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |
ความคิดเห็นที่ 1
3 พฤศจิกายน 2566 19:51:56
|
||
Thanks
|
||