اطلاعیه

Collapse
No announcement yet.

زمان تلف شده توسط وقفه ها در 1768

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

    زمان تلف شده توسط وقفه ها در 1768

    سلام دوستان
    روال وقفه های موجود در 1768 چند پالس ساعت مصرف می کنه؟
    یعنی ورود به و خرج از هندلر وقفه ای که هیچی کد در داخلش نداره چند پالس ساعت مصرف می کنه؟؟
    یه سوال دیگه دستورات if for while هر سیکلشون 3 پالس ساعت مصرف می کنند؟
    ممنون
    اين که تعداد تشکر هاي اهدايي يه کاربر زياده به اين معنا نيست. که چيزي بلد نيست؛ بلکه نشانه اينه که به تلاش بقيه بچه ها احترام مي گذاره

    #2
    پاسخ : زمان تلف شده توسط وقفه ها در 1768

    سلام
    در مورد دستورات if for while هر کدومشون 5 سیکل کلاک مصرف میشه!
    ولی در مورد وقفه ها خودم هم کنجکاو شدم!
    [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
    http://www.eca.ir/forum2/index.php?topic=76623.0

    دیدگاه


      #3
      پاسخ : زمان تلف شده توسط وقفه ها در 1768

      Processor instruction timings(for cortex-m3)

      پروفایلینگ با کیل بکنید:

      Execution Profiler

      دیدگاه


        #4
        پاسخ : زمان تلف شده توسط وقفه ها در 1768

        سلام دوستان
        ممنون از پاسخ هاتون
        به صورت موازی توی یکی از فروم های خارجکی مطرح کردم. و اون ها بهم گفتند. این فایل رو بخونم:
        http://www.arm.com/files/pdf/introToCortex-M3.pdf
        صفحه 7 قشنگ توضیح داده. البته من نگرفتم این زمان ثابت هست و یا متغیر(چون درست نخوندمش)

        یه چیزی که خیلی برام جالبه اینه که توی فروم های خارجی تخصصی جواب ها خیلی کلی و کلیدی هست و اونها لقمه آماده به کسی نمی دهند.
        اين که تعداد تشکر هاي اهدايي يه کاربر زياده به اين معنا نيست. که چيزي بلد نيست؛ بلکه نشانه اينه که به تلاش بقيه بچه ها احترام مي گذاره

        دیدگاه


          #5
          پاسخ : زمان تلف شده توسط وقفه ها در 1768

          کامپایلر iar تو شبیه سازی دقیق نشون میده . فکر کنم (باید) همه کامپایلر ها نشون بدن . من حتی تو بسکام هم دیدم که نشون میده
          مقاله نمی خواد .
          تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
          داشتن عقله زيادتر از دیگر آدم ها است

          دیدگاه


            #6
            پاسخ : زمان تلف شده توسط وقفه ها در 1768

            در باره AVR :
            حداقل چهار سیکل ماشین طول میکشه تا سرویس وقفه به اجرا برسه
            پرش از وکتور به سرویس روتین 3 ماشین سیکل میگیرد
            واگر اینتراپت در حین دستور چند سیکلی رخ بده اول دستور تمام میشه بعد...
            واگر در مد اسلیپ باشد 4 ماشین سیکل اضافه میشود.


            در CortexM3 :

            یه ویژگی جالب اینکه لزومی به برنامه نویسه برای معرفی محل سرویس اینتراپت نیست

            When an interrupt is accepted, the starting
            address of the interrupt service routine (ISR) is located from a vector table in memory. There is no need
            to use software to determine and branch to the starting address of the ISR. Thus, it takes less time to
            process the interrupt request.

            ولی توی منوال چیزه دیتیل ندیدم که بگه چند سیکل ماشین .......

            و بر خلاف avr اگر در حال انجام دستورات چند سیکلی باشه کار رو رها میکنه و .....
            از جمله ی رفتگان این راه دراز
            باز آمده ای کو که به ما گوید راز
            هان بر سر این دو راهه از روی نیاز
            چیزی نگذاری که نمی آیی باز

            دیدگاه


              #7
              پاسخ : زمان تلف شده توسط وقفه ها در 1768

              نوشته اصلی توسط mori64
              در باره AVR :
              حداقل چهار سیکل ماشین طول میکشه تا سرویس وقفه به اجرا برسه
              پرش از وکتور به سرویس روتین 3 ماشین سیکل میگیرد
              واگر اینتراپت در حین دستور چند سیکلی رخ بده اول دستور تمام میشه بعد...
              واگر در مد اسلیپ باشد 4 ماشین سیکل اضافه میشود.


              در CortexM3 :

              یه ویژگی جالب اینکه لزومی به برنامه نویسه برای معرفی محل سرویس اینتراپت نیست

              When an interrupt is accepted, the starting
              address of the interrupt service routine (ISR) is located from a vector table in memory. There is no need
              to use software to determine and branch to the starting address of the ISR. Thus, it takes less time to
              process the interrupt request.

              ولی توی منوال چیزه دیتیل ندیدم که بگه چند سیکل ماشین .......

              [glow=red,2,300]و بر خلاف avr اگر در حال انجام دستورات چند سیکلی باشه کار رو رها میکنه و .....[/glow]
              منظورتون از اون قرمزه چی بود؟
              [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
              http://www.eca.ir/forum2/index.php?topic=76623.0

              دیدگاه


                #8
                پاسخ : زمان تلف شده توسط وقفه ها در 1768

                نوشته اصلی توسط Reza Sede
                منظورتون از اون قرمزه چی بود؟
                When the processor is executing a multicycle instruction, such as divide, the instruction could be
                abandoned and restarted after the interrupt handler completes.

                و برای AVR:

                If
                an interrupt occurs during execution of a multi-cycle instruction, this instruction is completed
                before the interrupt is served.
                از جمله ی رفتگان این راه دراز
                باز آمده ای کو که به ما گوید راز
                هان بر سر این دو راهه از روی نیاز
                چیزی نگذاری که نمی آیی باز

                دیدگاه

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