চেণ্ট্ৰেল প্ৰচেছিং ইউনিট

**চেণ্ট্ৰেল প্ৰচেছিং ইউনিট** (**CPU**), যাক **চেণ্ট্ৰেল প্ৰচেছৰ**, **মূল প্ৰচেছৰ**, বা কেৱল **প্ৰচেছৰ** বোলা হয়, এটা কম্পিউটাৰত থকা মুখ্য প্ৰচেছৰ। ইয়াৰ ইলেক্ট্ৰনিক চৰ্কিটই কম্পিউটাৰ প্ৰগ্ৰামৰ নিৰ্দেশসমূহ—যেনে গাণিতিক কাৰ্য, যুক্তি, নিয়ন্ত্ৰণ, আৰু ইনপুট/আউটপুট (I/O) কাৰ্য—সম্পাদন কৰে। এই ভূমিকাখন মূল মেমৰি, I/O চৰ্কিটৰ লগতে গ্ৰাফিক্‌ছ প্ৰচেছিং ইউনিট (GPU) আদি বিশেষীকৃত সহ-প্ৰচেছৰসমূহৰ পৰা পৃথক। 

CPU-ৰ ৰূপ, নক্সা আৰু কাৰ্যন্বয়ন সময়ৰ লগে লগে সলনি হৈছে, যদিও ইয়াৰ মৌলিক কাৰ্যপদ্ধতি প্ৰায় একে হৈ আছে। CPU-ৰ মুখ্য অংশসমূহ হল: গাণিতিক-যুক্তিগত একক (ALU), যি গাণিতিক আৰু যুক্তিগত কাৰ্য সম্পাদন কৰে; প্ৰচেছৰ ৰেজিষ্টাৰসমূহ, যি ALU-লৈ ডেটা যোগান দিয়ে আৰু ফলাফল সংৰক্ষণ কৰে; আৰু এখন নিয়ন্ত্ৰণ একক, যি ALU, ৰেজিষ্টাৰ আৰু অন্যান্য অংশৰ সমন্বয় সাধন কৰি স্মৃতিৰ পৰা আনোতা, বিশ্লেষণ, আৰু সম্পাদনৰ কাৰ্য পূৰ্ণ কৰে। আধুনিক CPU-সমূহত কেছ স্মৃতি আৰু নিৰ্দেশ-স্তৰ সমান্তৰালতা (instruction-level parallelism) অধিক ফলপ্ৰসূতা বিচাৰিবলৈ বেছি স্থান দিয়া হয়। 

সৰ্বাধিক আধুনিক CPU-সমূহ ইণ্টেগ্ৰেটেড চাৰ্কিট (IC) ৰূপে মাইক্ৰ'প্ৰচেছৰ হিচাপে নিৰ্মাণ কৰা হয়, য’ত একেটা IC চিপত এক বা ততোধিক CPU থাকিব পাৰে। এনে চিপবোৰক **[[মাল্টি-ক’ৰ প্ৰচেছৰ]]** বোলা হয়। এই পৃথক CPU-বোৰক ***প্ৰচেছৰ ক’ৰ*** বোলা হয়, যিবোৰে মাল্টিথ্ৰেডিং সমৰ্থন কৰিব পাৰে।

এটা IC-ত CPUৰ উপৰিও কম্পিউটাৰ মেমৰি, পেৰিফেৰেল ইণ্টাৰফেছ আৰু অন্যান্য উপাদান থাকিব পাৰে, আৰু এনে একত্ৰিত উপকৰণবোৰক বিভিন্নভাবে মাইক্ৰ'কণ্ট্ৰ'লাৰ বা চিপত এক ব্যৱস্থা (system on a chip, SoC) বুলি কোৱা হয়।

## ইতিহাস
**চেণ্ট্ৰেল প্ৰচেছিং ইউনিট (CPU)**ৰ উত্পত্তি 1940 আৰু 1950 দশকৰ আৰম্ভণিতে হোৱা প্ৰথম ইলেক্ট্ৰনিক কম্পিউটাৰসমূহৰ লগত হৈছিল। তেতিয়াৰ CPUবোৰ সাধাৰণতে একাধিক পৃথক অংশৰ সংমিশ্ৰণ আছিল, যি বিশাল মেচিনৰ ৰূপত আছিল। সময়ৰ সৈতে, ইণ্টেগ্ৰেটেড চাৰ্কিট (IC)ৰ বিকাশে CPUক একক মাইক্ৰোচিপত সংহত কৰিব দিলে, যাক আজিকালি **মাইক্ৰ'প্ৰচেছৰ** (microprocessor) বোলা হয়। এই পৰিৱৰ্তনে কম্পিউটাৰৰ আকাৰ হ্ৰাস কৰাৰ লগতে ব্যৱহাৰ বৃদ্ধি কৰিছিল।

