প্রধান মেমরি আনার জন্য অপেক্ষা করার সময় প্রসেসর কী করবে


26

ধরে নিচ্ছি যে l1 এবং l2 ক্যাশে অনুরোধগুলি মিসের ফলস্বরূপ, মূল স্মৃতি অ্যাক্সেস না করা পর্যন্ত প্রসেসরটি কি স্টল করে?

আমি অন্য থ্রেডে স্যুইচ করার ধারণাটি শুনেছি, যদি তাই হয় তবে থামানো সুতোর জাগাতে কী ব্যবহৃত হয়?


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

@ রাফেল আমি মূলত কম্পিউটার আর্কিটেকচার বই পড়ছিলাম, স্টিভ ফারবারের এআরএম সিস্টেম-অন-চিপ আর্কিটেকচার, সম্ভবত এটি সবচেয়ে বিস্তৃত যা আমি পুরোপুরি পড়েছি। তবে আমি কম্পিউটার আর্কিটেকচার: একটি পরিমাণগত পদ্ধতির পড়া শুরু করেছি। এটি থ্রেড স্যুইচিং, OOE এবং অর্ডার মেমরি অপারেশনগুলির মতো স্টলিং এড়ানোর জন্য কৌশলগুলি ডিকুয়াস করে, যদিও এটি আধুনিক ডিজাইনের জটিলতা সম্পর্কে সত্যই কখনও কিছু দেয় না, যেমন বেশিরভাগ পাঠ্যপুস্তকের মতো তারা পুরানো আর্কিটেকচারগুলি আবরণ করে না বা কীভাবে এই জিনিসগুলি সম্পর্কে অস্পষ্ট পরামর্শ দেয় never বাস্তবায়িত এবং একসাথে কাজ।
102948239408

আমার প্রশ্নের বিস্তৃতিতে, ক্যাশেগুলি ক্ষুদ্রতর বিলম্বিত হতে পারে এবং তাদের প্রতিক্রিয়াতে নির্বিচারবাদী হতে পারে তবে শারীরিক ঠিকানাটি পুনরুদ্ধার করার জন্য সবচেয়ে খারাপ পরিস্থিতি পৃষ্ঠা সারণী হাঁটার ক্ষেত্রে, হাজার হাজার নির্দেশাবলী সম্পূর্ণ হতে পারে, কিছু আইএলপি দ্বারা আহৃত একই থ্রেড থেকে নেওয়া হয়েছিল some প্রসেসরে কী হার্ডওয়্যার ইন্টারঅ্যাকশন ঘটে তা স্থির করার জন্য এটি অন্য থ্রেড নির্ধারণ করতে পারে এবং যদি ঘটে তবে সেই থ্রেডটি জাগাতে কী যোগাযোগ ব্যবহৃত হয়। আরও এখনও যদি থ্রেডগুলি স্যুইচ করার সময় OOOE সম্পূর্ণ ফলাফলের সারিতে কাজ করার জন্য কোনও কৌশল থাকে?
102948239408

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

1
আমি সাধারণ ধারণাগুলি সম্পর্কে জবাব দিয়েছি, কিন্তু আপনার মন্তব্য দ্বারা বিচার, আপনি আরও উন্নত বিবেচনার পরে হতে পারে। তবে আপনি যদি আরও উন্নত উত্তর চান তবে আপনার প্রশ্নটি নির্দিষ্ট আর্কিটেকচার এবং কৌশলগুলির ধরণের ক্ষেত্রে আরও নির্দিষ্ট করা দরকার।
গিলস 'অশুভ হওয়া বন্ধ করুন'

উত্তর:


28

কম্পিউটার আর্কিটেকচার গবেষণায় অধ্যয়ন করা অন্যতম মৌলিক সমস্যা মেমরি ল্যাটেন্সি।

জল্পনা-কল্পনা

