সাধারণভাবে, 8 থেকে 16 থেকে 32 বিট মাইক্রোকন্ট্রোলারগুলির অর্থ হ'ল আপনার সংস্থানগুলিতে, বিশেষত মেমরির উপর কম সংযত থাকতে হবে এবং পাটিগণিত এবং লজিকাল অপারেশন করার জন্য ব্যবহৃত রেজিস্টারের প্রস্থের পরিমাণ কম হবে। 8, 16 এবং 32-বিট মনিকাররা সাধারণত অভ্যন্তরীণ এবং বাহ্যিক ডেটা বাসগুলির আকার এবং পাটিগণিত এবং লজিকাল ক্রিয়াকলাপের জন্য ব্যবহৃত অভ্যন্তরীণ রেজিস্টার (গুলি) উভয়ই বোঝায় (কেবলমাত্র এক বা দু'জন বলে আহ্বায়ক বলে , এখন সাধারণত 16 বা 32 এর নিবন্ধিত ব্যাংক রয়েছে।
আই / ও পোর্ট পোর্ট মাপগুলি সাধারণত ডেটা বাসের আকার অনুসরণ করবে, সুতরাং একটি 8-বিট মাইক্রোতে 8-বিট পোর্ট থাকবে, একটি 16-বিটের মধ্যে 16-বিট পোর্ট থাকবে ইত্যাদি
একটি 8-বিট ডেটা বাস থাকা সত্ত্বেও, অনেক 8-বিট মাইক্রোকন্ট্রোলারের একটি 16-বিট অ্যাড্রেস বাস থাকে এবং 2 ^ 16 বা 64 কে মেমরির বাইটগুলি সম্বোধন করতে পারে (এর অর্থ এই নয় যে এগুলি বাস্তবায়নের কাছাকাছি কোথাও রয়েছে)। তবে কয়েকটি 8-বিট মাইক্রো যেমন লো-এন্ড পিকসগুলির মতো কেবল খুব সীমাবদ্ধ র্যাম স্পেস থাকতে পারে (যেমন একটি পিক 16 এ 96 বাইট)।
তাদের সীমিত ঠিকানা স্কিমটি পেতে, কিছু 8-বিট মাইক্রো পেজিং ব্যবহার করে, যেখানে পৃষ্ঠার নিবন্ধের সামগ্রীগুলি ব্যবহারের জন্য মেমরির বেশ কয়েকটি ব্যাঙ্কের একটি নির্ধারণ করে। পৃষ্ঠার নিবন্ধটি যা সেট করা হয়েছে তা নির্ধারণ করেই সাধারণত কিছু সাধারণ র্যাম পাওয়া যায়।
16-বিট মাইক্রোকন্ট্রোলার সাধারণত 64 কে মেমরির মধ্যে সীমাবদ্ধ থাকে তবে এগুলি পেতে পেজিং কৌশলগুলিও ব্যবহার করতে পারে। অবশ্যই 32-বিট মাইক্রোকন্ট্রোলারগুলির তেমন কোনও বিধিনিষেধ নেই এবং 4 গিগাবাইট পর্যন্ত মেমরির সমাধান করতে পারে।
বিভিন্ন মেমরির আকারের সাথে স্ট্যাক আকার। নিম্ন প্রান্তের মাইক্রোগুলিতে, এটি মেমরির একটি বিশেষ ক্ষেত্রে প্রয়োগ করা যেতে পারে এবং খুব ছোট হতে পারে (অনেকগুলি PIC16 এর একটি 8-স্তরের গভীর কল স্ট্যাক রয়েছে)। 16-বিট এবং 32-বিট মাইক্রোতে, স্ট্যাকটি সাধারণত সাধারণ র্যামে থাকবে এবং কেবল র্যামের আকার দ্বারা সীমাবদ্ধ থাকবে।
প্রোগ্রাম এবং র্যাম উভয়ই - বিভিন্ন ডিভাইসে প্রয়োগ করা মেমরির পরিমাণেও বিশাল পার্থক্য রয়েছে। 8-বিট মাইক্রোতে কেবল কয়েক শ বাইট র্যাম থাকতে পারে, এবং প্রোগ্রাম মেমোরির কয়েক হাজার বাইট থাকতে পারে (বা এর চেয়ে কম - উদাহরণস্বরূপ PIC10F320 কেবল 256 14-বিট শব্দ ফ্ল্যাশ এবং র্যামের 64 বাইট)। 16-বিট মাইক্রোতে কয়েক হাজার বাইট র্যাম থাকতে পারে, এবং প্রোগ্রাম মেমরির কয়েক হাজার বাইট থাকতে পারে। ৩২-বিট মাইক্রোতে প্রায়শই র্যামের over৪ কেটের বেশি বাইট থাকে, এবং সম্ভবত ১/২ এমবি বা আরও বেশি প্রোগ্রামের মেমোরি থাকে (পিআইসি 32 এমজেড 2048 2 এমবি ফ্ল্যাশ এবং 512 কেবি র্যাম থাকে; সদ্য প্রকাশিত পিআইসি 32 এমজেড 2064 ডিএইচ 176, গ্রাফিক্সের জন্য অপ্টিমাইজড 2 এমবি ফ্ল্যাশ এবং অন-চিপ র্যামের একটি বৃহত 32MB)।
আপনি যদি অ্যাসেম্বলি ভাষায় প্রোগ্রামিং করে থাকেন তবে নিবন্ধকের আকারের সীমাবদ্ধতাগুলি খুব স্পষ্ট হবে, উদাহরণস্বরূপ, দুটি 32-বিট সংখ্যা যুক্ত করা 8-বিট মাইক্রোকন্ট্রোলারের উপর কাজ কিন্তু 32-বিটের একটিতে তুচ্ছ। আপনি যদি সি তে প্রোগ্রামিং করেন তবে এটি মূলত স্বচ্ছ হবে তবে অবশ্যই অন্তর্নিহিত সংকলিত কোডটি 8-তিক্তের জন্য অনেক বড় হবে।
আমি বলেছি মূলত স্বচ্ছ, কারণ বিভিন্ন সি ডেটা ধরণের আকার এক মাইক্রো থেকে অন্য আকারের হতে পারে; উদাহরণস্বরূপ, একটি সংকলক যা 8 বা 16-বিট মাইক্রোকে টার্গেট করে 16-বিট স্বাক্ষরযুক্ত ভেরিয়েবল বলতে "ইনট" ব্যবহার করতে পারে এবং 32-বিট মাইক্রোতে এটি 32-বিট ভেরিয়েবল হতে পারে। সুতরাং প্রচুর প্রোগ্রামগুলি স্বাক্ষরিতভাবে পছন্দসই আকারটি কী তা বোঝাতে # সংজ্ঞা ব্যবহার করে, যেমন একটি স্বাক্ষরযুক্ত 16-বিট ভেরিয়েবলের জন্য "ইউআইএনটি 16"।
আপনি যদি সি তে প্রোগ্রামিং করে থাকেন তবে সবচেয়ে বেশি প্রভাব পড়বে আপনার ভেরিয়েবলের আকার। উদাহরণস্বরূপ, যদি আপনি জানেন যে একটি চলক সর্বদা 256 এর চেয়ে কম (বা স্বাক্ষরিত হলে -128 থেকে 127 সীমাতে) থাকে তবে আপনার একটি 8-বিট (স্বাক্ষরযুক্ত চর বা চর) 8 বিট মাইক্রোতে ব্যবহার করা উচিত (যেমন PIC16 ) যেহেতু বড় আকারের ব্যবহার করা খুব অকার্যকর হবে। একইভাবে 16-বিট মাইক্রোতে (যেমন PIC24) 16-বিট ভেরিয়েবলগুলি পুনরায় করুন। আপনি যদি 32-বিট মাইক্রো (PIC32) ব্যবহার করেন তবে এমআইপিএস নির্দেশিকা সেটটিতে বাইট, শব্দ এবং দ্বি-শব্দ নির্দেশ রয়েছে তাই এটি কোনও তাত্পর্যপূর্ণ হবে না। তবে কিছু 32-বিট মাইক্রোতে, যদি তাদের কাছে এ জাতীয় নির্দেশের অভাব থাকে, তবে 8-বিট ভেরিয়েবলটি ম্যাস্কিংয়ের কারণে 32-বিটের চেয়ে কম দক্ষ হতে পারে।
ফোরামের সদস্য ভার্জেজ যেমন উল্লেখ করেছেন, সেই সিস্টেমে যেখানে আপনার চলক থাকে যা ডিফল্ট রেজিস্টার আকারের চেয়ে বড় (যেমন একটি 8-বিট মাইক্রোতে 16-বিট ভেরিয়েবল), এবং সেই পরিবর্তনশীল দুটি থ্রেডের মধ্যে বা বেস থ্রেডের মধ্যে ভাগ করা হয় এবং একটি বাধাপ্রাপ্ত হ্যান্ডলার, পরিবর্তনশীল পারমাণবিক উপর কোনও অপারেশন (কেবল পড়া সহ) করতে হবে, এটি এটি একটি নির্দেশ হিসাবে সম্পন্ন হয়েছে বলে মনে হয়। একে সমালোচনা বিভাগ বলা হয়। এটি হ্রাস করার স্ট্যান্ডার্ড উপায় হ'ল একটি অক্ষম / সক্ষম বাধা যুক্তের সাথে সমালোচনামূলক বিভাগটি ঘিরে।
সুতরাং 32-বিট সিস্টেম থেকে 16-বিট, বা 16-বিট থেকে 8-বিটের দিকে চলে যাওয়া, এই ধরণের ভেরিয়েবলের কোনও ক্রিয়াকলাপ যা এখন ডিফল্ট রেজিস্টার আকারের চেয়ে বড় (তবে আগে ছিল না) একটি সমালোচনা বিবেচনা করা উচিত অধ্যায়.
আরেকটি প্রধান পার্থক্য, একটি পিআইসি প্রসেসর থেকে অন্য পিসে যাওয়া, পেরিফেরিয়ালগুলি পরিচালনা করা। শব্দের আকারের সাথে এটির কম সম্পর্ক রয়েছে এবং প্রতিটি চিপে বরাদ্দকৃত সংস্থার ধরণ এবং সংখ্যার সাথে আরও কিছু করতে হবে। সাধারণভাবে, মাইক্রোচিপ বিভিন্ন চিপ জুড়ে ব্যবহৃত একই পেরিফেরিয়াল প্রোগ্রামিং যতটা সম্ভব সমান করার চেষ্টা করেছে (যেমন টাইমার0), তবে সর্বদা পার্থক্য থাকবে। তাদের পেরিফেরিয়াল লাইব্রেরি ব্যবহার করে এই পার্থক্যগুলি অনেকাংশে আড়াল করা হবে। একটি চূড়ান্ত পার্থক্য হ'ল বাধা হ্যান্ডলিং। আবার মাইক্রোচিপ লাইব্রেরি থেকে এখানে সহায়তা রয়েছে।