นาฬิกาของ CPU มีการทำเครื่องหมายเป็นระยะอย่างเคร่งครัดหรือไม่


51

ความถี่ของ CPU เป็นค่าเฉลี่ยของจำนวนสัญญาณนาฬิกากี่เห็บในหนึ่งวินาทีหรือมีความเสถียรทางกายภาพที่แข็งแกร่งกว่าหรือไม่

ในความคิดของฉันมันจะต้องไม่มั่นคงหรือไม่เสถียร ดังนั้นจะมีข้อมูลใด ๆ เกี่ยวกับความแปรปรวนของ CPU หรือไม่

วัฏจักรของ CPU มีการซิงโครไนซ์กับการสั่นของผลึกอย่างเคร่งครัดหรือไม่ หรือซีพียูต้องแน่ใจเพื่อให้ได้วัฏจักรก่อนที่จะทำเครื่องหมายถัดไป?


7
CPU มีหลายประเภท ส่วนใหญ่ใช้คริสตัลที่สั่นสะเทือนในความถี่ที่เฉพาะเจาะจงเพื่อเวลาเอง หมายความว่าส่วนใหญ่มีความแม่นยำเท่ากับนาฬิกาข้อมือดิจิตอล (ซึ่งใช้คริสตัลประเภทเดียวกันเพื่อรักษาเวลา) en.wikipedia.org/wiki/Crystal_oscillator
krowe

5
@Gael คำแนะนำบางอย่างใช้เวลาหลายร้อยเห็บหรือรอบนาฬิกาให้เสร็จสมบูรณ์
misha256

1
@Gael: มันเป็นเรื่องธรรมดาสำหรับซีพียูที่จะทำให้ตัวเองช้าลงหรือเร็วขึ้นและพวกเขาก็ทำมันค่อนข้างบ่อย แม้ว่าฉันจะไม่รู้ว่ามันเกี่ยวข้องกับเห็บอย่างไร
Mooing Duck

18
การลงคะแนนเพื่อปิดนี้เป็นการค้นหาคำแนะนำผลิตภัณฑ์บริการหรือการเรียนรู้วัสดุ ? จริงเหรอ
CVn

30
นี่เป็นคำถามที่ถูกกฎหมายที่ต้องการอธิบายให้ชัดเจนว่าฮาร์ดแวร์ทำงานอย่างไร
studiohack

คำตอบ:


49

เช่นเดียวกับสิ่งที่ซับซ้อนคุณสามารถอธิบายวิธีการทำงานของ CPU ในระดับต่างๆ

ในระดับพื้นฐานที่สุด CPU จะถูกขับเคลื่อนด้วยนาฬิกาที่แม่นยำ ความถี่ของนาฬิกาสามารถเปลี่ยนแปลงได้ คิดว่า SpeedStep ของ Intel แต่ตลอดเวลา CPU จะถูกล็อกสัญญาณนาฬิกาอย่างแน่นอน

คำสั่ง CPU ทำงานในระดับที่สูงขึ้นมาก การเรียนการสอนเพียงครั้งเดียวเป็นสิ่งที่ซับซ้อนและสามารถใช้ที่ใดก็ได้จากน้อยกว่าหนึ่งรอบหลายพันรอบให้เสร็จสมบูรณ์ตามที่อธิบายไว้ที่นี่ในวิกิพีเดีย

ดังนั้นโดยทั่วไปการเรียนการสอนจะใช้จำนวนรอบนาฬิกาบาง ในซีพียูสมัยใหม่เนื่องจากเทคโนโลยีเช่นหลายคอร์, HyperThreading, ไพพ์ไลน์, การแคช, การดำเนินการที่ไม่เป็นไปตามสั่งและการเก็งกำไรจำนวนรอบของนาฬิกาที่แน่นอนสำหรับคำสั่งเดียวจะไม่รับประกันและจะแตกต่างกันไปในแต่ละครั้งที่คุณออกคำสั่ง !

แก้ไข