আউট-অফ-অর্ডার নির্দেশের ইস্যু দিয়ে অনুমানমূলক সম্পাদন প্রায়শই একটি এল 1 ক্যাশে আঘাতের সময় অলসতা পূরণ করার জন্য দরকারী কাজ সন্ধান করতে সক্ষম হয়, তবে সাধারণত 10 বা 20 চক্র বা তার পরে কার্যকর কাজের বাইরে চলে যায়। দীর্ঘ-বিলম্বের মিসের সময় করা কাজের পরিমাণ বাড়াতে বেশ কয়েকটি প্রচেষ্টা হয়েছে several একটি ধারণা ছিল মান পূর্বাভাস দেওয়ার চেষ্টা করা (লিপাস্টি, উইলকারসন এবং শেন, (এএসপিএলস -7): 138-147, 1996)। এই ধারণাটি কিছু সময়ের জন্য একাডেমিক আর্কিটেকচার গবেষণা চেনাশোনাগুলিতে খুব ফ্যাশনেবল ছিল তবে বাস্তবে এটি কাজ করে না বলে মনে হয়। ইতিহাসের ডাস্টবিন থেকে মূল্য ভবিষ্যদ্বাণী বাঁচানোর জন্য সর্বশেষ হাঁসফাঁস চেষ্টাটি ছিল রানআহেড এক্সিকিউশন(মুতলু, স্টার্ক, উইলকারসন এবং প্যাট (এইচপিসিএ -9): 129, 2003) রানআহেড এক্সিকিউশনে আপনি স্বীকার করেছেন যে আপনার মান পূর্বাভাসগুলি ভুল হতে চলেছে, তবে অনুমানের ভিত্তিতে যাইহোক নির্বাহ করুন এবং তারপরে ভবিষ্যদ্বাণীটির উপর ভিত্তি করে সমস্ত কাজ ফেলে দিন, তত্ত্বের ভিত্তিতে আপনি কমপক্ষে এল 2 ক্যাশে হওয়ার জন্য কিছু উপসর্গ শুরু করবেন ব্যার্থ। দেখা যাচ্ছে যে রানাহাড এত বেশি শক্তি অপচয় করে যে এটি কেবল মূল্য দেয় না।

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

মাল্টি থ্রেডিং

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

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

একযোগে বহুগঠিতকরণের ধারণা (তুলসন, এগারস এবং লেভি, (আইএসসিএ -২২): 392-403, 1995) অনুমানমূলক মৃত্যুদন্ডের সাথে হার্ডওয়্যার মাল্টি-থ্রেডিংকে একত্রিত করে। প্রসেসরের একাধিক থ্রেড প্রসঙ্গ রয়েছে, তবে প্রতিটি থ্রেড অনুমানমূলক এবং আদেশের বাইরে চলে যায়। এরপরে আরও পরিশীলিত সময়সূচী থ্রেড থেকে আনার জন্য বিভিন্ন হিউরিস্টিক্স ব্যবহার করতে পারে যা সম্ভবত কার্যকর কাজ ( মালিক, আগরওয়াল, ধর, এবং ফ্রাঙ্ক, (এইচপিসিএ-১৪: ৫০- )১), ২০০৮ ) পেতে পারে। একটি নির্দিষ্ট বৃহত্ অর্ধপরিবাহী সংস্থা যুগপত বহুবৃত্তির জন্য হাইপারথ্রেডিং শব্দটি ব্যবহার শুরু করেছিল এবং আজকের দিনে সেই নামটি সর্বাধিক ব্যবহৃত be

নিম্ন-স্তরের মাইক্রোআরকিটেকচারাল উদ্বেগ

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


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

