Sunday, March 12, 2017

Epiiu, CPU, GPU | The difference between them? - Explanation

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

সিপিইউ

সিপিইউ প্রসেসরআজকের দিনের প্রায় বেশিরভাগ কম্পিউটার ব্যবহারকারীর কাছে সিপিইউ নামটি বেশ পরিচিত; তবে তারা শুধু নাম জানলেও অনেকে জানেন না এটির কাজ কি। আবার শুধু “এটি কি” এটাই বড় প্রশ্ন নয়, যখন আপনি নতুন ডেক্সটপ বিল্ড করার জন্য অনলাইন সার্চ করবেন, তখন “ডুয়াল কোর” “i3 কোর” “i7 কোর” ইত্যাদি টার্ম গুলো আপনার সামনে ভেসে আসবে। তো প্রশ্ন হচ্ছে, কি এই সিপিইউ বা যার নাম মাইক্রো প্রসেসর; আবার একে সেন্ট্রাল প্রসেসিং ইউনিটও বলা হয়ে থাকে।
“সেন্ট্রাল প্রসেসিং ইউনিট” —এই নামটি থেকেই অনেক কিছু বুঝতে পাড়া যায়। অর্থাৎ এটি এমন একটি যন্ত্রাংশ যা কম্পিউটারের সকল প্রধান কাজ গুলো সম্পাদন করে থাকে। আপনি হয়তো কম্পিউটার দিয়ে ইন্টারনেট ব্রাউজ করছেন, ভিডিও দেখছেন, ফটো এডিট করছেন, কিন্তু কম্পিউটারের আসল কাজ কি? ডাটা/প্রোগ্রামকে প্রসেস করা; আর এই কাজটিই সেন্ট্রাল প্রসেসিং ইউনিট সম্পূর্ণ করে থাকে।
একটি ব্যাংকের অ্যাকাউন্ট ম্যানেজারের কথা কল্পনা করুন, আপনার টাকা উত্তোলন করার প্রয়োজন হোক আর নতুন অ্যাকাউন্ট খোলার প্রয়োজন হোক আর টাকা ডিপোজিট করার দরকার হোক, এই সকল প্রসেস গুলো অ্যাকাউন্ট ম্যানেজারের মাধ্যম দিয়ে তবেই ক্যাশ কাউন্টার বা অন্য কাউন্টারে জমা হয়। আপনার কম্পিউটারের মাইক্রো প্রসেসর মূল সিস্টেমটিতে ব্যাঙ্কের অ্যাকাউন্ট ম্যানেজারের মতোই কাজ করে। এতো ছিল একেবারে সাধারন উদাহরণ, যে সিপিইউ কীভাবে কাজ করে; এবার একটু টেকনিক্যাল বিষয় গুলো জানার চেষ্টা করি। ভয় পাবেন না, সহজ করে বুঝিয়ে দেবো।
আপনি কম্পিউটারে অনেক ধরনের প্রোগ্রাম রান করান, তাই না? কিন্তু একটি প্রোগ্রামকে রান করাতে প্রসেসরকে হাজার থেকে লাখো আদেশ পালন করতে হয়। ধরুন আপনি একটি ইন্টারনেট ব্রাউজার ওপেন করলেন। এখন ব্রাউজার প্রোগ্রামটিকে চালাতে অবশ্যই ইন্টারনেটের প্রয়োজনীয়তা রয়েছে, সিপিইউ সেই ইন্টারনেট কানেকশনটি খুলে দেয় আবার ব্রাউজারের পেজ রেন্ডার থেকে শুরু করে বিভিন্ন গ্রাফিক্স কিংবা ভিডিও প্লে করতেও প্রসেসর সাহায্য করে। একটি প্রগামের যে লাখো আদেশ রয়েছে সেগুলোকে প্রসেসর একটি নির্দিষ্ট অ্যাড্রেসে জমা রাখে এবং প্রোগ্রামটিকে কীভাবে চালাতে হবে সেটার ট্র্যাক রাখে।
আবার কোন প্রোগ্রামকে প্রোগ্রামার কোন ল্যাঙ্গুয়েজে লিখেছে সিপিইউ সেটিকে রীড করে এবং তা ভাঙ্গিয়ে প্রোগ্রামটিকে রান করায়। ধরুন আপনি নিজেই একটি কম্পিউটার আপনার সাথে একজন ট্র্যান্সলেটর রয়েছে সে প্রসেসর এবং একজন চাইনিজ ব্যক্তি (প্রোগ্রাম) আপনার সাথে কথা বলতে চায়। তো সেই চাইনিজ ব্যক্তিটি আপনার সাথে চাইনিজ ভাষাতে যা বলবে আপনার ট্র্যান্সলেটর সেটিকে অনুবাদ করে আপনার বোধগম্য করে দেবে। কম্পিউটার প্রসেসর অনেকটা এইভাবেই কাজ করে।
তাছাড়া প্রসেসর যেকোনো ইনপুটকে গ্রহন করে এবং একটি আউটপুট জেনারেট করে, সেই আউটপুটকে প্রসেসর কম্পিউটার মেমোরিতে (র‍্যাম) লিখে রাখে। প্রসেসরের আরেকটি গুরুত্বপূর্ণ টার্ম হচ্ছে এর ক্লক। প্রসেসর কোটি ট্র্যানজিস্টর দ্বারা গঠিত হয়, এদেরকে এক একটি সুইচও বলা চলে —কেনোনা এদের কাজ শুধু অন এবং অফ হওয়া আর এভাবেই এরা ডাটা প্রসেস করে। সুইচ এক বার অফ অন হয়ে আরেকবার অফ হলে একে এক ক্লক সাইকেল কাজ করা বলা হয়। ধরুন কোন প্রসেসরে লেখা রয়েছে এর ক্লক স্পীড ২.৮ গিগাহার্জ তবে সেই প্রসেসরে ২.৮ বিলিয়ন ক্লক সাইকেল পূর্ণ হয় এক সেকেন্ডে।

