CPU : Central Processing Unit
Total Page:16
File Type:pdf, Size:1020Kb
CComputeromputer AArchitecturerchitecture CPUCPU By Nuttapon Sanpote (( CCentralentral PProcessingrocessing UUnitnit )) E-mail : [email protected] Semester 1, 2007 http://www.ict.pyo.nu.ac.th/nuttapons/ComArch.html Central Processing Unit Components of Processor A B Program Memory ALU Counter Address Y Register Data Bus Control Bus Register Multiplexer Address Bus หนวยประมวลกลาง (CPU : Central Processing หนวยประมวลกลาง File Unit) เรเรียกอี ีกอยี างหน ึ่งวึ่ า “ โปรเซสเซอร (Processor)” Instruction มีหนี าท ี่ดี่ ังตั อไปน ี้ี้ Register ประมวลผลขอม ูลตู างๆ Control Unit Clock System Bus ควบคุมการทุ ํางานของสํ วนต างๆ ภายในเครื่องคอมพื่ ิวเตอริ ภาพแสดงโครงสรางพื้นฐานของโปรเซสเซอร Components of Processor Components of Processor (con.) โครงสรางพ ื้นฐานของโปรเซสเซอรื้ โครงสรางพ ื้นฐานของโปรเซสเซอรื้ (ตอ ) 1. หนวยคํานวณทางคณิตศาสตรและตรรกะ (ALU) เปนวงจรที่มี 2 4. หนวยควบคุม (Control Unit) เปนการถอดรหัสในรีจีสเตอรคําสั่ง อินพุต(A และ B) และมีผลลัพธอยูทางดานเอาทพุต (ที่เปน Y) มี และกําหนดสัญญาณในการควบคุมการทํางานของโปรเซสเซอร โอเปอเรชันขั้นตนคือ บวก (add), ลบ (abstract), และ (And) 5. สัญญาณนาฬิกา (Clock) เปนการควบคุมการในการดึงขอมูลใหมเขา 2. รีจีสเตอรไฟล (Register File) เปนชุดของตําแหนงชั่วคราว มาทํางาน เนื่องจากโปรเซสเซอรมีลักษณะการทํางานแบบซิงโครนัส 3. อินสตรัคชันรีจีสเตอร (Instruction Register) เปนช ุดของตําแหนง (Synchronous) คือการทํางานโดยเขาจังหวะกับสัญญาณนาฬิกา ชั่วคราวที่เก็บคําสั่งปจจุบันที่ถกเอู กซ็ ีคิวตโดยโปรเซสเซอร 6. โปรแกรมเคาเตอร (Program Counter) ใชเก็บที่อยูของหนวยความ จําของคําสั่งตอไปที่จะถูกเอ็กซีคิวต Components of Processor (con.) Components of Processor (con.) โครงสรางพ ื้นฐานของโปรเซสเซอรื้ (ตอ ) โครงสรางพ ื้นฐานของโปรเซสเซอรื้ (ตอ ) 7. เมมโมรีแอ็คเดรสรีจีสเตอร (Memory Address Register) เปน 10. คอนโทรลบัส (Control Bus) บัสนี้มีหนาที่ควบคุมรูปแบบการสง รีจีสเตอรที่ถูกโหลดดวยที่อยูของขอมูลตอไปที่มาจากหนวยความจํา ขอมูลและควบคุมดีไวตที่จะทําการรับขอมูล หลัก 11. บัสรวม (Multiplexed Bus) บัสพิเศษที่โปรเซสเซอรที่มีประสิทธ ิ 8. แอ็คเดรสบัส (Address Bus) เปนบัสที่ใชในการถายโอนแอ็คเดรส ภาพสูงแยก Address Bus และ Data Bus ออกจากกันเพื่อลด ไปยังหนวยความจําและอุปกรณตอพวงที่มีการแม็พหนวยความจํา ความซ้ําซอนของบัส 9. ดาตาบัส (Data Bus) เปนบ ัสที่นําขอมูลจากโปรเซสเซอร อุปกรณตอ พวงหรือหนวยความจํา Processor Architecture Processor Architecture (con.) สถาปตยกรรมโปรเซสเซอร สถาปตยกรรมโปรเซสเซอร (ตอ ) CISC (Complex Instruction Set Computing) เปนสถาปต RISC (Reduced Instruction Set Computing) เปนสถาปต กรรมของออกแบบโปรเซสเซอร เพิ่มขีดความสามารถของคําสั่งทําให กรรมของออกแบบโปรเซสเซอร ที่ถกลดคู ําสั่งลงใหเหลือคําสั่งพื้นฐาน คําสั่งหนึ่งตองทํางานเพิ่มขึ้นและซับซอนมากยิ่งขึ้น โดยมีตองมีการ มากที่สุด แลวใชหลักการทํางานแบบ Pipeline โดยมุงที่ประสิทธิภาพ สนับสนุนชุดคําสั่งใหมๆ เพิ่มขึ้นมา โดยจะทําใหการออกแบบวงจร ของฮารดแวร ทําใหคอมพิวเตอรแบบ RISC ทํางานไดเร็วกวาแบบ ภายในซับซอนมาก แตงายกับโปรแกรมเมอรในการเรียนรูคําสั่ง CISC สวนมากจะพบในเครื่องระดับเวิรคเตชันขึ้นไป เชน SPARC โปรเซสเซอรที่ใชสถาปตยกรรมนี้ไดแก 80386, 80486 จนถึง Pentium 4 Speed of CPU Calculation of CPU Speed ความเร็วของ็ CPU การคํานวณความเรํ ็วของ็ CPU ความเร็วของ CPU ก็คือ “ ความถี่ของสัญญาณนาฬิกา ” ซึ่งเปน ตัวกําหนดความเร็วในการทํางานของ CPU และคอยใหจังหวะในการ ความเร็วของสัญญาณนาฬิกาภายใน CPU = ตัวคูณ x ความเร็วของ FSB ทํางานแกวงจรและอุปกรณตางๆ ภายในเครื่องคอมพิวเตอร สัญญาณนาฬิกาภายใน CPU คือ สัญญาณที่ใหจังหวะในการทํางาน Ex. CPU MHz GHz ภายใน ไดแก หรือ CPU Pentium 4 3.0 GHz ทางานทํ ี่ FSB ความเร็ว 200 MHz และมีตัว สัญญาณนาฬิกาภายนอก CPU คือ สัญญาณที่ใหจังหวะในการทํางาน คูณเปน 15 จะมี BUS CPU Front แก ที่ ใชรับสงขอมูลกับหนวยความจํา ไดแก ความเร็วของสัญญาณนาฬิกาภายใน CPU = 15 x 200 Side Bus (FSB) = 3000 MHz Central Processing Unit Central Processing Unit เทคนเทคนิคในการแสดงความเริ ็วส็ ุทธุ ิิ (effective bus speed) โดยปกติแลว FSB ในเครื่องรุนใหมๆ จะมีความเร็วอยูที่ 100-200 MHz แตบางครั้งอาจมีการบอกความเร็วของ FSB ที่สูงกวานี้ เชน 400, 533, 800, 1060 MHz นั่นคือ “ ความเร็วสุทธิ (effective bus speed) “ เกดจากริ ับขอมูล AMD ตั้งแตรุน Sempron และ Athlon XP จะใชเทคนิค Double เกินกวา 1 ครั้งในการทํางาน 1 รอบสัญญาณนาฬิกา โดยที่ CPU แตละคายจะมี Data Rate คือ เพื่อรับสงขอมูล 2 ครั้ง ในแตละรอบสัญญาณนาฬิกา รับขอมูลแตกตางกันดังนี้ Intel ตั้งแตรุน Celeron D และ Pentium 4 จะใชเทคนิค Quad- Pumped คือ เพื่อรับสงขอมูล 4 ครั้ง ในแตละรอบสัญญาณนาฬิกา Cache Memory Cache Level หนวยความจ ําแคชํ (Cache Memory) ระดบของแคชัั (Cache Level) เปนหนวยความจําขนาดเลกท็ ี่มีความเร็วสูงมากๆ แคชระดับที่ 1 (L1 Cache หรือ Level 1 Cache) มีหนาที่ในการจดจําคําสั่งและผลลัพธที่ใชบอยๆ ไวเพื่อใชประมวลผลใน มีชื่อเรียกอีกอยางหนึ่งวา Internal Cache โดยจะมีขนาดไมใหญ คราวตอไป ยิ่งแคชมีขนาดใหญก็สามารถที่จะจดจําคําสั่งไดมากยิ่งขึ้น มากนัก อยูในชวง 16 – 64 Kb เนื่องจากมีราคาสูง ถูกสรางขึ้นใหอยูใกลกบหนั วยประมวลผล CPU Processing Unit CPU Cache RAM L1 Cache Cache Level (con.) Cache Level (con.) ระดบของแคชัั (Cache Level) (ตอ ) CPU แคชระดับที่ 2 (L2 Cache หรือ Level 2 Cache) Processing Unit มีสองแบบคือ แบบที่อยูบนซีพียูเลย (Internal Cache) หรือที่ เรียกวา “ On-Die ” และแบบที่อยูภายนอกซีพียู (External Cache) L1 Cache หรือที่เรียกวา “ Off-Die ” L2 Cache RAM ภาพแสดงแคชระดับ 2 ที่ถูกสรางอยูภายใน CPU Cache Level (con.) Cache Level (con.) CPU ระดบของแคชัั (Cache Level) (ตอ ) Processing Unit แคชระดับที่ 3 (L3 Cache หรือ Level 3 Cache) เปนแคชแบบเฉพาะของทาง AMD โดยมีการใส Cache ลงไปบน L1 Cache เมนบอรดเลย L2 Cache RAM ภาพแสดงแคชระดับ 2 ที่ถูกสรางอยูบนแผนการด CPU Cache Level (con.) Development of CPU CPU การพัฒนาการผลั ิติ CPU Processing Unit CPU ผลิตจากแผนซิลิกอนที่มีการบรรจุทรานซิสเตอรลงไปนับลานๆ ตัว โดยใชเทคโนโลยีการผลิตสารกึ่งตัวนําแบบ “ ซีมอส (CMOS : Complementary Metal-Oxide Semiconductor) ” การระบุวา CPU รุนนี้ใชเทคโนโลยีการผลิตแบบ L1 Cache ใดนั้น จะดูจากคาความละเอียดลายวงจร ซึ่งก็คือระยะหางของทรานซิสเตอรแต ละตัวที่อยูติดกัน เชน 0.35 ไมครอน, 0.25 ไมครอน , 0.18 ไมครอน หรือ L2 Cache L3 Cache RAM 0.13 ไมครอน (Pentium 4) ภาพแสดงแคชระดับ 3 ที่ถูกสรางอยูบนเมนบอรด Development of CPU Development of CPU เทคโนโลยเทคโนโลยการพีี ัฒนาการผลั ิติ CPU CPU ที่ผลิตดวยเทคโนโลยีการผลิตที่มีความละเอียดสูงๆ นั้น จะมีการเพิ่ม ประสิทธิการทํางาน โดยดูไดจากปจจัยดังตอไปนี้ สามารถบรรจุทรานซิสเตอรไดมากขึ้น เพื่อทําใหสามารถสรางวงจรการ คํานวณที่ซับซอน หลากหลายและมีประสิทธิภาพที่ดีขึ้น สามารถผลิต CPU ที่มีความเร็วสูงๆ ได เนื่องจากระยะหางทรานซิสเตอร นอยลง จะทําใหการเดินทางของขอมูลในซีพียูทําไดเร็วขึ้น สงผลใหมี ความเร็วในการทํางานเพิ่มขึ้น กินไฟนอยลง ทําใหประหยัดพลังงานและลดความรอนจากการทํางาน ภาพแสดงโครงสรางภายในของ CPU Multimedia for CPU Multimedia for CPU เทคโนโลยเทคโนโลยชีี ุดคุ ําสํ ั่งสั่ ําหรํ ับงานั ทางดานม ัลั ติมิ ิเดิเดยของีี CPU Intel MMX มีการเพิ่มชุดคําสั่งมาอีก 57 คําสั่ง ถูกนํามาใชในซีพียูอินเทล เปนชุดคําสั่งที่ผูผลิต CPU คิดคนขึ้นมาเพื่อใชกับงานทางดานมัลติมิเดีย ที่เรียกวา “ Pentium MMX ” โดยใชเทคนิคแบบ SIMD (Single Instruction โดยเฉพาะ เนนไปที่ชุดคําสั่งที่จะชวยให CPU ประมวลผลดานเลขทศนิยม Multiple Data) โดยที่เทคนิคนี้จะชวยใหการประมวลผลดวยคําสั่งเดียว แต ตางๆ ในการคํานวณการแสดงกราฟในแบบ 3 มิติ การคํานวณดานการแสดง ไดผลลัพธออกมามากกวา 1 ผลลพธั เรียกการประมวลผลแบบนี้วา ภาพและเสียง โดยมีเทคโนโลยีตางๆ ดังนี้ “ Parallel Processing หรือ การประมวลผลแบบขนาน” Intel SSE เดมชิ ื่อ MMX2 แตเปลี่ยนมาเปน KNI (Katmai New Instruction) มีการเพิ่มชุดคําสั่งมาอีก 70 คําสั่ง โดยจะเนนที่การประมวลผลทศนิยมมาก ขึ้น Multimedia for CPU model of CPU Intel SSE2 เปนชุดคําสั่งที่ใชกับ Pentium 4 มีการเพิ่มชุดคําสั่งมาอีก 144 Intel 8086/8080 คําสั่ง อีกทั้งยังขยายขนาดของ SIMD จาก 64 bit ไปเปน 128 bit ทําใหเพิ่ม อัตราการคํานวณเพิ่มขึ้นเปน 2 เทา AMD 3DNow! เปนชุดคําสั่งจากคาย AMD เริ่มใชในซีพียูรุน K6-II และ K6-III มีการเพิ่มชุดคําสั่งมาอีก 21 คําสั่ง ใชเทคนิคการทํางานเขนเดียวกับ SIMD AMD Enhance 3DNow! มีการเพิ่มชุดคําสั่งมาอีก 24 คําสั่ง ประกอบไป เปนซีพียูรุน 8086 เปนรุนที่ทํางานแบบ 16 บิตแบบสมบูรณ เพราะทั้ง ดวย 12 คําสั่งสําหรับเพิ่มความสามารถในการคํานวณดานเลขจํานวนเต็ม สถาปตยกรรมภายในและภายนอกเปนแบบ 16 บิตอยางแทจริง ตางจาก 8080 ที่ ของโปรแกรมตางๆ กับ 7 ชุดคําสั่งที่ชวยเรงความเร็วในการเคลื่อนยาย สถาปตยกรรมภายในเปนระบบประมวลผลแบบ 16 บิต แตสถาปตยกรรม ขอมูล และ 5 ชุดคําสั่งสุดทายในการคํานวณขอมูลสัญญาณดิจิตอล ภายนอกที่เชื่อมตอกับดาตาบัส (Data Bus) เปนแบบ 8 บิต model of CPU model of CPU Intel 80286 Intel 80386SX/80386DX เปนรุนที่ภายในมีทรานซิสเซอรบรรจุอยูประมาณ 250,000 ตัว เปนซีพียูรุน 80286 เปนรุนที่มีความเร็วเพียง 6 MHz ซึ่งบัสของ 80286 สถาปตยกรรมภายในเปนแบบ 32 บิต แตสถาปตยกรรมภายนอกที่ใชในการ เปนแบบ 16 บิต ภายในมีทรานซิสเซอรบรรจุอยูประมาณ 130,000 ตัว ทําใหเกิด เชื่อมตอกับดาตาบัสเพื่อรับสงขอมูลเปนแบบ 16 บิต ความรอนสูงในการทํางาน ดังนั้นจึงตองมีการติดตั้งพัดลมระบายความรอน Intel 80386SX มีความเร็วตั้งแต 16, 20, 25 และ 33 MHz ( 16 บิต) Intel 80386DX มีความเร็วตั้งแต 20, 25 และ 33 MHz ( 32 บิต) model of CPU model of CPU Intel 80486SX/80486DX Intel Pentium เปนรุนที่สถาปตยกรรมเปนแบบ 32 บิตและมีแคชภายใน (Internal Cache) มีความเร็วตั้งแต 20, 25 และ 33 MHz เปนซีพียูรุนที่ 5 ของบริษัท เปนรุนที่มีความเร็วเพียง 60 - 166 MHz Intel 80486DX มีความเร็วตั้งแต 50, 66 และ 100 MHz มี มีความสามารถสูงทั้งดานความเร็วและเทคโนโลยีมีแคชภายในมากขึ้น ความสามารถสูงขึ้นดานความเร็วในการคํานวณและเทคโนโลยี โดย การรวมเอา Math Coprocessor และแคชเขามารวมอยูในชิปเดียวกันกับ CPU model of CPU model of CPU Intel Pentium II Celeron Covinton Mendocino เปนซีพียูรุนที่ประกอบไปดวยเทคโนโลยีของ Pentium Pro + MMX ที่ใช เปนซีพียูรุนที่อินเทลผลิตขึ้นมาเพื่อรองรับตลาดลาง โดยการตัด สถาปตยกรรมแบบใหมที่เรียกวา “Single Instruction Multiple Data (SIMD)” หนวยความจําแคช Level 2 ออก ในรุนที่ชื่อวา “โควินตัน (Covinton)” และ ไดเพิ่มชุดคําสั่งเขาไปอีกกวา 70 คําสั่ง ตอมาไดเพิ่มแคช Level 2 ขนาด 128 KB เขาไปเพื่อเพิ่มประสิทธิภาพในการ ประมวลผลในรุนที่ชื่อวา “เมนโดชิโน (Mendocino)” model of CPU model of CPU Celeron