มีข้อมูลเกี่ยวกับความแปรปรวนของ CPU เฉพาะหรือไม่

ใช่และไม่. 99.99% ของผู้ใช้ปลายทางมีความสนใจในประสิทธิภาพโดยรวมซึ่งสามารถวัดผลได้โดยใช้การวัดประสิทธิภาพต่างๆ

สิ่งที่คุณขอเป็นข้อมูลทางเทคนิคอย่างมาก Intel ไม่เผยแพร่ข้อมูลที่สมบูรณ์หรือถูกต้องเกี่ยวกับการเรียนการสอนของ CPU แฝง / ผ่าน

มีนักวิจัยหลายคนที่ลองคิดดู ต่อไปนี้เป็น PDF สองไฟล์ที่อาจเป็นที่สนใจ:

น่าเสียดายที่มันยากที่จะรับข้อมูลความแปรปรวน การอ้างอิงจาก PDF ตัวแรก:

ตัวเลขที่ระบุไว้คือค่าต่ำสุด การพลาดแคช, การวางแนวและข้อยกเว้นอาจเพิ่มจำนวนนาฬิกาอย่างมาก

การอ่านที่น่าสนใจยังคง!


1
ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Sathyajith Bhat

4
ดีมาก. แน่นอนBut at all times the CPU is absolutely 100% locked to the clock signalใช้กับ CPU แบบซิงโครนัสเท่านั้น มันโง่ที่จะพูดถึงเห็บในซีพียูแบบอะซิงโครนัส (นาฬิกาน้อย) แต่มันให้ความรู้สึกเหมือนไม่สนใจฉัน :)
Luaan

1
@Luaan - จริง ฉันคิดว่าซีพียูแบบอะซิงโครนัสที่แท้จริงยังค่อนข้างหายาก แต่มีอยู่จริง (หรือมีในอดีต) เฉพาะที่เกี่ยวข้องกับนักวิจัยและฮาร์ดแวร์เท่านั้น
Daniel R Hicks

@DanielRHicks พวกเขาสนใจอุปกรณ์ฝังตัว (มี MIPS และ ARM แบบอะซิงโครนัสซีพียูเก่า ๆ ) แต่ใช่ไม่ใช่เรื่องใหญ่ในตลาดผู้บริโภค ท้ายที่สุดทำไมต้องคำนึงถึงการใช้พลังงาน CPU ของสมาร์ทโฟนเมื่อมีพลังงานแสดงผลอยู่ข้างๆ การประหยัดพลังงาน (และคุณสมบัติอื่น ๆ ) อาจจะยอดเยี่ยมสำหรับแอปพลิเคชั่นอื่น ๆ - IBM SyNAPSE ดูเหมือนโครงการเจ๋ง ๆ สำหรับจุดประสงค์ทางวิทยาศาสตร์
Luaan

@ Luaan - จุดที่น่าสนใจย้อนกลับไปตอนที่พวกเขาถูกคิดค้นครั้งแรกนั่นก็คือคอมพิวเตอร์นั้นทำงานได้เร็ว / ช้าอย่างที่มันต้องการเพื่อทำการคำนวณ แต่รูปแบบการตอกบัตรที่ซับซ้อนกว่านั้นก็ประสบความสำเร็จในระดับเดียวกันโดยทั่วไป
Daniel R Hicks

29

นาฬิกาของ CPU มีการทำเครื่องหมายเป็นระยะอย่างเคร่งครัดตามธรรมชาติ

ไม่แน่นอน แม้แต่นาฬิกาที่ดีที่สุดก็ไม่ได้เป็นคาบอย่างเคร่งครัด กฎของอุณหพลศาสตร์พูดอย่างอื่น:

  • กฎหมาย Zeroth: มีเกมเล็ก ๆ ที่น่ารังเกียจที่จักรวาลเล่นกับคุณ
  • กฎข้อที่หนึ่ง: คุณชนะไม่ได้
  • กฎข้อที่สอง: แต่คุณอาจฝ่าฟันได้ในวันที่อากาศหนาวเย็นมาก
  • กฎข้อที่สาม: มันไม่เคยเย็นชาเลย