+1, ১. যদি রাউন্ড-রবিন শিডিয়ুলিং ব্যবহার না করা হয় তবে এটি কি সত্যিই ব্যারেল প্রক্রিয়াজাতকরণ? উইকিপিডিয়া এফজিএমটি এর প্রতিশব্দ করে তোলে। (আমি বাদ দিয়ে রবিনে "ব্যারেল প্রসেসর" প্রয়োগ গ্রহণ করতে পারি, যদিও এটি অনুপস্থিত স্টাভ হিসাবে উপমা ভেঙে দেয় (সিএফ। প্রস্তুত থ্রেড) কোনও ব্যারেলের পরিধিকে চুক্তি করে না। (আমি মনে করি "সত্য" ব্যারেল প্রসেসর ছিল ? বিরল-সম্ভবত সিডিসি 6600 জন্য পেরিফেরাল প্রসেসর Itanium এবং Linux সংক্রান্ত এর হাইপার থ্রেডিং এবং IBM এর Northstar এট তারা একটি চক্র অপচয় -because কিন্তু এটি প্রক্রিয়া সহজ হার্ডওয়্যার করে) 2. SoEMT একটি উল্লেখ মনে বিশেষত প্রশ্ন দেওয়া
পল উ: ক্লেটন 15

@ 102948239408, আপনি যে জিনিসটির জন্য গুগল করতে পারেন সেগুলি হল "হিট আন্ডার মিস" এবং "মিস আন্ডার মিস" এর মতো পদক্ষেপ (অন্য বিকল্পটি "মিসের আন্ডার মিস"), তবে আমি এটি চেষ্টা করেছি এবং দেখে মনে হচ্ছে এটি কার্যকর কিছুই প্রত্যাবর্তন করবে না)) ক্যাশে কী অনুমতি দিতে পারে তার বিভিন্ন বিকল্পের জন্য (কিছু) স্থপতিদের দ্বারা ব্যবহৃত পদগুলি।
যুক্তি

@ পলএ.ক্লেটন, পরিভাষা অবশ্যই আমার দৃ suit় মামলা নয়। আমি আপনার সাথে একমত যে ব্যারেল প্রক্রিয়াকরণের অর্থ রাউন্ড-রবিন হওয়া উচিত। তবে আমি অন্য কোনও পদটির ভাবতে পারি না যার অর্থ: একগুচ্ছ ইন-অর্ডার থ্রেডের চক্র-দ্বারা-চক্র ইন্টারলিভিং (যা জিপিইউ, জিওন ফি এবং সান টি 1 সকলেই করেন)। এটা কি এফজিএমটি? আমি সবসময় এসএমটি সহ এফজিএমটি নিয়ে ভাবতাম, (যেমন, থ্রেডগুলি ক্রমান্বয়ে কার্যকর করা আবশ্যক নয়) তবে সম্ভবত এ ক্ষেত্রে এফজিএমটি "ব্যারেল প্রসেসর" এর চেয়ে ভাল?
যুক্তি

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

16

সংক্ষিপ্ত উত্তরটি হল: কিছুই নয়, প্রসেসরের স্টল।

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

প্রসেসরটি স্থবির হয়ে যাওয়ার পরে, টাইমারটি চলতে থাকে, তাই টাইমার বিঘ্নিত হতে পারে, বা অন্যান্য পেরিফেরিয়াল থেকে বাধা হতে পারে। সুতরাং ক্যাশে অ্যাক্সেসের চেয়ে কোনও মূল স্মৃতি অ্যাক্সেসের সময় কনটেক্সট স্যুইচ হওয়ার সম্ভাবনা বেশি থাকে তবে কেবল কারণ এটি বেশি সময় নেয়।

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

একটি কৌশল হ'ল অনুমানমূলক ফেচিং : প্রসেসরটি অনুমান করার চেষ্টা করে যে কোন মেমরির অবস্থানটি অ্যাক্সেস করা হবে এবং সময়ের আগে এটি ক্যাশে নিয়ে আসে। উদাহরণস্বরূপ, মেমরির ব্লকের উপরের লুপগুলি সাধারণ, সুতরাং যদি 0x12340000, 0x12340010 এবং 0x12340020 মেমরির ঠিকানাগুলির জন্য ক্যাশে লাইনগুলি লোড করা থাকে তবে 0x12340030 এর জন্য লাইনটি লোড করা ভাল ধারণা হতে পারে। সংকলক প্রিফেট নির্দেশাবলী উত্পন্ন করে সাহায্য করতে পারে যা বোঝার মতো যা তারা কেবলমাত্র প্রধান মেমরি থেকে ডেটা ক্যাশে স্থানান্তর করে, প্রসেসরের নিবন্ধে নয়।

