প্রযুক্তি নিয়ে জানি

প্রসেসর কিভাবে কাজ করে

July 25, 2018

প্রসেসর কিভাবে কাজ করে

প্রসেসর বা সিপিউ কি?

CPU বা সেন্ট্রাল প্রসেসিং ইউনিটকে বলা হয় কম্পিউটারের মস্তিষ্ক। এর মানে হলও একটি কম্পিউটারের যাবতীয় নিয়ন্ত্রণের কাজ সম্পন্ন করা হয় এই সেন্ট্রাল প্রসেসিং ইউনিট থেকে। একটি কম্পিউটারের সকল প্রকারের কাজ সম্পন্ন এবং পরিচালনা করা হয় প্রসেসরের মাধ্যমে। আজ আমরা জানব কম্পিউটার প্রসেসর কিভাবে কাজ করে। প্রসেসর কিভাবে কাজ করে জানতে পারলে সম্পূর্ণ কম্পিউটার কিভাবে কাজ করে আপনি সেটিও বুঝতে পারবেন।

কম্পিউটার প্রসেসর বা CPU এর প্রত্যেকটি কাজ নিয়ন্ত্রণ করার আলাদা পদ্ধতি আছে। তার মানে কম্পিউটারে ইনপুট দেয়া প্রত্যেকটি ইন্সট্রাকশনকে CPU আলাদা ভাবে নিয়ন্ত্রণ এবং সম্পন্ন করে থাকে। একে বলা হয় ISA বা ইন্সট্রাকশন সেট আর্কিটেকচার। সব ধরনের CPU তে সকল কাজকে নিয়ন্ত্রণের জন্য ISA ব্যাবহার করা হয়। পুরনো এবং নতুন মডেলের অনেক কম্পিউটার প্রসেসরে বিভিন্ন রকমের ইন্সট্রাকশন সেট আর্কিটেকচার ব্যবহার করা হয়েছে, এর মধ্যে Harvard এবং von neu mann CPU আর্কিটেকচার অন্যতম । এদের রয়েছে আলাদা বৈশিষ্ট্য এবং কাজ করার ধরণ।

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

ফিজিক্যাল স্পেস সেপারেশনের কাজটি করা হয় হারভার্ড আর্কিটেকচারে। কিন্তু আধুনিক কম্পিউটারের সিপিউতে (বর্তমান) von neu mann আর্কিটেকচার ব্যবহার করা হয়, কারণ এই আর্কিটেকচারে আলাদা ভাবে কোন ইন্সট্রাকশন সেট এবং ডেটা কোডের জন্য ফিজিকাল স্পেস করা হয় না। অন্য মেকানিজম ব্যবহার করে ইন্সট্রাকশন সেট, ডেটা এবং প্রোগ্রাম কোডকে আলাদা করা হয়, এতে করে সিপিউর সাইজ ছোটসহ গতি বৃদ্ধি এবং অন্যান্য সুযোগ সুবিধা পাওয়া যায়।

বর্তমানের সকল আধুনিক কম্পিউটার প্রসেসরে von neu mann আর্কিটেকচার ব্যবহার করা হয়, তাই আমরা আজ এই von neu mann সিপিউ আর্কিটেকচার সম্পর্কেই জানবো।

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

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

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

আমরা জানলাম যে যত বেশি ক্লক স্পীড তত বেশি প্রসেসরটি ক্ষমতা সম্পন্ন। প্রসেসরের এই ক্লক স্পীডের ক্ষমতাকে পরিমাপ করা হয় মেগাহার্জ এবং গিগাহার্জ দ্বারা। ১ মেগাহার্জ মানে প্রসেসর ১ সেকেন্ডের ১ মিলিয়ন ভাগ সময়ে একটি ক্যালকুলেশন সম্পন্ন করতে পারে এবং ১ গিগাহার্জ মানে ১ সেকেন্ডের ১ বিলিয়ন ভাগ সময়ে একটি ক্যালকুলেশন সম্পন্ন করতে পারে।

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

কখনো কি আপনার মনে প্রশ্ন জেগেছে যে কম্পিউটার কিভাবে শুধু এই ০ আর ১ দ্বারা কাজ করে থাকে? কম্পিউটার কিভাবেই বা এই ০ আর ১ কে চিনতে পারে? রহস্যটা সম্পর্কে আমরা জানবো পরবর্তী কোন ব্লগে। আর সে জন্য আমাদের সাথে থাকতে হবে।

