सीपीयू टिक क्या है?


37

सवाल:

  • सीपीयू टिक की गणना कैसे की जाती है और यह क्या दर्शाता है?
  • क्या कोई एकल इस प्रकार tickसमान है 10 milisecondsयदि कुछ थ्रेड को रिपोर्ट नहीं किया जाता है ( 5 * 10 ticks = 500 ticks) इसका मतलब यह है कि सीपीयू शायद उक्त थ्रेड को काम करने के लिए शेड्यूल करने में व्यस्त था ?

1
क्या आप संदर्भ में "सीपीयू टिक" डाल सकते हैं - शायद वाक्यांश के स्रोत के पैराग्राफ को काटें और पेस्ट करें। मुझे चिंता है कि कई संभावित उत्तरों में से एक के बीच भ्रम हो सकता है।
मिक

जवाबों:


31

एक टिक आंतरिक प्रणाली के समय को मापने के लिए एक मनमाना इकाई है। आमतौर पर टिक्स के लिए एक ओएस-आंतरिक काउंटर होता है; OS के विभिन्न कार्यों द्वारा उपयोग किया जाने वाला वर्तमान समय और दिनांक उस काउंटर से लिया गया है।

एक टिक का प्रतिनिधित्व कितने मिलीसेकंड ओएस पर निर्भर करता है, और यहां तक ​​कि प्रतिष्ठानों के बीच भी भिन्न हो सकता है। टिक को सेकंड में बदलने के लिए ओएस के तंत्र का उपयोग करें।

  • एमएस विंडोज पर, एक मिलीसेकंड में 10,000 टिक होते हैं (देखें http://msdn.microsoft.com/en-us/library/system.datetime.ticks.aspx )।
  • लिनक्स पर, प्रति सेकंड घड़ी की टिक की संख्या का उपयोग करके प्राप्त किया जा सकता है sysconf(_SC_CLK_TCK);। उदाहरण के लिए देखें http://linux.die.net/man/2/times

जैसा कि एक थ्रेड रिपोर्ट क्यों कहा जा रहा है: यह इस बात पर निर्भर करेगा कि थ्रेड कहीं अवरुद्ध है (प्रतीक्षा, I / O आदि)। यदि यह ब्लॉक नहीं कर रहा है, तो हां, ओएस का शेड्यूलर तय करेगा कि इसे कब चलना है, जो सिस्टम में व्यस्त होने पर लंबे समय तक हो सकता है।

संपादित करें:

ध्यान दें कि, शायद दुर्भाग्य से, कुछ लेखक प्रोसेसर घड़ी चक्र (जैसे यह पाठ ) के पर्याय के रूप में भी टिक का उपयोग करते हैं । मेरा मानना ​​है कि यह उपयोग कम व्यापक है, लेकिन फिर भी, सबसे पहले यह पता लगाने के लिए कि लोग किस बारे में बात कर रहे हैं।


इसलिए सीपीयू को प्रत्येक निर्देश को निष्पादित करने के लिए निश्चित संख्या में घड़ी की टिक की आवश्यकता होती है?
एरोन

1
@ हारून: नहीं, अनुदेश निष्पादन समय एक निश्चित संख्या में प्रोसेसर चक्रों से जुड़ा होता है। किसी विशिष्ट आवृत्ति पर चलने वाले विशिष्ट CPU पर एक विशिष्ट OS दिया जाता है, आप गणना कर सकते हैं कि निष्पादित करने के लिए विशिष्ट निर्देश कितने टिक्स लेता है, लेकिन यह गणना OS / CPU / आवृत्ति / निर्देश के किसी अन्य संयोजन के लिए आवश्यक रूप से मान्य नहीं है।
कुआँ क्विकोट

1
@ एरॉन: नहीं, टिक और प्रोसेसर चक्र दो अलग-अलग अवधारणाएं हैं। प्रोसेसर चक्र लेनिंग हार्डवेयर (सीपीयू आवृत्ति) द्वारा निर्धारित किया जाता है; टिक ओएस द्वारा उत्पादित किया जाता है और जो भी ओएस (या उसके डिजाइनर) डीम उपयुक्त लंबाई का उपयोग करता है।
सालेके २ke

डेटाटाइम का उपयोग न करें () एक गेज के रूप में, यह डिज़ाइन द्वारा जानबूझकर स्थिर है, उस ऑब्जेक्ट उदाहरण की तारीख और समय का प्रतिनिधित्व करने के लिए। यह समय-निर्भर है, जबकि हार्डवेयर टिक समय-स्वतंत्र हैं। यह फ्रेमवर्क के हिस्से में नामकरण है।
पलटना

1
@ स्लेसके हम्म मैं अंतर देख रहा हूं। 'टिक' सीपीयू चक्रों का एक पर्यायवाची शब्द हुआ करता था, साथ ही "सीपीयू घड़ी के स्वतंत्र समय की एक स्थिर राशि" के लिए एक शब्द भी था। दो अर्थों के साथ एक ही शब्द। क्या वह सही है?
पलटना

3

संपादित करें: संक्षेप में पीसी हार्डवेयर से लिया गया :

"प्रोसेसर घड़ी समय-समय पर सिग्नल सिग्नल उत्पन्न करके सभी सीपीयू और मेमोरी ऑपरेशंस को समन्वित करती है, जिसे घड़ी चक्र या टिक कहा जाता है । घड़ी की आवृत्ति गिगाहर्ट्ज़ (गीगाहर्ट्ज) में निर्दिष्ट की जाती है, जो प्रति सेकंड अरबों टिक को निर्दिष्ट करती है। घड़ी की गति इस तेज निर्देश को निष्पादित करती है। कुछ निर्देशों के लिए एक टिक की आवश्यकता होती है, अन्य कई टिकों की और कुछ प्रोसेसर एक टिक के दौरान कई निर्देशों को निष्पादित करते हैं। "


टिक्स के बीच का समय आपकी घड़ी की गति से निर्धारित होता है, और यह ओपी के प्रदर्शन के आधार पर एक से कई टिक्स लेता है। उदाहरण के लिए, एक 286 वर्ग सीपीयू को दो संख्याओं को गुणा करने के लिए 20 टिकों की आवश्यकता होती है ।

यदि आपको उच्च प्रदर्शन टाइमर की आवश्यकता है, तो मुझे नहीं लगता कि आप सभी प्रणालियों में टिक के स्थिर होने पर भरोसा कर सकते हैं।

सीपीयू अनुसूचक धागे को विलंबित कर सकता था, खासकर अगर उच्च प्राथमिकता वाला एक और धागा था। तो हाँ, CPU बहुत व्यस्त हो सकता है।


4
-1 आप टिक्स और प्रोसेसर साइकिल को भ्रमित कर रहे हैं। ticksएक यूनिक्स प्रणाली पर आमतौर पर प्रति सेकंड 60 या 100 बार होते हैं, और गति की खरीद के लिए बाध्य नहीं होते हैं।
सालेके

1
मैं हार्डवेयर टिक की बात कर रहा हूं। 1 हर्ट्ज सीपीयू प्रति सेकंड 1 टिक (चक्र) की प्रक्रिया करता है, 200Hz प्रति सेकंड 200 चक्र, 2GHz दो बिलियन चक्र / सेकंड को संसाधित कर सकता है। जितनी तेजी से आपका सीपीयू, उतना ही अधिक चक्र / सेकंड आपको मिलेगा।
उलट

2
आह, मैं देखता हूं, कुछ लेखक इसके लिए tickएक पर्याय के रूप में उपयोग करते हैं processor cycle। फिर भी, मैं ज्यादातर tickअपने उत्तर में बताए अनुसार उपयोग किया जाता हूं। लेकिन मुझे लगता है कि शब्दावली सामान्य रूप से बदलती है :-( मैंने अपना जवाब संपादित किया है।
sleske
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.