বহু সিপিইউ

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

হাইপার থ্রেডিং প্রযুক্তি

হাইপার থ্রেডিং প্রযুক্তি হলো ইন্টেলের প্রথম প্যারালেল কম্পিউটিং পিসি সিস্টেম। ২০০২ সালে যখন প্রথম ইনটেল পেন্টিয়াম ৪ এইচটি প্রসেসর বাজারে আসে তার সাথেই হাইপার থ্রেডিং প্রযুক্তির সাথে আমরা প্রথম পরিচিত হয়। সেই প্রসেসরটি একটি সিঙ্গেল কোর প্রসেসর ছিল, অর্থাৎ এটি এক সময়ে কেবল একটিই কাজ করার ক্ষমতা রাখতো। কিন্তু হাইপার থ্রেডিং প্রযুক্তির ফলে অপারেটিং সিস্টেম সেই প্রসেসরে দুটি কোর দেখতে পাচ্ছিল। এটা অনেকটা অপারেটিং সিস্টেমের সাথে “চিটারি” —তারপরেও এর উল্লেখ্য যোগ্য গুরুত্ব রয়েছে।
সিঙ্গেল কোর প্রসেসর হাইপার থ্রেডিং প্রযুক্তিতে ভার্চুয়ালি ডুয়াল কোর মনে হলেও এটি ফিজিক্যাল ডুয়াল কোরের মতোই কাজ করে এবং আপনার সিস্টেমকে আরো স্পীড প্রদান করে। যদি একটি ভার্চুয়াল কোর স্থগিত হয়ে বসে থাকে, তবে দ্বিতীয় ভার্চুয়াল কোরটি আগের কোর থেকে রিসোর্স নিয়ে কাজের গতি বাড়াতে পারে। এই প্রযুক্তি সত্যিই আপনার সিস্টেমের স্পীড বৃদ্ধি করে, তবে তারপরেও প্রসেসরে সত্যিই একাধিক কোর থাকা ভালো।
সৌভাগ্য বশত আজকের দিনে “হাইপার থ্রেডিং” কে বোনাস হিসেবে পাওয়া যায়। মডার্ন ইনটেল প্রসেসর গুলোতে একসাথে একাধিক ফিজিক্যাল কোর এবং হাইপার থ্রেডিং দুইটিই থাকে। আপনার ডুয়াল কোর প্রসেসর সাথে হাইপার থ্রেডিং প্রযুক্তিতে এটি অপারেটিং সিস্টেম ৪টি দেখতে পায় এবং ব্যবহার করতে পারে। এভাবে কোয়াড প্রসেসরকে ৮ কোর হিসেবে অপারেটিং সিস্টেম দেখতে পায় এবং ব্যবহার করতে পারে। হাইপার থ্রেডিং যুক্ত ডুয়াল কোর প্রসেসর হাইপার থ্রেডিং ছাড়া  ডুয়াল কোর প্রসেসর থেকে ফাস্ট কাজ করতে পারে।