## কাৰ্যপদ্ধতি
CPUয়ে কম্পিউটাৰৰ মগজুৰ দৰে কাম কৰে। ই প্ৰগ্ৰামৰ নিৰ্দেশনাবোৰ সংগ্ৰহ কৰে (fetch), সেইবোৰ ব্যাখ্যা কৰে (decode), আৰু তাৰ পিছত প্ৰয়োজনীয় কাৰ্য সম্পাদন কৰে (execute)। এই তিনিটা পৰ্যায়ৰ পুনৰাবৃত্তিতেই CPUয়ে কাজ কৰে। আধুনিক CPUবোৰে একাধিক নিৰ্দেশ একে সময়তে প্ৰক্ৰিয়াকৰণ কৰিব পাৰে, যাক **পাইপলাইনিং** (pipelining) বা **মাল্টিকোৰ প্ৰচেছিং** বুলি কোৱা হয়।

## গঠন আৰু কাৰ্যায়ন
CPUৰ ভিতৰত মূলকৈ তিনিটা অংশ থাকে:
* অৰিথমেটিক-লজিক ইউনিট (ALU): গণনা আৰু যুক্তিতত্ত্বমূলক কাৰ্য সম্পাদন কৰে। 
* নিয়ন্ত্ৰণ একক (Control Unit): নিৰ্দেশনাবোৰ ব্যাখ্যা কৰি CPUৰ বিভিন্ন অংশ নিয়ন্ত্ৰণ কৰে। 
* পঞ্জী (Registers): ক্ষণস্থায়ী তথ্য সংৰক্ষণৰ বাবে ব্যৱহৃত উচ্চ-গতিৰ মেম’ৰি। 

আধুনিক CPUবোৰত একাধিক কোৰ (cores), কেচে মেম'ৰি (cache memory), আৰু ব্ৰাঞ্চ প্ৰেডিকশন (branch prediction) আৰু আউট-অফ-অ’ৰ্ডাৰ এক্সিকিউশ্যন (out-of-order execution)ৰ দৰে উন্নত কাৰ্যপদ্ধতি থাকে, যি প্ৰদৰ্শন উন্নত কৰে।

## বিশেষাধিকাৰ প্ৰণালী
অধিকাংশ আধুনিক CPU-ত **বিশেষাধিকাৰ প্ৰণালী** (privileged modes) থাকে, যাৰ জৰিয়তে অপাৰেটিং ছিষ্টেম আৰু ভাৰ্চুৱেলাইজেচন সমৰ্থন হয়। 

ক্লাউড কম্পিউটিংত, ভাৰ্চুৱেলাইজেচনৰ সহায়ত ব্যৱহাৰকাৰীভাগলৈ পৃথক **ভাৰ্চুৱেল চেণ্ট্ৰেল প্ৰচেছিং ইউনিট** (vCPU) নিৰ্ধাৰণ কৰা হয়।

ভাৰ্চুৱেল পৰিবেশত যি কম্পিউটাৰ ব্যৱস্থা চলি থাকে, সেইটো **হোষ্ট** (host) নামেৰে জনা যায়। একাধিক বাস্তৱিক (physical) মেচিন একেলগে কাম কৰি এটা ক্লাষ্টাৰ গঠন কৰিব পাৰে। এই ক্লাষ্টাৰৰ সম্পদসমূহ ক্ষুদ্ৰ ভাগত বিভক্ত কৰি **resource pool** ৰূপে ব্যৱহাৰ কৰিব পাৰি।

## কাৰ্যক্ষমতা
এখন প্ৰচেছৰৰ *কাৰ্যক্ষমতা* বা *গতি* বহুতো কাৰকৰ ওপৰত নিৰ্ভৰ কৰে। ইয়াত মুখ্য হৈছে ক্লক ৰেট (সাধাৰণতে হাৰ্জত মাপা হয়) আৰু ইনষ্ট্ৰাকশ্যন্‌ছ্ পৰ ক্লক (IPC)। এই দুয়োটাই মিলে ইনষ্ট্ৰাকশ্যন্‌ছ্ প্ৰতি ছেকেণ্ড (IPS) গঠন কৰে, যি CPU এ প্ৰতি ছেকেণ্ডত সম্পাদন কৰিব পাৰে।

