اطلاعیه

Collapse
No announcement yet.

آیا XMEGA نوع 16 بیتی وجود دارد؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    آیا XMEGA نوع 16 بیتی وجود دارد؟

    XMEGA 16 بیتی هم داریم؟ oo: :eek:
    اگر توجه کرده باشید اتمل توی همه جا میزنه XMEGA8/16 oo: oo: :eek: :eek:
    و توی سایتش هم بشتر از 16 بیتی صحبت میکنه اگه XMEGA دارای پردازنده 16 بیتی بیاید دیگه چیزی از PIC کم ندارد :nice:

    #2
    پاسخ : XMEGA 16 بیتی داریم؟

    نمیدونم چرا کسی جواب نداد ولی یه جا خوندم که این میکروها قابلیت پردازش در مد 16 بیتی را دارا هستند کسی میدونه چطوری؟

    دیدگاه


      #3
      پاسخ : XMEGA 16 بیتی داریم؟

      نوشته اصلی توسط شهریار رجب زاده
      نمیدونم چرا کسی جواب نداد ولی یه جا خوندم که این میکروها قابلیت پردازش در مد 16 بیتی را دارا هستند کسی میدونه چطوری؟
      یک همچین خصوصیتی رو ARM داره.... thumb اسمشه...

      همونطوری که میدونیم CPU مستقیما نمیتونه با حافظه ارتباط برقرار کنه و باید از رم استفاده بشه... اگه قرار باشه CPU سی و دو بیتی باشه رم هم باید 32 بیتی باشه..از اونجایی که قیمت و حجم این ساخت رم بالا داخل تراشته گرون در میاد برای همین یه مد داخل میکرو درست میکنند که میکرو 16 بیتی کار میکنه...مد تنب در جاهایی که برنامه زیاد سنگین نیست استفاده میشه...

      درضمن thumb 2 هم اومده که من اطلاعی از این ندارم :redface:

      اگه خواستی اطلاعات بیشتری پیدا کنی ، PM بده تا یه کتاب توپ بهت معرفی کنم :nerd:

      موفق باشید

      دیدگاه


        #4
        8 یا 16 بیتی

        یه سوال می کنم . نخندین . لطفا جواب بدین .
        این میکرو های xmega رو از کجا بفهمیم 8بیتی یا 16 بیتی ؟
        ممنون .

        دیدگاه


          #5
          پاسخ : آیا XMEGA نوع 16 بیتی وجود دارد؟

          معماری AVR و XMEGA اصولا 8 بیتی است. به این معنا که در آن واحد قابلیت پردازش روی 8 بیت را دارند. اما مواردی از استثناء مانند دستورات اسمبلی MOVW و ADIW و SBIW وجود دارند که بصورت توام روی 16 بیت عمل می کنند.
          اوژن: به معنای افکننده و شکست دهنده است
          دانایی، توانایی است-Knowledge is POWER
          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

          دیدگاه


            #6
            پاسخ : آیا XMEGA نوع 16 بیتی وجود دارد؟

            من یکی دو تا از دیتا شیت ها رو دیدم. در AVR های سری مگا هم قید "8 بیتی" آمده. ولی در XMEGA قید "8/16 بیتی" آمده. اگر XMEGA همونطوری که آقای طراح فرمودن دارای ساختار 8 بیتی باشه یا بهتر بگیم فقط دارای ساختار 8 بیتی باشه پس این قید "8/16" در ابتدای دیتا شیتش چیه؟ برای یک میکرویی مثل ATmega128 هم همچین قیدی نیومده.

            دیدگاه


              #7
              پاسخ : آیا XMEGA نوع 16 بیتی وجود دارد؟

              در جواب جناب آقای مهری هم باید عرض کنم:
              در حالت thumb دسترسی به همه رجیستر ها امکان پذیر نیست (فکر میکنم فقط 8 رجیستر) ولی بخاطر کوتاه شدن طول دستورالعمل ها حجم کد تقریبا 60 درصد حجم کد مشابه در حالت غیر thumb رو داره.

              دیدگاه


                #8
                پاسخ : آیا XMEGA نوع 16 بیتی وجود دارد؟

                نوشته اصلی توسط reza_agha
                من یکی دو تا از دیتا شیت ها رو دیدم. در AVR های سری مگا هم قید "8 بیتی" آمده. ولی در XMEGA قید "8/16 بیتی" آمده. اگر XMEGA همونطوری که آقای طراح فرمودن دارای ساختار 8 بیتی باشه یا بهتر بگیم فقط دارای ساختار 8 بیتی باشه پس این قید "8/16" در ابتدای دیتا شیتش چیه؟ برای یک میکرویی مثل ATmega128 هم همچین قیدی نیومده.
                بنابر تصریح ATmel، ساختار CPU در تمام خانواده AVR و XMEGAمشترک است:



                از آنجا که 16 بیتی بودن یک CPU به معنای توانایی پردازش توام روی 16 بیت است و از این نظر تفاوتی بین AVR و XMEGA وجود ندارد، موردی که به نظر می رسد بتواند توجیه کننده این ادعای Atmel باشد، وجود DMA و امکان دسترسی به 8 بیت اضافه به موازات دسترسی CPU به 8 بیت دیگر و انتقال این 8 بیت اضافه بین وسایل جانبی یا حافظه باشد.
                اوژن: به معنای افکننده و شکست دهنده است
                دانایی، توانایی است-Knowledge is POWER
                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                دیدگاه


                  #9
                  پاسخ : آیا XMEGA نوع 16 بیتی وجود دارد؟

                  از آنجا که 16 بیتی بودن یک CPU به معنای توانایی پردازش توام روی 16 بیت است و از این نظر تفاوتی بین AVR و XMEGA وجود ندارد، موردی که به نظر می رسد بتواند توجیه کننده این ادعای Atmel باشد، وجود DMA و امکان دسترسی به 8 بیت اضافه به موازات دسترسی CPU به 8 بیت دیگر و انتقال این 8 بیت اضافه بین وسایل جانبی یا حافظه باشد.
                  بعلت موارد امنیتی - فرهنگی و چیز هایی شبیه این قاعدتا جلوی لوطی نبایستی به معلق بازی دست زد ایضا من در شرایطی نیستم که حتی فکر اینجور چیزها رو به مخیله خودم راه بدم. این دفعه با اجازه از بزرگی و سعه صدر جناب طراح بایستی عرض کنم: اگه صرف وجود این امکان پردازش همزمان اطلاعات 8 بیتی بخاطر استفاده از CPU و کانال DMA باشه شاید بشه اینجوری در نظر گرفت که 8086 هم یک CPU ی 16 بیتی هست که موقعی که روی مادر برد IBM نصب میشه (چون DMA جزئی از 8086 نیست و جزئی از IBM-PCXT هست) 32 بیتی هم میشه!

                  از طرف دیگه اگر پروسسور های XMEGA بخاطر دستوراتی نظیر movw یا adiw عملیات 16 بیتی انجام میدهند پس باید 8086 هم بخاطر دستورات ضرب و تقسیم 16 بیتی که بر روی مقادیر 32 بیتی کار میکنند:


                  mov ax,1000
                  mov cx,2000
                  mul cx
                  result is in dx:ax = 2000000

                  or

                  mov ax,LOW_WORD(5000000)
                  mov cx,HIGH_WORD(2000)
                  div cx
                  result/reminder is in dx:ax



                  یک پروسسور 16/32 بیتی باشد.

                  منظورم از تمام موارد فوق این هست که ممکنه:

                  1- سری XMEGA با حفظ ساختار کلی فعلی بعد ها به سمت 16 بیتی شدن پیش بره.
                  2- تعریف ما و اونا برای لفظ "16 بیتی" با هم متفاوته.
                  3- این مورد 8/16 بیتی یه پزی هست که مطمئن بودن کسی پیدا نمیشه بهش گیر بده. ولی بقول اون خانم محترم در سریال های آموزشی صداد و سیما "خیلی کلاس داره".

                  ضمنا اگر این قید برای XMEGA سندیتی داشته باشه و منظور از این قید فرمایش جناب طراح نباشه شاید برای سالها این مورد از چشم خود طراحان AVR در شرکت اتمل دور مانده.

                  من که خیلی گیج شدم.

                  دیدگاه


                    #10
                    پاسخ : آیا XMEGA نوع 16 بیتی وجود دارد؟

                    نوشته اصلی توسط reza_agha
                    اگه صرف وجود این امکان پردازش همزمان اطلاعات 8 بیتی بخاطر استفاده از CPU و کانال DMA باشه شاید بشه اینجوری در نظر گرفت که 8086 هم یک CPU ی 16 بیتی هست که موقعی که روی مادر برد IBM نصب میشه (چون DMA جزئی از 8086 نیست و جزئی از IBM-PCXT هست) 32 بیتی هم میشه!
                    در تائید فرمایش شما و همانطور که در پست قبل نوشته شد، به دلیل یکسان بودن ساختار CPU Core در خانواده AVR و XMEGA و با توجه به تعریفی که از یک معماری 16 بیتی در دست داریم، بیشتر باید به دنبال یک توجیه برای ادعای Atmel بود و نزدیک ترین توجیه همین وجود DMA است. اما وجود یک وسیله جانبی در کنار یک CPU نمی تواند معماری آن CPU را تغییر دهد و با وجود مطالعه همه جانبه ای که روی ساختار XMEGA دارم، دلیل اصولی برای ادعای Atmel مشاهده نمی کنم. شاید هم منظور Atmel بیشتر یک Performance در حد سیستم های 16 بیتی باشد تا معماری 16 بیتی.

                    از طرف دیگه اگر پروسسور های XMEGA بخاطر دستوراتی نظیر movw یا adiw عملیات 16 بیتی انجام میدهند پس باید 8086 هم بخاطر دستورات ضرب و تقسیم 16 بیتی که بر روی مقادیر 32 بیتی کار میکنند:
                    این مورد در بحث مذکور مصداق ندارد، زیرا در اجرای یک دستورالعمل مهم طول عملوند(Operand) و Data ورودی به دستورالعمل است که در 8086 دارای طول 16 بیت است و این پردازنده هم 16 بیتی است. در AVR و 8051 هم ضرب 8 بیت در 8 بیت وجود دارد که به نتیجه 16 بیت منجر می شود، اما همان 8 بیت مورد پردازش به عنوان ملاک در نظر گرفته می شود. منظور از عملیات 16 بیتی، پردازش همزمان روی 16 بیت به عنوان ورودی دستورالعمل است که نمونه هایی از آن در XMEGA وجود دارد و Data ورودی به دستوری مانند ADIW دارای طول 16 بیت است. اما مسئله اینجاست که اگر به این دلیل بتوان اطلاق 16 بیت به XMEGA را موجه دانست، همین مورد برای AVR هم برقرار خواهد بود.
                    اوژن: به معنای افکننده و شکست دهنده است
                    دانایی، توانایی است-Knowledge is POWER
                    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                    دیدگاه


                      #11
                      پاسخ : آیا XMEGA نوع 16 بیتی وجود دارد؟

                      سلام دوستان
                      آخرش ما به عنوان 16 بیتی می تونیم نوع Xmega رو به حساب بیاریم؟


                      خدا رحمتت کنه آقای آقا زاده!

                      دیدگاه


                        #12
                        پاسخ : آیا XMEGA نوع 16 بیتی وجود دارد؟

                        نوشته اصلی توسط rozeh
                        سلام دوستان
                        آخرش ما به عنوان 16 بیتی می تونیم نوع Xmega رو به حساب بیاریم؟


                        خدا رحمتت کنه آقای آقا زاده!
                        با سلام. جواب شما فقط یک کلمه است: خیر.
                        اطلاق واژه 16 بیتی زمانی معنی پیدا میکند که:
                        اولا تمامی Data Bus ها 16 بیتی باشند و عمل انتقال، تغییر، و نوشتن 16 بیتی به صورت مستقیم و بدون استفاده از رجیستر های temporary صورت گیرد . در Xmega اینگونه نیست و دستیابی و نوشتن 16 بیتی با واسطه انجام میشود. در بخش 3.11 ( Accessing 16-bit Registers) از XMEGA A MANUAL صفحه 12 به صراحت قید شده که دیتا باس Xmega هشت بیتی است و دسترسی 16 بیتی غیر مستقیم صورت میگیرد.
                        ثانیا انجام دستورات محاسباتی بر روی داده توسط ALU به صورت 16 بیتی صورت گیرد که با توجه به 8 بیتی بودن ALU در Xmega این مورد هم در Xmega مصداق پیدا نمیکند.

                        به نظر میرسد همانطور که دوستان در پست های قبلی اشاره کردند اطلاق 8/16 بیتی بودن Xmega از سوی Atmel صرفا یک نوع بزرگنمایی و پز یا تاکید بر بازدهی بالای این خانواده از میکروکنترلر باشد ، ضمناً وجود معدود دستوراتی نظیر ADIW در AVR نمیتواند دلیل بر 16 بیتی بودن باشد، زیرا همانطور که از تعداد کلاک لازم برای اجرای این دستور مشخص است این دستور و مشابه آن شکسته شده و به صورت دو دستور 8 بیتی تواما اجرا میشوند. همچنین در میکروکنترلر های کمپانی های دیگر هم این نوع دستورات وجود دارد ولی هرگز واژه 16 بیتی به آنها نسبت داده نشد . به عنوان مثال در میکروکنترلر های 8 بیتی سری STM8 شرکت STMicroelectronics تقریبا به ازای هر کدام از دستورات محاسباتی و منطقی دستور 16 بیتی آن هم وجود دارد ولی هرگز از سوی سازنده 16 بیتی نامیده نشد.

                        دیدگاه

                        لطفا صبر کنید...
                        X