বহু কোর সিপিইউ

সিপিইউ কোরআসলে, প্রসেসরে আসলভাবে একটি কোরই থাকার কথা, অর্থাৎ ফিজিক্যালি একটি প্রসেসরে একটি প্রসেসিং ইউনিট থাকবে। কিন্তু পারফর্মেন্স বৃদ্ধি করার জন্য প্রস্তুতকারী কোম্পানিরা একটি প্রসেসরে “বহু কোর” লাগিয়ে দেয়। ডুয়াল কোর প্রসেসরে দুইটি সিপিইউ থাকে এবং অপারেটিং সিস্টেম একে একই সাথে দুইটিকে ব্যবহার করতে পারে; ফলে একই সময়ে আলাদা আলাদা প্রসেস সম্পূর্ণ করানো সম্ভব হয়।
হাইপার থ্রেডিং প্রযুক্তির মতো অপারেটিং সিস্টেমকে এটি ধোঁকা দেওয়া নয়—ডুয়াল কোর প্রসেসর মানে এখানে একটি চিপে দুইটি সিপিইউ ফিজিক্যালি লাগানো থাকে। কোয়াড কোরে ৪ টি সিপিইউ এবং অক্টাকোরে ৮ টি সেন্ট্রাল প্রসেসিং ইউনিট লাগানো থাকে। যখন একটি সিঙ্গেল চিপে একাধিক সেন্ট্রাল প্রসেসিং ইউনিট লাগানো থাকে এবং এটি একটি মাদারবোর্ড সকেট থেকে নিয়ন্ত্রিত হয়, তখন কম্পিউটিং পারফর্মেন্স আশ্চর্যজনক ভাবে বেড়ে যায়। চিন্তা করে দেখুন যদি কোয়াড কোর প্রসেসরের জায়গায় মাদারবোর্ডে চারটি আলাদা প্রসেসর লাগানোর দরকার পড়তো, তবে অবশ্যই চারটি সকেট লাগতো এবং প্রত্যেকটি ঠাণ্ডা করার জন্য আলাদা কুলিং সিস্টেমের প্রয়োজন পড়তো সাথে পাওয়ার তো বেশি লাগতোই।
তো আপনার কম্পিউটার প্রসেসরে যতোবেশি কোর থাকবে আপনার কম্পিউটার এক সময়ে একই সাথে ততোই বেশি প্রসেস সম্পূর্ণ করতে পারবে। এমনকি আপনি এক সময়ে একটি মাত্র প্রোগ্রাম নিয়ে কাজ করলেও বাকী কোর গুলো ব্যাকগ্রাউন্ড ট্যাস্ক হ্যান্ডেল করতে পারবে, ফলে আপনার অপারেটিং সিস্টেম স্লো হয়ে পড়বে না। সুতরাং আপনার কম্পিউটার প্রসেসরের বহু কোর সিপিইউ থাকার গুরুত্ব গুনে শেষ করবার মতো নয়। স্মার্টফোন, ট্যাবলেট ইত্যাদিতে একই কাজের জন্য বহু কোর প্রসেসর লাগানো থাকে।

জিপিইউ

