"প্রতি চক্রের নির্দেশাবলী" কী কী?


23

প্রসেসরগুলি কীভাবে কাজ করে সে সম্পর্কে আমি আরও কিছুটা শিখছি, তবে প্রতি চক্রের নির্দেশাবলী সম্পর্কে আমি কোনও সরল উত্তর খুঁজে পাচ্ছি না।

উদাহরণস্বরূপ, আমি এই ধারণাটির মধ্যে ছিলাম যে একটি চারটি কোর সিপিইউ প্রতি চক্রের চারটি নির্দেশনা কার্যকর করতে পারে, সুতরাং 2 গিগাহার্টজে চলমান একটি চারটি সিপিইউ প্রতি সেকেন্ডে 8 বিলিয়ন অপারেশন চালাবে। এই ঘটনা কি?

আমি নিশ্চিত যে এটি জিনিসগুলিকে প্রশংসনীয় করে তোলে তবে আমি যদি নিজেকে সোজা সেট করতে কোনও গাইড বা অন্য কিছু ব্যবহার করতে পারি তবে আমি অবশ্যই ধারণার জন্য উন্মুক্ত open


না, এটাই নয়। আধুনিক x86 সিপিইউ আদর্শ অবস্থার অধীনে প্রতিটি চক্রের প্রতি তিনটি নির্দেশনা বজায় রাখতে পারে যখন কিছু নির্দেশাবলীতে কয়েক ডজন চক্রের প্রয়োজন হতে পারে।
ডেভিড শোয়ার্জ

উত্তর:


22

আপনার সম্ভবত যে কীওয়ার্ডগুলি সন্ধান করা উচিত সেগুলি হ'ল সিআইএসসি , আরআইএসসি এবং সুপারক্যালার আর্কিটেকচার

CISC

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

আপনি যদি ইন্টেলের বিশদে আগ্রহী হন তবে ইন্টেল 64 এবং আইএ -32 অপটিমাইজেশন রেফারেন্স ম্যানুয়ালটি খুব ভাল পঠিত।

আরআইএসসি

আরআইএসসি (এআরএম, পাওয়ারপিসি, এসপিএআরসি) আর্কিটেকচারের অর্থ সাধারণত একটি খুব সাধারণ নির্দেশিকা কেবল কয়েকটি (প্রায়শই কেবল একটি) চক্র গ্রহণ করে।

Superscalar

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

ফলাফলটি হ'ল: যদি আপনি কেবল আপনার প্রোগ্রামের প্রতিটি নির্দেশের জন্য চক্রটি সন্ধান করেন এবং তারপরে সেগুলি সমস্ত যোগ করেন তবে আপনি বেশ কয়েকটি উচ্চপথে পৌঁছে যাবেন। ধরুন আপনার সিঙ্গল সিআরসি সিপিউ রয়েছে। একটি একক নির্দেশনা প্রক্রিয়াকরণের সময় কখনই একটি চক্রের সময়ের চেয়ে কম হতে পারে না, তবে সামগ্রিক থ্রুপুটটি প্রতি চক্রের জন্য বেশ কয়েকটি নির্দেশ থাকতে পারে।


9
আমার কাছে, "অ্যাসেমব্লিং লাইন" উপমাটি কেবল সুপারপ্লেয়ার আর্কিটেকচার নয়, কেবল সহজ পাইপলাইনের পরামর্শ দেয় sugges থ্রিপুট উন্নত করার জন্য সুপারসকলার সিপিইউ হার্ডওয়্যারের অংশগুলি (যেমন পাইপলাইনের একটি স্টেজ যা বাধা রয়েছে) প্রতিলিপি জড়িত।
sblair

2
আমি সংক্ষিপ্ততার জন্য যুক্ত করছি: আরআইএসসি = হ্রাস নির্দেশ সেট; সিআইএসসি = জটিল নির্দেশ সেট। ভাল ব্যাখ্যা, ক্যাশে হিট / মিস অনুপাত এবং (শেষ পর্যন্ত) টিএলবি দেখানোর জন্য লুডভিগ। মাইক্রোপ্রসেসর আর্কিটেকচার ব্যাখ্যা করা সহজ নয়, বিশেষত এটিকে একটি (মোটামুটি কমপ্যাক্ট) পোস্টে ক্র্যাম করা! :)
osij2is

1
আমি যা শুনছি তা থেকে, আজকাল সিপিইউগুলি মূল স্মৃতি থেকে দেখাতে কাজের জন্য অপেক্ষা করে তাদের অনেক সময় ব্যয় করে। কমপক্ষে সেটাই আমার প্রতিক্রিয়া ছিল যখন আমি জিজ্ঞাসা করলাম কেন একটি সিপিইউতে আরও কার্যকর করার ব্যবস্থা নেই।
surfasb

32

আমি যেভাবে এটি ভাবতে পছন্দ করি তা লন্ড্রি উপমা সহ। সিপিইউ নির্দেশাবলী লন্ড্রি বোঝা মত। প্রতিটি লোডের জন্য আপনাকে ওয়াশার এবং ড্রায়ার উভয়ই ব্যবহার করতে হবে। ধরা যাক যে প্রতিটি চালাতে 30 মিনিট সময় নেয়। তা হ'ল ঘড়ির চক্র। পুরানো সিপিইউগুলি ওয়াশার চালাত, তারপরে ড্রায়ার চালাত, প্রতিবার লন্ড্রির প্রতিটি লোড শেষ করতে 60 মিনিট (2 চক্র) সময় নেয়।

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

