اطلاعیه

Collapse
No announcement yet.

سوالات کتاب at91 (نص)

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

    سوالات کتاب at91 (نص)

    سلام اساتیدگرامی
    من کتاب میکروکنترلرهای arm at91 (نص ) رو شروع کردم به خوندم
    حالا هی گیر می کنم سئوالاتمو اینجا مطرح می کنم دوستانی که با این کتاب شروع کردن سئوالاتشون رو اینجا مطرح کنن .امید به خدا جلو بریم

    #2
    پاسخ : سوالات کتاب at91 (نص)

    1.تفاوت معماری von-neumann با معماری harvard چیست؟
    2.در میکروهای جدید از این معماری ها استفاده می شه؟؟

    دیدگاه


      #3
      پاسخ : سوالات کتاب at91 (نص)

      نوشته اصلی توسط تیبا
      1.تفاوت معماری von-neumann با معماری harvard چیست؟
      2.در میکروهای جدید از این معماری ها استفاده می شه؟؟
      در معماری harvard از حافظه و باس جدا برای دستور العمل های برنامه و داده استفاده میشه. یعنی عمل خوندن دستور العمل و داده می تونه همزمان انجام بشه. کارایی بالاتری داره.

      اما در معماری von neumann حافظه برنامه و داده یکیه.


      تا پردازنده های arm7 معماری von neumann بود و از arm9 به بعد harvard
      https://www.linkedin.com/in/mohammadhosseini69

      http://zakhar.blog.ir

      دیدگاه


        #4
        پاسخ : سوالات کتاب at91 (نص)

        بله متوجه شدم.
        مرسی
        1.حالا خط لوله ها رو در این دو معماری خوندم
        سوالی که دارم اینه که در 3خط لوله دستور العمل در 3 مرحله : fetch decode execute انجام میشه
        یعنی در 3کلاک، در 8 خط لوله این عملیات در کلاک بیشتر انجام میشه پس چطور پرسرعت تره؟؟ oo:

        دیدگاه


          #5
          پاسخ : سوالات کتاب at91 (نص)

          [hr]پس تا الان متوجه شدم که:

          3stage pipeline در نسل اولیه arm تا arm 7 بوده البته با معماری von-neumann

          5stage pipeline در خانواده arm 9 بوده البته با معماری harvard که به قول دوستمون دارای گذرگاه داده و آدرس مجزاست

          6stage pipeline در خانواده arm 10 بوده البته با معماری harvard

          8stage pipeline در خانواده arm 11 بوده البته با معماری harvard

          که البته در شش و هشت مرحله خط لوله : روش پیش بینی دستورات پرش به وسیله قسمت beanch predictor می باشد. که از متوقف کردن رون خط لوله در صورت وجود دستورات پرش و انشعاب جلوگیری می کند، وجهت افزایش کارایی یک جمع کننده و ضرب کننده مجزا در مسیر داده ، دارد

          :biggrin:[move]خیلی جالبه[/move]

          دیدگاه


            #6
            پاسخ : سوالات کتاب at91 (نص)

            نوشته اصلی توسط تیبا
            بله متوجه شدم.
            مرسی
            1.حالا خط لوله ها رو در این دو معماری خوندم
            سوالی که دارم اینه که در 3خط لوله دستور العمل در 3 مرحله : fetch decode execute انجام میشه
            یعنی در 3کلاک، در 8 خط لوله این عملیات در کلاک بیشتر انجام میشه پس چطور پرسرعت تره؟؟ oo:
            در 8051 هم اگه یادتون باشه همین 3 مرحله بود یعنی اول دستور F بعد D و در آخر E میشد. بعد در 8051 به دلیل معماری CISC مرحله آخر در چندین کلاک انجام می شد و باید این مراحل تا انتها انجام شود بعد پردازنده دستور بعد را F کند و.... . اما در AVR به این صورت نبود به دلیل معماری RISC اجرا دستورات اکثرا در یک کلاک انجام می شد اما این به این معنا نیست که عملیات F,D,E یک دستور همه در یک کلاک انجام می شود. در یک زمان یک دستور که در حال اجرا است دستور بعدی در حال دیکود است و دستور بعدیش در حال واکشی هست. (شکل 1-16 کتاب را ببین). پس به این صورت است که اجرا دستورات در یک کلاک انجام می شود و باعث افزایش سرعت پردازنده می شود. در مورد 3 مرحله خط لوله ARM هم همین قضیه است اما در معماری VON Neumann یک سری مسائل مثل پرش و فراخوانی از حافظه ram باعث توقف خط لوله می شود.

            دیدگاه


              #7
              پاسخ : سوالات کتاب at91 (نص)

              نوشته اصلی توسط تیبا
              1.حالا خط لوله ها رو در این دو معماری خوندم
              سوالی که دارم اینه که در 3خط لوله دستور العمل در 3 مرحله : fetch decode execute انجام میشه
              یعنی در 3کلاک، در 8 خط لوله این عملیات در کلاک بیشتر انجام میشه پس چطور پرسرعت تره؟؟ oo:
              اگه اینطور باشه که اصلا خط لوله نباشه بهتره. چون هر دستور تو یه سیکل انجام میشه...

              اولا خط لوله باعث میشه دستورات در یک سیکل انجام بشن. حالا چه 3 مرحله ای باشه چه 8 مرحله ای. کتاب معماری کامپیوتر مانو رو بخون... یا اینا :
              http://en.wikipedia.org/wiki/Pipeline_%28computing%29
              http://en.wikipedia.org/wiki/Instruction_pipeline

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

              ضمنا زیاد کردن تعداد قطعات خط لوله به همین راحتی نیست. عواقب و دردسرهای خاص خودش رو داره...
              https://www.linkedin.com/in/mohammadhosseini69

              http://zakhar.blog.ir

              دیدگاه


                #8
                پاسخ : سوالات کتاب at91 (نص)

                نوشته اصلی توسط محمد حسینی
                اگه اینطور باشه که اصلا خط لوله نباشه بهتره. چون هر دستور تو یه سیکل انجام میشه...

                اولا خط لوله باعث میشه دستورات در یک سیکل انجام بشن. حالا چه 3 مرحله ای باشه چه 8 مرحله ای. کتاب معماری کامپیوتر مانو رو بخون... یا اینا :
                http://en.wikipedia.org/wiki/Pipeline_%28computing%29
                http://en.wikipedia.org/wiki/Instruction_pipeline

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

                ضمنا زیاد کردن تعداد قطعات خط لوله به همین راحتی نیست. عواقب و دردسرهای خاص خودش رو داره...
                خیلی عالی :applause:
                یعنی این تفاوت کلاک در نسل های مختلف به این دلیله؟؟
                عواقب؟؟؟ oo:

                دیدگاه


                  #9
                  پاسخ : سوالات کتاب at91 (نص)


                  مورد بعدی گذرگاه های arm هست که مشکل خاصی نیست
                  گذرگاه ها به 3سه دسته، براساس استفاده در ادوات پر سرعت و کم سرعت سیستم تقسیم می شوند
                  1.AXI در سطح بالا است و با سرعت بیشتر از 10GB/S داده ها را انتقال می دهد

                  2.ASB/AHB در سطح میانی است و با سرعتی بین 2تا 10GB/S داده ها را انتقال می دهد

                  3.APB در سطح پایین است و سرعت کمتر از 2GB/S داده ها را انتقال می دهد


                  [move]

                  فصل اول تموم شد[/move]

                  دیدگاه


                    #10
                    پاسخ : سوالات کتاب at91 (نص)

                    نوشته اصلی توسط تیبا
                    یعنی این تفاوت کلاک در نسل های مختلف به این دلیله؟؟
                    یه دلیلش می تونه این باشه

                    نوشته اصلی توسط تیبا
                    عواقب؟؟؟ oo:
                    منظورم عواقب و trade off که موقع طراحی معماری پیش میاد. هرچی تعداد قطعات خط لوله بیشتر باشه، مدیریت و نگهداری (پر نگه داشتن) خط لوله سختر میشه و معماری خیلی پیچیده میشه...
                    https://www.linkedin.com/in/mohammadhosseini69

                    http://zakhar.blog.ir

                    دیدگاه


                      #11
                      پاسخ :آموزش و سوالات کتاب at91 (نص)

                      [move]فصل دوم[/move]
                      [hr]
                      رجیسترهای پردازنده:
                      در ARM تعداد 37 رجیستر 32 بیتی می باشد که 31 آن صورت همه منظوره و 6 رجیستر وضعیت می باشد
                      در هر لحظه فقط 16 رجیستر همه منظوره قابل دسترس می باشداز R0تا R15
                      R13 رجیستر پشته است sp ، و R14 رجیستر LR و R15 رجیستر pc است که همان program counter می باشد
                      سوال:
                      1.رجیستر وضعیت چیست؟

                      2.در هر لحظه فقط 16 رجیستر همه منظوره قابل دسترس می باشداز R0تا R15 چرا؟؟؟
                      مگه 32 بیتی نیست؟؟

                      3. رجیستر پیوند LR چیست؟

                      دیدگاه


                        #12
                        پاسخ :آموزش و سوالات کتاب at91 (نص)

                        نوشته اصلی توسط تیبا
                        [move]فصل دوم[/move]
                        [hr]
                        رجیسترهای پردازنده:
                        در ARM تعداد 37 رجیستر 32 بیتی می باشد که 31 آن صورت همه منظوره و 6 رجیستر وضعیت می باشد
                        در هر لحظه فقط 16 رجیستر همه منظوره قابل دسترس می باشداز R0تا R15
                        R13 رجیستر پشته است sp ، و R14 رجیستر LR و R15 رجیستر pc است که همان program counter می باشد
                        سوال:
                        1.رجیستر وضعیت چیست؟

                        2.در هر لحظه فقط 16 رجیستر همه منظوره قابل دسترس می باشداز R0تا R15 چرا؟؟؟
                        مگه 32 بیتی نیست؟؟

                        3. رجیستر پیوند LR چیست؟
                        1.رجیستر وضعیت رجیستری می باشد که بیت های N,Z,C,.. و بیت های M0..M4 و ... در آن می باشد که مدهای کاری پردازنده و اینکه عملیات منفی شده،صفر شده و ... را نشان می دهد. شکل صفحه 42
                        2. پردازنده 32 بیتی می باشد و رجیسترها هم 32 بیتی می باشد و فقط 16 رجیستر به صورت همه منظوره می باشد تعداد رجیسترها هیچ ربطی به این نداره که پردازنده چند بیتی می باشد.
                        3. برای متوجه شدن LR صفحه 49 پاراگراف اول را مشاهده کنید.

                        دیدگاه


                          #13
                          پاسخ :آموزش و سوالات کتاب at91 (نص)

                          نوشته اصلی توسط تیبا
                          [move]فصل دوم[/move]
                          [hr]
                          رجیسترهای پردازنده:
                          در ARM تعداد 37 رجیستر 32 بیتی می باشد که 31 آن صورت همه منظوره و 6 رجیستر وضعیت می باشد
                          در هر لحظه فقط 16 رجیستر همه منظوره قابل دسترس می باشداز R0تا R15
                          R13 رجیستر پشته است sp ، و R14 رجیستر LR و R15 رجیستر pc است که همان program counter می باشد
                          سوال:
                          1.رجیستر وضعیت چیست؟

                          2.در هر لحظه فقط 16 رجیستر همه منظوره قابل دسترس می باشداز R0تا R15 چرا؟؟؟
                          مگه 32 بیتی نیست؟؟

                          3. رجیستر پیوند LR چیست؟
                          1- رجیستر وضعیت یا CPSR (Current Program Status Register) وضعیت flagها ، مد کاری پردازنده ، فعال یا غیر فعال بودن وقفه ها و ...رو مشخص میکنه
                          2- پردازنده ARM چند مد کاری داری. مد user که روال عادی اجرای برنامه هاست به R0 تا R15 دسترسی داره. رجیستر R15 شمارنده برنامه (PC). رجیستر R14 (رجیستر LR) آدرس PC رو در هنگام پرش به زیرروال ها ذخیره میکنه. R13 هم پوینتر استک. R0 تا R12 خیلی راحت در دسترس هستن.
                          بقیه رجیستر ها بانک شده هستن برای مد های دیگه. یعنی هر مد تعدادی رجیستر مخصوص خودش داره.

                          3- رجیستر LR یا Link Register همون R14
                          https://www.linkedin.com/in/mohammadhosseini69

                          http://zakhar.blog.ir

                          دیدگاه


                            #14
                            پاسخ : سوالات کتاب at91 (نص)

                            خیلی ممنون :applause:

                            پردازنده ARM دارای هفت مدکاری
                            1.user
                            2.FIQ
                            3.SUPERVISOR
                            4.ABROT
                            5.IRQ
                            6.UNDEFINED
                            7.SYSTEM
                            که مدهای کاری براساس صحبت دوستان با بیت های 0تا4 رجیستر CPSR مشخص می شه که من جدول رو می زارم
                            CPSR(4:0) MODE
                            10000 USER
                            10001 FIQ
                            10010 IRQ
                            10011 SVC
                            10111 ABROT
                            11011 UNDEF
                            11111 SYSTEM

                            دیدگاه


                              #15
                              پاسخ : سوالات کتاب at91 (نص)

                              نوشته اصلی توسط محمد حسینی
                              1- رجیستر وضعیت یا CPSR (Current Program Status Register) وضعیت flagها ، مد کاری پردازنده ، فعال یا غیر فعال بودن وقفه ها و ...رو مشخص میکنه
                              2- پردازنده ARM چند مد کاری داری. مد user که روال عادی اجرای برنامه هاست به R0 تا R15 دسترسی داره. رجیستر R15 شمارنده برنامه (PC). رجیستر R14 (رجیستر LR) آدرس PC رو در هنگام پرش به زیرروال ها ذخیره میکنه. R13 هم پوینتر استک. R0 تا R12 خیلی راحت در دسترس هستن.
                              بقیه رجیستر ها بانک شده هستن برای مد های دیگه. یعنی هر مد تعدادی رجیستر مخصوص خودش داره.

                              3- رجیستر LR یا Link Register همون R14
                              این ARM STATE PROGRAM STATUS REGISTERS هست حالا

                              THUMB STATE PROGRAM STATUS REGISTERS
                              رو که داره چه تفوتی دارند؟
                              آیا دستور العملی متفاوت دارند؟
                              در مدهای کاری چطور؟

                              دیدگاه

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