যি IPS মানবোৰ প্ৰদৰ্শন কৰা হয়, সেয়া সাধাৰণতে একেদৰে চলা, শাখাহীন ইনষ্ট্ৰাকশ্যনৰ কৃত্ৰিম ধাৰাবাহিকত প্ৰাপ্ত "সৰ্বোচ্চ" গতিৰ প্ৰতিনিধিত্ব কৰে। কিন্তু বাস্তৱিক কামত ইনষ্ট্ৰাকশ্যনৰ মিশ্ৰণ থাকে, যাৰ কিছুমান অধিক সময় লয়। মেমোৰি হায়াৰাৰ্কিৰ কাৰ্যক্ষমতাও CPU-ৰ গতিৰ ওপৰত গভীৰভাৱে প্ৰভাৱ পেলায়, যাক IPS হিচাপত প্ৰায় ধৰা নহয়। এই সমস্যাসমূহৰ বাবে, বিভিন্ন প্ৰমাত্ৰা-পৰীক্ষণ (বেঞ্চমাৰ্ক) উদ্ভাৱন কৰা হৈছে, যেনে SPECint, যিয়ে সাধাৰণ কাম-কাজত বাস্তৱিক কাৰ্যক্ষমতা পৰিমাপ কৰিবলৈ চেষ্টা কৰে। 

কম্পিউটাৰৰ প্ৰচেছিং গতি মাল্টি-কোৰ প্ৰচেছৰ ব্যৱহাৰ কৰি বঢ়োৱা হয়, য’ত একেলগে বহুতো কোৰ (স্বতন্ত্ৰ প্ৰচেছৰ) এটা একক চিপত সংযুক্ত থাকে। আদৰ্শভাৱে এটা ডুয়েল-কোৰ প্ৰচেছৰ এটা ছিঙ্গল-কোৰ প্ৰচেছৰৰ দ্বিগুণ শক্তিশালী হ’ব লাগে। কিন্তু বাস্তৱত এইটো প্ৰায় ৫০% গতি বঢ়াই, কাৰণ চফ্টৱেৰ আৰু বাস্তবায়নত কিছু সীমাবদ্ধতা থাকে।

কোৰৰ সংখ্যা বৃদ্ধি কৰোঁতে CPU-এ অধিক কাম একেলগে কৰিব পাৰে। এইবোৰ এক processing plant-ৰ বিভিন্ন মজলা হিচাপে কল্পনা কৰিব পাৰি, য’ত প্ৰতিটো মজলাই একেটা কাম বা ভিন্ন কাম কৰে। কেতিয়াবা এটা কোৰ যথেষ্ট নোহোৱাকৈ কাষৰীয়া কোৰেও সহায় কৰে। মাল্টি-কোৰ CPU-এ একে সময়তে বহুতো কাম কৰিবলৈ অধিক ক্ষমতা দিয়ে। যদিও, গতি বৃদ্ধিৰ হাৰ কোৰৰ সংখ্যাৰ লগত সিদিনা সঁচাকৈ নান্দে, কাৰণ এই কোৰবোৰৰ মাজত সমন্বয়ৰ বাবে কিছু অংশ CPU ৰ দখল লয়।

আধুনিক CPU-ৰ বিশেষ ক্ষমতা যেনে simultaneous multithreading আৰু uncore প্ৰযুক্তিৰে CPU ৰ বিভিন্ন অংশ ভাগ কৰি অধিক ব্যৱহাৰ নিশ্চিত কৰা হয়। এইবোৰ পৰ্যবেক্ষণ কঠিন হৈ পৰে, সেইবাবে কিছু CPU-ত বিশেষ পাৰফৰ্মেন্স কাউণ্টাৰ যুক্ত কৰা হয় যিয়ে ব্যৱহাৰ অৱস্থা চফ্টৱেৰক উপলব্ধ কৰে। উদাহৰণস্বৰূপে Intel ৰ ‘Performance Counter Monitor’ প্ৰযুক্তি উল্লেখযোগ্য।

## ওভাৰক্লকিং

ওভাৰক্লকিং হৈছে CPU (আৰু অন্যান্য উপাদান)-ৰ ঘড়ীৰ গতি বৃদ্ধি কৰি তাৰ কাৰ্যক্ষমতা বঢ়োৱাৰ এক প্ৰক্ৰিয়া। এইটো কৰাৰ ফলত CPU ৰ তাপমাত্ৰা বৃদ্ধি পায় আৰু কেতিয়াবা অতি উত্তপ্ত হোৱাৰ সম্ভাৱনা থাকে, সেয়া পৰিহাৰ কৰিবলৈ অধিকাংশ ব্যৱহাৰকাৰীয়ে ঘড়ীৰ গতি মূল অৱস্থাতেই ৰাখে। কিছুমান উপাদানৰ সংস্কৰণ (যেনে Intel ৰ U সংস্কৰণৰ CPU বা Nvidia ৰ OG GPU) ত ওভাৰক্লকিংৰ অনুমতি নাথাকে।

## তথ্যসূত্ৰ

শ্ৰেণী:বিজ্ঞান
শ্ৰেণী:প্ৰযুক্তি