นักพัฒนานาฬิกาที่ดีที่สุดพยายามอย่างมากและยากมากที่จะเอาชนะกฎของอุณหพลศาสตร์ พวกเขาไม่สามารถชนะ แต่พวกเขามามากใกล้เคียงกัน นาฬิกาบน CPU ของคุณหรือไม่ มันเป็นขยะเมื่อเปรียบเทียบกับนาฬิกาอะตอมที่ดีที่สุด นี่คือเหตุผลที่โปรโตคอลเวลาเครือข่ายมีอยู่


การทำนาย: เราจะเห็นความสับสนวุ่นวายอีกครั้งเมื่อนาฬิกาอะตอมที่ดีที่สุดในโลกเริ่มจาก 2015 30 มิถุนายน 23:59:59 UTC ถึง 2015 30 มิถุนายน 23:59:60 UTC ถึง 2015 1 กรกฎาคม 2558 00:00:00 UTC มีหลายระบบที่ไม่รู้จักวินาทีกระโดดและตั้งค่า securelevel เป็นสอง (ซึ่งป้องกันการเปลี่ยนแปลงเวลามากกว่าหนึ่งวินาที) สัญญาณรบกวนของนาฬิกาในระบบเหล่านั้นหมายความว่าเผ่นวินาทีของโปรโตคอลเครือข่ายเวลาจะถูกปฏิเสธ มีคอมพิวเตอร์หลายเครื่องที่จะหยุดทำงานเช่นเดียวกับในปี 2012


9
+1 ตลกและให้ข้อมูล และหัวข้อที่สอง Leapก็เป็นการอ่านที่ดีเช่นกัน
jimm-cl

9
IIRC, go-belly-up wa เกิดขึ้นเนื่องจากรูทีนนาฬิกาเคอร์เนลทราบถึงความเป็นไปได้ของการกระโดดวินาที แต่ใช้การปรับเป็นการเรียกไปยังรูทีนการปรับนาฬิกาที่ไม่ได้รับอนุญาตให้เรียกขณะที่นาฬิกาอยู่แล้ว กำลังถูกปรับ ... และแน่นอนว่านาฬิการะบบไม่มีส่วนเกี่ยวข้องกับนาฬิกา cpu
Hagen von Eitzen

1
ฮ่า ๆ น่ากลัว ฉันต้องเพิ่มบางอย่างใน"นาฬิกา CPU เป็นขยะเมื่อเทียบกับนาฬิกาอะตอม"สังเกต: แน่นอน! แต่มันเป็นเรื่องส่วนตัวมากไม่ต้องพูดถึงญาติ เราอาจประหลาดใจกับความแม่นยำที่เหนือกว่าของนาฬิกาอะตอมที่ดีที่สุดของเรา แต่มีบางแห่งที่นั่น (นอกเหนือจากความเป็นจริงที่แสนสบาย) อาจมีเทคโนโลยีที่ทำให้นาฬิกาอะตอมของเราดูเหมือน "ขยะ" :-p
misha256

2
@ misha256 ความจริงก็คือไม่มีนาฬิกาที่แม่นยำ เวลาสัมพันธ์กัน
Keltari

นาฬิกา CPU อาจเป็นขยะ แต่ไม่มีอะไรที่เหมือนกับการปล่อยให้การลงทะเบียน 8 บิตล้นเหลือเพียงเพื่อให้เวลากับไดรเวอร์การแสดงผล 7 เซกเมนต์ในสถานะที่ไม่รู้จัก เราไม่ต้องการคริสตัลสำหรับสิ่งนั้น หรือที่สำคัญยิ่งกว่านั้นไม่มีอะไรที่เหมือนกับการรอนาโนวินาทีสำหรับ ALU เพื่อทำการคำนวณให้เสร็จสมบูรณ์ก่อนที่คุณจะเก็บผลลัพธ์ลงในทะเบียน (หรือบนรถบัสที่นำไปสู่ ​​ALU อื่น)
John Dvorak

