আপনার প্রতি চক্র এবং উচ্চ ঘড়ির গতি উভয়ই থাকতে পারে না?


37

পিসির ইনটেল 8086 প্রসেসর এবং অ্যাপলের রকওয়েল 6502 প্রসেসরের মধ্যে পার্থক্যের কারণে মেগাহের্টজ মিথটি একটি প্রচারমূলক কৌশল হয়ে ওঠে। 8086টি 4.77MHz এ চলেছিল এবং 6502 1MHz এ চলেছিল। যাইহোক, 6502 এর নির্দেশাবলী কম চক্রের প্রয়োজন; আসলে এত কম সংখ্যক, এটি 8086 এর চেয়ে দ্রুতগতিতে চলেছে some কেন কিছু নির্দেশাবলীর জন্য কম চক্রের প্রয়োজন হয়? এবং কেন কম চক্রের 6502 এর নির্দেশাবলী 8086 এর দ্রুত সাইক্লিং প্রসেসরের সাথে একত্রিত করা যায় না?

প্রতি চক্রের নির্দেশের জন্য উইকিপিডিয়ায় নিবন্ধ (আইপিসি) বলেছে

আইপিসি পরিচালিত উপাদানগুলি
প্রতি সেকেন্ডে প্রদত্ত স্তরের নির্দেশাবলী একটি উচ্চ আইপিসি এবং একটি কম ঘড়ির গতি ... বা কম আইপিসি এবং উচ্চ ঘড়ির গতি থেকে অর্জন করা যেতে পারে।

আপনার প্রতি চক্র এবং উচ্চ ঘড়ির গতি উভয়ই থাকতে পারে না?

একটি ঘড়ির চক্র কি তা সঙ্গে হতে পারে? উইকিপিডিয়ায় সার্কিটগুলির সুসংহতকরণের কথা বলা হয়েছে? এই এটা দেখে মনে হচ্ছে কি না।

বা এটির সাথে পাইপলাইন কীভাবে কাজ করে তাও করতে পারে? আমি নিশ্চিত নই যে কেন একটি সংক্ষিপ্ত পাইপলাইনে নির্দেশাবলী দীর্ঘ পাইপলাইনের নির্দেশাবলীর চেয়ে আলাদা different

কোন অন্তর্দৃষ্টি মহান হবে! পৌরাণিক কাহিনীটির পিছনে আর্কিটেকচারটি বোঝার চেষ্টা করছি। ধন্যবাদ!

তথ্যসূত্র:

সাইকেল বনাম বর্ধিত চক্র গণনার জন্য নির্দেশনা

http://en.wikipedia.org/wiki/Instructions_per_cycle

http://en.wikipedia.org/wiki/Clock_cycle


1
> কিছু নির্দেশাবলীর কেন কম চক্রের প্রয়োজন? আরআইএসসি / সিআইএসসি (ভাল, সাজানো )। এবং কেন কম চক্রের 6502 এর নির্দেশাবলী 8086 এর দ্রুত সাইক্লিং প্রসেসরের সাথে একত্রিত করা যায় না? তারা পারে এবং করতে পারে। সমস্যাটি হ'ল একবার আপনি ইতিমধ্যে একটি বেস স্থাপন করার পরে, সমস্ত কিছু খনন করা এবং পরবর্তী মডেলটি স্ক্র্যাচ থেকে শুরু করা শক্ত।
সিনিটেক

@Synetech, Intel ধরণ sorta প্রোগ্রামারদের জন্য একটি CISC নির্দেশ সেট উপস্থাপন, তারপর রূপান্তর দ্বারা করেনি যে চিপের উপর RISCier নির্দেশাবলী
soandos

ঠিক আছে যখন আমি বলেছিলাম যে দুজনকে একত্রিত করা হয়েছে, আমি বলতে চাইছি সম্পূর্ণ আলাদা চিপ নির্মাতারা। আমার হাতে একটি তালিকা নেই, তবে অন্যরাও রয়েছেন (নন-ইনটেল / এএমডি) যারা এ জাতীয় কাজ করেছে। (বেশিরভাগ লোকেরা ভুলে যান যে প্রচুর চিপ প্রস্তুতকারক রয়েছে কারণ ইন্টেল এবং এএমডি এখন ডেস্কটপ বাজারে আধিপত্য বিস্তার করে))
Synetech

উত্তর:


21

TL; ড

সংক্ষিপ্ত পাইপলাইনগুলির অর্থ দ্রুত ঘড়ির গতি, তবে থ্রুপুট হ্রাস পেতে পারে। এছাড়াও, নীচে উত্তর # 2 এবং 3 দেখুন (সেগুলি সংক্ষিপ্ত, আমি প্রতিশ্রুতি দিচ্ছি)।

দীর্ঘ সংস্করণ:

এখানে কয়েকটি বিষয় বিবেচনা করতে হবে:

  1. সমস্ত নির্দেশাবলী একই সময় নেয় না
  2. সমস্ত নির্দেশাবলী অবিলম্বে কী করা হয়েছিল (বা এমনকি দশ বা বিশ) নির্দেশাবলী ফিরে আসে তার উপর নির্ভর করে না

খুব সরলীকৃত পাইপলাইন (আধুনিক ইন্টেল চিপগুলিতে যা ঘটে যায় তা জটিলতার বাইরে) এর বেশ কয়েকটি স্তর রয়েছে:

আনুন -> ডিকোড -> মেমোরি অ্যাক্সেস -> কার্যকর করুন -> লিখনব্যাক -> প্রোগ্রামের কাউন্টার আপডেট

প্রতিটিতে -> সময় ব্যয় হয়। অধিকন্তু, প্রতিটি টিক (ঘড়ির চক্র), সমস্ত কিছু এক স্তর থেকে পরের দিকে চলে যায়, তাই আপনার ধীরতম ধাপ সমস্ত স্তরের গতি হয়ে যায় (এটি তাদের পক্ষে যথাসম্ভব দৈর্ঘ্যের সমান হওয়ার জন্য অর্থ প্রদান করে)।

ধরা যাক আপনার কাছে 5 টি নির্দেশনা রয়েছে এবং আপনি এগুলি সম্পাদন করতে চান (উইকিপিডিয়া থেকে তোলা ছবি, এখানে পিসি আপডেট হয় নি)। এটি দেখতে এটি দেখতে হবে:

এখানে চিত্র বর্ণনা লিখুন

যদিও প্রতিটি নির্দেশ সম্পূর্ণ করতে 5 টি ঘড়ি চক্র গ্রহণ করে, প্রতিটি চক্রে পাইপলাইন থেকে একটি সমাপ্ত নির্দেশ আসে। যদি প্রতিটি পর্যায়ে সময় লাগে 40 এনএস, এবং মধ্যবর্তী বিটের জন্য 15 এনএস (উপরে আমার ছয় পর্যায়ের পাইপলাইন ব্যবহার করে), প্রথম নির্দেশটি বের করতে 40 * 6 + 5 * 15 = 315 এনএস লাগবে।

বিপরীতে, যদি আমি পাইপলাইনটি সম্পূর্ণরূপে মুছে ফেলি (তবে সমস্ত কিছু একই রাখি) তবে প্রথম নির্দেশটি পেতে কেবল 240 এনএস লাগবে। ("প্রথম" নির্দেশিকাটি বের করার জন্য গতির এই পার্থক্যটিকে বিলম্বতা বলা হয় through এটি সাধারণত থ্রুপুটের চেয়ে কম গুরুত্বপূর্ণ, যা প্রতি সেকেন্ডে নির্দেশের সংখ্যা)।

যদিও আসল ভিন্নটি হ'ল পাইপলাইনযুক্ত উদাহরণে, আমি প্রতি 60 এনএসে একটি নতুন চালিকা তৈরি করেছি (প্রথমটির পরে)। পাইপলাইনবিহীন একটিতে, এটি প্রতিবার 240 লাগে। এটি দেখায় যে পাইপলাইনগুলি থ্রুপুট উন্নত করতে ভাল।

এটি আরও একধাপ এগিয়ে নিয়ে যাওয়ার পরে মনে হবে মেমোরি অ্যাক্সেসের পর্যায়ে আমার একটি সংযোজন ইউনিট লাগবে (ঠিকানা গণনার জন্য)। এর অর্থ হ'ল যদি এমন কোনও নির্দেশ থাকে যা মেম স্টেজটি সেই চক্রটি ব্যবহার করে না তবে আমি আরও একটি সংযোজন করতে পারি। আমি একক টিকের একটি প্রসেসরে দুটি ক্রিয়াকলাপ পর্যায় (মেমরি অ্যাক্সেসের পর্যায়ে থাকা) করতে পারি (সময়সূচীটি একটি দুঃস্বপ্ন, তবে সেখানে যাওয়া যাক না Additionally লাফানোর ক্ষেত্রে, তাই আমি এক টিকে তিনটি সংযোজন রাজ্যগুলি করতে পারি)। পাইপলাইন রেখে, এটি এমনভাবে ডিজাইন করা যেতে পারে যে দুটি (বা আরও) নির্দেশাবলী মূল্যবান সময় সাশ্রয় করে বিভিন্ন ধাপ (বা লিপফোগ স্টেজ ইত্যাদি) ব্যবহার করতে পারে।