সুপারস্কেলার: সমস্ত লন্ড্রি লন্ড্রোমেটে নিয়ে যান। 2 ওয়াশার পান এবং তাদের উভয়কে লোড করুন। এটি হয়ে গেলে, 2 টি ড্রায়ার সন্ধান করুন এবং সেগুলি দুটি ব্যবহার করুন। এখন আপনি 60 মিনিটের মধ্যে 2 টি বোঝা ধুয়ে এবং শুকিয়ে নিতে পারেন। এটি 2 চক্রের 2 লোড। প্রতিটি লোড এখনও 2 চক্র লাগে, কিন্তু আপনি এখন আরও কিছু করতে পারেন। গড় সময় এখন প্রতি চক্রের 1 লোড।

পাইপলাইনিং সহ সুপারস্ক্যালার: প্রথম 2 টি লোড ধুয়ে ফেলুন, তারপরে এগুলি শুকানোর সময়, পরবর্তী 2 টি লোড দিয়ে ওয়াশারগুলি লোড করুন। এখন, প্রথম 2 টি লোড এখনও 2 টি চক্র নেয় এবং তারপরে পরবর্তী 2 আরও 1 টি চক্রের পরে শেষ হয়। সুতরাং, বেশিরভাগ সময়, আপনি প্রতিটি চক্রের 2 টি লোড শেষ করেন।

একাধিক কোর: আপনার লন্ড্রি অর্ধেক আপনার মাকে দিন, যার 2 ওয়াশার এবং 2 ড্রায়ারও রয়েছে। আপনি দুজনে এক সাথে কাজ করার সাথে আপনি দ্বিগুণ কাজ করতে পারবেন। এটি সুপারশাকারার মতো, তবে কিছুটা আলাদা। আপনার নিজের প্রতিটি মেশিনে এবং সমস্ত লন্ড্রি সরিয়ে নিয়ে যাওয়ার পরিবর্তে, তিনি আপনার মতো একই সময়ে এটি করতে পারেন।

এটি দুর্দান্ত, আমরা দ্রুত মেশিন তৈরি না করে একই সময়ের তুলনায় আগের চেয়ে আট গুণ বেশি লন্ড্রি করতে পারি । (ঘড়ির গতি দ্বিগুণ করুন: ওয়াশিং মেশিনগুলি চালাতে কেবল 15 মিনিটের প্রয়োজন))

এখন, কীভাবে বিষয়গুলি ভুল হয়ে যায় সে সম্পর্কে কথা বলা যাক:

পাইপলাইনের বুদ্বুদ: আপনার একটি দাগ আছে যা ধোয়াতে বের হয়নি, তাই আপনি এটি আবার ধুয়ে নেওয়ার সিদ্ধান্ত নেন। এখন ড্রায়ার ঠিক সেখানে বসে আছে, কিছু করার জন্য অপেক্ষা করছে।

ক্যাশে মিস: যে ট্র্যাকটি নোংরা লন্ড্রি সরবরাহ করে তা ট্র্যাফিকের মধ্যে আটকে রয়েছে। এখন আপনার কাছে ২ টি ওয়াশার এবং ২ টি ড্রায়ার রয়েছে তবে আপনাকে কোনও কাজ করতে হচ্ছে না কারণ আপনাকে অপেক্ষা করতে হবে।

জিনিসগুলি প্রায়শই কীভাবে ভুল হয় তার উপর নির্ভর করে আমরা সর্বদা প্রতিটি চক্রকে 4 টি চাপ দিতে সক্ষম হব না, তাই করা কাজের প্রকৃত পরিমাণে আলাদা হতে পারে।

শাখার পূর্বাভাস: আচ্ছা, আপনি আপনার পরিষ্কার কাপড়ের পরে ধুয়ে ফেলতে শুরু করেন যদি পরে তাদের দাগ লাগে তবে তারা ইতিমধ্যে পরিষ্কার হয়ে যাবে ... ঠিক আছে, এখান থেকেই উপমাটি ভেঙে যায় ...


চমৎকার উপমা। আমি এটি চুরি করতে যাচ্ছি।
dmckee

6
হাইপারথ্রেডিং হ'ল একই ধরণের লন্ড্রোমেটে বেশ কয়েকজন লোককে ধোয়া।
রোনাল্ড পটল

1
শাখার পূর্বাভাস: আপনি যে পোশাকটি ধুয়ে ফেলতে শুরু করেছেন যা আপনার মনে হয় পরের সপ্তাহে আপনার প্রয়োজন হবে
আকাশ

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

@ আকাশ আপনি এমন পোশাক ধোয়েন যেগুলিতে এখনও দাগ পড়ে না, কেবলমাত্র এমন ক্ষেত্রে?
কেভিন প্যাঙ্কো

2

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

দুঃখিত, সরল উত্তরের জন্য এটি বেশ জটিল। জন স্টোকস এই নিবন্ধটি দিয়ে এটি ব্যাখ্যা করার জন্য একটি ভাল কাজ করে ।


2

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

সুতরাং সংক্ষিপ্ত উত্তরটি হ'ল: আরও কোরগুলির অর্থ জিনিসগুলি সম্পন্ন করার জন্য আরও বেশি ক্ষমতা, তবে একটি সুন্দর, অনুমানযোগ্য উপায়ে নয়


1

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


0

চক্রগুলি প্রতিটি মূল ধারণার চেয়ে বেশি। প্রতিটি কোর সমান্তরাল সেখানে নিজস্ব চক্র আছে।

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