22

ประมาณปี 2000 เมื่อความเร็วสัญญาณนาฬิกาของซีพียูเริ่มเข้าสู่ช่วงที่โทรศัพท์มือถือใช้งานอยู่มันก็กลายเป็นเรื่องธรรมดาที่จะเพิ่มความแปรปรวนของความเร็วสัญญาณนาฬิกาจริง เหตุผลนั้นง่าย: หากนาฬิกา CPU เท่ากับ 900 Mhz การรบกวนทางอิเล็กทรอนิกส์ทั้งหมดจะถูกสร้างขึ้นที่ความถี่นั้น ความถี่นาฬิกาแตกต่างกันเล็กน้อยระหว่าง 895 ถึง 905 Mhz และการรบกวนก็กระจายตามช่วงนั้น

สิ่งนี้เป็นไปได้เพราะ CPU สมัยใหม่นั้นจำกัดความร้อน พวกเขาไม่มีปัญหาในการทำงานเร็วขึ้นเล็กน้อยในช่วงเวลาสั้น ๆ เนื่องจากพวกเขาสามารถเย็นลงเมื่อนาฬิกาช้าลงในภายหลัง


13
ใน BIOS คุณมักจะเห็นตัวเลือกนี้ซึ่งอธิบายว่า "Spread Spectrum"
Mark Sowul

1
ฉันได้อ่านแล้วว่าในซีพียูแบบมัลติคอร์แกนประมวลผลก็ใช้นาฬิกาออฟเซ็ตด้วยเพราะมันจะช่วยหลีกเลี่ยงสัญญาณรบกวนจากวิทยุช่วยในเรื่องการกระจายพลังงานและหลีกเลี่ยงแกนกลางที่สร้างเสียงประสาน
Zan Lynx

3
@ MarkSowul ขอบคุณในที่สุดก็มีคนบอกการใช้งานจริงของ "สเปกตรัมการแพร่กระจาย" นี้

22

ผู้ออกแบบตรรกะดิจิทัลที่นี่ เวลาที่เกิดขึ้นจริงที่สำหรับเครือข่ายตรรกะการเปลี่ยนแปลงในการตอบสนองต่อสัญญาณอินพุตเป็นความล่าช้าการขยายพันธุ์ คิดว่าระบบเป็น:

registers A,B,C... ---> logic cloud ---> registers A',B',C'

"นาฬิกาจับเวลา" เป็นขอบนาฬิกาซึ่งเวลาที่ชุดรีจิสเตอร์ชุดแรกเปลี่ยนไป "นาฬิกาจับ" เป็นขอบนาฬิกาถัดไปหนึ่งช่วงเวลาในภายหลัง เพื่อให้ระบบทำงานได้ผลลัพธ์ของลอจิกคลาวด์จะต้องมีเสถียรภาพก่อนที่นาฬิกาจับจะมาถึง

กระบวนการทำให้แน่ใจว่างานนี้เป็นการวิเคราะห์เวลา การใช้ระบบจำลองทางฟิสิกส์ของระบบจะคำนวณเวลาการมาถึงของเคสที่แย่ที่สุดของอินพุตใด ๆ ไปยังเอาต์พุตใด ๆ ตัวเลขที่ใหญ่ที่สุดทั่วทั้งระบบจะกำหนดช่วงเวลาของนาฬิกาขั้นต่ำ

หมายเหตุกรณีที่เลวร้ายที่สุด เวลาเผยแพร่จริงจะสั้นลง แต่ขึ้นอยู่กับความผันแปรของกระบวนการผลิตอุณหภูมิปัจจุบันและแรงดันไฟฟ้าของชิป ( PVT ) ซึ่งหมายความว่าในทางปฏิบัติคุณสามารถใช้นาฬิกาได้เร็วขึ้น (โอเวอร์คล็อก) และอาจใช้งานได้ นอกจากนี้ยังอาจเริ่มต้นสร้างข้อผิดพลาดเช่นการตัดสินใจว่า0x1fffffff + 1 = 0x1f000000ถ้าบิตนำติดตัวไม่มาถึงในเวลา

ชิปอาจมีมากกว่าหนึ่งนาฬิกาบนบอร์ด (โดยปกติ FSB จะช้ากว่าแกนกลาง) และนาฬิกาจริงอาจจะเพิ่มขึ้นหรือลดลงเพื่อวัตถุประสงค์ในการควบคุมความร้อนหรือหลากหลาย (คำตอบของ MSalter เกี่ยวกับการใช้สเปกตรัมการแพร่กระจายสำหรับการทดสอบ EMC)


ในบางกรณีนาฬิกาจับภาพอาจเป็นรอบที่สองหรือใหม่กว่าแทนที่จะเป็นรอบถัดไป การออกแบบบางอย่างสันนิษฐานว่าข้อมูลจะใช้เวลาอย่างน้อยที่สุดตลอดเวลา (เช่นหากการหน่วงเวลาการแพร่กระจายเป็นที่ทราบกันอยู่ระหว่าง 2.1 ถึง 2.9 รอบข้อมูลสามารถส่งออกและผลการสุ่มตัวอย่างในทุกรอบ; แต่ละตัวอย่างผลลัพธ์จะสะท้อนข้อมูลจาก 3 รอบก่อน); การออกแบบที่อนุรักษ์นิยมอื่น ๆ จะเปลี่ยนข้อมูลเอาต์พุตช้ากว่าและไม่สนใจผลลัพธ์จนกว่าจะรับประกันว่าจะมีเสถียรภาพ
supercat

2

ระยะเวลาการสอนของ CPU ตรงกับการสั่นของคริสตัลหรือไม่ หรือซีพียูต้องแน่ใจว่าได้รับคำสั่งก่อนที่จะทำเครื่องหมายต่อไปหรือไม่?

ทั้ง ระยะเวลาในการเรียนการสอนจะเป็นจำนวนของนาฬิกาขีด แต่จำนวนนั้นอาจแตกต่างกันไปตามความต้องการของการเรียนการสอน ตัวอย่างเช่นหากคำสั่งไม่สามารถดำเนินการไปข้างหน้าจนกว่าตำแหน่งหน่วยความจำเฉพาะจะอยู่ในแคช L1 การเรียนการสอนจะไม่สมบูรณ์ก่อนที่นาฬิกาติ๊กถัดไป จะไม่มีความคืบหน้าในการเรียนการสอนนั้นจนกว่าจะเกิดขึ้น

แต่เมื่อซีพียูตัดสินใจที่จะทำอะไรบางอย่างวิธีการพื้นฐานที่มันทำคือการตั้งค่าสวิตช์ภายในเพื่อให้ข้อมูลบางส่วนไปยังส่วนใดส่วนหนึ่งของ CPU มันรอให้อินพุทมาถึงที่ส่วนนั้นและเอาท์พุทมาถึงที่ส่วนถัดไป ส่วนที่รอนี้คือจุดประสงค์ของนาฬิกา

ลองจินตนาการถึงวงจรฟิสิคัลที่รับอินพุตไบนารี่สองอันแล้วนำผลรวมมาแสดงผลรวมกับสายไฟชุดที่สาม ในการเพิ่มนอกจากนี้ CPU จะต้องจัดเรียงตัวเลขสองตัวที่จะเพิ่มเข้าไปที่ adder นี้และเอาต์พุตที่จะไปพูดสลักซีพียูลงทะเบียน ซีพียูไม่สามารถบอกสลักให้เก็บเอาท์พุทได้จนกว่าอินพุตจะไปถึงตัวแอดเดอร์ตัวปรับจะสร้างเอาต์พุตและเอาต์พุตจะไปถึงแลตช์ นี่คือจุดประสงค์ของนาฬิกา - เพื่อตั้งเวลารอระหว่างการจัดเรียงอินพุตให้ไปที่ใดที่หนึ่งและคาดว่าเอาต์พุตจะพร้อมใช้งาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.