Motherboard มาเธอร์บอร์ด หรือ Mainboard เมนบอร์ด คืออะไร
วิธีการติดตั้งโปรเซสเซอร์ Intel® LGA775 ในซ็อกเก็ต LGA775
แผนภาพและคำสั่งต่อไปนี้จะใช้กับการติดตั้งโปรเซสเซอร์ Intel®และการทำงานกับฮีทซิงค์แบบบรรจุกล่อง คำแนะนำสมมติว่าพัดลมฮีทซิงค์เป็นเรื่องใหม่และมีการใช้งานวัสดุที่ใช้อินเทอร์เฟซทางระบายความร้อนที่ใช้กับด้านล่างของฮีทซิงค์พัดลม
โปรเซสเซอร์ของคุณอาจหรืออาจไม่ได้มาพร้อมกับฝาครอบโปรเซสเซอร์ โปรเซสเซอร์ที่ใช้ LGA775 จัดส่งครั้งแรกด้วยฝาครอบโปรเซสเซอร์ โปรเซสเซอร์ที่ใช้ LGA775 รุ่นที่ใหม่กว่าจะมาถึงในกรณีที่มีการจัดส่งพลาสติกโดยไม่มีฝาครอบ
• ถอดโปรเซสเซอร์ออกจากฝาครอบป้องกัน ถือโปรเซสเซอร์ไว้ที่ขอบเท่านั้น อย่าสัมผัสด้านล่างของโปรเซสเซอร์ อย่าละทิ้งฝาครอบป้องกัน แทนที่ฝาครอบโปรเซสเซอร์เสมอหากโปรเซสเซอร์ถูกลบออกจากซ็อกเก็ต
• จับโปรเซสเซอร์ด้วยนิ้วโป้งและนิ้วชี้ของคุณตามที่แสดงไว้ ตรวจสอบให้แน่ใจว่านิ้วของคุณสอดคล้องกับซ็อกเก็ต (F) จัด notches (G) ด้วยซ็อกเก็ต (H) ลดความสามารถของโปรเซสเซอร์ลงโดยไม่ต้องเอียงหรือเลื่อนโปรเซสเซอร์ในซ็อกเก็ต
• ปิดแผ่นโหลด กดลงบนแผ่นโหลด (I) เพื่อปิดและมีส่วนประกอบของซ็อกเก็ตเบรก (J)
• ด้วยความ เมนบอร์ดที่ติดตั้งไว้ในแชสซี วางพัดลมฮีทซิงค์ลงบนมาเธอร์บอร์ดของคุณ คุณต้องปรับแนวยึดผ่านหลุมอย่างถูกต้องหรือคุณมีความเสี่ยงที่จะทำลายด้านล่างของรัด อย่าทำให้วัสดุอินเทอร์เฟซความร้อน (TIM) ติดอยู่ด้านล่างของฮีทซิงค์พัดลม
• ผลักดันลงด้านบนของแต่ละสกรูขณะถือพัดลมระบายความร้อนเข้าที่ คุณควรจะได้ยินเสียง "คลิก" เมื่อผลักดันแต่ละสกรู ตรวจสอบว่ามีการต่อพ่วงทั้งสี่ตัวเข้าด้วยกันอย่างปลอดภัยโดยค่อยๆดึงขึ้นในแต่ละสกรู ตัวยึดที่ไม่ได้ใช้งานจะช่วยป้องกันไม่ให้เครื่องรับสัญญาณที่ดีระหว่างพัดลมฮีทซิงค์และโปรเซสเซอร์และสามารถส่งผลให้การทำงานของโปรเซสเซอร์ที่ไม่น่าเชื่อถือ
หน่วยประมวลผลกลาง ประวัติศาสตร์และการดำเนินการ
คอมพิวเตอร์รุ่นแรก ๆ เช่นENIACต้องเดินสายใหม่เพื่อทำงานต่าง ๆ ซึ่งทำให้เครื่องเหล่านี้ถูกเรียกว่า "คอมพิวเตอร์โปรแกรมคงที่" [4]คำว่า "หน่วยประมวลผลกลาง" ถูกนำมาใช้ตั้งแต่ต้นปี พ.ศ. 2498 [5] [6]เนื่องจากโดยทั่วไปคำว่า "CPU" ถูกกำหนดให้เป็นอุปกรณ์สำหรับการทำงานของซอฟต์แวร์ (โปรแกรมคอมพิวเตอร์) ซึ่งเป็นอุปกรณ์ที่เก่าแก่ที่สุดที่ ถูกต้องอาจจะเรียกว่าซีพียูมาพร้อมกับการถือกำเนิดของเครื่องคอมพิวเตอร์ที่จัดเก็บโปรแกรม ความคิดของคอมพิวเตอร์ที่จัดเก็บโปรแกรมที่ได้รับอยู่แล้วในการออกแบบของเจ Presper Eckertและจอห์นวิลเลียม Mauchly 's ENIACแต่ถูกมองข้ามในขั้นต้นเพื่อที่จะสามารถจะแล้วเสร็จเร็ว [7]เมื่อวันที่ 30 มิถุนายน 1945 ก่อนที่จะถูกสร้างขึ้นมา ENIAC คณิตศาสตร์จอห์น von Neumannกระจายกระดาษสิทธิร่างแรกของรายงาน EDVAC มันเป็นโครงร่างของคอมพิวเตอร์ที่เก็บโปรแกรมไว้ซึ่งในที่สุดจะแล้วเสร็จในเดือนสิงหาคม พ.ศ. 2492 [8] EDVACได้รับการออกแบบมาเพื่อดำเนินการตามคำสั่ง (หรือการดำเนินการ) ประเภทต่างๆ ที่สำคัญโปรแกรมที่เขียนขึ้นสำหรับ EDVAC จะถูกเก็บไว้ในหน่วยความจำคอมพิวเตอร์ความเร็วสูงแทนที่จะระบุโดยการเดินสายไฟทางกายภาพของคอมพิวเตอร์ [9]นี่เป็นการเอาชนะข้อ จำกัด ที่รุนแรงของ ENIAC ซึ่งเป็นเวลาและความพยายามอย่างมากในการกำหนดค่าคอมพิวเตอร์ใหม่เพื่อทำงานใหม่ [10]ด้วยการออกแบบของฟอนนอยมันน์โปรแกรมที่ EDVAC ใช้งานสามารถเปลี่ยนแปลงได้เพียงแค่เปลี่ยนเนื้อหาของหน่วยความจำ อย่างไรก็ตาม EDVAC ไม่ใช่คอมพิวเตอร์ที่จัดเก็บโปรแกรมเครื่องแรก แมนเชสเตอร์เด็กเป็นคอมพิวเตอร์ขนาดเล็กทดลองเก็บไว้โปรแกรมวิ่งโปรแกรมแรกในวันที่ 21 มิถุนายน 1948 [11]และแมนเชสเตอร์มาร์ค 1วิ่งโปรแกรมแรกในช่วงคืนวันที่ 16-17 มิถุนายน 1949 [12] ซีพียูในยุคแรกเป็นการออกแบบที่กำหนดเองซึ่งใช้เป็นส่วนหนึ่งของคอมพิวเตอร์ขนาดใหญ่และบางครั้งก็มีลักษณะเฉพาะ [13]อย่างไรก็ตามวิธีการออกแบบซีพียูแบบกำหนดเองสำหรับแอพพลิเคชั่นเฉพาะนี้ได้ให้แนวทางส่วนใหญ่ในการพัฒนาโปรเซสเซอร์อเนกประสงค์ที่ผลิตในปริมาณมาก มาตรฐานนี้เริ่มขึ้นในยุคของเมนเฟรมทรานซิสเตอร์ แบบไม่ต่อเนื่องและมินิคอมพิวเตอร์และได้เร่งขึ้นอย่างรวดเร็วด้วยความนิยมของวงจรรวม (IC) IC ที่ได้รับอนุญาตให้ซีพียูที่ซับซ้อนมากขึ้นที่จะได้รับการออกแบบและผลิตเพื่อความคลาดเคลื่อนในการสั่งซื้อของนาโนเมตร [14]ทั้งการย่อขนาดและการสร้างมาตรฐานของซีพียูได้เพิ่มการมีอยู่ของอุปกรณ์ดิจิทัลในชีวิตสมัยใหม่ซึ่งไกลเกินกว่าการประยุกต์ใช้เครื่องคอมพิวเตอร์เฉพาะอย่าง จำกัด ไมโครโปรเซสเซอร์สมัยใหม่ปรากฏในอุปกรณ์อิเล็กทรอนิกส์ตั้งแต่รถยนต์[15]ไปจนถึงโทรศัพท์มือถือ[16]และบางครั้งแม้แต่ในของเล่น [17] [18] ในขณะที่ฟอนนอยมันน์มักให้เครดิตกับการออกแบบคอมพิวเตอร์โปรแกรมจัดเก็บเนื่องจากการออกแบบ EDVAC ของเขาและการออกแบบกลายเป็นที่รู้จักในชื่อสถาปัตยกรรมฟอนนอยมันน์แต่คนอื่น ๆ ก่อนหน้าเขาเช่นKonrad Zuseได้แนะนำและใช้แนวคิดที่คล้ายกัน [19]สิ่งที่เรียกว่าสถาปัตยกรรมฮาร์วาร์ดของHarvard Mark Iซึ่งสร้างเสร็จก่อน EDVAC [20] [21]ยังใช้การออกแบบโปรแกรมจัดเก็บโดยใช้เทปกระดาษเจาะแทนหน่วยความจำอิเล็กทรอนิกส์ [22]ความแตกต่างที่สำคัญระหว่างสถาปัตยกรรมของฟอนนอยมันน์และฮาร์วาร์ดคือโครงสร้างหลังแยกการจัดเก็บและการปฏิบัติตามคำสั่งและข้อมูลของ CPU ในขณะที่อดีตใช้พื้นที่หน่วยความจำเดียวกันสำหรับทั้งสองอย่าง [23]ซีพียูสมัยใหม่ส่วนใหญ่มักใช้ฟอนนอยมันน์ในการออกแบบ แต่ซีพียูที่มีสถาปัตยกรรมฮาร์วาร์ดก็มีให้เห็นเช่นกันโดยเฉพาะอย่างยิ่งในแอพพลิเคชั่น ตัวอย่างเช่นไมโครคอนโทรลเลอร์Atmel AVRเป็นโปรเซสเซอร์สถาปัตยกรรม Harvard [24] รีเลย์และท่อสุญญากาศ ( หลอดเทอร์มิโอนิก) มักใช้เป็นองค์ประกอบสวิตชิ่ง [25] [26]คอมพิวเตอร์ที่มีประโยชน์ต้องใช้อุปกรณ์สวิตชิ่งหลายพันหรือหลายหมื่นเครื่อง ความเร็วโดยรวมของระบบขึ้นอยู่กับความเร็วของสวิตช์ คอมพิวเตอร์หลอดสูญญากาศเช่น EDVAC มีแนวโน้มที่จะใช้เวลาเฉลี่ยแปดชั่วโมงระหว่างความล้มเหลวในขณะที่คอมพิวเตอร์รีเลย์เช่น (ช้ากว่า แต่ก่อนหน้านี้) Harvard Mark Iล้มเหลวน้อยมาก [6]ในท้ายที่สุดซีพียูแบบใช้หลอดก็กลายเป็นสิ่งที่โดดเด่นเนื่องจากข้อได้เปรียบด้านความเร็วที่สำคัญโดยทั่วไปมีมากกว่าปัญหาด้านความน่าเชื่อถือ ซีพียูซิงโครนัสรุ่นแรก ๆ เหล่านี้ส่วนใหญ่ทำงานด้วยอัตราสัญญาณนาฬิกาต่ำเมื่อเทียบกับการออกแบบไมโครอิเล็กทรอนิกส์สมัยใหม่ ความถี่สัญญาณนาฬิกาตั้งแต่ 100 กิโลเฮิรตซ์ถึง 4 เมกะเฮิรตซ์เป็นเรื่องปกติมากในเวลานี้โดยส่วนใหญ่ถูก จำกัด ด้วยความเร็วของอุปกรณ์สวิตชิ่งที่สร้างขึ้นด้วย [27] ความซับซ้อนในการออกแบบซีพียูเพิ่มขึ้นเนื่องจากเทคโนโลยีต่าง ๆ อำนวยความสะดวกในการสร้างอุปกรณ์อิเล็กทรอนิกส์ที่มีขนาดเล็กลงและเชื่อถือได้มากขึ้น การปรับปรุงดังกล่าวครั้งแรกที่มาพร้อมกับการถือกำเนิดของทรานซิสเตอร์ ซีพียู transistorized ในช่วงปี 1950 และ 1960 ไม่ได้มีที่จะสร้างขึ้นจากขนาดใหญ่ที่ไม่น่าเชื่อถือและเปราะบางองค์ประกอบสลับเช่นหลอดสูญญากาศและรีเลย์ [28]ด้วยการปรับปรุงนี้ซีพียูที่ซับซ้อนและเชื่อถือได้มากขึ้นได้ถูกสร้างขึ้นบนแผงวงจรพิมพ์หนึ่งหรือหลายแผงที่มีส่วนประกอบที่แยกจากกัน ในปีพ. ศ. 2507 ไอบีเอ็มได้เปิดตัวสถาปัตยกรรมคอมพิวเตอร์IBM System / 360ซึ่งใช้ในคอมพิวเตอร์หลายรุ่นที่สามารถรันโปรแกรมเดียวกันด้วยความเร็วและประสิทธิภาพที่แตกต่างกัน [29]สิ่งนี้มีความสำคัญในช่วงเวลาที่คอมพิวเตอร์อิเล็กทรอนิกส์ส่วนใหญ่ไม่สามารถใช้งานร่วมกันได้แม้จะผลิตโดยผู้ผลิตรายเดียวกันก็ตาม เพื่ออำนวยความสะดวกในการปรับปรุงนี้ IBM ใช้แนวคิดของไมโครโปรแกรม (มักเรียกว่า "ไมโครโค้ด") ซึ่งยังคงเห็นการใช้งานอย่างแพร่หลายในซีพียูสมัยใหม่ [30]ระบบ / 360 สถาปัตยกรรมเป็นที่นิยมเพื่อที่จะครอบงำคอมพิวเตอร์เมนเฟรมตลาดมานานหลายทศวรรษและทิ้งมรดกที่ยังคงต่อเนื่องโดยเครื่องคอมพิวเตอร์ที่ทันสมัยที่คล้ายกันเช่นไอบีเอ็มzSeries [31] [32]ในปี 1965 อุปกรณ์ดิจิตอลคอร์ปอเรชั่น (ธันวาคม) แนะนำเครื่องคอมพิวเตอร์ที่มีอิทธิพลอื่นมุ่งเป้าไปที่ตลาดทางวิทยาศาสตร์และการวิจัยที่PDP-8 [33] คอมพิวเตอร์ที่ใช้ทรานซิสเตอร์มีข้อดีที่แตกต่างจากรุ่นก่อน ๆ หลายประการ นอกเหนือจากการอำนวยความสะดวกในการเพิ่มความน่าเชื่อถือและการใช้พลังงานที่ลดลงแล้วทรานซิสเตอร์ยังอนุญาตให้ซีพียูทำงานด้วยความเร็วที่สูงขึ้นมากเนื่องจากทรานซิสเตอร์ใช้เวลาในการสลับสั้นเมื่อเทียบกับหลอดหรือรีเลย์ [34]ความน่าเชื่อถือที่เพิ่มขึ้นและความเร็วที่เพิ่มขึ้นอย่างมากขององค์ประกอบการสลับ (ซึ่งเป็นทรานซิสเตอร์โดยเฉพาะในเวลานี้); อัตราสัญญาณนาฬิกาของซีพียูในช่วงหลายสิบเมกะเฮิรตซ์สามารถหาได้อย่างง่ายดายในช่วงเวลานี้ [35]นอกจากนี้ในขณะที่ทรานซิสเตอร์แบบแยกและซีพียู IC มีการใช้งานหนักการออกแบบใหม่ที่มีประสิทธิภาพสูงเช่นเวกเตอร์โปรเซสเซอร์SIMD (Single Instruction Multiple Data) ก็เริ่มปรากฏขึ้น [36]เหล่านี้ทดลองต้นการออกแบบภายหลังก่อให้เกิดยุคของเฉพาะซูเปอร์คอมพิวเตอร์เช่นผู้ที่ทำโดยเครย์อิงค์และบริษัท ฟูจิตสึ จำกัด [36] CPU, หน่วยความจำหลักและ อินเตอร์เฟสบัสภายนอกของ DEC PDP-8 / I ซึ่งทำจากวงจรรวมขนาดกลาง ในช่วงเวลานี้มีการพัฒนาวิธีการผลิตทรานซิสเตอร์ที่เชื่อมต่อกันจำนวนมากในพื้นที่ขนาดกะทัดรัด วงจรรวม (IC) ได้รับอนุญาตเป็นจำนวนมากของทรานซิสเตอร์ที่จะผลิตที่เดียวเซมิคอนดักเตอร์ชั่ตายหรือ "ชิป" ในตอนแรกมีเพียงวงจรดิจิทัลขั้นพื้นฐานที่ไม่ใช่เฉพาะทางเช่นNOR gatesเท่านั้นที่ถูกย่อขนาดลงใน ICs [37]ซีพียูที่ใช้ไอซี "building block" เหล่านี้โดยทั่วไปเรียกว่าอุปกรณ์ "small-scale integration" (SSI) SSI ICs เช่นที่ใช้ในคอมพิวเตอร์ Apollo Guidanceโดยปกติจะมีทรานซิสเตอร์ไม่เกินสองสามตัว ในการสร้างซีพียูทั้งหมดจาก SSI ICs จำเป็นต้องใช้ชิปหลายพันตัว แต่ยังคงใช้พื้นที่และพลังงานน้อยกว่าการออกแบบทรานซิสเตอร์แบบแยกส่วนก่อนหน้านี้มาก [38] System / 370ของ IBM ตามด้วย System / 360 ใช้ SSI ICs แทนโมดูลทรานซิสเตอร์แบบแยกSolid Logic Technology [39] [40] PDP-8 / I และ KI10 PDP-10ของ DEC ยังเปลี่ยนจากทรานซิสเตอร์แต่ละตัวที่ใช้โดย PDP-8 และ PDP-10 เป็น SSI ICs [41]และสายPDP-11 ที่เป็นที่นิยมอย่างมากเดิม สร้างขึ้นด้วย SSI ICs แต่ในที่สุดก็ถูกนำมาใช้กับส่วนประกอบ LSI เมื่อสิ่งเหล่านี้สามารถใช้งานได้จริง MOSFET (โลหะออกไซด์สารกึ่งตัวนำฟิลด์ผลทรานซิสเตอร์) ยังเป็นที่รู้จักกันเป็นทรานซิสเตอร์ MOS ได้รับการคิดค้นโดยโมฮาเหม็ Atallaและดาวอนคาห์งที่เบลล์แล็บในปี 1959 และแสดงให้เห็นในปี 1960 [42]นี้นำไปสู่การพัฒนาของMOS (โลหะออกไซด์เซมิคอนดักเตอร์) วงจรรวมที่เสนอโดย Atalla ในปี 1960 [43]และ Kahng ในปี 1961 และจากนั้นประดิษฐ์โดยเฟร็ดและสตีเว่น Heiman Hofstein ที่อาร์ซีเอในปี 1962 [42]ด้วยการยืดหยุ่นสูง , [44]และ การบริโภคพลังงานที่ต่ำกว่ามากและความหนาแน่นสูงกว่าทรานซิสเตอร์สองขั้วแยก , [45] MOSFET ทำให้มันเป็นไปได้ที่จะสร้างความหนาแน่นสูงแผงวงจรไฟฟ้า [46] [47] Lee Boysel ตีพิมพ์บทความที่มีอิทธิพลซึ่งรวมถึง "manifesto" ในปี 1967 ซึ่งอธิบายถึงวิธีการสร้างคอมพิวเตอร์เมนเฟรม 32 บิตที่เทียบเท่าจากวงจรรวมขนาดใหญ่ (LSI) จำนวนค่อนข้างน้อย [48] [49]วิธีเดียวที่จะสร้างชิป LSI ซึ่งเป็นชิปที่มีประตูตั้งแต่ร้อยประตูขึ้นไปคือการสร้างโดยใช้กระบวนการผลิตเซมิคอนดักเตอร์ MOS (ไม่ว่าจะเป็นตรรกะ PMOS , ตรรกะ NMOSหรือตรรกะ CMOS ) อย่างไรก็ตามบาง บริษัท ยังคงสร้างโปรเซสเซอร์จากชิปทรานซิสเตอร์สองขั้ว- ทรานซิสเตอร์ลอจิก (TTL) เนื่องจากทรานซิสเตอร์แบบแยกขั้วสองขั้วนั้นเร็วกว่าชิป MOS จนถึงปี 1970 (บริษัท ไม่กี่แห่งเช่นDatapointยังคงสร้างโปรเซสเซอร์จากชิป TTL จนถึงต้น ทศวรรษที่ 1980) [49]ในทศวรรษ 1960 MOS IC ทำงานช้าลงและในตอนแรกถือว่ามีประโยชน์เฉพาะในแอพพลิเคชั่นที่ต้องใช้พลังงานต่ำ [50] [51]หลังจากการพัฒนาเทคโนโลยีซิลิคอนเกต MOS โดยFederico Fagginที่ Fairchild Semiconductor ในปี พ.ศ. 2511 MOS ICs ส่วนใหญ่ได้แทนที่ TTL สองขั้วเป็นเทคโนโลยีชิปมาตรฐานในช่วงต้นทศวรรษ 1970 [52] เนื่องจากเทคโนโลยีไมโครอิเล็กทรอนิกส์ก้าวหน้าขึ้นจึงมีการวางทรานซิสเตอร์จำนวนมากขึ้นบน ICs ซึ่งจะลดจำนวน IC แต่ละตัวที่จำเป็นสำหรับซีพียูที่สมบูรณ์ MSI และ LSI ICs เพิ่มจำนวนทรานซิสเตอร์เป็นหลายร้อยและหลายพันตัว ภายในปี 1968 จำนวน IC ที่ต้องใช้ในการสร้าง CPU ที่สมบูรณ์ได้ลดลงเหลือ 24 ICs จาก 8 ประเภทที่แตกต่างกันโดย IC แต่ละตัวมี MOSFET ประมาณ 1,000 MOSFET [53]ในทางตรงกันข้ามกับ SSI และ MSI รุ่นก่อนการใช้งาน LSI ครั้งแรกของ PDP-11 มี CPU ที่ประกอบด้วยวงจรรวม LSI เพียงสี่วงจร [54] ความก้าวหน้าในเทคโนโลยีMOS IC นำไปสู่การประดิษฐ์ไมโครโปรเซสเซอร์ในช่วงต้นทศวรรษ 1970 [55]นับตั้งแต่มีการเปิดตัวไมโครโปรเซสเซอร์ตัวแรกที่มีจำหน่ายทั่วไปคือIntel 4004ในปี พ.ศ. 2514 และไมโครโปรเซสเซอร์ที่ใช้กันอย่างแพร่หลายเป็นครั้งแรกคือIntel 8080ในปี พ.ศ. 2517 ซีพียูประเภทนี้ได้แซงหน้าวิธีการใช้งานหน่วยประมวลผลกลางอื่น ๆ เกือบทั้งหมด ผู้ผลิตเมนเฟรมและมินิคอมพิวเตอร์ในเวลานั้นได้เปิดตัวโปรแกรมการพัฒนา IC ที่เป็นกรรมสิทธิ์เพื่ออัพเกรดสถาปัตยกรรมคอมพิวเตอร์รุ่นเก่าและในที่สุดก็ได้ผลิตไมโครโปรเซสเซอร์ที่เข้ากันได้กับชุดคำสั่งซึ่งเข้ากันได้กับฮาร์ดแวร์และซอฟต์แวร์รุ่นเก่า รวมกับการถือกำเนิดและประสบความสำเร็จในที่สุดแพร่หลายคอมพิวเตอร์ส่วนบุคคลในระยะCPUถูกนำไปใช้ในขณะนี้เกือบเฉพาะ[เป็น]เพื่อไมโครโปรเซสเซอร์ สามารถรวมซีพียูหลายตัว ( แกนที่แสดง) ไว้ในชิปประมวลผลตัวเดียว [56] ซีพียูรุ่นก่อน ๆ ถูกนำมาใช้เป็นส่วนประกอบแยกและวงจรรวมขนาดเล็ก(IC) จำนวนมากบนแผงวงจรตั้งแต่หนึ่งแผงขึ้นไป ในทางกลับกันไมโครโปรเซสเซอร์[57]เป็นซีพียูที่ผลิตขึ้นบนไอซีจำนวนน้อยมาก มักจะเป็นเพียงหนึ่ง [58]ขนาด CPU ที่มีขนาดเล็กโดยรวมเป็นผลมาจากการดำเนินการเกี่ยวกับการเดียวตายหมายถึงการได้เร็วขึ้นสลับเวลาเพราะปัจจัยทางกายภาพชอบลดลงประตูความจุกาฝาก [59] [60]สิ่งนี้ทำให้ไมโครโปรเซสเซอร์แบบซิงโครนัสมีอัตรานาฬิกาตั้งแต่หลายสิบเมกะเฮิรตซ์ไปจนถึงหลายกิกะเฮิรตซ์ นอกจากนี้ความสามารถในการสร้างทรานซิสเตอร์ขนาดเล็กมากบน IC ได้เพิ่มความซับซ้อนและจำนวนทรานซิสเตอร์ในซีพียูตัวเดียวหลายเท่า แนวโน้มที่สังเกตได้อย่างกว้างขวางนี้อธิบายโดยกฎของมัวร์ซึ่งพิสูจน์แล้วว่าเป็นตัวทำนายการเติบโตของความซับซ้อนของ CPU (และ IC อื่น ๆ ) ที่แม่นยำพอสมควรจนถึงปี 2559 [61] [62] ในขณะที่ความซับซ้อนขนาดโครงสร้างและรูปแบบทั่วไปของซีพียูได้เปลี่ยนไปอย่างมากตั้งแต่ปี 1950 [63]การออกแบบและฟังก์ชันพื้นฐานไม่ได้เปลี่ยนแปลงไปมากนัก ซีพียูทั่วไปเกือบทั้งหมดในปัจจุบันสามารถอธิบายได้อย่างแม่นยำว่าเป็นเครื่องโปรแกรมที่เก็บไว้ของ von Neumann [64] [b]ในขณะที่กฎของมัวร์ไม่ได้ยึดถืออีกต่อไปความกังวลจึงเกิดขึ้นเกี่ยวกับขีด จำกัด ของเทคโนโลยีทรานซิสเตอร์วงจรรวม การย่อขนาดของประตูอิเล็กทรอนิกส์อย่างมากทำให้ผลกระทบของปรากฏการณ์ต่างๆเช่นการอพยพด้วยไฟฟ้าและการรั่วไหลของฐานรองมีความสำคัญมากขึ้น [66] [67]ข้อกังวลใหม่ ๆ เหล่านี้เป็นปัจจัยหลายประการที่ทำให้นักวิจัยต้องตรวจสอบวิธีการใหม่ ๆ ในการคำนวณเช่นคอมพิวเตอร์ควอนตัมตลอดจนขยายการใช้งานแบบขนานและวิธีการอื่น ๆ ที่ขยายประโยชน์ของแบบจำลองฟอนนอยมันน์แบบคลาสสิก .
การดำเนินการพื้นฐานของซีพียูส่วนใหญ่โดยไม่คำนึงถึงรูปแบบทางกายภาพคือการดำเนินการตามลำดับของคำสั่งที่เก็บไว้ซึ่งเรียกว่าโปรแกรม คำแนะนำในการที่จะดำเนินการจะถูกเก็บไว้ในชนิดของหน่วยความจำคอมพิวเตอร์ เกือบทั้งหมดเป็นไปตามซีพียูเรียกถอดรหัสและดำเนินการตามขั้นตอนในการดำเนินงานของพวกเขาซึ่งเป็นที่รู้จักกันเป็นวงจรการเรียนการสอน หลังจากการดำเนินการของการเรียนการสอนที่ซ้ำกระบวนการทั้งหมดที่มีการเรียนการสอนรอบถัดไปได้ตามปกติในการเรียกคำสั่งถัดไปในลำดับเนื่องจากความคุ้มค่าเพิ่มขึ้นในส่วนโปรแกรมเคาน์เตอร์ หากดำเนินการคำสั่งกระโดดตัวนับโปรแกรมจะถูกปรับเปลี่ยนให้มีที่อยู่ของคำสั่งที่ถูกข้ามไปและการดำเนินการของโปรแกรมจะดำเนินต่อไปตามปกติ ในซีพียูที่ซับซ้อนมากขึ้นสามารถดึงข้อมูลถอดรหัสและดำเนินการพร้อมกันได้หลายคำสั่ง ส่วนนี้อธิบายถึงสิ่งที่เรียกโดยทั่วไปว่า " ไปป์ไลน์ RISC แบบคลาสสิก " ซึ่งพบได้บ่อยในซีพียูทั่วไปที่ใช้ในอุปกรณ์อิเล็กทรอนิกส์จำนวนมาก (มักเรียกว่าไมโครคอนโทรลเลอร์) โดยส่วนใหญ่ไม่สนใจบทบาทที่สำคัญของแคช CPU ดังนั้นจึงเป็นขั้นตอนการเข้าถึงของไปป์ไลน์ คำสั่งบางอย่างจัดการกับตัวนับโปรแกรมแทนที่จะสร้างข้อมูลผลลัพธ์โดยตรง คำสั่งดังกล่าวโดยทั่วไปเรียกว่า "การกระโดด" และอำนวยความสะดวกให้กับลักษณะการทำงานของโปรแกรมเช่นการวนซ้ำการเรียกใช้โปรแกรมแบบมีเงื่อนไข (ผ่านการใช้การกระโดดแบบมีเงื่อนไข) และการมีอยู่ของฟังก์ชัน [C]ในการประมวลผลบางคำแนะนำอื่น ๆ เปลี่ยนสถานะของบิตใน"ธง" ลงทะเบียน แฟล็กเหล่านี้สามารถใช้เพื่อกำหนดวิธีการทำงานของโปรแกรมได้เนื่องจากมักจะระบุผลลัพธ์ของการดำเนินการต่างๆ ตัวอย่างเช่นในโปรเซสเซอร์ดังกล่าวคำสั่ง "เปรียบเทียบ" จะประเมินค่าสองค่าและเซ็ตหรือล้างบิตในแฟล็กรีจิสเตอร์เพื่อระบุว่าอันไหนมากกว่าหรือเท่ากันหรือไม่ หนึ่งในแฟล็กเหล่านี้สามารถใช้โดยคำสั่งกระโดดในภายหลังเพื่อกำหนดโฟลว์ของโปรแกรม ขั้นตอนแรกการดึงข้อมูลเกี่ยวข้องกับการดึงคำสั่ง (ซึ่งแสดงด้วยตัวเลขหรือลำดับของตัวเลข) จากหน่วยความจำโปรแกรม ตำแหน่งของคำสั่ง (ที่อยู่) ในหน่วยความจำโปรแกรมถูกกำหนดโดยตัวนับโปรแกรม (พีซีเรียกว่า "ตัวชี้คำสั่ง" ในไมโครโปรเซสเซอร์ Intel x86 ) ซึ่งเก็บหมายเลขที่ระบุที่อยู่ของคำสั่งถัดไปที่จะดึงข้อมูล หลังจากเรียกคำสั่งแล้วพีซีจะเพิ่มขึ้นตามความยาวของคำสั่งเพื่อให้มีที่อยู่ของคำสั่งถัดไปในลำดับ [d]บ่อยครั้งคำสั่งที่จะดึงข้อมูลจะต้องถูกดึงมาจากหน่วยความจำที่ค่อนข้างช้าทำให้ CPU หยุดทำงานในขณะที่รอคำสั่งส่งคืน ปัญหานี้ได้รับการแก้ไขโดยส่วนใหญ่ในโปรเซสเซอร์สมัยใหม่โดยใช้แคชและสถาปัตยกรรมไปป์ไลน์ (ดูด้านล่าง) คำสั่งที่ CPU ดึงข้อมูลจากหน่วยความจำเป็นตัวกำหนดว่า CPU จะทำอะไร ในขั้นตอนการถอดรหัสดำเนินการโดยวงจรที่เรียกว่าตัวถอดรหัสคำสั่งคำสั่งจะถูกแปลงเป็นสัญญาณที่ควบคุมส่วนอื่น ๆ ของ CPU วิธีการตีความคำสั่งถูกกำหนดโดยสถาปัตยกรรมชุดคำสั่งของ CPU (ISA) [e]บ่อยครั้งกลุ่มของบิตหนึ่งกลุ่ม (นั่นคือ "ฟิลด์") ภายในคำสั่งเรียกว่า opcode จะระบุว่าจะดำเนินการใดในขณะที่ฟิลด์ที่เหลือมักจะให้ข้อมูลเพิ่มเติมที่จำเป็นสำหรับการดำเนินการเช่น ตัวถูกดำเนินการ ถูกดำเนินการเหล่านั้นอาจจะถูกกำหนดเป็นค่าคงที่ (เรียกว่าค่าทันที) หรือเป็นที่ตั้งของค่าที่อาจจะมีการลงทะเบียนหน่วยประมวลผลหรือที่อยู่หน่วยความจำตามที่กำหนดโดยบางโหมด ในการออกแบบซีพียูบางรุ่นตัวถอดรหัสคำสั่งจะถูกนำไปใช้เป็นวงจรเดินสายไฟที่ไม่สามารถเปลี่ยนแปลงได้ ในกรณีอื่น ๆไมโครโปรแกรมจะใช้ในการแปลคำสั่งเป็นชุดของสัญญาณการกำหนดค่า CPU ที่ใช้ตามลำดับในช่วงสัญญาณนาฬิกาหลายตัว ในบางกรณีหน่วยความจำที่จัดเก็บไมโครโปรแกรมจะสามารถเขียนซ้ำได้ทำให้สามารถเปลี่ยนวิธีการถอดรหัสคำสั่งของ CPU ได้ หลังจากขั้นตอนการดึงข้อมูลและถอดรหัสขั้นตอนดำเนินการจะถูกดำเนินการ ขึ้นอยู่กับสถาปัตยกรรมของ CPU ซึ่งอาจประกอบด้วยการกระทำเดียวหรือลำดับของการดำเนินการ ในระหว่างการดำเนินการแต่ละครั้งส่วนต่างๆของ CPU จะเชื่อมต่อด้วยระบบไฟฟ้าเพื่อให้สามารถดำเนินการทั้งหมดหรือบางส่วนของการดำเนินการที่ต้องการจากนั้นการดำเนินการจะเสร็จสมบูรณ์โดยทั่วไปจะตอบสนองต่อพัลส์นาฬิกา บ่อยครั้งที่ผลลัพธ์ถูกเขียนไปยังรีจิสเตอร์ CPU ภายในเพื่อการเข้าถึงอย่างรวดเร็วตามคำแนะนำที่ตามมา ในกรณีอื่น ๆ ผลลัพธ์ที่ได้อาจจะเขียนไปช้า แต่น้อยราคาแพงและความจุสูงหน่วยความจำหลัก ตัวอย่างเช่นหากต้องการเรียกใช้คำสั่งเพิ่มเติมอินพุตหน่วยตรรกะเลขคณิต (ALU) จะเชื่อมต่อกับแหล่งที่มาของตัวถูกดำเนินการคู่หนึ่ง (ตัวเลขที่จะสรุป) ALU จะถูกกำหนดค่าให้ดำเนินการเพิ่มเติมเพื่อให้ผลรวมของ อินพุตตัวถูกดำเนินการจะปรากฏที่เอาต์พุตและเอาต์พุต ALU เชื่อมต่อกับหน่วยเก็บข้อมูล (เช่นรีจิสเตอร์หรือหน่วยความจำ) ที่จะได้รับผลรวม เมื่อพัลส์นาฬิกาเกิดขึ้นผลรวมจะถูกโอนไปยังหน่วยเก็บข้อมูลและหากผลรวมมีขนาดใหญ่เกินไป (กล่าวคือมีขนาดใหญ่กว่าขนาดคำที่เอาต์พุตของ ALU) จะมีการตั้งค่าแฟล็กล้นเลขคณิต
บล็อกไดอะแกรมของคอมพิวเตอร์ Uniprocessor-CPU พื้นฐาน เส้นสีดำแสดงถึงการไหลของข้อมูลในขณะที่เส้นสีแดงแสดงถึงการไหลของการควบคุม ลูกศรแสดงทิศทางการไหล เดินสายเข้าไปในวงจรของ CPU เป็นชุดของการดำเนินงานขั้นพื้นฐานก็สามารถดำเนินการที่เรียกว่าชุดคำสั่ง การดำเนินการดังกล่าวอาจเกี่ยวข้องกับตัวอย่างเช่นการบวกหรือลบตัวเลขสองตัวการเปรียบเทียบตัวเลขสองตัวหรือการข้ามไปยังส่วนอื่นของโปรแกรม การดำเนินการแต่ละขั้นพื้นฐานเป็นตัวแทนจากการรวมกันโดยเฉพาะอย่างยิ่งของบิตที่เรียกว่าภาษาเครื่องopcode ; ในขณะดำเนินการคำสั่งในโปรแกรมภาษาเครื่อง CPU จะตัดสินใจว่าจะดำเนินการใดโดย "ถอดรหัส" opcode คำสั่งภาษาเครื่องที่สมบูรณ์ประกอบด้วย opcode และในหลาย ๆ กรณีบิตเพิ่มเติมที่ระบุอาร์กิวเมนต์สำหรับการดำเนินการ (ตัวอย่างเช่นตัวเลขที่จะสรุปในกรณีของการดำเนินการเพิ่มเติม) โปรแกรมภาษาเครื่องจะเพิ่มระดับความซับซ้อนเป็นชุดคำสั่งภาษาเครื่องที่ CPU ดำเนินการ การดำเนินการทางคณิตศาสตร์จริงสำหรับแต่ละคำสั่งดำเนินการโดยวงจรลอจิกเชิงผสมภายในโปรเซสเซอร์ของ CPU ที่เรียกว่าหน่วยตรรกะเลขคณิตหรือ ALU โดยทั่วไป CPU จะเรียกใช้คำสั่งโดยดึงข้อมูลจากหน่วยความจำโดยใช้ ALU เพื่อดำเนินการจากนั้นจัดเก็บผลลัพธ์ลงในหน่วยความจำ นอกเหนือจากคำแนะนำสำหรับคณิตศาสตร์จำนวนเต็มและการดำเนินการลอจิกแล้วยังมีคำสั่งเครื่องอื่น ๆ อีกมากมายเช่นคำสั่งสำหรับโหลดข้อมูลจากหน่วยความจำและจัดเก็บกลับการแยกการดำเนินการและการดำเนินการทางคณิตศาสตร์กับตัวเลขทศนิยมที่ดำเนินการโดยหน่วยทศนิยมของ CPU (FPU ). [68] ชุดควบคุม (CU) เป็นส่วนประกอบของซีพียูที่สั่งการการทำงานของโปรเซสเซอร์ จะบอกหน่วยความจำของคอมพิวเตอร์หน่วยเลขคณิตและลอจิกและอุปกรณ์อินพุตและเอาต์พุตว่าจะตอบสนองต่อคำสั่งที่ส่งไปยังโปรเซสเซอร์อย่างไร ควบคุมการทำงานของหน่วยอื่น ๆ โดยให้สัญญาณเวลาและสัญญาณควบคุม ทรัพยากรคอมพิวเตอร์ส่วนใหญ่จัดการโดย CU กำหนดทิศทางการไหลของข้อมูลระหว่าง CPU และอุปกรณ์อื่น ๆ จอห์น von Neumannรวมหน่วยควบคุมเป็นส่วนหนึ่งของสถาปัตยกรรม von Neumann ในการออกแบบคอมพิวเตอร์สมัยใหม่โดยทั่วไปแล้วชุดควบคุมจะเป็นส่วนภายในของซีพียูโดยไม่มีการเปลี่ยนแปลงบทบาทและการทำงานโดยรวมนับตั้งแต่เปิดตัว [69] การแสดงสัญลักษณ์ของ ALU และสัญญาณอินพุตและเอาต์พุต ตรรกะทางคณิตศาสตร์หน่วย (ALU) เป็นวงจรดิจิตอลภายในหน่วยประมวลผลที่มีประสิทธิภาพจำนวนเต็มคณิตศาสตร์และตรรกะบิตการดำเนินงาน อินพุตไปยัง ALU คือคำข้อมูลที่จะดำเนินการ (เรียกว่าตัวถูกดำเนินการ ) ข้อมูลสถานะจากการดำเนินการก่อนหน้านี้และรหัสจากหน่วยควบคุมที่ระบุว่าจะดำเนินการใด ขึ้นอยู่กับคำสั่งที่กำลังดำเนินการตัวถูกดำเนินการอาจมาจากการลงทะเบียน CPU ภายในหรือหน่วยความจำภายนอกหรืออาจเป็นค่าคงที่ที่สร้างขึ้นโดย ALU เอง เมื่อสัญญาณอินพุตทั้งหมดตกลงและแพร่กระจายผ่านวงจร ALU ผลลัพธ์ของการดำเนินการที่ดำเนินการจะปรากฏที่เอาต์พุตของ ALU ผลลัพธ์ประกอบด้วยทั้งคำข้อมูลซึ่งอาจถูกเก็บไว้ในรีจิสเตอร์หรือหน่วยความจำและข้อมูลสถานะที่โดยทั่วไปจะถูกเก็บไว้ในรีจิสเตอร์ CPU พิเศษภายในที่สงวนไว้สำหรับวัตถุประสงค์นี้ หน่วยที่อยู่รุ่น ( AGU ) บางครั้งเรียกว่าหน่วยคำนวณอยู่ ( ACU ) [70]เป็นหน่วยดำเนินการภายในของ CPU ที่คำนวณอยู่ที่ใช้โดย CPU ในการเข้าถึงหน่วยความจำหลัก เมื่อมีการคำนวณที่อยู่ที่จัดการโดยวงจรแยกที่ทำงานควบคู่ไปกับส่วนที่เหลือของ CPU จำนวนรอบของCPU ที่จำเป็นสำหรับการดำเนินการตามคำสั่งต่างๆของเครื่องสามารถลดลงได้ซึ่งนำไปสู่การปรับปรุงประสิทธิภาพ ในขณะดำเนินการต่างๆซีพียูจำเป็นต้องคำนวณที่อยู่หน่วยความจำที่จำเป็นสำหรับการดึงข้อมูลจากหน่วยความจำ ตัวอย่างเช่นต้องคำนวณตำแหน่งในหน่วยความจำขององค์ประกอบอาร์เรย์ก่อนที่ CPU จะดึงข้อมูลจากตำแหน่งหน่วยความจำจริง ผู้คำนวณอยู่รุ่นที่เกี่ยวข้องกับการที่แตกต่างกันจำนวนเต็มดำเนินการทางคณิตศาสตร์เช่นบวกลบการดำเนินงานแบบโมดูโลหรือกะบิต บ่อยครั้งการคำนวณที่อยู่หน่วยความจำเกี่ยวข้องกับคำสั่งเครื่องที่ใช้งานทั่วไปมากกว่าหนึ่งคำสั่งซึ่งไม่จำเป็นต้องถอดรหัสและดำเนินการอย่างรวดเร็ว ด้วยการรวม AGU เข้ากับการออกแบบ CPU ร่วมกับการแนะนำคำสั่งพิเศษที่ใช้ AGU การคำนวณการสร้างที่อยู่ต่างๆสามารถถ่ายออกจากส่วนที่เหลือของ CPU และมักจะดำเนินการได้อย่างรวดเร็วในรอบ CPU เดียว ความสามารถของ AGU ขึ้นอยู่กับ CPU โดยเฉพาะอย่างยิ่งและสถาปัตยกรรม ดังนั้น AGU บางแห่งจึงใช้และแสดงการดำเนินการคำนวณที่อยู่มากขึ้นในขณะที่บางส่วนยังมีคำสั่งพิเศษขั้นสูงเพิ่มเติมที่สามารถทำงานกับตัวถูกดำเนินการหลายรายการพร้อมกัน นอกจากนี้บาง CPU สถาปัตยกรรม ได้แก่ Agus หลายเพื่อให้การดำเนินมากกว่าหนึ่งในการคำนวณอยู่สามารถดำเนินการพร้อมกันนำปรับปรุงประสิทธิภาพการทำงานต่อไปโดยพะวงในsuperscalarธรรมชาติของการออกแบบซีพียูขั้นสูง ตัวอย่างเช่นIntelรวม AGU หลายตัวไว้ในSandy BridgeและHaswell microarchitecturesซึ่งจะเพิ่มแบนด์วิดท์ของระบบย่อยหน่วยความจำ CPU โดยอนุญาตให้ดำเนินการคำสั่งการเข้าถึงหน่วยความจำหลายแบบพร้อมกัน ไมโครโปรเซสเซอร์ระดับไฮเอนด์มากที่สุด (ในสก์ท็อปแล็ปท็อปคอมพิวเตอร์เซิร์ฟเวอร์) มีหน่วยจัดการหน่วยความจำที่อยู่ตรรกะแปลเป็นที่อยู่ RAM ที่มีอยู่จริงให้การป้องกันหน่วยความจำและเพจจิ้งความสามารถที่มีประโยชน์สำหรับหน่วยความจำเสมือน โปรเซสเซอร์ที่เรียบง่ายกว่าโดยเฉพาะไมโครคอนโทรลเลอร์มักจะไม่มี MMU แคช CPU [71]เป็นแคชฮาร์ดแวร์ที่ใช้โดยหน่วยประมวลผลกลาง (CPU) ของคอมพิวเตอร์เพื่อลดค่าใช้จ่ายเฉลี่ย (เวลาหรือพลังงาน) ในการเข้าถึงข้อมูลจากหน่วยความจำหลัก แคชคือมีขนาดเล็กหน่วยความจำได้เร็วขึ้นใกล้ชิดกับCore Processorซึ่งร้านค้าสำเนาของข้อมูลจากบ่อยครั้งที่ใช้หลักตำแหน่งหน่วยความจำ ซีพียูส่วนใหญ่มีแคชอิสระที่แตกต่างกันรวมถึงแคชคำสั่งและข้อมูลซึ่งโดยปกติแคชข้อมูลจะจัดเป็นลำดับชั้นของระดับแคชที่มากขึ้น (L1, L2, L3, L4 ฯลฯ ) ซีพียูที่ทันสมัย (เร็ว) ทั้งหมด (มีข้อยกเว้นเฉพาะบางประการ[72] ) มีแคช CPU หลายระดับ ซีพียูตัวแรกที่ใช้แคชมีแคชเพียงระดับเดียว ไม่เหมือนกับแคชระดับ 1 ในภายหลังมันไม่ได้ถูกแบ่งออกเป็น L1d (สำหรับข้อมูล) และ L1i (สำหรับคำแนะนำ) ซีพียูปัจจุบันเกือบทั้งหมดที่มีแคชจะมีแคช L1 แบบแยก นอกจากนี้ยังมีแคช L2 และสำหรับโปรเซสเซอร์ขนาดใหญ่แคช L3 ด้วยเช่นกัน โดยปกติแคช L2 จะไม่แยกและทำหน้าที่เป็นที่เก็บทั่วไปสำหรับแคช L1 ที่แยกแล้ว ทุกคอร์ของโปรเซสเซอร์แบบมัลติคอร์มีแคช L2 เฉพาะและมักจะไม่ใช้ร่วมกันระหว่างคอร์ แคช L3 และแคชระดับสูงกว่าจะใช้ร่วมกันระหว่างคอร์และไม่แยก ปัจจุบันแคช L4 เป็นเรื่องปกติและโดยทั่วไปแล้วจะอยู่ในหน่วยความจำเข้าถึงโดยสุ่มแบบไดนามิก (DRAM) แทนที่จะอยู่ในหน่วยความจำเข้าถึงโดยสุ่มแบบคงที่ (SRAM) บนไดย์หรือชิปแยกต่างหาก นั่นก็เป็นเช่นนั้นในอดีตกับ L1 ในขณะที่ชิปที่ใหญ่กว่าได้อนุญาตให้รวมเข้าด้วยกันและโดยทั่วไปทุกระดับแคชโดยมีข้อยกเว้นที่เป็นไปได้ของระดับสุดท้าย แคชระดับพิเศษแต่ละระดับมีแนวโน้มที่จะใหญ่ขึ้นและได้รับการปรับให้เหมาะสมแตกต่างกัน มีแคชประเภทอื่น ๆ (ซึ่งไม่นับรวมใน "ขนาดแคช" ของแคชที่สำคัญที่สุดที่กล่าวถึงข้างต้น) เช่นบัฟเฟอร์ lookaside การแปล (TLB) ที่เป็นส่วนหนึ่งของหน่วยจัดการหน่วยความจำ (MMU) ที่ซีพียูส่วนใหญ่มี โดยทั่วไปแคชจะมีขนาด 2: 4, 8, 16 เป็นต้นKiBหรือMiB (สำหรับขนาดที่ใหญ่กว่าที่ไม่ใช่ L1) แม้ว่าIBM z13จะมีแคชคำสั่ง 96 KiB L1 ก็ตาม [73] ซีพียูส่วนใหญ่เป็นวงจรซิงโครนัสซึ่งหมายความว่าพวกเขาใช้สัญญาณนาฬิกาเพื่อเร่งการดำเนินการตามลำดับ สัญญาณนาฬิกาที่ผลิตโดยภายนอกวงจรออสซิลที่สร้างจำนวนที่สอดคล้องกันของพัลส์ในแต่ละวินาทีในรูปแบบของธาตุคลื่นสี่เหลี่ยม ความถี่ของพัลส์สัญญาณนาฬิกาจะกำหนดอัตราที่ซีพียูดำเนินการตามคำสั่งดังนั้นยิ่งนาฬิกาเร็วเท่าไหร่คำสั่ง CPU ก็จะทำงานในแต่ละวินาทีมากขึ้นเท่านั้น เพื่อให้แน่ใจว่าการทำงานของ CPU เป็นไปอย่างเหมาะสมระยะเวลานาฬิกาจะนานกว่าเวลาสูงสุดที่จำเป็นสำหรับสัญญาณทั้งหมดในการแพร่กระจาย (ย้าย) ผ่าน CPU ในการตั้งค่าระยะเวลานาฬิกาให้มีค่าสูงกว่าความล่าช้าในการแพร่กระจายของกรณีที่เลวร้ายที่สุดคุณสามารถออกแบบ CPU ทั้งหมดและวิธีที่จะย้ายข้อมูลรอบ "ขอบ" ของสัญญาณนาฬิกาที่ขึ้นและลง สิ่งนี้มีข้อดีในการลดความซับซ้อนของ CPU ลงอย่างมากทั้งจากมุมมองการออกแบบและมุมมองการนับส่วนประกอบ อย่างไรก็ตามยังมีข้อเสียที่ CPU ทั้งหมดต้องรอในองค์ประกอบที่ช้าที่สุดแม้ว่าบางส่วนจะเร็วกว่ามากก็ตาม ข้อ จำกัด นี้ส่วนใหญ่ได้รับการชดเชยด้วยวิธีการต่างๆในการเพิ่มความขนานของซีพียู (ดูด้านล่าง) อย่างไรก็ตามการปรับปรุงสถาปัตยกรรมเพียงอย่างเดียวไม่สามารถแก้ข้อบกพร่องทั้งหมดของซีพียูซิงโครนัสทั่วโลกได้ ตัวอย่างเช่นสัญญาณนาฬิกาอาจเกิดความล่าช้าของสัญญาณไฟฟ้าอื่น ๆ อัตราสัญญาณนาฬิกาที่สูงขึ้นในซีพียูที่ซับซ้อนมากขึ้นทำให้สัญญาณนาฬิกาอยู่ในเฟส (ซิงโครไนซ์) ได้ยากขึ้นทั่วทั้งหน่วย สิ่งนี้ทำให้ซีพียูสมัยใหม่จำนวนมากต้องการสัญญาณนาฬิกาที่เหมือนกันหลายตัวเพื่อหลีกเลี่ยงการหน่วงเวลาสัญญาณเดียวอย่างมีนัยสำคัญมากพอที่จะทำให้ซีพียูทำงานผิดพลาด อีกเรื่องที่สำคัญเป็นอัตราการเพิ่มขึ้นอย่างรวดเร็วนาฬิกาเป็นปริมาณความร้อนที่กระจายโดย CPU นาฬิกาที่เปลี่ยนแปลงตลอดเวลาทำให้ส่วนประกอบหลายอย่างเปลี่ยนไปไม่ว่าจะใช้งานอยู่ในขณะนั้นหรือไม่ โดยทั่วไปส่วนประกอบที่มีการสวิตชิ่งจะใช้พลังงานมากกว่าองค์ประกอบที่อยู่ในสถานะคงที่ ดังนั้นเมื่ออัตราสัญญาณนาฬิกาเพิ่มขึ้นการใช้พลังงานก็เช่นกันทำให้ CPU ต้องการการกระจายความร้อนมากขึ้นในรูปแบบของโซลูชันระบายความร้อนของCPU วิธีการหนึ่งในการจัดการกับการเปลี่ยนส่วนประกอบที่ไม่จำเป็นเรียกว่าclock gatingซึ่งเกี่ยวข้องกับการปิดสัญญาณนาฬิกาไปยังส่วนประกอบที่ไม่จำเป็น (ปิดการใช้งานอย่างมีประสิทธิภาพ) อย่างไรก็ตามสิ่งนี้มักถูกมองว่าเป็นเรื่องยากที่จะนำไปใช้ดังนั้นจึงไม่เห็นการใช้งานทั่วไปนอกเหนือจากการออกแบบที่ใช้พลังงานต่ำมาก สิ่งหนึ่งที่น่าออกแบบ CPU ล่าสุดที่ใช้ gating นาฬิกาที่กว้างขวางเป็น IBM PowerPC -based ซีนอนใช้ในXbox 360 ; ด้วยวิธีนี้ความต้องการพลังงานของ Xbox 360 จะลดลงอย่างมาก [74]อีกวิธีหนึ่งในการแก้ไขปัญหาบางอย่างเกี่ยวกับสัญญาณนาฬิกาทั่วโลกคือการกำจัดสัญญาณนาฬิกาทั้งหมด ในขณะที่การลบสัญญาณนาฬิกาทั่วโลกทำให้กระบวนการออกแบบมีความซับซ้อนมากขึ้นในหลาย ๆ ด้านการออกแบบแบบอะซิงโครนัส (หรือแบบไม่มีนาฬิกา) มีข้อดีที่โดดเด่นในด้านการใช้พลังงานและการกระจายความร้อนเมื่อเปรียบเทียบกับการออกแบบซิงโครนัสที่คล้ายกัน ในขณะที่ค่อนข้างแปลก แต่ซีพียูแบบอะซิงโครนัสทั้งหมดถูกสร้างขึ้นโดยไม่ใช้สัญญาณนาฬิกาทั่วโลก สองตัวอย่างที่โดดเด่นของเรื่องนี้เป็นARMสอดคล้องAMULETและMIPS MiniMIPS เข้ากันได้ R3000 แทนที่จะลบสัญญาณนาฬิกาออกทั้งหมดการออกแบบ CPU บางส่วนอนุญาตให้บางส่วนของอุปกรณ์เป็นแบบอะซิงโครนัสเช่นการใช้ALUแบบอะซิงโครนัสร่วมกับการไปป์ไลน์ superscalar เพื่อให้ได้ประสิทธิภาพทางคณิตศาสตร์ที่เพิ่มขึ้น แม้ว่าจะไม่ชัดเจนโดยสิ้นเชิงว่าการออกแบบแบบอะซิงโครนัสทั้งหมดสามารถทำงานได้ในระดับที่เทียบเคียงกันหรือดีกว่าคู่ของซิงโครนัส แต่ก็เห็นได้ชัดว่าอย่างน้อยก็ทำได้ดีในการคำนวณทางคณิตศาสตร์ที่ง่ายกว่า นี้รวมกับการใช้พลังงานและความร้อนกระจายคุณสมบัติที่ยอดเยี่ยมของพวกเขาทำให้พวกเขามากเหมาะสำหรับคอมพิวเตอร์ที่ฝังตัว [75] ซีพียูสมัยใหม่จำนวนมากมีโมดูลจัดการพลังงานแบบบูรณาการซึ่งควบคุมการจ่ายแรงดันไฟฟ้าตามความต้องการไปยังวงจร CPU ทำให้สามารถรักษาสมดุลระหว่างประสิทธิภาพและการใช้พลังงานได้ CPU ทุกตัวแสดงค่าตัวเลขในลักษณะเฉพาะ ตัวอย่างเช่นคอมพิวเตอร์ดิจิทัลรุ่นแรก ๆ บางเครื่องแสดงตัวเลขเป็นค่าระบบตัวเลขทศนิยม (ฐาน 10) ที่คุ้นเคยและเครื่องอื่น ๆ ใช้การแทนค่าที่ผิดปกติมากขึ้นเช่นเทอร์นารี (ฐานสาม) เกือบทั้งหมดซีพียูที่ทันสมัยแทนตัวเลขในไบนารีรูปแบบกับแต่ละหลักเป็นตัวแทนโดยบางส่วนปริมาณทางกายภาพสองมูลค่าเช่น "สูง" หรือ "ต่ำ" แรงดันไฟฟ้า [f] คำหกบิตที่มีการแทนค่าฐานสิบที่เข้ารหัสแบบไบนารี 40 ซีพียูสมัยใหม่ส่วนใหญ่ใช้ขนาดคำที่มีกำลังสองเช่น 8, 16, 32 หรือ 64 บิต ที่เกี่ยวข้องกับการแสดงตัวเลขคือขนาดและความแม่นยำของตัวเลขจำนวนเต็มที่ CPU สามารถแสดงได้ ในกรณีของ CPU ไบนารีนี้จะวัดจากจำนวนของบิต (ตัวเลขที่สำคัญของจำนวนเต็มเข้ารหัสไบนารี) ที่ CPU สามารถประมวลผลในการดำเนินการหนึ่งซึ่งเรียกกันว่าขนาดคำ , ความกว้างบิต , ความกว้างของข้อมูลเส้นทาง , จำนวนเต็มแม่นยำหรือขนาดจำนวนเต็ม ขนาดจำนวนเต็มของ CPU กำหนดช่วงของค่าจำนวนเต็มที่สามารถดำเนินการได้โดยตรง [g]ตัวอย่างเช่นCPU 8 บิตสามารถจัดการกับจำนวนเต็มที่แสดงด้วยแปดบิตได้โดยตรงซึ่งมีช่วงของค่าจำนวนเต็มแบบแยก256 (2 8 ) ช่วงจำนวนเต็มยังส่งผลต่อจำนวนตำแหน่งหน่วยความจำที่ CPU สามารถระบุได้โดยตรง (แอดเดรสคือค่าจำนวนเต็มแทนตำแหน่งหน่วยความจำเฉพาะ) ตัวอย่างเช่นหากไบนารีซีพียูใช้ 32 บิตเพื่อแสดงแอดเดรสหน่วยความจำก็สามารถระบุตำแหน่งหน่วยความจำ2 32ตำแหน่งได้โดยตรง เพื่อหลีกเลี่ยงข้อ จำกัด นี้และด้วยเหตุผลอื่น ๆ ซีพียูบางตัวใช้กลไก (เช่นการสลับธนาคาร ) ที่ช่วยให้สามารถจัดการกับหน่วยความจำเพิ่มเติมได้ ซีพียูที่มีขนาดคำที่ใหญ่ขึ้นต้องการวงจรที่มากขึ้นและส่งผลให้มีขนาดใหญ่ขึ้นมีค่าใช้จ่ายสูงขึ้นและใช้พลังงานมากขึ้น ด้วยเหตุนี้ไมโครคอนโทรลเลอร์ 4- หรือ 8 บิตที่มีขนาดเล็กจึงมักใช้ในแอปพลิเคชันสมัยใหม่แม้ว่าซีพียูที่มีขนาดคำที่ใหญ่กว่ามาก (เช่น 16, 32, 64, แม้กระทั่ง 128 บิต) ก็มีให้ใช้งาน อย่างไรก็ตามเมื่อต้องการประสิทธิภาพที่สูงขึ้นประโยชน์ของขนาดคำที่ใหญ่ขึ้น (ช่วงข้อมูลที่ใหญ่ขึ้นและช่องว่างที่อยู่) อาจมีมากกว่าข้อเสีย CPU สามารถมีเส้นทางข้อมูลภายในที่สั้นกว่าขนาดคำเพื่อลดขนาดและต้นทุน ตัวอย่างเช่นแม้ว่าชุดคำสั่งIBM System / 360 จะเป็นชุดคำสั่ง 32 บิต แต่ System / 360 Model 30และModel 40มีเส้นทางข้อมูล 8 บิตในหน่วยตรรกะเลขคณิตดังนั้นการเพิ่ม 32 บิตจึงจำเป็นต้องมีสี่ หนึ่งรอบสำหรับแต่ละ 8 บิตของตัวถูกดำเนินการและแม้ว่าชุดคำสั่งMotorola 68000 series จะเป็นชุดคำสั่ง 32 บิต แต่Motorola 68000และMotorola 68010มีเส้นทางข้อมูล 16 บิตในหน่วยตรรกะเลขคณิตดังนั้น ต้องเพิ่ม 32 บิตสองรอบ เพื่อให้ได้รับข้อดีบางประการจากความยาวบิตที่ต่ำกว่าและสูงกว่าชุดคำสั่งจำนวนมากจึงมีความกว้างบิตที่แตกต่างกันสำหรับข้อมูลจำนวนเต็มและทศนิยมที่แตกต่างกันทำให้ซีพียูที่ใช้ชุดคำสั่งนั้นมีความกว้างบิตที่แตกต่างกันสำหรับส่วนต่างๆของอุปกรณ์ ตัวอย่างเช่นชุดคำสั่งIBM System / 360ส่วนใหญ่เป็น 32 บิต แต่สนับสนุนค่าทศนิยม 64 บิตเพื่อเพิ่มความแม่นยำและช่วงของตัวเลขทศนิยม [30] System / 360 Model 65 มีแอดเดอร์ 8 บิตสำหรับเลขคณิตทศนิยมและจุดคงที่และแอดเดอร์ 60 บิตสำหรับเลขคณิตลอยตัว [76]การออกแบบ CPU ในภายหลังจำนวนมากใช้ความกว้างบิตผสมที่คล้ายกันโดยเฉพาะอย่างยิ่งเมื่อโปรเซสเซอร์มีไว้สำหรับการใช้งานทั่วไปที่ต้องการความสมดุลของจำนวนเต็มและความสามารถของทศนิยมที่เหมาะสม แบบจำลองของซีพียู subscalar ซึ่งใช้เวลา 15 รอบนาฬิกาในการทำสามคำสั่ง คำอธิบายของการทำงานพื้นฐานของ CPU ที่นำเสนอในส่วนก่อนหน้านี้อธิบายถึงรูปแบบที่ง่ายที่สุดที่ CPU สามารถทำได้ CPU ประเภทนี้มักเรียกว่าsubscalarทำงานและดำเนินการคำสั่งหนึ่งคำสั่งกับข้อมูลหนึ่งหรือสองชิ้นในแต่ละครั้งซึ่งน้อยกว่าหนึ่งคำสั่งต่อหนึ่งรอบสัญญาณนาฬิกา ( ) กระบวนการนี้ก่อให้เกิดความไม่มีประสิทธิภาพโดยธรรมชาติในซีพียู subscalar เนื่องจากมีการดำเนินการคำสั่งเพียงครั้งเดียว CPU ทั้งหมดจึงต้องรอให้คำสั่งนั้นเสร็จสิ้นก่อนที่จะดำเนินการตามคำสั่งถัดไป ด้วยเหตุนี้ซีพียู subscalar จึง "วางสาย" ตามคำแนะนำซึ่งใช้เวลามากกว่าหนึ่งรอบสัญญาณนาฬิกาในการดำเนินการให้เสร็จสมบูรณ์ แม้แต่การเพิ่มหน่วยประมวลผลที่สอง(ดูด้านล่าง) ก็ไม่ได้ปรับปรุงประสิทธิภาพมากนัก แทนที่จะแขวนไว้ทางเดินเดียวตอนนี้ทางเดินสองทางถูกแขวนไว้และจำนวนทรานซิสเตอร์ที่ไม่ได้ใช้ก็เพิ่มขึ้น การออกแบบนี้โดยที่ทรัพยากรการดำเนินการของ CPU สามารถทำงานบนคำสั่งเพียงคำสั่งเดียวในแต่ละครั้งสามารถเข้าถึงประสิทธิภาพสเกลาร์เท่านั้น(หนึ่งคำสั่งต่อรอบสัญญาณนาฬิกา, ) อย่างไรก็ตามประสิทธิภาพจะอยู่ในระดับต่ำกว่าปกติ (น้อยกว่าหนึ่งคำสั่งต่อรอบสัญญาณนาฬิกา ) ความพยายามที่จะบรรลุสเกลาร์และประสิทธิภาพที่ดีขึ้นส่งผลให้มีวิธีการออกแบบที่หลากหลายซึ่งทำให้ CPU ทำงานแบบขนานน้อยลงและมากขึ้นในแบบคู่ขนาน เมื่อกล่าวถึงความขนานในซีพียูโดยทั่วไปจะใช้คำสองคำเพื่อจำแนกเทคนิคการออกแบบเหล่านี้:
• ความขนานระดับงาน (TLP) ซึ่งมีวัตถุประสงค์เพื่อเพิ่มจำนวนเธรดหรือกระบวนการที่ CPU สามารถดำเนินการพร้อมกันได้ วิธีการแต่ละวิธีมีความแตกต่างกันทั้งในรูปแบบที่นำไปใช้รวมถึงประสิทธิผลสัมพัทธ์ที่พวกเขาจ่ายได้ในการเพิ่มประสิทธิภาพของ CPU สำหรับแอปพลิเคชัน [h] วิธีการที่ง่ายที่สุดวิธีหนึ่งที่ใช้เพื่อบรรลุความเท่าเทียมที่เพิ่มขึ้นคือการเริ่มขั้นตอนแรกของการดึงและถอดรหัสคำสั่งก่อนที่คำสั่งก่อนหน้าจะเสร็จสิ้น นี่เป็นรูปแบบที่ง่ายที่สุดของเทคนิคที่เรียกว่าคำสั่ง pipeliningและใช้ในซีพียูเอนกประสงค์ที่ทันสมัยเกือบทั้งหมด การวางท่อช่วยให้สามารถดำเนินการคำสั่งได้มากกว่าหนึ่งคำสั่งในช่วงเวลาใดเวลาหนึ่งโดยแยกเส้นทางการดำเนินการออกเป็นขั้นตอนที่ไม่ต่อเนื่อง การแยกนี้สามารถเปรียบเทียบได้กับไลน์แอสเซมบลีซึ่งคำสั่งจะทำให้สมบูรณ์มากขึ้นในแต่ละขั้นตอนจนกว่าจะออกจากไปป์ไลน์การดำเนินการและถูกยกเลิก อย่างไรก็ตามการวางท่อนำเสนอความเป็นไปได้สำหรับสถานการณ์ที่จำเป็นต้องใช้ผลลัพธ์ของการดำเนินการก่อนหน้านี้เพื่อให้การดำเนินการถัดไปเสร็จสมบูรณ์ เงื่อนไขมักเรียกว่าความขัดแย้งในการพึ่งพาข้อมูล ในการรับมือกับสิ่งนี้ต้องใช้ความระมัดระวังเพิ่มเติมเพื่อตรวจสอบเงื่อนไขประเภทนี้และชะลอส่วนของท่อส่งคำสั่งหากเกิดเหตุการณ์นี้ขึ้น โดยธรรมชาติแล้วการทำสิ่งนี้ให้สำเร็จต้องใช้วงจรเพิ่มเติมดังนั้นโปรเซสเซอร์แบบไพพ์ไลน์จึงมีความซับซ้อนมากกว่าตัวประมวลผลย่อย (แม้ว่าจะไม่ได้มีนัยสำคัญมากนัก) ตัวประมวลผลแบบไปป์ไลน์สามารถกลายเป็นสเกลาร์ได้เกือบจะถูกยับยั้งโดยแผงขายของไปป์ไลน์เท่านั้น (คำสั่งที่ใช้เวลามากกว่าหนึ่งรอบสัญญาณนาฬิกาในสเตจ) ท่อส่ง superscalar ง่ายๆ โดยการดึงและส่งคำสั่งสองคำสั่งในแต่ละครั้งจะสามารถดำเนินการให้เสร็จสมบูรณ์ได้สูงสุดสองคำสั่งต่อหนึ่งรอบนาฬิกา การปรับปรุงเพิ่มเติมตามแนวคิดของการวางท่อคำสั่งนำไปสู่การพัฒนาวิธีการที่ช่วยลดเวลาว่างของส่วนประกอบ CPU ให้ดียิ่งขึ้นไปอีก การออกแบบที่จะกล่าวว่าเป็นsuperscalarได้แก่ ท่อการเรียนการสอนที่ยาวนานและหลายที่เหมือนหน่วยปฏิบัติเช่นหน่วยภาระร้านค้า , หน่วยเลขคณิตตรรกะ , หน่วยจุดลอยและหน่วยรุ่นอยู่ [77]ในไปป์ไลน์ superscalar คำสั่งต่างๆจะถูกอ่านและส่งผ่านไปยังผู้มอบหมายงานซึ่งจะตัดสินใจว่าจะสามารถดำเนินการคำสั่งควบคู่กันได้หรือไม่ (พร้อมกัน) หากเป็นเช่นนั้นระบบจะส่งไปยังหน่วยประมวลผลที่พร้อมใช้งานส่งผลให้สามารถดำเนินการคำสั่งหลายคำสั่งพร้อมกันได้ โดยทั่วไปยิ่งมีคำสั่งมากขึ้นที่ CPU superscalar สามารถส่งไปยังหน่วยประมวลผลที่รอได้พร้อมกันคำสั่งก็จะยิ่งเสร็จสมบูรณ์ในรอบที่กำหนด ความยากลำบากส่วนใหญ่ในการออกแบบสถาปัตยกรรมซีพียูแบบ superscalar อยู่ที่การสร้างดิสแพตเชอร์ที่มีประสิทธิภาพ ผู้มอบหมายงานจำเป็นต้องสามารถระบุได้อย่างรวดเร็วและถูกต้องว่าคำสั่งสามารถดำเนินการควบคู่กันได้หรือไม่รวมทั้งจัดส่งคำสั่งเหล่านี้ในลักษณะที่ทำให้หน่วยประมวลผลไม่ว่างให้มากที่สุดเท่าที่จะเป็นไปได้ นี้ต้องการให้คำแนะนำและท่อที่เต็มไปได้บ่อยเท่าที่เป็นไปได้และก่อให้เกิดความต้องการในสถาปัตยกรรม superscalar สำหรับจำนวนเงินที่สำคัญของแคช CPU นอกจากนี้ยังทำให้เกิดอันตรายเทคนิคเช่น -avoiding ทำนายสาขา , การดำเนินการเก็งกำไร , ลงทะเบียนเปลี่ยนชื่อ , ออกจากคำสั่งการดำเนินการและหน่วยความจำในการทำธุรกรรมที่สำคัญที่จะรักษาประสิทธิภาพในระดับสูง ด้วยการพยายามทำนายว่าจะใช้คำสั่งตามเงื่อนไขสาขา (หรือเส้นทาง) ใด CPU สามารถลดจำนวนครั้งที่ไปป์ไลน์ทั้งหมดต้องรอจนกว่าคำสั่งแบบมีเงื่อนไขจะเสร็จสมบูรณ์ การดำเนินการแบบเก็งกำไรมักให้ประสิทธิภาพที่เพิ่มขึ้นเล็กน้อยโดยการดำเนินการส่วนของโค้ดที่อาจไม่จำเป็นหลังจากการดำเนินการตามเงื่อนไขเสร็จสิ้น การดำเนินการที่ไม่อยู่ในคำสั่งจะเป็นการจัดเรียงลำดับการดำเนินการตามคำสั่งใหม่เพื่อลดความล่าช้าเนื่องจากการอ้างอิงข้อมูล นอกจากนี้ในกรณีของสตรีมคำสั่งเดียวสตรีมข้อมูลหลายรายการ - ในกรณีที่ต้องประมวลผลข้อมูลจำนวนมากจากประเภทเดียวกัน - โปรเซสเซอร์สมัยใหม่สามารถปิดการใช้งานบางส่วนของไปป์ไลน์ได้ดังนั้นเมื่อมีการดำเนินการคำสั่งเดียวหลายครั้ง CPU ข้ามขั้นตอนการดึงข้อมูลและถอดรหัสและเพิ่มประสิทธิภาพอย่างมากในบางโอกาสโดยเฉพาะอย่างยิ่งในเอ็นจิ้นโปรแกรมที่น่าเบื่ออย่างมากเช่นซอฟต์แวร์สร้างวิดีโอและการประมวลผลภาพถ่าย ในกรณีที่ส่วนหนึ่งของซีพียูเป็น superscalar และไม่เป็นส่วนหนึ่งส่วนที่ไม่ได้รับผลกระทบด้านประสิทธิภาพเนื่องจากการตั้งเวลาหยุดชะงัก Intel P5 Pentiumมีสองคำสั่ง superscalar ซึ่งสามารถรับหนึ่งคำสั่งต่อหนึ่งรอบสัญญาณนาฬิกา แต่ FPU ไม่สามารถยอมรับหนึ่งคำสั่งต่อหนึ่งรอบสัญญาณนาฬิกา ดังนั้น P5 จึงเป็นจำนวนเต็ม superscalar แต่ไม่ใช่ superscalar ทศนิยม ผู้สืบทอดสถาปัตยกรรม P5 ของ Intel คือP6ได้เพิ่มความสามารถของ superscalar ให้กับคุณสมบัติจุดลอยตัวและทำให้ประสิทธิภาพการเรียนการสอนจุดลอยตัวเพิ่มขึ้นอย่างมาก ทั้งการวางท่ออย่างง่ายและการออกแบบ superscalar ช่วยเพิ่ม ILP ของ CPU โดยอนุญาตให้โปรเซสเซอร์ตัวเดียวดำเนินการตามคำสั่งในอัตราที่สูงกว่าหนึ่งคำสั่งต่อหนึ่งรอบสัญญาณนาฬิกา [i]การออกแบบซีพียูสมัยใหม่ส่วนใหญ่เป็นแบบ superscalar เป็นอย่างน้อยและซีพียูเอนกประสงค์เกือบทั้งหมดที่ออกแบบในทศวรรษที่ผ่านมานั้นเป็นแบบ superscalar ในช่วงหลายปีต่อมาความสำคัญบางประการในการออกแบบคอมพิวเตอร์ที่มี ILP สูงได้ถูกย้ายออกจากฮาร์ดแวร์ของ CPU และไปยังอินเทอร์เฟซซอฟต์แวร์หรือสถาปัตยกรรมชุดคำสั่ง (ISA) กลยุทธ์ของคำสั่งที่ยาวมาก (VLIW) ทำให้ ILP บางส่วนกลายเป็นซอฟต์แวร์โดยนัยโดยตรงลดปริมาณงานที่ CPU ต้องดำเนินการเพื่อเพิ่ม ILP และจึงช่วยลดความซับซ้อนของการออกแบบ อีกกลยุทธ์หนึ่งในการบรรลุประสิทธิภาพคือการดำเนินการหลายเธรดหรือกระบวนการพร้อมกัน พื้นที่ของการวิจัยครั้งนี้เป็นที่รู้จักกันประมวลผลแบบขนาน [78]ในอนุกรมวิธานของฟลินน์กลยุทธ์นี้เรียกว่าสตรีมคำสั่งหลายรายการสตรีมข้อมูลหลายรายการ (MIMD) [79] เทคโนโลยีหนึ่งที่ใช้เพื่อจุดประสงค์นี้คือการประมวลผลหลายขั้นตอน (MP) [80]รสชาติเริ่มต้นของเทคโนโลยีนี้เรียกว่าการประมวลผลหลายขั้นตอนแบบสมมาตร (SMP) ซึ่งมีซีพียูจำนวนน้อยแบ่งปันมุมมองที่สอดคล้องกันของระบบหน่วยความจำของตน ในรูปแบบนี้ CPU แต่ละตัวจะมีฮาร์ดแวร์เพิ่มเติมเพื่อรักษามุมมองของหน่วยความจำที่ทันสมัยอยู่เสมอ การหลีกเลี่ยงมุมมองของหน่วยความจำที่ค้างซีพียูสามารถทำงานร่วมกันในโปรแกรมเดียวกันและโปรแกรมสามารถโยกย้ายจากซีพียูเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง เพื่อเพิ่มจำนวนซีพียูที่ทำงานร่วมกันเกินจำนวนเพียงหยิบมือโครงร่างเช่นการเข้าถึงหน่วยความจำแบบไม่สม่ำเสมอ (NUMA) และโปรโตคอลการเชื่อมโยงกันตามไดเรกทอรีได้ถูกนำมาใช้ในปี 1990 ระบบ SMP ถูก จำกัด ไว้ที่ซีพียูจำนวนน้อยในขณะที่ระบบ NUMA ถูกสร้างขึ้นด้วยโปรเซสเซอร์หลายพันตัว ในขั้นต้นการประมวลผลหลายขั้นตอนถูกสร้างขึ้นโดยใช้ซีพียูและบอร์ดแยกหลายตัวเพื่อใช้การเชื่อมต่อระหว่างโปรเซสเซอร์ เมื่อโปรเซสเซอร์และการเชื่อมต่อระหว่างกันทั้งหมดถูกนำไปใช้บนชิปตัวเดียวเทคโนโลยีนี้เรียกว่าการประมวลผลแบบหลายขั้นตอน (CMP) และชิปตัวเดียวเป็นโปรเซสเซอร์แบบมัลติคอร์ เป็นที่ยอมรับในภายหลังว่ามีการขนานกันอย่างละเอียดด้วยโปรแกรมเดียว โปรแกรมเดียวอาจมีหลายเธรด (หรือฟังก์ชัน) ที่สามารถทำงานแยกกันหรือทำงานควบคู่กันได้ ตัวอย่างแรกสุดของเทคโนโลยีนี้ใช้การประมวลผลอินพุต / เอาต์พุตเช่นการเข้าถึงหน่วยความจำโดยตรงเป็นเธรดแยกจากเธรดการคำนวณ วิธีการทั่วไปมากขึ้นสำหรับเทคโนโลยีนี้ถูกนำมาใช้ในปี 1970 เมื่อระบบได้รับการออกแบบให้รันเธรดการคำนวณหลายชุดพร้อมกัน เทคโนโลยีนี้เรียกว่ามัลติเธรด (MT) แนวทางนี้ถือว่าคุ้มค่ากว่าการประมวลผลหลายขั้นตอนเนื่องจากมีการจำลองส่วนประกอบเพียงเล็กน้อยภายใน CPU เพื่อรองรับ MT ซึ่งต่างจาก CPU ทั้งหมดในกรณีของ MP ใน MT หน่วยการดำเนินการและระบบหน่วยความจำรวมถึงแคชจะถูกแบ่งใช้ระหว่างเธรดหลายเธรด ข้อเสียของ MT คือการสนับสนุนฮาร์ดแวร์สำหรับมัลติเธรดนั้นสามารถมองเห็นได้ในซอฟต์แวร์มากกว่าซอฟต์แวร์ MP ดังนั้นซอฟต์แวร์ผู้ดูแลเช่นระบบปฏิบัติการจึงต้องได้รับการเปลี่ยนแปลงครั้งใหญ่เพื่อรองรับ MT MT ชนิดหนึ่งที่นำมาใช้เรียกว่ามัลติเธรดชั่วคราวโดยที่เธรดหนึ่งจะถูกเรียกใช้งานจนกว่าจะหยุดรอให้ข้อมูลส่งคืนจากหน่วยความจำภายนอก ในโครงการนี้ CPU จะแล้วรีบเปลี่ยนบริบทไปยังหัวข้ออื่นซึ่งพร้อมที่จะทำงานสลับมักจะทำในรอบสัญญาณนาฬิกาของ CPU หนึ่งเช่นUltraSPARC T1 MT อีกประเภทหนึ่งคือมัลติเธรดพร้อมกันซึ่งคำสั่งจากเธรดหลายเธรดจะดำเนินการแบบคู่ขนานภายในหนึ่งรอบนาฬิกาของ CPU เป็นเวลาหลายทศวรรษตั้งแต่ปี 1970 ถึงต้นปี 2000 จุดเน้นในการออกแบบซีพียูสำหรับวัตถุประสงค์ทั่วไปที่มีประสิทธิภาพสูงส่วนใหญ่อยู่ที่การได้รับ ILP ที่สูงผ่านเทคโนโลยีเช่นการไปป์ไลน์การแคชการดำเนินการ superscalar การดำเนินการนอกคำสั่งเป็นต้นซึ่งแนวโน้มดังกล่าวทำให้เกิดขึ้นได้มาก ซีพียูกำลังหิวเช่น Intel Pentium 4 ในช่วงต้นทศวรรษ 2000 นักออกแบบ CPU ถูกขัดขวางไม่ให้บรรลุประสิทธิภาพที่สูงขึ้นจากเทคนิค ILP เนื่องจากความแตกต่างระหว่างความถี่ในการทำงานของ CPU และความถี่ในการทำงานของหน่วยความจำหลักที่เพิ่มขึ้นรวมถึงการกระจายพลังงานของ CPU ที่เพิ่มขึ้นเนื่องจากเทคนิค ILP ที่ลึกลับมากขึ้น จากนั้นนักออกแบบซีพียูได้ยืมแนวคิดจากตลาดคอมพิวเตอร์เชิงพาณิชย์เช่นการประมวลผลธุรกรรมซึ่งประสิทธิภาพโดยรวมของหลายโปรแกรมหรือที่เรียกว่าการคำนวณปริมาณงานมีความสำคัญมากกว่าประสิทธิภาพของเธรดหรือกระบวนการเดียว การย้อนกลับของการเน้นนี้เป็นหลักฐานจากการเพิ่มจำนวนของการออกแบบโปรเซสเซอร์แบบดูอัลและคอร์ที่เพิ่มมากขึ้นและโดยเฉพาะอย่างยิ่งการออกแบบที่ใหม่กว่าของ Intel มีลักษณะคล้ายกับสถาปัตยกรรมsuperscalar P6น้อย การออกแบบที่ล่าช้าในตระกูลโปรเซสเซอร์หลายตัวจัดแสดง CMP รวมถึงx86-64 OpteronและAthlon 64 X2 , SPARC UltraSPARC T1 , IBM POWER4และPOWER5รวมถึงซีพียูคอนโซลวิดีโอเกมหลายตัวเช่นการออกแบบ PowerPC สามคอร์ของXbox 360และPlayStation 3ของ 7-core ไมโครโปรเซสเซอร์มือถือ กระบวนทัศน์ของโปรเซสเซอร์ที่ใช้กันทั่วไปน้อยลง แต่มีความสำคัญมากขึ้นเรื่อย ๆ (และโดยทั่วไปแล้วการประมวลผลโดยทั่วไป) เกี่ยวข้องกับความเท่าเทียมกันของข้อมูล โปรเซสเซอร์ที่กล่าวถึงก่อนหน้านี้ล้วนเรียกว่าอุปกรณ์สเกลาร์บางประเภท [j]ตามความหมายของชื่อตัวประมวลผลเวกเตอร์จัดการกับข้อมูลหลายชิ้นในบริบทของคำสั่งเดียว สิ่งนี้แตกต่างกับตัวประมวลผลสเกลาร์ซึ่งจัดการกับข้อมูลชิ้นเดียวสำหรับทุกคำสั่ง การใช้อนุกรมวิธานของฟลินน์ทั้งสองแบบแผนการจัดการกับข้อมูลโดยทั่วไปเรียกว่าสตรีมคำสั่งเดียวสตรีมข้อมูลหลายรายการ ( SIMD ) และสตรีมคำสั่งเดียวสตรีมข้อมูลเดียว ( SISD ) ตามลำดับ ยูทิลิตี้ที่ยอดเยี่ยมในการสร้างโปรเซสเซอร์ที่จัดการกับเวกเตอร์ของข้อมูลอยู่ที่การเพิ่มประสิทธิภาพงานที่มักจะต้องใช้การดำเนินการเดียวกัน (เช่นผลรวมหรือผลิตภัณฑ์จุด ) เพื่อดำเนินการกับชุดข้อมูลจำนวนมาก ตัวอย่างคลาสสิกบางส่วนของงานประเภทนี้ ได้แก่แอปพลิเคชันมัลติมีเดีย (ภาพวิดีโอและเสียง) ตลอดจนงานทางวิทยาศาสตร์และวิศวกรรมหลายประเภท ในขณะที่ตัวประมวลผลสเกลาร์ต้องดำเนินการตามกระบวนการทั้งหมดในการดึงข้อมูลถอดรหัสและดำเนินการแต่ละคำสั่งและค่าในชุดข้อมูลตัวประมวลผลเวกเตอร์สามารถดำเนินการเดียวกับชุดข้อมูลขนาดใหญ่โดยเปรียบเทียบได้ด้วยคำสั่งเดียว สิ่งนี้จะเกิดขึ้นได้ก็ต่อเมื่อแอปพลิเคชันมีแนวโน้มที่จะต้องใช้หลายขั้นตอนซึ่งใช้การดำเนินการเดียวกับชุดข้อมูลขนาดใหญ่ เวกเตอร์โปรเซสเซอร์รุ่นแรก ๆ ส่วนใหญ่เช่นCray-1เกี่ยวข้องกับการวิจัยทางวิทยาศาสตร์และแอปพลิเคชันการเข้ารหัสเท่านั้น อย่างไรก็ตามเนื่องจากมัลติมีเดียได้เปลี่ยนไปใช้สื่อดิจิทัลเป็นส่วนใหญ่ความต้องการ SIMD บางรูปแบบในโปรเซสเซอร์ที่ใช้งานทั่วไปจึงมีความสำคัญ ไม่นานหลังจากการรวมหน่วยจุดลอยตัวเริ่มกลายเป็นเรื่องธรรมดาในโปรเซสเซอร์ที่ใช้งานทั่วไปข้อกำหนดสำหรับและการใช้งานหน่วยประมวลผล SIMD ก็เริ่มปรากฏขึ้นสำหรับโปรเซสเซอร์ที่ใช้งานทั่วไป [ ]ข้อมูลจำเพาะของ SIMD รุ่นแรก ๆ เหล่านี้ - เช่นMultimedia Acceleration eXtensions (MAX) ของ HP และMMXของ Intel เป็นจำนวนเต็มเท่านั้น นี้พิสูจน์แล้วว่าเป็นอุปสรรคสำคัญสำหรับนักพัฒนาซอฟต์แวร์บางเนื่องจากหลายโปรแกรมที่ได้รับประโยชน์จาก SIMD หลักจัดการกับจุดลอยตัวเลข ในขั้นตอนต่อไปนักพัฒนาได้ปรับแต่งและปรับปรุงการออกแบบในยุคแรก ๆ เหล่านี้ให้เป็นข้อกำหนดของ SIMD สมัยใหม่ทั่วไปซึ่งมักจะเกี่ยวข้องกับสถาปัตยกรรมชุดคำสั่งเดียว(ISA) ตัวอย่างสมัยใหม่ที่น่าทึ่ง ได้แก่Streaming SIMD Extensions (SSE) ของ Intel และAltiVecที่เกี่ยวข้องกับ PowerPC (หรือที่เรียกว่า VMX) [k]
ประสิทธิภาพหรือความเร็วของหน่วยประมวลผลขึ้นอยู่กับปัจจัยอื่น ๆ อีกมากมายอัตรานาฬิกา (ได้รับโดยทั่วไปหลายรายการเฮิรตซ์ ) และคำแนะนำต่อนาฬิกา (IPC) ซึ่งร่วมกันเป็นปัจจัยสำหรับคำสั่งต่อวินาที (IPS) ที่ CPU สามารถทำงานได้ [84]ค่า IPS ที่รายงานจำนวนมากแสดงถึงอัตราการดำเนินการ "สูงสุด" ในลำดับคำสั่งเทียมที่มีสาขาไม่กี่แห่งในขณะที่ปริมาณงานจริงประกอบด้วยชุดคำสั่งและแอปพลิเคชันต่างๆซึ่งบางส่วนใช้เวลาดำเนินการนานกว่าแบบอื่น ประสิทธิภาพของลำดับชั้นหน่วยความจำยังส่งผลกระทบอย่างมากต่อประสิทธิภาพของโปรเซสเซอร์ซึ่งเป็นปัญหาที่แทบจะไม่ได้รับการพิจารณาในการคำนวณ MIPS เนื่องจากปัญหาเหล่านี้การทดสอบมาตรฐานต่างๆจึงมักเรียกว่า"เกณฑ์มาตรฐาน"เพื่อจุดประสงค์นี้ - เช่นSPECint — จึงได้รับการพัฒนาขึ้นเพื่อพยายามวัดประสิทธิภาพที่แท้จริงในแอปพลิเคชันที่ใช้กันทั่วไป ประสิทธิภาพการประมวลผลของคอมพิวเตอร์เพิ่มขึ้นโดยใช้โปรเซสเซอร์แบบมัลติคอร์ซึ่งโดยพื้นฐานแล้วคือการเสียบโปรเซสเซอร์สองตัวขึ้นไป (เรียกว่าคอร์ในแง่นี้) เข้ากับวงจรรวม [85] ตามหลักการแล้วโปรเซสเซอร์ดูอัลคอร์จะมีประสิทธิภาพมากกว่าโปรเซสเซอร์เดี่ยวเกือบสองเท่า ในทางปฏิบัติประสิทธิภาพที่เพิ่มขึ้นจะน้อยลงมากเพียงประมาณ 50% เนื่องจากอัลกอริทึมและการใช้งานซอฟต์แวร์ที่ไม่สมบูรณ์ [86]การเพิ่มจำนวนคอร์ในโปรเซสเซอร์ (เช่นดูอัลคอร์ควอดคอร์ ฯลฯ ) จะเพิ่มภาระงานที่สามารถจัดการได้ ซึ่งหมายความว่าในขณะนี้โปรเซสเซอร์สามารถจัดการกับเหตุการณ์แบบอะซิงโครนัสการขัดจังหวะและอื่น ๆ ได้มากมายซึ่งอาจส่งผลเสียต่อ CPU เมื่อมีการโอเวอร์โหลด แกนเหล่านี้สามารถคิดได้ว่าเป็นชั้นที่แตกต่างกันในโรงงานแปรรูปโดยแต่ละชั้นจะจัดการงานที่แตกต่างกัน บางครั้งคอร์เหล่านี้จะจัดการงานเดียวกันกับคอร์ที่อยู่ติดกันหากคอร์เดียวไม่เพียงพอที่จะจัดการกับข้อมูล เนื่องจากความสามารถเฉพาะของซีพียูสมัยใหม่เช่นมัลติเธรดพร้อมกันและuncoreซึ่งเกี่ยวข้องกับการแบ่งปันทรัพยากรของ CPU จริงในขณะที่มุ่งเป้าไปที่การใช้ประโยชน์ที่เพิ่มขึ้นการตรวจสอบระดับประสิทธิภาพและการใช้ฮาร์ดแวร์จึงค่อย ๆ กลายเป็นงานที่ซับซ้อนมากขึ้น [87]เพื่อเป็นการตอบสนองซีพียูบางตัวใช้ตรรกะฮาร์ดแวร์เพิ่มเติมที่ตรวจสอบการใช้งานจริงของส่วนต่างๆของ CPU และให้ตัวนับต่างๆที่ซอฟต์แวร์สามารถเข้าถึงได้ ตัวอย่างเป็นของ Intel ผลการดำเนินงานป้องกันและปราบปรามการตรวจสอบเทคโนโลยี [2]
Motherboard มาเธอร์บอร์ด หรือ Mainboard เมนบอร์ด คืออะไร
ศูนย์กลางของการเชื่อมต่อสำหรับอุปกรณ์ภายในเครื่องคอมพิวเตอร์ มีชิปเซ็ตที่ทำหน้าที่รับ ส่งข้อมูลของอุปกรณ์ต่างๆ อีกขั้นหนึ่ง Mainboard (เมนบร์ด)
Motherboard (มาเธอร์บอร์ด) หรือ Mainboard (เมนบอร์ด) นั้นเป็นแผงวงจรอิเล็กทรอนิกส์ที่จะเห็นได้ทั่วไปในคอมพิวเตอร์ส่วนบุคคลหรือว่า PC (พี ซี) ซึ่งจะมีลักษณะเป็นแผงวงจรสี่เหลี่ยมเล็กใหญ่ตามขนาดที่จะใช้งาน โดยจะมี Socket (ซ็อกเก็ต) หรือ slot CPU(สล็อตซีพียู) สำหรับบรรจุหน่วยประมวลผลกลางและหน่วยความจำ ซึ่งเป็นส่วนสำคัญที่ทุกเมนบอร์ดทุกยี่ห้อต้องมี นอกจากสองส่วนที่สำคัญแล้ว มาเธอร์บอร์ดยังมีช่องเสียบต่างๆและช่องเชื่อมต่ออุปกรณ์ภายนอก ซึ่งสามารถติดตั้งภายในตัวบอร์ดเลยก็ได้ หรือติดตั้งนอกเมนบอร์ดก็ได้เช่นกัน
ซึ่งเป็นศูนย์ควบคุมกลางในการทำงานของ CP ก็ว่าได้เพราะทุกอย่างจะมีการเชื่อมต่อกับ Motherboard คำสั่งจะโดนประมวลผลให้อุปกรณ์ทำงานก็ต้องผ่าน CPU หรือ ที่พูดกันว่าเป็นสมองของ คอมพิวเตอร์ อย่างไรก็ตาม Motherboard ก็ถูกพัฒนาขึ้นเรื่อยๆ เพื่อตอบสนองความต้องการของผู้ใช้และทันกับคู่แข่งที่จะมาแทนที่ได้
Write a Comment