معماری یعنی نوع ساختاری که درون چیپ هست.مثلا اینکه طول دستورات چقدر باشه. اصلا ثابت باشه یا متغیر؟! دستورات پایه ای که اجرا میکنه چی باشه. حافظه داده کجا باشه؟حافظه برنامه کجا؟ برنامه رو از کجا وارد پردازنده کنه؟ کلا به چیزای از این قبیل میگن معماری هسته اصلی پردازنده.
البته خیلی جاها دیدم اینکه یه پردازنده از چند تا پایپ لاین استفاده میکنه و چند تا ضرب کننده داره و .... رو هم جز معماری اون پردازنده آوردند.
پیشنهاد میکنم اگر این مساله براتون جالبه کتابه processor design رو بخونید.
پس میکروکنترولرها هم نوعی معماری هستن
کوتکس هم میکرو هست ؟ کامپلیرش چیه ؟ جدید تر از کورتکس هم هست ؟
در میکرو کنترلر ها از معماری خاصی استفاده میشه! هر شرکتی که بخواد میکرو رو تولید کنه باید این معماری رو از سازندش بخره, بعد با هر امکاناتی که خودش دوست داشت اونو میسازه و میفروشه!
مثلا شرکت اتمل یا NXP معماری آرم 7 رو از شرکت آرم خریدند و خودشون میکرو هایی با اون هسته میسازند!
شرکتی که میکرو رو میسازه خودش یا کامپایلر رو معرفی میکنه. شما بهتره بری تو سایت این شرکت ها و ببینید آخرین محصولشون چی هست؟! هر چی هم که باشه تو بازار ما پیدا نمیشه :icon_razz:
اگر دنبال یه برد خوب با یه میکرو خوب هستید پیشنهاد میکنم panda board رو بگیرید. این برد مال پارسال هست اما روش یه پردازنده 2 هسته ای هست.بردش با کلی امکانات که روشه 150-60 دلار بود اگه اشتباه نکنم!
اینو میگید
http://pandaboard.org/
به تومن میشه 224840 تومن
اون ماژول بغل اون ای سی توی برد چیه ؟ به نظر میاد که ماژول gps باشه مگه gps داخلی نداره ؟
قزیه این arm چیه ؟ کورتکس و arm9 و... ؟
بله خودشه!
پارسال خیلی ارزون تر در میومد!!
wifi هست. مگه میکرویی داریم که GPS توش باشه!!!!
این اسم ها هم که میگید نوع هسته استفاده شده توی میکرو کنترلر هست!!
مشخصات برد: http://pandaboard.org/content/platform
توی اینجا
http://www.eca.ir/forum2/index.php?action=dlattach;topic=57282.0;attach=809 2;image
http://www.eca.ir/forum2/index.php?topic=57282.0
البته فکر کنم اشتباه شده اون uart3 هست که بهش gps وصل میشه یا این که داخل داره با uart3 با هاش ارتباط برقرار میکنه ؟
نوشته اصلی توسط shahinbahari
این اسم ها هم که میگید نوع هسته استفاده شده توی میکرو کنترلر هست!!
GSM,GPS ,GPRS,MODEM,BLUETOOTH ,..... همه این ها یه زبان مشترک با اسم AT command دارند که به وسیله این دستورات لازم رو دریافت میکنند.این دستورات همه از طریق رابط سریال منتقل میشه.
تو این شکل هم از رابط سریال استفاده کرده! کلا هرچی خارج از اون مربع اصلیه هست قطعات خارجی اند .مثلا HDTV رو هم داره.خوب دلیل نمیشه که توی چیپ باشه :icon_razz:
زیاد درگیر این اسم ها نشو.هر پردازنده رو با یه تکنولوژی ساختند.روز به روز این اسم ها بیشتر میشه و شما گیج تر!یه چارتی بود که تمام پردازنده های این رده(منظور embedded هست نه PCو....) رو مقایسه کرده بود. از طریق اون میتونید بفهمید کدوم هسته توان پردازشی بالا تری رو ارائه میده. بعد میبینید کدوم شرکت با اون هسته و رابط هایی که شما نیاز دارید میکرویی رو ساخته.
این چارت رو میخواستم بزارم اما اینقدر سرعت بالاست که......
این موضوع رو شنیدید که میگن AVR به ازای هر مگا هرتز 1 میلیون دستور رو اجرا میکنه ویا ARM 7 به ازای هر 1مگاهرتز 900 هزار دستور ویا cortex-m3(همین LPC1768 خودمون) به ازای هر مگاهرتز 1.25 میلیون دستور رو اجرا میکنه! از طرف دیگه حداکثر فرکانسی که میتونیم اعمال کنیم هم مساله ای دیگه ای!! این تفاوت ها به خاطر تفاوت معماری هاشون هست. بهترین راه مقایسه استفاده از همون چارت هست که از طریق گرفتن bench mark کشیده شده! البته مقایسه AVR 8بیتی با این 32 بیتی ها غلط هست ولی برای مثال این مساله رو آوردم وسط!!
avr 8بیت هست یعن چی ؟ adc 8 بیتی یعنی یه عدد که ممکنه 512 تا حالت تغیر کنه به عبارت دیگر تا 512 تا اعشار می تونه اندازه بگیره 512 ؟
وقتی که به میکرو کریستالی که بهش وصل کردی بیشتر از اونی که تعریف کرده باشی وصل کنی سرعتش خیلی زیاد میشه مثلا بهش کریستال 16M وصل کنی توی برنامه 100000 تعریف کنی اگر این طوری باشه که خیلی سرعت داره ؟
avr 8بیتی هست یعنی طول اعدادی که میتونند وارد پردازنده اون بشن 8 بیته! به عبارت دیگه یه جمع 8بیت + 8بیت رو در یک پالس کلاک انجام میده.اما اگه 32بیت +32 بیت رو بخوایم انجام بدیم چطور؟؟ (مطمئن نیستم ولی فکر کنم بیش از 6 یا 8 پالس زمان میخواد)
در مقابل ARM که 32 بیتی هست این جمع رو توی یک پالس انجام میده!!
ADC هم در AVR 10بیتی هست یعنی 1024 حالت مختلف برای ولتاژ اعمالی به پایه آنالوگ. اگر هم 8بیتی راه بیفته 256 حالت میگیره.
اینکه کریستال 16 بزاری ولی تو برنامه 10 تعریف کنی فقط مقدار های تاخیر رو کم میکنه. مثلا شما 1میلی ثانیه تاخیر گذاشتی,میکرو 0.6 میکرو صبر میکنه!! تمام دستورات هم با همون 16 مگ کارشون رو انجام میدن.
16 میلیون دستور در ثانیه زیاده؟ برای خیلی کار ها مناسب هست اما برای خیلی پردازش ها نه! LPC2378 با کلاک 72 مگاهرتز میتونه 64 میلیون دستور رو انجام بده.
جدا از مقدار دستوری که میتونه انجام بده, پردازنده های قویتر واحد های ضرب کننده دارند که خود اون تاثیر خیلی زیادی تو سرعت کار داره!
دیدگاه