নোট করুন যে এটি করার জন্য, প্রসেসরগুলি অনেকগুলি "ম্যাজিক" করে ( অর্ডার এক্সিকিউশন , শাখার পূর্বাভাসের বাইরে এবং আরও অনেক কিছু), তবে এটি পাইপলাইন ছাড়া একাধিক নির্দেশকে দ্রুত বাইরে আসতে দেয় (নোটগুলি যে খুব বেশি দীর্ঘ পরিচালনা করা খুব কঠিন, এবং কেবলমাত্র পর্যায়গুলির মধ্যে অপেক্ষা করে একটি উচ্চ ব্যয় ব্যয় করা)। ফ্লিপ সাইডটি হ'ল আপনি যদি পাইপলাইনটি খুব দীর্ঘ করেন তবে আপনি একটি উন্মাদ ঘড়ির গতি পেতে পারেন তবে মূল সুবিধাটি হারাতে পারেন (একই ধরণের যুক্তি যা একাধিক স্থানে থাকতে পারে এবং একই সাথে ব্যবহার করা যেতে পারে) )।

উত্তর # 2:

সিমড (একক নির্দেশনা একাধিক ডেটা) প্রসেসর (বেশিরভাগ জিপিইউ) তথ্যের বিটগুলিতে প্রচুর কাজ করে তবে তাদের করতে এটি বেশি সময় নেয়। সমস্ত মান পড়তে বেশি সময় লাগে (মানে ধীরে ধীরে ঘড়ি, যদিও কিছুটা বিস্তৃত বাস পেয়ে এটি অফসেট) তবে আপনি একসাথে আরও অনেক নির্দেশনা পেতে পারেন (চক্র প্রতি আরও কার্যকর নির্দেশিকা)।

উত্তর # 3:

কারণ আপনি একটি কৃত্রিমভাবে চক্র গণনা দীর্ঘায়িত করতে "প্রতারণা" করতে পারেন যাতে আপনি প্রতিটি চক্রের দুটি নির্দেশনা করতে পারেন (কেবল ঘড়ির গতি অর্ধেক)। একটির বিপরীতে প্রতি দুটি টিককে কেবল কিছু করা সম্ভব (2x ঘড়ির গতি দেওয়া, তবে নির্দেশে দ্বিতীয়টি পরিবর্তন করা যায় না)।


3
সংক্ষিপ্ত পাইপলাইন মানে ধীর ক্লকস্পিড! দীর্ঘ পাইপলাইনগুলির কারণে পেন্টিয়াম 4 এর উচ্চ ঘড়ি ছিল, এখানে ডাব্লুপি: "নেটবুর্স খুব উচ্চ ঘড়ির গতি অর্জনের জন্য খুব গভীর নির্দেশিকা পাইপলাইন বৈশিষ্ট্যযুক্ত পি 6 (পেন্টিয়াম তৃতীয়, দ্বিতীয় ইত্যাদি) থেকে পৃথক হয়েছে"। মুল বক্তব্যটি হ'ল আপনি উচ্চ গতি অর্জনের জন্য প্রতি পর্যায়টিতে সামান্য কিছু করেন। এটি কার্যকরভাবে প্রমাণযোগ্য হয়নি, এবং এর কারণে ইনটেল এএমডির কাছে বিশাল গতি হারিয়ে ফেলে। তারা পেন্টিয়াম 3 আর্কিটেকচারে ফিরে গিয়েছিল এবং "কোর" নিয়ে এসেছিল।
stolsvik

@ স্টলসভিক, আপনি কি এটি ব্যাখ্যা করতে পারেন? এটি আমার কাছে কোনও ধারণা রাখে না (কম আন্তঃদেশীয় পর্যায়ে থাকার অর্থ অন্য সমস্ত সমান, ঘড়ির চক্র আরও কম হবে, একটি উচ্চতর ঘড়ির গতি দেয়)
soandos

4
প্রতি পাইপলাইন পর্যায় প্রতি ঘড়ি চক্র সম্পন্ন হয় ; পুরো পাইপলাইনটি প্রতি ঘড়ি প্রতি এক ধাপ এগিয়ে যায় - নীচে নতুন নির্দেশনা আনা, শীর্ষে "নির্গত" সমাপ্ত নির্দেশাবলী। অতএব, পেন্টিয়াম 4 এর সাথে ধারণাটি ছিল খুব ছোট পদক্ষেপগুলি যা দ্রুত সম্পাদন করা উচিত, উচ্চ ঘড়ি দেওয়া ছিল, তবে এইভাবে একটি দীর্ঘ পাইপলাইন প্রয়োজন। পাইপলাইনের ক্লুটি (সমস্ত প্রসেসর একজন নিয়োগ দেয়) আপনার কাছে যে কোনও সময়ে প্রক্রিয়াজাত হওয়ার বিভিন্ন নির্দেশাবলী রয়েছে instructions দীর্ঘ পাইপলাইনটির অর্থ হ'ল অনেক নির্দেশাবলীর কাজ চলছে - এবং যদি কোনও শাখার পূর্বাভাস ব্যর্থ হয় তবে আপনাকে পুরো পাইপটি ফ্লাশ করতে হবে।
স্টলভিক

