সিপিইউ এবং জিপিইউ কেন আলাদা?

Level 12
কন্টেন্ট রাইটার, টেল টেক আইটি, গাইবান্ধা

বন্ধুরা সবাই কেমন আছেন? আশা করছি আপনারা সকলেই আল্লাহর রহমতে ভাল আছেন। নিত্য দিনের মতো আজও নতুন একটি টিউন নিয়ে আপনাদের সামনে হাজির হয়েছি। বন্ধুরা আজকে আমরা আলোচনা করব সিপিইউ ও জিপিইউ সম্পর্কে। তো, আজকের এই টিউন এর মাধ্যমে আপনারা জানতে পারবেন সিপিইউ ও জিপিইউ কি এবং এগুলোর কাজ কি এর বিস্তারিত আলোচনা।

যেকোনো একটি ডিজিটাল ডিভাইস, সেটি হতে পারে কম্পিউটার, ল্যাপটপ, স্মার্টফোন কিংবা অন্য কোন ডিভাইস এর মাথা প্রসেসর। যে জিনিসটি গোটা ডিভাইস কে নিয়ন্ত্রণ করে। একটি ডিভাইসে অন্তত দুই ধরনের প্রসেসর থাকে, একটি হচ্ছে CPU বা Central Processing Unit, যেটি আপনার গোটা ডিভাইসটিকে নিয়ন্ত্রণ করে। অন্যটি হচ্ছে GPU বা Graphics Processing Unit যেটি শুধুমাত্র আপনার ডিভাইসে গ্রাফিক্সের সঙ্গে সম্পর্কযুক্ত কাজগুলো সম্পাদন করে। তো এখন অনেকেই প্রশ্ন করতে পারে যে, এই গ্রাফিক্স জিনিসটা আসলে কি?

তো দেখুন, আপনার ডিভাইসের ডিসপ্লে তে আপনি যেটি দেখুন না কেন এটাই গ্রাফিক্স। আপনার স্মার্টফোনের ভিডিও দেখা, লেখা, ছবি সবকিছুই একটি গ্রাফিক্স। আপনি আপনার ডিভাইসের স্কিনে যা কিছুই দেখুন না কেন সেটি গ্রাফিক্স এর ভেতরে পড়ে। আপনার ডিভাইসে এই গ্রাফিক্সকে যেটি হ্যান্ডেল করে তা হচ্ছে, জিপিইউ বা গ্রাফিক্স প্রসেসিং ইউনিট। এবার প্রশ্ন হচ্ছে সিপিইউ এবং জিপিইউ যেহেতু উভয়েই একটি প্রসেসর এবং এদের উভয়ের কাজই প্রসেস করা তাহলে কেন আমরা আমাদের ডিভাইসের দুটি সিপিইউ লাগাতে পারি না?

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

সিপিইউ এবং জিপিইউ এর কাজের ভিন্নতা

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

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

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

ধরুন সেই মাল্টিপারপাস টুল কিটস মধ্যে কাঁচি, করাত, ব্লেড ইত্যাদি সরঞ্জাম রয়েছে। এবার সেখানে যদি আপনার একটি গাছ কাটার প্রয়োজন পড়ে তবে সেখানে সেই টুলটির ভেতরে থাকা করাত দিয়ে আপনি একটি গাছ কাটতে পারবেন। কিন্তু সেই করার দিয়ে আপনি যদি গাছ থাকেন তবে এক্ষেত্রে অনেক সময় লাগবে। কেননা এখানে একটি টুল এর মধ্যে অনেকগুলো সরঞ্জাম একসঙ্গে দেওয়ার হয়েছে এবং সেগুলো আয়তনে অনেক ছোট। যে কারণে স্বাভাবিকভাবেই গাছ কাটতে আপনার সমস্যা হবে।

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

আপনি যে কাজের জন্যই কমান্ড করুন না কেন সেই কাজটির জন্য সিপিইউ প্রস্তুত। আর অন্যদিকে জিপিইউ শুধুমাত্র আপনার ডিভাইস এর গ্রাফিক্স এর কাজ গুলো করার জন্য তৈরি। জিপিইউ কে শুধুমাত্র গ্রাফিক্স গুলোকে প্রসেসিং করার জন্যই স্পেশাল ভাবে তৈরি করা হয়েছে। যেমনটি আমরা মাল্টিপারপাস টুল এর ক্ষেত্রে করাত এর সঙ্গে উদাহরণ দিলাম। এখানে জিপিইউ টি আলাদা করাত এর মতো যেটি শুধুমাত্র গাছ কাটার জন্য স্পেশালভাবে ডিজাইন করা হয়েছে।

তো এবার প্রধান কথায় চলে আসা যাক যে, সিপিইউ এবং জিপিইউ এর মধ্যে কিসের জন্য পার্থক্য। কি কারনে সিপিইউ ও জিপিইউ কে আলাদা করা হয়েছে?

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

সিপিইউ যাতে একটি বিশেষ কাজকে খুব তাড়াতাড়ি করতে পারে তার জন্য সিপিইউ এ যতগুলো কোর লাগানো হয় সেগুলো অনেক শক্তিশালী হয়। এগুলোকে খুব high-frequency তে ক্লক করা হয়, যাতে করে একটি কাজকে সে তাড়াতাড়ি শেষ করতে পারে। আর হ্যাঁ আপনি যদি এখনো না জেনে থাকেন যে, কোর কি, গিগাহার্জ কি, প্রসেসরে ন্যানোমিটার কি? তবে এই টিউনটি দেখে আসতে পারেন। পূর্বের এই টিউনে আমি প্রসেসর এর কোর, গিগাহার্জ, ন্যানোমিটার নিয়ে বিস্তারিত আলোচনা করেছি।

