رازهای سنجش سرعت
۴٫۸ (۹۵%) ۴ votes

رازهای سنجش سرعت

امتیاز 2.00 از 5 امتیاز 4 مشتری
(دیدگاه کاربر 4)

در این آموزش بنیادی که برای اولین بار در ایران منتشر شده است به مباحث بسیار پایه‌ایی و مهم پرداخته شده بطوریکه قادر خواهید بود که مطالبی را که از این آموزش یاد می‌گیرید در هر نوع پردازنده‌ایی پیاده‌سازی کنید.

 

مدت زمان آموزش : یک ساعت و دوازده دقیقه

همراه با فایل‌های تمرین در هر دو محیط IAR و Keil

149,000 تومان

رازهای سنجش سرعت
۴٫۸ (۹۵%) ۴ votes

 

 

سال‌ها پیش اگر به تصویر بالا نگاه می‌کردم تنها چیزی که از تصویر می‌توانست برایم مفید باشد همان فرکانس کاری پردازنده بود! هیچ ذهنیتی از اعداد CoreMark و DMIPS نداشتم! آیا شما واقعا می‌دانید که اعداد بالا چگونه تفسیر می‌شوند و چرا مهم هستند؟ که حتی در دیتاشیت‌ها ذکر شده‌اند!

به نظر شما هر پردازنده‌ای که فرکانس بیشتری داشته باشد، راندمان و سرعت بالاتری هم دارد؟ تا حالا برای مقایسه پردازنده‌ها از چه معیاری استفاده می‌کردید؟

 

 

در تصویر بالا که از سایت IAR گرفته شده است صراحتا به گرفتن رتبه‌ی بالای CoreMark افتخار کرده‌اند! راز این اعداد جادویی چیست و کاربرد آنها کجاست؟

مطمئن هستم که سوالات بیشتری هم تا حالا در ذهن شما نقش بسته‌است! ما در این آموزش به شما کمک خواهیم کرد تا با انواع روش تست سرعت پردازنده‌ها و راز‌های پشت سر آنها و همچنین نحوه‌ی صحه‌گذاری آنها آشنا شوید.

این آموزش از سری آموزش‌های بنیادی است که بدون شک با درک آن و انجام تمرین‌هایی که به صورت عملی گفته شده، قادر خواهید بود رتبه و جایگاه خود را در هر موقعیتی که قرار دارید بالاتر ببرید.

اگه به افراد اطرافتان نگاهی بیاندازید، می‌بینید که افرادی که در دنیای واقعی به مباحث پایه‌ایی تسلط دارند، زودتر از همه، فرصت‌ها را شکار می‌کنند.

 

 

فهرست مطالب این آموزش

  • چرا باید با این مباحث آشنا شویم

  • نحوه بررسی صحیح سرعت

  • فرکانس کاری پردازنده و MIPS

  • کجا می‌توانیم از واحد MIPS استفاده کنیم؟

  • استفاده از ARM در میکروکنترلرهای مختلف

  • BenchMark چیست؟

  • Dhrystone  چیست و چه مواردی را بررسی می‌کند؟

  • نحوه ارائه نتیجه Dhrystone همراه با دو مثال کاربردی

  • اجزای تشکیل دهنده Dhrystone

  • مراحل لازم برای پیاده‌سازی Dhrystone

  • ۲ نکته بسیار مهم در پیاده‌سازی

  • پیکربندی صحیح ITM و پیکربندی آن

  • اجرای Dhrystone در Keil و IAR

  • مزیت و معایب Dhrystone

  • CoreMark و تاریخچه آن

  • ویژگی‌های بسیار مهم CoreMark

  • نحوه ارائه نتیجه در CoreMark

  • بررسی چند نتیجه ارائه شده

  • دریافت‌فایل‌های CoreMark

  • ساختار فایل‌های CoreMark

  • مراحل لازم برای پیاده‌سازی CoreMark

  • مقایسه نهایی بین این دو benchmark

  • نتیجه جانبی مهم این آموزش

  • سخن نهایی با شرکت کننده‌ها!

  • چالش آخر فروردین ۹۸!

 

نتایج چالش خود را در همین صفحه در قسمت نظرات ثبت کنید.

 

ویدئو ارسالی از آقای پوریا اعتمادی در باره چالش گفته شده در آموزش

 

 