আপনার উত্তর # 2 এর জন্য, সিপিইউ কেবল ক্যাশের মাধ্যমে ডেটা অ্যাক্সেস করে (মেমরি অ্যাক্সেস সাধারণত নির্দেশের দৃষ্টিকোণ থেকে স্বচ্ছ হয়)। ঘড়ির ফ্রিকোয়েন্সি কমিয়ে দিলে র্যাম থেকে ডেটা আসতে কত সময় লাগবে তা প্রভাবিত করবে না (যদি এটি ক্যাশে না থাকে)। এছাড়াও, বাসের প্রস্থটি কেবল আপনার অপারেশনগুলির আকারের তুলনায় সিমডি অপারেশনগুলির গতিকে প্রভাবিত করে (অর্থাত্ আমি একবারে একটি 64৪-বিট বাসে 8 8-বিট অপারেশন লোড করতে পারি, তবে আমি নিজেও 8 64-বিট মানগুলি নিজেই লোড করতে পারি যদি আমার 64৪-বিট অপারেটস থাকে)।
ব্রেকথ্রু

2
উত্তর # 1 এর জন্য, আপনি যখন বলেন "যদি এমন কোনও নির্দেশ থাকে যা মেমেজ স্টেজটি সেই চক্রটি ব্যবহার করে না, তবে আমি আরও একটি সংযোজন করতে পারি", এটি মিথ্যা। বাহ্যিক আদেশ কার্যকরকরণ মাইক্রো-অপারেশন স্তর নয়, নির্দেশ স্তরে প্রয়োগ করা হয়। যদি কোনও নির্দেশের পাইপলাইনে দুটি মৃত্যুর প্রয়োজন হয়, এটি পাইপলাইনে বুদ্বুদ সৃষ্টি করবে । শেষ অবধি, x86 আর্কিটেকচারটিতে মেমরি পড়ার / লেখার সময় মেমরির ঠিকানাগুলি গণনা করার জন্য একটি পৃথক ALU থাকে ( [EBX+ECX*4+100]স্টাইল ঠিকানাটির অনুমতি দেয় )।
ব্রেকথ্রু

8

আমি এটির প্রচুর পরিমাণে নজরদারি করছি, তবে মনে রাখার জন্য গুরুত্বপূর্ণ বিষয়টি হ'ল এই পদগুলি কমলাগুলির সাথে আপেলের তুলনা করছে। একটি "চক্র" পরিমাপের একক ইউনিফাইড ইউনিট নয় যা সমস্ত প্রসেসরের জুড়ে একইরকম, যেমন "সেকেন্ড" সময়ের একীকরণ পরিমাপ। পরিবর্তে, একটি চক্র কাজের নির্দিষ্ট ইউনিটকে উপস্থাপন করে, যা কিছুটা নির্বিচারে সংজ্ঞায়িত হলেও পাইপলাইন নকশার জটিলতায় এবং অবশ্যই পদার্থবিজ্ঞানের দ্বারা আবদ্ধ।

অনেক ক্ষেত্রে একটি চক্রের প্রচুর কাজ করা আপনাকে পুরো পাইপলাইন সাফ করতে সক্ষম করতে পারে। যদি সফল হয় তবে এর অর্থ হ'ল আপনার পরবর্তী চক্রটি আন-অপটিমাইজড হতে চলেছে কারণ আপনাকে আবার পাইপলাইন পূরণ করতে হবে, এতে কিছুটা সময় লাগতে পারে।

আমি একটি খুব সরল প্রসেসর ডিজাইন করতে পারি যা প্রতিটি চক্রের একটি করে আরআইএসসি নির্দেশনার এক পর্যায়ে প্রক্রিয়া করে, এবং এটি যদি আমার সিপিইউর ভিত্তি হত তবে আমি সম্ভবত "সেকেন্ডার" যেটি গঠন করে তার হ্রাস জটিলতার কারণে প্রতি সেকেন্ডে খুব, খুব উচ্চতর চক্র অর্জন করতে পারতাম চক্র "।

