วันพฤหัสบดีที่ 12 พฤศจิกายน พ.ศ. 2552

CPU


CPU

CPU (Central Processing Unit) หรือ โปรเซสเซอร์ (Processor) คือ ส่วนหนึ่งของเครื่องคอมพิวเตอร์ที่มีหน้าที่ควบคุมกา รทำงานของส่วนอื่นๆ โดยทั่วไปแล้ว ซีพียูจะประกอบไปด้วย หน่วยควบคุม (Control Unit), หน่วยประมวลผลคณิตศาสตร์และตรรกศาสตร์ (Arithmetic and Logic Unit; ALU) และหน่วยความจำ ได้แก่ รีจีสเตอร์ (Register), แคช (Cache), แรม (RAM) และรอม (ROM)

โครงสร้างและสถาปัตยกรรมภายใน
ในปี 1971 อินเทลได้ผลิตซีพียูรุ่น Intel 4004 ออกจำหน่ายเป็นเจ้าแรก โดยบรรจุทรานซิสเตอร์ 2,300 ตัว แต่ถึงวันนี้ซีพียูเพนเทียมโฟร์ สามารถบรรจุทรานซิสเตอร์ได้มากถึง 55 ล้านตัวเลข ปกติแล้วซีพียูหนึ่งตัวจะประกอบด้วยทรานซิสเตอร์ขนาดเล็กมากเป็นจำนวนลานๆตัว ที่ถูกสร้างขึ้นโดยกระบวนการที่ซับซ้อน เพื่อสร้างวงจรลงนบแผ่นซิลิกอนบางๆขนาดเล็กพร้อมเส้นทางเชื่อมต่อ ซึ่งทรานซิสเตอร์ขนาดจิ๋วเหล่านี้จะเก็บสัญญาณไฟฟ้าที่แทน 0 และ 1 ซึ่งก็คือรหัสไบนารี่ หรือเลขฐาน 2 ซึ่งเป็นภาษาที่คอมพิวเตอร์ใช้ในการติดต่อสื่อสาร โดยทั้งหมดนี้จะมีการใช้สัญญาณนาฬิกา จากผลึกคริสตัลเป็นตัวสร้างความถี่เพื่อกระตุ้นการทำงาน

หน่วยประมวลผล (CPU : Central Processing Unit)
หมายถึงอุปกรณ์ที่ทำหน้าที่ประมวลผลคำสั่ง เปรียบเสมือนสมองของคอมพิวเตอร์ ที่ผู้ใช้ป้อนคำสั่งให้โดยผ่านทางอุปกรณ์รับข้อมูล หน่วยประมวลผลหรือเขียนเต็มๆก็คือ การประมวลผลเป็นหน้าที่หลักของซีพียู ซึ่งการประมวลผลนี้จะรวมทั้งการคำนวณและการจัดการข้อมูล สำหรับการคำนวณจะใช้วงจรเฉพาะที่มีชื่อว่า ALU Arithmetic and Login Unit และมีวงจรควบคุม CU Control Unit เป็นผู้ดูแลการทำงานของซีพียู


โครงสร้างและสถาปัตยกรรม จะประกอบด้วยส่วนต่างๆดังต่อไปนี้
หน่วยประมวลผลทางคณิตศาสตร์และตรรกะ ALU : Arithmetic and Logic Unit หน่วยที่ทำหน้าที่นำเอาข้อมูลที่เป็นตัวเลขฐานสอง มาประมวลผลทางคณิตศาสตร์ เช่น การบวก การลบ และการเปรียบเทียบในเชิงตรรกะ เช่น AND OR NOT Exclusive OR และการทำคอมพลีเมนต์ เป็นต้น
หน่วยควบคุม CU : Control Unit หรือวงจรควบคุม Control Circuitry ทำหน้าที่ควบคุมการทำงานของซีพียูและจัดสรรสัญญาณนาฬิกาส่งออกไปให้ส่วนต่างๆ อ้างอิงในการทำงาน


