যখন ব্যক্তিগত কম্পিউটারগুলি প্রথম আবিষ্কার করা হয়েছিল, তখন তাদের কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিট (সিপিইউ) একা দাঁড়িয়ে ছিল এবং কেবলমাত্র একটি প্রসেসরের কোর ছিল। প্রসেসর নিজেই মূল ছিল ; একাধিক-কোর প্রসেসর থাকার ধারণাটি এখনও শোনা যায় নি। আজ, একাধিক কোর সহ কম্পিউটার, ফোন এবং অন্যান্য ডিভাইসগুলি দেখা মোটেও অস্বাভাবিক নয় - প্রকৃতপক্ষে, যে কোনও ধরণের বাণিজ্যিকভাবে উপলব্ধ কম্পিউটারটিতে একাধিক কোর রয়েছে। এই কোরগুলি একই, একক, সিপিইউ বা সেন্ট্রাল প্রসেসিং ইউনিটে থাকে।
একাধিক কোর থাকা একটি বড় সুবিধা। একটি মাত্র কোর দিয়ে একটি কম্পিউটার কেবল একবারে একটি টাস্কে কাজ করতে পারে, অন্যটিতে যাওয়ার আগে কোনও টাস্কটি সম্পন্ন করে। আরও কোর সহ, তবে একটি কম্পিউটার একসাথে একাধিক টাস্কে কাজ করতে পারে, যা বিশেষত যারা প্রচুর মাল্টিটাস্কিং করেন তাদের জন্য দরকারী।
মাল্টি-কোর প্রসেসরগুলি ঠিক কীভাবে কাজ করে ডাইভিংয়ের আগে, প্রক্রিয়াকরণ প্রযুক্তির ব্যাকস্টোরি সম্পর্কে কিছুটা কথা বলা গুরুত্বপূর্ণ, যার পরে আমরা মাল্টি-কোর প্রসেসরগুলি কী করব তা নিয়ে আলোচনা করব।
কিছু ইতিহাস
একাধিক কোর সহ প্রসেসরগুলি তৈরি হওয়ার আগে, মানুষ এবং সংস্থাগুলি যেমন ইন্টেল এবং এএমডি একাধিক সিপিইউ দিয়ে কম্পিউটার তৈরি করার চেষ্টা করেছিল। এর অর্থ হ'ল একাধিক সিপিইউ সকেট সহ একটি মাদারবোর্ডের প্রয়োজন ছিল। এটি কেবলমাত্র আরও ব্যয়বহুল ছিল না, কারণ অন্য সিপিইউ সকেটের জন্য শারীরিক হার্ডওয়্যারটির প্রয়োজন ছিল, তবে দু'টি প্রসেসরের মধ্যে সংঘটিত হওয়ার জন্য প্রয়োজনীয় বর্ধিত যোগাযোগের কারণে এটি বিলম্বিতাও বাড়িয়েছিল। একটি মাদারবোর্ডকে কম্পিউটারে দুটি সম্পূর্ণ পৃথক অবস্থানের মধ্যে কেবল প্রসেসরের কাছে কেবল পাঠানোর চেয়ে ডেটা বিভক্ত করতে হয়েছিল। শারীরিক দূরত্ব বলতে আসলে কোনও প্রক্রিয়া ধীর হয়। একাধিক কোর সহ এই প্রক্রিয়াগুলি একটি চিপে রাখার অর্থ এই নয় যে ভ্রমণের জন্য কম দূরত্ব রয়েছে, তবে এর অর্থ হ'ল বিভিন্ন কোর বিশেষত ভারী কাজ সম্পাদনের জন্য সংস্থানগুলি ভাগ করতে পারে। উদাহরণস্বরূপ, ইন্টেলের পেন্টিয়াম II এবং পেন্টিয়াম III চিপ উভয়ই একটি মাদারবোর্ডে দুটি প্রসেসর সহ সংস্করণে প্রয়োগ করা হয়েছিল।
কিছুক্ষণ পরে, প্রসেসরগুলি আরও শক্তিশালী হওয়া দরকার, তাই কম্পিউটার নির্মাতারা হাইপার-থ্রেডিংয়ের ধারণাটি নিয়ে আসে। ধারণাটি নিজেই ইন্টেল থেকে এসেছিল এবং এটি ২০০২ সালে প্রথম কোম্পানির জিয়ন সার্ভার প্রসেসর এবং পরে তার পেন্টিয়াম 4 ডেস্কটপ প্রসেসরে ধারণ করা হয়েছিল। হাইপার-থ্রেডিং আজও প্রসেসরে ব্যবহৃত হয় এবং এটি ইন্টেলের আই 5 চিপ এবং এর আই 7 চিপগুলির মধ্যে প্রধান পার্থক্য। এটি মূলত এই সত্যটির সুবিধা নেয় যে একটি প্রসেসরে প্রায়শই অব্যবহৃত সংস্থান থাকে, বিশেষত যখন কাজের জন্য খুব বেশি প্রসেসিং পাওয়ার প্রয়োজন হয় না, যা অন্যান্য প্রোগ্রামগুলির জন্য ব্যবহার করা যেতে পারে। এমন একটি প্রসেসর যা হাইপার-থ্রেডিং ব্যবহার করে মূলত একটি অপারেটিং সিস্টেমের কাছে নিজেকে উপস্থাপন করে যেমন এটিতে দুটি কোর রয়েছে। অবশ্যই, এটিতে দুটি কোর নেই, তবে দুটি প্রোগ্রাম যা প্রসেসিং পাওয়ারের অর্ধেক উপলব্ধ বা তার চেয়ে কম ব্যবহার করে, সেখানে দুটি কোরও থাকতে পারে কারণ এই সত্য যে তারা একসাথে সমস্ত শক্তি ব্যবহার করতে পারে যে প্রসেসরের অফার আছে। মূল ব্যবহার করে দুটি প্রোগ্রামের মধ্যে ভাগ করার পর্যাপ্ত প্রসেসিং শক্তি না থাকলে হাইপার-থ্রেডিংটি দুটি কোর সহ প্রসেসরের তুলনায় কিছুটা ধীরে ধীরে হবে।
হাইপার-থ্রেডিংয়ের একটি সংক্ষিপ্ত, আরও বিশদ বিবরণ দিয়ে আপনি একটি অন্তর্দৃষ্টিপূর্ণ ভিডিও পেতে পারেন।
মাল্টি প্রসেসর
অনেক পরীক্ষার পরে, একাধিক কোর সহ সিপিইউগুলি অবশেষে নির্মিত হতে সক্ষম হয়েছিল। এর অর্থ কী ছিল যে একটি একক প্রসেসরের মূলত একাধিক প্রসেসিং ইউনিট ছিল। উদাহরণস্বরূপ, ডুয়াল-কোর প্রসেসরের দুটি প্রসেসিং ইউনিট রয়েছে, একটি কোয়াড-কোরের চারটি রয়েছে এবং আরও অনেক কিছু।
তাহলে কেন সংস্থাগুলি একাধিক কোর সহ প্রসেসর বিকাশ করেছিল? ঠিক আছে, দ্রুত প্রসেসরের প্রয়োজন আরও স্পষ্ট হয়ে উঠছিল, তবে একক কোর প্রসেসরের উন্নতি হ্রাস পাচ্ছিল। ১৯৮০ এর দশক থেকে শুরু করে ২০০০ এর দশক পর্যন্ত ইঞ্জিনিয়াররা বেশ কয়েকটি মেগাহের্টজ থেকে বেশ কয়েকটি গিগাহার্টজে প্রক্রিয়াকরণের গতি বাড়াতে সক্ষম হয়েছিল। ইন্টেল এবং এএমডি এর মতো সংস্থাগুলি ট্রানজিস্টরের আকার সঙ্কুচিত করে এটি করেছিল, ফলে একই পরিমাণে আরও বেশি ট্রানজিস্টারের অনুমতি দেওয়া হয়েছিল, ফলে কার্যকারিতা উন্নত হয়।
প্রসেসরের ঘড়ির গতিটি একটি চিপের উপর কয়টি ট্রানজিস্টর ফিট করতে পারে তার সাথে খুব জড়িত থাকার কারণে, যখন ট্রানজিস্টার সঙ্কুচিত প্রযুক্তিটি ধীর হতে শুরু করে, প্রসেসরের বর্ধিত গতিতে বিকাশও ধীর হতে শুরু করে। যদিও এটি যখন কোম্পানিগুলি প্রথম মাল্টি-কোর প্রসেসরের সম্পর্কে জানত না, তখনই যখন তারা বাণিজ্যিক উদ্দেশ্যে মাল্টি-কোর প্রসেসরের সাথে পরীক্ষা শুরু করে। ১৯৮০ এর দশকের মাঝামাঝি সময়ে মাল্টি-কোর প্রসেসরগুলি প্রথম বিকাশ করা হয়েছিল, সেগুলি বৃহত কর্পোরেশনের জন্য নকশাকৃত করা হয়েছিল এবং সিঙ্গল-কোর প্রযুক্তি ধীর হওয়া শুরু না করা পর্যন্ত সত্যিকার অর্থে তাদের পুনর্বিবেচনা করা হয়নি। প্রথম মাল্টি-কোর প্রসেসরটি রকওয়েল ইন্টারন্যাশনাল দ্বারা বিকাশ করা হয়েছিল এবং এটি একটি চিপে দুটি 6502 প্রসেসরের 6501 চিপের একটি সংস্করণ ছিল (আরও বিবরণ এই উইকিপিডিয়া এন্ট্রিটিতে পাওয়া যায়)।
একটি মাল্টি-কোর প্রসেসর কী করে?
ঠিক আছে, এটি সত্যিই সমস্ত সোজা। একাধিক কোর থাকা এক সাথে একাধিক কাজ করার অনুমতি দেয়। উদাহরণস্বরূপ, আপনি যদি ইমেলগুলিতে কাজ করছেন, একটি ইন্টারনেট ব্রাউজার খোলা আছে, একটি এক্সেল স্প্রেডশিটে কাজ করছেন এবং আইটিউনে সংগীত শুনছেন, তবে কোয়াড-কোর প্রসেসর একবারে এই সমস্ত কিছুতে কাজ করতে পারে। অথবা, যদি কোনও ব্যবহারকারীর একটি কাজ এখুনি সম্পন্ন করা প্রয়োজন হয়, তবে এটি ছোট ছোট, সহজেই কাজগুলিতে প্রক্রিয়াজাতকরণে বিভক্ত হতে পারে।
একাধিক কোর ব্যবহার করা কেবল একাধিক প্রোগ্রামের মধ্যেই সীমাবদ্ধ নয়। উদাহরণস্বরূপ, গুগল ক্রোম প্রতিটি নতুন পৃষ্ঠাকে আলাদা প্রক্রিয়া সহ রেন্ডার করে, এর অর্থ এটি একবারে একাধিক কোরের সুবিধা নিতে পারে। কিছু প্রোগ্রাম, যাকে বলা হয় একক থ্রেডযুক্ত, যার অর্থ তারা একাধিক কোর ব্যবহার করতে সক্ষম হওয়ার জন্য রচিত হয়নি এবং যেমন এটি করতে পারে না। হাইপার-থ্রেডিং আবার এখানে খেলতে আসে, ক্রোমকে একটি আসল মূলটিতে দুটি "লজিকাল কোর" - তে একাধিক পৃষ্ঠাগুলি প্রেরণের অনুমতি দেয়।
মাল্টি-কোর প্রসেসর এবং হাইপার-থ্রেডিংয়ের সাথে একসাথে যাওয়া মাল্টিথ্রেডিং নামে পরিচিত একটি ধারণা। মাল্টিথ্রেডিং হ'ল মূলত অপারেটিং সিস্টেমের জন্য কোডটিকে তার সবচেয়ে প্রাথমিক ফর্ম বা থ্রেডে বিভক্ত করে এবং একসাথে বিভিন্ন কোরকে খাওয়ানোর মাধ্যমে একাধিক কোরের সুবিধা গ্রহণের দক্ষতা। এটি অবশ্যই মাল্টি-প্রসেসরের পাশাপাশি মাল্টি-কোর প্রসেসরের ক্ষেত্রেও গুরুত্বপূর্ণ। মাল্টি থ্রেডিং শোনার চেয়ে কিছুটা জটিল, কারণ অপারেটিং সিস্টেমগুলি সঠিকভাবে কোড অর্ডার করার জন্য প্রোগ্রামটি দক্ষতার সাথে চালিয়ে যেতে পারে।
অপারেটিং সিস্টেমগুলি তাদের নিজস্ব প্রক্রিয়াগুলির সাথে একই জিনিস করে - এটি কেবল অ্যাপ্লিকেশনগুলির মধ্যে সীমাবদ্ধ নয়। অপারেটিং সিস্টেম প্রক্রিয়াগুলি এমন জিনিস যা অপারেটিং সিস্টেমটি সর্বদা ব্যাকগ্রাউন্ডে করে থাকে, ব্যবহারকারীর অগত্যা না জেনে। এই প্রক্রিয়াগুলি সর্বদা চলমান থাকায় হাইপার-থ্রেডিং এবং / অথবা একাধিক কোর থাকা খুব সহায়ক হতে পারে, কারণ এটি প্রসেসরকে অ্যাপগুলিতে যা ঘটছে তার মতো অন্যান্য বিষয়ে কাজ করতে সক্ষম করে।
মাল্টি-কোর প্রসেসরগুলি কীভাবে কাজ করে?
প্রথমত, মাদারবোর্ড এবং অপারেটিং সিস্টেমের প্রসেসরটি সনাক্ত করতে হবে এবং একাধিক কোর রয়েছে। পুরানো কম্পিউটারগুলির কেবল একটি কোর ছিল, সুতরাং কোনও ব্যবহারকারী কোনও একাধিক কোর সহ একটি নতুন কম্পিউটারে এটি ইনস্টল করার চেষ্টা করলে কোনও পুরানো অপারেটিং সিস্টেম খুব ভাল কাজ করতে পারে না। উদাহরণস্বরূপ, উইন্ডোজ 95 হাইপার-থ্রেডিং বা একাধিক কোরকে সমর্থন করে না। সমস্ত সাম্প্রতিক অপারেটিং সিস্টেমগুলি উইন্ডোজ 7, 8, সদ্য প্রকাশিত 10 এবং অ্যাপলের ওএস এক্স 10.10 এর মত মাল্টি-কোর প্রসেসরগুলিকে সমর্থন করে।
মূলত, অপারেটিং সিস্টেমটি মাদারবোর্ডকে বলে যে একটি প্রক্রিয়া করা দরকার। মাদারবোর্ড তখন প্রসেসরকে বলে। একটি মাল্টি-কোর প্রসেসরে অপারেটিং সিস্টেম প্রসেসরকে একবারে একাধিক কাজ করতে বলতে পারে। মূলত, অপারেটিং সিস্টেমের দিকনির্দেশের মাধ্যমে, হার্ড ড্রাইভ বা র্যাম থেকে ডেটা মাদারবোর্ডের মাধ্যমে প্রসেসরে স্থানান্তরিত হয়।
মাল্টি-কোর প্রসেসর
একটি প্রসেসরের মধ্যে, ক্যাশে মেমরির একাধিক স্তর রয়েছে যা প্রসেসরের পরবর্তী ক্রিয়াকলাপ বা ক্রিয়াকলাপগুলির জন্য ডেটা ধারণ করে। ক্যাশে মেমরির এই স্তরেরগুলি নিশ্চিত করে যে প্রসেসরকে তাদের পরবর্তী প্রক্রিয়াটি খুঁজে পেতে খুব বেশি সময় প্রয়োজন নেই, অনেক সময় সাশ্রয় করা। ক্যাশে মেমরির প্রথম স্তর হ'ল এল 1 ক্যাশে। প্রসেসর যদি L1 ক্যাশে তার পরবর্তী প্রক্রিয়ার জন্য প্রয়োজনীয় ডেটা না খুঁজে পায় তবে এটি L2 ক্যাশে দেখায়। এল 2 ক্যাশে মেমরির চেয়ে বড় তবে এটি L1 ক্যাশের চেয়ে ধীর।
একক কোর প্রসেসর
যদি কোনও প্রসেসর এটি L2 ক্যাশে যা সন্ধান করছে তা যদি খুঁজে না পায় তবে এটি L3 পর্যন্ত রেখাটি অবিরত রাখে এবং যদি কোনও প্রসেসরের কাছে এটি থাকে তবে L4। এর পরে এটি প্রধান স্মৃতিতে বা কম্পিউটারের র্যামে সন্ধান করবে।
বিভিন্ন প্রসেসর পার্থক্য ক্যাশে পরিচালনা করে বিভিন্ন উপায় আছে। উদাহরণস্বরূপ, কিছু লোক L2 ক্যাশে L1 ক্যাশে ডেটা সদৃশ করে, যা প্রসেসরটি যা খুঁজছে তা খুঁজে পেতে পারে তা নিশ্চিত করার একটি উপায় is এটি অবশ্যই এল 2 ক্যাশে আরও মেমরি গ্রহণ করে।
বিভিন্ন স্তরের ক্যাশে মাল্টি-কোর প্রসেসরগুলিতে খেলতে আসে। সাধারণত, প্রতিটি কোরের নিজস্ব এল 1 ক্যাশে থাকবে তবে তারা এল 2 ক্যাশে ভাগ করবে। একাধিক প্রসেসর থাকলে এটি থেকে আলাদা, কারণ প্রতিটি প্রসেসরের নিজস্ব এল 1, এল 2 এবং অন্য কোনও স্তরের ক্যাশে রয়েছে। একাধিক একক-কোর প্রসেসরের সাথে, ক্যাশে ভাগ করে নেওয়া সম্ভব নয়। একটি ভাগ করা ক্যাশে থাকার প্রধান সুবিধাগুলির মধ্যে একটি হ'ল ক্যাশে সম্পূর্ণরূপে ব্যবহার করার দক্ষতা, কারণ একটি কোর যদি ক্যাশে ব্যবহার না করে তবে অন্যটি করতে পারে of
একটি মাল্টি-কোর প্রসেসরে, ডেটা অনুসন্ধান করার সময় একটি কোর তার নিজস্ব অনন্য L1 ক্যাশে সন্ধান করতে পারে এবং তারপরে ভাগ করা এল 2 ক্যাশে, র্যাম এবং শেষ পর্যন্ত হার্ড ড্রাইভে বেরিয়ে যায়।
সম্ভবত আমরা আরও কোরগুলির বিকাশ দেখতে থাকব। প্রসেসরের ঘড়ির গতি অবশ্যই আগের থেকে আরও ধীর গতিতে হলেও আরও ভাল হতে থাকবে। যদিও এখন স্মার্টফোনের মতো জিনিসে অক্টা-কোর প্রসেসরগুলি দেখা অস্বাভাবিক নয়, শীঘ্রই আমরা কয়েক ডজন কোর সহ প্রসেসর দেখতে পেলাম।
আপনি কোথায় মাল্টি-কোর প্রসেসিং প্রযুক্তি এগিয়ে চলেছেন বলে মনে করেন? আমাদের নীচের মন্তব্যগুলিতে বা আমাদের সম্প্রদায় ফোরামে একটি নতুন থ্রেড শুরু করে জানুন।