বিশদগুলি অনেকগুলি পদার্থবিজ্ঞান এবং বৈদ্যুতিক ইঞ্জিনিয়ারিংয়ে যায় যা আমি সত্যিই বুঝতে পারি না, তবে মনে রাখবেন যে কেবল প্রচ্ছন্নভাবে প্রসেসরে ইনপুট ভোল্টেজ যুক্ত করে এবং সর্বোত্তম আশা করে ক্লক রেট অর্জিত হয় না। খুব কমপক্ষে, তাপীয় প্রোফাইল আরেকটি প্রয়োজনীয় উদ্বেগ।


এটি সত্যই তার প্রশ্নের উত্তর দেয় না (কেন জিনিসগুলি কেবল বর্ধিত করা যায় না তার সাথে এর কোনও যোগসূত্র নেই)। তিনি জিজ্ঞাসা করছেন কত বেশি চক্র! = আরও বেশি সময় সর্বদা কাজ করে
soandos

এই উত্তরটি এমন কোনও সমস্যার সমাধান করে যা আমি অন্যান্য উত্তরে দেখিনি, এটি হ'ল নির্দিষ্ট নির্দেশাবলীর অন্তর্ভুক্তি সম্পর্কে কথা বলে যা কম ঘড়ির চক্রে সম্পূর্ণ অপারেশন এবং ধীরতম নির্দেশের সেটগুলির উপর ভিত্তি করে ঘড়ির চক্র পরিমাপ করার ক্ষমতা যা পারে দক্ষ হিসাবে না। (যদিও আমি খুব ভুল হতে পারি ... আমি আর্কিটেকচারকে আকর্ষণীয় মনে করি তবে আমি নিজেকে কোনও উপায়ে বিশেষজ্ঞ হিসাবে বিবেচনা করব না)
স্টিফেন আর

5

এখানে একটি খুব সাধারণ (সম্ভবত চূড়ান্তভাবে ওভারসিম্প্লাইফাই করা) ব্যাখ্যা রয়েছে: বলুন যে আপনার একটি নির্দিষ্ট কাজ করতে হবে, বলুন দুটি 32-বিট সংখ্যা যুক্ত করুন। আপনি দুটি পন্থা নিতে পারেন। আপনি এটিকে খুব বড় সংখ্যক খুব ছোট পদক্ষেপে বিভক্ত করতে পারেন বা আপনি এটি খুব বড় পদক্ষেপের একটি ছোট সংখ্যায় বিভক্ত করতে পারেন।

উদাহরণস্বরূপ, আপনি কেবল "দুটি সংখ্যা যুক্ত করুন" বলতে পারেন। এখন আপনার কেবল একটি পদক্ষেপ রয়েছে। তবে এই পদক্ষেপটির একাধিক অংশ রয়েছে এবং এটি করতে আরও বেশি সময় লাগবে। সুতরাং আপনার প্রতি চক্রের উচ্চ নির্দেশ রয়েছে - এক্ষেত্রে একটি। তবে আপনার ঘড়ির গতি বেশি হতে পারে না কারণ সেই চক্রটিতে আপনার আরও অনেক কিছু করার আছে ।

আপনি বিকল্পভাবে বলতে পারেন, "প্রথম নম্বরে একটি রেজিস্টার আনুন। তারপরে দ্বিতীয় নম্বরটি আনুন Then তারপরে কমপক্ষে উল্লেখযোগ্য বিট যুক্ত করুন Then তারপরে আগে থেকে ক্যারিটি সহ দ্বিতীয়-সর্বনিম্ন উল্লেখযোগ্য বিট যুক্ত করুন। তারপরে তৃতীয়-সর্বনিম্ন যোগ করুন ... । তারপর সর্বাধিক তাৎপর্যপূর্ণ বিট যুক্ত করুন a যদি কোনও বহন থাকে তবে উপচে পড়া পতাকাটি সেট করুন Then তারপরে ফলাফলটি মেমোরিতে লিখুন "" এখন আপনার কাছে প্রচুর পদক্ষেপ রয়েছে। তবে প্রতিটি পদক্ষেপ অযৌক্তিকভাবে দ্রুত হতে পারে। সুতরাং আপনার কাছে চক্র প্রতি কম নির্দেশ রয়েছে (এই ক্ষেত্রে 1/3 বা আরও বেশি)। তবে আপনার ঘড়ির গতি খুব বেশি হতে পারে যেহেতু প্রতিটি চক্রের কাছে খুব ছোট একটি কাজ করা থাকে।

