32-বিট মাইক্রোকন্ট্রোলারগুলি থেকে প্রোগ্রামিং করার ক্ষেত্রে 8 বিট মাইক্রোকন্ট্রোলারগুলি কতটা আলাদা are


19

ঠিক আছে, সুতরাং এই মুহুর্তে আমাদের কাছে 8-বিট, 16-বিট এবং 32-বিট মাইক্রোকন্ট্রোলার রয়েছে। এগুলির সব প্রায়শই ব্যবহৃত হয়। 8-বিট এবং 16-বিট মাইক্রোকন্ট্রোলারগুলি প্রোগ্রাম করা থেকে এটি কতটা আলাদা? মানে, এর জন্য কি আলাদা কৌশল বা দক্ষতা প্রয়োজন? উদাহরণস্বরূপ মাইক্রোচিপ নিতে দেয়। 8-বিট মাইক্রোকন্ট্রোলারগুলি থেকে 32-বিট মাইক্রোকন্ট্রোলারগুলিতে রূপান্তর করতে হলে কোনও ব্যক্তির নতুন কোন জিনিসগুলি শেখার দরকার আছে?


না। অবশ্যই বিভিন্ন উদ্বেগ রয়েছে তবে সেগুলি মূলত ডিভাইস-নির্দিষ্ট বিশদের স্তরে রয়েছে। উদাহরণস্বরূপ, স্বাক্ষরবিহীন শব্দ অ্যাক্সেস অনুমোদিত? (এআরএম এ এটি নয় - তবে x86 এ রয়েছে)। এই প্রশ্নটি আসলেই যথেষ্ট নির্দিষ্ট নয়।
ক্রিস

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

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

উত্তর:


33

সাধারণভাবে, 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), তবে সর্বদা পার্থক্য থাকবে। তাদের পেরিফেরিয়াল লাইব্রেরি ব্যবহার করে এই পার্থক্যগুলি অনেকাংশে আড়াল করা হবে। একটি চূড়ান্ত পার্থক্য হ'ল বাধা হ্যান্ডলিং। আবার মাইক্রোচিপ লাইব্রেরি থেকে এখানে সহায়তা রয়েছে।


এটি লক্ষণীয় যে, অ্যাসেম্বলি ভাষা স্তরে, 8-বিট প্রসেসরের কম রেজিস্টার এবং কম অर्थোগোনাল নির্দেশাবলী রয়েছে (এভিআর আরও বেশি রিস্কি ব্যতিক্রম), এটি যখন বিকাশ করা হয়েছিল তখন ডিজাইনের সীমাবদ্ধতার ফলস্বরূপ। ৩২-বিট প্রসেসরগুলি আরআইএসসি বংশধর হতে থাকে (রেনেসাস আরএক্স, একটি আধুনিক সিআইএসসি একটি ব্যতিক্রম, এবং ফ্রিসকারের কোল্ডফায়ার এম 68 কে থেকে নেমেছে)।
পল এ। ক্লেটন

9
শুধু এই সংযোজনের জন্য একটি নতুন উত্তর শুরু না করার জন্য, আমি মনে করি যে এই পরিবর্তনটি 16 থেকে 8 এর মধ্যে 32 বিট থেকে 16 এ যুক্ত করা গুরুত্বপূর্ণ, কারণ পাটিগণিতগুলি পারমাণবিক হওয়া বন্ধ করে দেয়, কারণ এই দুষ্টু বিস্ময়ের কারণ হতে পারে। আপনি যদি 8-বিট মাইক্রোকন্ট্রোলারে দুটি 16 বিট সংখ্যা যুক্ত করেন এবং এগুলি একটি বিঘ্নিত ক্ষেত্রে ব্যবহার করেন তবে আপনাকে সেগুলি থ্রেড-নিরাপদ করে তোলার যত্ন নিতে হবে, অন্যথায় আপনি বিঘ্নিত ট্রিগারগুলির আগে এর অর্ধেক যোগ করতেই পারেন, ফলস্বরূপ আপনার বিঘ্নিত পরিষেবার রুটিনে একটি অবৈধ মান।
বনাম

2
@vsz - ভাল কথা, এটি সম্পর্কে ভুলে গেছি। সাধারণত কোনও অ্যাক্সেসের চারপাশে বাধা নিষ্ক্রিয় করা উচিত (কেবলমাত্র পড়া সহ) ডিফল্ট রেজিস্টার আকারের চেয়ে বড় কোনও অস্থায়ী পরিবর্তনশীল।
tcrosley

1
এটি কি সত্য যে 32-বিট ইউসির সাধারণত 32-বিট আই / ও ইন্টারফেস থাকে? আমি মনে করি যাইহোক এটি আরও সাধারণভাবে কেবল সিরিয়াল যোগাযোগ।
ক্লাবচিও

1
@ ক্লাব্যাচিও আমার অভিজ্ঞতা হ'ল আই / ও পোর্ট রেজিস্ট্রিগুলির সমস্তগুলি 32-বিট হিসাবে সংজ্ঞায়িত করা হয়েছে তবে কখনও কখনও শীর্ষ 16 বিট 16-31 অব্যবহৃত থাকে, তাই সমান্তরাল বন্দরটি এখনও 16 শারীরিক পিনের মধ্যে থাকে। অন্যান্য ক্ষেত্রে, আরটিসিসি রেজিস্টারের মতো, সমস্ত 32 বিট ব্যবহৃত হয়।
tcrosley

8

8-বিট এবং 32-বিট মাইক্রোকন্ট্রোলারগুলির মধ্যে একটি সাধারণ পার্থক্য হ'ল 8-বিটগুলি প্রায়শই মেমরির একটি পরিসীমা এবং I / O স্পেস থাকে যা নির্বাহের প্রসঙ্গ নির্বিশেষে একটি নির্দেশে অ্যাক্সেস করা যেতে পারে, যখন 32-বিট মাইক্রোকন্ট্রোলারগুলি প্রায়শই চলবে একটি বহু-নির্দেশ ক্রম প্রয়োজন। উদাহরণস্বরূপ, একটি সাধারণ 8-বিট মাইক্রোকন্ট্রোলার (HC05, 8051, PIC-18F, ইত্যাদি) এর উপরে একক নির্দেশ ব্যবহার করে কোনও পোর্ট বিটের অবস্থার পরিবর্তন করতে পারে। একটি সাধারণ এআরএম (32-বিট) এ, যদি নিবন্ধের বিষয়বস্তুগুলি প্রাথমিকভাবে অজানা থাকে তবে একটি চার-নির্দেশ নির্দেশের ক্রম প্রয়োজন:

    ldr  r0,=GPIOA
    ldrh r1,[r0+GPIO_DDR]
    ior  r1,#64
    strh r1,[r0+GPIO_DDR]

বেশিরভাগ প্রকল্পে, নিয়ন্ত্রক তার নিজস্ব বেশিরভাগ সময় ব্যক্তিগত I / O বিট সেট করা বা সাফ করার ব্যতীত অন্য কিছু করতে ব্যয় করে, সুতরাং পোর্ট পিন সাফ করার মতো ক্রিয়াকলাপে আরও বেশি নির্দেশাবলীর প্রয়োজন হয় তা প্রায়শই গুরুত্বপূর্ণ নয়। অন্যদিকে, এমন সময়গুলি আসে যখন কোডকে "বিগ-ব্যাং" করতে অনেকগুলি বন্দর ম্যানিপুলেশন করতে হয় এবং একক নির্দেশ দিয়ে এই জাতীয় কাজগুলি করার দক্ষতা যথেষ্ট মূল্যবান প্রমাণ করতে পারে।

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


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

@ পলএ ড। ক্লেটন: আমি গত ২০ বছরে সত্যিই এমআইপিএসের দিকে নজর দিইনি; বিট-ব্যান্ড অঞ্চলগুলির জন্য, আমি এগুলি যুক্তিসঙ্গত-বর্ণনামূলক কোডে ব্যবহার করার কোনও উপায় খুঁজে পাইনি এবং যদি আমি সেগুলি ব্যবহার করতে পারি তবে তারা কেবলমাত্র একটি নির্দেশ সংরক্ষণ করতে পারত যদি না কেউ পাগল প্রোগ্রামিং ট্রিকির ব্যবহার করে, তারা দুটি সাশ্রয় করতে পারে [বিট সেট করা বা সাফ করা উচিত কিনা তার উপর ভিত্তি করে একটি এমনকি বা বিজোড় ঠিকানা দিয়ে আর0 লোড করুন এবং ক্ষতিপূরণ দেওয়ার উপযুক্ত হিসাবে স্টোর নির্দেশিকায় অফসেটটি সামঞ্জস্য করুন]। বিটিডাব্লু, বিট-ব্যান্ড অঞ্চল কেন শব্দ ঠিকানা ব্যবহার করে আপনার কোনও ধারণা আছে?
সুপারক্যাট

@supercat: ওয়ার্ড অ্যাড্রেসিং আপনি পয়েন্টার subscripting মাধ্যমে C অথবা C ++ থেকে বিট-ব্যান্ড অঞ্চলে অ্যাক্সেস করতে দেয় ( region_base[offset])
বেন Voigt

@ বেনভয়েগ এবং বাইট অ্যাড্রেসিং দিয়ে কেন কেউ তা করতে পারেনি? (সম্ভবত একটি সম্ভাব্য কারণ হ'ল প্রত্যাশা অপসারণ / আশা যে দু-বিট এবং চার-বিট ক্রিয়াকলাপ সমর্থিত হবে))
পল এ। ক্লেটন

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

6

সবচেয়ে বড় ব্যবহারিক পার্থক্য হ'ল ডকুমেন্টেশনের পরিমাণ, পুরোপুরি পুরো চিপটি পুরোপুরি বুঝতে। সেখানে 8-বিট মাইক্রোকন্ট্রোলার রয়েছে যা প্রায় 1000 পৃষ্ঠাগুলির ডকুমেন্টেশন নিয়ে আসে। 1980 এর 8 বিটের সিপিইউ এবং এটির সাথে ব্যবহৃত জনপ্রিয় পেরিফেরাল চিপগুলির জন্য প্রায় 200-300 পৃষ্ঠাগুলির সাথে তুলনা করুন। পেরিফেরাল সমৃদ্ধ 32 বিট ডিভাইসটির অংশটি বুঝতে আপনার 2000-10,000 পৃষ্ঠার ডকুমেন্টেশনটি অতিক্রম করতে হবে। ডকুমেন্টেশনের 20k পৃষ্ঠায় আধুনিক 3 ডি গ্রাফিক্স প্রান্তযুক্ত অংশগুলি।

আমার অভিজ্ঞতায়, প্রদত্ত আধুনিক 32 বিট কন্ট্রোলার হিসাবে এটি আধুনিক 8 বিটের অংশের জন্য জানা যেতে পারে এমন সমস্ত কিছু জানতে 10x প্রায় সময় লাগে। "সমস্ত কিছু" দ্বারা আমি বোঝাতে চাইছি যে আপনি কীভাবে পেরিফেরিয়ালগুলি সমস্ত ব্যবহার করতে জানেন, এমনকি অপ্রচলিত উপায়ে এবং মেশিনের ভাষাও জানেন, সমাবেশকারী প্ল্যাটফর্মটি পাশাপাশি অন্যান্য সরঞ্জামগুলি, এবিআই (গুলি) ইত্যাদি ব্যবহার করে

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


3

আমি ব্যক্তিগতভাবে একই পরিবারের ইউসিসি (8 বিট-> 32 বিট) আপগ্রেড করার বিষয়ে খুব বেশি চিন্তা করব না এবং আপনি বোর্ড জুড়ে চশমা বাড়িয়ে দিচ্ছেন। সাধারণত, আমি তথ্যের ধরণের সাথে আদর্শের বাইরে কিছু করি না কারণ রাস্তাটি বজায় রাখা শক্ত হতে পারে।

একটি ডিভাইস কোড ডাউনগ্রেড করা একটি ভিন্ন গল্প।


3
তথ্য প্রকারের আকার প্রসেসরের আর্কিটেকচার নয়, সংকলক দ্বারা নির্ধারিত হয়। 8-বিট প্রসেসরের 32-বিট ইনট থাকতে পারে, যদিও এটিগুলি পরিচালনা করার জন্য এটি একাধিক নির্দেশনা নেবে।
জো হাস

ভাল মন্তব্য- সংশোধনের কারণে আমি প্রথম লাইনটি সরিয়েছি।
নিক তুলোস

@JoeHass: একটি 8-বিট প্রসেসরের জন্য একটি কম্পাইলার পারে সংজ্ঞায়িত int32 বিট, অথবা এমনকি 64 যে বিষয়টি জন্য হতে, কিন্তু আমি কোনো বিদ্যমান 8-বিট কম্পাইলার যা আসলে অবিদিত আছি না সংজ্ঞায়িত intঅধিক মাপের 16 বিট হতে পারে, অথবা উন্নীত বড় কিছু 16 বিট মান।
সুপারক্যাট

-1

32-বিট এমসিইউ এর জন্য আরও অনেক বেশি শক্তি খায় power এবং আরও সমর্থন সার্কিটের প্রয়োজন।

কেউ 8-বিট থেকে 32-বিটগুলিতে সত্যিই স্থানান্তর করে না ... আপনি উভয়ই প্রায়শই একসাথে ব্যবহার করতে থাকবেন। নীচের লাইনটি হ'ল কাজের জন্য উপযুক্ত যা আপনার ব্যবহার করা উচিত (এবং শিখুন)। এআরএম শিখুন কারণ ভাল এখনই এম্বেডড ওয়ার্ল্ডকে কাঁপুন এবং তা চালিয়ে যাবেন। এভিআর বা পিআইসি শিখুন কারণ তারা দুর্দান্ত বোর্ড নিয়ামক।

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


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

3
একটি cr2032 এ 7 বছরের জন্য চালানো উচিত এমন একটি স্টেম 32 এল 1 সার্কিট তৈরি করেছেন
স্কট সিডম্যান

2
32-বিট এমসইউ-র আরও "সাপোর্ট সার্কিটরি" দরকার বলে আপনি কী এই মন্তব্যটি ন্যায়সঙ্গত করতে পারেন? আমি মনে করি আপনি এখানে বেশ কয়েকটি অযৌক্তিক মতামত প্রকাশ করছেন।
জো হাস

1
এছাড়াও, আপনার ভেক্টর বিঘ্নিত মন্তব্যগুলি কোনও তাত্পর্যপূর্ণ নয়, যেহেতু আপনি 8-বিট মাইক্রোকন্ট্রোলারগুলিতে একাধিক অগ্রাধিকার স্তর পেতে পারেন (অ্যাটমেল এক্সমেগা এমসিইউগুলি দেখুন, যার 3 টি অগ্রাধিকার স্তর রয়েছে), এবং যখন প্রতিটি হার্ডওয়্যার ডিভাইস থাকে তখন ভেক্টর বিঘ্নিত হওয়া অপ্রাসঙ্গিক হয় যাইহোক স্বাধীন ভেক্টরগুলির নিজস্ব।
কনার ওল্ফ

2
বৈদ্যুতিক গাড়ির জন্য একটি স্মার্ট ব্যাটারি চার্জারটি নিয়ন্ত্রণ করতে আমি একটি 32-বিট কর্টেক্স-এম0 প্রসেসর ব্যবহার করছি। এটি একটি একক 3.3 ভি সরবরাহ ব্যবহার করে। এটিতে একটি অভ্যন্তরীণ দোলক এবং পিএলএল রয়েছে যাতে আমার এমনকি স্ফটিকের প্রয়োজন হয় না। আমি একটি 28-পিনের ডিআইপি প্যাকেজটি ব্যবহার করছি তবে আমি চাইলে 8-পিন ডিআইপি-তে একটি কর্টেক্স-এম0 পেতে পারি। এটি সাধারণ পিক বা এভিআরের চেয়ে কীভাবে জটিল হতে পারে?
জো হাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.