รูปแสดงโครงสร้างของสถาปัตยกรรมภายในซีพียู

หน่วยประมวลผลทางคณิตศาสตร์และตรรกะ
ซีพียูจะใช้หน่วย ALU ในการคำนวณหรือประมวลหรือ ผลข้อมูล/ ชุดคำสั่ง ส่วนคำนวณทำหน้าที่หลักๆ สองประการคือ ประการแรกทำการบวก ลบ คูณ และหาร ซึ่งนอกจากหน่วย ALUจะทำหน้าที่เป็นเครื่องคำนวณในการบวก ลบ คูณ หารตัวเลขแล้ว ยังมีความสามารถในเชิงตรรกศาสตร์อีกด้วย โดยสามารถเปรียบเทียบเงื่อนไขตามกฎเกณฑ์ทางคณิตศาสตร์ เช่นเปรียบเทียบจำนวน 2 จำนวนตามเงื่อนไข มากกว่า น้อยกว่า เท่ากัน หรือไม่เท่ากับ เพื่อให้ได้คำตอบออกมาว่าเงื่อนไขนั้นเป็นจริง T หรือเท็จ F เป็นต้น ซึ่งรูปแบบของการคำนวณทางคณิตศาสตร์และตรรกะ จะอยู่ในรูปของเลขฐานสองหรือข้อมูลแบบไบนารี่ สามารถทำการบวก เพื่อรวมข้อมูลของรีจีสเตอร์ 2 ตัวเข้าด้วยกัน นอกจากนี้ยังมีวงจรสำหรับทำการลบได้โดยตรงอีกด้วย
ในบางกรณีรีจีสเตอร์อาจมีขนาดเล็กกว่าขนาดของอินสตรัคชันได้ เช่น มีขนาดเป็นครึ่งหนึ่งของอินสตรัคชัน ขึ้นอยู่กับการออกแบบโพรเซสเซอร์
นั้นๆ
หน่วยควบคุมหรือวงจรควบคุม
ในการประมวลผลข้อมูล ซีพียูจะต้องมีหน่วยควบคุมเพื่อที่จะบอกให้ซีพียูรู้ว่าจะแปลคำสั่ง Decode และปฏิบัติการตามคำสั่ง Execute ของโปรแกรมอย่างไร และยังต้องควบคุมการทำงานของส่วนต่างๆ ในระบบคอมพิวเตอร์ ไม่ว่าจะเป็นควบคุม และจัดสรรสัญญาณนาฬิกาส่งออกไปให้ส่วนต่างๆอ้างอิงในการทำงาน ตัวอย่างที่เห็นได้ชัด เช่น การควบคุมลำดับขั้นตอนการประมวลผล การประสานงานระหว่างหน่วยประมวลผล กลางกับหน่วยความจำ เป็นต้น
เส้นทางเดินข้อมูลหรือสัญญาณ (bus)
ในการทำงานของระบบคอมพิวเตอร์ จำเป็นต้องมีระบบบัสซึ่งเป็นเส้นทางขนส่งข้อมูล และสัญญาณต่างๆ เพื่อให้อุปกรณ์ภายในคอมพิวเตอร์สามารถติดต่อสื่อสาร และแลกเปลี่ยนข้อมูลกันได้นั่นเอง ก็จะคล้ายกับเส้นเลือกในร่างกายของมนุษย์บัสที่เชื่อมระหว่างอุปกรณ์ต่างๆ เพื่อใช้ในการติดต่อสื่อสารนั้น จะมีการตั้งชื่อเอาไว้ด้วย โดยเรียกตามวัตถุประสงค์ของการใช้งาน ไม่ต่างกับการเรียกชื่อถนนในที่ต่างๆ ทำให้ทราบตรงกันว่ากำลังพูดถึงเส้นทางหรือถนนไหนนั่นเอง แต่โดยหลักๆแล้วมีอยู่ 3 ประเภทได้แก่ Address bus, Data bus, Control bus
แอดเดรสบัส (Address bus)
ใช้ส่งข้อมูลประเภทที่อยู่ (Address) ของอุปกรณ์ต้นทาง (Source) และอุปกรณ์ปลายทาง (Destination) เพื่อเป็นแหล่งอ้างอิงก่อนที่จะทำการส่งข้อมูลบน Data bus ขนาดของแอดเดรสบัสแยกตามรุ่นของโพรเซสเซอร์
ดาต้าบัส Data bus
ดาต้าบัส คือเส้นทางที่เชื่อมระหว่างโพรเซสเซอร์ กับหน่วยความจำ หรือหน่วยความจำกับอุปกรณ์อินพุต/เอาต์พุต ขนาดของดาต้าบัสแยกตามชนิดของโพรเซสเซอร์
คอนโทรลบัส (Control bus)
คอนโทรลบัส คือทางเดินสำหรับสัญญาณควบคุมการทำงานของส่วนต่างๆ ระหว่างโพรเซสเซอร์กับหน่วยความจำและอุปกรณ์อินพุต / เอาต์พุต ตัวอย่างเช่น
• IRQ – Interrupt requests ใช้ร้องขอการอินเตอร์รัพต์การทำงานของซีพีย ูเพื่อเปิดโอกาศให้ทำงานพิเศษที่มีการติดต่อเข้ามา • BCLK- Bus clock คือสัญญาณนาฬิกาในระบบบัส • DRQ- DMA requests ใช้ร้องขอการส่งข้อมูลจากอุปกรณ์อินพุต/เอาต์พุตโดยตรงไปยังหน่วยความจำหลัก

ความเร็วซีพียู
ความเร็วของซีพียูจะขึ้นอยู่กับตัวให้จังหวะการทำงาน หรือวงจรกำเนิดสสัญญาณนาฬิกา ทำหน้าที่จ่ายสัญญาณให้กับส่วนต่างๆ เพื่อให้แต่ละส่วนมีการทำงานที่เป็นจังหวะ ซึ่งจะทำให้ทุกส่วนมีการทำงานที่สัมพันธ์กัน นอกจากนั้นยังแสดงถึงความเร็วในการประมวลผลอีกด้วย เราสามารถเปรียบจังหวะของสัญญาณ นาฬิกาได้กับจังหวะการเต้นของหัวใจมนุษย์ โดยเรียกสัญญาณนาฬิกานี้ว่า “Clock” ซึ่งสัญญาณนาฬิกานี้ก็คือ ความถี่ในการส่งสัญญาณของแหล่งกำเนิดไปยังส่วนต่างๆ ซึ่งมีหน่วยวัดเป็นจำนวนรอบต่อวินาทีที่เราเรียกกันว่า “เฮิรตซ์” (Hz) นั่นเอง โดยความเร็วซีพียูจะมีหน่วยเป็นเมกะเฮิรตซ์ (MHz – ระดับล้านครั้งต่อวินาที) แต่ในปัจจุบันนี้ซีพียูมีความเร็วขยับขึ้นสูงถึงระดับ กิกะเฮิรตซ์ (GHz – ระดับพันล้านรอบต่อวินาที) ถ้าซีพียูตัวใดมีความถี่ของสัญญาณนาฬิกาสูง ก็แสดงว่าซีพียูตัวนั้นสามารถประมวลผลได้ที่ความเร็วสูง
วงจรกำเนิดสัญญาณนาฬิกานั้นจะไม่ได้อยู่ในซีพียู แต่จะเป็นวงจรที่พบได้บนเมนบอร์ด (Mainboard) ซึ่งเป็นแผ่นวงจรหลักของเครื่องคอมพิวเตอร์ โดยบนเมนเบอร์ดจะมี Clock Chip ซึ่งเป็นชิปขนาด 32 ขา ยาวประมาณ ? - ? นิ้ว โดยจะติดตั้งอยู่ใกล้กับ Clock Crytal ที่มีลักษณะเป็นกระป๋องทรงแบบสีเงินยาวประมาณ ? - 1/8 นิ้ว ตัวอย่างของ Clock Chip และ Clock Crytal ดังนี้




