اطلاعیه

Collapse
No announcement yet.

مشکل در مفهوم کش cpu سری c6000

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

    مشکل در مفهوم کش cpu سری c6000

    با سلام به همگی
    دوستان کشی با کش سری c6000 کار کرده؟؟مثلا کسی می دونه چه موقع کش را CACHE_wbInvL2 می کنیم یا چه موقع CACHE_wbL2 می کنیم.
    من سر این کش لعنتی بد جور مشکل دارم :cry2: :cry2: :cry2: :cry2:
    .تو رو خدا اگه کسی کار کرده کمک کنه؟؟
    اصلا از کجا باید بفهمیم چه میزان از حافظه را باید کش کنیم؟مثلا اگه تراشه 256 کیلو بایت کش داشته باشه، از کجا بفهمیم 32 کیلو یا 64 یا 128 یا ههر عدد دیگه.... از این حافظه را کش کنیم؟چه مقداریشو sram کنیم؟؟
    invalidate کردن کش به چی وابسته هست؟

    #2
    پاسخ : مشکل در مفهوم کش cpu سری c6000

    سلام.........
    اصولا چون کش سریعتر از حافظه فلاش یا ram عمل میکنه یعنی سرعت نوشتن و خواندن از کش بیشتر معمولا قسمتی از برنامه یا همه اونو توکش قرار میدن یعنی شما برنامه روی فلش یا rom داخلی یا خارجی قرار میدیدو سپس با استفاده از دستوراتی که داخل برنامه میدید و همچنین تنظیم رجیسترهای مرتبط برنامه به داخل کش لود میشه و از اونجا اجرا میشه.
    http://www.eca.ir/forum2/index.php/topic,10159.0.html
    Engineering is the art of making what you want from things you can get.
    اموزش DSP ...........................
    http://www.eca.ir/forum2/index.php?topic=29824.0
    http://www.eca.ir/forum2/index.php?topic=32324.0

    دیدگاه


      #3
      پاسخ : مشکل در مفهوم کش cpu سری c6000

      سلام علی اقا
      خوبین؟اقا ممنون از راهنمایی تون . ولی این هایی را که گفتین می دونستم . :read:
      ببینید من یه سری مشکل دارم . مثلا اول این که کش این cpu که من باهاش کار میکنم 256 کیلو بایت هست . این 256 کیلو را میشه تو چندین مد کانفیگ کرد . مثلا 32 کیلو کش بشه و مابقیsram یا 64 کیلو کش و مابقی sram و یا 128 کیلو کش و 128 کیلو هم به sram تخصیص داد. حالا من اولین سوالم اینه که این تقسیم بندی به چی وابسته هست؟؟؟ من از کجا باید بفهمم که چه طوری تقسیم کنم این حافظه را ؟؟
      این کش 256 روی خود چیپ تراشه cpu هست( و بدیهیه که غیر قابل تغییر ) علاوه بر این 32 مگا بایت هم حافظه (به صورت دو تا تراشه دیگه) رو بردم دارم .
      حالا من کاری که می کنم اینه فریم های ویدئو را میارم میزارم تو 32 مگابایتیه . بعد تکه تکه از اون 32 مگا بایتیه ( که تو داکیومنت ها بهش external memory هم میگه ) برمی دارم میارم میزارم تو 256 کیلو بایته( گه تو داکیومنت ها بهش internal memory میگه) و بعد روی این دیتا ها پردازش میکنم و بعد از پردازش می برم میزارت همون 32 مگا بایته .
      یه سری دستو این وسط باید اجرا کرد مثل:

      CACHE_wbInvL2
      CACHE_wbL2
      cache_clean
      و چندین دستور دیگه که من نمی فهمم کی و کجا باید کدوم این دستورات را اجرا کنم :cry2: :cry2: :cry2: :cry2: :cry2:
      هر چی هم داکیومنت های TI را می خونم کمتر متوجه میشم .
      حسابی توش موندم .هیچ کس هم نیست کمک کنه( نه استاد راهنما ، نه دانشجو ، نه مهندس .....) :angry: :angry: :angry: :angry: :angry:
      تو رو خدا اگه کسی بلده کمک کنه
      یا جایی را سراق داره که معرفی کنه لطفا بگه
      پیشاپیش از همه ممنون

      دیدگاه


        #4
        پاسخ : مشکل در مفهوم کش cpu سری c6000

        راستش من که با این سری TI کار نکردم. یکیم میشناسم DSP کاره اما با 6000 کار نکرده متاسفانه. ولی حافظه کش برای ذخیره دستوراتی استفاده میشه که قراره تو سیکل های بعدی اجرا بشه. (البته میتونه به صورت رجیستر هایی که cpu مدام بهشون رجوع میکنه هم تعریف بشند) توی CPU هایی که چندین فرمان رو توی یه سیکل انجام میدند دستورات داخل کش ریخته میشه و برحسب کش ایندکسشون تقسیم و اجرا میشند.
        پس کش واسه لود دستوراتیه که CPU باید اجرا کنه و مثل SRAM کاربرد عمومی نداره. اگه قراره دستورات متعددی با تعداد سیکل اجرایی کم روی یه سری داده اجرا بشه باید کش بالا باشه. مثلا 1000 تا دستور 2 سیکلی تو یه پردازنده که 6 دستور در یک سیکل انجام میدند این یعنی اگه کش 1 خونه 32 بیتی باشه و لود هر دستور از رم 1 سیکل طول بکشه عملا بیشتر از 60% CPU بلا استفاده مونده!
        اون حافظه خارجی هم گویا RAM DDR2 هستش که این سری ساپورت میکنه.
        Gracias A La Vida
        [glow=red,2,300]ساخت فرز CNC[/glow]
        http://www.eca.ir/forum2/index.php?topic=56308.0
        http://up9.iranblog.com/images/4xd21f8vemt8g46011fx.jpg
        زمین سفت است و آب شلست و هوا نرم است و همه چیز عالیست در این حوالی...

        دیدگاه


          #5
          پاسخ : مشکل در مفهوم کش cpu سری c6000

          والا من با سری 6000 اشنایی ندارم تو همین 2812 موندم ولی کلا حافظه ها رو از هر نوعی که باشن باید توی فایل لینکر برنامه تعیین کنید ادرس شروع ،خاتمه ،مقدار حافظه مثلا اگه می خوای از cash به عنوان sram استفاده کنی باید متغیر هارو توی cash تعریف کنی و بقیه موارد رو هم همینطور pdf اسمبلی سری 2000 رو بخون توضیح داده چطوری فایل لینکر رو تنظیم کنید
          http://www.eca.ir/forum2/index.php/topic,10159.0.html
          Engineering is the art of making what you want from things you can get.
          اموزش DSP ...........................
          http://www.eca.ir/forum2/index.php?topic=29824.0
          http://www.eca.ir/forum2/index.php?topic=32324.0

          دیدگاه


            #6
            پاسخ : مشکل در مفهوم کش cpu سری c6000

            به اینجا هم یه نگاهی بکنید
            http://ti-wiki.com/wiki/index.php?ti...m_Cache_Layout
            در ضمن میتونید سوالتون رو در انجمن ti یا سایت dsprelated هم مطرح کنید بهتر میتونن جواب بدن مخصوصا انجمن ti که مهندسهای شرکت ti هم تو اعضاشون پیدا میشه.
            http://www.eca.ir/forum2/index.php/topic,10159.0.html
            Engineering is the art of making what you want from things you can get.
            اموزش DSP ...........................
            http://www.eca.ir/forum2/index.php?topic=29824.0
            http://www.eca.ir/forum2/index.php?topic=32324.0

            دیدگاه


              #7
              پاسخ : مشکل در مفهوم کش cpu سری c6000

              سلام به همگی
              از بابت راهنمایی های همه ممنون
              در ضمن میتونید سوالتون رو در انجمن ti یا سایت dsprelated هم مطرح کنید بهتر میتونن جواب بدن مخصوصا انجمن ti که مهندسهای شرکت ti هم تو اعضاشون پیدا میشه.
              بله خودمم به این نتیجه رسیدم که باید مشکلمو اون جا مطرح کنم .
              والا من با سری 6000 اشنایی ندارم تو همین 2812 موندم ولی کلا حافظه ها رو از هر نوعی که باشن باید توی فایل لینکر برنامه تعیین کنید ادرس شروع ،خاتمه ،مقدار حافظه مثلا اگه می خوای از cash به عنوان sram استفاده کنی باید متغیر هارو توی cash تعریف کنی و بقیه موارد رو هم همینطور pdf اسمبلی سری 2000 رو بخون توضیح داده چطوری فایل لینکر رو تنظیم کنید
              حقیقتش مشکل ان چنانی با تنظیم کردن linker command file ندارم . کاربرد یه سری دستورات (همون هایی که در پست های قبلیم نوشتم) را نمی فهمم و این که از روی کجای الگوریتم بادی بفهمم چه مقدار کش باید کانفیگ کنم؟
              یه سری example تو روی خود سایت TI هست برا این بردی که من دارم که توش کش هک استفاده شده ولی خیلی ساده و ابتدایی هستن و لی الگوریتم به مراتب پیچیده . خیلی کمکی بهم نکرد.
              فک می کنم تو ایران کسانی که با این سیستم کار کردنه باشن به تعداد انگشتان دست هم نمی رسن
              جدا میگم !!! اون ها هم اکثرا اطلاعاتشونو بیرون نمی دن (چون باهاش پروژه های بسیار عظیم و گردن کلفت نظامی انجام میدن و حسابی ....)
              از دوستان کسی از این سرکت های خصوصی که پروژه های نظامی انجام میدن در تهران میشناسه ( که لا اقل اون جا یه سر بزنم بلکب مشکلم حل بشه )به من معرفی کنه؟؟( یه نمونه فک کنم شرکت زعیم باشه . واقعا شرکت عظیمی هست)

              دیدگاه


                #8
                پاسخ : مشکل در مفهوم کش cpu سری c6000

                نمونه دیگه شرکت رسافن باشه . راستی توی مرکز رشد فناوری شریف هم افرادی هستند که dsp کارند شاید بشه ازشون کمک گرفت.

                دیدگاه

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