চক্র প্রতি উচ্চ নির্দেশাবলী এবং একটি উচ্চ ঘড়ির গতি উভয়ই পেতে আপনাকে একটি জটিল নির্দেশকে খুব অল্প সংখ্যক অতি সাধারণ পদক্ষেপে ভাগ করতে হবে। কিন্তু এটি করা যায় না কারণ নির্দেশনা জটিল।

প্রকৃত নির্দিষ্ট ট্রেড-অফস এবং চক্র সংখ্যাগুলি সম্পূর্ণ আলাদা কারণ আধুনিক সিপিইউগুলি পাইপলাইনযুক্ত এবং ওভারল্যাপ নির্দেশাবলী। তবে মূল ধারণাটি সঠিক।


2

আপনি করতে পারেন চক্র প্রতি উচ্চ নির্দেশাবলী এবং একটি উচ্চ ঘড়ির গতি উভয় আছে। যেখানে আপনি সীমাবদ্ধতার মধ্যে চলেছেন যখন ডিজিটাল সার্কিটের প্রচারের বিলম্বটি একক ঘড়ির চক্রের নাড়ি প্রস্থকে ছাড়িয়ে যায়। এটি সিপিইউ ভোল্টেজকে বাড়িয়ে কাটিয়ে উঠতে পারে, তবে এটি লক্ষ্য করা উচিত যে এটি বিদ্যুতের খরচ বাড়িয়ে তুলবে (এবং এইভাবে তাপ অপচয় করে)।

সুতরাং, আপনি যদি দ্রুত ঘড়ির গতি চান, তবে প্রচারের বিলম্ব কমাতে আপনাকে ভোল্টেজ ( ইলেকট্রন ড্রিফ্টের বেগ বাড়ানো ) বাড়াতে হবে। যদি এই বিলম্বটি একটি ঘড়ির চক্র অতিক্রম করে, তবে সিপিইউ সম্ভবত প্রত্যাশা অনুযায়ী আচরণ করবে না এবং এতে চালিত সফ্টওয়্যার ক্র্যাশ বা ব্যতিক্রম ছুঁড়ে ফেলবে। আপনি কোনও প্রসেসরের মাধ্যমে চালিত ভোল্টেজের স্পষ্টতই সীমাবদ্ধতা রয়েছে এবং এটি সিপিইউর ডিজাইনের দ্বারা নির্ধারিত হয় - প্রধানত অভ্যন্তরীণ বৈদ্যুতিক পথগুলির বর্তমান বহন ক্ষমতা।


পাইপলাইনিং কিছু ক্ষেত্রে উচ্চ ঘড়ির গতির জন্য অনুমতি দেয়, কারণ প্রতিটি নির্দেশকে কয়েকটি ছোট "মাইক্রো-অপারেশন" বিভক্ত করা হয়। এই মাইক্রো-অপারেশনগুলি খুব সহজ অপারেশন, একটি শৃঙ্খলে আন্তঃসংযুক্ত অনেকগুলি ছোট সার্কিট ব্যবহার করে (শারীরিক দিক থেকে, ইলেকট্রনগুলির যত কম দূরত্বের প্রয়োজন হয়, একটি নির্দিষ্ট উপ-ইউনিটের মাধ্যমে প্রোগেশন বিলম্বের চেয়ে কম)।

একটি পাইপলাইনযুক্ত সিপিইউর যুক্ত সুবিধা হ'ল আপনি আরও বেশি জটিল ডিজাইনের ব্যয় করে ইউনিট-সময় অনুসারে সম্পাদিত নির্দেশাবলীর সংখ্যা বাড়িয়ে তুলতে পারেন।

কিছু নির্দেশাবলীর কেন কম-বেশি চক্রের প্রয়োজন তা নির্ভর করে আপনি কোন নির্দেশনাটি চালাচ্ছেন তার উপর নির্ভর করে। উদাহরণস্বরূপ, x86 নির্দেশিকা সেটটিতে এমন একটি MOVSনির্দেশ রয়েছে যা মেমরির পুরো স্ট্রিংটিকে এক জায়গা থেকে অন্য স্থানে নিয়ে যেতে পারে। স্পষ্টতই, আপনি তাত্ক্ষণিকভাবে একটি দীর্ঘ স্ট্রিং অনুলিপি করতে পারবেন না, তবে আপনি একাধিক ঘড়ির চক্র নিয়ে শব্দ-কথায় এটি অনুলিপি করতে পারেন। সুতরাং, MOVSনির্দেশটি একটি চলক পরিমাণ সময় নেয় (অনুলিপি করা অক্ষরের পরিমাণের উপর নির্ভর করে)।

সিআইএসসি ডিজাইনের (যেমন x86) বিপরীতে মাল্টি-সাইকেল অপারেশনের প্রভাবটি একটি আরআইএসসি ডিজাইনে (অর্থাত্ এআরএম) কম কম লক্ষণীয় । এটি কারণ, আরআইএসসি-ভিত্তিক ডিজাইনগুলির মধ্যে কেবলমাত্র সর্বাধিক ব্যবহৃত প্রাথমিক ক্রিয়াকলাপ থাকবে এবং চক্র প্রতি এক নির্দেশের মধ্য দিয়ে একটি পাইপলাইন অর্জনের পথে পাইপলাইন করা অনেক সহজ।


1

আপনার কম্পিউটার কোনও নির্দিষ্ট কাজ শেষ করতে কতক্ষণ সময় নেয় তা কম্পিউটারের ঘড়ির গতির উপর নির্ভর করে না ... এটি কম্পিউটেশনাল ইউনিটগুলি কীভাবে ডিজাইন এবং ইঞ্জিনিয়ারিং করা হয়েছে তার উপর নির্ভর করে।

ঘড়ির গতি আসলে সিপিইউ ডিজাইনার কর্তৃক গৃহীত সিদ্ধান্ত (কখনও বা কম), কখনও কখনও দরিদ্রের জন্য (বিজ্ঞাপন) হয়ে থাকে ar

ধরা যাক যে একটি প্রদত্ত সিপিইউতে নির্দেশনার মিশ্রণ রয়েছে যা শেষ করতে 1 থেকে 100 ন্যানোসেকেন্ড (এনএস) লাগে। আপনি ঘড়ির হারটি সেট করতে পারেন যেমন 1 "টিক" 100 এনএস (10 মেগাহার্টজ), যার অর্থ প্রতিটি নির্দেশ হুবহু 1 টিকে শেষ হবে। তবে, যদি নির্দেশনা কার্যকরকরণের সময়গুলি সমানভাবে বিতরণ করা হয় তবে এর অর্থ হ'ল আপনার গণ্য ইউনিটগুলি 50% সময় অলস থাকবে (গড় কার্যকরকরণের গতি 50ns হবে, অন্যান্য 50ns টিকটি নিষ্ক্রিয় রেখে) leaving অন্যদিকে, আপনি যদি নিজের টিকটিকে 10ns হিসাবে সেট করেন, তবে নির্দেশাবলী 1 এবং 10 টিকের মধ্যে থাকবে, তবে ইউনিটটি পরবর্তী নির্দেশ শুরু হওয়ার আগে 9ns এর বেশি কখনই নিষ্ক্রিয় হবে না এবং গড় নিষ্ক্রিয় হবে 5ns।

বিকাশের সময়, সিপিইউ একটি নির্দিষ্ট গতিতে চলার জন্য ডিজাইন করা হবে, তার ভিত্তিতে সিপিইউ কতটা কার্য সম্পাদন করতে সক্ষম। আপনি যদি ঘড়ির গতি বাড়াতে বা কম করেন তবে আপনি সিপিইউ যে পরিমাণ কাজ সম্পাদন করতে পারবেন তা বাস্তবে পরিবর্তন করছেন না, আপনি কেবল এর দক্ষতা অনুপাতের সাথে গণ্ডগোল করছেন।

(এবং আপনি ওভারক্লোকিং সিপিইউ সম্পর্কে কান্নাকাটি করার আগে: এটি আপনাকে দুটি সুবিধা দেয় যা ফলস্বরূপ বিশ্বের গতি লাভের ফলস্বরূপ: দ্রুত কার্যকরকরণের নির্দেশাবলী (যেটি 1 চক্রেরও কম লাগে) দ্রুত সম্পাদনের সময় শেষ হয় এবং সমস্ত নির্দেশাবলীর অলস সময় কম থাকে Both উভয়ই এগুলির মধ্যে আসলে আপনার কম্পিউটারের পরিশ্রমের পরিমাণ বাড়তে পারে তবে আপনি দেখতে পাবেন যে কোনও সিপিইউকে এক্স% দ্বারা ওভারক্লোক করা আপনার বেনমার্ক করার সময় সর্বদা করা কাজের ক্ষেত্রে এক্স% বৃদ্ধির সমান হয় না))

টি এল; ডিআর

একটি সিপিইউ একটি সেকেন্ডে এক্স কাজ সম্পাদন করতে পারে। আপনি যদি এইচ ক্লক স্পিড এবং আই আইপিসি ব্যবহার করেন তবে আমাদের কাছে আমি = এক্স / এইচ। এইচ পরিবর্তন করা এক্স পরিবর্তন করে না, তবে এটি বিপরীতভাবে আইকে প্রভাবিত করে।