জিপিইউ গ্রাফিক্স প্রসেসিং ইউনিট
প্রসেসরের পরে যে গুরুত্বপূর্ণ হার্ডওয়্যারটির নাম সামনে আসে, “জিপিইউ” যার পূর্ণ নাম “গ্রাফিক্স প্রসেসিং ইউনিট“। এখানেও নাম শুনেই অনেকটা ধারণা করা যাচ্ছে এই ইউনিটের কাজ কম্পিউটারের সকল গ্রাফিক্স নিয়ে। প্রসেসর কাজে লাগিয়ে কম্পিউটারের সকল কাজ তো সম্পূর্ণ হয়ে যাবে; পিসির অপারেটিং সিস্টেম লোড হবে, প্রোগ্রাম রান হবে ইত্যাদি  কিন্তু আপনার সিস্টেমে জিপিইউ না থাকলে আপনার পিসির সাথে মনিটর কানেক্ট করতে পারবেন না। সার্ভার কম্পিউটার গুলোতে জিপিইউ প্রয়োজনীয় হয় না, সেখানে কোন মনিটর লাগানো থাকেনা বরং সব কাজ কমান্ড ইন্টারফেস ব্যবহার করে করা হয়।
তাছাড়া যারা গেমিং করেন; গেমে সিপিইউ থেকে জিপিইউ বেশি ব্যবহৃত হয়। সিপিইউ এর মতো জিপিইউও ইনপুট গ্রহন করে সেটিকে প্রসেস করে আউটপুট প্রদান করতে পারে। তবে এটি বিশেষ করে গ্রাফিক্স রেন্ডারে সাহায্য করার জন্য ডিজাইন করা হয়েছে। কিছু জিপিইউতে প্রসেসরের তুলনায় বেশি ট্র্যানজিস্টর থাকে।
আজকের দিনে বেশিরভাগ মাদারবোর্ডে বিল্ড ইন ইনটেল গ্রাফিক্স থাকে, কিন্তু এটি একদম নরমাল ব্যবহার বা সাধারন গেমিং করার জন্য। আপনি যদি হাই এন্ড গেমিং করতে চান অথবা ভিডিও রেন্ডার করেন তবে আপনাকে একটি ডেডিকেটেড গ্রাফিক্স কার্ড বা ইউনিট লাগানোর প্রয়োজন পড়বে।
আমরা আগেই জানলাম যে, প্রসেসর মূলত একটি কম্পিউটারের ব্রেইন, সে সকল প্রকারের ট্যাস্ক প্রসেস করার জন্য বিশেষ ভাবে প্রস্তুতকৃত। কিন্তু গ্রাফিক্স প্রসেসিং ইউনিট ডেডিকেটেড কাজের জন্য প্রস্তুত এবং এটি সেই প্রসেস গুলো সম্পূর্ণ করে যেটা আগে প্রসেসর একবার প্রসেস করেছে। জিপিইউ এর আরেকটি বিশেষত্ব হলো এতে শতশত কোর থাকতে পারে এবং প্রত্যেকটি কোর একসাথে প্যারালেলে কাজ করে। অনেক পয়েন্টে এটি প্রসেসর থেকেও বেশি প্রসেসিং করার ক্ষমতা রাখে।
আপনি যদি অনেক গ্রাফিক্স নিয়ে কাজ করেন কিংবা ভিডিও গেম খেলতে পছন্দ করেন তবে ডেডিকেটেড গ্রাফিক্স প্রসেসিং ইউনিট আপনার কম্পিউটার পারফর্মেন্স বৃদ্ধি করতে সাহায্য করবে। ধরুন আপনি আপনার বাড়িতে একা এবং বাড়ির সাজগোজ, পরিষ্কার পরিছন্ন, বাজার ইত্যাদি সব আপনাকেই করতে হয়। এবার ধরুন আপনি একটি কাজের লোক ঠিক করলেন, যে বাজার করা আর পরিষ্কার পরিছন্নতার দায়িত্ব নিল, তবে সেই সময়ে আপনি আরামে আপনার আলাদা কাজ গুলো করতে পারবেন। আপনার সিস্টেমে জিপিইউ এর ভূমিকা অনেকটা এই রকমই।
জিপিইউ  বিভিন্ন ভাবে বিভিন্ন আকারের হয়ে থাকে। বেশিরভাগ গ্রাফিক্স প্রসেসিং ইউনিট একটি আলাদা হার্ডওয়্যার হয় যেখানে নিজস্ব কুলিং সিস্টেম থাকে এবং আপনার পিসিআই-এক্সপ্রেসের থাকে যুক্ত করানো হয়। আবার কিছু জিপিইউ ইন্ট্যাগ্রেটেড গ্রাফিক্স চিপ আঁকারে আসে— যেটা আপনার মাদারবোর্ডের সাথে বিল্ড ইন ভাবে লাগানো থাকে। কোন জিপিইউতে কতো কোর থাকবে তা নির্ভর করে এর প্রস্তুতকারী কোম্পানির উপর। এনভিডিয়ার গ্রাফিক্স কার্ড গুলোতে অল্প চিপেই বেশি ক্ষমতা দেখতে পাওয়া যায় তবে এএমডি গ্রাফিক্স কার্ড গুলোতে পারফর্মেন্স বাড়ানোর জন্য বেশি কোর লাগানো থাকে। এনভিডিয়ার হাই এন্ড গ্রাফিক্স কার্ড গুলোতে ৬৮ কোর পর্যন্ত থাকে যেখানে এএমডির কার্ডে ~১,৫০০ কোর থাকে।
মোবাইল ফোনের গ্রাফিক্স প্রসেসিং ইউনিট নিয়ে আরেকটি আর্টিকেলে বিস্তারিত আলোচনা করেছি, পড়তে পারেন।

এপিইউ

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

শেষ কথা

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

0 comments: