วันอาทิตย์ที่ 13 กุมภาพันธ์ พ.ศ. 2554

- การทำงานของ CPU

 



ซีพียูจะทำการอ่านคำสั่งเข้ามาในส่วนของ Execution Unit  ทีละ1  คำสั่งจากนั้นจึงทำการถอดรหัส หรือแปลคำสั่งนั้น พร้อมทั้งตีความตามคำสั่งว่าให้ทำอะไร?   อย่างไร? เมื่อกระทำคำสั่งในส่วนนี้เสร็จ หากมีการต้องการเปรียบเทียบ ข้อมูล เช่น จริง, เท็จ หรือมีการคำนวณทางคณิตศาสตร์เกิดขึ้นก็จะส่งไปให้ในส่วนของ Arithmetic Logic Unit (ALU) เมื่อกระทำเสร็จเรียบแล้ว จะถูกส่งออกไปยังส่วนการแสดงผล โดยผ่าน Bus Interface ซึ่งเป็นส่วนในการจัดการให้ อุปกรณ์อื่น ๆ สามารถติดต่อสื่อสารกับซีพียูได้
การ ทำงานของซีพียูจะมีการทำงานกับข้อมูลในหน่วยความจำตลอดเวลา นอกจากนี้ยังอาจจะทำคำสั่งอ่านข้อมูลมูลจากอุปกรณ์รับข้อมูลและเขียนข้อมูล ไปที่อุปกรณ์บันทึกหรือแสดงผลอีกด้วย
ให้ความหมายของคำศัพท์ที่เกี่ยวข้องกับ CPU
                2.1 Control Unit  เป็นส่วนหนึ่งของหน่วยประมวลผลกลาง (central processing unit) หน่วยควบคุม มีหน้าที่ควบคุมการทำงานทั้งหมด กล่าวคือ ควบคุมการทำงานของหน่วยคำนวณและตรรกะ ควบคุมการรับ/ส่งข้อมูลระหว่างหน่วยความจำหลัก (main memory) กับหน่วยความจำในหน่วยประมวลผลกลาง (CPU) ติดต่อและควบคุมการทำงานของหน่วยรับข้อมูลและแสดงผล (input/output unit) เป็นต้นว่า รับข้อมูลเข้ามาเก็บในหน่วยความจำ ปฏิบัติตามคำสั่งในโปรแกรมหรือชุดคำสั่ง รวมทั้งจัดการให้การทำงานเป็นไปตามขั้นตอน และแสดงผลตามคำสั่งด้วย ดู central processing unit ประกอบ
                2.2 Arithmetic and Logic Unit (ALU) เป็นส่วนหนึ่งไมโครโพรเซสเซอร์ (CPU) ที่หาผลลัพธ์เชิงเลขคณิตและปฏิบัติทางตรรกะบน operand ในคำสั่งคอมพิวเตอร์ ในบางโพรเซสเซอร์ ALU แบ่งเป็น 2 หน่วยคือ arithmetic unit (AU) และ logic unit (LU) บางโพรเซสเซอร์บรรจุมากกว่า 1 AU ตัวอย่าง หนึ่งหน่วยสำหรับปฏิบัติการ fixed-point และอีกหนึ่งสำหรับปฏิบัติการ floating-point (ในคอมพิวเตอร์ส่วนบุคคล ปฏิบัติการ floating-point บางครั้งทำโดย floating point unit บนชิปต่างหาก เรียกว่า numeric coprocessor)
                2.3 Register เป็นส่วนประกอบหนึ่งใน Microprocessor ทำหน้าที่ในการเก็บข้อมูลชั่วคราว หน่วยความจำขนายย่อยที่เก็บผลจากการคำนวณ โดยแยกพื้นที่ส่วนหนึ่งของหน่วยความจำภายในไมโครโปรเซสเซอร์มาใช้ นั่นคือ Register เป็นหน่วยความจำส่วนหนึ่งใน CPU
                2.4 Decoder วงจรถอดรหัส คือ อุปกรณ์แปลงรหัส ซึ่งจะทำงานเหมือนวงจรเข้ารหัส ก็คือเป็นวงจรเปลี่ยนรหัสต่างๆนั้นเอง (Code Translator) ดังนั้นวงจรถอดรหัส เป็นวงจรซึ่งทำที่เปลี่ยนรหัสเลขไบนารี่ที่อินพุต จำนวน N บิต ให้เป็นสายเอาต์พุตที่จำนวน M สาย โดยสารเอาต์พุตแต่ละสายจะได้รับการทำงานมาจากการจัดหมู่ของอินพุตที่เหมาะสม เพียงกลุ่มเดียว ยกตัวอย่างของวงจรถอดรหัส ได้แก่ การเปลี่ยนรหัส BCD เป็นเลขฐานสิบ ซึ่งแสดงเป็นบล็อกไดอะแกรมไว้
                2.5 Cache คือ หน่วยความจำอย่างหนึ่งซึ่งมีหน้าที่ในการเก็บข้อมูลที่เราต้องการจะใช้งานบ่อยๆ ซึ่งทำให้เราสามารถเข้าถึงข้อมูลของเราได้รวดเร็วยิ่งขึ้น โดยที่เราไม่จำเป็นต้องไปเปิดข้อมูลทั้งหมด
การประมวลผลโปรแกรมนั้นตัวโปรแกรมจะบรรจุไปด้วยข้อมูลและคำสั่ง CPU จะประมวลผลทีละคำสั่งเมื่อได้ทำการอ่านคำสั่งที่อยู่ในโปรแกรมเข้ามา การที่ CPU อ่านคำสั่งเข้ามาประมวลผลเรียก
การดึงคำสั่ง(Instruction fetch) จะอ่านเข้ามาที่ละคำสั่ง ในวงรอบการประมวลผล (Instruction cycle) แบบง่ายจะมี 2 ขั้นตอน คือ
1. วงรอบการดึงคำสั่ง (fetch cycle)
2. วงรอบการประมวลผล (execution cycle)               
การประมวลผลจะหยุดลงเมื่อ คอมพิวเตอร์ถูกปิด หรือ เกิดความผิดปกติในโปรแกรม  หรือ  พบคำสั่งหยุดการทำงานในโปรแกรม         
ความเร็วของ CPU
                4.1 Architecture สถาปัตยกรรม วิธีการเฉพาะที่ไม่มีกฎเกณฑ์ตายตัวในการออกแบบคอมพิวเตอร์ มักจะใช้ในเรื่องการออกแบบระบบติดต่อสื่อสาร เช่น สถาปัตยกรรมของเครือข่าย หรือการออกแบบและสร้างคอมพิวเตอร์บางส่วนหรือทั้งหมด โดยเฉพาะโปรเซสเซอร์ และขนาด รวมทั้งการจัดลำดับของไบต์ต่างๆมักใช้เมื่อกล่าวถึงการออกแบบทั้งหมด
                4.2 Clock สัญญาณนาฬิกา เป็นการควบคุมการในการดึงข้อมูลใหม่เข้า
มาทำงาน เนื่องจากโปรเซสเซอร์มีลักษณะการทำงานแบบซิงโครนัส(Synchronous) คือการทำงานโดยเข้าจังหวะกับสัญญาณนาฬิกาความถี่ของสัญญาณนาฬิกา ซึ่งเป็นตัวกำหนดความเร็วในการทำงานของ CPU และคอยให้จังหวะในการทำงานแก่วงจรและอุปกรณ์ต่างๆ ภายในเครื่องคอมพิวเตอร์

5. วิธีการตรวจสอบความเร็วของ CPU ทำอย่างไรได้บ้าง
ความเร็วซีพียู = ความเร็วระบบ System Bus (FSB) X อัตราตัวคูณ (Frequency Ration)
ความเร็วของCPU (CPU Frequency) ความเร็วหรือความถี่ในการประมวลผลคำสั่งในช่วงเวลา 1 วินาทีนั้น สำหรับPC ยังมีหน่วยเป็น เมกกะเฮิร์ท(MHz) กันอยู่เป็นส่วนใหญ่ ความถี่นี้จะเป็นความสามารถในการประมวลผลคำสั่งต่อ1วินาทีของซีพียูว่ามี ความสามารถเร็วแค่ไหน เช่น 600 MHz ก็หมายความว่าซีพียูนี้มีความสามารถในการประมวลผลคำสั่งได้ 600 ล้านคำสั่งต่อ1 วินาที นั่นเอง คุณนึกดูซีครับว่ามันเร็วแค่ไหน และยิ่งในปัจจุบันนี้ซีพียูมีการพัฒนาความถี่ไปถึง 1 GHz (พันล้านคำสั่งใน1วินาที) ความเร็วซีพียูจะได้ได้มาจาก 2 ค่าด้วยกัน กล่าวคือ ความเร็วของบัส กับค่าตัวคูณความเร็วบัส
สืบเนื่องจากซีพียูจะมีการทำงานภายในตัวมันเองที่ความถี่สูงกว่าความถี่ของ ระบบ บัสภายนอกหรือที่เราเรียกว่า System Bus หรือ Front Side Bus :FSB หากเป็นเช่นนี้ซีพียูเมื่อทำงานเสร็จสิ้นก็จะต้องหยุดรอให้บัสภายนอกทำการขน ถ่ายข้อมูลออกไป จึงเกิดสภาวะที่ต้องรอคอย (Wait Status) เพื่อให้บัสภายนอกทำงานให้เสร็จสิ้นก่อน จึงเท่ากับว่าถึงซีพียูจะมีความเร็วความสามารถสูงขนาดไหนก็ยังต้องเสียเวลา ให้แก่บัสภายนอกอยู่ดี ดังนั้นเพื่อเป็นการแก้ไขปัญหานี้ ผู้ผลิตจึงได้กำหนดให้ซีพียูใช้ความเร็วของ System Bus ในการทำงาน เช่นเดียวกับอุปกรณ์อื่น ๆ ที่สามารถใช้ความเร็วนี้ได้เช่นกัน ส่วนนอกเหนือจากนี้ซีพียูจะทำการคูณค่าความเร็วของ System Bus ให้ได้เท่าใดก็สุดแล้วแต่จะถูกกำหนดไว้เท่าใดนั่นเอง แต่ปกติจะไม่เกินความสามารถในการทำงานของมัน หากเกินจะถือว่าเป็นการ Over Clock ซึ่งจะทำให้ซีพียูทำงานเกินตัวและอาจเสียหายหรือไม่เสถียร และอายุการใช้งานจะสั้นลงด้วย
   
คำศัพท์เกี่ยวกับรายละเอียดต่างๆ ของ CPU
                6.1 แสดงรายละเอียดเกี่ยวกับ CPU
รายละเอียดเกี่ยวกับ CPU
ความหมาย
Processor
เป็นองค์ประกอบที่สำคัญส่วนหนึ่งของเครื่องคอมพิวเตอร์ทุกประเภทในโลก ถ้าเปรียบกับไปก็เสมือนกับเป็นมันสมองให้กับคอมพิวเตอร์นั่นเองครับ หน่วยประมวลผลกลางจะประกอบไปด้วยวงจรทางไฟฟ้ามากมาย ที่อยู่บนแผ่นซิลิกอนชิบซึ่งมีขนาดเล็กมาก ๆ
Plate Form
ระบบปฏิบัติการที่โปรแกรมประยุกต์สามารถทำงานได้ในคอมพิวเตอร์ส่วนบุคคล Windows 95 และ Macintosh มี Platform ที่ต่างกัน Platform ประกอบด้วย ระบบปฏิบัติการ โปรแกรมประสานงานระบบคอมพิวเตอร์ และ ไมโครโพรเซสเซอร์ ซึ่ง Microchip ของคอมพิวเตอร์ใช้ในการทำงานด้ายตรรกะ และจัดการการเคลื่อนย้ายข้อมูล ระบบปฏิบัติการต้องได้รับการออกแบบให้ทำงานกับคำสั่งของ ไมโครโพรเซสเซอร์
Vendor String
กลุ่มของตัวอักษร  ที่นำมาเรียงกันอยู่ภายในเครื่องหมายคำพูด ( ‘ ‘ )  และไม่สามารถนำไปคำนวณได้  มีความยาวได้สูงสุด  ถึง  255  ตัว  ถ้ายาว  0  ตัว  หมายถึงไม่มีอะไรเลยในเครื่องหมายคำพูด  แม้กระทั้งช่องว่าง  (“ )  จะเรียก  string  แบบนี้ว่า  Null  string  เช่น  ‘Bangkok’ , ‘*****’ , ‘1998’ เป็นต้น
CPU Type
คือประเภท CPU
แบ่งออกเป็น 2 ชนิดด้วยกันคือ
1.             แบบซ็อคเก็ต (Socket)
2.             แบบสล็อต (Slot)

รายละเอียดเกี่ยวกับ CPU
ความหมาย
Family
CPU รุ่นต่างๆ
Model
ต้นแบบ แบบจำลอง
Stepping ID
 หมายเลขที่ใช้ระบุจำนวนของการปรับปรุงรุ่นของ CPU
Name String
ชื่อของ CPU แต่ละรุ่น

                6.2 แสดงความถี่ที่ใช้กับ CPU
ความถี่ที่ใช้กับ CPU
ความหมาย
Internal Clock
นาฬิกาแบบติดตั้งภายในเครื่องคอมพิวเตอร์
System Clock
นาฬิกาในเครื่องคอมพิวเตอร์ซึ่งควบคุมโดยระบบปฏิบัติการของเครื่อง
System Bus
เป็นสัญญาณนาฬิกาที่คอยให้จังหวะในการทำงานแก่บัส(Bus) ซึ่งเป็นเส้นทางลำเลียงข้อมูลระหว่างอุปกรณ์ต่างๆ เช่น บัสที่เชี่ยมระหว่างซีพียูกับชิปเซ็ตนั้นเอง เรียกว่า Front Side Bus(FSB)
Multiplier
ค่าวัดอัตราส่วนความเร็ว Clock ภายในของ CPU เทียบกับความเร็วรอบนาฬิกาทั่วไปตัวคูณของความเร็วบัสของเมนบอร์ด (External BUS Speed) ที่ทำให้ความถี่เท่ากับความเร็วของซีพียู ( Internal Frequency) เช่น 1.5 , 2.0 , 2.5









                6.3 แสดงหน่วยความจำ (Cache) ภายในตัว CPU
หน่วยความจำ (Cache) ภายในตัว CPU
ความหมาย
L1 I-Cache
CACHEที่สร้างลงบน chip CPU หรือเรียกอีกอย่างว่า Internal CACHE มีขนาดเล็ก
L1 D-Cache
หน่วยความจำแคช มีขนาดความจุ พอสมควร ความเร็วรองลงมาจาก L1 อยู่ใน CPU เหมือนกัน มีประโยชน์คือใช้ในการ fetch ข้อมูลที่ต้องเรียกใช้บ่อยๆมาเก็บที่ cache ทำให้เวลา CPU ติดต่อกับ cache ทำได้รวดเร็วขึ้น
L2 Cache
CACHE ที่อยู่ระหว่าง CPU กับ DRAM หรือเรียกอีกอย่างว่า external CACHE แต่มีขนาด ใหญ่กว่า CACHE ชนิด L1 มาก แต่ในปัจจุบันมี CACHE L2 ของคอมพิวเตอร์บางรุ่นอยู่บน Chip CPU เช่น Chip ของ intel Pentium II
L2 Speed
หน่วยความจำแคช มีความจุมากที่สุด

                6.4 แสดงถึงเทคโนโลยีที่ CPU สนับสนุนในการใช้งาน
เทคโนโลยีที่ CPU สนับสนุนในการใช้งาน
ความหมาย
MMX
MultiMedia eXtension คือ เป็นชุดคำสั่งเพื่อให้ช่วยเพิ่มความสามารถในด้าน Multimedia   เพื่อจัดการกับงานในมัลติมีเดีย โดยเพิ่มประสิทธิภาพของโปรแกรมทำงานเกี่ยวกับระบบเสียง (Audio) ภาพกราฟิก 2 มิติ ( 2D ) ภาพกราฟิก 3 มิติ ( 3D ) ,ภาพเคลื่อนไหวต่างๆ และรวมไปถึงระบบการวิเคราะห์และจดจำเสียงพูด ( Voice Recognition ) และการสื่อสารผ่านโมเด็ม
SSE
Streaming SIMD Extension
เป็นชุดคำสั่งแบบ SIMD ที่ทาง Intel เพิ่มเข้าไปใน CPU ของตน ซึ่งก็เหมือนกับ MMX และ 3DNow! ( ของ AMD ) เพียงแต่ MMX นั้น เป็น SIMD สำหรับการประมวลผลเลขจำนวนเต็ม แต่ SSE นั้น เน้นด้าน ทศนิยมเป็นหลัก และ ยังใช้งานได้กว้างขวางกว่า 3DNow! ของ AMD อีก เพราะไม่ได้จำกัดแค่ Application ด้าน 3D เท่านั้น SSE นั้น เป็นชุดคำสั่ง 70 คำสั่ง ที่มีคำสั่งในการประมวลผลเชิงทศนิยม อยู่ 50 คำสั่ง ... เป็น ชุดคำสั่ง MMX ใหม่ ซึ่ง Compat กับ MMX เดิม 57 คำสั่ง อีก 12 คำสั่ง และ เป็นชุดคำสั่งที่จัดการเกี่ยวกับ Cache อีก 8 คำสั่ง
SSE2
ชุดคำสั่งสำหรับการประมวลผลทางด้านมัลติมีเดียโดยเฉพาะ ชุดคำสั่งเหล่านี้จะช่วยให้โปรแกรมเมอร์สามารถออกแบบแอพพลิเคชันที่มีความ สามารถมากขึ้นได้ โดยอาศัยชุดคำสั่งสำเร็จรูปเหล่านี้ เช่น Photoshop 6.0 ซึ่งสนับสนุนชุดคำสั่ง SSE2 จะทำงานได้เร็วขึ้นและสวยงามยิ่งขึ้น สำหรับจุดเด่นพิเศษของ SSE2 ก็คือ มีชุดคำสั่งใหม่อีก 144 คำสั่ง
SSE3
Streaming SIMD Extension 3 นั้น เป็นชุดคำสั่งพิเศษที่ทาง Intel เริ่มใช้กับ Pentium4 Prescott โดยเป็นชุดคำสั่งพิเศษอีก 13 คำสั่ง เพื่อทำงานพิเศษเฉพาะทาง โดยทาง Intel นั้น ก็ได้เปิดตัว SSE3 มาตั้งแต่ กลางปีที่แล้ว ( ค.ศ. 2003 ) แต่จนถึงปัจจุบัน ก็ยังไม่ค่อยมี Program ไหนที่ใช้ความสามารถของ SSE3 ได้อย่างเต็มที่
MMX+
โปรเซสเซอร์ หรือหน่วยประมวลผลกลางแบบ Pentium รุ่น MMX ของบริษัท อินเทลคะ ออกมาในปลายปี พ.ศ. 2539  เป็นการนำ Pentium มาเพิ่มความสามารถทางด้านมัลติมีเดียเข้าไปเพื่อประมวลผลข้อมูลประเภทภาพและ เสียง ตลอดจนการแสดงภาพเคลื่อนไหวต่างๆ เป็นต้น เรียกเป็นชุดคำสั่ง MMX (Multi Media Extension) ทางอินเทล ให้รหัสเพนเทียม MMX ว่า P55C ซึ่งหมายถึงเพนเทียมที่ผลิตในยุคการพัฒนาที่ 5 และเป็นอนุกรมหนึ่งของเพนเทียม (Fifth Generation of CPU หรือ x586)
3D Now!
เป็นชุดคำสั่งใหม่ ที่ทาง AMD เป็นผู้คิดค้น และ พัฒนา โดยจะมีคำสั่งใหม่ๆ ที่เพิ่มเติมเข้ามาอีก คำสั่งที่ใช้งานในแบบ SIMD ( Single Instruction Multiple Data stream ) เพื่อ เพิ่มประสิทธิภาพในด้านการคำนวนเชิงทศนิยม รวมถึงได้แก้ไขปัญหาคอขวด ( BottleNeck ) ของ 3D Graphics Pipeline ระหว่าง CPU และ 2D/3D Graphic Card
3D Now!+
จะเข้าไปช่วยในส่วนที่มีการคำนวนของ FPU หนักๆ ทั้ง 3 ขั้นตอน ทำให้ได้ผลลัพธ์จากส่วนที่ต้องประมวลผลที่ CPU เพื่อให้ chip 3D รับไปประมวลผลต่อ มีมากยิ่งขึ้น ซึ่งก็คือช่วยลดปัญหาคอขวดลง






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

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