সিপিইউ তে খুব শক্তিশালী কোর লাগানো হয় যেগুলোকে high-frequency তে ক্লক করা হয়, যাতে করে সে একটি কাজকে খুব তাড়াতাড়ি সম্পাদন করতে পারে। অন্যদিকে জিপিইউ তে খুব কম শক্তিশালী কোর লাগানো থাকে এবং কম ফ্রিকোয়েন্সিতে ক্লক করা হয়। কিন্তু জিপিইউ এ লাগানো কোরগুলো হয় সংখ্যায় অনেক বেশি। সিপিইউ এ আমরা সাধারণত কয়টি করে দেখতে পারি? ২টি, ৪টি, ৬টি কিংবা ১৬টি।

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

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

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

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

যেখানে একটি ভিডিও গেমে অনেকগুলো বিষয়বস্তুতে একসঙ্গে প্রসেস করতে হয়, সেখানে এই প্রসেসরটি আপনার গেমের জন্য উপযুক্ত নয়। কেননা একসঙ্গে সে একাধিক কাজগুলোকে ভালোভাবে হ্যান্ডেল করতে পারবে না। যেখানে একটি প্রসেসর এর কোর মাত্র কয়েকটি, সেখানে একটি জিপিইউ এর কোর সংখ্যা থাকে অনেক পরিমাণে। তাই অনেকগুলো কাজকে একসঙ্গে করার জন্য প্রসেসর এর পরিবর্তে জিপিইউ সেটি পড়ে থাকে।

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

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

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

তো, যে সমস্ত জিপিইউ আপনার প্রসেসর এর সঙ্গে থাকে সে গুলোকে বলা হয় ইন্ট্রগ্রেটেড জিপিইউ। বিশেষ করে স্মার্টফোনের ক্ষেত্রে ইন্ট্রগ্রেটেড বা সমন্বিত জিপিইউ বেশি দেখা যায়। স্মার্টফোনে কুয়ালকোম প্রসেসরে আমরা Adreno জিপিইউ(GPU) দেখতে পারি। Medial Tek এর যে সমস্ত প্রসেসর রয়েছে সেখানে আমরা Mali জিপিইউ(GPU) দেখতে পারি। তো এই Adreno বা Mali জিপিইউ(GPU) গুলো মূলত ইন্ট্রগ্রেটেড জিপিইউ।

আমাদের স্মার্টফোনের যে সমস্ত প্রসেসরগুলো ব্যবহার করা হয় সেখানে সমস্ত প্রসেসরগুলো একসঙ্গে ব্যবহৃত হয়। যেগুলোর মধ্যে যেরকম, CPU বা Central Processing Unit, GPU বা Graphics বা Processing Unit, DSP বা Digital Signal Processor, ISP বা Image Signal Processor ইত্যাদি। এগুলো সমস্ত গুলো মিলেই একটি স্মার্টফোন এর প্রসেসর তৈরি। যেটিকে CPU কিংবা GPU এর পরিবর্তে SoC বলে, অর্থাৎ System-on-Chip বলা হয়। স্মার্টফোনের ক্ষেত্রে সমস্ত প্রসেসরগুলো একসঙ্গে লাগানো থাকে। আর স্মার্টফোনের এই SoC-ই হচ্ছে ইন্ট্রগ্রেটেড জিপিইউ, যেটিতে সমস্ত কিছু একসঙ্গে লাগানো থাকে।

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

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

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

তো বন্ধুরা আমি আশা করছি আপনারা বুঝতে পেরেছেন যে, একটি সিপিইউ ও জিপিইউ এর মধ্যে কিসের কিসের পার্থক্য রয়েছে। এছাড়া একটি জিপিইউ ও একটি সিপিইউ এর কি কাজ এবং এদের কোন কোন কাজ গুলো আলাদা। তো বন্ধুরা আপনারা যদি এই টিউনটি ভাল লেগে থাকে তবে জোসস করুন, সেইসঙ্গে টিউনমেন্ট করে জানান কেমন লাগলো। টিউনটির মাঝে যদি আমার বোঝানোর ঘাটতি থেকে থাকে তবে আমায় ক্ষমা করে দিবেন। টেকটিউনসের সঙ্গে থাকুন এবং দেখতে থাকুন বিজ্ঞান ও প্রযুক্তি ভিত্তিক নানা টিউন।

আজকের এই টিউনটি থেকে এখানেই বিদায় নিচ্ছি, দেখা হবে পরবর্তী টিউনে আরো নতুন কিছু নিয়ে ইনশাআল্লাহ। পরবর্তী টিউন পর্যন্ত ফিরে আসার আগে আমাকে ফলো করে রাখুন, যাতে করে আরও আগ্রহের সঙ্গে আপনাদের জন্য নতুন নতুন টিউন নিয়ে আসতে পারি। আসসালামু আলাইকুম।

Level 12

আমি মো আতিকুর ইসলাম। কন্টেন্ট রাইটার, টেল টেক আইটি, গাইবান্ধা। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 3 বছর 5 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 333 টি টিউন ও 93 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 60 ফলোয়ার আছে এবং আমি টেকটিউনসে 2 টিউনারকে ফলো করি।

“আল্লাহর ভয়ে তুমি যা কিছু ছেড়ে দিবে, আল্লাহ্ তোমাকে তার চেয়ে উত্তম কিছু অবশ্যই দান করবেন।” —হযরত মোহাম্মদ (সঃ)


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস