কম্পিউটারে ঘড়ি ব্যবহার করা হয় কেন?


22

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


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

কম্পিউটার এবং মেশিনে ক্লক সিগন্যালের সম্ভাব্য সদৃশ , (এবং সেই প্রশ্নটি বাস্তব প্রশ্ন হিসাবে বন্ধ ছিল ...)
এমেডাস

সংকীর্ণ কাজের জন্য, অ্যানালগ কম্পিউটারগুলি ডিজিটাল কম্পিউটারগুলির চেয়ে দ্রুততর হতে পারে।
নিক আলেক্সেভ

1
তাই তারা জানেন কী সময়! (দুঃখিত, প্রতিরোধ করতে পারেনি)
স্কট সিডম্যান

উত্তর:


32

ক্লকগুলি কম্পিউটারে এই সরল কারণে ব্যবহৃত হয় যে বেশিরভাগ সার্কিটটি যদি না হয় তবে সুসংগত ক্রমিক যুক্তিযুক্ত

একটি সিঙ্ক্রোনাস সার্কিটে, একটি ঘড়ি নামক একটি বৈদ্যুতিন দোলক একটি ঘড়ি সংকেত নামে পুনরাবৃত্ত ডালগুলির ক্রম তৈরি করে যা সার্কিটের সমস্ত স্মৃতি উপাদানগুলিতে বিতরণ করা হয়।

এখন, এটি সন্তুষ্ট এবং মঞ্জুর বলে মনে হচ্ছে না, আপনি যুক্তিসঙ্গতভাবে জিজ্ঞাসা করবেন "কম্পিউটারে সিঙ্ক্রোনাস সার্কিট কেন ব্যবহৃত হয়?" তবে এটির উত্তর দেওয়াও একটি সহজ প্রশ্ন :

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

গবেষণার একটি সক্রিয় ক্ষেত্র হ'ল অ্যাসিনক্রোনাস কম্পিউটিং যেখানে বেশিরভাগ না থাকলে সার্কিটরি অ্যাসিনক্রোনাস সিক্যুয়ালিটি লজিক


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

আমি মনে করি এটি লক্ষণীয় যে জেসেক কার্পিয়স্কি দ্বারা নির্মিত একটি সম্পূর্ণ অ্যাসিনক্রোনাস কম্পিউটার ছিল যার নাম ছিল কেএআর -৫ 65। দুর্ভাগ্যক্রমে আমি এটি ইংরেজিতে কিছুই খুঁজে পাচ্ছি না।
এলমো

6

কল্পনা করুন যে আপনার কাছে একটি 8 বিট পূর্ণসংখ্যার একটি ALLU কে একটি গণনার জন্য মেমরি থেকে পাঠানো হচ্ছে এবং (কমপক্ষে এই উদাহরণের জন্য) যে মেমরি সার্কিটটি ALU প্রয়োজনীয়তার আগে এবং কিছুটা ভিন্ন সময়ে 8 ডেটা লাইনে সংকেত সরবরাহ করে।

এখানে একটি ঘড়ির ব্যবহার নিশ্চিত করবে যে 8 টি ডাটা লাইনগুলি একটি ঘড়ির চক্রের জন্য উপস্থাপিত হওয়ার জন্য সঠিক মান ধরে এবং ALU একই ঘড়ির চক্রের মধ্যে সেই ডেটা "সংগ্রহ" করবে।

আমি বুঝতে পারি যে এটি সম্ভবত সেরা বিবরণ ছিল না, মূলত ডেটা ধারাবাহিকতা নিশ্চিত করার জন্য একটি ঘড়ি না থাকলে গতিতে কোনও সম্ভাব্য বর্ধন তার চেয়ে বেশি শক্ত হয়ে উঠবে, আপনি প্রচুর রেসের শর্ত সম্পর্কিত সমস্যার সমাধান করবেন condition


6

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

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

জিনিসগুলি আরও খারাপ করার জন্য, সিপিইউর those অংশগুলি যা এটির জন্য দ্রুত চালাতে সক্ষম হবে তা কেবল তখনই সহায়ক হবে যদি তারা ধীর অংশগুলি ধরার জন্য সমস্ত সময় অপেক্ষা না করে। এটি ঘটানোর জন্য, কোনও নির্দিষ্ট মুহুর্তে মেশিনের কোন অংশটি "এগিয়ে" আছে তা সিদ্ধান্ত নেওয়ার পক্ষে যুক্তি থাকতে হবে এবং তার ভিত্তিতে কর্মের একটি কোর্স নির্বাচন করুন। দুর্ভাগ্যক্রমে, এই ধরণের সিদ্ধান্তটি ইলেকট্রনিক্সকে নির্ভরযোগ্যভাবে করা সবচেয়ে শক্ত সিদ্ধান্তগুলির মধ্যে একটি। প্রথমে যে দুটি ইভেন্টটি ঘটেছিল তা নির্ভরযোগ্যভাবে সিদ্ধান্ত নেওয়া কেবল তখনই সহজ তবে যদি কেউ গ্যারান্টি দিতে পারে যে কোনও "ঘনিষ্ঠ কল" কখনও আসবে না। মনে করুন মেমোরি সিকোয়েন্সার প্রসেসিং ইউনিট # 1 থেকে একটি অনুরোধ পরিচালনা করছে এবং ইউনিট # 1 এর পরে আর একটি অনুরোধ মুলতুবি রয়েছে। # 1 থেকে প্রথম অনুরোধটি সম্পূর্ণ হওয়ার আগে ইউনিট # 2 যদি কোনও অনুরোধ জমা দেয় তবে মেমোরি ইউনিটটিকে এটি পরিচালনা করতে হবে; অন্যথায় এটি ইউনিট # 1 এর পরবর্তী অনুরোধটি পরিচালনা করবে। এটি একটি যুক্তিসঙ্গত নকশার মতো মনে হবে তবে এটি আশ্চর্যজনকভাবে সমস্যাযুক্ত হয়ে শেষ হয়। সমস্যাটি হ'ল যদি সময়ের মধ্যে যদি কিছু মুহূর্ত থাকে যেমন সেই মুহুর্তের আগে একটি অনুরোধ পাওয়া যায় যা তাত্ক্ষণিকভাবে প্রক্রিয়াজাত করা হবে এবং তার পরে প্রাপ্ত একটি অনুরোধের জন্য অপেক্ষা করতে হবে, একটি অনুরোধের সময়সীমা পিটবে কিনা তা নির্ধারণ করার জন্য কত সময় প্রয়োজন of অনুরোধটি প্রাপ্তির সময় এবং সময়সীমার মধ্যে পার্থক্যের আনুপাতিকভাবে আনুপাতিক। মেমোরি ইউনিটের জন্য প্রয়োজনীয় সময়টি নির্ধারণ করতে যে # 2 এর অনুরোধটি একটি ফিম্পটোসেকেন্ডের দ্বারা নির্ধারিত সময়সীমাকে হারাতে পারে যা ইউনিট # 1 থেকে দ্বিতীয় অনুরোধটি করার জন্য প্রয়োজনীয় সময়টির পরিমাণের চেয়ে বেশি হতে পারে, তবে ইউনিটটি পরিষেবা দিতে পারে না হয় অনুরোধ করুন যতক্ষণ না এটি সিদ্ধান্ত নেয় যে কোনটি প্রথমে পরিষেবা দেয়।

একটি সাধারণ ঘড়ি থেকে সমস্ত কিছু চালিয়ে যাওয়া কেবল কোনও সংখ্যার আউটপুট বৈধ হয় তা নির্ধারণ করার জন্য কেবল সার্কিটরির প্রয়োজনীয়তা হ্রাস করে না, এটি সময় নির্ধারণের "ক্লোজ কলগুলি" অপসারণেরও অনুমতি দেয়। যদি সিস্টেমের সমস্ত কিছু 100 মেগাহার্টজ ঘড়িটি বন্ধ করে দেয়, ঘড়ির প্রান্তের পরে 1 ঘন্টা অবধি কোনও ঘড়ির প্রতিক্রিয়ায় কোনও সংকেত পরিবর্তিত হয় না এবং একটি ঘড়ির প্রান্তের প্রতিক্রিয়ায় যা ঘটতে চলেছে তা 7ns এর মধ্যে ঘটে, তারপরে যা ঘটেছিল তার আগে যা ঘটতে চলেছে তার সবই ঘটে নির্দিষ্ট ঘড়ির প্রান্তটি কমপক্ষে 3ns দ্বারা "জিতবে", এবং একটি ঘড়ির প্রান্তের পরে যতক্ষণ না ঘটছে তা হ'ল কমপক্ষে 1ns দ্বারা "হারাবে"। "সংলগ্ন" না হওয়ার গ্যারান্টিযুক্ত যখন একটি সংকেত ঘড়ির আগে বা পরে ঘটবে কিনা তা নির্ধারণ করা প্রথমে নির্বিচার সময়সীমার সংকেতগুলির মধ্যে কোনটি ঘটে তা নির্ধারণ করার চেয়ে অনেক সহজ।


4

ডিজিটাল সিস্টেমগুলি সিঙ্ক্রোনাস বা অ্যাসিনক্রোনাস হতে পারে । অ্যাসিক্রোনাস সিস্টেমে, আউটপুট যে কোনও মুহুর্তে পরিবর্তিত হতে পারে, সিঙ্ক্রোনাস সিস্টেম থেকে পৃথক, যা তার আউটপুটগুলি পরিবর্তন করতে ঘড়ির উপর নির্ভর করে ।

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

আমি এ থেকে অনেকটা অনুলিপি করেছি Digital Systems: Principles and Applications, 10th edition by R. J. Tocci et al.


3

ঠিক আছে, আপনি যদি একটি সিঙ্ক্রোনাস সিস্টেম ডিজাইন করেন তবে আপনার লক্ষ্য টার্গেট রেট রয়েছে এবং আপনি একটি ঘড়ির মধ্যে একটি চক্র চলাকালীন সমস্ত গণনা সম্পূর্ণ করার জন্য যুক্তিটি ডিজাইন করেন। এর অর্থ হ'ল কম বিদ্যুৎ সরবরাহের ভোল্টেজ, উচ্চ তাপমাত্রা এবং "ধীর" চিপের মতো বিভিন্ন অবস্থার জন্য আপনাকে সুরক্ষা মার্জিন অন্তর্ভুক্ত করতে হবে। সিঙ্ক্রোনাস চিপগুলি এমনভাবে তৈরি করা হয়েছে যাতে দীর্ঘকালীন লজিক পাথ (ধীরতম গণনা) এই সমস্ত প্রতিকূল অবস্থার মধ্যে সময় মতো শেষ হয়। ফলস্বরূপ, যখন পরিস্থিতি ভয়াবহ নয়, আপনার যখন যুক্তিটির কাজটি সম্পূর্ণ হয় এবং পরবর্তী ঘড়ির ফলটি ল্যাচ করে দেয় তখন আপনার মধ্যে আরও অনেক সময় / মার্জিন থাকে। আপনি (সাধারণত) আপনার ঘড়ির ফ্রিকোয়েন্সি পরিবর্তন করতে না পারার কারণে আপনি এই গতিটি হারাবেন lose

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

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


1

যদি কোনও ঘড়ি অন্তর্ভুক্ত না করা হয়, যখনই কমান্ডটি দেওয়া হত গেটগুলি তত দ্রুত পরিবর্তন হবে, তবে কেন এটি কম্পিউটারের গতি বৃদ্ধি করবে না এবং কেন ঘড়ি ব্যবহার করা হবে?

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

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

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


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

যদি নকশাটি অ্যাসিঙ্ক্রোনাস হয় তবে যে কোনও একটি এলোমেলোভাবে নির্দেশ পেতে পারে যে 99% নির্দেশাবলী 5ns নেয়, 0.9% এলোমেলোভাবে 10ns, 0.09% 30ns, 0.009% 100ns, 0.0009% 300ns, 0.00009% 1us, 0.000009% 3us ইত্যাদি গ্রহণ করে no একটি নির্দিষ্ট সময়ের অস্পষ্টতা সমাধান করতে সিস্টেমটি কত সময় নিতে পারে তার দৃ .় গ্যারান্টি। বেশিরভাগ ক্ষেত্রে, পারফরম্যান্স যা উপ-অনুকূল তবে অনুমানযোগ্য পারফরম্যান্স করা পারফরম্যান্সের চেয়ে ভাল যা গড়ে দ্রুত হয় তবে অপ্রত্যাশিত পরিবর্তন রয়েছে যা কখনও কখনও তীব্র হয়।
সুপারক্যাট

@ সুপের্যাট ১) যেখানে এমন এক সাথে সার্কিট তৈরি করা যায় না যেখানে একসাথে ঘটনা কখনও ঘটে না? (কমপক্ষে যদি ইনপুটগুলি পর্যাপ্ত নিয়মিত হয়) 2) একযোগে ঘটনা ঘটে কিনা সেখানে কোনও সার্কিট ডিজাইন করা যায় না?
আলেকসান্দ্র ডাবিনস্কি

যদি দুটি ইভেন্টের আপেক্ষিক সময় নির্ধারণ করা হয় তবে একটি বা অন্যটিকে বিলম্ব করে একসাথে ঘটতে বাধা দিতে পারে। তাদের আপেক্ষিক সময় আরও সঠিকভাবে জানা গেলে, কম বিলম্বের প্রয়োজন হবে। যদি আপেক্ষিক সময় নির্ধারণ করা না যায়, তবে দুটি ঘটনার সমাধান করা সম্ভব যা একই সাথে প্রথমে ঘটেছিল তার ইঙ্গিত হিসাবে ঘটতে পারে তবে সবচেয়ে খারাপ অবস্থার আচরণকে হ্রাস করতে হলে অবশ্যই সর্বোত্তম-আচরণের ক্ষেত্রে বেশ কিছু গুরুতর সমঝোতা গ্রহণ করতে হবে। একটি সমঝোতা কম কম্পিউটারের কাজ করার জন্য যে সমঝোতা প্রয়োজন তা একটি ঘড়ি ব্যবহারের চেয়ে খারাপ হবে।
সুপারক্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.