যখন কোনও প্রোগ্রাম বা অ্যাপ্লিকেশান দ্বারা ইউজার ইন্সট্রাকশন দিয়ে থাকে তখন প্রসেসর সেই ইন্সট্রাকশনকে র‍্যাম বা র‍্যান্ডম এক্সেস ম্যামরিতে পাঠায়। র‍্যাম তখন সেই ইন্সট্রাকশন দ্বারা স্টোরেজ ডিভাইস থেকে তথ্য নিয়ে পুনরায় প্রসেসরে পাঠায় ইন্সট্রাকশনকে প্রসেস এবং এক্সিকিউট করার জন্য। CPU এরপর ইন্সট্রাকশন অনুযায়ী র‍্যামের দেয়া ডেটা এবং কাজগুলোকে আবার পড়তে শুরু করে এবং ক্যালকুলেশন করতে থাকে পুনরায় একই ইন্সট্রাকশনকে র‍্যামের কাছে পাঠানোর পূর্বে।

CPU‌ যেসব ইন্সট্রাকশনকে সম্পন্ন করে আউটপুট আকারে ইউজারকে দেখানোর পূর্বে, ইন্সট্রাকশন সম্পূর্ণ সিস্টেম বাসকে অনুসরণ করে যেতে পারে তা নিশ্চিত করে। সিস্টেম বাস হলো একটি বাস বা পরিবহন যার কাজ সব ইন্সট্রাকশনকে কম্পিউটার সিস্টেমের সকল কম্পোনেন্টের মধ্য দিয়ে পরিবহন করে নিয়ে যাওয়া। প্রত্যেকটি ইন্সট্রাকশন এবং তার আউটপুট যাতে সঠিক নির্দেশনা অনুযায়ী সিস্টেম বাসকে অনুসরণ করে যায় সিপিউ সেটি নিশ্চিত করে।

কম্পোনেন্টস

একটি CPU এর দুইটি মূল অংশ রয়েছে।

  • লজিক ইউনিট বা (Arithmetic Logic Unit)
  • কন্ট্রোল ইউনিট

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

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

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

আবার মোবাইল বা ট্যাবলেট পিসির প্রসেসর গুলো অনেক ক্ষুদ্র আর কমপ্যাক্ট হয়। যেখানে গ্রাফিক্স প্রসেসিং ইউনিট, র‍্যাম আর প্রসেসর সব একসাথে একটি ছোট চিপের মধ্যে লাগানো থাকে। একে বলা হয় SoC বা, System On a Chip। সার্কিট বোর্ড বা মাদারবোর্ডের জায়গা বাঁচানোর জন্য মূলত এটি করা হয়। ডেস্কটপ এবং ল্যাপটপ কম্পিউটারের ক্ষেত্রে যা সব আলাদা আলাদা অবস্থানে থাকে। যা আপনি চাইলে আলাদা ভাবে খুলতে এবং লাগাতে পারবেন।

এবার ফিরে আসা যাক কন্ট্রোল ইউনিট ও লজিক ইউনিটে

কন্ট্রোল ইউনিটেই মূলত একটি সিপিউের সকল অপারেশন বা কাজ নিয়ন্ত্রণ করে। CU (কন্ট্রোল ইউনিট) কম্পিউটারের সব কম্পোনেন্টসকে প্রোগ্রাম ইন্সট্রাকশন অনুযায়ী কাজ করতে নিজে কমান্ড করতে থাকে। কম্পিউটার প্রোগ্রাম সফটওয়্যার বা অ্যাপ্লিকেশান যা স্টোরেজ ডিভাইসে ইন্সটল করা থাকে। ইন্সট্রাকশনের সাথে সাথে তা র‍্যামে লোড হয়ে যায়। এখানে ইন্সট্রাকশন মানে হলো আমরা যখন কোন সফটওয়্যারকে ওপেন করি।

র‍্যাম হলো একটি প্রাইমারী মেমোরি বা প্রাইমারী স্টোরেজ ডিভাইস। কোনও প্রোগ্রামই প্রাইমারী মেমোরি তে প্রবেশ করা ছাড়া ইন্সট্রাকশন এক্সিকিউট করা বা চলতে পারবে না। সিপিউ এর কন্ট্রোল ইউনিট একটি কম্পিউটার সিস্টেমের প্রোগ্রামের সকল ইন্সট্রাকশনকে কিভাবে ইলেকট্রিক সিগন্যাল ব্যবহার করে এক্সিকিউট করতে হবে তার নির্দেশনা দেয়। CU ও ALU র‍্যামের সাথে সংযোগ করে ইন্সট্রাকশনকে প্রসেস করে।

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

লজিক ইউনিট বা যাকে আমরা ALU বলেছি এটা সিপিউর মধ্যের একটি ডিজিটাল ইলেক্ট্রনিক সার্কিট। সিপিউর মূল অংশ যেখানে লজিক অপারেশন করা যায়। ALU পূর্ণসংখ্যা বা ইনটিজার নাম্বার ক্যালকুলেশন আর বিট-ওয়াইজ লজিকাল অপারেশন বা বাইনারি নাম্বারের লজিকাল অপারেশন করে থাকে। ALU যোগ, বিয়োগ, শিফট অপারেশন, বুলিয়ান অপারেশন যেমন AND, OR, XOR, NOT করে থাকে। এগুলো করা হয় লজিক গেট অনুসারে।

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

রেজিস্টার

এবার আমরা জানব প্রসেসরের ভিতরের আরো কিছু অংশের সম্পর্কে। প্রথমেই রেজিস্টার। রেজিস্টার হলো প্রসেসর চিপের ভিতরের লোকাল স্টোরেজ। সিপিউ সার্কিটের আলাদা আলাদা কাজের জন্য অথবা সাধারণ সকল কাজের জন্য অনেকগুলো রেজিস্টার বসানো থাকে। এগুলো অনেকটা প্রসেসরের ফিজিক্যাল স্টোরেজের মতন কাজ করে। প্রসেসরের রেজিস্টার অত্যন্ত দ্রুত গতি সম্পন্ন on-chip memory storing device.

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

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

ডেটা সমূহ রেজিস্টার bit sequence অথবা, character আকারে রেজিস্টারে স্টোর করে থাকে। বিভিন্ন কাজের সুবিধার জন্য বিভিন্ন রকমের রেজিস্টার ব্যবহার করা হয়। এর মধ্যে সবচেয়ে বেশি ব্যবহৃত রেজিস্টার গুলো হচ্ছে,

  • AC বা Accumulator
  • DR বা Data Register
  • AR বা Address Register
  • PC বা Program Counter
  • MDR বা Memory Data Register
  • IR বা Index Register
  • MBR বা Memory Buffer Register

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

সব আধুনিক কম্পিউটার বিজ্ঞানী Ven Neu Monn দ্বারা প্রদত্ত Von Neu Monn সিপিউ আর্কিটেকচারের উপর নির্ভর করে বানানো ৪ টি পর্যায়ে ইন্সট্রাকশন প্রসেস এবং এক্সিকিউট করে থাকে।

  • Operation Fetch
  • Decode
  • Execute‌
  • Write back‌

৪ টি পর্যায়ের এই প্রসেসিং প্রক্রিয়াকে বলা হয় Instruction cycle‌। প্রসেসিং এর এই প্রক্রিয়া CPU বারবার চালাতে থাকে,একটি কম্পিউটার চালু করা থেকে বন্ধ করার আগ পর্যন্ত।

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

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

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

ক্যাশ ম্যামরি

ক্যাশ মেমোরি (Cache Memory) হলো বিশেষ ধরনের মেমোরি যা একটি প্রসেসরের মধ্যে বিভিন্ন পর্যায়ে ভাগ করা থাকে। এর পরিমাণ খুবই কম। কিন্তু এর ক্ষমতা আর গতি অনেক বেশি। অনেকটা ছোট মরিচে ঝাল বেশি কথাটির মত। ক্যাশ মেমোরি সাধারণত প্রসেসরের মধ্যেই থাকে। কিন্তু বিশেষ কিছু কম্পিউটারের ক্ষেত্রে অনেক সময় এই ক্যাশ মেমোরি আলাদা থাকে যা প্রসেসরের সাথে সরাসরি সিস্টেম বাসের মাধ্যমে সংযুক্ত থাকে।

সিপিউ ক্যাশ এক ধরনের হার্ডওয়্যার ক্যাশ। মানে হলো স্টোরেজ ডিভাইসে এটি থাকে না। সিপিউ এর দ্বারাই বারবার এবং দ্রুত ব্যবহার করা হয়। ক্যাশ মেমোরি ব্যবহারের একমাত্র উদ্দেশ্য হলো সময় বাঁচানো। যত দ্রুততার সাথে ইন্সট্রাকশন এক্সিকিউট করা যায় প্রসেসর ততই বেশি কর্মক্ষম। মেইন মেমোরি লোকেশন (স্টোরেজ ডিভাইস) থেকে মেইন ডেটার লোকেশন কপি করে, তারপর সেই কপিকে বারবার ব্যবহার করার জন্যই ক্যাশ ব্যবহার করা হয়।

আধুনিক সিপিউতে আলাদা ভাবে ব্যবহার এর জন্য আলাদা পর্যায় করে ক্যাশ মেমোরি ব্যবহার করা হয়। এগুলো ইন্সট্রাকশন ক্যাশ এবং ডেটা ক্যাশ হিসেবে পরিচিত। এর মধ্যে ডেটা ক্যাশকে লেভেল নাম্বার আকারে প্রকাশ করা হয়। যেমন L1, L2, L3 বা, লেভেল 1, লেভেল 2, লেভেল 3 ক্যাশ। L1 এর থেকে L2 তে মেমোরির পরিমাণ বেশি থাকে। ঠিক তেমন করে L3 তে সবচেয়ে বেশি মেমোরি থাকে। আধুনিক এবং শক্তিশালী সিপিউ তে লেভেল ক্যাশের পরিমাণ বেশি। কিছু কিছু আধুনিক পাওয়ার-ফুল মাল্টিকোর প্রসেসরে লেভেল 4 ক্যাশও আছে।

বড় লেভেলের ক্যাশ গুলোতে (Level 4) মেমোরির পরিমাণ বেশি থাকে যাতে করে প্রসেসিং লোড বেশি পরলে বিভিন্ন কোরের মধ্যে ক্যাশকে মেমোরি ভাগ করে দেয়া যায়। এতে প্রসেসিং দ্রুত সম্পন্ন হয়। লেভেল 3 ক্যাশও এই একই কাজ করে। শুধুমাত্র মাল্টিকোর প্রসেসরের ক্ষেত্রে আলাদা করে প্রত্যেক কোরের জন্য লেভেল 2 ক্যাশ আলাদা আলাদা ভাবে বরাদ্দ থাকে। যা তারা অন্য কোনো কোরের সাথে শেয়ার করে না। এমনকি প্রসেসিং এর লোড অনেক বেশি হলেও না।

সিপিউ ক্যাশ মেমোরি হলো SRAM বা, স্ট্যাটিক র‍্যান্ডম এক্সেস মেমোরি, তাই এটি মেইন মেমোরি বা, সাধারণ র‍্যামের মেমোরি থেকেও অনেক বেশি দ্রুত হয়। একটি প্রসেসরের ক্যাশ মেমোরি যত বেশি হবে প্রসেসরটি ও তত বেশি দ্রুত গতির এবং ক্ষমতাসম্পন্ন হবে। প্রসেসরের ক্লক স্পীডের সাথে এর ক্যাশ প্রসেসিং এর ক্ষমতাও গুরুত্বপূর্ণ। যত বেশি লেভেলের এবং বেশি পরিমাণের ক্যাশ মেমোরি থাকবে প্রসেসর তত বেশি পাওয়ার-ফুল হবে।

স্টোরেজ ডিভাইস

স্টোরেজ ডিভাইস নিয়ে জানতে দেখুন
স্টোরেজ ডিভাইস কি?

মাল্টিকোর প্রসেসর

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

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

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

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

জ্ঞান চর্চা চলুক অবিরাম, প্রতিদিন

Reference

CPU architectures, Different CPU architectures

Instruction set computer, Computer architecture

Modern Computer Architecture, 64 Bit Computing

Procesor Register, Types of registers, Cache Memory

প্রযুক্তি নিয়ে আলোচনা করার জন্য রয়েছে

আমাদের কমিউনিটি

প্রযুক্তি নিয়ে আমরা আলোচনা করতে চাই সব সময়। তাই আমাদের কমিউনিটিতে আপনাদের সবাইকে আমন্ত্রণ প্রযুক্তির সকল বিষয় নিয়ে আলোচনা করার জন্য। আপনাদের যে কোন ধরনের সমস্যা, অজানা বিষয় গুলো নিয়ে আমরা আলোচনা করতে প্রস্তুত সব সময়

কমেন্ট করুন

Your email address will not be published. Required fields are marked *