কম্পিউটার

কিভাবে একটি CPU কাজ করে?

CPU, মাইক্রোপ্রসেসর নামেও পরিচিত একটি কম্পিউটারের হৃদয় এবং/বা মস্তিষ্ক। কম্পিউটার প্রোগ্রামগুলিকে দক্ষতার সাথে লিখতে সাহায্য করার জন্য কম্পিউটারের মূলে গভীরভাবে ডুব দিতে দিন৷

"একটি টুল সাধারণত একটি মেশিনের চেয়ে সহজ; এটি সাধারণত হাত দিয়ে ব্যবহার করা হয়, যখন একটি মেশিন প্রায়শই প্রাণী বা বাষ্প শক্তি দ্বারা সরানো হয়।"

চার্লস ব্যাবেজ

একটি কম্পিউটার একটি মেশিন বেশিরভাগই বিদ্যুৎ দ্বারা চালিত কিন্তু এর নমনীয়তা এবং প্রোগ্রামযোগ্যতা একটি টুলের সরলতা অর্জনে সাহায্য করেছে।

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

একটি প্রসেসরের দুটি প্রধান উপাদান

  • নিয়ন্ত্রণ ইউনিট——CU
  • পাটিগণিত ও যৌক্তিক একক— SALU

নিয়ন্ত্রণ ইউনিট — CU

কন্ট্রোল ইউনিট CU হল CPU-এর একটি অংশ যা নির্দেশাবলী কার্যকর করতে সাহায্য করে। এটা কি করতে হবে তা বলে। নির্দেশ অনুসারে, এটি ALU সহ কম্পিউটারের বিভিন্ন অংশে CPU-কে সংযোগকারী তারগুলিকে সক্রিয় করতে সাহায্য করে। . কন্ট্রোল ইউনিট হল CPU-এর প্রথম উপাদান যা প্রক্রিয়াকরণের নির্দেশনা পায়।

দুই ধরনের কন্ট্রোল ইউনিট আছে:

  • হার্ডওয়্যারড কন্ট্রোল ইউনিট .
  • মাইক্রোপ্রোগ্রামেবল (মাইক্রোপ্রোগ্রামড) কন্ট্রোল ইউনিট .

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

পাটিগণিত এবং যৌক্তিক একক

পাটিগণিত এবং যৌক্তিক ইউনিট ALU নাম অনুসারে সমস্ত পাটিগণিত এবং লজিক্যাল গণনা করে। ALU যোগ, বিয়োগের মত কাজ করে। ALU লজিক সার্কিট্রি বা লজিক গেট নিয়ে গঠিত যা এই ক্রিয়াকলাপগুলি সম্পাদন করে৷

বেশিরভাগ লজিক গেট দুটি ইনপুট নেয় এবং একটি আউটপুট তৈরি করে

বেলো হল হাফ অ্যাডার সার্কিটের একটি উদাহরণ যা দুটি ইনপুট নেয় এবং ফলাফল আউটপুট করে। এখানে A এবং B হল ইনপুট, S হল আউটপুট এবং C হল বহন।

কিভাবে একটি CPU কাজ করে?
অর্ধেক উৎস:https://en.wikipedia.org/wiki/Adder_(electronics)# /media/ফাইল:Half_Adder.svg

সঞ্চয়স্থান—‘রেজিস্টার এবং মেমরি

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

রেজিস্টার

রেজিস্টার হল একটি ছোট জায়গা যেখানে ডেটা সংরক্ষণ করা যায়। একটি রেজিস্টার হল ল্যাচের সংমিশ্রণ . ল্যাচগুলি flip-flops নামেও পরিচিত লজিক গেটস এর সমন্বয় যা 1 বিট তথ্য সঞ্চয় করে।

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

কিভাবে একটি CPU কাজ করে?
একটি SR ল্যাচ, ক্রস-কাপল্ড NOR গেটগুলির একটি জোড়া থেকে নির্মিত

সিপিইউতে আউটপুটের ডেটা সংরক্ষণের জন্য নিবন্ধন রয়েছে। প্রধান মেমরিতে (RAM) পাঠানো ধীর হবে কারণ এটি মধ্যবর্তী ডেটা। এই ডেটা অন্য রেজিস্টারে পাঠানো হয় যা একটি BUS দ্বারা সংযুক্ত . একটি রেজিস্টার নির্দেশ, আউটপুট ডেটা, স্টোরেজ ঠিকানা বা যেকোনো ধরনের ডেটা সংরক্ষণ করতে পারে।

মেমরি(RAM)

রাম হল রেজিস্টারের একটি সংগ্রহ যা একত্রে সাজানো এবং সংক্ষিপ্তভাবে একটি অপ্টিমাইজড উপায়ে যাতে এটি অধিক সংখ্যক ডেটা সঞ্চয় করতে পারে। RAM (র্যান্ডম অ্যাক্সেস মেমরি) উদ্বায়ী এবং আমরা পাওয়ার বন্ধ করলে এটির ডেটা হারিয়ে যায়। যেহেতু RAM হল ডেটা পড়ার/লিখতে রেজিস্টারের একটি সংগ্রহ একটি RAM 8 বিট ঠিকানার ইনপুট নেয়, প্রকৃত ডেটা সংরক্ষণ করার জন্য ডেটা ইনপুট নেয় এবং অবশেষে রিড এবং রাইট সক্ষমকারী যা ল্যাচগুলির মতো কাজ করে৷

নির্দেশ কি

নির্দেশ হল দানাদার স্তরের গণনা যা একটি কম্পিউটার সম্পাদন করতে পারে। একটি CPU প্রক্রিয়া করতে পারে এমন বিভিন্ন ধরনের নির্দেশ রয়েছে৷

নির্দেশাবলী অন্তর্ভুক্ত:

  • পাটিগণিত যেমন যোগ করুন এবং বিয়োগ করুন
  • যুক্তি নির্দেশাবলী যেমন এবং , বা , এবং না
  • ডেটা নির্দেশাবলী যেমন সরানো , ইনপুট , আউটপুট , লোড , এবং স্টোর
  • নিয়ন্ত্রণ প্রবাহ নির্দেশাবলী যেমন goto , যদি … যান , কল করুন , এবং রিটার্ন
  • সিপিইউকে জানান যে প্রোগ্রামটি শেষ হয়ে গেছে হল্ট

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

এই নির্দেশাবলী CPU-এর ভিতরে হার্ডওয়্যারযুক্ত। ALU তে পাটিগণিত এবং যৌক্তিক থাকে যেখানে নিয়ন্ত্রণ প্রবাহ CU দ্বারা পরিচালিত হয়।

একটি ঘড়ি চক্রে কম্পিউটার একটি নির্দেশনা সঞ্চালন করতে পারে কিন্তু আধুনিক কম্পিউটার একাধিক কাজ করতে পারে৷

নির্দেশাবলীর একটি গ্রুপ যা একটি কম্পিউটার সম্পাদন করতে পারে একটি নির্দেশ সেট বলা হয় .

CPU ঘড়ি

ঘড়ি চক্র

একটি কম্পিউটারের গতি তার ঘড়ি চক্র দ্বারা নির্ধারিত হয়। এটি ঘড়ির সময়কালের সংখ্যা প্রতি সেকেন্ডে একটি কম্পিউটার কাজ করে। একটি একক ঘড়ি চক্র খুব ছোট যেমন প্রায় 250 * 10 *-12 সেকেন্ড। প্রসেসরের ঘড়ির চক্র দ্রুততর।

CPU ক্লক সাইকেল পরিমাপ করা হয় গিগাহার্টজ(গিগাহার্টজ ) 1gHz সমান 10 ⁹ Hz(হার্টজ ) হার্টজ মানে একটি সেকেন্ড। সুতরাং 1 গিগাহার্টজ মানে প্রতি সেকেন্ডে 10 ⁹ চক্র।

ঘড়ির চক্র যত দ্রুত হবে, CPU তত বেশি নির্দেশনা চালাতে পারেন। ঘড়ি চক্র =1/ঘড়ির হার CPU সময় =ঘড়ি চক্রের সংখ্যা / ঘড়ির হার

এর মানে হল CPU সময় উন্নত করার জন্য আমরা CPU-তে যে নির্দেশনা প্রদান করি তা অপ্টিমাইজ করে আমরা ঘড়ির হার বাড়াতে বা ঘড়ি চক্রের সংখ্যা কমাতে পারি। কিছু প্রসেসর ঘড়ির চক্র বাড়ানোর ক্ষমতা প্রদান করে কিন্তু যেহেতু এটি শারীরিক পরিবর্তনের কারণে অতিরিক্ত গরম হতে পারে এমনকি ধোঁয়া/আগুনও হতে পারে।

কীভাবে একটি নির্দেশ কার্যকর করা হয়

নির্দেশাবলী RAM এ সংরক্ষণ করা হয় একটি ক্রমিক ক্রমে। একটি অনুমানমূলক CPU নির্দেশের জন্য OP গঠিত কোড(অপারেশনাল কোড) এবং মেমরি বা রেজিস্টার ঠিকানা .

একটি কন্ট্রোল ইউনিটের ভিতরে দুটি রেজিস্টার আছে নির্দেশনা রেজিস্টার (IR) যা নির্দেশের ওপি কোড এবং নির্দেশনা ঠিকানা রেজিস্টার লোড করে যা বর্তমান কার্যকরী নির্দেশের ঠিকানা লোড করে। একটি CPU-এর ভিতরে অন্যান্য রেজিস্টার রয়েছে যা একটি নির্দেশের শেষ 4 বিটের ঠিকানায় সংরক্ষিত মান সংরক্ষণ করে।

আসুন নির্দেশের একটি সেটের উদাহরণ নেওয়া যাক যা দুটি সংখ্যা যোগ করে। নীচের বিবরণ সহ নির্দেশাবলী রয়েছে:

ধাপ 1—LOAD_A 8:

নির্দেশনাটি প্রাথমিকভাবে RAM-তে সংরক্ষিত হয় যেমন ধরা যাক <1100 1000>। প্রথম 4 বিট হল অপ কোড। এটি নির্দেশনা নির্ধারণ করে। এই নির্দেশটি আনানো হয়েছে IR -এ কন্ট্রোল ইউনিটের। নির্দেশটি হল ডিকোড to be load_A যার অর্থ 1000 ঠিকানায় ডেটা লোড করতে হবে যা A নিবন্ধনের নির্দেশের শেষ 4 বিট।

ধাপ 2—LOAD_B 2

উপরের মতই মেমরি অ্যাড্রেস 2 (0010) এর ডেটা CPU রেজিস্টার B-তে লোড করে।

ধাপ 3 —আড্ড বি এ

এখন পরবর্তী নির্দেশ এই দুটি সংখ্যা যোগ করা হয়. এখানে CU ALU কে অ্যাড অপারেশন করতে বলে এবং রেজিস্টার A.

করার জন্য ফলাফলটি সংরক্ষণ করতে বলে

ধাপ 4—STORE_A 23

এটি নির্দেশের একটি খুব সাধারণ সেট যা দুটি সংখ্যা যোগ করতে সাহায্য করে।

আমরা সফলভাবে দুটি সংখ্যা যোগ করেছি!

BUS

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

কিভাবে একটি CPU কাজ করে?
ফটো src:https://en.wikipedia.org/wiki/Bus_(computing)# /media/ফাইল:Computer_system_bus.svg

ক্যাশে

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

ক্যাশে এবং অপারেটিং মেমরির ডেটা আলাদা হলে ডেটাটিকে নোংরা বিট হিসাবে চিহ্নিত করা হয় .

নির্দেশনা পাইপলাইনিং

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

কিভাবে একটি CPU কাজ করে?
ফটো উৎস:https://en.wikipedia.org/wiki/Instruction_pipelining#/media/ ফাইল:পাইপলাইন,_4_stage.svg

এটি একটি সমস্যা আছে যখন একটি নির্দেশ অন্যের উপর নির্ভরশীল। তাই প্রসেসররা নির্দেশনা কার্যকর করে যা নির্ভরশীল নয় এবং ভিন্ন ক্রমে।

মাল্টি কোর কম্পিউটার

এটি মূলত আলাদা সিপিইউ কিন্তু ক্যাশের মত কিছু শেয়ার্ড রিসোর্স আছে।

পারফরম্যান্স

সিপিইউ-এর কার্যক্ষমতা নির্ণয় করা হয় এটি কার্যকর করার সময় দ্বারা। পারফরম্যান্স =1/সম্পাদনার সময়

ধরা যাক একটি প্রোগ্রাম চালানোর জন্য 20ms লাগে। CPU-এর কর্মক্ষমতা হল 1/20 =0.05ms আপেক্ষিক কর্মক্ষমতা =এক্সিকিউশন টাইম 1/ এক্সিকিউশন টাইম 2

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

বিগ হে স্বরলিপি প্রদত্ত ইনপুট দিয়ে নির্ধারণ করে কিভাবে কর্মক্ষমতা প্রভাবিত হবে।

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

এছাড়াও মিলাপ নিউপনে ব্লগে পোস্ট করা হয়েছে:কিভাবে একটি CPU কাজ করে


No
  1. মাইক্রোসফ্ট টিম কি এবং এটি কিভাবে কাজ করে?

  2. মেশ মেসেজিং কি এবং এটি কিভাবে কাজ করে?

  3. কিভাবে ডেটা স্ক্র্যাপিং কাজ করে?

  4. কিভাবে Snapchat কাজ করে?