4 دیدگاه برای رازهای سنجش سرعت

  1. نمره 1 از 5

    Mars (مالک تایید شده)

    Start CoreMark…
    ۲K performance run parameters for coremark.
    CoreMark Size : 666
    Total ticks : 27481
    Total time (secs): 27.481000
    Iterations/Sec : 43.666533
    Iterations : 1200
    Compiler version : IAR ARM 8032001
    Compiler flags : High Speed – No Time Constraint
    Memory location : STACK
    seedcrc : 0xe9f5
    [۰]crclist : 0xe714
    [۰]crcmatrix : 0x1fd7
    [۰]crcstate : 0x8e3a
    [۰]crcfinal : 0x988c
    Correct operation validated. See README.md for run and reporting rules.
    CoreMark 1.0 : 43.666533 / IAR ARM 8032001 High Speed – No Time Constraint / STACK
    ۴۳٫۶۶/۱۶M = 2.72

    اینم نتیجه با IAR

    هردو تست تحت دمای ۲۷ درجه انجام شده و با برد دیسکاوری F407VG

    با تشکر از استاد عزیز جهت تهیه این آموزش کاربردی

  2. نمره 1 از 5

    اسماعیل صلح خواه (مالک تایید شده)

    سلام استاد بله درسته دیدمش، فاصله تست من خیلی زیادتره البته این تست با Keil بود فرصت شد با IAR تست میکنم.
    دوستان شرمنده بالا کورمارک رو اشتباها کورک مارک نوشته بودم.

  3. نمره 1 از 5

    اسماعیل صاح خواه (مالک تایید شده)

    میکرو کنترلر STM32f407VG
    Start CoreMark
    ۲K performance run parameters for coremark.
    CoreMark Size : 666
    Total ticks : 28592
    Total time (secs): 28.592000
    Iterations/Sec : 41.969782
    Iterations : 1200
    Compiler version : MDK-ARM(Keil) 5060750
    Compiler flags : -O3 -Otime
    Memory location : STACK
    seedcrc : 0xe9f5
    [۰]crclist : 0xe714
    [۰]crcmatrix : 0x1fd7
    [۰]crcstate : 0x8e3a
    [۰]crcfinal : 0x988c
    Correct operation validated. See README.md for run and reporting rules.
    CoreMark 1.0 : 41.969782 / MDK-ARM(Keil) 5060750 -O3 -Otime / STACK
    نتیجه تقسیم ۴۱٫۹۶ به کلاک ۱۶ مگ = ۲٫۶۲
    فقط این نتیجه کورک مارکو نتونستم تو رفرنسها پیدا کنم

    —————————–

    • سید پیمان ذوالنوری

      سلام مهندس

      بهتون تبریک میگم

      شما اولین نفری هستید که نتیجه رو ثبت کردید.

      نتیجه ثبت شده برای این میکرو در سایت خود شرکت ST درج شده، که ۳٫۳ کورمارک بر مگاهرتز هستش

  4. نمره 5 از 5

    danymogh54 (مالک تایید شده)

    با تشکر از آموزش خوبتون.
    چندین تا سوال برام پیش اومده که اگر وقت کنین توضیح بدین خیلی ممنون میشم.

    ۱- آیا واحد FLOPS معادل DMIPS هست ولی بجای integer محاسبات float مد نظر بوده؟

    ۲- اگر به سایت https://www.adaptivedigital.com/dtmf برید برای اون کتابخونه مورد نظر یک سری محاسبات بر حسب MIPS روی پردازنده های مختلف نوشته شده. آیا منظور این بوده که اون کد برای اجرا به اون مقدار MIPS نیاز داره؟ میشه اون محاسبات رو برای کد هایی که خودمون هم میزنیم انجام بدیم؟ اگر بله چطوری؟ این مورد خیلی مهم هست چون خیلی از کارفرماها ،من جمله مدیر خود بنده حول این مبحث خیلی سوال میپرسند و چون قدیمی ها اسمبلی رو میفهمند همیشه این سوال رو میپرسند که فلان تابعی که نوشتی چند دستور اسمبلی شده و چقدر اجرای آن در فلان کلاک طول میکشد. کلا اگر این مبحث کلاک مورد نیاز برای هر Instruction رو باز کنید خیلی خوب میشه.

    ۳- فرض کنیم یک کدی رو برای cortex-m0 کامپایل کردیم و به کتابخونه تبدیل کردیم(سورس کد نداریم). با توجه به اینکه cortex های سری های بالاتر قادر هستند کد های سری های قبلی رو اجرا کنند ، آیا سرعت اجرای اون کتابخونه با فرض یکسان بودن کلاک، برای cortex-m3 یا بالاتر بیشتر میشه یا ثابت میمونه؟ (با توجه به اینکه Instruction Set ها برای cortex-m0 کامپایل شدند.)

    ۴- میکروی http://www.keil.com/dd/docs/datashts/atmel/at89lp_whp.pdf رو در نظر بگیرید. توی دیتاشیت نوشته بر خلاف ۸۰۵۱ های معمول، این سری حداکثر در ۲۰MHZ به ۲۰MIPS میرسه یعنی ۱MIPS/Mhz .هسته cortex-m0 هم ۰٫۹MIPS/Mhz هست. میشه نتیجه گرفت توی این مورد ، ۸۰۵۱ سرعت پردازش بیشتری داره؟ (به فرض اینکه کلاک ها یکسان و ۲۰ مگاهرتز باشند.)

    ۵- آیا هیچ رابطه ای بین DMIPS و MIPS وجود نداره؟ این ۳ لینک رو ببینید.
    https://en.wikipedia.org/wiki/List_of_ARM_microarchitectures
    https://en.wikipedia.org/wiki/Instructions_per_second
    https://developer.arm.com/products/processors/cortex-m/cortex-m0
    مقدار MIPS و DMIPS به ترتیب ۰٫۹ و ۰٫۸۴ ذکر شده و در سایت آرم ۰٫۸۹ ذکر شده. ایا این نزدیکی اعداد بین MIPS و DMIPS اتفاقی است ؟

    بسیار ممنونم

    • سید پیمان ذوالنوری

      سلام مهندس

      ممنونم از نظرتون.

      جواب دادن سوال‌های شما یه خورده زمان بره، ولی حتما تا چند روز آینده، جواب همه رو تا جایی که بشه می‌نویسیم

      موفق باشید

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

طراحی سایت
با سلام لطفا تا اطلاع ثانویه فقط و فقط از طریق تلگرام با مجموعه در تماس باشید