1
ঘড়ির গতি একটি স্বেচ্ছাসেবী সিদ্ধান্ত থেকে অনেক দূরে। এটি সিপিইউ সরবরাহ ভোল্টেজের ফাংশন হিসাবে পাশাপাশি আইসি ট্রেস দৈর্ঘ্যের (অতিরিক্ত প্রচারের বিলম্ব এড়াতে) সাবধানতার সাথে বেছে নেওয়া দরকার।
ব্রেকথ্রু

আমি মনে করি যে আপনি একটি সিপিইউ একটি সিঙ্ক্রোনাস ডিজিটাল সার্কিট তা মিস করেছেন । নির্দেশাবলী এক্স ন্যানোসেকেন্ডগুলি নেবে না (ধরে নেওয়া আপনার ঘড়ির চক্র প্রচারের বিলম্বের চেয়ে কম), সবকিছু ক্রমবর্ধমান বা পড়ন্ত ঘড়ির প্রান্তে ঘটে - বা উভয়ই। নির্দেশাবলী X চক্র গ্রহণ করে, সময়ের এক্স ইউনিট নয় । হ্যাঁ, আপনি একটি চক্রটি কত দীর্ঘ তা সংশোধন করতে পারেন , তবে পার্থক্যটি তখন ঘটে। এবং সবশেষে, সিপিইউ একটি সেকেন্ডে যে পরিমাণ কাজ করতে পারে তা হ'ল ঘড়ির গতির একটি কাজ, তাই আপনার সূত্রটি এখানে সত্যই পরীক্ষা করে না।
cp2141

সিপিইউ হ'ল বেশ কয়েকটি অ্যাসিনক্রোনাস ইউনিটের সিঙ্ক্রোনাস সংমিশ্রণ। ক্লক টিকগুলি জিনিসগুলি সুন্দরভাবে সাজানোর জন্য ব্যবহৃত হয়, তবে মৃত্যুদন্ড কার্যকর করতে কত সময় লাগে তা তারা নির্ধারণ করে না ... উদাহরণস্বরূপ, সিপিইউয়ের মধ্য দিয়ে কতটা প্রবাহিত হতে হবে এবং কত তাড়াতাড়ি ট্রানজিস্টরের উপর ভিত্তি করে একটি পূর্ণসংখ্যার অ্যাড একটি নির্দিষ্ট পরিমাণ সময় নেবে রাষ্ট্রগুলি পরিবর্তন করবে switch ফলাফলটি পরবর্তী ঘড়ির টিক এ পুনরায় পড়ুন, তবে আসল গণনাটি পুরো টিকের মধ্যে অবিচ্ছিন্নভাবে করা হয়।
বেনিয়ামিন চেম্বারস

0

চক্র প্রতি উচ্চ নির্দেশ এবং উচ্চ ঘড়ির গতি উভয়ই থাকতে পারে না কারণ প্রয়োজনীয়তাগুলি পরস্পরবিরোধী।

একটি প্রথম আনুমানিকভাবে, আইপিসি নকশা জটিলতা (এ) উপর নির্ভর করে যে প্রদর্শিত করতে পারেন

আইপিসি = একটি স্কয়ার্ট (এ)

যদিও সর্বাধিক ফ্রিকোয়েন্সি (এফ) হিসাবে নকশাগুলির আঁশ দ্বারা প্রাপ্ত [1]

এফ = 1 / {বি + সি স্কয়ার্ট (এ)}

a, b এবং c পরামিতি সহ।

সুতরাং মুর্চের জটিলতা বাড়ানো কাজের ফ্রিকোয়েন্সি হ্রাস করার ব্যয়ে আইপিসি বাড়ায়, অন্যদিকে জটিলতা হ্রাস করে আইপিসি ব্যয়ে ফ্রিকোয়েন্সি বাড়িয়ে তোলে। এটি উইকিপিডিয়া নিবন্ধে উল্লিখিত দুটি চরম মামলার সাথে মিলে যায় তবে উইকিপিডিয়া নামগুলি উল্লেখ করতে ব্যর্থ হয়: ব্রেইনিয়াক এবং স্পিড-রাক্ষস।

  • ব্রেনিয়াক ডিজাইন: উচ্চ আইপিসি এবং কম ফ্রিকোয়েন্সি
  • গতি-রাক্ষস ডেসিং: উচ্চ ফ্রিকোয়েন্সি এবং কম আইপিসি।

[1] কিছু লেখক দাবি করেছেন যে পরিবর্তে "1 / {b + c A}" ফ্রিকোয়েন্সিটির অভিব্যক্তি, তবে উভয় ক্ষেত্রেই ক্রমবর্ধমান জটিলতা সর্বাধিক অর্জনযোগ্য ফ্রিকোয়েন্সি হ্রাস করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.