আর একটি কৌশল হ'ল জল্পনা-কল্পনা । প্রসেসর লোড সঞ্চালনের পূর্বে পরবর্তী নির্দেশনা কার্যকর করা শুরু করে। নির্দেশাবলীর পাইপলাইনের কারণে এটি প্রাকৃতিকভাবেই ঘটে । লোড হওয়া মানের উপর নির্ভর করে না এমন নির্দেশাবলীই এইভাবে কার্যকর করা যেতে পারে: প্রসেসরের অবশ্যই নির্ভরতা বিশ্লেষণ করা উচিত perform শর্তসাপেক্ষ নির্দেশাবলীর জন্য (যেমন লোড আর 1; শাখা যদি আর 1) 0 থাকে) তবে প্রসেসরগুলি মানটি কী হবে তা অনুমান করার জন্য শাখার পূর্বাভাস হিউরিস্টিকস নিয়োগ করে । কোনও চাপের পরে যদি চাপের কারণ হয় তবে লোডের পরে জল্পনা-কল্পনা কার্যকর করা দরকার।

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

হাইপারথ্রেডিংয়ে অন্য থ্রেডে স্যুইচিং ঘটে যা হাই-এন্ড x86 প্রসেসরে পাওয়া যায়। এটি একটি হার্ডওয়্যার ডিজাইনের কৌশল: প্রতিটি প্রসেসর কোরটিতে দুটি পৃথক রেজিস্টার ব্যাংক থাকে (প্রতিটি কার্যের প্রসঙ্গে), তবে অন্যান্য উপাদানগুলির একক উদাহরণ রয়েছে, যাতে এটি দুটি স্বতন্ত্র মৃত্যুদন্ড কার্যকর করতে পারে তবে কেবল কার্যকরভাবে একটি থেকে নির্দেশাবলী কার্যকর করতে পারে একটি সময়. একটি থ্রেড স্থবির হয়ে গেলে অন্য থ্রেডটি এগিয়ে যায়। সফ্টওয়্যারটির দৃষ্টিকোণ থেকে দুটি স্বতন্ত্র প্রসেসর রয়েছে; এটি ঠিক ঘটে যে এই প্রসেসরগুলি হুডের নীচে অনেকগুলি উপাদান ভাগ করে।

অদলবদল মেমরি ক্যাশে শ্রেণিবিন্যাসের আরও একটি স্তর: মূল স্মৃতিটিকে অদলবদলের জায়গার ক্যাশে হিসাবে দেখা যায়। অদলবদল করার সাথে, প্রক্রিয়াগুলি এবং পারফরম্যান্স অনুপাত পৃথক। যদি কোনও টাস্ককে অদলবদল থেকে বোঝা করার প্রয়োজন হয়, লোড নির্দেশটি একটি ফাঁদ ট্রিগার করে যা র‌্যামে কোনও পৃষ্ঠা বরাদ্দ করতে এবং এর সামগ্রীটি ডিস্ক থেকে লোড করার জন্য কার্নেল কোড চালায়। এটি হওয়ার পরে, কার্নেলটি অন্য কোনও কাজে স্যুইচ করার সিদ্ধান্ত নিতে পারে।


প্রথম এবং দ্বিতীয় থেকে শেষ অনুচ্ছেদের বিপরীতে, "কৌশল" হায়পারথ্রেডিংয়ের সাথে কোনও বাস্তব প্রসঙ্গে স্যুইচ হওয়ার দরকার নেই, তাই না? সিপিইউ একই সাথে দুটি প্রসঙ্গে সম্পূর্ণ রক্ষণাবেক্ষণ করে।
রাফেল

1
@ রাফেল রাইট: সফ্টওয়্যারটি যতটা না সম্পর্কিত, পারফরম্যান্স ছাড়া সব কিছুর জন্য দুটি সিপিইউ রয়েছে।
গিলস 'অশুভ হওয়া বন্ধ করুন'

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

@ রাসেলবোরোগোভ হ্যাঁ, আমি এটি উল্লেখ করিনি কারণ এমনকি হাইপারথ্রেড স্ট্রেড সিপিইউগুলিতে একাধিক ALU / FPU / থাকতে পারে ... এবং বিপরীতভাবে পৃথক পৃথক কোর মাঝে মাঝে এফপিইউ ভাগ করে নিতে পারে
গিলস 'অশুভ হওয়া বন্ধ করুন'

5

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

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