หน่วยความจำแคช (Cache Memory)

ตามกฎของมัวร์ (Law’s Gordon Moore) ได้กล่าวไว้ว่า “พลังของไมโครโพรเซสเซอร์นั้นจะเพิ่มขึ้นเป็นสองเท่า ในทุกๆ 18 เดือน” กฎนี้สามารถนำมาใช้ได้อย่างถูกต้อง แต่ปัญหาใหญ่ที่เกิดขึ้นกับหน่วยความจำนั้น ก็คือ การพัฒนาทางด้านความเร็วของหน่วยความจำไล่ตามซีพียูไม่ทันเนื่องจากเทคโนโลยีการผลิตวงจรรวม (Integrated Circuit) พัฒนาไปเร็วมาก ทำให้ซีพียูที่ผลิตออกมานับวันจะมีความเร็วสูงขึ้นเรื่อยๆ จึงทำให้เกิดปัญหาด้านความเร็วที่ต่างกันระหว่างซีพียูกับแรมมีมากขึ้นตามไปด้วย เป็นเหตุให้ประสิทธิภาพการทำงานของซีพียูต่ำลง เนื่องจากซีพียูไม่สามารถทำงานได้เต็มขีดความสามารถของมัน จึงเกิดแนวความคิดที่จะสร้างแคช Cache ขึ้นภายในซีพียู ซึ่งแคชก็คือหน่วยความจำขนาดเล็กที่มีความเร็วสูงมากๆ หน้าที่ของแคชก็คือ จดจำคำสั่งและผลลัพธ์ที่ใช้บ่อยๆ ไว้ เพื่อใช้ในการประมวลผลคราวต่อๆไป ซีพียูจะได้ไม่ต้องเสียเวลาประมวลผลซ้ำอีก ยิ่งมีขนาดของแคชใหญ่ ก็ยิ่งจดจำคำสั่งได้มากขึ้น การเก็บข้อมูลภายในแคชนั้นไม่สามารถเก็บข้อมูลทั้งหมดได้ เนื่องจากขนาดที่เล็ก ดังนั้นการเก็บข้อมูลภายในแคช จึงเป็นการเก็บแต่เฉพาะข้อมูลสำคัญที่มีการเรียกใช้บ่อยๆ เพื่อเวลาที่ซีพียูต้องการเรียกใช้ข้อมูลนั้นๆอีก ก็สามารดึงจากแคชได้ทันที ความเร็วของแคชนั้นจะสูงกว่าแรมมาก และถูกสร้างอยู่ใกล้กับหน่วยประมวลผลมากขึ้น จึงทำให้การประมวลผลทำได้รวดเร็วขึ้น ซีพียูตัวแรก ที่เจอข้อจำกัดของความเร็วนั้นก็คือ ซีพียูรุ่น 486DX2 ซึงทำงานที่ความเร็วเป็นสองเท่าของบัสระบบ ซึ่งเป็นเส้นทางที่ใช้ติดต่อระหว่างซีพียูกับหน่วยความจำหลัก (ปัจจุบันเรียกสั้นๆว่า FSB : Front Side Bus) เพื่อลดปัญหาด้านความเร็วระหว่างซีพียูกับหน่วยความจำหลัก ทางผู้ออกแบบนั้นใส่ SRMA (SRAM ทำงานเร็วกว่า DRAM มากๆ ) จำนวนเล็กน้อยลงไปบนเมนบอร์ดเพื่อใช้เก็บข้อมูลที่ถูกใช้ไปก่อนหน้า ทำให้ซีพียูสามารถดึงข้อมูลจากแคชบนเมนบอร์ดมาใช้ได้อย่างรวดเร็ว

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