আমি এটি উপলব্ধি করতে পারছি না বলে মনে হয়, সুপারক্যালার এবং একটি মাল্টি-কোর প্রসেসরের মধ্যে পার্থক্য কী?
আমি তাদের সাথে মিশ্রিত রাখি, তাই তারা কী করে সে সম্পর্কে কিছু সাধারণ পয়েন্ট দুর্দান্ত।
আমি এটি উপলব্ধি করতে পারছি না বলে মনে হয়, সুপারক্যালার এবং একটি মাল্টি-কোর প্রসেসরের মধ্যে পার্থক্য কী?
আমি তাদের সাথে মিশ্রিত রাখি, তাই তারা কী করে সে সম্পর্কে কিছু সাধারণ পয়েন্ট দুর্দান্ত।
উত্তর:
সুপার-স্কেলার প্রসেসরের অর্থ আপনি একটি একক ঘড়ির চক্র চলাকালীন একাধিক নির্দেশনা প্রেরণ করেন। এটি মাল্টি-কোর থেকে পৃথক হওয়ার কারণ হ'ল আপনি কেবল একটি নির্দেশের কাউন্টার পান। সুতরাং আপনি একাধিক নির্দেশাবলী ইন-ফ্লাইটে রাখেন, তবে সমস্ত নির্দেশাবলী একটি একক প্রোগ্রামের। এটি এখনও কেবল একটি প্রক্রিয়া। এখন আমি বলেছি "আপনি একটি নির্দেশের কাউন্টার পেয়েছেন" এবং প্রযুক্তিগতভাবে এটি সত্য যে আপনার কোডটি কোনও শাখার ভবিষ্যদ্বাণীমূলক স্কিম ব্যবহার ব্যতীত বৈষম্য অনুভব করবে এমন কোনও বিন্দু নেই (অনুমানমূলক মৃত্যুদণ্ড: আপনি একই সাথে উভয় শাখাকে সম্পাদন করে "ভুল" ফেলে দিতে পারেন) "পূর্বাভাসের ফলাফল)।
আপনি যখন মাল্টি-কোরে প্রবেশ করবেন তখন আপনার একসাথে একাধিক নির্দেশাবলী প্রবাহিত হবে। গুরুত্বপূর্ণ অংশটি হ'ল প্রতিটি একক প্রক্রিয়া আরও দ্রুত চালিত করার জন্য প্রতিটি কোর (তার নিজস্ব নির্দেশাবলীর কাউন্টার দিয়ে এক্সিকিউট করা) সুপার-স্কেলারও হতে পারে!
খুব দীর্ঘ নির্দেশের শব্দ বা "ভিএলআইডাব্লু" যাকে বলা হয় তা পাইপলাইনে বা আউট-অফ-অর্ডার কার্যকর না করে সুপার-স্কেলার পাওয়া সম্ভব। এটিকে "স্ট্যাটিক" সুপার-স্কেলারারও বলা হয় (যেমন এটি কোডের মধ্যে রয়েছে)। আপনার মূলত একই সময়ে একাধিক নির্দেশনা কার্যকর করতে পর্যাপ্ত উপাদান রয়েছে এবং আপনি একবারে একাধিক নির্দেশনা আনেন এবং সেগুলি চালনা করুন। এর সর্বাধিক সহজ আকারে, কল্পনা করুন যে আপনি বলেছিলেন "এই প্রসেসর সর্বদা একই সাথে দুটি নির্দেশনা আনতে এবং কার্যকর করতে পারে।" তারপরে যতক্ষণ কোডার একই প্রক্রিয়াতে একসাথে কাজ করতে পারে, ততক্ষণ আপনি আপনার থ্রুপুট দ্বিগুণ করবেন! যদি আপনি একসাথে রাখার জন্য দুটি নির্দেশিকা খুঁজে না পান তবে আপনি কেবল একটি নির্দেশ এবং একটি NOP যুক্ত করুন। এই ধারণাটি খুব ভাল নয় কারণ আপনি যদি একই সাথে 3, 4 বা আরও নির্দেশাবলী কার্যকর করতে পারেন এমন প্রসেসরের আরও ভাল সংস্করণ তৈরি করেন তবে আপনার সমস্ত পুরানো কোড ব্রেক! তবে তারা এটিকে বেশ দক্ষ পদ্ধতিতে সমাধান করেছেন, আপনি আরও জানতে চাইলে আপনার স্পষ্টভাবে সমান্তরাল নির্দেশনা কম্পিউটিং বা "EPIC" স্টাফটি পরীক্ষা করা উচিত।
পাইপলাইনের সাথে গতিশীল সুপার-স্ক্যালার ডেটা-স্বতন্ত্র নির্দেশের পাশাপাশি নির্দেশ-স্তরের সমান্তরালতা উভয়েরই সুবিধা নিতে পারে, যা এটিকে এতো শক্তিশালী সমন্বয় করে তোলে। মূলত এটি আপনাকে যথেষ্ট পরিমাণ হার্ডওয়্যার সহ একাধিক স্বাধীন নির্দেশনা একই সাথে কার্যকর করতে দেয়।
পাইপলাইনিং এবং আউট-অফ-অর্ডার এক্সিকিউশন সহ গতিশীল সুপার-স্কেলারটি মূলত নির্দেশ-স্তরের সমান্তরালতার সীমা ছিল: আপনি একই পর্যায়ে এক সাথে একাধিক নির্দেশনা প্রয়োগ এবং সম্পাদন করবেন, ডেটা নির্ভরতা ছাড়াই পরিচালিত অপারেশনগুলি অনুসন্ধান করার চেষ্টা করবেন। আপনি অর্ডারটি শেষ করে দিতে পারেন, আপনি অর্ডার থেকে শুরু করে দিতেন, সুপার-স্কেলার স্টাফ করার সময় আপনার মাথা সোজা রাখতে আপনাকে বিভিন্ন ধরণের জিনিসগুলি করতে হবে। মাল্টি-কোর বলে "ওহে প্রোগ্রামার! আমাকে একই সাথে সমাধান করতে পারে এমন একাধিক সমস্যা দিন!" এবং তারপরে যেহেতু প্রোগ্রামার সংকলিত সমাবেশে কেবল কয়েকটি লাইন ছাড়াই স্বতন্ত্রভাবে দ্রবণযোগ্য সমস্যাগুলি দেখতে সক্ষম, তারা আরও কার্যকরভাবে সেই সমাধানগুলি মাল্টি-কোরের জন্য প্রোগ্রাম করতে পারে।
সুপার-স্কেলার এমনকি "কীভাবে আমি এই দুটি প্রোগ্রাম আরও দ্রুত প্রয়োগ করব" এর মতো সমস্যাগুলি সমাধান করতে সক্ষম নয়। এটি কেবল প্রতিটি স্বতন্ত্র প্রোগ্রামকে দ্রুত চালিত করতে পারে।
আশা করি এটি সাহায্য করে, দুঃখিত যদি এটি কিছুটা অসম্পূর্ণ হয়।
--Edit--
আমি একাধিক ধারণাকে বিভ্রান্ত করেছিলাম এমন এজেএস 410 এর বিষয়টি বিবেচনার জন্য পরিবর্তিত।
আপনি যদি 80486 বা পেন্টিয়ামের মতো আগের প্রসেসরের দিকে ফিরে তাকান তবে একটি সিপিইউ ছিল প্রসেসিংয়ের একক লজিক্যাল ইউনিট। এটি একবারে নির্দেশের একক স্ট্রিম কার্যকর করে। একটি সিঙ্গল সিপিইউও ছিল একক সিলিকন চিপ। আপনি যদি আরও প্রসেসিং শক্তি চান তবে আপনি একটি ব্যয়বহুল সার্ভার মাদারবোর্ড কিনতে পারেন যাতে দুটি পৃথক সিপিইউ ফিট করার জন্য স্লট ছিল। তারপরে আপনার কাছে দুটি সিপিইউ মেশিন এবং তাই দুটি প্রসেসিং কোর ছিল।
কোনও এক মুহুর্তে মুরের আইন বলতে আমাদের কাছে সিলিকনে এতগুলি ট্রানজিস্টর উপলব্ধ ছিল যে আপনি দুটি সিপিইউ'র জন্য সমস্ত সার্কিটিকে কেবল একটি একক চিপে রেখে দিতে পারেন। এখন আপনার বিভ্রান্তির নামকরণের সম্ভাবনা রয়েছে। আপনার দুটি সিপিইউ রয়েছে বলে বোঝাতে আপনার কাছে পুরানো স্টাইলের দুটি সিলিকন প্যাকেজ বা নতুন একক সিলিকন প্যাকেজ রয়েছে তবে দুটি প্রসেসরের প্রসেসিং সেটআপ রয়েছে। এটি সমাধানের জন্য আমরা এখন সিপিইউকে বোঝাই যে এটি একটি একক সিলিকন প্যাকেজ এবং কোর এর মধ্যে একটি একক লজিকাল প্রসেসিং ইউনিট।
পারফরম্যান্স চেষ্টা এবং উন্নতি করতে এবং এটি গড়ে চক্র প্রতি আরও নির্দেশাবলীর প্রক্রিয়া করার অনুমতি দেওয়ার জন্য একটি কোরের মধ্যে ব্যবহৃত একটি কৌশলকে সুপার-স্কেলার বলতে বোঝায়। একটি স্কেলার প্রসেসর চক্র প্রতি সর্বাধিক একটি নির্দেশ কার্যকর করে, সুপার-স্কেলারার অর্থ এটি চক্র প্রতি একাধিক নির্দেশকে সম্ভাব্যভাবে কার্যকর করতে পারে। উদাহরণস্বরূপ, যদি প্রসেসরের পূর্ণসংখ্যার গাণিতিকের জন্য একটি কার্যকরী ইউনিট এবং ভাসমান পয়েন্টের জন্য আরেকটি থাকে তবে কেন একই সময়ে দুটি নির্দেশ কার্যকর করতে উভয়কে একই সময়ে ব্যবহার করবেন না। আপনার যদি তিনটি পূর্ণসংখ্যা ইউনিট এবং দুটি ভাসমান পয়েন্ট ইউনিট থাকে? সমান্তরাল সম্পাদনের জন্য এখন আপনার আরও বেশি সম্ভাবনা রয়েছে। এটি কার্যকরভাবে কার্যকর করার জন্য আপনার বাস্তবায়নের জন্য আরও ট্রানজিস্টর এবং আরও জটিল যুক্তিযুক্ত প্রয়োজন। বাস্তব বিশ্বে আপনি অ-অফ-অর্ডার ডিজাইনের সাথে একত্রে সুপার-স্কেলার ব্যবহার করতে চান কারণ তারা একে অপরকে প্রশংসা করে।